/* Pekara Radost — design system. Japanese-minimal editorial, adapted to a Dubrovnik bakery. */

:root{
  --c-cream:#f6f2e9;
  --c-paper:#efe9db;
  --c-graphite:#2b2a28;
  --c-graphite-70:rgba(43,42,40,.7);
  --c-lavender:#a99bc4;
  --c-lavender-deep:#7c6b9c;
  --c-mint:#9dc7b5;
  --c-mint-deep:#5f9880;
  --c-seal:#b3342f;
  --c-line:rgba(43,42,40,.14);
  --font-display:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-sans:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-mono:"SF Mono",Consolas,monospace;
  --radius:4px;
  --shadow-paper:0 1px 2px rgba(43,42,40,.08), 0 10px 24px -14px rgba(43,42,40,.25);
  --measure:38rem;
  --header-h:76px;
}

*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--c-cream);
  color:var(--c-graphite);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;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)}
:focus-visible{outline:2px solid var(--c-lavender-deep);outline-offset:2px;border-radius:2px}
button{font:inherit;cursor:pointer}

/* ===== Layout shell ===== */
.site-header{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb, var(--c-cream) 92%, transparent);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--c-line);
  height:var(--header-h);
  display:flex;align-items:center;
}
.site-header__inner{
  width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.logo{display:flex;align-items:center;gap:.6rem;color:var(--c-graphite)}
.logo__mark{color:var(--c-lavender-deep);flex-shrink:0}
.logo__word{display:flex;flex-direction:column;line-height:1.1}
.logo__name{font-family:var(--font-display);font-size:1.2rem;font-weight:700}
.logo__place{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-graphite-70)}

.nav-toggle{display:none;background:none;border:0;color:var(--c-graphite);padding:.4rem}
.nav-close{display:none}

.site-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,1.8rem)}
.site-nav a{font-size:.92rem;position:relative;padding:.3rem 0;white-space:nowrap}
.site-nav a:not(.nav-cart)::after{
  content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;
  background:var(--c-lavender-deep);transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;
}
.site-nav a:not(.nav-cart):hover::after,
.site-nav a.is-active::after{transform:scaleX(1)}
.site-nav a.is-active{color:var(--c-lavender-deep)}
.nav-cart{display:flex;align-items:center;gap:.4rem;background:var(--c-graphite);color:var(--c-cream);padding:.5rem .9rem;border-radius:999px}
.cart-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:1.3em;height:1.3em;padding:0 .3em;
  background:var(--c-seal);color:#fff;border-radius:999px;font-size:.72rem;font-family:var(--font-mono);
}
.cart-badge.is-empty{background:var(--c-graphite-70)}
.cart-badge.bump{animation:bump .35s ease}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}

@media (max-width:860px){
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:fixed;inset:0 0 0 auto;width:min(82vw,320px);height:100vh;
    background:var(--c-cream);flex-direction:column;align-items:flex-start;
    padding:5.5rem 1.6rem 2rem;gap:1.4rem;border-left:1px solid var(--c-line);
    transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;
    overflow-y:auto;
  }
  .site-nav.is-open{transform:translateX(0);visibility:visible}
  .nav-close{display:inline-flex;position:absolute;top:1.2rem;right:1.2rem;background:none;border:0;color:var(--c-graphite)}
  .nav-cart{width:100%;justify-content:center}
}

