/*
Theme Name: Sweet Hop
Theme URI: https://sweethop.com
Author: Sweet Hop
Description: Custom premium WordPress theme for Sweet Hop Swedish Candy.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: sweethop
*/

/* ============================================================
   SWEET HOP — GLOBAL BASE CSS
   Exact match to approved sweethop-homepage.html
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:#FFF5F7;color:#1A0A14;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:'Jost',sans-serif}
ul{list-style:none}

/* ── VARIABLES ── */
:root{
  --pink:#E8325A;
  --pink-deep:#C01E44;
  --pink-light:#FFF0F3;
  --pink-mid:#F4A0B0;
  --plum:#1A0A14;
  --plum-soft:#2D0A1E;
  --plum-mid:#5C2D42;
  --orange:#FF7A3C;
  --orange-mid:#FFB347;
  --orange-light:#FFF4EC;
  --cream:#FFF5F7;
  --cream-dark:#F5E0E5;
  --white:#FFFFFF;
  --border:rgba(26,10,20,.10);
  --border-strong:rgba(26,10,20,.18);
  --muted:#7A4055;
  --muted-light:#B08090;
  /* sh- prefixed aliases for WP templates */
  --sh-pink:#E8325A;
  --sh-pink-deep:#C01E44;
  --sh-pink-light:#FFF0F3;
  --sh-plum:#1A0A14;
  --sh-plum-soft:#2D0A1E;
  --sh-orange:#FF7A3C;
  --sh-orange-mid:#FFB347;
  --sh-cream:#FFF5F7;
  --sh-white:#FFFFFF;
  --sh-border:rgba(26,10,20,.10);
  --sh-border-strong:rgba(26,10,20,.18);
  --sh-muted:#7A4055;
  --sh-shadow:0 4px 24px rgba(26,10,20,.08);
  --sh-shadow-lg:0 8px 48px rgba(26,10,20,.14);
  --sh-transition:.22s ease;
}

/* ── CONTAINER ── */
.container,.sh-container{max-width:1240px;margin:0 auto;padding:0 48px}
@media(max-width:768px){.container,.sh-container{padding:0 24px}}

/* ── TAG / EYEBROW ── */
.tag,.sh-tag{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;
  letter-spacing:.20em;text-transform:uppercase;color:var(--pink);margin-bottom:16px}
.tag::before,.sh-tag::before{content:'';display:block;width:24px;height:1.5px;
  background:var(--pink);flex-shrink:0}
