/* retreats — screen-specific styles. Merged into style.css once the screens settle.
 *
 * NOTE: functions.php enqueues every screen sheet on every page, so *everything*
 * here is scoped under `.terrago-retreats` (the <main> of templates/archive-trip.html)
 * to guarantee it can't leak onto Home, About, the journal, etc.
 *
 * Icons are inline SVG data URIs used as CSS masks so they take a palette colour —
 * the theme has no icon sprite beyond the starburst mark in functions.php.
 */

.terrago-retreats {
  --tg-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  --tg-icon-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
  --tg-icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --tg-icon-price: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
  --tg-icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l8.84 8.84 8.84-8.84a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
  --tg-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  --tg-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

/* ==================================================================== hero == */

.terrago-retreats .terrago-hero {
  align-items: center;
}
.terrago-retreats .terrago-hero-cols {
  width: 100%;
  gap: 2rem;
}
.terrago-retreats .terrago-hero-title {
  max-width: 16ch;
  margin-top: 0.5rem;
  line-height: 1.06;
  letter-spacing: -0.01em;
}

/* Guest testimonial, bottom-left over the photograph. */
.terrago-retreats .terrago-hero-quote-text {
  line-height: 1.45;
  margin: 0;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}
.terrago-retreats .terrago-hero-quote-attr {
  margin: 0;
  opacity: 0.82;
}
/* Overlapping round avatars. Core's flex layout supplies the row; the negative
   offset has to come from CSS because block gap can't go negative. */
.terrago-retreats .terrago-avatars {
  gap: 0 !important;
  margin-bottom: 1rem;
}
.terrago-retreats .terrago-avatars > figure {
  margin: 0;
}
.terrago-retreats .terrago-avatars > figure + figure {
  margin-left: -14px;
}
.terrago-retreats .terrago-avatars img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--wp--preset--color--contrast);
  display: block;
}

/* The floating white card on the right. Core sets `.wp-block-cover { color:#fff }`,
   which the card would otherwise inherit — white text on a white card. */
.terrago-retreats .terrago-herocard {
  color: var(--wp--preset--color--base);
  padding: 1.5rem;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(1, 1, 1, 0.22);
  max-width: 460px;
  margin-left: auto;
}
.terrago-retreats .terrago-herocard > p:first-child {
  margin-top: 0;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
}
.terrago-retreats .terrago-herocard .terrago-banner img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--terrago-radius-sm);
}
.terrago-retreats .terrago-herocard-cta .wp-block-button {
  width: 100%;
}
.terrago-retreats .terrago-herocard-cta .wp-block-button__link {
  display: block;
  width: 100%;
  text-align: center;
}

/* ====================================================== featured retreats == */

/* The frame keeps this lede left-aligned at a comfortable measure. Setting a
   max-width would make core's constrained layout centre it
   (`margin-inline: auto !important`, which specificity can't beat), and zeroing
   that margin drops it out of the content column onto the viewport edge — the
   exact trap CLAUDE.md records. So the block keeps its full column width and the
   measure is shortened with padding instead. */
.terrago-retreats .terrago-lede {
  padding-right: 34%;
  color: var(--wp--preset--color--muted);
  line-height: 1.7;
}
.terrago-retreats .terrago-featured-cols {
  align-items: stretch;
}
.terrago-retreats .terrago-featured-cols > .wp-block-column {
  display: flex;
}

.terrago-retreats .terrago-fcard {
  padding: 0;
  overflow: hidden;
  width: 100%;
  display: flex;
}
.terrago-retreats .terrago-fcard > * {
  margin-block-start: 0;
}
.terrago-retreats .terrago-fcard-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
}
.terrago-retreats .terrago-fcard-body > * {
  margin-block-start: 0;
  margin-block-end: 0;
}
.terrago-retreats .terrago-fcard-media {
  margin: 0;
}
.terrago-retreats .terrago-fcard-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

/* Primary card: media left, copy right. */
.terrago-retreats .terrago-fcard--main {
  display: grid;
  grid-template-columns: 40% minmax(0, 1fr);
  align-items: stretch;
}
/* The media must run the full height of the card. `height:100%` on the grid item
   resolves against an auto-sized row (i.e. to auto), so the figure is left to
   stretch and the image is absolutely positioned inside it instead. */
.terrago-retreats .terrago-fcard--main .terrago-fcard-media {
  position: relative;
  min-height: 340px;
}
.terrago-retreats .terrago-fcard--main .terrago-fcard-media img {
  position: absolute;
  inset: 0;
}

