/* Cvetličarna Dom - mid-century modern design system */
:root{
  --cream:#f6ecdc;
  --rust:#b5502f;
  --rust-dark:#8f3c22;
  --mustard:#d9a441;
  --slate:#4a5a72;
  --slate-dark:#324457;
  --walnut:#3d2f23;
  --ink:#2a2119;
  --paper:#fffaf0;
  --line: rgba(61,47,35,.14);
  --radius: 14px;
  --shadow-1: 0 1px 2px rgba(42,33,25,.08), 0 8px 24px rgba(42,33,25,.08);
  --ff-display: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
  --ff-body: -apple-system, "Segoe UI", system-ui, Helvetica, Arial, sans-serif;
  --container: 1180px;
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--ff-body); line-height:1.55; font-size:16px;
}
img{max-width:100%; display:block}
a{color:var(--rust-dark); text-decoration:none}
h1,h2,h3,h4{font-family:var(--ff-display); color:var(--walnut); margin:0 0 .5em; line-height:1.1}
p{margin:0 0 1em}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
:focus-visible{outline:3px solid var(--slate); outline-offset:2px}

/* ---------- layout helpers ---------- */
.wrap{max-width:var(--container); margin:0 auto; padding:0 24px}
.grid{display:grid; gap:24px}
.grid-2{grid-template-columns:1fr; }
@media(min-width:760px){ .grid-2{grid-template-columns:1fr 1fr} }
.grid-3{grid-template-columns:1fr}
@media(min-width:760px){ .grid-3{grid-template-columns:repeat(3,1fr)} }
.mt-0{margin-top:0}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}
.main{display:block}

