/*
 * FixParking — main.css v3 "Editorial Precision"
 * Fonts: Cormorant Garamond + Plus Jakarta Sans
 */

:root {
  --green:      #1EC97A;
  --green-dim:  rgba(30,201,122,.13);
  --green-glow: rgba(30,201,122,.22);

  --ink:  #07090F;
  --ink2: #0C1220;
  --ink3: #111B2C;

  --paper:      #F8F7F3;
  --paper2:     #EFEDE8;
  --paper-card: #FFFFFF;

  --text:  rgba(7,9,15,.86);
  --muted: rgba(7,9,15,.68);
  --faint: rgba(7,9,15,.34);

  --dt: rgba(255,255,255,.92);
  --dm: rgba(255,255,255,.62);
  --ds: rgba(255,255,255,.10);

  --sh1:    0 1px 4px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);
  --sh2:    0 2px 8px rgba(0,0,0,.06), 0 8px 28px rgba(0,0,0,.07);
  --sh3:    0 8px 40px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.05);
  --sh-dark:0 16px 56px rgba(0,0,0,.42);

  --w:    1120px;
  --pad:  clamp(16px,2.2vw,22px);
  --r:    18px;
  --r2:   14px;
  --r3:   10px;

  --f-serif: "Cormorant Garamond", Georgia, serif;
  --f-sans:  "Plus Jakarta Sans", system-ui, sans-serif;

  --ease: cubic-bezier(.22,.84,.2,1);
  --t:    200ms;
}


*,*::before,*::after { box-sizing:border-box }
html { scroll-behavior:smooth }
body {
  margin:0;
  font-family:var(--f-sans);
  font-weight:400;
  background:var(--paper);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
}
@media(min-width:981px){ body { padding-bottom:0 } }
@media(max-width:980px){ body { padding-bottom:64px } }

img { max-width:100%; display:block; height:auto }
a   { color:inherit; text-decoration:none }
ul  { margin:0; padding:0; list-style:none }
p   { margin:0; font-size:clamp(14.5px,1.05vw,16px) }
::selection { background:var(--green-glow) }


body::before {
  content:"";
  position:fixed; inset:0;
  pointer-events:none; z-index:9999;
  opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}


.wrap   { max-width:var(--w); margin:0 auto; padding:0 var(--pad) }
.narrow { max-width:900px; margin:0 auto }


.t-label {
  font-size:10.5px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; opacity:.55;
}
.section-title {
  font-family:var(--f-serif);
  font-size:clamp(28px,3.2vw,46px);
  font-weight:500; letter-spacing:-.02em; line-height:1.1;
  margin:0 0 clamp(10px,1.5vw,16px); color:var(--text);
}
.section-lead {
  font-size:clamp(14.5px,1.05vw,16px);
  color:var(--muted); max-width:560px; line-height:1.7;
}
.accent-line {
  display:block; width:32px; height:2px;
  border-radius:4px; background:var(--green); opacity:.85;
}


.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:11px 20px; border-radius:var(--r3);
  font-family:var(--f-sans); font-size:11.5px; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase;
  cursor:pointer; border:0; text-decoration:none;
  transition:transform var(--t) var(--ease), opacity var(--t), box-shadow var(--t) var(--ease);
}
.btn:hover  { transform:translateY(-1px) }
.btn:active { transform:translateY(0) }

.btn-primary {
  background:var(--green); color:var(--ink);
  box-shadow:0 4px 20px var(--green-glow);
}
.btn-primary:hover { opacity:.92; box-shadow:0 8px 28px var(--green-glow) }

.btn-outline {
  background:transparent; color:var(--dt);
  border:1px solid rgba(255,255,255,.20);
}
.btn-outline:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.28) }

.btn-soft {
  background:rgba(30,201,122,.10); color:var(--text);
  border:1px solid rgba(30,201,122,.26);
}
.btn-soft:hover { background:rgba(30,201,122,.18) }

.btn-ghost {
  background:transparent; color:var(--muted);
  border:1px solid rgba(7,9,15,.12);
}
.btn-ghost:hover { color:var(--text); border-color:rgba(7,9,15,.22); background:rgba(7,9,15,.03) }


.site-header {
  position:sticky; top:0; z-index:100;
  background:rgba(7,9,15,.78);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background var(--t) var(--ease);
}
.site-header.scrolled { background:rgba(7,9,15,.92) }

.nav {
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}


.logo {
  display:flex; align-items:center; gap:10px;
  flex-shrink:0; text-decoration:none;
}
.logo-img { height:38px; width:auto }
.logo-tagline {
  font-size:9.5px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  color:rgba(255,255,255,.45); white-space:nowrap;
  display:none;
}
@media(min-width:768px){ .logo-tagline { display:block } }


.nav-links { display:none; align-items:center; gap:2px; margin:0; padding:0; list-style:none }
@media(min-width:980px){ .nav-links { display:flex } }
.nav-links a {
  font-size:12.5px; font-weight:500; letter-spacing:.01em;
  color:rgba(255,255,255,.68); padding:7px 12px; border-radius:8px;
  transition:color var(--t), background var(--t);
}
.nav-links a:hover { color:rgba(255,255,255,.96); background:rgba(255,255,255,.07) }
.nav-links a.current { color:var(--green) }