/* Secondary card: media on top, copy below. */
.terrago-retreats .terrago-fcard--side {
  flex-direction: column;
}
.terrago-retreats .terrago-fcard-mediawrap {
  position: relative;
  margin: 0;
}
.terrago-retreats .terrago-fcard--side .terrago-fcard-media img {
  aspect-ratio: 16 / 10;
  height: auto;
}
.terrago-retreats .terrago-fcard--side .terrago-fcard-body {
  flex: 1;
}
.terrago-retreats .terrago-fcard-meta {
  color: var(--wp--preset--color--muted);
}
.terrago-retreats .terrago-fcard-title {
  line-height: 1.2;
}
.terrago-retreats .terrago-fcard-title a {
  color: inherit;
  text-decoration: none;
}
.terrago-retreats .terrago-fcard-title a:hover {
  color: var(--wp--preset--color--primary);
}
.terrago-retreats .terrago-fcard-desc {
  color: var(--wp--preset--color--muted);
  line-height: 1.65;
}
.terrago-retreats .terrago-fcard-cta {
  margin-top: 0.5rem;
}
.terrago-retreats .terrago-fcard-cta .wp-block-button__link {
  padding: 0.7rem 1.4rem;
}
.terrago-retreats .terrago-fcard--side .terrago-fcard-cta .wp-block-button,
.terrago-retreats .terrago-fcard--side .terrago-fcard-cta .wp-block-button__link {
  width: 100%;
  text-align: center;
}
.terrago-retreats .is-style-outline .wp-block-button__link {
  border: 1px solid var(--wp--preset--color--border);
  color: var(--wp--preset--color--base);
  background: transparent;
}
.terrago-retreats .is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
  background: transparent;
}

/* "Best for:" — the theme's mint callout without its coral rule (the frame
   shows a plain mint block). */
.terrago-retreats .terrago-bestfor {
  border-left: 0;
  padding: 0.8rem 1rem;
  color: var(--wp--preset--color--base);
}
.terrago-retreats .terrago-bestfor p {
  line-height: 1.5;
}
.terrago-retreats .terrago-bestfor strong {
  color: var(--wp--preset--color--primary);
  font-weight: 600;
}

/* Badges + pill tags. `.terrago-chips` supplies the wrapping flex row; its
   default child treatment (uppercase coral) is replaced here. */
.terrago-retreats .terrago-chips.terrago-badges,
.terrago-retreats .terrago-chips.terrago-tags {
  gap: 0.5rem;
}
.terrago-retreats .terrago-chips.terrago-badges > *,
.terrago-retreats .terrago-chips.terrago-tags > * {
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--wp--preset--font-size--caption);
  line-height: 1.4;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
}
.terrago-retreats .terrago-badge--outline {
  background: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base) !important;
  border: 1px solid var(--wp--preset--color--border);
  font-weight: 500;
}
.terrago-retreats .terrago-badge--accent {
  background: color-mix(in srgb, var(--wp--preset--color--accent) 16%, transparent) !important;
  color: var(--wp--preset--color--accent) !important;
}
.terrago-retreats .terrago-badge--onimage {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  margin: 0;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  font-size: var(--wp--preset--font-size--caption);
  background: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  box-shadow: 0 2px 10px rgba(1, 1, 1, 0.18);
}
.terrago-retreats .terrago-chips.terrago-tags > * {
  background: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base) !important;
  border: 1px solid var(--wp--preset--color--border);
}

/* ================================================= 2027 retreats listing == */

/* Filter chip row. Season chips have no matching taxonomy — they render inert. */
.terrago-retreats .terrago-chipnav {
  gap: 0.4rem 0.5rem;
}
.terrago-retreats .terrago-chipnav > p {
  margin: 0;
}
.terrago-retreats .terrago-chipnav a,
.terrago-retreats .terrago-chipnav > p > span {
  display: inline-block;
  padding: 0.7rem 1.4rem;
  border-radius: 999px;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--base);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.terrago-retreats .terrago-chipnav a:hover {
  background: var(--wp--preset--color--surface);
}
.terrago-retreats .terrago-chipnav .is-active a {
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--contrast);
  font-weight: 500;
}
.terrago-retreats .terrago-chipnav .is-inert > span {
  color: var(--wp--preset--color--muted);
  cursor: default;
}

.terrago-retreats .terrago-listgrid {
  align-items: flex-start;
}

/* ------------------------------------------------------- filter sidebar -- */

