/* ============================================================
   SANDMEN N' WITCHES — shared brand system
   Ported from the client-approved Claude Design project.
   ============================================================ */
@font-face{
  font-family:'Flowers Kingdom';
  src:url('../fonts/FlowersKingdom.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}

:root{
  /* palette — sampled from brand artwork */
  --bg:#0a0a0a;
  --bg-2:#101010;
  --char:#151515;
  --panel:#171717;
  --panel-2:#1e1e1e;
  --ink:#ffffff;
  --paper:#f3efe6;
  --muted:#9b9b9b;
  --muted-2:#737373;
  --line:#2a2a2a;
  --line-2:#3a3a3a;
  --steel:#bdbdbd;     /* grey nav bar */
  --steel-d:#8f8f8f;
  --red:#d71f25;       /* brand scarlet */
  --red-d:#a3161b;
  --red-glow:rgba(215,31,37,.55);

  --disp:'Flowers Kingdom', 'Oswald', system-ui, sans-serif;
  --cond:'Oswald', system-ui, sans-serif;
  --body:'Barlow', system-ui, sans-serif;

  --maxw:1500px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--body);font-size:18px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
::selection{background:var(--red);color:#fff;}

h1,h2,h3,h4,h5{color:var(--ink);}

/* texture helpers ------------------------------------------------ */
.grain::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* type ----------------------------------------------------------- */
.disp{font-family:var(--disp);font-weight:400;line-height:.92;letter-spacing:.01em;}
.kicker{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.32em;
  font-weight:600;font-size:.72rem;color:var(--red);
}
.kicker.ghost{color:var(--muted);}
.red{color:var(--red);}

/* buttons -------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--cond);font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;font-size:.92rem;padding:.92em 1.7em;
  border:2px solid var(--ink);background:var(--ink);color:#0a0a0a;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease),
             background .2s, color .2s, border-color .2s;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.btn:hover{transform:translateY(-2px);}
.btn--red{background:var(--red);border-color:var(--red);color:#fff;}
.btn--red:hover{box-shadow:0 0 0 1px var(--red), 0 10px 30px -8px var(--red-glow), 0 0 26px -4px var(--red-glow);color:#fff;}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2);}
.btn--ghost:hover{border-color:var(--red);color:#fff;box-shadow:0 0 22px -6px var(--red-glow);}
.btn--sm{padding:.62em 1.05em;font-size:.78rem;letter-spacing:.1em;}

/* grey biker-club nav ------------------------------------------- */
.clubnav{
  background:linear-gradient(180deg,#c9c9c9,#a9a9a9);
  border-block:1px solid #00000055;position:sticky;top:0;z-index:150;
}
/* keep the sticky nav below the WP admin bar when logged in */
body.admin-bar .clubnav{top:32px;}
@media (max-width:782px){ body.admin-bar .clubnav{top:46px;} }
.clubnav__row{
  max-width:var(--maxw);margin:0 auto;display:flex;align-items:stretch;
  justify-content:center;flex-wrap:wrap;
}
.clubnav a{
  font-family:var(--cond);font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;font-size:.84rem;color:#1a1a1a;
  padding:.92em 1.2em;position:relative;transition:color .18s;
}
.clubnav a + a::before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:2px;background:#00000044;}
.clubnav a:hover{color:#000;}
.clubnav a.active{color:var(--red);}
.clubnav__cart .cart-count{margin-left:.5em;position:static;display:inline-grid;}
/* small screens: one compact row that side-scrolls instead of a tall stuck block */
@media (max-width:720px){
  .clubnav__row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .clubnav__row::-webkit-scrollbar{display:none;}
  .clubnav a{white-space:nowrap;flex:none;}
}

/* home: nav collapsed until "Shop the Line" --------------------- */
body.snw-home .clubnav{max-height:0;overflow:hidden;border-bottom-color:transparent;
  transition:max-height .5s cubic-bezier(.2,.8,.2,1),border-color .4s;}
body.snw-home.nav-open .clubnav{max-height:80px;border-bottom-color:var(--line);}
body.snw-home .clubnav__row{opacity:0;transform:translateY(-8px);transition:opacity .4s .08s,transform .4s .08s;}
body.snw-home.nav-open .clubnav__row{opacity:1;transform:none;}

/* home: locked full-screen hero --------------------------------- */
body.snw-home{display:flex;flex-direction:column;height:100dvh;overflow:hidden;}
body.snw-home .snw-content{flex:1;min-height:0;display:flex;flex-direction:column;}
body.snw-home .snw-content :is(main,.page-content,.elementor,.elementor-section-wrap){
  flex:1;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;padding:0;margin:0;}
body.snw-home .snw-content .e-con.hero{flex:1;min-height:0;--content-width:100%;}
body.snw-home .foot{display:none;}
body.snw-home .page-header{display:none;}
.page-header .entry-title{font-family:var(--disp);font-weight:400;}
.woocommerce-page .page-header,
.page .page-header{display:none;}

/* ---------- homepage hero ---------- */
.hero{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--bg);}
.hero__bg{position:absolute;inset:-6% -6% -6% -6%;background:url('../img/floral-pattern.png') center/cover no-repeat;
  opacity:.36;will-change:transform;}
.hero__veil{position:absolute;inset:0;background:
  linear-gradient(90deg, #0a0a0af7 0%, #0a0a0ae0 20%, #0a0a0a00 44%),
  radial-gradient(120% 90% at 50% 35%, #0a0a0a00 30%, #0a0a0acc 100%),
  linear-gradient(180deg,#0a0a0a55,#0a0a0a00 22%);}

.hero__grid{
  position:relative;z-index:3;height:100%;max-width:none;margin:0;
  display:grid;grid-template-columns:minmax(210px,300px) 1fr;
  align-content:center;
  gap:clamp(16px,2vw,36px);align-items:stretch;
  padding:clamp(10px,2vh,24px) clamp(16px,1.6vw,30px);
}

/* left intro column */
.intro{display:flex;flex-direction:column;min-height:0;gap:clamp(6px,1vh,14px);}
.intro__emblem-link{width:clamp(64px,7vw,92px);display:inline-block;perspective:600px;cursor:pointer;}
.intro__emblem{width:100%;filter:drop-shadow(0 6px 14px #000a);
  transform-style:preserve-3d;animation:coinspin 4.5s linear infinite;transition:filter .25s;}
.intro__emblem-link:hover .intro__emblem{filter:drop-shadow(0 6px 18px var(--red));}
@keyframes coinspin{to{transform:rotateY(360deg);}}
.intro__head{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.005em;
  font-size:clamp(2.1rem,3.6vw,3.5rem);line-height:.9;color:#fff;margin:.12rem 0 0;}
.intro__pre{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  font-size:clamp(1rem,1.5vw,1.35rem);line-height:1;color:#fff;margin:.2rem 0 0;}
.intro__copy{color:var(--muted);font-size:clamp(.76rem,.92vw,.9rem);line-height:1.62;max-width:32ch;text-align:justify;}
.intro__cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.2rem;}
.intro__moto{margin-top:clamp(6px,1.2vh,14px);width:100%;flex:1 1 0;min-height:0;
  max-height:clamp(140px,26vh,270px);
  object-fit:contain;object-position:left center;
  filter:drop-shadow(0 14px 22px #000b);
  animation:moto 6s ease-in-out infinite;}
@keyframes moto{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* centre patch */
.stage{display:grid;place-items:stretch;min-width:0;min-height:0;}
.patch{
  position:relative;width:100%;height:100%;max-width:none;
  border-radius:clamp(18px,2vw,30px);overflow:hidden;
  background:#000 url('../img/floral-pattern.png') center/cover no-repeat;
  border:2px solid #5a5a5a;box-shadow:0 0 0 6px #0d0d0d, 0 30px 70px -24px #000, inset 0 0 120px #000a;
  display:flex;flex-direction:column;
}
.patch::before{content:"";position:absolute;inset:10px;border-radius:inherit;pointer-events:none;z-index:4;}
.patch__art{flex:1;min-height:0;display:grid;place-items:center;padding:clamp(10px,2vw,26px) clamp(10px,2vw,26px) 0;position:relative;z-index:3;
  animation:float 7s ease-in-out infinite;}
.patch__art img{max-width:100%;max-height:100%;object-fit:contain;
  filter:drop-shadow(0 18px 30px #000c);will-change:transform;}
.patch__slogan{
  position:relative;z-index:3;text-align:center;padding:0 1rem clamp(14px,2.4vw,30px);
  font-family:var(--disp);font-size:clamp(1.1rem,2vw,2rem);color:var(--paper);
  letter-spacing:.02em;text-shadow:0 3px 10px #000;
}
.patch__slogan .red{color:var(--red);}
.patch__corner{position:absolute;width:clamp(80px,12vw,150px);opacity:.5;z-index:2;filter:invert(1) brightness(.85);pointer-events:none;}
.patch__corner.tl{top:-6px;left:-6px;}
.patch__corner.br{bottom:-6px;right:-6px;transform:rotate(180deg);}

/* social rail */
.rail{display:flex;flex-direction:row;align-items:center;gap:clamp(12px,1vw,18px);
  margin-top:clamp(10px,1.6vh,18px);flex:0 0 auto;z-index:5;}
.social{display:flex;}
.social a{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:#141414;border:1.5px solid var(--line-2);color:var(--ink);
  transition:transform .25s var(--ease),background .2s,border-color .2s,box-shadow .25s;
}
.social a:hover{
  transform:translateY(-3px) scale(1.06);background:var(--red);border-color:var(--red);
  box-shadow:0 0 22px -4px var(--red-glow);
}
.social svg{width:25px;height:25px;}

/* ---------- shop hero band ---------- */
.shopHero{position:relative;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line);}
.shopHero__bg{position:absolute;inset:0;background:url('../img/floral-corner.png') center center / cover no-repeat;
  filter:invert(1) brightness(.5);opacity:.5;will-change:transform;}
.shopHero__veil{position:absolute;inset:0;background:
  linear-gradient(90deg,#0a0a0af2 4%,#0a0a0a99 30%,#0a0a0a00 58%),
  linear-gradient(180deg,#0a0a0a00 60%,#0a0a0acc 100%);}
.shopHero__inner{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(24px,4vw,64px);
  min-height:clamp(460px,70vh,760px);
  padding:clamp(40px,6vw,84px) clamp(18px,3vw,46px) clamp(40px,6vw,80px);}

.shopHero__emblem{position:absolute;top:clamp(18px,3vw,34px);left:clamp(18px,3vw,46px);width:clamp(56px,6vw,84px);z-index:4;}

.catnav__emblem{filter:drop-shadow(0 6px 16px #000a);
  transform-style:preserve-3d;animation:coinspin 4.5s linear infinite;}

.shopHero__copyCol{position:relative;z-index:3;max-width:34rem;padding-top:clamp(52px,6vw,72px);}
.shopHero__copyCol .kicker{display:block;margin:0 0 1.1rem;}
.shopHero__h1{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;color:#fff;margin:0;}
.shopHero__h1 .red{color:var(--red);}
.shopHero__copy{color:var(--muted);max-width:44ch;margin:1.3rem 0 0;font-size:clamp(.9rem,1.05vw,1.05rem);line-height:1.6;}
.shopHero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;}
.shopHero__main{position:relative;display:flex;align-items:center;justify-content:center;
  animation:float 7.5s ease-in-out infinite;}
.shopHero__art{width:min(560px,100%);
  filter:drop-shadow(0 18px 36px #000) drop-shadow(0 0 30px #000);}

/* ---------- product section ---------- */
.shopMain{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,6vw,80px) clamp(28px,5vw,76px) clamp(50px,7vw,90px);scroll-margin-top:64px;}
.shopMain__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:3rem;}
.shopMain__head .kicker{margin:0 0 1.7rem;display:block;}
.shopMain__head h2{font-family:var(--disp);font-size:clamp(2.2rem,4vw,3.4rem);margin:0;line-height:1.12;padding-top:1.05em;font-weight:400;}
.shopMain__head p{color:var(--muted);font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin:.3rem 0 0;}
.chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem;}
.chip{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;
  padding:.55em 1.1em;border:1px solid var(--line-2);color:var(--steel);background:#101010;transition:.2s;display:inline-block;}
.chip:hover{color:#fff;border-color:var(--steel-d);}
.chip.active{background:var(--red);border-color:var(--red);color:#fff;}
.chip .n{opacity:.6;margin-left:.4em;}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:clamp(14px,1.6vw,22px);}
.empty{grid-column:1/-1;text-align:center;color:var(--muted-2);padding:4rem 1rem;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.16em;border:1px dashed var(--line-2);}
.empty b{display:block;color:var(--ink);font-family:var(--disp);font-size:2rem;letter-spacing:.02em;margin-bottom:.4rem;text-transform:none;}

/* product card --------------------------------------------------- */
.card{
  position:relative;background:var(--panel);border:1px solid var(--line);
  display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
}
.card:hover{transform:translateY(-5px);border-color:var(--red);
  box-shadow:0 18px 40px -18px #000, 0 0 0 1px var(--red), 0 0 30px -10px var(--red-glow);}
.card__media{
  position:relative;aspect-ratio:4/5;overflow:hidden;background:#0d0d0d;
  display:grid;place-items:center;
}
/* full photo (no crop) over a blurred copy of itself, so the studio backdrop
   fills the tile with no hard box edges */
.card__media .art-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:blur(22px) brightness(.82);transform:scale(1.12);z-index:1;}
.card__media .art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  transition:transform .5s var(--ease);z-index:2;filter:drop-shadow(0 10px 22px #0008);}
.card:hover .art{transform:scale(1.07) rotate(-1deg);}
.card__pat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;}
.badge{
  position:absolute;top:10px;left:10px;z-index:3;font-family:var(--cond);
  font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;
  padding:.3em .6em;background:var(--red);color:#fff;
}
.badge.new{background:#fff;color:#0a0a0a;}
.card__body{padding:1rem 1.05rem 1.15rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.card__cat{font-family:var(--cond);text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:var(--muted-2);}
.card__title{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:1.02rem;line-height:1.1;margin:0;}
.card__title a{color:inherit;}
.card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-top:.5rem;}
.price{font-family:var(--cond);font-weight:600;font-size:1.05rem;color:var(--ink);}
.price s,.price del{color:var(--muted-2);font-weight:400;margin-right:.45em;font-size:.85em;}
.price del .amount{color:var(--muted-2);}
.price .now,.price ins{color:var(--red);text-decoration:none;}
.price ins .amount{color:var(--red);}
.quick{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--muted);
  position:absolute;top:10px;right:12px;z-index:3;opacity:0;transition:opacity .25s;}
.card:hover .quick{opacity:1;}

/* cart drawer ---------------------------------------------------- */
.cart-toggle{position:relative;}
.cart-count{
  position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 4px;
  background:var(--red);color:#fff;border-radius:9px;font-family:var(--cond);
  font-size:.66rem;font-weight:700;display:grid;place-items:center;
}
.drawer-scrim{position:fixed;inset:0;background:#000a;backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:.3s;z-index:200;}
.drawer-scrim.open{opacity:1;visibility:visible;}
.drawer{
  position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);z-index:210;
  background:var(--char);border-left:1px solid var(--line-2);
  transform:translateX(100%);transition:transform .38s var(--ease);
  display:flex;flex-direction:column;
}
.drawer.open{transform:none;}
.drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.25rem;border-bottom:1px solid var(--line);}
.drawer__head h3{font-family:var(--disp);font-size:1.8rem;margin:0;font-weight:400;padding-top:.95em;line-height:1;}
.drawer__items{flex:1;overflow-y:auto;padding:.5rem 1.25rem;}
.ci{display:flex;gap:.85rem;padding:.85rem 0;border-bottom:1px solid var(--line);}
.ci__media{width:62px;height:62px;flex:none;background:#0d0d0d;border:1px solid var(--line);display:grid;place-items:center;}
.ci__media img{width:80%;height:80%;object-fit:contain;}
.ci__t{font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:.82rem;line-height:1.15;letter-spacing:.02em;}
.ci__p{color:var(--muted);font-size:.82rem;}
.ci__p .amount{color:inherit;}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);}
.qty button{width:26px;height:26px;display:grid;place-items:center;color:var(--ink);font-size:1rem;
  border:0;background:transparent;border-radius:0;padding:0;}
.qty button:hover{background:var(--red);}
.qty span{min-width:28px;text-align:center;font-family:var(--cond);font-size:.85rem;}
.ci__rm{color:var(--muted-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--cond);
  border:0;background:transparent;border-radius:0;padding:0;}
.ci__rm:hover{color:var(--red);background:transparent;}
.drawer__foot{padding:1.9rem 1.25rem 1.1rem;border-top:1px solid var(--line);}
.drawer__total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.9rem;}
.drawer__total .t{font-family:var(--cond);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;color:var(--muted);}
.drawer__total .v{font-family:var(--disp);font-size:2rem;}
.drawer__total .v .amount{color:var(--ink);}
.cart-empty{color:var(--muted-2);text-align:center;padding:3rem 1rem;font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;}

/* quick view modal ----------------------------------------------- */
.qv-scrim{position:fixed;inset:0;background:#000c;backdrop-filter:blur(3px);display:grid;place-items:center;z-index:300;
  opacity:0;visibility:hidden;transition:.28s;padding:20px;}
.qv-scrim.open{opacity:1;visibility:visible;}
.qv{background:var(--char);border:1px solid var(--line-2);max-width:760px;width:100%;
  display:grid;grid-template-columns:1fr 1fr;transform:translateY(16px) scale(.98);transition:.32s var(--ease);max-height:90vh;overflow:hidden;position:relative;}
.qv-scrim.open .qv{transform:none;}
.qv__media{position:relative;background:#0d0d0d;display:grid;place-items:center;min-height:300px;overflow:hidden;}
.qv__media .pat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;}
.qv__media .art{width:100%;height:100%;object-fit:cover;position:relative;z-index:2;}
.qv__body{padding:clamp(1.4rem,2.5vw,2.2rem);display:flex;flex-direction:column;}
.qv__cat{font-family:var(--cond);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--red);}
.qv__title{font-family:var(--disp);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:2.2;letter-spacing:.035em;word-spacing:.12em;margin:.95em 0 .5rem;font-weight:400;}
.qv__desc{color:var(--muted);font-size:.92rem;flex:1;}
.qv__price{font-family:var(--cond);font-size:1.5rem;font-weight:600;margin:1rem 0;}
.qv__price s,.qv__price del{color:var(--muted-2);font-weight:400;margin-right:.5em;font-size:.7em;}
.qv__price .now,.qv__price ins{color:var(--red);text-decoration:none;}
.qv__close{position:absolute;top:10px;right:12px;z-index:5;color:#fff;font-family:var(--cond);letter-spacing:.1em;font-size:.8rem;text-transform:uppercase;background:#0008;padding:.3em .6em;}
.qv__close:hover{color:var(--red);}

/* footer --------------------------------------------------------- */
.foot{background:var(--char);border-top:1px solid var(--line);}
.foot__grid{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,6vw,72px) clamp(18px,3vw,46px);
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px);}
.foot__brand img{width:254px;max-width:100%;margin-bottom:1.1rem;display:block;}
.foot__brand p{color:var(--muted);font-size:1.02rem;line-height:1.6;max-width:42ch;}
.foot h4{font-family:var(--cond);text-transform:uppercase;letter-spacing:.16em;font-size:.92rem;color:#fff;margin:0 0 1.1rem;}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem;}
.foot a{color:var(--muted);font-size:1.02rem;transition:color .18s;}
.foot a:hover{color:var(--red);}
.foot__social{display:flex;gap:.6rem;margin-top:.4rem;}
.foot__social a{width:38px;height:38px;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;color:#fff;transition:.2s;}
.foot__social a:hover{background:var(--red);border-color:var(--red);}
.foot__social svg{width:16px;height:16px;}
.foot__bar{border-top:1px solid var(--line);}
.foot__bar div{max-width:var(--maxw);margin:0 auto;padding:1.1rem clamp(18px,3vw,46px);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted-2);}

/* ---------- events ---------- */
.evtHero .shopHero__veil{background:
  linear-gradient(90deg,#0a0a0af2 0%,#0a0a0ad9 46%,#0a0a0aa6 100%),
  linear-gradient(180deg,#0a0a0a73 0%,#0a0a0a0d 38%,#0a0a0acc 100%);}
.evtHero__inner{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;perspective:600px;
  padding:clamp(48px,7vw,90px) clamp(18px,3vw,46px) clamp(20px,3vw,38px);}
.evtHero__inner .catnav__emblem{width:clamp(64px,6.5vw,96px);margin-bottom:1.4rem;}
.evtHero__inner .kicker{display:block;margin:0 0 2.4rem;}
.evtHero__h{font-family:var(--disp);font-size:clamp(2.6rem,7vw,6rem);line-height:1.04;margin:1.2em 0 0;font-weight:400;}
.evtHero__h .red{color:var(--red);}
.evtHero__copy{color:var(--muted);max-width:52ch;margin:4.5rem 0 0;font-size:clamp(.92rem,1.1vw,1.04rem);}

.evtMain{max-width:var(--maxw);margin:0 auto;padding:clamp(24px,3vw,44px) clamp(18px,3vw,46px) clamp(50px,7vw,90px);
  display:flex;flex-direction:column;gap:clamp(20px,3vw,40px);}

.evtcard{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line-2);
  box-shadow:0 30px 70px -34px #000, 0 0 40px -16px var(--red-glow);
  display:grid;grid-template-columns:.92fr 1.08fr;}
.evtcard__poster{position:relative;min-height:300px;overflow:hidden;
  background:#000 url('../img/floral-pattern.png') center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;padding:32px;}
.evtcard__poster::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% 30%,#0a0a0a00,#0a0a0acc 96%),linear-gradient(180deg,#0a0a0a55,#0a0a0a22);}
.evtcard__art{position:relative;z-index:2;width:min(300px,82%);object-fit:contain;
  filter:drop-shadow(0 16px 28px #000c);animation:float 6.5s ease-in-out infinite;}
.evtcard__emblem{position:absolute;z-index:3;top:16px;left:16px;width:48px;opacity:.95;filter:drop-shadow(0 4px 10px #000);}
.evtcard__flag{position:absolute;z-index:3;top:16px;right:16px;font-family:var(--cond);text-transform:uppercase;
  letter-spacing:.16em;font-size:.66rem;color:#fff;background:var(--red);padding:.34em .7em;}
.evtcard__body{position:relative;padding:clamp(24px,3vw,44px);background:var(--panel);}
.evtcard__title{font-family:var(--disp);font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.14;margin:1.15em 0 2.2rem;font-weight:400;}
.evtcard__title .red{color:var(--red);}

.evtsoon{border:1px dashed var(--line-2);padding:clamp(26px,4vw,46px);text-align:center;}
.evtsoon h3{font-family:var(--disp);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.14;margin:.75em 0 1.15rem;font-weight:400;}
.evtsoon h3 .red{color:var(--red);}
.evtsoon p{color:var(--muted);max-width:46ch;margin:0 auto 1.3rem;font-size:.96rem;}

/* event reminder popup ------------------------------------------ */
.evt-scrim{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;
  background:rgba(4,4,4,.74);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s;}
.evt-scrim.open{opacity:1;visibility:visible;}

.evt{position:relative;width:min(860px,100%);max-height:92vh;overflow:hidden;
  background:var(--panel);border:1px solid var(--line-2);
  box-shadow:0 40px 90px -30px #000, 0 0 0 6px #0d0d0d, 0 0 60px -10px var(--red-glow);
  display:grid;grid-template-columns:.92fr 1.08fr;
  transform:translateY(26px) scale(.96);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease);}
.evt-scrim.open .evt{transform:none;opacity:1;}
.evt::before{content:"";position:absolute;inset:0;border:1px solid #ffffff14;pointer-events:none;z-index:6;margin:7px;}

.evt__poster{position:relative;min-height:240px;overflow:hidden;
  background:#000 url('../img/floral-pattern.png') center/cover no-repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:34px 26px;}
.evt__poster::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% 30%,#0a0a0a00,#0a0a0acc 95%),linear-gradient(180deg,#0a0a0a55,#0a0a0a22);}
.evt__art{position:relative;z-index:2;width:min(260px,82%);object-fit:contain;
  filter:drop-shadow(0 16px 28px #000c);animation:evtfloat 6s ease-in-out infinite;}
@keyframes evtfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.evt__emblem{position:absolute;z-index:3;top:16px;left:16px;width:46px;opacity:.95;filter:drop-shadow(0 4px 10px #000);}

.evt__body{position:relative;padding:clamp(26px,3.4vw,46px) clamp(24px,3vw,42px);
  background:var(--panel);}
.evt__body::before{content:"";position:absolute;inset:0;
  background:url('../img/floral-pattern.png') center/cover no-repeat;opacity:.07;}
.evt__bodyinner{position:relative;z-index:2;}
.evt__tag{display:inline-flex;align-items:center;gap:.5em;font-family:var(--cond);text-transform:uppercase;
  letter-spacing:.2em;font-size:.7rem;font-weight:600;color:#fff;background:var(--red);padding:.42em .8em;}
.evt__tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 0 #fff;animation:evtpulse 1.8s infinite;}
@keyframes evtpulse{0%{box-shadow:0 0 0 0 #ffffffaa}70%{box-shadow:0 0 0 7px #fff0}100%{box-shadow:0 0 0 0 #fff0}}
.evt__title{font-family:var(--disp);font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.05;margin:1.15em 0 1.5rem;font-weight:400;}
.evt__title .red{color:var(--red);display:block;margin-top:.45em;}
.evt__sample{font-family:var(--cond);text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;color:var(--muted-2);margin:0 0 1.1rem;}
.evt__meta{display:flex;flex-direction:column;gap:.55rem;margin:0 0 1.1rem;border-top:1px solid var(--line);padding-top:1.1rem;}
.evt__row{display:flex;align-items:flex-start;gap:.7rem;color:var(--steel);font-family:var(--cond);
  text-transform:uppercase;letter-spacing:.1em;font-size:.92rem;line-height:1.3;}
.evt__row svg{width:18px;height:18px;color:var(--red);flex:none;margin-top:1px;}
.evt__row b{color:#fff;font-weight:600;}
.evt__desc{color:var(--muted);font-size:.98rem;line-height:1.6;margin:0 0 1.4rem;max-width:42ch;}
.evt__cta{display:flex;flex-wrap:wrap;gap:.7rem;}
.evt__close{position:absolute;z-index:7;top:12px;right:14px;width:38px;height:38px;cursor:pointer;
  background:#000a;color:#fff;border:1px solid var(--line-2);font-size:1.1rem;line-height:1;
  display:grid;place-items:center;transition:background .2s,color .2s,transform .2s;}
.evt__close:hover{background:var(--red);transform:rotate(90deg);}

/* cookie banner -------------------------------------------------- */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:400;
  display:flex;align-items:center;gap:clamp(12px,2vw,28px);flex-wrap:wrap;justify-content:center;
  background:#0d0d0deb;backdrop-filter:blur(6px);border-top:1px solid var(--line-2);
  padding:clamp(12px,1.6vw,18px) clamp(16px,3vw,46px);
  transform:translateY(110%);transition:transform .4s var(--ease);}
.cookiebar.show{transform:none;}
.cookiebar p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5;max-width:74ch;flex:1 1 420px;}
.cookiebar__btns{display:flex;gap:.6rem;flex:none;}

/* shared motion / reveal ---------------------------------------- */
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-.5deg)}}
@keyframes slide{to{transform:translateX(-50%);}}
[data-rise]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
[data-rise].in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;}
  [data-rise]{opacity:1;transform:none;}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  body.snw-home{height:auto;min-height:100dvh;overflow:visible;display:block;}
  body.snw-home .snw-content{display:block;}
  body.snw-home .snw-content > *,
  body.snw-home .snw-content .elementor,
  body.snw-home .snw-content .elementor-section-wrap{display:block;}
  .hero{overflow:visible;}
  .hero__grid{grid-template-columns:1fr;grid-auto-rows:min-content;gap:18px;padding-block:24px 34px;}
  .stage{order:-1;}
  .patch{max-width:100%;height:auto;aspect-ratio:1/1;}
  .intro__moto{max-width:260px;margin:6px auto 0;}
  .rail{position:static;transform:none;flex-direction:row;flex-wrap:wrap;gap:.7rem;margin-top:6px;}
  .intro{align-items:flex-start;text-align:left;}
}
@media (max-width:880px){
  .shopHero__inner{grid-template-columns:1fr;text-align:center;gap:clamp(20px,4vw,36px);min-height:0;padding-top:clamp(64px,12vw,90px);}
  .shopHero__copyCol{max-width:none;margin:0 auto;order:2;}
  .shopHero__copy{margin-left:auto;margin-right:auto;}
  .shopHero__cta{justify-content:center;}
  .shopHero__main{order:1;}
  .shopHero__art{width:min(420px,86%);}
  .qv{grid-template-columns:1fr;max-height:92vh;overflow:auto;}
  .foot__grid{grid-template-columns:1fr 1fr;row-gap:38px;}
}
@media (max-width:760px){
  .evtcard{grid-template-columns:1fr;}
  .evtcard__poster{min-height:220px;}
}
@media (max-width:680px){
  .evt{grid-template-columns:1fr;max-height:94vh;overflow:auto;}
  .evt__poster{min-height:180px;padding:26px 20px 18px;}
  .evt__art{width:min(180px,55%);}
}
@media (max-width:520px){ .foot__grid{grid-template-columns:1fr;row-gap:34px;} }

/* Hello Elementor / WP chrome neutralised ------------------------ */
.site-main{padding:0;margin:0;max-width:none;}
#wpadminbar{filter:none;}
body.admin-bar.snw-home{height:calc(100dvh - 32px);}

/* ============================================================
   EVENTS — Elementor-native widget bridges
   (page rebuilt with containers/headings/images/icon-list/buttons;
   these rules bind the approved design styles to Elementor markup)
   ============================================================ */
.e-con.evtHero{position:relative;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line);padding:0;display:block;}
.e-con.evtHero::before{content:"";position:absolute;inset:0;z-index:0;
  background:url('../img/floral-corner-hero.png') center center/cover no-repeat;opacity:.5;}
.e-con.evtHero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(90deg,#0a0a0af2 0%,#0a0a0ad9 46%,#0a0a0aa6 100%),
  linear-gradient(180deg,#0a0a0a73 0%,#0a0a0a0d 38%,#0a0a0acc 100%);}
.e-con.evtHero__inner{position:relative;z-index:3;display:block;max-width:var(--maxw);margin:0 auto;perspective:600px;
  padding:clamp(48px,7vw,90px) clamp(18px,3vw,46px) clamp(20px,3vw,38px);width:100%;}

.elementor-widget.ev-emblem{margin:0 0 1.4rem;text-align:left;}
.elementor-widget.ev-emblem img{width:clamp(64px,6.5vw,96px);filter:drop-shadow(0 6px 16px #000a);
  transform-style:preserve-3d;animation:coinspin 4.5s linear infinite;}
.elementor-widget.ev-kicker{margin:0 0 2.4rem;}
.elementor-widget.ev-kicker .elementor-heading-title{font-family:var(--cond);text-transform:uppercase;
  letter-spacing:.32em;font-weight:600;font-size:.72rem;color:var(--red);}
.elementor-widget.ev-title .elementor-heading-title{font-family:var(--disp);font-size:clamp(2.6rem,7vw,6rem);
  line-height:1.04;margin:1.2em 0 0;font-weight:400;color:var(--ink);}
.elementor-widget.ev-title .elementor-heading-title .red{color:var(--red);}
.elementor-widget.ev-copy{color:var(--muted);max-width:52ch!important;margin:4.5rem 0 0;font-size:clamp(.92rem,1.1vw,1.04rem);}
.elementor-widget.ev-copy p{margin:0;}

.e-con.evtMain{max-width:var(--maxw);margin:0 auto;width:100%;
  padding:clamp(24px,3vw,44px) clamp(18px,3vw,46px) clamp(50px,7vw,90px);
  display:flex;flex-direction:column;gap:clamp(20px,3vw,40px);}
.e-con.evtcard{display:grid;grid-template-columns:.92fr 1.08fr;padding:0;gap:0;}
.e-con.evtcard__poster{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;min-height:300px;}
.e-con.evtcard__body{display:block;padding:clamp(24px,3vw,44px);}

.elementor-widget.ev-card-emblem{position:absolute;z-index:3;top:16px;left:16px;width:48px;margin:0;}
.elementor-widget.ev-card-emblem img{opacity:.95;filter:drop-shadow(0 4px 10px #000);}
.elementor-widget.ev-card-art{position:relative;z-index:2;width:min(300px,82%);margin:0;}
.elementor-widget.ev-card-art img{object-fit:contain;filter:drop-shadow(0 16px 28px #000c);animation:float 6.5s ease-in-out infinite;}
.elementor-widget.ev-card-flag{position:absolute;z-index:3;top:16px;right:16px;width:auto;margin:0;}
.elementor-widget.ev-card-flag .elementor-heading-title{font-family:var(--cond);text-transform:uppercase;
  letter-spacing:.16em;font-size:.66rem;color:#fff;background:var(--red);padding:.34em .7em;font-weight:400;}

.elementor-widget.ev-tag .elementor-heading-title{display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:600;
  color:#fff;background:var(--red);padding:.42em .8em;}
.elementor-widget.ev-tag .elementor-heading-title::before{content:"";width:7px;height:7px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 0 #fff;animation:evtpulse 1.8s infinite;}
.elementor-widget.ev-card-title .elementor-heading-title{font-family:var(--disp);
  font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.14;margin:1.15em 0 .8em;font-weight:400;color:var(--ink);}
.elementor-widget.ev-card-title .elementor-heading-title .red{color:var(--red);}
.elementor-widget.ev-card-title{margin:0 0 2.2rem;}
.elementor-widget.ev-sample{margin:0 0 1.1rem;}
.elementor-widget.ev-sample .elementor-heading-title{font-family:var(--cond);text-transform:uppercase;
  letter-spacing:.18em;font-size:.64rem;color:var(--muted-2);font-weight:400;}

.elementor-widget.ev-meta{border-top:1px solid var(--line);padding-top:1.1rem;margin:0 0 1.1rem;}
/* Elementor flex containers zero out widget margins with higher specificity —
   restore the card's breathing room (meta list / description / buttons). */
.e-con .elementor-widget.ev-meta{margin-bottom:1.1rem!important;}
.e-con .elementor-widget.ev-desc{margin-bottom:1.2rem!important;}
.elementor-widget.ev-meta .elementor-icon-list-items{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0;}
.elementor-widget.ev-meta .elementor-icon-list-item{display:flex;align-items:flex-start;gap:.7rem;color:var(--steel);
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:.92rem;line-height:1.3;}
.elementor-widget.ev-meta .elementor-icon-list-item:first-child .elementor-icon-list-text{color:#fff;font-weight:600;}
.elementor-widget.ev-meta .elementor-icon-list-icon{color:var(--red);flex:none;margin-top:1px;}
.elementor-widget.ev-meta .elementor-icon-list-icon i{font-size:16px;color:var(--red);}
.elementor-widget.ev-meta .elementor-icon-list-icon svg{width:18px;height:18px;fill:currentColor;}
.elementor-widget.ev-meta .elementor-icon-list-text{color:inherit;}

.elementor-widget.ev-desc{color:var(--muted);font-size:.98rem;line-height:1.6;margin:0 0 1.4rem;max-width:42ch!important;}
.elementor-widget.ev-desc p{margin:0;}

.e-con.ev-cta{display:flex;flex-direction:row;flex-wrap:wrap;gap:.7rem;padding:0;}
.elementor-widget.ev-btn-red .elementor-button,
.elementor-widget.ev-btn-ghost .elementor-button{display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.92rem;
  padding:.92em 1.7em;border-radius:0;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s,border-color .2s;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);}
.elementor-widget.ev-btn-red .elementor-button{border:2px solid var(--red);background:var(--red);color:#fff;}
.elementor-widget.ev-btn-red .elementor-button:hover{transform:translateY(-2px);
  box-shadow:0 0 0 1px var(--red),0 10px 30px -8px var(--red-glow),0 0 26px -4px var(--red-glow);color:#fff;}
.elementor-widget.ev-btn-ghost .elementor-button{border:2px solid var(--line-2);background:transparent;color:var(--ink);}
.elementor-widget.ev-btn-ghost .elementor-button:hover{border-color:var(--red);color:#fff;
  box-shadow:0 0 22px -6px var(--red-glow);transform:translateY(-2px);}

.e-con.evtsoon{display:block;padding:clamp(26px,4vw,46px);}
.elementor-widget.ev-soon-h .elementor-heading-title{font-family:var(--disp);font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1.14;margin:.75em 0 1.15rem;font-weight:400;color:var(--ink);}
.elementor-widget.ev-soon-h .elementor-heading-title .red{color:var(--red);}
.elementor-widget.ev-soon-p{color:var(--muted);max-width:46ch!important;margin:0 auto 1.3rem;margin-inline:auto!important;font-size:.96rem;}
.elementor-widget.ev-soon-p p{margin:0;}
.evtsoon .elementor-button-wrapper{text-align:center;}

/* ============================================================
   HOME — Elementor-native widget bridges
   ============================================================ */
.e-con.hero{position:relative;overflow:hidden;background:var(--bg);display:block;padding:0;max-width:none;}
.e-con.hero__bg{position:absolute;inset:-6% -6% -6% -6%;width:auto;padding:0;min-height:0;display:block;}
.e-con.hero__veil{position:absolute;inset:0;width:auto;padding:0;min-height:0;display:block;}
.e-con.hero__grid{position:relative;z-index:3;height:100%;max-width:none;margin:0;width:100%;
  display:grid;grid-template-columns:minmax(210px,300px) 1fr;grid-template-rows:minmax(0,1fr);align-content:center;
  gap:clamp(16px,2vw,36px);align-items:stretch;
  padding:clamp(10px,2vh,24px) clamp(16px,1.6vw,30px);}
.e-con.intro{display:flex;flex-direction:column;min-height:0;gap:clamp(6px,1vh,14px);padding:0;align-items:flex-start;}
.e-con.intro > .elementor-widget{margin:0;}
.e-con.stage{display:grid;place-items:stretch;min-width:0;min-height:0;padding:0;}
.e-con.patch{display:flex;flex-direction:column;padding:0;min-height:0;}
/* the inner frame is drawn in CSS so it is always crisp, correctly closed and
   perfectly aligned — the source PNG only supplies the paisley texture */


.elementor-widget.hm-emblem{width:clamp(64px,7vw,92px);max-width:clamp(64px,7vw,92px);perspective:600px;text-align:left;}
.elementor-widget.hm-emblem img{width:100%;filter:drop-shadow(0 6px 14px #000a);
  transform-style:preserve-3d;animation:coinspin 4.5s linear infinite;transition:filter .25s;}
.elementor-widget.hm-emblem a:hover img{filter:drop-shadow(0 6px 18px var(--red));}
.elementor-widget.hm-pre .elementor-heading-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1;color:#fff;margin:.2rem 0 0;}
.elementor-widget.hm-head .elementor-heading-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  letter-spacing:.005em;font-size:clamp(2.1rem,3.6vw,3.5rem);line-height:.9;color:#fff;margin:.12rem 0 0;}
.elementor-widget.hm-copy{color:var(--muted);font-size:clamp(.76rem,.92vw,.9rem);line-height:1.62;
  max-width:32ch!important;text-align:justify;}
.elementor-widget.hm-copy p{margin:0;}
.elementor-widget.hm-shopline{margin-top:.2rem;}
.elementor-widget.hm-moto{margin-top:clamp(6px,1.2vh,14px);width:100%;flex:1 1 0;min-height:0;text-align:left;}
.elementor-widget.hm-moto .elementor-widget-container{height:100%;}
.elementor-widget.hm-moto img{width:100%;height:100%;max-height:clamp(140px,26vh,270px);
  object-fit:contain;object-position:left center;filter:drop-shadow(0 14px 22px #000b);
  animation:moto 6s ease-in-out infinite;}
.elementor-widget.hm-social{margin-top:clamp(10px,1.6vh,18px);}
.hm-social .elementor-social-icons-wrapper{display:flex;gap:clamp(12px,1vw,18px);}
.elementor-widget-social-icons.hm-social a.elementor-icon.elementor-social-icon{
  width:54px!important;height:54px!important;border-radius:50%!important;display:grid;place-items:center;
  background:#141414!important;background-color:#141414!important;border:1.5px solid var(--line-2)!important;
  color:var(--ink);margin:0!important;font-size:25px;
  transition:transform .25s var(--ease),background .2s,border-color .2s,box-shadow .25s;}
.elementor-widget-social-icons.hm-social a.elementor-icon.elementor-social-icon:hover{
  transform:translateY(-3px) scale(1.06);
  background:var(--red)!important;background-color:var(--red)!important;
  border-color:var(--red)!important;box-shadow:0 0 22px -4px var(--red-glow);}
.elementor-widget-social-icons.hm-social a.elementor-social-icon svg{width:25px;height:25px;fill:#fff!important;}
.elementor-widget-social-icons.hm-social a.elementor-social-icon i{font-size:25px;color:#fff!important;}

.elementor-widget.hm-corner-tl,
.elementor-widget.hm-corner-br{position:absolute;width:clamp(80px,12vw,150px);opacity:.5;z-index:2;pointer-events:none;margin:0;}
.elementor-widget.hm-corner-tl{top:-6px;left:-6px;}
.elementor-widget.hm-corner-br{bottom:-6px;right:-6px;transform:rotate(180deg);}
.elementor-widget.hm-corner-tl img,
.elementor-widget.hm-corner-br img{filter:invert(1) brightness(.85);width:100%;}

/* ---- content anchored to the two frames drawn in floral-pattern.png ----
   The pattern art contains a large panel (x 23.3–80%, y 6–65.2%) and a lower
   text band (y 71.2–100%). Stretching the background to 100% 100% pins those
   frames to fixed percentages of the patch, so the artwork and slogan can be
   absolutely placed INSIDE their own frame at every viewport size. */
.elementor-widget.hm-art{flex:1 1 0;min-height:0;position:relative;z-index:3;
  display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);
  place-items:center;animation:float 7s ease-in-out infinite;
  padding:clamp(10px,2vw,26px) clamp(10px,2vw,26px) clamp(12px,2.2vh,30px);}
.elementor-widget.hm-art img{width:100%;height:100%;min-height:0;object-fit:contain;
  filter:drop-shadow(0 18px 30px #000c);will-change:transform;}
.elementor-widget.hm-slogan{position:relative;z-index:3;flex:0 0 auto;}
/* sized to sit on one line inside the band; line-height 1.9 covers the
   Flowers Kingdom glyph overshoot if it ever does wrap */
.elementor-widget.hm-slogan .elementor-heading-title{text-align:center;padding:1.15em 1rem clamp(14px,2.4vw,30px);
  font-family:var(--disp);font-size:clamp(1.1rem,2vw,2rem);color:var(--paper);
  letter-spacing:.02em;text-shadow:0 3px 10px #000;font-weight:400;line-height:1.2;}
.elementor-widget.hm-slogan .elementor-heading-title .red{color:var(--red);}

@media (max-width:900px){
  body.snw-home .elementor > .e-con.hero{flex:none;}
  .e-con.hero__grid{grid-template-columns:1fr;grid-auto-rows:min-content;gap:18px;padding-block:24px 34px;height:auto;}
  .e-con.stage{order:-1;}
  .e-con.patch{max-width:100%;height:auto;aspect-ratio:1/1;}
  .elementor-widget.hm-moto{max-width:260px!important;margin:6px auto 0;margin-inline:auto!important;flex:0 0 auto;}
  .elementor-widget.hm-moto img{height:auto;max-height:none;}
  /* MOBILE: the pattern's frames only span 57% of the image width, which
     starved the artwork on small screens. Zoom the background so the two
     frames fill the patch, then give the content almost the whole patch. */
  .elementor-widget.hm-art{min-height:0;}
  .elementor-widget.hm-slogan .elementor-heading-title{
    white-space:normal;font-size:clamp(.62rem,3.05vw,1.15rem);line-height:1.9;}
}


/* mobile: slogan wraps to two lines — the display font needs real leading there */
@media (max-width:760px){
  .elementor-widget.hm-slogan .elementor-heading-title{line-height:1.9;}
  .patch__slogan{line-height:1.9;}
}

/* ============================================================
   CURRENCY SWITCHER (SGD / MYR) — sits in the grey club nav
   ============================================================ */
.snw-cur{display:inline-flex;align-items:center;gap:2px;margin-left:.9em;
  padding:.18em;border:1px solid #00000033;background:#00000018;}
.snw-cur__opt{
  font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  font-size:.7rem;line-height:1;color:#3a3a3a;padding:.5em .7em;transition:.18s;}
.snw-cur__opt:hover{color:#000;background:#ffffff5c;}
.snw-cur__opt.is-active{background:var(--red);color:#fff;}
.clubnav .snw-cur__opt + .snw-cur__opt::before{content:none;}
@media (max-width:600px){
  .snw-cur{margin-left:.4em;}
  .snw-cur__opt{font-size:.64rem;padding:.45em .55em;}
}

/* price shown in the visitor's own currency (no conversion note) */
.price .snw-cur-note{display:none;}

/* Home collapses the club nav (approved design) and fades it with opacity:0,
   which a child can't escape — so the home page gets its own floating copy. */
.snw-cur-float{position:fixed;top:14px;right:16px;z-index:60;}
.snw-cur-float .snw-cur{margin:0;background:#0d0d0dd9;border-color:#ffffff2b;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.snw-cur-float .snw-cur__opt{color:#c9c9c9;}
.snw-cur-float .snw-cur__opt:hover{color:#fff;background:#ffffff1f;}
.snw-cur-float .snw-cur__opt.is-active{background:var(--red);color:#fff;}


