:root{
  --accent:#b5651d;
  --accent-oklch:#b5651d;
  --bg:#f6efe4;
  --bg-alt:#efe4d3;
  --tile:#e6d8c3;
  --tile-alt:#dccbb0;
  --ink:#2f2621;
  --ink-soft:#5c4f42;
  --ink-mute:#8a7a68;
  --footer-bg:#2f2621;
  --footer-ink:#e6dccb;
  --footer-mute:#b8ab98;
  --footer-line:#8a7c68;
  --cream:#fff8ef;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Segoe UI',Roboto,Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  padding:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  min-height:100vh;
}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--accent-oklch);}
img{max-width:100%;display:block;}
button{font-family:var(--sans);}

.wrap{max-width:1240px;margin:0 auto;padding-left:32px;padding-right:32px;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid rgba(47,38,33,0.12);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;gap:24px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:36px;height:36px;border-radius:50%;background:var(--accent-oklch);display:flex;align-items:center;justify-content:center;color:var(--bg);font-family:var(--serif);font-size:20px;}
.brand-name{font-family:var(--serif);font-size:26px;letter-spacing:3px;color:var(--ink);}
.main-nav{display:flex;gap:26px;flex-wrap:wrap;font-size:15px;font-weight:500;}
.main-nav a.active{font-weight:700;color:var(--accent-oklch);}
.btn{display:inline-block;text-decoration:none;border-radius:3px;font-weight:600;font-size:14px;cursor:pointer;border:none;}
.btn-primary{background:var(--accent-oklch);color:var(--cream);padding:12px 22px;}
.btn-primary-lg{background:var(--accent-oklch);color:var(--cream);padding:16px 30px;font-size:15px;font-weight:700;}
.btn-outline{border:1.5px solid var(--ink);color:var(--ink);padding:16px 30px;font-size:15px;font-weight:600;background:none;}
.cart-indicator{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;}
.cart-count{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;}

/* Hero */
.hero{padding:88px 32px 64px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.eyebrow{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--accent-oklch);font-weight:600;margin:0 0 18px;}
.hero h1{font-family:var(--serif);font-size:64px;line-height:1.05;margin:0 0 24px;font-weight:600;}
.hero p.lead{font-size:18px;line-height:1.7;color:var(--ink-soft);max-width:480px;margin:0 0 36px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-media{position:relative;width:100%;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--tile);}
.hero-media img{width:100%;height:100%;object-fit:cover;}

.intro{padding:32px 32px 88px;}
.intro p{font-size:17px;line-height:1.8;color:#4a3f35;max-width:820px;}

/* Page header (inner pages) */
.page-head{padding:72px 32px 40px;}
.page-head h1{font-family:var(--serif);font-size:52px;line-height:1.1;margin:0 0 20px;font-weight:600;}
.page-head p{font-size:17px;line-height:1.7;color:var(--ink-soft);max-width:640px;margin:0;}

/* Sections */
.section-alt{background:var(--bg-alt);padding:80px 32px;}
.section-title-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:44px;flex-wrap:wrap;gap:16px;}
.section-title-row h2{font-family:var(--serif);font-size:42px;font-weight:600;margin:0;}
.link-arrow{text-decoration:none;font-weight:600;color:var(--accent-oklch);font-size:15px;}

.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;}
.card{background:var(--bg);padding:32px;border-radius:4px;}
.card h3{font-family:var(--serif);font-size:24px;margin:0 0 12px;font-weight:600;}
.card p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0 0 18px;}
.card .price{font-size:14px;font-weight:600;color:var(--accent-oklch);}

.stats-grid{padding:88px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px;}
.stat-num{font-family:var(--serif);font-size:36px;font-weight:600;margin:0 0 8px;color:var(--accent-oklch);}
.stat-label{font-size:15px;color:var(--ink-soft);margin:0;}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.gallery-grid.small{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.tile{aspect-ratio:1;border-radius:4px;overflow:hidden;position:relative;background:var(--tile);}
.tile img{width:100%;height:100%;object-fit:cover;}
.tile-label{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:12px;color:var(--cream);background:linear-gradient(to top, rgba(47,38,33,0.75), rgba(47,38,33,0));}

.testimonials{padding:88px 32px;}
.testimonials h2{font-family:var(--serif);font-size:42px;font-weight:600;margin:0 0 44px;text-align:center;}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;}
.testi-grid blockquote{font-size:16px;line-height:1.8;color:#4a3f35;font-style:italic;margin:0 0 14px;}
.testi-grid cite{font-size:14px;font-weight:600;font-style:normal;}

.cta-band{background:var(--accent-oklch);padding:72px 32px;text-align:center;}
.cta-band h2{font-family:var(--serif);font-size:38px;font-weight:600;margin:0 0 20px;color:var(--cream);}
.cta-band p{font-size:16px;color:#fbe9d8;margin:0 0 32px;}
.cta-band .btn{background:var(--cream);color:var(--accent-oklch);padding:16px 34px;font-weight:700;font-size:15px;}

/* Footer */
.site-footer{background:var(--footer-bg);color:var(--footer-ink);padding:64px 32px 32px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;}
.footer-brand{font-family:var(--serif);font-size:26px;letter-spacing:3px;margin:0 0 14px;color:var(--cream);}
.footer-grid p{font-size:14px;line-height:1.7;color:var(--footer-mute);margin:0 0 16px;}
.footer-social{display:flex;gap:16px;font-size:14px;}
.footer-social a{color:var(--footer-ink);}
.footer-col-title{font-size:14px;font-weight:700;color:var(--cream);margin:0 0 16px;}
.footer-links{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.footer-links a{color:var(--footer-mute);}
.footer-hours{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--footer-mute);}
.footer-hours p{margin:0;}
.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--footer-mute);}
.footer-bottom{max-width:1240px;margin:44px auto 0;padding-top:24px;border-top:1px solid rgba(230,220,203,0.15);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--footer-line);}
.footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-bottom-links a{color:var(--footer-line);}
.footer-bottom-links a.active{color:var(--footer-ink);}
.footer-legal{background:var(--footer-bg);color:var(--footer-ink);padding:48px 32px 32px;}
.footer-legal .footer-bottom{margin:0 auto;padding-top:0;border-top:none;}

/* Cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:var(--footer-bg);color:var(--footer-ink);padding:18px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,0.2);}
.cookie-banner p{margin:0;font-size:13px;max-width:640px;}
.cookie-banner a{color:#f0c9a0;text-decoration:underline;}
.cookie-banner button{background:var(--accent-oklch);color:var(--cream);border:none;padding:10px 22px;border-radius:3px;font-weight:600;font-size:13px;cursor:pointer;}
.cookie-banner[hidden]{display:none;}

/* Legal pages */
.legal{max-width:820px;margin:0 auto;padding:72px 32px 96px;}
.legal h1{font-family:var(--serif);font-size:44px;line-height:1.1;margin:0 0 32px;font-weight:600;}
.legal-body{display:flex;flex-direction:column;gap:28px;font-size:15px;line-height:1.8;color:#3f342b;}
.legal-body h2{font-family:var(--serif);font-size:24px;font-weight:600;margin:0 0 12px;}
.legal-body p{margin:0;}
.legal-body a{color:var(--accent-oklch);text-decoration:underline;}
.legal-body ul{margin:0;padding-left:20px;}
.legal-facts{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.9;color:#3f342b;margin-bottom:40px;}
.legal-facts p{margin:0;}
.legal-updated{font-size:13px;color:var(--ink-mute);margin-top:12px;}

/* Sluzby (price list) */
.price-groups{padding:24px 32px 88px;display:flex;flex-direction:column;gap:56px;max-width:1240px;margin:0 auto;}
.price-groups h2{font-family:var(--serif);font-size:32px;font-weight:600;margin:0 0 24px;border-bottom:2px solid var(--ink);padding-bottom:16px;}
.price-list{display:flex;flex-direction:column;gap:0;}
.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(47,38,33,0.1);gap:24px;}
.price-row .name{margin:0 0 4px;font-size:17px;font-weight:600;}
.price-row .desc{margin:0;font-size:14px;color:var(--ink-mute);}
.price-row .price{margin:0;font-size:17px;font-weight:700;color:var(--accent-oklch);white-space:nowrap;}
.price-cta{background:var(--bg-alt);padding:64px 32px;text-align:center;}
.price-cta p{font-size:15px;color:var(--ink-soft);margin:0 0 8px;}
.price-cta h2{font-family:var(--serif);font-size:30px;font-weight:600;margin:0 0 28px;}
.price-cta .btn{background:var(--accent-oklch);color:var(--cream);padding:16px 32px;font-weight:700;font-size:15px;}

/* Team */
.team-grid{padding:24px 32px 88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px;max-width:1240px;margin:0 auto;}
.team-photo{aspect-ratio:3/4;border-radius:4px;overflow:hidden;margin-bottom:18px;background:var(--tile);}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-grid h3{font-family:var(--serif);font-size:24px;font-weight:600;margin:0 0 4px;}
.team-role{font-size:14px;font-weight:600;color:var(--accent-oklch);margin:0 0 10px;}
.team-bio{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;}
.team-cta{background:var(--bg-alt);padding:80px 32px;text-align:center;}
.team-cta h2{font-family:var(--serif);font-size:32px;font-weight:600;margin:0 0 20px;}
.team-cta p{font-size:15px;color:var(--ink-soft);margin:0 0 28px;}
.team-cta .btn{background:var(--accent-oklch);color:var(--cream);padding:16px 32px;font-weight:700;font-size:15px;}

/* Blog */
.blog-grid{padding:24px 32px 88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;max-width:1240px;margin:0 auto;}
.blog-thumb{aspect-ratio:16/10;border-radius:4px;overflow:hidden;margin-bottom:20px;background:var(--tile);}
.blog-thumb img{width:100%;height:100%;object-fit:cover;}
.blog-meta{font-size:13px;color:var(--ink-mute);margin:0 0 8px;}
.blog-grid h2{font-family:var(--serif);font-size:26px;font-weight:600;margin:0 0 12px;line-height:1.25;}
.blog-grid p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0;}
.blog-feature{background:var(--bg-alt);padding:64px 32px;}
.blog-feature-inner{max-width:820px;margin:0 auto;}
.blog-feature h2{font-family:var(--serif);font-size:30px;font-weight:600;margin:0 0 24px;}
.blog-feature p{font-size:15px;line-height:1.8;color:#4a3f35;margin:0 0 16px;}

/* Obchod (shop) */
.shop-layout{padding:24px 32px 88px;display:grid;grid-template-columns:2.1fr 1fr;gap:48px;align-items:start;max-width:1240px;margin:0 auto;}
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;}
.product-card{background:var(--bg-alt);border-radius:4px;padding:24px;display:flex;flex-direction:column;gap:14px;}
.product-photo{aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--tile);}
.product-photo img{width:100%;height:100%;object-fit:cover;}
.product-card .p-name{margin:0 0 4px;font-size:16px;font-weight:600;}
.product-card .p-desc{margin:0;font-size:13px;color:var(--ink-mute);}
.product-card .p-row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;}
.product-card .p-price{font-size:17px;font-weight:700;color:var(--accent-oklch);}
.btn-add{background:var(--ink);color:var(--bg);border:none;padding:10px 18px;border-radius:3px;font-weight:600;font-size:13px;cursor:pointer;}
.cart-box{background:var(--bg-alt);border-radius:4px;padding:28px;position:sticky;top:96px;}
.cart-box h2{font-family:var(--serif);font-size:24px;font-weight:600;margin:0 0 20px;}
.cart-empty{font-size:14px;color:var(--ink-mute);margin:0;}
.cart-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(47,38,33,0.1);}
.cart-item .ci-name{margin:0 0 4px;font-size:14px;font-weight:600;}
.cart-item .ci-price{margin:0;font-size:12px;color:var(--ink-mute);}
.qty-controls{display:flex;align-items:center;gap:8px;}
.qty-btn{width:24px;height:24px;border:1px solid var(--ink);background:none;border-radius:3px;cursor:pointer;}
.qty-val{font-size:13px;font-weight:600;min-width:14px;text-align:center;}
.cart-total{display:flex;justify-content:space-between;font-size:16px;font-weight:700;padding-top:6px;margin-top:6px;}
.cart-total span:last-child{color:var(--accent-oklch);}
.order-note{background:var(--bg);border-radius:3px;padding:16px;font-size:13px;line-height:1.6;color:#4a3f35;margin-top:16px;}

/* Forms */
.form-field{padding:12px 14px;border:1px solid rgba(47,38,33,0.25);border-radius:3px;font-size:14px;font-family:var(--sans);background:var(--bg);width:100%;}
.form-stack{display:flex;flex-direction:column;gap:14px;}
.form-stack.tight{gap:10px;margin-top:6px;}
.consent-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink-soft);line-height:1.5;}
.consent-row input{margin-top:3px;}
.btn-send{background:var(--accent-oklch);color:var(--cream);border:none;padding:14px 20px;border-radius:3px;font-weight:700;font-size:14px;cursor:pointer;margin-top:4px;}
.form-success{background:var(--bg);border-radius:3px;padding:20px;font-size:15px;line-height:1.6;color:#4a3f35;}
.form-error{background:#f6d9c9;border-radius:3px;padding:16px 20px;font-size:14px;line-height:1.6;color:#7a2f10;margin-bottom:14px;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden;}

/* Contact page */
.contact-grid{padding:24px 32px 88px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;max-width:1240px;margin:0 auto;}
.contact-facts{display:flex;flex-direction:column;gap:24px;margin-bottom:40px;}
.contact-facts .label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-mute);margin:0 0 6px;}
.contact-facts .value{font-size:17px;margin:0;line-height:1.5;}
.contact-facts a.value{color:var(--accent-oklch);font-weight:600;text-decoration:none;}
.map-link{display:block;aspect-ratio:16/10;border-radius:4px;background:var(--tile);text-decoration:none;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.map-link span{font-family:monospace;font-size:12px;color:#7c6c58;background:var(--bg);padding:8px 14px;border-radius:4px;position:relative;z-index:1;}
.contact-form-box{background:var(--bg-alt);border-radius:4px;padding:36px;}
.contact-form-box h2{font-family:var(--serif);font-size:26px;font-weight:600;margin:0 0 20px;}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-top:56px;}
  .hero h1{font-size:44px;}
  .contact-grid, .shop-layout{grid-template-columns:1fr;}
  .cart-box{position:static;}
  .page-head h1{font-size:38px;}
}
