@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&family=Lato:wght@400;700;900&family=Montserrat:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f6f4fb;
  --surface:#ffffff;
  --surface-2:#fbfafe;
  --text:#1c1530;
  --muted:#6f6983;
  --line:#e8e2f4;
  --purple:#6336db;
  --purple-2:#7f59ef;
  --purple-3:#efe8ff;
  --shadow:0 20px 60px rgba(57,35,126,.10);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at top left, rgba(127,89,239,.10), transparent 22%),
    linear-gradient(180deg,#fbfaff 0%, #f6f4fb 35%, #ffffff 100%);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}
.container{width:min(1220px,calc(100% - 40px));margin:0 auto}

.top-strip{
  background:#261344;
  color:#fff;
  text-align:center;
  padding:10px 16px;
  font-size:12px;
  letter-spacing:.03em;
}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(232,226,244,.75);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{
  width:38px;height:38px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--purple),var(--purple-2));
  color:#fff;font-size:18px;box-shadow:0 12px 22px rgba(99,54,219,.28)
}
.brand-text{
  font:800 28px/1 'Plus Jakarta Sans',sans-serif;
  letter-spacing:-.05em;
  text-transform:lowercase;
}
.desktop-nav{display:flex;align-items:center;gap:26px;color:var(--muted);font-weight:600}
.desktop-nav a:hover{color:var(--purple)}
.nav-cta,
.primary-btn,
.secondary-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 22px;border-radius:999px;font-weight:700;
  transition:.22s ease;
}
.nav-cta,.primary-btn{background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;box-shadow:0 16px 28px rgba(99,54,219,.22)}
.nav-cta:hover,.primary-btn:hover{transform:translateY(-1px);box-shadow:0 20px 35px rgba(99,54,219,.26)}
.secondary-btn{background:#fff;border:1px solid var(--line);color:var(--text)}
.secondary-btn:hover{background:#f7f4ff}

.hero-section{padding:34px 0 18px}
.hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch;
}
.hero-copy,.hero-visual .visual-shell{
  border:1px solid rgba(232,226,244,.9);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,247,255,.96));
  box-shadow:var(--shadow);
  border-radius:var(--radius-xl);
}
.hero-copy{padding:56px}
.eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  color:var(--purple);
}
.hero-copy h1,
.section-head h2,
.info-copy h2,
.bottom-banner h2{
  margin:16px 0 0;
  font:800 clamp(2.3rem,5vw,4.3rem)/1.08 'Plus Jakarta Sans',sans-serif;
  letter-spacing:-.05em;
}
.hero-copy h1 span{color:var(--purple)}
.hero-copy p{
  max-width:690px;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.8;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.stat-card{
  padding:18px;border-radius:18px;background:var(--surface);
  border:1px solid var(--line);
}
.stat-card strong{display:block;font-size:15px;margin-bottom:6px}
.stat-card span{display:block;color:var(--muted);font-size:13px;line-height:1.6}

.hero-visual .visual-shell{
  min-height:100%;
  position:relative;
  overflow:hidden;
  padding:30px;
  background:
    radial-gradient(circle at 22% 20%, rgba(127,89,239,.24), transparent 30%),
    radial-gradient(circle at 90% 16%, rgba(99,54,219,.18), transparent 20%),
    linear-gradient(145deg,#ffffff 0%, #f4efff 100%);
}
.hero-orb{position:absolute;border-radius:50%;filter:blur(4px)}
.orb-one{width:210px;height:210px;left:-20px;bottom:-38px;background:rgba(127,89,239,.20)}
.orb-two{width:160px;height:160px;right:28px;top:26px;background:rgba(171,145,255,.22)}
.orb-three{width:110px;height:110px;right:110px;bottom:18px;background:rgba(99,54,219,.18)}
.floating-card{
  position:absolute;display:flex;flex-direction:column;gap:8px;
  width:230px;padding:20px;border-radius:22px;background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 32px rgba(57,35,126,.12);
  backdrop-filter:blur(8px);
}
.floating-card strong{font-size:20px;line-height:1.2}
.floating-card span{color:var(--muted);font-size:13px;line-height:1.6}
.fc-label{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:var(--purple-3);color:var(--purple);font-size:11px;font-weight:700}
.fc-one{left:34px;top:64px;transform:rotate(-7deg)}
.fc-two{right:34px;top:122px;transform:rotate(8deg)}
.fc-three{left:98px;bottom:46px;transform:rotate(-2deg)}

.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:28px 0 10px}
.trust-card{
  display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;
  padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)
}
.trust-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--purple-3);color:var(--purple);font-size:22px;font-weight:800}
.trust-card strong{display:block;font-size:18px;margin-bottom:6px}
.trust-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}