/* ---------- reveal motion ---------- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease, clip-path .6s ease}
.reveal.in-view{opacity:1; transform:translateY(0)}
.reveal-1{transition-delay:.05s}.reveal-2{transition-delay:.15s}.reveal-3{transition-delay:.25s}.reveal-4{transition-delay:.35s}
@media(prefers-reduced-motion: reduce){ .reveal{transition:none; opacity:1; transform:none} }

/* ---------- header ---------- */
.site-header{position:sticky; top:0; z-index:40; background:var(--cream); border-bottom:1px solid var(--line); backdrop-filter:blur(2px)}
.site-header__inner{max-width:var(--container); margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px}
.logo{display:flex; align-items:center; gap:10px}
.logo__word{width:168px; height:24px}
.logo__mark{width:40px;height:40px}
.site-nav{display:flex; align-items:center; gap:22px}
.site-nav a{color:var(--walnut); font-weight:600; font-size:.95rem; position:relative; padding:4px 0}
.site-nav a::after{content:"";position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--rust); transition:width .25s ease}
.site-nav a:hover::after, .site-nav a.is-active::after{width:100%}
.nav-cart{display:flex; align-items:center; gap:6px; color:var(--rust-dark)}
.cart-count{background:var(--rust); color:#fff; border-radius:999px; font-size:.72rem; min-width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px}
.cart-count.bump{animation:bump .35s ease}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.4)}100%{transform:scale(1)}}
.nav-toggle,.nav-close{background:none;border:0;cursor:pointer;color:var(--walnut); display:none; padding:6px}
@media(max-width:860px){
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:fixed; inset:0 0 0 auto; width:min(320px,86vw); height:100vh; background:var(--paper);
    flex-direction:column; align-items:flex-start; padding:80px 28px 28px; gap:20px;
    transform:translateX(100%); visibility:hidden; transition:transform .3s ease, visibility .3s ease;
    box-shadow:-10px 0 30px rgba(0,0,0,.15);
  }
  .site-nav.is-open{transform:translateX(0); visibility:visible}
  .nav-close{display:inline-flex; position:absolute; top:20px; right:20px}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--ff-body); font-weight:700; font-size:.95rem; cursor:pointer;
  border-radius:999px; padding:12px 26px; border:2px solid transparent; min-height:44px;
  position:relative; overflow:hidden; isolation:isolate; transition:color .25s ease, border-color .25s ease;
}
.btn--primary{background:var(--rust); color:#fff}
.btn--primary::before{content:"";position:absolute; inset:0; left:-100%; width:100%; background:var(--rust-dark); z-index:-1; transition:left .3s ease}
.btn--primary:hover::before{left:0}
.btn--outline{background:transparent; border-color:var(--walnut); color:var(--walnut)}
.btn--outline::before{content:"";position:absolute; inset:0; left:-100%; width:100%; background:var(--walnut); z-index:-1; transition:left .3s ease}
.btn--outline:hover{color:#fff}
.btn--outline:hover::before{left:0}
.btn--ghost{background:transparent; border-color:rgba(255,255,255,.6); color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.15)}
.btn--sweep{background:var(--slate); color:#fff}
.btn--sweep::before{content:"";position:absolute; inset:0; left:-100%; width:100%; background:var(--slate-dark); z-index:-1; transition:left .3s ease}
.btn--sweep:hover::before{left:0}
.btn--sm{padding:8px 18px; font-size:.85rem; min-height:36px}
.btn[disabled]{opacity:.5; cursor:not-allowed}

/* ---------- hero (home) ---------- */
.hero{padding:40px 0 20px}
.hero__inner{max-width:var(--container); margin:0 auto; padding:0 24px; display:grid; gap:40px; grid-template-columns:1fr}
@media(min-width:900px){ .hero__inner{grid-template-columns:1.1fr 1fr; align-items:center} }
.hero h1{font-size:clamp(2.4rem,6vw,4.2rem); letter-spacing:-.01em}
.hero__lede{font-size:1.15rem; max-width:34ch}
.hero__art{position:relative}
.hero__art svg{width:100%; height:auto}
.hero-draw path{fill:none; stroke-dasharray:1; stroke-dashoffset:0}

/* ---------- home sticky/scroll composition ---------- */
.story{display:grid; grid-template-columns:1fr; gap:40px; padding:60px 0}
@media(min-width:900px){ .story{grid-template-columns:.9fr 1.1fr} }
.story__nav{align-self:start}
@media(min-width:900px){ .story__nav{position:sticky; top:96px} }
.story__nav h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.story__list{list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:6px}
.story__list button{background:none;border:0; text-align:left; font-family:var(--ff-body); font-weight:700; color:var(--slate); padding:10px 0; font-size:1.05rem; cursor:pointer; border-bottom:1px solid var(--line); width:100%}
.story__list button.is-current{color:var(--rust)}
.story__panels{display:flex; flex-direction:column; gap:48px}
.story__panel{background:var(--paper); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow-1); overflow:hidden}
.story__panel img{border-radius:10px; aspect-ratio:4/3; object-fit:cover; margin-top:14px}

/* ---------- section dividers / ornaments ---------- */
.divider{display:block; width:100%; height:32px; margin:0 auto}
.footer-divider{width:100%; height:32px; display:block}
.section{padding:56px 0}
.section--alt{background:var(--paper)}
.section__head{max-width:640px; margin:0 auto 32px; text-align:left}

/* ---------- cards ---------- */
.card{background:var(--paper); border-radius:var(--radius); box-shadow:var(--shadow-1); overflow:hidden; transition:transform .3s ease, box-shadow .3s ease}
.card:hover{transform:translateY(-6px); box-shadow:0 14px 30px rgba(42,33,25,.16)}
.card__media{aspect-ratio:4/3; overflow:hidden; background:var(--cream)}
.card__media img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
.card:hover .card__media img{transform:scale(1.07)}
.card__body{padding:18px 18px 22px}
.card__price{color:var(--rust-dark); font-weight:800}

/* ---------- product strip (mobile scroll-snap) ---------- */
.strip{display:flex; gap:18px; overflow-x:auto; padding:6px 24px 18px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch}
.strip .card{flex:0 0 240px; scroll-snap-align:start}
@media(min-width:900px){ .strip{display:grid; grid-template-columns:repeat(4,1fr); overflow:visible; padding:0} .strip .card{flex:auto} }

/* ---------- feature: Rastlinski Urnik ---------- */
.feature{background:var(--slate); color:var(--cream); border-radius:var(--radius); padding:clamp(28px,5vw,52px); position:relative; overflow:hidden}
.feature h2{color:#fff}
.feature__grid{display:grid; gap:28px; grid-template-columns:1fr}
@media(min-width:860px){ .feature__grid{grid-template-columns:1fr 1fr} }
.feature__form{display:grid; gap:14px}
.feature__result{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:20px; min-height:140px}
.feature select,.feature input{width:100%}
.feature__pattern{position:absolute; inset:0; opacity:.14; pointer-events:none}

/* ---------- forms ---------- */
.form-grid{display:grid; gap:16px; grid-template-columns:1fr}
@media(min-width:640px){ .form-grid--2{grid-template-columns:1fr 1fr} }
.field{display:flex; flex-direction:column; gap:6px}
.field label{font-weight:700; font-size:.9rem; color:var(--walnut)}
.field input,.field select,.field textarea{
  font-family:var(--ff-body); font-size:1rem; padding:11px 13px; border:1.5px solid var(--line);
  border-radius:8px; background:var(--paper); accent-color:var(--rust); color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--slate)}
.field-error{color:var(--rust-dark); font-size:.82rem; min-height:1.2em}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--rust-dark)}
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0}
.form-msg{min-height:1.4em; font-weight:700; color:var(--slate-dark)}
.newsletter-form{display:flex; gap:8px; flex-wrap:wrap}
.newsletter-form input{flex:1; min-width:160px; padding:10px 12px; border-radius:8px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); color:#fff}
.newsletter-form input::placeholder{color:rgba(246,236,220,.7)}

