/* ==========================================================
   Hotel Zephyr Manali: Disclaimer page styles
   Self-contained: header, footer and content styles for
   disclaimer.html only. Linked from disclaimer.html.
   ========================================================== */
:root{
  --pine:#1f3b34; --pine-d:#14271f; --cream:#f6f1e7; --sand:#ece3d2; --copper:#b9803f; --copper-d:#9a6829;
  --ink:#1c2420; --muted:#66706b;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --radius:4px; --ease:cubic-bezier(.22,.61,.36,1);
  --hdr:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 10px)}
body{margin:0;font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em;color:var(--pine-d)}
h1 em,h2 em{font-style:italic;color:var(--copper)}
p{margin:0 0 1.1em}
.container{width:min(1200px,100% - 48px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--copper);color:#fff;padding:10px 16px;z-index:300}
.skip:focus{left:10px;top:10px}
.eyebrow{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--copper);font-weight:500;margin-bottom:1rem}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}

/* Buttons */
.btn{display:inline-block;padding:15px 32px;font:500 .8rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,39,31,.2)}
.btn-gold{background:var(--copper);color:#fff}.btn-gold:hover{background:var(--copper-d)}
.btn-dark{background:var(--pine);color:#fff}.btn-dark:hover{background:var(--pine-d)}

/* Header (solid on legal pages) */
.site-header{position:fixed;inset:0 0 auto 0;height:66px;z-index:100;color:#fff;background:rgba(20,39,31,.96);backdrop-filter:blur(8px);box-shadow:0 4px 24px rgba(0,0,0,.18)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand-mark{width:34px;height:34px;color:var(--copper)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.brand-sub{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;margin-top:4px;opacity:.85}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400;position:relative;padding:6px 0}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:not(.btn):hover::after{transform:scaleX(1)}
.nav .nav-cta{padding:12px 22px;margin-left:6px}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative;z-index:120}
.burger span{position:absolute;left:10px;width:24px;height:2px;background:#fff;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.burger.open span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){top:21px;transform:rotate(-45deg)}

/* Page banner */
.legal-hero{position:relative;background:var(--pine-d);color:#fff;padding:calc(var(--hdr) + 70px) 0 70px;overflow:hidden}
.legal-hero-bg{position:absolute;inset:0;background:url(../assets/img/hero.svg) center 70%/cover no-repeat;opacity:.28}
.legal-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,39,31,.55),rgba(20,39,31,.92))}
.legal-hero .container{position:relative;z-index:2}
.legal-hero h1{font-size:clamp(2.6rem,6vw,4.6rem);color:#fff;font-weight:400;margin-bottom:.3em}
.legal-hero h1 em{color:#f0c78e}
.legal-lead{max-width:640px;font-size:1.1rem;opacity:.92}
.legal-updated{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#f0c78e;margin:1.4rem 0 0}
.crumbs{display:flex;gap:10px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2rem;opacity:.85}
.crumbs a:hover{color:#f0c78e}

/* Content layout */
.legal-wrap{padding:clamp(50px,7vw,90px) 0 clamp(70px,9vw,120px)}
.legal-layout{display:grid;grid-template-columns:280px 1fr;gap:clamp(36px,6vw,80px);align-items:start}
.legal-toc{position:sticky;top:calc(var(--hdr) + 24px);background:#fff;border-radius:var(--radius);padding:28px 26px;box-shadow:0 18px 44px rgba(20,39,31,.08);max-height:calc(100vh - var(--hdr) - 48px);overflow:auto}
.legal-toc h2{font:500 .72rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--copper);margin-bottom:1rem}
.legal-toc ol{list-style:none;margin:0;padding:0}
.legal-toc ol a{display:block;padding:7px 0 7px 14px;font-size:.92rem;color:var(--muted);border-left:2px solid var(--sand);transition:color .25s,border-color .25s,padding-left .25s}
.legal-toc ol a:hover,.legal-toc ol a.active{color:var(--pine-d);border-color:var(--copper);padding-left:18px}
.legal-toc ol a.active{font-weight:500}
.legal-switch{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--sand)}
.legal-switch a{display:block;padding:6px 0;font-size:.92rem;color:var(--pine);border-bottom:1px solid transparent;width:fit-content;transition:border-color .25s,color .25s}
.legal-switch a:hover,.legal-switch a.current{color:var(--copper);border-bottom-color:var(--copper)}

.legal-body{max-width:760px}
.legal-sec{padding-bottom:2.2rem;margin-bottom:2.2rem;border-bottom:1px solid var(--sand)}
.legal-sec h2{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:.6em}
.legal-sec p,.legal-sec li{color:#3b4742}
.legal-sec ul{margin:0 0 1.1em;padding:0;list-style:none}
.legal-sec li{position:relative;padding:4px 0 4px 26px}
.legal-sec li::before{content:"\25C6";position:absolute;left:0;top:11px;font-size:.5rem;color:var(--copper)}
.legal-sec a,.legal-contact a:not(.btn){color:var(--pine);border-bottom:1px solid var(--copper)}
.legal-sec a:hover,.legal-contact a:not(.btn):hover{color:var(--copper)}
.legal-sec strong{font-weight:500;color:var(--pine-d)}
.legal-contact{background:var(--pine);color:#fff;border-radius:var(--radius);padding:clamp(28px,4vw,44px)}
.legal-contact h2{color:#fff;font-size:2rem;margin-bottom:.4em}
.legal-contact p{color:rgba(255,255,255,.85)}
.legal-contact a:not(.btn){color:#f0c78e;border-color:#f0c78e}
.legal-contact .btn-dark{background:var(--copper)}
.legal-contact .btn-dark:hover{background:var(--copper-d)}

/* Footer */
.footer{background:var(--pine-d);color:rgba(255,255,255,.78);padding:80px 0 0;font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:60px}
.footer h4{font:500 .75rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:1.2rem}
.footer a:not(.brand){display:block;padding:5px 0;transition:color .25s,padding-left .25s}
.footer a:not(.brand):hover{color:#f0c78e;padding-left:6px}
.foot-note{margin-top:1.2rem;max-width:300px;font-size:.92rem}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem}

/* Tablet */
@media (max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  :root{--hdr:68px}
  .burger{display:block}
  .nav{position:fixed;inset:0 0 0 auto;width:min(340px,86vw);background:var(--pine-d);flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:90px 36px 40px;transform:translateX(100%);transition:transform .45s var(--ease);box-shadow:-20px 0 50px rgba(0,0,0,.35)}
  .nav.open{transform:none}
  .nav a{font-size:1rem;padding:12px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav .nav-cta{margin:20px 0 0;text-align:center;border:0}
  .legal-layout{grid-template-columns:1fr}
  .legal-toc{position:static;max-height:none}
  .legal-toc ol{columns:2;column-gap:20px}
}
/* Mobile */
@media (max-width:600px){
  body{font-size:16px}
  .container{width:calc(100% - 36px)}
  .brand-name{font-size:1.4rem}
  .legal-hero{padding-top:calc(var(--hdr) + 50px);padding-bottom:50px}
  .legal-toc ol{columns:1}
  .footer-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
