/* ===== VAC — Standard / Premium / Excellence customize + summary overlay =====
   Shared across the theme pages (beach, royal2, royal3 and others).
   Local UI only: Buy now routes to WhatsApp; no Razorpay wired. The three-tier
   selector (.wpk-*) is styled in theme-hero.css. Palette mirrors royal-theme's
   approved burgundy editorial look. ============================================= */
  .vac{position:fixed;inset:0;z-index:4000;--vink:#2c2622;--vmut:#6f665f;--vfaint:#9a9089;--vline:#e8ddce;--vburg:#6E1423;--vburgd:#54101b;--vgold:#C9A96E;--vpanel:#f5f0e9;
    font-family:var(--font-body,'DM Sans',sans-serif);color:var(--vink)}
  .vac[hidden]{display:none}
  .vac-backdrop{position:absolute;inset:0;background:rgba(74,12,22,.5);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
  .vac-sheet{position:absolute;z-index:2;background:#fbf7f1}
  .vac-customize{left:50%;top:56px;transform:translateX(-50%);width:min(760px,94vw);max-height:calc(100vh - 76px);
    border-radius:26px 26px 0 0;box-shadow:0 -10px 60px rgba(0,0,0,.28),0 40px 90px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}
  .vac-customize[hidden]{display:none}
  .vac-grab{width:46px;height:5px;border-radius:5px;background:#d8c4a6;margin:13px auto 0;flex:none}
  .vac-head{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 56px 22px;flex:none}
  .vac-head::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:64px;height:1px;background:var(--vgold)}
  .vac-x{position:absolute;top:16px;right:20px;width:38px;height:38px;border:1px solid var(--vline);border-radius:50%;background:#fff;cursor:pointer;color:var(--vmut);font-size:1.05rem;line-height:1;transition:.25s}
  .vac-x:hover{border-color:var(--vburg);color:var(--vburg)}
  .vac-sel{order:-1;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--vgold);margin:0 0 8px}
  .vac-price{font-family:var(--font-head,'Cormorant Garamond',serif);font-size:2.6rem;font-weight:600;line-height:.95;color:var(--vink);letter-spacing:.01em}
  .vac-change{margin-top:12px;font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--vmut);border:none;border-bottom:1px solid rgba(201,169,110,.7);padding-bottom:3px;cursor:pointer;transition:.25s}
  .vac-change:hover{color:var(--vburg);border-bottom-color:var(--vburg)}
  .vac-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px 30px 26px;-webkit-overflow-scrolling:touch}
  .vac-intro{text-align:center;font-style:italic;font-family:var(--font-head,serif);font-size:1.15rem;color:var(--vmut);margin:2px 0 22px}
  .vac-intro b{color:var(--vburg);font-weight:600;font-style:normal;font-family:var(--font-body,sans-serif);font-size:.86rem;letter-spacing:.02em}
  .vac-addon{width:100%;display:flex;align-items:center;gap:18px;text-align:left;background:#fffdfa;border:1px solid var(--vline);border-radius:16px;padding:18px 22px;margin-bottom:11px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .25s,background .25s,box-shadow .25s,transform .25s}
  .vac-addon[hidden]{display:none}
  .vac-addon::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--vgold);opacity:0;transition:opacity .25s}
  .vac-addon:hover{border-color:#d9c39f;box-shadow:0 8px 22px rgba(110,20,35,.06);transform:translateY(-1px)}
  .vac-addon.on{background:#f6eedf;border-color:var(--vburg)}
  .vac-addon.on::before{opacity:1}
  .vac-radio{flex:none;width:26px;height:26px;border-radius:8px;border:1.5px solid #cbb8a3;position:relative;background:#fff;transition:.25s}
  .vac-addon.on .vac-radio{border-color:var(--vburg);background:var(--vburg)}
  .vac-addon.on .vac-radio::after{content:'';position:absolute;left:9px;top:5px;width:6px;height:11px;border:solid #f6eedf;border-width:0 2px 2px 0;transform:rotate(43deg)}
  .vac-meta{flex:1;min-width:0}
  .vac-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vink);transition:color .25s}
  .vac-addon.on .vac-t{color:var(--vburg)}
  .vac-save{font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4a0e17;background:var(--vgold);padding:4px 10px;border-radius:20px}
  .vac-d{display:block;font-size:.82rem;color:var(--vmut);line-height:1.5;margin-top:7px}
  .vac-amt{flex:none;text-align:right;white-space:nowrap}
  .vac-amt .vac-p{font-family:var(--font-head,'Cormorant Garamond',serif);font-size:1.35rem;font-weight:600;color:var(--vink)}
  .vac-amt .vac-was{display:block;font-size:.76rem;color:var(--vfaint);text-decoration:line-through;margin-top:2px}
  .vac-std{margin:-3px 0 12px;padding:16px 18px;background:#f4ede1;border:1px solid var(--vline);border-radius:14px}
  .vac-std[hidden]{display:none}
  .vac-std-lead{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vmut);margin:0 0 12px}
  .vac-std-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}
  .vac-std-opt{flex:none;width:90px;background:none;border:none;padding:0;cursor:pointer;text-align:center}
  .vac-std-thumb{display:block;width:90px;height:154px;border-radius:11px;overflow:hidden;position:relative;background:linear-gradient(150deg,#efe6d6,#e2d3bc);border:2px solid transparent;box-shadow:0 6px 16px rgba(0,0,0,.08);transition:.2s}
  .vac-std-thumb::after{content:'✦';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#cbb68f;font-size:1.15rem}
  .vac-std-thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
  .vac-std-label{display:block;margin-top:8px;font-size:.7rem;font-weight:600;letter-spacing:.03em;color:var(--vink)}
  .vac-std-opt:hover .vac-std-thumb{border-color:#d9c39f}
  .vac-std-opt.sel .vac-std-thumb{border-color:var(--vburg);box-shadow:0 0 0 2px var(--vburg),0 8px 18px rgba(110,20,35,.18)}
  .vac-std-opt.sel .vac-std-label{color:var(--vburg)}
  .vac-feat{background:#f7f0e4;border-color:var(--vgold)}
  .vac-feat.on{background:#f2e6cf}
  .vac-addon.inc{cursor:default;background:#faf4ea;border-color:#e6d3ad}
  .vac-addon.inc::before{opacity:0}
  .vac-addon.inc:hover{transform:none;box-shadow:none;border-color:#e6d3ad}
  .vac-addon.inc .vac-radio{border-color:var(--vgold);background:var(--vgold)}
  .vac-addon.inc .vac-radio::after{content:'';position:absolute;left:9px;top:5px;width:6px;height:11px;border:solid #6E1423;border-width:0 2px 2px 0;transform:rotate(43deg)}
  .vac-addon.inc .vac-amt .vac-p,.vac-addon.inc .vac-amt .vac-was{display:none}
  .vac-addon.inc .vac-amt::after{content:'INCLUDED';font-size:.6rem;font-weight:700;letter-spacing:.14em;color:#a9812f}
  .vac-foot{flex:none;border-top:1px solid var(--vline);padding:16px 30px 20px;background:#fbf7f1}
  .vac-note{background:#f2e9db;border:1px solid rgba(201,169,110,.4);border-radius:12px;overflow:hidden;max-height:0;opacity:0;padding:0 16px;margin:0;font-size:.85rem;line-height:1.55;color:var(--vmut);transition:max-height .35s,opacity .3s,padding .35s,margin .35s}
  .vac-note.show{max-height:200px;opacity:1;padding:16px;margin-bottom:14px}
  .vac-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
  .vac-btn2{background:transparent;border:1px solid #d3c2a6;border-radius:11px;padding:15px 12px;font-family:inherit;font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--vink);cursor:pointer;transition:.25s}
  .vac-btn2:hover{border-color:var(--vburg);color:var(--vburg);background:#fff}
  .vac-cta{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;font-size:.86rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--vburg);border:none;border-radius:14px;padding:19px;cursor:pointer;box-shadow:0 14px 36px rgba(110,20,35,.26);transition:.3s}
  .vac-cta:hover{background:var(--vburgd);transform:translateY(-2px)}
  .vac-cta svg{width:16px;height:16px}
  .vac-summary{left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,94vw);max-height:calc(100vh - 90px);overflow-y:auto;
    border-radius:26px;padding:32px 40px 34px;box-shadow:0 40px 100px rgba(0,0,0,.34)}
  .vac-summary[hidden]{display:none}
  .vac-shead{position:relative;text-align:center;margin-bottom:24px;padding-bottom:20px}
  .vac-shead::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:64px;height:1px;background:var(--vgold)}
  .vac-shead h3{font-family:var(--font-head,'Cormorant Garamond',serif);font-size:2rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0;line-height:1.08}
  .vac-summary .vac-x{top:24px;right:28px}
  .vac-ord{display:flex;align-items:flex-start;gap:20px;background:#fffdfa;border:1px solid var(--vline);border-radius:18px;padding:18px;margin-bottom:24px}
  .vac-thumb{width:104px;flex:none;align-self:flex-start;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.16);padding:6px}
  .vac-thumb img{width:100%;display:block;border-radius:8px}
  .vac-om{flex:1;min-width:0;display:flex;flex-direction:column}
  .vac-oname{font-family:var(--font-head,serif);font-size:1.5rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1}
  .vac-otier{font-size:.9rem;margin-top:8px;font-weight:600;color:var(--vink)}
  .vac-otier .a{color:var(--vmut);font-weight:400}
  .vac-olines{margin-top:12px;display:flex;flex-direction:column;gap:9px}
  .vac-exrow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:.85rem;padding-left:15px;position:relative}
  .vac-exrow::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--vgold)}
  .vac-exrow .n{color:var(--vink)}
  .vac-exrow .p{color:var(--vink);font-weight:600;white-space:nowrap}
  .vac-exinc::before{background:#a9812f}
  .vac-exinc .n{color:var(--vmut)}
  .vac-exinc .p{color:#a9812f;font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
  .vac-none{font-size:.84rem;color:var(--vmut);margin-top:8px}
  .vac-odiv{height:1px;background:rgba(201,169,110,.45);margin:16px 0}
  .vac-ototal{display:flex;align-items:baseline;justify-content:space-between}
  .vac-ototal .l{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--vmut)}
  .vac-ototal .v{font-family:var(--font-head,serif);font-size:2rem;font-weight:600}
  .vac-ord[hidden]{display:none}
  .vac-sd[hidden]{display:none}
  .vac-fld2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .vac-sd-note{background:#f2e9db;border:1px solid rgba(201,169,110,.4);border-radius:12px;padding:14px 16px;font-size:.85rem;line-height:1.55;color:var(--vmut);text-align:center;margin:6px 0 16px}
  .vac-sd-sum{background:var(--vpanel);border-radius:14px;padding:18px 20px;margin-bottom:18px}
  .vac-sd-sum-h{font-family:var(--font-head,serif);font-size:1.25rem;font-weight:600;letter-spacing:.03em;color:var(--vink);margin-bottom:10px}
  .vac-sd-line{font-size:.95rem;color:var(--vink);margin-bottom:5px}
  .vac-sd-line[hidden]{display:none}
  .vac-sd-sum .vac-odiv{margin:14px 0}
  @media (max-width:600px){ .vac-fld2{grid-template-columns:1fr;gap:0} }
  .vac-fld{margin-bottom:15px}
  .vac-fld label{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}
  .vac-fld input{width:100%;font-family:inherit;font-size:.95rem;color:var(--vink);background:#fffdfa;border:1px solid var(--vline);border-radius:12px;padding:15px 16px;outline:none;transition:.25s}
  .vac-fld input::placeholder{color:#c3b8ac}
  .vac-fld input:focus{border-color:var(--vgold);box-shadow:0 0 0 3px rgba(201,169,110,.16)}
  .vac-help{font-size:.78rem;color:var(--vmut);margin:2px 0 18px}
  .vac-edit{width:100%;background:transparent;border:1px solid #d3c2a6;border-radius:12px;padding:16px;font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vink);cursor:pointer;margin-bottom:12px;transition:.25s}
  .vac-edit:hover{border-color:var(--vburg);color:var(--vburg);background:#fff}
  .vac-after{text-align:center;font-style:italic;font-family:var(--font-head,serif);font-size:.98rem;line-height:1.5;color:var(--vmut);margin:16px auto 0;max-width:420px}
  .vac-sfoot{border-top:1px solid var(--vline);margin-top:20px;padding-top:20px;text-align:center}
  .vac-sfoot .sec{font-size:.8rem;font-weight:600}
  .vac-pills{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px 0}
  .vac-pills span{background:#f2e9db;border:1px solid rgba(201,169,110,.35);border-radius:7px;padding:4px 11px;font-size:.66rem;font-weight:700;letter-spacing:.04em;color:var(--vmut)}
  .vac-rate{font-size:.78rem;color:var(--vmut)}
  .vac-rate .s{color:var(--vgold)}
  @media (max-width:600px){
    .vac-customize{width:100vw;top:auto;bottom:0;border-radius:20px 20px 0 0;max-height:calc(100vh - 46px);max-height:calc(100dvh - 46px)}
    .vac-head{padding:18px 44px 20px}.vac-x{right:14px;top:14px}.vac-body{padding:18px 16px 22px}
    .vac-price{font-size:2.2rem}
    .vac-addon{padding:16px 16px;gap:14px;margin-bottom:10px}.vac-foot{padding:14px 16px max(18px,env(safe-area-inset-bottom))}.vac-actions{grid-template-columns:1fr}
    .vac-summary{width:100vw;top:auto;bottom:0;height:auto;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);transform:translateX(-50%);border-radius:20px 20px 0 0;padding:24px 18px}
    .vac-summary .vac-x{top:16px;right:16px}.vac-shead h3{font-size:1.7rem}
  }

  /* ── Homepage plan-button launch (pages with VAC_THEME.flowHome, e.g. Royal) ──
     A head snippet adds html.flow-launching when arriving via ?flow=, hiding the page instantly so
     the checkout opens with no flash; theme-plans.js lifts it once the sheet is open. */
  html.flow-launching{background:radial-gradient(120% 80% at 50% 0%,#FBF6EE 0%,var(--beige) 55%,#EFE5D6 100%)}
  html.flow-launching body{overflow:hidden}
  html.flow-launching body>*:not(#vac){opacity:0!important;pointer-events:none}
  html.flow-launching #vac{opacity:1!important;visibility:visible!important}
  /* …and the sheet sits on a solid backdrop so the design page never shows behind it */
  .vac.vac-solidbg .vac-backdrop{background:radial-gradient(120% 80% at 50% 0%,#FBF6EE 0%,#F2E7D7 55%,#EADFCE 100%);-webkit-backdrop-filter:none;backdrop-filter:none}
