/* Čalounictví Olomouc — global stylesheet */
:root{
  --bg:#f4efe7; --ink:#2b241f; --ink-soft:#4d443d; --muted:#6b6058; --muted2:#5c524a;
  --border:#e0d6c8; --border2:#d8ccba; --cream:#fbf8f3; --sand:#e9dfcf;
  --green:#2f5446; --green-dark:#1f3a30; --rust:#b5653a; --rust-dark:#8a4a28;
  --dark:#23302a; --dark2:#1d2823; --dark-ink:#efe8dc; --dark-muted:#a69d90; --dark-border:#3c4a43;
  --font-display:Georgia,'Times New Roman',serif;
  --font-body:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-dark);text-decoration:underline}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
::selection{background:#d9c7ad}
h1,h2,h3{font-family:var(--font-display);font-weight:400}

.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}

/* nav */
.nav-link{padding:6px 0;border-bottom:2px solid transparent;color:var(--ink)}
.nav-link:hover{text-decoration:none;color:var(--green)}
.nav-link.active{color:var(--green);border-bottom-color:var(--green)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;font-weight:700;text-decoration:none;cursor:pointer;border:0;font-size:15px;line-height:1.2}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--green);color:#fff;padding:15px 24px}
.btn-primary:hover{background:var(--green-dark);color:#fff}
.btn-rust{background:var(--rust);color:#fff;padding:15px 24px}
.btn-rust:hover{background:#9b5731;color:#fff}
.btn-outline-dark{border:1px solid var(--ink);color:var(--ink);padding:14px 24px;background:transparent}
.btn-outline-dark:hover{background:var(--ink);color:var(--bg)}
.btn-outline-light{border:1px solid #fff;color:#fff;padding:14px 22px;background:transparent}
.btn-outline-light:hover{background:#fff;color:var(--ink)}
.btn-ghost{background:transparent;border:1px solid #cdbfab;color:var(--ink);padding:10px 14px;font-weight:600;font-size:14px}
.btn-ghost:hover{background:#ebe3d6}
.btn-dark-pill{background:var(--ink);color:var(--bg);padding:14px 22px}
.btn-dark-pill:hover{background:#000;color:#fff}
.pill{border:1px solid #cdbfab;border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px;background:transparent;color:var(--ink);cursor:pointer}
.pill.on{background:var(--ink);color:var(--bg)}
.pill-dark{border:1px solid #4d5c54;border-radius:6px;padding:10px 14px;font-weight:600;font-size:14px;background:transparent;color:var(--dark-ink);cursor:pointer}
.pill-dark.on{background:var(--bg);color:var(--ink)}

/* cards */
.svc-card{background:var(--cream);border:1px solid var(--border);border-radius:10px;overflow:hidden;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:border-color .15s}
.svc-card:hover{border-color:var(--green);text-decoration:none;color:var(--ink)}
.svc-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.blog-card{display:flex;flex-direction:column;gap:12px;color:var(--ink);text-decoration:none}
.blog-card:hover{color:var(--green);text-decoration:none}
.blog-card img{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%}
.photo-cover{width:100%;object-fit:cover;border-radius:10px}

/* faq */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;background:transparent;border:0;padding:20px 0;font-size:17px;font-weight:700;color:var(--ink);cursor:pointer}
.faq-sign{font-size:22px;color:var(--rust);font-weight:400;transition:transform .15s}
.faq-item.open .faq-sign{transform:rotate(45deg)}
.faq-a{margin:0 0 20px;color:var(--muted2);line-height:1.65;max-width:640px;display:none}
.faq-item.open .faq-a{display:block}

/* gallery filters */
.filter-btn{border:1px solid #cdbfab;border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px;background:transparent;color:var(--ink);cursor:pointer}
.filter-btn.on{background:var(--ink);color:var(--bg)}
.gal-item{display:none}
.gal-item.show{display:flex}

/* fabric swatches */
.fab-swatch{background:transparent;border:0;padding:0;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px}
.fab-swatch span.chip{display:block;width:100%;aspect-ratio:1;border-radius:8px;outline:3px solid transparent;outline-offset:2px}
.fab-swatch.active span.chip{outline-color:var(--ink)}
.fab-item{display:none}
.fab-item.show{display:flex}

/* before/after slider */
.ba-wrap{position:relative;aspect-ratio:16/11;border-radius:10px;overflow:hidden;background:#333}
.ba-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{position:absolute;inset:0}
.ba-before{position:absolute;left:0;top:0;bottom:0;width:50%;overflow:hidden;border-right:3px solid var(--bg)}
.ba-before img{width:100%;height:100%;object-fit:cover}
.ba-tag{position:absolute;font-family:ui-monospace,monospace;font-size:12px;padding:5px 10px;border-radius:3px;white-space:nowrap}
.ba-tag-after{right:14px;top:14px;background:var(--green);color:#fff}
.ba-tag-before{left:14px;top:14px;background:var(--ink);color:#fff}
input[type="range"]{width:100%;accent-color:#d99a73}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input,.field textarea,.field select{padding:13px 14px;border:1px solid #cdbfab;border-radius:6px;background:#fff;font-size:15px}
.field-cream input,.field-cream textarea{background:var(--cream)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}
.check-row input{margin-top:3px;accent-color:var(--green);width:18px;height:18px}
.form-error{color:#a3361b;font-size:14px;font-weight:600}
.form-ok{display:none}
.form-ok.show{display:flex;flex-direction:column}
.form-body.hide{display:none}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(29,40,35,.45);z-index:60;display:none}
.cart-overlay.open{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);z-index:61;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .2s ease}
.cart-drawer.open{transform:translateX(0)}
.cart-badge{background:var(--rust);color:#fff;border-radius:999px;min-width:22px;height:22px;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:12px}
.qty-btn{width:28px;height:28px;border:1px solid #cdbfab;background:transparent;border-radius:4px;cursor:pointer}

/* cookie banner */
.cookie-box{position:fixed;left:16px;bottom:16px;z-index:70;width:min(520px,calc(100% - 32px));background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px rgba(29,40,35,.22);padding:24px;display:none;flex-direction:column;gap:14px}
.cookie-box.open{display:flex}
.cookie-settings{display:none;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:12px;font-size:14px}
.cookie-settings.show{display:flex}

@media (max-width: 680px){
  header .topbar{font-size:12px}
}
