/* Sutivora – kézműves cukrászat | shared stylesheet */
:root{
  --bg: oklch(97% 0.015 75);
  --header-bg: oklch(99% 0.008 75);
  --text: oklch(28% 0.035 35);
  --text-muted: oklch(45% 0.03 35);
  --text-soft: oklch(35% 0.03 35);
  --border: oklch(88% 0.02 60);
  --border-soft: oklch(90% 0.015 65);
  --brand: oklch(58% 0.14 8);
  --brand-soft: oklch(94% 0.03 15);
  --accent: oklch(64% 0.13 55);
  --dark: oklch(25% 0.035 35);
  --dark-2: oklch(20% 0.02 40);
  --white: oklch(99% 0.01 80);
  --placeholder-a: oklch(90% 0.04 40);
  --placeholder-b: oklch(94% 0.03 55);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Mulish',Arial,sans-serif;min-height:100vh;}
img{max-width:100%;display:block;}
a{color:inherit;}
input,textarea,select,button{font-family:'Mulish',Arial,sans-serif;}
h1,h2,h3{font-family:'Lora',Georgia,serif;}
.wrap{font-family:'Mulish',Arial,sans-serif;color:var(--text);background:var(--bg);min-height:100vh;position:relative;}
@keyframes su-fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* promo bar */
.promo-bar{background:var(--brand);color:oklch(98% 0.01 80);text-align:center;padding:9px 16px;font-size:13px;font-weight:600;letter-spacing:.02em;}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:var(--header-bg);border-bottom:1px solid var(--border);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.brand{cursor:pointer;font-family:'Lora',Georgia,serif;font-weight:700;font-size:26px;color:var(--brand);letter-spacing:.01em;text-decoration:none;}
.main-nav{display:flex;gap:4px;flex-wrap:wrap;}
.main-nav a{background:transparent;color:var(--text-soft);border:none;border-radius:999px;padding:9px 15px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;}
.main-nav a.active{background:var(--brand);color:#fff;}
.main-nav a:hover:not(.active){background:var(--brand-soft);}
.cart-btn{position:relative;background:var(--accent);color:var(--white);border:none;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;}
.cart-badge{background:var(--dark);color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 5px;}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:20px;cursor:pointer;}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:oklch(20% 0.02 40 / .45);z-index:50;display:none;}
.cart-overlay.open{display:block;}
.cart-panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--header-bg);padding:26px;overflow-y:auto;box-shadow:-8px 0 30px oklch(20% 0.02 40 / .2);}
.cart-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.cart-panel-head h2{font-family:'Lora',Georgia,serif;font-weight:700;font-size:22px;margin:0;}
.cart-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted);}
.cart-empty{color:var(--text-muted);padding:30px 0;text-align:center;}
.cart-line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
.cart-line img{width:56px;height:56px;border-radius:10px;flex:none;object-fit:cover;}
.cart-line .info{flex:1;}
.cart-line .name{font-weight:700;font-size:14px;}
.cart-line .unit{font-size:13px;color:var(--text-muted);margin-top:2px;}
.cart-line .qty-row{display:flex;align-items:center;gap:10px;margin-top:8px;}
.qty-btn{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;line-height:1;}
.qty-val{font-weight:700;font-size:13px;}
.remove-link{margin-left:auto;background:none;border:none;color:var(--brand);font-size:12px;cursor:pointer;text-decoration:underline;}
.cart-line .line-total{font-weight:700;font-size:14px;white-space:nowrap;}
.cart-summary{margin-top:18px;padding-top:16px;border-top:2px solid var(--dark);display:flex;justify-content:space-between;font-weight:800;font-size:17px;}
.cart-note{font-size:12px;color:var(--text-muted);margin-top:4px;}
.btn-checkout{width:100%;margin-top:16px;background:var(--brand);color:#fff;border:none;border-radius:999px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;}

/* main / sections */
main{max-width:1180px;margin:0 auto;padding:0 24px 60px;animation:su-fade .4s ease;}
.section{padding:44px 0 10px;}
.section-tight{padding:30px 0;}
.eyebrow{display:inline-block;background:var(--brand-soft);color:var(--brand);padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:16px;}
h1.page-title{font-family:'Lora',Georgia,serif;font-size:34px;margin:0 0 10px;}
.page-lead{font-size:15.5px;color:var(--text-muted);max-width:640px;line-height:1.6;margin:0 0 28px;}

/* hero */
.hero{padding:56px 0 40px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;}
.hero h1{font-family:'Lora',Georgia,serif;font-size:44px;line-height:1.15;margin:0 0 18px;color:var(--dark);}
.hero h1 span{color:var(--brand);}
.hero p{font-size:17px;line-height:1.65;color:var(--text-muted);max-width:520px;margin:0 0 28px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-photo{height:360px;border-radius:24px;overflow:hidden;}
.hero-photo img{width:100%;height:100%;object-fit:cover;}

/* buttons */
.btn{display:inline-block;border:none;border-radius:999px;padding:14px 26px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;}
.btn-primary{background:var(--brand);color:#fff;}
.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border);}
.btn-accent{background:var(--accent);color:#fff;}
.btn-sm{padding:9px 18px;font-size:13px;border-radius:999px;border:none;font-weight:700;cursor:pointer;}

/* usps */
.usps{padding:30px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.usp-card{background:#fff;border-radius:16px;padding:20px;text-align:center;border:1px solid var(--border-soft);}
.usp-icon{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);margin:0 auto 10px;}
.usp-title{font-weight:700;font-size:14px;margin-bottom:4px;}
.usp-desc{font-size:12.5px;color:var(--text-muted);line-height:1.4;}

/* category cards */
.section h2{font-family:'Lora',Georgia,serif;font-size:28px;margin:0 0 20px;}
.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.cat-card{cursor:pointer;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--border-soft);text-decoration:none;color:inherit;display:block;}
.cat-card .photo{height:130px;overflow:hidden;}
.cat-card .photo img{width:100%;height:100%;object-fit:cover;}
.cat-card .body{padding:16px 18px;}
.cat-card .title{font-weight:700;font-size:15.5px;margin-bottom:4px;}
.cat-card .desc{font-size:13px;color:var(--text-muted);}

/* product grid + card */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.product-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.product-card{background:#fff;border:1px solid var(--border-soft);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;height:100%;}
.product-card .photo{height:150px;overflow:hidden;}
.product-card .photo img{width:100%;height:100%;object-fit:cover;}
.product-card .body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.product-card .name{font-weight:700;font-size:15px;}
.product-card .desc{font-size:13px;color:var(--text-muted);line-height:1.5;flex:1;}
.product-card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.product-card .price{font-weight:800;font-size:15px;}

/* testimonials */
.testi-section{padding:44px 0 10px;background:var(--brand-soft);border-radius:24px;margin-top:30px;}
.testi-section h2{text-align:center;margin:0 30px 20px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 30px 34px;}
.testi-card{background:#fff;border-radius:16px;padding:20px;}
.testi-quote{font-size:14px;line-height:1.6;color:var(--text-soft);margin-bottom:12px;}
.testi-name{font-weight:700;font-size:13px;}

/* newsletter */
.newsletter{padding:44px 0 10px;}
.newsletter-box{background:var(--brand);border-radius:22px;padding:36px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.newsletter-box .copy{color:#fff;max-width:480px;}
.newsletter-box .copy .h{font-family:'Lora',Georgia,serif;font-size:22px;font-weight:700;margin-bottom:6px;}
.newsletter-box .copy .p{font-size:14px;opacity:.92;}
.newsletter-form{display:flex;gap:8px;flex-wrap:wrap;}
.newsletter-form input{border-radius:999px;border:none;padding:12px 18px;font-size:14px;min-width:220px;}
.newsletter-form button{background:var(--dark);color:#fff;border:none;border-radius:999px;padding:12px 22px;font-weight:700;font-size:14px;cursor:pointer;}
.newsletter-thanks{color:#fff;font-weight:700;font-size:13px;}

/* forms */
.form-box{background:#fff;border:1px solid var(--border-soft);border-radius:20px;padding:28px;}
.form-col{display:flex;flex-direction:column;gap:14px;}
.form-col input,.form-col textarea{border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;width:100%;}
.form-col textarea{resize:vertical;}
.form-submit{background:var(--brand);color:#fff;border:none;border-radius:999px;padding:13px;font-weight:700;font-size:14px;cursor:pointer;}
.thanks-box{padding:30px 0;text-align:center;}
.thanks-box .h{font-weight:800;font-size:18px;margin-bottom:8px;}
.thanks-box .p{font-size:14px;color:var(--text-muted);}
.field-error{color:var(--brand);font-size:12px;margin-top:-8px;display:none;}

/* two column */
.two-col{padding:44px 0 10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;}
.two-col.top{align-items:start;}
.two-col p{font-size:15px;line-height:1.7;color:var(--text-soft);margin:0 0 14px;}
.about-photo{height:320px;border-radius:24px;overflow:hidden;}
.about-photo img{width:100%;height:100%;object-fit:cover;}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 0 10px;}
.value-card{background:#fff;border-radius:16px;padding:22px;border:1px solid var(--border-soft);}
.value-card .title{font-weight:700;font-size:15px;margin-bottom:6px;}
.value-card .desc{font-size:13.5px;color:var(--text-muted);line-height:1.6;}

/* contact */
.contact-info{font-size:14.5px;line-height:1.9;color:var(--text-soft);}
.contact-map{height:220px;border-radius:18px;margin-top:20px;overflow:hidden;border:0;}
.contact-map iframe{width:100%;height:100%;border:0;}

/* occasions */
.occ-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.occ-card{background:#fff;border:1px solid var(--border-soft);border-radius:18px;overflow:hidden;}
.occ-card .photo{height:140px;overflow:hidden;}
.occ-card .photo img{width:100%;height:100%;object-fit:cover;}
.occ-card .body{padding:20px 22px;}
.occ-card .title{font-family:'Lora',Georgia,serif;font-weight:700;font-size:18px;margin-bottom:8px;}
.occ-card .desc{font-size:14px;color:var(--text-muted);line-height:1.65;}
.occ-cta{margin-top:30px;background:var(--brand-soft);border-radius:20px;padding:30px 34px;text-align:center;}
.occ-cta .h{font-family:'Lora',Georgia,serif;font-size:20px;font-weight:700;margin-bottom:8px;}
.occ-cta .p{font-size:14px;color:var(--text-muted);margin-bottom:16px;}

/* cakes CTA box */
.cta-box{background:#fff;border:1px solid var(--border-soft);border-radius:20px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.cta-box .copy{max-width:520px;}
.cta-box .h{font-family:'Lora',Georgia,serif;font-size:20px;font-weight:700;margin-bottom:8px;}
.cta-box .p{font-size:14px;color:var(--text-muted);line-height:1.6;}

/* gifts info box */
.info-box{margin-top:26px;background:#fff;border:1px solid var(--border-soft);border-radius:18px;padding:26px 30px;}
.info-box .h{font-family:'Lora',Georgia,serif;font-size:18px;font-weight:700;margin-bottom:10px;}
.info-box .p{font-size:14px;color:var(--text-muted);line-height:1.7;}

/* holidays list */
.holiday-list{display:flex;flex-direction:column;gap:16px;}
.holiday-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--border-soft);border-radius:18px;padding:18px 22px;}
.holiday-row .photo{height:100px;border-radius:12px;overflow:hidden;}
.holiday-row .photo img{width:100%;height:100%;object-fit:cover;}
.holiday-row .name{font-weight:700;font-size:16px;margin-bottom:4px;}
.holiday-row .desc{font-size:13.5px;color:var(--text-muted);line-height:1.5;}
.holiday-row .right{text-align:right;white-space:nowrap;}
.holiday-row .price{font-weight:800;font-size:16px;margin-bottom:8px;}

/* checkout */
.checkout-wrap{padding:44px 0 40px;max-width:720px;margin:0 auto;}
.order-summary{background:#fff;border:1px solid var(--border-soft);border-radius:16px;padding:20px;margin-bottom:20px;}
.order-summary .line{display:flex;justify-content:space-between;font-size:14px;padding:6px 0;}
.order-summary .total{display:flex;justify-content:space-between;font-weight:800;font-size:16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
.pay-options{display:flex;gap:16px;font-size:14px;flex-wrap:wrap;}
.pay-options label{display:flex;align-items:center;gap:6px;}
.legal-note{font-size:12px;color:var(--text-muted);text-align:center;}
.legal-note a{color:var(--brand);}
.order-confirm{text-align:center;padding:50px 20px;background:#fff;border-radius:20px;border:1px solid var(--border-soft);}
.order-confirm .h{font-family:'Lora',Georgia,serif;font-size:26px;font-weight:700;margin-bottom:10px;}
.order-confirm .num{font-size:15px;color:var(--text-muted);margin-bottom:6px;}
.order-confirm .p{font-size:14px;color:var(--text-muted);max-width:440px;margin:12px auto 22px;line-height:1.6;}

/* legal pages */
.legal-wrap{padding:44px 0 40px;max-width:720px;}
.legal-wrap .body{font-size:14.5px;line-height:1.85;color:var(--text-soft);}
.legal-wrap .body p{margin:0 0 14px;}

/* footer */
.site-footer{background:var(--dark);color:oklch(90% 0.01 70);padding:50px 28px 26px;margin-top:20px;}
.footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;}
.footer-brand{font-family:'Lora',Georgia,serif;font-weight:700;font-size:22px;color:#fff;margin-bottom:10px;}
.footer-desc{font-size:13.5px;line-height:1.7;color:oklch(80% 0.01 70);max-width:280px;}
.footer-col h4{font-weight:700;font-size:13px;color:#fff;margin:0 0 10px;}
.footer-col a{display:block;margin-bottom:8px;color:oklch(80% 0.01 70);font-size:13px;text-decoration:none;}
.footer-col a:hover{text-decoration:underline;}
.footer-contact{font-size:13px;line-height:1.9;color:oklch(80% 0.01 70);}
.footer-bottom{max-width:1180px;margin:26px auto 0;padding-top:18px;border-top:1px solid oklch(35% 0.02 40);font-size:12px;color:oklch(70% 0.01 70);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* consent banner */
.consent-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--dark);color:oklch(92% 0.01 70);padding:16px 20px;display:none;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:13px;}
.consent-bar.show{display:flex;}
.consent-bar a{color:#fff;text-decoration:underline;}
.consent-actions{display:flex;gap:10px;}
.consent-actions button{border:none;border-radius:999px;padding:9px 18px;font-weight:700;font-size:13px;cursor:pointer;}
.consent-accept{background:var(--brand);color:#fff;}
.consent-decline{background:transparent;color:oklch(92% 0.01 70);border:1px solid oklch(60% 0.01 70) !important;}

/* skip link */
.skip-link{position:absolute;left:-999px;top:auto;background:#fff;color:var(--text);padding:10px 16px;border-radius:8px;z-index:100;}
.skip-link:focus{left:12px;top:12px;}

/* responsive */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr;}
  .hero-photo{height:260px;order:-1;}
  .usps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .product-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .testi-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr;}
  .occ-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .holiday-row{grid-template-columns:100px 1fr;}
  .holiday-row .right{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:14px;}
}
@media (max-width: 640px){
  .site-header{padding:12px 16px;}
  .main-nav{display:none;width:100%;order:3;flex-direction:column;gap:2px;}
  .main-nav.open{display:flex;}
  .main-nav a{width:100%;text-align:left;}
  .nav-toggle{display:block;}
  main{padding:0 16px 40px;}
  .hero h1{font-size:32px;}
  .usps{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:1fr;}
  .product-grid.cols-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .newsletter-box{flex-direction:column;align-items:stretch;text-align:center;}
}
