/* TA landing values measured against original views + original five sheets.
   Outside native prices: only font-size, font-weight and line-height. */
.renew-landing { --renew-h3-font: 400 22px/normal var(--renew-body); }
/* Owner visual trial: medium-weight section H2; existing sizes/H3 unchanged. */
.renew-landing .renew-section-header h2,
.renew-landing .renew-native-prices .encabezado-section-h2 { font-weight: 500; }
/* Private human-selected heading spans: colour only, never extra bold/boxes. */
.renew-landing .renew-section-header .renew-heading-part--muted { color: var(--renew-heading-muted); font-weight: inherit; }
.renew-landing .renew-section-header .renew-heading-part--dark { color: var(--renew-ink); font-weight: inherit; }
/* Heading/body are siblings. Resolve the body's existing width tokens on their
   common parent, with the same precedence as the admitted composition rules:
   default < map/itinerary < wide < image split. No body width is changed. */
.renew-landing .renew-section > .renew-container { --renew-heading-body-width: var(--renew-composition); }
.renew-landing .renew-section > .renew-container:where(:has(> .renew-composition--map-depots)) { --renew-heading-body-width: var(--renew-map-depots-width, var(--renew-composition)); }
.renew-landing .renew-section > .renew-container:where(:has(> .renew-composition--itinerary-cards)) { --renew-heading-body-width: var(--renew-itinerary-cards-width, var(--renew-composition)); }
.renew-landing .renew-section:where(.renew-family--wide) > .renew-container { --renew-heading-body-width: var(--renew-wide); }
.renew-landing .renew-section:where([data-block-type="free_text"]) > .renew-container:where(:has(> .renew-composition > .renew-split:not(.renew-split--editorial) > .renew-split-image)) { --renew-heading-body-width: var(--renew-image-text-width); }
.renew-landing .renew-section > .renew-container > .renew-section-header,
.renew-landing .renew-native-prices .mp-popular > .encabezado-section {
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, var(--renew-section-title-max), var(--renew-heading-body-width, 100%));
  margin-inline: auto;
}
.renew-landing .renew-section > .renew-container > .renew-section-header > :not(h2),
.renew-landing .renew-native-prices .mp-popular > .encabezado-section > :not(h2) {
  width: 100%;
  max-width: min(100%, var(--renew-section-subtitle-max));
  margin-inline: auto;
}
/* Native price heading already shares the padded .mp-popular content box with
   the cards. 100% therefore means its useful width, not the outside wrapper. */
