/* Reštauračný Dom — shared styles */
@font-face{
  font-family:'Nunito Sans';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('../fonts/nunito-sans-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Nunito Sans';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('../fonts/nunito-sans-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Playfair Display';
  font-style:normal;
  font-weight:600 700;
  font-display:swap;
  src:url('../fonts/playfair-display-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Playfair Display';
  font-style:normal;
  font-weight:600 700;
  font-display:swap;
  src:url('../fonts/playfair-display-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root{
  --ink:#3f3226;
  --ink-soft:#5c4c3c;
  --cream:#f7f2ea;
  --cream-2:#efe6d8;
  --paper:#fdfbf7;
  --dark:#3a2f26;
  --dark-2:#40332a;
  --accent:#b8562f;
  --accent-dark:#96431f;
  --line:#e2d6c3;
  --line-soft:#ece2d1;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Nunito Sans',Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
}
a{color:inherit;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;}

.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid var(--line);font-family:'Nunito Sans',Arial,sans-serif;}
.site-header .bar{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:16px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo .badge{width:42px;height:42px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fdfbf7;font-family:'Playfair Display',serif;font-weight:700;font-size:19px;flex-shrink:0;}
.logo .name{font-family:'Playfair Display',serif;font-weight:700;font-size:21px;color:var(--ink);letter-spacing:.2px;}
.nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.nav a{text-decoration:none;font-weight:700;font-size:15px;color:var(--ink-soft);padding-bottom:4px;border-bottom:2px solid transparent;}
.nav a.active{color:var(--accent);border-bottom-color:var(--accent);}
.head-actions{display:flex;align-items:center;gap:14px;}
.phone-link{font-size:14px;color:var(--ink-soft);text-decoration:none;font-weight:700;}
.cart-btn{position:relative;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:22px;background:var(--accent);color:#fdfbf7;text-decoration:none;font-weight:700;font-size:14px;}
.cart-count{display:none;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#fdfbf7;color:var(--accent);font-size:12px;font-weight:800;}
.cart-count.show{display:inline-flex;}

/* Footer */
.site-footer{background:var(--dark);color:#ecdfd0;font-family:'Nunito Sans',Arial,sans-serif;}
.footer-grid{max-width:1200px;margin:0 auto;padding:56px 24px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;}
.footer-grid h4{font-family:'Playfair Display',serif;font-weight:700;font-size:16px;margin:0 0 14px;color:#f7f1e6;}
.footer-grid a{display:block;text-decoration:none;color:#d3c4b0;font-size:14px;margin-bottom:10px;}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-logo .badge{width:38px;height:38px;border-radius:50%;background:#c1633a;display:flex;align-items:center;justify-content:center;color:#fdfbf7;font-family:'Playfair Display',serif;font-weight:700;font-size:17px;}
.footer-logo .name{font-family:'Playfair Display',serif;font-weight:700;font-size:19px;color:#f7f1e6;}
.footer-desc{font-size:14px;line-height:1.7;color:#d3c4b0;max-width:280px;margin:0;}
.footer-contact span{display:block;font-size:14px;color:#d3c4b0;margin-bottom:10px;}
.footer-bottom{max-width:1200px;margin:0 auto;padding:20px 24px;border-top:1px solid #56473a;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#b8a892;}

/* Buttons */
.btn{display:inline-block;padding:14px 28px;border-radius:26px;text-decoration:none;font-weight:800;font-size:15px;border:none;cursor:pointer;font-family:'Nunito Sans',Arial,sans-serif;}
.btn-primary{background:var(--accent);color:#fdfbf7;}
.btn-outline{background:transparent;border:1.5px solid #e6dcc9;color:#fdfbf7;}
.btn-outline-light{background:#fdfbf7;border:1px solid #d9cdb8;color:#4a3c2e;}

/* Hero */
.hero{position:relative;display:flex;align-items:center;min-height:560px;overflow:hidden;background-size:cover;background-position:center;}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(38,29,22,.74), rgba(38,29,22,.38));}
.hero .inner{position:relative;max-width:1200px;margin:0 auto;padding:80px 24px;width:100%;}
.eyebrow{font-family:monospace;font-size:12px;letter-spacing:2px;color:#ecdfd0;opacity:.75;margin:0 0 10px;text-transform:uppercase;}
.hero h1{font-size:clamp(34px,5vw,58px);font-weight:700;color:#fdfbf7;max-width:640px;margin:0 0 18px;line-height:1.12;}
.hero p{font-size:18px;line-height:1.6;color:#f0e6d8;max-width:520px;margin:0 0 32px;}
.btn-row{display:flex;gap:16px;flex-wrap:wrap;}

/* Generic sections */
.section{padding:90px 24px;}
.section-tight{padding:64px 24px;}
.section-dark{background:var(--dark-2);}
.section-cream2{background:var(--cream-2);}
.two-col{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:56px;align-items:center;}
.photo-box{border-radius:16px;overflow:hidden;background-size:cover;background-position:center;}
.eyebrow-accent{font-family:monospace;font-size:12px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin:0 0 10px;}
.section h2{font-size:34px;font-weight:700;margin:0 0 18px;}
.lead-text{font-size:16px;line-height:1.75;color:var(--ink-soft);margin:0 0 16px;}
.link-more{color:var(--accent);font-weight:800;text-decoration:none;font-size:15px;}

.section-head{text-align:center;margin-bottom:48px;}
.section-head h2{margin:0;}

/* Category grid (home) */
.grid-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;}
.cat-card{text-decoration:none;color:inherit;display:block;background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(38,29,22,.06);}
.cat-card .thumb{height:130px;background-size:cover;background-position:center;}
.cat-card .body{padding:16px 18px;}
.cat-card .title{font-family:'Playfair Display',serif;font-weight:700;font-size:17px;margin-bottom:4px;}
.cat-card .desc{font-size:13px;color:var(--ink-soft);}

/* Features */
.grid-features{max-width:1200px;margin:0 auto;padding:90px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px;}
.feature{text-align:center;padding:0 12px;}
.feature .icon{width:64px;height:64px;border-radius:50%;background:var(--cream-2);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;}
.feature .dot{width:26px;height:26px;background:var(--accent);}
.feature .title{font-family:'Playfair Display',serif;font-weight:700;font-size:18px;margin-bottom:8px;}
.feature .desc{font-size:14px;line-height:1.6;color:var(--ink-soft);}

/* Testimonials */
.grid-test{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.test-card{background:var(--paper);border-radius:14px;padding:28px;box-shadow:0 2px 10px rgba(38,29,22,.06);}
.test-card p{font-size:15px;line-height:1.7;color:#4a3c2e;margin:0 0 18px;}
.test-card .name{font-weight:800;font-size:14px;}
.test-card .role{font-size:12px;color:#7a6a58;}

/* Menu page */
.menu-hero{background:var(--dark-2);padding:56px 24px;text-align:center;}
.menu-hero h1{color:#fdfbf7;font-size:clamp(28px,4vw,42px);margin:0 0 10px;}
.menu-hero p{color:#d9cdb8;font-size:15px;margin:0;}
.menu-tabs{position:sticky;top:72px;z-index:30;background:var(--cream);border-bottom:1px solid var(--line);overflow-x:auto;}
.menu-tabs .row{max-width:1200px;margin:0 auto;display:flex;gap:22px;padding:14px 24px;}
.menu-tabs a{text-decoration:none;white-space:nowrap;font-size:13px;font-weight:700;color:var(--ink-soft);}
.menu-cat{padding:56px 0;border-bottom:1px solid var(--line-soft);}
.menu-cat h2{font-size:26px;font-weight:700;margin:0 0 6px;}
.menu-cat .tagline{font-size:14px;color:#7a6a58;margin:0 0 26px;}
.menu-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;}
.menu-item{background:var(--paper);border-radius:14px;padding:20px;box-shadow:0 2px 8px rgba(38,29,22,.06);display:flex;flex-direction:column;gap:10px;}
.menu-item .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.menu-item h3{font-size:16px;font-weight:700;margin:0;line-height:1.3;}
.menu-item .price{font-weight:800;color:var(--accent);white-space:nowrap;font-size:15px;}
.menu-item .desc{font-size:13px;line-height:1.55;color:#6f5f4d;margin:0;min-height:36px;}
.add-btn{margin-top:4px;border:none;cursor:pointer;background:var(--cream-2);color:#4a3624;font-weight:700;font-size:13px;padding:10px 14px;border-radius:20px;}

.cart-fab{position:fixed;bottom:24px;right:24px;z-index:60;border:none;cursor:pointer;background:var(--accent);color:#fdfbf7;font-weight:800;font-size:14px;padding:16px 22px;border-radius:30px;box-shadow:0 6px 18px rgba(38,29,22,.3);display:flex;align-items:center;gap:10px;}
.cart-fab .cart-count{display:none;}
.cart-fab .cart-count.show{display:inline-flex;}

.cart-overlay{position:fixed;inset:0;background:rgba(30,22,16,.45);z-index:70;display:none;}
.cart-overlay.open{display:block;}
.cart-panel{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);background:var(--paper);z-index:71;box-shadow:-8px 0 24px rgba(38,29,22,.15);display:none;flex-direction:column;transform:translateX(0);}
.cart-panel.open{display:flex;}
.cart-panel .head{padding:22px 22px 16px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;}
.cart-panel .head h3{font-size:20px;margin:0;}
.cart-panel .close-btn{border:none;background:none;cursor:pointer;font-size:20px;color:var(--ink-soft);}
.cart-body{flex:1;overflow-y:auto;padding:16px 22px;}
.cart-empty{color:#7a6a58;font-size:14px;text-align:center;margin-top:40px;}
.cart-line{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-soft);gap:10px;}
.cart-line .info{flex:1;}
.cart-line .name{font-weight:700;font-size:14px;}
.cart-line .unit{font-size:12px;color:#7a6a58;}
.qty-ctrl{display:flex;align-items:center;gap:8px;}
.qty-ctrl button{width:26px;height:26px;border-radius:50%;border:1px solid #d9cdb8;background:var(--paper);cursor:pointer;font-weight:700;}
.qty-ctrl span{min-width:18px;text-align:center;font-weight:700;font-size:13px;}
.line-total{font-weight:800;font-size:13px;min-width:56px;text-align:right;}
.cart-footer{padding:20px 22px;border-top:1px solid var(--line-soft);}
.cart-total-row{display:flex;justify-content:space-between;margin-bottom:14px;font-size:15px;}
.cart-total-row .label{font-weight:700;}
.cart-total-row .value{font-weight:800;color:var(--accent);}
.order-success{background:rgba(163,201,118,.35);color:#3c5a26;padding:12px;border-radius:10px;font-size:13px;text-align:center;margin:0 0 10px;display:none;}
.order-success.show{display:block;}
.field-input{padding:12px 14px;border-radius:10px;border:1px solid #d9cdb8;background:var(--paper);font-size:13px;font-family:'Nunito Sans',Arial,sans-serif;width:100%;margin-bottom:10px;}
.submit-order{width:100%;border:none;cursor:pointer;background:var(--accent);color:#fdfbf7;font-weight:800;font-size:15px;padding:14px;border-radius:24px;}
.fine-print{font-size:11px;color:#8a7a68;text-align:center;margin:10px 0 0;}
.fine-print a{color:var(--accent);}

/* Values / team */
.grid-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;}
.value-card{background:var(--paper);border-radius:14px;padding:28px;}
.value-card .icon{width:44px;height:44px;background:var(--accent);margin-bottom:16px;}
.value-card h3{font-size:17px;margin:0 0 8px;}
.value-card p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;}
.grid-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.team-card{text-align:center;}
.team-card .photo{height:200px;border-radius:14px;margin-bottom:14px;background-size:cover;background-position:center;}
.team-card .name{font-family:'Playfair Display',serif;font-weight:700;font-size:16px;}
.team-card .role{font-size:13px;color:var(--accent);font-weight:700;}

/* Services */
.grid-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;}
.service-card{background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(38,29,22,.06);}
.service-card .thumb{height:150px;background-size:cover;background-position:center;}
.service-card .body{padding:22px;}
.service-card h3{font-size:18px;margin:0 0 10px;}
.service-card p{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0;}

.grid-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;}
.step{text-align:center;}
.step .num{width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fdfbf7;font-family:'Playfair Display',serif;font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.step h3{font-size:16px;margin:0 0 8px;}
.step p{font-size:13px;line-height:1.6;color:var(--ink-soft);margin:0;}

.grid-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;}
.package-card{background:var(--paper);border-radius:16px;padding:30px;border:1px solid var(--line);}
.package-card h3{font-size:19px;margin:0 0 6px;}
.package-card .price{font-size:26px;font-weight:800;color:var(--accent);margin:0 0 14px;}
.package-card .desc{font-size:13px;line-height:1.6;color:var(--ink-soft);margin:0 0 16px;}
.package-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.package-card li{font-size:13px;color:#4a3c2e;display:flex;gap:8px;align-items:baseline;}
.package-card li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;display:inline-block;}

/* Contact */
.grid-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.info-card{background:var(--paper);border-radius:14px;padding:24px;box-shadow:0 2px 8px rgba(38,29,22,.06);}
.info-card .icon{width:38px;height:38px;background:var(--accent);margin-bottom:14px;}
.info-card .title{font-weight:800;font-size:14px;margin-bottom:6px;}
.info-card .value{font-size:13px;color:var(--ink-soft);line-height:1.6;}

.contact-grid{max-width:1200px;margin:0 auto;padding:70px 24px;display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:48px;}
.contact-grid h2{font-size:26px;font-weight:700;margin:0 0 18px;}
.form-success{background:rgba(163,201,118,.35);color:#3c5a26;padding:16px;border-radius:10px;font-size:14px;margin-bottom:16px;display:none;}
.form-success.show{display:block;}
.form-error{background:rgba(216,110,90,.18);color:#8a3120;padding:16px;border-radius:10px;font-size:14px;margin-bottom:16px;display:none;}
.form-error.show{display:block;}
.contact-form{display:flex;flex-direction:column;gap:14px;}
.contact-form input,.contact-form textarea{padding:13px 16px;border-radius:10px;border:1px solid #d9cdb8;background:var(--paper);font-size:14px;font-family:'Nunito Sans',Arial,sans-serif;width:100%;}
.contact-form textarea{resize:vertical;}
.contact-form button{align-self:flex-start;}
.map-box{height:260px;border-radius:14px;margin-bottom:20px;background-size:cover;background-position:center;display:flex;align-items:flex-end;}
.map-label{font-family:monospace;font-size:12px;color:#fdfbf7;background:rgba(30,22,16,.55);padding:6px 12px;border-radius:6px;margin:12px;}
.hours-card{background:var(--paper);border-radius:14px;padding:22px;}
.hours-card .h4{font-family:'Playfair Display',serif;font-weight:700;font-size:16px;margin-bottom:12px;}
.hours-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);padding:6px 0;border-bottom:1px solid var(--line-soft);}
.hours-row span:last-child{font-weight:700;}

.faq-wrap{max-width:900px;margin:0 auto;}
.faq-wrap h2{text-align:center;margin:0 0 30px;}
.faq-item{background:var(--paper);border-radius:12px;padding:20px 22px;margin-bottom:14px;}
.faq-item .q{font-weight:800;font-size:14px;margin-bottom:6px;}
.faq-item .a{font-size:13px;color:var(--ink-soft);line-height:1.6;}

.cta-block{background:var(--dark-2);padding:80px 24px;text-align:center;}
.cta-block h2{color:#fdfbf7;font-size:32px;font-weight:700;margin:0 0 16px;}
.cta-block p{color:#d9cdb8;font-size:15px;margin:0 0 24px;}

/* Legal pages */
.legal-hero{background:var(--dark-2);padding:56px 24px;text-align:center;}
.legal-hero h1{font-size:clamp(26px,4vw,38px);color:#fdfbf7;margin:0;}
.legal-body{max-width:760px;margin:0 auto;padding:60px 24px 90px;line-height:1.75;font-size:15px;}
.legal-body .date{color:#7a6a58;font-size:13px;margin:0 0 30px;}
.legal-body h2{font-size:20px;margin:34px 0 12px;}
.legal-body a{color:var(--accent);}
.legal-card{background:var(--paper);border-radius:12px;padding:20px;margin-bottom:16px;}
.legal-card .t{font-weight:800;font-size:14px;margin-bottom:6px;}
.legal-card p{margin:0;font-size:14px;color:var(--ink-soft);}

@media (max-width: 760px){
  .two-col, .contact-grid{grid-template-columns:1fr;}
}

/* Cookie consent banner */
.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:640px;margin:0 auto;background:var(--dark-2);color:#f0e6d8;border-radius:14px;padding:20px 22px;box-shadow:0 10px 30px rgba(20,14,9,.35);display:none;font-family:'Nunito Sans',Arial,sans-serif;}
.consent-banner.show{display:block;}
.consent-banner p{margin:0 0 14px;font-size:13px;line-height:1.6;color:#e6dac8;}
.consent-banner a{color:#e2a878;}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap;}
.consent-actions button{border:none;cursor:pointer;font-weight:800;font-size:13px;padding:10px 18px;border-radius:20px;font-family:'Nunito Sans',Arial,sans-serif;}
.consent-accept{background:var(--accent);color:#fdfbf7;}
.consent-decline{background:transparent;border:1px solid #6a5a48 !important;color:#f0e6d8;}
