/* ==========================================================================
   Offer popup ("Book direct" campaign) + corner tab.
   Loaded only when the popup is switched on in Theme Settings > Offer Popup.
   Uses the theme's CSS variables, with fallbacks.
   ========================================================================== */
.svo button,.svo a,.svo-tab,.svo-tab *{box-sizing:border-box;margin:0;min-height:0;min-width:0;box-shadow:none;border-radius:0;text-shadow:none;float:none;width:auto;height:auto;font-style:normal;text-transform:none;letter-spacing:normal;line-height:1.2;text-decoration:none;-webkit-appearance:none;appearance:none}
.svo{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;pointer-events:none}
.svo.is-open{visibility:visible;pointer-events:auto}
.svo__scrim{position:absolute;inset:0;background:rgba(8,14,22,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity 360ms cubic-bezier(.22,1,.36,1)}
.svo.is-open .svo__scrim{opacity:1}
.svo__panel{position:relative;z-index:1;width:min(860px,100%);display:grid;grid-template-columns:.9fr 1.1fr;background:var(--c-pearl,#F5F3EE);color:var(--c-charcoal,#0E1620);box-shadow:0 40px 120px rgba(8,14,22,.42);opacity:0;transform:translateY(18px) scale(.985);transition:opacity 420ms cubic-bezier(.22,1,.36,1),transform 420ms cubic-bezier(.22,1,.36,1);max-height:calc(100dvh - 40px);overflow:auto}
.svo.is-open .svo__panel{opacity:1;transform:none}
.svo__fig{position:relative;min-height:100%;background:#1B3A5C 50% 52%/cover no-repeat}
.svo__fig::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,22,.05),rgba(8,14,22,.55))}
.svo__pct{position:absolute;left:26px;bottom:22px;z-index:1;color:#fff;font-family:var(--f-display,'Cormorant Garamond',serif);font-weight:300;line-height:.9}
.svo__pct b{display:block;font-weight:300;font-size:clamp(72px,9vw,112px);letter-spacing:-.03em}
.svo__pct span{font-style:italic;font-size:22px}
.svo__body{padding:clamp(30px,4vw,48px)}
.svo__eyebrow{font-family:var(--f-body,'Jost',sans-serif);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--c-olive,#4F6B86);display:block;margin-bottom:16px}
.svo__h{font-family:var(--f-display,'Cormorant Garamond',serif);font-weight:300;font-size:clamp(30px,3.6vw,44px);line-height:1.04;letter-spacing:-.014em;margin:0 0 16px}
.svo__h i{font-style:italic}
.svo__p{font-family:var(--f-body,'Jost',sans-serif);font-size:15px;line-height:1.75;color:rgba(14,22,32,.7);margin:0 0 24px;max-width:40ch}
.svo__dates{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(14,22,32,.14);border-bottom:1px solid rgba(14,22,32,.14);margin-bottom:22px}
.svo__dates div{padding:14px 0;display:flex;flex-direction:column;gap:6px}
.svo__dates div+div{padding-left:18px;border-left:1px solid rgba(14,22,32,.14)}
.svo__k{font-family:var(--f-body,'Jost',sans-serif);font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(14,22,32,.5)}
.svo__v{font-family:var(--f-display,'Cormorant Garamond',serif);font-style:italic;font-size:18px;line-height:1.2;color:var(--c-aegean,#1B3A5C)}
.svo__code{display:flex;align-items:stretch;margin-bottom:22px;border:1px dashed rgba(14,22,32,.32)}
.svo__code-v{flex:1;padding:13px 16px;font-family:var(--f-body,'Jost',sans-serif);font-size:15px;font-weight:500;letter-spacing:.16em}
.svo .svo__copy{white-space:nowrap;line-height:1;border:0;border-left:1px dashed rgba(14,22,32,.32);background:transparent;padding:0 18px;cursor:pointer;font-family:var(--f-body,'Jost',sans-serif);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c-aegean,#1B3A5C);transition:background-color 200ms}
.svo .svo__copy:hover{background:rgba(14,22,32,.05)}
.svo__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.svo .svo__cta{line-height:1;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;background:var(--c-aegean,#1B3A5C);color:#fff;text-decoration:none;font-family:var(--f-body,'Jost',sans-serif);font-size:11px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;transition:background-color 240ms}
.svo .svo__cta:hover{background:var(--c-charcoal,#0E1620);color:#fff}
.svo__cta em{font-family:var(--f-display,'Cormorant Garamond',serif);font-size:16px;letter-spacing:0;text-transform:none}
.svo .svo__later{line-height:1.4;border:0;background:none;padding:6px 0;cursor:pointer;font-family:var(--f-body,'Jost',sans-serif);font-size:12px;color:rgba(14,22,32,.55);text-decoration:underline;text-underline-offset:3px}
.svo .svo__later:hover{color:var(--c-charcoal,#0E1620)}
.svo__left{font-family:var(--f-body,'Jost',sans-serif);font-size:12px;color:rgba(14,22,32,.55);margin:18px 0 0}
.svo .svo__x{padding:0;position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid rgba(14,22,32,.18);background:rgba(245,243,238,.9);color:var(--c-charcoal,#0E1620);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform 220ms}
.svo .svo__x:hover{transform:rotate(90deg)}
button.svo-tab{margin:0;position:fixed;left:20px;bottom:20px;z-index:150;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border:0;cursor:pointer;background:var(--c-aegean,#1B3A5C);color:#fff;box-shadow:0 14px 40px rgba(8,14,22,.28);font-family:var(--f-body,'Jost',sans-serif);text-align:left;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity 360ms cubic-bezier(.22,1,.36,1),transform 360ms cubic-bezier(.22,1,.36,1),background-color 240ms}
button.svo-tab.is-on{opacity:1;transform:none;pointer-events:auto}
button.svo-tab:hover{background:var(--c-charcoal,#0E1620)}
.svo-tab .svo-tab__pct{line-height:1;font-style:normal;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--c-aegean,#1B3A5C);display:flex;align-items:center;justify-content:center;font-family:var(--f-display,'Cormorant Garamond',serif);font-size:19px;flex:none}
.svo-tab__t{display:flex;flex-direction:column;gap:3px}
.svo-tab .svo-tab__t b{line-height:1.2;font-weight:500;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.svo-tab .svo-tab__t span{line-height:1.2;text-transform:none;letter-spacing:normal;font-family:var(--f-display,'Cormorant Garamond',serif);font-style:italic;font-size:15px;opacity:.85}
@media (max-width:680px){.svo{padding:0;align-items:flex-end}
.svo__panel{grid-template-columns:1fr;max-height:92dvh}
.svo__fig{min-height:170px}
.svo__pct b{font-size:68px}
button.svo-tab{left:12px;bottom:12px;padding:10px 14px 10px 10px}
.svo-tab .svo-tab__pct{width:40px;height:40px;font-size:17px}}
@media (prefers-reduced-motion:reduce){.svo__panel,.svo__scrim,.svo-tab{transition:none}}

/* WordPress additions */
html.svo-locked, html.svo-locked body { overflow: hidden; }
.svo__dates--one { grid-template-columns: 1fr; }
.svo__dates--one div + div { padding-left: 0; border-left: 0; }
.svo__p a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
