/* Booking Web V2.1 — taxonomy parity with Ascenda, premium Zi Vital treatment-selection polish */
.zvb-booking[data-booking-version="2"] .zvb-stage{min-height:0;padding:clamp(24px,3.5vw,42px)}

.zvb-domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.zvb-domain-card{display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid rgba(184,141,51,.18);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 15px 34px rgba(77,55,32,.07);cursor:pointer;text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.zvb-domain-card:hover,.zvb-domain-card:focus-visible{transform:translateY(-4px);border-color:rgba(184,141,51,.5);box-shadow:0 22px 44px rgba(77,55,32,.11);outline:none}
.zvb-domain-card__media{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(150deg,#f8efe4,#ead6b0)}
.zvb-domain-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.002);transition:transform .45s ease}
.zvb-domain-card:hover .zvb-domain-card__media img{transform:scale(1.035)}
.zvb-domain-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,27,20,.02) 35%,rgba(35,27,20,.32) 100%);pointer-events:none}
.zvb-domain-card__mark{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:rgba(255,252,247,.9);border:1px solid rgba(255,255,255,.72);box-shadow:0 9px 22px rgba(55,37,19,.12);backdrop-filter:blur(10px);color:var(--zvb-gold-deep);font-family:"Cormorant Garamond",serif;font-size:18px}
.zvb-domain-card__fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-size:56px;color:var(--zvb-gold-deep)}
.zvb-domain-card__body{display:flex;flex:1;flex-direction:column;padding:17px 18px 18px}
.zvb-domain-card__body>small{display:block;color:var(--zvb-gold-deep);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.zvb-domain-card__body>strong{display:block;margin-top:5px;font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:600;line-height:1;color:var(--zvb-ink)}
.zvb-domain-card__body>em{display:block;margin-top:7px;color:#967b52;font-size:8px;font-style:normal;font-weight:700;line-height:1.45}
.zvb-domain-card__body>p{margin:8px 0 0;color:var(--zvb-muted);font-size:9px;line-height:1.55}
.zvb-domain-card__link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;color:var(--zvb-gold-deep);font-size:9px;font-weight:800}
.zvb-domain-card__link b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fbf3e8;font-size:13px;transition:transform .2s ease}
.zvb-domain-card:hover .zvb-domain-card__link b{transform:translateX(2px)}