.catalogue-section{padding:52px 0}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.section-head p,.info-copy p{margin:14px 0 0;color:var(--muted);line-height:1.8;max-width:680px}
.live-count{
  white-space:nowrap;padding:14px 16px;border-radius:16px;
  background:var(--surface);border:1px solid var(--line);color:var(--muted);font-weight:700
}
.toolbar-shell{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:20px;margin-bottom:26px}
.toolbar-top{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:18px}
.search-wrap{
  display:flex;align-items:center;gap:12px;flex:1;background:var(--surface-2);
  border:1px solid var(--line);border-radius:16px;padding:0 16px;min-height:56px
}
.search-icon{font-size:20px;color:#948ca7}
.search-wrap input{width:100%;border:0;background:transparent;outline:0;color:var(--text)}
.sort-wrap{display:flex;align-items:center;gap:10px;white-space:nowrap}
.sort-wrap label{font-size:14px;color:var(--muted);font-weight:700}
.sort-wrap select{
  min-height:50px;border:1px solid var(--line);border-radius:14px;padding:0 16px;background:#fff;color:var(--text);outline:0
}
.category-row{display:flex;gap:12px;flex-wrap:wrap}
.category-chip{
  padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:700
}
.category-chip:hover,.category-chip.active{background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;border-color:transparent}

.products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.product-card{
  display:flex;flex-direction:column;overflow:hidden;background:var(--surface);
  border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);transition:.22s ease
}
.product-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(57,35,126,.15)}
.product-visual{
  position:relative;aspect-ratio:1/1;background:
  linear-gradient(180deg,#faf8ff 0%, #f0ebff 100%);
  display:grid;place-items:center;padding:18px
}
.product-visual img{width:100%;height:100%;object-fit:contain;border-radius:18px;background:#fff}
.placeholder{
  width:100%;height:100%;border-radius:18px;background:#fff;display:grid;place-items:center;font-size:48px;color:var(--purple)
}
.card-badge,.discount-badge{
  position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;justify-content:center;
  min-height:30px;padding:0 11px;border-radius:999px;font-size:11px;font-weight:800
}
.card-badge{background:#fff;color:var(--purple);box-shadow:0 10px 18px rgba(57,35,126,.10)}
.discount-badge{left:auto;right:16px;background:linear-gradient(135deg,#ff7b8d,#ff5d72);color:#fff;box-shadow:0 10px 18px rgba(255,93,114,.24)}
.product-detail{display:flex;flex-direction:column;gap:12px;padding:20px}
.meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.store-label,.category-label{
  display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--purple-3);
  color:var(--purple);font-size:11px;font-weight:800
}
.category-label{background:#f3f0fb;color:#6d6682}
.product-name{margin:0;font-size:18px;line-height:1.45;min-height:52px}
.price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.price{font-size:24px;font-weight:800;letter-spacing:-.03em}
.original-price{color:#948ca7;text-decoration:line-through;font-size:14px}
.price-unavailable{font-size:14px;color:var(--muted);font-weight:700}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.shop-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;
  background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;font-weight:800;font-size:14px
}
.store-link-note{font-size:12px;color:var(--muted);max-width:110px;text-align:right}
.loading-error{padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--muted)}

.empty-state{padding:50px 20px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:24px}
.empty-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;margin:0 auto 14px;background:var(--purple-3);color:var(--purple);font-size:28px}
.empty-state h3{margin:8px 0 10px;font-size:26px}
.empty-state p{margin:0 0 22px;color:var(--muted)}

.info-band{padding:18px 0 60px}
.info-grid{display:grid;grid-template-columns:1fr .95fr;gap:24px;align-items:start}
.info-copy,.steps-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px}
.info-copy{padding:42px}
.steps-card{padding:22px}
.step-item{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:16px;border-radius:18px}
.step-item + .step-item{margin-top:8px;border-top:1px solid #f0ebf8}
.step-item span{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--purple-3);color:var(--purple);font-weight:800
}
.step-item strong{display:block;font-size:16px;margin-bottom:6px}
.step-item p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}

.bottom-banner{
  margin:0 auto 60px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:34px 36px;border-radius:28px;background:linear-gradient(135deg,#2b164b,#6d44ee);color:#fff;box-shadow:var(--shadow)
}
.bottom-banner .eyebrow{color:#d8c6ff}
.bottom-banner h2{margin-top:12px;font-size:clamp(2rem,4vw,3.2rem)}

.site-footer{background:#140d24;color:#d8d1e6;padding-top:36px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr 1fr;gap:28px;padding-bottom:28px}
.footer-brand .brand-text{color:#fff}
.footer-copy,.footer-note{color:#a9a1b9;line-height:1.8;font-size:14px}
.site-footer h4{margin:0 0 14px;color:#fff;font-size:16px}
.site-footer a{display:block;color:#cfc7de;margin-bottom:10px;font-size:14px}
.site-footer a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid rgba(255,255,255,.08);padding:18px 0 28px;color:#a9a1b9;font-size:13px}

@media (max-width:1100px){
  .hero-grid,.info-grid,.trust-row{grid-template-columns:1fr}
  .products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .hero-visual .visual-shell{min-height:420px}
}
@media (max-width:900px){
  .desktop-nav{display:none}
  .header-inner{min-height:76px}
  .hero-copy{padding:34px 24px}
  .hero-stats{grid-template-columns:1fr}
  .toolbar-top{flex-direction:column;align-items:stretch}
  .sort-wrap{justify-content:space-between}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bottom-banner{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .container{width:min(100% - 28px,1220px)}
  .hero-copy h1,.section-head h2,.info-copy h2,.bottom-banner h2{font-size:clamp(2rem,8vw,3rem)}
  .nav-cta{display:none}
  .products-grid{grid-template-columns:1fr}
  .product-name{min-height:auto}
  .card-footer{flex-direction:column;align-items:stretch}
  .store-link-note{max-width:none;text-align:left}
  .footer-grid,.footer-bottom{grid-template-columns:1fr;display:grid}
  .footer-bottom{gap:6px}
  .trust-card,.step-item{grid-template-columns:1fr}
  .trust-icon,.step-item span{margin-bottom:8px}
  .hero-visual .visual-shell{min-height:360px;padding:18px}
  .floating-card{width:190px;padding:16px}
  .fc-one{left:14px;top:40px}
  .fc-two{right:14px;top:108px}
  .fc-three{left:52px;bottom:36px}
}

/* Dynamically saved appearance settings */
:root{--brand-primary:#6336db;--brand-secondary:#7f59ef;--brand-promo:#2b164b;--brand-primary-soft:rgba(99,54,219,.15)}
.brand-mark,.nav-cta,.primary-btn,.category-chip.active,.category-chip:hover,.shop-link{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary))}
.hero-copy h1 span:not(.hero-title-plain),.eyebrow,.live-count{color:var(--brand-primary)}
.hero-title-plain{color:var(--text)!important}
.bottom-banner{background:linear-gradient(125deg,var(--brand-promo),var(--brand-secondary))}
.hero-visual.is-image .visual-shell{background-size:cover;background-position:center}
.hero-visual.is-image .floating-card,.hero-visual.is-image .hero-orb{display:none}
.bottom-banner.has-image{background-size:cover;background-position:center}

/* Premium editorial storefront — long hero + typography settings */
:root{
  --font-heading:'Playfair Display', Georgia, serif;
  --font-body:'Inter',sans-serif;
  --font-nav:'Poppins',sans-serif;
  --font-button:'Poppins',sans-serif;
  --heading-size:58px;
  --body-size:16px;
  --heading-weight:700;
  --heading-spacing:-1.5px;
  --brand-primary:#501534;
  --brand-secondary:#71334f;
  --brand-promo:#3b1531;
  --text:#301927;
  --muted:#73666f;
  --line:#eee6ea;
  --purple:#501534;
  --purple-2:#71334f;
  --purple-3:#f7edf2;
}
body{font-family:var(--font-body);font-size:var(--body-size);background:#fff;color:var(--text)}
.site-header{background:#fff;border-bottom:1px solid #f1eaed;backdrop-filter:none}
.top-strip{background:var(--brand-promo)}
.desktop-nav{font-family:var(--font-nav)}
.nav-cta,.primary-btn,.secondary-btn,.shop-link,.category-chip,button{font-family:var(--font-button)}
.brand-text{font-family:var(--font-heading);letter-spacing:-.03em;font-weight:var(--heading-weight)}
.hero-section{padding:20px 0 15px}
.hero-grid{position:relative;display:grid;grid-template-columns:51% 49%;gap:0;min-height:440px;overflow:hidden;border-radius:22px;background:linear-gradient(115deg,#f8f0f1 0%,#f5ecee 58%,#e9d7d9 100%);box-shadow:none;border:1px solid #f1e5e9}
.hero-copy{z-index:2;padding:56px 38px 52px 60px;background:transparent;border:0;border-radius:0;box-shadow:none;align-self:center}
.hero-copy h1{font-family:var(--font-heading);font-size:clamp(34px,4.1vw,var(--heading-size));line-height:1.12;letter-spacing:var(--heading-spacing);font-weight:var(--heading-weight);margin:17px 0 20px}
.hero-copy h1 span:not(.hero-title-plain){color:var(--brand-primary)}
.hero-copy p{font-size:var(--body-size);line-height:1.75;margin-top:0;max-width:510px}
.hero-actions{margin-top:26px}
.hero-visual .visual-shell{height:100%;min-height:440px;border-radius:0;border:0;box-shadow:none;background-color:#e8d7d7;background-image:url('premium-hero.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-visual .floating-card,.hero-visual .hero-orb{display:none}
.hero-visual{min-height:440px}
.hero-copy .eyebrow{color:var(--brand-primary)}
.primary-btn,.nav-cta,.shop-link{box-shadow:none;background:var(--brand-primary)}
.primary-btn:hover,.nav-cta:hover{box-shadow:none;background:var(--brand-secondary)}
.secondary-btn{background:transparent;border:1px solid #c7aeb7}
.catalogue-section{padding:44px 0 42px}
.section-head h2,.info-copy h2,.bottom-banner h2{font-family:var(--font-heading);font-weight:var(--heading-weight);letter-spacing:var(--heading-spacing);font-size:clamp(31px,3vw,46px)}
.section-head p{margin-top:10px}
.toolbar-shell{border:0;border-radius:14px;padding:14px 0;box-shadow:none;margin-bottom:12px}
.search-wrap{background:#fbf9f9;border-color:#eee6ea;min-height:50px}
.category-chip{background:#faf7f8;border:1px solid #eee5ea;color:#645960;border-radius:12px;padding:12px 18px}
.category-chip.active,.category-chip:hover{background:var(--brand-primary);color:#fff}
.products-grid{gap:16px}
.product-card{box-shadow:none;border-radius:14px;border:1px solid #efe7eb}
.product-card:hover{box-shadow:0 10px 24px rgba(61,28,49,.09)}
.product-visual{padding:0;background:#f8f1f2}
.product-visual img{border-radius:0;object-fit:contain}
.product-detail{gap:10px;padding:15px}
.product-name{font-size:15px;font-weight:700;min-height:42px}
.store-label{background:#f8edf2;color:var(--brand-primary)}
.category-label{background:#faf7f8}
.price{font-size:20px}
.shop-link{flex:1}
.trust-row{padding-top:0;padding-bottom:35px}
.trust-card{border-radius:18px;box-shadow:none;background:#faf7f9}
.trust-icon{background:#f4e6ed;color:var(--brand-primary)}
.info-band{padding:0 0 50px}
.info-copy,.steps-card{box-shadow:none}
.bottom-banner{background:var(--brand-promo);box-shadow:none}
.site-footer{background:#25141d}
@media(max-width:1050px){.hero-grid{grid-template-columns:1fr 43%}.hero-copy{padding:42px 30px}.hero-visual,.hero-visual .visual-shell{min-height:410px}}
@media(max-width:720px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding:36px 24px}.hero-visual,.hero-visual .visual-shell{min-height:230px}.hero-copy h1{font-size:clamp(33px,8vw,52px)}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail{padding:12px}.product-name{font-size:14px}.price{font-size:18px}.hero-actions{gap:8px}}
@media(max-width:420px){.products-grid{grid-template-columns:1fr}}

/* A&N Finds premium single-banner layout: this deliberately overrides the earlier split hero. */
:root{
  --premium-plum:#5d173e;
  --premium-ink:#291525;
  --premium-cream:#f8f2f1;
}
body{background:#fff;color:var(--premium-ink)}
.container{width:min(1380px,calc(100% - 40px))}
.top-strip{background:#5d173e}
.site-header{background:rgba(255,255,255,.97);box-shadow:none}
.header-inner{min-height:82px}
.brand-mark{background:#5d173e;border-radius:50%;box-shadow:none}
.brand-text{font-family:var(--font-heading, 'Playfair Display', serif);font-weight:700;letter-spacing:-.035em}
.desktop-nav{font-family:var(--font-nav,'Poppins',sans-serif)}
.nav-cta,.primary-btn{background:var(--brand-primary,#5d173e);box-shadow:none;font-family:var(--font-button,'Poppins',sans-serif)}
.nav-cta:hover,.primary-btn:hover{background:#4c1231}
.hero-section{padding:24px 0 10px}
.hero-banner{
  min-height:clamp(340px,35vw,505px);
  position:relative;
  overflow:hidden;
  border-radius:20px;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:#eee5e1;
}
.hero-background{
  position:absolute;inset:0;z-index:-2;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#e8dcda;
}
.hero-overlay{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(248,242,241,.97) 0%,rgba(248,242,241,.90) 32%,rgba(248,242,241,.5) 50%,rgba(248,242,241,0) 74%);
}
.hero-content{width:min(570px,54%);padding:52px 0 52px clamp(32px,5vw,72px)}
.hero-content .eyebrow{color:var(--premium-plum);font-size:11px}
.hero-content h1{
  font-family:var(--font-heading,'Playfair Display',serif);
  font-size:clamp(36px,4.25vw,var(--heading-size,58px));
  font-weight:var(--heading-weight,700);
  letter-spacing:var(--heading-spacing,-1.5px);
  line-height:1.14;margin:22px 0 0;
}
.hero-content h1 span{color:inherit}
.hero-content p{
  max-width:460px;color:#64515d;line-height:1.75;
  font-family:var(--font-body,'Inter',sans-serif);
  font-size:var(--body-size,16px);margin:18px 0 0;
}
.hero-actions{margin-top:24px}
.hero-content .secondary-btn{background:transparent;border-color:#96677f;color:#54213e}
.quick-categories{padding:12px 0 22px}
.quick-categories .category-row{display:flex;flex-wrap:wrap;gap:10px}
.category-chip{
  background:#f8f4f4;border:1px solid #eee5e8;
  border-radius:12px;padding:16px 22px;
  font-family:var(--font-button,'Poppins',sans-serif);
  font-size:13px;color:#4c3442
}
.category-chip.active,.category-chip:hover{background:var(--brand-primary,#5d173e);color:white;border-color:transparent}
.catalogue-section{padding-top:30px}
.section-head h2,.info-copy h2{font-family:var(--font-heading,'Playfair Display',serif);letter-spacing:-.03em}
.toolbar-shell{border:0;background:transparent;box-shadow:none;padding:0 0 16px;margin:0}
.toolbar-top{margin-bottom:0}
.search-wrap{background:#faf8f9;border-color:#eee5e8}
.sort-wrap select{border-color:#eee5e8}
.products-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.product-card{border:1px solid #eee9eb;border-radius:14px;box-shadow:none}
.product-card:hover{box-shadow:0 12px 28px rgba(44,17,35,.08)}
.product-visual{background:#f5efed;padding:0}
.product-visual img{border-radius:0;object-fit:cover}
.product-detail{padding:15px}
.product-name{font-family:var(--font-body,'Inter',sans-serif);font-size:15px;font-weight:700;min-height:43px}
.price{font-size:18px}
.shop-link{background:var(--brand-primary,#5d173e);box-shadow:none;border-radius:9px}
.store-label,.category-label{background:#f4e9f0;color:#632344}
.trust-card{box-shadow:none;border:1px solid #f0e9ed}
@media(max-width:980px){
  .products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-content{width:68%}
}
@media(max-width:720px){
  .hero-banner{min-height:490px;align-items:flex-start}
  .hero-content{width:100%;padding:32px 24px}
  .hero-overlay{background:linear-gradient(180deg,rgba(248,242,241,.98) 0%,rgba(248,242,241,.91) 38%,rgba(248,242,241,.35) 73%,transparent 100%)}
  .hero-background{background-position:62% center}
  .hero-content h1{font-size:clamp(34px,8vw,48px)}
  .hero-content p{font-size:14px}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-detail{padding:12px}
  .product-visual{aspect-ratio:1/1.12}
  .product-name{font-size:13px;min-height:0}
  .price{font-size:16px}
  .category-chip{padding:12px 14px;font-size:12px}
}
@media(max-width:440px){
  .hero-actions{gap:8px}
  .hero-actions a{padding:0 14px;min-height:44px;font-size:12px}
  .product-card .card-footer{gap:8px}
}

/* Keep the premium header and product grid readable under admin-selected fonts. */
body{font-family:var(--font-body,'Inter',sans-serif);font-size:var(--body-size,16px)}
.hero-content .hero-title-plain{color:var(--premium-ink)}
.hero-content #heroTitleAccent{color:var(--brand-primary,#5d173e)}
.hero-banner:not(.is-image) .hero-background{background:linear-gradient(115deg,#f7edeb 0%,#e2d3d0 100%)}
/* This is a single full-width hero image layer, never a second column. */
.hero-banner.is-image .hero-background{background-size:cover;background-position:center}

/* Hero visibility switches: full bleed image artwork when text + CTA are hidden */
.hero-banner.hero-no-text .hero-content .eyebrow,
.hero-banner.hero-no-text .hero-content h1,
.hero-banner.hero-no-text .hero-content p{display:none!important}
.hero-banner.hero-no-cta .hero-actions{display:none!important}
.hero-banner.hero-image-only{min-height:0;display:block;aspect-ratio:auto;background:#f7f0ee}
.hero-banner.hero-image-only .hero-content,.hero-banner.hero-image-only .hero-overlay,
.hero-banner.hero-image-only .hero-background{display:none!important}
.hero-banner .full-artwork-image{display:none;width:100%;height:auto;vertical-align:middle}
.hero-banner.hero-image-only .full-artwork-image{display:block}
.hero-banner.hero-image-only:not(.is-image){min-height:300px;aspect-ratio:1920 / 650}
@media(max-width:720px){.hero-banner.hero-image-only{min-height:0}.hero-banner.hero-image-only:not(.is-image){min-height:0;aspect-ratio:1920 / 650}}

/* Multiple hero slider. Full-width within the existing content container. */
[hidden]{display:none!important}
.hero-slider{position:relative;border-radius:20px;overflow:hidden;background:#f4e9e6}
.slider-track{width:100%}
.slider-slide{width:100%;margin:0}
.slider-slide[hidden]{display:none!important}
.slider-slide.slider-image-only{display:block;min-height:0;aspect-ratio:auto}
.slider-slide.slider-image-only .slider-full-image{display:block;position:static;width:100%;height:auto;vertical-align:middle}
.slider-slide:not(.slider-image-only){min-height:clamp(340px,35vw,505px);display:flex;align-items:center}
.slider-slide:not(.slider-image-only) .slider-full-image{display:none}
.slider-slide .slider-background{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-color:#e7dfdc}
.slider-slide .hero-overlay{z-index:-1}
.slider-slide .slider-headline{font-family:var(--font-heading,'Playfair Display',serif);font-size:clamp(36px,4.25vw,var(--heading-size,58px));font-weight:var(--heading-weight,700);line-height:1.14;letter-spacing:var(--heading-spacing,-1.5px);margin:14px 0 0;color:#2c1725}
.slider-slide .hero-content{position:relative;z-index:1}
.slider-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.9);color:#4c1936;display:grid;place-items:center;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 16px #32172a21}
.slider-prev{left:12px}.slider-next{right:12px}
.slider-arrow:hover{background:white}
.slider-dots{position:absolute;z-index:4;bottom:13px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:7px 10px;border-radius:30px;background:rgba(255,255,255,.6)}
.slider-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(70,41,58,.45);cursor:pointer}
.slider-dot[aria-current="true"]{background:#5d173e;width:25px;border-radius:6px}
@media(max-width:720px){.slider-slide:not(.slider-image-only){min-height:490px;align-items:flex-start}.slider-slide .hero-content{width:100%;padding:32px 26px 68px}.slider-slide .hero-overlay{background:linear-gradient(180deg,rgba(248,242,241,.98) 0%,rgba(248,242,241,.91) 40%,rgba(248,242,241,.28) 80%,transparent)}.slider-slide .slider-background{background-position:62% center}.slider-arrow{width:32px;height:32px;font-size:23px}.slider-prev{left:5px}.slider-next{right:5px}}

/* ================================================================
   PICKORA MOBILE POLISH — 2026-11-12
   CSS-only patch. Desktop, admin, database and carousel JS unchanged.
   ================================================================ */
@media (max-width: 720px) {
  html, body { max-width:100%; overflow-x:clip; }
  .container { width:calc(100% - 32px); max-width:100%; }

  /* Calm, compact announcement and brand header */
  .top-strip {
    padding:7px 15px; font-size:10px; line-height:1.4;
    letter-spacing:.01em; text-wrap:balance;
  }
  .site-header .header-inner { min-height:58px; padding-block:6px; gap:10px; }
  .site-header .brand { gap:8px; min-width:0; }
  .site-header .brand-mark {
    width:32px; height:32px; flex:0 0 32px;
    font-size:17px; border-radius:50%;
  }
  .site-header .brand-text {
    font-size:clamp(23px,6.8vw,28px); line-height:1;
    letter-spacing:-.04em;
  }
  .site-header .nav-cta { display:none; }

  /* Hero is ALWAYS a landscape banner, even with text / CTA switched on. */
  .hero-section { padding:12px 0 8px; }
  .hero-banner, .hero-slider { border-radius:13px; }
  .hero-banner:not(.slider-slide),
  .hero-banner.hero-image-only,
  .slider-slide,
  .slider-slide:not(.slider-image-only),
  .slider-slide.slider-image-only {
    width:100%; min-height:0 !important; height:auto !important;
    aspect-ratio:2.4 / 1; position:relative; overflow:hidden;
  }
  .hero-banner:not(.slider-slide),
  .slider-slide:not(.slider-image-only) { display:flex; align-items:center; }
  .slider-slide.slider-image-only { display:block; }
  .hero-banner.hero-image-only .full-artwork-image,
  .slider-slide.slider-image-only .slider-full-image {
    display:block; width:100%; height:100%; position:absolute;
    inset:0; object-fit:cover; object-position:center;
  }
  .hero-banner .hero-background,
  .slider-slide .slider-background {
    position:absolute; inset:0; background-position:center center;
    background-size:cover;
  }
  .hero-banner .hero-overlay,
  .slider-slide .hero-overlay {
    background:linear-gradient(90deg,
      rgba(248,242,241,.96) 0%,
      rgba(248,242,241,.89) 36%,
      rgba(248,242,241,.25) 75%,
      rgba(248,242,241,0) 100%);
  }
  .hero-banner .hero-content,
  .slider-slide .hero-content {
    width:64%; max-width:64%; padding:10px 5px 12px 15px;
    margin:0; align-self:center; min-width:0;
  }
  .hero-banner .eyebrow,
  .slider-slide .eyebrow { display:none; }
  .hero-content h1,
  .slider-slide .slider-headline {
    font-size:clamp(15px,4.6vw,21px) !important;
    line-height:1.14; letter-spacing:-.035em;
    margin:0 !important; font-weight:700;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
    overflow:hidden; overflow-wrap:anywhere;
  }
  .hero-banner .hero-content p,
  .slider-slide .hero-content p { display:none; }
  .hero-banner .hero-actions,
  .slider-slide .hero-actions { margin-top:10px; gap:5px; flex-wrap:nowrap; }
  .hero-banner .hero-actions a,
  .slider-slide .hero-actions a {
    min-height:29px; max-width:100%; padding:0 10px;
    border-radius:7px; font-size:10px; line-height:1.1;
    font-weight:700; white-space:nowrap;
  }
  .hero-banner .hero-actions .secondary-btn { display:none; }
  .slider-arrow {
    top:50%; width:25px; height:25px; font-size:19px;
    background:rgba(255,255,255,.82); box-shadow:none;
  }
  .slider-prev { left:5px; }
  .slider-next { right:5px; }
  .slider-dots {
    bottom:5px; gap:5px; padding:4px 6px;
    background:rgba(255,255,255,.7);
  }
  .slider-dot { width:5px; height:5px; }
  .slider-dot[aria-current="true"] { width:14px; }

  /* Compact categories on one swipeable row, no oversized multi-row chips. */
  .quick-categories { padding:11px 0 14px; }
  .quick-categories .category-row {
    flex-wrap:nowrap; display:flex; gap:7px; overflow-x:auto;
    overscroll-behavior-inline:contain; padding:1px 0 5px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .quick-categories .category-row::-webkit-scrollbar { display:none; }
  .category-chip {
    flex:0 0 auto; white-space:nowrap;
    min-height:35px; padding:7px 12px;
    border-radius:10px; font-size:11px; font-weight:600;
    line-height:1.2;
  }

  /* Product catalogue — clean vertical rhythm and full-width search. */
  .catalogue-section { padding-top:9px; padding-bottom:30px; }
  .catalogue-section .section-head {
    display:flex; flex-direction:column; align-items:flex-start;
    justify-content:flex-start; gap:9px; margin-bottom:15px;
  }
  .catalogue-section .section-head > div:first-child { min-width:0; width:100%; }
  .catalogue-section .section-head .eyebrow {
    font-size:10px; line-height:1.3; letter-spacing:.1em;
  }
  .catalogue-section .section-head h2 {
    font-size:clamp(27px,7.4vw,32px); line-height:1.15;
    letter-spacing:-.035em; margin:8px 0 0;
  }
  .catalogue-section .section-head p {
    font-size:12px; line-height:1.5;
    margin:6px 0 0; max-width:100%;
  }
  .catalogue-section .live-count {
    display:inline-flex; align-items:center; min-height:28px;
    padding:5px 10px; border-radius:999px;
    font-size:11px; font-weight:600;
    background:#faf7f8; white-space:normal;
  }
  .toolbar-shell { padding-bottom:12px; margin-bottom:0; }
  .toolbar-top { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
  .search-wrap { min-height:42px; border-radius:10px; padding:0 11px; }
  .search-wrap input { min-width:0; width:100%; font-size:13px; }
  .sort-wrap { justify-content:space-between; gap:12px; }
  .sort-wrap label { font-size:12px; }
  .sort-wrap select { min-height:37px; max-width:72%; font-size:12px; padding:0 12px; border-radius:10px; }

  /* Keep product cards compact and consistent. */
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .product-card { min-width:0; border-radius:12px; }
  .product-visual { aspect-ratio:1 / 1.05; }
  .product-detail { padding:10px; gap:7px; }
  .product-name { font-size:12px; line-height:1.35; }
  .price { font-size:15px; }
  .card-badge, .discount-badge { top:7px; left:7px; padding:0 7px; min-height:22px; font-size:9px; }
  .discount-badge { left:auto; right:7px; }
  .shop-link { font-size:11px; }
}

@media (max-width: 355px) {
  .hero-banner .hero-content,
  .slider-slide .hero-content { width:67%; max-width:67%; padding-left:11px; }
  .hero-content h1,
  .slider-slide .slider-headline { font-size:14px !important; }
  .hero-banner .hero-actions,
  .slider-slide .hero-actions { margin-top:6px; }
  .category-chip { padding:7px 10px; font-size:10px; }
}

/* PICKORA MOBILE: SHOW ENTIRE BANNER WITHOUT LEFT/RIGHT CROPPING.
   Keep the fixed landscape frame; contain letterboxes rather than cropping. */
@media (max-width:720px) {
  .hero-banner,
  .hero-slider,
  .slider-slide { background-color:#f6eeec; }
  .hero-banner.hero-image-only .full-artwork-image,
  .slider-slide.slider-image-only .slider-full-image {
    object-fit:contain !important;
    object-position:center center !important;
  }
  .hero-banner .hero-background,
  .slider-slide .slider-background,
  .hero-banner.is-image .hero-background,
  .slider-slide:not(.slider-image-only) .slider-background {
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}
