/* ============================================================
   SITE HEADER
   ============================================================ */
.fh{--c:#7D029B;--c-dark:#65027E;--plum:#3B0F47;--line:#EADCEE;--soft:#F7F1FA;--cream:#F4EBDD;position:relative;z-index:900;font-family:'Cabin',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.fh *{box-sizing:border-box}
.fh a{text-decoration:none;color:inherit}
.fh ul,.fh li{margin:0;padding:0;list-style:none}
.fh :focus-visible{outline:2px solid #fff;outline-offset:3px}

/* ---- top bar ---- */
.fh__top{display:flex;align-items:center;justify-content:center;gap:16px;max-height:80px;min-height:42px;padding:8px 16px;overflow:hidden;background:var(--cream);color:var(--plum);font-size:13.5px}
.fh__msgs{display:flex;align-items:center;gap:10px}
.fh button.fh__arrow{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;color:var(--plum);opacity:.55;cursor:pointer}
.fh button.fh__arrow:hover,.fh button.fh__arrow:focus{opacity:1;background:rgba(59,15,71,.07);color:var(--plum)}
.fh__arrow svg{width:14px;height:14px}
.fh__msg{min-width:320px;font-weight:600;text-align:center;transition:opacity .3s ease,transform .3s ease}
.fh__msg.out{opacity:0;transform:translateY(6px)}
.fh .fh__shop{display:inline-flex;align-items:center;min-height:30px;padding:0 16px;border-radius:999px;background:var(--plum);color:#fff;font-size:12.5px;font-weight:700;white-space:nowrap;transition:background .3s ease}
.fh .fh__shop:hover{background:var(--c);color:#fff}

/* ---- main bar ---- */
.fh__nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:76px;padding:10px clamp(16px,3vw,40px);background:var(--c);color:#fff;transition:padding .35s ease,border-radius .35s ease,box-shadow .35s ease,min-height .35s ease}

/* logo on a white plate so it reads on purple */
.fh .fh__logo,.ff .fh__logo{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:6px 16px;border-radius:14px;background:#fff;box-shadow:0 8px 20px -12px rgba(44,10,54,.55);transition:height .35s ease,padding .35s ease,border-radius .35s ease}
.fh__logo img{display:block;width:auto!important;height:100%!important;max-width:180px;object-fit:contain}

.fh__menuwrap{display:flex;justify-content:center;min-width:0}
.fh .fh__menu{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px clamp(16px,2vw,30px)}
.fh .fh__menu a{position:relative;display:flex;align-items:center;min-height:40px;font-size:15.5px;font-weight:600;color:#fff;white-space:nowrap}
.fh .fh__menu a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.fh .fh__menu a:hover::after,
.fh .fh__menu .current-menu-item > a::after,
.fh .fh__menu .current_page_item > a::after{transform:scaleX(1);transform-origin:left}

.fh__icons{display:flex;align-items:center;gap:6px}
.fh .fh__icon{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;height:52px;padding:0 6px;border-radius:14px;color:#fff;font-size:11.5px;font-weight:600;transition:background .25s ease}
.fh .fh__icon:hover{background:rgba(255,255,255,.12);color:#fff}
.fh__icon svg{width:22px;height:22px}
.fh .ccl-cart-count{position:absolute;top:3px;right:9px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:var(--c);font-size:10.5px;font-weight:700;line-height:1}
.fh .ccl-cart-count.is-zero{display:none}
.fh__burger{display:none}

/* ---- scallops ---- */
.fh__scallop{position:relative;max-height:14px;height:14px;margin-top:-1px;overflow:hidden;transition:max-height .4s ease,opacity .3s ease}
.fh__scallop i{position:absolute;top:0;left:0;height:14px;width:calc(100% + 24px);background-image:radial-gradient(circle at 12px 0,var(--c) 11px,transparent 11.5px);background-size:24px 14px;background-repeat:repeat-x;animation:fhWave 2.6s linear infinite}
.fh__scallop i.s2{opacity:.28;animation:fhWave2 3.6s linear infinite}
@keyframes fhWave{from{transform:translateX(-24px)}to{transform:translateX(0)}}
@keyframes fhWave2{from{transform:translateX(0) translateY(3px)}to{transform:translateX(-24px) translateY(3px)}}

/* ---- sticky pill ---- */
.fh__spacer{display:none}
.fh.is-stuck .fh__spacer{display:block}
.fh.is-stuck .fh__bar{position:fixed;top:12px;left:0;right:0;z-index:950;width:min(96%,1500px);margin:0 auto;animation:fhDrop .55s cubic-bezier(.25,1,.5,1) both}
.fh.is-stuck .fh__nav{min-height:62px;padding:8px 14px 8px 10px;border-radius:999px;box-shadow:0 16px 38px -12px rgba(125,2,155,.5)}
.fh.is-stuck .fh__logo{height:44px;padding:5px 14px;border-radius:999px}
.fh.is-stuck .fh__scallop{max-height:0;opacity:0}
.fh.is-stuck .fh__icon{height:46px}
.fh.is-stuck .fh__icon .lbl{display:none}
@keyframes fhDrop{0%{transform:translateY(-140%);opacity:0}100%{transform:translateY(0);opacity:1}}

body.admin-bar .fh.is-stuck .fh__bar{top:44px}

/* ---- mobile drawer ---- */
.fh__ovl{position:fixed;inset:0;z-index:990;background:rgba(30,5,38,.55);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.fh__ovl.on{opacity:1;visibility:visible}
.fh__drawer{position:fixed;top:0;left:0;bottom:0;z-index:991;display:flex;flex-direction:column;width:min(88vw,340px);background:#fff;box-shadow:12px 0 40px -12px rgba(44,10,54,.4);transform:translateX(-102%);visibility:hidden;transition:transform .42s cubic-bezier(.25,1,.5,1),visibility .42s ease}
.fh__drawer.on{transform:translateX(0);visibility:visible}
.fh__dhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));background:var(--c)}
.fh .fh__dhead .fh__logo{height:46px}
.fh button.fh__close{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0;padding:0;border:1.5px solid rgba(255,255,255,.45);border-radius:50%;background:none;box-shadow:none;color:#fff;cursor:pointer;transition:transform .3s ease,background .3s ease}
.fh button.fh__close:hover,.fh button.fh__close:focus{background:rgba(255,255,255,.14);color:#fff;transform:rotate(90deg)}
.fh__close svg{width:20px;height:20px}
.fh__dscallop{position:relative;flex:none;height:14px;margin-top:-1px;overflow:hidden}
.fh__dscallop::before{content:"";position:absolute;inset:0 -12px 0 0;background-image:radial-gradient(circle at 12px 0,var(--c) 11px,transparent 11.5px);background-size:24px 14px;background-repeat:repeat-x}
.fh__dnav{flex:1;padding:6px 18px 10px;overflow-y:auto}
.fh .fh__dlist a{display:flex;align-items:center;justify-content:space-between;min-height:54px;border-bottom:1px solid var(--line);font-size:16px;font-weight:600;color:var(--plum);transition:color .25s ease,padding-left .25s ease}
.fh .fh__dlist a:hover,
.fh .fh__dlist .current-menu-item > a{color:var(--c);padding-left:6px}
.fh__dlist a svg{width:16px;height:16px;color:var(--c);opacity:.5}
.fh__dfoot{display:flex;flex-direction:column;gap:10px;padding:16px 18px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--soft)}
.fh .fh__dfoot a{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--plum)}
.fh__dfoot a svg{flex:none;width:18px;height:18px;color:var(--c)}
.fh .fh__dfoot a.fh__wa{justify-content:center;min-height:48px;margin-top:4px;border-radius:999px;background:var(--c);color:#fff}
.fh .fh__dfoot a.fh__wa svg{color:#fff}
html.fh-lock,html.fh-lock body{overflow:hidden}


/* ============================================================
   SITE FOOTER
   ============================================================ */
.ff{--c:#7D029B;--c-dark:#65027E;width:100%;padding:clamp(30px,3.4vw,56px) clamp(12px,1.8vw,26px) clamp(16px,2vw,26px);font-family:'Cabin',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.ff *{box-sizing:border-box}
.ff h3,.ff p,.ff ul,.ff li{margin:0;padding:0;list-style:none}
.ff a{text-decoration:none;color:inherit}
.ff :focus-visible{outline:2px solid #fff;outline-offset:3px}

.ff__w{position:relative;max-width:1760px;margin:0 auto;padding:clamp(28px,3vw,48px) clamp(22px,2.8vw,52px) 0;overflow:hidden;border-radius:clamp(16px,1.8vw,26px);background:radial-gradient(120% 90% at 100% 100%,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 55%),var(--c);color:#fff}
.ff__leaf{position:absolute;right:-30px;bottom:-30px;width:clamp(150px,15vw,240px);color:#fff;opacity:.1;pointer-events:none}
.ff__leaf svg{display:block;width:100%;height:auto}

.ff__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .8fr .9fr 1.3fr;gap:clamp(22px,2.6vw,46px)}
.ff .ff__brand .fh__logo{height:62px;box-shadow:0 10px 24px -14px rgba(44,10,54,.6)}
.ff .ff__tag{margin-top:16px;max-width:30ch;font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:19px;line-height:1.4;color:rgba(255,255,255,.92)}
.ff__social{display:flex;gap:10px;margin-top:20px}
.ff .ff__social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;transition:background .35s ease,color .35s ease,transform .35s ease}
.ff .ff__social a:hover{background:#fff;color:var(--c);transform:translateY(-3px)}
.ff__social svg{width:17px;height:17px}

.ff h3{font-size:16px;font-weight:700;color:#fff}
.ff .ff__list{margin-top:14px}
.ff .ff__list a{display:inline-flex;align-items:center;min-height:34px;font-size:14.5px;color:rgba(255,255,255,.8);transition:color .25s ease,transform .25s ease}
.ff .ff__list a:hover{color:#fff;transform:translateX(6px)}

.ff .ff__ct{display:flex;align-items:flex-start;gap:12px;margin-top:14px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.86)}
.ff a.ff__ct:hover,.ff .ff__ct a:hover{color:#fff;text-decoration:underline}
.ff__ct > span{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;margin-top:-4px;border-radius:50%;background:rgba(255,255,255,.14)}
.ff__ct svg{width:16px;height:16px}
.ff__pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ff__pay i{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-style:normal;font-weight:700;color:#fff}

.ff__bot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:clamp(26px,2.8vw,40px);padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.2);font-size:13.5px;color:rgba(255,255,255,.75)}
.ff .ff__bot a{font-weight:700;color:#fff}
.ff .ff__bot a:hover{text-decoration:underline}


/* ============================================================
   STICKY PAGE PARTS — clear the sticky header
   ============================================================ */
@media (min-width:1101px){
  body .lgal{top:96px}
}
@media (min-width:1081px){
  body .lsb{top:96px;max-height:calc(100vh - 116px)}
}
@media (min-width:981px){
  body .lct__side,body .lco__side,body .lok__side{top:96px}
  html body.woocommerce-account .lac .lac__nav{top:96px}
}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px){
  .fh .fh__menu{gap:4px 18px}
  .fh .fh__menu a{font-size:14.5px}
  .ff__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:992px){
  .fh__nav{grid-template-columns:1fr auto 1fr;gap:10px;min-height:68px;padding:8px 12px}
  .fh__menuwrap{display:none}
  .fh button.fh__burger{display:flex;justify-self:start;align-items:center;justify-content:center;width:46px;height:46px;margin:0;padding:0;border:1.5px solid rgba(255,255,255,.4);border-radius:14px;background:none;box-shadow:none;color:#fff;cursor:pointer}
  .fh button.fh__burger:hover,.fh button.fh__burger:focus{background:rgba(255,255,255,.12);color:#fff}
  .fh__burger svg{width:22px;height:22px}
  .fh .fh__logo{height:48px;padding:5px 12px}
  .fh__icons{justify-self:end;gap:2px}
  .fh .fh__icon{min-width:46px;height:46px}
  .fh .fh__icon .lbl{display:none}
  .fh .ccl-cart-count{right:4px}
  .fh.is-stuck .fh__bar{top:8px;width:94%}
  .fh.is-stuck .fh__nav{padding:6px 8px}
  .fh.is-stuck .fh__burger{border-radius:999px}
  .fh.is-stuck .fh__logo{height:40px}
}
@media (min-width:601px) and (max-width:782px){
  body.admin-bar .fh.is-stuck .fh__bar{top:54px}
}
@media (max-width:600px){
  .fh__top{min-height:38px;padding:6px 10px;gap:8px}
  .fh__msg{min-width:0;font-size:12.5px}
  .fh button.fh__arrow{display:none}
  .fh .fh__shop{min-height:28px;padding:0 12px;font-size:12px}
  .ff__grid{grid-template-columns:1fr 1fr;gap:26px 18px}
  .ff__brand,.ff__contact{grid-column:1 / -1}
  .ff__w{padding:26px 20px 0}
  .ff__bot{flex-direction:column;align-items:flex-start}
}
@media (max-width:380px){
  .fh .fh__logo{height:42px;padding:4px 10px}
  .fh .fh__icon{min-width:40px}
}
@media (prefers-reduced-motion:reduce){
  .fh *,.ff *{animation:none!important;transition:none!important}
}
@media print{
  .fh,.ff{display:none!important}
}

/* ============================================================
   LOGO — the artwork carries its own #7D029B background, the same
   purple as the header and footer, so it sits directly on the bar
   with no plate around it.
   ============================================================ */
.fh .fh__logo,
.ff .fh__logo,
.ff .ff__brand .fh__logo{height:68px;padding:0;border-radius:0;background:none;box-shadow:none}
.fh .fh__logo img,
.ff .fh__logo img{height:100%!important;width:auto!important;max-width:none}

.fh .fh__nav{min-height:84px;padding-top:8px;padding-bottom:8px}
.fh .fh__dhead .fh__logo{height:56px}
.ff .ff__brand .fh__logo{height:110px}

.fh.is-stuck .fh__nav{min-height:64px;padding-top:4px;padding-bottom:4px}
.fh.is-stuck .fh__logo{height:54px;padding:0;border-radius:0}

@media (max-width:992px){
  .fh .fh__nav{min-height:70px}
  .fh .fh__logo{height:58px;padding:0}
  .fh.is-stuck .fh__logo{height:48px}
}
@media (max-width:380px){
  .fh .fh__logo{height:52px;padding:0}
}

/* ============================================================
   HEADER WIDTH — the purple bar stays full width, but the logo,
   menu and icons sit inside a centred 1360px column.
   ============================================================ */
.fh .fh__nav{
  padding-left:max(clamp(16px,3vw,40px), calc((100% - 1360px) / 2));
  padding-right:max(clamp(16px,3vw,40px), calc((100% - 1360px) / 2));
}
.fh .fh__menuwrap{justify-content:center}
.fh .fh__menu{gap:4px clamp(18px,2.2vw,34px)}

/* sticky pill keeps its own tight padding */
.fh.is-stuck .fh__nav{padding-left:12px;padding-right:14px}

@media (max-width:992px){
  .fh .fh__nav,
  .fh.is-stuck .fh__nav{padding-left:12px;padding-right:12px}
}


/* ============================================================
   FOOTER — back to the dark plum of the original design
   ============================================================ */
.ff .ff__w{background:linear-gradient(120deg,#2C0A36 0%,#3B0F47 46%,#4A1359 100%)}
.ff .ff__leaf{opacity:.08}
.ff .ff__social a:hover{color:#3B0F47}