.terrago-retreats .terrago-sidebar {
  position: sticky;
  top: 7rem;
}
.terrago-retreats .terrago-filters {
  padding: 1.25rem 1.25rem 0.5rem;
}
.terrago-retreats .terrago-filters > * {
  margin-block-start: 0;
}
.terrago-retreats .terrago-filters-head {
  align-items: baseline;
  padding-bottom: 1rem;
}
.terrago-retreats .terrago-filters-head h3 {
  margin: 0;
  font-family: var(--wp--preset--font-family--body);
  font-weight: 600;
}
.terrago-retreats .terrago-reset {
  margin: 0;
}
.terrago-retreats .terrago-reset a {
  color: var(--wp--preset--color--muted);
  text-decoration: none;
}
.terrago-retreats .terrago-reset a:hover {
  color: var(--wp--preset--color--accent);
}

.terrago-retreats .terrago-filtergroup {
  border-top: 1px solid var(--wp--preset--color--border);
  padding: 1rem 0;
}
.terrago-retreats .terrago-filtergroup > * {
  margin-block-start: 0;
}
.terrago-retreats .terrago-filtergroup-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  font-family: var(--wp--preset--font-family--body);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--base);
  line-height: 1.3;
}
.terrago-retreats .terrago-filtergroup-title::before {
  content: "";
  flex: none;
  width: 15px;
  height: 15px;
  background: var(--wp--preset--color--primary);
  -webkit-mask: var(--tg-mask) center / contain no-repeat;
  mask: var(--tg-mask) center / contain no-repeat;
}
.terrago-retreats .is-icon-calendar { --tg-mask: var(--tg-icon-calendar); }
.terrago-retreats .is-icon-type     { --tg-mask: var(--tg-icon-tag); }
.terrago-retreats .is-icon-pin      { --tg-mask: var(--tg-icon-pin); }
.terrago-retreats .is-icon-price    { --tg-mask: var(--tg-icon-price); }
.terrago-retreats .is-icon-heart    { --tg-mask: var(--tg-icon-heart); }

/* Checkbox rows. The square is drawn with ::before — the labels are links to the
   matching taxonomy archive, or inert text where no taxonomy exists. */
.terrago-retreats .terrago-filterrow {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.55rem;
  line-height: 1.4;
}
.terrago-retreats .terrago-filterrow::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--wp--preset--color--border);
  border-radius: 4px;
  background: var(--wp--preset--color--contrast);
}
.terrago-retreats .terrago-filterrow.is-checked::before {
  background: var(--wp--preset--color--primary) var(--tg-icon-check) center / 11px 11px no-repeat;
  border-color: var(--wp--preset--color--primary);
}
.terrago-retreats .terrago-filterrow a {
  color: var(--wp--preset--color--base);
  text-decoration: none;
}
.terrago-retreats .terrago-filterrow a:hover {
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
}
.terrago-retreats .terrago-filterrow.is-checked a {
  font-weight: 500;
}
.terrago-retreats .terrago-filterrow.is-inert > span {
  color: var(--wp--preset--color--muted);
  cursor: default;
}

/* "Can't decide yet?" mint card. */
.terrago-retreats .terrago-shortlist {
  background: var(--wp--preset--color--mint);
  border-color: transparent;
  padding: 1.1rem 1.25rem;
  margin-top: 1.5rem;
}
.terrago-retreats .terrago-shortlist > * {
  margin-block-start: 0;
}
.terrago-retreats .terrago-shortlist h4 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.35rem;
  font-family: var(--wp--preset--font-family--body);
  font-weight: 600;
  color: var(--wp--preset--color--primary);
}
.terrago-retreats .terrago-shortlist h4::before {
  content: "";
  flex: none;
  width: 15px;
  height: 15px;
  background: var(--wp--preset--color--primary);
  -webkit-mask: var(--tg-icon-heart) center / contain no-repeat;
  mask: var(--tg-icon-heart) center / contain no-repeat;
}
.terrago-retreats .terrago-shortlist p {
  margin: 0 0 0.5rem;
  color: var(--wp--preset--color--base);
}
.terrago-retreats .terrago-shortlist-cta a {
  color: var(--wp--preset--color--primary);
  font-weight: 500;
  text-decoration: underline;
}

/* ------------------------------------------------------------- results -- */