/* Step 2: premium approach architecture */
.zvb-search{position:relative;display:flex;align-items:center;gap:11px;margin:-3px 0 20px;padding:12px 15px;border:1px solid rgba(184,141,51,.18);border-radius:16px;background:linear-gradient(180deg,#fff,#fffdf9);box-shadow:0 8px 22px rgba(77,55,32,.035);color:#9d8363;transition:border-color .18s ease,box-shadow .18s ease}
.zvb-search:focus-within{border-color:rgba(184,141,51,.42);box-shadow:0 10px 26px rgba(77,55,32,.06),0 0 0 3px rgba(184,141,51,.055)}
.zvb-search span{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:10px;background:#fbf3e8;color:#8f6720;font-size:16px;line-height:1}
.zvb-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--zvb-ink);font:inherit;font-size:11px}.zvb-search input::placeholder{color:#aa9b91}
.zvb-approach-list{display:grid;gap:18px}
.zvb-approach-block{--zvb-approach-accent:#B88D33;--zvb-approach-soft:#F6E9D1;position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(184,141,51,.19);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,244,.98));box-shadow:0 14px 34px rgba(77,55,32,.055)}
.zvb-approach-block:nth-child(2){--zvb-approach-accent:#A3805C;--zvb-approach-soft:#F4E9DF}
.zvb-approach-block:nth-child(3){--zvb-approach-accent:#CAA657;--zvb-approach-soft:#F8EFD8}
.zvb-approach-block:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,transparent,var(--zvb-approach-accent) 24%,var(--zvb-approach-accent) 76%,transparent);opacity:.85;pointer-events:none}
.zvb-approach-block:after{content:"";position:absolute;right:-64px;top:-76px;width:175px;height:175px;border-radius:50%;border:1px solid rgba(184,141,51,.10);background:radial-gradient(circle at 42% 42%,rgba(255,255,255,.55) 0 19%,transparent 20%),radial-gradient(circle,rgba(202,166,87,.12),rgba(202,166,87,.035) 54%,transparent 55%);pointer-events:none;z-index:-1}
.zvb-approach-block__head{position:relative;z-index:1;display:flex;align-items:center;gap:17px;padding:19px 20px 17px;border-bottom:1px solid rgba(232,220,203,.84);background:linear-gradient(105deg,rgba(255,255,255,.96),rgba(255,250,242,.74))}
.zvb-approach-block__icon{position:relative;display:grid;place-items:center;width:62px;height:62px;flex:0 0 62px;border-radius:20px;background:radial-gradient(circle at 35% 28%,#fff 0 8%,transparent 9%),linear-gradient(145deg,#fffaf1,var(--zvb-approach-soft));border:1px solid rgba(184,141,51,.22);color:var(--zvb-approach-accent);font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:700;box-shadow:0 11px 25px rgba(77,55,32,.08),inset 0 0 0 5px rgba(255,255,255,.55);text-shadow:0 1px 0 rgba(255,255,255,.85)}
.zvb-approach-block__icon:before,.zvb-approach-block__icon:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.zvb-approach-block__icon:before{width:17px;height:17px;right:-5px;top:-5px;background:#fff;border:1px solid rgba(184,141,51,.24);box-shadow:0 5px 12px rgba(77,55,32,.08)}
.zvb-approach-block__icon:after{width:5px;height:5px;right:1px;top:1px;background:var(--zvb-approach-accent);box-shadow:0 0 0 4px rgba(184,141,51,.08)}
.zvb-approach-block__head>div{min-width:0;flex:1}.zvb-approach-block__head small{display:inline-flex;align-items:center;gap:6px;color:#9a7c55;font-size:7.5px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.zvb-approach-block__head small:before{content:"";width:16px;height:1px;background:var(--zvb-approach-accent);opacity:.7}.zvb-approach-block__head h3{margin:4px 0 0;color:var(--zvb-ink);font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;letter-spacing:-.015em;line-height:1.05}.zvb-approach-block__head strong{display:block;margin-top:4px;color:var(--zvb-approach-accent);font-size:8px;line-height:1.45}.zvb-approach-block__head p{max-width:680px;margin:6px 0 0;color:var(--zvb-muted);font-size:8.5px;line-height:1.55}
.zvb-approach-block__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px}
.zvb-treat{position:relative;display:flex;align-items:center;gap:11px;min-width:0;min-height:74px;padding:11px 42px 11px 11px;border:1px solid rgba(184,141,51,.15);border-radius:16px;background:linear-gradient(180deg,#fff,#fffdf9);cursor:pointer;text-align:left;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.zvb-treat:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;border-radius:99px;background:var(--zvb-approach-accent);opacity:0;transform:scaleY(.45);transition:opacity .18s ease,transform .18s ease}
.zvb-treat:after{content:"→";position:absolute;right:13px;top:50%;transform:translate(-3px,-50%);color:#b7a28a;font-size:14px;opacity:.7;transition:transform .18s ease,color .18s ease,opacity .18s ease}
.zvb-treat:hover,.zvb-treat:focus-visible{transform:translateY(-2px);border-color:rgba(184,141,51,.46);box-shadow:0 11px 24px rgba(77,55,32,.07);background:#fffaf3;outline:none}
.zvb-treat:hover:before,.zvb-treat:focus-visible:before,.zvb-treat.is-selected:before{opacity:1;transform:scaleY(1)}
.zvb-treat:hover:after,.zvb-treat:focus-visible:after{transform:translate(1px,-50%);color:var(--zvb-gold-deep);opacity:1}
.zvb-treat.is-selected{border-color:rgba(184,141,51,.68);background:linear-gradient(145deg,#fffaf1,#fffdf9);box-shadow:0 10px 24px rgba(184,141,51,.10),inset 0 0 0 1px rgba(202,166,87,.12)}
.zvb-treat.is-selected:after{content:"✓";display:grid;place-items:center;width:22px;height:22px;right:11px;border-radius:50%;background:#f4ead8;color:#8f6720;font-size:10px;font-weight:900;transform:translateY(-50%);opacity:1}
.zvb-treat__icon{position:relative;display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:radial-gradient(circle at 33% 25%,#fff 0 7%,transparent 8%),linear-gradient(145deg,#fff9ef,#f4e4cb);border:1px solid rgba(184,141,51,.14);color:var(--zvb-approach-accent);font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:700;box-shadow:0 7px 16px rgba(77,55,32,.055),inset 0 0 0 4px rgba(255,255,255,.48)}
.zvb-treat__icon:after{content:"";position:absolute;inset:6px;border-radius:11px;border:1px solid rgba(184,141,51,.08);pointer-events:none}
.zvb-treat__copy{min-width:0;flex:1}.zvb-treat__copy strong{display:block;color:var(--zvb-ink);font-size:10.5px;line-height:1.3}.zvb-treat__copy small{display:block;margin-top:4px;color:#9b8a7d;font-size:7px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zvb-treat__badge{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(184,141,51,.10);border-radius:999px;background:#f9f1e5;color:#88662b;font-size:7px;font-weight:900;letter-spacing:.015em;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}

.zvb-route-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.zvb-route-card{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:13px;align-items:center;padding:17px;border:1px solid rgba(184,141,51,.17);border-radius:19px;background:linear-gradient(145deg,#fff,#fffaf4);cursor:pointer;text-align:left;transition:.2s ease}.zvb-route-card:hover,.zvb-route-card:focus-visible{transform:translateY(-2px);border-color:rgba(184,141,51,.5);box-shadow:0 12px 28px rgba(77,55,32,.07);outline:none}.zvb-route-card>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#fbf1e4;color:var(--zvb-gold-deep);font-family:"Cormorant Garamond",serif;font-size:17px;font-weight:700}.zvb-route-card small{display:block;color:#9a887b;font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.zvb-route-card strong{display:block;margin-top:3px;color:var(--zvb-ink);font-size:12px}.zvb-route-card p{margin:4px 0 0;color:var(--zvb-muted);font-size:8px;line-height:1.5}.zvb-route-card>b{color:#b59a6a;font-size:16px}

@media (max-width:980px){
  .zvb-domain-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
  .zvb-domain-card__body{padding:14px}.zvb-domain-card__body>strong{font-size:24px}.zvb-domain-card__body>em{font-size:7px}
  .zvb-approach-block__head h3{font-size:21px}
}
@media (max-width:760px){
  .zvb-booking[data-booking-version="2"] .zvb-stage{padding:22px 18px;border-radius:24px}
  .zvb-domain-grid{display:flex;overflow-x:auto;gap:12px;padding:1px 1px 10px;scroll-snap-type:x mandatory;scrollbar-width:none}.zvb-domain-grid::-webkit-scrollbar{display:none}
  .zvb-domain-card{flex:0 0 78%;scroll-snap-align:start}.zvb-domain-card__media{aspect-ratio:4/5}
  .zvb-approach-block__head{align-items:flex-start;padding:16px}.zvb-approach-block__icon{width:54px;height:54px;flex-basis:54px;border-radius:18px;font-size:21px}.zvb-approach-block__head h3{font-size:20px}
  .zvb-approach-block__items{grid-template-columns:1fr}.zvb-route-choice{grid-template-columns:1fr}
  .zvb-treat{min-height:70px;padding-right:39px}.zvb-treat__badge{font-size:6.5px}.zvb-stephead{gap:12px}.zvb-stephead h2{font-size:36px}
}
@media (max-width:480px){
  .zvb-domain-card{flex-basis:84%}.zvb-domain-card__body>strong{font-size:27px}.zvb-approach-block{border-radius:20px}.zvb-approach-block__head{gap:12px;padding:14px}.zvb-approach-block__icon{width:50px;height:50px;flex-basis:50px;border-radius:16px}.zvb-approach-block__head h3{font-size:19px}.zvb-approach-block__items{padding:9px}.zvb-treat{padding:9px 36px 9px 9px;gap:9px}.zvb-treat__icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}.zvb-treat__badge{padding:4px 6px}.zvb-route-card{grid-template-columns:43px minmax(0,1fr) 18px;padding:14px}
}
@media (prefers-reduced-motion:reduce){.zvb-domain-card,.zvb-domain-card__media img,.zvb-treat,.zvb-treat:before,.zvb-treat:after{transition:none!important}}