/* Editorial links only: preserve native controls, navigation and TOC styling. */
.renew-landing :is(.renew-prose, .renew-faq-explicit__answer, .renew-destinations) a:where([href]):not(:where([role="button"], .mh-btn, .renew-choice-action, nav a, .contenedor-toc a)) { color: #2468b4; }
.renew-landing .renew-feature p { font-size: 15px; font-weight: 400; line-height: 25px; }
.renew-landing .renew-prose h3 strong { font-weight: 700; }
/* Keep long editorial/nbsp chains inside prose, not table cells. */
.renew-landing .renew-prose p:not(table p) { overflow-wrap: anywhere; }
.renew-landing .renew-section-header h2 { overflow-wrap: anywhere; }
.renew-landing .renew-review h3 { font-size: 20px; font-weight: 400; line-height: normal; }
.renew-landing .renew-text-block .renew-prose { font-size: 17px; font-weight: 400; line-height: 28px; }

/* Native example-price component: same view/API values and source design,
   independent of legacy sheets and isolated from every other page family. */
.renew-landing .renew-native-prices { font: 400 14px/normal var(--renew-body); color: var(--renew-ink); }
.renew-native-prices > div { padding-top: 50px; padding-bottom: 10px; background-color: var(--renew-native-price-surface, #fafafa); }
.renew-native-prices > .renew-native-price-surface--white { --renew-native-price-surface: white; }
.renew-native-prices .wrapper-padding-a { max-width: var(--renew-reference-wrapper); margin: 0 auto; }
.renew-native-prices .mp-popular { margin-bottom: 45px; padding-inline: var(--renew-reference-inset); }
.renew-native-prices .encabezado-section { text-align: center; margin-bottom: 31px; }
.renew-native-prices .encabezado-section-h2 { margin: 0 0 12px; padding: 0 35px; font: 400 27px/1.4 var(--renew-body); text-transform: uppercase; color: var(--renew-ink); background: none; }
.renew-native-prices .encabezado-section-h2 > span { color: var(--renew-heading-muted); }
.renew-native-prices .encabezado-section > p { display: inline-block; width: 640px; padding: 0; margin: 0 0 14px; font: italic 400 17px/26px var(--renew-body); color: var(--renew-ink); }
.renew-native-prices .examplePricesWrap-newDesignOffers {
  --ep-bg: #ffffff;
  --ep-text: #1f2937;
  --ep-muted: rgba(31,41,55,.72);
  --ep-border: rgba(31,41,55,.12);
  --ep-soft: rgba(31,41,55,.06);
  --ep-radius: 16px;
  --ep-shadow: 0 10px 26px rgba(31,41,55,.08);
  --ep-c1: #6b9bc3;
  --ep-c2: #c1c594;
  --ep-c3: #f5d37f;
  color: var(--ep-text);
  font-family: 'Raleway', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.renew-native-prices .examplePricesWrap-newDesignOffers * { box-sizing: border-box; }
.renew-native-prices .examplePricesTopMeta-newDesignOffers { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0 18px; padding: 0 2px; }
.renew-native-prices .examplePricesPill-newDesignOffers { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--ep-border); border-radius: 999px; background: rgba(255,255,255,.92); font-size: 13px; line-height: 1; color: var(--ep-text); white-space: nowrap; }
.renew-native-prices .examplePricesDot-newDesignOffers { width: 10px; height: 10px; border-radius: 999px; background: var(--ep-soft); border: 1px solid var(--ep-border); }
.renew-native-prices .examplePriceCards-newDesignOffers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 0; }
.renew-native-prices .examplePriceCard-newDesignOffers { background: var(--ep-bg); border: 1px solid var(--ep-border); border-radius: var(--ep-radius); box-shadow: 0 8px 18px rgba(31,41,55,.06); overflow: hidden; }
.renew-native-prices .examplePriceCardTopbar-newDesignOffers { height: 10px; background: var(--ep-soft); }
.renew-native-prices .examplePriceCardBody-newDesignOffers { padding: 20px 16px 16px; }
.renew-native-prices .examplePriceHeaderRow-newDesignOffers { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.renew-native-prices .examplePriceLocation-newDesignOffers { font-weight: 900; font-size: 18px; line-height: 1.18; }
.renew-native-prices .examplePriceBadge-newDesignOffers { font-size: 12px; padding: 7px 10px; border-radius: 999px; border: 1px solid var(--ep-border); background: rgba(255,255,255,.92); color: var(--ep-text); white-space: nowrap; }
.renew-native-prices .examplePriceMeta_newDesignOffers { display: grid; gap: 9px; margin-bottom: 14px; }
.renew-native-prices .examplePriceLine-newDesignOffers { color: var(--ep-muted); font-size: 14px; line-height: 1.55; }
.renew-native-prices .examplePriceLine-newDesignOffers strong { color: var(--ep-text); }
.renew-native-prices .examplePricePriceRow-newDesignOffers { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--ep-border); margin-top: 14px; }
.renew-native-prices .examplePriceTotal-newDesignOffers { font-size: 32px; font-weight: 950; letter-spacing: -0.02em; line-height: 1; }
.renew-native-prices .examplePriceTotalSub-newDesignOffers { display: block; margin-top: 7px; font-size: 13px; color: var(--ep-muted); line-height: 1.35; }
.renew-native-prices .examplePriceFx-newDesignOffers { display: block; margin-top: 4px; font-size: 12.5px; color: rgba(31,41,55,.58); line-height: 1.35; }
.renew-native-prices .examplePricePerDay-newDesignOffers { display: inline-flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 3px; padding: 9px 10px; border-radius: 999px; border: 1px solid var(--ep-border); background: rgba(255,255,255,.94); color: var(--ep-text); white-space: nowrap; }
.renew-native-prices .examplePricePerDayMain-newDesignOffers { font-size: 13px; font-weight: 800; line-height: 1.1; }
.renew-native-prices .examplePricePerDayFx-newDesignOffers { font-size: 12px; color: rgba(31,41,55,.62); line-height: 1.1; }
.renew-native-prices .examplePriceFootnote-newDesignOffers { text-align: center; line-height: 1.4; margin-top: 28px; color: rgba(31,41,55,.62); }
.renew-native-prices .ep-theme-1-newDesignOffers .examplePriceCardTopbar-newDesignOffers { background: var(--ep-c1); }
.renew-native-prices .ep-theme-2-newDesignOffers .examplePriceCardTopbar-newDesignOffers { background: var(--ep-c2); }
.renew-native-prices .ep-theme-3-newDesignOffers .examplePriceCardTopbar-newDesignOffers { background: var(--ep-c3); }
.renew-native-prices .ep-theme-1-newDesignOffers .examplePriceBadge-newDesignOffers { border-color: rgba(107,155,195,.45); background: rgba(107,155,195,.10); }
.renew-native-prices .ep-theme-2-newDesignOffers .examplePriceBadge-newDesignOffers { border-color: rgba(193,197,148,.55); background: rgba(193,197,148,.14); }
.renew-native-prices .ep-theme-3-newDesignOffers .examplePriceBadge-newDesignOffers { border-color: rgba(245,211,127,.60); background: rgba(245,211,127,.18); }
/* Same native price nodes; rows expose metadata beside totals, never truncate. */
.renew-native-prices--comparison-rows .examplePriceCards-newDesignOffers { grid-template-columns: minmax(0, 1fr); }
.renew-native-prices--comparison-rows .examplePriceCardBody-newDesignOffers { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr) minmax(0, .8fr); gap: 16px 24px; padding: 24px; }
.renew-native-prices--comparison-rows .examplePriceCardBody-newDesignOffers > * { min-width: 0; overflow-wrap: anywhere; }
.renew-native-prices--comparison-rows .examplePriceHeaderRow-newDesignOffers { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 12px; margin: 0; }
.renew-native-prices--comparison-rows .examplePriceBadge-newDesignOffers { white-space: normal; }
.renew-native-prices--comparison-rows .examplePriceMeta_newDesignOffers { margin: 0; }
.renew-native-prices--comparison-rows .examplePricePriceRow-newDesignOffers { flex-wrap: wrap; align-content: flex-start; gap: 14px; padding: 0; border: 0; }
.renew-native-prices--comparison-rows .examplePricePerDay-newDesignOffers { align-items: flex-start; white-space: normal; }
.renew-native-prices--comparison-rows .examplePriceFootnote-newDesignOffers { grid-column: 1 / -1; margin-top: 8px; text-align: left; }
@media (max-width: 991px) { .renew-native-prices--comparison-rows .examplePriceCardBody-newDesignOffers { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .renew-native-prices--comparison-rows .examplePricePriceRow-newDesignOffers { grid-column: 1 / -1; } }
@media (max-width: 600px) { .renew-native-prices--comparison-rows .examplePriceCardBody-newDesignOffers { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; } }
@media (max-width: 1130px) { .renew-native-prices .mp-popular { padding-inline: 60px; } }
@media (max-width: 991px) { .renew-native-prices .examplePriceCards-newDesignOffers { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .renew-native-prices .encabezado-section > p { width: 100%; } }
@media (max-width: 500px) { .renew-native-prices .mp-popular { padding-inline: 20px; } }