main{display:block}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.75em 1.5em;border-radius:999px;border:1px solid var(--c-graphite);
  font-size:.92rem;font-weight:600;letter-spacing:.01em;
  background:var(--c-graphite);color:var(--c-cream);
  position:relative;overflow:hidden;isolation:isolate;transition:color .3s ease,border-color .3s ease;
}
.btn::before{
  content:"";position:absolute;inset:0;left:-100%;width:100%;background:var(--c-lavender-deep);
  z-index:-1;transition:left .35s ease;
}
.btn:hover::before{left:0}
.btn--ghost{background:transparent;color:var(--c-graphite);border-color:var(--c-graphite)}
.btn--ghost::before{background:var(--c-graphite)}
.btn--ghost:hover{color:var(--c-cream)}
.btn--outline-light{background:transparent;color:var(--c-cream);border-color:var(--c-cream)}
.btn--outline-light::before{background:var(--c-cream)}
.btn--outline-light:hover{color:var(--c-graphite)}
.btn--sm{padding:.55em 1.1em;font-size:.82rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ===== Utilities ===== */
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.container--narrow{max-width:860px}
.stack{display:flex;flex-direction:column}
.grid{display:grid;gap:clamp(1.2rem,3vw,2.4rem)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.section{padding:clamp(3rem,8vw,6rem) 0}
.eyebrow{
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--c-lavender-deep);display:inline-flex;align-items:center;gap:.6em;margin-bottom:.8em;
}
.eyebrow::before{content:"";width:1.4em;height:1px;background:currentColor}

/* ===== Reveal / motion ===== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease}
.reveal.in-view{opacity:1;transform:none}
.reveal--stagger > *{transition-delay:calc(var(--i,0) * 90ms)}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* toast */
.toast{
  position:fixed;left:50%;bottom:1.4rem;transform:translate(-50%,10px);
  background:var(--c-graphite);color:var(--c-cream);padding:.8em 1.3em;border-radius:999px;
  font-size:.88rem;opacity:0;transition:opacity .3s ease,transform .3s ease;z-index:80;
}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* ===== Hero ===== */
.hero{
  position:relative;padding:clamp(3rem,10vw,7rem) 0 clamp(2.5rem,7vw,4rem);
  overflow:hidden;
}
.hero__inner{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;
}
@media (max-width:860px){.hero__inner{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.6rem,7vw,4.6rem);letter-spacing:-.01em}
.hero__lede{max-width:34rem;font-size:1.08rem;color:var(--c-graphite-70)}
.hero__vertical{
  position:absolute;right:clamp(.5rem,3vw,2.5rem);top:50%;transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.3em;
  color:var(--c-graphite-70);text-transform:uppercase;display:none;
}
@media (min-width:1080px){.hero__vertical{display:block}}
.hero__art{position:relative}
.hero__art svg{width:100%;height:auto}
.hero-draw path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 2.2s ease forwards}
@media (prefers-reduced-motion:reduce){.hero-draw path{stroke-dashoffset:0;animation:none}}
@keyframes draw{to{stroke-dashoffset:0}}

/* seal stamp */
.seal{
  width:84px;height:84px;color:var(--c-seal);flex-shrink:0;
}

/* ===== Masonry gallery (home) ===== */
.masonry{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;grid-auto-flow:dense;
}
.masonry__item{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-paper)}
.masonry__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:saturate(.92) contrast(1.02)}
.masonry__item:hover img{transform:scale(1.07)}
.masonry__item--a{grid-column:span 2;grid-row:span 2}
.masonry__item--b{grid-column:span 2}
.masonry__item--c{grid-column:span 2}
.masonry__caption{
  position:absolute;inset:auto 0 0 0;padding:1rem;color:#fff;
  background:linear-gradient(to top,rgba(20,18,16,.75),transparent);
  transform:translateY(100%);transition:transform .35s ease;font-size:.85rem;
}
.masonry__item:hover .masonry__caption{transform:translateY(0)}
@media (max-width:760px){
  .masonry{grid-template-columns:repeat(2,1fr)}
  .masonry__item--a{grid-column:span 2;grid-row:span 1}
}

/* ===== Oven Live feature ===== */
.oven-live{
  background:var(--c-graphite);color:var(--c-cream);border-radius:12px;padding:clamp(1.6rem,4vw,3rem);
  position:relative;overflow:hidden;
}
.oven-live__grain{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.oven-live__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;position:relative;z-index:1}
.oven-live h2{color:var(--c-cream)}
.oven-live__lede{color:rgba(246,242,233,.7);max-width:32rem}
.oven-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.1rem;position:relative;z-index:1}
.oven-item{
  display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;
  border-top:1px solid rgba(246,242,233,.14);font-family:var(--font-mono);font-size:.92rem;
}
.oven-item:first-child{border-top:0}
.oven-status{color:rgba(246,242,233,.6)}
.oven-status--fresh{color:var(--c-mint);display:inline-flex;align-items:center;gap:.5em}
.oven-status--fresh::before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--c-mint);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.oven-status--fresh::before{animation:none}}