/* ---------- footer ---------- */
.site-footer{background:var(--walnut); color:var(--cream); padding:0 0 20px; margin-top:40px}
.site-footer a{color:var(--cream); opacity:.88}
.site-footer a:hover{opacity:1; text-decoration:underline}
.site-footer__inner{max-width:var(--container); margin:0 auto; padding:30px 24px; display:grid; gap:28px; grid-template-columns:1fr}
@media(min-width:760px){ .site-footer__inner{grid-template-columns:1.3fr 1fr 1fr 1fr 1.3fr} }
.footer-col{display:flex; flex-direction:column; gap:8px}
.footer-col h3{color:var(--mustard); font-size:1rem; margin-bottom:4px}
.footer-col--brand p{margin:4px 0}
.footer-bottom{text-align:center; font-size:.82rem; opacity:.7; margin:10px 0 0}

/* ---------- cookie banner ---------- */
.cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:60; max-width:560px; margin:0 auto;
  background:var(--walnut); color:var(--cream); border-radius:12px; padding:18px 20px; box-shadow:0 10px 30px rgba(0,0,0,.3);
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;
}
.cookie-banner p{margin:0; flex:1 1 220px; font-size:.9rem}
.cookie-banner__actions{display:flex; gap:10px}

/* ======================================================
   INNER PAGE COMPONENTS (for the 11 inner pages)
   ====================================================== */
.page-hero{background:var(--paper); padding:48px 0 36px; border-bottom:1px solid var(--line)}
.page-hero__inner{max-width:var(--container); margin:0 auto; padding:0 24px}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem)}
.page-hero p{max-width:60ch; color:var(--slate-dark)}

.breadcrumbs{max-width:var(--container); margin:16px auto 0; padding:0 24px; font-size:.85rem; color:var(--slate-dark)}
.breadcrumbs a{color:var(--slate-dark)}
.breadcrumbs span{opacity:.6; margin:0 6px}

.prose{max-width:68ch; margin:0 auto; padding:40px 24px}
.prose h2{margin-top:1.6em; font-size:1.5rem}
.prose h3{margin-top:1.3em; font-size:1.15rem}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}

.legal-toc{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:18px 20px; max-width:68ch; margin:30px auto 0}
.legal-toc h2{font-size:1rem; margin-bottom:10px}
.legal-toc ol{margin:0; padding-left:1.2em}
.legal-toc a{font-weight:600}

