/* Veloria Escape — night canvas.
   A dark variant of the design system: token VALUES are remapped, component classes are only
   touched where a dark canvas requires it (hardcoded white-on-ink states, light-surface toasts,
   focus rings, skeletons). Nothing new is invented — terracotta stays the only accent, the warm
   stone ink flips to a warm off-white, and the two photo-protection gradients get deeper. */

html[data-theme="night"]{
  --ve-night-canvas:#0B1C20;
  --ve-night-soft:#102429;
  --ve-night-strong:#162E33;
  --ve-night-ink:#F5F2ED;
  --ve-night-body:#C4CFCE;
  --ve-night-muted:#93A1A1;
  --ve-night-muted-soft:#8A9796;
  --ve-night-accent-text:#E8845F;

  --color-canvas:var(--ve-night-canvas);
  --color-surface-soft:var(--ve-night-soft);
  --color-surface-strong:var(--ve-night-strong);
  --color-surface-inverse:var(--ve-stone-50);
  --color-on-inverse:var(--ve-stone-900);
  --color-ink:var(--ve-night-ink);
  --color-body:var(--ve-night-body);
  --color-muted:var(--ve-night-muted);
  --color-muted-soft:var(--ve-night-muted-soft);
  --color-hairline:rgba(245,242,237,.17);
  --color-hairline-soft:rgba(245,242,237,.09);
  --color-border-strong:rgba(245,242,237,.32);
  --color-primary-subtle:rgba(220,107,78,.16);
  --color-focus-ring:var(--ve-night-ink);
  --color-scrim:rgba(4,12,14,.66);
  --color-image-tint:rgba(245,242,237,.05);
  --color-success:#6FC79C;--color-success-subtle:rgba(47,125,92,.18);
  --color-warning:#DCA84E;--color-warning-subtle:rgba(156,106,21,.22);
  --color-error:#F0929C;--color-error-subtle:rgba(176,44,63,.22);
  --color-info:#8FC0D8;--color-info-subtle:rgba(44,95,122,.22);
  --overlay-photo-bottom:linear-gradient(to top,rgba(8,20,23,.84) 0%,rgba(8,20,23,.26) 46%,rgba(8,20,23,0) 76%);
  --overlay-photo-hero:linear-gradient(to top,rgba(8,20,23,.88) 0%,rgba(8,20,23,.34) 52%,rgba(8,20,23,.5) 100%);
  --elevation-card:0 1px 2px rgba(0,0,0,.5),0 14px 32px -18px rgba(0,0,0,.7);
  --elevation-floating:0 2px 8px rgba(0,0,0,.55),0 28px 60px -22px rgba(0,0,0,.8);
}

/* terracotta as TEXT needs the lighter step to clear 4.5:1 on the dark canvas */
html[data-theme="night"] .ve-eyebrow--brand,html[data-theme="night"] .ve-wordmark__suffix,html[data-theme="night"] a:hover,html[data-theme="night"] .ve-footer-link:hover,html[data-theme="night"] .ve-contact-line:hover,html[data-theme="night"] .ve-drawer__link:hover,html[data-theme="night"] .ve-crumbs a:hover{color:var(--ve-night-accent-text)}
html[data-theme="night"] .ve-badge--brand{background:var(--color-primary-subtle);color:var(--ve-night-accent-text)}
html[data-theme="night"] .ve-loading__spinner{border-top-color:var(--ve-night-accent-text)}

/* states that hardcode white on ink: ink is now light, so the label takes the canvas */
html[data-theme="night"] .ve-tag.is-selected,html[data-theme="night"] .ve-page-btn.is-active,html[data-theme="night"] .ve-cal__day.is-selected{color:var(--color-canvas)}
/* the two --onphoto variants keep their white fill, so their content stays dark */
html[data-theme="night"] .ve-badge--onphoto,html[data-theme="night"] .ve-iconbtn--onphoto{color:var(--ve-stone-900)}

