/* Horliko podlahářství – modern landing (no framework) */
/* Paleta převzatá z loga (zlatá / béžová / olivová na tmavém podkladu) */

:root{
  --bg: #120a04;
  --panel: rgba(255,255,255,.06);
  --panel-2: rgba(255,255,255,.08);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.72);
  --faint: rgba(255,255,255,.55);
  --border: rgba(255,255,255,.12);
  --primary: #c37c2b;
  --secondary: #ecc891;
  --accent: #69661d;
  --shadow: 0 20px 60px rgba(0,0,0,.38);
  --radius: 18px;
  --radius-sm: 14px;
  --container: 1120px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(1100px 600px at 20% -10%, rgba(195,124,43,.28), transparent 60%),
    radial-gradient(900px 520px at 92% 10%, rgba(105,102,29,.20), transparent 60%),
    radial-gradient(900px 560px at 50% 115%, rgba(236,200,145,.14), transparent 60%),
    var(--bg);
  line-height: 1.55;
}

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

code{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  padding: .15rem .35rem;
  border-radius: 10px;
}

.container{
  width: min(var(--container), calc(100% - 2rem));
  margin: 0 auto;
}

.skip-link{
  position:absolute; left:-9999px; top:auto;
  width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left: 1rem; top: 1rem; width:auto; height:auto;
  padding: .75rem 1rem;
  background: rgba(0,0,0,.75);
  border: 1px solid var(--border);
  border-radius: 12px;
  z-index: 9999;
}

.sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  border:0;
}

/* Header */
.header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  background: rgba(18,10,4,.62);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: .9rem 0;
  gap: 1rem;
}

.brand{
  display:flex;
  align-items:center;
  gap: .75rem;
  text-decoration: none !important;
}
.brand__logo{
  width: 44px; height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  padding: 6px;
  object-fit: contain;
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
}
.brand__logo--footer{ width: 42px; height: 42px; }
.brand__name{ font-weight: 800; display:block; }
.brand__tag{ color: var(--muted); font-size: .9rem; display:block; margin-top: -2px; }

.nav{
  display:flex;
  align-items:center;
  gap: 1.1rem;
}
.nav a{
  color: rgba(255,255,255,.86);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
}
.nav a:hover{ color: #fff; text-decoration: none; }

.nav-toggle{
  display:none;
  width: 44px; height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  box-shadow: 0 10px 35px rgba(0,0,0,.18);
}
.nav-toggle__icon{
  display:block;
  width: 18px; height: 2px;
  background: rgba(255,255,255,.9);
  margin: 0 auto;
  position: relative;
  border-radius: 2px;
}
.nav-toggle__icon::before,
.nav-toggle__icon::after{
  content:"";
  position:absolute; left:0;
  width: 18px; height: 2px;
  background: rgba(255,255,255,.9);
  border-radius: 2px;
}
.nav-toggle__icon::before{ top: -6px; }
.nav-toggle__icon::after{ top: 6px; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: .95rem 1.1rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(195,124,43,.98), rgba(236,200,145,.82));
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(18,10,4,.95);
  font-weight: 900;
  box-shadow: 0 14px 45px rgba(0,0,0,.25);
  text-decoration: none !important;
  transition: transform .15s ease, filter .15s ease;
}
.btn:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.btn:active{ transform: translateY(0px); filter: brightness(.98); }

.btn--ghost{
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 45px rgba(0,0,0,.18);
}
.btn--small{
  padding: .7rem .95rem;
  font-size: .92rem;
  border-radius: 13px;
}