.notice{border-radius:10px; padding:16px 18px; margin:20px auto; max-width:68ch; border:1.5px solid var(--line); background:var(--paper)}
.notice--info{border-color:var(--slate); background:#eef2f6}
.notice--warn{border-color:var(--mustard); background:#fbf1dd}
.notice--success{border-color:#4f7a52; background:#eaf3ea}

.faq{max-width:760px; margin:0 auto; padding:10px 24px 60px; display:flex; flex-direction:column; gap:12px}
.faq-item{background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:4px 18px}
.faq-item summary{cursor:pointer; font-weight:700; padding:14px 0; color:var(--walnut); list-style:none; display:flex; justify-content:space-between; gap:12px}
.faq-item summary::after{content:"+"; font-size:1.3rem; color:var(--rust)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{padding-bottom:14px; color:var(--slate-dark)}

.product-detail{display:grid; gap:36px; grid-template-columns:1fr; max-width:var(--container); margin:0 auto; padding:40px 24px}
@media(min-width:860px){ .product-detail{grid-template-columns:1fr 1fr} }
.product-detail__gallery{aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; background:var(--paper)}
.product-detail__gallery img{width:100%; height:100%; object-fit:cover}
.product-detail__price{font-size:1.6rem; font-weight:800; color:var(--rust-dark)}
.product-detail__meta{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0}
.product-detail__meta span{background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:6px 14px; font-size:.82rem}

.cart-table{width:100%; border-collapse:collapse; max-width:var(--container); margin:0 auto}
.cart-table th,.cart-table td{padding:14px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle}
.cart-table img{width:64px; height:64px; object-fit:cover; border-radius:8px}
.cart-summary{max-width:360px; margin:24px 0 0 auto; background:var(--paper); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-1)}
.cart-summary__row{display:flex; justify-content:space-between; padding:6px 0}
.cart-summary__row--total{font-weight:800; font-size:1.1rem; border-top:1px solid var(--line); margin-top:8px; padding-top:12px}

.contact-layout{display:grid; gap:36px; grid-template-columns:1fr; max-width:var(--container); margin:0 auto; padding:40px 24px}
@media(min-width:860px){ .contact-layout{grid-template-columns:1fr 1fr} }
.contact-info{display:flex; flex-direction:column; gap:14px}
.contact-info__item{display:flex; gap:10px; align-items:flex-start}
.contact-info__item svg{color:var(--rust); flex:none; margin-top:3px}

.badge{display:inline-flex; align-items:center; gap:6px; background:var(--mustard); color:var(--walnut); font-weight:700; font-size:.78rem; border-radius:999px; padding:5px 12px}

/* ========== Additional components for inner pages ========== */

/* Product catalog */
.catalog-filters{display:flex; gap:10px; flex-wrap:wrap; margin:20px 0}
.filter-btn{background:transparent; border:2px solid var(--line); color:var(--walnut); padding:8px 16px; border-radius:999px; cursor:pointer; font-weight:600; transition:all .25s ease}
.filter-btn:hover,.filter-btn.is-active{background:var(--rust); color:#fff; border-color:var(--rust)}

/* Product cards */
.product-card{display:flex; flex-direction:column; border-radius:var(--radius); overflow:hidden; background:var(--paper); box-shadow:var(--shadow-1); transition:transform .3s ease, box-shadow .3s ease; color:inherit}
.product-card:hover{transform:translateY(-4px); box-shadow:0 12px 32px rgba(42,33,25,.12)}
.product-image{width:100%; height:280px; object-fit:cover; display:block}
.product-info{padding:16px; flex:1; display:flex; flex-direction:column}
.product-name{font-size:1rem; font-weight:600; margin:0 0 8px; color:var(--walnut)}
.product-price{font-size:1.15rem; font-weight:700; color:var(--rust); margin:8px 0 0; margin-top:auto}

/* Product detail page */
.product-detail,.product-hero{display:grid; gap:36px; grid-template-columns:1fr; max-width:var(--container); margin:0 auto; padding:40px 24px}
@media(min-width:860px){ .product-detail,.product-hero{grid-template-columns:1fr 1fr} }
.product-image-wrap{border-radius:var(--radius); overflow:hidden; background:var(--paper); aspect-ratio:4/3}
.product-image-wrap img{width:100%; height:100%; object-fit:cover}
.product-main{display:flex; flex-direction:column}
.product-price-lg{font-size:1.8rem; font-weight:800; color:var(--rust); margin:10px 0}
.product-short{font-size:1.1rem; font-weight:600; color:var(--slate-dark); margin:0 0 16px}
.product-description{margin:20px 0; line-height:1.7; color:var(--slate-dark)}
.product-care{background:var(--paper); border-left:4px solid var(--mustard); padding:16px; margin:20px 0; border-radius:4px}
.product-care h3{margin:0 0 10px; font-size:1rem}
.product-care p{margin:6px 0}
.product-form{margin:20px 0 0}
.product-form .field{margin:14px 0}
.product-form .field label{display:block; margin:0 0 6px; font-weight:600; color:var(--walnut)}
.product-form .field input{width:100%; padding:10px; border:1px solid var(--line); border-radius:6px; font-size:1rem}
.product-form .btn{margin-top:10px}

/* Cart page */
.cart-container{max-width:var(--container); margin:0 auto; padding:40px 24px}
.cart-empty{padding:20px; text-align:center; color:var(--slate-dark)}
.cart-table{width:100%; border-collapse:collapse; margin:20px 0}
.cart-table th{text-align:left; padding:12px 8px; border-bottom:2px solid var(--walnut); font-weight:700; background:var(--paper)}
.cart-item{border-bottom:1px solid var(--line)}
.cart-item td{padding:16px 8px; vertical-align:middle}
.cart-item a{color:var(--rust-dark); text-decoration:underline}
.cart-qty{width:70px; padding:6px; border:1px solid var(--line); border-radius:4px}
.cart-line-total{font-weight:600; color:var(--walnut)}
.btn-remove{background:none; border:none; cursor:pointer; color:var(--rust); font-weight:700; font-size:1.1rem; padding:2px 6px}
.cart-summary{max-width:360px; margin:30px 0 0 auto; background:var(--paper); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-1)}
.cart-row{display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line)}
.cart-row:last-child{border-bottom:none; font-weight:700; font-size:1.1rem; color:var(--walnut)}
.cart-total{color:var(--rust); font-weight:700}
.order-form{margin:30px 0; background:var(--paper); padding:24px; border-radius:var(--radius)}
.order-form fieldset{margin:0 0 20px; border:none; padding:0}
.order-form fieldset legend{font-size:1.1rem; font-weight:700; color:var(--walnut); margin:0 0 16px}
.order-form .field{margin:14px 0}
.order-form .field label{display:block; margin:0 0 6px; font-weight:600; color:var(--walnut)}
.order-form .field input,.order-form .field select,.order-form .field textarea{width:100%; padding:10px; border:1px solid var(--line); border-radius:6px; font-size:1rem}
.order-form .btn-lg{width:100%; padding:16px}
.order-success{padding:20px; background:#eaf3ea; border:2px solid #4f7a52; border-radius:var(--radius); color:#2d5a2f; font-weight:600}

/* About page */
.about-intro{margin:40px auto; text-align:center; max-width:760px}
.about-intro p{font-size:1.15rem; line-height:1.8}
.story-row{display:grid; gap:40px; grid-template-columns:1fr; align-items:center; margin:40px auto}
@media(min-width:860px){ .story-row{grid-template-columns:1fr 1fr} }
.story-col{display:flex; flex-direction:column; gap:16px}
.story-col h2{margin:0 0 10px}
.story-col p{color:var(--slate-dark); line-height:1.8}
.story-col img{width:100%; height:auto; border-radius:var(--radius)}
.about-services{margin:40px 0}
.about-card{background:var(--paper); padding:24px; border-radius:var(--radius); box-shadow:var(--shadow-1)}
.about-card .badge{margin:0 0 12px}
.about-card h3{margin:0 0 10px; color:var(--walnut)}
.about-card p{color:var(--slate-dark); margin:0}

/* Contact page */
.contact-intro{text-align:center; margin:40px auto; max-width:760px}
.contact-container{margin:40px 0}
.contact-form-wrap{background:var(--paper); padding:24px; border-radius:var(--radius)}
.contact-form{display:flex; flex-direction:column; gap:16px}
.contact-form .field{display:flex; flex-direction:column}
.contact-form .field label{font-weight:600; color:var(--walnut); margin:0 0 6px}
.contact-form .field input,.contact-form .field textarea{padding:10px; border:1px solid var(--line); border-radius:6px; font-size:1rem}
.contact-info{background:var(--paper); padding:24px; border-radius:var(--radius)}
.contact-item{margin:24px 0}
.contact-item:first-child{margin-top:0}
.contact-item h3{margin:0 0 8px; color:var(--walnut)}
.contact-item p{margin:0; color:var(--slate-dark)}
.contact-item a{color:var(--rust-dark); text-decoration:underline}

/* Legal sections */
.legal-section{margin:30px 0; padding:24px; background:var(--paper); border-radius:var(--radius)}
.legal-section h2{margin:0 0 12px; font-size:1.2rem}
.legal-section h3{margin:16px 0 8px; font-size:1rem}
.legal-section ul,.legal-section ol{margin:12px 0; padding-left:20px}
.legal-section li{margin:6px 0}
.legal-section a{color:var(--rust-dark); text-decoration:underline}

/* FAQ */
.faq-list{display:flex; flex-direction:column; gap:0; margin:30px auto; max-width:760px}
.faq-item{padding:20px 0; border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:none}
.faq-question{cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-weight:700; color:var(--walnut); padding:8px 0; margin:0}
.faq-question::after{content:"+"; font-size:1.3rem; color:var(--rust); transition:transform .25s ease; flex:none}
.faq-item.open .faq-question::after{content:"−"; transform:scale(1.2)}
.faq-answer{margin:16px 0 0 0; display:none; color:var(--slate-dark); line-height:1.8}
.faq-answer.active{display:block}
.faq-answer a{color:var(--rust-dark); text-decoration:underline}

/* Error page */
.error-container{text-align:center; padding:60px 24px}
.error-container h1{color:var(--rust)}
.error-container h2{color:var(--walnut); margin-bottom:10px}
.error-container p{color:var(--slate-dark); margin:0 0 24px}

/* Other utilities */
.intro-text{font-size:1.15rem; color:var(--slate-dark); line-height:1.8; max-width:760px; margin:0 auto 20px}
.info-card{background:var(--paper); padding:24px; border-radius:var(--radius); box-shadow:var(--shadow-1)}
.info-card .badge{margin:0 0 12px}
.info-card h2{margin:0 0 12px; color:var(--walnut)}
.info-card p{color:var(--slate-dark); margin:8px 0}
.numbered-list{counter-reset:item; list-style-position:inside; padding-left:0}
.numbered-list li{counter-increment:item; margin:12px 0; padding-left:0; color:var(--slate-dark)}
.numbered-list li::before{content:counter(item)". "; font-weight:700; color:var(--rust); margin-right:6px}

/* COMPONENTS: .wrap - centered max-width container with side padding */
/* COMPONENTS: .grid-2 / .grid-3 - responsive 2 or 3 column grid */
/* COMPONENTS: .reveal / .in-view - scroll reveal animation hook, add .reveal-1..4 to stagger */
/* COMPONENTS: .site-header / .site-nav / .nav-toggle / .nav-cart / .cart-count - header & nav */
/* COMPONENTS: .btn / .btn--primary / .btn--outline / .btn--ghost / .btn--sweep / .btn--sm - buttons with fill-sweep hover */
/* COMPONENTS: .hero / .hero__inner / .hero__art / .hero-draw - home hero with SVG line-draw */
/* COMPONENTS: .story / .story__nav / .story__list / .story__panels / .story__panel - sticky-left scrolling-right home composition */
/* COMPONENTS: .divider / .footer-divider - decorative SVG section dividers */
/* COMPONENTS: .section / .section--alt / .section__head - generic page section wrapper */
/* COMPONENTS: .card / .card__media / .card__body / .card__price - product/content card with hover lift+zoom */
/* COMPONENTS: .strip - horizontal scroll-snap product strip on mobile, grid on desktop */
/* COMPONENTS: .feature / .feature__grid / .feature__form / .feature__result - signature interactive feature block */
/* COMPONENTS: .form-grid / .field / .field-error / .hp / .form-msg - form layout, validation and honeypot */
/* COMPONENTS: .newsletter-form - footer newsletter signup */
/* COMPONENTS: .site-footer / .footer-col - site footer layout */
/* COMPONENTS: .cookie-banner / .cookie-banner__actions - GDPR cookie consent banner */
/* COMPONENTS: .page-hero / .page-hero__inner - inner page header band */
/* COMPONENTS: .breadcrumbs - breadcrumb trail for inner pages */
/* COMPONENTS: .prose - readable long-form legal/about text measure */
/* COMPONENTS: .legal-toc - table of contents box for legal pages */
/* COMPONENTS: .notice / .notice--info / .notice--warn / .notice--success - callout boxes */
/* COMPONENTS: .faq / .faq-item - details/summary FAQ accordion */
/* COMPONENTS: .product-detail / .product-detail__gallery / .product-detail__price / .product-detail__meta - product page layout */
/* COMPONENTS: .cart-table / .cart-summary - cart/checkout table and totals box */
/* COMPONENTS: .contact-layout / .contact-info - contact page split layout */
/* COMPONENTS: .badge - small pill label (e.g. "Sezonsko", "Novo") */

/* Missing component styles */
.footer-col--news{display:flex; flex-direction:column; gap:8px}
.hero__text{display:flex; flex-direction:column; gap:16px}
.product-notfound{padding:40px 24px; text-align:center; color:var(--slate-dark)}
.cart-items{display:flex; flex-direction:column}

/* wg-contrast-autofix */
#careForm div.field label { color: #ffffff !important; }
#cookieBanner p a { color: #ffffff !important; }