.nav-right { display:flex; align-items:center; gap:10px }

.lang-sw {
  display:flex; align-items:center; gap:8px;
  padding-left:10px; border-left:1px solid rgba(255,255,255,.09);
}
.lang-sw a {
  font-size:10.5px; font-weight:600; letter-spacing:.09em;
  text-transform:uppercase; color:rgba(255,255,255,.44);
  transition:color var(--t);
}
.lang-sw a.on  { color:var(--green) }
.lang-sw a:hover { color:rgba(255,255,255,.80) }

.btn-header {
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 16px; border-radius:9px;
  font-size:11.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  background:var(--green); color:var(--ink); border:0; cursor:pointer;
  transition:opacity var(--t), transform var(--t) var(--ease);
}
.btn-header:hover { opacity:.90; transform:translateY(-1px) }


.burger {
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap:5px; width:38px; height:38px;
  border:1px solid rgba(255,255,255,.12); border-radius:8px;
  background:rgba(255,255,255,.06); cursor:pointer;
  transition:background var(--t);
}
.burger span {
  display:block; width:16px; height:1.5px;
  background:rgba(255,255,255,.80); border-radius:2px;
  transition:transform var(--t), opacity var(--t);
}
.burger:hover { background:rgba(255,255,255,.09) }
.burger[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg) }
.burger[aria-expanded="true"] span:nth-child(2) { opacity:0 }
.burger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg) }
@media(min-width:980px){ .burger { display:none } }


.mobile-nav {
  overflow:hidden; max-height:0; opacity:0;
  transition:max-height .28s var(--ease), opacity .2s var(--ease);
}
.mobile-nav.open { max-height:520px; opacity:1 }
.mobile-nav ul {
  padding:10px 0 16px; display:flex; flex-direction:column; gap:4px;
  margin:0; list-style:none;
}
.mobile-nav a {
  display:block; padding:11px 14px; border-radius:9px;
  font-size:13px; font-weight:500; color:rgba(255,255,255,.80);
  border:1px solid transparent;
  transition:background var(--t), border-color var(--t);
}
.mobile-nav a:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.09) }


.hero {
  position:relative;
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(80px,10vw,130px) 0 clamp(60px,7vw,100px);
  overflow:hidden;
}

.hero::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(700px 600px at 10% -10%, rgba(30,201,122,.15), transparent 55%),
    radial-gradient(500px 400px at 85% 80%,  rgba(30,201,122,.07), transparent 55%);
}
.hero::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(30,201,122,.38) 40%,rgba(30,201,122,.38) 60%,transparent 100%);
}
.hero .wrap { position:relative; z-index:2; width:100% }


.hero-grid {
  display:grid; grid-template-columns:1fr 400px;
  gap:clamp(20px,3vw,40px); align-items:center;
}
@media(max-width:980px){ .hero-grid { grid-template-columns:1fr } }

.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px; margin-bottom:20px;
  padding:6px 12px 6px 8px; border-radius:999px;
  background:rgba(30,201,122,.10); border:1px solid rgba(30,201,122,.20);
}
.hero-eyebrow-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--green); box-shadow:0 0 8px var(--green);
  animation:pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.40} }
.hero-eyebrow-text { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--green) }

.hero-h1 {
  font-family:var(--f-serif); font-size:clamp(42px,5.5vw,80px);
  font-weight:500; line-height:1.02; margin:0 0 clamp(14px,2vw,22px);
  color:var(--dt); letter-spacing:-.02em;
}
.hero-h1 em { font-style:italic; color:rgba(255,255,255,.78) }

.hero-lead {
  font-size:clamp(15px,1.2vw,17px); line-height:1.7;
  color:rgba(255,255,255,.68); max-width:480px;
  margin:0 0 clamp(18px,2.5vw,28px); font-weight:400;
}


.hero-proof { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(18px,2.5vw,28px) }
.proof-chip {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 12px; border-radius:999px;
  border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.06);
  font-size:12px; font-weight:500; color:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
}
.proof-chip img { width:16px; height:16px; object-fit:contain }

.hero-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center }
.hero-note    { font-size:11.5px; color:rgba(255,255,255,.38); margin-top:10px }


.booking-card {
  background:rgba(255,255,255,.97); border-radius:var(--r);
  box-shadow:var(--sh-dark); overflow:hidden;
}
.booking-card-head {
  background:var(--ink); padding:16px 20px;
  display:flex; align-items:center; justify-content:space-between;
}
.booking-card-head-title {
  font-family:var(--f-serif); font-size:18px; font-weight:500;
  color:var(--dt); letter-spacing:-.01em;
}
.booking-rating { display:flex; align-items:center; gap:5px; font-size:12px; font-weight:600; color:rgba(255,255,255,.68) }
.stars { color:#F5C142; letter-spacing:1px; font-size:11px }

.booking-card-body { padding:20px }
.booking-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px }