/* ===== Cards ===== */
.card{
  background:var(--c-paper);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-paper);
  transition:transform .3s ease,box-shadow .3s ease;
}
.card:hover{transform:translateY(-4px)}

/* ===== Product grid / cards ===== */
.product-strip{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.4rem;
}
@media (max-width:640px){
  .product-strip{grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}
  .product-strip > *{scroll-snap-align:start}
}
.product-card{
  display:block;background:var(--c-paper);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-paper);transition:transform .3s ease;
}
.product-card:hover{transform:translateY(-5px)}
.product-card__media{aspect-ratio:4/3;overflow:hidden;background:var(--c-line)}
.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.product-card:hover .product-card__media img{transform:scale(1.06)}
.product-card__body{padding:1.1rem 1.2rem 1.3rem}
.product-card__cat{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-graphite-70)}
.product-card__name{font-size:1.1rem;margin:.25em 0}
.product-card__price{font-family:var(--font-mono);color:var(--c-lavender-deep);font-weight:600}

/* ===== page-hero (inner pages) ===== */
.page-hero{
  padding:clamp(5rem,12vw,8rem) 0 clamp(2.5rem,6vw,4rem);text-align:left;position:relative;
}
.page-hero h1{font-size:clamp(2.2rem,5.5vw,3.4rem)}
.page-hero__lede{max-width:var(--measure);color:var(--c-graphite-70);font-size:1.05rem}

/* ===== breadcrumbs ===== */
.breadcrumbs{font-family:var(--font-mono);font-size:.78rem;color:var(--c-graphite-70);display:flex;gap:.5em;align-items:center;flex-wrap:wrap}
.breadcrumbs a:hover{color:var(--c-lavender-deep)}
.breadcrumbs span[aria-hidden]{opacity:.5}

/* ===== prose (legal pages) ===== */
.prose{max-width:var(--measure);font-size:1rem}
.prose h2{font-size:1.4rem;margin-top:2.2em}
.prose h3{font-size:1.1rem;margin-top:1.6em}
.prose p,.prose li{color:var(--c-graphite-70)}
.prose ul,.prose ol{padding-left:1.3em}
.prose a{color:var(--c-lavender-deep);text-decoration:underline}

/* ===== legal-toc ===== */
.legal-toc{
  background:var(--c-paper);border-radius:var(--radius);padding:1.4rem 1.6rem;margin:0 0 2.4rem;
  font-size:.92rem;
}
.legal-toc h2{font-size:1rem;margin-bottom:.6em}
.legal-toc ol{margin:0;padding-left:1.2em}
.legal-toc a:hover{color:var(--c-lavender-deep)}

/* ===== notice ===== */
.notice{
  display:flex;gap:.8em;align-items:flex-start;padding:1em 1.2em;border-radius:var(--radius);
  background:var(--c-paper);border:1px solid var(--c-line);font-size:.92rem;
}
.notice--mint{background:color-mix(in srgb, var(--c-mint) 22%, var(--c-paper))}
.notice--seal{background:color-mix(in srgb, var(--c-seal) 10%, var(--c-paper));border-color:color-mix(in srgb, var(--c-seal) 30%, transparent)}

