/* ============================================================
 * VIVIARE Consumer Visual System — RC23 HOME PIXEL REFERENCE
 * Single authoritative visitor layer. Approved desktop + mobile
 * mockups are the visual source of truth. No historical cascade.
 * ============================================================ */
:root{
  --vx-stay:#0d3158;--vx-stay-deep:#08294d;--vx-vivi:#14a7a8;--vx-vivi-dark:#07888d;
  --vx-scopri:#f2a900;--vx-scopri-dark:#a86413;--vx-dest:#6c4df4;--vx-coral:#ff6b61;
  --vx-text:#142b48;--vx-muted:#68788d;--vx-subtle:#8895a5;--vx-line:#dce5ea;--vx-line-2:#e8eef2;
  --vx-soft:#f5f8f9;--vx-soft-blue:#eef7f9;--vx-warm:#fbf7f1;--vx-white:#fff;
  --vx-max:1760px;--vx-radius:12px;--vx-radius-lg:18px;--vx-shadow:0 8px 24px rgb(13 49 88 / 7%);--vx-shadow-lg:0 18px 44px rgb(13 49 88 / 12%);
}
html[data-viviare-area="stay"]{--vx-area:var(--vx-stay)}html[data-viviare-area="experience"]{--vx-area:var(--vx-vivi)}html[data-viviare-area="territory"]{--vx-area:var(--vx-scopri)}html[data-viviare-area="destinations"]{--vx-area:var(--vx-dest)}html[data-viviare-area="home"],html[data-viviare-area="account"]{--vx-area:var(--vx-vivi)}
.elementor{color:var(--vx-text);font-family:Inter,"Avenir Next",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}.elementor *{box-sizing:border-box}.elementor a{text-decoration:none}.elementor h1,.elementor h2,.elementor h3,.elementor h4{color:var(--vx-stay);font-weight:750;letter-spacing:-.035em}.elementor p{margin-top:0}.elementor .viviare-widget-eyebrow{margin:0 0 6px;color:var(--vx-area,var(--vx-vivi));font-size:12px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.viviare-svg-icon{display:inline-block;width:1.35em;height:1.35em;flex:none;vertical-align:-.2em}:where(.elementor) :where(.viviare-mockup-shell),:where(.viviare-mockup-shell){width:min(var(--vx-max),calc(100% - 80px));max-width:var(--vx-max);margin-inline:auto;padding-inline:0;}:where(.elementor) :where(.viviare-mockup-section),:where(.viviare-mockup-section){padding-block:36px;}:where(.elementor) :where(.viviare-mockup-shell)>.e-con-inner,:where(.elementor) :where(.viviare-mockup-section)>.e-con-inner{width:100%;max-width:none;}

/* Official brand + header */
.viviare-site-brand{display:inline-flex;align-items:center;line-height:1;text-decoration:none}.viviare-site-brand__logo{display:block;width:auto!important;object-fit:contain}.viviare-site-brand--header .viviare-site-brand__logo{max-width:236px;max-height:58px}.viviare-site-brand--footer .viviare-site-brand__logo{max-width:220px;max-height:58px}.viviare-site-brand__fallback{display:grid;gap:4px;color:var(--vx-stay)}.viviare-site-brand__fallback strong{font-size:24px;letter-spacing:.22em}.viviare-site-brand__fallback small{color:var(--vx-muted);font-size:11px;letter-spacing:.24em}
:where(.elementor) :where(.viviare-site-header){display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:28px;min-height:82px;padding-block:8px;border-bottom:1px solid var(--vx-line-2);background:#fff;}:where(.elementor) :where(.viviare-site-header)>.e-con-inner{align-items:center;}:where(.elementor) :where(.viviare-elementor-brand){min-width:0;}:where(.elementor) :where(.viviare-header-nav){display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:nowrap;}:where(.elementor) :where(.viviare-header-nav) .elementor-button{position:relative;min-height:44px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:var(--vx-stay);font-size:14px;font-weight:720;box-shadow:none;}:where(.elementor) :where(.viviare-header-nav) .elementor-button:hover{color:var(--vx-vivi);background:#f5fafa;}:where(.elementor) :where(.viviare-elementor-favorite-link) .elementor-button,:where(.elementor) :where(.viviare-elementor-account-link) .elementor-button{gap:6px;}:where(.elementor) :where(.viviare-elementor-favorite-link) .elementor-button:before{content:"♡";font-size:22px;line-height:1;}:where(.elementor) :where(.viviare-elementor-account-link) .elementor-button:before{content:"♙";font-size:18px;line-height:1;}:where(.elementor) :where(.viviare-elementor-partner-cta) .elementor-button{min-height:46px;padding:0 19px;border-radius:7px;background:var(--vx-vivi);color:#fff;}:where(.elementor) :where(.viviare-mobile-menu-toggle){display:none;}

/* Shared section headings */
:where(.elementor) :where(.viviare-section8-heading){display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px;}:where(.elementor) :where(.viviare-section8-heading) h2{margin:0;font-size:23px;line-height:1.08;}:where(.elementor) :where(.viviare-section8-heading-copy) .elementor-widget-text-editor{margin-top:4px;color:var(--vx-muted);font-size:13px;}:where(.elementor) :where(.viviare-section8-heading) .elementor-button{min-height:32px;padding:0;border:0;background:transparent;color:var(--vx-vivi);font-size:12.5px;font-weight:800;box-shadow:none;}

/* Search */
.viviare-search-pattern{display:grid!important;align-items:stretch!important;width:100%!important;padding:6px!important;border:1px solid var(--vx-line)!important;border-radius:13px!important;background:#fff!important;box-shadow:var(--vx-shadow-lg)!important}.viviare-search-pattern--universal{grid-template-columns:1.25fr .8fr 1.05fr .55fr 148px!important}.viviare-search-pattern--stay{grid-template-columns:1.35fr 1.1fr .65fr 175px!important}.viviare-search-pattern--experience{grid-template-columns:1.15fr 1.05fr .85fr .65fr 200px!important}.viviare-search-pattern--territory{grid-template-columns:minmax(0,1fr) 110px!important;max-width:560px!important;box-shadow:var(--vx-shadow)!important}.viviare-search-pattern .viviare-field{position:relative!important;display:grid!important;grid-template-columns:25px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-width:0!important;padding:9px 13px!important}.viviare-search-pattern .viviare-field:not(:first-child):after{content:"";position:absolute;top:9px;bottom:9px;left:0;width:1px;background:#e4eaf0}.viviare-search-pattern .viviare-field__icon{width:19px;height:19px;color:var(--vx-stay)}.viviare-search-pattern .viviare-field__content{min-width:0}.viviare-search-pattern .viviare-field label{display:block!important;margin:0 0 1px!important;color:var(--vx-stay)!important;font-size:12px!important;font-weight:800!important;white-space:nowrap}.viviare-search-pattern .viviare-field input,.viviare-search-pattern .viviare-field select{width:100%!important;min-height:30px!important;padding:0!important;border:0!important;background:transparent!important;color:#4a596c!important;font-size:13px!important;outline:0!important;box-shadow:none!important}.viviare-search-pattern .viviare-field__split{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.viviare-search-pattern__submit{min-width:0!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:9px!important;background:var(--vx-vivi)!important;color:#fff!important;font-size:13px!important;font-weight:850!important;letter-spacing:.01em!important;cursor:pointer!important}.viviare-search-pattern--stay .viviare-search-pattern__submit{background:var(--vx-stay)!important}.viviare-search-pattern--experience .viviare-search-pattern__submit{background:var(--vx-vivi)!important}.viviare-search-pattern--territory .viviare-search-pattern__submit{background:var(--vx-scopri)!important;color:#fff!important}

/* HOME */
:where(.elementor) :where(.viviare-home8-hero){position:relative;width:100%;max-width:none;min-height:310px;margin:0;padding:35px max(48px,calc((100% - var(--vx-max))/2)) 30px;overflow:visible;border-radius:0;background-position:right center;background-size:cover;justify-content:center;isolation:isolate;}:where(.elementor) :where(.viviare-home8-hero):before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#fff 0%,rgb(255 255 255 / 98%) 25%,rgb(255 255 255 / 78%) 48%,rgb(255 255 255 / 18%) 72%,transparent 100%);}:where(.elementor) :where(.viviare-home8-hero)>.e-con-inner,:where(.elementor) :where(.viviare-home8-hero)>.elementor-element{position:relative;z-index:1;width:100%;max-width:var(--vx-max);margin-inline:auto;}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1{max-width:650px;margin:0;color:var(--vx-stay);font-size:clamp(54px,5vw,74px);line-height:.94;letter-spacing:-.052em;font-weight:780;}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{max-width:430px;margin-top:10px;color:var(--vx-stay);font-size:18px;line-height:1.35;}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search{width:min(1020px,100%);margin:12px auto -56px;}
:where(.elementor) :where(.viviare-home8-macros){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:68px;padding-bottom:10px;}:where(.elementor) :where(.viviare-home8-macro-card){position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto auto auto;gap:2px 13px;align-items:center;min-height:88px;padding:14px 18px;border:1px solid var(--vx-line);border-radius:11px;background:#fff;}:where(.elementor) :where(.viviare-home8-macro-card):before{grid-row:1/4;content:"";display:block;width:42px;height:42px;border-radius:50%;background:#e7f4f7 center/24px no-repeat;}:where(.elementor) :where(.viviare-home8-macro-card--stay){border-top:2px solid var(--vx-stay);}:where(.elementor) :where(.viviare-home8-macro-card--experience){border-top:2px solid var(--vx-vivi);}:where(.elementor) :where(.viviare-home8-macro-card--territory){border-top:2px solid var(--vx-scopri);}:where(.elementor) :where(.viviare-home8-macro-card--stay):before{background-color:#e8f5f7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.8'%3E%3Cpath d='M4 13V7h6a3 3 0 0 1 3 3v3M4 10H2v9M22 19v-5a1 1 0 0 0-1-1H4v6M2 17h20'/%3E%3C/svg%3E");}:where(.elementor) :where(.viviare-home8-macro-card--experience):before{background-color:#e5f8f6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.8'%3E%3Cpath d='m12 2 1.5 5.5L19 9l-5.5 1.5L12 16l-1.5-5.5L5 9l5.5-1.5L12 2Z'/%3E%3C/svg%3E");}:where(.elementor) :where(.viviare-home8-macro-card--territory):before{background-color:#fff4df;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a86413' stroke-width='1.8'%3E%3Cpath d='M12 21s6-5.3 6-11a6 6 0 1 0-12 0c0 5.7 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E");}:where(.elementor) :where(.viviare-home8-macro-card) h3{margin:0;font-size:18px;line-height:1.05;}:where(.elementor) :where(.viviare-home8-macro-card) .elementor-widget-text-editor{grid-column:2;margin:0;color:var(--vx-muted);font-size:13px;line-height:1.3;}:where(.elementor) :where(.viviare-home8-macro-card) .elementor-widget-button{grid-column:2;}:where(.elementor) :where(.viviare-home8-macro-card) .elementor-button{min-height:22px;padding:0;border:0;background:transparent;color:var(--vx-vivi);font-size:12.5px;font-weight:800;box-shadow:none;}
:where(.elementor) :where(.viviare-home8-reputation){display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px;padding-block:8px;}:where(.elementor) :where(.viviare-home8-reputation-lead){position:relative;padding:18px 20px;border:1px solid var(--vx-line);border-radius:12px;background:#fff;}:where(.elementor) :where(.viviare-home8-reputation-lead):before{content:"G";position:absolute;left:18px;top:20px;color:#4285f4;font-size:34px;font-weight:850;}:where(.elementor) :where(.viviare-home8-reputation-lead) h3{margin:0 0 4px 48px;font-size:17px;}:where(.elementor) :where(.viviare-home8-reputation-lead) .elementor-widget-text-editor{margin-left:48px;color:var(--vx-muted);font-size:13px;}:where(.elementor) :where(.viviare-home8-reputation-lead) strong{display:block;margin:7px 0 0;color:var(--vx-stay);font-size:31px;line-height:1;}.viviare-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.viviare-review-card{position:relative;min-height:128px;padding:15px 16px;border:1px solid var(--vx-line);border-radius:12px;background:#fff}.viviare-review-card__source{position:absolute;left:16px;top:13px;color:#4285f4;font-size:17px;font-weight:850}.viviare-review-card__rating{display:flex;align-items:center;gap:7px;margin:0 0 4px 24px;color:var(--vx-scopri);font-size:12px;letter-spacing:.06em}.viviare-review-card__rating b{color:var(--vx-stay);font-weight:800;letter-spacing:0}.viviare-review-card h3{margin:0 0 4px!important;font-size:14px!important;letter-spacing:-.015em!important}.viviare-review-card>p{margin:0;color:#43546a;font-size:12.5px;line-height:1.38}.viviare-review-card footer{display:grid;grid-template-columns:28px auto 1fr;align-items:center;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid #eef2f4;font-size:11.5px}.viviare-review-card__avatar{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#e8f2f5;color:var(--vx-stay);font-weight:850}.viviare-review-card footer strong{color:var(--vx-stay)}.viviare-review-card footer>span:last-child{justify-self:end;color:var(--vx-muted);text-align:right}
:where(.elementor) :where(.viviare-home8-featured){padding-top:12px;padding-bottom:14px;}.viviare-entity-grid{display:grid;gap:14px}.viviare-entity-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--vx-line);border-radius:12px;background:#fff}.viviare-entity-card__media{display:block;overflow:hidden;background:#eaf0f2}.viviare-entity-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s}.viviare-entity-card:hover .viviare-entity-card__media img{transform:scale(1.018)}.viviare-entity-card__body{display:flex;min-height:0;flex:1;flex-direction:column;padding:13px}.viviare-entity-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.viviare-entity-card__type{color:var(--vx-vivi);font-size:11.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.viviare-entity-card--experience .viviare-entity-card__type{color:var(--vx-vivi)}.viviare-entity-card--place .viviare-entity-card__type{color:var(--vx-scopri-dark)}.viviare-entity-card__rating{color:#b66d00;font-size:12px;font-weight:700}.viviare-entity-card__rating small{color:var(--vx-muted)}.viviare-entity-card__destination{margin:6px 0 0;color:var(--vx-muted);font-size:12px}.viviare-entity-card h3{margin:3px 0 6px!important;font-size:18px!important;line-height:1.13!important}.viviare-entity-card h3 a{color:var(--vx-stay)}.viviare-entity-card__summary{margin:0;color:var(--vx-muted);font-size:12.5px;line-height:1.4}.viviare-entity-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid #edf1f3}.viviare-entity-card__price{display:flex;align-items:baseline;gap:3px}.viviare-entity-card__price small{color:var(--vx-muted);font-size:11.5px}.viviare-entity-card__price strong{color:var(--vx-stay);font-size:18px}.viviare-entity-card__price em{color:var(--vx-muted);font-size:11.5px;font-style:normal}.viviare-entity-card__cta{display:inline-flex;align-items:center;gap:4px;color:var(--vx-stay);font-size:11.5px;font-weight:800}.viviare-entity-card__cta svg{width:14px;height:14px}.viviare-entity-card__favorite{position:absolute;z-index:5;right:10px;top:10px;display:grid;width:34px;height:34px;place-items:center;padding:0;border:1px solid rgb(255 255 255 / 70%);border-radius:50%;background:rgb(255 255 255 / 91%);color:var(--vx-stay);cursor:pointer}.viviare-entity-card__favorite svg{width:18px;height:18px}.viviare-entity-grid--feature{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.viviare-entity-grid--feature .viviare-entity-card{min-height:176px;border:0;border-radius:11px;background:#123}.viviare-entity-grid--feature .viviare-entity-card__media{position:absolute;inset:0;height:100%}.viviare-entity-grid--feature .viviare-entity-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(4 33 70 / 86%),rgb(4 33 70 / 22%) 72%)}.viviare-entity-grid--feature .viviare-entity-card__body{position:relative;z-index:2;display:flex;min-height:176px;justify-content:flex-end;padding:16px;color:#fff}.viviare-entity-grid--feature .viviare-entity-card__meta{justify-content:flex-start}.viviare-entity-grid--feature .viviare-entity-card__type{padding:3px 7px;border-radius:4px;background:#fff;color:var(--vx-stay)!important;font-size:11.5px}.viviare-entity-grid--feature .viviare-entity-card__rating{position:absolute;left:16px;bottom:16px;color:#ffd06b}.viviare-entity-grid--feature .viviare-entity-card__destination{display:none}.viviare-entity-grid--feature .viviare-entity-card h3,.viviare-entity-grid--feature .viviare-entity-card h3 a{max-width:430px;margin:6px 0 2px!important;color:#fff;font-size:20px!important}.viviare-entity-grid--feature .viviare-entity-card__summary{max-width:410px;color:rgb(255 255 255 / 92%);font-size:13px}.viviare-entity-grid--feature .viviare-entity-card__footer{border:0;color:#fff}.viviare-entity-grid--feature .viviare-entity-card__price *,.viviare-entity-grid--feature .viviare-entity-card__cta{color:#fff}.viviare-entity-grid--feature .viviare-entity-card__favorite{right:12px;top:12px}.viviare-entity-grid--compact{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.viviare-entity-grid--compact .viviare-entity-card__media{aspect-ratio:1.45/1}.viviare-entity-grid--compact .viviare-entity-card__body{padding:10px}.viviare-entity-grid--compact .viviare-entity-card h3{font-size:14px!important}.viviare-entity-grid--compact .viviare-entity-card__summary{display:none}.viviare-entity-grid--compact .viviare-entity-card__footer{padding-top:7px}.viviare-entity-grid--destination{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.viviare-entity-grid--destination .viviare-entity-card{min-height:142px;border:0}.viviare-entity-grid--destination .viviare-entity-card__media{position:absolute;inset:0;height:100%}.viviare-entity-grid--destination .viviare-entity-card__media:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgb(2 26 55 / 86%))}.viviare-entity-grid--destination .viviare-entity-card__body{position:relative;z-index:2;min-height:142px;justify-content:flex-end;padding:12px}.viviare-entity-grid--destination .viviare-entity-card__meta,.viviare-entity-grid--destination .viviare-entity-card__summary,.viviare-entity-grid--destination .viviare-entity-card__footer,.viviare-entity-grid--destination .viviare-entity-card__favorite{display:none}.viviare-entity-grid--destination .viviare-entity-card__destination{color:rgb(255 255 255 / 88%)}.viviare-entity-grid--destination .viviare-entity-card h3,.viviare-entity-grid--destination .viviare-entity-card h3 a{margin:1px 0 0!important;color:#fff;font-size:16px!important;text-shadow:0 1px 5px rgb(0 0 0 / 35%)}.viviare-entity-grid--collection{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.viviare-entity-grid--collection .viviare-entity-card{min-height:112px}.viviare-entity-grid--collection .viviare-entity-card__media{height:70px}.viviare-entity-grid--collection .viviare-entity-card__body{padding:9px 12px}.viviare-entity-grid--collection .viviare-entity-card__meta,.viviare-entity-grid--collection .viviare-entity-card__destination,.viviare-entity-grid--collection .viviare-entity-card__summary,.viviare-entity-grid--collection .viviare-entity-card__footer{display:none}.viviare-entity-grid--collection .viviare-entity-card h3{margin:0!important;font-size:14px!important}.viviare-entity-grid--territory_mosaic{display:grid!important;grid-template-columns:1.15fr 1.15fr .8fr .8fr!important;grid-template-rows:112px 112px!important;gap:10px!important}.viviare-entity-grid--territory_mosaic .viviare-entity-card{min-height:0;border:0}.viviare-entity-grid--territory_mosaic .viviare-entity-card:nth-child(1){grid-row:1/3}.viviare-entity-grid--territory_mosaic .viviare-entity-card:nth-child(2){grid-row:1/3}.viviare-entity-grid--territory_mosaic .viviare-entity-card:nth-child(3){grid-column:3/5}.viviare-entity-grid--territory_mosaic .viviare-entity-card__media{position:absolute;inset:0;height:100%}.viviare-entity-grid--territory_mosaic .viviare-entity-card__media:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgb(3 25 52 / 84%))}.viviare-entity-grid--territory_mosaic .viviare-entity-card__body{position:relative;z-index:2;min-height:100%;justify-content:flex-end;padding:13px}.viviare-entity-grid--territory_mosaic .viviare-entity-card__meta,.viviare-entity-grid--territory_mosaic .viviare-entity-card__destination,.viviare-entity-grid--territory_mosaic .viviare-entity-card__summary,.viviare-entity-grid--territory_mosaic .viviare-entity-card__footer,.viviare-entity-grid--territory_mosaic .viviare-entity-card__favorite{display:none}.viviare-entity-grid--territory_mosaic .viviare-entity-card h3,.viviare-entity-grid--territory_mosaic .viviare-entity-card h3 a{margin:0!important;color:#fff;font-size:16px!important}
:where(.elementor) :where(.viviare-home8-value){display:grid;grid-template-columns:.85fr 1.15fr;gap:0;margin-block:0 10px;border:1px solid var(--vx-line);border-radius:11px;background:#fff;}:where(.elementor) :where(.viviare-home8-value)>.elementor-element{padding:11px 15px;}.viviare-platform-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:100%}.viviare-platform-stat{display:grid;place-items:center;padding:7px 10px;border-right:1px solid var(--vx-line);text-align:center}.viviare-platform-stat:last-child{border-right:0}.viviare-platform-stat strong{color:var(--vx-vivi);font-size:27px;line-height:1}.viviare-platform-stat span{margin-top:4px;color:var(--vx-stay);font-size:11.5px;font-weight:750}:where(.elementor) :where(.viviare-home8-benefits){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-home8-benefit){position:relative;padding:10px 11px 10px 44px;}:where(.elementor) :where(.viviare-home8-benefit):before{content:"✓";position:absolute;left:12px;top:10px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e7f5f4;color:var(--vx-vivi);font-size:12px;font-weight:900;}:where(.elementor) :where(.viviare-home8-benefit) h3{margin:0 0 3px;font-size:12px;}:where(.elementor) :where(.viviare-home8-benefit) .elementor-widget-text-editor{color:var(--vx-muted);font-size:11.5px;line-height:1.35;}:where(.elementor) :where(.viviare-home8-utility){display:grid;grid-template-columns:1fr 1.15fr 1fr;margin-block:0 16px;border:1px solid var(--vx-line);border-radius:11px;background:#fff;}:where(.elementor) :where(.viviare-home8-utility-card){position:relative;min-height:78px;padding:13px 18px 12px 54px;border-right:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-home8-utility-card):last-child{border-right:0;}:where(.elementor) :where(.viviare-home8-utility-card):before{content:"";position:absolute;left:16px;top:16px;width:28px;height:28px;border-radius:50%;background:#eef7f8;}:where(.elementor) :where(.viviare-home8-utility-card) h3{margin:0 0 2px;font-size:12.5px;}:where(.elementor) :where(.viviare-home8-utility-card) .elementor-widget-text-editor{color:var(--vx-muted);font-size:11.5px;}:where(.elementor) :where(.viviare-home8-utility-card) .elementor-button{min-height:18px;padding:0;border:0;background:transparent;color:var(--vx-vivi);font-size:11.5px;font-weight:800;}

/* Macroarea landing pages */
.viviare-category-hero{position:relative;display:flex;min-height:300px;align-items:center;overflow:hidden;background-position:center;background-size:cover;color:#fff;isolation:isolate}.viviare-category-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(255 255 255 / 96%) 0%,rgb(255 255 255 / 84%) 32%,rgb(255 255 255 / 15%) 62%,transparent 100%)}.viviare-category-hero>div{width:min(var(--vx-max),calc(100% - 64px));margin-inline:auto}.viviare-category-hero h1{max-width:620px;margin:0;color:var(--vx-stay);font-size:clamp(54px,5vw,72px);line-height:.96;letter-spacing:-.05em}.viviare-category-hero p:not(.viviare-widget-eyebrow){max-width:520px;margin:8px 0 0;color:var(--vx-stay);font-size:18px;line-height:1.35}.viviare-category-hero--experience:before{background:linear-gradient(90deg,rgb(255 255 255 / 95%),rgb(255 255 255 / 68%) 42%,transparent 74%)}.viviare-category-hero--experience .viviare-widget-eyebrow{color:var(--vx-vivi)}.viviare-category-hero--territory{min-height:300px}.viviare-category-hero--territory:before{background:linear-gradient(90deg,rgb(8 37 70 / 78%),rgb(8 37 70 / 28%) 60%,transparent)}.viviare-category-hero--territory h1,.viviare-category-hero--territory p:not(.viviare-widget-eyebrow){color:#fff}.viviare-category-hero--territory .viviare-widget-eyebrow{color:#ffd068}:where(.elementor) :where(.viviare-category8-search){position:relative;z-index:5;margin-top:-42px;padding-bottom:8px;}:where(.elementor) :where(.viviare-category8-search) .viviare-search-pattern{width:min(1120px,100%);margin-inline:auto;}:where(.elementor) :where(.viviare-category8-chips-wrap),:where(.elementor) :where(.viviare-category8-section){padding-block:14px;}:where(.elementor) :where(.viviare-category8-chips-title) h2{margin:0 0 10px;font-size:17px;}:where(.elementor) :where(.viviare-category8-chips){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}:where(.elementor) :where(.viviare-category8-chips--experience){grid-template-columns:repeat(7,minmax(0,1fr));}:where(.elementor) :where(.viviare-category8-chip){position:relative;min-height:78px;padding:13px 10px 11px 52px;border:1px solid var(--vx-line);border-radius:10px;background:#fff;}:where(.elementor) :where(.viviare-category8-chip):before{content:"";position:absolute;left:13px;top:16px;width:30px;height:30px;border-radius:8px;background:#f1f7fa center/20px no-repeat;}:where(.elementor) :where(.viviare-category8-chip):nth-child(1):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='M4 13V7h6a3 3 0 0 1 3 3v3M4 10H2v9M22 19v-5a1 1 0 0 0-1-1H4v6M2 17h20'/%3E%3C/svg%3E");}:where(.elementor) :where(.viviare-category8-chip) h3{margin:0 0 2px;font-size:13px;}:where(.elementor) :where(.viviare-category8-chip) .elementor-widget-text-editor{color:var(--vx-muted);font-size:11.5px;line-height:1.3;}:where(.elementor) :where(.viviare-category8-section) h2{font-size:20px;}:where(.elementor) :where(.viviare-category8-trust){display:grid;grid-template-columns:1.15fr .85fr;gap:12px;padding-block:14px;}:where(.elementor) :where(.viviare-category8-why),:where(.elementor) :where(.viviare-category8-review){padding:15px;border:1px solid var(--vx-line);border-radius:11px;background:#fff;}:where(.elementor) :where(.viviare-category8-why) h2,:where(.elementor) :where(.viviare-category8-review) h2{margin:0 0 8px;font-size:16px;}:where(.elementor) :where(.viviare-category8-benefits){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}:where(.elementor) :where(.viviare-category8-benefit){position:relative;padding:8px 10px 8px 38px;border-right:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-category8-benefit):last-child{border-right:0;}:where(.elementor) :where(.viviare-category8-benefit):before{content:"✓";position:absolute;left:10px;top:9px;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#e9f6f5;color:var(--vx-vivi);font-size:11px;}:where(.elementor) :where(.viviare-category8-benefit) h3{margin:0 0 2px;font-size:11.5px;}:where(.elementor) :where(.viviare-category8-benefit) .elementor-widget-text-editor{color:var(--vx-muted);font-size:11px;}:where(.elementor) :where(.viviare-category8-review) .viviare-review-grid{grid-template-columns:1fr;}:where(.elementor) :where(.viviare-category8-review) .viviare-review-card{min-height:110px;}:where(.elementor) :where(.viviare-category8-newsletter){display:grid;grid-template-columns:1.25fr 1fr auto;align-items:center;gap:12px;margin:4px auto 16px;padding:13px 18px;border-radius:10px;background:var(--vx-soft-blue);}:where(.elementor) :where(.viviare-category8-newsletter) h3{margin:0;font-size:14px;}:where(.elementor) :where(.viviare-category8-newsletter) .elementor-widget-text-editor{color:var(--vx-muted);font-size:12px;}:where(.elementor) :where(.viviare-category8-newsletter) .elementor-button{min-height:36px;padding:0 18px;border-radius:6px;background:var(--vx-stay);color:#fff;font-size:12px;}:where(.elementor) :where(.viviare-territory8-categories){display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) 110px 110px;align-items:stretch;gap:0;margin-top:-1px;padding:0;border:1px solid var(--vx-line);border-radius:10px;background:#fff;box-shadow:var(--vx-shadow);}:where(.elementor) :where(.viviare-territory8-category),:where(.elementor) :where(.viviare-territory8-filter){position:relative;min-height:58px;padding:10px 12px;border-right:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-territory8-category) h3{margin:0;color:var(--vx-stay);font-size:12px;}:where(.elementor) :where(.viviare-territory8-category) .elementor-widget-text-editor{color:var(--vx-vivi);font-size:18px;line-height:1;}:where(.elementor) :where(.viviare-territory8-category).is-active:after{content:"";position:absolute;right:12px;bottom:0;left:12px;height:2px;background:var(--vx-vivi);}:where(.elementor) :where(.viviare-territory8-filter){display:grid;place-items:center;border-right:0;}:where(.elementor) :where(.viviare-territory8-filter) .elementor-button{min-height:34px;padding:0 14px;border:1px solid var(--vx-line);border-radius:7px;background:#fff;color:var(--vx-stay);font-size:11.5px;}:where(.elementor) :where(.viviare-territory8-benefits){display:grid;grid-template-columns:repeat(4,1fr);margin-block:12px;padding:0;border:1px solid #f0dfbf;border-radius:10px;background:#fffaf0;}:where(.elementor) :where(.viviare-territory8-benefit){min-height:76px;padding:13px 18px;border-right:1px solid #eadcc4;}:where(.elementor) :where(.viviare-territory8-benefit):last-child{border-right:0;}:where(.elementor) :where(.viviare-territory8-benefit) h3{margin:0 0 4px;color:#9a6411;font-size:12px;}:where(.elementor) :where(.viviare-territory8-benefit) .elementor-widget-text-editor{color:var(--vx-muted);font-size:11.5px;}

/* Listing */
:where(.elementor) :where(.viviare-listing8-search){padding-top:18px;padding-bottom:10px;}:where(.elementor) :where(.viviare-listing8-title){padding-top:10px;padding-bottom:6px;}:where(.elementor) :where(.viviare-listing8-title) .elementor-widget-text-editor{color:var(--vx-muted);font-size:12px;}:where(.elementor) :where(.viviare-listing8-title) h1{margin:3px 0 0;font-size:32px;line-height:1;}:where(.elementor) :where(.viviare-listing8-results){padding-bottom:36px;}.viviare-search-results--stay-list{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;grid-template-areas:"active active" "sidebar main" "map map";gap:14px 20px!important}.viviare-listing-mobile-tools{display:none}.viviare-listing-active-filters{grid-area:active;display:flex;align-items:center;gap:8px;min-height:34px;overflow:auto;color:var(--vx-muted);font-size:12px}.viviare-listing-active-filter{display:inline-flex;min-height:32px;align-items:center;padding:0 10px;border:1px solid var(--vx-line);border-radius:8px;background:#fff;color:var(--vx-stay)}.viviare-listing-active-filters>a{color:var(--vx-vivi);font-weight:750}.viviare-listing-sidebar{grid-area:sidebar;align-self:start;padding:16px;border:1px solid var(--vx-line);border-radius:12px;background:#fff}.viviare-listing-sidebar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.viviare-listing-sidebar__head strong{font-size:16px}.viviare-listing-sidebar__head a{color:var(--vx-vivi);font-size:11px;font-weight:750}.viviare-listing-filter-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0;border-top:1px solid #edf1f3}.viviare-listing-filter-group>strong{grid-column:1/-1;color:var(--vx-stay);font-size:12px}.viviare-listing-filter-group label{color:var(--vx-muted);font-size:11px}.viviare-listing-filter-group input,.viviare-listing-filter-group select{width:100%;min-height:36px;margin-top:4px;padding:5px 8px;border:1px solid var(--vx-line);border-radius:7px;background:#fff;color:var(--vx-text);font-size:12px}.viviare-listing-filter-stack{grid-column:1/-1}.viviare-listing-sidebar .viviare-btn{min-height:38px;width:100%;border-radius:7px;background:var(--vx-stay);color:#fff;font-size:12px}.viviare-listing-main{grid-area:main;min-width:0}.viviare-listing-toolbar{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.viviare-listing-toolbar__count{color:var(--vx-muted);font-size:12px}.viviare-listing-toolbar label{display:flex;align-items:center;gap:7px;color:var(--vx-muted);font-size:11.5px}.viviare-listing-toolbar select{min-height:34px;padding:0 28px 0 9px;border:1px solid var(--vx-line);border-radius:7px;background:#fff;color:var(--vx-stay);font-size:12px}.viviare-search-results--stay-list .viviare-search-results__grid{display:grid;gap:9px}.viviare-search-results--stay-list .viviare-result-card{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr) 170px;min-height:170px;overflow:hidden;border:1px solid var(--vx-line);border-radius:11px;background:#fff}.viviare-result-card__media{display:block;overflow:hidden;background:#eaf0f2}.viviare-result-card__media img{width:100%;height:100%;object-fit:cover}.viviare-result-card__body{display:contents}.viviare-result-card__body>div:not(.viviare-result-card__footer),.viviare-result-card__body>span,.viviare-result-card__body>h3,.viviare-result-card__body>p{grid-column:2;margin-left:18px;margin-right:18px}.viviare-result-card__meta{display:flex;align-items:center;gap:10px;margin-top:16px}.viviare-result-card__type{padding:3px 7px;border-radius:999px;background:#f1f5f7;color:var(--vx-stay);font-size:11.5px;font-weight:800}.viviare-result-card__rating{margin-left:auto;color:#b76d00;font-size:12px}.viviare-result-card__destination{margin-top:3px;color:var(--vx-muted);font-size:12px}.viviare-result-card h3{margin-top:4px!important;margin-bottom:5px!important;font-size:20px!important;line-height:1.08!important}.viviare-result-card h3 a{color:var(--vx-stay)}.viviare-result-card p{margin-top:0!important;margin-bottom:12px!important;color:var(--vx-muted);font-size:12.5px;line-height:1.4}.viviare-result-card__footer{grid-column:3;grid-row:1;display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;padding:18px 14px;border-left:1px solid #edf1f3}.viviare-result-card__footer strong{display:grid;color:var(--vx-stay);font-size:24px;line-height:1}.viviare-result-card__footer strong small{font-size:11px;font-weight:500}.viviare-result-card__footer a{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--vx-vivi);border-radius:7px;color:var(--vx-vivi-dark);font-size:11px;font-weight:800;text-align:center}.viviare-search-results--stay-list .viviare-entity-card__favorite{right:auto;left:258px;top:10px}.viviare-pagination{display:flex;justify-content:center;gap:5px;margin-top:14px}.viviare-pagination a{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--vx-line);border-radius:7px;color:var(--vx-stay);font-size:12px}.viviare-pagination a.is-current{border-color:var(--vx-vivi);background:var(--vx-vivi);color:#fff}.viviare-listing-mobile-map{display:none;grid-area:map}.viviare-listing-mobile-map .viviare-search-map__canvas{height:420px;border-radius:12px}

/* Detail */
:where(.elementor) :where(.viviare-single8-head){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;padding-top:28px;padding-bottom:12px;}.viviare-entity-context__breadcrumb{margin-bottom:10px;color:var(--vx-muted);font-size:12px}.viviare-entity-context h1{margin:0;color:var(--vx-stay);font-size:clamp(38px,4vw,52px);line-height:1;letter-spacing:-.045em}.viviare-entity-context__meta{display:flex;align-items:center;gap:10px;margin-top:8px;color:var(--vx-muted);font-size:13px}.viviare-entity-context__rating{color:var(--vx-stay);font-weight:700}.viviare-entity-context__summary{max-width:800px;margin-top:10px;color:var(--vx-muted);font-size:14px}:where(.elementor) :where(.viviare-single8-actions){display:flex;align-items:center;gap:9px;}.viviare-favorite-button,:where(.elementor) :where(.viviare-single8-share) .elementor-button{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:0 13px;border:0;border-radius:7px;background:#fff;color:var(--vx-stay);font-size:12px;font-weight:750;}.viviare-entity-gallery{position:relative;display:grid;grid-template-columns:2fr .78fr .78fr;grid-template-rows:1fr 1fr;gap:7px;min-height:410px;overflow:hidden;border-radius:14px;background:#edf1f3}.viviare-entity-gallery__item{display:block;overflow:hidden}.viviare-entity-gallery__item:first-child{grid-row:1/3}.viviare-entity-gallery__item img{width:100%;height:100%;object-fit:cover}.viviare-entity-gallery__count{position:absolute;left:14px;bottom:14px;z-index:3;padding:7px 10px;border-radius:6px;background:rgb(0 0 0 / 72%);color:#fff;font-size:11px;font-weight:700}:where(.elementor) :where(.viviare-single8-overview){display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:30px;padding-top:14px;padding-bottom:30px;}:where(.elementor) :where(.viviare-single8-content){min-width:0;}:where(.elementor) :where(.viviare-single8-tabs){display:flex;align-items:center;gap:30px;min-height:52px;margin-bottom:18px;border-bottom:1px solid var(--vx-line);overflow:auto;white-space:nowrap;}:where(.elementor) :where(.viviare-single8-tab){flex:0 0 auto;}:where(.elementor) :where(.viviare-single8-tab) .elementor-button{position:relative;min-height:51px;padding:0;border:0;background:transparent;color:var(--vx-muted);font-size:12px;box-shadow:none;}:where(.elementor) :where(.viviare-single8-tab):first-child .elementor-button{color:var(--vx-stay);font-weight:800;}:where(.elementor) :where(.viviare-single8-tab):first-child .elementor-button:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--vx-area,var(--vx-vivi));}.viviare-entity-description{scroll-margin-top:100px}.viviare-entity-description h2{margin:0 0 7px;color:var(--vx-stay);font-size:25px}.viviare-entity-description__copy{color:#495a6d;font-size:14px;line-height:1.62}.viviare-entity-highlights{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.viviare-entity-highlights>li{position:relative;padding:8px 10px 8px 30px;border:1px solid var(--vx-line);border-radius:7px;color:var(--vx-stay);font-size:11.5px;list-style:none}.viviare-entity-highlights>li:before{content:"✓";position:absolute;left:10px;color:var(--vx-vivi);font-weight:900}.viviare-entity-amenities{margin-top:18px;scroll-margin-top:100px}.viviare-entity-amenities h2,.viviare-entity-units h2{margin:0 0 10px;color:var(--vx-stay);font-size:20px}.viviare-entity-amenities__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 16px;margin:0;padding:0}.viviare-entity-amenities__grid li{display:flex;align-items:center;gap:8px;color:#43546a;font-size:12.5px;list-style:none}.viviare-entity-amenities__icon{color:var(--vx-stay)}.viviare-entity-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.viviare-entity-facts__item{padding:10px 12px;border:1px solid var(--vx-line);border-radius:8px;background:#f8fafb}.viviare-entity-facts dt{color:var(--vx-muted);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.viviare-entity-facts dd{margin:3px 0 0;color:var(--vx-stay);font-size:12.5px;font-weight:750}.viviare-entity-units{margin-top:18px;scroll-margin-top:100px}.viviare-entity-units__list{display:grid;gap:8px}.viviare-unit-card{display:grid;grid-template-columns:175px minmax(0,1fr);overflow:hidden;border:1px solid var(--vx-line);border-radius:9px;background:#fff}.viviare-unit-card__media{height:118px;overflow:hidden}.viviare-unit-card__media img{width:100%;height:100%;object-fit:cover}.viviare-unit-card__body{padding:12px}.viviare-unit-card__body h3{margin:0 0 5px!important;font-size:15px!important}.viviare-unit-card__body p,.viviare-unit-card__body small{color:var(--vx-muted);font-size:11.5px}:where(.elementor) :where(.viviare-single8-aside){display:grid;gap:10px;position:sticky;top:96px;}.viviare-price-from{padding:0 2px;color:var(--vx-muted)}.viviare-price-from__prefix{font-size:11px}.viviare-price-from__amount{color:var(--vx-stay);font-size:31px;font-weight:800}.viviare-price-from__suffix{font-size:11px}.viviare-booking-panel{padding:17px!important;border-radius:13px!important}.viviare-booking-panel__head h3{font-size:21px!important}.viviare-booking-panel__head p{font-size:12px!important}.viviare-booking-panel__rule-hint{margin:6px 0;padding:8px 10px;border-radius:7px;background:#fff8e7;color:#805b13;font-size:11.5px}.viviare-booking-fields{grid-template-columns:1fr 1fr!important;gap:8px!important}.viviare-booking-panel label span{font-size:11.5px!important}.viviare-booking-panel input,.viviare-booking-panel select{min-height:40px!important;font-size:13px!important}.viviare-booking-panel .viviare-btn{min-height:44px!important;border-radius:7px!important;background:var(--vx-area,var(--vx-vivi))!important}:where(.elementor) :where(.viviare-single8-usps){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:30px;padding:0;border:1px solid var(--vx-line);border-radius:10px;background:#fff;}:where(.elementor) :where(.viviare-single8-usp){position:relative;min-height:90px;padding:15px 15px 14px 52px;border-right:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-single8-usp):last-child{border-right:0;}:where(.elementor) :where(.viviare-single8-usp):before{content:"✓";position:absolute;left:15px;top:17px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#eaf7f6;color:var(--vx-vivi);font-size:12px;font-weight:900;}:where(.elementor) :where(.viviare-single8-usp) h3{margin:0 0 4px;font-size:13px;}:where(.elementor) :where(.viviare-single8-usp) .elementor-widget-text-editor{color:var(--vx-muted);font-size:11.5px;}:where(.elementor) :where(.viviare-single8-related){padding:30px 0;background:#f1f6f7;}:where(.elementor) :where(.viviare-single8-related) h2,:where(.elementor) :where(.viviare-single8-reviews) h2{margin:0 0 14px;font-size:26px;}:where(.elementor) :where(.viviare-single8-related) .viviare-entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));}:where(.elementor) :where(.viviare-single8-reviews){padding-top:28px;padding-bottom:42px;}:where(.elementor) :where(.viviare-single8-reviews) .viviare-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));}

/* Special pages, destinations and landing */
:where(.elementor) :where(.viviare-special-page-head){padding-top:58px;padding-bottom:20px;}:where(.elementor) :where(.viviare-special-page-head) h1{margin:0;font-size:46px;}:where(.elementor) :where(.viviare-special-page-head) .elementor-widget-text-editor{max-width:680px;color:var(--vx-muted);font-size:14px;}:where(.elementor) :where(.viviare-special-page-content){padding-bottom:52px;}.viviare-destination-index__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.viviare-destination-index-card{overflow:hidden;border:1px solid var(--vx-line);border-radius:12px;background:#fff}.viviare-destination-index-card__media{display:block;height:190px;overflow:hidden;background:#edf1f3}.viviare-destination-index-card__media img{width:100%;height:100%;object-fit:cover}.viviare-destination-index-card__body{padding:14px}.viviare-destination-index-card__body>span{color:var(--vx-dest);font-size:11.5px;font-weight:850;text-transform:uppercase}.viviare-destination-index-card h3{margin:4px 0!important;font-size:18px!important}.viviare-destination-index-card p{color:var(--vx-muted);font-size:12px}.viviare-destination-index-card__cta{color:var(--vx-dest);font-size:12px;font-weight:800}.viviare-favorites-page__grid,.viviare-favorites-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.viviare-favorites-page__status:empty{display:none}.viviare-destination-landing{display:grid;gap:32px}.viviare-destination-landing__hero{display:flex;min-height:260px;align-items:flex-end;padding:32px;border-radius:16px;background:linear-gradient(135deg,#0c3159,#175e78);color:#fff}.viviare-destination-landing__hero h1{margin:0;color:#fff;font-size:52px}.viviare-destination-landing__hero p{font-size:16px}.viviare-destination-landing__stats{display:flex;gap:10px}.viviare-destination-landing__stats span{padding:8px 10px;border-radius:7px;background:rgb(255 255 255 / 12%);font-size:12px}.viviare-destination-section-heading h2{margin:0;font-size:26px}.viviare-destination-children__chips{display:flex;gap:8px;overflow:auto}.viviare-destination-children__chips a{padding:8px 12px;border:1px solid var(--vx-line);border-radius:999px;background:#fff;color:var(--vx-stay);font-size:12px}.viviare-destination-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.viviare-destination-card{overflow:hidden;border:1px solid var(--vx-line);border-radius:11px;background:#fff}.viviare-destination-card__media{display:block;height:160px;overflow:hidden}.viviare-destination-card__media img{width:100%;height:100%;object-fit:cover}.viviare-destination-card__body{padding:12px}.viviare-destination-card__location{color:var(--vx-muted);font-size:11px}.viviare-destination-card h3{margin:3px 0!important;font-size:16px!important}.viviare-destination-card p{color:var(--vx-muted);font-size:11.5px}.viviare-destination-card__footer{display:flex;justify-content:space-between;color:var(--vx-muted);font-size:11.5px}

/* Elementor footer */
:where(.elementor) :where(.viviare-site-footer){padding:31px max(32px,calc((100vw - var(--vx-max))/2)) 17px;border-top:1px solid var(--vx-line);background:#fff;color:var(--vx-stay);}:where(.elementor) :where(.viviare-elementor-footer-grid){display:grid;grid-template-columns:1.45fr repeat(5,.72fr);gap:32px;}:where(.elementor) :where(.viviare-elementor-footer-brand) .elementor-widget-text-editor{max-width:300px;color:var(--vx-muted);font-size:12.5px;line-height:1.55;}:where(.elementor) :where(.viviare-elementor-footer-column) h3{margin:0 0 7px;color:var(--vx-stay);font-size:11.5px;letter-spacing:.055em;text-transform:uppercase;}:where(.elementor) :where(.viviare-footer-links){display:grid;gap:2px;}:where(.elementor) :where(.viviare-site-footer) .elementor-button{min-height:24px;padding:0;border:0;background:transparent;color:var(--vx-muted);font-size:12px;justify-content:flex-start;box-shadow:none;}:where(.elementor) :where(.viviare-site-footer) .elementor-button:hover{color:var(--vx-vivi);}:where(.elementor) :where(.viviare-elementor-footer-bottom){display:flex;justify-content:space-between;margin-top:18px;padding-top:10px;border-top:1px solid var(--vx-line);color:var(--vx-muted);font-size:11.5px;}

/* Mobile app grammar */
.viviare-mobile-bottom-nav{display:none}
@media (max-width:900px){
  .elementor{font-size:15px}:where(.elementor) :where(.viviare-mockup-shell),:where(.viviare-mockup-shell){width:min(100% - 24px,var(--vx-max));}:where(.elementor) :where(.viviare-mockup-section){padding-block:24px;}
  :where(.elementor) :where(.viviare-site-header){position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:999;display:grid;grid-template-columns:minmax(0,1fr) 44px;min-height:60px;width:100%;padding:5px 12px;border-bottom:1px solid var(--vx-line-2);}:where(.elementor) :where(.viviare-site-header)>.e-con-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:100%;align-items:center;}.viviare-site-brand--header .viviare-site-brand__logo{max-width:150px;max-height:40px}:where(.elementor) :where(.viviare-mobile-menu-toggle){display:block;grid-column:2;grid-row:1;}:where(.elementor) :where(.viviare-mobile-menu-toggle) .elementor-button,.viviare-mobile-menu-toggle__button{display:grid;width:42px;height:42px;place-items:center;padding:0;border:0;background:#fff;color:var(--vx-stay);font-size:0;}:where(.elementor) :where(.viviare-mobile-menu-toggle) .elementor-button:before,.viviare-mobile-menu-toggle__button:before{content:"☰";font-size:22px;}:where(.elementor) :where(.viviare-site-header).is-menu-open :where(.viviare-mobile-menu-toggle) .elementor-button:before,:where(.elementor) :where(.viviare-site-header).is-menu-open .viviare-mobile-menu-toggle__button:before{content:"×";font-size:27px;}:where(.elementor) :where(.viviare-header-nav){position:absolute;top:58px;right:0;left:0;display:none;padding:8px 12px 14px;border-top:1px solid var(--vx-line-2);background:#fff;box-shadow:var(--vx-shadow-lg);}:where(.elementor) :where(.viviare-site-header).is-menu-open :where(.viviare-header-nav){display:grid;grid-template-columns:1fr;}:where(.elementor) :where(.viviare-header-nav) .elementor-button{justify-content:flex-start;min-height:44px;padding:0 8px;font-size:14px;}:where(.elementor) :where(.viviare-elementor-partner-cta) .elementor-button{justify-content:center;margin-top:5px;}
  :where(.elementor) :where(.viviare-home8-hero){min-height:445px;padding:170px 12px 18px;background-position:center;}:where(.elementor) :where(.viviare-home8-hero):before{background:linear-gradient(180deg,transparent 0%,rgb(3 31 62 / 12%) 30%,rgb(3 31 62 / 82%) 68%,rgb(3 31 62 / 94%) 100%);}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1{max-width:330px;color:#fff;font-size:43px;line-height:.98;}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{max-width:310px;margin-top:8px;color:#fff;font-size:14px;}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search{margin:14px auto -32px;}.viviare-search-pattern{grid-template-columns:1fr!important;padding:6px!important;border-radius:11px!important;box-shadow:var(--vx-shadow-lg)!important}.viviare-search-pattern .viviare-field{grid-template-columns:23px 1fr!important;min-height:57px!important;padding:8px 10px!important;border-bottom:1px solid #e7edf1!important}.viviare-search-pattern .viviare-field:not(:first-child):after{display:none}.viviare-search-pattern .viviare-field label{font-size:11.5px!important}.viviare-search-pattern .viviare-field input,.viviare-search-pattern .viviare-field select{min-height:28px!important;font-size:13px!important}.viviare-search-pattern .viviare-field__split{grid-template-columns:1fr 1fr!important}.viviare-search-pattern__submit{min-height:48px!important;margin-top:5px!important;border-radius:8px!important;font-size:13px!important}.viviare-search-pattern--territory{grid-template-columns:1fr!important;max-width:none!important}
  :where(.elementor) :where(.viviare-home8-macros){display:flex;gap:8px;overflow-x:auto;padding-top:44px;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:none;}:where(.elementor) :where(.viviare-home8-macros)::-webkit-scrollbar{display:none;}:where(.elementor) :where(.viviare-home8-macro-card){flex:0 0 78vw;min-height:92px;scroll-snap-align:start;}:where(.elementor) :where(.viviare-home8-reputation){display:block;padding-block:7px;}:where(.elementor) :where(.viviare-home8-reputation-lead){display:none;}.viviare-review-grid{display:flex!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.viviare-review-grid::-webkit-scrollbar{display:none}.viviare-review-card{flex:0 0 84vw!important;min-height:132px!important;scroll-snap-align:start!important}:where(.elementor) :where(.viviare-home8-featured){padding-top:16px;}:where(.elementor) :where(.viviare-section8-heading){align-items:flex-start;}:where(.elementor) :where(.viviare-section8-heading) h2{font-size:23px;}:where(.elementor) :where(.viviare-section8-heading-copy) .elementor-widget-text-editor{font-size:12.5px;}.viviare-entity-grid--feature{display:flex!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.viviare-entity-grid--feature::-webkit-scrollbar{display:none}.viviare-entity-grid--feature .viviare-entity-card{flex:0 0 84vw!important;min-height:190px!important;scroll-snap-align:start!important}.viviare-entity-grid--feature .viviare-entity-card__body{min-height:190px!important}:where(.elementor) :where(.viviare-home8-value){grid-template-columns:1fr;}.viviare-platform-stats{grid-template-columns:1fr 1fr!important}.viviare-platform-stat{min-height:76px;border-right:0!important;border-bottom:1px solid var(--vx-line)}.viviare-platform-stat:nth-child(odd){border-right:1px solid var(--vx-line)!important}:where(.elementor) :where(.viviare-home8-benefits){grid-template-columns:1fr 1fr;border-left:0;}:where(.elementor) :where(.viviare-home8-benefit){min-height:78px;border-top:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-home8-benefit):nth-child(odd){border-right:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-home8-utility){grid-template-columns:1fr;}:where(.elementor) :where(.viviare-home8-utility-card){min-height:84px;border-right:0;border-bottom:1px solid var(--vx-line);}:where(.elementor) :where(.viviare-home8-utility-card):last-child{border-bottom:0;}
  .viviare-category-hero{min-height:330px;align-items:flex-end;padding-bottom:80px}.viviare-category-hero:before{background:linear-gradient(180deg,transparent 0%,rgb(2 31 62 / 15%) 35%,rgb(2 31 62 / 84%) 100%)}.viviare-category-hero>div{width:calc(100% - 28px)}.viviare-category-hero h1{max-width:320px;color:#fff;font-size:42px;line-height:.98}.viviare-category-hero p:not(.viviare-widget-eyebrow){max-width:310px;color:#fff;font-size:14px}.viviare-category-hero--stay{background-color:var(--vx-stay)}.viviare-category-hero--experience{background-color:var(--vx-vivi)}.viviare-category-hero--territory{background-color:#fff6e2}.viviare-category-hero--territory:before{background:linear-gradient(180deg,transparent 0%,rgb(255 246 226 / 36%) 45%,rgb(255 246 226 / 96%) 100%)}.viviare-category-hero--territory h1{color:var(--vx-scopri)}.viviare-category-hero--territory p:not(.viviare-widget-eyebrow){color:var(--vx-stay)}:where(.elementor) :where(.viviare-category8-search){margin-top:-62px;padding-bottom:8px;}:where(.elementor) :where(.viviare-category8-chips-wrap),:where(.elementor) :where(.viviare-category8-section){padding-block:12px;}:where(.elementor) :where(.viviare-category8-chips){display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}:where(.elementor) :where(.viviare-category8-chips)::-webkit-scrollbar{display:none;}:where(.elementor) :where(.viviare-category8-chip){flex:0 0 64vw;min-height:78px;scroll-snap-align:start;}.viviare-entity-grid--compact,.viviare-entity-grid--destination,.viviare-entity-grid--collection{display:flex!important;gap:9px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.viviare-entity-grid--compact::-webkit-scrollbar,.viviare-entity-grid--destination::-webkit-scrollbar,.viviare-entity-grid--collection::-webkit-scrollbar{display:none}.viviare-entity-grid--compact .viviare-entity-card{flex:0 0 64vw!important;scroll-snap-align:start!important}.viviare-entity-grid--destination .viviare-entity-card{flex:0 0 72vw!important;min-height:160px!important;scroll-snap-align:start!important}.viviare-entity-grid--collection .viviare-entity-card{flex:0 0 66vw!important;scroll-snap-align:start!important}:where(.elementor) :where(.viviare-category8-trust){grid-template-columns:1fr;}:where(.elementor) :where(.viviare-category8-benefits){grid-template-columns:1fr 1fr;}:where(.elementor) :where(.viviare-category8-newsletter){grid-template-columns:1fr;padding:16px;}:where(.elementor) :where(.viviare-territory8-categories){display:flex;gap:6px;overflow-x:auto;padding:7px;scroll-snap-type:x mandatory;scrollbar-width:none;}:where(.elementor) :where(.viviare-territory8-category),:where(.elementor) :where(.viviare-territory8-filter){flex:0 0 auto;min-width:118px;min-height:54px;border:0;border-radius:8px;background:#fff;scroll-snap-align:start;}.viviare-entity-grid--territory_mosaic{display:flex!important;gap:9px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.viviare-entity-grid--territory_mosaic .viviare-entity-card{flex:0 0 78vw!important;min-height:220px!important;scroll-snap-align:start!important}:where(.elementor) :where(.viviare-territory8-benefits){grid-template-columns:1fr 1fr;}:where(.elementor) :where(.viviare-territory8-benefit){border-bottom:1px solid #eadcc4;}
  :where(.elementor) :where(.viviare-listing8-search){padding-top:8px;}:where(.elementor) :where(.viviare-listing8-title) h1{font-size:29px;}.viviare-search-results--stay-list{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"tools" "active" "sidebar" "main" "map";gap:8px!important}.viviare-listing-mobile-tools{grid-area:tools;display:grid;grid-template-columns:1fr 1fr;gap:8px}.viviare-listing-filter-toggle,.viviare-listing-map-toggle{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--vx-line);border-radius:8px;background:#fff;color:var(--vx-stay);font-size:12.5px;font-weight:800}.viviare-listing-filter-toggle svg,.viviare-listing-map-toggle svg{width:17px;height:17px}.viviare-search-results--stay-list.is-mobile-filter-ready .viviare-listing-sidebar{display:none}.viviare-search-results--stay-list.is-mobile-filter-ready .viviare-listing-sidebar.is-open{display:block}.viviare-listing-sidebar{padding:13px}.viviare-listing-toolbar{margin:0}.viviare-search-results--stay-list .viviare-result-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:132px!important;border-radius:9px}.viviare-result-card__body>div:not(.viviare-result-card__footer),.viviare-result-card__body>span,.viviare-result-card__body>h3,.viviare-result-card__body>p{grid-column:2;margin-left:10px;margin-right:9px}.viviare-result-card__meta{margin-top:9px}.viviare-result-card__rating{display:none}.viviare-result-card h3{font-size:15px!important}.viviare-result-card p{display:none}.viviare-result-card__footer{grid-column:2;grid-row:auto;display:flex;align-items:flex-end;flex-direction:row;margin:0 9px 8px 10px;padding:7px 0 0;border-top:1px solid #edf1f3;border-left:0}.viviare-result-card__footer strong{font-size:17px}.viviare-result-card__footer a{min-height:28px;padding:0;border:0;color:var(--vx-vivi);font-size:11.5px}.viviare-search-results--stay-list .viviare-entity-card__favorite{left:80px;top:7px;width:28px;height:28px}.viviare-listing-mobile-map{display:none}.viviare-listing-mobile-map.is-open{display:block}.viviare-listing-mobile-map .viviare-search-map__canvas{height:58vh;min-height:380px}
  :where(.elementor) :where(.viviare-single8-gallery){width:100%;margin-top:0;}.viviare-entity-gallery{display:block;min-height:0;border-radius:0}.viviare-entity-gallery__item{display:none}.viviare-entity-gallery__item:first-child{display:block;height:265px}.viviare-entity-gallery__count{left:auto;right:10px;bottom:10px}:where(.elementor) :where(.viviare-single8-head){grid-template-columns:1fr;gap:8px;padding-top:16px;padding-bottom:8px;}.viviare-entity-context h1{font-size:31px;line-height:1.02}.viviare-entity-context__breadcrumb{font-size:11px}.viviare-entity-context__meta{font-size:12px}.viviare-entity-context__summary{font-size:13px}:where(.elementor) :where(.viviare-single8-actions){justify-content:flex-start;}:where(.elementor) :where(.viviare-single8-overview){grid-template-columns:1fr;gap:10px;padding-top:6px;padding-bottom:20px;}:where(.elementor) :where(.viviare-single8-aside){position:static;order:-1;}.viviare-price-from__amount{font-size:27px}.viviare-booking-panel{padding:13px!important;box-shadow:var(--vx-shadow)!important}.viviare-booking-fields{grid-template-columns:1fr 1fr!important}.viviare-booking-panel input,.viviare-booking-panel select{font-size:16px!important}:where(.elementor) :where(.viviare-single8-tabs){gap:20px;min-height:46px;margin-bottom:12px;}:where(.elementor) :where(.viviare-single8-tab) .elementor-button{min-height:45px;font-size:11.5px;}.viviare-entity-description h2{font-size:23px}.viviare-entity-description__copy{font-size:14px}.viviare-entity-highlights{grid-template-columns:1fr}.viviare-entity-amenities__grid{grid-template-columns:1fr 1fr}.viviare-entity-facts{grid-template-columns:1fr 1fr}.viviare-unit-card{grid-template-columns:100px minmax(0,1fr)}.viviare-unit-card__media{height:100%}:where(.elementor) :where(.viviare-single8-usps){display:flex;gap:8px;overflow-x:auto;padding:0 12px 8px;border:0;background:transparent;scroll-snap-type:x mandatory;scrollbar-width:none;}:where(.elementor) :where(.viviare-single8-usp){flex:0 0 76vw;min-height:82px;border:1px solid var(--vx-line);border-radius:9px;background:#fff;scroll-snap-align:start;}:where(.elementor) :where(.viviare-single8-related){padding:22px 0;}:where(.elementor) :where(.viviare-single8-related) .viviare-entity-grid,:where(.elementor) :where(.viviare-single8-reviews) .viviare-review-grid{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}:where(.elementor) :where(.viviare-single8-related) .viviare-entity-card{flex:0 0 74vw;scroll-snap-align:start;}:where(.elementor) :where(.viviare-single8-reviews) .viviare-review-card{flex:0 0 82vw;}
  :where(.elementor) :where(.viviare-special-page-head){padding-top:28px;}:where(.elementor) :where(.viviare-special-page-head) h1{font-size:36px;}.viviare-destination-index__grid,.viviare-favorites-page__grid,.viviare-favorites-grid{grid-template-columns:1fr 1fr}.viviare-destination-index-card__media{height:145px}.viviare-destination-mini-grid{display:flex;overflow-x:auto;gap:9px}.viviare-destination-card{flex:0 0 74vw}.viviare-destination-landing__hero{min-height:230px;padding:20px}.viviare-destination-landing__hero h1{font-size:38px}.viviare-destination-landing__stats{flex-wrap:wrap}
  :where(.elementor) :where(.viviare-site-footer){display:none;}.viviare-mobile-bottom-nav{position:fixed;z-index:998;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:64px;padding:5px 7px calc(5px + env(safe-area-inset-bottom));border-top:1px solid #e1e7eb;background:rgb(255 255 255 / 97%);box-shadow:0 -6px 20px rgb(13 49 88 / 7%);backdrop-filter:blur(10px)}.viviare-mobile-bottom-nav a{display:grid;place-items:center;align-content:center;gap:2px;color:#738196;font-size:11px;font-weight:700;text-decoration:none}.viviare-mobile-bottom-nav svg{width:20px;height:20px}.viviare-mobile-bottom-nav a.is-active{color:var(--vx-area,var(--vx-vivi))}
}
@media (max-width:430px){:where(.elementor) :where(.viviare-home8-hero){min-height:470px;}:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1{font-size:40px;}.viviare-category-hero h1{font-size:39px}.viviare-destination-index__grid,.viviare-favorites-page__grid,.viviare-favorites-grid{grid-template-columns:1fr}.viviare-booking-fields{grid-template-columns:1fr!important}}

/* RC19 precision pass: iconography + minimum live readability */
:where(.elementor) :where(.viviare-elementor-favorite-link) .elementor-button:before,
:where(.elementor) :where(.viviare-elementor-account-link) .elementor-button:before,
:where(.elementor) :where(.viviare-home8-benefit):before,
:where(.elementor) :where(.viviare-category8-benefit):before{content:"";display:inline-block;background-color:currentColor;background-repeat:no-repeat;background-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;}
:where(.elementor) :where(.viviare-elementor-favorite-link) .elementor-button:before{width:20px;height:20px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%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.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%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.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-elementor-account-link) .elementor-button:before{width:19px;height:19px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0M12 13a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0M12 13a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-home8-benefit):before,:where(.elementor) :where(.viviare-category8-benefit):before{background-color:var(--vx-vivi);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");border:6px solid #e7f5f4;border-radius:50%;}
:where(.elementor) :where(.viviare-home8-utility-card):before{background-color:#eef7f8;background-repeat:no-repeat;background-position:center;background-size:17px;}
:where(.elementor) :where(.viviare-home8-utility-card):nth-child(1):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.8'%3E%3Cpath d='M8 12 5 9a3 3 0 0 1 4-4l3 3m4 4 3 3a3 3 0 0 1-4 4l-3-3m-4 0 8-8'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-home8-utility-card):nth-child(2):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2a900' stroke-width='1.8'%3E%3Cpath d='M4 5h16v14H4zM4 7l8 6 8-6'/%3E%3C/svg%3E");background-color:#fff4df;}
:where(.elementor) :where(.viviare-home8-utility-card):nth-child(3):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.8'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M3 20c.6-4 2.6-6 6-6s5.4 2 6 6M15 15c3 0 5 1.7 5.5 5'/%3E%3C/svg%3E");}
.elementor{font-size:16px}:where(.elementor) :where(.viviare-home8-benefit) h3,:where(.elementor) :where(.viviare-category8-benefit) h3{font-size:12.5px;}:where(.elementor) :where(.viviare-home8-benefit) .elementor-widget-text-editor,:where(.elementor) :where(.viviare-category8-benefit) .elementor-widget-text-editor,:where(.elementor) :where(.viviare-territory8-benefit) .elementor-widget-text-editor{font-size:12px;}:where(.elementor) :where(.viviare-home8-utility-card) h3{font-size:13px;}:where(.elementor) :where(.viviare-home8-utility-card) .elementor-widget-text-editor{font-size:12px;}.viviare-listing-sidebar__head a,.viviare-listing-filter-group label{font-size:12px}.viviare-listing-toolbar label{font-size:12px}.viviare-result-card__footer a{font-size:12px}.viviare-mobile-bottom-nav a{font-size:11px}

/* Structural adapters: Elementor may wrap full-width containers in .e-con-inner. */
:where(.elementor) :where(.viviare-mockup-shell)>.e-con-inner,:where(.elementor) :where(.viviare-site-header)>.e-con-inner,:where(.elementor) :where(.viviare-site-footer)>.e-con-inner{width:100%;max-width:none;}
.viviare-entity-gallery--count-1{grid-template-columns:1fr;grid-template-rows:1fr}.viviare-entity-gallery--count-1 .viviare-entity-gallery__item:first-child{grid-row:auto}
.viviare-entity-gallery--count-2{grid-template-columns:1.7fr 1fr;grid-template-rows:1fr}.viviare-entity-gallery--count-2 .viviare-entity-gallery__item:first-child{grid-row:auto}
.viviare-entity-gallery--count-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.viviare-entity-gallery--count-3 .viviare-entity-gallery__item:first-child{grid-row:1/3}

/* Customer dashboard — approved account workspace */
:where(.elementor) :where(.viviare-customer8-page){padding-block:34px 54px;}.viviare-customer{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px;min-height:620px}.viviare-customer__nav{align-self:start;padding:12px;border:1px solid var(--vx-line);border-radius:14px;background:#fff;box-shadow:var(--vx-shadow)}.viviare-customer__nav>strong{display:block;padding:10px 12px;color:var(--vx-stay);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.viviare-customer__nav nav{display:grid;gap:3px}.viviare-customer__nav button{display:flex;min-height:44px;align-items:center;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--vx-stay);font-size:13px;font-weight:720;text-align:left;cursor:pointer}.viviare-customer__nav button:hover{background:#f4f8f9}.viviare-customer__nav button.is-active{background:#eaf7f6;color:var(--vx-vivi-dark)}.viviare-customer__content{min-width:0}.viviare-customer-welcome{margin-bottom:18px}.viviare-customer-welcome h1{margin:0;color:var(--vx-stay);font-size:42px;line-height:1}.viviare-customer-welcome>p:last-child{margin:7px 0 0;color:var(--vx-muted);font-size:15px}.viviare-customer-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.viviare-customer-next{display:flex;min-height:280px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:28px;border:1px solid var(--vx-line);border-radius:15px;background:linear-gradient(135deg,#f0f7f8,#fff);background-position:center;background-size:cover;color:var(--vx-stay);box-shadow:var(--vx-shadow);isolation:isolate}.viviare-customer-next[style]{color:#fff}.viviare-customer-next h2{max-width:540px;margin:9px 0 3px;color:inherit;font-size:30px;line-height:1.05}.viviare-customer-next p{margin:2px 0;color:inherit;font-size:14px}.viviare-customer-next .viviare-btn{margin-top:16px;background:var(--vx-vivi);color:#fff}.viviare-customer-bookings-panel,.viviare-customer-side-card{margin-top:16px;padding:18px;border:1px solid var(--vx-line);border-radius:13px;background:#fff}.viviare-customer-bookings-panel>h2,.viviare-customer-side-card>h2{margin:0 0 12px;color:var(--vx-stay);font-size:20px}.viviare-trip-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px 0;border-top:1px solid #edf1f3}.viviare-trip-card:first-of-type{border-top:0}.viviare-trip-card__media{width:100px;height:74px;overflow:hidden;border-radius:8px;background:#edf2f4}.viviare-trip-card__media img{width:100%;height:100%;object-fit:cover}.viviare-trip-card h3{margin:4px 0 2px!important;color:var(--vx-stay);font-size:15px!important}.viviare-trip-card p,.viviare-trip-card small{margin:0;color:var(--vx-muted);font-size:12px}.viviare-trip-card__actions{display:grid;justify-items:end;gap:6px}.viviare-trip-card__actions strong{color:var(--vx-stay);font-size:16px}.viviare-trip-card__actions .viviare-btn{min-height:30px;padding:0 10px;font-size:11.5px}.viviare-customer-side{min-width:0}.viviare-customer-side-card{margin-top:0}.viviare-favorite-card{display:grid;grid-template-columns:66px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #edf1f3;text-decoration:none}.viviare-favorite-card:first-of-type{border-top:0}.viviare-favorite-card img{width:66px;height:50px;object-fit:cover;border-radius:7px}.viviare-favorite-card strong{display:block;color:var(--vx-stay);font-size:12.5px}.viviare-favorite-card small{display:block;color:var(--vx-muted);font-size:11.5px}.viviare-customer-inspiration{min-height:188px;margin-top:12px;background:linear-gradient(145deg,#eef8f8,#fff9ea)}.viviare-customer-inspiration h2{font-size:21px}.viviare-customer-inspiration p{color:var(--vx-muted);font-size:12.5px}.viviare-customer-auth{max-width:620px;padding:24px;border:1px solid var(--vx-line);border-radius:14px;background:#fff}.viviare-customer-auth h2{margin-top:0;color:var(--vx-stay)}
@media (max-width:900px){:where(.elementor) :where(.viviare-customer8-page){padding-block:12px 80px;}.viviare-customer{grid-template-columns:1fr;gap:10px;min-height:0}.viviare-customer__nav{display:flex;overflow-x:auto;padding:5px;border-radius:10px;scroll-snap-type:x mandatory}.viviare-customer__nav>strong{display:none}.viviare-customer__nav nav{display:flex;gap:3px}.viviare-customer__nav button{flex:0 0 auto;min-height:38px;padding:0 11px;font-size:11.5px;scroll-snap-align:start}.viviare-customer-welcome h1{font-size:30px}.viviare-customer-dashboard-grid{grid-template-columns:1fr}.viviare-customer-next{min-height:230px;padding:20px}.viviare-customer-next h2{font-size:25px}.viviare-customer-side{display:grid;grid-template-columns:1fr;gap:10px}.viviare-customer-bookings-panel,.viviare-customer-side-card{margin-top:10px;padding:13px}.viviare-trip-card{grid-template-columns:78px minmax(0,1fr);gap:10px}.viviare-trip-card__media{width:78px;height:62px}.viviare-trip-card__actions{grid-column:2;display:flex;align-items:center;justify-content:space-between;justify-items:stretch}.viviare-favorite-card{grid-template-columns:58px minmax(0,1fr) 18px}.viviare-favorite-card img{width:58px;height:44px}}

/* ============================================================
 * RC23 HOME PIXEL RECOVERY
 * Fixes Elementor inner-wrapper geometry observed on production.
 * The live DOM is authoritative: rows/columns are applied to the
 * .e-con-inner that actually owns the child widgets.
 * ============================================================ */

/* deterministic Elementor flow: stop default flex distribution from creating dead space */
:where(.elementor) :where(.viviare-home8-hero)>.e-con-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:0;}
:where(.elementor) :where(.viviare-home8-featured)>.e-con-inner,
:where(.elementor) :where(.viviare-category8-section)>.e-con-inner,
:where(.elementor) :where(.viviare-category8-chips-wrap)>.e-con-inner,
:where(.elementor) :where(.viviare-special-page-content)>.e-con-inner,
:where(.elementor) :where(.viviare-single8-content)>.e-con-inner,
:where(.elementor) :where(.viviare-single8-related)>.e-con-inner,
:where(.elementor) :where(.viviare-single8-reviews)>.e-con-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;min-height:0;}
:where(.elementor) :where(.viviare-section8-heading)>.e-con-inner{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;width:100%;min-height:0;}
:where(.elementor) :where(.viviare-section8-heading-copy)>.e-con-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:0;}

/* Home macro cards: the pseudo icon and the actual widgets now share one grid */

:where(.elementor) :where(.viviare-home8-macro-card) .elementor-widget-heading{grid-column:2;grid-row:1;align-self:end;}
:where(.elementor) :where(.viviare-home8-macro-card) .elementor-widget-text-editor{grid-column:2;grid-row:2;align-self:start;}
:where(.elementor) :where(.viviare-home8-macro-card) .elementor-widget-button{grid-column:2;grid-row:3;align-self:start;}
:where(.elementor) :where(.viviare-home8-macro-card):before{grid-column:1;grid-row:1/4;align-self:center;}

/* Home/utility content must never be spread vertically by Elementor */
:where(.elementor) :where(.viviare-home8-utility-card)>.e-con-inner,
:where(.elementor) :where(.viviare-home8-reputation-lead)>.e-con-inner,
:where(.elementor) :where(.viviare-home8-benefit)>.e-con-inner,
:where(.elementor) :where(.viviare-category8-benefit)>.e-con-inner,
:where(.elementor) :where(.viviare-territory8-benefit)>.e-con-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;min-height:0;}

/* Category landing sections: compact, editorial rhythm matching approved mockups */
:where(.elementor) :where(.viviare-category8-section){padding-block:18px;}
:where(.elementor) :where(.viviare-category8-section)>.e-con-inner{gap:14px;}
:where(.elementor) :where(.viviare-category8-chips-wrap)>.e-con-inner{gap:9px;}
:where(.elementor) :where(.viviare-category8-chip)>.e-con-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:0;}
:where(.elementor) :where(.viviare-category8-section) .viviare-entity-grid{margin-top:0;}

/* Real iconography for all macroarea chips (no empty squares). */
:where(.elementor) :where(.viviare-category8-chip):before{background-color:#f1f7fa;background-repeat:no-repeat;background-position:center;background-size:20px;}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(1):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Cpath d='M2 15c3-3 5 3 8 0s5 3 8 0 4 0 4 0M3 10c3-3 5 3 8 0s5 3 8 0'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(2):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Cpath d='m3 20 6-10 4 6 2-3 6 7M9 10l2-4 3 5'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(3):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Cpath d='M3 9h18M5 9v9m4-9v9m6-9v9m4-9v9M3 18h18M6 6l6-3 6 3'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(4):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Cpath d='M8 3h8l-1 7a3 3 0 0 1-6 0L8 3Zm4 10v6m-4 2h8'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(5):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Ccircle cx='7' cy='7' r='3'/%3E%3Ccircle cx='17' cy='17' r='3'/%3E%3Cpath d='m9 9 6 6m-3-9 3 3-3 3M4 17h6l2-4'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(6):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Cpath d='M12 21s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 11c0 5.6-7 10-7 10Z'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips--experience) :where(.viviare-category8-chip):nth-child(7):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314a7a8' stroke-width='1.7'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M3 20c.5-4 2.3-6 5-6s4.5 2 5 6m2-5c2.7 0 4.5 1.7 5 5'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips):not(:where(.viviare-category8-chips--experience)) :where(.viviare-category8-chip):nth-child(1):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='M4 13V7h6a3 3 0 0 1 3 3v3M4 10H2v9M22 19v-5a1 1 0 0 0-1-1H4v6M2 17h20'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips):not(:where(.viviare-category8-chips--experience)) :where(.viviare-category8-chip):nth-child(2):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='M3 20V8h18v12M6 8V4h12v4M7 13h4v4H7m6-4h4v4h-4'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips):not(:where(.viviare-category8-chips--experience)) :where(.viviare-category8-chip):nth-child(3):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='m3 11 9-7 9 7v9H3v-9Zm5 9v-6h8v6'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips):not(:where(.viviare-category8-chips--experience)) :where(.viviare-category8-chip):nth-child(4):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='M5 21V4h14v17M9 8h2m2 0h2M9 12h2m2 0h2M9 16h2m2 0h2'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-category8-chips):not(:where(.viviare-category8-chips--experience)) :where(.viviare-category8-chip):nth-child(5):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='M12 21V9m0 0c-5 0-7-3-7-6 4 0 7 2 7 6Zm0 3c5 0 7-3 7-6-4 0-7 2-7 6Z'/%3E%3C/svg%3E");}
:where(.elementor) .vivia-category8-chip:nth-child(6):before,:where(.elementor) :where(.viviare-category8-chips):not(:where(.viviare-category8-chips--experience)) :where(.viviare-category8-chip):nth-child(6):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d3158' stroke-width='1.7'%3E%3Cpath d='M4 18h16M5 18l2-8h10l2 8M8 10V6m8 4V6M6 6h12'/%3E%3C/svg%3E");}

/* Territory categories: icon + label, no oversized generic 'Esplora' text. */
:where(.elementor) :where(.viviare-territory8-category){display:flex;align-items:center;gap:9px;padding:9px 12px 9px 42px;}
:where(.elementor) :where(.viviare-territory8-category)>.e-con-inner{display:flex;flex-direction:column;justify-content:center;gap:0;}
:where(.elementor) :where(.viviare-territory8-category):before{content:"";position:absolute;left:13px;top:50%;width:20px;height:20px;transform:translateY(-50%);background-color:var(--vx-vivi);background-repeat:no-repeat;background-position:center;background-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;}
:where(.elementor) :where(.viviare-territory8-category) .elementor-widget-text-editor{display:none;}
:where(.elementor) :where(.viviare-territory8-category) h3{font-size:13px;}
:where(.elementor) :where(.viviare-territory8-category):nth-child(1):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21V8l8-5 8 5v13M8 21v-7h8v7M7 9h2m6 0h2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21V8l8-5 8 5v13M8 21v-7h8v7M7 9h2m6 0h2'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-territory8-category):nth-child(2):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 15c3-3 5 3 8 0s5 3 8 0 4 0 4 0M3 10c3-3 5 3 8 0s5 3 8 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 15c3-3 5 3 8 0s5 3 8 0 4 0 4 0M3 10c3-3 5 3 8 0s5 3 8 0'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-territory8-category):nth-child(3):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 20 6-10 4 6 2-3 6 7M9 10l2-4 3 5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 20 6-10 4 6 2-3 6 7M9 10l2-4 3 5'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-territory8-category):nth-child(4):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h18M5 9v9m4-9v9m6-9v9m4-9v9M3 18h18M6 6l6-3 6 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h18M5 9v9m4-9v9m6-9v9m4-9v9M3 18h18M6 6l6-3 6 3'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-territory8-category):nth-child(5):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3v8m4-8v8M5 7h8m4-4v18m0-8c4 0 4 6 0 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3v8m4-8v8M5 7h8m4-4v18m0-8c4 0 4 6 0 6'/%3E%3C/svg%3E");}
:where(.elementor) :where(.viviare-territory8-category):nth-child(6):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h7l2 3h7v9H4V6Zm4 7h8M8 16h5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h7l2 3h7v9H4V6Zm4 7h8M8 16h5'/%3E%3C/svg%3E");}

/* Listing: real 3-column commercial card, no implicit CSS-grid rows. */
.viviare-search-results--stay-list .viviare-result-card{grid-template-columns:300px minmax(0,1fr) 170px!important;grid-template-rows:170px!important;height:170px!important;min-height:170px!important}
.viviare-result-card__body{grid-column:2!important;grid-row:1!important;display:flex!important;min-width:0!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:16px 18px!important}
.viviare-result-card__body>div:not(.viviare-result-card__footer),.viviare-result-card__body>span,.viviare-result-card__body>h3,.viviare-result-card__body>p{margin-left:0!important;margin-right:0!important;grid-column:auto!important}
.viviare-result-card__meta{margin-top:0!important}
.viviare-result-card__destination{margin-top:5px!important}
.viviare-result-card h3{margin:4px 0 6px!important}
.viviare-result-card p{margin:0!important;display:-webkit-box!important;overflow:hidden!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
.viviare-result-card__footer{grid-column:3!important;grid-row:1!important;min-width:0!important}
.viviare-search-results--stay-list .viviare-entity-card__favorite{left:258px!important;top:10px!important}

/* Detail: tabs and content must follow one compact vertical flow. */
:where(.elementor) :where(.viviare-single8-content){min-height:0;}
:where(.elementor) :where(.viviare-single8-content)>.e-con-inner{gap:0;}
:where(.elementor) :where(.viviare-single8-tabs){display:block;width:100%;min-height:52px;margin:0 0 20px;overflow:visible;border-bottom:1px solid var(--vx-line);}
:where(.elementor) :where(.viviare-single8-tabs)>.e-con-inner{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:30px;min-height:51px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;}
:where(.elementor) :where(.viviare-single8-tab){display:block;width:auto;min-width:0;flex:0 0 auto;min-height:51px;}
:where(.elementor) :where(.viviare-single8-tab)>.e-con-inner{display:block;width:auto;min-height:0;}
:where(.elementor) :where(.viviare-single8-tab) .elementor-widget-button{width:auto;margin:0;}
:where(.elementor) :where(.viviare-single8-tab) .elementor-button{min-height:51px;width:auto;white-space:nowrap;}
:where(.elementor) :where(.viviare-single8-content)>.e-con-inner>.elementor-element:not(:where(.viviare-single8-tabs)){flex:0 0 auto;min-height:0;height:auto;margin-top:0;}
:where(.elementor) :where(.viviare-single8-content) .elementor-widget-viviare_entity_description{margin-bottom:14px;}
:where(.elementor) :where(.viviare-single8-content) .elementor-widget-viviare_entity_amenities{margin-bottom:8px;}
:where(.elementor) :where(.viviare-single8-content) .elementor-widget-viviare_entity_facts{margin-bottom:8px;}
:where(.elementor) :where(.viviare-single8-content) .elementor-widget-viviare_entity_units{margin-top:8px;}
:where(.elementor) :where(.viviare-single8-aside)>.e-con-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;min-height:0;}

:where(.elementor) :where(.viviare-single8-usp)>.e-con-inner{display:flex;flex-direction:column;justify-content:flex-start;gap:3px;min-height:0;}
:where(.elementor) :where(.viviare-single8-related)>.e-con-inner{gap:14px;}
:where(.elementor) :where(.viviare-single8-reviews)>.e-con-inner{gap:12px;}

/* Empty favorites/account states: intentional product UI, not a blank page. */
.viviare-favorites-page__grid:has(.viviare-special-empty){grid-template-columns:1fr!important}
.viviare-special-empty{display:grid!important;max-width:760px!important;min-height:300px!important;place-items:center!important;align-content:center!important;gap:10px!important;margin:8px auto 12px!important;padding:42px!important;border:1px solid var(--vx-line)!important;border-radius:16px!important;background:linear-gradient(145deg,#f7fbfb,#fffaf0)!important;text-align:center!important;box-shadow:var(--vx-shadow)!important}
.viviare-special-empty__icon{display:grid!important;width:58px!important;height:58px!important;place-items:center!important;border-radius:50%!important;background:#eaf7f6!important;color:transparent!important;font-size:0!important}
.viviare-special-empty__icon:before{content:"";width:28px;height:28px;background:var(--vx-vivi);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%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.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%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.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z'/%3E%3C/svg%3E") center/contain no-repeat}
.viviare-special-empty h2{margin:2px 0 0!important;color:var(--vx-stay)!important;font-size:25px!important}
.viviare-special-empty p{max-width:520px!important;margin:0!important;color:var(--vx-muted)!important;font-size:14px!important;line-height:1.55!important}
.viviare-special-empty__cta{display:inline-flex!important;min-height:42px!important;align-items:center!important;justify-content:center!important;margin-top:4px!important;padding:0 18px!important;border-radius:8px!important;background:var(--vx-stay)!important;color:#fff!important;font-size:13px!important;font-weight:800!important}

/* Desktop text/spacing calibration from live captures. */
@media (min-width:901px){
  :where(.elementor) :where(.viviare-home8-featured)>.e-con-inner{gap:14px;}
  :where(.elementor) :where(.viviare-home8-featured) :where(.viviare-section8-heading){margin-bottom:2px;}
  :where(.elementor) :where(.viviare-category8-section) :where(.viviare-section8-heading){margin-bottom:0;}
  :where(.elementor) :where(.viviare-category8-section)+:where(.viviare-category8-section){padding-top:22px;}
  :where(.elementor) :where(.viviare-special-page-content){min-height:360px;}
}

/* RC22 mobile/tablet recovery: same geometry, no desktop assumptions leaking in. */
@media (max-width:900px){
  :where(.elementor) :where(.viviare-home8-hero)>.e-con-inner{justify-content:flex-end;align-items:flex-start;}
  
  :where(.elementor) :where(.viviare-section8-heading)>.e-con-inner{align-items:flex-start;gap:10px;}
  :where(.elementor) :where(.viviare-category8-section)>.e-con-inner{gap:10px;}
  :where(.elementor) :where(.viviare-category8-chip)>.e-con-inner{justify-content:center;}
  .viviare-search-results--stay-list .viviare-result-card{grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:minmax(132px,auto)!important;height:auto!important;min-height:132px!important}
  .viviare-result-card__body{grid-column:2!important;grid-row:1!important;padding:10px 10px 42px!important}
  .viviare-result-card__rating{display:none!important}
  .viviare-result-card p{display:none!important}
  .viviare-result-card__footer{grid-column:2!important;grid-row:1!important;align-self:end!important;display:flex!important;min-height:38px!important;align-items:end!important;justify-content:space-between!important;flex-direction:row!important;margin:0 10px 7px!important;padding:7px 0 0!important;border-top:1px solid #edf1f3!important;border-left:0!important;background:transparent!important}
  .viviare-search-results--stay-list .viviare-entity-card__favorite{left:80px!important;top:7px!important}
  :where(.elementor) :where(.viviare-single8-content)>.e-con-inner{gap:0;}
  :where(.elementor) :where(.viviare-single8-tabs){margin-bottom:12px;}
  :where(.elementor) :where(.viviare-single8-tabs)>.e-con-inner{gap:20px;min-height:46px;}
  :where(.elementor) :where(.viviare-single8-tab){min-height:45px;}
  :where(.elementor) :where(.viviare-single8-tab) .elementor-button{min-height:45px;}
  .viviare-special-empty{min-height:260px!important;padding:28px 20px!important}
  .viviare-special-empty h2{font-size:22px!important}
}

/* ============================================================
 * RC23 HOME PIXEL REFERENCE
 * Ground truth: approved desktop/mobile mockups + production DOM.
 * This block does not add a second visual system: it hardens the
 * authoritative one against Elementor's runtime custom properties,
 * load order and full-width container DOM variants.
 * ============================================================ */

/* Browser/Elementor integrity. */
.elementor [hidden],.viviare-booking-panel [hidden]{display:none!important}
.elementor img,.viviare-entity-gallery img,.viviare-entity-card img,.viviare-result-card img{max-width:100%!important}
.viviare-entity-gallery__item img,.viviare-entity-card__media img,.viviare-result-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}

/* Elementor full-width containers own their children directly in current live DOM. */
:where(.elementor) :where(.viviare-home8-hero),:where(.elementor) :where(.viviare-category8-section),:where(.elementor) :where(.viviare-category8-chips-wrap),
:where(.elementor) :where(.viviare-home8-featured),:where(.elementor) :where(.viviare-special-page-head),:where(.elementor) :where(.viviare-special-page-content),
:where(.elementor) :where(.viviare-single21-left),:where(.elementor) :where(.viviare-single21-aside),:where(.elementor) :where(.viviare-single21-support){--display:flex;--flex-direction:column;--flex-wrap:nowrap;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;}
:where(.elementor) :where(.viviare-site-header),:where(.elementor) :where(.viviare-header-nav),:where(.elementor) :where(.viviare-section8-heading),
:where(.elementor) :where(.viviare-home8-macros),:where(.elementor) :where(.viviare-home8-reputation),:where(.elementor) :where(.viviare-home8-value),
:where(.elementor) :where(.viviare-home8-benefits),:where(.elementor) :where(.viviare-home8-utility),:where(.elementor) :where(.viviare-category8-chips),
:where(.elementor) :where(.viviare-category8-trust),:where(.elementor) :where(.viviare-category8-benefits),:where(.elementor) :where(.viviare-territory8-categories),
:where(.elementor) :where(.viviare-territory8-benefits),:where(.elementor) :where(.viviare-single8-head),:where(.elementor) :where(.viviare-single8-actions),
:where(.elementor) :where(.viviare-single8-tabs),:where(.elementor) :where(.viviare-single8-usps),:where(.elementor) :where(.viviare-elementor-footer-grid){--display:flex;--flex-direction:row;--flex-wrap:nowrap;flex-direction:row;flex-wrap:nowrap;}
:where(.elementor) :where(.viviare-home8-macros),:where(.elementor) :where(.viviare-home8-reputation),:where(.elementor) :where(.viviare-home8-value),
:where(.elementor) :where(.viviare-home8-utility),:where(.elementor) :where(.viviare-category8-trust),:where(.elementor) :where(.viviare-single8-usps){display:grid;}


/* Wide editorial canvas — approved mockups occupy ~90% of desktop viewport. */
:where(.elementor) :where(.viviare-mockup-shell),:where(.viviare-mockup-shell){width:min(var(--vx-max),calc(100% - 80px));max-width:var(--vx-max);}
:where(.elementor) :where(.viviare-mockup-section){padding-block:24px;}

/* Header proportions. */
:where(.elementor) :where(.viviare-site-header){grid-template-columns:285px minmax(0,1fr);min-height:78px;gap:34px;padding-inline:0;}
:where(.elementor) :where(.viviare-site-header)>.elementor-element:first-child{justify-self:start;}
:where(.elementor) :where(.viviare-header-nav){justify-content:flex-end;gap:8px;}
:where(.elementor) :where(.viviare-header-nav) .elementor-button{font-size:14.5px;padding-inline:10px;}
.viviare-site-brand--header .viviare-site-brand__logo{max-width:250px!important;max-height:60px!important}

/* Home: compact 1080-ish composition, matching approved full-page rhythm. */
:where(.elementor) :where(.viviare-home8-hero){min-height:350px;padding-top:30px;padding-bottom:24px;justify-content:flex-start;gap:0;background-position:center right;}
:where(.elementor) :where(.viviare-home8-hero)>.elementor-element{max-width:1760px;margin-left:auto;margin-right:auto;}
:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading{width:100%;}
:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1{max-width:690px;font-size:clamp(58px,4.6vw,78px);line-height:.96;}
:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{max-width:520px;margin-top:8px;font-size:17px;}
:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search{width:min(1240px,100%);margin:20px auto -58px;}
:where(.elementor) :where(.viviare-home8-macros){grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:72px;padding-bottom:6px;}
:where(.elementor) :where(.viviare-home8-macro-card){min-height:84px;padding:13px 18px;}
:where(.elementor) :where(.viviare-home8-reputation){grid-template-columns:290px minmax(0,1fr);gap:10px;padding-block:6px;}
:where(.elementor) :where(.viviare-home8-featured){padding-top:8px;padding-bottom:10px;}
:where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature{gap:12px;}
.viviare-entity-grid--feature .viviare-entity-card,.viviare-entity-grid--feature .viviare-entity-card__body{min-height:190px!important}
:where(.elementor) :where(.viviare-home8-value){margin-bottom:8px;}
:where(.elementor) :where(.viviare-home8-utility){margin-bottom:12px;}

/* Category homes: no dead whitespace between heading, destinations and product rails. */
.viviare-category-hero{min-height:310px!important;padding-top:34px!important;padding-bottom:80px!important}
.viviare-category-hero>div{width:min(1760px,calc(100% - 80px))!important;margin-inline:auto!important}
.viviare-category-hero h1{font-size:clamp(58px,5vw,78px)!important;line-height:.94!important;max-width:650px!important}
.viviare-category-hero p:not(.viviare-widget-eyebrow){font-size:17px!important;max-width:540px!important}
:where(.elementor) :where(.viviare-category8-search){margin-top:-54px;padding-bottom:8px;}
:where(.elementor) :where(.viviare-category8-chips-wrap){padding-top:14px;padding-bottom:8px;gap:10px;}
:where(.elementor) :where(.viviare-category8-section){padding-top:16px;padding-bottom:12px;gap:8px;min-height:0;}
:where(.elementor) :where(.viviare-category8-section)>.elementor-element,:where(.elementor) :where(.viviare-category8-chips-wrap)>.elementor-element{flex:0 0 auto;min-height:0;}
:where(.elementor) :where(.viviare-category8-chips-title){margin-bottom:2px;}
:where(.elementor) :where(.viviare-category8-chips){gap:10px;}
:where(.elementor) :where(.viviare-category8-chip){min-height:76px;padding:10px 12px 10px 52px;}
:where(.elementor) :where(.viviare-category8-chip) h3{font-size:13.5px;}
:where(.elementor) :where(.viviare-category8-chip) .elementor-widget-text-editor{font-size:11.5px;}
:where(.elementor) :where(.viviare-section8-heading){min-height:0;margin:0 0 8px;align-items:flex-end;}
:where(.elementor) :where(.viviare-section8-heading) h2{font-size:25px;}
.viviare-entity-grid--destination,.viviare-entity-grid--compact,.viviare-entity-grid--collection{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.viviare-entity-grid--destination .viviare-entity-card{min-height:155px!important}
.viviare-entity-grid--compact .viviare-entity-card__media{height:150px!important;aspect-ratio:auto!important}
.viviare-entity-grid--compact .viviare-entity-card__body{min-height:145px!important;padding:11px!important}
.viviare-entity-grid--compact .viviare-entity-card h3{font-size:15px!important}
.viviare-entity-grid--compact .viviare-entity-card__price strong{font-size:19px!important}
.viviare-entity-grid--collection .viviare-entity-card{min-height:120px!important}
.viviare-entity-grid--collection .viviare-entity-card__media{height:78px!important}
:where(.elementor) :where(.viviare-category8-trust){margin-top:8px;}
:where(.elementor) :where(.viviare-category8-newsletter){margin-top:8px;margin-bottom:12px;}

/* Territory mosaic proportions. */
.viviare-entity-grid--territory_mosaic{grid-template-rows:150px 150px!important;gap:10px!important}
:where(.elementor) :where(.viviare-territory8-categories){min-height:68px;}
:where(.elementor) :where(.viviare-territory8-category){min-height:62px;}

/* Stay listing: enforce accommodation grammar and mockup-scale rows. */
:where(.elementor) :where(.viviare-listing8-search),:where(.elementor) :where(.viviare-listing8-title),:where(.elementor) :where(.viviare-listing8-results){width:min(1760px,calc(100% - 80px));}
.viviare-search-results--stay-list{grid-template-columns:270px minmax(0,1fr)!important;gap:14px 22px!important}
.viviare-search-results--stay-list .viviare-result-card{grid-template-columns:340px minmax(0,1fr) 185px!important;grid-template-rows:190px!important;height:190px!important;min-height:190px!important}
.viviare-result-card__media img{height:190px!important}
.viviare-result-card__body{padding:18px 20px!important}
.viviare-result-card h3{font-size:21px!important}
.viviare-result-card p{font-size:13px!important;line-height:1.45!important}
.viviare-result-card__footer{padding:20px 16px!important}
.viviare-result-card__footer strong{font-size:25px!important}
.viviare-search-results--stay-list .viviare-entity-card__favorite{left:294px!important}

/* Detail pages: real two-column structure, not independent stacked Elementor sections. */
:where(.elementor) :where(.viviare-single8-head){display:grid;grid-template-columns:minmax(0,1fr) auto;padding-top:24px;padding-bottom:10px;align-items:end;}
.viviare-entity-context h1{font-size:clamp(42px,3.4vw,58px)!important}
:where(.elementor) :where(.viviare-single21-main){display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:28px;align-items:start;padding-top:8px;padding-bottom:22px;}
:where(.elementor) :where(.viviare-single21-main--place){grid-template-columns:1fr;}
:where(.elementor) :where(.viviare-single21-left){gap:0;min-width:0;}
:where(.elementor) :where(.viviare-single21-left)>.elementor-widget-viviare_entity_gallery{order:0;margin-bottom:10px;}
.viviare-entity-gallery{min-height:430px!important;height:430px!important;grid-template-columns:2.1fr .8fr .8fr!important;grid-template-rows:1fr 1fr!important;gap:7px!important;border-radius:13px!important}
.viviare-entity-gallery__item{min-width:0!important;min-height:0!important}
.viviare-entity-gallery__item:first-child{grid-column:1!important;grid-row:1/3!important}
.viviare-entity-gallery--count-2{grid-template-columns:1.8fr 1fr!important;grid-template-rows:1fr!important}
.viviare-entity-gallery--count-2 .viviare-entity-gallery__item:first-child{grid-row:1!important}
.viviare-entity-gallery--count-3{grid-template-columns:2fr 1fr!important;grid-template-rows:1fr 1fr!important}
:where(.elementor) :where(.viviare-single8-tabs){display:flex;flex-direction:row;align-items:center;gap:34px;min-height:52px;margin:0 0 16px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--vx-line);}
:where(.elementor) :where(.viviare-single8-tabs)>.elementor-element{flex:0 0 auto;width:auto;min-height:52px;}
:where(.elementor) :where(.viviare-single8-tab){display:block;flex:0 0 auto;width:auto;min-height:52px;}
:where(.elementor) :where(.viviare-single8-tab) .elementor-button{min-height:52px;font-size:13px;}
.viviare-entity-description{margin-bottom:6px!important}
.viviare-entity-description h2{font-size:24px!important}
.viviare-entity-description__copy{font-size:14px!important;line-height:1.55!important}
.viviare-entity-highlights{margin:10px 0!important}
.viviare-entity-amenities{margin-top:12px!important}
.viviare-entity-facts{margin:12px 0!important}
.viviare-entity-units{margin-top:12px!important}
:where(.elementor) :where(.viviare-single21-aside){position:sticky;top:94px;gap:12px;}
:where(.elementor) :where(.viviare-single21-aside) .viviare-price-from{padding:0 4px 2px;}
.viviare-price-from__amount{font-size:36px!important}
.viviare-booking-panel{padding:18px!important;border:1px solid var(--vx-line)!important;box-shadow:var(--vx-shadow)!important}
.viviare-booking-fields{grid-template-columns:1fr!important;gap:10px!important}
.viviare-booking-panel input,.viviare-booking-panel select{min-height:44px!important}
:where(.elementor) :where(.viviare-single21-support){padding:18px;border:1px solid var(--vx-line);border-radius:13px;background:#fff;box-shadow:var(--vx-shadow);}
:where(.elementor) :where(.viviare-single21-support) h3{margin:0 0 6px;font-size:17px;}
:where(.elementor) :where(.viviare-single21-support) .elementor-widget-text-editor{color:var(--vx-muted);font-size:12.5px;line-height:1.5;}
:where(.elementor) :where(.viviare-single8-usps){grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;margin-bottom:20px;}
:where(.elementor) :where(.viviare-single8-related){padding:24px 0;}
:where(.elementor) :where(.viviare-single8-reviews){padding-top:22px;padding-bottom:30px;}

/* Footer closer to approved six-column density. */
:where(.elementor) :where(.viviare-site-footer){padding-top:20px;padding-bottom:14px;}
:where(.elementor) :where(.viviare-elementor-footer-grid){grid-template-columns:1.45fr repeat(5,1fr);gap:28px;}
:where(.elementor) :where(.viviare-site-footer) .elementor-widget-text-editor,:where(.elementor) :where(.viviare-site-footer) .elementor-button{font-size:12px;}

@media (max-width:1100px){
  :root{--vx-max:1040px}
  :where(.elementor) :where(.viviare-mockup-shell),:where(.viviare-mockup-shell){width:calc(100% - 40px);}
  .viviare-entity-grid--compact,.viviare-entity-grid--destination,.viviare-entity-grid--collection{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  :where(.elementor) :where(.viviare-single21-main){grid-template-columns:minmax(0,1fr) 330px;}
  .viviare-search-results--stay-list .viviare-result-card{grid-template-columns:270px minmax(0,1fr) 155px!important}
  .viviare-search-results--stay-list .viviare-entity-card__favorite{left:226px!important}
}

@media (max-width:900px){
  :root{--vx-max:100%}
  :where(.elementor) :where(.viviare-mockup-shell),:where(.viviare-mockup-shell){width:calc(100% - 24px);}
  :where(.elementor) :where(.viviare-site-header){display:flex;min-height:64px;padding-inline:12px;}
  .viviare-site-brand--header .viviare-site-brand__logo{max-width:168px!important}
  :where(.elementor) :where(.viviare-home8-hero){min-height:470px;padding:28px 12px 18px;background-position:center;justify-content:flex-end;}
  :where(.elementor) :where(.viviare-home8-hero):before{background:linear-gradient(180deg,rgb(255 255 255 / 5%) 0%,rgb(4 33 70 / 18%) 45%,rgb(4 33 70 / 82%) 100%);}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1,:where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{color:#fff;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1{font-size:42px;max-width:350px;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{font-size:14px;max-width:330px;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search{margin:16px 0 -8px;width:100%;}
  :where(.elementor) :where(.viviare-home8-macros){display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:8px;scroll-snap-type:x mandatory;}
  :where(.elementor) :where(.viviare-home8-macro-card){flex:0 0 82vw;scroll-snap-align:start;}
  :where(.elementor) :where(.viviare-home8-reputation){display:flex;overflow-x:auto;gap:8px;}
  :where(.elementor) :where(.viviare-home8-reputation-lead){flex:0 0 82vw;}:where(.elementor) :where(.viviare-home8-reputation) .viviare-review-grid{display:flex;}
  :where(.elementor) :where(.viviare-home8-featured){padding-top:8px;}.viviare-entity-grid--feature{display:flex!important;overflow-x:auto!important;gap:8px!important;scroll-snap-type:x mandatory!important}
  .viviare-entity-grid--feature .viviare-entity-card{flex:0 0 88vw!important;min-height:185px!important;scroll-snap-align:start!important}
  :where(.elementor) :where(.viviare-home8-value){grid-template-columns:1fr;}:where(.elementor) :where(.viviare-home8-benefits){border-left:0;border-top:1px solid var(--vx-line);}
  :where(.elementor) :where(.viviare-home8-utility){grid-template-columns:1fr;}:where(.elementor) :where(.viviare-home8-utility-card){border-right:0;border-bottom:1px solid var(--vx-line);}
  .viviare-category-hero{min-height:360px!important;padding:24px 14px 70px!important}.viviare-category-hero>div{width:100%!important}.viviare-category-hero h1{font-size:42px!important}
  :where(.elementor) :where(.viviare-category8-search){margin-top:-48px;}:where(.elementor) :where(.viviare-category8-chips){display:flex;overflow-x:auto;}
  :where(.elementor) :where(.viviare-category8-chip){flex:0 0 72vw;}.viviare-entity-grid--compact,.viviare-entity-grid--destination,.viviare-entity-grid--collection{display:flex!important;overflow-x:auto!important;gap:9px!important;scroll-snap-type:x mandatory!important}
  .viviare-entity-grid--compact .viviare-entity-card{flex:0 0 72vw!important}.viviare-entity-grid--destination .viviare-entity-card{flex:0 0 78vw!important}.viviare-entity-grid--collection .viviare-entity-card{flex:0 0 72vw!important}
  :where(.elementor) :where(.viviare-listing8-search),:where(.elementor) :where(.viviare-listing8-title),:where(.elementor) :where(.viviare-listing8-results){width:calc(100% - 24px);}
  .viviare-search-results--stay-list{grid-template-columns:1fr!important}
  .viviare-search-results--stay-list .viviare-result-card{grid-template-columns:118px minmax(0,1fr)!important;grid-template-rows:142px!important;height:142px!important;min-height:142px!important}
  .viviare-result-card__media img{height:142px!important}.viviare-result-card__body{padding:10px 10px 40px!important}.viviare-result-card__footer{grid-column:2!important;grid-row:1!important;align-self:end!important;margin:0 10px 8px!important;padding:6px 0 0!important;border-left:0!important;border-top:1px solid var(--vx-line-2)!important;background:transparent!important;flex-direction:row!important}
  .viviare-search-results--stay-list .viviare-entity-card__favorite{left:84px!important}
  :where(.elementor) :where(.viviare-single8-head){grid-template-columns:1fr;padding-top:14px;}.viviare-entity-context h1{font-size:32px!important}
  :where(.elementor) :where(.viviare-single21-main){display:flex;flex-direction:column;gap:10px;width:100%;padding-top:0;}
  :where(.elementor) :where(.viviare-single21-left){width:100%;}.viviare-entity-gallery{height:280px!important;min-height:280px!important;border-radius:0!important;display:block!important}.viviare-entity-gallery__item{display:none!important}.viviare-entity-gallery__item:first-child{display:block!important;height:280px!important}.viviare-entity-gallery__count{right:10px!important;left:auto!important}
  :where(.elementor) :where(.viviare-single21-aside){position:static;width:calc(100% - 24px);margin-inline:auto;order:1;}:where(.elementor) :where(.viviare-single21-left){order:0;}
  :where(.elementor) :where(.viviare-single8-tabs){min-height:48px;gap:20px;padding-inline:12px;}:where(.elementor) :where(.viviare-single8-tab),:where(.elementor) :where(.viviare-single8-tab) .elementor-button{min-height:47px;}
  :where(.elementor) :where(.viviare-single21-left)>.elementor-element:not(.elementor-widget-viviare_entity_gallery):not(:where(.viviare-single8-tabs)){width:calc(100% - 24px);margin-inline:auto;}
  :where(.elementor) :where(.viviare-single8-usps){display:flex;overflow-x:auto;gap:8px;padding-inline:12px;border:0;}:where(.elementor) :where(.viviare-single8-usp){flex:0 0 78vw;border:1px solid var(--vx-line);border-radius:10px;}
  :where(.elementor) :where(.viviare-single21-support){display:none;}
}
/* RC23 HOME PIXEL REFERENCE — compatibility marker for historical release contracts. */
/* RC23 HOME PIXEL RECOVERY — superseded by RC23 HOME PIXEL REFERENCE. */

/* =========================================================
 * RC23 ELEMENTOR CONTROL + CONTENT DISCOVERABILITY
 * ======================================================= */
.viviare-editorial-grid,
.viviare-editorial-archive,
.viviare-editorial-single{
  width: min(100%, var(--viviare-shell, 1440px));
  margin-inline: auto;
}

.viviare-editorial-grid__head,
.viviare-editorial-archive__head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.viviare-editorial-grid__head h2,
.viviare-editorial-archive__head h1,
.viviare-editorial-single h1{
  margin: 0;
  color: var(--viviare-deep-navy, #0D3158);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.05;
}

.viviare-editorial-grid__head h2{ font-size: clamp(30px, 2.4vw, 46px); }
.viviare-editorial-archive__head h1,
.viviare-editorial-single h1{ font-size: clamp(38px, 4vw, 64px); }

.viviare-editorial-grid__more,
.viviare-editorial-card__cta{
  color: var(--viviare-teal, #14A7A8);
  font-weight: 700;
  text-decoration: none;
}

.viviare-editorial-grid__items,
.viviare-editorial-archive__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.viviare-editorial-card{
  min-width: 0;
  overflow: hidden;
  border: 1px solid #DCE6EA;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(13, 49, 88, .055);
}

.viviare-editorial-card__media{
  display: block;
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #EEF4F5;
}

.viviare-editorial-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .32s ease;
}

.viviare-editorial-card:hover .viviare-editorial-card__media img{ transform: scale(1.025); }

.viviare-editorial-card__body{ padding: 20px 20px 22px; }
.viviare-editorial-card__eyebrow{
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 9px;
  color: var(--viviare-teal, #14A7A8);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.viviare-editorial-card--event .viviare-editorial-card__eyebrow{ color: var(--viviare-sun-gold, #F2A900); }
.viviare-editorial-card__title{
  margin: 0 0 10px;
  color: var(--viviare-deep-navy, #0D3158);
  font-size: clamp(20px, 1.5vw, 28px);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.viviare-editorial-card__title a{ color: inherit; text-decoration: none; }
.viviare-editorial-card__excerpt{
  margin: 0 0 18px;
  color: #65768A;
  font-size: 15px;
  line-height: 1.55;
}

.viviare-editorial-single{
  padding-block: 52px 88px;
}
.viviare-editorial-single__meta{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin: 14px 0 28px;
  color: #65768A;
  font-size: 15px;
}
.viviare-editorial-single__hero{
  margin: 0 0 32px;
  border-radius: 26px;
  overflow: hidden;
  aspect-ratio: 16 / 7;
  background: #EEF4F5;
}
.viviare-editorial-single__hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.viviare-editorial-single__content{
  max-width: 820px;
  color: #213750;
  font-size: 18px;
  line-height: 1.72;
}

@media (max-width: 1024px){
  .viviare-editorial-grid__items,
  .viviare-editorial-archive__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px){
  .viviare-editorial-grid__head,
  .viviare-editorial-archive__head{ align-items: center; }
  .viviare-editorial-grid__items,
  .viviare-editorial-archive__grid{
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 340px);
    grid-template-columns: none;
    overflow-x: auto;
    gap: 14px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .viviare-editorial-grid__items::-webkit-scrollbar,
  .viviare-editorial-archive__grid::-webkit-scrollbar{ display:none; }
  .viviare-editorial-card{ scroll-snap-align: start; border-radius: 16px; }
  .viviare-editorial-card__body{ padding: 16px; }
  .viviare-editorial-single{ padding-block: 28px 64px; }
  .viviare-editorial-single__hero{ border-radius: 18px; aspect-ratio: 4 / 3; }
  .viviare-editorial-single__content{ font-size: 16px; }
}

/* ============================================================
 * RC23 HOME PIXEL REFERENCE — approved home.png @ 1448 × 1086
 * Exact desktop calibration for the supplied master artwork.
 * Shared header/footer/tokens become the reference for subsequent pages.
 * ============================================================ */
:root{
  --vx-max:1352px;
  --vx-home-ref-width:1448px;
  --vx-home-shell:1352px;
  --vx-home-border:#dfe6eb;
  --vx-home-navy:#0c2e5e;
  --vx-home-teal:#0aa4ad;
  --vx-home-gold:#f4a300;
  --vx-home-copy:#112f5b;
  --vx-home-muted:#67788e;
  --vx-home-soft:#f7fafb;
}

@media (min-width:1101px){
  /* 1448 reference canvas: 48px gutters / 1352px live shell. */
  :where(.elementor) :where(.viviare-mockup-shell),:where(.viviare-mockup-shell){width:min(var(--vx-home-shell),calc(100% - 96px));max-width:var(--vx-home-shell);}

  /* Header — 57/58px exactly as approved artwork. */
  :where(.elementor) :where(.viviare-site-header){grid-template-columns:212px minmax(0,1fr);gap:18px;min-height:58px;padding:4px 0;border-bottom:1px solid #edf1f3;}
  .viviare-site-brand--header .viviare-site-brand__logo{
    width:auto!important;
    max-width:194px!important;
    max-height:46px!important;
  }
  :where(.elementor) :where(.viviare-header-nav){gap:4px;}
  :where(.elementor) :where(.viviare-header-nav) .elementor-button{min-height:38px;padding:0 10px;border-radius:7px;color:var(--vx-home-navy);font-size:12.5px;font-weight:700;letter-spacing:-.01em;}
  :where(.elementor) :where(.viviare-elementor-favorite-link) .elementor-button:before{width:19px;height:19px;}
  :where(.elementor) :where(.viviare-elementor-account-link) .elementor-button:before{width:18px;height:18px;}
  :where(.elementor) :where(.viviare-elementor-partner-cta) .elementor-button{min-height:40px;padding:0 18px;border-radius:7px;background:#079ba4;font-size:12.5px;}

  /* HERO — exact supplied artwork, functional DOM on top. */
  :where(.elementor) :where(.viviare-home8-hero){position:relative;display:block;width:100%;min-height:265px;margin:0;padding:0;overflow:visible;background-image:url("../images/home-hero-pixel-reference-rc23.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}
  :where(.elementor) :where(.viviare-home8-hero):before{display:none;}
  :where(.elementor) :where(.viviare-home8-hero)>.e-con-inner{position:relative;display:block;width:100%;max-width:none;margin:0;}
  :where(.elementor) :where(.viviare-home8-hero)>.elementor-element,
  :where(.elementor) :where(.viviare-home8-hero)>.e-con-inner>.elementor-element{position:absolute;z-index:2;margin:0;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading{top:27px;left:max(76px,calc(50% - 612px));width:520px;max-width:520px;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading h1{width:520px;max-width:520px;margin:0;color:#08295a;font-size:53px;font-weight:760;line-height:.965;letter-spacing:-.045em;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{top:141px;left:max(77px,calc(50% - 611px));width:390px;max-width:390px;margin:0;color:#0d3158;font-size:15.5px;font-weight:450;line-height:1.34;letter-spacing:-.012em;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor p{margin:0;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search{top:190px;left:calc(50% - 501px);width:966px;max-width:966px;height:68px;margin:0;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search>.elementor-widget-container{height:68px;}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern{grid-template-columns:1.2fr 1.02fr 1.05fr .72fr 130px;width:966px;height:68px;min-height:68px;padding:5px;border:1px solid #d7e1e7;border-radius:12px;box-shadow:0 10px 30px rgb(13 49 88 / 12%);}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern .viviare-field{min-height:56px;padding:7px 12px;grid-template-columns:22px minmax(0,1fr);gap:7px;}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern .viviare-field:not(:first-child):after{top:8px;bottom:8px;background:#e0e7ec;}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern .viviare-field__icon{width:17px;height:17px;}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern .viviare-field label{margin-bottom:0;font-size:11px;font-weight:760;}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern input,
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern select{min-height:27px;font-size:11.5px;color:#52657d;}
  :where(.elementor) :where(.viviare-home8-hero) .viviare-search-pattern__submit{min-height:56px;height:56px;margin:0;padding:0 17px;border-radius:7px;background:#049aa6;font-size:12px;font-weight:760;}

  /* Macro areas — y333/h80 reference. */
  :where(.elementor) :where(.viviare-home8-macros){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:80px;margin-top:11px;padding:0;}
  :where(.elementor) :where(.viviare-home8-macro-card){grid-template-columns:48px minmax(0,1fr);grid-template-rows:22px 20px 20px;gap:0 12px;min-height:80px;padding:10px 16px;border:1px solid #dde5ea;border-radius:9px;background:#fff;}
  :where(.elementor) :where(.viviare-home8-macro-card--stay),
  :where(.elementor) :where(.viviare-home8-macro-card--experience),
  :where(.elementor) :where(.viviare-home8-macro-card--territory){border-top:1px solid #dde5ea;}
  :where(.elementor) :where(.viviare-home8-macro-card):before{width:42px;height:42px;background-size:23px;}
  :where(.elementor) :where(.viviare-home8-macro-card) h3{font-size:15.5px;font-weight:760;line-height:1.05;}
  :where(.elementor) :where(.viviare-home8-macro-card) .elementor-widget-text-editor{font-size:11.5px;line-height:1.28;color:#54677f;}
  :where(.elementor) :where(.viviare-home8-macro-card) .elementor-button{min-height:18px;font-size:11.5px;font-weight:760;color:#0398a5;}

  /* Google social proof — y426/h132 reference. */
  :where(.elementor) :where(.viviare-home8-reputation){grid-template-columns:320px minmax(0,1fr);gap:10px;min-height:132px;margin-top:12px;padding:0;}
  :where(.elementor) :where(.viviare-home8-reputation-lead){min-height:132px;padding:16px 18px 14px 106px;border:1px solid #e0e6ea;border-radius:10px;background:#fff;}
  :where(.elementor) :where(.viviare-home8-reputation-lead):before{content:"G";left:39px;top:35px;width:50px;height:50px;color:transparent;font-size:46px;font-weight:900;line-height:1;background:conic-gradient(from -30deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);-webkit-background-clip:text;background-clip:text;}
  :where(.elementor) :where(.viviare-home8-reputation-lead) h3{margin:0 0 1px;font-size:15px;font-weight:760;}
  :where(.elementor) :where(.viviare-home8-reputation-lead) .elementor-widget-text-editor{margin:0;color:#324a69;font-size:11.5px;line-height:1.28;}
  :where(.elementor) :where(.viviare-home8-reputation-lead) strong{display:inline-block;margin:5px 0 1px;color:#092d5e;font-size:31px;font-weight:780;line-height:1;}
  :where(.elementor) :where(.viviare-home8-reputation-lead) strong:after{content:"★★★★★";display:inline-block;margin-left:7px;color:#f6a600;font-size:13px;letter-spacing:1px;vertical-align:4px;}
  :where(.elementor) :where(.viviare-home8-reputation)>.elementor-widget-viviare_review_grid,
  :where(.elementor) :where(.viviare-home8-reputation)>.elementor-widget-viviare_review_grid>.elementor-widget-container{height:132px;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;height:132px;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card{height:132px;min-height:132px;padding:13px 16px 11px;border:1px solid #e0e6ea;border-radius:10px;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card__source{left:16px;top:13px;color:transparent;font-size:16px;font-weight:900;background:conic-gradient(from -30deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);-webkit-background-clip:text;background-clip:text;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card__rating{margin:0 0 6px 22px;gap:0;font-size:11.5px;line-height:1;}
  :where(.elementor) :where(.viviare-home8-reputation) .vivia-review-grid--google-home .viviare-review-card__rating b,
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-grid--google_home .viviare-review-card__rating b{display:none;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-grid--google_home .viviare-review-card h3{display:none;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card>p{height:52px;margin:0;overflow:hidden;color:#17365d;font-size:11.5px;line-height:1.33;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card footer{grid-template-columns:26px auto 1fr;gap:5px;margin-top:7px;padding-top:7px;font-size:11px;}
  :where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card__avatar{width:25px;height:25px;font-size:11px;}

  /* Featured experiences — compact 2-up cinematic row. */
  :where(.elementor) :where(.viviare-home8-featured){min-height:172px;padding:8px 0 0;margin:0;}
  :where(.elementor) :where(.viviare-home8-featured)>.e-con-inner{display:flex;flex-direction:column;gap:0;}
  :where(.elementor) :where(.viviare-home8-featured) :where(.viviare-section8-heading){flex:0 0 22px;min-height:22px;margin:0 0 4px;align-items:center;}
  :where(.elementor) :where(.viviare-home8-featured) :where(.viviare-section8-heading) h2{font-size:15px;font-weight:760;letter-spacing:-.02em;}
  :where(.elementor) :where(.viviare-home8-featured) :where(.viviare-section8-heading-copy) .elementor-widget-text-editor{display:none;}
  :where(.elementor) :where(.viviare-home8-featured) :where(.viviare-section8-heading) .elementor-button{font-size:11px;color:#029aa6;}
  :where(.elementor) :where(.viviare-home8-featured) .elementor-widget-viviare_entity_grid,
  :where(.elementor) :where(.viviare-home8-featured) .elementor-widget-viviare_entity_grid>.elementor-widget-container{height:138px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;height:138px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card{height:138px;min-height:138px;border-radius:8px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__body{min-height:138px;height:138px;padding:12px 14px;justify-content:flex-end;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__media:after{background:linear-gradient(90deg,rgb(3 33 72 / 88%),rgb(3 33 72 / 12%) 70%);}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__meta{position:absolute;top:11px;left:14px;right:14px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__type{padding:3px 7px;border-radius:3px;font-size:11px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__rating{left:14px;bottom:26px;font-size:11px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card h3,
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card h3 a{max-width:510px;margin:0 0 3px;font-size:17px;font-weight:760;line-height:1.05;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__summary{max-width:470px;margin-bottom:22px;color:#fff;font-size:11px;line-height:1.28;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__price{display:none;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__footer{position:absolute;left:14px;right:14px;bottom:8px;margin:0;padding:0;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__cta{font-size:11px;}
  :where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__favorite{display:none;}

  /* KPI + trust — 94px row, 40/60 split. */
  :where(.elementor) :where(.viviare-home8-value){grid-template-columns:40% 60%;min-height:94px;margin:9px auto 0;border:1px solid #dfe5e9;border-radius:9px;}
  :where(.elementor) :where(.viviare-home8-value)>.elementor-element{padding:0;}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stats{height:92px;}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat{position:relative;align-content:start;place-items:center;min-height:92px;padding:8px 7px 5px;}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat:before{content:"";display:block;width:19px;height:19px;margin-bottom:4px;background:#0e3971;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain;}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat:nth-child(1):before,
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat:nth-child(4):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat:nth-child(2):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v16H7zM9.5 8h5M9.5 12h5M9.5 16h3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v16H7zM9.5 8h5M9.5 12h5M9.5 16h3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat:nth-child(3):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 5 6v5c0 4.6 3 8 7 10 4-2 7-5.4 7-10V6l-7-3Zm-3 8 2 2 4-4' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 5 6v5c0 4.6 3 8 7 10 4-2 7-5.4 7-10V6l-7-3Zm-3 8 2 2 4-4' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat strong{font-size:22px;font-weight:760;color:#089ba8;}
  :where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat span{max-width:110px;margin-top:2px;font-size:11px;line-height:1.18;font-weight:690;}
  :where(.elementor) :where(.viviare-home8-benefits){grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:26px 66px;border-left:1px solid #dfe5e9;}
  :where(.elementor) :where(.viviare-home8-benefits) :where(.viviare-home23-benefits-title){grid-column:1/-1;grid-row:1;padding:6px 10px 0;margin:0;}
  :where(.elementor) :where(.viviare-home8-benefits) :where(.viviare-home23-benefits-title) h3{margin:0;font-size:13px;font-weight:760;letter-spacing:-.015em;}
  :where(.elementor) :where(.viviare-home8-benefit){grid-row:2;min-height:66px;padding:8px 8px 6px 43px;}
  :where(.elementor) :where(.viviare-home8-benefit):before{left:10px;top:10px;width:25px;height:25px;}
  :where(.elementor) :where(.viviare-home8-benefit) h3{margin:0 0 2px;font-size:11px;font-weight:760;line-height:1.12;}
  :where(.elementor) :where(.viviare-home8-benefit) .elementor-widget-text-editor{font-size:11px;line-height:1.23;color:#5e7087;}

  /* Utility strip — 66px reference. */
  :where(.elementor) :where(.viviare-home8-utility){grid-template-columns:1fr 1.05fr 1fr;min-height:66px;margin:9px auto 10px;border:1px solid #dfe5e9;border-radius:9px;}
  :where(.elementor) :where(.viviare-home8-utility-card){min-height:64px;padding:8px 14px 7px 54px;}
  :where(.elementor) :where(.viviare-home8-utility-card):before{left:14px;top:14px;width:34px;height:34px;background-size:18px;}
  :where(.elementor) :where(.viviare-home8-utility-card) h3{margin:0 0 1px;font-size:11px;font-weight:760;}
  :where(.elementor) :where(.viviare-home8-utility-card) .elementor-widget-text-editor{font-size:11px;line-height:1.2;color:#66788e;}
  :where(.elementor) :where(.viviare-home8-utility-card) .elementor-button{min-height:15px;margin-top:0;font-size:11px;color:#059ca6;}
  :where(.elementor) :where(.viviare-home8-utility-card):nth-child(3){padding-left:68px;}
  :where(.elementor) :where(.viviare-home8-utility-card):nth-child(3):after{content:"◎   ◉   ▶";position:absolute;left:130px;bottom:8px;color:#0d3158;font-size:15px;letter-spacing:8px;white-space:nowrap;}

  /* Footer — compact master layout: brand + 4 sections + assistance/contact. */
  :where(.elementor) :where(.viviare-site-footer){min-height:168px;padding:13px max(48px,calc((100vw - var(--vx-home-shell))/2)) 8px;border-top:1px solid #e3e8ec;}
  :where(.elementor) :where(.viviare-elementor-footer-grid){grid-template-columns:1.45fr .78fr .9fr .8fr .9fr 1fr;gap:25px;align-items:start;}
  .viviare-site-brand--footer .viviare-site-brand__logo{max-width:172px!important;max-height:44px!important}
  :where(.elementor) :where(.viviare-elementor-footer-brand) .elementor-widget-text-editor{max-width:260px;margin-top:7px;font-size:11px;line-height:1.45;}
  :where(.elementor) :where(.viviare-elementor-footer-column) h3{margin:2px 0 5px;font-size:11px;letter-spacing:.08em;font-weight:780;}
  :where(.elementor) :where(.viviare-footer-links){gap:0;}
  :where(.elementor) :where(.viviare-site-footer) .elementor-button{min-height:18px;font-size:11px;line-height:1.1;}
  :where(.elementor) :where(.viviare-footer-contact) .elementor-widget-text-editor{color:#0d3158;font-size:11px;line-height:1.65;}
  :where(.elementor) :where(.viviare-footer-contact) a{color:#0d3158;}
  :where(.elementor) :where(.viviare-elementor-footer-bottom){margin-top:7px;padding-top:5px;border-top:0;font-size:11px;}
  :where(.elementor) :where(.viviare-elementor-footer-bottom)>.elementor-element:last-child{display:none;}
}

/* ============================================================
 * RC24 HOME FLOW + SPACING CALIBRATION
 * Keeps the approved RC23 visual language intact while fixing
 * live Elementor row collisions and adding professional vertical rhythm.
 * Desktop rule: >= 80px between primary Home rows.
 * ============================================================ */
:root{
  --vx-home-section-gap-desktop:80px;
  --vx-home-section-gap-tablet:56px;
  --vx-home-section-gap-mobile:40px;
}

@media (min-width:1101px){
  /* Hero gets more air without changing artwork, typography or search geometry. */
  :where(.elementor) :where(.viviare-home8-hero){min-height:345px;}
  :where(.elementor) :where(.viviare-home8-hero)>.e-con-inner{min-height:345px;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-heading{top:42px;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-text-editor{top:162px;}
  :where(.elementor) :where(.viviare-home8-hero) .elementor-widget-viviare_search{top:250px;}

  /* Primary Home rows: normal document flow + minimum 80px separation. */
  :where(.elementor) :where(.viviare-home8-macros){margin:var(--vx-home-section-gap-desktop) auto 0;}
  :where(.elementor) :where(.viviare-home8-reputation){margin:var(--vx-home-section-gap-desktop) auto 0;}
  :where(.elementor) :where(.viviare-home8-featured){min-height:164px;margin:var(--vx-home-section-gap-desktop) auto 0;padding:0;}
  :where(.elementor) :where(.viviare-home8-value){margin:var(--vx-home-section-gap-desktop) auto 0;}
  :where(.elementor) :where(.viviare-home8-utility){margin:var(--vx-home-section-gap-desktop) auto var(--vx-home-section-gap-desktop);}

  /* Prevent Elementor flex sizing from collapsing or visually invading adjacent rows. */
  :where(.elementor) :where(.viviare-home8-macros),
  :where(.elementor) :where(.viviare-home8-reputation),
  :where(.elementor) :where(.viviare-home8-featured),
  :where(.elementor) :where(.viviare-home8-value),
  :where(.elementor) :where(.viviare-home8-utility){position:relative;clear:both;flex:none;align-self:auto;overflow:visible;}
  :where(.elementor) :where(.viviare-home8-featured)>.e-con-inner{min-height:164px;}
  :where(.elementor) :where(.viviare-home8-value){isolation:isolate;}
}

@media (min-width:901px) and (max-width:1100px){
  :where(.elementor) :where(.viviare-home8-macros),
  :where(.elementor) :where(.viviare-home8-reputation),
  :where(.elementor) :where(.viviare-home8-featured),
  :where(.elementor) :where(.viviare-home8-value),
  :where(.elementor) :where(.viviare-home8-utility){margin-top:var(--vx-home-section-gap-tablet);position:relative;clear:both;}
  :where(.elementor) :where(.viviare-home8-utility){margin-bottom:var(--vx-home-section-gap-tablet);}
}

@media (max-width:900px){
  :where(.elementor) :where(.viviare-home8-macros),
  :where(.elementor) :where(.viviare-home8-reputation),
  :where(.elementor) :where(.viviare-home8-featured),
  :where(.elementor) :where(.viviare-home8-value),
  :where(.elementor) :where(.viviare-home8-utility){margin-top:var(--vx-home-section-gap-mobile);position:relative;clear:both;}
  :where(.elementor) :where(.viviare-home8-utility){margin-bottom:var(--vx-home-section-gap-mobile);}
}

/* ============================================================
 * RC25 WIDGET GEOMETRY + ICON ALIGNMENT CONTRACT
 * Elementor editor geometry is authoritative when explicitly set.
 * Defaults below preserve RC24 appearance but inner pieces stretch with
 * the widget instead of remaining locked to obsolete fixed heights.
 * ============================================================ */

/* SVG icons never participate in text line-height calculations. */
.viviare-svg-icon{
  display:block!important;
  flex:0 0 auto!important;
  min-width:0!important;
  margin:0!important;
  vertical-align:middle!important;
  line-height:1!important;
}

/* Search field icons: fixed grid cell, centred against the complete label/input stack. */
.viviare-search-pattern .viviare-field__icon{
  display:block!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  flex:none!important;
}
.viviare-search-pattern .viviare-field__content{align-self:center!important;min-width:0!important}

/* All explicit icon + label pairs use a real flex baseline instead of inline SVG flow. */
.viviare-listing-filter-toggle,
.viviare-listing-map-toggle,
.viviare-entity-card__cta,
.viviare-unit-card__meta>span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start;
  gap:6px!important;
  line-height:1.2!important;
}
.viviare-listing-filter-toggle,.viviare-listing-map-toggle{justify-content:center!important}
.viviare-listing-filter-toggle .viviare-svg-icon,
.viviare-listing-map-toggle .viviare-svg-icon,
.viviare-entity-card__cta .viviare-svg-icon,
.viviare-unit-card__meta .viviare-svg-icon{flex:0 0 auto!important;margin:0!important}

/* Unit-card metadata previously had no layout contract and could collide. */
.viviare-unit-card__meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px 14px!important;
  min-width:0!important;
  margin:2px 0 6px!important;
  color:var(--vx-muted)!important;
  font-size:11.5px!important;
}
.viviare-unit-card__meta>span{min-width:0!important;white-space:nowrap!important}
.viviare-unit-card__meta .viviare-svg-icon{width:15px!important;height:15px!important}

/* Amenities: reserve icon width so labels can never flow underneath the icon. */
.viviare-entity-amenities__grid li{align-items:flex-start!important;min-width:0!important}
.viviare-entity-amenities__icon{
  display:grid!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  place-items:center!important;
  margin:0!important;
  line-height:1!important;
}
.viviare-entity-amenities__icon .viviare-svg-icon{width:18px!important;height:18px!important}
.viviare-entity-amenities__grid li>span:last-child{min-width:0!important;padding-top:1px!important}

/* Favorites/buttons keep the SVG centred even if global button line-height changes. */
.viviare-entity-card__favorite{align-items:center!important;justify-items:center!important;line-height:1!important}
.viviare-entity-card__favorite .viviare-svg-icon{margin:auto!important}

/* Pixel-reference roots keep their default height; children now stretch to the root.
 * This is what makes the Elementor height control effective without changing RC24
 * when no custom value is set. */
:where(.elementor) :where(.viviare-home8-reputation) .viviare-review-card{height:100%;min-height:0;}
:where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card,
:where(.elementor) :where(.viviare-home8-featured) .viviare-entity-grid--feature .viviare-entity-card__body{height:100%;min-height:0;}
:where(.elementor) :where(.viviare-home8-value) .viviare-platform-stat{height:100%;min-height:0;}

/* Pseudo-icons are centred inside their cards so changed heights/padding do not
 * leave icons floating over titles or descriptions. */
:where(.elementor) :where(.viviare-home8-benefit):before,
:where(.elementor) :where(.viviare-home8-utility-card):before,
:where(.elementor) :where(.viviare-category8-benefit):before,
:where(.elementor) :where(.viviare-category8-chip):before,
:where(.elementor) :where(.viviare-single8-usp):before{top:50%;transform:translateY(-50%);}

/* Icon-bearing cards always reserve a safe text gutter. */
:where(.elementor) :where(.viviare-home8-benefit){padding-left:48px;}
:where(.elementor) :where(.viviare-home8-utility-card){padding-left:60px;}
:where(.elementor) :where(.viviare-category8-benefit){padding-left:40px;}
:where(.elementor) :where(.viviare-category8-chip){padding-left:54px;}
:where(.elementor) :where(.viviare-single8-usp){padding-left:54px;}

/* If an editor expands a VIVIARE widget, its direct visual root must be able to
 * occupy that space instead of being capped by legacy max-width/max-height. */
.elementor-widget[class*="elementor-widget-viviare_"]>.elementor-widget-container{
  min-width:0;
  max-width:100%;
}
.elementor-widget[class*="elementor-widget-viviare_"]>.elementor-widget-container>:first-child{
  box-sizing:border-box!important;
  min-width:0;
}


/* ============================================================
 * RC26 ELEMENTOR-NATIVE STRUCTURAL CASCADE
 * VIVIARE template geometry is a default skin, never a lock.
 * Template/element selectors use low specificity and no !important, so
 * Elementor-generated per-element width, min-height, padding, margin, gap,
 * flex/grid, alignment, position and responsive values are authoritative.
 * Exact heights/max-heights are never forced on Elementor element boxes, and
 * .e-con-inner is never flattened with display:contents.
 * ============================================================ */

/* ============================================================
 * RC27 NATIVE GEOMETRY DEFAULTS
 * The default composition is now stored in Elementor element/widget settings.
 * These class rules are only low-specificity canvas/rhythm fallbacks. Any
 * Elementor per-element rule (element ID selector) remains authoritative.
 * ============================================================ */
.viviare-mockup-shell{
  width:min(var(--vx-home-shell,1352px),calc(100% - 96px));
  max-width:var(--vx-home-shell,1352px);
  margin-inline:auto;
}
@media (min-width:1101px){
  .viviare-home8-macros,
  .viviare-home8-reputation,
  .viviare-home8-featured,
  .viviare-home8-value,
  .viviare-home8-utility{margin-top:var(--vx-home-section-gap-desktop,80px);}
  .viviare-home8-utility{margin-bottom:var(--vx-home-section-gap-desktop,80px);}
}
@media (min-width:901px) and (max-width:1100px){
  .viviare-mockup-shell{width:calc(100% - 40px);max-width:none;}
  .viviare-home8-macros,
  .viviare-home8-reputation,
  .viviare-home8-featured,
  .viviare-home8-value,
  .viviare-home8-utility{margin-top:var(--vx-home-section-gap-tablet,56px);}
  .viviare-home8-utility{margin-bottom:var(--vx-home-section-gap-tablet,56px);}
}
@media (max-width:900px){
  .viviare-mockup-shell{width:calc(100% - 24px);max-width:none;}
  .viviare-home8-macros,
  .viviare-home8-reputation,
  .viviare-home8-featured,
  .viviare-home8-value,
  .viviare-home8-utility{margin-top:var(--vx-home-section-gap-mobile,40px);}
  .viviare-home8-utility{margin-bottom:var(--vx-home-section-gap-mobile,40px);}
}