.f-group { display:flex; flex-direction:column; gap:5px }
.f-label { font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted) }
.f-input {
  padding:11px 13px; border-radius:var(--r3);
  border:1.5px solid rgba(7,9,15,.09); background:var(--paper);
  font-family:var(--f-sans); font-size:14px; color:var(--text); width:100%;
  transition:border-color var(--t), box-shadow var(--t);
}
.f-input:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(30,201,122,.10) }
.f-input::placeholder { color:var(--faint) }
textarea.f-input { resize:vertical }

.booking-total {
  margin-top:4px; padding:12px 14px; border-radius:var(--r3);
  background:var(--paper); border:1.5px solid rgba(7,9,15,.07);
  display:flex; align-items:center; justify-content:space-between;
}
.booking-total-label { font-size:12px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--muted) }
.booking-total-val {
  font-family:var(--f-serif); font-size:22px; font-weight:500;
  color:var(--text); letter-spacing:-.01em;
}
.booking-submit {
  width:100%; margin-top:12px; padding:13px; border-radius:var(--r3);
  background:var(--green); color:var(--ink);
  font-family:var(--f-sans); font-size:12px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; border:0; cursor:pointer;
  transition:opacity var(--t), transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
  box-shadow:0 6px 24px var(--green-glow);
}
.booking-submit:hover { opacity:.90; transform:translateY(-1px); box-shadow:0 10px 32px var(--green-glow) }
.booking-footer { text-align:center; margin-top:10px; font-size:11px; color:var(--muted) }
.booking-footer a { color:var(--green); font-weight:600 }


.scroll-hint {
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:rgba(255,255,255,.28); font-size:10px; letter-spacing:.08em;
  text-transform:uppercase; font-weight:500;
}
.scroll-arrow {
  width:24px; height:24px;
  border:1.5px solid rgba(255,255,255,.16); border-radius:50%;
  display:grid; place-items:center;
  animation:bounce 2.4s infinite;
}
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)} }


.strip {
  background:var(--paper2);
  border-bottom:1px solid rgba(7,9,15,.07);
  border-top:1px solid rgba(7,9,15,.07);
  padding:18px 0; overflow:hidden;
}
.strip-inner {
  display:flex; align-items:center; justify-content:center;
  gap:clamp(16px,3.5vw,48px); flex-wrap:wrap;
}
.strip-label {
  font-size:10px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--faint); flex-shrink:0;
}
.strip-item {
  font-size:12px; font-weight:500; letter-spacing:.02em; color:var(--muted);
  display:flex; align-items:center; gap:6px; opacity:.70;
}
.strip-item img { width:16px; height:16px; object-fit:contain }


.section { padding:clamp(56px,7vw,96px) 0 }
.section-label { margin-bottom:10px; display:block }


.why { background:var(--paper) }
.why-inner {
  display:grid; grid-template-columns:1fr 1.1fr;
  gap:clamp(28px,5vw,72px); align-items:center;
}
@media(max-width:900px){ .why-inner { grid-template-columns:1fr } }

.why-grid {
  display:grid; grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto; gap:12px;
  max-width:900px;
}
@media(max-width:640px){ .why-grid { grid-template-columns:1fr } }

.why-card {
  padding:clamp(18px,2.4vw,26px); border-radius:var(--r);
  border:1px solid rgba(7,9,15,.07); background:var(--paper-card);
  box-shadow:var(--sh1);
  transition:transform var(--t) var(--ease), box-shadow var(--t), border-color var(--t);
  position:relative; overflow:hidden;
}
.why-card:hover { transform:translateY(-2px); box-shadow:var(--sh3); border-color:rgba(30,201,122,.22) }
.why-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--green) 0%,transparent 80%);
  opacity:0; transition:opacity var(--t);
}
.why-card:hover::before { opacity:1 }

.why-icon {
  width:42px; height:42px; border-radius:10px;
  display:grid; place-items:center;
  background:rgba(30,201,122,.08); border:1px solid rgba(30,201,122,.16);
  margin-bottom:14px;
}
.why-icon img { width:22px; height:22px; object-fit:contain }
.why-card h3 { font-size:clamp(15px,1.4vw,17px); font-weight:600; margin:0 0 8px; letter-spacing:-.01em }
.why-card p  { font-size:13.5px; color:var(--muted); line-height:1.6 }
.why-card .tag {
  display:inline-block; margin-top:12px;
  font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--green); background:rgba(30,201,122,.08);
  padding:4px 9px; border-radius:999px;
}