.tag.orn,.sh-tag.orange{color: #e9b8b6;}
.tag.orn::before,.sh-tag.orange::before{background: #e9b8b6;}
.tag.ctr,.sh-tag.center{justify-content:center}
.tag.ctr::before,.sh-tag.center::before{display:none}

/* ── HEADINGS ── */
/* EXACT: h2.ttl — 44px Playfair, plum */
h2.ttl,.sh-section-title{
  font-family:'Playfair Display',serif;font-size:44px;font-weight:500;
  line-height:1.08;letter-spacing:-.01em;color:var(--plum);margin-bottom:14px}
h2.ttl em,.sh-section-title em{font-style:italic;color:var(--pink)}
/* EXACT: .lt = white, .oe em = orange-mid */
h2.ttl.lt,.sh-section-title.light{color:#fff}
h2.ttl.oe em,.sh-section-title.orange-em em{color: #e9b8b6;}
h2.ttl.lt.oe,.sh-section-title.light.orange-em{color:#fff}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:500;line-height:1.1}
h1{font-size:clamp(36px,5vw,66px)}
h3{font-size:clamp(20px,2.5vw,26px)}
h4{font-size:20px}
@media(max-width:768px){h2.ttl,.sh-section-title{font-size:34px}}

/* ── SUBTEXT ── */
/* EXACT: .sub = 15px 300 muted, .lt = rgba white .58 */
.sub,.sh-section-sub{font-size:15px;font-weight:300;color:var(--muted);line-height:1.75;max-width:480px}
.sub.lt,.sh-section-sub.light{color: rgb(255 255 255);}
p{font-size:15px;line-height:1.75;color:var(--muted);font-weight:300}

/* ── BUTTONS ── */
/* EXACT: 14px 32px padding, 12px 600 Jost, 0.12em tracking */
.btn,.sh-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Jost',sans-serif;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  border:none;padding:14px 32px;transition:all .22s ease;white-space:nowrap}
.btn-pk,.sh-btn-pink{background:var(--pink);color:#fff}
.btn-pk:hover,.sh-btn-pink:hover{background:var(--pink-deep);color:#fff}
.btn-pl,.sh-btn-plum{background:var(--plum);color:#fff}
.btn-pl:hover,.sh-btn-plum:hover{background:var(--plum-soft)}
.btn-or,.sh-btn-orange{background: #e8325a;color:#fff}
.btn-or:hover,.sh-btn-orange:hover{background: #d71b44;}
/* EXACT: ghost white = transparent + 1.5px white border */
.btn-ow,.sh-btn-ghost-white{background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn-ow:hover,.sh-btn-ghost-white:hover{background:rgba(255,255,255,.10)}
.sh-btn-outline{background:transparent;border:1.5px solid var(--border-strong);color:var(--plum)}
.sh-btn-outline:hover{border-color:var(--pink);color:var(--pink)}
.arr,.sh-arr{display:inline-block;transition:transform .2s}
.btn:hover .arr,.sh-btn:hover .sh-arr{transform:translateX(4px)}

/* ── ANNOUNCE BAR ── */
/* EXACT: plum bg, .72 white text, orange-mid bold */
.ann,.sh-announce-bar{
  background:var(--plum);color:rgba(255,255,255,.72);text-align:center;
  font-size:11.5px;font-weight:500;letter-spacing:.10em;text-transform:uppercase;padding:11px 16px}
.ann b,.sh-announce-bar strong{color:var(--orange-mid)}
.ann .s,.sh-announce-bar .sep{color:rgba(255,255,255,.2);margin:0 14px}

/* ── SECTION WRAPPERS ── */
.sec,.sh-section{padding:96px 0}
.sec-cr,.sh-section-cream{background:var(--cream)}
.sec-wh,.sh-section-white{background:var(--white)}
.sec-pl,.sh-section-plum{background: #495e79;}
.sec-hd,.sh-section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px}
@media(max-width:768px){
  .sec,.sh-section{padding:64px 0}
  .sec-hd,.sh-section-header{flex-direction:column;align-items:flex-start;gap:12px}
}

/* ── VIEW ALL LINK ── */
/* EXACT: pink, flex, gap:8px, transitions to gap:12px */
.val,.sh-view-all{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pink);display:flex;align-items:center;gap:8px;
  transition:gap .2s;flex-shrink:0;margin-bottom:4px}
.val:hover,.sh-view-all:hover{gap:12px}

/* ── TRUST BAR ── */
/* EXACT: white bg, plum-soft text, 11.5px 500 */
.trust,.sh-trust-bar{background:var(--white);border-bottom:1px solid var(--border)}
.trust-in,.sh-trust-bar__inner{display:flex;max-width:1240px;margin:0 auto}
.trust-item,.sh-trust-item{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:20px 12px;border-right:1px solid var(--border);
  font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--plum-soft)}
.trust-item:last-child,.sh-trust-item:last-child{border-right:none}
.tdot,.sh-trust-dot{width:6px;height:6px;border-radius:50%;background:var(--pink);flex-shrink:0}
@media(max-width:768px){
  .trust-in,.sh-trust-bar__inner{flex-wrap:wrap}
  .trust-item,.sh-trust-item{flex:1 1 50%;border-bottom:1px solid var(--border)}
}

/* ── FAQ ITEMS ── */
.faq-item,.sh-faq-item{border-bottom:1px solid var(--border);padding:24px 0}
.faq-item:first-child,.sh-faq-item:first-child{border-top:1px solid var(--border)}
.faq-q,.sh-faq-question{font-family:'Playfair Display',serif;font-size:17px;font-weight:500;
  color:var(--plum);display:flex;justify-content:space-between;align-items:flex-start;
  gap:16px;cursor:pointer;user-select:none}
.faq-q:hover,.sh-faq-question:hover{color:var(--pink)}
.faq-tog,.sh-faq-toggle{width:26px;height:26px;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;font-size:16px;
  flex-shrink:0;color:var(--pink);margin-top:1px;transition:transform .2s}
.faq-a,.sh-faq-answer{font-size:13.5px;color:var(--muted);font-weight:300;
  line-height:1.75;margin-top:12px;display:none}
.faq-item.open .faq-a,.sh-faq-item.open .sh-faq-answer{display:block}
.faq-item.open .faq-tog,.sh-faq-item.open .sh-faq-toggle{transform:rotate(45deg)}

/* ── FORMS (DARK — contact section) ── */
/* EXACT: subtle white tint bg, bottom border emphasis */
.fi,.ft,.fs,.sh-input,.sh-textarea{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.22);
  color:#fff;padding:14px 18px;font-family:'Jost',sans-serif;
  font-size:14px;font-weight:300;width:100%;
  outline:none;transition:border-color .2s,background .2s;appearance:none}
.fi::placeholder,.ft::placeholder,.sh-input::placeholder,.sh-textarea::placeholder{color:rgba(255,255,255,.28)}
.fi:focus,.ft:focus,.sh-input:focus,.sh-textarea:focus{
  border-color:rgba(232,50,90,.6);background:rgba(255,255,255,.07)}
.ft,.sh-textarea{resize:none;min-height:130px}
.fs,.sh-select{color:#fff}
.fs option,.sh-select option{background:var(--plum);color:#fff}
/* Light forms */
.sh-input.light{background:#fff;border:1px solid var(--border-strong);
  border-bottom:1px solid var(--border-strong);color:var(--plum)}
.sh-input.light::placeholder{color:var(--muted)}
.sh-input.light:focus{border-color:var(--pink)}

/* ── SCROLL REVEAL ── */
.rv,.sh-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.rv.on,.sh-reveal.visible{opacity:1;transform:translateY(0)}
.rv.d1,.sh-reveal-d1{transition-delay:.10s}
.rv.d2,.sh-reveal-d2{transition-delay:.20s}
.rv.d3,.sh-reveal-d3{transition-delay:.30s}

/* ── PAGE HERO (inner pages) ── */
.sh-page-hero{background:var(--plum);padding:64px 0;text-align:center;position:relative;overflow:hidden}
.sh-page-hero::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 60% 50%,rgba(232,50,90,.15) 0%,transparent 65%)}
.sh-page-hero h1{color:#fff;position:relative;z-index:1}
.sh-page-hero p{color:rgba(255,255,255,.6);max-width:560px;margin:12px auto 0;position:relative;z-index:1}

/* ── BREADCRUMBS ── */
.sh-breadcrumbs{padding:14px 0;font-size:12px;color:var(--muted)}
.sh-breadcrumbs a{color:var(--pink)}
.sh-breadcrumbs span{margin:0 6px;opacity:.5}

/* ── PAGINATION ── */
.sh-pagination{display:flex;justify-content:center;gap:8px;padding:48px 0 0}
.sh-pagination a,.sh-pagination span{width:40px;height:40px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--border-strong);font-size:13px;
  font-weight:500;color:var(--plum);transition:all .22s}
.sh-pagination a:hover,.sh-pagination .current{background:var(--pink);border-color:var(--pink);color:#fff}

/* ── NOTICE ── */
.sh-notice{padding:14px 18px;border-left:3px solid var(--pink);background:var(--pink-light);
  font-size:14px;margin-bottom:24px;color:var(--plum)}

/* ── SHOP LAYOUT ── */
.sh-shop-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start}
@media(max-width:1024px){.sh-shop-layout{grid-template-columns:1fr}}
.sh-sidebar{position:sticky;top:112px}
.sh-filter-widget{margin-bottom:32px}
.sh-filter-title{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--plum);padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:16px}
.sh-filter-item{display:flex;align-items:center;gap:10px;padding:8px 0;
  font-size:14px;color:var(--muted);cursor:pointer;transition:color .22s}
.sh-filter-item:hover{color:var(--pink)}
.sh-filter-item input[type="checkbox"]{accent-color:var(--pink)}

/* ── WOOCOMMERCE OVERRIDES ── */
.woocommerce-message,.woocommerce-info{background:var(--pink-light);border-top-color:var(--pink);color:var(--plum)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce #payment #place_order{
  background:var(--pink)!important;color:#fff!important;border-radius:0!important;
  font-family:'Jost',sans-serif!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:.10em!important;text-transform:uppercase!important;
  padding:13px 28px!important;transition:background .22s!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--pink-deep)!important}
.woocommerce .star-rating span::before{color:var(--orange-mid)}
.woocommerce span.onsale{background:var(--pink);border-radius:0;font-family:'Jost',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  min-height:auto;padding:5px 12px;line-height:1.5;top:14px;left:0;right:auto}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{color:var(--plum);border:1px solid var(--border-strong)}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--pink);color:#fff;border-color:var(--pink)}
.woocommerce table.shop_table{border:1px solid var(--border)}
.woocommerce table.shop_table th{background:var(--plum);color:#fff;font-family:'Jost',sans-serif;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1px solid var(--border-strong)!important;padding:12px 14px!important;
  font-size:14px!important;color:var(--plum)!important;
  font-family:'Jost',sans-serif!important;border-radius:0!important;
  background:#fff!important;outline:none!important}
.woocommerce form .form-row input.input-text:focus{border-color:var(--pink)!important}
.woocommerce .woocommerce-checkout #payment{background:var(--cream)}
.woocommerce-account .woocommerce-MyAccount-navigation{background:var(--plum);padding:8px 0}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:block;padding:13px 24px;font-size:12.5px;font-weight:500;letter-spacing:.07em;
  text-transform:uppercase;color:rgba(255,255,255,.55);
  border-left:2px solid transparent;transition:all .22s}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
  color:var(--orange-mid);border-left-color:var(--orange-mid);background:rgba(255,255,255,.04)}



/* ============================================================
   SWEET HOP — Homepage CSS
   Pixel-perfect match to approved sweethop-homepage.html
   ============================================================ */

/* ── HERO ── */
.hero,.sh-hero{
  position:relative;width:100%;min-height:92vh;overflow:hidden;
  display:flex;align-items:center;
  background:linear-gradient(135deg,#1A0A14 0%,#3D1428 45%,#5C1A30 100%);
}
.hero-bg,.sh-hero__bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:right center;display:block;z-index:0;
}
.hero-overlay,.sh-hero__overlay{display:none}
.hero-content,.sh-hero__content{
  position:relative;z-index:2;width:100%;max-width:1240px;
  margin:0 auto;padding:0 48px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
}
.hero-copy,.sh-hero__copy{max-width:580px;padding:80px 0}

.hero-h1,.sh-hero__h1{
  font-family:'Playfair Display',serif;
  font-size:76px;font-weight:500;line-height:1.02;
  letter-spacing:-0.025em;color:var(--plum);margin-bottom:28px;
}
.hero-h1 em,.sh-hero__h1 em{font-style:italic;color:var(--pink)}
.hero-h1 .hero-h1-line2,.sh-hero__h1 .hero-h1-line2{
  display:block;font-size:56px;font-weight:400;
  color:var(--plum-mid);letter-spacing:-0.01em;
}
.hero-divider,.sh-hero__divider{
  width:52px;height:2px;
  background:linear-gradient(90deg,var(--pink),var(--orange));
  margin-bottom:24px;
}
.hero-p,.sh-hero__sub{
  font-size:17px;font-weight:300;color:var(--muted);
  line-height:1.8;max-width:460px;margin-bottom:40px;
}
.hero-ctas,.sh-hero__ctas{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero-tl,.sh-hero__text-link{
  font-size:12px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--plum-mid);display:flex;align-items:center;gap:8px;
  transition:gap .2s,color .2s;
  border-bottom:1px solid rgba(26,10,20,.25);padding-bottom:2px;
}
.hero-tl:hover,.sh-hero__text-link:hover{gap:12px;color:var(--plum);border-bottom-color:rgba(26,10,20,.6)}
.hero-stats,.sh-hero__stats{
  display:flex;gap:0;margin-top:52px;padding-top:40px;
  border-top:1px solid rgba(26,10,20,.12);
}
.hero-stat,.sh-hero__stat{
  flex:1;padding-right:32px;margin-right:32px;
  border-right:1px solid rgba(26,10,20,.10);
}
.hero-stat:last-child,.sh-hero__stat:last-child{border-right:none;padding-right:0;margin-right:0}
.stat-n,.sh-hero__stat-n{
  font-family:'Playfair Display',serif;font-size:34px;
  font-weight:500;color:var(--plum);line-height:1;
}
.stat-n span{color:var(--pink)}
.stat-l,.sh-hero__stat-l{
  font-size:11px;font-weight:400;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin-top:6px;
}
.hero-scroll,.sh-hero__scroll{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(26,10,20,.40);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:500;cursor:pointer;
}
.hero-scroll-line,.sh-hero__scroll-line{
  width:1px;height:40px;
  background:linear-gradient(to bottom,rgba(26,10,20,.3),transparent);
  animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:.8}}
@media(max-width:1024px){
  .hero-h1,.sh-hero__h1{font-size:58px}
  .hero-h1 .hero-h1-line2{font-size:44px}
}
@media(max-width:768px){
  .hero,.sh-hero{min-height:75vh}
  .hero-content,.sh-hero__content{padding:0 24px}
  .hero-copy,.sh-hero__copy{padding:60px 0 80px}
  .hero-h1,.sh-hero__h1{font-size:42px}
  .hero-h1 .hero-h1-line2{font-size:32px}
  .hero-p,.sh-hero__sub{font-size:15px}
  .hero-stat,.sh-hero__stat{padding-right:20px;margin-right:20px}
  .stat-n,.sh-hero__stat-n{font-size:26px}
  .hero-scroll,.sh-hero__scroll{display:none}
}

/* ── COLLECTIONS ── */
.col-grid,.sh-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.col-card,.sh-product-card{background:var(--white);position:relative;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .28s ease}
.col-card:hover,.sh-product-card:hover{transform:translateY(-4px)}
.col-card:hover .col-img img,.sh-product-card:hover .sh-product-card__img img{transform:scale(1.06)}
.col-img,.sh-product-card__img{height:220px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#FFB7C5 0%,#FF8FAB 50%,#E8325A 100%)}
.col-img.sour-bg{background:linear-gradient(135deg,#A8E063 0%,#56AB2F 50%,#F7971E 100%)}
.col-img.fruit-bg{background:linear-gradient(135deg,#F953C6 0%,#B91D73 50%,#FF6B9D 100%)}
.col-img.vegan-bg{background:linear-gradient(135deg,#56AB2F 0%,#A8E063 50%,#DBEFB0 100%)}
.col-img img,.sh-product-card__img img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .4s ease;display:block}
.col-ov,.sh-product-card__img-overlay{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,10,20,.18) 0%,transparent 60%)}
.col-body,.sh-product-card__body{padding:24px 24px 28px;flex:1;display:flex;flex-direction:column}
.col-name,.sh-product-card__name{font-family:'Playfair Display',serif;font-size:20px;
  font-weight:500;margin-bottom:6px;color:var(--plum)}
.col-desc,.sh-product-card__desc{font-size:13px;color:var(--muted);font-weight:300;
  line-height:1.6;margin-bottom:20px;flex:1}
.col-ft,.sh-product-card__footer{display:flex;justify-content:space-between;align-items:center}
.col-price,.sh-product-card__price{font-size:14px;font-weight:600;color:var(--pink)}
.col-arrow,.sh-col-arrow{width:32px;height:32px;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;font-size:14px;
  color:var(--plum);transition:all .2s}
.col-card:hover .col-arrow,.sh-product-card:hover .sh-col-arrow{background:var(--pink);border-color:var(--pink);color:#fff}
.col-badge,.sh-product-card__badge{position:absolute;top:16px;left:0;background:var(--pink);
  color:#fff;font-size:9px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 14px;z-index:2}
.col-badge.or,.sh-product-card__badge.orange{background:var(--orange)}
@media(max-width:1024px){.col-grid,.sh-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.col-grid,.sh-product-grid{grid-template-columns:1fr 1fr;gap:1px}}

/* ── BUILD BAG ── */
.build-grid,.sh-build__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.build-steps,.sh-build__steps{display:flex;flex-direction:column;margin:32px 0 40px}
.bstep,.sh-build__step{display:flex;gap:24px;padding:24px 0;
  border-bottom:1px solid rgba(255,255,255,.07);align-items:flex-start}
.bstep:first-child,.sh-build__step:first-child{border-top:1px solid rgba(255,255,255,.07)}
.bnum,.sh-build__step-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:400;
  color:#e9b8b6;line-height:1;min-width:32px;padding-top:2px}
.btitle,.sh-build__step-title{font-size:15px;font-weight:500;color:#fff;margin-bottom:4px}
.bdesc,.sh-build__step-desc{font-size:13px;color:rgba(255,255,255,.45);font-weight:300;line-height:1.6}

/* Candy picker */
.picker,.sh-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.tile,.sh-picker__tile{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer;transition:outline .15s}
.tile img,.sh-picker__tile img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .3s;display:block}
.tile:hover img,.sh-picker__tile:hover img{transform:scale(1.08)}
.tile-bg{position:absolute;inset:0;width:100%;height:100%}
.tile-ov,.sh-picker__tile-overlay{position:absolute;inset:0;background:rgba(26,10,20,.42);
  display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:8px;transition:background .2s}
.tile.on .tile-ov,.sh-picker__tile.on .sh-picker__tile-overlay{background:rgba(232,50,90,.55)}
.tile:hover .tile-ov,.sh-picker__tile:hover .sh-picker__tile-overlay{background:rgba(232,50,90,.38)}
.tile-name,.sh-picker__tile-name{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#fff;font-weight:600}
.tile.on,.sh-picker__tile.on{outline:2.5px solid var(--pink);outline-offset:-2px}
.bag-sum,.sh-bag-summary{margin-top:2px;padding:18px 20px;
  background:rgba(255,122,60,.10);border:1px solid rgba(255,122,60,.25);
  display:flex;justify-content:space-between;align-items:center}
.bsl,.sh-bag-summary__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.35);font-weight:500}
.bsv,.sh-bag-summary__val{font-size:15px;font-weight:500;color:#fff;margin-top:3px}
.bsp,.sh-bag-summary__price{font-family:'Playfair Display',serif;font-size:28px;font-weight:500;color:var(--orange-mid)}
@media(max-width:768px){
  .build-grid,.sh-build__grid{grid-template-columns:1fr;gap:40px}
  .picker,.sh-picker-grid{grid-template-columns:repeat(4,1fr)}
}

/* ── MIXES ── */
.mix-grid,.sh-mixes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.mix-card,.sh-mix-card{background:var(--white);position:relative;border-top:3px solid transparent;
  transition:border-color .2s;display:flex;flex-direction:column;overflow:hidden}
.mix-card:hover,.mix-card.feat,.sh-mix-card:hover,.sh-mix-card.featured{border-top-color:var(--pink)}
.mix-img,.sh-mix-card__img{height:200px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#FF6B9D 0%,#FFD93D 50%,#6BCB77 100%)}
.mix-img.sour{background:linear-gradient(135deg,#F7971E 0%,#FFD200 50%,#A8E063 100%)}
.mix-img.veg{background:linear-gradient(135deg,#134E5E 0%,#71B280 50%,#A8E063 100%)}
.mix-img img,.sh-mix-card__img img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .4s;display:block}
.mix-card:hover .mix-img img,.sh-mix-card:hover .sh-mix-card__img img{transform:scale(1.05)}
.mix-body,.sh-mix-card__body{padding:28px;flex:1;display:flex;flex-direction:column}
.mix-name,.sh-mix-card__name{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;
  margin-bottom:10px;color:var(--plum)}
.mix-desc,.sh-mix-card__desc{font-size:13.5px;color:var(--muted);font-weight:300;
  line-height:1.7;margin-bottom:20px;flex:1}
.mix-tags,.sh-mix-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
/* EXACT from HTML: tags use pink-light bg + pink text */
.mix-tag,.sh-mix-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  padding:5px 12px;background:var(--pink-light);color:var(--pink)}
.mix-ft,.sh-mix-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
/* EXACT: mix-price uses --plum, NOT --pink */
.mix-price,.sh-mix-price{font-size:15px;font-weight:600;color:var(--plum)}
.mix-price sup,.sh-mix-price sup{font-size:11px;font-weight:400;vertical-align:super}
.bsr,.sh-mix-ribbon{position:absolute;top:0;right:0;background:var(--pink);color:#fff;
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;z-index:5}
@media(max-width:1024px){.mix-grid,.sh-mixes__grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.mix-grid,.sh-mixes__grid{grid-template-columns:1fr}}

/* ── TAILGATE ── */
.tg-grid,.sh-tailgate__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.tg-img,.sh-tailgate__img{position:relative;overflow:hidden;height:480px;
  background:linear-gradient(135deg,#1A0A14 0%,#4A1528 40%,#E8325A 100%)}
.tg-img img,.sh-tailgate__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tg-ov,.sh-tailgate__img-overlay{position:absolute;inset:0;
  background:linear-gradient(to right,rgba(26,10,20,.3) 0%,transparent 60%)}
.sizes,.sh-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:32px 0 36px}
.sz,.sh-size{padding:20px;border:1px solid rgba(255,255,255,.09);text-align:center;
  cursor:pointer;transition:border-color .2s,background .2s}
.sz:hover,.sz.on,.sh-size:hover,.sh-size.on{border-color:rgba(255,179,71,.55);background:rgba(255,179,71,.07)}
.sz-name,.sh-size__name{font-size:12px;font-weight:500;letter-spacing:.10em;
  text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:4px}
.sz-sv,.sh-size__serves{font-size:11px;color:rgba(255,255,255,.3);margin-bottom:10px}
.sz-pr,.sh-size__price{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;color:var(--orange-mid)}
/* EXACT: tailgate note inline style from HTML */
.sh-tailgate__note{font-size:13px;color:rgba(255,255,255,.38);margin-bottom:28px;font-weight:300}
.sh-tailgate__note strong{color:rgba(255,255,255,.62);font-weight:500}
@media(max-width:768px){
  .tg-grid,.sh-tailgate__grid{grid-template-columns:1fr;gap:40px}
  .tg-img,.sh-tailgate__img{height:300px}
}

/* ── GIFT BOXES ── */
.gift-grid,.sh-gifts__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2px}
.gift-feat,.sh-gift-featured{position:relative;overflow:hidden;min-height:420px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(135deg,#1A0A14 0%,#2D0A1E 50%,#5C2D42 100%)}
.gift-feat img,.sh-gift-featured img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gift-feat-ov,.sh-gift-featured__overlay{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(26,10,20,.90) 0%,rgba(26,10,20,.2) 60%,transparent 100%)}
.gift-feat-c,.sh-gift-featured__content{position:relative;z-index:2;padding:36px 36px 40px;color:#fff}
.gift-feat-t,.sh-gift-featured__title{font-family:'Playfair Display',serif;font-size:30px;
  font-weight:500;line-height:1.15;margin-bottom:10px;color:#fff}
.gift-feat-d,.sh-gift-featured__desc{font-size:14px;font-weight:300;
  color:rgba(255,255,255,.8);margin-bottom:28px;line-height:1.6}
.gift-card,.sh-gift-card{background:var(--white);overflow:hidden;display:flex;flex-direction:column}
.gift-cimg,.sh-gift-card__img{height:180px;overflow:hidden;position:relative}
.gift-cimg.bday-bg{background:linear-gradient(135deg,#FF6B9D 0%,#FFB7C5 50%,#FFD6E0 100%)}
.gift-cimg.seas-bg{background:linear-gradient(135deg,#1A0A14 0%,#E8325A 50%,#FF7A3C 100%)}
.gift-cimg img,.sh-gift-card__img img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .4s;display:block}
.gift-card:hover .gift-cimg img,.sh-gift-card:hover .sh-gift-card__img img{transform:scale(1.05)}
.gift-cbody,.sh-gift-card__body{padding:24px 24px 28px;flex:1;display:flex;flex-direction:column}
.gift-cname,.sh-gift-card__name{font-family:'Playfair Display',serif;font-size:20px;
  font-weight:500;margin-bottom:10px;color:var(--plum)}
.gift-cdesc,.sh-gift-card__desc{font-size:13px;color:var(--muted);font-weight:300;line-height:1.65;flex:1}
.gift-cft,.sh-gift-card__footer{margin-top:20px;display:flex;justify-content:space-between;align-items:center}
.gift-cpr,.sh-gift-card__price{font-size:14px;font-weight:600;color:var(--pink)}
.sh-gift-card__icon{font-size:48px;padding:28px;background:var(--cream);text-align:center}
@media(max-width:1024px){
  .gift-grid,.sh-gifts__grid{grid-template-columns:1fr 1fr}
  .gift-feat,.sh-gift-featured{grid-column:span 2;min-height:360px}
}
@media(max-width:768px){
  .gift-grid,.sh-gifts__grid{grid-template-columns:1fr}
  .gift-feat,.sh-gift-featured{grid-column:span 1}
}

/* ── WHY US ── */
/* EXACT: gap:1px with background:var(--border) creates 1px dividers */
.why-grid,.sh-why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.why-item,.sh-why__item{background:var(--white);padding:48px 36px;display:flex;flex-direction:column;gap:14px}
/* EXACT: icon is a bordered box, NOT emoji font-size */
.why-ico,.sh-why__icon{width:48px;height:48px;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:6px;transition:all .2s}
.why-item:hover .why-ico,.sh-why__item:hover .sh-why__icon{background:var(--pink);border-color:var(--pink)}
.why-title,.sh-why__title{font-family:'Playfair Display',serif;font-size:19px;font-weight:500;color:var(--plum)}
.why-desc,.sh-why__desc{font-size:13.5px;color:var(--muted);line-height:1.7;font-weight:300}
@media(max-width:1024px){.why-grid,.sh-why__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.why-grid,.sh-why__grid{grid-template-columns:1fr 1fr}}

/* ── REVIEWS ── */
.rev-hd,.sh-reviews__header{text-align:center;margin-bottom:56px}
/* EXACT: gap:2px NOT gap:24px */
.rev-grid,.sh-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:48px}
.rev-card,.sh-review{background:var(--white);padding:36px 32px;display:flex;flex-direction:column;gap:16px}
.rev-q,.sh-review__quote{font-family:'Playfair Display',serif;font-size:72px;font-weight:400;
  color:var(--pink-mid);line-height:.7;height:40px;overflow:visible}
.rev-stars,.sh-review__stars{color:var(--orange);font-size:14px;letter-spacing:2px}
/* EXACT: review text is Playfair italic, color:var(--plum-soft) */
.rev-txt,.sh-review__text{font-family:'Playfair Display',serif;font-size:16px;font-style:italic;
  font-weight:400;line-height:1.65;color:var(--plum-soft);flex:1}
.rev-auth,.sh-review__author{display:flex;align-items:center;gap:12px}
/* EXACT: avatar uses pink-light bg, pink text, Playfair font */
.rev-av,.sh-review__avatar{width:40px;height:40px;border-radius:50%;background:var(--pink-light);
  display:flex;align-items:center;justify-content:center;font-size:16px;
  font-weight:600;color:var(--pink);font-family:'Playfair Display',serif;flex-shrink:0}
.rev-name,.sh-review__name{font-size:13px;font-weight:600;color:var(--plum);letter-spacing:.04em}
.rev-meta,.sh-review__meta{font-size:11px;color:var(--muted-light);font-weight:400;margin-top:2px}
/* EXACT: rating summary is a bordered box, max-width:400px, centered */
.rat-sum,.sh-rating-summary{display:flex;align-items:center;justify-content:center;gap:20px;
  padding:28px;border:1px solid var(--border);max-width:400px;margin:0 auto}
.rat-big,.sh-rating-summary__big{font-family:'Playfair Display',serif;font-size:56px;
  font-weight:500;color:var(--plum);line-height:1}
.rat-stars,.sh-rating-summary__stars{color:var(--orange);font-size:18px;letter-spacing:3px}
.rat-ct,.sh-rating-summary__count{font-size:12px;color:var(--muted);font-weight:300;margin-top:5px}
@media(max-width:768px){.rev-grid,.sh-reviews__grid{grid-template-columns:1fr}}

/* ── INSTAGRAM ── */
/* EXACT: insta-sec is its own class with padding:80px 0 */
.insta-sec,.sh-insta{padding:80px 0;background:var(--cream)}
.insta-hd,.sh-insta__header{text-align:center;margin-bottom:36px}
/* EXACT: handle uses Playfair italic, color:var(--muted) */
.insta-handle,.sh-insta__handle{font-family:'Playfair Display',serif;font-size:24px;
  font-style:italic;color:var(--muted);margin-top:8px}
/* EXACT: gap:4px not 3px */
.insta-grid,.sh-insta__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.insta-tile,.sh-insta__tile{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer}
.insta-tile-bg{position:absolute;inset:0;width:100%;height:100%}
.insta-tile img,.sh-insta__tile img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .4s;display:block}
.insta-tile:hover img,.sh-insta__tile:hover img{transform:scale(1.08)}
.insta-ov,.sh-insta__overlay{position:absolute;inset:0;background:rgba(232,50,90,.72);
  display:flex;align-items:center;justify-content:center;opacity:0;
  transition:opacity .22s;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#fff}
.insta-tile:hover .insta-ov,.sh-insta__tile:hover .sh-insta__overlay{opacity:1}
@media(max-width:768px){.insta-grid,.sh-insta__grid{grid-template-columns:repeat(3,1fr)}}

/* ── FAQ SECTION ── */
/* EXACT: 5fr 7fr columns */
.faq-grid,.sh-faq-section__grid{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
@media(max-width:768px){.faq-grid,.sh-faq-section__grid{grid-template-columns:1fr;gap:40px}}

/* ── CONTACT STRIP ── */
/* EXACT: 1fr 1.2fr columns */
.ct-grid,.sh-contact-strip__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.ct-info,.sh-contact-strip__details{display:flex;flex-direction:column;gap:32px;margin-top:40px}
.ct-lbl,.sh-contact-detail__label{
  font-size:10px;
  font-weight:600;
  letter-spacing:.20em;
  text-transform:uppercase;
  color: rgb(255 255 255);
  margin-bottom:6px
  }
.ct-val,.sh-contact-detail__val{font-size:15px;font-weight:300;color:rgba(255,255,255,.85);line-height:1.6}
.ct-val a,.sh-contact-detail__val a{color:rgba(255,255,255,.85)}
.ct-val a:hover,.sh-contact-detail__val a:hover{color:var(--orange-mid)}
.hr-row,.sh-hours-row{display:flex;justify-content:space-between;font-size:13.5px;
  font-weight:300;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hr-day,.sh-hours-day{color: rgb(255 255 255);}
.hr-time,.sh-hours-time{color:rgba(255,255,255,.78)}
/* EXACT form */
.ct-form,.sh-contact-form{display:flex;flex-direction:column;gap:14px}
.form-row,.sh-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:768px){.ct-grid,.sh-contact-strip__grid{grid-template-columns:1fr;gap:40px}}

/* ── CONTACT / ABOUT PAGE ── */
.sh-contact-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
@media(max-width:768px){.sh-contact-page__grid{grid-template-columns:1fr;gap:40px}}

/* ── ADDITIONAL RESPONSIVE ── */
@media(max-width:1024px){
  .col-grid{grid-template-columns:repeat(2,1fr)}
  .mix-grid{grid-template-columns:1fr 1fr}
  .gift-grid{grid-template-columns:1fr 1fr}
  .gift-feat{grid-column:span 2;min-height:360px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .rev-grid{grid-template-columns:repeat(2,1fr)}
  .insta-grid{grid-template-columns:repeat(4,1fr)}
  .build-grid,.tg-grid,.faq-grid,.ct-grid{grid-template-columns:1fr;gap:40px}
	.sh-shop-products .sh-product-grid{  grid-template-columns: repeat(2, 1fr); }
	.col-body, .sh-product-card__body{ padding: 10px 10px 10px; }
	.col-name, .sh-product-card__name{ word-wrap: break-word; line-height: normal; }
	.col-img, .sh-product-card__img{ height: 160px; }
	.sh-contact-page__grid{ grid-template-columns: 1fr; gap: 0; padding: 0px 0 48px; }
	.sh-contact-page__info{ margin-top: 0; } 
}
@media(max-width:768px){
  .col-grid{grid-template-columns:1fr 1fr;gap:1px}
  .mix-grid,.rev-grid{grid-template-columns:1fr}
  .gift-grid{grid-template-columns:1fr}
  .gift-feat{grid-column:span 1;min-height:300px}
  .why-grid{grid-template-columns:1fr 1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .picker{grid-template-columns:repeat(3,1fr)}
  .hero-stats{gap:16px}
  .hero-stat{padding-right:16px;margin-right:16px}
  .faq-grid,.ct-grid{grid-template-columns:1fr;gap:40px}
  .sizes{grid-template-columns:repeat(3,1fr)}
  .tg-img{height:300px}
  .build-grid{gap:32px}
  .bag-sum{flex-direction:column;align-items:flex-start;gap:8px}
  .sh-bag-sizes{flex-wrap:wrap}
  .rev-grid{margin-bottom:28px}
}
@media(max-width:480px){
  .col-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .insta-grid{grid-template-columns:repeat(2,1fr)}
  .picker{grid-template-columns:repeat(3,1fr)}
  .hero-stats{flex-wrap:wrap;gap:12px}
  .hero-stat{border-right:none;padding-right:0;margin-right:0;min-width:45%}
  .sizes{grid-template-columns:1fr}
  .hero-h1,.sh-hero__h1{font-size:34px}
  .hero-h1 .hero-h1-line2{font-size:26px}
  .hero-copy,.sh-hero__copy{padding:48px 0 60px}
  .hero-p{font-size:14px}
  .build-grid,.tg-grid,.gift-grid,.faq-grid,.ct-grid{gap:28px}
  .gift-feat-c{padding:24px}
  .gift-feat-t{font-size:22px}
  .why-item{padding:32px 24px}
  .rat-sum{flex-direction:column;text-align:center}
  .rat-big{font-size:42px}
}

/* ── WHY-US: responsive grid separator fix ── */
@media(max-width:768px){
  .why-grid{gap:1px}
}
@media(max-width:480px){
  .why-grid{gap:0;background:transparent}
  .why-item{border-bottom:1px solid var(--border)}
}




/* ── CONTACT FORM 7 ── */
.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],.wpcf7-form textarea,.wpcf7-form select{
  width:100%;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.25);
  color:#fff;padding:14px 18px;font-family:'Jost',sans-serif;
  font-size:14px;font-weight:300;outline:none;transition:border-color .2s;margin-bottom:4px}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{border-color:rgba(232,50,90,.6)}
.wpcf7-form input[type="submit"]{background:var(--pink);color:#fff;border:none;
  padding:14px 32px;font-family:'Jost',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .22s;width:auto}
.wpcf7-form input[type="submit"]:hover{background:var(--pink-deep)}
.wpcf7-response-output{margin:12px 0 0;padding:12px 16px;font-size:13px;border:none!important;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}
.wpcf7-not-valid-tip{color:var(--orange-mid);font-size:12px}

/* ── TOAST NOTIFICATIONS ── */
.sh-toast{
  position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);
  z-index:9999;padding:12px 24px;font-size:13px;font-weight:500;font-family:'Jost',sans-serif;
  color:#fff;pointer-events:none;opacity:0;transition:all .3s ease;white-space:nowrap;
  box-shadow:0 4px 24px rgba(0,0,0,.22);
}
.sh-toast--ok{background:var(--plum)}
.sh-toast--error{background:#c62828}
.sh-toast--visible{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── HIDDEN HELPER ── */
.sh-hidden{display:none!important}

/* ── WC PAGE TITLE ── */
.sh-wc-page-title{margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.sh-wc-page-title h1{font-size:clamp(28px,3vw,40px);color:var(--plum)}

/* ── MINI CART WC STYLES ── */
.sh-mini-cart__body .woocommerce-mini-cart{list-style:none;padding:0}
.sh-mini-cart__body .woocommerce-mini-cart__empty-message{
  text-align:center;padding:48px 0;color:var(--muted);font-size:14px}
.sh-mini-cart__body .mini_cart_item{display:flex;gap:14px;padding:16px 0;
  border-bottom:1px solid var(--border);position:relative}
.sh-mini-cart__body .mini_cart_item img{width:72px;height:72px;object-fit:cover;flex-shrink:0}
.sh-mini-cart__body .mini_cart_item a:not(.remove){font-family:'Playfair Display',serif;
  font-size:15px;font-weight:500;color:var(--plum);display:block;margin-bottom:4px}
.sh-mini-cart__body .mini_cart_item .quantity{font-size:13px;color:var(--muted)}
.sh-mini-cart__body .mini_cart_item .remove{
  position:absolute;top:16px;right:0;width:24px;height:24px;
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--muted);transition:all .2s;text-decoration:none}
.sh-mini-cart__body .mini_cart_item .remove:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.sh-mini-cart__body .woocommerce-mini-cart__total{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0 16px;font-size:15px;font-weight:600;color:var(--plum);
  border-top:1px solid var(--border)}
.sh-mini-cart__body .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:10px;padding-top:4px}
.sh-mini-cart__body .woocommerce-mini-cart__buttons a{
  display:block;text-align:center;padding:13px;font-size:12px;font-weight:600;
  letter-spacing:.10em;text-transform:uppercase;transition:all .22s}
.sh-mini-cart__body .woocommerce-mini-cart__buttons .wc-forward{
  background:var(--plum);color:#fff}
.sh-mini-cart__body .woocommerce-mini-cart__buttons .checkout{
  background:var(--pink);color:#fff}
.sh-mini-cart__body .woocommerce-mini-cart__buttons a:hover{opacity:.88}

/* ── PRODUCT LOOP (WC native) ── */
.products.columns-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;list-style:none;margin:0;padding:0}
.products.columns-3{grid-template-columns:repeat(3,1fr)}
.products.columns-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1024px){.products.columns-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.products.columns-4,.products.columns-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.products.columns-4,.products.columns-3,.products.columns-2{grid-template-columns:1fr}}
.woocommerce ul.products li.product{
  background:#fff;position:relative;overflow:hidden;list-style:none;
  transition:transform .28s ease,box-shadow .28s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh-shadow)}
.woocommerce ul.products li.product a img{width:100%;height:240px;object-fit:cover;display:block}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Playfair Display',serif;font-size:18px;font-weight:500;
  color:var(--plum);padding:16px 20px 6px}
.woocommerce ul.products li.product .price{padding:0 20px;color:var(--pink);font-weight:600;font-size:15px}
.woocommerce ul.products li.product .button{margin:12px 20px 20px}
.woocommerce ul.products li.product .star-rating{padding:4px 20px 0}

/* ── SINGLE PRODUCT LAYOUT ── */
.sh-single-product__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:768px){.sh-single-product__inner{grid-template-columns:1fr;gap:32px}}
.sh-single-product__gallery .woocommerce-product-gallery{position:sticky;top:120px}
.sh-single-product__summary .product_title{
  font-family:'Playfair Display',serif;font-size:clamp(26px,3vw,36px);
  font-weight:500;color:var(--plum);margin-bottom:12px}
.sh-single-product__summary .price{font-size:22px;font-weight:600;color:var(--pink);margin-bottom:20px;display:block}
.sh-single-product__summary .cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.sh-single-product__summary .quantity{display:flex;border:1px solid var(--border-strong)}
.sh-single-product__summary .qty{width:52px;text-align:center;border:none;padding:12px 6px;
  font-size:15px;font-family:'Jost',sans-serif;outline:none;background:#fff}
.quantity input[type=number]{-moz-appearance:textfield}
.quantity input[type=number]::-webkit-inner-spin-button,
.quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
.woocommerce-tabs{margin-top:48px;border-top:1px solid var(--border)}
.woocommerce-tabs ul.tabs{display:flex;list-style:none;border-bottom:1px solid var(--border);margin-bottom:24px}
.woocommerce-tabs ul.tabs li{border:none;background:none}
.woocommerce-tabs ul.tabs li a{font-size:12px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--muted);display:block;padding:16px 28px;border-bottom:2px solid transparent;margin-bottom:-1px}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--pink);border-bottom-color:var(--pink)}

.sh-contact-page__info{ color:#fff; }

.sh-contact-page__grid{ display: grid; grid-template-columns: 0.5fr 1fr; gap: 60px; padding: 60px 0 48px; }
.sh-contact-page__info{ margin-top: 5rem; }
.sh-contact-detail__label{ font-size:1.1rem;  }
.sh-contact-detail{ margin-bottom:0rem; }
.sh-announce-bar p{ color:#fff; opacity:0.5; }

.sh-shop-products .sh-product-card__footer{ flex-flow: column; align-items:initial; }
.sh-shop-products .sh-product-grid{ grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sh-price-range{ width:100%; }
.sh-shop-products .sh-btn{ justify-content: center; }

/* ── CART & CHECKOUT WRAP ── */
.sh-wc-main{max-width:1240px;margin:0 auto;padding:48px 48px 96px}
.sh-contact-strip__form label {
    color: #fff;
}

.page-id-116 .sh-contact-detail{ margin-bottom:2rem; }
.sh-contact-page__form label{ color:#fff; }

/* Pagination Wrapper */
.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 40px 0;
}

/* Remove default li styling */
.page-numbers li {
    margin: 0;
    padding: 0;
}

/* Pagination Buttons */
.page-numbers a,
.page-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e5e5e5;
    color: #111;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Hover */
.page-numbers a:hover {
    background: #000;
    color: #fff;
    border-color: #000;
    transform: translateY(-2px);
}

/* Active Page */
.page-numbers .current {
    background: #000;
    color: #fff;
    border-color: #000;
}

/* Next Button */
.page-numbers .next {
    padding: 0 20px;
}

/* Mobile */
@media (max-width: 767px) {
    .page-numbers {
        gap: 6px;
        flex-wrap: wrap;
    }

    .page-numbers a,
    .page-numbers span {
        min-width: 40px;
        height: 40px;
        font-size: 14px;
        border-radius: 10px;
    }
}

select.wapf-input{ padding:10px 10px; }
.woocommerce-product-details__short-description p{ margin-bottom:1rem; font-weight:400; }
.woocommerce-product-details__short-description strong{     font-weight: 900; }
.woocommerce-product-details__short-description ul{ list-style:disc; padding: 0px 0px 20px 20px; font-weight:400; }
.single_add_to_cart_button{ border:none; }

.sh-sort-filter{ color: #000; border-color: #000; appearance: revert; } 


@media(max-width:768px){.sh-wc-main{padding:32px 24px 64px}}

/* ── ACCOUNT LAYOUT ── */
.sh-account-wrap{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
@media(max-width:768px){.sh-account-wrap{grid-template-columns:1fr}}

/* ── RESPONSIVE GLOBAL ── */
@media(max-width:1024px){.sec,.sh-section{padding:72px 0} .sh-sidebar{ position:relative; top:initial; } }
@media(max-width:768px){
  .sec,.sh-section{padding:56px 0}
  .sec-hd,.sh-section-header{flex-direction:column;align-items:flex-start;gap:12px}
  h2.ttl,.sh-section-title{font-size:32px}
  p,.sub{font-size:14px}
.sh-section.sh-section-cream .csgrid{ grid-template-columns: 1fr !important; }	
	.why-item, .sh-why__item{ padding: 20px 20px; }	
	.sh-announce-bar p{ font-size: 10px; }
	
	
	
}
@media(max-width:480px){
  .sec,.sh-section{padding:48px 0}
  h2.ttl,.sh-section-title{font-size:28px}
  .btn,.sh-btn{padding:12px 24px;font-size:11px}
}

.tailgate-date-field{
    margin: 0px 0px 20px 0;
    width: 100%;
}

.tailgate-date-field label{
    display:block;
    margin-bottom:8px;
    font-weight:300;
}

#pickup_date{
        width: 100%;
    max-width: 350px;
    padding: 12px;
    border: 1px solid #5b5b5b;
    border-radius: 2px;
    font-size: 13px;
    color: #000;
}
.woocommerce-variation-add-to-cart{
	display:flex;
}
.variations select{
	width: 100%;
    border: 1px solid #000;
}
.wapf-field-input select{
	width:57%;
}