/* ===== forms ===== */
.form-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}
.form-grid .field--full{grid-column:1/-1}
@media (max-width:620px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.4em}
.field label{font-size:.84rem;font-weight:600}
.field input,.field select,.field textarea{
  font:inherit;padding:.7em .85em;border:1px solid var(--c-line);border-radius:var(--radius);
  background:#fff;accent-color:var(--c-lavender-deep);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c-lavender-deep)}
.field--inline{display:flex;flex-direction:row;gap:.6em}
.field--inline input{flex:1}
.field-error{color:var(--c-seal);font-size:.8rem;min-height:1.1em}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ===== FAQ ===== */
.faq{display:flex;flex-direction:column;gap:.7rem;max-width:var(--measure)}
.faq-item{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-paper);overflow:hidden}
.faq-item summary{
  list-style:none;cursor:pointer;padding:1em 1.2em;font-weight:600;display:flex;justify-content:space-between;gap:1em;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--font-mono);color:var(--c-lavender-deep);transition:transform .25s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item__body{padding:0 1.2em 1.1em;color:var(--c-graphite-70)}

/* ===== product-detail ===== */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,4vw,3.5rem)}
@media (max-width:760px){.product-detail{grid-template-columns:1fr}}
.product-detail__media{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--c-line)}
.product-detail__media img{width:100%;height:100%;object-fit:cover}
.product-detail__price{font-family:var(--font-mono);font-size:1.4rem;color:var(--c-lavender-deep)}
.product-detail__qty{display:flex;align-items:center;gap:.6em}
.product-detail__qty button{width:2.2em;height:2.2em;border-radius:50%;border:1px solid var(--c-line);background:#fff}
.product-detail__qty input{width:3em;text-align:center;border:1px solid var(--c-line);border-radius:var(--radius);padding:.4em}

/* ===== cart ===== */
.cart-table{width:100%;border-collapse:collapse}
.cart-table th,.cart-table td{padding:.8em .6em;border-bottom:1px solid var(--c-line);text-align:left;vertical-align:middle}
.cart-table img{width:56px;height:56px;object-fit:cover;border-radius:var(--radius)}
.cart-summary{background:var(--c-paper);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;gap:.7rem}
.cart-summary__row{display:flex;justify-content:space-between;font-size:.95rem}
.cart-summary__row--total{font-weight:700;font-size:1.1rem;border-top:1px solid var(--c-line);padding-top:.7rem}

/* ===== contact layout ===== */
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,3.5rem)}
@media (max-width:820px){.contact-layout{grid-template-columns:1fr}}
.contact-info{display:flex;flex-direction:column;gap:1.3rem}
.contact-info__item{display:flex;gap:.8em;align-items:flex-start}
.contact-info__item svg{color:var(--c-lavender-deep);flex-shrink:0;margin-top:.1em}

/* ===== dividers / ornaments ===== */
.divider-ornament{width:100%;height:28px;color:var(--c-lavender-deep);opacity:.7}
.footer-divider{width:100%;height:24px;color:var(--c-line)}

/* ===== footer ===== */
.site-footer{background:var(--c-paper);margin-top:4rem;padding:3rem 0 0;color:var(--c-graphite)}
.site-footer__inner{
  max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) 2rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.4fr;gap:2rem;
}
@media (max-width:900px){.site-footer__inner{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.site-footer__inner{grid-template-columns:1fr}}
.footer-col{display:flex;flex-direction:column;gap:.6rem}
.footer-col h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-mono);margin-bottom:.4em}
.footer-col a{color:var(--c-graphite-70);font-size:.92rem}
.footer-col a:hover{color:var(--c-lavender-deep)}
.footer-mail{display:inline-flex;align-items:center;gap:.5em;color:var(--c-graphite-70)}
.newsletter-form .field--inline{margin-top:.3rem}
.site-footer__bottom{border-top:1px solid var(--c-line);padding:1rem clamp(1rem,4vw,2.5rem);font-size:.8rem;color:var(--c-graphite-70);text-align:center}

/* ===== cookie banner ===== */
.cookie-banner{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:90;max-width:560px;margin:0 auto;
  background:var(--c-graphite);color:var(--c-cream);border-radius:12px;padding:1.2rem 1.4rem;
  display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 40px -20px rgba(0,0,0,.4);
}
.cookie-banner a{text-decoration:underline;color:var(--c-cream)}
.cookie-banner__actions{display:flex;gap:.7rem;justify-content:flex-end}
.cookie-banner .btn--ghost{color:var(--c-cream);border-color:rgba(246,242,233,.5)}
.cookie-banner .btn--ghost::before{background:rgba(246,242,233,.18)}
.cookie-banner .btn--ghost:hover{color:var(--c-cream)}