.trust-strip {
  background:var(--ink);
  padding:clamp(36px,5vw,60px) 0;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.trust-numbers {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0; text-align:center;
}
@media(max-width:640px){ .trust-numbers { grid-template-columns:1fr 1fr } }
.trust-num:not(:last-child) { border-right:1px solid rgba(255,255,255,.07) }
.trust-num { padding:0 clamp(16px,3vw,40px) }
.trust-num strong {
  display:block; font-family:var(--f-serif);
  font-size:clamp(32px,4.5vw,56px); font-weight:500;
  color:var(--dt); letter-spacing:-.03em; line-height:1; margin-bottom:6px;
}
.trust-num strong em { font-style:normal; color:var(--green) }
.trust-num span { font-size:12px; font-weight:500; color:var(--dm); letter-spacing:.02em }


.how { background:var(--ink2) }
.how .section-title { color:var(--dt) }
.how .section-lead  { color:var(--dm) }

.steps {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  margin-top:clamp(28px,4vw,48px); position:relative;
}
@media(max-width:760px){ .steps { grid-template-columns:1fr 1fr; gap:24px } }
@media(max-width:480px){ .steps { grid-template-columns:1fr } }

.steps::before {
  content:""; position:absolute;
  top:28px; left:calc(12.5% + 20px); right:calc(12.5% + 20px); height:1px;
  background:linear-gradient(90deg,var(--green) 0%,rgba(30,201,122,.20) 100%);
}
@media(max-width:760px){ .steps::before { display:none } }

.step { padding:0 clamp(8px,2vw,20px); text-align:center; position:relative }
.step-num {
  width:56px; height:56px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--f-serif); font-size:22px; font-weight:500;
  color:var(--green); border:1.5px solid rgba(30,201,122,.35);
  background:rgba(30,201,122,.08); margin-bottom:16px;
  position:relative; z-index:1;
}
.step h3 { font-size:clamp(13px,1.1vw,15px); font-weight:600; color:var(--dt); margin:0 0 8px; letter-spacing:-.01em }
.step p  { font-size:12.5px; color:var(--dm); line-height:1.6 }


.reviews { background:var(--paper) }
.reviews-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:20px; margin-bottom:clamp(24px,3.5vw,40px); flex-wrap:wrap;
}
.rating-big { display:flex; align-items:center; gap:16px; flex-shrink:0 }
.rating-score {
  font-family:var(--f-serif); font-size:52px; font-weight:500;
  line-height:1; letter-spacing:-.03em; color:var(--text);
}
.rating-meta .stars-big { color:#F5C142; font-size:18px; letter-spacing:2px; display:block; margin-bottom:2px }
.rating-meta small { font-size:12px; color:var(--muted) }

.reviews-scroll {
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
}
@media(max-width:900px){ .reviews-scroll { grid-template-columns:1fr 1fr } }
@media(max-width:560px){ .reviews-scroll { grid-template-columns:1fr } }

.review-card {
  padding:20px; border-radius:var(--r);
  border:1px solid rgba(7,9,15,.07); background:var(--paper-card);
  box-shadow:var(--sh1); display:flex; flex-direction:column; gap:12px;
}
.review-stars { color:#F5C142; font-size:12px; letter-spacing:1.5px }
.review-text {
  font-size:14px; line-height:1.7; color:var(--text);
  font-family:var(--f-serif); font-style:italic; font-weight:400;
  flex:1; margin:0;
}
.review-author { display:flex; align-items:center; gap:10px; margin-top:auto }
.review-avatar {
  width:36px; height:36px; border-radius:50%;
  background:var(--green-dim); border:1.5px solid rgba(30,201,122,.22);
  display:grid; place-items:center;
  font-family:var(--f-serif); font-size:16px; color:var(--green);
  font-weight:500; flex-shrink:0;
}
.review-name { font-size:13px; font-weight:600; color:var(--text) }
.review-date { font-size:11px; color:var(--muted) }

.reviews-footer {
  margin-top:clamp(20px,3vw,32px);
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.reviews-source { font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px }


.pricing { background:var(--ink3) }
.pricing .section-title { color:var(--dt) }
.pricing .section-lead  { color:var(--dm) }

.price-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
  margin-top:clamp(28px,4vw,48px);
}
@media(max-width:900px){ .price-grid { grid-template-columns:1fr 1fr } }
@media(max-width:480px){ .price-grid { grid-template-columns:1fr } }

.price-card {
  padding:clamp(18px,2.4vw,24px); border-radius:var(--r);
  border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.05);
  position:relative; overflow:hidden; display:flex; flex-direction:column;
  transition:transform var(--t) var(--ease), border-color var(--t), background var(--t);
}
.price-card:hover { transform:translateY(-2px); border-color:rgba(30,201,122,.28); background:rgba(255,255,255,.07) }
.price-card.featured {
  border-color:rgba(30,201,122,.35); background:rgba(30,201,122,.08);
}
.price-card.featured::before {
  content:"Nejoblíbenější"; position:absolute; top:14px; right:14px;
  font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--green); background:rgba(30,201,122,.12);
  padding:4px 9px; border-radius:999px; border:1px solid rgba(30,201,122,.25);
}
.price-duration { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--green); margin-bottom:8px }
.price-name     { font-family:var(--f-serif); font-size:clamp(17px,1.6vw,20px); font-weight:500; color:var(--dt); margin:0 0 8px; letter-spacing:-.01em }
.price-desc     { font-size:13px; color:var(--dm); line-height:1.55; flex:1 }
.price-amount   {
  font-family:var(--f-serif); font-size:clamp(26px,3vw,36px); font-weight:500;
  color:var(--dt); letter-spacing:-.02em; margin-top:18px; line-height:1;
}
.price-amount sub { font-size:.45em; vertical-align:middle; color:var(--dm); font-family:var(--f-sans); font-weight:400 }
.price-incl   { font-size:11px; color:var(--dm); margin-top:4px; font-weight:500 }
.price-footer { margin-top:clamp(20px,3vw,32px); text-align:center; font-size:13px; color:var(--dm) }
.price-cta    { margin-top:clamp(20px,3vw,32px); display:flex; justify-content:center; gap:12px; flex-wrap:wrap }


