/* ============================================================
 * RC41 — CONTENT SCALE + MOBILE-FIRST CATEGORY HOME SYSTEM
 * User-approved layout rules layered after the immutable visual baseline:
 * - content cards are deliberately larger and more photographic;
 * - category homes share one geometry/rhythm, changing content + accent only;
 * - mobile content rails are one-card-per-view carousels where appropriate;
 * - compact utility/benefit surfaces use a two-column mobile grid;
 * - Elementor widget/container controls remain authoritative when populated.
 * ============================================================ */
:root{
  --vx41-card-radius:16px;
  --vx41-card-shadow:0 10px 28px rgb(13 49 88 / 9%);
  --vx41-card-shadow-hover:0 16px 38px rgb(13 49 88 / 13%);
  --vx41-section-gap:42px;
  --vx41-mobile-section-gap:32px;
  --vx41-carousel-gap:14px;
}
.viviare-area-stay{--viviare-category-accent:#0d3158;--viviare-category-ink:#0d3158;--viviare-category-soft:#eef4f8}
.viviare-area-experience{--viviare-category-accent:#14a7a8;--viviare-category-ink:#07888d;--viviare-category-soft:#edf9f8}
.viviare-area-territory{--viviare-category-accent:#f2a900;--viviare-category-ink:#9c6411;--viviare-category-soft:#fff8e8}
.elementor{overflow-x:clip}
:where(.viviare-category8-search,.viviare-category8-chips-wrap,.viviare-category8-section,.viviare-category8-trust,.viviare-category8-newsletter){position:relative;min-width:0}
.viviare-category8-search{z-index:6}
.viviare-category8-chips-wrap,.viviare-category8-section,.viviare-category8-trust,.viviare-category8-newsletter{z-index:1}

/* Shared category-home grammar. */
.elementor .viviare-category-hero{width:100%;margin:0;border-radius:0;overflow:hidden;background-position:center right}
.elementor .viviare-category-hero:before{background:linear-gradient(90deg,#fff 0%,rgb(255 255 255 / 97%) 26%,rgb(255 255 255 / 72%) 50%,rgb(255 255 255 / 14%) 76%,transparent 100%)}
.elementor .viviare-category-hero>div{width:min(1308px,calc(100% - 96px));max-width:1308px}
.elementor .viviare-category-hero h1{max-width:650px;color:var(--viviare-category-ink,var(--vx-stay));font-size:clamp(48px,4.5vw,64px);line-height:.98}
.elementor .viviare-category-hero p:not(.viviare-widget-eyebrow){max-width:560px;color:var(--vx-text);font-size:17px;line-height:1.42}
.elementor .viviare-category-hero .viviare-widget-eyebrow{color:var(--viviare-category-accent,var(--vx-vivi))}
.elementor .viviare-area-territory.viviare-category8-search,
.elementor .viviare-area-stay.viviare-category8-search,
.elementor .viviare-area-experience.viviare-category8-search{margin-top:-70px;margin-bottom:0;z-index:6}
.elementor .viviare-area-territory .viviare-search-pattern--territory{grid-template-columns:minmax(0,1fr) 170px;max-width:none}
.elementor .viviare-area-territory .viviare-search-pattern--territory .viviare-search-pattern__submit{display:block;background:var(--viviare-category-accent);color:#fff}
.elementor .viviare-area-stay .viviare-search-pattern__submit,
.elementor .viviare-area-experience .viviare-search-pattern__submit,
.elementor .viviare-area-territory .viviare-search-pattern__submit{background:var(--viviare-category-accent)}

.elementor .viviare-category8-chips-wrap,
.elementor .viviare-category8-section,
.elementor .viviare-category8-trust,
.elementor .viviare-category8-newsletter{width:min(1308px,calc(100% - 64px));max-width:1308px;margin-inline:auto}
.elementor .viviare-category8-chips-wrap{padding-top:34px}
.elementor .viviare-category8-section{padding-block:var(--vx41-section-gap) 0}
.elementor .viviare-category8-trust{margin-top:var(--vx41-section-gap)}
.elementor .viviare-category8-newsletter{margin-top:var(--vx41-section-gap);margin-bottom:34px}
.elementor .viviare-category8-chips-title h2,
.elementor .viviare-section8-heading h2{color:var(--vx-stay);font-size:clamp(22px,2vw,28px);line-height:1.1}
.elementor .viviare-section8-heading{min-height:40px;margin-bottom:18px;align-items:flex-end}
.elementor .viviare-section8-heading-copy .elementor-widget-text-editor{max-width:720px;font-size:14px;line-height:1.45}
.elementor .viviare-section8-heading .elementor-button{min-height:38px;color:var(--viviare-category-accent);font-size:13px}

/* Compact discovery/utility boxes: same component language across macroareas. */
.elementor .viviare-category8-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.elementor .viviare-category8-chip{min-width:0;min-height:82px;padding:16px 14px 14px 54px;border:1px solid var(--vx-line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgb(13 49 88 / 5%)}
.elementor .viviare-category8-chip:before{left:14px;width:30px;height:30px;background-color:var(--viviare-category-soft)}
.elementor .viviare-category8-chip h3{margin:0 0 4px;color:var(--viviare-category-ink);font-size:14px;line-height:1.15}
.elementor .viviare-category8-chip .elementor-widget-text-editor{color:var(--vx-muted);font-size:12px;line-height:1.3}
.elementor .viviare-category8-trust{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px;align-items:stretch}
.elementor .viviare-category8-why,.elementor .viviare-category8-review{height:100%;padding:22px;border:1px solid var(--vx-line);border-radius:16px;background:#fff}
.elementor .viviare-category8-why>h2,.elementor .viviare-category8-review>h2{margin:0 0 16px;font-size:20px}
.elementor .viviare-category8-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.elementor .viviare-category8-benefit{min-width:0;min-height:104px;padding:14px;border:1px solid var(--vx-line-2);border-radius:13px;background:var(--viviare-category-soft)}
.elementor .viviare-category8-benefit h3{margin:0 0 5px;color:var(--viviare-category-ink);font-size:14px}
.elementor .viviare-category8-benefit .elementor-widget-text-editor{color:var(--vx-muted);font-size:12px;line-height:1.35}
.elementor .viviare-category8-newsletter{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr) auto;align-items:center;gap:22px;min-height:96px;padding:20px 24px;border:1px solid color-mix(in srgb,var(--viviare-category-accent) 20%,#dce5ea);border-radius:16px;background:var(--viviare-category-soft)}
.elementor .viviare-category8-newsletter h3{margin:0;color:var(--viviare-category-ink);font-size:18px}
.elementor .viviare-category8-newsletter .elementor-widget-text-editor{margin:0;color:var(--vx-muted);font-size:13px}
.elementor .viviare-category8-newsletter .elementor-button{min-height:44px;padding-inline:22px;border-radius:10px;background:var(--viviare-category-accent);color:#fff}

/* Large, image-led content cards. Elementor controls can override columns, gap and heights. */
.elementor .viviare-entity-grid{gap:18px}
.elementor .viviare-entity-card{overflow:hidden;border-radius:var(--vx41-card-radius);box-shadow:var(--vx41-card-shadow)}
.elementor .viviare-entity-card__media,
.elementor .viviare-entity-card__placeholder{min-height:170px;background:#e8eef1}
.elementor .viviare-entity-card__body{padding:16px}
.elementor .viviare-entity-card h3{font-size:18px;line-height:1.18}
.elementor .viviare-entity-card__summary{display:-webkit-box;overflow:hidden;color:var(--vx-muted);font-size:13px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.elementor .viviare-entity-card__footer{padding-top:13px}
.elementor .viviare-entity-card__price strong{font-size:21px}
.elementor .viviare-entity-card__favorite{width:40px;height:40px;right:12px;top:12px}

@media (min-width:901px){
  .elementor .viviare-category8-section .viviare-entity-grid--compact,
  .elementor .viviare-category8-section .viviare-entity-grid--destination,
  .elementor .viviare-category8-section .viviare-entity-grid--collection{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}

  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card{height:auto;min-height:315px;border-radius:var(--vx41-card-radius)}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__media{height:190px;min-height:190px;aspect-ratio:auto}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__body{height:auto;min-height:125px;padding:15px 16px}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card h3{margin:4px 0 6px;font-size:17px;line-height:1.15}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__destination{font-size:12px}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__summary{display:-webkit-box}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__footer{display:flex;margin-top:auto;padding-top:10px;border-top:1px solid var(--vx-line-2)}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__price strong{font-size:19px}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__favorite{width:38px;height:38px;right:10px;top:10px}

  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card{height:220px;min-height:220px;border:0;border-radius:var(--vx41-card-radius);box-shadow:var(--vx41-card-shadow)}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__media{position:absolute;inset:0;height:100%;min-height:100%}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(3 33 72 / 84%),rgb(3 33 72 / 8%) 68%)}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__body{position:relative;z-index:2;min-height:220px;justify-content:flex-end;padding:18px;color:#fff}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card h3,.elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card h3 a{color:#fff;font-size:22px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__destination{color:rgb(255 255 255 / 88%);font-size:13px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__meta,
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__summary,
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__footer{display:none}

  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card{height:auto;min-height:230px;border-radius:var(--vx41-card-radius)}
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card__media{height:150px;min-height:150px}
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card__body{height:auto;min-height:80px;padding:12px 14px}
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card h3{margin:2px 0;font-size:16px}
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card__destination{display:block}

  /* Main Home keeps its composition but gives featured content real visual weight. */
  .elementor .viviare-home8-featured{height:auto;min-height:320px;padding-top:28px}
  .elementor .viviare-home8-featured .elementor-widget-viviare_entity_grid,
  .elementor .viviare-home8-featured .elementor-widget-viviare_entity_grid>.elementor-widget-container{height:auto;min-height:270px}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card,
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card__body{height:270px;min-height:270px;border-radius:18px}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card h3,
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card h3 a{font-size:24px;max-width:620px}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card__summary{font-size:14px;max-width:560px}
}

/* Editorial and destination-index cards follow the same scale. */
.elementor .viviare-editorial-grid__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.elementor .viviare-editorial-card{overflow:hidden;min-width:0;min-height:360px;border:1px solid var(--vx-line);border-radius:var(--vx41-card-radius);background:#fff;box-shadow:var(--vx41-card-shadow)}
.elementor .viviare-editorial-card__media{display:block;height:205px;overflow:hidden;background:#e8eef1}
.elementor .viviare-editorial-card__media img{width:100%;height:100%;object-fit:cover}
.elementor .viviare-editorial-card__body{padding:17px}
.elementor .viviare-editorial-card h3{font-size:20px;line-height:1.16}
.elementor .viviare-destination-index__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.elementor .viviare-destination-index-card{overflow:hidden;min-width:0;min-height:340px;border-radius:var(--vx41-card-radius);box-shadow:var(--vx41-card-shadow)}
.elementor .viviare-destination-index-card__media{height:220px}
.elementor .viviare-destination-index-card__media img{width:100%;height:100%;object-fit:cover}

@media (hover:hover) and (pointer:fine){
  .elementor .viviare-entity-card:hover,.elementor .viviare-editorial-card:hover,.elementor .viviare-destination-index-card:hover{box-shadow:var(--vx41-card-shadow-hover);transform:translateY(-2px)}
}

/* Tablet: card scale stays generous, layout becomes two-up. */
@media (min-width:768px) and (max-width:1100px){
  .elementor .viviare-category8-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
  .elementor .viviare-category8-section .viviare-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elementor .viviare-editorial-grid__items,.elementor .viviare-destination-index__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elementor .viviare-category8-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elementor .viviare-category8-trust{grid-template-columns:1fr}
}

/* Mobile: one content card per swipe; compact supporting boxes are two-up. */
@media (max-width:767px){
  :root{--vx41-carousel-gap:14px}
  .elementor .viviare-category-hero{min-height:430px;padding:26px 18px 112px;align-items:flex-end;background-position:center}
  .elementor .viviare-category-hero:before{background:linear-gradient(180deg,rgb(255 255 255 / 2%) 15%,rgb(255 255 255 / 90%) 72%,#fff 100%)}
  .elementor .viviare-category-hero>div{width:100%;max-width:none}
  .elementor .viviare-category-hero h1{max-width:100%;font-size:38px;line-height:1.02}
  .elementor .viviare-category-hero p:not(.viviare-widget-eyebrow){max-width:100%;font-size:15px;line-height:1.38}
  .elementor .viviare-area-territory.viviare-category8-search,
  .elementor .viviare-area-stay.viviare-category8-search,
  .elementor .viviare-area-experience.viviare-category8-search{width:calc(100% - 24px);margin:-82px auto 0;padding:0}
  .elementor .viviare-search-pattern--stay,.elementor .viviare-search-pattern--experience,.elementor .viviare-search-pattern--territory{grid-template-columns:1fr;max-width:none}
  .elementor .viviare-area-territory .viviare-search-pattern--territory .viviare-search-pattern__submit{display:block;min-height:48px;margin:6px}
  .elementor .viviare-category8-chips-wrap,.elementor .viviare-category8-section,.elementor .viviare-category8-trust,.elementor .viviare-category8-newsletter{width:calc(100% - 24px);max-width:none}
  .elementor .viviare-category8-chips-wrap{padding-top:30px}
  .elementor .viviare-category8-section{padding-top:var(--vx41-mobile-section-gap);overflow:clip}
  .elementor .viviare-category8-trust,.elementor .viviare-category8-newsletter{margin-top:var(--vx41-mobile-section-gap)}
  .elementor .viviare-section8-heading{min-height:0;margin-bottom:14px;gap:12px;align-items:flex-start}
  .elementor .viviare-section8-heading h2{font-size:24px;line-height:1.08}
  .elementor .viviare-section8-heading-copy .elementor-widget-text-editor{font-size:13px}
  .elementor .viviare-section8-heading .elementor-button{min-height:34px;font-size:12px;white-space:nowrap}

  .elementor .viviare-category8-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible}
  .elementor .viviare-category8-chip{min-height:96px;padding:14px 10px 12px 44px}
  .elementor .viviare-category8-chip:before{left:10px;width:27px;height:27px}
  .elementor .viviare-category8-chip h3{font-size:13px;overflow-wrap:anywhere}
  .elementor .viviare-category8-chip .elementor-widget-text-editor{font-size:11.5px}

  /* A real one-item-at-a-time rail. No peek by default; Elementor can lower the width to 80–99%. */
  .elementor [data-viviare-mobile-carousel="1"]{display:flex;grid-template-columns:none;gap:var(--vx41-carousel-gap);width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .elementor [data-viviare-mobile-carousel="1"]::-webkit-scrollbar{display:none}
  .elementor [data-viviare-mobile-carousel="1"]>*{flex:0 0 var(--viviare-mobile-card-width,100%);width:var(--viviare-mobile-card-width,100%);max-width:var(--viviare-mobile-card-width,100%);min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
  .elementor .viviare-mobile-layout--two_columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible}
  .elementor .viviare-mobile-layout--stack{display:grid;grid-template-columns:1fr;gap:14px;overflow:visible}

  /* Reset the former compact horizontal-card mobile grammar: RC41 cards are photographic vertical surfaces. */
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card,
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card{display:flex;grid-template-columns:none;flex-direction:column}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__media,
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card__media{grid-row:auto;grid-column:auto;width:100%}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__body,
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card__body{grid-row:auto;grid-column:auto;width:100%}
  .elementor .viviare-category8-section .viviare-entity-card{height:auto;min-height:390px;border-radius:18px}
  .elementor .viviare-category8-section .viviare-entity-card__media,
  .elementor .viviare-category8-section .viviare-entity-card__placeholder{position:relative;inset:auto;height:230px;min-height:230px}
  .elementor .viviare-category8-section .viviare-entity-card__body{position:relative;min-height:160px;height:auto;padding:16px;color:var(--vx-text);justify-content:flex-start}
  .elementor .viviare-category8-section .viviare-entity-card h3,
  .elementor .viviare-category8-section .viviare-entity-card h3 a{max-width:none;color:var(--vx-stay);font-size:22px;line-height:1.12}
  .elementor .viviare-category8-section .viviare-entity-card__destination{display:block;color:var(--vx-muted);font-size:13px}
  .elementor .viviare-category8-section .viviare-entity-card__meta{display:flex}
  .elementor .viviare-category8-section .viviare-entity-card__summary{display:-webkit-box;font-size:13px}
  .elementor .viviare-category8-section .viviare-entity-card__footer{display:flex;margin-top:auto;padding-top:12px;border-top:1px solid var(--vx-line-2)}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card{min-height:330px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__media{position:absolute;inset:0;height:100%;min-height:100%}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(3 33 72 / 88%),rgb(3 33 72 / 8%) 65%)}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__body{z-index:2;min-height:330px;justify-content:flex-end;color:#fff}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card h3,
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card h3 a{color:#fff;font-size:26px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__destination{color:rgb(255 255 255 / 88%)}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__meta,
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__summary,
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__footer{display:none}
  .elementor .viviare-category8-section .viviare-entity-grid--collection .viviare-entity-card{min-height:330px}

  .elementor .viviare-editorial-card,.elementor .viviare-destination-index-card{min-height:400px}
  .elementor .viviare-editorial-card__media,.elementor .viviare-destination-index-card__media{height:235px}

  .elementor .viviare-category8-trust{display:grid;grid-template-columns:1fr;gap:12px}
  .elementor .viviare-category8-why,.elementor .viviare-category8-review{padding:16px;border-radius:15px}
  .elementor .viviare-category8-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .elementor .viviare-category8-benefit{min-height:116px;padding:13px 11px}
  .elementor .viviare-category8-benefit h3{font-size:13px;overflow-wrap:anywhere}
  .elementor .viviare-category8-review .viviare-review-card{min-height:180px;height:auto;padding:16px}
  .elementor .viviare-category8-newsletter{display:grid;grid-template-columns:1fr;gap:8px;min-height:0;padding:18px}
  .elementor .viviare-category8-newsletter .elementor-button{width:100%;min-height:48px;margin-top:6px}

  /* Main Home supporting boxes: two per row; content remains large and swipeable. */
  .elementor .viviare-home8-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .elementor .viviare-home8-benefit{min-height:112px;padding:14px 12px}
  .elementor .viviare-home8-utility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .elementor .viviare-home8-utility-card{min-height:112px;padding:14px 12px 14px 54px;border:1px solid var(--vx-line);border-radius:14px}
  .elementor .viviare-home8-utility-card:nth-child(odd):last-child{grid-column:1/-1}
  .elementor .viviare-platform-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .elementor .viviare-platform-stat{min-height:100px}
  .elementor .viviare-home8-featured{height:auto;min-height:0;padding-top:var(--vx41-mobile-section-gap);overflow:clip}
  .elementor .viviare-home8-featured .elementor-widget-viviare_entity_grid,
  .elementor .viviare-home8-featured .elementor-widget-viviare_entity_grid>.elementor-widget-container{height:auto;min-height:0}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature{height:auto}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card,
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card__body{height:330px;min-height:330px;border-radius:18px}
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card h3,
  .elementor .viviare-home8-featured .viviare-entity-grid--feature .viviare-entity-card h3 a{font-size:25px}

  /* Carousel controls are outside the scroll rail, so they never cover card content. */
  .viviare-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}
  .viviare-carousel-controls button{display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid var(--vx-line);border-radius:50%;background:#fff;color:var(--vx-stay);font-size:20px;line-height:1;box-shadow:0 4px 12px rgb(13 49 88 / 7%)}
  .viviare-carousel-controls button:disabled{opacity:.38;box-shadow:none}
  .viviare-carousel-status{min-width:52px;color:var(--vx-muted);font-size:12px;font-weight:750;text-align:center}
}
@media (min-width:768px){.viviare-carousel-controls{display:none}}
@media (prefers-reduced-motion:reduce){.elementor [data-viviare-mobile-carousel="1"]{scroll-behavior:auto}}

/* RC45 — shared macro-home geometry and touch-safe fidelity. */
@media (min-width:1024px){
  .elementor .viviare-category-hero{min-height:340px}
  .elementor .viviare-category8-chips-wrap,
  .elementor .viviare-category8-section,
  .elementor .viviare-category8-trust,
  .elementor .viviare-category8-newsletter{width:min(1320px,calc(100% - 72px));max-width:1320px}
  .elementor .viviare-category8-section{padding-top:54px}
  .elementor .viviare-category8-chip{min-height:94px;padding-top:17px;padding-bottom:16px}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card{min-height:345px}
  .elementor .viviare-category8-section .viviare-entity-grid--compact .viviare-entity-card__media{height:210px;min-height:210px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card{height:250px;min-height:250px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__body{min-height:250px;padding:20px}
  .elementor .viviare-editorial-card{min-height:390px}
  .elementor .viviare-editorial-card__media{height:225px}
}
@media (max-width:767px){
  .elementor .viviare-category-hero{min-height:460px;padding:26px 18px 120px;background-position:center}
  .elementor .viviare-category-hero h1{font-size:40px}
  .elementor .viviare-area-territory.viviare-category8-search,
  .elementor .viviare-area-stay.viviare-category8-search,
  .elementor .viviare-area-experience.viviare-category8-search{width:calc(100% - 24px);margin:-88px auto 0}
  .elementor .viviare-category8-chips-wrap{padding-top:34px}
  .elementor .viviare-category8-chip{min-height:104px;padding:15px 11px 13px 46px;border-radius:15px}
  .elementor .viviare-category8-chip h3{font-size:13.5px}
  .elementor .viviare-category8-section{padding-top:38px}
  .elementor .viviare-category8-section .viviare-entity-card{min-height:410px}
  .elementor .viviare-category8-section .viviare-entity-card__media,
  .elementor .viviare-category8-section .viviare-entity-card__placeholder{height:245px;min-height:245px}
  .elementor .viviare-category8-section .viviare-entity-card__body{min-height:165px;padding:17px}
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card,
  .elementor .viviare-category8-section .viviare-entity-grid--destination .viviare-entity-card__body{min-height:360px}
  .elementor .viviare-category8-benefit{min-height:122px;padding:14px 12px}
  .elementor .viviare-editorial-card,.elementor .viviare-destination-index-card{min-height:410px}
  .elementor .viviare-editorial-card__media,.elementor .viviare-destination-index-card__media{height:245px}
}

/* RC46 staging: legacy territory quick categories must follow the same 2-column mobile utility grammar. */
@media (max-width:767px){
  .elementor .viviare-area-territory.viviare-territory8-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:calc(100% - 24px);padding:0;overflow:visible;border:0;box-shadow:none;background:transparent}
  .elementor .viviare-area-territory.viviare-territory8-categories .viviare-territory8-category,
  .elementor .viviare-area-territory.viviare-territory8-categories .viviare-territory8-filter{width:auto;min-width:0;min-height:82px;padding:13px;border:1px solid var(--vx-line);border-radius:14px;background:#fff}
  .elementor .viviare-area-territory.viviare-territory8-categories .viviare-territory8-filter{grid-column:1/-1;min-height:48px}
}