/* Hero */
.hero{
  position: relative;
  padding: 3.1rem 0 2.6rem;
  overflow:hidden;
}
.hero__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1.6rem;
  align-items: start;
}
.hero__content h1{
  font-size: clamp(2.1rem, 4.2vw, 3.35rem);
  line-height: 1.05;
  margin: .75rem 0 .8rem;
  letter-spacing: -0.02em;
}
.accent{
  background: linear-gradient(135deg, rgba(195,124,43,1), rgba(236,200,145,1));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lead{
  color: var(--muted);
  font-size: 1.05rem;
  max-width: 52ch;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding: .35rem .7rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: rgba(255,255,255,.85);
  font-weight: 700;
  font-size: .9rem;
}
.hero__cta{
  display:flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin: 1.25rem 0 1.4rem;
}
.stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  padding: 0;
  margin: 0;
  list-style:none;
}
.stats li{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius-sm);
  padding: .85rem .9rem;
}
.stats strong{ display:block; font-size: .98rem; }
.stats span{ display:block; color: var(--muted); font-size: .9rem; margin-top: .15rem; }

.hero__card{
  position: relative;
  border-radius: 22px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero__card-inner{ padding: 1.25rem 1.25rem 1.15rem; }
.hero__card-title{ margin: 1rem 0 .9rem; font-size: 1.15rem; letter-spacing: -0.01em; }
.shine{
  position:absolute; inset:-60px -80px auto auto;
  width: 260px; height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(236,200,145,.45), transparent 55%);
  filter: blur(6px);
  opacity: .22;
}
.hero__image{
  width: 100%;
  height: 180px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.12);
  object-fit: cover;
}

.chips{ display:flex; flex-wrap:wrap; gap: .55rem; margin-bottom: 1rem; }
.chip{
  font-size: .88rem;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: .35rem .6rem;
  border-radius: 999px;
}
.checklist{ display:grid; gap: .65rem; margin: 1rem 0; }
.checklist__item{ display:flex; gap: .65rem; align-items:flex-start; color: rgba(255,255,255,.88); }
.check{
  width: 26px; height: 26px;
  border-radius: 10px;
  background: rgba(105,102,29,.22);
  border: 1px solid rgba(236,200,145,.22);
  display:grid; place-items:center;
  color: rgba(236,200,145,1);
  flex: 0 0 auto;
  margin-top: .1rem;
}
.link{ display:inline-flex; font-weight: 900; text-decoration: none !important; color: rgba(255,255,255,.9); }
.link:hover{ color: #fff; }

.hero__bg{
  position:absolute;
  inset: auto 0 -160px 0;
  height: 320px;
  background:
    radial-gradient(900px 220px at 20% 0%, rgba(195,124,43,.24), transparent 70%),
    radial-gradient(900px 220px at 80% 20%, rgba(105,102,29,.18), transparent 70%);
  filter: blur(14px);
  opacity: .9;
  pointer-events:none;
}

/* Sections */
.section{ padding: 3rem 0; }
.section--alt{
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.03), transparent);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.section__head{
  display:flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.35rem;
}
.section__head h2{
  font-size: clamp(1.55rem, 2.3vw, 2.05rem);
  margin: 0;
  letter-spacing: -0.02em;
}
.section__head p{ margin: 0; color: var(--muted); max-width: 55ch; }

/* Cards */
.cards{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: 1.1rem 1.1rem 1.05rem;
  box-shadow: 0 18px 50px rgba(0,0,0,.20);
}
.card__icon{
  width: 44px; height: 44px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(195,124,43,.18);
  border: 1px solid rgba(236,200,145,.22);
  margin-bottom: .85rem;
  font-size: 1.2rem;
}
.card h3{ margin: 0 0 .45rem; letter-spacing: -0.01em; }
.card p{ margin: 0 0 .85rem; color: var(--muted); }
.card__list{ margin: 0; padding-left: 1.05rem; color: rgba(255,255,255,.84); }
.card__list li{ margin: .25rem 0; }

.banner{
  margin-top: 1.15rem;
  padding: 1.2rem 1.2rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(195,124,43,.18), rgba(105,102,29,.12));
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1rem;
}
.banner h3{ margin: 0 0 .25rem; }
.banner p{ margin: 0; color: var(--muted); max-width: 60ch; }