.services { background:var(--paper) }
.services-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
  margin-top:clamp(28px,4vw,48px);
}
@media(max-width:640px){ .services-grid { grid-template-columns:1fr } }

.service-card {
  display:grid; grid-template-columns:1fr 180px;
  border-radius:var(--r); overflow:hidden;
  border:1px solid rgba(7,9,15,.07); background:var(--paper-card);
  box-shadow:var(--sh1);
  transition:transform var(--t) var(--ease), box-shadow var(--t), border-color var(--t);
}
.service-card:hover { transform:translateY(-2px); box-shadow:var(--sh3); border-color:rgba(30,201,122,.22) }
@media(max-width:500px){ .service-card { grid-template-columns:1fr } }

.service-body {
  padding:clamp(16px,2vw,22px); display:flex; flex-direction:column;
}
.service-badge {
  display:inline-flex; align-items:center;
  font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--green); background:rgba(30,201,122,.08);
  padding:4px 9px; border-radius:999px; margin-bottom:10px; width:fit-content;
}
.service-card h3 { font-size:clamp(15px,1.4vw,17px); font-weight:600; margin:0 0 8px; letter-spacing:-.01em }
.service-card p  { font-size:13px; color:var(--muted); line-height:1.6; flex:1 }
.service-price {
  font-family:var(--f-serif); font-size:clamp(17px,1.8vw,21px); font-weight:500;
  color:var(--text); margin:12px 0 14px; letter-spacing:-.01em;
}
.service-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:auto }

.service-img {
  background:var(--paper2); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.service-img img { width:100%; height:100%; object-fit:cover; filter:saturate(1.05) }
@media(max-width:500px){ .service-img { display:none } }


.gallery { background:var(--paper) }

.gallery-mosaic {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:240px 200px;
  gap:8px;
  margin-top:clamp(24px,3.5vw,40px);
  border-radius:var(--r); overflow:hidden;
}
@media(max-width:760px){ .gallery-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,180px) } }
@media(max-width:480px){ .gallery-mosaic { grid-template-columns:1fr; grid-template-rows:auto } }

.g-item { overflow:hidden; border-radius:4px; position:relative }
.g-item img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .32s var(--ease), filter .32s;
  filter:saturate(1.04);
}
.g-item:hover img { transform:scale(1.05); filter:saturate(1.10) }

.g1 { grid-column:1/span 7; grid-row:1 }
.g2 { grid-column:8/span 5; grid-row:1 }
.g3 { grid-column:1/span 4; grid-row:2 }
.g4 { grid-column:5/span 4; grid-row:2 }
.g5 { grid-column:9/span 4; grid-row:2 }

@media(max-width:760px){
  .g1 { grid-column:1/span 2; grid-row:1 }
  .g2 { grid-column:1; grid-row:2 }
  .g3 { grid-column:2; grid-row:2 }
  .g4 { grid-column:1; grid-row:3 }
  .g5 { grid-column:2; grid-row:3 }
}
@media(max-width:480px){
  .g1,.g2,.g3,.g4,.g5 { grid-column:1; grid-row:auto; aspect-ratio:16/10 }
}

.location { background:var(--paper2) }
.location-inner {
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(20px,3vw,40px); align-items:start;
}
@media(max-width:800px){ .location-inner { grid-template-columns:1fr } }

.location-card {
  background:var(--paper-card); border-radius:var(--r);
  border:1px solid rgba(7,9,15,.07); box-shadow:var(--sh2); overflow:hidden;
}
.location-map {
  height:280px; background:var(--paper2); overflow:hidden; border-radius:var(--r);
  border:1px solid rgba(7,9,15,.07);
}
.location-map iframe { width:100%; height:100%; border:0 }
.location-details { padding:clamp(18px,2.4vw,26px) }
.location-details h3 {
  font-family:var(--f-serif); font-size:clamp(20px,2.2vw,26px); font-weight:500;
  margin:0 0 14px; letter-spacing:-.01em;
}

.contact-list { display:grid; gap:10px; margin-bottom:20px; padding:0; list-style:none }
.contact-row {
  display:flex; align-items:flex-start; gap:10px;
  padding:10px 12px; border-radius:var(--r3);
  border:1px solid rgba(7,9,15,.06); background:var(--paper);
  font-size:13.5px;
}
.contact-row-icon { font-size:16px; flex-shrink:0; margin-top:1px }
.contact-row-text strong {
  font-weight:600; color:var(--text); display:block;
  font-size:11.5px; margin-bottom:2px; letter-spacing:.02em; text-transform:uppercase;
}
.contact-row-text a   { color:var(--muted); transition:color var(--t) }
.contact-row-text a:hover { color:var(--green) }
.contact-row-text span { color:var(--muted) }


