/* =========================================================
   Kairos Beauty Lab — Shop brand overrides
   Translates the standalone shop design onto the Sylius/Bootstrap UI.
   Navy + champagne gold + cream. Playfair Display + Jost.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --kb-navy:#0E1E33;
  --kb-navy-2:#16263d;
  --kb-navy-soft:#243750;
  --kb-gold:#B8924E;
  --kb-gold-deep:#9A7838;
  --kb-gold-light:#DEC388;
  --kb-cream:#FAF3EA;
  --kb-cream-2:#F6ECDC;
  --kb-ink:#0E1E33;
  --kb-body:#5A6473;
  --kb-body-soft:#8A93A0;
  --kb-line:#E9E3D8;
  --kb-line-cool:#E6E8EC;
  --kb-gold-grad:linear-gradient(135deg,#E6CF95 0%,#C7A461 38%,#A88142 72%,#8E682F 100%);
  --kb-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --kb-sans:"Jost",system-ui,sans-serif;

  --bs-body-color:#0E1E33 !important;
  --bs-body-bg:#ffffff !important;
  --bs-primary:#0E1E33 !important;
  --bs-primary-rgb:14,30,51 !important;
  --bs-link-color:#0E1E33 !important;
  --bs-link-color-rgb:14,30,51 !important;
  --bs-link-hover-color:#9A7838 !important;
  --bs-link-hover-color-rgb:154,120,56 !important;
  --bs-border-color:#E9E3D8 !important;
  --bs-nav-link-color:#0E1E33 !important;
  --bs-nav-link-hover-color:#9A7838 !important;
  --bs-body-font-family:"Jost",system-ui,sans-serif !important;
  --bs-font-sans-serif:"Jost",system-ui,sans-serif !important;
}

html,body{background:#fff;color:var(--kb-ink)}
body, .btn, input, select, textarea, .form-control, .form-select, .nav-link, p, span, div, li{
  font-family:var(--kb-sans) !important;
  -webkit-font-smoothing:antialiased;
  letter-spacing:.005em;
}
body{line-height:1.6;font-size:16px}
h1,h2,h3,h4,h5,h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
.product-name,.product-card .card-title,.card-title{
  font-family:var(--kb-serif) !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  color:var(--kb-ink) !important;
  line-height:1.08 !important;
}
h1{font-size:clamp(38px,5vw,58px) !important}
h2{font-size:clamp(28px,4vw,44px) !important}
h3{font-size:clamp(22px,2.6vw,30px) !important}
.serif-italic, em.gold{font-style:italic;color:var(--kb-gold);font-weight:500}

a{color:var(--kb-ink);text-decoration:none}
a:hover{color:var(--kb-gold-deep)}

/* Announcement bar */
.bg-black{background:var(--kb-navy) !important;color:#E8E2D6 !important}
.bg-black a{color:var(--kb-gold-light) !important;font-weight:500;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid rgba(222,195,136,.4)}
.bg-black a:hover{color:#fff !important;border-bottom-color:#fff}

/* Header */
header.border-bottom, header[class*="border-bottom"], .header-shop, header > .container, .top-bar{
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:saturate(160%) blur(8px) !important;
  border-bottom:1px solid var(--kb-line) !important;
}
.border-bottom a[aria-label="sylius logo"] svg,
header a[aria-label="sylius logo"] svg{display:none !important}
.border-bottom a[aria-label="sylius logo"],
header a[aria-label="sylius logo"]{
  display:inline-block !important;
  width:170px !important;
  height:58px;
  background:url('/assets/logo.png') left center / contain no-repeat;
  text-decoration:none !important;
  font-size:0;
  color:transparent !important;
}
header .nav-link, header a.nav-link, .top-bar a, header nav a{
  color:var(--kb-ink) !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  font-weight:500 !important;
  padding:8px 14px !important;
  position:relative;
  transition:color .2s ease;
}
header .nav-link::after, header nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:1px;width:auto;
  background:var(--kb-gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
header .nav-link:hover, header nav a:hover{color:var(--kb-gold-deep) !important}
header .nav-link:hover::after, header nav a:hover::after{transform:scaleX(1)}

/* Buttons */
.btn{
  border-radius:0 !important;
  font-family:var(--kb-sans) !important;
  font-size:12.5px !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
  letter-spacing:.18em !important;
  padding:16px 30px !important;
  transition:all .25s cubic-bezier(.16,1,.3,1) !important;
}
.btn-primary, .btn-dark{
  background:var(--kb-gold-grad) !important;
  color:var(--kb-navy) !important;
  border:1px solid transparent !important;
  box-shadow:0 10px 30px -10px rgba(168,129,66,.55);
}
.btn-primary:hover, .btn-primary:focus, .btn-dark:hover{
  background:var(--kb-gold-grad) !important;
  filter:brightness(1.08);
  color:var(--kb-navy) !important;
  box-shadow:0 14px 34px -10px rgba(168,129,66,.7);
}
.btn-outline-primary, .btn-secondary, .btn-outline-secondary, .btn-light{
  border:1px solid var(--kb-gold) !important;
  color:var(--kb-gold-deep) !important;
  background:transparent !important;
}
.btn-outline-primary:hover, .btn-secondary:hover, .btn-outline-secondary:hover, .btn-light:hover{
  background:var(--kb-gold) !important;
  color:var(--kb-navy) !important;
  border-color:var(--kb-gold) !important;
}
.btn-info, .btn-success{
  background:var(--kb-navy) !important;color:#fff !important;border:1px solid var(--kb-navy) !important;
}

/* Cards */
.card, .product-card{
  border:1px solid var(--kb-line) !important;
  border-radius:0 !important;
  background:#fff !important;
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1);
}
.card:hover, .product-card:hover{
  transform:translateY(-5px);
  box-shadow:0 30px 50px -28px rgba(14,30,51,.35);
}
.card-img-top, .product-card img, .card img.card-img-top{
  background:radial-gradient(circle at 50% 42%, var(--kb-cream) 0%, #fff 78%) !important;
  padding:18px;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.card:hover .card-img-top, .product-card:hover img{transform:scale(1.04)}
.card-body, .product-card .card-body{
  padding:22px 22px 26px !important;
  text-align:center !important;
  border-top:1px solid var(--kb-line) !important;
}
.card-title, .product-card .card-title{
  font-family:var(--kb-serif) !important;
  font-weight:700 !important;
  font-size:21px !important;
  margin:8px 0 4px !important;
  color:var(--kb-navy) !important;
}
.product-card a, .card a{color:var(--kb-ink) !important;text-decoration:none !important}
.product-card a:hover, .card a:hover{color:var(--kb-gold-deep) !important}

.product-card .price, .price, [class*="price"], .product-price{
  font-family:var(--kb-serif) !important;
  color:var(--kb-navy) !important;
  font-size:22px !important;
  font-weight:600 !important;
  margin-top:12px !important;
}

/* Section headings */
#latest-deals-heading,
#latest-products-heading,
#new-collection,
.section-title{
  font-family:var(--kb-serif) !important;
  font-weight:700 !important;
  font-size:clamp(28px,3.4vw,44px) !important;
  letter-spacing:-.01em !important;
  color:var(--kb-navy) !important;
  text-align:center !important;
  margin:3rem 0 1.25rem !important;
  position:relative;
}
#latest-deals-heading::after,
#latest-products-heading::after,
#new-collection::after,
.section-title::after{
  content:"";display:block;width:54px;height:1px;background:var(--kb-gold);margin:18px auto 0;opacity:.7;
}
img[alt="Home"], img[alt="New collection"]{filter:brightness(.96) saturate(.9)}

/* FOOTER — kill the blue and replace with editorial navy */
footer, .footer, .site-footer, footer.container{
  background:var(--kb-navy) !important;
  color:#D7DCE4 !important;
  padding:60px 0 0 !important;
  margin-top:48px !important;
  max-width:none !important;
}
footer .container, .footer .container{max-width:1240px;margin:0 auto;padding:0 32px}
footer h5, footer h6, footer .fw-medium, footer .nav-link, footer p, footer span, footer div, footer small, footer a{
  color:#D7DCE4 !important;
}
footer h5, footer h6{
  font-family:var(--kb-sans) !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.18em !important;
  font-weight:600 !important;
  color:#fff !important;
  margin:0 0 18px !important;
}
footer a, footer .nav-link{
  color:#D7DCE4 !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  padding:6px 0 !important;
  display:block !important;
  transition:color .2s ease;
}
footer a:hover, footer .nav-link:hover{color:var(--kb-gold-light) !important}
footer .nav-link::after{display:none !important}
footer .border-bottom, footer [class*="border-bottom"]{border-color:rgba(255,255,255,.08) !important}
footer .border-top{border-color:rgba(255,255,255,.08) !important}
footer .border{border-color:rgba(255,255,255,.15) !important}
footer img.img-fluid{filter:brightness(0) invert(1) opacity(.7)}
footer img.img-fluid:hover{filter:brightness(0) invert(1) opacity(1)}
footer .fw-medium{font-weight:500 !important}

footer *{visibility:visible}
footer [class*="copyright"], footer .powered-by, footer p:has(a[href*="sylius"]){
  font-size:0 !important;
  position:relative;
}
footer [class*="copyright"]::after, footer .powered-by::after, footer p:has(a[href*="sylius"])::after{
  content:"© 2026 Kairos Beauty Lab. All rights reserved.";
  font-size:12.5px;
  letter-spacing:.04em;
  color:#8A93A0;
  display:block;
  text-align:center;
}

/* Forms */
.form-control, .form-select{
  border-radius:0 !important;
  border:1px solid var(--kb-line) !important;
  background:#fff !important;
  color:var(--kb-ink) !important;
  padding:14px 18px !important;
  font-size:14px !important;
}
.form-control:focus, .form-select:focus{
  border-color:var(--kb-gold) !important;
  box-shadow:0 0 0 .15rem rgba(184,146,78,.15) !important;
  outline:none !important;
}
.form-label, label{font-size:12px !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:var(--kb-navy) !important;font-weight:500 !important}

/* Pagination */
.page-link{
  color:var(--kb-ink) !important;
  border-color:var(--kb-line) !important;
  border-radius:0 !important;
  font-size:13px;
  letter-spacing:.06em;
  padding:10px 14px;
}
.page-link:hover{background:var(--kb-cream) !important;color:var(--kb-gold-deep) !important}
.page-item.active .page-link{
  background:var(--kb-navy) !important;
  border-color:var(--kb-navy) !important;
  color:#fff !important;
}

/* Breadcrumb */
.breadcrumb{background:transparent !important;padding:18px 0 !important;font-size:11.5px !important;letter-spacing:.16em !important;text-transform:uppercase !important}
.breadcrumb a{color:var(--kb-body-soft) !important}
.breadcrumb-item.active{color:var(--kb-navy) !important}
.breadcrumb-item + .breadcrumb-item::before{color:var(--kb-line) !important;content:"/" !important}

/* Alerts / badges */
.alert-primary{background:var(--kb-cream) !important;border-color:var(--kb-line) !important;color:var(--kb-navy) !important}
.alert-success{background:#F0F5EF !important;border-color:#CDD9C9 !important;color:#2F4A2A !important}
.alert-info{background:var(--kb-cream-2) !important;border-color:var(--kb-line) !important;color:var(--kb-navy) !important}
.badge.bg-primary, .badge.bg-info{background:var(--kb-gold-grad) !important;color:var(--kb-navy) !important;border-radius:0 !important;letter-spacing:.12em;font-weight:500}
.badge.bg-secondary{background:var(--kb-navy) !important;color:#fff !important;border-radius:0 !important}

/* Utility overrides */
.text-primary{color:var(--kb-navy) !important}
.text-muted{color:var(--kb-body-soft) !important}
.bg-primary{background:var(--kb-navy) !important}
.bg-light{background:var(--kb-cream) !important}
.border-primary{border-color:var(--kb-navy) !important}
.text-info, .text-success{color:var(--kb-gold-deep) !important}
.link-primary{color:var(--kb-navy) !important}

/* Tables */
.table{color:var(--kb-ink) !important}
.table th{font-family:var(--kb-sans) !important;text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:var(--kb-navy);font-weight:600;border-color:var(--kb-line) !important}
.table td{border-color:var(--kb-line) !important;font-size:14px}

/* Offcanvas / cart drawer */
.offcanvas{background:#fff !important;color:var(--kb-ink) !important}
.offcanvas-header{border-bottom:1px solid var(--kb-line) !important;padding:24px 28px !important}
.offcanvas-title{font-family:var(--kb-serif) !important;font-weight:700;font-size:24px;color:var(--kb-navy) !important}
.offcanvas-body{padding:8px 28px !important}
.offcanvas-footer{border-top:1px solid var(--kb-line) !important;padding:24px 28px !important;background:#fff !important}

/* Hero (legacy rule removed — was repainting every kb-hero-* element white) */
.hero img, .banner img{filter:drop-shadow(0 30px 40px rgba(14,30,51,.15))}

/* Misc */
.list-group-item{border-color:var(--kb-line) !important;background:#fff !important;color:var(--kb-ink) !important}
hr{border-color:var(--kb-line) !important;opacity:1}
.dropdown-menu{border-radius:0 !important;border:1px solid var(--kb-line) !important;box-shadow:0 24px 50px -28px rgba(14,30,51,.25) !important}
.dropdown-item:hover{background:var(--kb-cream) !important;color:var(--kb-gold-deep) !important}
.modal-content{border-radius:0 !important;border:1px solid var(--kb-line) !important}
.modal-header, .modal-footer{border-color:var(--kb-line) !important}

/* Nuke Bootstrap blue from any nav-link */
.nav-link, a.nav-link{color:var(--kb-ink) !important}
.nav-link:hover, a.nav-link:hover{color:var(--kb-gold-deep) !important}

/* ============================================================
   KB editorial components (overridden shop templates)
   ============================================================ */
.kb-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.kb-eyebrow{font-family:var(--kb-sans);text-transform:uppercase;letter-spacing:.26em;font-size:12px;font-weight:500;color:var(--kb-gold);display:inline-block}
.kb-eyebrow.kb-on-navy{color:var(--kb-gold-light)}
.kb-it{font-style:italic;color:var(--kb-gold);font-weight:500;display:inline}
.kb-it.kb-on-navy{color:var(--kb-gold-light)}
.kb-rule{width:60px;height:1px;background:var(--kb-gold);margin:24px 0 22px;opacity:.7}
.kb-lede{font-size:17px;color:var(--kb-body);line-height:1.65;margin:18px 0 0;max-width:480px}
.kb-lede.kb-on-navy{color:#AEB6C2}

/* Announce bar — replaces the bg-black wrapper */
.kb-announce{
  background:var(--kb-navy);color:#E8E2D6;
  text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;
  padding:11px 16px;
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
}
.kb-announce-inner{font-family:var(--kb-sans)}
.kb-announce a{color:var(--kb-gold-light) !important;border-bottom:1px solid rgba(222,195,136,.4);padding-bottom:1px;text-decoration:none}
.kb-announce a:hover{color:#fff !important;border-bottom-color:#fff}
.kb-announce strong{color:#fff;font-weight:500}
.kb-announce-utility{display:flex;gap:18px;font-size:11px;letter-spacing:.08em}
.kb-announce-utility a{color:#D7DCE4 !important;border-bottom:none}
.kb-announce-utility a:hover{color:#fff !important}

/* Hero */
.kb-hero{background:#ece5df;overflow:hidden;position:relative}
.kb-hero-inner{
  max-width:1240px;margin:0 auto;padding:clamp(48px,7vw,90px) clamp(20px,5vw,72px) clamp(40px,6vw,70px);
  display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;
}
.kb-hero-copy{max-width:520px}
.kb-hero-h1{
  font-family:var(--kb-serif);font-weight:700;
  font-size:clamp(40px,5.4vw,68px);line-height:1;margin:22px 0 0;
  letter-spacing:-.02em;color:var(--kb-navy);
}
.kb-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.kb-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px}
.kb-hero-circle{display:none}
.kb-hero-product{position:relative;z-index:1;width:min(86%,460px);filter:drop-shadow(0 40px 50px rgba(14,30,51,.18))}

/* KB Buttons (raw, outside Bootstrap) */
.kb-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--kb-sans);font-size:12.5px;font-weight:500;
  text-transform:uppercase;letter-spacing:.18em;
  padding:16px 30px;border:1px solid transparent;cursor:pointer;
  transition:all .25s cubic-bezier(.16,1,.3,1);
  text-decoration:none;
}
.kb-btn-gold{background:var(--kb-gold-grad);color:var(--kb-navy);box-shadow:0 10px 30px -10px rgba(168,129,66,.55)}
.kb-btn-gold:hover{filter:brightness(1.06);box-shadow:0 14px 34px -10px rgba(168,129,66,.7);color:var(--kb-navy)}
.kb-btn-outline{background:transparent;color:var(--kb-gold-deep);border-color:var(--kb-gold)}
.kb-btn-outline:hover{background:var(--kb-gold);color:var(--kb-navy)}
.kb-link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.2em;
  color:var(--kb-gold-deep);text-decoration:none;margin-top:28px;
}
.kb-link-arrow.kb-on-navy{color:var(--kb-gold-light)}
.kb-link-arrow:hover{filter:brightness(1.08)}

/* Paired system — navy editorial band */
.kb-system{background:var(--kb-navy);color:#D7DCE4;padding:clamp(56px,8vw,104px) 0;position:relative}
.kb-system-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center}
.kb-system-h2{color:#fff !important;font-family:var(--kb-serif) !important;font-weight:700;font-size:clamp(32px,4.6vw,50px) !important;line-height:1.08 !important;letter-spacing:-.01em;margin-bottom:8px !important}
.kb-steps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:24px}
.kb-steps li{display:grid;grid-template-columns:44px 1fr;gap:20px;align-items:start}
.kb-steps .kb-num{font-family:var(--kb-serif);font-style:italic;font-size:26px;color:var(--kb-gold-light);line-height:1;padding-top:2px}
.kb-steps h4{color:#fff !important;font-family:var(--kb-sans) !important;font-weight:500 !important;font-size:14px !important;text-transform:uppercase;letter-spacing:.14em;margin:0 0 7px !important;line-height:1.2 !important}
.kb-steps p{margin:0;font-size:14.5px;color:#9BA4B1;max-width:360px}
.kb-system-visual{position:relative;display:flex;justify-content:center;gap:18px}
.kb-pcard{
  background:linear-gradient(160deg,#1a2c45,#14233a);border:1px solid rgba(222,195,136,.18);
  padding:32px;flex:1;display:flex;align-items:center;justify-content:center;min-height:360px;
}
.kb-pcard img{width:78%;height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.45))}

/* Newsletter */
.kb-newsletter{background:var(--kb-navy);color:#fff;text-align:center;padding:clamp(48px,7vw,84px) 0;border-top:1px solid rgba(255,255,255,.08)}
.kb-nl-h{color:#fff !important;font-family:var(--kb-serif) !important;font-weight:700 !important;font-size:clamp(32px,4.5vw,48px) !important;margin:0 !important}
.kb-nl-p{color:#AEB6C2;max-width:440px;margin:18px auto 28px;font-size:15.5px}
.kb-nl-form{display:flex;gap:0;max-width:480px;margin:0 auto;border:1px solid rgba(222,195,136,.35)}
.kb-nl-form input{flex:1;background:transparent;border:none;outline:none;color:#fff;padding:17px 22px;font-family:var(--kb-sans) !important;font-size:14px;letter-spacing:.04em}
.kb-nl-form input::placeholder{color:#8893a3}
.kb-nl-form button{background:var(--kb-gold-grad);color:var(--kb-navy);border:none;cursor:pointer;padding:0 28px;font-family:var(--kb-sans) !important;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:500;transition:filter .2s}
.kb-nl-form button:hover{filter:brightness(1.06)}
.kb-nl-note{font-size:11.5px;color:#707d8e;letter-spacing:.1em;margin-top:16px;text-transform:uppercase}

/* Editorial footer */
.kb-footer{background:#fff !important;padding:clamp(56px,7vw,84px) 0 0 !important;margin-top:0 !important;max-width:none !important;color:var(--kb-body) !important}
.kb-footer-quote{
  font-family:var(--kb-serif);font-style:italic;font-size:22px;color:var(--kb-gold);
  text-align:center;margin:0 auto clamp(40px,5vw,64px);max-width:760px;padding:0 clamp(20px,5vw,72px);
}
.kb-footer-grid{
  max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,72px);
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
}
.kb-footer-brand img{height:54px;margin-bottom:18px}
.kb-footer-brand p{font-size:14px;color:var(--kb-body) !important;max-width:280px;margin:0}
.kb-footer-col h5{font-family:var(--kb-sans) !important;font-size:12px !important;text-transform:uppercase;letter-spacing:.18em;color:var(--kb-navy) !important;font-weight:600 !important;margin:0 0 18px !important}
.kb-footer-col a{display:block;font-size:14px !important;color:var(--kb-body) !important;margin-bottom:12px;padding:0 !important;transition:color .2s;text-transform:none !important;letter-spacing:0 !important;font-weight:400 !important;text-align:left !important}
.kb-footer-col a:hover{color:var(--kb-gold-deep) !important}
.kb-footer-hooked{margin-top:48px;padding:24px 0;border-top:1px solid var(--kb-line)}
.kb-footer-hooked .container{max-width:1240px;padding:0 clamp(20px,5vw,72px)}
.kb-footer-hooked a, .kb-footer-hooked p, .kb-footer-hooked div{color:var(--kb-body) !important;background:transparent !important}
.kb-footer-hooked .nav-link{color:var(--kb-body) !important;font-size:14px !important;text-transform:none !important;letter-spacing:0 !important}
.kb-footer-hooked .nav-link:hover{color:var(--kb-gold-deep) !important}
.kb-footer-bottom{border-top:1px solid var(--kb-line);margin-top:0;padding:26px 0}
.kb-footer-bottom-inner{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.kb-footer-bottom .kb-copy{font-size:12.5px;color:var(--kb-body-soft);letter-spacing:.04em}
.kb-footer-bottom .kb-pay{display:flex;align-items:center;gap:16px}
.kb-footer-bottom .kb-pay span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--kb-body-soft)}
.kb-footer-bottom .kb-pay img{height:22px;opacity:.7}

/* Suppress the global footer overrides ONCE the kb-footer is in play */
.kb-footer.kb-footer{background:#fff !important;color:var(--kb-body) !important;padding:clamp(56px,7vw,84px) 0 0 !important}
.kb-footer.kb-footer h5{color:var(--kb-navy) !important}
.kb-footer.kb-footer a{color:var(--kb-body) !important}
.kb-footer.kb-footer a:hover{color:var(--kb-gold-deep) !important}

/* Responsive */
@media (max-width:980px){
  .kb-hero-inner{grid-template-columns:1fr;gap:48px}
  .kb-hero-visual{order:-1;min-height:320px}
  .kb-system-grid{grid-template-columns:1fr;gap:48px}
  .kb-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .kb-footer-brand{grid-column:1 / -1}
}
@media (max-width:600px){
  .kb-nl-form{flex-direction:column}
  .kb-nl-form button{padding:16px}
  .kb-footer-grid{grid-template-columns:1fr}
  .kb-system-visual{flex-direction:column}
  .kb-pcard{min-height:240px}
  .kb-footer-bottom-inner{flex-direction:column;text-align:center}
}

/* ============================================================
   Mobile responsive + shop-wide polish
   ============================================================ */

/* Mobile: center footer columns + brand block */
@media (max-width:760px){
  .kb-footer-grid{grid-template-columns:1fr !important;gap:36px !important;text-align:center}
  .kb-footer-brand{text-align:center}
  .kb-footer-brand img{margin-left:auto;margin-right:auto}
  .kb-footer-brand p{margin-left:auto;margin-right:auto;max-width:380px}
  .kb-footer-col{text-align:center}
  .kb-footer-col h5{text-align:center}
  .kb-footer-col a{text-align:center !important}
  .kb-footer-bottom-inner{flex-direction:column;text-align:center;gap:14px}
  .kb-footer-bottom .kb-pay{justify-content:center}
  .kb-footer-quote{font-size:18px;line-height:1.5}
}

/* Hero mobile: stack copy on top, smaller circle */
@media (max-width:820px){
  .kb-hero-inner{grid-template-columns:1fr;gap:32px;padding:48px 20px 32px}
  .kb-hero-copy{max-width:100%;text-align:center;margin:0 auto}
  .kb-rule{margin-left:auto;margin-right:auto}
  .kb-lede{margin-left:auto;margin-right:auto}
  .kb-hero-cta{justify-content:center}
  .kb-hero-visual{order:-1;min-height:280px}
  .kb-hero-product{max-width:340px}
}

/* Paired system mobile: single column, products stack horizontally */
@media (max-width:820px){
  .kb-system{padding:56px 0}
  .kb-system-grid{grid-template-columns:1fr;gap:40px;text-align:center}
  .kb-system-copy{text-align:left}
  .kb-system-visual{flex-direction:row;gap:14px}
  .kb-pcard{min-height:280px;padding:20px}
}
@media (max-width:520px){
  .kb-steps li{grid-template-columns:36px 1fr;gap:14px}
  .kb-steps .kb-num{font-size:22px}
  .kb-system-visual{flex-direction:column}
  .kb-pcard{min-height:220px}
}

/* Newsletter mobile */
@media (max-width:600px){
  .kb-newsletter{padding:48px 0}
  .kb-nl-form{flex-direction:column;border:none;gap:10px;max-width:340px}
  .kb-nl-form input{border:1px solid rgba(222,195,136,.35);padding:14px 16px;text-align:center}
  .kb-nl-form button{padding:14px;border:1px solid var(--kb-gold)}
}

/* Announce bar mobile */
@media (max-width:600px){
  .kb-announce{flex-direction:column;gap:8px;font-size:11px;padding:10px 14px;line-height:1.5}
  .kb-announce-utility{gap:14px}
}

/* Buttons mobile: full width when stacking */
@media (max-width:520px){
  .kb-hero-cta{flex-direction:column;align-items:stretch;width:100%}
  .kb-btn{width:100%;justify-content:center}
}

/* ---------- Sylius shop product listing polish ---------- */

/* Listing grid spacing */
.container .row > [class*="col-"]{margin-bottom:24px}
.products-list .card, [data-bs-toggle="modal"].card, .product-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.product-card .card-img-top, .card-img-top{
  aspect-ratio:4/4.2;
  object-fit:contain;
  width:100%;
}

/* Product detail page */
.product-show, .product-details{padding:32px 0}
.product-show img, .product-details img{filter:drop-shadow(0 30px 40px rgba(14,30,51,.12))}

/* Category page heading */
.taxon-title, h1.taxon-name, [class*="taxon"] h1{
  font-family:var(--kb-serif) !important;
  font-weight:700 !important;
  font-size:clamp(34px,4.4vw,52px) !important;
  color:var(--kb-navy) !important;
  text-align:center;
  margin:48px 0 24px !important;
  letter-spacing:-.01em;
}
.taxon-title::after, h1.taxon-name::after, [class*="taxon"] h1::after{
  content:"";display:block;width:54px;height:1px;background:var(--kb-gold);margin:18px auto 0;opacity:.7;
}

/* Filter / sort bars */
.sylius-grid-nav, .grid-filters, [class*="filter"]{
  border:1px solid var(--kb-line) !important;
  border-radius:0 !important;
  padding:16px 22px !important;
  background:#fff !important;
}
.sylius-grid-nav select, .grid-filters select{
  border:none !important;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:transparent !important;
}

/* Cart drawer / offcanvas (Sylius cart popover) */
.offcanvas-header{background:#fff !important}
.offcanvas-header .h5, .offcanvas-title{font-family:var(--kb-serif) !important;font-size:22px !important;font-weight:700 !important;color:var(--kb-navy) !important;letter-spacing:-.01em}
.offcanvas-body .cart-item, .offcanvas-body .item{padding:18px 0;border-bottom:1px solid var(--kb-line)}
.offcanvas-body .cart-item img, .offcanvas-body .item img{width:72px;height:84px;object-fit:contain;background:radial-gradient(circle at 50% 40%,var(--kb-cream),#fff)}

/* Header navbar — clean up Sylius default nav */
header.border-bottom, header .border-bottom{padding:18px 0 !important}
header .container > .row{align-items:center}
header .nav-link, header a.nav-link{padding:8px 14px !important}
header .navbar, header nav.navbar{padding:0 !important}
header .navbar-toggler{border-radius:0 !important;border:1px solid var(--kb-line) !important}
header .navbar-toggler:focus{box-shadow:none !important}

/* Cart count badge */
header .badge, header [class*="cart-count"]{
  background:var(--kb-gold-grad) !important;
  color:var(--kb-navy) !important;
  border-radius:999px !important;
  font-weight:600 !important;
  font-size:10px !important;
  min-width:18px;
  height:18px;
  letter-spacing:0 !important;
}

/* Mobile: header tightens, hide language switcher labels */
@media (max-width:760px){
  header.border-bottom, header .border-bottom{padding:12px 0 !important}
  header .nav-link{padding:6px 10px !important;font-size:11px !important}
  .kb-hero-h1{font-size:36px !important}
  .kb-system-h2, .kb-nl-h{font-size:30px !important}
}

/* Login / register / account pages */
.form-section, .account-section, .login-card{
  max-width:520px;
  margin:48px auto;
  padding:36px 32px;
  border:1px solid var(--kb-line);
  background:#fff;
}
.form-section h1, .account-section h1, .login-card h1{
  font-family:var(--kb-serif) !important;
  font-weight:700 !important;
  font-size:32px !important;
  margin-bottom:24px !important;
  text-align:center;
}

/* Checkout steps stepper */
.checkout-steps, .steps-numbered{margin:32px 0 48px}
.steps-numbered .step.is-active{color:var(--kb-gold-deep) !important}
.steps-numbered .step.is-complete::before{background:var(--kb-gold) !important;color:var(--kb-navy) !important}

/* Reduce harsh Bootstrap shadows */
.shadow, .shadow-sm, .shadow-lg{box-shadow:0 16px 40px -24px rgba(14,30,51,.18) !important}

/* Universal mobile padding on main content */
main, .main-content, #content{padding-left:0 !important;padding-right:0 !important}
.container, .container-fluid{padding-left:20px;padding-right:20px}
@media (min-width:768px){.container{padding-left:32px;padding-right:32px}}

/* Strip out any leftover Bootstrap primary blue from links */
a, a:hover, a:focus, a:active{text-decoration:none !important}
a:not(.btn):not(.kb-btn):not(.page-link):hover{color:var(--kb-gold-deep) !important}

/* Square pay badge */
.kb-pay-badge{
  display:inline-block;
  font-family:var(--kb-sans) !important;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--kb-navy);
  background:#fff;
  border:1px solid var(--kb-line);
  padding:6px 12px;
  border-radius:0;
}

/* ============================================================
   Latest products — horizontal scrolling row
   ============================================================ */
[aria-labelledby="latest-products-heading"] .products-grid,
[aria-labelledby="latest-deals-heading"] .products-grid{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto;
  overflow-y:hidden;
  gap:20px;
  padding:8px 4px 28px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--kb-gold-light) transparent;
}
[aria-labelledby="latest-products-heading"] .products-grid > div,
[aria-labelledby="latest-deals-heading"] .products-grid > div{
  flex:0 0 280px !important;
  max-width:280px;
  scroll-snap-align:start;
  margin-bottom:0 !important;
}
[aria-labelledby="latest-products-heading"] .products-grid::-webkit-scrollbar,
[aria-labelledby="latest-deals-heading"] .products-grid::-webkit-scrollbar{height:6px}
[aria-labelledby="latest-products-heading"] .products-grid::-webkit-scrollbar-thumb,
[aria-labelledby="latest-deals-heading"] .products-grid::-webkit-scrollbar-thumb{background:var(--kb-gold-light);border-radius:3px}
[aria-labelledby="latest-products-heading"] .products-grid::-webkit-scrollbar-track,
[aria-labelledby="latest-deals-heading"] .products-grid::-webkit-scrollbar-track{background:var(--kb-cream)}

/* Mobile: narrower cards so 1.5 fit and the user senses the scroll */
@media (max-width:600px){
  [aria-labelledby="latest-products-heading"] .products-grid > div,
  [aria-labelledby="latest-deals-heading"] .products-grid > div{
    flex:0 0 220px !important;
    max-width:220px;
  }
}

/* ============================================================
   Round Sample Bottles section (shop launch offering)
   Hides Sylius auto-fetched latest products / deals sections.
   ============================================================ */
[aria-labelledby="latest-products-heading"],
[aria-labelledby="latest-deals-heading"]{
  display:none !important;
}

.kb-samples{padding:clamp(56px,8vw,96px) 0;background:#fff}
.kb-samples-head{max-width:760px;margin:0 auto 48px;text-align:center}
.kb-samples-h2{
  font-family:var(--kb-serif) !important;
  font-weight:700 !important;
  font-size:clamp(32px,4.4vw,52px) !important;
  line-height:1.08 !important;
  letter-spacing:-.01em;
  color:var(--kb-navy) !important;
  margin:14px 0 16px !important;
}
.kb-samples-head .kb-lede{margin-left:auto;margin-right:auto}
.kb-samples-head .kb-eyebrow{margin-bottom:6px}
.kb-samples-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}
.kb-sample-card{
  margin:0;
  background:transparent;
  border:none;
  display:flex;flex-direction:column;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.kb-sample-card:hover{transform:translateY(-4px)}
.kb-sample-shot{
  aspect-ratio:3/4;
  background:transparent;
  display:flex;align-items:center;justify-content:center;padding:8px;
}
.kb-sample-shot img{
  width:auto;height:auto;max-width:80%;max-height:100%;object-fit:contain;display:block;
  filter:drop-shadow(0 22px 26px rgba(14,30,51,.16));
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.kb-sample-card:hover .kb-sample-shot img{transform:scale(1.04)}
.kb-sample-card figcaption{padding:14px 8px 4px;text-align:center;border-top:none}
.kb-sample-name{
  font-family:var(--kb-serif) !important;
  font-weight:700;font-size:17px;color:var(--kb-navy);line-height:1.2;
  margin-bottom:6px;
}
.kb-sample-meta{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--kb-body-soft);
}

@media (max-width:1080px){
  .kb-samples-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
  .kb-samples-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media (max-width:420px){
  .kb-samples-grid{grid-template-columns:1fr}
}

/* ============================================================
   Display-only shop lockdown.
   Hide ALL real-checkout / cart / login / category interactions
   until the shop officially goes live.
   ============================================================ */

/* Cart trigger button in header */
button[data-bs-target="#offcanvasCart"],
[aria-label="cart button"],
[data-live-name-value="sylius_shop:cart:widget"],
[data-live-name-value*="cart"]{
  display:none !important;
}

/* Cart offcanvas drawer (the whole thing) */
#offcanvasCart,
[data-live-name-value="sylius_shop:cart:widget:offcanvas"],
.offcanvas[id*="Cart"]{
  display:none !important;
  visibility:hidden !important;
}

/* Account / login / register buttons in header */
a[aria-label="Account button"],
a[href*="/login"],
a[href*="/register"],
#login-page-button,
#register-page-button{
  display:none !important;
}

/* Taxon / category nav links — they route to product listings */
.nav-link[href*="/taxons/"],
a[href*="/taxons/"]{
  display:none !important;
}

/* Cart / checkout direct links anywhere */
a[href*="/cart"],
a[href*="/checkout"]{
  display:none !important;
}

/* Add-to-cart buttons / forms on any page */
form[action*="/cart/"],
button[name*="add_to_cart"],
button[name*="addToCart"],
.add-to-cart,
[class*="add-to-cart"]{
  display:none !important;
}

/* Prices on Sylius product cards — display-only catalog */
.products-grid .price,
.product-card .price,
.products-list .price,
[aria-labelledby="latest-products-heading"] [class*="price"],
[aria-labelledby="latest-deals-heading"] [class*="price"]{
  display:none !important;
}

/* ============================================================
   Main-site header & footer — verbatim CSS from kairosbeautylab.com
   Applied to the shop so it matches the rest of the site exactly.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  --cream:#fbf8f1;
  --cream-2:#f3ede1;
  --white:#ffffff;
  --page:#ffffff;
  --ink:#0c1a2c;
  --ink-2:#0e1f33;
  --gold:#b59565;
  --gold-2:#caa676;
  --gold-soft:#d6bd95;
  --muted:#5a6373;
  --line:rgba(12,26,44,.12);
  --gold-foil: linear-gradient(135deg,
    #8b6a31 0%,
    #c9a35d 16%,
    #f1dca0 32%,
    #b5854a 50%,
    #e8c98a 68%,
    #a8804a 84%,
    #d4b070 100%);
}

/* Site-wrap reset */
.kb-site-topbar .wrap, .kb-site-footer .wrap{max-width:1280px;margin:0 auto;padding:0 28px}

/* ===== TOPBAR (sticky, matches main site) ===== */
.topbar.kb-site-topbar{
  position:sticky;top:0;z-index:9999;
  background:#ece5df;
  border-bottom:1px solid transparent;
  transition:border-color .2s, background .2s, backdrop-filter .2s;
}
.topbar.kb-site-topbar.scrolled{
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom-color:var(--line);
}
.kb-site-topbar .nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:18px 0;
}
.kb-site-topbar .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.kb-site-topbar .brand .logo{width:auto;height:64px;display:block}
.kb-site-topbar .links{display:flex;align-items:center;gap:30px}
.kb-site-topbar .links a{
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:12px !important;letter-spacing:.22em !important;text-transform:uppercase !important;
  color:var(--ink) !important;padding:8px 2px !important;position:relative;font-weight:500 !important;
  text-decoration:none !important;
}
.kb-site-topbar .links a::after{display:none !important}
.kb-site-topbar .links a.active{color:var(--gold) !important}
.kb-site-topbar .links a:hover{color:var(--gold) !important}

.kb-site-topbar .partner{
  display:inline-flex !important;align-items:center;gap:10px;
  padding:14px 22px !important;font-size:11px !important;letter-spacing:.24em !important;text-transform:uppercase !important;font-weight:600 !important;
  color:#1a1408 !important;background:var(--gold-foil) !important;background-size:200% 200% !important;
  border:1px solid rgba(120,86,36,.4) !important;border-radius:0 !important;
  box-shadow:0 1px 0 rgba(255,235,180,.5) inset, 0 6px 18px -10px rgba(140,100,40,.5);
  transition:background-position .35s ease, transform .15s ease;
  text-decoration:none !important;
}
.kb-site-topbar .partner:hover{background-position:100% 100%;transform:translateY(-1px)}

.kb-site-topbar .burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:0;align-items:center;justify-content:center;cursor:pointer;padding:0}
.kb-site-topbar .burger span{display:block;width:18px;height:1.5px;background:var(--ink);position:relative}
.kb-site-topbar .burger span::before,
.kb-site-topbar .burger span::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:var(--ink)}
.kb-site-topbar .burger span::before{top:-6px}
.kb-site-topbar .burger span::after{top:6px}

.kb-site-topbar .mobile-panel{display:none;border-top:1px solid var(--line);padding:18px 28px 22px;background:var(--page)}
.kb-site-topbar .mobile-panel a{display:block;padding:12px 0;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink) !important;border-bottom:1px solid var(--line);text-decoration:none !important;font-family:'Inter',sans-serif !important}
.kb-site-topbar .mobile-panel a:last-child{border-bottom:none}
.kb-site-topbar .mobile-panel .partner{display:inline-flex !important;margin-top:16px}

@media (max-width:1100px){
  .kb-site-topbar .links{gap:18px}
  .kb-site-topbar .links a{font-size:11px !important;letter-spacing:.18em !important}
  .kb-site-topbar .partner{padding:12px 16px !important}
}
@media (max-width:920px){
  .kb-site-topbar .links,
  .kb-site-topbar .partner.desktop{display:none}
  .kb-site-topbar .burger{display:flex}
}
@media (max-width:640px){
  .kb-site-topbar .nav{padding:12px 0;gap:12px}
  .kb-site-topbar .brand .logo{height:48px}
  .kb-site-topbar .burger{width:40px;height:40px}
}

/* ===== FOOTER (navy, matches main site) ===== */
footer.kb-site-footer{
  background:var(--ink) !important;color:#c9cfd9 !important;padding:64px 0 28px !important;
  margin:0 !important;max-width:none !important;display:block !important;
}
.kb-site-footer .foot-tag{
  text-align:center !important;font-family:'Cormorant Garamond',serif !important;font-style:italic !important;
  font-size:clamp(22px,2.6vw,30px) !important;
  background:var(--gold-foil) !important;background-size:200% 200% !important;
  -webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;color:transparent !important;
  max-width:760px;margin:0 auto 56px !important;line-height:1.3 !important;
}
.kb-site-footer .foot-grid{display:grid !important;grid-template-columns:1.4fr 1fr 1fr 1fr !important;gap:40px !important;text-align:left !important}
.kb-site-footer .foot-grid h5{
  margin:0 0 16px !important;font-size:11px !important;letter-spacing:.24em !important;text-transform:uppercase !important;
  font-weight:600 !important;color:#fff !important;font-family:'Inter',sans-serif !important;
}
.kb-site-footer .foot-grid a{
  display:block !important;color:#9aa4b3 !important;font-size:13px !important;padding:4px 0 !important;
  transition:color .2s ease, transform .2s ease;
  text-decoration:none !important;text-transform:none !important;letter-spacing:.02em !important;
  font-family:'Inter',sans-serif !important;font-weight:400 !important;text-align:left !important;
}
.kb-site-footer .foot-grid a:hover{color:var(--gold-2) !important;transform:translateX(2px)}
.kb-site-footer .foot-brand p{color:#9aa4b3 !important;font-size:13.5px !important;line-height:1.6 !important;margin:14px 0 0 !important;max-width:320px;font-family:'Inter',sans-serif !important}
.kb-site-footer .foot-brand img{filter:none !important;height:64px !important;width:auto !important;display:block}
.kb-site-footer .foot-bottom{
  border-top:1px solid rgba(255,255,255,.08) !important;margin-top:48px;padding-top:22px;
  display:flex !important;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:12px !important;color:#7b8595 !important;letter-spacing:.06em !important;font-family:'Inter',sans-serif !important;
}
.kb-site-footer .foot-bottom a{color:#7b8595 !important;transition:color .2s ease;text-decoration:none !important}
.kb-site-footer .foot-bottom a:hover{color:var(--gold-2) !important}
.kb-site-footer .foot-bottom .l{display:flex !important;gap:24px}

@media (max-width:920px){
  .kb-site-footer .foot-grid{grid-template-columns:1fr 1fr !important;gap:32px !important}
}
@media (max-width:640px){
  .kb-site-footer .foot-grid{grid-template-columns:1fr !important;text-align:center !important}
  .kb-site-footer .foot-grid h5{text-align:center !important}
  .kb-site-footer .foot-grid a{text-align:center !important}
  .kb-site-footer .foot-brand img{margin:0 auto}
  .kb-site-footer .foot-brand p{margin-left:auto !important;margin-right:auto !important}
  .kb-site-footer .foot-bottom{flex-direction:column;text-align:center;gap:14px}
}

/* Suppress the old kb-footer / kb-announce styles so they don't conflict */
.kb-announce, .kb-footer{display:none !important}

/* ============================================================
   Hero hard-fix: ensure cream extends edge to edge, no rogue
   white box from Sylius/Bootstrap container wrappers.
   ============================================================ */

/* Force the page body + Sylius outer flex wrapper to cream */
body[data-route="sylius_shop_homepage"]{background:#ece5df !important}
body[data-route="sylius_shop_homepage"] .d-flex.flex-column.min-vh-100{background:#ece5df !important}

/* Hero re-stated, defeats earlier kb-* tokens */
section.kb-hero{
  background:#ece5df !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
}
.kb-hero-inner{
  max-width:1280px !important;
  margin:0 auto !important;
  padding:48px 28px 56px !important;
  background:transparent !important;
}
.kb-hero-copy{padding-top:8px}
.kb-hero-visual{background:transparent !important}
.kb-hero-product{filter:none !important; background:transparent !important}

/* Sylius-injected empty messages container should not break layout */
.container.sylius-messages{background:transparent !important;padding:0 !important;margin:0 !important;min-height:0 !important}

/* Samples section returns to white as the visual stage */
.kb-samples{background:#fff !important}

/* Square Buy button on Round Sample cards */
.kb-buy-btn{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:14px;padding:11px 18px;
  font-family:'Inter',var(--kb-sans) !important;
  font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:#1a1408 !important;
  background:linear-gradient(135deg,#8b6a31 0%,#c9a35d 16%,#f1dca0 32%,#b5854a 50%,#e8c98a 68%,#a8804a 84%,#d4b070 100%);
  background-size:200% 200%;
  border:1px solid rgba(120,86,36,.4);
  box-shadow:0 1px 0 rgba(255,235,180,.5) inset, 0 6px 18px -10px rgba(140,100,40,.5);
  text-decoration:none !important;
  transition:background-position .35s ease, transform .15s ease;
  cursor:pointer;
}
.kb-buy-btn:hover{background-position:100% 100%;transform:translateY(-1px);color:#1a1408 !important}
/* placeholder state — when href is # (Square link not provided yet) */
.kb-buy-btn[href="#"]{
  background:#f3ede1;
  color:var(--kb-body-soft) !important;
  border-color:var(--kb-line);
  box-shadow:none;
  cursor:not-allowed;
  pointer-events:none;
}
.kb-buy-btn[href="#"]::after{content:" \2014 coming soon";font-style:italic;text-transform:none;letter-spacing:.04em}