.terrago-retreats .terrago-resultbar {
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.terrago-retreats .terrago-count {
  color: var(--wp--preset--color--base);
  font-weight: 500;
}
.terrago-retreats .terrago-sort {
  margin: 0;
}
.terrago-retreats .terrago-sort > span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--base);
  cursor: default;
}
.terrago-retreats .terrago-sort > span::after {
  content: "";
  width: 13px;
  height: 13px;
  background: var(--wp--preset--color--base);
  -webkit-mask: var(--tg-icon-chevron) center / contain no-repeat;
  mask: var(--tg-icon-chevron) center / contain no-repeat;
}
.terrago-retreats .terrago-sort strong {
  font-weight: 500;
}
/* ---------------------------------------------------------- retreat rows --
 *
 * Markup comes from `wptravelengine/trips` in its "list" layout, so the classes
 * below are the plugin's. Note the block DISCARDS the `className` attribute —
 * its wrapper is only `wp-block-wptravelengine-trips wpte-gblock-wrapper`, so
 * that is what these rules hang off. Its nesting is
 *
 *   .category-trips-single-inner-wrap
 *     figure.category-trip-fig            > a (padding-top:75% box) > img
 *     .category-trip-content-wrap
 *       .category-trip-prc-title-wrap     (title)
 *       .category-trip-detail-wrap
 *         .category-trip-prc-wrap
 *           .category-trip-desti          (activities / types / location / duration / pax)
 *           .category-trip-budget         (price)
 *         .category-trip-desc
 *     .category-trip-aval-time            (CTA button)
 *
 * The frame puts the price and the CTA in a right-hand column, which those three
 * intermediate wrappers prevent — `display: contents` dissolves them so every
 * meaningful part becomes a direct grid item placed by area.
 *
 * `dist/public/trip-archive.css` is enqueued after this file and writes most of
 * its list rules as `.category-trips-single .category-trips-single-inner-wrap .x`
 * — (0,3,0), the same weight as the selectors here, and it already uses
 * `!important` on `.category-trip-desti { display }`. Ties therefore go to the
 * plugin on source order, which is why the geometry below is forced. Colour is
 * handled the civilised way instead, through the plugin's own custom properties.
 */