.inline-form {
  background:var(--paper-card); border-radius:var(--r);
  border:1px solid rgba(7,9,15,.07); box-shadow:var(--sh2);
  padding:clamp(18px,2.4vw,26px);
}
.inline-form h3 {
  font-family:var(--f-serif); font-size:clamp(20px,2vw,24px); font-weight:500;
  margin:0 0 4px; letter-spacing:-.01em;
}
.inline-form > p { font-size:13.5px; color:var(--muted); margin-bottom:16px }


.fp-form .f-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
}
@media(max-width:480px){ .fp-form .f-grid { grid-template-columns:1fr } }


.faq-section { background:var(--paper2) }
.faq-inner {
  display:grid; grid-template-columns:1fr 1.1fr;
  gap:clamp(28px,5vw,72px); align-items:start;
}
@media(max-width:800px){ .faq-inner { grid-template-columns:1fr } }

.faq-aside h2 {
  font-family:var(--f-serif); font-size:clamp(24px,3vw,40px); font-weight:500;
  letter-spacing:-.02em; margin:0 0 12px;
}
.faq-aside p  { font-size:14.5px; color:var(--muted); line-height:1.7; margin-bottom:20px }

.faq-list { display:flex; flex-direction:column; gap:0 }
.faq-item { border-top:1px solid rgba(7,9,15,.07) }
.faq-item:last-child { border-bottom:1px solid rgba(7,9,15,.07) }
.faq-q {
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:16px 0; cursor:pointer;
  font-size:15px; font-weight:600; color:var(--text); letter-spacing:-.01em;
  user-select:none;
}
.faq-q:hover { color:var(--green) }
.faq-icon {
  flex-shrink:0; width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  border:1.5px solid rgba(7,9,15,.12); color:var(--muted);
  font-size:14px; line-height:1;
  transition:transform var(--t) var(--ease), border-color var(--t), color var(--t);
}
.faq-item.open .faq-icon { transform:rotate(45deg); border-color:var(--green); color:var(--green) }
.faq-a {
  overflow:hidden; max-height:0;
  transition:max-height .28s var(--ease), padding .2s;
  font-size:14px; color:var(--muted); line-height:1.7;
}
.faq-item.open .faq-a { max-height:300px; padding-bottom:16px }


.seo-section { background:var(--paper) }
.seo-card {
  background:var(--paper-card); border-radius:var(--r);
  border:1px solid rgba(7,9,15,.07); box-shadow:var(--sh1);
  padding:clamp(24px,3.5vw,44px);
}
.seo-card h2 {
  font-family:var(--f-serif); font-size:clamp(22px,2.4vw,30px); font-weight:500;
  margin:0 0 16px; letter-spacing:-.01em; color:var(--text);
}
.seo-card p {
  font-size:15px; color:var(--muted); line-height:1.78; margin-bottom:12px;
}
.seo-card p:last-of-type { margin-bottom:0 }
.seo-card strong { color:var(--text); font-weight:600 }


.site-footer {
  background:var(--ink); color:var(--dt);
  padding:clamp(48px,6vw,80px) 0 0;
  position:relative; overflow:hidden;
}
.site-footer::before {
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(30,201,122,.38) 40%,rgba(30,201,122,.38) 60%,transparent 100%);
}
.site-footer::after {
  content:""; position:absolute;
  width:900px; height:900px; top:-300px; left:-200px; border-radius:50%;
  background:radial-gradient(circle,rgba(30,201,122,.05) 0%,transparent 70%);
  pointer-events:none;
}

.footer-grid {
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:clamp(20px,3vw,48px); position:relative; z-index:1;
}
@media(max-width:900px){ .footer-grid { grid-template-columns:1fr 1fr } }
@media(max-width:500px){ .footer-grid { grid-template-columns:1fr } }


.footer-brand-logo img { height:36px; width:auto; margin-bottom:14px }
.footer-desc {
  font-size:13px; color:var(--dm); line-height:1.7;
  max-width:260px; margin-bottom:16px;
}
.footer-contacts {
  display:flex; flex-direction:column; gap:6px;
  list-style:none; padding:0; margin:0;
}
.footer-contacts a {
  font-size:13px; color:var(--dm);
  display:flex; align-items:center; gap:7px;
  transition:color var(--t);
}
.footer-contacts a:hover { color:var(--green) }
.footer-contacts small { opacity:.55; font-size:11px }

.footer-social { display:flex; gap:8px; margin-top:16px }
.social-btn {
  width:34px; height:34px; border-radius:8px;
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.55);
  transition:border-color var(--t), color var(--t), background var(--t);
}
.social-btn:hover { border-color:rgba(30,201,122,.35); color:var(--green); background:rgba(30,201,122,.06) }

.footer-partners { display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; align-items:center }
.footer-partners img { height:28px; width:auto; opacity:.85; filter:grayscale(0) brightness(1.1); transition:opacity var(--t),filter var(--t) }
.footer-partners a:hover img { opacity:1; filter:grayscale(0) brightness(1.2) }


.footer-col { position:relative; z-index:1 }
.footer-col h3 {
  font-size:10.5px; font-weight:700; letter-spacing:.10em; text-transform:uppercase;
  color:rgba(255,255,255,.32); margin:0 0 14px;
}
.footer-col ul { display:flex; flex-direction:column; gap:8px; list-style:none; padding:0; margin:0 }
.footer-col a  { font-size:13px; color:rgba(255,255,255,.54); transition:color var(--t); line-height:1.4 }
.footer-col a:hover { color:var(--green) }


