:root {
  --navy: #0f2f5b;
  --navy-deep: #0a2345;
  --sky: #4aa3d9;
  --mist: #d7e6f2;
  --ice: #eef5fb;
  --orange: #f08a24;
  --orange-deep: #d97312;
  --ink: #17324d;
  --muted: #5b738a;
  --font: "Nunito", system-ui, sans-serif;
  --display: "Montserrat", system-ui, sans-serif;
  --header-h: 78px;
  --shadow: 0 18px 40px rgba(15, 47, 91, 0.14);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--ice);line-height:1.55;width:100%}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.site-header{
  text-shadow:0 1px 10px rgba(0,0,0,.4);position:fixed;inset:0 0 auto 0;z-index:50;height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:0 clamp(1rem,3vw,2.5rem);color:#fff;background:transparent;
  border-bottom:1px solid transparent;
  transition:background .28s ease,box-shadow .28s ease,color .28s ease,border-color .28s ease;
}
.site-header.is-solid{
  background:rgba(255,255,255,.96);color:var(--navy);
  border-bottom-color:rgba(15,47,91,.08);
  box-shadow:0 8px 24px rgba(15,47,91,.08);backdrop-filter:blur(12px);
}
.brand{display:flex;align-items:center;gap:.75rem;min-width:0}
.brand__mark{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.brand__text{display:flex;flex-direction:column;min-width:0}
.brand__title{font-family:var(--display);font-weight:800;font-size:clamp(.78rem,1.6vw,1rem);letter-spacing:-.02em;line-height:1.15}
.brand__sub{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.nav{display:none;gap:1.5rem;font-family:var(--display);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nav a{opacity:.88}
.nav a:hover,.nav a.is-active{opacity:1;color:var(--orange)}
.site-header.is-solid .nav a.is-active,.site-header.is-solid .nav a:hover{color:var(--orange-deep)}
.header-actions{display:flex;align-items:center;gap:.75rem}
.reservation-menu{position:relative}
.reservation-menu__toggle{
  border:0;border-radius:999px;padding:.55rem 1rem;background:var(--orange);color:#fff;
  font-family:var(--display);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
}
.reservation-menu__toggle:hover{background:var(--orange-deep)}
.reservation-menu__list{
  position:absolute;top:calc(100% + .65rem);right:0;z-index:60;display:grid;gap:.35rem;
  width:245px;padding:.5rem;background:#fff;border:1px solid rgba(15,47,91,.1);border-radius:16px;
  box-shadow:var(--shadow);text-shadow:none;
}
.reservation-menu__list[hidden],.mobile-reservation-list[hidden]{display:none!important}
.reservation-menu__list button,.reservation-menu__list a,.mobile-reservation-list button,.mobile-reservation-list a{
  display:block;border:0;border-radius:11px;padding:.7rem .75rem;background:var(--ice);color:var(--navy);
  font:700 .78rem/1.25 var(--display);text-align:left;cursor:pointer;
}
.reservation-menu__list button:hover,.mobile-reservation-list button:hover{background:var(--mist)}
.reservation-menu__list a:hover,.mobile-reservation-list a:hover{background:var(--mist)}
.reservation-menu__list small{display:block;margin-top:.2rem;color:var(--muted);font:600 .72rem/1.2 var(--font)}
.btn-book{display:inline-flex;align-items:center;padding:.55rem 1rem;border-radius:999px;background:var(--orange);color:#fff!important;font-family:var(--display);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.btn-book:hover{background:var(--orange-deep)}
.nav-toggle{width:42px;height:42px;border:0;background:transparent;display:grid;place-content:center;gap:6px;cursor:pointer;color:inherit}
.nav-toggle span{display:block;width:22px;height:2px;background:currentColor}
.mobile-nav{position:fixed;top:var(--header-h);left:0;right:0;z-index:49;display:grid;gap:.25rem;padding:.75rem 1rem 1.25rem;background:rgba(255,255,255,.98);color:var(--navy);box-shadow:var(--shadow)}
.mobile-nav[hidden]{display:none!important}
.mobile-nav a{padding:.75rem .4rem;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}
.mobile-nav .btn-book{justify-content:center;margin-top:.4rem}
@media(min-width:920px){.nav{display:flex}.nav-toggle,.mobile-nav{display:none!important}}

.hero{position:relative;height:min(62vh,640px);min-height:360px;background:var(--navy-deep);overflow:hidden}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-transform:translateZ(0);transform:translateZ(0);background:#0a2345}
.hero__play{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);border:0;border-radius:999px;padding:.85rem 1.35rem;font:700 .9rem/1 Montserrat,sans-serif;letter-spacing:.02em;color:#fff;background:rgba(10,35,69,.88);box-shadow:0 8px 28px rgba(10,35,69,.35);cursor:pointer;-webkit-tap-highlight-color:transparent}
.hero__play[hidden]{display:none!important}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,35,69,.35) 0%,transparent 35%,transparent 100%);pointer-events:none}

.promo{position:relative;z-index:2;display:grid;gap:1rem;max-width:1180px;margin:-4.5rem auto 0;padding:0 clamp(1rem,3vw,2rem)}
.promo-card{display:grid;grid-template-rows:auto 1fr auto;gap:.75rem;min-height:280px;padding:1.25rem 1.15rem 1.35rem;border-radius:28px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}
.promo-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(15,47,91,.2)}
.promo-card img{width:min(82%,240px);margin:auto;object-fit:contain;background:transparent;border-radius:0;filter:drop-shadow(0 8px 16px rgba(10,35,69,.18))}
.promo-card__eyebrow{margin:0;font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.promo-card strong{font-family:var(--display);font-size:1.05rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;text-align:center}
.promo-card--navy{background:linear-gradient(160deg,#123968,#0f2f5b 55%,#0a2345);color:#fff}
.promo-card--sky{background:linear-gradient(160deg,#8fd0f5,#4aa3d9 60%,#3b93c8);color:#fff}
.promo-card--mist{background:linear-gradient(160deg,#f4f8fc,#d7e6f2);color:var(--navy)}
.promo-card--featured{outline:3px solid rgba(240,138,36,.55)}
.promo-card--featured:hover{transform:translateY(-6px)}
@media(min-width:800px){.promo{grid-template-columns:repeat(3,1fr);margin-top:-5.5rem}.promo-card{min-height:320px}}

.content-band{display:grid;gap:1.5rem;max-width:1180px;margin:0 auto;padding:clamp(2.5rem,5vw,4rem) clamp(1rem,3vw,2rem)}
.news__head h2{margin:0 0 1.25rem;font-family:var(--display);font-size:clamp(1.2rem,2.5vw,1.55rem);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
.news__grid{display:grid;gap:1rem}
.news-card{background:#fff;border-radius:18px;padding:1.15rem 1.2rem;box-shadow:0 10px 28px rgba(15,47,91,.06);border:1px solid rgba(15,47,91,.06)}
.news-card h3{margin:0 0 .45rem;font-family:var(--display);font-size:1rem;font-weight:800;color:var(--navy)}
.news-card p{margin:0 0 .75rem;color:var(--muted);font-size:.95rem}
.news-card time{font-size:.78rem;font-weight:700;color:var(--sky);text-transform:uppercase;letter-spacing:.04em}
.weather{background:#fff;border-radius:24px;padding:1.35rem 1.3rem 1.2rem;box-shadow:var(--shadow);border:1px solid rgba(15,47,91,.06)}
.weather__label{margin:0 0 .75rem;font-family:var(--display);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.weather__main{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.weather__temp{font-family:var(--display);font-size:3.4rem;font-weight:800;line-height:1;color:var(--navy)}
.weather__temp span{font-size:1.4rem}
.weather__icon{font-size:3rem}
.weather__stats{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.55rem}
.weather__stats li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border-radius:12px;background:var(--ice);font-size:.92rem}
.weather__stats span{color:var(--muted)}.weather__stats strong{color:var(--navy)}
.weather__days{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;margin-bottom:.75rem}
.weather__days div{text-align:center;padding:.55rem .2rem;border-radius:12px;background:linear-gradient(180deg,#f7fbfe,#e7f1f9);font-size:.78rem}
.weather__days b{display:block;margin-bottom:.2rem;color:var(--muted)}
.weather__note{margin:0;font-size:.78rem;color:var(--muted)}
@media(min-width:900px){.content-band{grid-template-columns:1.45fr .85fr;align-items:start}.news__grid{grid-template-columns:1fr 1fr}}

/* Centered text strips ABOVE mountains (readable) */
.info-blocks{
  position:relative;
  z-index:8;
  width:min(520px, 54vw);
  max-width:520px;
  margin:0 auto -1.5rem;
  padding:0;
  display:grid;
  gap:.75rem;
}
.panel{
  position:relative;
  z-index:8;
  background:#fff;
  border:1px solid rgba(15,47,91,.12);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(15,47,91,.14);
}
.panel summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:1.05rem 2.6rem 1.05rem 1.25rem;
  width:100%;
  text-align:center;
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(.92rem, 1.7vw, 1.02rem);
  line-height:1.35;
  color:var(--navy);
  background:#fff;
}
.panel summary::-webkit-details-marker{display:none}
.panel summary::after{
  content:"+";
  position:absolute;
  right:.85rem;
  top:50%;
  transform:translateY(-50%);
  color:var(--orange);
  font-size:1.25rem;
}
.panel[open] summary::after{content:"\2013"}
.panel__body{
  padding:0 1.5rem 1.15rem;
  text-align:center;
  color:var(--muted);
  border-top:1px solid rgba(15,47,91,.08);
  background:#fff;
}
.panel__body p{margin:.85rem 0 0;font-weight:600}

@media(max-width:700px){
  .info-blocks{
    width:calc(100% - 2rem);
    max-width:none;
    margin:0 1rem 1rem;
    z-index:8;
  }
  .panel summary,.panel__body{text-align:left}
}


/* ===== Booking demo ===== */
.booking{
  position:relative;z-index:7;
  max-width:1180px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem) 2.5rem;
}
.booking__intro{max-width:720px;margin-bottom:1.5rem}
.booking__eyebrow{
  margin:0 0 .4rem;font-family:var(--display);font-size:.75rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--orange);
}
.booking__intro h2{
  margin:0 0 .6rem;font-family:var(--display);font-size:clamp(1.4rem,3vw,1.9rem);
  font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;
}
.booking__intro p{margin:0;color:var(--muted)}
.booking__layout{display:grid;gap:1.25rem}
@media(min-width:960px){.booking__layout{grid-template-columns:1.4fr .9fr;align-items:start}}

.booking-form,.booking-list{
  background:#fff;border-radius:24px;padding:1.35rem 1.25rem 1.4rem;
  box-shadow:var(--shadow);border:1px solid rgba(15,47,91,.07);
}
.booking-type{border:0;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.booking-type legend{width:100%;margin-bottom:.55rem;font-family:var(--display);font-weight:800;font-size:.85rem;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}
.chip{cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{
  display:inline-flex;padding:.55rem 1rem;border-radius:999px;border:2px solid rgba(15,47,91,.12);
  font-weight:700;font-size:.9rem;color:var(--navy);background:var(--ice);
}
.chip input:checked + span{background:var(--navy);color:#fff;border-color:var(--navy)}
.form-grid{display:grid;gap:.85rem}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}
.booking-form label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700;color:var(--navy)}
.booking-form label.full{margin-top:.85rem}
.booking-form input,.booking-form select,.booking-form textarea{
  width:100%;border:1px solid rgba(15,47,91,.15);border-radius:12px;
  padding:.7rem .85rem;font:inherit;font-weight:600;color:var(--ink);background:#fbfcfe;
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
  outline:2px solid rgba(240,138,36,.45);border-color:var(--orange);
}
.booking-summary{
  margin-top:1rem;padding:.85rem 1rem;border-radius:14px;background:linear-gradient(135deg,#fff7ee,#eef5fb);
  font-weight:700;color:var(--navy);min-height:1.2em;
}
.booking-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.btn-primary,.btn-secondary,.btn-text{
  font-family:var(--display);font-weight:800;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:0;
}
.btn-primary{padding:.85rem 1.2rem;border-radius:999px;background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-deep)}
.btn-secondary{padding:.85rem 1.2rem;border-radius:999px;background:var(--ice);color:var(--navy)}
.btn-text{background:transparent;color:var(--sky);font-size:.75rem;padding:.25rem}
.booking-hint{margin:.85rem 0 0;font-size:.8rem;color:var(--muted);font-weight:600}
.booking-list__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.booking-list__head h3{margin:0;font-family:var(--display);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}
.bookings{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.bookings li{
  padding:.9rem 1rem;border-radius:14px;background:var(--ice);border:1px solid rgba(15,47,91,.06);
}
.bookings strong{display:block;color:var(--navy);margin-bottom:.2rem}
.bookings span{display:block;font-size:.86rem;color:var(--muted);font-weight:600}
.booking-empty{margin:0;color:var(--muted);font-weight:600}
.booking-empty.is-hidden{display:none}

.toast{
  position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);
  z-index:80;padding:.9rem 1.25rem;border-radius:999px;background:var(--navy);color:#fff;
  font-weight:700;box-shadow:var(--shadow);
}

/* ===== Footer rising illustrations — mirrored L/R, seated on footer ===== */
.footer-rise{
  position:relative;z-index:6;height:min(280px, 18vw);pointer-events:none;
}
.footer-rise__scene{
  position:absolute;
  bottom:0;
  width:min(720px, 46vw);
  max-width:none;
  transform:translateY(0);
  filter:drop-shadow(0 12px 22px rgba(10,35,69,.28));
}
.footer-rise__scene--right{
  left:auto;
  right:-4%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 6%, #000 26%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, transparent 6%, #000 26%, #000 100%);
}
.footer-rise__scene--left{
  left:-4%;
  right:auto;
  transform:translateY(0) scaleX(-1);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 6%, #000 26%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, transparent 6%, #000 26%, #000 100%);
}
.footer-rise__skier{
  position:absolute;bottom:0;width:clamp(100px, 13vw, 160px);
  filter:drop-shadow(0 12px 18px rgba(10,35,69,.28));
  animation:bob 4.5s ease-in-out infinite;
}
.footer-rise__skier--left{
  left:clamp(.5rem, 3vw, 2rem);
  width:clamp(110px, 14vw, 180px);
  transform:translateY(0);
}
.footer-rise__skier--right{
  right:clamp(.5rem, 3vw, 2rem);
  width:clamp(120px, 15vw, 190px);
  transform:translateY(0) scaleX(-1);
  animation-delay:-1.5s;
}
@keyframes bob{
  0%,100%{translate:0 0}
  50%{translate:0 -10px}
}

.site-footer{
  position:relative;z-index:4;background:var(--navy);color:#d7e6f2;margin-top:0;
  padding-top:5.5rem;overflow:visible;
}
.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:90px;
  background:linear-gradient(180deg, transparent, rgba(10,35,69,.45));
  pointer-events:none;
}
.footer-inner{display:grid;gap:2rem;max-width:1100px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem) 2rem;position:relative;z-index:1}
.footer-inner > div{background:rgba(255,255,255,.04);border-radius:16px;padding:1.25rem 1.35rem}
.footer-inner h3{margin:0 0 .75rem;font-family:var(--display);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sky);opacity:.9}
.footer-inner p{margin:0 0 .35rem;font-size:.9rem;line-height:1.5}
.footer-inner a{display:block;margin-bottom:.3rem;font-size:.9rem;opacity:.88}
.footer-inner a:hover{color:var(--orange);opacity:1}
.newsletter{display:flex;gap:.4rem}
.newsletter input{flex:1;border:0;border-radius:999px;padding:.7rem 1rem;font:inherit}
.newsletter button{width:44px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-size:1.1rem;cursor:pointer}
.footer-bar{background:var(--navy-deep);padding:.85rem clamp(1rem,3vw,2rem);font-size:.82rem;text-align:center;position:relative;z-index:1}
@media(min-width:800px){.footer-inner{grid-template-columns:repeat(4,1fr)}.footer-bar{text-align:left}}
@media(max-width:900px) and (min-width:701px){
  .footer-rise__scene{width:min(560px, 48vw)}
  .info-blocks{width:min(480px, 70vw)}
}
@media(max-width:700px){
  .footer-rise{z-index:5;height:min(140px, 35vw)}
  .footer-rise__skier--left,
  .footer-rise__skier--right{display:none}
  .footer-rise__scene--left{
    display:block;left:-15%;right:auto;width:min(320px,68vw);
    transform:translateY(0) scaleX(-1);-webkit-mask-image:none;mask-image:none;opacity:1;
  }
  .footer-rise__scene--right{
    right:-15%;left:auto;bottom:0;
    transform:translateY(0);
    width:min(320px,68vw);
    -webkit-mask-image:none;mask-image:none;opacity:1;
  }
  .site-footer{margin-top:0;padding-top:3.5rem;z-index:3}
}
@media(prefers-reduced-motion:reduce){.footer-rise__skier{animation:none}}



/* ===== Booking standalone page ===== */
.page-booking .site-header{color:var(--navy);text-shadow:none}
.booking-page{padding:calc(var(--header-h) + 1.5rem) 0 3rem;min-height:70vh}
.booking--page{padding-top:0}
.booking--page h1{
  margin:0 0 .6rem;font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);
  font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;
}
.booking-list__head h2{
  margin:0;font-family:var(--display);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);
}
.booking-back{margin:1.5rem 0 0}
.booking-back a{font-weight:700;color:var(--sky)}
.booking-back a:hover{color:var(--orange)}
.site-footer--simple{margin-top:2rem;padding-top:2rem}
.site-footer--simple::before{display:none}


/* ===== Mobile / responsive fixes ===== */
@media (max-width: 920px) {
  :root { --header-h: 64px; }

  .site-header {
    height: var(--header-h);
    padding: 0 .75rem;
    gap: .5rem;
  }

  .brand { gap: .55rem; max-width: calc(100% - 100px); }
  .brand__mark { width: 40px; height: 40px; }
  .brand__title { font-size: .82rem; }
  .brand__sub { display: none; }

  .btn-book {
    padding: .45rem .7rem;
    font-size: .68rem;
  }

  .hero {
    height: 42vh;
    min-height: 220px;
    max-height: 320px;
  }

  .promo {
    margin-top: -2.25rem;
    padding: 0 1rem;
    gap: .85rem;
  }

  .promo-card {
    min-height: 0;
    padding: 1rem;
    border-radius: 20px;
  }

  .promo-card img {
    width: min(55%, 160px);
  }

  .promo-card strong {
    font-size: .92rem;
  }

  .content-band {
    padding: 1.75rem 1rem 2rem;
    gap: 1.15rem;
  }

  .weather__temp { font-size: 2.6rem; }

  .info-blocks {
    width: calc(100% - 2rem) !important;
    max-width: none !important;
    margin: 0 1rem 1.25rem !important;
  }

  .panel summary {
    text-align: left;
    font-size: .9rem;
    padding: .95rem 2.4rem .95rem 1rem;
  }

  .panel__body {
    text-align: left;
    padding: 0 1rem 1rem;
  }

  .footer-rise {
    z-index: 5;
    height: min(140px, 35vw);
  }

  .footer-rise__skier--left,
  .footer-rise__skier--right {
    display: none !important;
  }

  .footer-rise__scene--left {
    display: block !important;
    left: -18% !important;
    right: auto !important;
    width: min(340px, 70vw) !important;
    transform: translateY(0) scaleX(-1) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 1;
  }

  .footer-rise__scene--right {
    display: block !important;
    right: -18% !important;
    left: auto !important;
    bottom: 0;
    width: min(340px, 70vw) !important;
    max-width: none;
    transform: translateY(0) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 1;
  }

  .site-footer {
    margin-top: 0;
    padding-top: 3rem;
    z-index: 3;
  }

  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }

  .footer-bar { text-align: center; }

  .booking-page {
    padding: calc(var(--header-h) + 1rem) 0 2rem;
  }

  .booking,
  .booking--page {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .booking-actions {
    flex-direction: column;
  }

  .btn-primary,
  .btn-secondary {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .toast {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    transform: none;
    text-align: center;
    border-radius: 16px;
  }
}

@media (max-width: 480px) {
  .brand__title { font-size: .72rem; }
  .header-actions .btn-book { display: none; }
  .footer-inner { grid-template-columns: 1fr; }
  .promo-card { min-height: 200px; }
}

/* ===== Slim home + inner pages ===== */
.home-core{
  position:relative;z-index:2;
  max-width:1180px;margin:0 auto;
  padding:0 clamp(1rem,3vw,2rem) clamp(1.5rem,4vw,2.5rem);
}
.promo-card__hint{
  display:block;text-align:center;font-size:.82rem;font-weight:700;opacity:.85;margin-top:-.25rem;
}
.home-band{
  display:grid;gap:1.15rem;margin-top:1.35rem;align-items:stretch;
}
.home-intro{
  background:#fff;border-radius:24px;padding:1.35rem 1.3rem 1.4rem;
  box-shadow:var(--shadow);border:1px solid rgba(15,47,91,.06);
}
.home-intro__eyebrow{
  margin:0 0 .4rem;font-family:var(--display);font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--orange);
}
.home-intro h1{
  margin:0 0 .65rem;font-family:var(--display);font-size:clamp(1.25rem,3.2vw,1.75rem);
  font-weight:800;color:var(--navy);letter-spacing:.02em;line-height:1.2;
}
.home-intro p{margin:0 0 1rem;color:var(--muted);font-weight:600}
.btn-book--inline{display:inline-flex;margin-top:.15rem}

.page-inner .site-header{color:var(--navy);text-shadow:none}
.inner-page{padding:calc(var(--header-h) + 1.25rem) 0 2.5rem;min-height:60vh}
.inner-wrap{max-width:820px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.inner-wrap h1{
  margin:0 0 .75rem;font-family:var(--display);font-size:clamp(1.45rem,3.5vw,2rem);
  font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;
}
.inner-lead{margin:0 0 1.35rem;color:var(--muted);font-weight:600;font-size:1.02rem}
.inner-blocks{display:grid;gap:1rem}
.transport-card h3{margin:1.1rem 0 .45rem;font-family:var(--display);font-size:1rem;color:var(--navy)}
.transport-card p{margin:.55rem 0;color:var(--muted);font-weight:600}
.transport-card p a:not(.btn-book){color:var(--sky);font-weight:800}
.transport-map{width:100%;height:auto;margin:.25rem 0 1rem;border-radius:16px;box-shadow:0 8px 24px rgba(15,47,91,.12)}
.course-facts{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.course-facts strong{padding:.55rem .8rem;border-radius:999px;background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(15,47,91,.08);font-family:var(--display);font-size:.8rem}
.course-warning{border-left:4px solid var(--orange)}
.info-card{
  background:#fff;border-radius:20px;padding:1.2rem 1.25rem;
  box-shadow:0 10px 28px rgba(15,47,91,.07);border:1px solid rgba(15,47,91,.06);
}
.info-card h2{
  margin:0 0 .55rem;font-family:var(--display);font-size:1rem;font-weight:800;
  color:var(--navy);text-transform:uppercase;letter-spacing:.04em;
}
.info-card p,.info-card li{color:var(--muted);font-weight:600}
.info-card ul{margin:.4rem 0 0;padding-left:1.15rem}
.price-list{list-style:none;margin:.5rem 0 1rem;padding:0;display:grid;gap:.55rem}
.price-list li{
  display:flex;justify-content:space-between;gap:1rem;align-items:center;
  padding:.7rem .85rem;border-radius:12px;background:var(--ice);
}
.price-list span{color:var(--muted);font-weight:700}
.price-list strong{color:var(--navy);font-family:var(--display)}
.inner-cta{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin:1.5rem 0 0}
.inner-back{font-weight:700;color:var(--sky)}
.inner-back:hover{color:var(--orange)}
.big-phone{font-family:var(--display);font-size:clamp(1.3rem,4vw,1.7rem);font-weight:800;color:var(--navy)}
.footer-inner--slim{grid-template-columns:1fr}
.footer-phone{display:inline-block;margin-top:.35rem;font-weight:800;color:var(--orange)!important}

/* Live parking (ITS Invipo) */
.parking-live{
  background:#fff;border-radius:24px;padding:1.25rem 1.2rem 1.15rem;
  box-shadow:var(--shadow);border:1px solid rgba(15,47,91,.06);
}
.parking-live__label{
  margin:0 0 .35rem;font-family:var(--display);font-size:.75rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.parking-live__name{margin:0 0 .85rem;font-family:var(--display);font-weight:800;color:var(--navy);font-size:1rem}
.parking-live__row{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}
.parking-live__count{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}
.parking-live__count strong{font-family:var(--display);font-size:2.4rem;line-height:1;color:var(--navy);font-weight:800}
.parking-live__count span{color:var(--muted);font-weight:700;font-size:.92rem}
.parking-live__status{
  display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;
  font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  background:var(--ice);color:var(--navy);white-space:nowrap;
}
.parking-live__status[data-tone="free"]{background:#e5f7ea;color:#1a7a3c}
.parking-live__status[data-tone="busy"]{background:#fff4e0;color:#b86a00}
.parking-live__status[data-tone="full"]{background:#fde8e8;color:#b42318}
.parking-live__status[data-tone="unknown"]{background:var(--ice);color:var(--muted)}
.parking-live__track{height:10px;border-radius:999px;background:var(--ice);overflow:hidden;margin-bottom:.7rem}
.parking-live__bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4aa3d9,#0f2f5b);transition:width .45s ease}
.parking-live[data-tone="busy"] .parking-live__bar{background:linear-gradient(90deg,#f0b429,#d97312)}
.parking-live[data-tone="full"] .parking-live__bar{background:linear-gradient(90deg,#f08a24,#c0392b)}
.parking-live__note{margin:0 0 .55rem;font-size:.78rem;color:var(--muted)}
.parking-live__link{font-weight:800;font-size:.82rem;color:var(--sky)}
.parking-live__link:hover{color:var(--orange)}
.parking-live--inner{margin:1rem 0 0}

@media(min-width:720px){
  .home-band{grid-template-columns:1.15fr .85fr;gap:1.25rem;margin-top:1.6rem}
  .home-band .parking-live{grid-column:2}
  .footer-inner--slim{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1100px){
  .home-band{grid-template-columns:1.2fr .7fr .7fr}
  .home-band .parking-live{grid-column:auto}
}
@media(min-width:800px){
  .home-core .promo{margin-top:-4.5rem}
}

/* Mobile + tablet polish */
@media(max-width:919px){
  .reservation-menu{display:none}
  .mobile-nav__reservation{border:0;padding:.75rem .4rem;background:transparent;color:var(--navy);font:700 .85rem var(--display);letter-spacing:.06em;text-align:left;text-transform:uppercase;cursor:pointer}
  .mobile-reservation-list{display:grid;gap:.35rem;padding:0 .4rem .4rem}
  .nav{display:none!important}
  .home-core{padding:0 .85rem 1.5rem}
  .home-core .promo{
    margin-top:-1.75rem;
    display:grid;
    grid-template-columns:1fr;
    gap:.7rem;
  }
  .promo-card{
    min-height:0;
    grid-template-columns:88px 1fr;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:.85rem;
    row-gap:.15rem;
    padding:.85rem 1rem;
    border-radius:18px;
  }
  .promo-card__eyebrow{grid-column:2;grid-row:1;margin:0;font-size:.65rem}
  .promo-card img{
    grid-column:1;grid-row:1 / span 3;
    width:88px;margin:0;justify-self:center;
  }
  .promo-card strong{
    grid-column:2;grid-row:2;text-align:left;font-size:.88rem;margin:0;
  }
  .promo-card__hint{
    grid-column:2;grid-row:3;text-align:left;font-size:.78rem;margin:0;
  }
  .home-intro{padding:1.1rem 1rem 1.2rem;border-radius:18px}
  .home-intro h1{font-size:1.2rem}
  .weather{padding:1.1rem 1rem;border-radius:18px}
  .weather__temp{font-size:2.4rem}
  .weather__days{grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem}
  .weather__days div{padding:.45rem .1rem;font-size:.72rem}
  .hero{
    height:min(38vh,280px);
    min-height:200px;
    max-height:300px;
  }
  .btn-book--inline{width:100%;justify-content:center}
  .inner-page{padding:calc(var(--header-h) + 1rem) 0 2rem}
  .inner-cta{flex-direction:column;align-items:stretch}
  .inner-cta .btn-book{justify-content:center}
  .inner-back{text-align:center}
}

/* Tablet sweet spot */
@media(min-width:600px) and (max-width:919px){
  .home-core .promo{
    grid-template-columns:1fr;
  }
  .promo-card{
    grid-template-columns:110px 1fr;
    padding:1rem 1.15rem;
  }
  .promo-card img{width:110px}
  .promo-card strong{font-size:1rem}
  .hero{
    height:min(44vh,360px);
    min-height:260px;
    max-height:380px;
  }
  .home-band{grid-template-columns:1fr 1fr;align-items:start}
}

@media(min-width:920px){
  .home-core .promo{grid-template-columns:repeat(3,1fr)}
  .promo-card{
    display:grid;
    grid-template-rows:auto 1fr auto auto;
    grid-template-columns:1fr;
  }
  .promo-card img{width:min(82%,220px);margin:auto}
  .promo-card strong,.promo-card__hint,.promo-card__eyebrow{text-align:center}
}

@media(max-width:480px){
  .header-actions .btn-book{display:inline-flex;padding:.4rem .65rem;font-size:.65rem}
  .brand__title{font-size:.7rem;line-height:1.2}
  .promo-card{grid-template-columns:72px 1fr;padding:.75rem .85rem}
  .promo-card img{width:72px}
  .promo-card strong{font-size:.82rem}
}

.tiles-grid{
  display:grid;gap:1rem;margin-top:-3.5rem;margin-bottom:0;position:relative;z-index:3;
}
.tile{
  display:grid;grid-template-rows:1fr auto;gap:.4rem;
  padding:1.1rem 1rem 1.15rem;border-radius:24px;min-height:250px;
  cursor:pointer;position:relative;overflow:hidden;
  isolation:isolate;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease;
}
.tile::before{content:"";position:absolute;inset:0;z-index:-2;background:none;pointer-events:none}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,35,69,.04) 15%,rgba(10,35,69,.86) 100%);pointer-events:none}
.tile:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(15,47,91,.25)}
.tile:hover::before{opacity:1}
.tile img{width:min(72%,200px);height:150px;margin:auto;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(10,35,69,.22));pointer-events:none;transition:transform .35s ease}
.tile:hover img{transform:scale(1.04)}
.tile--navy{background:linear-gradient(160deg,#123968,#0f2f5b 55%,#0a2345);color:#fff}
.tile--sky{background:linear-gradient(160deg,#8fd0f5,#4aa3d9 60%,#3b93c8);color:#fff}
.tile--mist{background:linear-gradient(160deg,#7298b7,#315b7d);color:#fff}
.tile__title{font-family:var(--display);font-size:1rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.2)}
.tile__desc{display:block;text-align:center;font-size:.8rem;font-weight:700;opacity:.9}
.tile--has-form{cursor:pointer}
.tile--has-form::after{
  content:"+";position:absolute;inset:auto .85rem .75rem auto;z-index:2;font-size:1.3rem;font-weight:700;opacity:.7;background:none;
  transition:transform .3s ease;font-family:var(--display);
}
.tile--has-form.is-open::after{content:"\2013";transform:rotate(180deg)}
.tile--navy.tile--has-form::after,.tile--sky.tile--has-form::after{color:#fff}
.tile--mist.tile--has-form::after{color:#fff}
.tile__icon,.tile__icon svg{display:none}
@media(min-width:800px){.tiles-grid{grid-template-columns:repeat(3,1fr);gap:1.15rem;margin-top:-5.5rem}.tile{min-height:270px;padding:1.25rem 1.15rem 1.3rem}.tile img{width:min(65%,170px);height:170px}}
@media(min-width:1100px){
  .tiles-grid{grid-template-columns:repeat(5,1fr);gap:1rem}
  .tile{min-height:215px;padding:1rem .7rem 1.05rem;border-radius:20px}
  .tile img{width:min(78%,135px);height:125px}
  .tile[data-tile-id="transport"]{grid-column:1/-1;min-height:145px;grid-template-columns:150px 1fr;grid-template-rows:1fr auto;align-items:center;padding:1rem 1.25rem}
  .tile[data-tile-id="transport"] img{grid-column:1;grid-row:1 / span 2;width:125px;height:120px}
  .tile[data-tile-id="transport"] .tile__title,.tile[data-tile-id="transport"] .tile__desc{grid-column:2;text-align:left}
}
@media(min-width:600px) and (max-width:799px){.tiles-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){
  .tiles-grid{grid-template-columns:1fr}
  .tile{min-height:104px;grid-template-columns:80px 1fr;grid-template-rows:auto auto;align-items:center;gap:.5rem;padding:.85rem .9rem;border-radius:18px}
  .tile img{width:72px;height:72px;margin:0;grid-column:1;grid-row:1 / span 2}
  .tile__title{text-align:left;font-size:.85rem;grid-column:2;grid-row:1}
  .tile__desc{text-align:left;font-size:.72rem;grid-column:2;grid-row:2;margin:0}
  .tile--has-form::after{top:50%;transform:translateY(-50%);right:.65rem;font-size:1.1rem}
  .tile--has-form.is-open::after{transform:translateY(-50%) rotate(180deg)}
}

/* ===== Rezervační formuláře pod dlaždicemi ===== */
.tile-forms{margin:-.5rem 0 0;display:grid;gap:.85rem}
.tile-form{
  display:grid;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;
  max-height:0;opacity:0;
}
.tile-form.is-open{max-height:3000px;opacity:1}
.tile-form__inner{
  background:#fff;border:1px solid rgba(15,47,91,.1);border-radius:18px;
  padding:1.25rem 1.35rem 1.35rem;box-shadow:0 8px 24px rgba(15,47,91,.06);
}
.tile-form__title{
  margin:0 0 1rem;font-family:var(--display);font-size:1.05rem;font-weight:800;
  color:var(--navy);text-transform:uppercase;letter-spacing:.03em;
}
.tile-form .form-grid{display:grid;gap:.75rem}
.tile-form label{display:grid;gap:.3rem;font-size:.85rem;font-weight:700;color:var(--navy)}
.tile-form input,.tile-form textarea,.tile-form select{
  width:100%;border:1px solid rgba(15,47,91,.15);border-radius:12px;
  padding:.65rem .8rem;font:inherit;font-weight:600;color:var(--ink);background:#fbfcfe;
}
.tile-form input:focus,.tile-form textarea:focus{
  outline:2px solid rgba(240,138,36,.4);border-color:var(--orange);
}
.tile-form label.full{grid-column:1/-1}
.tile-form .booking-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.tile-form .btn-primary{
  font-family:var(--display);font-weight:800;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:0;
  padding:.75rem 1.15rem;border-radius:999px;background:var(--orange);color:#fff;
}
.tile-form .btn-primary:hover{background:var(--orange-deep)}
.tile-form .btn-secondary{
  font-family:var(--display);font-weight:800;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:0;
  padding:.75rem 1.15rem;border-radius:999px;background:var(--ice);color:var(--navy);
}
.tile-form__note{margin:.85rem 0 0;font-size:.8rem;color:var(--muted);font-weight:600}
@media(min-width:640px){.tile-form .form-grid{grid-template-columns:1fr 1fr}}

.tile-details{margin:.85rem 0 0;background:#fff;border:1px solid rgba(15,47,91,.1);border-radius:18px;box-shadow:0 8px 24px rgba(15,47,91,.06);overflow:hidden}
.tile-details summary{padding:1rem 1.2rem;color:var(--navy);font-family:var(--display);font-size:.9rem;font-weight:800;cursor:pointer;list-style:none;text-transform:uppercase;letter-spacing:.03em}
.tile-details summary::-webkit-details-marker{display:none}
.tile-details summary::after{content:"+";float:right;color:var(--orange);font-size:1.2rem;line-height:1}
.tile-details[open] summary::after{content:"–"}
.tile-details__body{padding:0 1.2rem 1.25rem;color:var(--muted);font-weight:600}
.tile-details__body h3{margin:0 0 .75rem;color:var(--navy);font-family:var(--display);font-size:1.15rem}
.tile-details__body h4{margin:1.15rem 0 .35rem;color:var(--navy);font-family:var(--display);font-size:.9rem}
.tile-details__body p{margin:0 0 .7rem}
.tile-details__facts{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem!important}
.tile-details__facts strong{padding:.4rem .65rem;border-radius:999px;background:var(--ice);color:var(--navy);font-size:.78rem}
.tile-details__warning{padding:.75rem .85rem;border-left:3px solid var(--orange);background:#fff8e6;color:#765800}
.tile-details__list{margin:0;padding-left:1.2rem}
.tile-details__list li{margin:.2rem 0}
.weekend-page > .inner-wrap > p.home-intro__eyebrow,
.weekend-page > .inner-wrap > h1,
.weekend-page > .inner-wrap > p.inner-lead,
.weekend-page > .inner-wrap > .inner-blocks,
.weekend-page > .inner-wrap > p.inner-cta{display:none}
.weekend-page__intro .info-card{margin-top:1rem}
.weekend-page__details{margin-top:1rem}
.reservation-page .tile-forms{margin:0}
.reservation-page .tile-form{max-height:none;opacity:1}
.reservation-page .tile-form[hidden]{display:none}

/* ===== Widgety (weather + parking) vedle sebe ===== */
.widgets-band{
  display:grid;gap:1.15rem;margin-top:1.5rem;
}
@media(min-width:800px){.widgets-band{grid-template-columns:1fr 1fr;gap:1.25rem}}

/* ===== Parkování s dvěma čísly ===== */
.parking-live__main{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}
.parking-live__free,.parking-live__capacity{display:flex;flex-direction:column;gap:.1rem}
.parking-live__free-label,.parking-live__capacity-label{
  font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
.parking-live__free strong,.parking-live__capacity strong{
  font-family:var(--display);font-size:2.2rem;line-height:1;font-weight:800;
}
.parking-live__free strong{color:var(--navy)}
.parking-live__capacity strong{color:var(--muted);font-size:1.6rem}
.parking-live__row{margin-bottom:.5rem}

/* ===== Hero overlay s odkazem ===== */
.hero__overlay{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:1rem clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;
  background:transparent;
}
.hero__label{color:#fff;font-family:var(--display);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0;opacity:.9}
.hero__link{color:var(--orange);font-family:var(--display);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.9}
.hero__link:hover{opacity:1}

/* ===== O nás ===== */
.about-section{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(2rem,4vw,3.5rem) clamp(1rem,3vw,2rem) 0;
  scroll-margin-top:calc(var(--header-h) + 1rem);
}
.about-section__inner{
  max-width:820px;
  margin:0 auto;
  padding:1.35rem 1.3rem 1.4rem;
  background:#fff;
  border:1px solid rgba(15,47,91,.06);
  border-radius:24px;
  box-shadow:var(--shadow);
}
.about-section h1{
  margin:0 0 .7rem;
  font-family:var(--display);
  font-size:clamp(1.25rem,3vw,1.8rem);
  font-weight:800;
  line-height:1.2;
  color:var(--navy);
  text-transform:uppercase;
  letter-spacing:.03em;
}
.about-section p:not(.home-intro__eyebrow){
  margin:0 0 .75rem;
  color:var(--muted);
  font-weight:600;
}
.about-section p:last-child{margin-bottom:0}

/* ===== Fotogalerie ===== */
.gallery{
  max-width:1180px;margin:1.5rem auto 0;padding:0 clamp(1rem,3vw,2rem);
}
.gallery__heading{
  margin:0 0 .4rem;font-family:var(--display);font-size:clamp(1.1rem,2.5vw,1.4rem);
  font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);
}
.gallery__grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:.85rem;
}
.gallery__grid img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;
  box-shadow:0 4px 16px rgba(15,47,91,.08);cursor:default;transition:transform .2s ease,box-shadow .2s ease;
}
.gallery__grid img:hover{transform:scale(1.02);box-shadow:0 8px 28px rgba(15,47,91,.15)}
.gallery__pager{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem}
.gallery__pager button{border:1px solid var(--border);background:#fff;color:var(--navy);border-radius:999px;padding:.45rem .8rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.gallery__pager button:hover:not(:disabled){background:var(--ice)}
.gallery__pager button:disabled{opacity:.4;cursor:default}
.gallery__pager span{min-width:5rem;text-align:center;font-size:.78rem;font-weight:800;color:var(--muted)}
.gallery__note{margin:.85rem 0 0;font-size:.8rem;color:var(--muted);font-weight:600}
@media(min-width:800px){.gallery__grid{grid-template-columns:repeat(4,1fr)}}

/* ===== Patička – 3 sloupce s kartami ===== */
.footer__hours{margin:.35rem 0 0;font-size:.9rem}
.footer__hours-sub{font-size:.78rem;opacity:.7;margin:0 0 .65rem}
.footer__ico{margin:.35rem 0 .15rem;font-size:.82rem}
.footer__legal{font-size:.76rem;opacity:.6;margin:.1rem 0 0;line-height:1.35}
.footer__operator{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.footer__operator-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 3px 10px rgba(0,0,0,.2);background:var(--ice);flex-shrink:0}
.footer__operator-info{display:flex;flex-direction:column;gap:.1rem}
.footer__operator-info strong{font-size:.88rem;color:#fff}
.footer__operator-info span{font-size:.8rem;opacity:.75}
.footer-phone{display:inline-flex;margin-top:.65rem;font-weight:800;color:var(--orange)!important;padding:.45rem .85rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.footer-bar{background:var(--navy-deep);padding:.85rem clamp(1rem,3vw,2rem);font-size:.8rem;text-align:center;position:relative;z-index:1;opacity:.7}
@media(min-width:800px){.footer-inner{grid-template-columns:1.2fr .9fr .9fr}.footer-bar{text-align:left}}
@media(max-width:799px){.footer-inner{grid-template-columns:1fr}.footer__operator-photo{width:42px;height:42px}}

@media print{
  .site-header,.footer-rise,.site-footer,.school-page__actions{display:none!important}
  .school-page,.school-page .inner-wrap{padding:0;max-width:none}
  .school-page .info-card{break-inside:avoid;box-shadow:none;border:1px solid #ccd6df}
  body{background:#fff;color:#000}
}

/* ===== Rezervační formuláře 2027 ===== */
.booking-desc{margin:0 0 1rem;padding:0;font-size:.92rem;color:var(--muted);line-height:1.5}
.booking-desc p{margin:0 0 .5rem}
.booking-desc strong{color:var(--navy)}
.booking-desc a{color:var(--sky);font-weight:700}
.booking-desc a:hover{color:var(--orange)}

.booking-capacity-notice{
  margin:0 0 1rem;padding:.65rem .85rem;border-radius:12px;
  background:#fff8e6;border:1px solid rgba(240,138,36,.25);
  font-size:.82rem;color:#8a6200;font-weight:600;
}

/* Radio / checkbox styling */
.booking-type{border:0;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}
.booking-type legend{width:100%;margin-bottom:.55rem;font-family:var(--display);font-weight:800;font-size:.85rem;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}
.chip{cursor:pointer;flex:1;min-width:180px}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{
  display:flex;flex-direction:column;gap:.15rem;
  padding:.65rem 1rem;border-radius:14px;border:2px solid rgba(15,47,91,.12);
  font-weight:700;font-size:.85rem;color:var(--navy);background:var(--ice);
  transition:border-color .2s,background .2s;
}
.chip span small{font-weight:600;font-size:.78rem;opacity:.8}
.chip input:checked + span{background:var(--navy);color:#fff;border-color:var(--navy)}
.chip input:checked + span small{opacity:.9}

/* Price display (readonly) */
.price-display,.total-price-display{
  background:var(--ice)!important;color:var(--navy)!important;
  font-family:var(--display);font-weight:800!important;font-size:1.05rem!important;
  cursor:default!important;
}

/* Checkbox label */
.checkbox-label{display:flex!important;flex-direction:row!important;gap:.5rem;align-items:flex-start;cursor:pointer}
.checkbox-label input[type="checkbox"]{width:auto;margin-top:.2rem;min-width:18px;min-height:18px;accent-color:var(--orange)}
.checkbox-label span{font-weight:600;font-size:.88rem;color:var(--muted);line-height:1.4}
.checkbox-label span strong{color:var(--navy)}
.checkbox-label a{color:var(--sky);text-decoration:underline}
.checkbox-label a:hover{color:var(--orange)}

/* Link button (looks like a link, behaves as button) */
.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--sky);text-decoration:underline;cursor:pointer;font-weight:700}
.link-btn:hover{color:var(--orange)}

/* Garance sněhu link */
.booking-snow-guarantee{margin:.85rem 0 0}
.booking-snow-guarantee .link-btn{font-size:.88rem}

/* Garance sněhu */
.guarantee-section{position:relative;z-index:3;margin-top:1.5rem}

/* Souhlasy */
.booking-consents{display:grid;gap:.65rem;margin:1rem 0 0;padding:.75rem .85rem;border-radius:14px;background:var(--ice);border:1px solid rgba(15,47,91,.08)}

/* Captcha placeholder */
.booking-captcha{margin:1rem 0 0;min-height:78px}
.booking-captcha .g-recaptcha{transform:scale(.9);transform-origin:left center}

/* Modální okno pro info o půjčení vybavení */
.modal-overlay{
  position:fixed;inset:0;z-index:100;background:rgba(10,35,69,.55);
  display:grid;place-items:center;padding:1rem;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.modal-overlay.is-open{opacity:1;pointer-events:auto}
.modal-box{
  background:#fff;border-radius:20px;padding:1.5rem 1.5rem 1.25rem;
  max-width:520px;width:100%;box-shadow:0 24px 64px rgba(10,35,69,.35);
  position:relative;max-height:80vh;overflow-y:auto;
}
.modal-box h3{margin:0 0 .75rem;font-family:var(--display);font-size:1.05rem;font-weight:800;color:var(--navy);text-transform:uppercase}
.modal-box p{margin:0 0 .75rem;color:var(--muted);font-size:.92rem;line-height:1.5}
.modal-close{
  position:absolute;top:.75rem;right:.85rem;border:0;background:var(--ice);
  width:36px;height:36px;border-radius:50%;cursor:pointer;
  font-size:1.15rem;display:grid;place-items:center;color:var(--muted);font-weight:700;
}
.modal-close:hover{background:var(--mist);color:var(--navy)}

/* Toast/notification */
.toast{
  position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);
  z-index:80;padding:.9rem 1.25rem;border-radius:999px;background:var(--navy);color:#fff;
  font-weight:700;box-shadow:var(--shadow);
}

/* Stávající blok booking-summary ponechán, ale přidáme .booking-result pro zprávu po odeslání */
.booking-result{
  text-align:center;padding:1.5rem 1rem;
}
.booking-result__icon{font-size:2.5rem;margin-bottom:.5rem}
.booking-result__title{margin:0 0 .5rem;font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--navy)}
.booking-result__text{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.booking-result__btn{margin-top:1rem}

/* Responzivní úpravy pro formuláře */
@media(max-width:640px){
  .booking-type{flex-direction:column}
  .chip{min-width:0}
  .booking-captcha .g-recaptcha{transform:scale(.78);transform-origin:left center}
  .modal-box{padding:1.15rem;margin:.5rem}
}