/* ===== 404 ===== */
.page-404{text-align:center;padding:clamp(4rem,12vw,8rem) 0}
.page-404__code{font-family:var(--font-display);font-size:clamp(4rem,14vw,8rem);color:var(--c-lavender-deep);margin:0}

/* COMPONENTS: .class - what it is
.site-header - sticky top header bar
.site-header__inner - header inner flex row, centered max-width
.logo / .logo__mark / .logo__word / .logo__name / .logo__place - SVG logo + wordmark
.nav-toggle / .nav-close - mobile menu open/close buttons
.site-nav - main nav list, becomes off-canvas drawer on mobile
.nav-cart - cart link styled as pill button
.cart-badge - numeric cart count badge, .is-empty muted state, .bump animation class
.btn / .btn--ghost / .btn--outline-light / .btn--sm - button variants with fill-sweep hover
.container / .container--narrow - centered max-width wrapper
.stack - flex column helper
.grid / .grid-2 / .grid-3 - CSS grid helpers
.section - vertical section padding
.eyebrow - small uppercase label with leading rule
.reveal / .in-view / .reveal--stagger - scroll-reveal animation hooks
.toast - transient bottom notice
.hero / .hero__inner / .hero__lede / .hero__vertical / .hero__art - home hero layout
.hero-draw - SVG line-draw animation on hero illustration
.seal - red circular seal-stamp SVG sizing
.masonry / .masonry__item / .masonry__item--a/b/c / .masonry__caption - home masonry gallery with hover reveal
.oven-live / .oven-live__grain / .oven-live__head / .oven-live__lede - "Peć u živo" signature feature panel
.oven-list / .oven-item / .oven-status / .oven-status--fresh - oven live schedule list and status pill
.card - generic paper card with hover lift
.product-strip - responsive product grid, horizontal scroll-snap on mobile
.product-card / .product-card__media / .product-card__body / .product-card__cat / .product-card__name / .product-card__price - catalog product card
.page-hero / .page-hero__lede - inner page hero/header block
.breadcrumbs - small breadcrumb trail
.prose - long-form legal/readable text block with measured width
.legal-toc - table of contents box for legal pages
.notice / .notice--mint / .notice--seal - callout/alert boxes
.form-grid / .field / .field--full / .field--inline / .field-error / .hp-field - form layout system incl. honeypot hiding
.faq / .faq-item / .faq-item__body - FAQ accordion (details/summary)
.product-detail / .product-detail__media / .product-detail__price / .product-detail__qty - single product page layout
.cart-table / .cart-summary / .cart-summary__row / .cart-summary__row--total - cart/checkout tables
.contact-layout / .contact-info / .contact-info__item - contact page split layout
.divider-ornament / .footer-divider - decorative SVG section dividers
.site-footer / .site-footer__inner / .footer-col / .footer-mail / .newsletter-form / .site-footer__bottom - footer system
.cookie-banner / .cookie-banner__actions - cookie consent banner
.page-404 / .page-404__code - 404 page layout
*/
.footer-col--brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.footer-col--newsletter {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.btn--sweep {
  background: var(--c-lavender-deep);
  color: var(--c-cream);
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius);
  font-weight: 600;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
}

.btn--sweep::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: var(--c-lavender);
  z-index: -1;
  transition: left 0.3s ease;
}

.btn--sweep:hover::before {
  left: 0;
}

.filter-btn {
  background: transparent;
  border: 1px solid var(--c-graphite-70);
  color: var(--c-graphite);
  padding: 0.5rem 1rem;
  border-radius: var(--radius);
  font-size: 0.9rem;
  transition: all 0.2s ease;
}

.filter-btn:hover {
  border-color: var(--c-graphite);
  background: var(--c-line);
}