.footer-bottom {
  margin-top:clamp(32px,4vw,56px); padding:16px 0;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap;
  font-size:12px; color:rgba(255,255,255,.30);
  position:relative; z-index:1;
}
.footer-bottom a { color:rgba(255,255,255,.44); transition:color var(--t) }
.footer-bottom a:hover { color:var(--green) }
.footer-bottom-links { display:flex; gap:16px; flex-wrap:wrap }


.sticky {
  position:fixed; bottom:0; left:0; right:0; z-index:200;
  display:none; gap:8px; padding:10px 12px;
  background:rgba(7,9,15,.88); backdrop-filter:blur(20px);
  border-top:1px solid rgba(255,255,255,.08);
}
@media(max-width:980px){ .sticky { display:flex } }

.sticky-btn {
  flex:1; padding:12px 14px; border-radius:10px;
  font-family:var(--f-sans); font-size:11.5px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:6px;
  text-decoration:none;
}
.sticky-call { background:rgba(255,255,255,.08); color:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.12) }
.sticky-book { background:var(--green); color:var(--ink) }


.fade-in {
  opacity:0; transform:translateY(20px);
  transition:opacity .5s ease, transform .5s ease;
}
.fade-in.visible { opacity:1; transform:translateY(0) }


.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
:focus-visible { outline:2px solid var(--green); outline-offset:3px }


@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { transition:none!important; animation:none!important }
}


.booking-card-body input[type="text"],
.booking-card-body input[type="tel"],
.booking-card-body input[type="email"],
.booking-card-body input[type="number"],
.booking-card-body select,
.booking-card-body textarea {
  width: 100% !important;
  padding: 10px 13px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(7,9,15,.09) !important;
  background: var(--paper) !important;
  font-family: var(--f-sans) !important;
  font-size: 14px !important;
  color: var(--text) !important;
  box-sizing: border-box !important;
  outline: none !important;
  -webkit-appearance: none;
  appearance: none;
}

.booking-card-body input[type="date"],
.booking-card-body input[type="time"] {
  width: 100% !important;
  padding: 10px 13px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(7,9,15,.09) !important;
  background: var(--paper) !important;
  font-family: var(--f-sans) !important;
  font-size: 14px !important;
  color: var(--text) !important;
  box-sizing: border-box !important;
  outline: none !important;

}
.booking-card-body input:focus,
.booking-card-body select:focus,
.booking-card-body textarea:focus {
  border-color: var(--green) !important;
  box-shadow: 0 0 0 3px rgba(30,201,122,.10) !important;
}


.booking-card-body label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  display: block !important;
  margin-bottom: 4px !important;
}


