/* RC47 — layout rhythm and Elementor grid-normalization.
 * Fixes the width/flex metadata conflict when a container is deliberately promoted to CSS Grid.
 */
:root{--vx47-shell:1320px;--vx47-section-space:88px;--vx47-section-space-mobile:52px}
.viviare-site .elementor .viviare-mockup-shell{max-width:var(--vx47-shell)}
/* Grid children must fill their grid area; old Elementor percentage widths otherwise shrink each item twice. */
.viviare-site .elementor .viviare-category8-chips>.viviare-category8-chip,
.viviare-site .elementor .viviare-category8-benefits>.viviare-category8-benefit,
.viviare-site .elementor .viviare-home8-benefits>.viviare-home8-benefit,
.viviare-site .elementor .viviare-home8-utility>.viviare-home8-utility-card,
.viviare-site .elementor .viviare-platform-stats>.viviare-platform-stat{width:100%;max-width:none;min-width:0}
.viviare-site .elementor .viviare-category8-chips{align-items:stretch}
.viviare-site .elementor .viviare-category8-chip{height:100%;min-height:108px;padding:19px 16px 17px 58px}
.viviare-site .elementor .viviare-category8-chip h3{font-size:15px;line-height:1.15}
.viviare-site .elementor .viviare-category8-chip .elementor-widget-text-editor{font-size:12.5px;line-height:1.4}
.viviare-site .elementor .viviare-category8-section{padding-top:var(--vx47-section-space)}
.viviare-site .elementor .viviare-category8-trust,.viviare-site .elementor .viviare-category8-newsletter{margin-top:var(--vx47-section-space)}
.viviare-site .elementor .viviare-section8-heading{min-height:0;margin-bottom:24px}
.viviare-site .elementor .viviare-section8-heading h2{font-size:clamp(30px,2.7vw,40px);line-height:1.04;letter-spacing:-.035em}
.viviare-site .elementor .viviare-section8-heading-copy .elementor-widget-text-editor{margin-top:7px;max-width:680px;color:#67798b;font-size:14px;line-height:1.55}
/* Category trust is a readable information band, never narrow columns inside columns. */
.viviare-site .elementor .viviare-category8-why,.viviare-site .elementor .viviare-category8-review{width:100%;max-width:none;padding:26px;border-radius:20px}
.viviare-site .elementor .viviare-category8-benefit{min-height:118px;padding:17px 16px;background:var(--viviare-category-soft,#f4f8fa)}
.viviare-site .elementor .viviare-category8-benefit h3{font-size:14px;line-height:1.2}
.viviare-site .elementor .viviare-category8-benefit .elementor-widget-text-editor{font-size:12.5px;line-height:1.45}
/* Home lower bands: separate trust, proof and utility instead of one crowded dashboard strip. */
.viviare-site .elementor .viviare-home8-reputation{margin-top:var(--vx47-section-space);padding:0}
.viviare-site .elementor .viviare-home8-value{margin-top:24px;padding:0;border-radius:20px;overflow:hidden}
.viviare-site .elementor .viviare-home8-value>.elementor-element{width:100%;max-width:none;padding:22px}
.viviare-site .elementor .viviare-platform-stat{min-height:112px;padding:18px 12px}
.viviare-site .elementor .viviare-platform-stat strong{font-size:30px}
.viviare-site .elementor .viviare-platform-stat span{font-size:12px;line-height:1.3}
.viviare-site .elementor .viviare-home8-benefits{align-items:stretch}
.viviare-site .elementor .viviare-home8-benefit{min-height:112px;padding:18px 14px 16px 52px}
.viviare-site .elementor .viviare-home8-benefit h3{font-size:13px;line-height:1.2}
.viviare-site .elementor .viviare-home8-benefit .elementor-widget-text-editor{font-size:12px;line-height:1.45}
.viviare-site .elementor .viviare-home8-utility{margin-top:28px;margin-bottom:var(--vx47-section-space);border-radius:20px;overflow:hidden}
.viviare-site .elementor .viviare-home8-utility-card{min-height:104px;padding:19px 18px 17px 64px}
.viviare-site .elementor .viviare-home8-utility-card h3{font-size:14px}
.viviare-site .elementor .viviare-home8-utility-card .elementor-widget-text-editor{font-size:12.5px;line-height:1.4}
/* Main cards: stronger hierarchy and less visual noise. */
.viviare-site .elementor .viviare-entity-card{border-radius:18px;box-shadow:0 9px 28px rgb(13 49 88 / 7%)}
.viviare-site .elementor .viviare-entity-card__body{padding:18px}
.viviare-site .elementor .viviare-entity-card h3{font-size:19px;line-height:1.16}
.viviare-site .elementor .viviare-entity-card__summary{font-size:13px;line-height:1.5}
.viviare-site .elementor .viviare-entity-card__footer{margin-top:6px;padding-top:14px}
@media(min-width:1024px){
  .viviare-site .elementor .viviare-category8-chips-wrap,.viviare-site .elementor .viviare-category8-section,.viviare-site .elementor .viviare-category8-trust,.viviare-site .elementor .viviare-category8-newsletter{width:min(var(--vx47-shell),calc(100% - 80px));max-width:var(--vx47-shell)}
  .viviare-site .elementor .viviare-category8-chips{gap:14px}
  .viviare-site .elementor .viviare-category8-trust{grid-template-columns:minmax(0,1.55fr) minmax(340px,.7fr);gap:22px}
}
@media(max-width:767px){
  :root{--vx47-section-space:var(--vx47-section-space-mobile)}
  .viviare-site .elementor .viviare-category8-chips-wrap,.viviare-site .elementor .viviare-category8-section,.viviare-site .elementor .viviare-category8-trust,.viviare-site .elementor .viviare-category8-newsletter{width:calc(100% - 28px);max-width:none}
  .viviare-site .elementor .viviare-category8-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .viviare-site .elementor .viviare-category8-chip{width:100%;min-height:100px;padding:15px 12px 13px 48px}
  .viviare-site .elementor .viviare-category8-section{padding-top:var(--vx47-section-space-mobile)}
  .viviare-site .elementor .viviare-section8-heading{gap:12px;margin-bottom:18px}
  .viviare-site .elementor .viviare-section8-heading h2{font-size:27px}
  .viviare-site .elementor .viviare-category8-trust{grid-template-columns:1fr;gap:12px}
  .viviare-site .elementor .viviare-category8-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .viviare-site .elementor .viviare-category8-benefit{width:100%;min-height:112px}
  .viviare-site .elementor .viviare-home8-reputation{margin-top:var(--vx47-section-space-mobile)}
  .viviare-site .elementor .viviare-home8-value{margin-top:18px}
  .viviare-site .elementor .viviare-home8-value>.elementor-element{padding:0}
  .viviare-site .elementor .viviare-platform-stats{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}
  .viviare-site .elementor .viviare-platform-stat{width:100%;min-height:94px;padding:14px 8px}
  .viviare-site .elementor .viviare-home8-benefits{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;border-left:0}
  .viviare-site .elementor .viviare-home8-benefit{width:100%;min-height:106px;padding:15px 10px 12px 44px}
  .viviare-site .elementor .viviare-home8-utility{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;margin-bottom:var(--vx47-section-space-mobile);border:0;background:transparent;overflow:visible}
  .viviare-site .elementor .viviare-home8-utility-card{width:100%;min-height:106px;padding:14px 11px 12px 50px;border:1px solid #dfe7ec;border-radius:15px;background:#fff}
  .viviare-site .elementor .viviare-home8-utility-card:nth-child(odd):last-child{grid-column:1/-1}
  .viviare-site .elementor .viviare-entity-card__body{padding:17px}
}

/* RC47 — territory quick navigation: do not depend on a release-specific area class. */
@media(max-width:767px){
  .viviare-site .elementor .viviare-territory8-categories{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:calc(100% - 28px);max-width:none;
    margin:18px auto 0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;
  }
  .viviare-site .elementor .viviare-territory8-categories>.viviare-territory8-category,
  .viviare-site .elementor .viviare-territory8-categories>.viviare-territory8-filter{
    width:100%;min-width:0;min-height:78px;padding:14px;border:1px solid #dfe7ec;border-radius:15px;background:#fff;scroll-snap-align:none;
  }
  .viviare-site .elementor .viviare-territory8-categories>.viviare-territory8-category{display:flex;flex-direction:column;justify-content:center}
  .viviare-site .elementor .viviare-territory8-categories>.viviare-territory8-filter{grid-column:1/-1;min-height:48px}
  .viviare-site .elementor .viviare-territory8-categories>.viviare-territory8-category.is-active:after{right:14px;left:14px}
}

/* RC47 — calibrated section rhythm from approved marketplace references. */
@media(min-width:1024px){
  .viviare-site .elementor .viviare-home8-section,
  .viviare-site .elementor .viviare-category8-section{padding-top:96px}
  .viviare-site .elementor .viviare-home8-section + .viviare-home8-section,
  .viviare-site .elementor .viviare-category8-section + .viviare-category8-section{padding-top:104px}
  .viviare-site .elementor .viviare-home8-section .viviare-section8-heading,
  .viviare-site .elementor .viviare-category8-section .viviare-section8-heading{margin-bottom:30px}
  .viviare-site .elementor .viviare-category8-chips{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px}
  .viviare-site .elementor .viviare-category8-chips--experience{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .viviare-site .elementor .viviare-category8-chip{min-height:118px}
  .viviare-site .elementor .viviare-category8-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .viviare-site .elementor .viviare-category8-benefit{border:1px solid #e0e8ed;border-radius:15px}
}
@media(max-width:767px){
  .viviare-site .elementor .viviare-home8-section,
  .viviare-site .elementor .viviare-category8-section{padding-top:58px}
  .viviare-site .elementor .viviare-home8-section + .viviare-home8-section,
  .viviare-site .elementor .viviare-category8-section + .viviare-category8-section{padding-top:64px}
  .viviare-site .elementor .viviare-section8-heading{align-items:flex-end}
  .viviare-site .elementor .viviare-section8-heading h2{font-size:29px;line-height:1.05}
  .viviare-site .elementor .viviare-section8-heading-copy .elementor-widget-text-editor{font-size:13px;line-height:1.5}
  .viviare-site .elementor .viviare-category8-benefit{border:1px solid #e1e9ee;border-radius:15px;background:#f7fafb}
}

/* RC48 — semantic quick choices and full-width section bands. */
.viviare-site .elementor .viviare-category8-chip{position:relative;padding-left:62px;border-color:#d8e5e9;background:linear-gradient(145deg,#fff,#fbfdfe);box-shadow:0 8px 24px rgb(13 49 88 / 5%);--choice-accent:var(--viviare-category-accent,#0b3158);--choice-soft:#eef5f7}
.viviare-site .elementor .viviare-category8-chip:before{content:"";position:absolute;left:16px;top:18px;width:34px;height:34px;border-radius:11px;background:var(--choice-soft);background-image:none}
.viviare-site .elementor .viviare-category8-chip:after{content:"";position:absolute;left:24px;top:26px;width:18px;height:18px;background:var(--choice-accent);-webkit-mask:var(--choice-icon) center/contain no-repeat;mask:var(--choice-icon) center/contain no-repeat}
.viviare-site .elementor .viviare-category8-chip:hover{border-color:color-mix(in srgb,var(--choice-accent) 42%,#d8e5e9);box-shadow:0 12px 30px rgb(13 49 88 / 8%)}
.viviare-choice--hotel{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V8h16v12h-2v-2H6v2H4Zm3-5h4v-4H7v4Zm6 0h4v-4h-4v4ZM6 8V4h12v4h-2V6H8v2H6Z'/%3E%3C/svg%3E")}.viviare-choice--bnb{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 9 8h-2v10h-6v-6h-2v6H5V11H3l9-8Zm0 3.7L7 11.1V19h2v-6h6v6h2v-7.9l-5-4.4Z'/%3E%3C/svg%3E")}.viviare-choice--home,.viviare-choice--apartment{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 21V5h14v16h-2v-2H7v2H5Zm2-4h10V7H7v10Zm2-8h2v2H9V9Zm4 0h2v2h-2V9Zm-4 4h2v2H9v-2Zm4 0h2v2h-2v-2Z'/%3E%3C/svg%3E")}.viviare-choice--farm{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 21v-8.1C6.4 12.4 4 9.8 4 5c4.8 0 7.4 2.4 8 6.8C12.8 8.1 15.5 6 20 6c0 4.5-2.3 7-7 7v8h-2Z'/%3E%3C/svg%3E")}.viviare-choice--resort,.viviare-choice--wellness{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 19h18v2H3v-2Zm2-4c2.7-4 5.3-6 7-6s4.3 2 7 6H5Zm7-8a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z'/%3E%3C/svg%3E")}.viviare-choice--sea{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 16c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2 2-2 2-2v3c-1 0-1 2-3 2s-2-2-4-2-2 2-4 2-2-2-4-2-2 2-3 2v-3Zm2-6 7-6 7 6-7-2-7 2Z'/%3E%3C/svg%3E")}.viviare-choice--nature{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 19 6-10 3 5 3-4 6 9H3Zm8.1-3.4L9 12l-3 5h11.2L15 13.7 12 18l-.9-2.4Z'/%3E%3C/svg%3E")}.viviare-choice--culture,.viviare-choice--village{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 20h18v2H3v-2Zm2-2V9h2v9H5Zm6 0V9h2v9h-2Zm6 0V9h2v9h-2ZM3 7l9-5 9 5v2H3V7Z'/%3E%3C/svg%3E")}.viviare-choice--food{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3v7a3 3 0 0 0 2 2.8V21H7V12.8A3 3 0 0 0 5 10V3h2Zm10 0v18h-2v-7h-2V7a4 4 0 0 1 4-4Z'/%3E%3C/svg%3E")}.viviare-choice--sport,.viviare-choice--route{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 21a3 3 0 1 1 2.8-4H16a3 3 0 1 1 0 2H7.8A3 3 0 0 1 5 21Zm14-14a3 3 0 1 1 2.8-4H8a2 2 0 0 0-2 2v7H4V5a4 4 0 0 1 4-4h11.2A3 3 0 0 1 19 7Z'/%3E%3C/svg%3E")}.viviare-choice--family{--choice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm8-1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM2 21v-3a6 6 0 0 1 12 0v3H2Zm13 0v-3c0-1.6-.4-3-1.2-4.3A5 5 0 0 1 22 18v3h-7Z'/%3E%3C/svg%3E")}
.viviare-choice--hotel,.viviare-choice--bnb,.viviare-choice--home,.viviare-choice--apartment,.viviare-choice--farm,.viviare-choice--resort{--choice-accent:#0b3158;--choice-soft:#edf4fa}.viviare-choice--sea,.viviare-choice--nature,.viviare-choice--culture,.viviare-choice--food,.viviare-choice--sport,.viviare-choice--wellness,.viviare-choice--family{--choice-accent:#0a999b;--choice-soft:#e6f7f5}.viviare-choice--village,.viviare-choice--route{--choice-accent:#b87800;--choice-soft:#fff3d7}
.viviare-site .elementor .viviare-full-bleed-soft{position:relative;isolation:isolate;padding-top:72px;padding-bottom:72px}.viviare-site .elementor .viviare-full-bleed-soft:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#eff8f7}.viviare-site .elementor .viviare-full-bleed-soft--gold:before{background:#fff8e8}
@media(max-width:767px){.viviare-site .elementor .viviare-category8-chip{padding-left:51px}.viviare-site .elementor .viviare-category8-chip:before{left:10px;top:15px;width:31px;height:31px}.viviare-site .elementor .viviare-category8-chip:after{left:17px;top:22px;width:17px;height:17px}.viviare-site .elementor .viviare-full-bleed-soft{padding-top:46px;padding-bottom:46px}}
