/* common.css — shared rules for landing pages and catalog.
   Linked BEFORE styles.css / catalog.css from app/partials/header.php so page-specific
   rules can override anything if ever needed. */

/* ===== BLOCK A: base reset / tokens / typography ===== */
*{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg-d:#000; --bg-d2:#0a0a0a; --bg-d3:#141414;
  --bg-l:#fbfbfd; --bg-l2:#f5f5f7;
  --ink-d:#1d1d1f; --ink-l:#fff;
  --mut-d:#86868b; --mut-l:#6e6e73;
  --line-d:#1d1d1f; --line-l:#d2d2d7;
  --accent:#cbb070;
  --gold:#e5c87a;
}

html{scroll-behavior:smooth;scroll-padding-top:80px}
html,body{background:var(--bg-d);color:var(--ink-l);font-family:-apple-system,"SF Pro Display","SF Pro Text","Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:#fff;color:#000;padding:12px 18px;border-radius:0 0 12px 0;font-weight:600;font-size:14px;text-decoration:none}
.skip-link:focus,.skip-link:focus-visible{left:0;outline:3px solid var(--accent);outline-offset:2px}

a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none}
img{display:block;max-width:100%}

.h1{font-weight:600;letter-spacing:-.03em;line-height:1.04;font-size:clamp(40px,6.4vw,76px)}
.h2{font-weight:600;letter-spacing:-.025em;line-height:1.07;font-size:clamp(34px,5vw,56px)}
.h3{font-weight:600;letter-spacing:-.02em;line-height:1.15;font-size:clamp(22px,2.4vw,30px)}
.lead{font-weight:400;font-size:clamp(17px,1.4vw,21px);letter-spacing:-.005em;line-height:1.42}
.eyebrow{font-size:13px;color:var(--mut-d);letter-spacing:.06em;text-transform:uppercase;font-weight:500}

.container{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:880px}

/* ===== BLOCK B: buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 24px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.005em;min-height:44px;transition:transform .15s ease,background .15s ease,color .15s ease}
.btn:hover{transform:scale(1.03)}
.btn-primary{background:#fff;color:#000}
.btn-primary:hover{background:#f5f5f7}
.btn-blue{background:var(--accent);color:#1a1408}
.btn-blue:hover{background:#dcc285}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-link{padding:0;background:transparent;color:var(--accent);font-weight:500}
.btn-link:hover{text-decoration:underline}

/* ===== BLOCK C: header + mobile nav ===== */
header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.logo{color:#fff;display:flex;align-items:center;gap:12px}
.logo-img{height:34px;width:auto;display:block}
.logo-text{display:flex;flex-direction:column;line-height:1.05;gap:3px}
.logo-name{font-size:16px;font-weight:600;color:#fff;letter-spacing:-.005em}
.logo-tag{font-size:11px;font-weight:400;color:var(--gold);letter-spacing:.02em}
footer .logo-img{height:40px}
footer .logo-name{font-size:18px}
footer .logo-tag{font-size:12px}
@media (max-width:560px){.logo-tag{font-size:10px}.logo-name{font-size:15px}.logo-img{height:28px}}
.nav-main ul{list-style:none;display:flex;gap:28px;margin:0;padding:0}
.nav-main ul a{font-size:13px;color:#f5f5f7;font-weight:400;letter-spacing:-.005em;padding:14px 4px;display:inline-flex;align-items:center;min-height:44px}
.nav-main ul a:hover{color:#fff;opacity:.8}
.nav-main ul a.active{color:#fff;font-weight:500}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .phone{font-size:13px;color:#cfcfd3;display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.nav-cta .nav-book-btn{padding:10px 18px;font-size:13px;min-height:40px}

.nav-burger{display:none;width:44px;height:44px;background:transparent;border:0;cursor:pointer;padding:10px;flex-direction:column;justify-content:space-between;align-items:stretch;margin-left:auto}
.nav-burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.mobile-nav{position:fixed;top:65px;left:0;right:0;bottom:0;background:rgba(0,0,0,.96);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);z-index:49;overflow-y:auto;animation:mn-fade .2s ease}
.mobile-nav[hidden]{display:none}
@keyframes mn-fade{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mobile-nav-inner{max-width:520px;margin:0 auto;padding:24px 24px 48px;display:flex;flex-direction:column;gap:8px}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}
.mobile-nav ul a{display:flex;align-items:center;min-height:52px;padding:14px 6px;font-size:18px;color:#f5f5f7;border-bottom:1px solid rgba(255,255,255,.06);letter-spacing:-.01em}
.mobile-nav ul a:active{background:rgba(255,255,255,.04)}
.mobile-nav-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 6px 8px;margin-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.mobile-nav-phone{font-size:17px;color:#fff;font-weight:600;letter-spacing:-.01em;min-height:44px;display:inline-flex;align-items:center}
.mobile-nav-lang{font-size:14px;color:#a1a1a6;letter-spacing:.04em}
.mobile-nav-lang a{color:#a1a1a6;text-decoration:underline;text-underline-offset:3px}
.mobile-nav-lang span[aria-current]{color:#fff;font-weight:600}
.mobile-nav-lang .sep{margin:0 10px;color:rgba(134,134,139,.5)}
.mobile-nav-cta{margin-top:16px;justify-content:center;font-size:16px;padding:16px 24px}
body.menu-open{overflow:hidden}

@media (max-width:880px){
  .nav-main,.nav-cta{display:none}
  .nav-burger{display:flex}
}
@media (min-width:881px){
  .mobile-nav{display:none!important}
}

/* ===== BLOCK D: footer ===== */
footer{padding:48px 24px 32px;background:#000;border-top:1px solid #1d1d1f;color:#86868b;font-size:13px}
.foot{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
footer h5{color:#fff;font-size:13px;font-weight:600;margin-bottom:14px;letter-spacing:-.005em}
footer ul{list-style:none;display:grid;gap:4px}
footer ul a{display:inline-flex;align-items:center;min-height:32px;padding:6px 0}
footer a{color:#a1a1a6}
footer a:hover{color:#fff}
.foot-bot{max-width:1180px;margin:0 auto;padding-top:20px;border-top:1px solid #1d1d1f;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot-bot a{display:inline-flex;align-items:center;min-height:32px;padding:4px 0;color:#a1a1a6!important}
@media (max-width:980px){.foot{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:680px){.foot{grid-template-columns:1fr 1fr}}

/* ===== BLOCK E: motion-reduce + focus-visible ===== */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .btn:hover{transform:none}
  details summary::after{transition:none}
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,details summary:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
  border-radius:6px;
}
.btn:focus-visible{outline-offset:4px;border-radius:999px}

/* ===== BLOCK F: shared mobile typography overrides ===== */
@media (max-width:680px){
  .h1{font-size:clamp(34px,9vw,56px)}
  .h2{font-size:clamp(28px,7vw,40px)}
}

/* ===== Footer language switcher (shared) ===== */
.lang-switch{margin-top:14px;font-size:12px;color:#86868b;letter-spacing:.02em}
.lang-switch span[aria-current]{color:#fff;font-weight:600}
.lang-switch a{color:#86868b;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(134,134,139,.4);transition:color .15s ease,text-decoration-color .15s ease}
.lang-switch a:hover{color:var(--gold);text-decoration-color:var(--gold)}
.lang-switch .sep{color:rgba(134,134,139,.5);margin:0 8px}