.booking-card-body button:not([class*="zpet"]):not([class*="Zpět"]):not([class*="back"]):not([class*="prev"]) {
  background: #E53E3E !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 12px 24px !important;
  font-family: var(--f-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(229,62,62,.35) !important;
  transition: opacity .2s, transform .2s !important;
}
.booking-card-body button:not([class*="zpet"]):not([class*="Zpět"]):not([class*="back"]):not([class*="prev"]):hover {
  opacity: .88 !important;
  transform: translateY(-1px) !important;
}

.booking-card-body button[class*="zpet"],
.booking-card-body button[class*="Zpět"],
.booking-card-body button[class*="back"],
.booking-card-body button[class*="prev"] {
  background: rgba(7,9,15,.06) !important;
  color: var(--muted) !important;
  border: 1px solid rgba(7,9,15,.10) !important;
  border-radius: 10px !important;
  padding: 12px 24px !important;
  font-family: var(--f-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}


.booking-card-body > div > div:has(button + button) button:first-child,
.booking-card-body > div:has(button + button) button:first-child {
  background: rgba(7,9,15,.06) !important;
  color: var(--muted) !important;
  border: 1px solid rgba(7,9,15,.10) !important;
  box-shadow: none !important;
}


.booking-card-body input[readonly],
.booking-card-body input[disabled] {
  background: var(--paper) !important;
  border: 1.5px solid rgba(7,9,15,.07) !important;
  font-family: var(--f-serif) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  letter-spacing: -.01em !important;
}


.booking-card-body .fc-error,
.booking-card-body [class*="error-msg"],
.booking-card-body [class*="alert"] {
  background: rgba(229,62,62,.08) !important;
  border: 1px solid rgba(229,62,62,.22) !important;
  color: #9B2C2C !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  margin-top: 8px !important;
}

.inline-form .fp-lead {
  font-family: var(--f-sans) !important;
}


.inline-form .fp-card {
  max-width: 100% !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}


.inline-form .fp-top .fp-title {
  display: none !important;
}


.inline-form .fp-top {
  justify-content: flex-end !important;
  margin-bottom: 12px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}


.inline-form .fp-form input[type="text"],
.inline-form .fp-form input[type="email"],
.inline-form .fp-form input[type="tel"],
.inline-form .fp-form textarea,
.inline-form .fp-form select {
  width: 100% !important;
  padding: 11px 13px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(7,9,15,.09) !important;
  background: var(--paper) !important;
  font-family: var(--f-sans) !important;
  font-size: 14px !important;
  color: var(--text) !important;
  box-sizing: border-box !important;
  outline: none !important;
}
.inline-form .fp-form input:focus,
.inline-form .fp-form textarea:focus {
  border-color: var(--green) !important;
  box-shadow: 0 0 0 3px rgba(30,201,122,.10) !important;
}


.inline-form .fp-btn {
  width: 100% !important;
  padding: 13px !important;
  border-radius: 10px !important;
  background: var(--green) !important;
  color: var(--ink) !important;
  border: 0 !important;
  font-family: var(--f-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 6px 24px var(--green-glow) !important;
  margin-top: 4px !important;
}
.inline-form .fp-btn:hover { opacity: .90 !important }

.inline-form .fp-acc {
  border: 1.5px solid rgba(7,9,15,.09) !important;
  border-radius: 10px !important;
  background: var(--paper) !important;
}


.inline-form .fp-gdpr {
  border: 1.5px solid rgba(7,9,15,.07) !important;
  border-radius: 10px !important;
  background: var(--paper) !important;
}


.inline-form .fp-msg.ok {
  background: rgba(30,201,122,.08) !important;
  border: 1px solid rgba(30,201,122,.25) !important;
  color: #166534 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
}
.inline-form .fp-msg.err {
  background: rgba(229,62,62,.08) !important;
  border: 1px solid rgba(229,62,62,.22) !important;
  color: #9B2C2C !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
}


.partner-section {
  background: var(--ink2);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.partner-section .partner-label {
  color: rgba(255,255,255,.40);
  display: block;
  margin-bottom: 10px;
}
.partner-section .partner-title {
  font-family: var(--f-serif);
  font-size: clamp(28px,3.2vw,46px);
  font-weight: 500;
  color: var(--dt);
  margin: 0 0 14px;
  letter-spacing: -.02em;
  line-height: 1.1;
}
.partner-accent {
  display: block;
  width: 32px;
  height: 2px;
  border-radius: 4px;
  background: var(--green);
  margin-bottom: clamp(24px,3.5vw,40px);
}


.partner-card {
  display: grid;
  grid-template-columns: 1fr 240px;
  max-width: 900px;
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  box-shadow: 0 2px 24px rgba(0,0,0,.28);
  transition: border-color var(--t), background var(--t);
}
.partner-card:hover {
  border-color: rgba(30,201,122,.30);
  background: rgba(255,255,255,.07);
}
@media(max-width:680px) {
  .partner-card { grid-template-columns: 1fr }
}

.partner-body {
  padding: clamp(24px,3vw,36px);
  display: flex;
  flex-direction: column;
}


.partner-badge {
  display: inline-flex;
  align-items: center;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--green);
  background: rgba(30,201,122,.12);
  border: 1px solid rgba(30,201,122,.25);
  padding: 4px 11px;
  border-radius: 999px;
  margin-bottom: 14px;
  width: fit-content;
}


.partner-h3 {
  font-family: var(--f-serif);
  font-size: clamp(18px,2vw,24px);
  font-weight: 500;
  color: #fff;
  margin: 0 0 12px;
  letter-spacing: -.01em;
  line-height: 1.2;
}


.partner-desc {
  font-size: 14px;
  color: rgba(255,255,255,.70);
  line-height: 1.7;
  flex: 1;
  margin: 0 0 16px;
}
.partner-desc strong {
  color: rgba(255,255,255,.90);
  font-weight: 600;
}


.partner-list {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.partner-list li {
  font-size: 13.5px;
  color: rgba(255,255,255,.62);
  line-height: 1.4;
}


.partner-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: auto;
}


.btn-partner-outline {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 18px;
  border-radius: var(--r3);
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.24);
  background: transparent;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  transition: background var(--t), border-color var(--t), color var(--t);
}
.btn-partner-outline:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.36);
  color: #fff;
}


.partner-img {
  background: rgba(255,255,255,.03);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
}
.partner-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.95);
  transition: transform .4s var(--ease), filter .4s;
}
.partner-card:hover .partner-img img {
  transform: scale(1.04);
  filter: brightness(1.02);
}
@media(max-width:680px) {
  .partner-img { min-height: 200px }
}


.booking-card-body input[type="date"],
.booking-card-body input[type="time"] {
  color-scheme: light !important;
}


@media(max-width:767px) {
  .logo-img { height:34px }
  .logo-tagline { display: none }
}


.why-card p,
.service-card p,
/* step p cancel! */
.faq-a,
.contact-row-text span,
.contact-row-text a,
.booking-footer {
  color: rgba(7,9,15,.72) !important;
}

.review-date,
.rating-meta small,
.reviews-source,
.trust-num small,
.section-label.t-label {
  color: rgba(7,9,15,.58) !important;
}


.contact-row-text span,
.contact-row-text a {
  color: rgba(7,9,15,.72) !important;
}

.footer-desc--light{
  color: rgba(255,255,255,.72) !important;
}