/* Gallery */
.gallery{ display:grid; grid-template-columns: repeat(12, 1fr); gap: .9rem; }
.shot{
  margin: 0;
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.shot__img{
  width: 100%;
  height: 180px;
  display:block;
  object-fit: cover;
  background: rgba(0,0,0,.12);
}
.shot figcaption{
  padding: .75rem .85rem;
  color: rgba(255,255,255,.86);
  font-weight: 700;
  font-size: .95rem;
}
.shot:nth-child(1){ grid-column: span 6; }
.shot:nth-child(2){ grid-column: span 6; }
.shot:nth-child(3){ grid-column: span 4; }
.shot:nth-child(4){ grid-column: span 4; }
.shot:nth-child(5){ grid-column: span 4; }
.shot:nth-child(6){ grid-column: span 6; }

/* Split */
.split{ display:grid; grid-template-columns: 1.25fr .75fr; gap: 1rem; align-items: start; }
.pill-row{ display:flex; flex-wrap:wrap; gap: .55rem; margin: 1rem 0; }
.pill{
  padding: .35rem .65rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  font-weight: 650;
  font-size: .9rem;
}
.quote{
  margin-top: 1rem;
  padding: 1.05rem 1.05rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.quote p{ margin: 0 0 .5rem; }
.quote span{ color: var(--muted); }

.info-card{
  padding: 1.1rem 1.1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
.dl{ margin: .8rem 0 1rem; }
.dl > div{ display:flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.dl > div:last-child{ border-bottom: none; }
dt{ color: var(--muted); }
dd{ margin:0; font-weight: 800; }
.mini{ display:flex; align-items:center; gap: .6rem; color: rgba(255,255,255,.85); margin-bottom: .9rem; }
.dot{ width: 10px; height: 10px; border-radius: 50%; background: rgba(236,200,145,1); box-shadow: 0 0 0 6px rgba(195,124,43,.12); }

/* Contact */
.contact-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap: 1rem; align-items: start; }
.form{
  padding: 1.1rem 1.1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
.field{ margin-bottom: .85rem; }
label{ display:block; font-weight: 800; margin-bottom: .35rem; }
input, select, textarea{
  width: 100%;
  padding: .85rem .9rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.92);
  outline: none;
  transition: border-color .12s ease, box-shadow .12s ease;
}
select{ cursor:pointer; }
input::placeholder, textarea::placeholder{ color: rgba(255,255,255,.45); }
input:focus, select:focus, textarea:focus{
  border-color: rgba(195,124,43,.65);
  box-shadow: 0 0 0 4px rgba(195,124,43,.16);
}
.hint{ display:block; color: var(--faint); margin-top: .35rem; }
.error{ display:block; color: rgba(255,120,120,.95); margin-top: .35rem; min-height: 1.15em; }
.consent{ display:flex; gap: .6rem; align-items: flex-start; margin: .35rem 0 .2rem; cursor:pointer; }
.consent input{ width: 18px; height: 18px; margin-top: .25rem; }

.form__actions{ display:flex; align-items:center; gap: .8rem; margin-top: .6rem; flex-wrap: wrap; }
.form__status{ color: var(--muted); font-weight: 650; }
.fineprint{ margin: 1rem 0 0; color: var(--faint); font-size: .92rem; }

.contact-card{
  padding: 1.1rem 1.1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.muted{ color: var(--muted); }
.contact-card__row{ display:flex; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.contact-card__row:last-of-type{ border-bottom: none; }
.icon{
  width: 42px; height: 42px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  display:grid; place-items:center;
}
.label{ color: var(--muted); font-size: .9rem; margin-bottom: .15rem; }

.map{
  margin-top: 1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  overflow:hidden;
}
.map__inner{ padding: 1rem; display:flex; gap: .9rem; align-items:center; }
.map__pin{ width: 14px; height: 14px; border-radius: 50%; background: rgba(195,124,43,1); box-shadow: 0 0 0 7px rgba(195,124,43,.16); }
.contact-card__cta{ margin-top: 1rem; display:flex; gap: .6rem; flex-wrap: wrap; }

/* Footer */
.footer{
  padding: 2.2rem 0 1.2rem;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.10);
}
.footer__inner{ display:flex; justify-content: space-between; align-items:flex-start; gap: 1rem; }
.footer__right{ display:flex; gap: 1rem; flex-wrap: wrap; align-items:center; }
.footer__right a{ color: rgba(255,255,255,.85); font-weight: 700; text-decoration:none; }
.footer__right a:hover{ color: #fff; }
.footer__bottom{ display:flex; justify-content: space-between; align-items:center; gap: .8rem; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid rgba(255,255,255,.08); }

/* Reveal animations */
.reveal{opacity:1;transform:none;}
.reveal.is-visible{ opacity: 1; transform: translateY(0); }

/* Responsive */
@media (max-width: 980px){
  .hero__grid{ grid-template-columns: 1fr; }
  .split{ grid-template-columns: 1fr; }
  .contact-grid{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .stats{ grid-template-columns: 1fr; }
  .shot:nth-child(n){ grid-column: span 12; }
  .section__head{ flex-direction: column; align-items:flex-start; }
  .footer__inner{ flex-direction: column; }
}

@media (max-width: 860px){
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav{
    position:absolute;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    display:none;
    flex-direction: column;
    padding: 1rem;
    background: rgba(18,10,4,.86);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
  }
  .nav.is-open{ display:flex; }
  .nav a{ width: 100%; padding: .55rem .2rem; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .reveal{ transition: none; }
  .btn{ transition: none; }
}


/* Big logo between header and hero */
.brand-hero{
  padding: 2.2rem 0 0.8rem;
  text-align: center;
}
.brand-hero__inner{
  display: flex;
  justify-content: center;
}
.brand-hero__logo{
  width: 220px;
  max-width: 70vw;
  height: auto;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.45));
}
@media (max-width: 768px){
  .brand-hero__logo{
    width: 170px;
  }
}


/* Logo inside hero card */
.hero__image--logo{
  object-fit: contain;
  background: transparent;
  padding: 1.2rem;
  height: 200px;
}

/* Bigger logo inside hero card */
.hero__image--logo{
  height: 260px;
  padding: 1.6rem;
}
@media (max-width: 768px){
  .hero__image--logo{
    height: 200px;
  }
}

/* Logo full card */
.hero__card-inner{
  display: flex;
  flex-direction: column;
}

.hero__image--logo{
  width: 100%;
  height: 340px;
  max-height: 60vh;
  padding: 2rem;
  object-fit: contain;
  background:
    radial-gradient(600px 300px at 50% 30%, rgba(236,200,145,.22), transparent 70%),
    linear-gradient(135deg, rgba(195,124,43,.12), rgba(105,102,29,.10));
  border-radius: 20px;
  margin-bottom: 1.2rem;
}

@media (max-width: 768px){
  .hero__image--logo{
    height: 240px;
    padding: 1.5rem;
  }
}

.contact-grid--single .form{
  max-width: 640px;
  width: 100%;
}

/* Hero slogan between buttons */
.hero__cta{
  position: relative;
  align-items: center;
}

.hero__slogan{
  width: 100%;
  text-align: center;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .9rem;
  color: rgba(255,255,255,.85);
  margin: .6rem 0 .8rem;
}

/* Bigger vertical spacing below hero buttons */
.hero__cta{
  margin-bottom: 2.2rem;
}

/* Extra spacing: slogan <-> buttons and buttons <-> stats */
.hero__slogan{
  margin-bottom: 1.8rem;
}

.hero__cta{
  margin-bottom: 3.2rem;
}

/* Center CTA inside hero card */
.hero__center-cta{
  display: flex;
  justify-content: center;
  margin-top: 1.4rem;
}

/* Mobile: center all text */
@media (max-width: 768px){
  body{
    text-align: center;
  }

  .hero__content,
  .section__head,
  .card,
  .banner,
  .quote,
  .form,
  .footer{
    text-align: center;
  }

  .hero__cta,
  .stats,
  .cards,
  .pill-row,
  .contact-grid{
    justify-content: center;
    align-items: center;
  }

  .stats{
    text-align: center;
  }

  .stats li{
    align-items: center;
  }
}

/* Mobile logo above badge */
.hero__mobile-logo{
  display: none;
}

@media (max-width: 768px){
  .hero__mobile-logo{
    display: block;
    margin: 0 auto 0.8rem;
    width: 140px;
    height: auto;
  }
}

/* Modal */
.modal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 1000;
}
.modal.is-open{
  display: block;
}
.modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
}
.modal__dialog{
  position: relative;
  max-width: 420px;
  margin: 10vh auto;
  background: rgba(18,10,4,.95);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 1.4rem 1.4rem 1.2rem;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
}
.modal__dialog h3{
  margin-top: 0;
}

/* Contact grid with quick contact */
.contact-grid{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1.5rem;
}
@media (max-width: 900px){
  .contact-grid{
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.contact-card{
  background: rgba(255,255,255,.04);
  border-radius: 18px;
  padding: 1.4rem;
}

/* Availability green dot */
.mini .dot{
  background: #2ecc71;
  box-shadow: 0 0 0 4px rgba(46,204,113,.25);
}

/* Availability states */
.mini .dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin-right: .4rem;
}

/* Dostupný */
.mini.available .dot{
  background: #2ecc71;
  box-shadow: 0 0 0 4px rgba(46,204,113,.25);
}

/* Omezená kapacita */
.mini.limited .dot{
  background: #f1c40f;
  box-shadow: 0 0 0 4px rgba(241,196,15,.25);
}

/* Nedostupný */
.mini.unavailable .dot{
  background: #e74c3c;
  box-shadow: 0 0 0 4px rgba(231,76,60,.25);
}

/* Center CTA blocks */
.center-cta{
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

/* Center submit button in form */
.form__actions{
  justify-content: center;
}
.form__status{
  width: 100%;
  text-align: center;
}

/* Definitive contact layout (form + quick contact) */
.contact-grid{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 900px){
  .contact-grid{
    grid-template-columns: 1fr;
  }
}

.form__actions{
  display: flex;
  gap: .9rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

/* Reveal animation only when JS is enabled */
.js .reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .6s ease, transform .6s ease;
}
.js .reveal.is-visible{
  opacity: 1;
  transform: none;
}

/* Gallery filters */
.filters{
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 1rem 0 1.2rem;
  justify-content: center;
}
.filter{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.9);
  padding: .55rem .9rem;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.filter:hover{ transform: translateY(-1px); }
.filter.is-active{
  border-color: rgba(236,200,145,.55);
  background: rgba(236,200,145,.18);
}
.shot.is-hidden{ display:none; }

/* Admin gallery list */
.gallery-admin{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
@media (max-width: 700px){
  .gallery-admin{ grid-template-columns: 1fr; }
}
.gitem{
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: .8rem;
  align-items: center;
  padding: .7rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.gitem[draggable="true"]{ cursor: grab; }
.gitem.is-dragging{ opacity: .5; }
.gthumb{
  width: 92px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.gmeta{
  display:flex;
  flex-direction: column;
  gap: .25rem;
}
.gmeta .cap{ font-weight: 800; }
.gmeta .cat{ color: rgba(255,255,255,.7); font-size: .92rem; }
.gactions{
  display:flex;
  gap:.5rem;
  flex-wrap: wrap;
  margin-top: .35rem;
}
.gactions .btn{ padding: .45rem .7rem; }

/* Admin inline edit fields */
.gmeta input, .gmeta select{
  width: 100%;
  margin-top: .25rem;
  padding: .45rem .55rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.9);
}
.gmeta label{
  font-size: .82rem;
  color: rgba(255,255,255,.7);
  margin-top: .25rem;
}

/* Mobile tweaks (requested) */
@media (max-width: 768px){
  /* Bigger logo above "Dlažba • Lino • Koberce" */
  .hero__mobile-logo{
    width: 380px;
    margin-bottom: 0.9rem;
  }

  /* Hide logo inside "Nejčastější realizace" card on mobile */
  .hero__image--logo{
    display: none !important;
  }

  /* Center section headings on mobile */
  #sluzby .section__head,
  #realizace .section__head,
  #kontakt .section__head{
    text-align: center;
  }

  #sluzby .section__head h2,
  #realizace .section__head h2,
  #kontakt .section__head h2{
    text-align: center;
    width: 100%;
  }

  /* Center footer text on mobile */
  .footer__inner{
    justify-content: center !important;
    text-align: center !important;
  }
}


/* Universal realtime helpers */
.availability{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.availability-dot{width:.65rem;height:.65rem;border-radius:999px;background:currentColor;opacity:.9}
#availability.available{color:#1a7f37}
#availability.limited{color:#b54708}
#availability.unavailable{color:#b42318}

/* Gallery minimal layout */
#galleryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
#galleryGrid .gallery-item{display:block;text-decoration:none;color:inherit}
#galleryGrid img{width:100%;height:auto;display:block;border-radius:10px}
#galleryGrid .gallery-caption{font-size:.9rem;opacity:.85;margin-top:.35rem}

/* Mobile logo spacing fix */
@media (max-width: 768px){
  header,.header__inner{padding-top:0 !important;margin-top:0 !important}
  .brand,.site-logo,.logo{margin-top:0 !important;padding-top:0 !important}
  .brand__logo,.site-logo img,.logo img{margin-top:0 !important;padding-top:0 !important;margin-bottom:0.4rem !important;display:block}
}


/* Gallery thumbnails (smaller, consistent) */
#galleryGrid img{
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 10px;
  cursor: zoom-in;
  transition: transform .2s ease, box-shadow .2s ease;
}
#galleryGrid img:hover{
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
}

/* Lightbox */
#lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.9);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 18px;
}
#lightbox.is-open{ display: flex; }
#lightbox img{
  max-width: 92vw;
  max-height: 92vh;
  width: auto;
  height: auto;
  border-radius: 12px;
  cursor: zoom-out;
}

/* Prevent background scroll when lightbox open */
body.lb-lock{ overflow: hidden; }


/* Gallery category filters */
#galleryFilters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin: 14px 0 10px;
}
.gallery-filter-btn{
  appearance:none;
  border: 1px solid rgba(0,0,0,.15);
  background: rgba(255,255,255,.7);
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  line-height: 1;
}
.gallery-filter-btn.is-active{
  background: rgba(0,0,0,.9);
  color: #fff;
  border-color: rgba(0,0,0,.9);
}
@media (max-width: 768px){
  .gallery-filter-btn{ padding: 9px 12px; }
}


/* === Success modal (kontakt) === */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.modal-content {
  background: #fff;
  padding: 26px;
  max-width: 420px;
  width: 90%;
  border-radius: 14px;
  text-align: center;
  animation: fadeIn .25s ease;
}

.modal-content h3 {
  margin-bottom: 10px;
}

.modal-content p {
  font-size: 16px;
  margin: 0;
}

.modal-content button {
  margin-top: 18px;
  padding: 10px 22px;
  border: none;
  background: #000;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(.95); }
  to { opacity: 1; transform: scale(1); }
}

/* Optional hint style (if not present) */
.form-hint { display:block; font-size: 12px; opacity: 0.8; margin-top: 6px; }