:root{
  --bg:#07080c; --surface:#12141c; --surface-2:#191c26; --surface-3:#232838; --ink:#f4f5f9; --muted:#9298a8;
  --line:rgba(255,255,255,.1); --accent:#ff5a79; --accent-2:#ff8f6b; --danger:#ff5a79; --warning:#ffb43c;
  --radius-lg:20px; --radius-md:14px;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -18px rgba(255,90,121,.35);
}
*{box-sizing:border-box}
html{ overflow-x:hidden; background:var(--bg); }
body{
  margin:0; min-height:100vh; color:var(--ink);
  font-family:Inter,system-ui,-apple-system,sans-serif;
  overflow-x:hidden;
  background:
    radial-gradient(640px circle at 12% 0%, rgba(255,90,121,.18), transparent 62%),
    radial-gradient(560px circle at 100% 18%, rgba(255,143,107,.14), transparent 60%),
    radial-gradient(900px circle at 50% 100%, rgba(255,90,121,.08), transparent 70%),
    var(--bg);
  background-attachment:fixed;
}
h1,h2,h3{ font-family:"Fraunces",Georgia,serif; font-weight:600; margin:0; }
a{ color:inherit }
p{ color:var(--muted); line-height:1.55; margin:0 }
input,select,textarea,button{ font:inherit; color:inherit }
input,select,textarea{
  background:var(--surface-3); border:1px solid rgba(255,255,255,.18); border-radius:10px;
  padding:10px 12px; width:100%; outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
input:hover,select:hover,textarea:hover{ border-color:rgba(255,255,255,.3); }
input:focus,select:focus,textarea:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,90,121,.18); }
label{ font-size:.85rem; color:var(--muted); display:block; margin-bottom:5px }
.field{ margin-bottom:14px; position:relative; }
button{ cursor:pointer; border:none; border-radius:999px; padding:11px 22px; font-weight:600; }
.btn-primary{ background:var(--accent); color:#1a0509; }
.btn-primary:hover{ filter:brightness(1.08) }
.btn-ghost{ background:var(--surface-2); color:var(--ink); border:1px solid var(--line); }
.error{ color:var(--danger); font-size:.88rem; margin-top:10px; }
.error:empty{ display:none }
.hint{ color:var(--muted); font-size:.82rem; margin-top:8px; }
.accent-text{
  background:linear-gradient(100deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* header */
.site-header{
  position:sticky; top:env(safe-area-inset-top,0px); z-index:40;
  padding:14px 20px; margin:0 0 24px;
  background:rgba(4,5,8,.92); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.site-header-inner{ max-width:900px; margin:0 auto; display:flex; align-items:center; gap:10px; }
.brand{ display:flex; align-items:center; gap:12px; font-family:"Fraunces",serif; font-weight:600; font-size:1.2rem; text-decoration:none; color:var(--ink); }
.brand-logo{ height:28px; width:auto; filter:drop-shadow(0 0 10px rgba(255,90,121,.4)); }
.brand-divider{ width:1px; height:22px; background:var(--line); }

/* hamburger + postranní menu — stejný vzor jako Book/Hub, ať jsou Sledovat zásilku/Kariéra na očích */
.menu-toggle{
  display:flex; flex-direction:column; gap:4px; justify-content:center;
  width:36px; height:36px; background:none; border:none; cursor:pointer; border-radius:8px; flex-shrink:0;
}
.menu-toggle:hover{ background:var(--surface-2); }
.menu-toggle span{ width:18px; height:2px; background:var(--ink); border-radius:2px; }

.drawer-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:45;
  opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.drawer-overlay.open{ opacity:1; pointer-events:auto; }
.side-drawer{
  position:fixed; top:0; left:0; bottom:0; width:280px; max-width:82vw; z-index:50;
  background:var(--surface); border-right:1px solid var(--line);
  padding:calc(env(safe-area-inset-top,0px) + 18px) 18px 18px;
  overflow-y:auto; transform:translateX(-100%); transition:transform .22s ease;
  display:flex; flex-direction:column; gap:22px;
}
.side-drawer.open{ transform:translateX(0); }
.side-drawer-head{ display:flex; align-items:center; justify-content:space-between; }
.side-drawer-title{ font-family:"Fraunces",serif; font-weight:600; font-size:1.05rem; }
.drawer-close{ background:none; border:none; color:var(--muted); font-size:1.1rem; cursor:pointer; padding:4px; }
.drawer-close:hover{ color:var(--ink); }
.drawer-label{ display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:8px; }

.view-nav{ display:flex; flex-direction:column; gap:6px; }
.view-nav a{
  background:none; border:1px solid var(--line); color:var(--muted); text-align:left;
  padding:10px 14px; border-radius:10px; font-size:.92rem; font-weight:500; width:100%;
  text-decoration:none; display:block; box-sizing:border-box;
}
.view-nav a.active{ background:var(--surface-2); color:var(--ink); border-color:transparent; }
.view-nav a:not(.active):hover{ border-color:var(--accent); color:var(--ink); }

.wrap{ max-width:900px; margin:0 auto; padding:0 16px 60px; }

/* hero */
.hero{ text-align:center; max-width:620px; margin:20px auto 40px; }
.hero h1{ font-size:clamp(1.8rem,4vw,2.5rem); line-height:1.15; margin-bottom:14px; }
.hero p{ font-size:1rem; }

/* panel */
.panel{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:28px; box-shadow:var(--shadow);
}
.panel h2{ font-size:1.1rem; margin-bottom:16px; }
.form-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.field-wide{ grid-column:1/-1; }
.form-actions{ margin-top:14px; display:flex; justify-content:flex-end; }

/* autosuggest */
.autosuggest{ position:relative; }
.suggest-list{
  position:absolute; top:100%; left:0; right:0; z-index:20; margin-top:4px;
  background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-md);
  box-shadow:var(--shadow); max-height:220px; overflow-y:auto;
}
.suggest-item{ padding:9px 12px; font-size:.88rem; cursor:pointer; }
.suggest-item:hover, .suggest-item.active{ background:var(--surface-3); }

/* service type choice */
.service-choice{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin:18px 0; }
.service-option{
  display:flex; flex-direction:column; gap:4px; cursor:pointer;
  border:1px solid var(--line); border-radius:var(--radius-md); padding:14px;
  background:var(--surface-2); margin:0;
}
.service-option input{ position:absolute; opacity:0; width:0; height:0; }
.service-option:has(input:checked){ border-color:var(--accent); background:color-mix(in srgb, var(--accent) 10%, var(--surface-2)); }
.service-name{ font-weight:600; font-size:.98rem; }
.service-desc{ font-size:.8rem; color:var(--muted); }
.service-rate{ font-size:.82rem; color:var(--accent); font-weight:600; margin-top:4px; }

/* quote result + map */
.quote-result{ margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.quote-numbers{ display:flex; gap:32px; margin-bottom:16px; flex-wrap:wrap; }
.quote-numbers .k{ display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:2px; }
.quote-numbers .v{ display:block; font-size:1.4rem; font-family:"Fraunces",serif; font-weight:600; }
#map{ height:320px; border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--line); background:var(--surface-2); }
.leaflet-control-attribution{ background:rgba(7,8,12,.75) !important; color:var(--muted) !important; }
.leaflet-control-attribution a{ color:var(--ink) !important; }

/* order success */
.order-success{ text-align:center; padding:30px 10px; }
.order-success .check{ font-size:2.4rem; color:var(--accent); margin-bottom:10px; }
.order-success h2{ margin-bottom:8px; }

.terms-consent{ display:flex; align-items:flex-start; gap:9px; cursor:pointer; margin:16px 0; }
.terms-consent input{ width:auto; margin-top:3px; flex-shrink:0; }
.terms-consent span{ font-size:.84rem; color:var(--muted); line-height:1.45; }
.terms-consent a{ color:var(--accent); }

/* "o službě" sekce — rozdíl oproti klasické balíkové službě */
.about-section{ margin-top:44px; }
.section-title{ font-size:clamp(1.3rem,3vw,1.7rem); text-align:center; margin-bottom:10px; }
.section-lead{ text-align:center; max-width:560px; margin:0 auto 28px; font-size:.96rem; }
.feature-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-bottom:28px; }
.feature-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:18px; text-align:center;
}
.feature-card .icon{ font-size:1.6rem; margin-bottom:8px; }
.feature-card h3{ font-size:.96rem; margin-bottom:6px; }
.feature-card p{ font-size:.84rem; }

.compare-table{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:8px; overflow-x:auto;
}
.compare-table table{ width:100%; border-collapse:collapse; min-width:480px; }
.compare-table th, .compare-table td{ text-align:left; padding:12px 14px; font-size:.86rem; border-bottom:1px solid var(--line); }
.compare-table th{ color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; font-weight:600; }
.compare-table td{ color:var(--muted); }
.compare-table td:first-child{ color:var(--ink); font-weight:600; white-space:nowrap; }
.compare-table td.us{ color:var(--ink); }
.compare-table td.us::before{ content:"✓ "; color:var(--accent); font-weight:700; }
.compare-table tr:last-child td{ border-bottom:none; }

/* footer */
.site-footer{ margin-top:40px; padding:22px 20px calc(22px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); }
.site-footer-inner{ max-width:900px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.site-footer-inner span{ color:var(--muted); font-size:.82rem; }
.footer-links{ display:flex; gap:18px; }
.footer-links a{ color:var(--muted); font-size:.82rem; text-decoration:none; }
.footer-links a:hover{ color:var(--ink); text-decoration:underline; }
.footer-note{ max-width:900px; margin:12px auto 0; text-align:center; font-size:.78rem; color:var(--muted); }
.footer-note a{ color:var(--accent); }

[hidden]{ display:none !important; }