.terrago-retreats .wp-block-wptravelengine-trips {
  --wpte-primary-color: var(--wp--preset--color--primary);
  --wpte-icon-color: var(--wp--preset--color--primary);
}
.terrago-retreats .wp-block-wptravelengine-trips .wpte-trip-list-wrapper {
  display: block;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trips-single {
  width: 100%;
  max-width: none;
  margin: 0 0 1rem;
  padding: 0;
  flex: none;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trips-single-inner-wrap {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 185px;
  grid-template-areas:
    "media title price"
    "media desc  cta"
    "media meta  cta";
  grid-template-rows: auto auto 1fr;
  column-gap: 1.25rem;
  row-gap: 0.55rem;
  align-content: start;
  padding: 0.75rem;
  background: var(--wp--preset--color--contrast);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--terrago-radius);
  box-shadow: none;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-content-wrap,
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-detail-wrap,
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-prc-wrap {
  display: contents !important;
}

/* Thumbnail. The plugin makes the <a> a 75%-padding aspect box with the image
   absolutely positioned inside; that is swapped for a full-height cover crop. */
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-fig {
  grid-area: media;
  align-self: stretch !important;
  justify-self: stretch;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
/* Above 768px the plugin pins the figure with
   `.category-list .category-trips-single .category-trips-single-inner-wrap
   .category-trip-fig { flex:0 0 31% !important; max-width:31% !important }`
   — (0,4,0) AND important, so this has to out-specify it, not just shout. */
.terrago-retreats .wp-block-wptravelengine-trips .category-list .category-trips-single .category-trip-fig {
  flex: none !important;
  width: auto !important;
  max-width: none !important;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-fig > a {
  display: block !important;
  position: relative;
  height: 100%;
  min-height: 155px;
  padding-top: 0 !important;
  border-radius: var(--terrago-radius-sm) !important;
  background: var(--wp--preset--color--surface) !important;
  overflow: hidden;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-fig > a img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: inherit !important;
}

/* Title. */
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-prc-title-wrap {
  grid-area: title;
  display: block !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0.25rem 0 0 !important;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-title {
  margin: 0 !important;
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  line-height: 1.2;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-title a {
  color: var(--wp--preset--color--base);
  text-decoration: none;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-title a:hover {
  color: var(--wp--preset--color--primary);
}

/* Description. */
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desc {
  grid-area: desc;
  display: block !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desc p {
  margin: 0 !important;
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
}

/* Meta strip — the plugin already ships the pin / clock / people glyphs, so only
   the direction (column → row) and the separators change. */
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti {
  grid-area: meta;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  flex: none !important;
  align-items: center;
  align-content: flex-start;
  justify-content: flex-start !important;
  gap: 0.35rem 1rem;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti > [class*="category-trip-"] {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--wp--preset--font-size--small) !important;
  line-height: 1.4 !important;
  color: var(--wp--preset--color--base);
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti > [class*="category-trip-"] + [class*="category-trip-"] {
  border-left: 1px solid var(--wp--preset--color--border);
  padding-left: 1rem !important;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti > [class*="category-trip-"] i {
  width: 14px !important;
  height: 14px !important;
  flex: none !important;
  margin-right: 0.4rem !important;
  color: var(--wp--preset--color--primary);
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti svg {
  width: 14px;
  height: 14px;
  display: block;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti a:hover {
  text-decoration: underline;
}

/* Price — "From $3,250 per guest" in the frame. The plugin prints the amount and
   a "/ person" label, so only the "From" line above it is added. */
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-budget {
  grid-area: price;
  display: block !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0.25rem 0.35rem 0 0 !important;
  border: 0 !important;
  text-align: right;
  white-space: nowrap;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-budget::before {
  content: "From";
  display: block;
  font-size: var(--wp--preset--font-size--caption);
  color: var(--wp--preset--color--muted);
  line-height: 1.4;
}
.terrago-retreats .wp-block-wptravelengine-trips .price-holder,
.terrago-retreats .wp-block-wptravelengine-trips .actual-price {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit;
}
.terrago-retreats .wp-block-wptravelengine-trips .wpte-currency-code,
.terrago-retreats .wp-block-wptravelengine-trips .wpte-price {
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--wp--preset--color--base);
  line-height: 1.2;
}
.terrago-retreats .wp-block-wptravelengine-trips .pricing-label {
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--caption);
  font-weight: 400;
  color: var(--wp--preset--color--muted);
}

/* CTA. */
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-aval-time {
  grid-area: cta;
  display: block !important;
  align-self: start;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0.35rem 0 0 !important;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-viewmre-btn {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0.7rem 1rem !important;
  border: 0;
  border-radius: 999px;
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--small) !important;
  font-weight: 600;
  line-height: 1.3 !important;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.terrago-retreats .wp-block-wptravelengine-trips .category-trip-viewmre-btn:hover {
  background-color: var(--wp--preset--color--accent) !important;
  color: var(--wp--preset--color--base);
  filter: none;
}

/* The plugin's own section chrome — the headings are supplied by the template. */
.terrago-retreats .wp-block-wptravelengine-trips .wpte-gblock-title-wrap {
  display: none;
}

/* ============================================================ responsive == */

@media (max-width: 1100px) {
  .terrago-retreats .wp-block-wptravelengine-trips .category-trips-single-inner-wrap {
    grid-template-columns: 160px minmax(0, 1fr) 170px;
  }
  .terrago-retreats .terrago-fcard--main {
    grid-template-columns: 36% minmax(0, 1fr);
  }
}

@media (max-width: 899px) {
  .terrago-retreats .terrago-sidebar {
    position: static;
  }
}

@media (max-width: 781px) {
  .terrago-retreats .terrago-lede {
    padding-right: 0;
  }
  .terrago-retreats .terrago-hero-title {
    max-width: none;
  }
  .terrago-retreats .terrago-herocard {
    max-width: none;
    margin-left: 0;
  }
  .terrago-retreats .terrago-fcard--main {
    grid-template-columns: minmax(0, 1fr);
  }
  .terrago-retreats .terrago-fcard--main .terrago-fcard-media {
    min-height: 0;
  }
  .terrago-retreats .terrago-fcard--main .terrago-fcard-media img {
    position: static;
    aspect-ratio: 16 / 10;
    height: auto;
  }
  /* Rows stack: media, title, price, description, meta, CTA. */
  .terrago-retreats .wp-block-wptravelengine-trips .category-trips-single-inner-wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "media"
      "title"
      "price"
      "desc"
      "meta"
      "cta";
    grid-template-rows: auto;
    row-gap: 0.65rem;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-fig {
    height: auto;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-fig img {
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-budget {
    text-align: left;
    padding: 0;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-aval-time {
    padding: 0;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-viewmre-btn {
    width: auto;
    display: inline-block;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
  .terrago-retreats .terrago-shortlist {
    margin-top: 1rem;
  }
}

@media (max-width: 600px) {
  .terrago-retreats .terrago-hero {
    min-height: 0 !important;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti > span + span {
    border-left: 0;
    padding-left: 0;
  }
  .terrago-retreats .wp-block-wptravelengine-trips .category-trip-desti {
    gap: 0.35rem 0.9rem;
  }
}