/* inverse sits on photography — it stays a light block */
html[data-theme="night"] .ve-btn--inverse{background:var(--color-surface-inverse);color:var(--color-on-inverse)}
html[data-theme="night"] .ve-btn--inverse:hover{background:#fff;color:var(--color-on-inverse)}

/* the toast is the one light surface left in the system */
html[data-theme="night"] .ve-toast__title{color:var(--color-on-inverse)}
html[data-theme="night"] .ve-toast__close{color:var(--ve-stone-600)}
html[data-theme="night"] .ve-toast__close:hover{color:var(--ve-stone-900)}
html[data-theme="night"] .ve-toast--success .ve-toast__icon{color:#2F7D5C}
html[data-theme="night"] .ve-toast--error .ve-toast__icon{color:#B02C3F}

html[data-theme="night"] .ve-alert--info{border-color:rgba(143,192,216,.28)}
html[data-theme="night"] .ve-alert--success{border-color:rgba(111,199,156,.28)}
html[data-theme="night"] .ve-alert--warning{border-color:rgba(220,168,78,.28)}
html[data-theme="night"] .ve-alert--error{border-color:rgba(240,146,156,.28)}
html[data-theme="night"] .ve-input:focus{box-shadow:0 0 0 3px rgba(245,242,237,.14)}
html[data-theme="night"] .ve-input.is-error:focus{box-shadow:0 0 0 3px rgba(240,146,156,.18)}
html[data-theme="night"] .ve-skeleton{background:linear-gradient(90deg,var(--ve-night-strong) 0%,rgba(245,242,237,.13) 40%,var(--ve-night-strong) 80%);background-size:200% 100%}

/* ---------- night hero: photography full-bleed, planner pinned to the lower edge ---------- */
.vn-hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;overflow:hidden}
.vn-hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vn-hero__grade{position:absolute;inset:0;background:var(--overlay-photo-hero)}
.vn-hero__inner{position:relative;width:100%;display:flex;flex-direction:column;gap:var(--space-3xl);padding-top:calc(var(--nav-height) + var(--space-2xl));padding-bottom:var(--space-2xl)}
.vn-hero__copy{display:flex;flex-direction:column;gap:var(--space-lg);max-width:660px}
.vn-hero .ve-search{background:rgba(8,20,23,.78);border-color:rgba(245,242,237,.24)}
.vn-hero .ve-search__field:hover{background:rgba(245,242,237,.08)}
.vn-hero .ve-search__field.is-active{background:rgba(245,242,237,.14)}
.vn-hero .ve-searchbar{background:rgba(8,20,23,.78);border-color:rgba(245,242,237,.24)}

/* ---------- editorial package grid: facts left, photograph right, hairline structure ---------- */
.vn-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-hairline-soft)}
.vn-split__cell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.76fr);gap:var(--space-xl);align-items:start;padding-block:var(--space-2xl);border-bottom:1px solid var(--color-hairline-soft)}
.vn-split__cell:nth-child(2n+1){padding-right:var(--space-2xl);border-right:1px solid var(--color-hairline-soft)}
.vn-split__cell:nth-child(2n){padding-left:var(--space-2xl)}
.vn-split__text{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}
.vn-split__facts{display:flex;flex-direction:column;gap:10px;margin-top:var(--space-sm)}
.vn-split__cta{margin-top:var(--space-base)}
.vn-split__photo{overflow:hidden;border-radius:var(--radius-image)}
.vn-split__cell:hover .vn-split__photo img{transform:scale(var(--hover-image-scale))}
@media (max-width:1128px){
  .vn-split{grid-template-columns:minmax(0,1fr)}
  .vn-split__cell:nth-child(2n+1){padding-right:0;border-right:none}
  .vn-split__cell:nth-child(2n){padding-left:0}
}
@media (max-width:744px){
  .vn-hero{min-height:min(88vh,720px)}
  .vn-hero__inner{gap:var(--space-xl)}
  .vn-split__cell{grid-template-columns:minmax(0,1fr);gap:var(--space-base);padding-block:var(--space-xl)}
  .vn-split__photo{order:-1}
}
