/**
 * Gillespies generated CSS bundle: account.css
 * Do not edit this file directly. Edit the source components in assets/css,
 * then run php tools/build-css-bundles.php.
 */

/* ===== COMPONENT: theme-base.css ===== */
/**
 * COMPONENT SOURCE: former style.css front-end rules
 */
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --beige:#fbf6f0;
  --cream:#fffaf5;
  --brown:#241b17;
  --brown2:#3a2f2a;
  --gold:#b89068;
  --border:#eadfd4;
  --muted:#76665c;
  --white:#fff;
  --cream-2:#f6eee6;
  --gold-2:#d8b48c;
  --gold-3:#e7c79d;
  --border-strong:rgba(184,144,104,.28);
  --shadow-soft:0 18px 50px rgba(36,27,23,.08);
  --shadow-card:0 28px 80px rgba(36,27,23,.12);
  --shadow-button:0 16px 36px rgba(184,144,104,.26);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:30px;
  --radius-xl:42px;
  --radius-pill:999px;
  --font-body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-display:"Fraunces","Georgia","Times New Roman",serif;
  --transition:.22s ease;
}
body{
  font-family:var(--font-body);
  background:#fbf6f0;
  color:var(--brown);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden;}
a{text-decoration:none;color:inherit;}
img{display:block;}
h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em;}

/* HEADER */
.site-header{
  position:fixed;
  top:12px;
  left:12px;
  right:12px;
  max-width:1180px;
  height:76px;
  margin:0 auto;
  z-index:999;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(20px);
  border:1px solid rgba(184,144,104,.25);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 12px;
  box-shadow:0 16px 45px rgba(36,27,23,.10);
}
.menu-btn{
  width:46px;height:46px;min-width:46px;border-radius:50%;
  border:1px solid var(--border);background:#fff;color:var(--brown);
  display:flex;align-items:center;justify-content:center;
  font-size:1.45rem;cursor:pointer;z-index:2;
}
.brand{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:150px;max-width:36%;display:flex;align-items:center;justify-content:center;
}
.brand img{
  max-height:54px;
  width:auto;
  object-fit:contain;
}
.nav-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-left:auto;z-index:2;
}
.nav-actions a{
  width:42px;height:42px;min-width:42px;flex:0 0 42px;border-radius:50%;
  border:1px solid var(--border);background:#fff;color:var(--brown);
  display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;
  text-decoration:none!important;
}

/* MENU */
.menu-overlay{
  position:fixed;inset:0;background:rgba(36,27,23,.48);backdrop-filter:blur(8px);
  z-index:1998;opacity:0;visibility:hidden;transition:.25s ease;
}
.menu-overlay.active{opacity:1;visibility:visible;}
.slide-menu{
  position:fixed;top:12px;left:12px;bottom:12px;width:min(390px,calc(100% - 24px));
  background:rgba(255,255,255,.96);backdrop-filter:blur(24px);
  border:1px solid rgba(184,144,104,.25);border-radius:34px;
  box-shadow:0 28px 80px rgba(36,27,23,.24);z-index:1999;
  transform:translateX(calc(-100% - 40px));transition:.35s ease;
  display:flex;flex-direction:column;overflow:auto;
}
.slide-menu.active{transform:translateX(0);}
.menu-top{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border);}
.menu-top img{max-width:120px;max-height:75px;object-fit:contain;}
.menu-close{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--border);
  background:#fff;color:var(--brown);font-size:1.4rem;cursor:pointer;
}
.menu-links{padding:22px 24px;display:flex;flex-direction:column;}
.menu-links a{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 0;border-bottom:1px solid var(--border);
  font-family:var(--font-display,Georgia,"Times New Roman",serif);font-size:1.35rem;text-decoration:none!important;color:var(--brown);
}
.menu-links span{font-family:var(--font-body,system-ui,sans-serif);color:var(--gold);font-size:.8rem;font-weight:900;}
.menu-feature{margin:auto 24px 24px;background:linear-gradient(135deg,var(--brown),var(--brown2));color:#fff;border-radius:26px;padding:24px;}
.menu-feature h3{font-size:1.55rem;margin-bottom:10px;}
.menu-feature p{color:#f4ddc4;line-height:1.7;margin-bottom:18px;}

/* HERO */
.hero{
  position:relative;min-height:96vh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:130px 20px 95px;
  background:linear-gradient(135deg,rgba(36,27,23,.72),rgba(36,27,23,.42)),
    var(--gcc-image-hero) center/cover no-repeat;
  overflow:hidden;color:#fff;
}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(251,246,240,.08) 75%,var(--beige) 100%);}
.hero-content{position:relative;z-index:2;max-width:920px;}
.hero-logo{
  width:245px;height:245px;object-fit:contain;margin:0 auto 26px;background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.55);border-radius:50%;
  padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.eyebrow{display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;color:#f4ddc4;letter-spacing:2px;text-transform:uppercase;font-size:.76rem;font-weight:800;}
.hero h1{font-size:clamp(2.8rem,7vw,6.5rem);line-height:.98;margin-bottom:24px;}
.hero p{max-width:720px;margin:0 auto 36px;line-height:1.85;font-size:1.16rem;opacity:.94;}

.btn-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;border-radius:999px;
  font-size:.82rem;font-weight:900;letter-spacing:1.1px;text-transform:uppercase;border:none;cursor:pointer;
  transition:.25s ease;text-decoration:none!important;
}
.btn:hover{transform:translateY(-3px);}
.btn-primary{background:#fff;color:var(--brown);}
.btn-outline{border:1px solid rgba(255,255,255,.58);color:#fff;background:rgba(255,255,255,.08);}
.btn-dark{background:linear-gradient(135deg,var(--brown),var(--brown2));color:#fff;}
.btn-gold{background:linear-gradient(135deg,var(--gold),#d8b48c);color:#fff;}

.proof-strip{
  position:relative;z-index:3;width:min(980px,calc(100% - 28px));margin:-34px auto 0;
  background:rgba(255,255,255,.9);backdrop-filter:blur(18px);color:var(--brown);
  text-align:center;padding:20px 24px;font-weight:850;border:1px solid rgba(184,144,104,.22);
  border-radius:999px;box-shadow:0 12px 34px rgba(36,27,23,.08);
}
.proof-strip span{color:var(--gold);}

section{padding:92px 20px;}
.container{max-width:1180px;margin:auto;}
.section-heading{text-align:center;max-width:780px;margin:0 auto 48px;}
.section-heading h2{font-size:clamp(2.3rem,4.5vw,4rem);margin-bottom:18px;line-height:1.02;}
.section-heading p{line-height:1.9;color:var(--muted);font-size:1.05rem;}

.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.card{background:rgba(255,255,255,.82);border:1px solid rgba(234,223,212,.9);border-radius:30px;padding:32px;box-shadow:0 12px 34px rgba(36,27,23,.08);}
.card h3{font-size:1.55rem;margin-bottom:12px;}
.card p{line-height:1.85;color:var(--muted);}
.split-section{background:linear-gradient(180deg,var(--cream),#f8efe7);}
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature-image,.private-image,.baker-image{min-height:430px;border-radius:36px;box-shadow:0 24px 70px rgba(36,27,23,.1);background-size:cover;background-position:center;}
.feature-image{background-image:linear-gradient(rgba(36,27,23,.1),rgba(36,27,23,.1)),var(--gcc-image-feature);}
.private-image{background-image:linear-gradient(rgba(36,27,23,.1),rgba(36,27,23,.1)),url("https://images.unsplash.com/photo-1527529482837-4698179dc6ce?q=80&w=1200&auto=format&fit=crop");}
.baker-image{background-image:linear-gradient(rgba(36,27,23,.1),rgba(36,27,23,.1)),var(--gcc-image-baker);}
.split h2{font-size:clamp(2.3rem,4.4vw,4rem);line-height:1.03;margin-bottom:20px;}
.split p{line-height:1.9;color:var(--muted);margin-bottom:24px;}
.footer{background:#f6ede4;border-top:1px solid var(--border);padding:58px 20px 34px;text-align:center;}
.footer h3{font-size:1.7rem;margin-bottom:12px;}
.footer p{color:var(--muted);max-width:700px;margin:0 auto;}
.socials{display:flex;justify-content:center;gap:12px;margin:24px 0;color:var(--gold);font-weight:800;}
.socials a{background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 16px;text-decoration:none!important;}
.sticky-mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;background:rgba(36,27,23,.94);backdrop-filter:blur(18px);border-radius:999px;overflow:hidden;z-index:999;box-shadow:0 12px 30px rgba(0,0,0,.25);}
.sticky-mobile-cta a{flex:1;text-align:center;padding:15px 10px;font-size:.82rem;font-weight:900;text-transform:uppercase;color:#fff;text-decoration:none!important;}
.sticky-mobile-cta a:first-child{background:#fff;color:var(--brown);}

@media(max-width:900px){
  .cards-grid{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;}
}
@media(max-width:640px){
  body{padding-bottom:75px;}
  .site-header{top:8px;left:8px;right:8px;height:70px;padding:8px 10px;}
  .menu-btn{width:40px;height:40px;min-width:40px;font-size:1.25rem;}
  .brand{width:108px;max-width:30%;}
  .brand img{max-height:43px;}
  .nav-actions{gap:7px;}
  .nav-actions a{width:36px;height:36px;min-width:36px;flex:0 0 36px;font-size:.88rem;}
  .hero{min-height:auto;padding:125px 18px 86px;}
  .hero-logo{width:205px;height:205px;}
  .hero h1{font-size:clamp(2.55rem,12vw,4rem);}
  .hero p{font-size:1rem;}
  .btn-row{flex-direction:column;align-items:center;}
  .btn{width:100%;max-width:320px;}
  .proof-strip{border-radius:26px;margin:-28px auto 0;}
  .cards-grid{grid-template-columns:1fr;}
  section{padding:72px 18px;}
  .sticky-mobile-cta{display:flex;}
  .slide-menu{top:8px;left:8px;bottom:8px;width:calc(100% - 16px);border-radius:28px;}
  .menu-links a{font-size:1.25rem;}
}


/* v5 fixed real logo in nav */
.brand {
  width: 118px !important;
  max-width: 28% !important;
}
.brand img {
  max-height: 42px !important;
  width: auto !important;
  background: transparent !important;
  object-fit: contain !important;
}
.menu-top img {
  max-width: 130px !important;
  max-height: 90px !important;
  background: transparent !important;
}
.hero-logo {
  background: rgba(255,255,255,.88) !important;
}
@media(max-width:640px){
  .brand {
    width: 92px !important;
    max-width: 26% !important;
  }
  .brand img {
    max-height: 34px !important;
  }
}


/* v6 remove menu numbers and improve account icon */
.menu-links a {
  justify-content: flex-start !important;
}
.menu-links a span {
  display: none !important;
}
.nav-actions a[aria-label="Account"],
.nav-actions a[aria-label="My Account"] {
  font-size: 1.05rem !important;
}


/* v8 - North East wording + luxury enquiry/contact + WooCommerce shop styling */

/* General page content styling */
main,
.site-main,
.entry-content {
  color: var(--brown);
}

.page .site-main,
.page .entry-content,
.woocommerce-page .site-main,
.woocommerce .site-main {
  max-width: 1180px;
  margin: 125px auto 0;
  padding: 40px 20px 90px;
}

.page .entry-content > h1,
.page .entry-content > h2,
.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.entry-title {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2.6rem, 6vw, 4.8rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  color: var(--brown) !important;
  text-align: center;
  margin: 20px auto 34px !important;
}

/* Contact / enquiry form styling */
.wpforms-container,
form.wpforms-form,
.wpcf7,
.nf-form-cont,
.gform_wrapper,
form:not(.woocommerce-ordering):not(.cart):not(.checkout):not(.signup-form):not(.enquiry-form) {
  max-width: 900px;
  margin: 0 auto 40px;
}

.wpforms-container,
.wpcf7,
.nf-form-cont,
.gform_wrapper,
.entry-content form:not(.woocommerce-ordering):not(.cart):not(.checkout):not(.signup-form):not(.enquiry-form) {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 34px;
  box-shadow: 0 18px 55px rgba(36,27,23,.08);
  padding: 34px !important;
  backdrop-filter: blur(18px);
}

.wpforms-field-label,
.wpforms-field-sublabel,
.wpcf7 label,
.gfield_label,
.nf-field-label label,
.entry-content label {
  color: var(--brown) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
}

.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select,
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.nf-form-cont input,
.nf-form-cont textarea,
.nf-form-cont select,
.entry-content input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.entry-content textarea,
.entry-content select {
  width: 100%;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  min-height: 54px;
  padding: 14px 16px !important;
  font-size: 1rem !important;
  color: var(--brown) !important;
  box-shadow: none !important;
}

.wpforms-field textarea,
.wpcf7 textarea,
.gform_wrapper textarea,
.nf-form-cont textarea,
.entry-content textarea {
  min-height: 180px;
  resize: vertical;
}

.wpforms-submit,
.wpcf7-submit,
.gform_button,
.nf-element[type="button"],
.entry-content input[type="submit"],
.entry-content button[type="submit"] {
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 15px 34px !important;
  font-weight: 900 !important;
  letter-spacing: .8px;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(36,27,23,.16);
}

/* Add a luxury intro spacing for contact/enquiry page */
.page .entry-content > p:first-of-type {
  max-width: 760px;
  margin: 0 auto 35px;
  text-align: center;
  color: var(--muted);
  line-height: 1.85;
  font-size: 1.05rem;
}

/* WooCommerce shop styling */
.woocommerce .woocommerce-breadcrumb {
  display: none;
}

.woocommerce-products-header {
  text-align: center;
  margin-bottom: 20px;
}

.woocommerce .woocommerce-result-count {
  color: var(--muted);
  font-weight: 700;
  margin: 0 0 20px;
}

.woocommerce .woocommerce-ordering {
  margin: 0 0 28px;
}

.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  padding: 12px 18px;
  color: var(--brown);
  font-weight: 700;
}

.woocommerce ul.products {
  
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  margin: 30px 0 0 !important;
}



.woocommerce ul.products li.product {
  
  
  
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 30px;
  padding: 18px 18px 24px !important;
  box-shadow: 0 18px 50px rgba(36,27,23,.08);
  text-align: center;
  
  
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 70px rgba(36,27,23,.12);
}

.woocommerce ul.products li.product a img {
  
  
  
  border-radius: 24px;
  
  box-shadow: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  
  
  margin: 0 0 12px !important;
  letter-spacing: -.02em;
}

.woocommerce ul.products li.product .price {
  
  
  font-size: 1.1rem !important;
  margin-bottom: 16px !important;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .6px;
  border: none !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: linear-gradient(135deg,var(--gold),#d8b48c) !important;
  color: #fff !important;
}

.woocommerce span.onsale {
  background: var(--gold) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  min-height: auto !important;
  line-height: 1.2 !important;
}

/* Single product */
.woocommerce div.product {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 34px;
  padding: 28px;
  box-shadow: 0 18px 55px rgba(36,27,23,.08);
}

.woocommerce div.product div.images img {
  border-radius: 28px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  
  font-weight: 900;
  font-size: 1.6rem;
}

.woocommerce div.product form.cart .button {
  min-height: 52px;
}

/* Basket / checkout basics */
.woocommerce-cart table.cart,
.woocommerce-checkout form.checkout,
.woocommerce-account .woocommerce {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 30px;
  padding: 24px;
  box-shadow: 0 18px 55px rgba(36,27,23,.08);
}

@media(max-width:900px){
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media(max-width:640px){
  .page .site-main,
  .page .entry-content,
  .woocommerce-page .site-main,
  .woocommerce .site-main {
    margin-top: 95px;
    padding: 28px 14px 90px;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .woocommerce ul.products li.product {
    border-radius: 22px;
    padding: 10px 10px 18px !important;
  }

  .woocommerce ul.products li.product a img {
    border-radius: 18px;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem !important;
  }

  .woocommerce ul.products li.product .button {
    font-size: .78rem !important;
    padding: 12px 14px !important;
  }

  .wpforms-container,
  .wpcf7,
  .nf-form-cont,
  .gform_wrapper,
  .entry-content form:not(.woocommerce-ordering):not(.cart):not(.checkout):not(.signup-form):not(.enquiry-form) {
    padding: 22px !important;
    border-radius: 26px;
  }
}


/* v9 About page story styling */
.about-page,
.page-main {
  padding-top: 100px;
}

.about-hero {
  padding: 60px 0 30px;
}

.about-hero-card {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(36,27,23,.78), rgba(36,27,23,.46)),
    var(--gcc-image-feature) center/cover no-repeat;
  color: #fff;
  border-radius: 38px;
  padding: clamp(50px, 8vw, 95px) 28px;
  box-shadow: 0 24px 70px rgba(36,27,23,.14);
  overflow: hidden;
}

.about-hero-card h1 {
  max-width: 850px;
  margin: 0 auto 22px;
  font-size: clamp(2.6rem, 6vw, 5.4rem);
  line-height: 1;
  color: #fff;
}

.about-hero-card p {
  max-width: 720px;
  margin: 0 auto;
  color: #f4ddc4;
  font-size: 1.1rem;
  line-height: 1.8;
}

.about-story-section {
  padding: 50px 0 95px;
}

.about-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 34px;
  align-items: start;
}

.about-story-content {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 34px;
  box-shadow: 0 18px 55px rgba(36,27,23,.08);
  padding: clamp(28px, 5vw, 58px);
}

.about-story-content h2 {
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.05;
  color: var(--brown);
  margin: 0 0 16px;
}

.about-story-content p {
  color: var(--muted);
  line-height: 1.9;
  font-size: 1.05rem;
  margin: 0 0 24px;
}

.about-story-content h2:not(:first-child) {
  margin-top: 38px;
}

.about-story-side {
  position: sticky;
  top: 120px;
  display: grid;
  gap: 18px;
}

.about-side-card {
  background: linear-gradient(135deg, var(--brown), var(--brown2));
  color: #fff;
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 18px 55px rgba(36,27,23,.12);
}

.about-side-card:nth-child(2) {
  background: rgba(255,255,255,.86);
  color: var(--brown);
  border: 1px solid rgba(234,223,212,.95);
}

.about-side-card:nth-child(2) p {
  color: var(--muted);
}

.about-side-card h3 {
  font-size: 1.55rem;
  margin-bottom: 10px;
}

.about-side-card p {
  color: #f4ddc4;
  line-height: 1.75;
}

.about-cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.page-content-card {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 34px;
  box-shadow: 0 18px 55px rgba(36,27,23,.08);
  padding: clamp(28px, 5vw, 58px);
}

@media(max-width:900px){
  .about-story-grid {
    grid-template-columns: 1fr;
  }

  .about-story-side {
    position: static;
    grid-template-columns: 1fr;
  }
}

@media(max-width:640px){
  .about-page,
  .page-main {
    padding-top: 78px;
  }

  .about-hero {
    padding: 35px 0 20px;
  }

  .about-hero-card {
    border-radius: 30px;
    padding: 48px 22px;
  }

  .about-story-section {
    padding: 30px 0 80px;
  }

  .about-story-content,
  .page-content-card {
    border-radius: 28px;
    padding: 26px 22px;
  }

  .about-cta-row .btn {
    width: 100%;
  }
}


/* v10 force About/Story page to display correctly */
.about-page {
  display: block !important;
  padding-top: 95px !important;
}



.about-page .container,
.about-story-section .container {
  max-width: 1180px !important;
}

.about-hero-card,
.about-story-content,
.about-side-card {
  visibility: visible !important;
  opacity: 1 !important;
}

@media(max-width:640px){
  .about-page {
    padding-top: 76px !important;
  }
}


/* v11 - polished About page spacing and mobile styling */

.about-page,
.page-main {
  background: radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 35%,#f6ede4 100%);
}

.about-page {
  padding-top: 115px !important;
}

.page-main .about-page {
  padding-top: 0 !important;
}

.about-hero {
  padding: 28px 0 24px !important;
}

.about-hero .container,
.about-story-section .container,
.page-main > .container {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.about-hero-card {
  max-width: 1040px !important;
  margin: 0 auto !important;
  text-align: center !important;
  background:
    linear-gradient(135deg,rgba(36,27,23,.78),rgba(36,27,23,.46)),
    var(--gcc-image-feature) center/cover no-repeat !important;
  color: #fff !important;
  border-radius: 38px !important;
  padding: clamp(54px, 8vw, 96px) clamp(22px, 5vw, 70px) !important;
  box-shadow: 0 24px 70px rgba(36,27,23,.14) !important;
  overflow: hidden !important;
}

.about-hero-card .eyebrow {
  color: #f4ddc4 !important;
  margin-bottom: 18px !important;
}

.about-hero-card h1 {
  max-width: 900px !important;
  margin: 0 auto 24px !important;
  font-size: clamp(2.65rem, 6vw, 5.3rem) !important;
  line-height: 1.02 !important;
  color: #fff !important;
  text-align: center !important;
}

.about-hero-card p {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #f4ddc4 !important;
  font-size: 1.12rem !important;
  line-height: 1.85 !important;
}

.about-story-section {
  padding: 36px 0 105px !important;
}

.about-story-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 28px !important;
  align-items: start !important;
}

.about-story-content {
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 34px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.08) !important;
  padding: clamp(30px, 5vw, 58px) !important;
}

.about-story-content h2 {
  display: block !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
  line-height: 1.08 !important;
  color: var(--brown) !important;
  margin: 0 0 14px !important;
  letter-spacing: -.03em !important;
}

.about-story-content h2:not(:first-child) {
  margin-top: 42px !important;
}

.about-story-content p {
  color: var(--muted) !important;
  line-height: 1.95 !important;
  font-size: 1.06rem !important;
  margin: 0 0 22px !important;
}

.about-story-side {
  position: sticky !important;
  top: 118px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.about-side-card {
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  border-radius: 28px !important;
  padding: 28px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.12) !important;
  border: none !important;
}

.about-side-card:nth-child(2) {
  background: rgba(255,255,255,.9) !important;
  color: var(--brown) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
}

.about-side-card:nth-child(2) p {
  color: var(--muted) !important;
}

.about-side-card h3 {
  font-size: 1.55rem !important;
  line-height: 1.1 !important;
  margin: 0 0 10px !important;
  color: inherit !important;
}

.about-side-card p {
  color: #f4ddc4 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  font-size: 1rem !important;
}

.about-cta-row {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 36px !important;
}

.about-cta-row .btn {
  min-width: 190px !important;
}

/* stop sticky mobile footer overlapping about page content */
.about-page + .footer,
.page-main + .footer {
  margin-bottom: 70px;
}

@media(max-width:900px) {
  .about-story-grid {
    grid-template-columns: 1fr !important;
  }

  .about-story-side {
    position: static !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media(max-width:700px) {
  .about-story-side {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width:640px) {
  .about-page {
    padding-top: 92px !important;
  }

  .about-hero {
    padding: 22px 0 18px !important;
  }

  .about-hero .container,
  .about-story-section .container,
  .page-main > .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .about-hero-card {
    border-radius: 30px !important;
    padding: 46px 22px !important;
    text-align: left !important;
  }

  .about-hero-card h1 {
    text-align: left !important;
    font-size: clamp(2.25rem, 10vw, 3.45rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 18px !important;
  }

  .about-hero-card p {
    font-size: 1rem !important;
    line-height: 1.75 !important;
  }

  .about-story-section {
    padding: 22px 0 95px !important;
  }

  .about-story-content {
    border-radius: 28px !important;
    padding: 28px 22px !important;
  }

  .about-story-content h2 {
    font-size: clamp(1.75rem, 8vw, 2.3rem) !important;
    margin-bottom: 12px !important;
  }

  .about-story-content h2:not(:first-child) {
    margin-top: 34px !important;
  }

  .about-story-content p {
    font-size: .98rem !important;
    line-height: 1.78 !important;
    margin-bottom: 18px !important;
  }

  .about-cta-row {
    margin-top: 28px !important;
  }

  .about-cta-row .btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .about-side-card {
    border-radius: 24px !important;
    padding: 24px !important;
  }

  .about-side-card h3 {
    font-size: 1.4rem !important;
  }
}


/* v14 - modern WooCommerce shop/product styling and menu fix */
.menu-links a[href*="kids-classes"] {
  display: none !important;
}

.gcc-shop-main,
.woocommerce-page .gcc-shop-main {
  background: radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 38%,#f6ede4 100%);
  padding: 120px 16px 100px;
}

.gcc-shop-container {
  max-width: 1180px;
  margin: 0 auto;
}

.gcc-shop-hero {
  text-align: center;
  color: #fff;
  background:
    linear-gradient(135deg,rgba(36,27,23,.82),rgba(36,27,23,.48)),
    var(--gcc-image-feature) center/cover no-repeat;
  border-radius: 38px;
  padding: clamp(48px, 7vw, 90px) 24px;
  margin: 0 0 34px;
  box-shadow: 0 24px 70px rgba(36,27,23,.16);
}

.gcc-shop-eyebrow {
  display: block;
  color: #f4ddc4;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: .78rem;
  font-weight: 900;
  margin-bottom: 18px;
}

.gcc-shop-hero h1 {
  color: #fff !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2.55rem,6vw,5.3rem) !important;
  line-height: 1.02 !important;
  max-width: 900px;
  margin: 0 auto 20px !important;
}

.gcc-shop-hero p {
  color: #f4ddc4;
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.85;
  font-size: 1.08rem;
}

.woocommerce-products-header__title,
.woocommerce-products-header {
  display: none !important;
}

.woocommerce .woocommerce-result-count {
  color: var(--muted) !important;
  font-weight: 800;
  margin: 0 0 24px !important;
}

.woocommerce .woocommerce-ordering {
  margin: 0 0 24px !important;
}

.woocommerce .woocommerce-ordering select {
  min-height: 48px;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--brown) !important;
  padding: 0 18px !important;
  font-weight: 800;
  box-shadow: 0 8px 25px rgba(36,27,23,.06);
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 30px !important;
  margin: 34px 0 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px 14px 24px !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 32px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.09) !important;
  text-align: center !important;
  overflow: hidden;
  transition: .25s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-7px);
  box-shadow: 0 26px 75px rgba(36,27,23,.13) !important;
}

.woocommerce ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 26px !important;
  margin: 0 0 18px !important;
  background: #f7eee6;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--brown) !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(1.12rem,2vw,1.45rem) !important;
  line-height: 1.18 !important;
  padding: 0 !important;
  margin: 0 auto 12px !important;
  max-width: 95%;
}

.woocommerce ul.products li.product .price {
  display: block !important;
  color: var(--gold) !important;
  font-size: 1.13rem !important;
  font-weight: 900 !important;
  margin: 0 0 16px !important;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button {
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 26px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .7px !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover {
  background: linear-gradient(135deg,var(--gold),#d8b48c) !important;
  color: #fff !important;
}

.single-product .product {
  
  
  border-radius: 38px !important;
  padding: clamp(18px,4vw,34px) !important;
  box-shadow: 0 24px 70px rgba(36,27,23,.1) !important;
}

.woocommerce div.product div.images img {
  border-radius: 30px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.1);
}

.woocommerce div.product .summary {
  padding: clamp(8px,3vw,24px) !important;
}

.woocommerce div.product .product_title {
  color: var(--brown) !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2.1rem,5vw,4.4rem) !important;
  line-height: 1.03 !important;
  margin: 0 0 18px !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--gold) !important;
  font-weight: 900 !important;
  font-size: clamp(1.35rem,3vw,2rem) !important;
  margin-bottom: 18px !important;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .summary p {
  color: var(--muted);
  line-height: 1.85;
  font-size: 1.03rem;
}

.woocommerce div.product form.cart {
  margin-top: 24px !important;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.woocommerce .quantity .qty {
  min-height: 52px;
  width: 80px !important;
  border: 1px solid var(--border);
  border-radius: 999px;
  text-align: center;
  font-weight: 800;
  background: #fff;
  color: var(--brown);
}

.gcc-product-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 24px 0;
}

.gcc-product-trust div {
  background: #fbf6f0;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 15px 16px;
}

.gcc-product-trust strong {
  display: block;
  color: var(--brown);
  margin-bottom: 4px;
}

.gcc-product-trust span {
  color: var(--muted);
  font-size: .92rem;
}

.woocommerce div.product .woocommerce-tabs {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 34px;
  padding: clamp(20px,4vw,38px);
  margin-top: 34px;
  box-shadow: 0 18px 55px rgba(36,27,23,.08);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}

.related.products {
  margin-top: 50px;
}

.related.products > h2 {
  font-size: clamp(2rem,4vw,3.2rem) !important;
  text-align: center;
  margin-bottom: 28px !important;
}

@media(max-width:900px){
  .woocommerce ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 22px !important;
  }
}

@media(max-width:640px){
  .gcc-shop-main,
  .woocommerce-page .gcc-shop-main {
    padding: 95px 12px 90px;
  }

  .gcc-shop-hero {
    border-radius: 30px;
    padding: 44px 20px;
    text-align: left;
  }

  .gcc-shop-hero h1 {
    text-align: left !important;
    font-size: clamp(2.1rem,10vw,3.4rem) !important;
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering {
    float: none !important;
    width: 100%;
    text-align: center;
  }

  .woocommerce .woocommerce-ordering select {
    width: 100%;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 14px !important;
  }

  .woocommerce ul.products li.product {
    border-radius: 22px !important;
    padding: 10px 10px 16px !important;
  }

  .woocommerce ul.products li.product a img {
    border-radius: 18px !important;
    margin-bottom: 12px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: .98rem !important;
  }

  .woocommerce ul.products li.product .button {
    width: 100%;
    font-size: .72rem !important;
    padding: 11px 8px !important;
  }

  .single-product .product {
    border-radius: 28px !important;
    padding: 14px !important;
  }

  .woocommerce div.product .product_title {
    font-size: clamp(2rem,10vw,3.2rem) !important;
  }

  .woocommerce div.product .woocommerce-tabs {
    border-radius: 28px;
    padding: 20px;
  }
}


/* v15 - premium single product/class page redesign */

/* stop product page feeling cramped */
.single-product .gcc-shop-main,
.single-product.woocommerce-page .gcc-shop-main {
  padding: 130px 16px 110px !important;
  background: radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 38%,#f6ede4 100%) !important;
}

.single-product .gcc-shop-container {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

/* remove cramped default spacing */
.single-product .woocommerce-notices-wrapper {
  margin-bottom: 24px !important;
}

.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: 34px !important;
  align-items: start !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 38px !important;
  padding: clamp(18px, 3.5vw, 38px) !important;
  box-shadow: 0 24px 70px rgba(36,27,23,.12) !important;
  overflow: visible !important;
}

.single-product div.product::before,
.single-product div.product::after {
  display: none !important;
}

/* image column */
.single-product div.product div.images {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  position: sticky !important;
  top: 112px !important;
}

.single-product div.product div.images img {
  width: 100% !important;
  border-radius: 30px !important;
  
  background: #f7eee6 !important;
}

.single-product div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

/* summary column */
.single-product div.product div.summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 12px clamp(4px, 2vw, 20px) !important;
  color: var(--brown) !important;
}

.single-product div.product .product_title {
  
  
  font-size: clamp(2.05rem, 5vw, 4.25rem) !important;
  
  
  
}

/* price and finance */
.single-product div.product p.price,
.single-product div.product span.price {
  
  
  
  margin: 0 0 16px !important;
}

.single-product .clearpay-paragraph,
.single-product .klarna-message,
.single-product klarna-placement,
.single-product .woocommerce-product-details__short-description + p {
  margin: 12px 0 18px !important;
}

/* trust cards */
.single-product .gcc-product-trust {
  
  grid-template-columns: 1fr !important;
  
  margin: 22px 0 24px !important;
}

.single-product .gcc-product-trust div {
  
  
  border-radius: 20px !important;
  padding: 16px 18px !important;
}

.single-product .gcc-product-trust strong {
  display: block !important;
  
  font-size: 1rem !important;
  margin-bottom: 5px !important;
}

.single-product .gcc-product-trust span {
  display: block !important;
  
  font-size: .94rem !important;
  
}

/* stock, quantity and booking button */
.single-product .stock {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(184,144,104,.13) !important;
  color: var(--brown) !important;
  border: 1px solid rgba(184,144,104,.28) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  font-weight: 900 !important;
  margin: 4px 0 14px !important;
}

.single-product div.product form.cart {
  margin: 18px 0 20px !important;
  
  grid-template-columns: 86px minmax(0, 1fr) !important;
  
  
}

.single-product .quantity {
  margin: 0 !important;
}

.single-product .quantity .qty {
  width: 86px !important;
  height: 56px !important;
  min-height: 56px !important;
  border: 1px solid var(--border) !important;
  
  
  
  
  
  font-size: 1rem !important;
}

.single-product .single_add_to_cart_button {
  
  min-height: 56px !important;
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  
  
  
  
  letter-spacing: .8px !important;
  
  padding: 16px 24px !important;
}

.single-product .single_add_to_cart_button:hover {
  background: linear-gradient(135deg,var(--gold),#d8b48c) !important;
}

/* payment buttons */
.single-product .wc-stripe-payment-request-wrapper,
.single-product .wc-stripe-payment-request-button,
.single-product #wc-stripe-payment-request-wrapper,
.single-product #wc-stripe-payment-request-button-separator {
  margin-top: 18px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.single-product #wc-stripe-payment-request-button {
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* hide messy category line */
.single-product .product_meta {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--border) !important;
  color: var(--muted) !important;
  font-size: .95rem !important;
}

.single-product .product_meta .posted_in {
  display: none !important;
}

/* tabs and long description */
.single-product div.product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  
  
  
  border-radius: 34px !important;
  padding: clamp(24px, 4vw, 44px) !important;
  margin: 20px 0 0 !important;
  
}

.single-product div.product .woocommerce-tabs ul.tabs {
  
  
  
  
  margin: 0 0 28px !important;
  border: none !important;
}

.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}



.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}



.single-product div.product .woocommerce-tabs ul.tabs li a {
  
  padding: 13px 20px !important;
  
  
  
  font-size: .85rem !important;
}



.single-product .woocommerce-tabs .panel {
  max-width: 900px !important;
}

.single-product .woocommerce-tabs .panel h2 {
  
  
  
  line-height: 1.08 !important;
  margin: 0 0 18px !important;
}



.single-product .woocommerce-tabs .panel strong {
  color: var(--brown) !important;
}

/* description content readability */
.single-product .woocommerce-tabs .panel br {
  display: block !important;
  content: "" !important;
  margin-bottom: 8px !important;
}

/* related products */
.single-product .related.products {
  grid-column: 1 / -1 !important;
  margin-top: 44px !important;
  background: transparent !important;
}

.single-product .related.products > h2 {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2.1rem, 4vw, 3.4rem) !important;
  text-align: center !important;
  color: var(--brown) !important;
  margin-bottom: 28px !important;
}

/* mobile */
@media(max-width:900px){
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .single-product div.product div.images {
    position: static !important;
  }
}

@media(max-width:640px){
  .single-product .gcc-shop-main,
  .single-product.woocommerce-page .gcc-shop-main {
    padding: 96px 12px 95px !important;
  }

  .single-product div.product {
    border-radius: 28px !important;
    padding: 12px !important;
    gap: 14px !important;
  }

  .single-product div.product div.images img {
    border-radius: 22px !important;
  }

  .single-product div.product div.summary {
    padding: 12px 4px 4px !important;
  }

  .single-product div.product .product_title {
    font-size: clamp(2rem, 10vw, 3.15rem) !important;
    margin-bottom: 14px !important;
  }

  .single-product div.product p.price,
  .single-product div.product span.price {
    font-size: 1.45rem !important;
  }

  .single-product .gcc-product-trust {
    gap: 10px !important;
    margin: 18px 0 !important;
  }

  .single-product .gcc-product-trust div {
    border-radius: 16px !important;
    padding: 14px !important;
  }

  .single-product div.product form.cart {
    grid-template-columns: 76px 1fr !important;
    gap: 10px !important;
  }

  .single-product .quantity .qty {
    width: 76px !important;
    height: 52px !important;
    min-height: 52px !important;
  }

  .single-product .single_add_to_cart_button {
    min-height: 52px !important;
    font-size: .85rem !important;
    padding: 14px 16px !important;
  }

  .single-product div.product .woocommerce-tabs {
    border-radius: 24px !important;
    padding: 20px !important;
    margin-top: 14px !important;
  }

  .single-product div.product .woocommerce-tabs ul.tabs {
    gap: 8px !important;
    margin-bottom: 22px !important;
  }

  .single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 11px 14px !important;
    font-size: .78rem !important;
  }

  .single-product .woocommerce-tabs .panel h2 {
    font-size: 2rem !important;
  }

  .single-product .woocommerce-tabs .panel p,
  .single-product .woocommerce-tabs .panel li {
    font-size: .98rem !important;
    line-height: 1.72 !important;
  }
}


/* v16 dedicated modern WooCommerce product and shop redesign */

/* stop old woo wrappers interfering */
.gcc-product-page,
.gcc-shop-page {
  background: radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 38%,#f6ede4 100%);
  padding: 125px 16px 105px;
  color: var(--brown);
}

.gcc-product-container,
.gcc-shop-container {
  max-width: 1180px;
  margin: 0 auto;
}

.gcc-product-page * ,
.gcc-shop-page * {
  box-sizing: border-box;
}

.gcc-product-kicker,
.gcc-class-label {
  display: inline-flex;
  align-items: center;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: .75rem;
  font-weight: 900;
  margin-bottom: 14px;
}

.gcc-product-hero {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: 34px;
  align-items: start;
}

.gcc-product-gallery,
.gcc-product-summary,
.gcc-product-details-panel,
.gcc-related-products,
.gcc-shop-hero-modern {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(234,223,212,.95);
  border-radius: 36px;
  box-shadow: 0 24px 70px rgba(36,27,23,.1);
}

.gcc-product-gallery {
  padding: 16px;
  position: sticky;
  top: 110px;
}

.gcc-main-product-image {
  border-radius: 28px;
  overflow: hidden;
  background: #f7eee6;
}

.gcc-main-product-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.gcc-product-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.gcc-product-thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  background: #f7eee6;
}

.gcc-product-summary {
  padding: clamp(28px, 4vw, 48px);
}

.gcc-product-summary h1 {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2.35rem, 5vw, 4.6rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.05em !important;
  color: var(--brown) !important;
  margin: 0 0 16px !important;
}

.gcc-product-price,
.gcc-product-price .amount {
  color: var(--gold) !important;
  font-size: clamp(1.45rem, 3vw, 2.1rem) !important;
  font-weight: 900 !important;
  margin-bottom: 18px;
}

.gcc-product-short {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.85;
  margin-bottom: 22px;
}

.gcc-product-short p {
  margin: 0 0 12px;
}

.gcc-product-highlights {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}

.gcc-product-highlights div {
  background: #fbf6f0;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 16px 18px;
}

.gcc-product-highlights strong {
  display: block;
  color: var(--brown);
  margin-bottom: 5px;
  font-size: 1rem;
}

.gcc-product-highlights span {
  color: var(--muted);
  line-height: 1.5;
  font-size: .94rem;
}

.gcc-booking-box {
  background: linear-gradient(135deg,var(--brown),var(--brown2));
  color: #fff;
  border-radius: 28px;
  padding: 26px;
  margin-top: 26px;
}

.gcc-booking-box h3 {
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: 8px;
}

.gcc-booking-box p {
  color: #f4ddc4;
  line-height: 1.65;
  margin-bottom: 18px;
}

.gcc-cart-wrap form.cart {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
  align-items: center;
}

.gcc-cart-wrap .quantity {
  margin: 0 !important;
}

.gcc-cart-wrap .qty {
  width: 82px !important;
  height: 56px !important;
  border-radius: 999px !important;
  border: none !important;
  text-align: center !important;
  font-weight: 900 !important;
  background: #fff !important;
  color: var(--brown) !important;
}

.gcc-cart-wrap .single_add_to_cart_button,
.gcc-cart-wrap button.button {
  width: 100% !important;
  height: 56px !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg,var(--gold),#d8b48c) !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .9px !important;
  text-transform: uppercase !important;
  padding: 0 24px !important;
}

.gcc-product-meta-line {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.gcc-product-meta-line span {
  display: inline-flex;
  background: #fbf6f0;
  border: 1px solid var(--border);
  color: var(--muted);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  font-size: .88rem;
}

.gcc-product-meta-line .gcc-stock {
  color: var(--brown);
  background: rgba(184,144,104,.15);
  border-color: rgba(184,144,104,.3);
}

.gcc-product-meta-line .sold {
  background: #f5dddd;
  color: #7b2020;
}

/* hide old default clutter if any plugin injects awkward lines */
.gcc-product-summary .product_meta,
.gcc-product-summary .posted_in {
  display: none !important;
}

/* Stripe/Google Pay block inside booking */
.gcc-booking-box #wc-stripe-payment-request-wrapper,
.gcc-booking-box .wc-stripe-payment-request-wrapper {
  margin-top: 14px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* Details panel */
.gcc-product-details-panel {
  margin-top: 34px;
  padding: clamp(28px, 5vw, 58px);
}

.gcc-details-heading {
  margin-bottom: 24px;
}

.gcc-details-heading.center {
  text-align: center;
}

.gcc-details-heading h2 {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2.2rem, 4.5vw, 4rem) !important;
  line-height: 1.04 !important;
  color: var(--brown) !important;
  margin: 0 !important;
}

.gcc-details-content {
  max-width: 900px;
}

.gcc-details-content h2,
.gcc-details-content h3,
.gcc-details-content h4 {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  color: var(--brown);
  margin: 30px 0 12px;
  line-height: 1.1;
}

.gcc-details-content p,
.gcc-details-content li {
  color: var(--muted);
  font-size: 1.07rem;
  line-height: 1.9;
  margin-bottom: 14px;
}

.gcc-details-content strong {
  color: var(--brown);
}

.gcc-details-content ul,
.gcc-details-content ol {
  padding-left: 22px;
  margin-bottom: 18px;
}

/* Related */
.gcc-related-products {
  margin-top: 34px;
  padding: clamp(26px, 4vw, 44px);
}

.gcc-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.gcc-related-card {
  background: #fbf6f0;
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 12px 12px 18px;
  text-align: center;
  color: inherit;
  text-decoration: none !important;
  transition: .25s ease;
}

.gcc-related-card:hover {
  transform: translateY(-5px);
}

.gcc-related-card img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 12px;
}

.gcc-related-card h3 {
  font-size: 1.08rem;
  line-height: 1.18;
  margin-bottom: 8px;
}

.gcc-related-card p {
  color: var(--gold);
  font-weight: 900;
}

/* Shop page */
.gcc-shop-hero-modern {
  text-align: center;
  color: #fff;
  background:
    linear-gradient(135deg,rgba(36,27,23,.82),rgba(36,27,23,.48)),
    var(--gcc-image-feature) center/cover no-repeat;
  padding: clamp(50px, 7vw, 92px) 24px;
  margin-bottom: 34px;
  overflow: hidden;
}

.gcc-shop-hero-modern h1 {
  color: #fff !important;
  font-size: clamp(2.55rem,6vw,5.3rem) !important;
  line-height: 1.02 !important;
  max-width: 900px;
  margin: 0 auto 20px !important;
}

.gcc-shop-hero-modern p {
  color: #f4ddc4;
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.85;
  font-size: 1.08rem;
}

.gcc-shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
  color: var(--muted);
  font-weight: 800;
}

.gcc-shop-toolbar select {
  min-height: 48px;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0 18px;
  background: #fff;
  color: var(--brown);
  font-weight: 800;
}

.gcc-shop-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.gcc-class-card {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 30px !important;
  padding: 14px 14px 22px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.09) !important;
  text-align: center !important;
  overflow: hidden;
}

.gcc-class-card-link {
  text-decoration: none !important;
  color: inherit !important;
}

.gcc-class-card-image img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 24px;
  margin-bottom: 18px;
}

.gcc-class-card h2 {
  font-size: 1.35rem;
  line-height: 1.18;
  margin-bottom: 10px;
}

.gcc-class-price {
  color: var(--gold);
  font-weight: 900;
  margin-bottom: 16px;
}

.gcc-class-button .button {
  border-radius: 999px !important;
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  padding: 13px 24px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* Mobile */
@media(max-width:900px){
  .gcc-product-hero {
    grid-template-columns: 1fr;
  }

  .gcc-product-gallery {
    position: static;
  }

  .gcc-related-grid,
  .gcc-shop-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media(max-width:640px){
  .gcc-product-page,
  .gcc-shop-page {
    padding: 96px 12px 95px;
  }

  .gcc-product-gallery,
  .gcc-product-summary,
  .gcc-product-details-panel,
  .gcc-related-products,
  .gcc-shop-hero-modern {
    border-radius: 28px;
  }

  .gcc-product-gallery {
    padding: 10px;
  }

  .gcc-main-product-image {
    border-radius: 22px;
  }

  .gcc-product-summary {
    padding: 24px 20px;
  }

  .gcc-product-summary h1 {
    font-size: clamp(2.05rem, 10vw, 3.25rem) !important;
  }

  .gcc-booking-box {
    border-radius: 22px;
    padding: 22px 18px;
  }

  .gcc-cart-wrap form.cart {
    grid-template-columns: 74px 1fr !important;
    gap: 10px !important;
  }

  .gcc-cart-wrap .qty {
    width: 74px !important;
    height: 52px !important;
  }

  .gcc-cart-wrap .single_add_to_cart_button,
  .gcc-cart-wrap button.button {
    height: 52px !important;
    font-size: .78rem !important;
    padding: 0 12px !important;
  }

  .gcc-details-content p,
  .gcc-details-content li {
    font-size: .98rem;
    line-height: 1.75;
  }

  .gcc-related-grid,
  .gcc-shop-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  .gcc-related-card,
  .gcc-class-card {
    border-radius: 22px !important;
    padding: 10px 10px 16px !important;
  }

  .gcc-related-card h3,
  .gcc-class-card h2 {
    font-size: .98rem;
  }

  .gcc-shop-hero-modern {
    text-align: left;
    padding: 44px 20px;
  }

  .gcc-shop-hero-modern h1 {
    text-align: left !important;
    font-size: clamp(2.1rem,10vw,3.4rem) !important;
  }

  .gcc-shop-toolbar {
    display: grid;
    gap: 12px;
    text-align: center;
  }

  .gcc-shop-toolbar select {
    width: 100%;
  }
}


/* v17 pop-out basket drawer */
body.basket-open-body {
  overflow: hidden;
}

.nav-actions button.basket-open {
  width: 42px;
  height: 42px;
  min-width: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--brown);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  position: relative;
}

.cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--gold);
  color: #fff;
  font-size: .68rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.basket-overlay {
  position: fixed;
  inset: 0;
  background: rgba(36,27,23,.48);
  backdrop-filter: blur(8px);
  z-index: 1998;
  opacity: 0;
  visibility: hidden;
  transition: .25s ease;
}

.basket-overlay.active {
  opacity: 1;
  visibility: visible;
}

.basket-drawer {
  position: fixed;
  top: 12px;
  right: 12px;
  bottom: 12px;
  width: min(420px, calc(100% - 24px));
  z-index: 1999;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(184,144,104,.25);
  border-radius: 34px;
  box-shadow: 0 28px 80px rgba(36,27,23,.24);
  transform: translateX(calc(100% + 40px));
  transition: .35s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.basket-drawer.active {
  transform: translateX(0);
}

.basket-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  border-bottom: 1px solid var(--border);
}

.basket-eyebrow {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: .72rem;
  font-weight: 900;
  display: block;
  margin-bottom: 5px;
}

.basket-top h3 {
  font-size: 1.75rem;
  line-height: 1;
  color: var(--brown);
}

.basket-close {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--brown);
  font-size: 1.4rem;
  cursor: pointer;
}

.basket-content {
  padding: 20px 24px 24px;
  overflow: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.basket-items {
  display: grid;
  gap: 14px;
}

.basket-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  background: #fbf6f0;
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 12px;
}

.basket-item-image {
  border-radius: 16px;
  overflow: hidden;
  background: #f7eee6;
}

.basket-item-image img {
  width: 82px;
  height: 82px;
  object-fit: cover;
  display: block;
}

.basket-item-info h4 {
  font-family: var(--font-display,Georgia,"Times New Roman",serif);
  font-size: 1.05rem;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--brown);
}

.basket-item-info h4 a {
  color: inherit;
  text-decoration: none;
}

.basket-item-info p {
  color: var(--muted);
  margin: 0 0 6px;
  font-size: .9rem;
}

.basket-item-info strong {
  color: var(--gold);
  font-weight: 900;
}

.basket-summary {
  margin-top: auto;
  padding-top: 20px;
}

.basket-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg,var(--brown),var(--brown2));
  color: #fff;
  border-radius: 22px;
  padding: 18px;
  margin-bottom: 14px;
}

.basket-summary span {
  color: #f4ddc4;
  font-weight: 800;
}

.basket-summary strong {
  color: #fff;
  font-size: 1.2rem;
}

.basket-checkout {
  width: 100%;
  min-height: 52px;
}

.basket-view-cart {
  display: block;
  text-align: center;
  margin-top: 14px;
  color: var(--gold);
  font-weight: 900;
  text-decoration: none;
}

.basket-empty {
  margin: auto 0;
  text-align: center;
  background: #fbf6f0;
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 34px 22px;
}

.basket-empty-icon {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 2rem;
  box-shadow: 0 12px 34px rgba(36,27,23,.08);
}

.basket-empty h4 {
  font-size: 1.65rem;
  margin-bottom: 10px;
  color: var(--brown);
}

.basket-empty p {
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 20px;
}

@media(max-width:640px) {
  .nav-actions button.basket-open {
    width: 36px;
    height: 36px;
    min-width: 36px;
    flex: 0 0 36px;
    font-size: .88rem;
  }

  .basket-drawer {
    top: 8px;
    right: 8px;
    bottom: 8px;
    width: calc(100% - 16px);
    border-radius: 28px;
  }

  .basket-top {
    padding: 22px;
  }

  .basket-content {
    padding: 18px 18px 22px;
  }

  .basket-item {
    grid-template-columns: 74px minmax(0, 1fr);
    border-radius: 20px;
  }

  .basket-item-image img {
    width: 74px;
    height: 74px;
  }
}


/* v18 safe WooCommerce product styling - no custom templates */
.single-product .gcc-shop-main,
.single-product .site-main,
.woocommerce-page .site-main {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

/* remove risky old template/page classes if browser cached style */
.gcc-product-page,
.gcc-shop-page {
  display: block;
}

/* product page wrapper */
.single-product .product {
  max-width: 1180px !important;
  margin: 120px auto 40px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 34px !important;
  padding: clamp(18px, 4vw, 38px) !important;
  box-shadow: 0 24px 70px rgba(36,27,23,.12) !important;
  overflow: hidden;
}

.single-product .product::before,
.single-product .product::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

.single-product div.product div.images {
  width: 48% !important;
  margin-bottom: 0 !important;
}

.single-product div.product div.summary {
  width: 48% !important;
  padding: 6px 0 0 !important;
}

.single-product div.product div.images img {
  border-radius: 28px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.12) !important;
}

.single-product div.product .product_title {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  color: var(--brown) !important;
  font-size: clamp(2.1rem, 5vw, 4.1rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  margin: 0 0 18px !important;
}

.single-product div.product p.price,
.single-product div.product span.price {
  color: var(--gold) !important;
  font-size: clamp(1.45rem, 3vw, 2rem) !important;
  font-weight: 900 !important;
  margin: 0 0 18px !important;
}

/* make trust cards readable */
.single-product .gcc-product-trust {
  display: grid !important;
  gap: 12px !important;
  margin: 22px 0 !important;
}

.single-product .gcc-product-trust div {
  background: #fbf6f0 !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  padding: 15px 16px !important;
}

.single-product .gcc-product-trust strong,
.single-product .gcc-product-trust span {
  display: block !important;
}

.single-product .gcc-product-trust strong {
  color: var(--brown) !important;
  margin-bottom: 4px !important;
}

.single-product .gcc-product-trust span {
  color: var(--muted) !important;
  line-height: 1.5 !important;
}

/* cart form */
.single-product div.product form.cart {
  
  border-radius: 24px !important;
  padding: 20px !important;
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  gap: 12px !important;
  
  margin: 22px 0 !important;
}

.single-product .quantity .qty {
  width: 82px !important;
  height: 54px !important;
  border-radius: 999px !important;
  border: none !important;
  background: #fff !important;
  color: var(--brown) !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.single-product .single_add_to_cart_button {
  width: 100% !important;
  height: 54px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg,var(--gold),#d8b48c) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .7px !important;
}

.single-product .product_meta {
  display: none !important;
}

/* tabs/description */
.single-product div.product .woocommerce-tabs {
  clear: both !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 30px !important;
  padding: clamp(22px, 4vw, 42px) !important;
  margin: 36px auto 0 !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.08) !important;
}

.single-product div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 0 26px !important;
}

.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.single-product div.product .woocommerce-tabs ul.tabs li {
  border: 1px solid var(--border) !important;
  background: #fbf6f0 !important;
  border-radius: 999px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--brown) !important;
  border-color: var(--brown) !important;
}

.single-product div.product .woocommerce-tabs ul.tabs li a {
  color: var(--brown) !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  font-size: .82rem !important;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff !important;
}

.single-product .woocommerce-tabs .panel h2 {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  color: var(--brown) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  margin: 0 0 16px !important;
}

.single-product .woocommerce-tabs .panel p,
.single-product .woocommerce-tabs .panel li {
  color: var(--muted) !important;
  line-height: 1.85 !important;
  font-size: 1.05rem !important;
  margin-bottom: 14px !important;
}

.single-product .related.products {
  max-width: 1180px !important;
  margin: 44px auto 0 !important;
}

/* shop safe styling */
.post-type-archive-product ul.products,
.woocommerce-shop ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.post-type-archive-product ul.products::before,
.post-type-archive-product ul.products::after,
.woocommerce-shop ul.products::before,
.woocommerce-shop ul.products::after {
  display: none !important;
}

.post-type-archive-product ul.products li.product,
.woocommerce-shop ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 28px !important;
  padding: 14px 14px 22px !important;
  box-shadow: 0 18px 55px rgba(36,27,23,.09) !important;
  text-align: center !important;
}

.post-type-archive-product ul.products li.product img,
.woocommerce-shop ul.products li.product img {
  border-radius: 22px !important;
  aspect-ratio: 1/1;
  object-fit: cover;
}

@media(max-width:900px){
  .single-product div.product div.images,
  .single-product div.product div.summary {
    width: 100% !important;
    float: none !important;
  }

  .single-product div.product div.images {
    margin-bottom: 24px !important;
  }

  .post-type-archive-product ul.products,
  .woocommerce-shop ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:640px){
  .single-product .product {
    margin-top: 96px !important;
    border-radius: 26px !important;
    padding: 12px !important;
  }

  .single-product div.product div.images img {
    border-radius: 20px !important;
  }

  .single-product div.product .product_title {
    font-size: clamp(2rem, 10vw, 3.1rem) !important;
  }

  .single-product div.product form.cart {
    grid-template-columns: 74px 1fr !important;
    border-radius: 20px !important;
    padding: 16px !important;
  }

  .single-product .quantity .qty {
    width: 74px !important;
    height: 50px !important;
  }

  .single-product .single_add_to_cart_button {
    height: 50px !important;
    font-size: .8rem !important;
    padding: 0 10px !important;
  }

  .single-product div.product .woocommerce-tabs {
    border-radius: 24px !important;
    padding: 20px !important;
  }

  .post-type-archive-product ul.products,
  .woocommerce-shop ul.products {
    gap: 14px !important;
  }

  .post-type-archive-product ul.products li.product,
  .woocommerce-shop ul.products li.product {
    border-radius: 22px !important;
    padding: 10px 10px 16px !important;
  }
}


/* v19 basket drawer refinement */
.basket-top h3 {
  display: none !important;
}

.basket-top {
  align-items: flex-start !important;
}

.basket-eyebrow {
  font-size: .82rem !important;
  margin-top: 6px !important;
}

.basket-remove-item {
  display: inline-flex;
  margin-top: 8px;
  color: #9d6e4f !important;
  font-weight: 900;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .5px;
  text-decoration: none !important;
}

.basket-remove-item:hover {
  color: var(--brown) !important;
}

.basket-item-info strong {
  display: block;
}

@media(max-width:640px) {
  .basket-remove-item {
    font-size: .78rem;
  }
}


/* v20 contact page spacing fix */
body.page-id-contact .page-main,
body.page-slug-contact .page-main,
body.page-template-default .page-main {
  padding-top: 105px !important;
}

body.page-id-contact .page-content-card,
body.page-slug-contact .page-content-card,
body.page-template-default .page-content-card {
  max-width: 960px !important;
  margin: 0 auto 90px !important;
  padding: clamp(26px, 4vw, 48px) !important;
  border-radius: 34px !important;
}

body.page-id-contact .entry-title,
body.page-slug-contact .entry-title,
body.page-template-default .entry-title {
  margin: 0 auto 28px !important;
  line-height: 1.05 !important;
}

body.page-id-contact .entry-content,
body.page-slug-contact .entry-content,
body.page-template-default .entry-content {
  margin-top: 0 !important;
}

body.page-id-contact .entry-content form,
body.page-slug-contact .entry-content form,
body.page-template-default .entry-content form {
  margin-top: 0 !important;
}

/* WPForms/Ninja/Gravity/CF7 form wrappers */
body.page-id-contact .wpforms-container,
body.page-slug-contact .wpforms-container,
body.page-template-default .wpforms-container,
body.page-id-contact .wpcf7,
body.page-slug-contact .wpcf7,
body.page-template-default .wpcf7,
body.page-id-contact .nf-form-cont,
body.page-slug-contact .nf-form-cont,
body.page-template-default .nf-form-cont,
body.page-id-contact .gform_wrapper,
body.page-slug-contact .gform_wrapper,
body.page-template-default .gform_wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: 760px !important;
  padding: clamp(22px, 4vw, 34px) !important;
  border-radius: 28px !important;
}

/* reduce giant blank area that some form plugins add */
body.page-id-contact .wpforms-field,
body.page-slug-contact .wpforms-field,
body.page-template-default .wpforms-field,
body.page-id-contact .nf-field-container,
body.page-slug-contact .nf-field-container,
body.page-template-default .nf-field-container,
body.page-id-contact .gfield,
body.page-slug-contact .gfield,
body.page-template-default .gfield {
  margin-bottom: 18px !important;
  padding-bottom: 0 !important;
}

body.page-id-contact .entry-content > *:first-child,
body.page-slug-contact .entry-content > *:first-child,
body.page-template-default .entry-content > *:first-child {
  margin-top: 0 !important;
}

@media(max-width:640px){
  body.page-id-contact .page-main,
  body.page-slug-contact .page-main,
  body.page-template-default .page-main {
    padding-top: 88px !important;
  }

  body.page-id-contact .page-content-card,
  body.page-slug-contact .page-content-card,
  body.page-template-default .page-content-card {
    padding: 24px 16px !important;
    border-radius: 28px !important;
    margin-bottom: 80px !important;
  }

  body.page-id-contact .entry-title,
  body.page-slug-contact .entry-title,
  body.page-template-default .entry-title {
    font-size: clamp(2.4rem, 12vw, 3.6rem) !important;
    margin-bottom: 22px !important;
  }

  body.page-id-contact .wpforms-container,
  body.page-slug-contact .wpforms-container,
  body.page-template-default .wpforms-container,
  body.page-id-contact .wpcf7,
  body.page-slug-contact .wpcf7,
  body.page-template-default .wpcf7,
  body.page-id-contact .nf-form-cont,
  body.page-slug-contact .nf-form-cont,
  body.page-template-default .nf-form-cont,
  body.page-id-contact .gform_wrapper,
  body.page-slug-contact .gform_wrapper,
  body.page-template-default .gform_wrapper {
    padding: 20px 16px !important;
    border-radius: 24px !important;
  }
}


/* v21 Facebook Messenger contact option */
.gcc-messenger-cta {
  max-width: 760px;
  margin: 0 auto 28px;
  background: linear-gradient(135deg,var(--brown),var(--brown2));
  color: #fff;
  border-radius: 28px;
  padding: 24px;
  display: grid;
  grid-template-columns: 62px minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  box-shadow: 0 18px 55px rgba(36,27,23,.14);
}

.gcc-messenger-icon {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}

.gcc-messenger-text span {
  display: block;
  color: #d8b48c;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  font-size: .72rem;
  font-weight: 900;
  margin-bottom: 6px;
}

.gcc-messenger-text h2 {
  color: #fff !important;
  font-size: clamp(1.45rem,3vw,2rem) !important;
  line-height: 1.08 !important;
  margin: 0 0 8px !important;
}

.gcc-messenger-text p {
  color: #f4ddc4 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  font-size: .98rem !important;
  text-align: left !important;
}

.gcc-messenger-btn {
  white-space: nowrap;
  min-height: 48px;
}

.gcc-floating-messenger {
  position: fixed;
  right: 16px;
  bottom: 92px;
  z-index: 998;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg,var(--gold),#d8b48c);
  color: #fff !important;
  border-radius: 999px;
  padding: 13px 18px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 38px rgba(36,27,23,.2);
}

.gcc-floating-messenger span {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .6px;
}

@media(max-width:760px){
  .gcc-messenger-cta {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 24px 20px;
  }

  .gcc-messenger-icon {
    margin: 0 auto;
  }

  .gcc-messenger-text p {
    text-align: center !important;
  }

  .gcc-messenger-btn {
    width: 100%;
  }
}

@media(max-width:640px){
  .gcc-floating-messenger {
    right: 14px;
    bottom: 86px;
    padding: 12px 14px;
  }

  .gcc-floating-messenger span {
    display: none;
  }
}


/* v22 fix Messenger icons so they don't show as broken emoji/image */
.gcc-messenger-icon {
  background: linear-gradient(135deg,#1877f2,#0a5bd3) !important;
  color: #fff !important;
  font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
  font-weight: 900 !important;
  font-size: 2rem !important;
}

.gcc-messenger-icon span {
  display: block !important;
  color: #fff !important;
  font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
  font-weight: 900 !important;
  font-size: 2.15rem !important;
  line-height: 1 !important;
  transform: translateY(2px);
}

.gcc-floating-messenger {
  background: linear-gradient(135deg,#1877f2,#0a5bd3) !important;
}

.gcc-floating-messenger strong {
  display: inline-flex !important;
  
  
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #1877f2 !important;
  font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
  font-weight: 900 !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
}

.gcc-floating-messenger img,
.gcc-messenger-icon img {
  display: none !important;
}


/* v23 custom brown Messenger icon styling */
.gcc-messenger-icon,
.gcc-floating-messenger {
  background: #a45700 !important;
}

.gcc-messenger-icon {
  position: relative;
  overflow: visible;
}

.gcc-messenger-icon::before {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 10px;
  width: 18px;
  height: 18px;
  background: #a45700;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: rotate(18deg);
}

.gcc-messenger-icon span,
.gcc-floating-messenger strong {
  color: #fff !important;
  background: transparent !important;
  font-size: 2rem !important;
  font-weight: 900 !important;
  font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
}

.gcc-messenger-icon span::before,
.gcc-floating-messenger strong::before {
  content: "⌁";
  display: block;
  line-height: 1;
  transform: rotate(-12deg);
}

.gcc-messenger-icon span,
.gcc-floating-messenger strong {
  font-size: 0 !important;
}

.gcc-floating-messenger {
  border-radius: 999px !important;
}

.gcc-floating-messenger strong {
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* v24 real inline SVG Messenger icon */
.gcc-messenger-icon {
  background: transparent !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.gcc-messenger-icon::before,
.gcc-messenger-icon span,
.gcc-messenger-icon span::before {
  display: none !important;
  content: none !important;
}

.gcc-messenger-svg {
  width: 76px !important;
  height: 76px !important;
  display: block !important;
  overflow: visible !important;
}

.gcc-messenger-bubble {
  fill: #a45700 !important;
}

.gcc-messenger-bolt {
  fill: #ffffff !important;
}

.gcc-floating-messenger {
  background: #a45700 !important;
  width: auto !important;
}

.gcc-floating-messenger .gcc-messenger-svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
}

.gcc-floating-messenger strong,
.gcc-floating-messenger strong::before {
  display: none !important;
  content: none !important;
}

.gcc-floating-messenger .gcc-messenger-bubble {
  fill: #fff !important;
}

.gcc-floating-messenger .gcc-messenger-bolt {
  fill: #a45700 !important;
}

@media(max-width:640px){
  .gcc-messenger-icon,
  .gcc-messenger-svg {
    width: 70px !important;
    height: 70px !important;
  }

  .gcc-floating-messenger .gcc-messenger-svg {
    width: 30px !important;
    height: 30px !important;
  }
}


/* v25 menu cleanup and social icons */
.menu-links a[href*="private-events"] {
  display: none !important;
}

.gcc-social-icons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 26px 0 !important;
}

.gcc-social-icons a {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 28px rgba(36,27,23,.08) !important;
  transition: .25s ease !important;
}

.gcc-social-icons a:hover {
  transform: translateY(-3px) !important;
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
}

.gcc-social-icons svg {
  width: 21px !important;
  height: 21px !important;
  fill: var(--gold) !important;
  display: block !important;
}

.gcc-social-icons a:hover svg {
  fill: #fff !important;
}


/* v26 homepage image refresh */
.hero-blur-section::before{
content:"" !important;
position:absolute !important;
inset:0 !important;
backdrop-filter: blur(2px) !important;
background: rgba(0,0,0,.12) !important;
z-index:1 !important;
}

.hero-blur-section > *{
position:relative !important;
z-index:2 !important;
}

.home .experience-section img{
object-fit:cover !important;
min-height:520px !important;
}


/* v27 force homepage image updates */
.home .hero,
.hero {
  background:
    linear-gradient(135deg,rgba(36,27,23,.68),rgba(36,27,23,.42)),
    var(--gcc-image-hero) center/cover no-repeat !important;
}

.home .hero::before,
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  backdrop-filter: blur(2.5px) !important;
  background: rgba(36,27,23,.08) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.home .hero-content,
.hero-content {
  position: relative !important;
  z-index: 2 !important;
}

.home .feature-image,
.feature-image {
  background:
    linear-gradient(rgba(58,47,42,.08),rgba(58,47,42,.08)),
    var(--gcc-image-feature) center/cover no-repeat !important;
}

.home .split-section .feature-image {
  background-image:
    linear-gradient(rgba(58,47,42,.08),rgba(58,47,42,.08)),
    var(--gcc-image-feature) !important;
}


/* v28 bottom homepage image */
.home .bottom-image,
.home .footer-image,
.home .contact-image,
.home .home-bottom-image {
    background:
      linear-gradient(rgba(255,255,255,.05), rgba(255,255,255,.05)),
      var(--gcc-image-baker) center/cover no-repeat !important;
}

.home img[src*="unsplash"] {
    content: var(--gcc-image-baker) !important;
}


/* v29 force lower homepage image update */
.home .baker-image,
.baker-image,
.home section:last-of-type .baker-image,
.home .split .baker-image {
  background:
    linear-gradient(rgba(58,47,42,.08),rgba(58,47,42,.08)),
    var(--gcc-image-baker) center/cover no-repeat !important;
}

.home .split-section:last-of-type .feature-image,
.home .split-section:last-of-type .private-image {
  background:
    linear-gradient(rgba(58,47,42,.08),rgba(58,47,42,.08)),
    var(--gcc-image-baker) center/cover no-repeat !important;
}


/* v31 hard-remove unwanted WordPress widgets/sidebar from shop */
body.post-type-archive-product #secondary,
body.post-type-archive-product .secondary,
body.post-type-archive-product .sidebar,
body.post-type-archive-product aside,
body.post-type-archive-product .widget-area,
body.post-type-archive-product .widget,
body.post-type-archive-product .wp-block-search,
body.post-type-archive-product .wp-block-page-list,
body.post-type-archive-product .wp-block-archives,
body.post-type-archive-product .wp-block-categories,
body.woocommerce-shop #secondary,
body.woocommerce-shop .secondary,
body.woocommerce-shop .sidebar,
body.woocommerce-shop aside,
body.woocommerce-shop .widget-area,
body.woocommerce-shop .widget,
body.woocommerce-shop .wp-block-search,
body.woocommerce-shop .wp-block-page-list,
body.woocommerce-shop .wp-block-archives,
body.woocommerce-shop .wp-block-categories,
body.page-id-10 #secondary,
body.page-id-10 .secondary,
body.page-id-10 .sidebar,
body.page-id-10 aside,
body.page-id-10 .widget-area,
body.page-id-10 .widget,
body.page-id-10 .wp-block-search,
body.page-id-10 .wp-block-page-list,
body.page-id-10 .wp-block-archives,
body.page-id-10 .wp-block-categories {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* If default widgets are printed as loose text, hide the container after products before footer */
body.post-type-archive-product .site-main > form[role="search"],
body.woocommerce-shop .site-main > form[role="search"],
body.page-id-10 .site-main > form[role="search"] {
  display: none !important;
}

/* Clean shop layout */
.gcc-shop-page-clean {
  background: radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 38%,#f6ede4 100%);
  padding: 120px 16px 100px;
}

.gcc-shop-clean-container {
  max-width: 1180px;
  margin: 0 auto;
}

.gcc-shop-clean-hero {
  text-align: center;
  color: #fff;
  background:
    linear-gradient(135deg,rgba(36,27,23,.82),rgba(36,27,23,.48)),
    var(--gcc-image-feature) center/cover no-repeat;
  border-radius: 38px;
  padding: clamp(48px, 7vw, 90px) 24px;
  margin: 0 0 34px;
  box-shadow: 0 24px 70px rgba(36,27,23,.16);
}

.gcc-shop-clean-hero span {
  display: block;
  color: #f4ddc4;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: .78rem;
  font-weight: 900;
  margin-bottom: 18px;
}

.gcc-shop-clean-hero h1 {
  color: #fff !important;
  font-size: clamp(2.55rem,6vw,5.3rem) !important;
  line-height: 1.02 !important;
  max-width: 900px;
  margin: 0 auto 20px !important;
}

.gcc-shop-clean-hero p {
  color: #f4ddc4;
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.85;
  font-size: 1.08rem;
}

.gcc-shop-clean-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
  color: var(--muted);
  font-weight: 800;
}

@media(max-width:640px){
  .gcc-shop-page-clean {
    padding: 95px 12px 90px;
  }

  .gcc-shop-clean-hero {
    text-align: left;
    border-radius: 30px;
    padding: 44px 20px;
  }

  .gcc-shop-clean-toolbar {
    display: grid;
    text-align: center;
  }
}


/* v32 asymmetrical basket drawer + product add-to-basket fix */

/* Basket drawer: more asymmetrical / editorial */
.basket-drawer {
  background:
    radial-gradient(circle at 88% 16%, rgba(184,144,104,.18) 0 90px, transparent 92px),
    radial-gradient(circle at 14% 78%, rgba(36,27,23,.05) 0 125px, transparent 128px),
    rgba(255,255,255,.97) !important;
}

.basket-top {
  padding: 30px 26px 22px !important;
  border-bottom: 1px solid rgba(234,223,212,.9) !important;
  position: relative;
}

.basket-top::after {
  content: "";
  position: absolute;
  left: 26px;
  bottom: -1px;
  width: 92px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--gold),transparent);
}

.basket-eyebrow {
  letter-spacing: 3px !important;
  font-size: .72rem !important;
}

.basket-close {
  transform: translate(6px,-6px);
  box-shadow: 0 12px 30px rgba(36,27,23,.08);
}

.basket-content {
  padding: 26px !important;
}

.basket-items {
  gap: 18px !important;
}

.basket-item {
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  border-radius: 28px !important;
  padding: 16px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),rgba(251,246,240,.92)) !important;
  box-shadow: 0 16px 45px rgba(36,27,23,.07);
  position: relative;
  overflow: hidden;
}

.basket-item::before {
  content: "";
  position: absolute;
  top: -28px;
  right: -26px;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(184,144,104,.15);
}

.basket-item-image {
  border-radius: 20px !important;
  transform: rotate(-2deg);
  box-shadow: 0 12px 30px rgba(36,27,23,.10);
  position: relative;
  z-index: 1;
}

.basket-item-image img {
  width: 92px !important;
  height: 92px !important;
}

.basket-item-info {
  position: relative;
  z-index: 1;
  padding-top: 3px;
}

.basket-item-info h4 {
  font-size: 1.22rem !important;
  line-height: 1.08 !important;
  margin-bottom: 10px !important;
}

.basket-item-info p {
  display: inline-flex;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 5px 10px;
  margin: 0 0 10px !important;
  font-weight: 800;
}

.basket-item-info strong {
  font-size: 1.15rem;
  margin-bottom: 4px;
}

.basket-remove-item {
  width: fit-content;
  background: transparent;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}



.basket-summary > div {
  border-radius: 28px !important;
  padding: 22px !important;
  transform: rotate(-.7deg);
  box-shadow: 0 18px 45px rgba(36,27,23,.12);
}

.basket-checkout {
  border-radius: 999px !important;
  min-height: 58px !important;
  transform: translateX(18px);
  width: calc(100% - 36px) !important;
  box-shadow: 0 18px 45px rgba(184,144,104,.22);
}

.basket-view-cart {
  margin-top: 18px !important;
}

/* Product page: fix add-to-basket controls */
.single-product div.product form.cart {
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  border-radius: 28px !important;
  padding: 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 24px 0 !important;
  width: 100% !important;
}

.single-product div.product form.cart .quantity {
  flex: 0 0 92px !important;
  margin: 0 !important;
}

.single-product div.product form.cart .quantity .qty {
  width: 92px !important;
  height: 58px !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  border: none !important;
  background: #fff !important;
  color: var(--brown) !important;
  font-weight: 900 !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  margin: 0 !important;
}

.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart button.button {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 58px !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg,var(--gold),#d8b48c) !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  padding: 0 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 30px rgba(184,144,104,.22);
}

/* override previous mobile rules that made button tiny/stacked */
@media(max-width:640px){
  .basket-drawer {
    border-radius: 30px !important;
  }

  .basket-content {
    padding: 22px 18px !important;
  }

  .basket-item {
    grid-template-columns: 82px minmax(0,1fr) !important;
    border-radius: 24px !important;
    padding: 14px !important;
  }

  .basket-item-image img {
    width: 82px !important;
    height: 82px !important;
  }

  .basket-item-info h4 {
    font-size: 1.05rem !important;
  }

  .basket-summary > div {
    transform: rotate(0deg);
  }

  .basket-checkout {
    transform: none;
    width: 100% !important;
  }

  .single-product div.product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  .single-product div.product form.cart .quantity {
    flex: 0 0 74px !important;
  }

  .single-product div.product form.cart .quantity .qty {
    width: 74px !important;
    height: 52px !important;
    min-height: 52px !important;
  }

  .single-product div.product form.cart .single_add_to_cart_button,
  .single-product div.product form.cart button.button {
    height: 52px !important;
    min-height: 52px !important;
    font-size: .78rem !important;
    padding: 0 12px !important;
  }
}


/* v33 force basket subtotal and checkout to match size/centre */
.basket-summary {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
  padding-top: 24px !important;
}

.basket-summary > div,
.basket-summary .basket-checkout,
.basket-checkout {
  width: 100% !important;
  max-width: 560px !important;
  min-height: 76px !important;
  margin: 0 auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
}

.basket-summary > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 28px !important;
}

.basket-summary .basket-checkout,
.basket-checkout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 28px !important;
  text-align: center !important;
}

.basket-view-cart {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
}

@media(max-width:640px){
  .basket-summary > div,
  .basket-summary .basket-checkout,
  .basket-checkout {
    max-width: 100% !important;
    min-height: 68px !important;
  }
}


/* v35 safe recovery: remove checkout block error visually, no PHP overrides */
.wc-block-components-error-boundary {
  display: none !important;
}

/* keep basket drawer above all pages */




.basket-open {
  cursor: pointer !important;
}

/* Woo checkout safe styling only */
.woocommerce-checkout .entry-content,
.woocommerce-checkout .woocommerce,
.woocommerce-cart .entry-content,
.woocommerce-cart .woocommerce {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.woocommerce-checkout .page-content-card,
.woocommerce-cart .page-content-card {
  padding-bottom: 110px !important;
}

.woocommerce-checkout h1,
.woocommerce-cart h1 {
  text-align: center !important;
}

/* Make checkout forms cleaner without touching functionality */
.woocommerce-checkout input,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-cart input,
.woocommerce-cart textarea,
.woocommerce-cart select {
  border-radius: 16px !important;
}

.woocommerce-checkout button,
.woocommerce-cart button,
.woocommerce-checkout .button,
.woocommerce-cart .button {
  border-radius: 999px !important;
}


/* v36 classic checkout styling */
.woocommerce-checkout .wc-block-components-error-boundary,
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
  display: none !important;
}

.woocommerce-checkout .page-content-card,
.woocommerce-cart .page-content-card {
  max-width: 980px !important;
  margin: 100px auto 110px !important;
  padding: clamp(22px, 4vw, 42px) !important;
  border-radius: 34px !important;
}

.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce {
  max-width: 100% !important;
}

.woocommerce form.checkout {
  display: block !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background: #fbf6f0 !important;
  border: 1px solid var(--border) !important;
  border-radius: 28px !important;
  padding: clamp(18px, 4vw, 30px) !important;
  margin-bottom: 24px !important;
  box-shadow: 0 14px 40px rgba(36,27,23,.06) !important;
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  color: var(--brown) !important;
  font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
  margin-bottom: 18px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-cart input.input-text,
.woocommerce-cart textarea,
.woocommerce-cart select {
  min-height: 52px !important;
  border-radius: 16px !important;
  border: 1px solid var(--border) !important;
  background: #fff !important;
  padding: 12px 14px !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 52px !important;
  border-radius: 16px !important;
  border: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-checkout #payment {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 24px !important;
  padding: 16px !important;
}

.woocommerce-checkout #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce-cart .checkout-button {
  width: 100% !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  border: none !important;
}

@media(max-width:640px){
  .woocommerce-checkout .page-content-card,
  .woocommerce-cart .page-content-card {
    margin-top: 90px !important;
    padding: 18px 14px !important;
    border-radius: 28px !important;
  }
}


/* v37 checkout mobile layout fix - stop squeezed payment/order sections */
.woocommerce-checkout .page-main,
.woocommerce-checkout .site-main,
.woocommerce-cart .page-main,
.woocommerce-cart .site-main {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-checkout .container,
.woocommerce-cart .container {
  width: 100% !important;
  max-width: 1120px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .page-content-card,
.woocommerce-cart .page-content-card {
  width: min(100%, 1040px) !important;
  max-width: 1040px !important;
  margin: 105px auto 110px !important;
  padding: clamp(24px, 4vw, 44px) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.woocommerce-checkout .entry-content,
.woocommerce-checkout .woocommerce,
.woocommerce-cart .entry-content,
.woocommerce-cart .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
}

/* Classic checkout two-column desktop, full-width mobile */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  width: 100% !important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout #order_review_heading {
  margin-bottom: 0 !important;
}

.woocommerce-checkout #order_review {
  margin-top: 14px !important;
}

/* Remove WooCommerce default float widths */
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #payment {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Form rows shouldn't squeeze */
.woocommerce-checkout form .form-row,
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last,
.woocommerce-checkout .woocommerce-input-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last {
  display: block !important;
}

/* Make fields genuinely full width */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .StripeElement,
.woocommerce-checkout .wc-stripe-elements-field {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Order table readable */
.woocommerce-checkout table.shop_table,
.woocommerce-checkout #order_review table,
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  padding: 14px 12px !important;
  vertical-align: top !important;
  word-break: normal !important;
}

.woocommerce-checkout table.shop_table .product-name {
  width: 62% !important;
}

.woocommerce-checkout table.shop_table .product-total {
  width: 38% !important;
  text-align: right !important;
}

/* Payment area: stop stripe/card fields being narrow */
.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: 18px !important;
  margin: 0 0 12px !important;
  border: 1px solid var(--border) !important;
  border-radius: 22px !important;
  background: #fff !important;
}

.woocommerce-checkout #payment div.payment_box {
  width: 100% !important;
  max-width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  border-radius: 18px !important;
  background: #fbf6f0 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout .StripeElement {
  min-height: 52px !important;
  border-radius: 16px !important;
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
}

.woocommerce-checkout .form-row.place-order {
  padding: 18px 0 0 !important;
}

/* Gift card box */
.woocommerce-checkout [class*="gift"],
.woocommerce-checkout .ywgc_apply_gift_card,
.woocommerce-checkout .yith-ywgc {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* prevent fixed bottom bar covering final button */
.woocommerce-checkout .footer-cta,
.woocommerce-cart .footer-cta,
.woocommerce-checkout .bottom-cta,
.woocommerce-cart .bottom-cta {
  display: none !important;
}

@media(max-width:900px){
  .woocommerce-checkout form.checkout {
    display: block !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: auto !important;
  }
}

@media(max-width:640px){
  .woocommerce-checkout .container,
  .woocommerce-cart .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .woocommerce-checkout .page-content-card,
  .woocommerce-cart .page-content-card {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 88px auto 100px !important;
    padding: 18px 10px !important;
    border-radius: 28px !important;
  }

  .woocommerce-checkout .entry-title,
  .woocommerce-cart .entry-title {
    font-size: clamp(2.7rem, 14vw, 4.2rem) !important;
    margin-bottom: 28px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-additional-fields {
    padding: 18px 14px !important;
    border-radius: 24px !important;
    margin-bottom: 18px !important;
  }

  .woocommerce-checkout h3,
  .woocommerce-checkout #order_review_heading {
    font-size: clamp(1.9rem, 10vw, 2.8rem) !important;
    line-height: 1.05 !important;
  }

  .woocommerce-checkout table.shop_table {
    font-size: .9rem !important;
  }

  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td {
    padding: 12px 8px !important;
  }

  .woocommerce-checkout table.shop_table .product-name {
    width: 60% !important;
  }

  .woocommerce-checkout table.shop_table .product-total {
    width: 40% !important;
  }

  .woocommerce-checkout #payment {
    padding: 12px !important;
    border-radius: 22px !important;
  }

  .woocommerce-checkout #payment ul.payment_methods li {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .woocommerce-checkout #payment div.payment_box {
    padding: 14px !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout textarea,
  .woocommerce-checkout select,
  .woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 50px !important;
    font-size: 16px !important;
  }
}


/* v38 cross-browser header/nav icon + hidden basket drawer fix */

/* Make sure drawer is never part of normal page flow */
.basket-overlay,
.basket-drawer {
  display: block !important;
  position: fixed !important;
}





.basket-drawer {
  
  
  
  
  width: min(420px, calc(100% - 24px)) !important;
  
  
  transform: translate3d(calc(100% + 48px), 0, 0) !important;
  
  
}

.basket-drawer.active {
  transform: translate3d(0, 0, 0) !important;
  
  
}

/* If old basket content appears loose above page, hide loose drawer children outside active drawer */
body:not(.basket-open-body) .basket-drawer:not(.active) * {
  visibility: hidden !important;
}

/* Proper SVG icons for nav actions */
.nav-svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  fill: currentColor !important;
  pointer-events: none !important;
}

.nav-actions a,
.nav-actions button,
.nav-actions .basket-open {
  color: var(--brown) !important;
  font-size: 0 !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

.nav-actions a .nav-svg,
.nav-actions button .nav-svg,
.nav-actions .basket-open .nav-svg {
  font-size: initial !important;
}

/* prevent broken image icons in nav */
.nav-actions img {
  display: none !important;
}

.nav-actions .cart-count {
  font-size: .68rem !important;
  text-indent: 0 !important;
  color: #fff !important;
}

/* keep top bar stable across browsers */
.floating-nav,
.site-nav,
.main-nav {
  overflow: visible !important;
}

@media(max-width:640px){
  .basket-drawer {
    top: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }

  .nav-svg {
    width: 17px !important;
    height: 17px !important;
  }
}


/* v39 basket drawer footer fix - never show in page flow */
.basket-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: rgba(36,27,23,.48) !important;
  backdrop-filter: blur(8px) !important;
  z-index: 99998 !important;
}

.basket-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.basket-drawer {
  position: fixed !important;
  top: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  width: min(420px, calc(100vw - 24px)) !important;
  max-width: 420px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(calc(100% + 60px)) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: 99999 !important;
}

.basket-drawer.active {
  transform: translateX(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body:not(.basket-open-body) .basket-drawer:not(.active) {
  clip-path: inset(0 0 0 100%) !important;
}

/* nav basket icon size fix */
.nav-actions .basket-open {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 50% !important;
  border: 1px solid var(--border) !important;
  background: #fff !important;
  color: var(--brown) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  position: relative !important;
}

.nav-actions .basket-open .nav-svg,
.nav-actions .basket-open svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  fill: currentColor !important;
  display: block !important;
}

.nav-actions .basket-open svg path {
  fill: currentColor !important;
}

.nav-actions .basket-open img {
  display: none !important;
}

.nav-actions .basket-open .cart-count {
  position: absolute !important;
  top: -5px !important;
  right: -5px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: var(--gold) !important;
  color: #fff !important;
  font-size: .68rem !important;
  line-height: 18px !important;
  text-align: center !important;
  font-weight: 900 !important;
}

@media(max-width:640px){
  .basket-drawer {
    top: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .nav-actions .basket-open {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex-basis: 36px !important;
  }

  .nav-actions .basket-open .nav-svg,
  .nav-actions .basket-open svg {
    width: 17px !important;
    height: 17px !important;
  }
}


/* v40 emergency footer clean-up + safe pop-out basket */

/* hide any old loose basket output that escaped outside the proper system */
body > .basket-overlay:not(.active),
body > .basket-drawer:not(.active),
.site-footer > .basket-overlay,
.site-footer > .basket-drawer,
footer > .basket-overlay,
footer > .basket-drawer {
  display: none !important;
}

/* The new basket system must not take up page space */
.gcc-basket-system {
  position: fixed !important;
  inset: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: visible !important;
  z-index: 99998 !important;
  pointer-events: none !important;
}

.gcc-basket-system .basket-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  height: 100vh !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: rgba(36,27,23,.48) !important;
  backdrop-filter: blur(8px) !important;
  z-index: 99998 !important;
}

.gcc-basket-system .basket-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.gcc-basket-system .basket-drawer {
  position: fixed !important;
  top: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  width: min(420px, calc(100vw - 24px)) !important;
  max-width: 420px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(calc(100% + 60px)) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: 99999 !important;
}

.gcc-basket-system .basket-drawer.active {
  transform: translateX(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* keep empty basket icon controlled */
.gcc-basket-system .basket-empty-icon {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
  min-height: 82px !important;
  max-width: 82px !important;
  max-height: 82px !important;
}

.gcc-basket-system .basket-empty-icon svg {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  fill: var(--brown) !important;
}

/* stop messenger/floating icons from becoming massive */
.gcc-floating-messenger,
.gcc-floating-messenger .gcc-messenger-svg {
  max-width: 58px !important;
  max-height: 58px !important;
}

.gcc-floating-messenger .gcc-messenger-svg {
  width: 30px !important;
  height: 30px !important;
}

/* restore footer social icon visibility */
.site-footer .gcc-social-icons a,
footer .gcc-social-icons a {
  background: #fff !important;
  color: var(--gold) !important;
}

.site-footer .gcc-social-icons svg,
footer .gcc-social-icons svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  fill: var(--gold) !important;
}

/* nav basket button still works */
.nav-actions .basket-open {
  cursor: pointer !important;
}

@media(max-width:640px){
  .gcc-basket-system .basket-drawer {
    top: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
}


/* v41 remove Gallery from theme/mobile menu */
.menu-links a[href*="gallery"],
.mobile-menu a[href*="gallery"],
.offcanvas-menu a[href*="gallery"],
.nav-menu a[href*="gallery"],
.site-menu a[href*="gallery"],
a[href$="/gallery/"] {
  display: none !important;
}


/* v42 remove search icon from navbar */
.header-search,
.search-toggle,
.search-icon,
.nav-search,
a[aria-label*="Search"],
button[aria-label*="Search"] {
    display: none !important;
}


/* v44 center contact form submit button */
.contact-form input[type="submit"],
.contact-form button[type="submit"],
.wpcf7-submit,
.wpforms-submit-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 20px auto 0 auto !important;
    text-align: center !important;
}

.wpcf7-submit,
.contact-form button[type="submit"],
.contact-form input[type="submit"],
.wpforms-submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* v45 automated next class countdown */
.gcc-next-class-section {
  padding: 70px 20px 30px !important;
}

.gcc-next-class-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  gap: 28px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 12%, rgba(184,144,104,.22) 0 110px, transparent 112px),
    linear-gradient(135deg,var(--brown),var(--brown2));
  color: #fff;
  border-radius: 38px;
  padding: clamp(28px, 5vw, 54px);
  box-shadow: 0 24px 70px rgba(36,27,23,.16);
}

.gcc-next-class-card::before {
  content: "";
  position: absolute;
  left: -65px;
  bottom: -65px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}

.gcc-next-class-copy {
  position: relative;
  z-index: 1;
}

.gcc-next-kicker {
  display: inline-flex;
  color: #f4ddc4;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 900;
  margin-bottom: 16px;
}

.gcc-next-class-copy h2 {
  color: #fff !important;
  font-size: clamp(2.2rem, 4.8vw, 4.4rem) !important;
  line-height: 1.03 !important;
  margin: 0 0 16px !important;
}

.gcc-next-class-copy p {
  color: #f4ddc4;
  line-height: 1.75;
  margin: 0 0 16px;
  max-width: 700px;
}

.gcc-next-date {
  color: #fff !important;
  font-weight: 900;
  font-size: 1.08rem;
}

.gcc-ticket-counter {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 10px 16px 10px 12px;
  margin: 22px 0;
}

.gcc-ticket-counter strong {
  min-width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  color: var(--brown);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display,Georgia,"Times New Roman",serif);
  font-size: 1.35rem;
}

.gcc-ticket-counter span {
  color: #f4ddc4;
  font-weight: 800;
}

.gcc-countdown-box {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.gcc-time-cell {
  min-height: 132px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(14px);
}

.gcc-time-cell:nth-child(2) {
  transform: translateY(14px);
}

.gcc-time-cell:nth-child(3) {
  transform: translateY(-6px);
}

.gcc-time-cell strong {
  color: #fff;
  font-family: var(--font-display,Georgia,"Times New Roman",serif);
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: 1;
}

.gcc-time-cell span {
  color: #f4ddc4;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 900;
  font-size: .72rem;
  margin-top: 8px;
}

@media(max-width:900px){
  .gcc-next-class-card {
    grid-template-columns: 1fr;
  }

  .gcc-countdown-box {
    max-width: 520px;
  }
}

@media(max-width:640px){
  .gcc-next-class-section {
    padding: 54px 14px 20px !important;
  }

  .gcc-next-class-card {
    border-radius: 30px;
    padding: 28px 20px;
  }

  .gcc-ticket-counter {
    width: 100%;
    border-radius: 24px;
  }

  .gcc-countdown-box {
    gap: 10px;
  }

  .gcc-time-cell {
    min-height: 104px;
    border-radius: 22px;
  }

  .gcc-time-cell:nth-child(2),
  .gcc-time-cell:nth-child(3) {
    transform: none;
  }
}


/* v47 safe removal of homepage Private Events hero button */
.home .hero .hero-actions a:nth-child(2),
.home .hero .hero-buttons a:nth-child(2),
.home .hero .cta-group a:nth-child(2),
.home .hero a[href*="private-events"] {
    display: none !important;
}

/* Keep the primary hero button centred after removing second button */
.home .hero .hero-actions,
.home .hero .hero-buttons,
.home .hero .cta-group {
    justify-content: center !important;
}


/* v48 reviews page */
.gcc-reviews-page{background:radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 38%,#f6ede4 100%);padding:120px 16px 110px;color:var(--brown);}
.gcc-reviews-hero,.gcc-review-form-wrap,.gcc-review-list-wrap{max-width:1120px;margin-left:auto;margin-right:auto;}
.gcc-reviews-hero{text-align:center;background:linear-gradient(135deg,rgba(36,27,23,.78),rgba(36,27,23,.48)),var(--gcc-image-feature) center/cover no-repeat;color:#fff;border-radius:38px;padding:clamp(48px,7vw,92px) 24px;box-shadow:0 24px 70px rgba(36,27,23,.16);}
.gcc-reviews-hero span,.gcc-review-kicker,.gcc-review-list-heading span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:2.2px;font-size:.76rem;font-weight:900;margin-bottom:16px;}
.gcc-reviews-hero h1{color:#fff!important;font-size:clamp(2.7rem,7vw,5.6rem)!important;line-height:1!important;margin:0 auto 18px!important;max-width:920px;}
.gcc-reviews-hero p{color:#f4ddc4;max-width:760px;margin:0 auto;line-height:1.8;}
.gcc-review-form-wrap{margin-top:30px;}
.gcc-review-card,.gcc-review-login-card,.gcc-empty-reviews{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:34px;padding:clamp(24px,5vw,46px);box-shadow:0 20px 60px rgba(36,27,23,.10);}
.gcc-review-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:start;}
.gcc-review-card h2,.gcc-review-login-card h2,.gcc-review-list-heading h2{font-size:clamp(2.1rem,5vw,4rem)!important;line-height:1.05!important;margin:0 0 14px!important;}
.gcc-review-card p,.gcc-review-login-card p,.gcc-empty-reviews p{color:var(--muted);line-height:1.75;}
.gcc-review-form{display:grid;gap:14px;}
.gcc-review-form label{font-weight:900;color:var(--brown);}
.gcc-review-form select,.gcc-review-form textarea{width:100%;border:1px solid var(--border);border-radius:18px;background:#fff;color:var(--brown);padding:14px 16px;font-size:1rem;box-sizing:border-box;}
.gcc-review-notice{background:#fff;border:1px solid var(--border);color:var(--brown);border-radius:20px;padding:16px 18px;margin-bottom:18px;font-weight:800;}
.gcc-review-notice.success{background:#f5fff7;}
.gcc-review-login-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.gcc-review-list-wrap{margin-top:58px;}
.gcc-review-list-heading{text-align:center;margin-bottom:24px;}
.gcc-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.gcc-review-item{background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:28px;padding:26px;box-shadow:0 18px 45px rgba(36,27,23,.08);}
.gcc-review-stars{display:block;color:var(--gold);font-size:1.35rem;letter-spacing:1px;margin-bottom:14px;}
.gcc-review-item p{color:var(--brown);line-height:1.7;margin-bottom:18px;}.gcc-review-item strong{color:var(--gold);}
.gcc-empty-reviews{text-align:center;}
@media(max-width:900px){.gcc-review-card,.gcc-review-grid{grid-template-columns:1fr;}}
@media(max-width:640px){.gcc-reviews-page{padding:95px 12px 95px;}.gcc-reviews-hero,.gcc-review-card,.gcc-review-login-card,.gcc-empty-reviews{border-radius:28px;}.gcc-review-login-actions .btn{width:100%;}}


/* v50 fix Reviews menu placement */
body > a[href*="/reviews"],
.site-wrapper > a[href*="/reviews"],
#page > a[href*="/reviews"] {
  display: none !important;
}

.menu-panel > a[href*="/reviews"],
.mobile-menu-panel > a[href*="/reviews"],
.offcanvas-menu > a[href*="/reviews"],
.menu-links > a[href*="/reviews"] {
  display: block !important;
}


/* v51 Reviews menu direct fix */
.menu-drawer a[href*="/reviews"],
.menu-panel a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"],
.menu-links a[href*="/reviews"] {
  display: block !important;
}

/* Hide only truly loose reviews links outside the menu/nav */



/* v53 reviews menu item visible in correct menu */
.menu-panel a[href*="/reviews"],
.menu-drawer a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"],
.menu-links a[href*="/reviews"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Hide only truly loose Reviews links, not ones inside menu/nav/panels */
body > a[href*="/reviews"] {
  display: none !important;
}


/* v54 mobile menu polish: Reviews font + promo card spacing */
.menu-panel a,
.menu-drawer a,
.mobile-menu a,
.offcanvas-menu a,
.menu-links a,
.menu-panel .menu-item a,
.menu-drawer .menu-item a,
.mobile-menu .menu-item a,
.offcanvas-menu .menu-item a {
  font-weight: 900 !important;
}

.menu-panel a[href*="/reviews"],
.menu-drawer a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"],
.menu-links a[href*="/reviews"] {
  font-weight: 900 !important;
  
  
}

.menu-panel,
.menu-drawer,
.mobile-menu,
.offcanvas-menu {
  display: flex !important;
  flex-direction: column !important;
}

.menu-panel .menu-links,
.menu-drawer .menu-links,
.mobile-menu .menu-links,
.offcanvas-menu .menu-links {
  margin-bottom: 22px !important;
}

.menu-promo,
.menu-promo-box,
.mobile-menu-promo,
.offcanvas-menu-promo,
.menu-panel .promo-card,
.menu-drawer .promo-card {
  margin-top: 22px !important;
}

/* Remove excessive blank area between menu list and promo CTA */
.menu-panel .menu-links + *,
.menu-drawer .menu-links + *,
.mobile-menu .menu-links + *,
.offcanvas-menu .menu-links + * {
  margin-top: 18px !important;
}

/* Specific Gillespies pop-out promo card */
.menu-panel .next-class-card,
.menu-drawer .next-class-card,
.mobile-menu .next-class-card,
.offcanvas-menu .next-class-card,
.menu-panel [class*="next-class"],
.menu-drawer [class*="next-class"] {
  margin-top: 24px !important;
}

/* Keep menu content neat on mobile */
@media(max-width: 640px) {
  .menu-panel,
  .menu-drawer,
  .mobile-menu,
  .offcanvas-menu {
    justify-content: flex-start !important;
  }

  .menu-panel a,
  .menu-drawer a,
  .mobile-menu a,
  .offcanvas-menu a {
    font-weight: 900 !important;
  }
}


/* v55 make Reviews menu item match the exact same font styling as the other menu links */
.menu-panel a[href*="/reviews"],
.menu-drawer a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"],
.menu-links a[href*="/reviews"] {
  font-weight: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}


/* v56 force Reviews menu item to exactly match main drawer links */
.menu-drawer a[href*="/reviews"],
.menu-panel a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"],
.menu-links a[href*="/reviews"],
.gcc-menu a[href*="/reviews"],
.gillespies-menu a[href*="/reviews"] {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: var(--brown) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* If the menu uses direct children, make all menu anchors consistent */
.menu-drawer > a,
.menu-panel > a,
.mobile-menu > a,
.offcanvas-menu > a,
.menu-links > a {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-weight: 700 !important;
}


/* v57 make every pop-out menu item use the exact same typography */
.menu-panel a,
.menu-drawer a,
.mobile-menu a,
.offcanvas-menu a,
.menu-links a,
.gcc-menu a,
.gillespies-menu a,
[class*="menu"] a[href="/"],
[class*="menu"] a[href*="/shop"],
[class*="menu"] a[href*="/classes"],
[class*="menu"] a[href*="/reviews"],
[class*="menu"] a[href*="/contact"] {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: 1.72rem !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: var(--brown) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* Match the rows as well so spacing is consistent */
.menu-panel a,
.menu-drawer a,
.mobile-menu a,
.offcanvas-menu a,
.menu-links a {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Reviews uses the same component classes as every other link.
 * Never style it globally by URL: the same destination appears in the header,
 * footer, menus, CTAs and account journey, each with its own typography. */
@media(max-width:640px){
  .menu-panel a,
  .menu-drawer a,
  .mobile-menu a,
  .offcanvas-menu a,
  .menu-links a {
    font-size: 1.62rem !important;
    font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
    font-weight: 700 !important;
  }
}


/* v58 polished mobile/off-canvas menu */
.menu-panel,
.menu-drawer,
.mobile-menu,
.offcanvas-menu,
.gcc-menu,
.gillespies-menu {
  background:
    radial-gradient(circle at 82% 18%, rgba(216,180,140,.16) 0 120px, transparent 122px),
    radial-gradient(circle at 18% 72%, rgba(216,180,140,.10) 0 150px, transparent 152px),
    rgba(255,255,255,.96) !important;
}

/* Menu link list area */
.menu-panel .menu-links,
.menu-drawer .menu-links,
.mobile-menu .menu-links,
.offcanvas-menu .menu-links,
.gcc-menu .menu-links,
.gillespies-menu .menu-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 28px 0 20px !important;
}

/* Apply consistent premium styling to all main drawer links */
.menu-panel a,
.menu-drawer a,
.mobile-menu a,
.offcanvas-menu a,
.menu-links a,
.gcc-menu a,
.gillespies-menu a {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(1.7rem, 6vw, 2.15rem) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: var(--brown) !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

/* Row styling */
.menu-panel .menu-links > a,
.menu-drawer .menu-links > a,
.mobile-menu .menu-links > a,
.offcanvas-menu .menu-links > a,
.gcc-menu .menu-links > a,
.gillespies-menu .menu-links > a,
.menu-panel > a,
.menu-drawer > a,
.mobile-menu > a,
.offcanvas-menu > a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 66px !important;
  padding: 0 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(184,144,104,.22) !important;
}

/* Elegant small arrow on menu items */
.menu-panel .menu-links > a::after,
.menu-drawer .menu-links > a::after,
.mobile-menu .menu-links > a::after,
.offcanvas-menu .menu-links > a::after,
.gcc-menu .menu-links > a::after,
.gillespies-menu .menu-links > a::after,
.menu-panel > a::after,
.menu-drawer > a::after,
.mobile-menu > a::after,
.offcanvas-menu > a::after {
  content: "›" !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: 1.45rem !important;
  color: var(--gold) !important;
  opacity: .75 !important;
  transform: translateY(-1px) !important;
}

/* Make Reviews exactly match the others */
.menu-panel a[href*="/reviews"],
.menu-drawer a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"],
.menu-links a[href*="/reviews"] {
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(1.7rem, 6vw, 2.15rem) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--brown) !important;
}

/* Menu CTA card spacing and styling */
.menu-promo,
.menu-promo-box,
.mobile-menu-promo,
.offcanvas-menu-promo,
.menu-panel .promo-card,
.menu-drawer .promo-card,
.menu-panel [class*="next-class"],
.menu-drawer [class*="next-class"] {
  margin-top: 28px !important;
  border-radius: 28px !important;
  padding: 28px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(216,180,140,.15) 0 80px, transparent 82px),
    linear-gradient(135deg, var(--brown), var(--brown2)) !important;
  box-shadow: 0 18px 45px rgba(36,27,23,.16) !important;
}

/* Menu CTA title */
.menu-promo h3,
.menu-promo-box h3,
.mobile-menu-promo h3,
.offcanvas-menu-promo h3,
.menu-panel .promo-card h3,
.menu-drawer .promo-card h3,
.menu-panel [class*="next-class"] h3,
.menu-drawer [class*="next-class"] h3 {
  font-size: clamp(1.65rem, 5vw, 2.2rem) !important;
  line-height: 1.1 !important;
  
  margin-bottom: 14px !important;
}

/* Menu CTA paragraph */
.menu-promo p,
.menu-promo-box p,
.mobile-menu-promo p,
.offcanvas-menu-promo p,
.menu-panel .promo-card p,
.menu-drawer .promo-card p,
.menu-panel [class*="next-class"] p,
.menu-drawer [class*="next-class"] p {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  
  margin-bottom: 20px !important;
}

/* Menu CTA button */
.menu-promo .btn,
.menu-promo-box .btn,
.mobile-menu-promo .btn,
.offcanvas-menu-promo .btn,
.menu-panel .promo-card .btn,
.menu-drawer .promo-card .btn,
.menu-panel [class*="next-class"] .btn,
.menu-drawer [class*="next-class"] .btn,
.menu-panel [class*="next-class"] a,
.menu-drawer [class*="next-class"] a {
  font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
  font-size: .88rem !important;
  
  letter-spacing: .12em !important;
  
  
  text-align: center !important;
  border-radius: 999px !important;
  padding: 16px 20px !important;
  background: linear-gradient(135deg, #c89f72, #e3bd8a) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
}

/* Stop CTA button from inheriting menu row arrows */


/* Reduce giant blank area inside drawer */
.menu-panel,
.menu-drawer,
.mobile-menu,
.offcanvas-menu {
  justify-content: flex-start !important;
}

@media(max-width:640px){
  .menu-panel,
  .menu-drawer,
  .mobile-menu,
  .offcanvas-menu {
    padding-bottom: 28px !important;
  }

  .menu-panel .menu-links > a,
  .menu-drawer .menu-links > a,
  .mobile-menu .menu-links > a,
  .offcanvas-menu .menu-links > a,
  .menu-panel > a,
  .menu-drawer > a,
  .mobile-menu > a,
  .offcanvas-menu > a {
    min-height: 58px !important;
  }

  .menu-panel a,
  .menu-drawer a,
  .mobile-menu a,
  .offcanvas-menu a,
  .menu-links a,
  .menu-panel a[href*="/reviews"],
  .menu-drawer a[href*="/reviews"],
  .mobile-menu a[href*="/reviews"],
  .offcanvas-menu a[href*="/reviews"] {
    font-size: 1.75rem !important;
  }
}


/* v59 modern luxury menu typography */
.menu-panel a,
.menu-drawer a,
.mobile-menu a,
.offcanvas-menu a,
.menu-links a,
.gcc-menu a,
.gillespies-menu a,
.menu-panel a[href*="/reviews"],
.menu-drawer a[href*="/reviews"],
.mobile-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/reviews"]{
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-weight: 700 !important;
    letter-spacing: -0.04em !important;
    text-transform: none !important;
    color: #241b17 !important;
}

.menu-panel .menu-links > a,
.menu-drawer .menu-links > a,
.mobile-menu .menu-links > a,
.offcanvas-menu .menu-links > a{
    padding: 8px 0 !important;
    transition: all .2s ease !important;
}

.menu-panel .menu-links > a:hover,
.menu-drawer .menu-links > a:hover,
.mobile-menu .menu-links > a:hover,
.offcanvas-menu .menu-links > a:hover{
    transform: translateX(4px) !important;
}

.menu-panel .menu-links > a::after,
.menu-drawer .menu-links > a::after,
.mobile-menu .menu-links > a::after,
.offcanvas-menu .menu-links > a::after{
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-weight: 500 !important;
}



/* v60 clean modern professional menu typography */
.menu-panel,
.menu-drawer,
.mobile-menu,
.offcanvas-menu,
.gcc-menu,
.gillespies-menu {
  font-family: var(--font-body,Arial,sans-serif) !important;
}

/* Every top-level menu item: same modern font, same weight, same size */
.menu-panel .menu-links > a,
.menu-drawer .menu-links > a,
.mobile-menu .menu-links > a,
.offcanvas-menu .menu-links > a,
.gcc-menu .menu-links > a,
.gillespies-menu .menu-links > a,
.menu-panel > a,
.menu-drawer > a,
.mobile-menu > a,
.offcanvas-menu > a,
.menu-panel a[href="/"],
.menu-panel a[href*="/shop"],
.menu-panel a[href*="/classes"],
.menu-panel a[href*="/reviews"],
.menu-panel a[href*="/contact"],
.menu-drawer a[href="/"],
.menu-drawer a[href*="/shop"],
.menu-drawer a[href*="/classes"],
.menu-drawer a[href*="/reviews"],
.menu-drawer a[href*="/contact"],
.mobile-menu a[href="/"],
.mobile-menu a[href*="/shop"],
.mobile-menu a[href*="/classes"],
.mobile-menu a[href*="/reviews"],
.mobile-menu a[href*="/contact"],
.offcanvas-menu a[href="/"],
.offcanvas-menu a[href*="/shop"],
.offcanvas-menu a[href*="/classes"],
.offcanvas-menu a[href*="/reviews"],
.offcanvas-menu a[href*="/contact"] {
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-size: clamp(1.48rem, 5.1vw, 1.95rem) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  color: #241b17 !important;
  text-transform: none !important;
  text-decoration: none !important;
  font-style: normal !important;
}

/* Make menu rows clean and spaced */
.menu-panel .menu-links > a,
.menu-drawer .menu-links > a,
.mobile-menu .menu-links > a,
.offcanvas-menu .menu-links > a,
.menu-panel > a,
.menu-drawer > a,
.mobile-menu > a,
.offcanvas-menu > a {
  min-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(184,144,104,.22) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Keep all menu arrows modern */
.menu-panel .menu-links > a::after,
.menu-drawer .menu-links > a::after,
.mobile-menu .menu-links > a::after,
.offcanvas-menu .menu-links > a::after,
.menu-panel > a::after,
.menu-drawer > a::after,
.mobile-menu > a::after,
.offcanvas-menu > a::after {
  content: "→" !important;
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #b89068 !important;
  opacity: .75 !important;
}

/* Promo card: same modern font, professional spacing */
.menu-promo,
.menu-promo-box,
.mobile-menu-promo,
.offcanvas-menu-promo,
.menu-panel .promo-card,
.menu-drawer .promo-card,
.menu-panel [class*="next-class"],
.menu-drawer [class*="next-class"] {
  font-family: var(--font-body,Arial,sans-serif) !important;
}

.menu-promo h3,
.menu-promo-box h3,
.mobile-menu-promo h3,
.offcanvas-menu-promo h3,
.menu-panel .promo-card h3,
.menu-drawer .promo-card h3,
.menu-panel [class*="next-class"] h3,
.menu-drawer [class*="next-class"] h3 {
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-size: clamp(1.45rem, 4.8vw, 1.9rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
}

.menu-promo p,
.menu-promo-box p,
.mobile-menu-promo p,
.offcanvas-menu-promo p,
.menu-panel .promo-card p,
.menu-drawer .promo-card p,
.menu-panel [class*="next-class"] p,
.menu-drawer [class*="next-class"] p {
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #f4ddc4 !important;
}

.menu-promo .btn,
.menu-promo-box .btn,
.mobile-menu-promo .btn,
.offcanvas-menu-promo .btn,
.menu-panel .promo-card .btn,
.menu-drawer .promo-card .btn,
.menu-panel [class*="next-class"] .btn,
.menu-drawer [class*="next-class"] .btn,
.menu-panel [class*="next-class"] a,
.menu-drawer [class*="next-class"] a {
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-size: .9rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}

/* Remove arrows from promo button */
.menu-promo .btn::after,
.menu-promo-box .btn::after,
.mobile-menu-promo .btn::after,
.offcanvas-menu-promo .btn::after,
.menu-panel .promo-card .btn::after,
.menu-drawer .promo-card .btn::after,
.menu-panel [class*="next-class"] a::after,
.menu-drawer [class*="next-class"] a::after {
  content: none !important;
}

@media(max-width:640px){
  .menu-panel .menu-links > a,
  .menu-drawer .menu-links > a,
  .mobile-menu .menu-links > a,
  .offcanvas-menu .menu-links > a,
  .menu-panel > a,
  .menu-drawer > a,
  .mobile-menu > a,
  .offcanvas-menu > a {
    min-height: 56px !important;
  }
}


/* ===== v61 UNIFIED MENU FIX ===== */

.menu-panel a,
.menu-drawer a,
.mobile-menu a,
.offcanvas-menu a,
.menu-panel li a,
.menu-drawer li a,
.mobile-menu li a,
.offcanvas-menu li a,
.menu-panel .menu-item a,
.menu-drawer .menu-item a,
.mobile-menu .menu-item a,
.offcanvas-menu .menu-item a {
    font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
    text-transform: none !important;
    text-decoration: none !important;
    color: #221915 !important;
}

.menu-panel li,
.menu-drawer li,
.mobile-menu li,
.offcanvas-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.menu-panel li a,
.menu-drawer li a,
.mobile-menu li a,
.offcanvas-menu li a {
    display: block !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(184,144,104,.25) !important;
}

.menu-panel a::after,
.menu-drawer a::after,
.mobile-menu a::after,
.offcanvas-menu a::after {
    content: none !important;
}



/* v62 FINAL: actual slide-menu typography and spacing */
.slide-menu .menu-links {
  display: flex !important;
  flex-direction: column !important;
  
  padding: 30px 38px 0 !important;
  margin: 0 !important;
}

.slide-menu .menu-links a,
.slide-menu .menu-links a span,
.slide-menu .menu-links a strong {
  
  font-size: clamp(1.65rem, 5.2vw, 2rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  
  
  
  
}

.slide-menu .menu-links a {
  
  
  
  min-height: 62px !important;
  
  
  border-bottom: 1px solid rgba(184,144,104,.22) !important;
}

.slide-menu .menu-links a::after {
  
  
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  
  opacity: .75 !important;
}

/* Menu promo card consistent modern type */
.slide-menu .menu-feature {
  margin: 30px 38px 28px !important;
  padding: 28px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 90% 8%, rgba(216,180,140,.18) 0 78px, transparent 80px),
    linear-gradient(135deg, #241b17, #33231e) !important;
  box-shadow: 0 18px 45px rgba(36,27,23,.18) !important;
}

.slide-menu .menu-feature h3,
.slide-menu .menu-feature p,
.slide-menu .menu-feature a {
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-style: normal !important;
}

.slide-menu .menu-feature h3 {
  font-size: clamp(1.35rem, 4.2vw, 1.65rem) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
  margin: 0 0 12px !important;
}

.slide-menu .menu-feature p {
  font-size: .98rem !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
  color: #f4ddc4 !important;
  margin: 0 0 20px !important;
}

.slide-menu .menu-feature a,
.slide-menu .menu-feature .btn {
  font-size: .86rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: linear-gradient(135deg, #c89f72, #e3bd8a) !important;
  border-radius: 999px !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-decoration: none !important;
}

.slide-menu .menu-feature a::after {
  content: none !important;
}

@media(max-width:640px){
  .slide-menu .menu-links {
    padding: 26px 38px 0 !important;
  }

  .slide-menu .menu-links a {
    min-height: 58px !important;
  }

  .slide-menu .menu-links a,
  .slide-menu .menu-links a span,
  .slide-menu .menu-links a strong {
    font-size: 1.72rem !important;
  }

  .slide-menu .menu-feature {
    margin-top: 28px !important;
  }
}


/* ===== v63 MENU TEXT VISIBILITY FIX ===== */

.slide-menu .menu-links a,
.slide-menu .menu-links a:link,
.slide-menu .menu-links a:visited,
.slide-menu .menu-links a:hover,
.slide-menu .menu-links a:active {
    color: #241b17 !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: #241b17 !important;
}

.slide-menu .menu-links a *,
.slide-menu .menu-links a span,
.slide-menu .menu-links a strong {
    color: #241b17 !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: #241b17 !important;
    display: inline !important;
}

/* Remove any transparent text effects */
.slide-menu .menu-links a {
    background: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
}

/* Keep clean professional styling */
.slide-menu .menu-links {
    gap: 6px !important;
}

.slide-menu .menu-links a {
    
    
    font-weight: 700 !important;
    
    padding: 10px 0 !important;
}



/* ===== v64 REFINED MENU TYPOGRAPHY ===== */

.slide-menu .menu-links a {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: 22px !important;
    
    letter-spacing: -0.3px !important;
    line-height: 1.3 !important;
    color: #241b17 !important;
    
    padding: 18px 0 !important;

    
    
    

    border-bottom: 1px solid rgba(201, 184, 166, 0.45) !important;
    
}

.slide-menu .menu-links a:hover {
    color: #caa173 !important;
    padding-left: 6px !important;
}

.slide-menu .menu-links a::after {
    
    font-size: 18px !important;
    
    opacity: 0.55 !important;
}

.slide-menu .menu-links {
    padding: 10px 38px 0 !important;
    
}



/* ===== v65 ELEGANT MENU TYPOGRAPHY ===== */

.slide-menu .menu-links a {
    font-family: var(--font-display,Georgia,serif) !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    letter-spacing: 0px !important;
    line-height: 1.15 !important;
    color: #241915 !important;
    text-transform: none !important;

    
    
    

    padding: 22px 0 !important;
    border-bottom: 1px solid rgba(201, 184, 166, 0.38) !important;
    transition: all 0.25s ease !important;
}

.slide-menu .menu-links a:hover {
    color: #c69a68 !important;
    transform: translateX(4px) !important;
}

.slide-menu .menu-links a::after {
    content: "→";
    
    
    font-weight: 400 !important;
    opacity: 0.45 !important;
}

.slide-menu .menu-links {
    padding: 22px 38px 0 !important;
}



/* ===== v66 MENU FONT MATCHES BASKET STYLE ===== */

.slide-menu .menu-links {
    padding: 24px 38px 0 !important;
    gap: 0 !important;
}

.slide-menu .menu-links a,
.slide-menu .menu-links a span,
.slide-menu .menu-links a strong {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.035em !important;
    color: #241b17 !important;
    -webkit-text-fill-color: #241b17 !important;
    text-transform: none !important;
    text-decoration: none !important;
    font-style: normal !important;
}

.slide-menu .menu-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 64px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(201,184,166,.42) !important;
    transition: all .22s ease !important;
}

.slide-menu .menu-links a:hover {
    color: #b89068 !important;
    -webkit-text-fill-color: #b89068 !important;
}

.slide-menu .menu-links a::after {
    content: "→" !important;
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #b89068 !important;
    opacity: .65 !important;
}

/* Keep the promo card matching the same basket-style sans font */
.slide-menu .menu-feature,
.slide-menu .menu-feature h3,
.slide-menu .menu-feature p,
.slide-menu .menu-feature a,
.slide-menu .menu-feature .btn {
    font-family: var(--font-body,Arial,sans-serif) !important;
}

.slide-menu .menu-feature h3 {
    font-weight: 700 !important;
    letter-spacing: -0.035em !important;
}

@media(max-width:640px){
    .slide-menu .menu-links a,
    .slide-menu .menu-links a span,
    .slide-menu .menu-links a strong {
        font-size: 24px !important;
        font-weight: 700 !important;
    }

    .slide-menu .menu-links a {
        min-height: 62px !important;
    }
}


/* ===== v67 REMOVE SHOP SIDEBAR / LINKS ===== */

.woocommerce-page .widget-area,
.woocommerce-page .sidebar,
.woocommerce-page aside,
.woocommerce-page .shop-sidebar,
.woocommerce-page #secondary,
.post-type-archive-product .widget-area,
.post-type-archive-product aside,
.post-type-archive-product #secondary {
    display: none !important;
}

/* Make shop full width after sidebar removal */
.woocommerce-page .content-area,
.woocommerce-page .site-main,
.post-type-archive-product .content-area,
.post-type-archive-product .site-main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}



/* ===== v68 FORCE REMOVE SHOP PAGE LINKS/WIDGETS ===== */

body.post-type-archive-product .widget,
body.post-type-archive-product .widgets-area,
body.post-type-archive-product .widget-area,
body.post-type-archive-product aside,
body.post-type-archive-product .sidebar,
body.post-type-archive-product #secondary,
body.post-type-archive-product .secondary,
body.tax-product_cat .widget,
body.tax-product_cat aside,
body.tax-product_cat #secondary,
body.tax-product_tag .widget,
body.tax-product_tag aside,
body.tax-product_tag #secondary,
.woocommerce .widget,
.woocommerce-page .widget,
.woocommerce-page aside section,
.woocommerce-page .sidebar-widget {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove search/category/archive blocks specifically */
.widget_search,
.widget_pages,
.widget_archive,
.widget_categories,
.widget_product_categories,
.widget_recent_entries,
.widget_meta {
    display: none !important;
}

/* Full width shop layout */
body.post-type-archive-product #primary,
body.post-type-archive-product .content-area,
body.post-type-archive-product .site-main,
.woocommerce-page #primary,
.woocommerce-page .content-area {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}



/* ===== v69 MY ACCOUNT LOGIN / REGISTER TABS ===== */

.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 120px 18px 90px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce > h2,
.woocommerce-account:not(.logged-in) .woocommerce .u-column1 h2,
.woocommerce-account:not(.logged-in) .woocommerce .u-column2 h2 {
  display: none !important;
}

.woocommerce-account:not(.logged-in) .u-columns.col2-set {
  position: relative !important;
  display: block !important;
  
  
  background:
    radial-gradient(circle at 88% 8%, rgba(216,180,140,.15) 0 110px, transparent 112px),
    rgba(255,255,255,.96) !important;
  border: 1px solid rgba(201,184,166,.45) !important;
  
  padding: 34px 26px 28px !important;
  
}

.gcc-account-intro {
  text-align: center;
  margin-bottom: 24px;
}

.gcc-account-intro span {
  display: block;
  color: #b89068;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 900;
  margin-bottom: 10px;
}

.gcc-account-intro h1 {
  margin: 0 0 10px !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  color: #241b17 !important;
  font-size: clamp(2.35rem, 8vw, 4rem) !important;
  line-height: .95 !important;
}

.gcc-account-intro p {
  color: #7d6e64;
  margin: 0 auto !important;
  max-width: 460px;
  line-height: 1.65;
}

.gcc-account-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background: #f7efe7;
  border: 1px solid rgba(201,184,166,.42);
  border-radius: 999px;
  padding: 6px;
  margin: 22px 0 24px;
}

.gcc-account-tab {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #241b17;
  font-family: var(--font-body,Arial,sans-serif);
  font-size: .88rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 14px 18px;
  cursor: pointer;
}

.gcc-account-tab.active {
  background: #241b17;
  color: #fff;
  box-shadow: 0 10px 25px rgba(36,27,23,.16);
}

.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account:not(.logged-in) .u-column2 {
  display: none;
}

.woocommerce-account:not(.logged-in) .u-column1.active,
.woocommerce-account:not(.logged-in) .u-column2.active {
  display: block !important;
}

.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.register {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.woocommerce-account:not(.logged-in) form .form-row {
  margin-bottom: 16px !important;
}

.woocommerce-account:not(.logged-in) form label {
  color: #241b17 !important;
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
  margin-bottom: 8px !important;
}

.woocommerce-account:not(.logged-in) form input.input-text,
.woocommerce-account:not(.logged-in) form input[type="text"],
.woocommerce-account:not(.logged-in) form input[type="email"],
.woocommerce-account:not(.logged-in) form input[type="password"] {
  width: 100% !important;
  min-height: 56px !important;
  border: 1px solid rgba(201,184,166,.65) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: #241b17 !important;
  padding: 0 18px !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}

.woocommerce-account:not(.logged-in) form input:focus {
  border-color: #b89068 !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(184,144,104,.14) !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #7d6e64 !important;
  font-weight: 600 !important;
}

.woocommerce-account:not(.logged-in) .lost_password {
  margin: 12px 0 0 !important;
  text-align: center !important;
}

.woocommerce-account:not(.logged-in) .lost_password a {
  color: #b89068 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-button,
.woocommerce-account:not(.logged-in) button.button,
.woocommerce-account:not(.logged-in) input.button {
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #241b17, #33231e) !important;
  color: #fff !important;
  border: 0 !important;
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  margin-top: 8px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text {
  color: #7d6e64 !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
  margin: 8px 0 14px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text a {
  color: #b89068 !important;
  font-weight: 800 !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-error,
.woocommerce-account:not(.logged-in) .woocommerce-info,
.woocommerce-account:not(.logged-in) .woocommerce-message {
  max-width: 620px !important;
  margin: 0 auto 18px !important;
  border-radius: 18px !important;
  border-top-color: #b89068 !important;
  background: #fff !important;
}

@media(max-width: 640px) {
  .woocommerce-account:not(.logged-in) .woocommerce {
    padding: 95px 12px 90px !important;
  }

  .woocommerce-account:not(.logged-in) .u-columns.col2-set {
    border-radius: 28px !important;
    padding: 28px 18px 22px !important;
  }

  .gcc-account-tab {
    font-size: .78rem;
    padding: 13px 10px;
  }
}


/* ===== v70 MY ACCOUNT SINGLE CARD LAYOUT ===== */

/* Remove the extra nested box effect */
.woocommerce-account:not(.logged-in) .woocommerce {
  padding: 105px 14px 95px !important;
  max-width: 720px !important;
}

.woocommerce-account:not(.logged-in) .u-columns.col2-set {
  max-width: 620px !important;
  
  padding: 34px 24px 28px !important;
  
  background:
    radial-gradient(circle at 90% 9%, rgba(216,180,140,.14) 0 110px, transparent 112px),
    rgba(255,255,255,.97) !important;
  border: 1px solid rgba(201,184,166,.48) !important;
  box-shadow: 0 22px 65px rgba(36,27,23,.10) !important;
}

/* Make inner login/register sections flat, not separate cards */
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2,
.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.register {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Some WooCommerce/themes wrap forms in extra panels - flatten them */
.woocommerce-account:not(.logged-in) .woocommerce-form,
.woocommerce-account:not(.logged-in) .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .woocommerce-form-register {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Tighten the intro and tabs so everything feels like one card */
.gcc-account-intro {
  margin-bottom: 20px !important;
}

.gcc-account-tabs {
  margin: 20px 0 26px !important;
}

/* Form fields sit naturally in the same card */
.woocommerce-account:not(.logged-in) form .form-row {
  margin-bottom: 18px !important;
}

@media(max-width:640px){
  .woocommerce-account:not(.logged-in) .woocommerce {
    padding: 92px 12px 95px !important;
  }

  .woocommerce-account:not(.logged-in) .u-columns.col2-set {
    padding: 30px 20px 24px !important;
    border-radius: 30px !important;
  }
}


/* ===== v71 REMOVE MOBILE MENU ARROWS ===== */

.gcc-mobile-nav a::after,
.mobile-menu a::after,
.slideout-menu a::after,
.offcanvas-menu a::after,
nav.mobile-menu a::after,
.menu-item a::after {
    content: none !important;
    display: none !important;
}

.gcc-mobile-nav a,
.mobile-menu a,
.slideout-menu a,
.offcanvas-menu a {
    justify-content: flex-start !important;
    gap: 0 !important;
}


/* ===== v72 LIGHTER MENU TYPOGRAPHY ===== */

.gcc-mobile-nav a,
.mobile-menu a,
.slideout-menu a,
.offcanvas-menu a,
nav.mobile-menu a,
.menu-item a {
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    font-family: var(--font-body,sans-serif) !important;
    color: #241b17 !important;
}

/* Slightly softer on mobile */
@media(max-width:768px){
    .gcc-mobile-nav a,
    .mobile-menu a,
    .slideout-menu a,
    .offcanvas-menu a,
    nav.mobile-menu a,
    .menu-item a {
        font-size: 17px !important;
        line-height: 1.3 !important;
    }
}


/* ===== v73 FINAL MENU FONT WEIGHT FIX ===== */
/* This targets the actual visible menu links */

.slide-menu .menu-links a,
.slide-menu .menu-links a:link,
.slide-menu .menu-links a:visited,
.slide-menu .menu-links a span,
.slide-menu .menu-links a strong,
body .slide-menu .menu-links a,
body .slide-menu .menu-links a span {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em !important;
    color: #241b17 !important;
    -webkit-text-fill-color: #241b17 !important;
    text-transform: none !important;
    text-decoration: none !important;
    font-style: normal !important;
}

/* Keep rows clean and remove arrows */
.slide-menu .menu-links a,
body .slide-menu .menu-links a {
    min-height: 58px !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(201,184,166,.38) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.slide-menu .menu-links a::after,
body .slide-menu .menu-links a::after {
    content: none !important;
    display: none !important;
}

/* Keep promo card text modern but not overly heavy */
.slide-menu .menu-feature h3,
body .slide-menu .menu-feature h3 {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
}

.slide-menu .menu-feature p,
body .slide-menu .menu-feature p {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-weight: 400 !important;
}

@media(max-width: 768px) {
    .slide-menu .menu-links a,
    .slide-menu .menu-links a span,
    .slide-menu .menu-links a strong,
    body .slide-menu .menu-links a,
    body .slide-menu .menu-links a span {
        font-size: 24px !important;
        font-weight: 500 !important;
    }
}


/* ===== v74 MY ACCOUNT PAGE: REMOVE TITLE + CENTRE CARD ===== */

.woocommerce-account:not(.logged-in) h1.entry-title,
.woocommerce-account:not(.logged-in) .page-title,
.woocommerce-account:not(.logged-in) .entry-header,
.woocommerce-account:not(.logged-in) .woocommerce-products-header,
body.woocommerce-account:not(.logged-in) main > h1,
body.woocommerce-account:not(.logged-in) article > h1 {
    display: none !important;
}

/* Move the main account card up and centre it */
.woocommerce-account:not(.logged-in) .woocommerce {
    padding-top: 82px !important;
    padding-bottom: 95px !important;
    display: flex !important;
    justify-content: center !important;
}

.woocommerce-account:not(.logged-in) .u-columns.col2-set {
    margin: 0 auto !important;
    transform: translateY(-22px) !important;
}

/* Remove any empty space left by the hidden title section */
.woocommerce-account:not(.logged-in) .site-main,
.woocommerce-account:not(.logged-in) .content-area,
.woocommerce-account:not(.logged-in) article,
.woocommerce-account:not(.logged-in) .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

@media(max-width: 640px) {
    .woocommerce-account:not(.logged-in) .woocommerce {
        padding-top: 72px !important;
    }

    .woocommerce-account:not(.logged-in) .u-columns.col2-set {
        transform: translateY(-18px) !important;
    }
}


/* ===== v75 SINGLE BOX ACCOUNT SECTION ===== */

/* Keep ONLY the outer card */
.woocommerce-account:not(.logged-in) .u-columns.col2-set {
    background: #ffffff !important;
    border-radius: 34px !important;
    border: 1px solid rgba(214,199,183,.55) !important;
    padding: 36px 26px !important;
    box-shadow: 0 14px 45px rgba(40,28,20,.08) !important;
}

/* Remove ALL nested boxes/panels */
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2,
.woocommerce-account:not(.logged-in) .woocommerce-form,
.woocommerce-account:not(.logged-in) .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .woocommerce-form-register,
.woocommerce-account:not(.logged-in) .gcc-account-shell,
.woocommerce-account:not(.logged-in) .gcc-account-card,
.woocommerce-account:not(.logged-in) .gcc-account-panel,
.woocommerce-account:not(.logged-in) .gcc-account-wrap,
.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Tidy spacing */
.woocommerce-account:not(.logged-in) .gcc-account-intro {
    margin-bottom: 24px !important;
}

.woocommerce-account:not(.logged-in) .gcc-account-tabs {
    margin-bottom: 30px !important;
}

/* Inputs cleaner inside single card */
.woocommerce-account:not(.logged-in) input.input-text {
    border-radius: 18px !important;
}

/* Mobile spacing */
@media(max-width:768px){

    .woocommerce-account:not(.logged-in) .u-columns.col2-set {
        padding: 28px 20px !important;
        border-radius: 28px !important;
    }
}


/* ===== v76 MOBILE SHOP PAGE SPACING FIX ===== */

@media (max-width: 768px) {

    body.post-type-archive-product .site-main,
    body.post-type-archive-product main,
    body.post-type-archive-product .content-area,
    body.woocommerce-shop .site-main,
    body.woocommerce-shop main,
    body.woocommerce-shop .content-area,
    .woocommerce.archive .site-main,
    .woocommerce-page .site-main {
        padding-top: 70px !important;
    }

    body.post-type-archive-product .woocommerce-result-count,
    body.woocommerce-shop .woocommerce-result-count,
    .woocommerce-result-count {
        margin-top: 12px !important;
        margin-bottom: 20px !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        text-align: center !important;
        width: 100% !important;
        display: block !important;
        color: #7d6e64 !important;
        font-weight: 700 !important;
    }

    body.post-type-archive-product .woocommerce-ordering,
    body.woocommerce-shop .woocommerce-ordering,
    .woocommerce-ordering {
        width: 100% !important;
        margin: 0 auto 32px !important;
        padding: 0 22px !important;
        float: none !important;
        display: block !important;
    }

    body.post-type-archive-product .woocommerce-ordering select,
    body.woocommerce-shop .woocommerce-ordering select,
    .woocommerce-ordering select {
        width: 100% !important;
        min-height: 54px !important;
        border-radius: 30px !important;
        padding: 0 20px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        background: #fff !important;
        border: 1px solid #e6ddd2 !important;
        color: #241b17 !important;
        box-shadow: 0 10px 30px rgba(36,27,23,.06) !important;
    }

    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products,
    ul.products {
        margin-top: 12px !important;
    }
}


/* ===== v78 SHOP MOBILE POSITION FINAL FIX ===== */
/* Removes the large empty gap on the shop page while keeping results/sorting visible below the floating nav */

@media (max-width: 768px) {

    body.post-type-archive-product,
    body.woocommerce-shop {
        padding-top: 0 !important;
    }

    body.post-type-archive-product .site-main,
    body.post-type-archive-product main,
    body.post-type-archive-product .content-area,
    body.post-type-archive-product .woocommerce,
    body.woocommerce-shop .site-main,
    body.woocommerce-shop main,
    body.woocommerce-shop .content-area,
    body.woocommerce-shop .woocommerce,
    .woocommerce.archive .site-main,
    .woocommerce-page .site-main {
        padding-top: 34px !important;
        margin-top: 0 !important;
    }

    body.post-type-archive-product .woocommerce-products-header,
    body.woocommerce-shop .woocommerce-products-header,
    body.post-type-archive-product .page-title,
    body.woocommerce-shop .page-title {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
    }

    body.post-type-archive-product .woocommerce-result-count,
    body.woocommerce-shop .woocommerce-result-count,
    .woocommerce-result-count {
        margin: 0 auto 14px !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        text-align: center !important;
        width: 100% !important;
        display: block !important;
        color: #7d6e64 !important;
        font-weight: 700 !important;
    }

    body.post-type-archive-product .woocommerce-ordering,
    body.woocommerce-shop .woocommerce-ordering,
    .woocommerce-ordering {
        width: 100% !important;
        margin: 0 auto 24px !important;
        padding: 0 22px !important;
        float: none !important;
        display: block !important;
        clear: both !important;
    }

    body.post-type-archive-product .woocommerce-ordering select,
    body.woocommerce-shop .woocommerce-ordering select,
    .woocommerce-ordering select {
        width: 100% !important;
        min-height: 54px !important;
        border-radius: 30px !important;
        padding: 0 20px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        background: #fff !important;
        border: 1px solid #e6ddd2 !important;
        color: #241b17 !important;
        box-shadow: 0 10px 30px rgba(36,27,23,.06) !important;
    }

    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products,
    ul.products.products {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}


/* ===== v79 REMOVE SHOP SIDEBAR/WIDGET LINKS ===== */

@media (max-width: 768px) {

    body.post-type-archive-product aside,
    body.post-type-archive-product .widget-area,
    body.post-type-archive-product .sidebar,
    body.post-type-archive-product .shop-sidebar,
    body.post-type-archive-product .widget,
    body.woocommerce-shop aside,
    body.woocommerce-shop .widget-area,
    body.woocommerce-shop .sidebar,
    body.woocommerce-shop .shop-sidebar,
    body.woocommerce-shop .widget {
        display: none !important;
    }

    body.post-type-archive-product .content-area,
    body.woocommerce-shop .content-area,
    body.post-type-archive-product .site-main,
    body.woocommerce-shop .site-main {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ===== v80 FORCE HIDE DEFAULT WORDPRESS WIDGET LINKS ON SHOP ===== */
/* Targets the exact default search/pages/archive/category widget markup showing under products */

body.post-type-archive-product .widget_search,
body.post-type-archive-product .widget_pages,
body.post-type-archive-product .widget_archive,
body.post-type-archive-product .widget_categories,
body.post-type-archive-product .wp-block-search,
body.post-type-archive-product .wp-block-page-list,
body.post-type-archive-product .wp-block-archives,
body.post-type-archive-product .wp-block-categories,
body.post-type-archive-product #secondary,
body.post-type-archive-product .secondary,
body.post-type-archive-product .widget-area,
body.post-type-archive-product .sidebar,
body.post-type-archive-product aside,

body.woocommerce-shop .widget_search,
body.woocommerce-shop .widget_pages,
body.woocommerce-shop .widget_archive,
body.woocommerce-shop .widget_categories,
body.woocommerce-shop .wp-block-search,
body.woocommerce-shop .wp-block-page-list,
body.woocommerce-shop .wp-block-archives,
body.woocommerce-shop .wp-block-categories,
body.woocommerce-shop #secondary,
body.woocommerce-shop .secondary,
body.woocommerce-shop .widget-area,
body.woocommerce-shop .sidebar,
body.woocommerce-shop aside,

body.post-type-archive-product footer .widget_search,
body.post-type-archive-product footer .widget_pages,
body.post-type-archive-product footer .widget_archive,
body.post-type-archive-product footer .widget_categories,
body.post-type-archive-product footer .wp-block-search,
body.post-type-archive-product footer .wp-block-page-list,
body.post-type-archive-product footer .wp-block-archives,
body.post-type-archive-product footer .wp-block-categories,

body.woocommerce-shop footer .widget_search,
body.woocommerce-shop footer .widget_pages,
body.woocommerce-shop footer .widget_archive,
body.woocommerce-shop footer .widget_categories,
body.woocommerce-shop footer .wp-block-search,
body.woocommerce-shop footer .wp-block-page-list,
body.woocommerce-shop footer .wp-block-archives,
body.woocommerce-shop footer .wp-block-categories {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* If the theme outputs an old widget column between products and custom footer, hide that whole block on shop only */
body.post-type-archive-product .site-footer .widget,
body.woocommerce-shop .site-footer .widget,
body.post-type-archive-product .footer-widgets,
body.woocommerce-shop .footer-widgets,
body.post-type-archive-product .footer-widget-area,
body.woocommerce-shop .footer-widget-area,
body.post-type-archive-product .footer-sidebar,
body.woocommerce-shop .footer-sidebar {
    display: none !important;
}

/* Remove empty space left after hidden widget area */
body.post-type-archive-product .site-footer,
body.woocommerce-shop .site-footer {
    margin-top: 0 !important;
}


/* ===== v81 GLOBAL MOBILE POLISH ===== */

/* Safer text wrapping across the website */
h1, h2, h3, h4, p,
.entry-title,
.page-title,
.product_title,
.woocommerce-loop-product__title,
.woocommerce-product-details__short-description {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

/* General button improvements */
button,
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.btn,
.gcc-btn {
    line-height: 1.15 !important;
    white-space: normal !important;
    text-align: center !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
}

/* Better image behaviour */
img {
    max-width: 100%;
    height: auto;
}

.woocommerce ul.products li.product img,
.product-card img,
.gcc-card img,
.shop-card img,
.wp-post-image,
.attachment-woocommerce_thumbnail {
    object-fit: cover !important;
    object-position: center center !important;
}

/* ===== MOBILE FIXES ===== */
@media (max-width: 768px) {

    html, body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        padding-bottom: 86px !important;
    }

    /* Slim sticky header */
    .site-header,
    .gcc-header,
    .floating-header,
    .mobile-header,
    header.site-header {
        min-height: 72px !important;
    }

    .gcc-nav,
    .floating-nav,
    .mobile-nav,
    .header-pill,
    .site-header .header-inner,
    header .header-inner {
        min-height: 64px !important;
        height: 64px !important;
        border-radius: 999px !important;
        padding: 8px 14px !important;
    }

    .gcc-nav img,
    .floating-nav img,
    .mobile-nav img,
    .header-pill img,
    .site-logo img,
    .custom-logo {
        max-height: 38px !important;
        width: auto !important;
        object-fit: contain !important;
    }

    .gcc-nav button,
    .floating-nav button,
    .mobile-nav button,
    .header-pill button,
    .gcc-nav a,
    .floating-nav a,
    .mobile-nav a,
    .header-pill a {
        min-width: 44px !important;
        min-height: 44px !important;
    }

    /* Bottom sticky CTA */
    .bottom-cta,
    .sticky-bottom,
    .gcc-sticky-cta,
    .mobile-bottom-bar {
        height: 66px !important;
        max-height: 66px !important;
        padding: 8px !important;
    }

    .bottom-cta a,
    .sticky-bottom a,
    .gcc-sticky-cta a,
    .mobile-bottom-bar a {
        min-height: 50px !important;
        font-size: 13px !important;
        letter-spacing: .04em !important;
    }

    /* Typography overlap prevention */
    h1,
    .hero-title,
    .product_title,
    .woocommerce-loop-product__title {
        line-height: 1.05 !important;
        max-width: 100% !important;
    }

    p,
    .hero-subtitle,
    .summary,
    .woocommerce-product-details__short-description {
        line-height: 1.55 !important;
    }

    /* Buttons spacing */
    .button,
    button.button,
    a.button,
    .wp-block-button__link,
    .gcc-btn,
    .btn,
    .single_add_to_cart_button {
        min-height: 50px !important;
        border-radius: 999px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    /* Shop spacing */
    body.post-type-archive-product .site-main,
    body.woocommerce-shop .site-main,
    body.post-type-archive-product main,
    body.woocommerce-shop main,
    body.post-type-archive-product .content-area,
    body.woocommerce-shop .content-area,
    .woocommerce.archive .site-main {
        padding-top: 28px !important;
        margin-top: 0 !important;
    }

    .woocommerce-result-count {
        margin: 0 auto 14px !important;
        padding: 0 18px !important;
        text-align: center !important;
        width: 100% !important;
        color: #7d6e64 !important;
        font-weight: 700 !important;
    }

    .woocommerce-ordering {
        width: 100% !important;
        margin: 0 auto 22px !important;
        padding: 0 18px !important;
        float: none !important;
        clear: both !important;
    }

    .woocommerce-ordering select {
        width: 100% !important;
        min-height: 54px !important;
        border-radius: 30px !important;
        padding: 0 20px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        background: #fff !important;
        border: 1px solid #e6ddd2 !important;
        color: #241b17 !important;
        box-shadow: 0 10px 30px rgba(36,27,23,.06) !important;
    }

    /* Product grid */
    .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding: 0 18px !important;
        margin: 0 !important;
    }

    .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        padding: 14px 12px 18px !important;
        border-radius: 22px !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .woocommerce ul.products li.product img {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        border-radius: 18px !important;
        object-fit: cover !important;
        object-position: center center !important;
        margin-bottom: 12px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: clamp(1rem, 4.2vw, 1.25rem) !important;
        line-height: 1.12 !important;
        margin: 8px 0 10px !important;
        display: block !important;
    }

    .woocommerce ul.products li.product .price {
        font-size: 1.15rem !important;
        margin: 10px 0 !important;
        display: block !important;
    }

    .woocommerce ul.products li.product .button {
        width: 100% !important;
        min-height: 48px !important;
        font-size: .78rem !important;
        padding: 12px 10px !important;
        margin: 12px 0 0 !important;
    }

    /* Product page */
    .single-product .product {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .single-product .summary {
        padding: 20px 0 0 !important;
    }

    .single-product .product_title {
        font-size: clamp(2rem, 10vw, 3.6rem) !important;
        text-align: center !important;
        margin-bottom: 14px !important;
    }

    .single-product .price {
        text-align: center !important;
        margin-bottom: 14px !important;
    }

    .single-product form.cart {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 18px !important;
        border-radius: 22px !important;
        background: rgba(36,27,23,.04) !important;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .quantity input.qty,
    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
        max-width: 100% !important;
    }

    .single-product form.cart .quantity input.qty {
        min-height: 52px !important;
        border-radius: 999px !important;
        text-align: center !important;
    }

    /* Cart page */
    .woocommerce-cart .woocommerce {
        padding: 90px 14px 100px !important;
    }

    .woocommerce-cart table.shop_table {
        border: 0 !important;
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .woocommerce-cart table.shop_table td,
    .woocommerce-cart table.shop_table th {
        padding: 14px 10px !important;
        font-size: .95rem !important;
    }

    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart_totals {
        width: 100% !important;
        float: none !important;
        border-radius: 24px !important;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        width: 100% !important;
        margin-top: 14px !important;
    }

    /* Checkout page */
    .woocommerce-checkout .woocommerce {
        padding: 90px 14px 100px !important;
    }

    .woocommerce-checkout .col2-set,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #order_review_heading {
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        padding: 20px !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.95) !important;
        border: 1px solid rgba(201,184,166,.45) !important;
        box-shadow: 0 14px 38px rgba(36,27,23,.06) !important;
        margin-bottom: 22px !important;
    }

    .woocommerce-checkout input.input-text,
    .woocommerce-checkout textarea,
    .woocommerce-checkout select {
        min-height: 52px !important;
        border-radius: 16px !important;
        width: 100% !important;
    }

    .woocommerce-checkout #place_order {
        width: 100% !important;
        min-height: 56px !important;
    }

    /* Tabs/description */
    .woocommerce-tabs {
        padding: 0 18px !important;
    }

    .woocommerce-tabs ul.tabs {
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        padding: 0 !important;
        margin: 24px 0 18px !important;
    }

    .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto !important;
        border-radius: 999px !important;
        padding: 0 !important;
    }

    .woocommerce-tabs ul.tabs li a {
        padding: 12px 18px !important;
        display: block !important;
    }

    .woocommerce-Tabs-panel {
        font-size: 1rem !important;
        line-height: 1.65 !important;
    }
}

@media (max-width: 390px) {
    .woocommerce ul.products {
        gap: 12px !important;
        padding: 0 12px !important;
    }

    .woocommerce ul.products li.product {
        padding: 12px 10px 16px !important;
    }

    .woocommerce ul.products li.product .button {
        font-size: .72rem !important;
    }
}


/* ===== v84 CENTRE MENU + BASKET CLOSE ICONS ===== */

/* Menu close and basket close buttons */
.slide-menu button,
.slide-menu .close,
.slide-menu .menu-close,
.slide-menu .gcc-close,
.slide-menu [class*="close"],
.gcc-cart-panel button,
.gcc-cart-panel .close,
.gcc-cart-panel .cart-close,
.gcc-cart-panel .gcc-close,
.gcc-cart-panel [class*="close"],
.cart-drawer button,
.cart-drawer .close,
.cart-drawer [class*="close"],
.xoo-wsc-container .xoo-wsc-close,
.xoo-wsc-close {
    box-sizing: border-box !important;
}

/* Actual circular close buttons */
.slide-menu .menu-close,
.slide-menu .gcc-menu-close,
.slide-menu .gcc-side-panel-close,
.slide-menu button[aria-label="Close"],
.slide-menu button[aria-label="close"],
.slide-menu [class*="close"],
.gcc-cart-panel .cart-close,
.gcc-cart-panel .gcc-cart-close,
.gcc-cart-panel button[aria-label="Close"],
.gcc-cart-panel button[aria-label="close"],
.gcc-cart-panel [class*="close"],
.cart-drawer .cart-close,
.cart-drawer [class*="close"],
.xoo-wsc-container .xoo-wsc-close,
.xoo-wsc-close {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 56px !important;
    text-align: center !important;
    vertical-align: middle !important;

    border-radius: 50% !important;
    position: absolute !important;
    font-size: 0 !important;
}

/* Replace off-centre existing X with perfectly centred X */
.slide-menu .menu-close::before,
.slide-menu .gcc-menu-close::before,
.slide-menu .gcc-side-panel-close::before,
.slide-menu button[aria-label="Close"]::before,
.slide-menu button[aria-label="close"]::before,
.slide-menu [class*="close"]::before,
.gcc-cart-panel .cart-close::before,
.gcc-cart-panel .gcc-cart-close::before,
.gcc-cart-panel button[aria-label="Close"]::before,
.gcc-cart-panel button[aria-label="close"]::before,
.gcc-cart-panel [class*="close"]::before,
.cart-drawer .cart-close::before,
.cart-drawer [class*="close"]::before,
.xoo-wsc-container .xoo-wsc-close::before,
.xoo-wsc-close::before {
    content: "×" !important;
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: #241b17 !important;

    transform: translateY(-1px) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide duplicate pseudo/icon parts if present */
.slide-menu .menu-close::after,
.slide-menu .gcc-menu-close::after,
.slide-menu .gcc-side-panel-close::after,
.slide-menu button[aria-label="Close"]::after,
.slide-menu button[aria-label="close"]::after,
.slide-menu [class*="close"]::after,
.gcc-cart-panel .cart-close::after,
.gcc-cart-panel .gcc-cart-close::after,
.gcc-cart-panel button[aria-label="Close"]::after,
.gcc-cart-panel button[aria-label="close"]::after,
.gcc-cart-panel [class*="close"]::after,
.cart-drawer .cart-close::after,
.cart-drawer [class*="close"]::after,
.xoo-wsc-container .xoo-wsc-close::after,
.xoo-wsc-close::after {
    display: none !important;
    content: none !important;
}

/* Hide inner SVG/text icons that were sitting off-centre */
.slide-menu [class*="close"] svg,
.slide-menu [class*="close"] span,
.slide-menu [class*="close"] i,
.gcc-cart-panel [class*="close"] svg,
.gcc-cart-panel [class*="close"] span,
.gcc-cart-panel [class*="close"] i,
.cart-drawer [class*="close"] svg,
.cart-drawer [class*="close"] span,
.cart-drawer [class*="close"] i,
.xoo-wsc-close svg,
.xoo-wsc-close span,
.xoo-wsc-close i {
    display: none !important;
}

/* Position in top right */
.slide-menu .menu-close,
.slide-menu .gcc-menu-close,
.slide-menu .gcc-side-panel-close,
.slide-menu button[aria-label="Close"],
.slide-menu button[aria-label="close"],
.slide-menu [class*="close"],
.gcc-cart-panel .cart-close,
.gcc-cart-panel .gcc-cart-close,
.gcc-cart-panel button[aria-label="Close"],
.gcc-cart-panel button[aria-label="close"],
.gcc-cart-panel [class*="close"],
.cart-drawer .cart-close,
.cart-drawer [class*="close"],
.xoo-wsc-container .xoo-wsc-close,
.xoo-wsc-close {
    top: 26px !important;
    right: 26px !important;
}


/* ===== v85 BASKET CLOSE ICON EXACT CENTRE FIX ===== */
/* Basket drawer close button only */

.gcc-cart-panel .gcc-cart-close,
.gcc-cart-panel .cart-close,
.gcc-cart-panel button[class*="close"],
.cart-drawer .gcc-cart-close,
.cart-drawer .cart-close,
.cart-drawer button[class*="close"],
.xoo-wsc-container .xoo-wsc-close,
.xoo-wsc-modal .xoo-wsc-close,
.xoo-wsc-close {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;

    padding: 0 !important;
    margin: 0 !important;

    position: absolute !important;
    top: 26px !important;
    right: 26px !important;

    display: block !important;
    border-radius: 50% !important;
    overflow: hidden !important;

    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
}

/* Remove the plugin/theme's original off-centre icon completely */
.gcc-cart-panel .gcc-cart-close *,
.gcc-cart-panel .cart-close *,
.gcc-cart-panel button[class*="close"] *,
.cart-drawer .gcc-cart-close *,
.cart-drawer .cart-close *,
.cart-drawer button[class*="close"] *,
.xoo-wsc-container .xoo-wsc-close *,
.xoo-wsc-modal .xoo-wsc-close *,
.xoo-wsc-close * {
    display: none !important;
}

/* Draw a new centred X */
.gcc-cart-panel .gcc-cart-close::before,
.gcc-cart-panel .cart-close::before,
.gcc-cart-panel button[class*="close"]::before,
.cart-drawer .gcc-cart-close::before,
.cart-drawer .cart-close::before,
.cart-drawer button[class*="close"]::before,
.xoo-wsc-container .xoo-wsc-close::before,
.xoo-wsc-modal .xoo-wsc-close::before,
.xoo-wsc-close::before {
    content: "" !important;
    position: absolute !important;
    width: 22px !important;
    height: 2px !important;
    background: #241b17 !important;
    border-radius: 999px !important;

    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gcc-cart-panel .gcc-cart-close::after,
.gcc-cart-panel .cart-close::after,
.gcc-cart-panel button[class*="close"]::after,
.cart-drawer .gcc-cart-close::after,
.cart-drawer .cart-close::after,
.cart-drawer button[class*="close"]::after,
.xoo-wsc-container .xoo-wsc-close::after,
.xoo-wsc-modal .xoo-wsc-close::after,
.xoo-wsc-close::after {
    content: "" !important;
    position: absolute !important;
    width: 22px !important;
    height: 2px !important;
    background: #241b17 !important;
    border-radius: 999px !important;

    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Extra specificity for the basket drawer title close button */
body .xoo-wsc-basket,
body .xoo-wsc-container .xoo-wsc-close,
body .xoo-wsc-modal .xoo-wsc-close {
    z-index: 999999 !important;
}


/* ===== v86 FORCE PERFECTLY CENTRED BASKET X ===== */

.xoo-wsc-close {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;

    width: 64px !important;
    height: 64px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;

    border-radius: 50% !important;
    overflow: hidden !important;
}

/* hide plugin icon */
.xoo-wsc-close span,
.xoo-wsc-close svg,
.xoo-wsc-close i {
    display: none !important;
}

/* custom centred X */
.xoo-wsc-close::before,
.xoo-wsc-close::after {
    content: "" !important;

    position: absolute !important;

    width: 22px !important;
    height: 2px !important;

    background: #221814 !important;
    border-radius: 999px !important;

    top: 50% !important;
    left: 50% !important;

    margin: 0 !important;
}

.xoo-wsc-close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.xoo-wsc-close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}


/* ===== v88 BASKET RECOVERY: OPENING FIX + CLOSE X TWEAK ===== */
/* No JavaScript hijacking — allows the original basket plugin/theme trigger to work again */

/* Keep basket drawer above WooCommerce pages */
.gcc-cart-panel,
.cart-drawer,
.xoo-wsc-modal,
.xoo-wsc-container,
.xoo-wsc-opac {
    z-index: 9999999 !important;
}

/* Make basket trigger clickable */
.header-cart,
.header-cart-button,
.cart-toggle,
.cart-button,
.gcc-cart-toggle,
.gcc-cart-btn,
.site-header [href*="/basket"],
.site-header [href*="/cart"],
.site-header [href*="basket"],
.site-header [href*="cart"] {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Basket close button: centred text X version, without breaking plugin click */
.xoo-wsc-close,
.gcc-cart-close,
.cart-close {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;
    background: #fff !important;
    border: 1px solid rgba(201,184,166,.42) !important;
    box-shadow: 0 10px 30px rgba(36,27,23,.08) !important;

    line-height: 1 !important;
    text-align: center !important;
}

/* If X is text/icon, centre it */
.xoo-wsc-close *,
.gcc-cart-close *,
.cart-close * {
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* If plugin uses pseudo X, centre it */
.xoo-wsc-close::before,
.xoo-wsc-close::after,
.gcc-cart-close::before,
.gcc-cart-close::after,
.cart-close::before,
.cart-close::after {
    transform-origin: center center !important;
}


/* ===== v89 SHOP PAGE BASKET FIX ===== */
/* The shop widget-hiding rules were catching/hiding parts of the cart drawer. Restore basket drawer visibility on shop only. */

body.post-type-archive-product .gcc-basket-system,
body.woocommerce-shop .gcc-basket-system,
body.post-type-archive-product .basket-overlay,
body.woocommerce-shop .basket-overlay,
body.post-type-archive-product .basket-drawer,
body.woocommerce-shop .basket-drawer,
body.post-type-archive-product .gcc-cart-panel,
body.woocommerce-shop .gcc-cart-panel,
body.post-type-archive-product .cart-drawer,
body.woocommerce-shop .cart-drawer,
body.post-type-archive-product .xoo-wsc-modal,
body.woocommerce-shop .xoo-wsc-modal,
body.post-type-archive-product .xoo-wsc-container,
body.woocommerce-shop .xoo-wsc-container,
body.post-type-archive-product .xoo-wsc-opac,
body.woocommerce-shop .xoo-wsc-opac {
    display: block !important;
    visibility: visible !important;
    opacity: initial !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    z-index: 9999999 !important;
}

/* Keep closed theme drawer hidden until active */
body.post-type-archive-product .basket-drawer:not(.active),
body.woocommerce-shop .basket-drawer:not(.active) {
    transform: translateX(calc(100% + 60px)) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Open state */
body.post-type-archive-product .basket-drawer.active,
body.woocommerce-shop .basket-drawer.active {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Overlay closed/open states */
body.post-type-archive-product .basket-overlay:not(.active),
body.woocommerce-shop .basket-overlay:not(.active) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.post-type-archive-product .basket-overlay.active,
body.woocommerce-shop .basket-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Make sure nav basket click target sits above product cards on shop */
body.post-type-archive-product .basket-open,
body.woocommerce-shop .basket-open,
body.post-type-archive-product #basketOpen,
body.woocommerce-shop #basketOpen,
body.post-type-archive-product .nav-actions button,
body.woocommerce-shop .nav-actions button {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 999999 !important;
}


/* v91 basket refresh polish */
.cart-count:empty,
.cart-count:contains("0") {
    display: none !important;
}

.basket-content {
    min-height: 160px;
}


/* v92 basket remove item polish */
.basket-remove-item {
    
    
    z-index: 3 !important;
}

.basket-item {
    transition: opacity .2s ease, transform .2s ease !important;
}


/* v93 ensure basket remove link is clickable */
.basket-remove-item {
    pointer-events: auto !important;
    cursor: pointer !important;
    display: inline-flex !important;
    position: relative !important;
    z-index: 20 !important;
}


/* ===== v94 LUXURY MY ACCOUNT DASHBOARD REDESIGN ===== */

body.woocommerce-account {
    background:
        radial-gradient(circle at 12% 8%, rgba(216,180,140,.14) 0 190px, transparent 192px),
        radial-gradient(circle at 88% 22%, rgba(36,27,23,.06) 0 240px, transparent 242px),
        linear-gradient(180deg, #fbf6ef 0%, #efe7dc 100%) !important;
}

body.woocommerce-account .entry-header,
body.woocommerce-account .woocommerce-products-header {
    margin-bottom: 0 !important;
}

body.woocommerce-account .entry-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .page-title {
    display: none !important;
}

body.woocommerce-account .woocommerce {
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 118px 18px 120px !important;
}

body.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(230px, 300px) 1fr !important;
    gap: 24px !important;
    align-items: start !important;
}

body.woocommerce-account.logged-in .woocommerce::before {
    content: "My Account";
    grid-column: 1 / -1;
    display: block;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(3.2rem, 8vw, 5.8rem);
    line-height: .9;
    color: #241b17;
    text-align: center;
    margin-bottom: 4px;
    letter-spacing: -.045em;
}

/* Account navigation card */
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(201,184,166,.45) !important;
    border-radius: 32px !important;
    box-shadow: 0 18px 50px rgba(36,27,23,.08) !important;
    padding: 18px !important;
    position: sticky !important;
    top: 96px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 10px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li::before {
    display: none !important;
    content: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
    border-radius: 18px !important;
    padding: 14px 16px !important;
    background: rgba(251,246,239,.75) !important;
    color: #241b17 !important;
    text-decoration: none !important;
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: .96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    border: 1px solid rgba(201,184,166,.22) !important;
    transition: all .22s ease !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a {
    background: linear-gradient(135deg, #241b17, #382621) !important;
    color: #f6dec0 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(36,27,23,.12) !important;
}

/* Account content */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    background:
        radial-gradient(circle at 90% 8%, rgba(216,180,140,.16) 0 150px, transparent 152px),
        rgba(255,255,255,.92) !important;
    border: 1px solid rgba(201,184,166,.45) !important;
    border-radius: 34px !important;
    box-shadow: 0 18px 55px rgba(36,27,23,.08) !important;
    padding: clamp(24px, 4vw, 44px) !important;
    min-height: 420px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content::before {
    content: "Welcome Back";
    display: block;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(2.6rem, 6vw, 4.8rem);
    line-height: .95;
    color: #241b17;
    margin-bottom: 16px;
    letter-spacing: -.035em;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content p {
    color: #5f524b !important;
    font-size: 1.05rem !important;
    line-height: 1.75 !important;
    max-width: 720px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a {
    color: #b89068 !important;
    font-weight: 800 !important;
}

/* Woo account tables/cards */
body.woocommerce-account .woocommerce table.shop_table,
body.woocommerce-account .woocommerce-Address,
body.woocommerce-account fieldset,
body.woocommerce-account form {
    border-radius: 24px !important;
    border: 1px solid rgba(201,184,166,.38) !important;
    background: rgba(255,255,255,.76) !important;
    overflow: hidden !important;
    box-shadow: 0 12px 35px rgba(36,27,23,.05) !important;
}

body.woocommerce-account fieldset,
body.woocommerce-account form {
    padding: 22px !important;
}

body.woocommerce-account input.input-text,
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"],
body.woocommerce-account input[type="tel"],
body.woocommerce-account textarea,
body.woocommerce-account select {
    min-height: 54px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(201,184,166,.55) !important;
    background: #fff !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
    color: #241b17 !important;
}

body.woocommerce-account .button,
body.woocommerce-account button.button,
body.woocommerce-account input.button {
    min-height: 54px !important;
    border-radius: 999px !important;
    padding: 0 28px !important;
    background: linear-gradient(135deg, #241b17, #382621) !important;
    color: #fff !important;
    border: 0 !important;
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Logged-out login/register page */
body.woocommerce-account:not(.logged-in) .woocommerce {
    max-width: 760px !important;
    padding-top: 108px !important;
}

body.woocommerce-account:not(.logged-in) .u-columns.col2-set {
    background:
        radial-gradient(circle at 88% 12%, rgba(216,180,140,.16) 0 150px, transparent 152px),
        rgba(255,255,255,.92) !important;
    border: 1px solid rgba(201,184,166,.45) !important;
    border-radius: 34px !important;
    box-shadow: 0 18px 55px rgba(36,27,23,.08) !important;
    padding: clamp(26px, 5vw, 44px) !important;
}

body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.woocommerce-account .woocommerce {
        padding: 96px 14px 112px !important;
    }

    body.woocommerce-account.logged-in .woocommerce {
        display: block !important;
    }

    body.woocommerce-account.logged-in .woocommerce::before {
        font-size: clamp(2.8rem, 13vw, 4.4rem) !important;
        margin-bottom: 22px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        position: static !important;
        border-radius: 28px !important;
        padding: 16px !important;
        margin-bottom: 20px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
        min-height: 58px !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: .88rem !important;
        padding: 12px 8px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        border-radius: 28px !important;
        padding: 24px 20px !important;
        min-height: 320px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content::before {
        font-size: clamp(2.2rem, 11vw, 3.5rem) !important;
        text-align: center !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content p {
        font-size: 1rem !important;
        text-align: left !important;
    }

    body.woocommerce-account fieldset,
    body.woocommerce-account form {
        padding: 18px !important;
        border-radius: 22px !important;
    }
}

@media (max-width: 420px) {
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr !important;
    }
}


/* ===== v95 FULL THEME REFINEMENT - REDUCE BOX INSIDE BOX EFFECT ===== */
/* Built onto the full Gillespies theme, not a replacement shell */

/* Global: soften stacked containers without removing the original design */
@media (max-width: 768px) {

    body {
        background: linear-gradient(180deg, #fbf6ef 0%, #efe7dc 100%) !important;
    }

    /* Reduce excessive outer padding on main content wrappers */
    .site-main,
    main.site-main,
    .content-area,
    .entry-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* If a section is already inside a luxury page card, remove extra inner card heaviness */
    .entry-content > .woocommerce,
    .site-main > .woocommerce,
    .woocommerce-page .woocommerce {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Prevent repeated nested white panels from looking like multiple boxes */
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart_totals,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        box-shadow: 0 12px 34px rgba(36,27,23,.055) !important;
    }

    /* My Account: make the page feel like one premium panel instead of panels inside panels */
    body.woocommerce-account.logged-in .woocommerce {
        padding-top: 82px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.woocommerce-account.logged-in .woocommerce::before {
        margin-bottom: 14px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        margin-bottom: 16px !important;
        padding: 12px !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.72) !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 22px 18px !important;
        border-radius: 26px !important;
        background: rgba(255,255,255,.82) !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content::before {
        margin-bottom: 10px !important;
    }

    /* Reduce empty top gaps inside nested cards */
    body.woocommerce-account .woocommerce-MyAccount-content > *:first-child,
    body.woocommerce-cart .woocommerce-cart-form > *:first-child,
    body.woocommerce-checkout form.checkout > *:first-child {
        margin-top: 0 !important;
    }

    /* Shop/product cards: less cramped, more readable */
    .woocommerce ul.products {
        gap: 18px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .woocommerce ul.products li.product {
        border-radius: 22px !important;
        padding: 12px 10px 16px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        line-height: 1.14 !important;
        margin-bottom: 10px !important;
    }

    .woocommerce ul.products li.product .button {
        margin-top: 12px !important;
        margin-bottom: 0 !important;
    }

    /* Forms: reduce bulky nested feel */
    .woocommerce form,
    .woocommerce form.checkout,
    .woocommerce form.login,
    .woocommerce form.register {
        box-shadow: none !important;
    }

    .woocommerce input.input-text,
    .woocommerce textarea,
    .woocommerce select {
        box-shadow: none !important;
    }

    /* Cart and checkout: one clean card per section */
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        margin-bottom: 18px !important;
        border-radius: 24px !important;
        padding: 18px !important;
    }

    /* General spacing rhythm */
    section,
    .wp-block-group,
    .woocommerce {
        margin-top: 18px !important;
        margin-bottom: 18px !important;
    }

    /* Avoid content hiding under floating bottom CTA */
    body {
        padding-bottom: 90px !important;
    }
}

/* Desktop refinement: keep luxury feel but avoid overboxing */
@media (min-width: 769px) {
    .woocommerce-account.logged-in .woocommerce-MyAccount-content,
    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        box-shadow: 0 16px 45px rgba(36,27,23,.06) !important;
    }
}


/* ===== v96 REMOVE TOP WHITE GAP ===== */

html,
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove blank strip above hero/header on front page */
body.home,
body.front-page,
body.page-template-front-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home .site,
body.home .site-main,
body.home main,
body.home .entry-content,
body.front-page .site,
body.front-page .site-main,
body.front-page main,
body.front-page .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Prevent first block/hero from creating a top white margin */
body.home .entry-content > *:first-child,
body.front-page .entry-content > *:first-child,
body.home main > *:first-child,
body.front-page main > *:first-child {
    margin-top: 0 !important;
}

/* If WordPress admin bar creates frontend offset, keep only actual admin bar spacing */
body.admin-bar {
    padding-top: 0 !important;
}

@media (max-width: 768px) {
    body.home .hero,
    body.home .gcc-hero,
    body.home .hero-section,
    body.home .front-hero,
    body.front-page .hero,
    body.front-page .gcc-hero,
    body.front-page .hero-section,
    body.front-page .front-hero {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Keep floating nav positioned cleanly without adding page gap */
    .site-header,
    header.site-header,
    .gcc-header,
    .floating-header,
    .mobile-header {
        margin-top: 0 !important;
    }
}


/* ===== v97 HERO LOGO POSITION FIX ===== */

/* Push hero/logo section slightly lower than floating nav */
@media (max-width: 768px) {

    .hero,
    .gcc-hero,
    .hero-section,
    .front-hero,
    .homepage-hero,
    .elementor-section:first-of-type {
        padding-top: 70px !important;
        margin-top: 0 !important;
        position: relative;
        z-index: 1;
    }

    /* Specifically target the circular Gillespies logo */
    .hero-logo,
    .gcc-hero-logo,
    .custom-logo-hero,
    .homepage-logo,
    .hero img:first-child {
        margin-top: 30px !important;
        position: relative;
        z-index: 2;
    }

    /* Keep nav above hero */
    .site-header,
    .floating-header,
    .mobile-header,
    header.site-header {
        z-index: 9999 !important;
    }
}


/* ===== v98 CONDENSED NEXT CLASS COUNTDOWN ===== */

@media (max-width: 768px) {

    .next-class-card,
    .gcc-next-class,
    .countdown-card,
    .next-class-countdown {
        padding: 24px 22px !important;
        border-radius: 30px !important;
    }

    .next-class-card .eyebrow,
    .gcc-next-class .eyebrow,
    .countdown-card .eyebrow,
    .next-class-countdown .eyebrow {
        font-size: .72rem !important;
        margin-bottom: 10px !important;
        letter-spacing: .16em !important;
    }

    .next-class-card h2,
    .gcc-next-class h2,
    .countdown-card h2,
    .next-class-countdown h2 {
        font-size: clamp(2rem, 9vw, 3.1rem) !important;
        line-height: 1.02 !important;
        margin-bottom: 10px !important;
    }

    /* Date/time in one line */
    .next-class-date,
    .gcc-next-class-date,
    .countdown-date,
    .next-class-card .date,
    .gcc-next-class .date,
    .countdown-card .date {
        display: block !important;
        font-size: .98rem !important;
        line-height: 1.35 !important;
        margin: 0 0 14px !important;
        white-space: normal !important;
        font-weight: 800 !important;
    }

    .next-class-card p,
    .gcc-next-class p,
    .countdown-card p,
    .next-class-countdown p {
        font-size: .96rem !important;
        line-height: 1.45 !important;
        margin-bottom: 16px !important;
    }

    /* Compact tickets remaining */
    .tickets-remaining,
    .spaces-remaining,
    .gcc-tickets-remaining,
    .ticket-counter {
        min-height: 64px !important;
        padding: 10px 14px !important;
        border-radius: 22px !important;
        margin-bottom: 16px !important;
    }

    .tickets-remaining .number,
    .spaces-remaining .number,
    .gcc-tickets-remaining .number,
    .ticket-counter .number {
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        font-size: 1.55rem !important;
    }

    .tickets-remaining span,
    .spaces-remaining span,
    .gcc-tickets-remaining span,
    .ticket-counter span {
        font-size: .92rem !important;
        line-height: 1.25 !important;
    }

    /* Button closer */
    .next-class-card .button,
    .gcc-next-class .button,
    .countdown-card .button,
    .next-class-countdown .button,
    .next-class-card a.button,
    .gcc-next-class a.button,
    .countdown-card a.button {
        min-height: 52px !important;
        margin: 10px 0 18px !important;
        font-size: .82rem !important;
    }

    /* Countdown grid more compact */
    .countdown-grid,
    .gcc-countdown-grid,
    .next-class-countdown-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 12px !important;
    }

    .countdown-item,
    .gcc-countdown-item,
    .next-class-countdown-item {
        min-height: 82px !important;
        padding: 12px 6px !important;
        border-radius: 18px !important;
    }

    .countdown-item strong,
    .gcc-countdown-item strong,
    .next-class-countdown-item strong {
        font-size: clamp(1.55rem, 8vw, 2.2rem) !important;
        line-height: 1 !important;
        margin-bottom: 5px !important;
    }

    .countdown-item span,
    .gcc-countdown-item span,
    .next-class-countdown-item span {
        font-size: .65rem !important;
        letter-spacing: .12em !important;
    }
}

/* Extra small phones: keep countdown readable */
@media (max-width: 390px) {
    .countdown-grid,
    .gcc-countdown-grid,
    .next-class-countdown-grid {
        gap: 6px !important;
    }

    .countdown-item,
    .gcc-countdown-item,
    .next-class-countdown-item {
        min-height: 76px !important;
        border-radius: 16px !important;
    }

    .countdown-item strong,
    .gcc-countdown-item strong,
    .next-class-countdown-item strong {
        font-size: 1.55rem !important;
    }
}


/* ===== v99 DIRECT COUNTDOWN COMPACT FIX ===== */

.gcc-next-class-section .container {
    max-width: 980px !important;
}

.gcc-next-class-card {
    padding: clamp(24px, 4vw, 44px) !important;
    border-radius: 34px !important;
    gap: 22px !important;
}

.gcc-next-class-copy {
    gap: 0 !important;
}

.gcc-next-kicker {
    margin-bottom: 10px !important;
}

.gcc-next-title,
.gcc-next-class-card h2 {
    font-size: clamp(2rem, 6vw, 4.2rem) !important;
    line-height: 1.02 !important;
    margin: 0 0 8px !important;
}

.gcc-next-date,
.gcc-next-date-line {
    display: block !important;
    margin: 0 0 14px !important;
    font-size: clamp(.95rem, 2.2vw, 1.15rem) !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    color: #fff !important;
}

.gcc-next-date-line span {
    color: #d9b582 !important;
    padding: 0 5px !important;
}

.gcc-next-class-card p:not(.gcc-next-date):not(.gcc-next-date-line) {
    margin: 0 0 16px !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
}

.gcc-ticket-counter {
    margin: 0 0 16px !important;
    padding: 10px 14px !important;
    min-height: 64px !important;
    border-radius: 22px !important;
}

.gcc-ticket-counter strong {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    font-size: 1.65rem !important;
}

.gcc-ticket-counter span {
    font-size: .95rem !important;
    line-height: 1.25 !important;
}

.gcc-next-class-card .btn,
.gcc-next-class-card .btn-gold {
    min-height: 52px !important;
    margin: 0 0 16px !important;
}

.gcc-countdown-box {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 0 !important;
}

.gcc-time-cell {
    min-height: 82px !important;
    padding: 12px 6px !important;
    border-radius: 18px !important;
}

.gcc-time-cell strong {
    font-size: clamp(1.55rem, 5vw, 2.4rem) !important;
    line-height: 1 !important;
    margin: 0 0 6px !important;
}

.gcc-time-cell span {
    font-size: .65rem !important;
    letter-spacing: .12em !important;
}

/* Mobile compact countdown */
@media (max-width: 768px) {
    .gcc-next-class-section {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    .gcc-next-class-card {
        padding: 22px 20px !important;
        border-radius: 28px !important;
    }

    .gcc-next-title,
    .gcc-next-class-card h2 {
        font-size: clamp(1.85rem, 8vw, 2.75rem) !important;
        line-height: 1.04 !important;
        margin-bottom: 8px !important;
    }

    .gcc-next-date,
    .gcc-next-date-line {
        font-size: .95rem !important;
        margin-bottom: 12px !important;
        white-space: nowrap !important;
    }

    .gcc-next-class-card p:not(.gcc-next-date):not(.gcc-next-date-line) {
        font-size: .94rem !important;
        line-height: 1.42 !important;
        margin-bottom: 14px !important;
    }

    .gcc-ticket-counter {
        min-height: 58px !important;
        margin-bottom: 14px !important;
    }

    .gcc-ticket-counter strong {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        font-size: 1.45rem !important;
    }

    .gcc-ticket-counter span {
        font-size: .84rem !important;
    }

    .gcc-next-class-card .btn,
    .gcc-next-class-card .btn-gold {
        min-height: 50px !important;
        margin-bottom: 14px !important;
        font-size: .78rem !important;
    }

    .gcc-countdown-box {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .gcc-time-cell {
        min-height: 74px !important;
        padding: 10px 4px !important;
        border-radius: 16px !important;
    }

    .gcc-time-cell strong {
        font-size: 1.55rem !important;
    }

    .gcc-time-cell span {
        font-size: .58rem !important;
    }
}

@media (max-width: 360px) {
    .gcc-next-date,
    .gcc-next-date-line {
        white-space: normal !important;
    }
}


/* ===== v100 NEXT CLASS BUTTON WIDTH FIX ===== */

.gcc-next-class-card .btn-gold,
.gcc-next-class-card a.btn-gold {
    width: 100% !important;
    max-width: none !important;
    min-height: 60px !important;
    margin: 12px 0 24px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: .9rem !important;
    letter-spacing: .12em !important;
    font-weight: 900 !important;
}

@media (max-width: 768px) {
    .gcc-next-class-card .btn-gold,
    .gcc-next-class-card a.btn-gold {
        width: 100% !important;
        min-height: 58px !important;
        margin: 12px 0 24px !important;
        font-size: .82rem !important;
    }
}


/* ===== v101 FULL SITE SPACING REFINEMENT ===== */
/* Reduces excess white space across homepage, shop, product cards, account, cart/checkout and footer */

:root {
    --gcc-section-space-desktop: 64px;
    --gcc-section-space-mobile: 34px;
    --gcc-card-pad-desktop: 30px;
    --gcc-card-pad-mobile: 20px;
}

/* Global rhythm */
section,
.wp-block-group,
.entry-content > *,
.site-main > * {
    margin-top: 0 !important;
}

section {
    padding-top: var(--gcc-section-space-desktop) !important;
    padding-bottom: var(--gcc-section-space-desktop) !important;
}

.container,
.gcc-container {
    padding-left: 22px !important;
    padding-right: 22px !important;
}

/* Homepage hero: keep premium but less tall */
.hero {
    min-height: auto !important;
    padding-top: 118px !important;
    padding-bottom: 58px !important;
}

.hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.hero-logo {
    width: clamp(160px, 34vw, 250px) !important;
    margin-bottom: 24px !important;
}

.hero .eyebrow {
    margin-bottom: 12px !important;
}

.hero h1 {
    margin-bottom: 18px !important;
    line-height: .96 !important;
}

.hero p {
    margin-bottom: 26px !important;
    line-height: 1.55 !important;
}

.btn-row {
    gap: 14px !important;
}

/* Proof strip tighter */
.proof-strip {
    margin: 20px auto !important;
    padding: 18px 22px !important;
    border-radius: 26px !important;
}

/* Next class countdown tighter */
.gcc-next-class-section {
    padding-top: 36px !important;
    padding-bottom: 38px !important;
}

.gcc-next-class-card {
    padding: 28px !important;
    border-radius: 32px !important;
}

.gcc-next-class-card h2,
.gcc-next-title {
    margin-bottom: 8px !important;
}

.gcc-ticket-counter {
    margin-bottom: 14px !important;
}

.gcc-countdown-box {
    margin-top: 8px !important;
}

/* Section headings */
.section-heading {
    margin-bottom: 26px !important;
}

.section-heading h2 {
    margin-bottom: 10px !important;
}

.section-heading p {
    margin-bottom: 0 !important;
}

/* Shop/product grid */
.woocommerce ul.products {
    gap: 22px !important;
    margin-top: 18px !important;
    margin-bottom: 20px !important;
}

.woocommerce ul.products li.product {
    padding: 16px 14px 18px !important;
}

.woocommerce ul.products li.product img {
    margin-bottom: 12px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 8px 0 8px !important;
    line-height: 1.12 !important;
}

.woocommerce ul.products li.product .price {
    margin: 8px 0 10px !important;
}

.woocommerce ul.products li.product .button {
    margin-top: 10px !important;
}

/* WooCommerce shop top spacing */
.woocommerce-result-count {
    margin-bottom: 12px !important;
}

.woocommerce-ordering {
    margin-bottom: 20px !important;
}

/* v128.79: removed an invalid orphaned card-padding rule that browsers already ignored. */

/* My account tighter */
body.woocommerce-account .woocommerce {
    padding-top: 96px !important;
    padding-bottom: 92px !important;
}

body.woocommerce-account.logged-in .woocommerce::before {
    margin-bottom: 10px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    padding: 14px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    min-height: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content::before {
    margin-bottom: 10px !important;
}

/* Cart/checkout tighter */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    padding-top: 94px !important;
    padding-bottom: 96px !important;
}

.woocommerce form .form-row {
    margin-bottom: 14px !important;
}

/* Footer */
.site-footer,
footer {
    padding-top: 42px !important;
    padding-bottom: 86px !important;
}

.site-footer h2,
.site-footer h3,
footer h2,
footer h3 {
    margin-bottom: 10px !important;
}

.site-footer p,
footer p {
    margin-bottom: 16px !important;
}

/* Mobile spacing */
@media (max-width: 768px) {
    section {
        padding-top: var(--gcc-section-space-mobile) !important;
        padding-bottom: var(--gcc-section-space-mobile) !important;
    }

    .container,
    .gcc-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .hero {
        padding-top: 96px !important;
        padding-bottom: 34px !important;
        min-height: auto !important;
    }

    .hero-logo {
        width: 178px !important;
        margin-top: 18px !important;
        margin-bottom: 18px !important;
    }

    .hero .eyebrow {
        margin-bottom: 8px !important;
    }

    .hero h1 {
        font-size: clamp(3.1rem, 14vw, 4.8rem) !important;
        margin-bottom: 14px !important;
        line-height: .96 !important;
    }

    .hero p {
        font-size: 1rem !important;
        margin-bottom: 20px !important;
        line-height: 1.5 !important;
    }

    .btn-row {
        gap: 10px !important;
    }

    .btn,
    .button,
    .wp-block-button__link {
        min-height: 52px !important;
    }

    .proof-strip {
        margin: 14px 16px !important;
        padding: 14px 18px !important;
        border-radius: 22px !important;
        line-height: 1.35 !important;
    }

    .gcc-next-class-section {
        padding-top: 24px !important;
        padding-bottom: 28px !important;
    }

    .gcc-next-class-card {
        padding: 20px !important;
        border-radius: 28px !important;
    }

    .gcc-next-class-card h2,
    .gcc-next-title {
        font-size: clamp(1.85rem, 8vw, 2.65rem) !important;
        line-height: 1.03 !important;
        margin-bottom: 7px !important;
    }

    .gcc-next-date,
    .gcc-next-date-line {
        margin-bottom: 10px !important;
    }

    .gcc-next-class-card p {
        margin-bottom: 12px !important;
    }

    .gcc-ticket-counter {
        min-height: 56px !important;
        margin-bottom: 12px !important;
    }

    .gcc-next-class-card .btn-gold {
        min-height: 54px !important;
        margin-bottom: 16px !important;
    }

    .gcc-countdown-box {
        gap: 7px !important;
        margin-top: 4px !important;
    }

    .gcc-time-cell {
        min-height: 70px !important;
        padding: 9px 4px !important;
    }

    .section-heading {
        margin-bottom: 18px !important;
    }

    .woocommerce ul.products {
        gap: 16px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        margin-top: 12px !important;
    }

    .woocommerce ul.products li.product {
        padding: 12px 10px 14px !important;
        border-radius: 22px !important;
    }

    .woocommerce ul.products li.product img {
        margin-bottom: 10px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        margin: 6px 0 7px !important;
    }

    .woocommerce ul.products li.product .price {
        margin: 7px 0 8px !important;
    }

    .woocommerce ul.products li.product .button {
        min-height: 46px !important;
        margin-top: 8px !important;
    }

    .gcc-card,
    .card,
    .woocommerce-MyAccount-content,
    .woocommerce-MyAccount-navigation,
    .woocommerce-cart-form,
    .cart_totals,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        padding: var(--gcc-card-pad-mobile) !important;
    }

    body.woocommerce-account .woocommerce,
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        padding-top: 82px !important;
        padding-bottom: 94px !important;
    }

    body.woocommerce-account.logged-in .woocommerce::before {
        margin-bottom: 14px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        padding: 12px !important;
        margin-bottom: 14px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 20px 18px !important;
    }

    .site-footer,
    footer {
        padding-top: 30px !important;
        padding-bottom: 82px !important;
    }

    .site-footer .social-links,
    footer .social-links {
        margin-top: 14px !important;
        margin-bottom: 18px !important;
    }
}

@media (max-width: 390px) {
    .hero h1 {
        font-size: 3rem !important;
    }

    .woocommerce ul.products {
        gap: 12px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .woocommerce ul.products li.product {
        padding: 10px 8px 12px !important;
    }
}


/* ===== v102 HERO LOGO PERFECT CIRCLE FIX ===== */

.hero-logo,
.hero-logo img,
.gcc-hero-logo {
    width: 220px !important;
    height: 220px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hero-logo img,
.gcc-hero-logo img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

@media (max-width: 768px) {
    .hero-logo,
    .hero-logo img,
    .gcc-hero-logo {
        width: 170px !important;
        height: 170px !important;
        min-width: 170px !important;
        min-height: 170px !important;
        max-width: 170px !important;
        max-height: 170px !important;
    }
}



/* ===== v103 ALLERGEN INFORMATION PAGE ===== */

.gcc-allergen-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(216,180,140,.16) 0 190px, transparent 192px),
        radial-gradient(circle at 90% 18%, rgba(36,27,23,.06) 0 240px, transparent 242px),
        linear-gradient(180deg, #fbf6ef 0%, #fffaf4 100%);
    color: #241b17;
}

.gcc-allergen-wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 124px 18px 110px;
}

.gcc-allergen-hero {
    text-align: center;
    border-radius: 38px;
    padding: clamp(34px, 6vw, 64px) clamp(22px, 5vw, 54px);
    background:
        radial-gradient(circle at 88% 10%, rgba(216,180,140,.20) 0 150px, transparent 152px),
        rgba(255,255,255,.92);
    border: 1px solid rgba(184,144,104,.28);
    box-shadow: 0 24px 70px rgba(36,27,23,.09);
    margin-bottom: 24px;
}

.gcc-allergen-kicker {
    display: block;
    color: #b89068;
    font-family: var(--font-body,Arial,sans-serif);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.gcc-allergen-hero h1 {
    margin: 0;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(3rem, 9vw, 5.6rem);
    line-height: .92;
    letter-spacing: -.045em;
    color: #241b17;
}

.gcc-allergen-hero p {
    max-width: 720px;
    margin: 20px auto 0;
    color: #6f625a;
    font-size: clamp(1rem, 2vw, 1.15rem);
    line-height: 1.7;
}

.gcc-allergen-alert {
    margin: 24px 0;
    border-radius: 30px;
    padding: clamp(24px, 4vw, 38px);
    background: linear-gradient(135deg, #241b17, #37251f);
    color: #fff;
    box-shadow: 0 18px 55px rgba(36,27,23,.14);
}

.gcc-allergen-alert h2 {
    margin: 0 0 12px;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1;
    color: #fff;
}

.gcc-allergen-alert p {
    margin: 0;
    color: #f4ddc4;
    line-height: 1.7;
    font-size: 1.05rem;
}

.gcc-allergen-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.gcc-allergen-card {
    border-radius: 28px;
    padding: clamp(22px, 4vw, 34px);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(184,144,104,.24);
    box-shadow: 0 14px 45px rgba(36,27,23,.06);
}

.gcc-allergen-card.full {
    grid-column: 1 / -1;
}

.gcc-allergen-card h2 {
    margin: 0 0 14px;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(1.85rem, 4vw, 2.8rem);
    line-height: 1;
    color: #241b17;
}

.gcc-allergen-card p {
    margin: 0 0 14px;
    color: #5f524b;
    line-height: 1.75;
}

.gcc-allergen-card p:last-child {
    margin-bottom: 0;
}

.gcc-allergen-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    gap: 10px;
}

.gcc-allergen-list li {
    padding: 12px 14px;
    border-radius: 16px;
    background: #fbf6ef;
    border: 1px solid rgba(184,144,104,.18);
    color: #241b17;
    font-weight: 800;
}

.gcc-allergen-mini-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(184,144,104,.12);
    color: #b89068;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.gcc-southampton-card {
    background:
        radial-gradient(circle at 9% 8%, rgba(225,168,102,.20) 0 120px, transparent 122px),
        radial-gradient(circle at 88% 12%, rgba(132,70,45,.12) 0 150px, transparent 152px),
        linear-gradient(135deg, #fffaf4 0%, #fff 58%, #fbf1e5 100%);
}

.gcc-southampton-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.gcc-southampton-grid span {
    display: flex;
    min-height: 72px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(184,144,104,.20);
    box-shadow: 0 10px 24px rgba(36,27,23,.05);
    color: #241b17;
    font-weight: 800;
}

.gcc-southampton-grid strong {
    color: #b89068;
    font-size: .86rem;
    letter-spacing: .08em;
}

@media (max-width: 768px) {
    .gcc-southampton-grid {
        grid-template-columns: 1fr;
    }
}

.gcc-allergen-contact {
    margin-top: 24px;
    text-align: center;
    border-radius: 30px;
    padding: clamp(24px, 4vw, 38px);
    background:
        radial-gradient(circle at 85% 15%, rgba(216,180,140,.18) 0 120px, transparent 122px),
        rgba(255,255,255,.92);
    border: 1px solid rgba(184,144,104,.24);
    box-shadow: 0 14px 45px rgba(36,27,23,.06);
}

.gcc-allergen-contact h2 {
    margin: 0 0 12px;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1;
}

.gcc-allergen-contact a {
    color: #b89068;
    font-weight: 900;
}

@media (max-width: 768px) {
    .gcc-allergen-wrap {
        padding: 96px 14px 100px;
    }

    .gcc-allergen-hero,
    .gcc-allergen-alert,
    .gcc-allergen-contact {
        border-radius: 28px;
    }

    .gcc-allergen-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gcc-allergen-card {
        border-radius: 24px;
        padding: 22px 18px;
    }
}


/* ===== v105 CHECKOUT ALLERGY DISCLAIMER STYLING ===== */

.gcc-allergy-checkbox {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
    padding: 18px 20px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #fff8ef 0%, #f7efe4 100%) !important;
    border: 1px solid rgba(184,144,104,.22) !important;
    box-shadow: 0 10px 24px rgba(36,27,23,.04) !important;
}

.gcc-allergy-checkbox label {
    color: #241b17 !important;
    font-size: .95rem !important;
    line-height: 1.6 !important;
    font-weight: 700 !important;
}

.gcc-allergy-checkbox input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    margin-right: 12px !important;
    accent-color: #b89068 !important;
    transform: translateY(3px);
}

@media (max-width: 768px) {
    .gcc-allergy-checkbox {
        padding: 16px !important;
        border-radius: 18px !important;
    }

    .gcc-allergy-checkbox label {
        font-size: .88rem !important;
        line-height: 1.5 !important;
    }
}


/* ===== v106 CLEANER CHECKOUT EXPERIENCE ===== */
/* Removes heavy box-inside-box feel and tightens mobile checkout spacing */

body.woocommerce-checkout {
    background:
        radial-gradient(circle at 10% 5%, rgba(216,180,140,.12) 0 180px, transparent 182px),
        radial-gradient(circle at 92% 18%, rgba(36,27,23,.05) 0 240px, transparent 242px),
        linear-gradient(180deg, #fbf6ef 0%, #fffaf4 100%) !important;
}

/* Main checkout wrapper */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Reduce giant title area */
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-header {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .entry-title {
    font-size: clamp(3.4rem, 9vw, 6rem) !important;
    line-height: .9 !important;
    margin: 0 auto 24px !important;
    padding-top: 96px !important;
    text-align: center !important;
}

/* Checkout outer Woo container: no giant nested card */
body.woocommerce-checkout .woocommerce {
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 18px 115px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Coupon notice cleaner and closer */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 auto 18px !important;
    max-width: 820px !important;
}

body.woocommerce-checkout .woocommerce-info {
    border: 1px solid rgba(184,144,104,.22) !important;
    border-top: 3px solid #b89068 !important;
    background: rgba(255,255,255,.72) !important;
    color: #5f524b !important;
    border-radius: 18px !important;
    padding: 16px 18px !important;
    box-shadow: 0 8px 22px rgba(36,27,23,.04) !important;
    margin-bottom: 18px !important;
}



/* Checkout form becomes cleaner two-column layout on desktop */
body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr) !important;
    gap: 24px !important;
    align-items: start !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    background:
        radial-gradient(circle at 88% 8%, rgba(216,180,140,.14) 0 140px, transparent 142px),
        rgba(255,255,255,.88) !important;
    border: 1px solid rgba(184,144,104,.24) !important;
    border-radius: 30px !important;
    padding: 28px !important;
    box-shadow: 0 14px 42px rgba(36,27,23,.06) !important;
}

/* Remove inner column boxes */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
    width: 100% !important;
    float: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout .col2-set {
    display: block !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading {
    font-size: clamp(2.7rem, 5vw, 4.1rem) !important;
    line-height: .95 !important;
    margin: 0 0 22px !important;
    color: #241b17 !important;
}

body.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    margin: 24px 0 14px !important;
}

/* Order review card */
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
    grid-column: 2 !important;
}

body.woocommerce-checkout #order_review_heading {
    margin-top: 0 !important;
}

body.woocommerce-checkout #order_review {
    background:
        radial-gradient(circle at 88% 8%, rgba(216,180,140,.16) 0 120px, transparent 122px),
        rgba(255,255,255,.9) !important;
    border: 1px solid rgba(184,144,104,.24) !important;
    border-radius: 30px !important;
    padding: 26px !important;
    box-shadow: 0 14px 42px rgba(36,27,23,.06) !important;
    position: sticky !important;
    top: 104px !important;
}

/* Tables cleaner */
body.woocommerce-checkout table.shop_table {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin-bottom: 18px !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
    border-color: rgba(184,144,104,.18) !important;
    padding: 13px 0 !important;
    color: #241b17 !important;
}

body.woocommerce-checkout table.shop_table thead th {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: .78rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: #b89068 !important;
}

/* Fields */
body.woocommerce-checkout .form-row {
    margin-bottom: 14px !important;
}

body.woocommerce-checkout label {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    color: #241b17 !important;
    margin-bottom: 7px !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection {
    min-height: 54px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(184,144,104,.28) !important;
    background: #fff !important;
    box-shadow: none !important;
    padding: 12px 15px !important;
}

body.woocommerce-checkout .select2-selection__rendered {
    line-height: 52px !important;
    padding-left: 15px !important;
}

body.woocommerce-checkout .select2-selection__arrow {
    height: 52px !important;
}

/* Payment section */
body.woocommerce-checkout #payment {
    background: rgba(251,246,239,.78) !important;
    border-radius: 22px !important;
    border: 1px solid rgba(184,144,104,.18) !important;
    padding: 16px !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid rgba(184,144,104,.18) !important;
    padding-bottom: 12px !important;
    margin-bottom: 14px !important;
}

body.woocommerce-checkout #payment div.form-row {
    padding: 0 !important;
}

/* Allergy checkbox fits the order review */
body.woocommerce-checkout .gcc-allergy-checkbox {
    margin: 14px 0 !important;
    padding: 15px 16px !important;
    border-radius: 18px !important;
}

/* Place order button */
body.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 999px !important;
    margin-top: 12px !important;
    background: linear-gradient(135deg, #241b17, #3b2822) !important;
    color: #fff !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

/* Mobile checkout */
@media (max-width: 768px) {
    body.woocommerce-checkout h1.entry-title,
    body.woocommerce-checkout .page-title,
    body.woocommerce-checkout .entry-title {
        padding-top: 92px !important;
        margin-bottom: 18px !important;
        font-size: clamp(3.2rem, 16vw, 5rem) !important;
    }

    body.woocommerce-checkout .woocommerce {
        padding: 0 14px 108px !important;
    }

    body.woocommerce-checkout .woocommerce-form-coupon-toggle {
        margin-bottom: 14px !important;
    }

    body.woocommerce-checkout .woocommerce-info {
        padding: 14px 16px !important;
        border-radius: 16px !important;
        font-size: .95rem !important;
    }

    body.woocommerce-checkout form.checkout {
        display: block !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        border-radius: 26px !important;
        padding: 20px 18px !important;
        box-shadow: 0 10px 30px rgba(36,27,23,.055) !important;
        position: static !important;
    }

    body.woocommerce-checkout #customer_details {
        margin-bottom: 18px !important;
    }

    body.woocommerce-checkout #order_review_heading {
        margin: 0 0 14px !important;
        padding-left: 4px !important;
        font-size: clamp(2.3rem, 12vw, 3.4rem) !important;
    }

    body.woocommerce-checkout .woocommerce-billing-fields h3 {
        font-size: clamp(2.4rem, 13vw, 3.8rem) !important;
        margin-bottom: 18px !important;
    }

    body.woocommerce-checkout .woocommerce-additional-fields h3 {
        font-size: 2.2rem !important;
        margin-top: 20px !important;
    }

    body.woocommerce-checkout input.input-text,
    body.woocommerce-checkout input[type="text"],
    body.woocommerce-checkout input[type="email"],
    body.woocommerce-checkout input[type="tel"],
    body.woocommerce-checkout textarea,
    body.woocommerce-checkout select,
    body.woocommerce-checkout .select2-selection {
        min-height: 52px !important;
        border-radius: 15px !important;
    }

    body.woocommerce-checkout table.shop_table th,
    body.woocommerce-checkout table.shop_table td {
        padding: 11px 0 !important;
        font-size: .92rem !important;
    }

    body.woocommerce-checkout #payment {
        padding: 14px !important;
        border-radius: 20px !important;
    }

    body.woocommerce-checkout .gcc-allergy-checkbox {
        padding: 14px !important;
    }
}


/* ===== v107 CHECKOUT COUPON ICON FIX ===== */

/* Fix misplaced WooCommerce coupon icon */
body.woocommerce-checkout .woocommerce-info::before {
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    color: #b89068 !important;
}

body.woocommerce-checkout .woocommerce-info {
    position: relative !important;
    padding-left: 54px !important;
}

/* Mobile refinement */
@media (max-width: 768px) {
    body.woocommerce-checkout .woocommerce-info {
        padding-left: 52px !important;
    }

    body.woocommerce-checkout .woocommerce-info::before {
        left: 16px !important;
        font-size: 16px !important;
    }
}


/* ===== v108 MENU ABOVE NAV BAR FIX ===== */

/* Make opened menu sit above the floating header/nav */
.menu-overlay,
.slide-menu,
.slide-menu.active {
    z-index: 9999999 !important;
}

/* Floating site header stays below opened menu */
body.menu-open .site-header,
body.menu-open header.site-header,
body.menu-open .floating-header,
body.menu-open .mobile-header,
body.menu-open .gcc-header {
    z-index: 999 !important;
}

/* Ensure menu panel starts from the top of the viewport, not beneath the nav */
.slide-menu {
    top: 0 !important;
    padding-top: 0 !important;
}

/* Give the menu its own clean top bar spacing */
.slide-menu .menu-top {
    padding-top: 24px !important;
    min-height: 124px !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Keep close button aligned inside menu top */
.slide-menu .menu-close {
    top: 24px !important;
    right: 24px !important;
}

/* Stop header from visually overlapping menu while open */
body.menu-open .site-header {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Mobile-specific refinement */
@media (max-width: 768px) {
    .slide-menu {
        top: 0 !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-height: calc(100vh - 24px) !important;
        margin-top: 12px !important;
    }

    .slide-menu .menu-top {
        padding-top: 22px !important;
        min-height: 118px !important;
    }
}


/* ===== v109 PRIVACY POLICY PAGE - MATCH ALLERGEN STYLE ===== */

.gcc-policy-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(216,180,140,.16) 0 190px, transparent 192px),
        radial-gradient(circle at 90% 18%, rgba(36,27,23,.06) 0 240px, transparent 242px),
        linear-gradient(180deg, #fbf6ef 0%, #fffaf4 100%);
    color: #241b17;
}

.gcc-policy-wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 124px 18px 110px;
}

.gcc-policy-hero {
    text-align: center;
    border-radius: 38px;
    padding: clamp(34px, 6vw, 64px) clamp(22px, 5vw, 54px);
    background:
        radial-gradient(circle at 88% 10%, rgba(216,180,140,.20) 0 150px, transparent 152px),
        rgba(255,255,255,.92);
    border: 1px solid rgba(184,144,104,.28);
    box-shadow: 0 24px 70px rgba(36,27,23,.09);
    margin-bottom: 24px;
}

.gcc-policy-kicker {
    display: block;
    color: #b89068;
    font-family: var(--font-body,Arial,sans-serif);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.gcc-policy-hero h1 {
    margin: 0;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(3rem, 9vw, 5.6rem);
    line-height: .92;
    letter-spacing: -.045em;
    color: #241b17;
}

.gcc-policy-hero p {
    max-width: 720px;
    margin: 20px auto 0;
    color: #6f625a;
    font-size: clamp(1rem, 2vw, 1.15rem);
    line-height: 1.7;
}

.gcc-policy-alert {
    margin: 24px 0;
    border-radius: 30px;
    padding: clamp(24px, 4vw, 38px);
    background: linear-gradient(135deg, #241b17, #37251f);
    color: #fff;
    box-shadow: 0 18px 55px rgba(36,27,23,.14);
}

.gcc-policy-alert h2 {
    margin: 0 0 12px;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1;
    color: #fff;
}

.gcc-policy-alert p {
    margin: 0;
    color: #f4ddc4;
    line-height: 1.7;
    font-size: 1.05rem;
}

.gcc-policy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.gcc-policy-card {
    border-radius: 28px;
    padding: clamp(22px, 4vw, 34px);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(184,144,104,.24);
    box-shadow: 0 14px 45px rgba(36,27,23,.06);
}

.gcc-policy-card.full {
    grid-column: 1 / -1;
}

.gcc-policy-card h2 {
    margin: 0 0 14px;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(1.85rem, 4vw, 2.8rem);
    line-height: 1;
    color: #241b17;
}

.gcc-policy-card p {
    margin: 0 0 14px;
    color: #5f524b;
    line-height: 1.75;
}

.gcc-policy-card p:last-child {
    margin-bottom: 0;
}

.gcc-policy-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    gap: 10px;
}

.gcc-policy-list li {
    padding: 12px 14px;
    border-radius: 16px;
    background: #fbf6ef;
    border: 1px solid rgba(184,144,104,.18);
    color: #241b17;
    font-weight: 800;
}

.gcc-policy-contact {
    margin-top: 24px;
    text-align: center;
    border-radius: 30px;
    padding: clamp(24px, 4vw, 38px);
    background:
        radial-gradient(circle at 85% 15%, rgba(216,180,140,.18) 0 120px, transparent 122px),
        rgba(255,255,255,.92);
    border: 1px solid rgba(184,144,104,.24);
    box-shadow: 0 14px 45px rgba(36,27,23,.06);
}

.gcc-policy-contact h2 {
    margin: 0 0 12px;
    font-family: var(--font-display,Georgia,"Times New Roman",serif);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1;
}

.gcc-policy-contact p {
    color: #5f524b;
    line-height: 1.75;
}

.gcc-policy-contact a {
    color: #b89068;
    font-weight: 900;
}

@media (max-width: 768px) {
    .gcc-policy-wrap {
        padding: 96px 14px 100px;
    }

    .gcc-policy-hero,
    .gcc-policy-alert,
    .gcc-policy-contact {
        border-radius: 28px;
    }

    .gcc-policy-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gcc-policy-card {
        border-radius: 24px;
        padding: 22px 18px;
    }
}


/* ===== v110 MENU STYLE MATCH BASKET + BASKET X CENTRE FIX ===== */

.slide-menu,
.menu-drawer,
.mobile-menu,
.gcc-menu-panel {
    background:
        radial-gradient(circle at 86% 12%, rgba(216,180,140,.18) 0 150px, transparent 152px),
        radial-gradient(circle at 12% 88%, rgba(36,27,23,.045) 0 210px, transparent 212px),
        linear-gradient(180deg, #fffdf9 0%, #f8f2ea 100%) !important;
    border: 1px solid rgba(184,144,104,.26) !important;
    box-shadow: 0 24px 80px rgba(36,27,23,.16) !important;
    color: #241b17 !important;
}

.slide-menu .menu-top,
.menu-drawer .menu-top,
.mobile-menu .menu-top,
.gcc-menu-panel .menu-top {
    background: transparent !important;
    border-bottom: 1px solid rgba(184,144,104,.18) !important;
}

.slide-menu nav,
.slide-menu .menu-links,
.slide-menu .nav-menu,
.menu-drawer nav,
.mobile-menu nav {
    padding-top: 18px !important;
}

.slide-menu a,
.menu-drawer a,
.mobile-menu a,
.gcc-menu-panel a {
    color: #241b17 !important;
}

.slide-menu nav a,
.slide-menu .menu-links a,
.slide-menu .nav-menu a,
.menu-drawer nav a,
.mobile-menu nav a,
.gcc-menu-panel nav a {
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-size: clamp(1.45rem, 5vw, 2rem) !important;
    font-weight: 650 !important;
    letter-spacing: -.035em !important;
    line-height: 1.15 !important;
    padding: 17px 0 !important;
    border-bottom: 1px solid rgba(184,144,104,.18) !important;
    text-decoration: none !important;
}

.slide-menu nav a:hover,
.slide-menu .menu-links a:hover,
.slide-menu .nav-menu a:hover,
.menu-drawer nav a:hover,
.mobile-menu nav a:hover {
    color: #b89068 !important;
    padding-left: 6px !important;
}

/* Menu CTA dark card to match basket feel */
.slide-menu .menu-cta,
.menu-drawer .menu-cta,
.mobile-menu .menu-cta,
.gcc-menu-panel .menu-cta {
    background:
        radial-gradient(circle at 88% 10%, rgba(216,180,140,.15) 0 130px, transparent 132px),
        linear-gradient(135deg, #241b17 0%, #34231f 100%) !important;
    border-radius: 30px !important;
    padding: 24px !important;
    box-shadow: 0 18px 48px rgba(36,27,23,.16) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

.slide-menu .menu-cta h3,
.menu-drawer .menu-cta h3,
.mobile-menu .menu-cta h3 {
    color: #fff !important;
    font-family: var(--font-body,Arial,sans-serif) !important;
    font-weight: 800 !important;
}

.slide-menu .menu-cta p,
.menu-drawer .menu-cta p,
.mobile-menu .menu-cta p {
    color: #f4ddc4 !important;
}

.slide-menu .menu-cta .btn,
.slide-menu .menu-cta a.btn,
.menu-drawer .menu-cta .btn,
.mobile-menu .menu-cta .btn {
    background: linear-gradient(135deg, #d2a66f 0%, #edc996 100%) !important;
    color: #fff !important;
    border-radius: 999px !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Close buttons */
.slide-menu .menu-close,
.menu-close,
.mobile-menu-close,
.gcc-menu-close,
.basket-close,
#basketClose,
.cart-close,
.gcc-cart-close,
.xoo-wsc-close,
body .xoo-wsc-close {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(184,144,104,.28) !important;
    box-shadow: 0 12px 32px rgba(36,27,23,.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    font-size: 0 !important;
    overflow: hidden !important;
}

/* Force basket close X dead centre */
.basket-close *,
#basketClose *,
.cart-close *,
.gcc-cart-close *,
.xoo-wsc-close *,
body .xoo-wsc-close * {
    display: none !important;
}

.basket-close::before,
#basketClose::before,
.cart-close::before,
.gcc-cart-close::before,
.xoo-wsc-close::before,
body .xoo-wsc-close::before {
    content: "×" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    font-family: var(--font-body,Arial,Helvetica,sans-serif) !important;
    font-size: 34px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: #241b17 !important;
    transform: translateY(-1px) !important;
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.basket-close::after,
#basketClose::after,
.cart-close::after,
.gcc-cart-close::after,
.xoo-wsc-close::after,
body .xoo-wsc-close::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 768px) {
    .slide-menu,
    .menu-drawer,
    .mobile-menu,
    .gcc-menu-panel {
        border-radius: 34px !important;
    }

    .slide-menu nav a,
    .slide-menu .menu-links a,
    .slide-menu .nav-menu a,
    .menu-drawer nav a,
    .mobile-menu nav a {
        font-size: 1.45rem !important;
        padding: 15px 0 !important;
    }

    .slide-menu .menu-cta,
    .menu-drawer .menu-cta,
    .mobile-menu .menu-cta {
        border-radius: 28px !important;
        padding: 22px !important;
    }

    .basket-close,
    #basketClose,
    .cart-close,
    .gcc-cart-close,
    .xoo-wsc-close,
    body .xoo-wsc-close,
    .slide-menu .menu-close,
    .menu-close,
    .mobile-menu-close,
    .gcc-menu-close {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        min-height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
    }

    .basket-close::before,
    #basketClose::before,
    .cart-close::before,
    .gcc-cart-close::before,
    .xoo-wsc-close::before,
    body .xoo-wsc-close::before {
        width: 56px !important;
        height: 56px !important;
        font-size: 32px !important;
    }
}


/* ===== v111 POP-OUT BASKET QUANTITY CONTROLS ===== */

.basket-qty-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 8px 0 10px !important;
    padding: 6px !important;
    border-radius: 999px !important;
    background: #fbf6ef !important;
    border: 1px solid rgba(184,144,104,.24) !important;
    width: fit-content !important;
    transition: opacity .2s ease !important;
}

.basket-qty-control.is-updating {
    opacity: .55 !important;
    pointer-events: none !important;
}

.basket-qty-minus,
.basket-qty-plus {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: linear-gradient(135deg, #241b17, #382621) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

.basket-qty-input {
    width: 46px !important;
    height: 34px !important;
    min-height: 34px !important;
    border: 0 !important;
    background: transparent !important;
    color: #241b17 !important;
    font-weight: 900 !important;
    text-align: center !important;
    font-size: 1rem !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
}

.basket-qty-input::-webkit-outer-spin-button,
.basket-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .basket-qty-control {
        margin-top: 8px !important;
    }

    .basket-qty-minus,
    .basket-qty-plus {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }

    .basket-qty-input {
        width: 42px !important;
        height: 32px !important;
        min-height: 32px !important;
    }
}


/* ===== v114 MOBILE ALLERGEN DISCLAIMER FIX ===== */
.gcc-allergy-checkbox {
    background: #f8f3ec;
    border: 2px solid #eadfce;
    border-radius: 28px;
    padding: 22px;
    margin-top: 20px;
}

.gcc-allergy-checkbox .woocommerce-form__label {
    display: flex !important;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    color: #2f2522;
    font-weight: 600;
    line-height: 1.8;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.gcc-allergy-checkbox input[type="checkbox"] {
    margin-top: 6px;
    flex-shrink: 0;
}

.gcc-allergy-checkbox a {
    color: #b88a52 !important;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    display: inline;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    transition: all .3s ease;
    border-bottom: 1px solid transparent;
}

.gcc-allergy-checkbox a:hover {
    color: #9b6f3f !important;
    border-bottom: 1px solid #9b6f3f;
}

@media (max-width: 768px) {
    .gcc-allergy-checkbox {
        padding: 18px;
        border-radius: 24px;
    }

    .gcc-allergy-checkbox .woocommerce-form__label {
        font-size: 14px;
        line-height: 1.7;
    }

    .gcc-allergy-checkbox a {
        white-space: normal;
        display: inline;
    }
}

/* ===== v115 CHECKOUT ALLERGEN DISCLAIMER LAYOUT FIX =====
   Fixes mobile checkout text splitting into narrow columns by removing flex
   behaviour from the WooCommerce checkbox label and using a clean block layout. */
.woocommerce-checkout .gcc-allergy-checkbox,
.woocommerce-page .gcc-allergy-checkbox,
form.checkout .gcc-allergy-checkbox {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
    background: #fbf6ee !important;
    border: 1px solid #eadfce !important;
    border-radius: 24px !important;
    padding: 20px 22px !important;
    margin: 20px 0 24px !important;
    box-shadow: 0 10px 26px rgba(47, 37, 34, 0.06) !important;
}

.woocommerce-checkout .gcc-allergy-checkbox .woocommerce-form__label,
.woocommerce-checkout .gcc-allergy-checkbox label.checkbox,
.woocommerce-page .gcc-allergy-checkbox .woocommerce-form__label,
form.checkout .gcc-allergy-checkbox .woocommerce-form__label {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 0 0 0 44px !important;
    margin: 0 !important;
    color: #2f2522 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    text-align: left !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

.woocommerce-checkout .gcc-allergy-checkbox input[type="checkbox"],
.woocommerce-page .gcc-allergy-checkbox input[type="checkbox"],
form.checkout .gcc-allergy-checkbox input[type="checkbox"] {
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    float: none !important;
    flex: none !important;
    accent-color: #b88a52 !important;
}

.woocommerce-checkout .gcc-allergy-checkbox a,
.woocommerce-page .gcc-allergy-checkbox a,
form.checkout .gcc-allergy-checkbox a {
    display: inline !important;
    color: #a87945 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(168, 121, 69, 0.45) !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.woocommerce-checkout .gcc-allergy-checkbox a:hover,
.woocommerce-page .gcc-allergy-checkbox a:hover,
form.checkout .gcc-allergy-checkbox a:hover {
    color: #2f2522 !important;
    border-bottom-color: #2f2522 !important;
}

.woocommerce-checkout .gcc-allergy-checkbox .required,
.woocommerce-page .gcc-allergy-checkbox .required,
form.checkout .gcc-allergy-checkbox .required {
    display: inline !important;
    color: #b00020 !important;
    margin-left: 4px !important;
    float: none !important;
    position: static !important;
}

@media (max-width: 768px) {
    .woocommerce-checkout .gcc-allergy-checkbox,
    .woocommerce-page .gcc-allergy-checkbox,
    form.checkout .gcc-allergy-checkbox {
        padding: 18px 16px !important;
        border-radius: 22px !important;
        margin: 18px 0 22px !important;
    }

    .woocommerce-checkout .gcc-allergy-checkbox .woocommerce-form__label,
    .woocommerce-checkout .gcc-allergy-checkbox label.checkbox,
    .woocommerce-page .gcc-allergy-checkbox .woocommerce-form__label,
    form.checkout .gcc-allergy-checkbox .woocommerce-form__label {
        padding-left: 38px !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        font-weight: 500 !important;
    }

    .woocommerce-checkout .gcc-allergy-checkbox input[type="checkbox"],
    .woocommerce-page .gcc-allergy-checkbox input[type="checkbox"],
    form.checkout .gcc-allergy-checkbox input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        top: 2px !important;
    }
}

/* v116 Linktree-style /links/ page */
body.page-slug-links,
body.page-id-links {
  background:
    radial-gradient(circle at 50% 0%, rgba(198,161,110,.18), transparent 34%),
    linear-gradient(180deg, #fffaf4 0%, #f5ede2 100%);
}

.gcc-links-main {
  padding: 38px 16px 96px;
}

.gcc-links-wrap {
  width: min(100%, 560px);
  margin: 0 auto;
}

.gcc-links-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(198,161,110,.24);
  border-radius: 34px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 24px 70px rgba(68,45,27,.12);
  padding: 30px;
  text-align: center;
  backdrop-filter: blur(14px);
}

.gcc-links-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(198,161,110,.18);
  border-radius: 26px;
  pointer-events: none;
}

.gcc-links-logo-wrap {
  width: 96px;
  height: 96px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(198,161,110,.20);
  box-shadow: 0 14px 36px rgba(68,45,27,.10);
}

.gcc-links-logo {
  width: 76px;
  height: auto;
  display: block;
}

.gcc-links-eyebrow {
  margin: 0 0 8px;
  color: #a67a46;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.gcc-links-card h1 {
  margin: 0;
  color: #302420;
  font-size: clamp(30px, 7vw, 44px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.gcc-links-intro {
  max-width: 420px;
  margin: 14px auto 22px;
  color: #6e5b4f;
  font-size: 16px;
  line-height: 1.7;
}

.gcc-links-feature {
  position: relative;
  z-index: 1;
  margin: 20px 0 14px;
  padding: 22px;
  border-radius: 26px;
  background: linear-gradient(135deg, #352722 0%, #7a5732 100%);
  color: #fffaf4;
  text-align: left;
  box-shadow: 0 18px 42px rgba(68,45,27,.18);
}

.gcc-links-feature-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: #f1d0a6;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.gcc-links-feature h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 24px;
  letter-spacing: -.03em;
}

.gcc-links-feature p {
  margin: 0 0 16px;
  color: rgba(255,250,244,.86);
  line-height: 1.6;
}

.gcc-links-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.gcc-link-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(198,161,110,.24);
  background: rgba(255,255,255,.86);
  color: #302420;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.25;
  box-shadow: 0 12px 26px rgba(68,45,27,.07);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gcc-link-btn:hover,
.gcc-link-btn:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(198,161,110,.55);
  box-shadow: 0 16px 34px rgba(68,45,27,.12);
}

.gcc-link-btn strong {
  flex: 0 0 auto;
  color: #b68143;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.gcc-link-btn-primary {
  background: linear-gradient(135deg, #c6a16e, #d8b48c);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(198,161,110,.26);
}

.gcc-link-btn-primary strong {
  color: #fff;
  font-size: 20px;
  letter-spacing: 0;
}

.gcc-links-socials {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 20px 0 0;
}

.gcc-links-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff7ed;
  border: 1px solid rgba(198,161,110,.24);
  color: #7b5831;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
}

.gcc-links-small {
  position: relative;
  z-index: 1;
  margin: 18px 0 0;
  color: #9b8a7a;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 640px) {
  .gcc-links-main {
    padding: 20px 14px 110px;
  }

  .gcc-links-card {
    border-radius: 28px;
    padding: 24px 18px;
  }

  .gcc-links-card::before {
    inset: 8px;
    border-radius: 22px;
  }

  .gcc-links-logo-wrap {
    width: 84px;
    height: 84px;
  }

  .gcc-links-logo {
    width: 66px;
  }

  .gcc-links-feature {
    padding: 20px;
    border-radius: 22px;
  }

  .gcc-link-btn {
    min-height: 56px;
    padding: 15px 16px;
    text-align: left;
  }
}

/* v117 - /links/ page: match main Gillespies website styling and fix inherited link/font issues */
body.page-template-page-links,
body.page-id-links,
body.page-slug-links {
  background: var(--beige) !important;
}

.gcc-links-main {
  padding: 118px 16px 120px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(184,144,104,.10), transparent 36%),
    linear-gradient(180deg, var(--beige) 0%, #fffaf5 48%, var(--beige) 100%) !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
}

.gcc-links-wrap {
  width: min(100%, 560px) !important;
  margin: 0 auto !important;
}

.gcc-links-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 34px 28px 30px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(184,144,104,.22) !important;
  background: rgba(255,250,245,.88) !important;
  box-shadow: 0 22px 60px rgba(36,27,23,.10) !important;
  text-align: center !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
}

.gcc-links-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 12px !important;
  border: 1px solid rgba(184,144,104,.16) !important;
  border-radius: 26px !important;
  pointer-events: none !important;
}

.gcc-links-logo-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 118px !important;
  height: 82px !important;
  margin: 0 auto 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.76) !important;
  border: 1px solid rgba(184,144,104,.18) !important;
  box-shadow: 0 14px 34px rgba(36,27,23,.07) !important;
}

.gcc-links-logo {
  width: 88px !important;
  max-height: 58px !important;
  height: auto !important;
  object-fit: contain !important;
}

.gcc-links-eyebrow {
  position: relative !important;
  z-index: 1 !important;
  max-width: 430px !important;
  margin: 0 auto 10px !important;
  color: var(--gold) !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.gcc-links-card h1,
#gcc-links-title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 auto !important;
  color: var(--brown) !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(34px, 8vw, 50px) !important;
  line-height: .98 !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
}

.gcc-links-intro {
  position: relative !important;
  z-index: 1 !important;
  max-width: 430px !important;
  margin: 16px auto 24px !important;
  color: var(--muted) !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

.gcc-links-feature {
  position: relative !important;
  z-index: 1 !important;
  margin: 18px 0 14px !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, var(--brown) 0%, #4a3529 54%, #7a5732 100%) !important;
  color: #fffaf5 !important;
  text-align: left !important;
  box-shadow: 0 18px 38px rgba(36,27,23,.18) !important;
}

.gcc-links-feature-kicker {
  display: block !important;
  margin: 0 0 8px !important;
  color: #e8c89f !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.gcc-links-feature h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(28px, 6vw, 38px) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
}

.gcc-links-feature p {
  margin: 0 0 18px !important;
  color: rgba(255,250,245,.86) !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 500 !important;
}

.gcc-links-list {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  gap: 12px !important;
  margin: 14px 0 0 !important;
}

.gcc-links-list .gcc-link-btn,
.gcc-links-feature .gcc-link-btn,
.gcc-links-socials a {
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  text-decoration: none !important;
}

.gcc-link-btn,
.gcc-links-list a.gcc-link-btn,
.gcc-links-list a.gcc-link-btn[href*="/reviews"] {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 16px 20px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(184,144,104,.24) !important;
  background: rgba(255,255,255,.84) !important;
  color: var(--brown) !important;
  box-shadow: 0 12px 26px rgba(36,27,23,.06) !important;
  transform: none !important;
}

.gcc-link-btn span,
.gcc-links-list a.gcc-link-btn span,
.gcc-links-list a.gcc-link-btn[href*="/reviews"] span {
  display: block !important;
  color: var(--brown) !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  text-align: left !important;
}

.gcc-link-btn strong,
.gcc-links-list a.gcc-link-btn strong,
.gcc-links-list a.gcc-link-btn[href*="/reviews"] strong {
  flex: 0 0 auto !important;
  color: var(--gold) !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .11em !important;
}

.gcc-links-feature .gcc-link-btn-primary {
  min-height: 60px !important;
  margin-top: 6px !important;
  border-radius: 22px !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #c7a06d, #e0bd91) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(184,144,104,.25) !important;
}

.gcc-links-feature .gcc-link-btn-primary span,
.gcc-links-feature .gcc-link-btn-primary strong {
  color: #fff !important;
}

.gcc-link-btn:hover,
.gcc-link-btn:focus-visible,
.gcc-links-socials a:hover,
.gcc-links-socials a:focus-visible {
  transform: translateY(-2px) !important;
  border-color: rgba(184,144,104,.55) !important;
  box-shadow: 0 16px 34px rgba(36,27,23,.11) !important;
}

.gcc-links-socials {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 22px 0 0 !important;
}

.gcc-links-socials a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255,250,245,.88) !important;
  border: 1px solid rgba(184,144,104,.24) !important;
  color: #7b5831 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 20px rgba(36,27,23,.05) !important;
}

.gcc-links-small {
  position: relative !important;
  z-index: 1 !important;
  margin: 20px 0 0 !important;
  color: #9b8a7a !important;
  font-family: var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}

@media (max-width: 640px) {
  .gcc-links-main {
    padding: 112px 14px 118px !important;
  }

  .gcc-links-card {
    padding: 28px 18px 26px !important;
    border-radius: 30px !important;
  }

  .gcc-links-card::before {
    inset: 9px !important;
    border-radius: 23px !important;
  }

  .gcc-links-logo-wrap {
    width: 104px !important;
    height: 72px !important;
    margin-bottom: 12px !important;
  }

  .gcc-links-logo {
    width: 78px !important;
    max-height: 52px !important;
  }

  .gcc-links-eyebrow {
    font-size: 10px !important;
    letter-spacing: .11em !important;
  }

  #gcc-links-title,
  .gcc-links-card h1 {
    font-size: 34px !important;
  }

  .gcc-links-intro {
    font-size: 15px !important;
    line-height: 1.58 !important;
    margin-bottom: 20px !important;
  }

  .gcc-links-feature {
    padding: 21px !important;
    border-radius: 24px !important;
  }

  .gcc-links-feature h2 {
    font-size: 30px !important;
  }

  .gcc-links-feature p {
    font-size: 15px !important;
  }

  .gcc-link-btn,
  .gcc-links-list a.gcc-link-btn,
  .gcc-links-list a.gcc-link-btn[href*="/reviews"] {
    min-height: 58px !important;
    padding: 15px 16px !important;
    border-radius: 20px !important;
  }

  .gcc-link-btn span,
  .gcc-links-list a.gcc-link-btn span,
  .gcc-links-list a.gcc-link-btn[href*="/reviews"] span {
    font-size: 15px !important;
  }

  .gcc-link-btn strong,
  .gcc-links-list a.gcc-link-btn strong,
  .gcc-links-list a.gcc-link-btn[href*="/reviews"] strong {
    font-size: 11px !important;
    letter-spacing: .09em !important;
  }
}

/* ===== v118 Product Google Map / Class Location ===== */
.gcc-product-map {
  clear: both;
  max-width: 1120px;
  margin: 34px auto 30px;
  padding: 26px;
  border: 1px solid rgba(184, 144, 104, 0.24);
  border-radius: 34px;
  background: linear-gradient(135deg, #fffdf9 0%, #f8f1e8 100%);
  box-shadow: 0 18px 48px rgba(47, 37, 34, 0.08);
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(280px, 1.28fr);
  gap: 24px;
  align-items: stretch;
}

.gcc-product-map__copy {
  border-radius: 28px;
  padding: 26px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(184, 144, 104, 0.18);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.gcc-product-map__eyebrow {
  color: #b89068;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 10px;
}

.gcc-product-map h2 {
  margin: 0 0 12px;
  color: #2f2522;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.04;
}

.gcc-product-map__venue {
  margin: 0 0 8px;
  color: #2f2522;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.35;
}

.gcc-product-map__address {
  margin: 0 0 20px;
  color: #6f625a;
  font-size: 15px;
  line-height: 1.65;
}

.gcc-product-map__button {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 20px;
  border-radius: 999px;
  background: #2f2522;
  color: #fffaf4 !important;
  text-decoration: none !important;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 12px 28px rgba(47, 37, 34, 0.16);
}

.gcc-product-map__button::after {
  content: "→";
  color: #d8b27d;
  font-weight: 900;
}

.gcc-product-map__button:hover {
  transform: translateY(-1px);
  background: #241b17;
}

.gcc-product-map__frame {
  min-height: 360px;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(184, 144, 104, 0.2);
  background: #efe4d5;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}

.gcc-product-map__frame iframe {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
  border: 0;
  filter: saturate(0.85) contrast(0.95);
}

@media (max-width: 820px) {
  .gcc-product-map {
    grid-template-columns: 1fr;
    margin: 24px 14px 24px;
    padding: 14px;
    border-radius: 28px;
    gap: 14px;
  }

  .gcc-product-map__copy {
    padding: 22px;
    border-radius: 24px;
  }

  .gcc-product-map__button {
    width: 100%;
  }

  .gcc-product-map__frame,
  .gcc-product-map__frame iframe {
    min-height: 300px;
    border-radius: 24px;
  }
}


/* ===== v120: Product map position + remove duplicate bottom link areas on shop/products ===== */
.single-product .gcc-product-map {
  clear: both;
  margin: 28px 0 34px;
  max-width: 100%;
}

/* Keep the Linktree-style page content only on /links/. Hide footer link blocks on shop/product where they looked like duplicate link sections. */
.woocommerce-shop .footer .socials,
.single-product .footer .socials{
  display: none !important;
}

@media (max-width: 820px) {
  .single-product .gcc-product-map {
    margin: 22px 0 28px;
  }
}

/* v121 automatic class location note */
.gcc-product-map__auto-note {
  margin: 8px 0 16px;
  color: #8c7663;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
}


/* ===== v122: Product map only display ===== */
.gcc-product-map--map-only {
  position: relative;
  display: block !important;
  padding: 0 !important;
  overflow: hidden;
  background: #f8f1e8;
  border-radius: 28px;
}

.gcc-product-map--map-only .gcc-product-map__frame {
  min-height: 360px;
  border-radius: 28px;
  border: 0;
  box-shadow: none;
}

.gcc-product-map--map-only .gcc-product-map__frame iframe {
  min-height: 360px;
  filter: none;
}

.gcc-product-map__overlay-link {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #2f2522 !important;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 10px 26px rgba(47,37,34,.14);
  border: 1px solid rgba(184,144,104,.22);
}

.gcc-product-map__overlay-link:hover {
  background: #fff;
  color: #b27735 !important;
}

@media (max-width: 820px) {
  .gcc-product-map--map-only {
    margin: 20px 0 26px !important;
    border-radius: 24px;
  }
  .gcc-product-map--map-only .gcc-product-map__frame,
  .gcc-product-map--map-only .gcc-product-map__frame iframe {
    min-height: 310px;
    border-radius: 24px;
  }
}


/* ===== v123: Venue map styling refinement ===== */
.single-product .gcc-product-map--map-only {
  padding: 22px !important;
  background: linear-gradient(180deg, #fffdf9 0%, #f8f1e8 100%);
  border: 1px solid rgba(184, 144, 104, .24);
  border-radius: 30px;
  box-shadow: 0 22px 54px rgba(47, 37, 34, .08);
}

.gcc-product-map__header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 16px;
  text-align: center;
}

.gcc-product-map__header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  background: rgba(184, 144, 104, .12);
  border: 1px solid rgba(184, 144, 104, .22);
  color: #8a633e;
  font-family: var(--gcc-sans, inherit);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
}

.single-product .gcc-product-map--map-only .gcc-product-map__frame {
  min-height: 360px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(184, 144, 104, .18);
  box-shadow: 0 16px 34px rgba(47, 37, 34, .08);
}

.single-product .gcc-product-map--map-only .gcc-product-map__frame iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 24px;
  display: block;
}

.single-product .gcc-product-map__overlay-link {
  display: none !important;
}

@media (max-width: 820px) {
  .single-product .gcc-product-map--map-only {
    padding: 16px !important;
    border-radius: 26px;
  }

  .gcc-product-map__header {
    margin-bottom: 12px;
  }

  .gcc-product-map__header span {
    padding: 9px 18px;
    font-size: 11px;
    letter-spacing: .15em;
  }

  .single-product .gcc-product-map--map-only .gcc-product-map__frame,
  .single-product .gcc-product-map--map-only .gcc-product-map__frame iframe {
    min-height: 300px;
    border-radius: 22px;
  }
}


/* ===== v124: Venue location title matches product styling ===== */
.single-product .gcc-product-map--map-only {
  max-width: 100% !important;
}

.single-product .gcc-product-map__header {
  justify-content: flex-start !important;
  text-align: left !important;
  margin: 0 0 18px !important;
}

.single-product .gcc-product-map__title {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #2f2522 !important;
  font-family: var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2rem, 6vw, 3.15rem) !important;
  font-weight: 500 !important;
  line-height: .95 !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
}

.single-product .gcc-product-map__header span {
  display: none !important;
}

@media (max-width: 820px) {
  .single-product .gcc-product-map__header {
    margin-bottom: 14px !important;
  }

  .single-product .gcc-product-map__title {
    font-size: 2.15rem !important;
    line-height: 1 !important;
  }
}

/* v125: remove default WP/WooCommerce widget areas from shop and product pages */
body.single-product #secondary,
body.single-product .sidebar,
body.single-product .widget-area,
body.single-product .shop-sidebar,
body.single-product aside.widget-area,
body.single-product .wp-block-search,
body.single-product .widget_pages,
body.single-product .widget_archive,
body.single-product .widget_categories,
body.single-product .widget_recent_reviews,
body.single-product .wc-block-product-search,
body.post-type-archive-product #secondary,
body.post-type-archive-product .sidebar,
body.post-type-archive-product .widget-area,
body.post-type-archive-product .shop-sidebar,
body.post-type-archive-product aside.widget-area,
body.post-type-archive-product .wp-block-search,
body.post-type-archive-product .widget_pages,
body.post-type-archive-product .widget_archive,
body.post-type-archive-product .widget_categories,
body.post-type-archive-product .widget_recent_reviews,
body.woocommerce-page #secondary,
body.woocommerce-page .sidebar,
body.woocommerce-page .widget-area,
body.woocommerce-page .shop-sidebar,
body.woocommerce-page aside.widget-area,
body.woocommerce-page .wp-block-search,
body.woocommerce-page .widget_pages,
body.woocommerce-page .widget_archive,
body.woocommerce-page .widget_categories,
body.woocommerce-page .widget_recent_reviews {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.gcc-woocommerce-main,
.gcc-woocommerce-container,
body.single-product .content-area,
body.post-type-archive-product .content-area,
body.woocommerce-page .content-area {
    width: 100% !important;
    max-width: 1180px;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* Added 404 support */
/* ===== v114 CUSTOM GILLESPIES 404 PAGE ===== */
.gcc-404-page {
  min-height: 100vh;
  padding: 150px 18px 90px;
  background: linear-gradient(180deg, #fbf6ef 0%, #fffaf5 100%);
}

.gcc-404-hero {
  max-width: 980px;
  margin: 0 auto;
}

.gcc-404-card {
  position: relative;
  overflow: hidden;
  text-align: center;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(184,144,104,.22);
  border-radius: 36px;
  padding: clamp(34px, 7vw, 76px) clamp(22px, 5vw, 58px);
  box-shadow: 0 28px 80px rgba(36,27,23,.12);
}

.gcc-404-card::before {
  content: "404";
  position: absolute;
  inset: auto 0 -34px 0;
  font-family: var(--font-display,Georgia,serif);
  font-size: clamp(6rem, 22vw, 16rem);
  line-height: .8;
  color: rgba(184,144,104,.08);
  pointer-events: none;
}

.gcc-404-kicker {
  position: relative;
  display: inline-block;
  margin-bottom: 18px;
  color: #b89068;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.gcc-404-card h1 {
  position: relative;
  margin: 0 0 16px;
  color: #241b17;
  font-family: var(--font-display,Georgia,serif);
  font-size: clamp(2.6rem, 7vw, 5.8rem);
  line-height: .95;
}

.gcc-404-card p {
  position: relative;
  max-width: 620px;
  margin: 0 auto 28px;
  color: #76665c;
  font-size: 1.05rem;
  line-height: 1.75;
}

.gcc-404-actions {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.gcc-404-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease;
}

.gcc-404-btn:hover {
  transform: translateY(-2px);
}

.gcc-404-btn.primary {
  background: linear-gradient(135deg, #241b17 0%, #8f6a48 52%, #d8b48c 100%);
  color: #fff;
  box-shadow: 0 18px 42px rgba(184,144,104,.32);
}

.gcc-404-btn.secondary {
  background: #fffaf6;
  color: #241b17;
  border: 1px solid rgba(184,144,104,.24);
}

.gcc-404-links {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}

.gcc-404-links a {
  color: #8f6a48;
  font-weight: 800;
}

.gcc-404-links a:hover {
  color: #241b17;
}

@media (max-width: 640px) {
  .gcc-404-page {
    padding: 120px 14px 82px;
  }

  .gcc-404-card {
    border-radius: 28px;
  }

  .gcc-404-actions,
  .gcc-404-links {
    flex-direction: column;
  }

  .gcc-404-btn {
    width: 100%;
  }
}

/* ===== COMPONENT: site-shell.css ===== */
/**
 * COMPONENT SOURCE: former base-style-tail.css
 */
/**
 * Gillespies base stylesheet tail.
 * These global rules originally followed the extracted product block in style.css.
 * Keep this file immediately after product-core.css (when present) to preserve cascade order.
 */


/* v129 public review form fields */
.gcc-review-form input[type="text"],
.gcc-review-form input[type="email"]{width:100%;border:1px solid var(--border);border-radius:18px;background:#fff;color:var(--brown);padding:14px 16px;font-size:1rem;box-sizing:border-box;}
.gcc-review-website-field{left:-9999px!important;}


/* v128.6 - modern public reviews form */
.gcc-review-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,244,.96));border:1px solid rgba(191,151,111,.24);box-shadow:0 28px 80px rgba(36,27,23,.12);}
.gcc-review-card:before{content:"";position:absolute;inset:0 auto 0 0;width:10px;background:linear-gradient(180deg,var(--gold),#e8cfad);opacity:.95;}
.gcc-review-intro{background:linear-gradient(145deg,rgba(191,151,111,.16),rgba(255,255,255,.55));border:1px solid rgba(191,151,111,.22);border-radius:28px;padding:clamp(22px,4vw,34px);height:100%;box-sizing:border-box;}
.gcc-review-trust-row{display:grid;gap:10px;margin-top:24px;}
.gcc-review-trust-row span{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(191,151,111,.22);border-radius:999px;padding:12px 16px;color:var(--brown);font-weight:900;box-shadow:0 10px 28px rgba(36,27,23,.06);}
.gcc-review-trust-row span:before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fff;font-size:.82rem;flex:0 0 auto;}
.gcc-review-form{background:#fff;border:1px solid rgba(191,151,111,.18);border-radius:28px;padding:clamp(20px,4vw,30px);box-shadow:0 18px 50px rgba(36,27,23,.07);}
.gcc-review-form label,.gcc-rating-fieldset legend{font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;color:var(--brown);font-weight:950;margin-bottom:2px;}
.gcc-review-form input[type="text"],.gcc-review-form input[type="email"],.gcc-review-form textarea{width:100%;border:1px solid rgba(191,151,111,.28);border-radius:18px;background:#fffdfb;color:var(--brown);padding:15px 16px;font-size:1rem;box-sizing:border-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.gcc-review-form textarea{min-height:170px;resize:vertical;line-height:1.55;}
.gcc-review-form input:focus,.gcc-review-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(191,151,111,.16);transform:translateY(-1px);}
.gcc-rating-fieldset{border:0;padding:0;margin:4px 0 2px;}
.gcc-star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:8px;background:#fffdfb;border:1px solid rgba(191,151,111,.28);border-radius:22px;padding:14px 16px;}
.gcc-star-rating input{position:absolute;opacity:0;pointer-events:none;}
.gcc-star-rating label{cursor:pointer;font-size:2.1rem;line-height:1;color:#dfd5ca;text-transform:none;margin:0;transition:color .18s ease,transform .18s ease;}

.gcc-star-rating label:hover,.gcc-star-rating label:hover~label,.gcc-star-rating input:checked~label{color:var(--gold);transform:translateY(-2px);}
.gcc-review-form .btn-gold{width:100%;border-radius:999px;padding:18px 24px;font-size:.95rem;letter-spacing:.12em;box-shadow:0 18px 42px rgba(191,151,111,.28);}

@media(max-width:900px){.gcc-review-intro{height:auto;}.gcc-review-card:before{width:100%;height:8px;inset:0 0 auto 0;}.gcc-star-rating{justify-content:center;}.gcc-star-rating label{font-size:2.35rem;}}
@media(max-width:640px){.gcc-review-card{padding:22px;}.gcc-review-form{padding:18px;}.gcc-review-trust-row span{border-radius:18px;}.gcc-star-rating{gap:5px;padding:12px;}.gcc-star-rating label{font-size:2rem;}}


/* v128.7 - Gillespies website-style review page polish */
.gcc-reviews-page{
  background:linear-gradient(180deg,#fbf6f0 0%,#fffaf5 46%,#f6eee6 100%) !important;
  padding:120px 16px 118px !important;
}
.gcc-review-form-wrap{max-width:980px !important;margin-top:28px !important;}
.gcc-review-card{
  display:block !important;
  overflow:hidden !important;
  border-radius:34px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid #eadfd4 !important;
  box-shadow:0 26px 75px rgba(36,27,23,.10) !important;
  padding:0 !important;
}
.gcc-review-card:before{display:none !important;}
.gcc-review-intro{
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  padding:30px clamp(24px,5vw,46px) 18px !important;
  background:linear-gradient(135deg,rgba(255,250,245,.98),rgba(251,246,240,.72)) !important;
}
.gcc-review-kicker{color:#b89068 !important;letter-spacing:2.6px !important;font-size:.72rem !important;margin-bottom:14px !important;}
.gcc-review-card h2{font-size:clamp(2.35rem,8vw,4.25rem) !important;margin-bottom:16px !important;}
.gcc-review-card p{font-size:1.03rem !important;line-height:1.72 !important;color:#76665c !important;max-width:720px !important;}
.gcc-review-trust-row{display:flex !important;flex-wrap:wrap !important;gap:10px !important;margin-top:18px !important;}
.gcc-review-trust-row span{
  display:inline-flex !important;align-items:center !important;gap:8px !important;
  width:auto !important;border-radius:999px !important;padding:10px 14px !important;
  background:#fff !important;border:1px solid #eadfd4 !important;color:#3a2f2a !important;
  font-size:.86rem !important;font-weight:850 !important;box-shadow:0 8px 24px rgba(36,27,23,.05) !important;
}
.gcc-review-form{
  margin:0 clamp(20px,5vw,46px) clamp(24px,5vw,44px) !important;
  border:1px solid #eadfd4 !important;border-radius:28px !important;
  padding:clamp(22px,4vw,34px) !important;box-shadow:0 18px 50px rgba(36,27,23,.06) !important;
  gap:16px !important;
}
.gcc-review-form label,.gcc-rating-fieldset legend{
  display:block !important;border:0 !important;color:#241b17 !important;font-size:.82rem !important;
  text-transform:uppercase !important;letter-spacing:1.4px !important;font-weight:900 !important;margin:0 0 -5px !important;
}
.gcc-review-form input[type="text"],.gcc-review-form input[type="email"],.gcc-review-form textarea{
  appearance:none !important;-webkit-appearance:none !important;width:100% !important;
  border:1px solid #eadfd4 !important;border-radius:18px !important;background:#fffaf5 !important;color:#241b17 !important;
  padding:16px 18px !important;font-size:1rem !important;box-shadow:none !important;font-family:inherit !important;
}
.gcc-review-form textarea{min-height:170px !important;line-height:1.55 !important;}
.gcc-rating-fieldset{border:0 !important;padding:0 !important;margin:4px 0 0 !important;min-inline-size:0 !important;}
.gcc-star-rating{
  display:flex !important;flex-direction:row-reverse !important;justify-content:flex-end !important;gap:8px !important;
  background:#fffaf5 !important;border:1px solid #eadfd4 !important;border-radius:18px !important;padding:13px 14px !important;
  box-shadow:none !important;line-height:1 !important;
}
.gcc-star-rating input[type="radio"]{position:absolute !important;left:-9999px !important;opacity:0 !important;width:1px !important;height:1px !important;margin:0 !important;}
.gcc-star-rating label{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:38px !important;height:38px !important;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;
  color:#d8cabe !important;font-size:2rem !important;line-height:1 !important;cursor:pointer !important;text-indent:0 !important;transition:color .18s ease,transform .18s ease !important;
}
.gcc-star-rating label span{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;}
.gcc-star-rating label:hover,.gcc-star-rating label:hover~label,.gcc-star-rating input[type="radio"]:checked~label{color:#b89068 !important;transform:translateY(-1px) !important;}
.gcc-review-form .btn-gold{
  width:100% !important;border-radius:999px !important;padding:18px 24px !important;margin-top:6px !important;
  background:linear-gradient(135deg,#b89068,#dfbd91) !important;color:#fff !important;border:0 !important;
  box-shadow:0 18px 42px rgba(184,144,104,.30) !important;letter-spacing:.12em !important;font-weight:950 !important;
}
.gcc-review-website-field{position:absolute !important;left:-10000px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important;}
@media(max-width:640px){
  .gcc-reviews-page{padding-left:12px !important;padding-right:12px !important;}
  .gcc-review-card{border-radius:30px !important;}
  .gcc-review-intro{padding:28px 24px 16px !important;}
  .gcc-review-form{margin:0 18px 28px !important;padding:20px !important;border-radius:24px !important;}
  .gcc-review-trust-row{gap:8px !important;}
  .gcc-review-trust-row span{font-size:.8rem !important;padding:9px 12px !important;}
  .gcc-star-rating{justify-content:center !important;gap:4px !important;padding:12px 10px !important;}
  .gcc-star-rating label{width:36px !important;height:36px !important;font-size:1.9rem !important;}
}

/* Review page refresh 128.8 */
.gcc-review-card{background:linear-gradient(180deg,#fff 0%,#fdfaf6 100%);border-radius:32px;box-shadow:0 15px 40px rgba(0,0,0,.08);padding:32px;}.gcc-review-kicker{letter-spacing:.15em;color:#c8a16b;font-weight:700;}.gcc-review-form input,.gcc-review-form textarea,.gcc-review-form select{border:2px solid #efe6da;border-radius:18px;padding:16px;font-size:16px;background:#fff;}.gcc-review-form select{appearance:none;}.gcc-review-form button{background:linear-gradient(90deg,#c8a16b,#e1c49a);border:none;border-radius:999px;}.gcc-review-form label{font-weight:600;}.gcc-review-intro p{font-size:1.1rem;color:#6d6259;}

/* Review page website-match refresh 128.9 */
.gcc-reviews-page{
  background:
    radial-gradient(circle at 8% 12%, rgba(223,189,145,.34) 0, rgba(223,189,145,0) 32%),
    radial-gradient(circle at 92% 8%, rgba(184,144,104,.20) 0, rgba(184,144,104,0) 30%),
    linear-gradient(180deg,#fbf6f0 0%,#fffaf5 48%,#f4e9de 100%) !important;
  padding:118px 16px 110px !important;
}
.gcc-reviews-hero{
  position:relative !important;overflow:hidden !important;text-align:left !important;
  background:linear-gradient(135deg,rgba(36,27,23,.86),rgba(58,47,42,.58)),var(--gcc-image-feature) center/cover no-repeat !important;
  border:1px solid rgba(223,189,145,.36) !important;border-radius:42px !important;
  padding:clamp(44px,7vw,86px) clamp(24px,6vw,68px) !important;
  box-shadow:0 28px 80px rgba(36,27,23,.18) !important;
}
.gcc-reviews-hero:after{content:"★★★★★";position:absolute;right:clamp(18px,5vw,58px);bottom:clamp(16px,4vw,38px);font-size:clamp(2rem,6vw,5rem);letter-spacing:.06em;color:rgba(223,189,145,.26);line-height:1;pointer-events:none;}
.gcc-reviews-hero span,.gcc-review-kicker,.gcc-review-list-heading span{color:#d8b48c !important;letter-spacing:.18em !important;font-weight:950 !important;}
.gcc-reviews-hero h1{max-width:760px !important;margin-left:0 !important;color:#fff !important;text-shadow:0 10px 26px rgba(0,0,0,.22) !important;}
.gcc-reviews-hero p{max-width:620px !important;margin-left:0 !important;color:#f7e7d5 !important;font-size:clamp(1rem,2vw,1.15rem) !important;}
.gcc-review-form-wrap{margin-top:-34px !important;position:relative !important;z-index:2 !important;}
.gcc-review-card{
  display:grid !important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;gap:clamp(22px,4vw,44px) !important;
  background:rgba(255,255,255,.88) !important;backdrop-filter:blur(20px) !important;
  border:1px solid rgba(184,144,104,.22) !important;border-radius:38px !important;
  padding:clamp(22px,4.5vw,48px) !important;box-shadow:0 28px 80px rgba(36,27,23,.13) !important;
}
.gcc-review-intro{background:linear-gradient(145deg,#fffaf5,#f4e6d8) !important;border:1px solid rgba(184,144,104,.18) !important;border-radius:30px !important;padding:clamp(24px,4vw,38px) !important;align-self:stretch !important;}
.gcc-review-intro:before{content:"✦";display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#b89068,#e6c79b);color:#fff;font-size:1.4rem;box-shadow:0 16px 34px rgba(184,144,104,.28);margin-bottom:22px;}
.gcc-review-card h2{font-size:clamp(2.25rem,5vw,4.4rem) !important;line-height:.98 !important;color:#241b17 !important;margin-bottom:18px !important;}
.gcc-review-intro p{font-size:1.05rem !important;line-height:1.8 !important;color:#76665c !important;}
.gcc-review-form{background:#fff !important;border:1px solid rgba(184,144,104,.18) !important;border-radius:30px !important;padding:clamp(20px,3.5vw,34px) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 18px 46px rgba(36,27,23,.07) !important;display:grid !important;gap:13px !important;}
.gcc-review-form label{font-size:.84rem !important;text-transform:uppercase !important;letter-spacing:.12em !important;font-weight:950 !important;color:#3a2f2a !important;margin-top:4px !important;}
.gcc-review-form input,.gcc-review-form select,.gcc-review-form textarea{width:100% !important;border:1px solid #eadfd4 !important;border-radius:18px !important;background:#fffaf6 !important;color:#241b17 !important;padding:16px 18px !important;font-size:1rem !important;font-family:inherit !important;box-shadow:0 8px 22px rgba(36,27,23,.035) !important;outline:none !important;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease !important;}
.gcc-review-form select{appearance:none !important;background-image:linear-gradient(45deg,transparent 50%,#b89068 50%),linear-gradient(135deg,#b89068 50%,transparent 50%),linear-gradient(135deg,#fffaf6,#fff) !important;background-position:calc(100% - 24px) 50%,calc(100% - 17px) 50%,0 0 !important;background-size:7px 7px,7px 7px,100% 100% !important;background-repeat:no-repeat !important;padding-right:48px !important;}
.gcc-review-form textarea{min-height:150px !important;resize:vertical !important;}
.gcc-review-form input:focus,.gcc-review-form select:focus,.gcc-review-form textarea:focus{background:#fff !important;border-color:#caa87d !important;box-shadow:0 0 0 4px rgba(184,144,104,.14),0 12px 28px rgba(36,27,23,.06) !important;}
.gcc-review-form .btn,.gcc-review-form button{width:100% !important;margin-top:8px !important;border-radius:999px !important;padding:18px 26px !important;background:linear-gradient(135deg,#241b17 0%,#8f6a48 45%,#d8b48c 100%) !important;color:#fff !important;box-shadow:0 18px 42px rgba(184,144,104,.34) !important;border:0 !important;letter-spacing:.14em !important;}
.gcc-review-list-wrap{margin-top:64px !important;}
.gcc-review-grid{gap:20px !important;}
.gcc-review-item{background:linear-gradient(180deg,#fff,#fffaf6) !important;border:1px solid rgba(184,144,104,.18) !important;border-radius:30px !important;box-shadow:0 18px 50px rgba(36,27,23,.08) !important;}
.gcc-empty-reviews{background:#fff !important;border:1px solid rgba(184,144,104,.18) !important;border-radius:30px !important;}
@media(max-width:900px){.gcc-review-card{grid-template-columns:1fr !important;}.gcc-review-form-wrap{margin-top:24px !important;}.gcc-reviews-hero{text-align:center !important;}.gcc-reviews-hero h1,.gcc-reviews-hero p{margin-left:auto !important;margin-right:auto !important;}.gcc-reviews-hero:after{display:none !important;}}
@media(max-width:640px){.gcc-reviews-page{padding:96px 12px 96px !important;}.gcc-reviews-hero{border-radius:30px !important;padding:38px 22px !important;}.gcc-reviews-hero h1{font-size:2.65rem !important;}.gcc-review-card{border-radius:30px !important;padding:14px !important;}.gcc-review-intro,.gcc-review-form{border-radius:24px !important;}.gcc-review-form{padding:20px !important;}.gcc-review-form input,.gcc-review-form select,.gcc-review-form textarea{border-radius:16px !important;padding:15px 16px !important;}.gcc-review-list-wrap{margin-top:44px !important;}}


/* Southampton 6 improvements */
.gcc-southampton-grid{
display:grid;
grid-template-columns:1fr;
gap:12px;
margin:24px 0;
}
.gcc-colour-item{
background:linear-gradient(135deg,#f6efe7,#fff);
border:1px solid #eadccf;
border-radius:14px;
padding:14px 16px;
font-weight:600;
}
.gcc-colour-item strong{
float:right;
}


/* v128.45 product page cleanup: keep active booking/product spacing, remove old share-card styles. */
body.single-product .gcc-product-mobile-bookbar{
    display:none !important;
}
body.single-product{
    padding-bottom:96px !important;
}
body.single-product .product,
body.single-product div.product{
    gap:clamp(20px,4vw,44px) !important;
}
body.single-product .summary,
body.single-product .woocommerce-product-gallery,
body.single-product .gcc-app-experience-panel,
body.single-product .gcc-app-more-classes{
    margin-bottom:clamp(22px,4vw,42px) !important;
}
body.single-product .woocommerce-product-gallery{
    border-radius:32px !important;
    overflow:hidden !important;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce div.product div.images img{
    max-height:820px;
    object-fit:contain !important;
    background:#fffaf4;
}
@media (max-width:760px){
    body.single-product .product,
    body.single-product div.product{
        row-gap:28px !important;
    }
    body.single-product .summary{
        padding-top:10px !important;
    }
    body.single-product .summary,
    body.single-product .gcc-app-experience-panel,
    body.single-product .gcc-app-more-classes{
        margin-left:0 !important;
        margin-right:0 !important;
    }
    body.single-product .gcc-app-single-facts,
    body.single-product .gcc-app-experience-panel,
    body.single-product .gcc-app-more-classes{
        margin-top:24px !important;
        margin-bottom:30px !important;
    }
    body.single-product .woocommerce-product-gallery__image img,
    body.single-product .woocommerce div.product div.images img{
        max-height:none !important;
        width:100% !important;
    }
}


/* 128.41 - avoid duplicate availability on class product pages.
   Availability already appears in the structured class details box. */
body.single-product .gcc-product-summary-panel > p.stock,
body.single-product .gcc-product-summary-panel > .stock.gcc-app-stock-inline,
body.single-product .gcc-product-layout .summary > p.stock,
body.single-product .gcc-product-layout .summary > .stock.gcc-app-stock-inline{
  display:none !important;
}


/* v128.43 - remove finance/payment clutter from class product pages.
   These widgets are injected late by payment plugins, so keep the selectors broad
   but scoped to single product pages only. Checkout still shows normal payment options. */
body.single-product .clearpay-paragraph,
body.single-product .afterpay-paragraph,
body.single-product .klarna-message,
body.single-product .wc-klarna-placement,
body.single-product klarna-placement,
body.single-product clearpay-placement,
body.single-product afterpay-placement,
body.single-product .woocommerce-clearpay-info,
body.single-product .woocommerce-klarna-info,
body.single-product .pay-over-time,
body.single-product [id*="klarna" i],
body.single-product [class*="klarna" i],
body.single-product [id*="clearpay" i],
body.single-product [class*="clearpay" i],
body.single-product [id*="afterpay" i],
body.single-product [class*="afterpay" i],
body.single-product [data-testid*="klarna" i],
body.single-product [data-testid*="clearpay" i],
body.single-product [data-testid*="afterpay" i],
body.single-product [data-cid*="klarna" i],
body.single-product [data-cid*="clearpay" i],
body.single-product [data-cid*="afterpay" i],
body.single-product .wc-stripe-payment-request-wrapper,
body.single-product .wc-stripe-payment-request-button,
body.single-product #wc-stripe-payment-request-wrapper,
body.single-product #wc-stripe-payment-request-button,
body.single-product #wc-stripe-payment-request-button-separator,
body.single-product .payment-request-button,
body.single-product .payment_request_button,
body.single-product .stripe-payment-request-wrapper,
body.single-product .gpay-button,
body.single-product [id*="payment-request" i],
body.single-product [class*="payment-request" i]{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

body.single-product .gcc-product-summary-panel .price,
body.single-product .gcc-product-summary-panel p.price,
body.single-product .gcc-product-summary-panel span.price,
body.single-product div.product p.price,
body.single-product div.product span.price{
  margin-bottom:22px !important;
}

/* v128.48 Homepage + Classes Page Polish */
.home .hero{
  background:
    linear-gradient(135deg,rgba(36,27,23,.74),rgba(36,27,23,.34)),
    var(--gcc-image-feature) center/cover no-repeat !important;
}
.home .hero h1{
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-wrap:balance;
}
.home .hero p{
  max-width:760px !important;
}
.home .btn-row{
  justify-content:center !important;
  gap:14px !important;
}
.home .hero .btn-outline{
  background:rgba(255,250,245,.12) !important;
  color:#fff !important;
  border-color:rgba(255,250,245,.46) !important;
  backdrop-filter:blur(10px) !important;
}
.gcc-home-steps{
  padding:28px 18px 8px;
  position:relative;
  z-index:3;
}
.gcc-home-steps__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:-18px;
}
.gcc-home-step{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(184,144,104,.20);
  border-radius:28px;
  padding:24px 24px 26px;
  box-shadow:0 20px 58px rgba(36,27,23,.08);
  position:relative;
  overflow:hidden;
}
.gcc-home-step:after{
  content:"";
  position:absolute;
  inset:auto -36px -54px auto;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,180,140,.28),rgba(216,180,140,0) 66%);
  pointer-events:none;
}
.gcc-home-step span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  margin-bottom:18px;
  background:linear-gradient(135deg,#241b17,#8f6a48 55%,#d8b48c);
  color:#fff;
  font-weight:950;
  letter-spacing:.08em;
  font-size:.78rem;
  box-shadow:0 14px 30px rgba(184,144,104,.28);
}
.gcc-home-step h3{
  font-size:clamp(1.35rem,2.4vw,1.75rem);
  margin-bottom:9px;
  color:#241b17;
}
.gcc-home-step p{
  color:#76665c;
  line-height:1.68;
  margin:0;
}
.gcc-home-booking-note{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  background:linear-gradient(135deg,#241b17,#3a2f2a);
  color:#fff;
  border-radius:32px;
  padding:clamp(24px,4vw,34px);
  border:1px solid rgba(223,189,145,.30);
  box-shadow:0 24px 70px rgba(36,27,23,.14);
}
.gcc-home-booking-note__kicker{
  display:block;
  color:#d8b48c;
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:10px;
}
.gcc-home-booking-note h3{
  color:#fff;
  font-size:clamp(1.55rem,3vw,2.25rem);
  margin-bottom:10px;
}
.gcc-home-booking-note p{
  color:#f0ddcb;
  line-height:1.7;
  margin:0;
  max-width:760px;
}
.gcc-home-booking-note a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:15px 22px;
  background:linear-gradient(135deg,#b89068,#dfbd91);
  color:#fff;
  font-weight:950;
  box-shadow:0 16px 36px rgba(184,144,104,.28);
  white-space:nowrap;
}
.gcc-home-review-cta{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
  flex-wrap:wrap;
}
.gcc-home-review-cta p{
  margin:0;
  color:#76665c;
  font-weight:800;
}
.gcc-app-classes{
  padding-top:clamp(104px,10vw,148px) !important;
}
.gcc-app-classes__hero{
  position:relative;
  overflow:hidden;
  border-radius:clamp(30px,5vw,48px) !important;
  background:
    radial-gradient(circle at 92% 14%,rgba(223,189,145,.28),rgba(223,189,145,0) 34%),
    linear-gradient(135deg,#241b17,#3a2f2a 60%,#7e5a3d) !important;
  box-shadow:0 28px 90px rgba(36,27,23,.18) !important;
  border:1px solid rgba(223,189,145,.26) !important;
}
.gcc-app-classes__hero:after{
  content:"✦";
  position:absolute;
  right:clamp(20px,5vw,58px);
  bottom:clamp(18px,4vw,40px);
  color:rgba(223,189,145,.22);
  font-size:clamp(4rem,13vw,11rem);
  line-height:1;
  pointer-events:none;
}
.gcc-app-classes__hero h1{
  max-width:850px !important;
  color:#fff !important;
  text-wrap:balance;
}
.gcc-app-classes__hero p{
  max-width:710px !important;
  color:#f4dfc9 !important;
}
.gcc-app-classes__reassurance{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.gcc-app-classes__reassurance span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,250,245,.10);
  border:1px solid rgba(255,250,245,.18);
  color:#fff3e8;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.02em;
}
.gcc-app-filters-panel{
  margin:clamp(18px,3vw,26px) auto clamp(20px,4vw,34px);
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(184,144,104,.18);
  box-shadow:0 18px 52px rgba(36,27,23,.07);
  display:grid;
  gap:16px;
}
.gcc-app-filter-group > span{
  display:block;
  margin:0 0 10px 4px;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#9a7654;
  font-weight:950;
}
.gcc-app-filter-bar{
  margin:0 !important;
  justify-content:flex-start !important;
  gap:10px !important;
}
.gcc-app-filter-bar button,
.gcc-class-filter-btn,
.gcc-venue-filter-btn{
  border-radius:999px !important;
  padding:12px 16px !important;
  border:1px solid rgba(184,144,104,.22) !important;
  background:#fffaf5 !important;
  color:#3a2f2a !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
.gcc-app-filter-bar button.is-active,
.gcc-class-filter-btn.is-active,
.gcc-venue-filter-btn.is-active{
  background:linear-gradient(135deg,#241b17,#8f6a48) !important;
  color:#fff !important;
  border-color:rgba(36,27,23,.25) !important;
  box-shadow:0 12px 28px rgba(36,27,23,.16) !important;
}
.gcc-app-empty-state--filtered[hidden]{display:none !important;}
.gcc-app-empty-state--filtered{
  margin-top:24px !important;
}
.gcc-app-private-cta{
  border-radius:34px !important;
  background:linear-gradient(135deg,#241b17,#3a2f2a) !important;
  color:#fff !important;
  border:1px solid rgba(223,189,145,.26) !important;
}
.gcc-app-private-cta h2{color:#fff !important;}
.gcc-app-private-cta p{color:#f4dfc9 !important;}
.gcc-app-private-cta span{color:#d8b48c !important;}
.gcc-app-private-cta a{
  background:linear-gradient(135deg,#b89068,#dfbd91) !important;
  color:#fff !important;
  border-radius:999px !important;
}
@media(max-width:900px){
  .gcc-home-steps__grid{grid-template-columns:1fr; margin-top:0;}
  .gcc-home-booking-note{align-items:flex-start; flex-direction:column;}
  .gcc-home-booking-note a{width:100%;}
}
@media(max-width:760px){
  .home .hero{padding-top:130px !important; padding-bottom:72px !important;}
  .home .hero h1{font-size:clamp(2.5rem,11vw,3.9rem) !important;}
  .home .hero p{font-size:1rem !important; line-height:1.72 !important;}
  .home .btn-row .btn{width:100%; justify-content:center;}
  .gcc-home-steps{padding:22px 12px 0;}
  .gcc-home-step{border-radius:24px; padding:22px;}
  .gcc-home-booking-note{border-radius:26px; padding:24px;}
  .gcc-home-review-cta .btn{width:100%;}
  .gcc-app-classes{padding-left:12px !important; padding-right:12px !important; padding-top:96px !important;}
  .gcc-app-classes__hero{border-radius:30px !important; padding:34px 22px !important;}
  .gcc-app-classes__hero:after{display:none;}
  .gcc-app-classes__hero h1{font-size:clamp(2.35rem,10vw,3.55rem) !important;}
  .gcc-app-classes__reassurance{gap:8px;}
  .gcc-app-classes__reassurance span{font-size:.78rem; padding:9px 11px;}
  .gcc-app-filters-panel{border-radius:24px; padding:14px;}
  .gcc-app-filter-bar{display:flex !important; overflow-x:auto; flex-wrap:nowrap !important; -webkit-overflow-scrolling:touch; padding-bottom:4px;}
  .gcc-app-filter-bar button{flex:0 0 auto; white-space:nowrap;}
}



/* v128.79: exact duplicate moved to managed feature CSS. */
/* v128.51 Class Card Polish
 * Cleaner class cards on the Upcoming Classes page. Keeps the removed venue
 * filter and focuses the cards on image, date, venue, availability and booking.
 */
body.page-template-page-shop .gcc-app-classes,
body.woocommerce-shop .gcc-app-classes,
.gcc-app-classes{
  padding-bottom:clamp(110px,14vw,160px) !important;
}

@media(max-width:760px){

  .gcc-app-classes{
    padding-bottom:150px !important;
  }
}

/* v128.53 Floating Messenger Removal
   Removes the floating Messenger icon site-wide while keeping footer social links and mobile CTA intact. */



/* v128.79: exact duplicate moved to managed feature CSS. */

/* v128.79: exact duplicate moved to managed feature CSS. */
/* v128.55 Remove public phone number from Contact quick links */


/* v128.56 final website consistency pass */
.sticky-mobile-cta{display:none!important;}
.menu-links a span{font-family:var(--font-body);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.menu-feature .btn{color:#fff!important;}
/* v130.07: basket links use their real accessible text; legacy generated labels removed. */
.gcc-app-bottom-nav{z-index:1100!important;}
@media(max-width:782px){
  .gcc-app-shop-page,
  .gcc-contact-page,
  .gcc-reviews-page,
  .gcc-allergen-page,
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main,
  body.woocommerce-cart main,
  body.woocommerce-checkout main,
  body.single-product main,
  body.single-product .site-main{
    padding-bottom:130px!important;
  }
  .footer{padding-bottom:120px!important;}
  .site-header{z-index:1200!important;}
}



/* v128.79: exact duplicate moved to managed feature CSS. */

/* v128.58 header polish
   Keep the existing floating pill design, but make it slightly tighter,
   better aligned, and make the centre logo easier to recognise on mobile. */
.site-header,
header.site-header{
  height:70px !important;
  top:10px !important;
  left:14px !important;
  right:14px !important;
  padding:8px 12px !important;
  align-items:center !important;
  border-color:rgba(184,144,104,.22) !important;
  box-shadow:0 14px 38px rgba(36,27,23,.10) !important;
}
.site-header .menu-btn,
header.site-header .menu-btn{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  flex:0 0 44px !important;
  font-size:1.35rem !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.site-header .brand,
header.site-header .brand{
  width:150px !important;
  max-width:36% !important;
  height:54px !important;
  
  
  justify-content:center !important;
  overflow:visible !important;
}
.site-header .brand img,
header.site-header .brand img{
  max-height:54px !important;
  
  
  
  transform-origin:center center !important;
}
.site-header .nav-actions,
header.site-header .nav-actions{
  gap:9px !important;
  height:44px !important;
  
  
}
.site-header .nav-actions a,
.site-header .nav-actions button,
.site-header .nav-actions .basket-open,
header.site-header .nav-actions a,
header.site-header .nav-actions button,
header.site-header .nav-actions .basket-open{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  flex:0 0 44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
}
.site-header .nav-svg,
header.site-header .nav-svg,
.site-header .basket-open .nav-svg,
header.site-header .basket-open .nav-svg{
  width:18px !important;
  height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
}
.site-header .cart-count,
header.site-header .cart-count{
  top:-4px !important;
  right:-4px !important;
  
  
  line-height:18px !important;
}

@media(max-width:640px){
  .site-header,
  header.site-header{
    height:64px !important;
    top:9px !important;
    left:12px !important;
    right:12px !important;
    padding:7px 10px !important;
  }
  .site-header .menu-btn,
  header.site-header .menu-btn{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    flex-basis:42px !important;
    font-size:1.28rem !important;
  }
  .site-header .brand,
  header.site-header .brand{
    width:128px !important;
    max-width:34% !important;
    height:48px !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-height:48px !important;
    max-width:128px !important;
    transform:scale(1.26) !important;
  }
  .site-header .nav-actions,
  header.site-header .nav-actions{
    gap:8px !important;
    height:42px !important;
  }
  .site-header .nav-actions a,
  .site-header .nav-actions button,
  .site-header .nav-actions .basket-open,
  header.site-header .nav-actions a,
  header.site-header .nav-actions button,
  header.site-header .nav-actions .basket-open{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    flex-basis:42px !important;
  }
  .site-header .nav-svg,
  header.site-header .nav-svg,
  .site-header .basket-open .nav-svg,
  header.site-header .basket-open .nav-svg{
    width:18px !important;
    height:18px !important;
  }
}

@media(max-width:380px){
  .site-header .brand,
  header.site-header .brand{
    width:112px !important;
    max-width:31% !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-width:112px !important;
    transform:scale(1.2) !important;
  }
  .site-header .nav-actions,
  header.site-header .nav-actions{
    gap:6px !important;
  }
}


/* v128.59 Homepage Hero + Header Balance
 * Small mobile refinements after reviewing the live first screen:
 * - tighter floating header
 * - slightly smaller hero heading
 * - matching hero button typography
 * - cleaner proof strip without emoji styling
 * - slightly lower bottom nav height/clearance
 */
.site-header,
header.site-header{
  height:66px !important;
  min-height:66px !important;
  top:9px !important;
  padding:7px 11px !important;
}
.site-header .brand,
header.site-header .brand{
  height:50px !important;
}
.site-header .brand img,
header.site-header .brand img{
  max-height:50px !important;
  transform:scale(1.18) !important;
}
.site-header .menu-btn,
header.site-header .menu-btn,
.site-header .nav-actions a,
.site-header .nav-actions button,
.site-header .nav-actions .basket-open,
header.site-header .nav-actions a,
header.site-header .nav-actions button,
header.site-header .nav-actions .basket-open{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  flex-basis:42px !important;
}

.home .hero{
  padding-top:118px !important;
  padding-bottom:58px !important;
}
.home .hero h1{
  font-size:clamp(2.35rem,9.4vw,3.45rem) !important;
  line-height:1.02 !important;
  max-width:720px !important;
  margin-bottom:16px !important;
  letter-spacing:-.02em !important;
}
.home .hero p{
  max-width:640px !important;
  margin-bottom:24px !important;
  font-size:clamp(.98rem,3.8vw,1.05rem) !important;
  line-height:1.62 !important;
}
.home .hero .btn-row{
  gap:12px !important;
}
.home .hero .btn-row .btn,
.home .hero .btn-row a.btn,
.home .hero .btn-row a[href*="/reviews"].btn,
.home .hero .btn-row a[href*="/reviews"].btn-outline{
  min-height:54px !important;
  padding:15px 28px !important;
  border-radius:999px !important;
  font-family:var(--font-body) !important;
  font-size:.82rem !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  color:inherit !important;
  margin:0 !important;
}
.home .hero .btn-row .btn-primary{
  color:#241b17 !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.70) !important;
}
.home .hero .btn-row .btn-outline,
.home .hero .btn-row a[href*="/reviews"].btn-outline{
  color:#fff !important;
  background:rgba(255,250,245,.10) !important;
  border:1px solid rgba(255,255,255,.54) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.proof-strip{
  width:min(900px,calc(100% - 32px)) !important;
  margin:18px auto 0 !important;
  padding:18px 22px !important;
  border-radius:26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  font-family:var(--font-body) !important;
  color:#241b17 !important;
}
.proof-strip span{
  color:#8f6a48 !important;
  font-weight:950 !important;
}
.proof-strip em{
  color:#241b17 !important;
  font-style:normal !important;
  font-weight:850 !important;
}

.gcc-app-bottom-nav{
  min-height:78px !important;
  padding:10px 12px !important;
}
.gcc-app-bottom-nav a{
  min-height:56px !important;
}
@media(max-width:782px){
  body{padding-bottom:86px !important;}
}

@media(max-width:640px){
  .site-header,
  header.site-header{
    height:60px !important;
    min-height:60px !important;
    top:8px !important;
    left:14px !important;
    right:14px !important;
    padding:6px 10px !important;
  }
  .site-header .brand,
  header.site-header .brand{
    width:122px !important;
    max-width:34% !important;
    height:46px !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-height:46px !important;
    max-width:122px !important;
    transform:scale(1.18) !important;
  }
  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .nav-actions a,
  .site-header .nav-actions button,
  .site-header .nav-actions .basket-open,
  header.site-header .nav-actions a,
  header.site-header .nav-actions button,
  header.site-header .nav-actions .basket-open{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    flex-basis:40px !important;
  }
  .site-header .nav-actions,
  header.site-header .nav-actions{
    gap:8px !important;
    height:40px !important;
  }
  .home .hero{
    padding-top:104px !important;
    padding-bottom:52px !important;
  }
  .home .hero h1{
    font-size:clamp(2.22rem,9.7vw,3.15rem) !important;
    line-height:1.04 !important;
    max-width:620px !important;
    margin-bottom:14px !important;
  }
  .home .hero p{
    font-size:.96rem !important;
    line-height:1.58 !important;
    margin-bottom:20px !important;
  }
  .home .hero .btn-row .btn,
  .home .hero .btn-row a.btn,
  .home .hero .btn-row a[href*="/reviews"].btn,
  .home .hero .btn-row a[href*="/reviews"].btn-outline{
    width:100% !important;
    max-width:500px !important;
    min-height:52px !important;
    padding:14px 22px !important;
    font-size:.78rem !important;
    font-family:var(--font-body) !important;
  }
  .proof-strip{
    margin-top:16px !important;
    border-radius:22px !important;
    padding:16px 18px !important;
    line-height:1.42 !important;
  }
  .gcc-app-bottom-nav{
    left:16px !important;
    right:16px !important;
    bottom:12px !important;
    min-height:72px !important;
    padding:8px 10px !important;
  }
  .gcc-app-bottom-nav a{
    min-height:54px !important;
  }
}

@media(max-width:380px){
  .site-header .brand,
  header.site-header .brand{
    width:108px !important;
    max-width:30% !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-width:108px !important;
    transform:scale(1.14) !important;
  }
  .home .hero h1{
    font-size:clamp(2.05rem,9.2vw,2.85rem) !important;
  }
}


/* v128.60 Homepage first-screen repair
   Fixes the mobile hero after v128.59: visible primary button text,
   smaller hero logo, cleaner spacing, and WordPress admin-bar offset. */
.home .hero .btn-row .btn-primary,
.home .hero .btn-row a.btn-primary,
.home .hero .btn-row a.btn-primary:link,
.home .hero .btn-row a.btn-primary:visited,
.home .hero .btn-row a[href*="/shop"].btn-primary,
.home .hero .btn-row a[href*="/shop/"].btn-primary{
  color:#241b17 !important;
  background:#ffffff !important;
  border:1px solid rgba(255,255,255,.78) !important;
  opacity:1 !important;
  visibility:visible !important;
  text-indent:0 !important;
  overflow:visible !important;
  text-shadow:none !important;
}
.home .hero .btn-row .btn-primary *,
.home .hero .btn-row a.btn-primary *{
  color:#241b17 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.home .hero .btn-row .btn-primary:empty::before,
.home .hero .btn-row a.btn-primary:empty::before{
  content:"VIEW UPCOMING CLASSES";
  color:#241b17 !important;
}
.home .hero .btn-row .btn-outline,
.home .hero .btn-row a.btn-outline,
.home .hero .btn-row a[href*="/reviews"].btn-outline{
  color:#ffffff !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
}
.home .hero .hero-logo{
  width:168px !important;
  height:168px !important;
  padding:14px !important;
  margin:0 auto 18px !important;
}

/* Keep the floating website header below the WordPress admin toolbar when logged in. */
body.admin-bar .site-header,
body.admin-bar header.site-header{
  top:calc(32px + 9px) !important;
}
@media(max-width:782px){
  body.admin-bar .site-header,
  body.admin-bar header.site-header{
    top:calc(46px + 8px) !important;
  }
  body.admin-bar.home .hero{
    padding-top:150px !important;
  }
}

@media(max-width:640px){
  .home .hero{
    padding-top:96px !important;
    padding-bottom:48px !important;
  }
  .home .hero .hero-logo{
    width:118px !important;
    height:118px !important;
    padding:9px !important;
    margin:0 auto 12px !important;
    box-shadow:0 14px 38px rgba(0,0,0,.18) !important;
  }
  .home .hero .eyebrow{
    margin-bottom:12px !important;
    font-size:.64rem !important;
    letter-spacing:.18em !important;
  }
  .home .hero h1{
    font-size:clamp(2.0rem,8.8vw,2.85rem) !important;
    line-height:1.05 !important;
    margin-bottom:14px !important;
  }
  .home .hero p{
    font-size:.93rem !important;
    line-height:1.54 !important;
    margin-bottom:18px !important;
  }
  .home .hero .btn-row{
    gap:10px !important;
  }
  .home .hero .btn-row .btn,
  .home .hero .btn-row a.btn,
  .home .hero .btn-row a.btn-primary,
  .home .hero .btn-row a.btn-outline{
    min-height:52px !important;
    line-height:1.15 !important;
  }
  body.admin-bar.home .hero{
    padding-top:146px !important;
  }
}
@media(max-width:380px){
  .home .hero .hero-logo{
    width:104px !important;
    height:104px !important;
  }
  .home .hero h1{
    font-size:clamp(1.9rem,8.3vw,2.55rem) !important;
  }
}


/* ===== v128.72: sitewide styling and colour consistency pass =====
   Keeps the Gillespies palette consistent across content pages, fallback WooCommerce
   archives and contact/review/allergen/story areas. This is intentionally appended
   as a safe override rather than a destructive refactor. */
:root{
  --gold-text:#8f6746;
  --gold-text-strong:#785638;
  --page-bg:radial-gradient(circle at top left,#fff8f1 0,#fbf6f0 38%,#f6ede4 100%);
}

body{
  background:var(--beige) !important;
  color:var(--brown) !important;
}

/* Keep the brand palette: dark brown for readable text, gold for accents only. */
.gcc-app-eyebrow,
.gcc-review-kicker,
.gcc-allergen-mini-kicker,
.gcc-about-v52__eyebrow,
.gcc-about-v52__kicker,
.gcc-contact-card span,
.gcc-privacy-kicker,
.menu-links span{
  color:var(--gold-text) !important;
}

.gcc-reviews-hero .gcc-review-kicker,
.gcc-app-classes__hero .gcc-app-eyebrow,
.gcc-allergen-v52__hero .gcc-allergen-kicker,
.gcc-about-v52__hero .gcc-about-v52__eyebrow,
.hero .eyebrow,
.menu-feature .btn,
.gcc-product-kicker{
  color:var(--gold-3) !important;
}

.btn-gold,
.gcc-product-mobile-bookbar a,
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:linear-gradient(135deg,var(--gold-text),var(--gold)) !important;
  color:#fff !important;
  border-color:rgba(143,103,70,.28) !important;
}

.btn-outline{
  border-color:rgba(143,103,70,.32) !important;
}

/* Shared premium page surface. */
.gcc-about-v52,
.gcc-allergen-page,
.gcc-contact-page,
.gcc-privacy-page,
.gcc-reviews-page,
.gcc-app-shop-page,
body.woocommerce-shop main.site-main,
body.post-type-archive-product main.site-main{
  background:var(--page-bg) !important;
}

.gcc-about-v52__hero,
.gcc-allergen-v52__hero,
.gcc-reviews-hero,
.gcc-contact-hero,
.gcc-privacy-hero,
.gcc-app-classes__hero{
  box-shadow:0 24px 70px rgba(36,27,23,.16) !important;
}

.gcc-about-v52__intro-card,
.gcc-about-v52__story,
.gcc-about-v52__side-card,
.gcc-about-v52__cta,
.gcc-allergen-card,
.gcc-allergen-v52__notice,
.gcc-allergen-v52__quick-card,
.gcc-allergen-v52__steps,
.gcc-allergen-contact,
.gcc-review-card,
.gcc-review-item,
.gcc-contact-card,
.gcc-contact-form-card,
.gcc-privacy-card,
.woocommerce ul.products li.product{
  background:#fff !important;
  border:1px solid rgba(184,144,104,.20) !important;
  box-shadow:0 18px 50px rgba(36,27,23,.08) !important;
}

/* WooCommerce fallback: if the custom class grid does not render, keep the shop page on-brand. */
body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header{
  max-width:1120px !important;
  margin:0 auto 24px !important;
  padding:120px 18px 0 !important;
  text-align:center !important;
}

body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title{
  font-family:var(--font-display) !important;
  color:var(--brown) !important;
  font-size:clamp(2.4rem,6vw,4.8rem) !important;
  line-height:1.02 !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count{
  color:var(--muted) !important;
  font-weight:800 !important;
  padding-left:18px !important;
}

body.woocommerce-shop form.woocommerce-ordering,
body.post-type-archive-product form.woocommerce-ordering{
  padding-right:18px !important;
}

body.woocommerce-shop form.woocommerce-ordering select,
body.post-type-archive-product form.woocommerce-ordering select{
  border:1px solid rgba(184,144,104,.26) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--brown) !important;
  padding:10px 16px !important;
  font-weight:800 !important;
}

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products{
  max-width:1120px !important;
  margin:32px auto 90px !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  border-radius:30px !important;
  overflow:hidden !important;
  padding:0 0 24px !important;
  text-align:left !important;
}

body.woocommerce-shop ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img{
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  border-radius:0 !important;
  margin:0 0 20px !important;
  background:#f6ede4 !important;
}

body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  color:var(--brown) !important;
  font-family:var(--font-display) !important;
  font-size:1.25rem !important;
  line-height:1.18 !important;
  padding:0 22px !important;
  min-height:0 !important;
}

body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price{
  color:var(--gold-text-strong) !important;
  font-weight:900 !important;
  padding:0 22px !important;
  margin-top:10px !important;
}

body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button{
  margin:18px 22px 0 !important;
  border-radius:999px !important;
  text-align:center !important;
}

/* Contact form cleanup: prevent anti-spam/honeypot rows from visually breaking the layout. */
.gcc-contact-page .wpforms-field-hp,
.gcc-contact-page .wpforms-field-medium.wpforms-field-hp,
.gcc-contact-page input[name*="website"],
.gcc-contact-page input[name*="url"],
.gcc-contact-page label[for*="website"],
.gcc-contact-page label[for*="url"]{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* Make the bottom mobile app bar feel part of the same palette. */
.gcc-app-bottom-nav{
  background:rgba(255,255,255,.94) !important;
  border-top:1px solid rgba(184,144,104,.24) !important;
  box-shadow:0 -12px 34px rgba(36,27,23,.08) !important;
}
.gcc-app-bottom-nav a.is-active,
.gcc-app-bottom-nav a:hover,
.gcc-app-bottom-nav button:hover{
  color:var(--gold-text-strong) !important;
}

@media (max-width:900px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  body.woocommerce-shop .woocommerce-products-header,
  body.post-type-archive-product .woocommerce-products-header{
    padding-top:92px !important;
  }
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-bottom:72px !important;
  }
}

/* ===== v128.73: keep review CTA buttons readable on mobile =====
 * The generic heading/desktop button patches can make review CTA links inherit
 * oversized display-style text on some pages. These selectors only target the
 * actual review buttons, not menu/footer review links.
 */
a.btn[href*="/reviews"],
.gcc-home-review-cta .btn,
.gcc-home-review-cta a.btn,
.gcc-about-v52__hero-actions .btn[href*="/reviews"],
.gcc-about-v52__cta-actions .btn[href*="/reviews"],
.gcc-reviews-page-v12854 .gcc-review-hero-actions .btn,
.gcc-reviews-page .gcc-review-hero-actions .btn,
.gcc-review-form .btn,
.gcc-review-form button[type="submit"]{
  font-family:var(--font-body) !important;
  font-size:clamp(.78rem,2.2vw,.92rem) !important;
  line-height:1.18 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  padding:14px 22px !important;
  min-height:48px !important;
  max-width:100% !important;
  white-space:normal !important;
  text-align:center !important;
}

.gcc-home-review-cta .btn,
.gcc-home-review-cta a.btn{
  width:auto !important;
  max-width:340px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  a.btn[href*="/reviews"],
  .gcc-home-review-cta .btn,
  .gcc-home-review-cta a.btn,
  .gcc-about-v52__hero-actions .btn[href*="/reviews"],
  .gcc-about-v52__cta-actions .btn[href*="/reviews"],
  .gcc-reviews-page-v12854 .gcc-review-hero-actions .btn,
  .gcc-reviews-page .gcc-review-hero-actions .btn{
    font-size:.78rem !important;
    letter-spacing:.065em !important;
    padding:13px 18px !important;
    min-height:46px !important;
  }

  .gcc-home-review-cta .btn,
  .gcc-home-review-cta a.btn{
    width:min(100%,320px) !important;
  }
}


/* ===== v128.74: soften selected bottom mobile navigation item =====
   Makes the active bottom-nav tab feel warmer and less heavy while keeping
   the selected page obvious on mobile. */
@media (max-width:760px){
  .gcc-app-bottom-nav a.is-active,
  .gcc-app-bottom-nav .is-active{
    background:linear-gradient(135deg,#f4e7d9 0%,#e8cfb6 100%) !important;
    color:#6f4e34 !important;
    border:1px solid rgba(184,144,104,.34) !important;
    box-shadow:0 8px 18px rgba(184,144,104,.18) !important;
  }

  .gcc-app-bottom-nav a.is-active span,
  .gcc-app-bottom-nav a.is-active strong,
  .gcc-app-bottom-nav .is-active span,
  .gcc-app-bottom-nav .is-active strong{
    color:#6f4e34 !important;
  }
}

/* ===== v128.76: story redirect, removed Cake League leftovers and contact form cleanup ===== */












/* Hide old database-driven menu/content items if a cached page still includes Cake League links. */


/* v128.85 - force official Gillespies logo in the top navigation */
.site-header .brand,
header.site-header .brand{
  width:190px !important;
  max-width:52% !important;
  
}
.site-header .brand img,
header.site-header .brand img{
  display:block !important;
  
  max-width:190px !important;
  
  
  object-fit:contain !important;
}
.gcc-mobile-wordmark{display:none !important;}
@media(max-width:640px){
  .site-header .brand,
  header.site-header .brand{
    width:170px !important;
    max-width:56% !important;
    height:46px !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-width:170px !important;
    max-height:42px !important;
  }
}
@media(max-width:380px){
  .site-header .brand,
  header.site-header .brand{
    width:148px !important;
    max-width:54% !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-width:148px !important;
    max-height:38px !important;
  }
}


/* v130.04 Homepage contact simplification */
.gcc-luxury-contact__details--social-only{display:flex;align-items:flex-end;justify-content:flex-start;padding-top:12px;}
.gcc-luxury-contact__details--social-only nav{width:100%;border-top:1px solid rgba(255,255,255,.18);padding-top:20px;}
@media (max-width: 767px){.gcc-luxury-contact__details--social-only{padding-top:0;}.gcc-luxury-contact__details--social-only nav{padding-top:18px;}}


/* v130.05 — per-ticket photo and video consent */
.gcc-media-consent{margin:22px 0 18px;padding:22px;border:1px solid #dfcfbf;border-radius:24px;background:#fffaf4;color:#2f2522;box-shadow:0 16px 42px rgba(47,37,34,.07);}
.gcc-media-consent__heading>span{display:block;margin-bottom:6px;color:#9a7651;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;}
.gcc-media-consent__heading h3{margin:0 0 8px;font-family:var(--font-display,Georgia,"Times New Roman",serif);font-size:30px;line-height:1.1;}
.gcc-media-consent__heading p,.gcc-media-consent__notice p,.gcc-media-consent__class>p,.gcc-media-consent__footnote{margin:0;color:#6f625c;line-height:1.55;}
.gcc-media-consent__notice{margin:16px 0;padding:15px 16px;border-radius:16px;background:#f5ede3;border:1px solid #ead9c8;}
.gcc-media-consent__notice strong{display:block;margin-bottom:4px;}
.gcc-media-consent__notice a{color:#6d4a2f;font-weight:800;}
.gcc-media-consent__class{margin-top:18px;padding-top:18px;border-top:1px solid #eadfd4;}
.gcc-media-consent__class h4{margin:0 0 3px;font-size:18px;}
.gcc-media-consent__tickets{display:grid;gap:12px;margin-top:13px;}
.gcc-media-consent__ticket{min-width:0;margin:0;padding:16px;border:1px solid #e2d5c9;border-radius:18px;background:#fff;}
.gcc-media-consent__ticket legend{padding:0 7px;color:#2f2522;font-size:13px;font-weight:800;}
.gcc-media-consent__ticket legend span{display:inline-flex;margin-right:5px;padding:4px 8px;border-radius:999px;background:#2f2522;color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;}
.gcc-media-consent__name{display:grid;gap:6px;margin:3px 0 12px;}
.gcc-media-consent__name>span{font-size:13px;font-weight:800;}
.gcc-media-consent__name input{width:100%;min-height:48px;padding:10px 13px;border:1px solid #d9c9bb;border-radius:13px;background:#fff;color:#2f2522;font:inherit;}
.gcc-media-consent__choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gcc-media-consent__choices label{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:13px;border:1px solid #dfd4ca;border-radius:14px;background:#fff;cursor:pointer;}
.gcc-media-consent__choices input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#6f8c70;}
.gcc-media-consent__choices span,.gcc-media-consent__choices strong,.gcc-media-consent__choices small{display:block;}
.gcc-media-consent__choices strong{font-size:13px;line-height:1.3;}
.gcc-media-consent__choices small{margin-top:4px;color:#74675f;font-size:11px;line-height:1.4;}
.gcc-media-consent__choices label:has(input:checked){border-color:#a88761;box-shadow:0 0 0 3px rgba(168,135,97,.12);}
.gcc-media-consent__choices .is-no:has(input:checked){border-color:#a14c43;background:#fff7f5;box-shadow:0 0 0 3px rgba(161,76,67,.09);}
.gcc-media-consent__footnote{margin-top:14px!important;font-size:12px;}
.gcc-customer-consent-summary{margin:14px 0;padding:14px;border:1px solid #e4d7ca;border-radius:16px;background:#fffaf4;}
.gcc-customer-consent-summary>strong{display:block;margin-bottom:8px;}
.gcc-customer-consent-summary ul{display:grid;gap:7px;margin:0 0 8px;padding:0;list-style:none;}
.gcc-customer-consent-summary li{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.gcc-customer-consent-summary li span{font-weight:700;}
.gcc-customer-consent-summary li b{font-size:12px;text-align:right;}
.gcc-customer-consent-summary li b.is-yes{color:#367055;}.gcc-customer-consent-summary li b.is-no{color:#9a4038;}
.gcc-customer-consent-summary small{color:#74675f;}
@media(max-width:700px){.gcc-media-consent{padding:17px;border-radius:20px;}.gcc-media-consent__heading h3{font-size:26px;}.gcc-media-consent__choices{grid-template-columns:1fr;}.gcc-media-consent__ticket{padding:14px;}.gcc-customer-consent-summary li{align-items:flex-start;flex-direction:column;gap:3px;}.gcc-customer-consent-summary li b{text-align:left;}}

/**
 * COMPONENT SOURCE: former site-shell.css
 */
/**
 * Gillespies v130.18 consolidated component: site-shell.css
 * Source files are included below in their original load order.
 * Edit this purpose-named component instead of adding another override file.
 */

/* ===== BEGIN CONSOLIDATED SOURCE: 15-site-sections.css ===== */
/*
 * Gillespies shared page-section polish - 128.79
 * Sitewide styles for homepage, story, allergen, contact and footer sections.
 */

/* v128.49 Colour Contrast Fix
 * Keep the new homepage/classes styling but fix dark-on-dark text caused by
 * later app-experience CSS loading after the main theme stylesheet.
 */
.home .gcc-home-review-cta .btn-dark,
.home .gcc-home-review-cta a.btn-dark,
.gcc-home-review-cta .btn-dark,
.gcc-home-review-cta a.btn-dark{
  background:linear-gradient(135deg,#241b17 0%,#3a2f2a 52%,#8f6a48 100%) !important;
  color:#fffaf5 !important;
  -webkit-text-fill-color:#fffaf5 !important;
  border:1px solid rgba(216,180,140,.38) !important;
  box-shadow:0 18px 44px rgba(36,27,23,.18) !important;
  text-shadow:none !important;
}
.home .gcc-home-review-cta .btn-dark *,
.home .gcc-home-review-cta a.btn-dark *,
.gcc-home-review-cta .btn-dark *,
.gcc-home-review-cta a.btn-dark *{
  color:#fffaf5 !important;
  -webkit-text-fill-color:#fffaf5 !important;
  text-shadow:none !important;
}
.home .gcc-home-review-cta .btn-dark:hover,
.home .gcc-home-review-cta a.btn-dark:hover,
.gcc-home-review-cta .btn-dark:hover,
.gcc-home-review-cta a.btn-dark:hover{
  background:linear-gradient(135deg,#2f211d 0%,#6f4e37 58%,#d8b48c 100%) !important;
  color:#fffaf5 !important;
  -webkit-text-fill-color:#fffaf5 !important;
}
.home .gcc-home-review-cta p{
  color:#65574f !important;
}

.gcc-app-classes__hero,
body.woocommerce-shop .gcc-app-classes__hero,
body.post-type-archive-product .gcc-app-classes__hero,
body.page-template-page-shop .gcc-app-classes__hero{
  background:
    radial-gradient(circle at 88% 10%,rgba(216,180,140,.26),rgba(216,180,140,0) 34%),
    linear-gradient(135deg,#241b17 0%,#33241f 50%,#79583e 100%) !important;
  border-color:rgba(216,180,140,.32) !important;
}
.gcc-app-classes__hero h1,
.gcc-app-classes__hero h1 *,
body.woocommerce-shop .gcc-app-classes__hero h1,
body.post-type-archive-product .gcc-app-classes__hero h1,
body.page-template-page-shop .gcc-app-classes__hero h1{
  color:#fffaf5 !important;
  -webkit-text-fill-color:#fffaf5 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.22) !important;
}
.gcc-app-classes__hero p,
body.woocommerce-shop .gcc-app-classes__hero p,
body.post-type-archive-product .gcc-app-classes__hero p,
body.page-template-page-shop .gcc-app-classes__hero p{
  color:#f5e4d3 !important;
  -webkit-text-fill-color:#f5e4d3 !important;
}
.gcc-app-classes__hero .gcc-app-eyebrow,
body.woocommerce-shop .gcc-app-classes__hero .gcc-app-eyebrow,
body.post-type-archive-product .gcc-app-classes__hero .gcc-app-eyebrow,
body.page-template-page-shop .gcc-app-classes__hero .gcc-app-eyebrow{
  background:#fffaf5 !important;
  color:#8f6a48 !important;
  -webkit-text-fill-color:#8f6a48 !important;
  border-color:rgba(255,250,245,.72) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.10) !important;
}
.gcc-app-classes__reassurance span,
body.woocommerce-shop .gcc-app-classes__reassurance span,
body.post-type-archive-product .gcc-app-classes__reassurance span,
body.page-template-page-shop .gcc-app-classes__reassurance span{
  background:rgba(255,250,245,.14) !important;
  border-color:rgba(255,250,245,.26) !important;
  color:#fffaf5 !important;
  -webkit-text-fill-color:#fffaf5 !important;
}
@media(max-width:760px){
  .gcc-app-classes__hero h1{
    font-size:clamp(2.2rem,9vw,3.3rem) !important;
    line-height:1 !important;
  }
}


/* v128.53 Floating Messenger Removal */
.gcc-floating-messenger{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* v128.52 About + Allergen Polish
 * Refocuses the story around cake classes and makes allergen guidance clearer.
 */
.gcc-home-story-polish{
  padding-bottom:clamp(96px,12vw,150px) !important;
}
.gcc-home-story-polish h2{
  text-wrap:balance;
}
.gcc-home-story-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.gcc-home-story-actions .btn-outline{
  border-color:rgba(36,27,23,.18) !important;
  color:#241b17 !important;
  background:rgba(255,250,245,.72) !important;
}

.gcc-about-v52{
  padding:clamp(116px,11vw,150px) 16px clamp(110px,12vw,160px) !important;
  background:
    radial-gradient(circle at 8% 5%,rgba(216,180,140,.20) 0 210px,transparent 212px),
    radial-gradient(circle at 92% 10%,rgba(36,27,23,.055) 0 240px,transparent 242px),
    linear-gradient(180deg,#fbf6f0 0%,#fffaf5 52%,#f4ebe1 100%) !important;
  color:#241b17 !important;
}
.gcc-about-v52__wrap{
  max-width:1180px;
  margin:0 auto;
}
.gcc-about-v52__hero{
  position:relative;
  overflow:hidden;
  border-radius:clamp(30px,5vw,48px);
  padding:clamp(44px,7vw,82px) clamp(22px,6vw,72px);
  background:
    radial-gradient(circle at 90% 12%,rgba(223,189,145,.30) 0 170px,transparent 172px),
    linear-gradient(135deg,rgba(36,27,23,.96),rgba(58,47,42,.92) 58%,rgba(126,90,61,.88));
  color:#fff;
  box-shadow:0 30px 90px rgba(36,27,23,.16);
  border:1px solid rgba(223,189,145,.28);
}
.gcc-about-v52__hero:after{
  content:"✦";
  position:absolute;
  right:clamp(18px,5vw,62px);
  bottom:clamp(12px,3vw,34px);
  font-size:clamp(4.5rem,14vw,12rem);
  line-height:1;
  color:rgba(223,189,145,.18);
  pointer-events:none;
}
.gcc-about-v52__eyebrow,
.gcc-about-v52__kicker{
  display:block;
  margin-bottom:14px;
  color:#d8b48c;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:950;
}
.gcc-about-v52__hero h1{
  max-width:880px;
  margin:0 0 18px;
  color:#fff;
  font-family:var(--font-display,Georgia,"Times New Roman",serif);
  font-size:clamp(2.7rem,7vw,5.8rem);
  line-height:.96;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.gcc-about-v52__hero p{
  max-width:760px;
  margin:0;
  color:#f4dfc9;
  font-size:clamp(1.02rem,2vw,1.2rem);
  line-height:1.75;
}
.gcc-about-v52__hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
  position:relative;
  z-index:2;
}
.gcc-about-v52__light-btn,
.gcc-allergen-v52__light-btn{
  border-color:rgba(255,250,245,.42) !important;
  color:#fffaf5 !important;
  background:rgba(255,250,245,.08) !important;
}
.gcc-about-v52__intro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:22px 0 28px;
}
.gcc-about-v52__intro-card{
  background:rgba(255,255,255,.90);
  border:1px solid rgba(184,144,104,.20);
  border-radius:28px;
  padding:24px;
  box-shadow:0 20px 58px rgba(36,27,23,.075);
}
.gcc-about-v52__intro-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  margin-bottom:14px;
  background:linear-gradient(135deg,#241b17,#8f6a48 60%,#d8b48c);
  color:#fff;
  font-weight:950;
  font-size:.75rem;
  letter-spacing:.08em;
}
.gcc-about-v52__intro-card h2,
.gcc-about-v52__story h2,
.gcc-about-v52__cta h2{
  margin:0 0 10px;
  color:#241b17;
  font-family:var(--font-display,Georgia,"Times New Roman",serif);
  line-height:1.05;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.gcc-about-v52__intro-card h2{font-size:clamp(1.45rem,2.6vw,1.95rem);}
.gcc-about-v52__intro-card p{
  margin:0;
  color:#76665c;
  line-height:1.68;
}
.gcc-about-v52__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:24px;
  align-items:start;
}
.gcc-about-v52__story,
.gcc-about-v52__cta{
  border-radius:34px;
  padding:clamp(28px,5vw,52px);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(184,144,104,.20);
  box-shadow:0 22px 66px rgba(36,27,23,.08);
}
.gcc-about-v52__story h2{
  max-width:820px;
  font-size:clamp(2rem,4.6vw,3.7rem);
}
.gcc-about-v52__story p,
.gcc-about-v52__cta p{
  color:#65584f;
  font-size:1.04rem;
  line-height:1.86;
  margin:0 0 18px;
}
.gcc-about-v52__quote{
  margin-top:24px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(135deg,#241b17,#3a2f2a);
  color:#fff;
  border:1px solid rgba(223,189,145,.28);
}
.gcc-about-v52__quote strong{
  display:block;
  color:#d8b48c;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
  margin-bottom:10px;
}
.gcc-about-v52__quote p{
  color:#f4dfc9;
  margin:0;
}
.gcc-about-v52__sidebar{
  position:sticky;
  top:112px;
  display:grid;
  gap:14px;
}
.gcc-about-v52__side-card{
  border-radius:26px;
  padding:24px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(184,144,104,.20);
  box-shadow:0 16px 46px rgba(36,27,23,.07);
}
.gcc-about-v52__side-card--dark,
.gcc-about-v52__side-card--cta{
  background:linear-gradient(135deg,#241b17,#3a2f2a);
  color:#fff;
  border-color:rgba(223,189,145,.26);
}
.gcc-about-v52__side-card h3{
  margin:0 0 8px;
  color:inherit;
  font-family:var(--font-display,Georgia,"Times New Roman",serif);
  font-size:1.45rem;
  line-height:1.08;
}
.gcc-about-v52__side-card p{
  color:#76665c;
  line-height:1.72;
  margin:0;
}
.gcc-about-v52__side-card--dark p,
.gcc-about-v52__side-card--cta p{color:#f4dfc9;}
.gcc-about-v52__side-card--cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  border-radius:999px;
  padding:12px 17px;
  background:linear-gradient(135deg,#b89068,#dfbd91);
  color:#fff;
  font-weight:950;
}
.gcc-about-v52__cta{
  margin-top:24px;
  text-align:center;
  background:
    radial-gradient(circle at 88% 15%,rgba(223,189,145,.18) 0 150px,transparent 152px),
    rgba(255,255,255,.94);
}
.gcc-about-v52__cta span{
  display:block;
  margin-bottom:10px;
  color:#b89068;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:950;
  font-size:.76rem;
}
.gcc-about-v52__cta h2{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(1.95rem,4vw,3rem);
}
.gcc-about-v52__cta p{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.gcc-about-v52__cta-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:24px;
}
.gcc-about-v52__cta-actions .btn-outline{
  border-color:rgba(36,27,23,.16) !important;
  color:#241b17 !important;
  background:#fffaf5 !important;
}

.gcc-allergen-v52 .gcc-allergen-wrap{
  max-width:1080px !important;
  padding-top:clamp(116px,10vw,148px) !important;
  padding-bottom:clamp(120px,13vw,165px) !important;
}
.gcc-allergen-v52__hero{
  text-align:left !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 92% 12%,rgba(223,189,145,.30) 0 170px,transparent 172px),
    linear-gradient(135deg,#241b17,#3a2f2a 58%,#7e5a3d) !important;
  border-color:rgba(223,189,145,.28) !important;
  box-shadow:0 30px 90px rgba(36,27,23,.17) !important;
}
.gcc-allergen-v52__hero .gcc-allergen-kicker,
.gcc-allergen-v52__hero h1,
.gcc-allergen-v52__hero p{
  color:#fff !important;
}
.gcc-allergen-v52__hero .gcc-allergen-kicker{color:#d8b48c !important;}
.gcc-allergen-v52__hero p{
  max-width:760px !important;
  margin-left:0 !important;
  color:#f4dfc9 !important;
}
.gcc-allergen-v52__hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.gcc-allergen-v52__notice{
  display:grid;
  gap:10px;
  margin:22px 0 !important;
  background:#fff !important;
  color:#241b17 !important;
  border:2px solid rgba(184,144,104,.30) !important;
  box-shadow:0 20px 62px rgba(36,27,23,.09) !important;
}
.gcc-allergen-v52__alert-label{
  display:inline-flex;
  width:max-content;
  border-radius:999px;
  padding:8px 12px;
  background:rgba(184,144,104,.13);
  color:#9a7654;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:950;
}
.gcc-allergen-v52__notice h2{
  color:#241b17 !important;
  font-size:clamp(1.95rem,4.5vw,3.4rem) !important;
  text-wrap:balance;
}
.gcc-allergen-v52__notice p{
  max-width:920px;
  color:#5f524b !important;
  font-size:1.06rem !important;
}
.gcc-allergen-v52__quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:22px 0;
}
.gcc-allergen-v52__quick-card{
  border-radius:24px;
  padding:22px;
  background:#fff;
  border:1px solid rgba(184,144,104,.20);
  box-shadow:0 15px 42px rgba(36,27,23,.06);
}
.gcc-allergen-v52__quick-card strong{
  display:block;
  margin-bottom:8px;
  color:#241b17;
  font-family:var(--font-display,Georgia,"Times New Roman",serif);
  font-size:1.35rem;
  line-height:1.08;
}
.gcc-allergen-v52__quick-card p{
  color:#76665c;
  line-height:1.68;
  margin:0;
}
.gcc-allergen-v52 .gcc-allergen-card{
  background:rgba(255,255,255,.94) !important;
  border-color:rgba(184,144,104,.22) !important;
  box-shadow:0 18px 54px rgba(36,27,23,.075) !important;
}
.gcc-allergen-v52 .gcc-allergen-card h2{
  text-wrap:balance;
}
.gcc-allergen-v52 .gcc-allergen-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.gcc-allergen-v52 .gcc-allergen-list li{
  display:flex;
  align-items:center;
  min-height:48px;
  border-color:rgba(184,144,104,.22) !important;
}
.gcc-allergen-v52 .gcc-allergen-list li:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  margin-right:10px;
  background:#b89068;
  flex:0 0 auto;
}
.gcc-allergen-v52 .gcc-southampton-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.gcc-colour-item,
.gcc-allergen-v52 .gcc-southampton-grid span{
  display:flex;
  min-height:74px;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:15px;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(184,144,104,.22);
  box-shadow:0 10px 24px rgba(36,27,23,.05);
  color:#241b17;
  font-weight:850;
}
.gcc-colour-item strong{
  color:#b89068;
  font-size:.86rem;
  letter-spacing:.08em;
}
.gcc-allergen-v52__classes-card{
  background:linear-gradient(135deg,#fffaf5 0%,#fff 100%) !important;
}
.gcc-allergen-v52__steps{
  margin-top:24px;
  border-radius:30px;
  padding:clamp(24px,4vw,38px);
  background:linear-gradient(135deg,#241b17,#3a2f2a);
  color:#fff;
  border:1px solid rgba(223,189,145,.26);
  box-shadow:0 20px 62px rgba(36,27,23,.12);
}
.gcc-allergen-v52__steps h2{
  margin:0 0 18px;
  color:#fff;
  font-family:var(--font-display,Georgia,"Times New Roman",serif);
  font-size:clamp(2rem,4.5vw,3.2rem);
  line-height:1.04;
}
.gcc-allergen-v52__steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.gcc-allergen-v52__steps-grid div{
  border-radius:22px;
  padding:18px;
  background:rgba(255,250,245,.08);
  border:1px solid rgba(255,250,245,.16);
}
.gcc-allergen-v52__steps-grid span{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  margin-bottom:12px;
  background:#d8b48c;
  color:#241b17;
  font-weight:950;
}
.gcc-allergen-v52__steps-grid p{
  margin:0;
  color:#f4dfc9;
  line-height:1.65;
}
.gcc-allergen-v52__contact .gcc-allergen-mini-kicker{
  margin-left:auto;
  margin-right:auto;
}
.gcc-allergen-v52__contact-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.gcc-allergen-v52__contact-actions .btn-outline{
  border-color:rgba(36,27,23,.16) !important;
  color:#241b17 !important;
  background:#fffaf5 !important;
}
@media(max-width:920px){
  .gcc-about-v52__intro-grid,
  .gcc-about-v52__layout,
  .gcc-allergen-v52__quick-grid,
  .gcc-allergen-v52__steps-grid{
    grid-template-columns:1fr !important;
  }
  .gcc-about-v52__sidebar{position:static; grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .gcc-home-story-actions .btn,
  .gcc-about-v52__hero-actions .btn,
  .gcc-about-v52__cta-actions .btn,
  .gcc-allergen-v52__hero-actions .btn,
  .gcc-allergen-v52__contact-actions .btn{
    width:100%;
    justify-content:center;
  }
  .gcc-about-v52{
    padding-left:12px !important;
    padding-right:12px !important;
    padding-top:98px !important;
  }
  .gcc-about-v52__hero,
  .gcc-about-v52__story,
  .gcc-about-v52__cta,
  .gcc-allergen-v52__hero,
  .gcc-allergen-v52__notice,
  .gcc-allergen-v52__steps,
  .gcc-allergen-v52__contact{
    border-radius:28px !important;
  }
  .gcc-about-v52__hero{
    padding:42px 22px;
  }
  .gcc-about-v52__hero h1{
    font-size:clamp(2.2rem,10vw,3.6rem);
    line-height:1.02;
  }
  .gcc-about-v52__intro-grid{gap:12px; margin:16px 0 18px;}
  .gcc-about-v52__intro-card,
  .gcc-about-v52__side-card{
    border-radius:24px;
    padding:22px;
  }
  .gcc-about-v52__sidebar{grid-template-columns:1fr;}
  .gcc-about-v52__story p,
  .gcc-about-v52__cta p{font-size:.98rem; line-height:1.78;}
  .gcc-allergen-v52 .gcc-allergen-wrap{
    padding-top:98px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .gcc-allergen-v52 .gcc-allergen-list,
  .gcc-allergen-v52 .gcc-southampton-grid{
    grid-template-columns:1fr !important;
  }
  .gcc-allergen-v52__quick-card,
  .gcc-allergen-v52__steps-grid div{
    border-radius:22px;
    padding:18px;
  }
  .gcc-allergen-v52 .gcc-allergen-card{
    padding:22px 18px !important;
  }
}

/* v128.54 Contact + footer polish, reviews moved higher */
.gcc-review-notice-top{
  max-width:1120px !important;
  margin:24px auto 0 !important;
}
.gcc-reviews-page-v12854 .gcc-review-list-priority{
  margin-top:clamp(26px,5vw,52px) !important;
}
.gcc-reviews-page-v12854 .gcc-review-form-lower{
  margin-top:clamp(34px,6vw,70px) !important;
}
.gcc-review-booking-cta-wrap{
  max-width:1120px;
  margin:clamp(34px,6vw,66px) auto 0;
}
.gcc-reviews-page-v12854 .gcc-review-list-heading{
  text-align:left !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.gcc-reviews-page-v12854 .gcc-review-list-heading h2{
  color:#241b17 !important;
}
.gcc-reviews-page-v12854 .gcc-review-list-heading p{
  color:#76665c !important;
  max-width:720px;
  line-height:1.7;
}
.gcc-reviews-page-v12854 .gcc-review-list-wrap{
  position:relative;
  z-index:2;
}
.gcc-reviews-page-v12854 .gcc-review-form-wrap{
  margin-top:clamp(36px,6vw,72px) !important;
}
.gcc-reviews-page-v12854 .gcc-review-hero-actions .btn-outline{
  color:#fff !important;
  border-color:rgba(255,255,255,.5) !important;
  background:rgba(255,255,255,.12) !important;
}

.gcc-contact-page{
  background:
    radial-gradient(circle at 8% 10%, rgba(216,180,140,.34), transparent 28%),
    radial-gradient(circle at 88% 6%, rgba(184,144,104,.18), transparent 30%),
    linear-gradient(180deg,#fbf6f0 0%,#fffaf5 46%,#f6eee6 100%);
  color:var(--brown);
  padding:118px 16px 110px;
}
.gcc-contact-hero,
.gcc-contact-options,
.gcc-contact-main{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
.gcc-contact-hero{
  position:relative;
  overflow:hidden;
  border-radius:42px;
  border:1px solid rgba(223,189,145,.36);
  background:linear-gradient(135deg,rgba(36,27,23,.9),rgba(58,47,42,.58)),var(--gcc-image-feature) center/cover no-repeat;
  box-shadow:0 28px 80px rgba(36,27,23,.16);
  padding:clamp(44px,7vw,86px) clamp(24px,6vw,68px);
  color:#fff;
}
.gcc-contact-hero:after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  right:-90px;
  bottom:-110px;
  background:radial-gradient(circle,rgba(223,189,145,.38),rgba(223,189,145,0) 68%);
  pointer-events:none;
}
.gcc-contact-kicker{
  display:block;
  color:#d8b48c;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.74rem;
  font-weight:950;
  margin-bottom:14px;
}
.gcc-contact-hero h1{
  color:#fff !important;
  font-size:clamp(2.7rem,7vw,5.4rem) !important;
  line-height:.98 !important;
  max-width:760px;
  margin:0 0 18px !important;
  text-shadow:0 12px 28px rgba(0,0,0,.18);
}
.gcc-contact-hero p{
  color:#f7e7d5;
  max-width:650px;
  line-height:1.78;
  font-size:clamp(1rem,2vw,1.14rem);
}
.gcc-contact-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
  position:relative;
  z-index:2;
}
.gcc-contact-hero-actions .btn-outline{
  color:#fff !important;
  border-color:rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.12) !important;
}
.gcc-contact-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.gcc-contact-options article,
.gcc-contact-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(184,144,104,.20);
  border-radius:30px;
  box-shadow:0 20px 58px rgba(36,27,23,.08);
}
.gcc-contact-options article{
  padding:22px;
}
.gcc-contact-options span{
  display:block;
  color:#b89068;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.68rem;
  font-weight:950;
  margin-bottom:10px;
}
.gcc-contact-options h2{
  font-size:1.5rem !important;
  line-height:1.05 !important;
  margin:0 0 10px !important;
  color:#241b17 !important;
}
.gcc-contact-options p,
.gcc-contact-card p{
  color:#76665c;
  line-height:1.68;
}
.gcc-contact-options a{
  display:inline-block;
  margin-top:12px;
  color:#8f6a48;
  font-weight:950;
  text-decoration:underline;
  text-underline-offset:4px;
}
.gcc-contact-main{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:22px;
  align-items:start;
  margin-top:22px;
}
.gcc-contact-card{
  padding:clamp(24px,4vw,42px);
}
.gcc-contact-card h2{
  font-size:clamp(2.2rem,5vw,4.2rem) !important;
  line-height:1 !important;
  margin:0 0 18px !important;
  color:#241b17 !important;
}
.gcc-contact-content form,
.gcc-contact-content .wpforms-container,
.gcc-contact-content .wpcf7,
.gcc-contact-content .nf-form-cont,
.gcc-contact-content .gform_wrapper{
  margin-top:22px !important;
  background:#fffaf5 !important;
  border:1px solid #eadfd4 !important;
  border-radius:28px !important;
  padding:clamp(18px,4vw,28px) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 14px 36px rgba(36,27,23,.05) !important;
}
.gcc-contact-content input,
.gcc-contact-content textarea,
.gcc-contact-content select{
  width:100% !important;
  border:1px solid #eadfd4 !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#241b17 !important;
  padding:15px 16px !important;
  font-size:1rem !important;
  font-family:inherit !important;
}
.gcc-contact-content textarea{
  min-height:150px;
}
.gcc-contact-content input[type="submit"],
.gcc-contact-content button[type="submit"],
.gcc-contact-content .wpforms-submit{
  width:100% !important;
  border:0 !important;
  border-radius:999px !important;
  padding:17px 24px !important;
  background:linear-gradient(135deg,#241b17 0%,#8f6a48 45%,#d8b48c 100%) !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  box-shadow:0 18px 42px rgba(184,144,104,.30) !important;
}
.gcc-contact-methods{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.gcc-contact-methods a{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border:1px solid #eadfd4;
  border-radius:22px;
  padding:15px 16px;
  background:#fffaf5;
  color:#241b17;
}
.gcc-contact-methods strong{
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.gcc-contact-methods span{
  color:#8f6a48;
  font-weight:850;
  text-align:right;
}
.gcc-contact-note{
  margin-top:18px;
  border-radius:24px;
  padding:18px;
  background:linear-gradient(135deg,#241b17,#3a2f2a);
  color:#fff;
}
.gcc-contact-note h3{
  color:#fff !important;
  font-size:1.55rem !important;
  margin:0 0 10px !important;
}
.gcc-contact-note p{
  color:#f7e7d5;
}

@media(max-width:900px){
  .gcc-contact-options,
  .gcc-contact-main{
    grid-template-columns:1fr;
  }
  .gcc-contact-hero{
    text-align:center;
  }
  .gcc-contact-hero-actions{
    justify-content:center;
  }
  .gcc-reviews-page-v12854 .gcc-review-list-heading{
    text-align:center !important;
    align-items:center;
  }
}
@media(max-width:640px){
  .gcc-contact-page{
    padding:96px 12px 102px;
  }
  .gcc-contact-hero,
  .gcc-contact-options article,
  .gcc-contact-card{
    border-radius:28px;
  }
  .gcc-contact-hero{
    padding:38px 22px;
  }
  .gcc-contact-hero h1{
    font-size:2.6rem !important;
  }
  .gcc-contact-hero-actions .btn,
  .gcc-contact-methods a{
    width:100%;
  }
  .gcc-contact-methods a{
    flex-direction:column;
    align-items:flex-start;
  }
  .gcc-contact-methods span{
    text-align:left;
  }
}


/* v128.76 contact cleanup and Cake League fallback hiding */
.gcc-contact-content noscript,
.gcc-contact-content .wpforms-error-noscript,
.gcc-contact-content .wpforms-field-hp,
.gcc-contact-content .wpforms-field-hidden,
.gcc-contact-content .wpcf7-form-control-wrap[data-name*="honeypot"],
.gcc-contact-content .akismet-fields-container,
.gcc-contact-content .honeypot,
.gcc-contact-content [class*="honeypot"],
.gcc-contact-content [id*="honeypot"]{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.gcc-contact-content form > p:empty,
.gcc-contact-content form > div:empty,
.gcc-contact-content .wpforms-field:empty,
.gcc-contact-content .wpcf7-response-output:empty{
  display:none !important;
}

.gcc-contact-content .wpforms-container,
.gcc-contact-content .wpcf7,
.gcc-contact-content .nf-form-cont,
.gcc-contact-content .gform_wrapper{
  margin-bottom:0 !important;
}

.gcc-contact-content label,
.gcc-contact-content .wpforms-field-label,
.gcc-contact-content .nf-field-label label,
.gcc-contact-content .gfield_label{
  color:#3a2f2a !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

.gcc-contact-content .wpforms-required-label,
.gcc-contact-content .gfield_required,
.gcc-contact-content .ninja-forms-req-symbol{
  color:#9a6e45 !important;
}

.gcc-contact-content .wpforms-description,
.gcc-contact-content .nf-form-fields-required,
.gcc-contact-content .gform_required_legend{
  color:#76665c !important;
  font-size:.92rem !important;
  line-height:1.5 !important;
}

/* Hide old database-driven menu/content items if a cached page still includes Cake League links. */
a[href*="cake-league"],
.menu-item a[href*="cake-league"]{
  display:none !important;
}

/* Sitewide mobile booking navigation (rendered in the footer on every page). */
.gcc-app-bottom-nav{
  display:none;
}

@media (max-width:760px){
  body{
    padding-bottom:78px;
  }

  .sticky-mobile-cta{
    display:none !important;
  }

  .gcc-app-bottom-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:999;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    padding:8px;
    border:1px solid rgba(184,144,104,.24);
    border-radius:26px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(20px);
    box-shadow:0 18px 50px rgba(36,27,23,.16);
  }

  .gcc-app-bottom-nav a,
  .gcc-app-bottom-nav button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:52px;
    border:0;
    border-radius:18px;
    background:transparent;
    color:#3a2f2a;
    font:900 .68rem/1 var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif);
    letter-spacing:.02em;
    cursor:pointer;
  }

  .gcc-app-bottom-nav .is-active{
    background:linear-gradient(135deg,#f4e7d9 0%,#e8cfb6 100%);
    color:#6f4e34;
    border:1px solid rgba(184,144,104,.34);
    box-shadow:0 8px 18px rgba(184,144,104,.18);
  }

  .gcc-app-bottom-nav span{
    font-size:1.1rem;
    line-height:1;
  }

  .gcc-app-bottom-nav strong{
    font:inherit;
  }
}
/* ===== END CONSOLIDATED SOURCE: 15-site-sections.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 18-premium-shell.css ===== */
/**
 * Gillespies luxury site shell — 128.83
 * Flat, confident navigation with restrained spacing and consistent controls.
 */

.site-header,
header.site-header{
  width:100% !important;
  max-width:none !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  transform:none !important;
  height:82px !important;
  min-height:82px !important;
  padding:0 max(24px,calc((100vw - 1280px)/2)) !important;
  border:0 !important;
  border-bottom:1px solid rgba(33,27,23,.12) !important;
  border-radius:0 !important;
  background:var(--cream) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.site-header .brand,
header.site-header .brand{
  position:static !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  width:158px !important;
  max-width:none !important;
  height:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 158px !important;
}

.site-header .brand img,
header.site-header .brand img{
  width:auto !important;
  max-width:150px !important;
  max-height:58px !important;
  transform:none !important;
  object-fit:contain;
}

.gcc-desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(22px,2.5vw,38px);
  margin:0 auto;
  padding:0 22px;
}

.gcc-desktop-nav a{
  position:relative;
  padding:31px 0 29px;
  color:#4b423b;
  font-size:.73rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}

.gcc-desktop-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-1px;
  height:2px;
  background:#aa8a54;
  transition:right .22s ease;
}

.gcc-desktop-nav a:hover::after,
.gcc-desktop-nav a[aria-current="page"]::after{right:0;}

.site-header .menu-btn,
header.site-header .menu-btn{display:none !important;}

.site-header .nav-actions,
header.site-header .nav-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;
  height:54px !important;
  min-width:max-content !important;
}

.site-header .gcc-header-book,
header.site-header .gcc-header-book{
  width:auto !important;
  min-width:auto !important;
  max-width:none !important;
  height:46px !important;
  flex:0 0 auto !important;
  padding:0 20px !important;
  border:1px solid #211b17 !important;
  border-radius:2px !important;
  background:#211b17 !important;
  color:#fff !important;
  font-size:.68rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
}

.site-header .gcc-header-book:hover,
header.site-header .gcc-header-book:hover{
  transform:translateY(-1px);
  background:#4b3d33 !important;
  border-color:#4b3d33 !important;
}

.site-header .gcc-header-icon,
header.site-header .gcc-header-icon{
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#2f2823 !important;
  box-shadow:none !important;
}

.site-header .gcc-header-icon:hover,
header.site-header .gcc-header-icon:hover{background:#f3eee8 !important;transform:none;}

.site-header .cart-count,
header.site-header .cart-count{
  top:2px !important;
  right:1px !important;
  min-width:18px !important;
  height:18px !important;
  padding:0 4px !important;
  border:2px solid #fffdf9 !important;
  border-radius:999px !important;
  background:#aa8a54 !important;
  color:#fff !important;
  font-size:.62rem !important;
  line-height:14px !important;
}

/* A cleaner, editorial slide-out menu. */
.slide-menu{
  border-radius:0 !important;
  background:#fffdf9 !important;
}
.slide-menu .menu-feature{border-radius:0 !important;background:#211b17 !important;}
.slide-menu .menu-feature .btn{border-radius:2px !important;background:#b79862 !important;color:#fff !important;}

@media(max-width:1080px){
  .site-header,header.site-header{padding:0 22px !important;}
  .gcc-desktop-nav{gap:17px;padding:0 10px;}
  .gcc-desktop-nav a{font-size:.67rem;letter-spacing:.07em;}
  .site-header .gcc-header-book,header.site-header .gcc-header-book{padding:0 15px !important;}
}

@media(max-width:900px){
  .site-header,
  header.site-header{
    width:100% !important;
    max-width:none !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    transform:none !important;
    height:72px !important;
    min-height:72px !important;
    padding:0 14px !important;
  }
  .site-header .menu-btn,
  header.site-header .menu-btn{display:flex !important;order:3 !important;}
  .gcc-desktop-nav,
  .site-header .gcc-header-book,
  header.site-header .gcc-header-book{display:none !important;}
  .site-header .brand,
  header.site-header .brand{
    width:132px !important;
    max-width:40% !important;
    height:58px !important;
    flex:0 1 auto !important;
    justify-content:flex-start !important;
    order:1 !important;
  }
  .site-header .brand img,
  header.site-header .brand img{max-width:128px !important;max-height:52px !important;}
  .site-header .nav-actions,
  header.site-header .nav-actions{margin-left:auto !important;order:2 !important;}
  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .gcc-header-icon,
  header.site-header .gcc-header-icon{border-radius:0 !important;background:transparent !important;}
}

@media(max-width:640px){
  .site-header,
  header.site-header{height:66px !important;min-height:66px !important;padding:0 10px !important;}
  .site-header .brand,
  header.site-header .brand{width:116px !important;height:54px !important;}
  .site-header .brand img,
  header.site-header .brand img{max-width:112px !important;max-height:47px !important;}
  .site-header .gcc-header-icon,
  header.site-header .gcc-header-icon,
  .site-header .menu-btn,
  header.site-header .menu-btn{width:39px !important;min-width:39px !important;max-width:39px !important;height:39px !important;flex:0 0 39px !important;}
}
/* ===== END CONSOLIDATED SOURCE: 18-premium-shell.css ===== */

/* ===== COMPONENT: footer-system.css ===== */
/**
 * Gillespies footer system.
 *
 * This component exclusively owns the customer-facing footer. Keep footer
 * typography, link states and responsive behaviour here rather than in page
 * bundles or URL-specific selectors.
 */
.footer.gcc-footer-v12854,
.gcc-footer-v12854 {
  position: relative;
  margin: 0;
  padding: 72px clamp(22px, 4vw, 56px) 128px;
  background: #17120f;
  color: rgba(255,255,255,.76);
  text-align: left;
}

.gcc-footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 72px);
  width: min(1180px, 100%);
  margin: 0 auto;
  align-items: start;
}

.gcc-footer-brand-block,
.gcc-footer-links,
.gcc-footer-help {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.gcc-footer-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 24px;
}

.gcc-footer-logo img {
  display: block;
  width: min(158px, 58vw);
  height: auto;
  max-height: 62px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .82;
}

.gcc-footer-brand-block p,
.gcc-footer-help p {
  max-width: 34rem;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 450;
  line-height: 1.7;
}

.gcc-footer-v12854 .gcc-social-icons {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  margin: 28px 0 0;
}

.gcc-footer-v12854 .gcc-social-icons a {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: transparent;
  color: #c8a66b;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.gcc-footer-v12854 .gcc-social-icons a:hover,
.gcc-footer-v12854 .gcc-social-icons a:focus-visible {
  border-color: rgba(200,166,107,.72);
  background: rgba(200,166,107,.1);
  transform: translateY(-2px);
}

.gcc-footer-v12854 .gcc-social-icons svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.gcc-footer-links h4,
.gcc-footer-help h4 {
  margin: 0 0 24px;
  color: #fff;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(1.65rem, 2.5vw, 2.15rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
  text-transform: none;
}

.gcc-footer-links__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gcc-footer-links__list > li {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gcc-footer-links .gcc-footer-links__link,
.gcc-footer-links .gcc-footer-links__link:link,
.gcc-footer-links .gcc-footer-links__link:visited {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  margin: 0;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(255,255,255,.84);
  -webkit-text-fill-color: currentColor;
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: .98rem;
  font-style: normal;
  font-weight: 720;
  letter-spacing: -.012em;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  opacity: 1;
}

.gcc-footer-links__list > li:last-child .gcc-footer-links__link {
  border-bottom: 0;
}

.gcc-footer-links .gcc-footer-links__link::before,
.gcc-footer-links .gcc-footer-links__link::after {
  content: none;
  display: none;
}

.gcc-footer-links__label {
  display: block;
  min-width: 0;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: none;
  opacity: 1;
  overflow-wrap: normal;
  word-break: normal;
}

.gcc-footer-links__arrow {
  display: block;
  color: #c8a66b;
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: 1rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  opacity: .95;
  transition: transform .18s ease;
}

.gcc-footer-links .gcc-footer-links__link:hover,
.gcc-footer-links .gcc-footer-links__link:focus-visible {
  color: #fff;
  -webkit-text-fill-color: #fff;
}

.gcc-footer-links .gcc-footer-links__link:hover .gcc-footer-links__arrow,
.gcc-footer-links .gcc-footer-links__link:focus-visible .gcc-footer-links__arrow {
  transform: translateX(4px);
}

.gcc-footer-links .gcc-footer-links__link:focus-visible,
.gcc-footer-v12854 a:focus-visible {
  outline: 2px solid #c8a66b;
  outline-offset: 4px;
}

.gcc-footer-eyebrow {
  display: block;
  margin: 0 0 16px;
  color: #c8a66b;
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gcc-footer-actions {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.gcc-footer-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  margin: 0;
  border-radius: 3px;
}

.gcc-footer-text-link,
.gcc-footer-text-link:visited {
  display: inline-flex;
  width: fit-content;
  color: #fff;
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
}

.gcc-footer-copy,
.gcc-footer-v12854 .gcc-footer-legal,
.gcc-footer-food-hygiene {
  width: min(1180px, 100%);
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.gcc-footer-food-hygiene {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  line-height: 0;
}

.gcc-footer-food-hygiene img {
  display: block;
  width: 110px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
}

.gcc-footer-food-hygiene iframe {
  display: block;
  width: 110px !important;
  max-width: 100% !important;
  height: 61px !important;
  margin: 0 auto;
  border: 0;
}

.gcc-footer-food-hygiene noscript a,
.gcc-footer-food-hygiene noscript a:visited {
  color: rgba(255,255,255,.62);
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gcc-footer-copy {
  margin-top: 20px;
  margin-bottom: 0;
  padding-top: 0;
  border-top: 0;
  color: rgba(255,255,255,.46);
  font-size: .8rem;
}

.gcc-footer-v12854 .gcc-footer-legal {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
  align-items: center;
  flex-wrap: wrap;
  color: rgba(255,255,255,.42);
  font-family: var(--font-body, system-ui, sans-serif);
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.45;
}

.gcc-footer-v12854 .gcc-footer-legal a,
.gcc-footer-v12854 .gcc-footer-legal a:visited,
.gcc-footer-v12854 .gcc-footer-legal button,
.gcc-footer-v12854 .gcc-footer-legal [role="button"],
.gcc-footer-v12854 .gcc-footer-legal .cky-banner-element,
.gcc-footer-v12854 .gcc-footer-legal .cmplz-manage-consent {
  display: inline;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(255,255,255,.58) !important;
  -webkit-text-fill-color: currentColor !important;
  font: inherit !important;
  font-family: var(--font-body, system-ui, sans-serif) !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: inherit !important;
  text-align: inherit;
  text-decoration: none !important;
  text-transform: none !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.gcc-footer-v12854 .gcc-footer-legal a:hover,
.gcc-footer-v12854 .gcc-footer-legal a:focus-visible,
.gcc-footer-v12854 .gcc-footer-legal button:hover,
.gcc-footer-v12854 .gcc-footer-legal button:focus-visible,
.gcc-footer-v12854 .gcc-footer-legal [role="button"]:hover,
.gcc-footer-v12854 .gcc-footer-legal [role="button"]:focus-visible,
.gcc-footer-v12854 .gcc-footer-legal .cky-banner-element:hover,
.gcc-footer-v12854 .gcc-footer-legal .cky-banner-element:focus-visible,
.gcc-footer-v12854 .gcc-footer-legal .cmplz-manage-consent:hover,
.gcc-footer-v12854 .gcc-footer-legal .cmplz-manage-consent:focus-visible {
  color: rgba(255,255,255,.86) !important;
  -webkit-text-fill-color: currentColor !important;
}

@media (max-width: 920px) {
  .gcc-footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .gcc-footer-brand-block {
    grid-column: 1 / -1;
    padding-bottom: 36px;
    border-bottom: 1px solid rgba(255,255,255,.13);
  }
}

@media (max-width: 680px) {
  .footer.gcc-footer-v12854,
  .gcc-footer-v12854 {
    padding: 52px 28px 132px;
  }

  .gcc-footer-inner {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .gcc-footer-brand-block,
  .gcc-footer-links,
  .gcc-footer-help {
    grid-column: auto;
    padding: 32px 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .gcc-footer-brand-block {
    padding-top: 0;
  }

  .gcc-footer-help {
    border-bottom: 0;
  }

  .gcc-footer-links h4,
  .gcc-footer-help h4 {
    margin-bottom: 18px;
    font-size: 1.75rem;
  }

  .gcc-footer-links .gcc-footer-links__link,
  .gcc-footer-links .gcc-footer-links__link:link,
  .gcc-footer-links .gcc-footer-links__link:visited {
    min-height: 48px;
    gap: 14px;
    padding: 12px 0;
    font-size: .95rem;
  }

  .gcc-footer-food-hygiene {
    margin-top: 16px;
    padding-top: 22px;
  }

  .gcc-footer-food-hygiene img {
    width: 100px !important;
  }

  .gcc-footer-food-hygiene iframe {
    width: 100px !important;
    height: 56px !important;
  }

  .gcc-footer-copy {
    margin-top: 18px;
  }
}

/* ===== COMPONENT: accessibility-foundation.css ===== */
/**
 * COMPONENT SOURCE: former 16-accessibility-performance.css
 */
/* Gillespies accessibility and motion safeguards - 128.79 */

.gcc-skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:1000000;
  transform:translateY(-180%);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border:2px solid #b89068;
  border-radius:12px;
  background:#241b17;
  color:#fffaf5 !important;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(36,27,23,.24);
}

.gcc-skip-link:focus{
  transform:translateY(0);
}

.gcc-skip-target{
  display:block;
  width:1px;
  height:1px;
  overflow:hidden;
}

.menu-btn:focus-visible,
.menu-close:focus-visible,
.slide-menu a:focus-visible,
.basket-open:focus-visible,
.basket-close:focus-visible,
.basket-drawer a:focus-visible,
.basket-drawer button:focus-visible,
.basket-drawer input:focus-visible,
.gcc-app-bottom-nav a:focus-visible,
.gcc-app-bottom-nav button:focus-visible,
.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid #b89068;
  outline-offset:3px;
}

.slide-menu[aria-hidden="true"],
.basket-drawer[aria-hidden="true"]{
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce){
  html:focus-within{
    scroll-behavior:auto !important;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important;
  }
  .gcc-class-filter-btn:hover,
  .btn:hover,
  a:hover{
    transform:none !important;
  }
}

.screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/**
 * COMPONENT SOURCE: former sitewide-foundation.css
 */
/**
 * Gillespies v130.18 consolidated component: sitewide-foundation.css
 * Source files are included below in their original load order.
 * Edit this purpose-named component instead of adding another override file.
 */

/* ===== BEGIN CONSOLIDATED SOURCE: 20-luxury-sitewide.css ===== */
/**
 * Gillespies luxury sitewide refinement — 128.83
 * Applies the homepage's flatter, editorial visual language to the class,
 * booking, content and footer journeys without changing business logic.
 */

:root{
  --gcc-lx-ink:#211b17;
  --gcc-lx-deep:#171310;
  --gcc-lx-paper:#fffdf9;
  --gcc-lx-cream:#f6f2ec;
  --gcc-lx-muted:#786d64;
  --gcc-lx-gold:#b79862;
  --gcc-lx-line:rgba(33,27,23,.14);
}

body:not(.home){background:var(--gcc-lx-cream) !important;}

/* Class discovery */
body.post-type-archive-product,
body.woocommerce-shop,
body.page-template-page-shop{
  background:var(--gcc-lx-cream) !important;
}

.gcc-app-shop-page,
.gcc-shop-page-clean{
  padding:132px 24px 120px !important;
}

.gcc-app-classes{width:min(100%,1280px) !important;}

.gcc-app-classes__hero{
  margin:0 0 34px !important;
  padding:54px 0 48px !important;
  border:0 !important;
  border-bottom:1px solid var(--gcc-lx-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.gcc-app-eyebrow,
.gcc-app-classes__hero .gcc-app-eyebrow,
body.single-product .gcc-product-kicker{
  min-height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#947746 !important;
  font-size:.67rem !important;
  letter-spacing:.18em !important;
}

.gcc-app-eyebrow::before,
body.single-product .gcc-product-kicker::before{
  content:"";
  display:inline-block;
  width:30px;
  height:1px;
  margin-right:11px;
  background:currentColor;
  vertical-align:middle;
}

.gcc-app-classes__hero h1{
  max-width:900px !important;
  color:var(--gcc-lx-ink) !important;
  font-family:var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-size:clamp(3.4rem,7vw,7rem) !important;
  font-weight:400 !important;
  letter-spacing:-.055em !important;
  line-height:.9 !important;
}

.gcc-app-classes__hero p{max-width:720px !important;color:var(--gcc-lx-muted) !important;}
.gcc-app-classes__reassurance{margin-top:24px !important;}
.gcc-app-classes__reassurance span{border-radius:0 !important;background:transparent !important;border-left:1px solid var(--gcc-lx-line) !important;padding:0 0 0 14px !important;}

.gcc-app-filters-panel{
  margin-bottom:38px !important;
  padding:0 0 26px !important;
  border:0 !important;
  border-bottom:1px solid var(--gcc-lx-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.gcc-app-filter-bar{
  position:static !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.gcc-class-filter-btn{
  min-height:43px !important;
  padding:0 16px !important;
  border:1px solid var(--gcc-lx-line) !important;
  border-radius:2px !important;
  background:var(--gcc-lx-paper) !important;
  color:var(--gcc-lx-ink) !important;
  font-size:.68rem !important;
}

.gcc-class-filter-btn.is-active{
  border-color:var(--gcc-lx-ink) !important;
  background:var(--gcc-lx-ink) !important;
  
}

.gcc-app-filter-selects select,
.gcc-app-filter-reset{
  min-height:46px !important;
  border-radius:2px !important;
  border-color:var(--gcc-lx-line) !important;
  background:var(--gcc-lx-paper) !important;
}

.gcc-app-private-cta{
  border:0 !important;
  border-radius:0 !important;
  background:var(--gcc-lx-deep) !important;
  box-shadow:none !important;
}
.gcc-app-private-cta a{border-radius:2px !important;background:#fff !important;color:var(--gcc-lx-ink) !important;}

/* Single class booking */
body.single-product .gcc-single-product-page{padding-top:126px !important;background:var(--gcc-lx-cream) !important;}
body.single-product .gcc-product-shell{width:min(1280px,calc(100% - 48px)) !important;}
body.single-product .gcc-product-layout{
  gap:clamp(40px,6vw,84px) !important;
  padding:0 0 74px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.single-product .gcc-product-gallery-panel img,
body.single-product .gcc-product-gallery-panel .wp-post-image,
body.single-product .woocommerce-product-gallery__image img{
  border-radius:0 !important;
  box-shadow:none !important;
}
body.single-product .gcc-product-summary-panel{padding-top:18px !important;}
body.single-product .gcc-product-summary-panel .product_title,
body.single-product .gcc-product-layout .product_title{
  color:var(--gcc-lx-ink) !important;
  font-family:var(--font-display,Georgia,"Times New Roman",serif) !important;
  font-weight:400 !important;
  font-size:clamp(3rem,5vw,5.8rem) !important;
  letter-spacing:-.055em !important;
}
body.single-product .gcc-product-summary-panel .price,
body.single-product .gcc-product-summary-panel p.price,
body.single-product .gcc-product-summary-panel span.price{
  color:#8d7246 !important;
  text-align:left !important;
}
body.single-product .gcc-app-single-facts{
  border-radius:0 !important;
  border-top:1px solid var(--gcc-lx-line) !important;
  border-bottom:1px solid var(--gcc-lx-line) !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.single-product .gcc-app-single-facts > div{border-radius:0 !important;background:transparent !important;}
body.single-product .gcc-class-product-details,
body.single-product .gcc-app-experience-panel,
body.single-product .gcc-app-booking-notes > div{
  border-radius:0 !important;
  background:var(--gcc-lx-paper) !important;
  box-shadow:none !important;
}
body.single-product .gcc-class-detail-item,
body.single-product .gcc-class-includes,
body.single-product .gcc-class-allergy-note{border-radius:0 !important;}
body.single-product .gcc-product-summary-panel form.cart,
body.single-product .gcc-product-layout form.cart{
  border-radius:0 !important;
  background:var(--gcc-lx-deep) !important;
  box-shadow:none !important;
}
body.single-product .gcc-product-summary-panel form.cart .qty,
body.single-product .gcc-product-summary-panel form.cart .single_add_to_cart_button,
body.single-product .gcc-product-layout form.cart .qty,
body.single-product .gcc-product-layout form.cart .single_add_to_cart_button{
  border-radius:2px !important;
}
body.single-product .gcc-product-summary-panel form.cart .single_add_to_cart_button,
body.single-product .gcc-product-layout form.cart .single_add_to_cart_button{
  background:var(--gcc-lx-gold) !important;
  box-shadow:none !important;
}
body.single-product .gcc-product-trust{border-top:1px solid var(--gcc-lx-line) !important;}
body.single-product .gcc-product-trust div{border:0 !important;border-radius:0 !important;background:transparent !important;padding:16px 0 !important;}
body.single-product .gcc-app-more-classes{border-radius:0 !important;background:transparent !important;}

/* Basket and checkout */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .gcc-checkout-intro,
.woocommerce-checkout .gcc-booking-summary,
.woocommerce-order-received .gcc-order-booking-summary,
.woocommerce-cart .gcc-cart-booking-intro,
.woocommerce-cart .gcc-booking-summary{
  border-radius:0 !important;
  border-color:var(--gcc-lx-line) !important;
  background:var(--gcc-lx-paper) !important;
  box-shadow:none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.woocommerce button.button,
.woocommerce a.button{
  border-radius:2px !important;
  box-shadow:none !important;
}

.woocommerce-checkout #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:var(--gcc-lx-ink) !important;
}

/* Content pages */
.gcc-contact-hero,
.gcc-contact-options article,
.gcc-contact-card,
.gcc-reviews-page-v12854 .gcc-reviews-hero,
.gcc-reviews-page-v12854 .gcc-review-card,
.gcc-page-section,
.page-main{
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Footer becomes a calm{
  padding:76px 32px 34px !important;
  border-top:0 !important;
  background:var(--gcc-lx-deep) !important;
  color:#fff !important;
}

@media(max-width:900px){
  .gcc-app-shop-page,.gcc-shop-page-clean{padding-top:104px !important;}
  body.single-product .gcc-single-product-page{padding-top:100px !important;}
}

@media(max-width:640px){
  .gcc-app-shop-page,
  body.single-product .gcc-product-layout .product_title{font-size:clamp(2.8rem,14vw,4.2rem) !important;}
}
/* ===== END CONSOLIDATED SOURCE: 20-luxury-sitewide.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 21-mobile-luxury-polish.css ===== */
/**
 * Gillespies mobile luxury polish — 128.84
 * Resolves the crowded mobile header, oversized typography and obstructive
 * bottom navigation seen in the live-site review screenshots.
 */

.gcc-mobile-wordmark{display:none;}
.gcc-app-bottom-nav svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}

@media(max-width:900px){
  .site-header,
  header.site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    height:64px !important;
    min-height:64px !important;
    padding:0 13px 0 16px !important;
    border:0 !important;
    border-bottom:1px solid rgba(55,45,37,.11) !important;
    border-radius:0 !important;
    background:var(--cream) !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    z-index:1200 !important;
  }

  .site-header .brand,
  header.site-header .brand{
    order:1 !important;
    width:auto !important;
    max-width:none !important;
    height:64px !important;
    flex:0 1 auto !important;
    margin:0 auto 0 0 !important;
    overflow:visible !important;
    justify-content:flex-start !important;
  }

  .site-header .brand img,
  header.site-header .brand img{
    display:block !important;
    max-width:128px !important;
    max-height:44px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .gcc-mobile-wordmark{
    display:none;
  }

  .gcc-mobile-wordmark strong{
    font-family:var(--font-display,Georgia,"Times New Roman",serif);
    font-size:1.24rem;
    font-weight:500;
    letter-spacing:.055em;
    text-transform:uppercase;
  }

  .gcc-mobile-wordmark small{
    padding-left:2px;
    color:#6f6258;
    font-size:.49rem;
    font-weight:850;
    letter-spacing:.26em;
    text-transform:uppercase;
  }

  .site-header .gcc-header-book,
  header.site-header .gcc-header-book{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .site-header .gcc-header-account,
  header.site-header .gcc-header-account{display:none !important;}

  .site-header .nav-actions,
  header.site-header .nav-actions{
    order:2 !important;
    height:44px !important;
    min-width:44px !important;
    margin:0 !important;
    gap:2px !important;
  }

  .site-header .menu-btn,
  header.site-header .menu-btn{
    order:3 !important;
    margin-left:2px !important;
    font-size:1.28rem !important;
  }

  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .gcc-header-icon,
  header.site-header .gcc-header-icon{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .site-header .menu-btn:active,
  header.site-header .menu-btn:active,
  .site-header .gcc-header-icon:active,
  header.site-header .gcc-header-icon:active{background:#f4eee6 !important;}

  .site-header .nav-svg,
  header.site-header .nav-svg{width:21px !important;height:21px !important;}

  .site-header .cart-count,
  header.site-header .cart-count{
    top:1px !important;
    right:0 !important;
    min-width:17px !important;
    height:17px !important;
    line-height:13px !important;
    font-size:.58rem !important;
  }

  body.admin-bar .site-header,
  body.admin-bar header.site-header{top:32px !important;}
}

@media(max-width:782px){
  body.admin-bar .site-header,
  body.admin-bar header.site-header{top:46px !important;}
}

@media(max-width:760px){
  body{padding-bottom:72px !important;}

  .gcc-app-bottom-nav{
    left:12px !important;
    right:12px !important;
    bottom:max(8px,env(safe-area-inset-bottom,0px)) !important;
    min-height:60px !important;
    padding:5px !important;
    gap:2px !important;
    border:1px solid rgba(78,63,52,.12) !important;
    border-radius:18px !important;
    background:rgba(255,253,250,.97) !important;
    box-shadow:0 12px 34px rgba(35,28,23,.14) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    z-index:1150 !important;
  }

  .gcc-app-bottom-nav a,
  .gcc-app-bottom-nav button{
    position:relative;
    gap:2px !important;
    min-height:48px !important;
    padding:4px 2px !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    color:#4a4038 !important;
    box-shadow:none !important;
    font:800 .59rem/1.05 var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif) !important;
    letter-spacing:.015em !important;
  }

  .gcc-app-bottom-nav a:active,
  .gcc-app-bottom-nav button:active{background:#f5efe7 !important;}

  .gcc-app-bottom-nav .is-active{
    border:0 !important;
    background:#f2e9dc !important;
    color:#765c34 !important;
    box-shadow:none !important;
  }

  .gcc-app-bottom-nav .is-active::before{
    content:"";
    position:absolute;
    left:50%;
    top:3px;
    width:18px;
    height:2px;
    border-radius:999px;
    background:#a9854c;
    transform:translateX(-50%);
  }

  .gcc-app-bottom-nav span{
    display:grid !important;
    place-items:center;
    width:20px;
    height:20px;
    font-size:0 !important;
    line-height:1 !important;
  }

  .gcc-app-bottom-nav strong{font:inherit !important;}
  .gcc-app-bottom-nav svg{width:18px;height:18px;}

  .gcc-luxury-mobile-cta{display:none !important;}
  body.home .footer{padding-bottom:84px !important;}
}

@media(max-width:640px){
  .gcc-luxury-shell{width:calc(100% - 32px) !important;}
  .gcc-luxury-section{padding:58px 0 !important;}

  .gcc-luxury-next__card{
    grid-template-columns:minmax(0,1fr) 24px !important;
    gap:7px 14px !important;
    padding:23px 0 25px !important;
  }

  .gcc-luxury-next__label{
    font-size:.59rem !important;
    letter-spacing:.14em !important;
  }

  .gcc-luxury-next__card > strong{
    max-width:290px;
    font-size:clamp(1.48rem,7vw,1.8rem) !important;
    line-height:1.06 !important;
    letter-spacing:-.035em !important;
  }

  .gcc-luxury-next__meta{
    padding-right:4px;
    font-size:.75rem !important;
    line-height:1.55 !important;
  }

  .gcc-luxury-next__availability{
    margin-top:8px !important;
    padding:8px 10px !important;
    font-size:.62rem !important;
  }

  .gcc-luxury-next__arrow{font-size:1rem !important;}

  .gcc-luxury-heading{margin-bottom:30px !important;}
  .gcc-luxury-heading--compact{max-width:100% !important;}

  .gcc-luxury-heading h2,
  .gcc-luxury-experience h2,
  .gcc-luxury-private h2{
    font-size:clamp(2.25rem,10.4vw,3.05rem) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }

  .gcc-luxury-heading--split{gap:20px !important;}
  .gcc-luxury-heading--split > div:last-child > p{
    margin-bottom:17px !important;
    font-size:.88rem !important;
    line-height:1.65 !important;
  }

  .gcc-luxury-eyebrow{font-size:.59rem !important;letter-spacing:.17em !important;}

  /* The experience choices become a short horizontal journey instead of
     three full-height panels stacked one after another. */
  .gcc-luxury-path-grid{
    display:flex !important;
    gap:12px !important;
    margin-right:-16px;
    padding-right:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    border:0 !important;
  }
  .gcc-luxury-path-grid::-webkit-scrollbar{display:none;}

  .gcc-luxury-path{
    flex:0 0 82% !important;
    min-height:300px !important;
    padding:22px !important;
    border:0 !important;
    scroll-snap-align:start;
    background-position:center !important;
  }

  .gcc-luxury-path > span{font-size:.85rem !important;}
  .gcc-luxury-path small{margin-bottom:8px !important;font-size:.56rem !important;}
  .gcc-luxury-path h3{margin-bottom:10px !important;font-size:2rem !important;}
  .gcc-luxury-path p{margin-bottom:16px !important;font-size:.78rem !important;line-height:1.55 !important;}
  .gcc-luxury-path strong{font-size:.61rem !important;}

  .gcc-luxury-featured .gcc-luxury-heading{margin-bottom:28px !important;}
  .gcc-luxury-class-grid{gap:14px !important;margin-right:-16px !important;padding-right:16px !important;}
  .gcc-luxury-class-card,
  .gcc-luxury-class-card:last-child{flex-basis:84% !important;}

  .gcc-luxury-class-card__media{height:238px !important;background:#e8e0d7 !important;}
  .gcc-luxury-class-card__image{object-position:center !important;}
  .gcc-luxury-class-card__type{left:12px !important;top:12px !important;padding:7px 9px !important;font-size:.56rem !important;}
  .gcc-luxury-class-card__body{padding-top:18px !important;}
  .gcc-luxury-class-card__top{margin-bottom:12px !important;}
  .gcc-luxury-class-card h3{margin-bottom:14px !important;font-size:1.48rem !important;line-height:1.08 !important;}
  .gcc-luxury-class-card h3 a{-webkit-line-clamp:2 !important;}
  .gcc-luxury-class-card__details{margin-bottom:16px !important;font-size:.71rem !important;}
  .gcc-luxury-class-card__cta{padding:15px 0 !important;font-size:.63rem !important;}

  .gcc-luxury-booking .gcc-luxury-heading h2,
  .gcc-luxury-reviews .gcc-luxury-heading h2{font-size:2.35rem !important;}

  .gcc-luxury-steps article,
  .gcc-luxury-steps article:not(:first-child){padding:22px 0 !important;}
  .gcc-luxury-steps article > span{margin-bottom:11px !important;}
  .gcc-luxury-steps h3{font-size:1.4rem !important;}

  .gcc-luxury-experience__media{min-height:390px !important;}
  .gcc-luxury-private__card{min-height:500px !important;padding:28px 22px !important;}

  .footer{padding-bottom:84px !important;}
}

@media(max-width:390px){
  .gcc-mobile-wordmark{min-width:120px;}
  .gcc-mobile-wordmark strong{font-size:1.1rem;}
  .site-header,header.site-header{padding-left:13px !important;padding-right:9px !important;}
  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .gcc-header-icon,
  header.site-header .gcc-header-icon{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .gcc-luxury-path{flex-basis:86% !important;}
  .gcc-luxury-class-card,.gcc-luxury-class-card:last-child{flex-basis:88% !important;}
}


/* v128.87 - custom kids classes image positioning for homepage journey card */
@media(max-width:767px){
  .gcc-luxury-path--kids{background-position:center 28% !important;}
}
/* ===== END CONSOLIDATED SOURCE: 21-mobile-luxury-polish.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 22-premium-mobile-header.css ===== */
/**
 * Gillespies premium mobile header — 128.86
 * Quiet luxury navigation with the official brand mark, reduced controls and
 * a subtle compact state after scrolling.
 */

.gcc-menu-svg{
  display:block;
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
}

@media(max-width:900px){
  .site-header,
  header.site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    height:68px !important;
    min-height:68px !important;
    padding:0 14px 0 20px !important;
    border:0 !important;
    border-bottom:1px solid rgba(39,31,25,.10) !important;
    border-radius:0 !important;
    background:rgba(255,253,249,.96) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.72) inset !important;
    backdrop-filter:blur(20px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(20px) saturate(1.08) !important;
    transition:height .24s ease,min-height .24s ease,background-color .24s ease,box-shadow .24s ease !important;
    z-index:1200 !important;
  }

  .site-header.is-scrolled,
  header.site-header.is-scrolled{
    height:60px !important;
    min-height:60px !important;
    background:rgba(255,253,249,.985) !important;
    box-shadow:0 8px 24px rgba(34,27,22,.075),0 1px 0 rgba(255,255,255,.72) inset !important;
  }

  .site-header .brand,
  header.site-header .brand{
    position:static !important;
    order:1 !important;
    width:178px !important;
    max-width:58% !important;
    height:54px !important;
    flex:0 1 178px !important;
    margin:0 auto 0 0 !important;
    transform:none !important;
    justify-content:flex-start !important;
    overflow:visible !important;
    transition:width .24s ease,height .24s ease,flex-basis .24s ease !important;
  }

  .site-header .brand img,
  header.site-header .brand img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:174px !important;
    max-height:44px !important;
    object-fit:contain !important;
    object-position:left center !important;
    transform:none !important;
    transition:max-width .24s ease,max-height .24s ease !important;
  }

  .site-header.is-scrolled .brand,
  header.site-header.is-scrolled .brand{
    width:158px !important;
    flex-basis:158px !important;
    height:48px !important;
  }

  .site-header.is-scrolled .brand img,
  header.site-header.is-scrolled .brand img{
    max-width:154px !important;
    max-height:38px !important;
  }

  .site-header .gcc-header-book,
  header.site-header .gcc-header-book,
  .site-header .gcc-header-account,
  header.site-header .gcc-header-account{
    display:none !important;
  }

  .site-header .nav-actions,
  header.site-header .nav-actions{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-width:42px !important;
    height:44px !important;
    margin:0 !important;
    gap:4px !important;
  }

  .site-header .menu-btn,
  header.site-header .menu-btn{
    order:3 !important;
    margin:0 0 0 2px !important;
  }

  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .gcc-header-icon,
  header.site-header .gcc-header-icon{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    padding:0 !important;
    border:1px solid transparent !important;
    border-radius:50% !important;
    background:transparent !important;
    color:#302822 !important;
    box-shadow:none !important;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease !important;
  }

  .site-header .menu-btn:hover,
  header.site-header .menu-btn:hover,
  .site-header .gcc-header-icon:hover,
  header.site-header .gcc-header-icon:hover,
  .site-header .menu-btn:focus-visible,
  header.site-header .menu-btn:focus-visible,
  .site-header .gcc-header-icon:focus-visible,
  header.site-header .gcc-header-icon:focus-visible{
    border-color:rgba(154,123,71,.20) !important;
    background:#f7f1e9 !important;
    outline:none !important;
  }

  .site-header .menu-btn:active,
  header.site-header .menu-btn:active,
  .site-header .gcc-header-icon:active,
  header.site-header .gcc-header-icon:active{
    background:#eee3d6 !important;
  }

  .site-header .nav-svg,
  header.site-header .nav-svg{
    width:20px !important;
    height:20px !important;
    fill:currentColor !important;
  }

  .site-header .cart-count,
  header.site-header .cart-count{
    top:0 !important;
    right:-1px !important;
    min-width:17px !important;
    height:17px !important;
    padding:0 4px !important;
    border:2px solid #fffdf9 !important;
    border-radius:999px !important;
    background:#a9854c !important;
    color:#fff !important;
    font-size:.56rem !important;
    font-weight:900 !important;
    line-height:13px !important;
  }

  body.admin-bar .site-header,
  body.admin-bar header.site-header{top:32px !important;}
}

@media(max-width:782px){
  body.admin-bar .site-header,
  body.admin-bar header.site-header{top:46px !important;}
}

@media(max-width:430px){
  .site-header,
  header.site-header{padding-left:16px !important;padding-right:10px !important;}

  .site-header .brand,
  header.site-header .brand{
    width:164px !important;
    max-width:57% !important;
    flex-basis:164px !important;
  }

  .site-header .brand img,
  header.site-header .brand img{max-width:160px !important;max-height:41px !important;}

  .site-header.is-scrolled .brand,
  header.site-header.is-scrolled .brand{width:146px !important;flex-basis:146px !important;}

  .site-header.is-scrolled .brand img,
  header.site-header.is-scrolled .brand img{max-width:142px !important;max-height:36px !important;}
}

@media(max-width:360px){
  .site-header,
  header.site-header{padding-left:13px !important;padding-right:7px !important;}

  .site-header .brand,
  header.site-header .brand{
    width:144px !important;
    max-width:53% !important;
    flex-basis:144px !important;
  }

  .site-header .brand img,
  header.site-header .brand img{max-width:140px !important;max-height:37px !important;}

  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .gcc-header-icon,
  header.site-header .gcc-header-icon{
    width:39px !important;
    min-width:39px !important;
    max-width:39px !important;
    height:39px !important;
    flex-basis:39px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-header,
  header.site-header,
  .site-header .brand,
  header.site-header .brand,
  .site-header .brand img,
  header.site-header .brand img{
    transition:none !important;
  }
}
/* ===== END CONSOLIDATED SOURCE: 22-premium-mobile-header.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 23-sitewide-modernisation.css ===== */
/**
 * Gillespies full-site modernisation — 128.88
 * Extends the restrained luxury homepage system through discovery, booking,
 * information and support pages without changing WooCommerce business logic.
 */

:root{
  --gcc-modern-ink:#211b17;
  --gcc-modern-deep:#171310;
  --gcc-modern-paper:#fffdf9;
  --gcc-modern-cream:#f5f1eb;
  --gcc-modern-soft:#ece5dc;
  --gcc-modern-muted:#766d66;
  --gcc-modern-gold:#b4945d;
  --gcc-modern-gold-deep:#8b6c3c;
  --gcc-modern-line:rgba(33,27,23,.14);
  --gcc-modern-white-line:rgba(255,255,255,.16);
  --gcc-modern-shadow:0 28px 70px rgba(35,27,22,.10);
  --gcc-modern-shell:min(1280px,calc(100% - 64px));
}

html{scroll-behavior:smooth;}
body{color:var(--gcc-modern-ink);background:var(--gcc-modern-cream);}
body:not(.home) main{min-height:55vh;}

/* Shared editorial controls */
.btn,
button.button,
a.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button{
  border-radius:2px !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease !important;
}
.btn:hover,
button.button:hover,
a.button:hover,
input[type="submit"]:hover{transform:translateY(-2px);}

/* Desktop navigation becomes quieter and more intentional. */
@media(min-width:901px){
  .site-header,
  header.site-header{
    width:min(1380px,calc(100% - 40px)) !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    border:1px solid rgba(33,27,23,.09) !important;
    background:rgba(255,253,249,.94) !important;
    box-shadow:0 14px 44px rgba(30,22,18,.08) !important;
    backdrop-filter:blur(18px) !important;
  }
  .gcc-desktop-nav{gap:clamp(16px,2vw,30px) !important;}
  .gcc-desktop-nav a{
    position:relative;
    padding:25px 0 !important;
    color:#514941 !important;
    font-size:.68rem !important;
    letter-spacing:.08em !important;
    text-transform:uppercase;
  }
  .gcc-desktop-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:17px;
    height:1px;
    background:var(--gcc-modern-gold);
    transition:right .2s ease;
  }
  .gcc-desktop-nav a:hover::after,
  .gcc-desktop-nav a[aria-current="page"]::after{right:0;}
  .gcc-header-book{
    min-width:136px !important;
    padding:0 20px !important;
    background:var(--gcc-modern-deep) !important;
    color:#fff !important;
  }
}

/* Slide-out menu */
.slide-menu{
  background:var(--gcc-modern-paper) !important;
  border-left:1px solid var(--gcc-modern-line) !important;
  box-shadow:-30px 0 80px rgba(25,18,14,.18) !important;
}
.slide-menu .menu-top{padding:24px 26px !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.slide-menu .menu-top img{max-width:190px !important;max-height:64px !important;object-fit:contain !important;}
.slide-menu .menu-links{padding:18px 28px !important;}
.slide-menu .menu-links a{
  padding:19px 0 !important;
  border-bottom:1px solid var(--gcc-modern-line) !important;
  color:var(--gcc-modern-ink) !important;
  font-family:var(--font-display,Georgia,serif) !important;
  font-size:1.55rem !important;
  font-weight:400 !important;
}
.slide-menu .menu-feature{
  margin:20px 28px 30px !important;
  padding:26px !important;
  border-radius:0 !important;
  background:var(--gcc-modern-deep) !important;
  color:#fff !important;
}
.slide-menu .menu-feature h3{color:#fff !important;font-family:var(--font-display,Georgia,serif) !important;font-size:2rem !important;font-weight:400 !important;}
.slide-menu .menu-feature p{color:rgba(255,255,255,.68) !important;}

/* --------------------------------------------------------------------------
   Class discovery
   -------------------------------------------------------------------------- */
.gcc-app-shop-page,
.gcc-shop-page-clean{padding-top:128px !important;}
.gcc-app-classes{width:var(--gcc-modern-shell) !important;margin-inline:auto !important;}

.gcc-app-classes__hero{
  padding:70px 0 58px !important;
  margin-bottom:0 !important;
  border-bottom:1px solid var(--gcc-modern-line) !important;
}
.gcc-app-classes__hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.62fr);
  gap:clamp(54px,8vw,120px);
  align-items:end;
}
.gcc-app-classes__hero-copy h1{
  max-width:850px !important;
  margin:0 0 26px !important;
  font-size:clamp(4.2rem,7.7vw,8rem) !important;
  line-height:.87 !important;
}
.gcc-app-classes__hero-copy > p{max-width:690px !important;margin:0 !important;font-size:1.05rem !important;line-height:1.78 !important;}
.gcc-app-classes__reassurance{display:flex !important;gap:0 !important;margin-top:30px !important;}
.gcc-app-classes__reassurance span{
  padding:0 22px !important;
  border-left:1px solid var(--gcc-modern-line) !important;
  color:#665d55 !important;
  font-size:.72rem !important;
  font-weight:800 !important;
}
.gcc-app-classes__reassurance span:first-child{padding-left:0 !important;border-left:0 !important;}
.gcc-app-classes__hero-guide{
  padding:34px;
  border:1px solid var(--gcc-modern-line);
  background:var(--gcc-modern-paper);
}
.gcc-app-classes__count{
  display:inline-flex;
  margin-bottom:22px;
  color:var(--gcc-modern-gold-deep);
  font-size:.67rem;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.gcc-app-classes__hero-guide h2{
  margin:0 0 26px;
  font-family:var(--font-display,Georgia,serif);
  font-size:2.15rem;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.02;
}
.gcc-app-classes__hero-guide ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--gcc-modern-line);}
.gcc-app-classes__hero-guide li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--gcc-modern-line);color:#5e554e;font-size:.82rem;line-height:1.4;}
.gcc-app-classes__hero-guide li span{color:var(--gcc-modern-gold-deep);font-family:var(--font-display,Georgia,serif);font-style:italic;}

.gcc-app-filters-panel{
  position:relative;
  z-index:5;
  margin:0 0 48px !important;
  padding:30px 0 !important;
  border-bottom:1px solid var(--gcc-modern-line) !important;
}
.gcc-app-filter-group > span,
.gcc-app-filter-selects label > span{color:#786a5c !important;font-size:.62rem !important;letter-spacing:.13em !important;text-transform:uppercase !important;}
.gcc-class-filter-btn{
  min-height:48px !important;
  padding:0 19px !important;
  background:transparent !important;
  border-color:var(--gcc-modern-line) !important;
}
.gcc-class-filter-btn:hover{border-color:var(--gcc-modern-ink) !important;}
.gcc-class-filter-btn.is-active{background:var(--gcc-modern-deep) !important;color:#fff !important;}
.gcc-app-filter-selects{gap:12px !important;}
.gcc-app-filter-selects select,
.gcc-app-filter-reset{
  min-height:50px !important;
  background:var(--gcc-modern-paper) !important;
  border:1px solid var(--gcc-modern-line) !important;
  color:var(--gcc-modern-ink) !important;
}
.gcc-app-filter-reset{padding-inline:20px !important;}
.gcc-app-filter-results{margin-top:14px !important;color:var(--gcc-modern-muted) !important;}

.gcc-app-included{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);
  gap:clamp(48px,8vw,110px);
  align-items:start;
  margin:100px 0 84px;
  padding:70px 0;
  border-top:1px solid var(--gcc-modern-line);
  border-bottom:1px solid var(--gcc-modern-line);
}
.gcc-app-included__intro h2{margin:8px 0 20px;font-family:var(--font-display,Georgia,serif);font-size:clamp(2.8rem,4.5vw,4.8rem);font-weight:400;letter-spacing:-.05em;line-height:.94;}
.gcc-app-included__intro p{margin:0;color:var(--gcc-modern-muted);line-height:1.75;}
.gcc-app-included__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--gcc-modern-line);}
.gcc-app-included__grid article{padding:28px 24px 10px 0;border-right:1px solid var(--gcc-modern-line);}
.gcc-app-included__grid article:not(:first-child){padding-left:24px;}
.gcc-app-included__grid article:last-child{border-right:0;}
.gcc-app-included__grid article > span{display:block;margin-bottom:40px;color:var(--gcc-modern-gold-deep);font-family:var(--font-display,Georgia,serif);font-style:italic;}
.gcc-app-included__grid strong{display:block;margin-bottom:10px;font-family:var(--font-display,Georgia,serif);font-size:1.5rem;font-weight:400;}
.gcc-app-included__grid p{margin:0;color:var(--gcc-modern-muted);font-size:.82rem;line-height:1.65;}

.gcc-app-private-cta{
  min-height:430px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:40px !important;
  padding:58px !important;
  background:linear-gradient(90deg,rgba(18,14,12,.95),rgba(18,14,12,.42)),var(--gcc-image-baker) center 42%/cover no-repeat !important;
}
.gcc-app-private-cta > div{max-width:780px;}
.gcc-app-private-cta span{color:var(--gcc-modern-gold-light,#d7c095) !important;letter-spacing:.16em !important;}
.gcc-app-private-cta h2{font-family:var(--font-display,Georgia,serif) !important;font-size:clamp(2.8rem,5vw,5.3rem) !important;font-weight:400 !important;letter-spacing:-.05em !important;line-height:.93 !important;}
.gcc-app-private-cta p{max-width:620px !important;color:rgba(255,255,255,.7) !important;}
.gcc-app-private-cta a{min-height:54px !important;padding:17px 23px !important;white-space:nowrap !important;}

/* --------------------------------------------------------------------------
   Individual class journey
   -------------------------------------------------------------------------- */
body.single-product .gcc-single-product-page{padding-top:118px !important;}
.gcc-product-breadcrumb{margin:0 0 22px;}
.gcc-product-breadcrumb a{display:inline-flex;align-items:center;gap:10px;color:#786957;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.gcc-product-breadcrumb a:hover{color:var(--gcc-modern-gold-deep);}
.gcc-product-journey{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 0 42px;
  border-top:1px solid var(--gcc-modern-line);
  border-bottom:1px solid var(--gcc-modern-line);
}
.gcc-product-journey > div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:16px 22px;border-right:1px solid var(--gcc-modern-line);color:#8b8178;}
.gcc-product-journey > div:first-child{padding-left:0;}
.gcc-product-journey > div:last-child{border-right:0;}
.gcc-product-journey span{font-family:var(--font-display,Georgia,serif);font-style:italic;color:#a39485;}
.gcc-product-journey strong{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;}
.gcc-product-journey .is-current{color:var(--gcc-modern-ink);}
.gcc-product-journey .is-current span{color:var(--gcc-modern-gold-deep);}

body.single-product .gcc-product-layout{grid-template-columns:minmax(0,1.1fr) minmax(390px,.72fr) !important;align-items:start !important;}
body.single-product .gcc-product-summary-panel{position:sticky !important;top:112px !important;}
body.single-product .woocommerce-product-gallery{margin-bottom:0 !important;}
body.single-product .woocommerce-product-gallery__wrapper{background:#e9e2da !important;}
body.single-product .gcc-product-summary-panel .product_title{margin-bottom:20px !important;font-size:clamp(3.3rem,5vw,5.8rem) !important;line-height:.9 !important;}
body.single-product .gcc-product-summary-panel .price{margin-bottom:22px !important;font-size:1.35rem !important;}
body.single-product .woocommerce-product-details__short-description{color:var(--gcc-modern-muted) !important;font-size:.96rem !important;line-height:1.75 !important;}
body.single-product .gcc-app-single-facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important;margin:26px 0 !important;}
body.single-product .gcc-app-single-facts > div{padding:15px 15px 15px 0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
body.single-product .gcc-app-single-facts span{font-size:.58rem !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:#927d68 !important;}
body.single-product .gcc-app-single-facts strong{font-size:.82rem !important;line-height:1.45 !important;}
body.single-product .gcc-app-booking-prompt{margin:0 !important;padding:0 0 18px !important;background:transparent !important;border:0 !important;color:#fff !important;}
body.single-product .gcc-app-booking-prompt strong{font-family:var(--font-display,Georgia,serif) !important;font-size:1.7rem !important;font-weight:400 !important;}
body.single-product .gcc-app-booking-prompt span{color:rgba(255,255,255,.66) !important;}
body.single-product .gcc-product-summary-panel form.cart{
  margin-top:26px !important;
  padding:28px !important;
  border:0 !important;
  background:var(--gcc-modern-deep) !important;
}
body.single-product .gcc-product-summary-panel form.cart .quantity{background:#fff !important;}
body.single-product .gcc-product-summary-panel form.cart .qty{min-height:56px !important;background:#fff !important;color:var(--gcc-modern-ink) !important;}
body.single-product .gcc-product-summary-panel form.cart .single_add_to_cart_button{min-height:56px !important;background:var(--gcc-modern-gold) !important;color:#fff !important;}
body.single-product .gcc-product-trust{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;margin-top:22px !important;}
body.single-product .gcc-product-trust div{padding:18px 16px 0 0 !important;border-right:1px solid var(--gcc-modern-line) !important;}
body.single-product .gcc-product-trust div:not(:first-child){padding-left:16px !important;}
body.single-product .gcc-product-trust div:last-child{border-right:0 !important;}
body.single-product .gcc-product-trust strong{font-family:var(--font-display,Georgia,serif) !important;font-size:1rem !important;font-weight:400 !important;}
body.single-product .gcc-product-trust span{font-size:.67rem !important;color:var(--gcc-modern-muted) !important;}
body.single-product .gcc-product-details-panel{grid-column:1/-1 !important;margin-top:70px !important;}
body.single-product .gcc-app-experience-panel{display:grid !important;grid-template-columns:minmax(0,1.3fr) minmax(340px,.65fr) !important;gap:70px !important;padding:64px !important;background:var(--gcc-modern-paper) !important;border-top:1px solid var(--gcc-modern-line) !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
body.single-product .gcc-app-experience-panel h2{font-size:clamp(3rem,5vw,5.4rem) !important;font-weight:400 !important;letter-spacing:-.05em !important;line-height:.94 !important;}
body.single-product .gcc-app-booking-notes{display:grid !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
body.single-product .gcc-app-booking-notes > div{padding:22px 0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;background:transparent !important;}
body.single-product .gcc-app-more-classes{margin-top:80px !important;padding-top:70px !important;border-top:1px solid var(--gcc-modern-line) !important;}

/* --------------------------------------------------------------------------
   Basket, checkout and confirmation
   -------------------------------------------------------------------------- */
.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-order-received main{padding-top:122px !important;}
.gcc-booking-progress{
  width:min(1180px,calc(100% - 40px));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 auto 32px;
  border-top:1px solid var(--gcc-modern-line);
  border-bottom:1px solid var(--gcc-modern-line);
}
.gcc-booking-progress > div{display:grid;grid-template-columns:38px 1fr;gap:2px 12px;padding:18px 24px;border-right:1px solid var(--gcc-modern-line);color:#9b9188;}
.gcc-booking-progress > div:last-child{border-right:0;}
.gcc-booking-progress span{grid-row:1/3;font-family:var(--font-display,Georgia,serif);font-style:italic;}
.gcc-booking-progress strong{font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;}
.gcc-booking-progress small{font-size:.67rem;}
.gcc-booking-progress .is-current{color:var(--gcc-modern-ink);background:rgba(180,148,93,.08);}
.gcc-booking-progress .is-current span,
.gcc-booking-progress .is-complete span{color:var(--gcc-modern-gold-deep);}
.gcc-booking-progress .is-complete{color:#5c6654;}

.woocommerce-cart .gcc-cart-booking-intro,
.woocommerce-checkout .gcc-checkout-intro,
.woocommerce-cart .gcc-booking-summary,
.woocommerce-checkout .gcc-booking-summary,
.woocommerce-order-received .gcc-order-booking-summary{
  width:min(1180px,calc(100% - 40px)) !important;
  margin:0 auto 28px !important;
  padding:42px !important;
  border:1px solid var(--gcc-modern-line) !important;
  background:var(--gcc-modern-paper) !important;
}
.woocommerce-cart .gcc-cart-booking-intro h2,
.woocommerce-checkout .gcc-checkout-intro h2,
.gcc-booking-summary__header h2{font-size:clamp(2.7rem,4.8vw,4.8rem) !important;font-weight:400 !important;letter-spacing:-.05em !important;line-height:.94 !important;}
.gcc-checkout-reassurance{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-checkout-reassurance span{padding:15px 15px 15px 34px !important;border:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:transparent !important;}
.gcc-booking-summary-card{padding:22px 0 !important;border:0 !important;border-top:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;}
.gcc-booking-summary-card__details{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-booking-summary-card__details div{padding:14px 15px 14px 0 !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:transparent !important;}
.gcc-booking-summary-card__details div:not(:first-child){padding-left:15px !important;}
.gcc-booking-summary-card__details div:last-child{border-right:0 !important;}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-order-received .woocommerce{width:min(1180px,calc(100% - 40px));margin-inline:auto;}
.woocommerce-cart .woocommerce-cart-form{padding:0 !important;border:0 !important;background:transparent !important;}
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-order-received table.shop_table{border:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th{font-size:.62rem !important;letter-spacing:.11em !important;text-transform:uppercase !important;color:#7c6b5c !important;}
.woocommerce-cart .cart_totals{
  padding:30px !important;
  border:1px solid var(--gcc-modern-line) !important;
  background:var(--gcc-modern-paper) !important;
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout h3{font-family:var(--font-display,Georgia,serif) !important;font-size:2.2rem !important;font-weight:400 !important;letter-spacing:-.035em !important;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order{min-height:58px !important;background:var(--gcc-modern-deep) !important;color:#fff !important;}
.woocommerce-checkout form.checkout{display:grid !important;grid-template-columns:minmax(0,1.2fr) minmax(360px,.72fr) !important;gap:44px !important;align-items:start !important;}
.woocommerce-checkout #customer_details{padding:34px !important;border:1px solid var(--gcc-modern-line) !important;background:var(--gcc-modern-paper) !important;}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{grid-column:2 !important;}
.woocommerce-checkout #order_review{position:sticky !important;top:112px !important;padding:30px !important;border:1px solid var(--gcc-modern-line) !important;background:var(--gcc-modern-paper) !important;}
.woocommerce form .form-row label{margin-bottom:7px !important;color:#665b52 !important;font-size:.68rem !important;font-weight:900 !important;letter-spacing:.08em !important;text-transform:uppercase !important;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  min-height:52px !important;
  padding:13px 14px !important;
  border:1px solid var(--gcc-modern-line) !important;
  border-radius:2px !important;
  background:#fff !important;
  color:var(--gcc-modern-ink) !important;
  box-shadow:none !important;
}
.woocommerce form .form-row textarea{min-height:120px !important;}
.gcc-checkout-acceptance-group{padding:20px !important;border:1px solid rgba(155,109,47,.25) !important;border-radius:0 !important;background:#fff9ee !important;}

/* --------------------------------------------------------------------------
   Reviews
   -------------------------------------------------------------------------- */
.gcc-reviews-page{padding:126px 32px 110px !important;background:var(--gcc-modern-cream) !important;}
.gcc-reviews-page > section,
.gcc-review-notice-top{width:var(--gcc-modern-shell) !important;margin-inline:auto !important;}
.gcc-reviews-page-v12854 .gcc-reviews-hero{
  min-height:620px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.55fr) !important;
  align-items:end !important;
  gap:70px !important;
  padding:70px !important;
  background:linear-gradient(90deg,rgba(18,14,12,.94),rgba(18,14,12,.38)),var(--gcc-image-feature) center/cover no-repeat !important;
  color:#fff !important;
}
.gcc-reviews-hero h1{max-width:820px !important;color:#fff !important;font-size:clamp(4rem,7vw,7.6rem) !important;font-weight:400 !important;letter-spacing:-.055em !important;line-height:.88 !important;}
.gcc-reviews-hero p{max-width:650px !important;color:rgba(255,255,255,.72) !important;font-size:1rem !important;line-height:1.75 !important;}
.gcc-review-hero-stats{display:grid !important;grid-template-columns:1fr !important;border-top:1px solid var(--gcc-modern-white-line) !important;}
.gcc-review-hero-stats > div{display:grid !important;grid-template-columns:90px 1fr !important;align-items:center !important;padding:20px 0 !important;border-bottom:1px solid var(--gcc-modern-white-line) !important;}
.gcc-review-hero-stats strong{color:#fff !important;font-family:var(--font-display,Georgia,serif) !important;font-size:2.8rem !important;font-weight:400 !important;}
.gcc-review-hero-stats span{color:rgba(255,255,255,.65) !important;font-size:.72rem !important;text-transform:uppercase !important;letter-spacing:.09em !important;}
.gcc-review-list-wrap{padding:100px 0 74px !important;}
.gcc-review-list-heading{max-width:750px !important;margin-bottom:48px !important;}
.gcc-review-list-heading h2,
.gcc-review-form-wrap h2,
.gcc-review-booking-cta h2{font-size:clamp(3.2rem,5.5vw,5.7rem) !important;font-weight:400 !important;letter-spacing:-.05em !important;line-height:.94 !important;}
.gcc-review-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.gcc-review-item{min-height:340px !important;padding:32px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;}
.gcc-review-item:nth-child(3n){border-right:0 !important;}
.gcc-review-item:nth-child(n/**/+4){border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-review-item p{font-family:var(--font-display,Georgia,serif) !important;font-size:1.35rem !important;font-style:italic !important;line-height:1.5 !important;color:var(--gcc-modern-ink) !important;}
.gcc-review-form-wrap{padding:88px 0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-review-form-wrap .gcc-review-card{display:grid !important;grid-template-columns:minmax(300px,.65fr) minmax(0,1.2fr) !important;gap:80px !important;padding:0 !important;border:0 !important;background:transparent !important;}
.gcc-review-form{padding:38px !important;border:1px solid var(--gcc-modern-line) !important;background:var(--gcc-modern-paper) !important;}
.gcc-review-form input,
.gcc-review-form textarea,
.gcc-review-form select{border-radius:2px !important;border-color:var(--gcc-modern-line) !important;background:#fff !important;box-shadow:none !important;}
.gcc-review-trust-row{display:grid !important;grid-template-columns:1fr !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-review-trust-row span{padding:12px 0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.gcc-review-booking-cta-wrap{padding-top:0 !important;}
.gcc-review-booking-cta{min-height:390px !important;padding:54px !important;background:var(--gcc-modern-deep) !important;color:#fff !important;}
.gcc-review-booking-cta h2{color:#fff !important;}
.gcc-review-booking-cta p{color:rgba(255,255,255,.68) !important;}

/* --------------------------------------------------------------------------
   Contact
   -------------------------------------------------------------------------- */
.gcc-contact-page{padding:126px 32px 110px !important;background:var(--gcc-modern-cream) !important;}
.gcc-contact-page > section{width:var(--gcc-modern-shell) !important;margin-inline:auto !important;}
.gcc-contact-hero{
  min-height:560px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding:70px !important;
  background:linear-gradient(90deg,rgba(18,14,12,.94),rgba(18,14,12,.32)),var(--gcc-image-baker) center 36%/cover no-repeat !important;
  color:#fff !important;
}
.gcc-contact-hero h1{max-width:800px !important;color:#fff !important;font-size:clamp(4rem,7vw,7.5rem) !important;font-weight:400 !important;letter-spacing:-.055em !important;line-height:.88 !important;}
.gcc-contact-hero > p{max-width:680px !important;color:rgba(255,255,255,.72) !important;font-size:1rem !important;line-height:1.75 !important;}
.gcc-contact-options{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;margin-top:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.gcc-contact-options article{padding:34px 28px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;background:var(--gcc-modern-paper) !important;}
.gcc-contact-options article:last-child{border-right:0 !important;}
.gcc-contact-options article > span{color:var(--gcc-modern-gold-deep) !important;font-size:.62rem !important;letter-spacing:.12em !important;text-transform:uppercase !important;}
.gcc-contact-options h2{font-family:var(--font-display,Georgia,serif) !important;font-size:1.65rem !important;font-weight:400 !important;}
.gcc-contact-main{display:grid !important;grid-template-columns:minmax(0,1.35fr) minmax(320px,.55fr) !important;gap:70px !important;padding:90px 0 0 !important;}
.gcc-contact-card{padding:0 !important;border:0 !important;background:transparent !important;}
.gcc-contact-content-card h2,
.gcc-contact-side-card h2{font-family:var(--font-display,Georgia,serif) !important;font-size:clamp(2.8rem,4.5vw,4.8rem) !important;font-weight:400 !important;letter-spacing:-.045em !important;line-height:.95 !important;}
.gcc-contact-content form{padding:36px !important;border:1px solid var(--gcc-modern-line) !important;background:var(--gcc-modern-paper) !important;}
.gcc-contact-content input,
.gcc-contact-content textarea,
.gcc-contact-content select{width:100% !important;min-height:52px !important;padding:13px 14px !important;border:1px solid var(--gcc-modern-line) !important;border-radius:2px !important;background:#fff !important;box-shadow:none !important;}
.gcc-contact-content textarea{min-height:150px !important;}
.gcc-contact-methods{border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-contact-methods a{display:flex !important;align-items:center !important;justify-content:space-between !important;padding:22px 0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.gcc-contact-methods a::after{content:"↗";color:var(--gcc-modern-gold-deep);}
.gcc-contact-note{margin-top:30px !important;padding:28px !important;border:1px solid var(--gcc-modern-line) !important;background:var(--gcc-modern-paper) !important;}

/* --------------------------------------------------------------------------
   Our story and information pages
   -------------------------------------------------------------------------- */
.gcc-about-v52,
.gcc-allergen-page,
.gcc-policy-page{padding:126px 32px 110px !important;background:var(--gcc-modern-cream) !important;}
.gcc-about-v52__wrap,
.gcc-allergen-wrap,
.gcc-policy-wrap{width:var(--gcc-modern-shell) !important;max-width:none !important;margin-inline:auto !important;}
.gcc-about-v52__hero,
.gcc-allergen-v52__hero,
.gcc-policy-hero{
  min-height:570px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding:70px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#fff !important;
}
.gcc-about-v52__hero{background:linear-gradient(90deg,rgba(18,14,12,.94),rgba(18,14,12,.35)),var(--gcc-image-hero) center/cover no-repeat !important;}
.gcc-allergen-v52__hero{background:linear-gradient(90deg,rgba(18,14,12,.94),rgba(18,14,12,.45)),var(--gcc-image-feature) center/cover no-repeat !important;}
.gcc-policy-hero{background:var(--gcc-modern-deep) !important;}
.gcc-about-v52__hero h1,
.gcc-allergen-v52__hero h1,
.gcc-policy-hero h1{max-width:900px !important;color:#fff !important;font-size:clamp(4rem,7vw,7.5rem) !important;font-weight:400 !important;letter-spacing:-.055em !important;line-height:.88 !important;}
.gcc-about-v52__hero p,
.gcc-allergen-v52__hero p,
.gcc-policy-hero p{max-width:720px !important;color:rgba(255,255,255,.72) !important;font-size:1rem !important;line-height:1.75 !important;}

.gcc-about-v52__intro-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;margin:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.gcc-about-v52__intro-card{padding:34px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}
.gcc-about-v52__intro-card:last-child{border-right:0 !important;}
.gcc-about-v52__intro-card h2{font-family:var(--font-display,Georgia,serif) !important;font-size:1.8rem !important;font-weight:400 !important;}
.gcc-about-v52__layout{display:grid !important;grid-template-columns:minmax(0,1.25fr) minmax(310px,.5fr) !important;gap:80px !important;padding:90px 0 !important;}
.gcc-about-v52__story{padding:0 !important;border:0 !important;background:transparent !important;}
.gcc-about-v52__story h2{font-size:clamp(3.1rem,5vw,5.4rem) !important;font-weight:400 !important;letter-spacing:-.05em !important;line-height:.94 !important;}
.gcc-about-v52__story > p{max-width:790px !important;color:var(--gcc-modern-muted) !important;font-size:.98rem !important;line-height:1.85 !important;}
.gcc-about-v52__quote{margin-top:44px !important;padding:34px !important;border-left:2px solid var(--gcc-modern-gold) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;}
.gcc-about-v52__sidebar{display:grid !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
.gcc-about-v52__side-card{padding:25px 0 !important;border:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;}
.gcc-about-v52__side-card--dark{color:var(--gcc-modern-ink) !important;}
.gcc-about-v52__side-card--cta{padding:28px !important;background:var(--gcc-modern-deep) !important;color:#fff !important;}
.gcc-about-v52__cta{padding:60px !important;border:0 !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}

.gcc-allergen-v52__notice{
  margin:0 !important;
  padding:42px !important;
  border:0 !important;
  border-left:4px solid #9c5d45 !important;
  border-radius:0 !important;
  background:#fff8f2 !important;
  box-shadow:none !important;
}
.gcc-allergen-v52__notice h2{font-size:clamp(2.5rem,4.2vw,4.3rem) !important;font-weight:400 !important;letter-spacing:-.045em !important;line-height:.95 !important;}
.gcc-allergen-v52__quick-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;margin:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
.gcc-allergen-v52__quick-card{padding:32px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}
.gcc-allergen-v52__quick-card:last-child{border-right:0 !important;}
.gcc-allergen-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 !important;margin:80px 0 !important;border-top:1px solid var(--gcc-modern-line) !important;border-left:1px solid var(--gcc-modern-line) !important;}
.gcc-allergen-card{padding:42px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-bottom:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}
.gcc-allergen-card h2{font-family:var(--font-display,Georgia,serif) !important;font-size:2.2rem !important;font-weight:400 !important;}
.gcc-allergen-card.full{grid-column:1/-1 !important;}
.gcc-southampton-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;border-top:1px solid var(--gcc-modern-line) !important;border-left:1px solid var(--gcc-modern-line) !important;}
.gcc-colour-item{padding:18px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-bottom:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:transparent !important;}
.gcc-allergen-v52__steps{padding:54px !important;border:0 !important;border-radius:0 !important;background:var(--gcc-modern-deep) !important;color:#fff !important;}
.gcc-allergen-v52__steps h2{color:#fff !important;font-size:3.3rem !important;font-weight:400 !important;}
.gcc-allergen-v52__steps-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;border-top:1px solid var(--gcc-modern-white-line) !important;}
.gcc-allergen-v52__steps-grid > div{padding:25px 24px 0 0 !important;border-right:1px solid var(--gcc-modern-white-line) !important;}
.gcc-allergen-v52__steps-grid > div:not(:first-child){padding-left:24px !important;}
.gcc-allergen-v52__steps-grid > div:last-child{border-right:0 !important;}
.gcc-allergen-v52__contact{margin-top:0 !important;padding:62px !important;border:0 !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}

.gcc-policy-alert{margin:0 !important;padding:38px !important;border:0 !important;border-left:3px solid var(--gcc-modern-gold) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}
.gcc-policy-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 !important;margin:70px 0 !important;border-top:1px solid var(--gcc-modern-line) !important;border-left:1px solid var(--gcc-modern-line) !important;}
.gcc-policy-card{padding:40px !important;border:0 !important;border-right:1px solid var(--gcc-modern-line) !important;border-bottom:1px solid var(--gcc-modern-line) !important;border-radius:0 !important;background:var(--gcc-modern-paper) !important;box-shadow:none !important;}
.gcc-policy-card h2{font-family:var(--font-display,Georgia,serif) !important;font-size:2rem !important;font-weight:400 !important;}
.gcc-policy-contact{padding:56px !important;border:0 !important;border-radius:0 !important;background:var(--gcc-modern-deep) !important;color:#fff !important;box-shadow:none !important;}
.gcc-policy-contact h2{color:#fff !important;font-size:3rem !important;font-weight:400 !important;}
.gcc-policy-contact p{color:rgba(255,255,255,.7) !important;}
.gcc-policy-contact a{color:#fff !important;border-bottom:1px solid var(--gcc-modern-gold) !important;}

/* Generic WordPress pages */
.gcc-editorial-page{padding:126px 32px 110px;background:var(--gcc-modern-cream);}
.gcc-editorial-shell{width:var(--gcc-modern-shell);margin-inline:auto;}
.gcc-editorial-hero{min-height:430px;display:flex;flex-direction:column;justify-content:flex-end;padding:64px;background:var(--gcc-modern-deep);color:#fff;}
.gcc-editorial-eyebrow{margin-bottom:18px;color:#d5bc8d;font-size:.66rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;}
.gcc-editorial-hero h1{max-width:950px;margin:0;color:#fff;font-family:var(--font-display,Georgia,serif);font-size:clamp(4rem,7vw,7.2rem);font-weight:400;letter-spacing:-.055em;line-height:.88;}
.gcc-editorial-hero p{max-width:700px;margin:24px 0 0;color:rgba(255,255,255,.7);font-size:1rem;line-height:1.75;}
.gcc-editorial-content{max-width:960px;margin:0 auto;padding:76px 0;color:var(--gcc-modern-muted);font-size:1rem;line-height:1.85;}
.gcc-editorial-content h2,.gcc-editorial-content h3{color:var(--gcc-modern-ink);font-family:var(--font-display,Georgia,serif);font-weight:400;letter-spacing:-.035em;}
.gcc-editorial-content h2{margin:50px 0 18px;font-size:2.8rem;}
.gcc-editorial-content h3{margin:36px 0 14px;font-size:2rem;}
.gcc-editorial-content p,.gcc-editorial-content ul,.gcc-editorial-content ol{margin-bottom:22px;}
.gcc-editorial-post{padding:32px 0;border-bottom:1px solid var(--gcc-modern-line);}
.gcc-editorial-post h2{margin-top:0;}
.gcc-editorial-post h2 a{color:var(--gcc-modern-ink);}

/* 404 */
.gcc-404-page{padding:126px 32px 100px !important;background:var(--gcc-modern-cream) !important;}
.gcc-404-hero{width:var(--gcc-modern-shell) !important;min-height:620px !important;display:flex !important;align-items:flex-end !important;padding:64px !important;background:linear-gradient(90deg,rgba(18,14,12,.94),rgba(18,14,12,.35)),var(--gcc-image-feature) center/cover no-repeat !important;}
.gcc-404-card{max-width:780px !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;text-align:left !important;color:#fff !important;}
.gcc-404-card h1{color:#fff !important;font-size:clamp(4rem,7vw,7rem) !important;font-weight:400 !important;letter-spacing:-.055em !important;line-height:.88 !important;}
.gcc-404-card p{color:rgba(255,255,255,.72) !important;}
.gcc-404-btn{border-radius:2px !important;}
.gcc-404-btn.primary{background:#fff !important;color:var(--gcc-modern-ink) !important;}
.gcc-404-btn.secondary{border-color:rgba(255,255,255,.45) !important;color:#fff !important;}
.gcc-404-links a{color:rgba(255,255,255,.72) !important;}

/* --------------------------------------------------------------------------
   Assurance strip and footer
   -------------------------------------------------------------------------- */
.gcc-site-assurance{background:var(--gcc-modern-paper);border-top:1px solid var(--gcc-modern-line);border-bottom:1px solid var(--gcc-modern-line);}
.gcc-site-assurance__inner{width:var(--gcc-modern-shell);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;}
.gcc-site-assurance article{display:block;padding:28px 24px;border-right:1px solid var(--gcc-modern-line);}
.gcc-site-assurance article:first-child{padding-left:0;}
.gcc-site-assurance article:last-child{border-right:0;padding-right:0;}
.gcc-site-assurance strong{display:block;margin-bottom:5px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;}
.gcc-site-assurance small{display:block;color:var(--gcc-modern-muted);font-size:.68rem;line-height:1.45;}

/* --------------------------------------------------------------------------
   Responsive refinements
   -------------------------------------------------------------------------- */
@media(max-width:1100px){
  :root{--gcc-modern-shell:min(100% - 40px,1100px);}
  .gcc-contact-options{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .gcc-contact-options article:nth-child(2){border-right:0 !important;}
  .gcc-contact-options article:nth-child(-n/**/+2){border-bottom:1px solid var(--gcc-modern-line) !important;}
  .gcc-review-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .gcc-review-item:nth-child(3n){border-right:1px solid var(--gcc-modern-line) !important;}
  .gcc-review-item:nth-child(2n){border-right:0 !important;}
  .gcc-review-item:nth-child(n/**/+3){border-top:1px solid var(--gcc-modern-line) !important;}
  .gcc-site-assurance__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gcc-site-assurance article:nth-child(2){border-right:0;}
  .gcc-site-assurance article:nth-child(-n/**/+2){border-bottom:1px solid var(--gcc-modern-line);}
}

@media(max-width:900px){
  :root{--gcc-modern-shell:calc(100% - 32px);}
  .gcc-app-shop-page,.gcc-shop-page-clean{padding-top:96px !important;}
  .gcc-app-classes__hero-layout{grid-template-columns:1fr;gap:34px;}
  .gcc-app-classes__hero-guide{max-width:650px;}
  body.single-product .gcc-product-layout{grid-template-columns:1fr !important;}
  body.single-product .gcc-product-summary-panel{position:static !important;}
  body.single-product .gcc-app-experience-panel{grid-template-columns:1fr !important;gap:42px !important;}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr !important;}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1 !important;}
  .woocommerce-checkout #order_review{position:static !important;}
  .gcc-reviews-page-v12854 .gcc-reviews-hero{grid-template-columns:1fr !important;}
  .gcc-review-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .gcc-review-hero-stats > div{grid-template-columns:1fr !important;text-align:left !important;}
  .gcc-review-form-wrap .gcc-review-card{grid-template-columns:1fr !important;gap:40px !important;}
  .gcc-contact-main{grid-template-columns:1fr !important;gap:54px !important;}
  .gcc-about-v52__layout{grid-template-columns:1fr !important;gap:50px !important;}
  .gcc-app-included{grid-template-columns:1fr !important;gap:42px;}
}

@media(max-width:700px){
  :root{--gcc-modern-shell:calc(100% - 28px);}
  .gcc-app-shop-page,.gcc-shop-page-clean{padding:84px 0 92px !important;}
  .gcc-app-classes__hero{padding:38px 0 34px !important;}
  .gcc-app-classes__hero-copy h1{font-size:clamp(3.1rem,15vw,4.7rem) !important;line-height:.91 !important;}
  .gcc-app-classes__hero-copy > p{font-size:.93rem !important;line-height:1.68 !important;}
  .gcc-app-classes__reassurance{display:grid !important;grid-template-columns:1fr !important;}
  .gcc-app-classes__reassurance span{padding:11px 0 !important;border-left:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
  .gcc-app-classes__hero-guide{padding:24px;}
  .gcc-app-filters-panel{padding:22px 0 !important;}
  .gcc-app-filter-bar{display:flex !important;overflow-x:auto !important;scrollbar-width:none !important;}
  .gcc-app-filter-bar::-webkit-scrollbar{display:none;}
  .gcc-class-filter-btn{flex:0 0 auto !important;}
  .gcc-app-filter-selects{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .gcc-app-included{margin:72px 0 60px;padding:54px 0;}
  .gcc-app-included__grid{grid-template-columns:1fr;}
  .gcc-app-included__grid article,.gcc-app-included__grid article:not(:first-child){padding:22px 0;border-right:0;border-bottom:1px solid var(--gcc-modern-line);}
  .gcc-app-included__grid article > span{margin-bottom:14px;}
  .gcc-app-private-cta{min-height:500px !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:flex-end !important;padding:34px 24px !important;background:linear-gradient(0deg,rgba(18,14,12,.96),rgba(18,14,12,.22)),var(--gcc-image-baker) center/cover no-repeat !important;}

  body.single-product .gcc-single-product-page{padding-top:88px !important;}
  .gcc-product-breadcrumb{margin-bottom:16px;}
  .gcc-product-journey{overflow-x:auto;scrollbar-width:none;}
  .gcc-product-journey > div{min-width:160px;padding:14px 18px;}
  body.single-product .gcc-product-summary-panel .product_title{font-size:clamp(2.8rem,13.5vw,4rem) !important;}
  body.single-product .gcc-app-single-facts{grid-template-columns:1fr !important;}
  body.single-product .gcc-product-summary-panel form.cart{padding:22px !important;}
  body.single-product .gcc-product-trust{grid-template-columns:1fr !important;}
  body.single-product .gcc-product-trust div,body.single-product .gcc-product-trust div:not(:first-child){padding:14px 0 !important;border-right:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
  body.single-product .gcc-app-experience-panel{padding:38px 24px !important;}

  .woocommerce-cart main,.woocommerce-checkout main,.woocommerce-order-received main{padding-top:88px !important;}
  .gcc-booking-progress{width:calc(100% - 28px);overflow-x:auto;scrollbar-width:none;}
  .gcc-booking-progress > div{min-width:178px;padding:15px;}
  .woocommerce-cart .gcc-cart-booking-intro,.woocommerce-checkout .gcc-checkout-intro,.woocommerce-cart .gcc-booking-summary,.woocommerce-checkout .gcc-booking-summary,.woocommerce-order-received .gcc-order-booking-summary{width:calc(100% - 28px) !important;padding:26px 22px !important;}
  .gcc-checkout-reassurance{grid-template-columns:1fr !important;}
  .gcc-booking-summary-card__details{grid-template-columns:1fr !important;}
  .gcc-booking-summary-card__details div,.gcc-booking-summary-card__details div:not(:first-child){padding:12px 0 !important;border-right:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
  .woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-order-received .woocommerce{width:calc(100% - 28px);}
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{padding:22px !important;}

  .gcc-reviews-page,.gcc-contact-page,.gcc-about-v52,.gcc-allergen-page,.gcc-policy-page,.gcc-editorial-page,.gcc-404-page{padding:88px 0 92px !important;}
  .gcc-reviews-page-v12854 .gcc-reviews-hero,.gcc-contact-hero,.gcc-about-v52__hero,.gcc-allergen-v52__hero,.gcc-policy-hero,.gcc-editorial-hero,.gcc-404-hero{min-height:520px !important;padding:34px 24px !important;}
  .gcc-reviews-hero h1,.gcc-contact-hero h1,.gcc-about-v52__hero h1,.gcc-allergen-v52__hero h1,.gcc-policy-hero h1,.gcc-editorial-hero h1,.gcc-404-card h1{font-size:clamp(3.2rem,14vw,4.8rem) !important;line-height:.91 !important;}
  .gcc-review-hero-stats{grid-template-columns:1fr !important;}
  .gcc-review-grid{grid-template-columns:1fr !important;}
  .gcc-review-item,.gcc-review-item:nth-child(2n),.gcc-review-item:nth-child(3n){border-right:0 !important;border-top:1px solid var(--gcc-modern-line) !important;}
  .gcc-review-form{padding:24px !important;}
  .gcc-review-booking-cta{min-height:430px !important;padding:32px 24px !important;}
  .gcc-contact-options{grid-template-columns:1fr !important;}
  .gcc-contact-options article,.gcc-contact-options article:nth-child(2){border-right:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
  .gcc-contact-main{padding-top:60px !important;}
  .gcc-contact-content form{padding:22px !important;}
  .gcc-about-v52__intro-grid,.gcc-allergen-v52__quick-grid{grid-template-columns:1fr !important;}
  .gcc-about-v52__intro-card,.gcc-allergen-v52__quick-card{border-right:0 !important;border-bottom:1px solid var(--gcc-modern-line) !important;}
  .gcc-about-v52__layout{padding:60px 0 !important;}
  .gcc-about-v52__cta,.gcc-allergen-v52__notice,.gcc-allergen-v52__steps,.gcc-allergen-v52__contact,.gcc-policy-alert,.gcc-policy-contact{padding:34px 24px !important;}
  .gcc-allergen-grid,.gcc-policy-grid{grid-template-columns:1fr !important;margin:55px 0 !important;}
  .gcc-allergen-card.full,.gcc-policy-card.full{grid-column:auto !important;}
  .gcc-southampton-grid{grid-template-columns:1fr !important;}
  .gcc-allergen-v52__steps-grid{grid-template-columns:1fr !important;}
  .gcc-allergen-v52__steps-grid > div,.gcc-allergen-v52__steps-grid > div:not(:first-child){padding:20px 0 !important;border-right:0 !important;border-bottom:1px solid var(--gcc-modern-white-line) !important;}
  .gcc-editorial-content{padding:54px 0;}

  .gcc-site-assurance__inner{grid-template-columns:1fr;}
  .gcc-site-assurance article,.gcc-site-assurance article:first-child,.gcc-site-assurance article:last-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--gcc-modern-line);}
  .gcc-site-assurance article:last-child{border-bottom:0;}
}

@media(max-width:390px){
  .gcc-app-filter-selects{grid-template-columns:1fr !important;}
  .gcc-product-journey > div{min-width:148px;}
}
/* ===== END CONSOLIDATED SOURCE: 23-sitewide-modernisation.css ===== */

/* ===== COMPONENT: post-booking.css ===== */
/** Gillespies premium post-booking journey — 128.92 */
:root{--gcc-journey-ink:#211b17;--gcc-journey-gold:#a98552;--gcc-journey-cream:#f7f2eb;--gcc-journey-paper:#fffdf9;--gcc-journey-line:rgba(33,27,23,.14);--gcc-journey-muted:#74685f;}
.gcc-journey-kicker{display:block;margin:0 0 12px;color:var(--gcc-journey-gold);font-size:.66rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase;}
.gcc-journey-confirmation{width:min(1180px,calc(100% - 40px));margin:clamp(28px,5vw,64px) auto 80px;color:var(--gcc-journey-ink);}
.gcc-journey-confirmation__hero{position:relative;overflow:hidden;padding:clamp(42px,7vw,82px);background:linear-gradient(120deg,rgba(24,18,15,.97),rgba(24,18,15,.78)),var(--gcc-image-hero) center/cover;color:#fff;}
.gcc-journey-confirmation__hero h1{max-width:760px;margin:0 0 18px;color:#fff;font-family:var(--font-display,Georgia,serif);font-size:clamp(3rem,6vw,6.6rem);font-weight:400;letter-spacing:-.055em;line-height:.93;}
.gcc-journey-confirmation__hero>p{max-width:640px;margin:0;color:rgba(255,255,255,.78);font-size:1rem;line-height:1.75;}
.gcc-journey-confirmation__reference{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22);}
.gcc-journey-confirmation__reference span{font-size:.65rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}.gcc-journey-confirmation__reference strong{font-family:var(--font-display,Georgia,serif);font-size:1.55rem;font-weight:500;}.gcc-journey-confirmation__reference small{color:rgba(255,255,255,.65);}
.gcc-journey-confirmation__events{display:grid;gap:24px;margin:28px 0;}
.gcc-journey-event-card{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);min-height:410px;background:#fff;border:1px solid var(--gcc-journey-line);}
.gcc-journey-event-card__image{min-height:100%;background-position:center;background-size:cover;}.gcc-journey-event-card__content{padding:clamp(28px,5vw,56px);}
.gcc-journey-event-card h3{margin:0 0 24px;font-family:var(--font-display,Georgia,serif);font-size:clamp(2.1rem,4vw,3.8rem);font-weight:400;letter-spacing:-.045em;line-height:1;}
.gcc-journey-event-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 26px;border-top:1px solid var(--gcc-journey-line);}
.gcc-journey-event-card dl div{padding:16px 18px 16px 0;border-bottom:1px solid var(--gcc-journey-line);}.gcc-journey-event-card dt{margin-bottom:5px;color:var(--gcc-journey-muted);font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}.gcc-journey-event-card dd{margin:0;font-weight:750;line-height:1.45;}
.gcc-journey-calendar-actions{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px;}.gcc-journey-calendar-actions a{display:inline-flex;min-height:42px;align-items:center;padding:10px 14px;border:1px solid var(--gcc-journey-line);background:var(--gcc-journey-paper);color:#6e5533;font-size:.67rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}.gcc-journey-calendar-actions a:hover{background:var(--gcc-journey-ink);color:#fff;}.gcc-journey-calendar-actions.is-compact{display:inline-flex;margin:0;}.gcc-journey-calendar-actions.is-compact a{min-height:36px;padding:8px 10px;font-size:.59rem;}
.gcc-journey-event-card__links{display:flex;flex-wrap:wrap;gap:12px 22px;}.gcc-journey-event-card__links>a{color:#765c39;font-size:.72rem;font-weight:900;text-decoration:underline;text-underline-offset:4px;}
.gcc-journey-next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:36px 0;border-top:1px solid var(--gcc-journey-line);border-bottom:1px solid var(--gcc-journey-line);}.gcc-journey-next-steps article{padding:30px;border-right:1px solid var(--gcc-journey-line);}.gcc-journey-next-steps article:last-child{border-right:0;}.gcc-journey-next-steps span{display:block;margin-bottom:26px;color:var(--gcc-journey-gold);font-family:var(--font-display,Georgia,serif);font-style:italic;}.gcc-journey-next-steps h3{margin:0 0 10px;font-family:var(--font-display,Georgia,serif);font-size:1.5rem;font-weight:400;}.gcc-journey-next-steps p{margin:0;color:var(--gcc-journey-muted);font-size:.84rem;line-height:1.7;}
.gcc-journey-important{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1fr) auto;gap:34px;align-items:center;padding:32px;background:var(--gcc-journey-cream);}.gcc-journey-important h2{margin:0;font-family:var(--font-display,Georgia,serif);font-size:2rem;font-weight:400;}.gcc-journey-important p{margin:0;color:var(--gcc-journey-muted);line-height:1.7;}.gcc-journey-important>a,.gcc-journey-confirmation__tools a,.gcc-journey-confirmation__tools button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 17px;border:1px solid var(--gcc-journey-ink);background:transparent;color:var(--gcc-journey-ink);font:inherit;font-size:.67rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.gcc-journey-confirmation__tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}.gcc-journey-confirmation__tools button{background:var(--gcc-journey-ink);color:#fff;}
/* Account area */
.woocommerce-account .woocommerce{width:min(1180px,calc(100% - 40px));margin:clamp(100px,12vw,150px) auto 80px;}.woocommerce-account .woocommerce-MyAccount-navigation{padding:18px;background:#fff;border:1px solid var(--gcc-journey-line);}.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:13px 12px;border-bottom:1px solid var(--gcc-journey-line);color:var(--gcc-journey-ink);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{border-bottom:0;}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--gcc-journey-cream);color:#765c39;}.gcc-account-classes>header{margin-bottom:34px;}.gcc-account-classes h1{margin:0 0 12px;font-family:var(--font-display,Georgia,serif);font-size:clamp(3rem,6vw,5.5rem);font-weight:400;letter-spacing:-.055em;line-height:.94;}.gcc-account-classes>header p{max-width:650px;margin:0;color:var(--gcc-journey-muted);line-height:1.7;}.gcc-account-classes__section{margin:0 0 54px;}.gcc-account-classes__section>h2{margin:0 0 18px;font-family:var(--font-display,Georgia,serif);font-size:2rem;font-weight:400;}.gcc-account-class-card{margin:0 0 16px;padding:28px;border:1px solid var(--gcc-journey-line);background:#fff;}.gcc-account-class-card.is-past{background:#faf8f4;}.gcc-account-class-card__top{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px;color:var(--gcc-journey-gold);font-size:.62rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;}.gcc-account-class-card h3{margin:0 0 14px;font-family:var(--font-display,Georgia,serif);font-size:2rem;font-weight:400;}.gcc-account-class-card__details{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:22px;color:var(--gcc-journey-muted);font-size:.78rem;}.gcc-account-class-card__details span:not(:last-child)::after{content:"·";margin-left:18px;}.gcc-account-class-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;}.gcc-account-class-card__actions>a{display:inline-flex;min-height:36px;align-items:center;padding:8px 11px;border:1px solid var(--gcc-journey-line);color:#6e5533;font-size:.61rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase;}.gcc-account-classes__empty{padding:42px;background:var(--gcc-journey-cream);text-align:center;}.gcc-account-classes__empty h2{font-family:var(--font-display,Georgia,serif);font-size:2.2rem;font-weight:400;}.gcc-account-classes__empty>a,.gcc-account-next-class>a{display:inline-flex;padding:13px 18px;background:var(--gcc-journey-ink);color:#fff;font-size:.67rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}.gcc-account-next-class{margin:0 0 28px;padding:30px;background:var(--gcc-journey-cream);}.gcc-account-next-class h2{margin:0 0 8px;font-family:var(--font-display,Georgia,serif);font-size:2rem;font-weight:400;}.gcc-account-next-class p{margin:0 0 18px;color:var(--gcc-journey-muted);}
.gcc-order-view-journey{margin:34px 0;padding:28px;background:var(--gcc-journey-cream);}.gcc-order-view-journey h2{margin:0 0 22px;font-family:var(--font-display,Georgia,serif);font-size:2.1rem;font-weight:400;}.gcc-order-view-journey__event{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:16px 0;border-top:1px solid var(--gcc-journey-line);}.gcc-order-view-journey__event>strong{min-width:220px;}.gcc-order-view-journey__event>a{color:#6e5533;font-size:.66rem;font-weight:900;text-transform:uppercase;}
@media(max-width:900px){.gcc-journey-event-card{grid-template-columns:1fr;}.gcc-journey-event-card__image{min-height:320px;}.gcc-journey-next-steps{grid-template-columns:1fr;}.gcc-journey-next-steps article{border-right:0;border-bottom:1px solid var(--gcc-journey-line);}.gcc-journey-next-steps article:last-child{border-bottom:0;}.gcc-journey-important{grid-template-columns:1fr;}.woocommerce-account .woocommerce{display:block;}.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none;}.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:24px;}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;}.woocommerce-account .woocommerce-MyAccount-navigation li{flex:0 0 auto;}.woocommerce-account .woocommerce-MyAccount-navigation a{border-bottom:0;border-right:1px solid var(--gcc-journey-line);white-space:nowrap;}}
@media(max-width:640px){.gcc-journey-confirmation{width:min(100% - 24px,1180px);margin-top:18px;}.gcc-journey-confirmation__hero{padding:38px 24px;}.gcc-journey-confirmation__hero h1{font-size:clamp(2.65rem,13vw,4rem);}.gcc-journey-confirmation__reference{align-items:flex-start;flex-direction:column;}.gcc-journey-event-card__image{min-height:240px;}.gcc-journey-event-card__content{padding:26px 20px;}.gcc-journey-event-card h3{font-size:2.25rem;}.gcc-journey-event-card dl{grid-template-columns:1fr;}.gcc-journey-calendar-actions{display:grid;grid-template-columns:1fr;}.gcc-journey-calendar-actions a{justify-content:center;}.gcc-journey-calendar-actions.is-compact{display:flex;}.gcc-journey-important{padding:24px;}.gcc-journey-confirmation__tools>*{width:100%;}.woocommerce-account .woocommerce{width:min(100% - 24px,1180px);margin-top:92px;}.gcc-account-class-card{padding:22px 18px;}.gcc-account-class-card__top{align-items:flex-start;flex-direction:column;gap:6px;}.gcc-account-class-card h3{font-size:1.75rem;}.gcc-account-class-card__details{display:grid;gap:7px;}.gcc-account-class-card__details span::after{display:none;}.gcc-order-view-journey__event{align-items:flex-start;flex-direction:column;}}
@media print{.site-header,.gcc-app-bottom-nav,.footer,.gcc-booking-progress,.woocommerce-order-details,.woocommerce-customer-details,.gcc-journey-confirmation__tools{display:none!important;}.gcc-journey-confirmation{width:100%;margin:0;}.gcc-journey-confirmation__hero{background:#fff!important;color:#111!important;padding:20px 0;}.gcc-journey-confirmation__hero h1,.gcc-journey-confirmation__hero p,.gcc-journey-confirmation__reference small{color:#111!important;}.gcc-journey-event-card{break-inside:avoid;}}

/* ===== COMPONENT: growth-rewards.css ===== */
/** Gillespies v128.93 — Gift vouchers, referrals and returning guest rewards. */
:root{--gcc-growth-ink:#211b17;--gcc-growth-deep:#171310;--gcc-growth-cream:#f6f2ec;--gcc-growth-paper:#fffdf9;--gcc-growth-gold:#b79862;--gcc-growth-line:rgba(33,27,23,.14);--gcc-growth-muted:#766b63;}
.gcc-growth-main{background:var(--gcc-growth-cream);color:var(--gcc-growth-ink);padding:110px 0 0;}
.gcc-growth-main .woocommerce-notices-wrapper,.gcc-gift-page{width:min(1240px,calc(100% - 48px));margin-inline:auto;}
.gcc-growth-kicker{display:block;margin:0 0 14px;color:#927344;font-size:.66rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
.gcc-growth-notice{width:min(900px,calc(100% - 40px));margin:150px auto;padding:30px;border:1px solid var(--gcc-growth-line);background:#fff;text-align:center;}
.gcc-gift-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.62fr);gap:clamp(40px,8vw,110px);align-items:center;padding:clamp(70px,8vw,118px) 0;}
.gcc-gift-hero h1,.gcc-gift-form h2,.gcc-gift-how h3,.gcc-rewards-account h1,.gcc-rewards-account h2,.gcc-rewards-empty h3{font-family:var(--font-display,Georgia,serif);font-weight:400;letter-spacing:-.045em;}
.gcc-gift-hero h1{max-width:760px;margin:0 0 24px;font-size:clamp(4rem,7.2vw,7.5rem);line-height:.9;}
.gcc-gift-hero__copy>p{max-width:680px;margin:0;color:var(--gcc-growth-muted);font-size:1.02rem;line-height:1.8;}
.gcc-gift-hero__points{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:30px;padding-top:24px;border-top:1px solid var(--gcc-growth-line);font-size:.73rem;font-weight:800;}
.gcc-gift-hero__points span:not(:last-child):after{content:"·";margin-left:22px;color:var(--gcc-growth-gold);}
.gcc-gift-card-preview{position:relative;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;padding:46px;background:linear-gradient(145deg,#2a211c,#171310);color:#fff;box-shadow:0 34px 80px rgba(33,27,23,.22);transform:rotate(2deg);overflow:hidden;}
.gcc-gift-card-preview:before{content:"";position:absolute;inset:14px;border:1px solid rgba(215,191,151,.52);}
.gcc-gift-card-preview:after{content:"G";position:absolute;right:-12px;bottom:-80px;color:rgba(255,255,255,.035);font:300 280px var(--font-display,Georgia,serif);}
.gcc-gift-card-preview small,.gcc-gift-card-preview span{position:relative;z-index:1;color:#d8c29a;font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;}
.gcc-gift-card-preview strong{position:relative;z-index:1;max-width:270px;font:400 2.5rem/1.06 var(--font-display,Georgia,serif);}
.gcc-gift-form{margin-bottom:90px;padding:clamp(32px,6vw,76px);background:#fff;border:1px solid var(--gcc-growth-line);}
.gcc-gift-form__heading{display:grid;grid-template-columns:58px minmax(0,1fr);gap:22px;align-items:start;margin:0 0 32px;padding-top:46px;border-top:1px solid var(--gcc-growth-line);}
.gcc-gift-form__heading:first-child{padding-top:0;border-top:0;}
.gcc-gift-form__heading>span{color:var(--gcc-growth-gold);font:italic 1rem var(--font-display,Georgia,serif);}
.gcc-gift-form h2{margin:0 0 7px;font-size:clamp(2rem,3.4vw,3.5rem);line-height:1;}
.gcc-gift-form__heading p{margin:0;color:var(--gcc-growth-muted);line-height:1.65;}
.gcc-gift-values{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 54px;border:0;}
.gcc-gift-values label{cursor:pointer;}.gcc-gift-values input[type=radio]{position:absolute;opacity:0;pointer-events:none;}.gcc-gift-values label>span{min-height:66px;display:grid;place-items:center;border:1px solid var(--gcc-growth-line);background:var(--gcc-growth-paper);font-weight:900;transition:.2s ease;}.gcc-gift-values input:checked+span{border-color:var(--gcc-growth-deep);background:var(--gcc-growth-deep);color:#fff;}.gcc-gift-custom-amount{grid-column:1/-1;display:flex!important;align-items:center;max-width:240px;border-bottom:1px solid var(--gcc-growth-ink);font-size:1.5rem;}.gcc-gift-custom-amount input{width:100%;border:0!important;background:transparent!important;padding:12px 10px!important;font-size:1.15rem!important;box-shadow:none!important;}
.gcc-gift-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin-bottom:34px;}.gcc-gift-fields label{display:flex;flex-direction:column;gap:9px;}.gcc-gift-fields label>span{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}.gcc-gift-fields input,.gcc-gift-fields textarea{width:100%;border:1px solid var(--gcc-growth-line)!important;border-radius:0!important;background:#fff!important;padding:15px 16px!important;color:var(--gcc-growth-ink)!important;font:inherit!important;box-shadow:none!important;}.gcc-gift-fields input:focus,.gcc-gift-fields textarea:focus{outline:2px solid rgba(183,152,98,.3)!important;border-color:var(--gcc-growth-gold)!important;}.gcc-gift-message{grid-column:1/-1;}.gcc-gift-message small{align-self:flex-end;color:var(--gcc-growth-muted);}
.gcc-gift-submit{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:30px;border-top:1px solid var(--gcc-growth-line);}.gcc-gift-submit div{display:flex;flex-direction:column;gap:4px;}.gcc-gift-submit span{color:var(--gcc-growth-muted);font-size:.77rem;}.gcc-gift-submit button{min-height:56px;padding:16px 26px;border:0;background:var(--gcc-growth-deep);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}
.gcc-gift-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:110px;border-top:1px solid var(--gcc-growth-line);border-bottom:1px solid var(--gcc-growth-line);}.gcc-gift-how article{padding:34px;border-right:1px solid var(--gcc-growth-line);}.gcc-gift-how article:last-child{border-right:0;}.gcc-gift-how article>span{display:block;margin-bottom:35px;color:var(--gcc-growth-gold);font:italic 1rem var(--font-display,Georgia,serif);}.gcc-gift-how h3{margin:0 0 10px;font-size:1.55rem;}.gcc-gift-how p{margin:0;color:var(--gcc-growth-muted);font-size:.86rem;line-height:1.65;}.gcc-gift-quantity{font-weight:800;}
/* Account rewards */
.woocommerce-account .gcc-rewards-account{max-width:1000px;}.gcc-rewards-account>header{margin-bottom:38px;}.gcc-rewards-account h1{margin:0 0 12px;font-size:clamp(3rem,6vw,5.5rem);line-height:.95;}.gcc-rewards-account>header p{max-width:650px;color:var(--gcc-growth-muted);line-height:1.7;}.gcc-referral-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);gap:38px;padding:clamp(30px,5vw,58px);background:var(--gcc-growth-deep);color:#fff;}.gcc-referral-card>div:first-child>span{display:block;margin-bottom:16px;color:#d9c39a;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}.gcc-referral-card h2{margin:0 0 16px;font-size:clamp(2.2rem,4vw,4rem);line-height:.96;}.gcc-referral-card p{margin:0;color:rgba(255,255,255,.69);line-height:1.7;}.gcc-referral-code{padding:25px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);}.gcc-referral-code small,.gcc-referral-code label span{display:block;color:rgba(255,255,255,.62);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}.gcc-referral-code>strong{display:block;margin:9px 0 22px;color:#fff;font-size:1.25rem;letter-spacing:.1em;}.gcc-referral-code label{display:block;margin-bottom:16px;}.gcc-referral-code input{width:100%;margin-top:7px;padding:11px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.18);color:#fff;font-size:.72rem;}
.gcc-loyalty-card{margin-top:22px;padding:32px;border:1px solid var(--gcc-growth-line);background:#fff;}.gcc-loyalty-card h2{margin:0 0 9px;font-size:2.3rem;}.gcc-loyalty-card p{color:var(--gcc-growth-muted);}.gcc-loyalty-track{height:7px;margin:24px 0 10px;background:#eee6dd;overflow:hidden;}.gcc-loyalty-track span{display:block;height:100%;background:var(--gcc-growth-gold);}.gcc-loyalty-card>small{color:var(--gcc-growth-muted);}
.gcc-reward-list{margin-top:54px;}.gcc-reward-list__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px;}.gcc-reward-list__heading h2{margin:0;font-size:2.7rem;}.gcc-reward-list__heading>a{color:#755b35;font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}.gcc-wallet-card{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(220px,1fr) auto;gap:24px;align-items:center;padding:23px 0;border-top:1px solid var(--gcc-growth-line);}.gcc-wallet-card:last-child{border-bottom:1px solid var(--gcc-growth-line);}.gcc-wallet-card>div{display:flex;flex-direction:column;gap:5px;}.gcc-wallet-card span,.gcc-wallet-card small{color:var(--gcc-growth-muted);font-size:.69rem;}.gcc-wallet-card strong{font:400 1.8rem var(--font-display,Georgia,serif);}.gcc-wallet-card code{width:max-content;padding:8px 10px;background:#f1e9df;color:var(--gcc-growth-ink);font-size:.8rem;letter-spacing:.08em;}.gcc-wallet-card>a{color:#755b35;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}.gcc-wallet-card.is-used,.gcc-wallet-card.is-expired{opacity:.55;}.gcc-rewards-empty{padding:40px;border:1px solid var(--gcc-growth-line);background:#fff;text-align:center;}.gcc-rewards-empty h3{margin:0 0 10px;font-size:2rem;}.gcc-rewards-empty p{color:var(--gcc-growth-muted);}.gcc-rewards-empty a{display:inline-block;margin-top:12px;color:#755b35;font-weight:900;}
@media(max-width:820px){.gcc-growth-main{padding-top:86px;}.gcc-gift-hero{grid-template-columns:1fr;}.gcc-gift-card-preview{min-height:300px;transform:none;}.gcc-gift-values{grid-template-columns:repeat(3,1fr);}.gcc-referral-card{grid-template-columns:1fr;}.gcc-wallet-card{grid-template-columns:1fr auto;}.gcc-wallet-card>div:nth-child(2){grid-column:1/-1;}.gcc-wallet-card>a{grid-column:2;grid-row:1;}}
@media(max-width:600px){.gcc-growth-main .woocommerce-notices-wrapper,.gcc-gift-page{width:calc(100% - 28px);}.gcc-gift-hero{padding:50px 0;}.gcc-gift-hero h1{font-size:3.5rem;}.gcc-gift-hero__points{display:grid;}.gcc-gift-hero__points span:after{display:none;}.gcc-gift-card-preview{padding:34px;min-height:280px;}.gcc-gift-card-preview strong{font-size:2rem;}.gcc-gift-form{padding:25px 18px;margin-bottom:58px;}.gcc-gift-form__heading{grid-template-columns:34px 1fr;padding-top:34px;}.gcc-gift-values{grid-template-columns:repeat(2,1fr);}.gcc-gift-fields{grid-template-columns:1fr;}.gcc-gift-message{grid-column:auto;}.gcc-gift-submit{align-items:stretch;flex-direction:column;}.gcc-gift-submit button{width:100%;}.gcc-gift-how{grid-template-columns:1fr;margin-bottom:70px;}.gcc-gift-how article{border-right:0;border-bottom:1px solid var(--gcc-growth-line);}.gcc-gift-how article:last-child{border-bottom:0;}.gcc-referral-card{padding:28px 22px;}.gcc-reward-list__heading{align-items:flex-start;flex-direction:column;}.gcc-wallet-card{grid-template-columns:1fr;}.gcc-wallet-card>div:nth-child(2),.gcc-wallet-card>a{grid-column:auto;grid-row:auto;}}
.gcc-order-gifts{margin:34px 0;padding:30px;border:1px solid var(--gcc-growth-line);background:#fff;}.gcc-order-gifts h2{margin:0 0 20px;font:400 2rem var(--font-display,Georgia,serif);}.gcc-order-gifts article{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr) auto;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--gcc-growth-line);}.gcc-order-gifts article>div{display:flex;flex-direction:column;gap:5px;}.gcc-order-gifts article span,.gcc-order-gifts article small{color:var(--gcc-growth-muted);font-size:.72rem;}.gcc-order-gifts code{width:max-content;padding:7px 9px;background:#f1e9df;letter-spacing:.08em;}.gcc-order-gifts a{color:#755b35;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}@media(max-width:650px){.gcc-order-gifts{padding:22px 17px;}.gcc-order-gifts article{grid-template-columns:1fr;}.gcc-order-gifts article a{justify-self:start;}}

/* ===== COMPONENT: responsive-interface.css ===== */
/**
 * Gillespies v130.18 consolidated component: responsive-interface.css
 * Source files are included below in their original load order.
 * Edit this purpose-named component instead of adding another override file.
 */

/* ===== BEGIN CONSOLIDATED SOURCE: 28-responsive-formatting.css ===== */
/**
 * Gillespies responsive formatting correction — 128.97
 * Final cascade layer for the mobile layouts reviewed on the live site.
 */

/* Keep editorial headings intact; never split words such as “experience”. */
.gcc-app-classes h1,
.gcc-app-classes h2,
.gcc-app-classes h3,
.gcc-class-finder h2,
.gcc-class-finder h3,
.gcc-reviews-page h1,
.gcc-reviews-page h2,
.gcc-growth-main h1,
.gcc-growth-main h2,
.gcc-growth-main h3,
.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce-account h3,
.gcc-editorial-page h1,
.gcc-editorial-page h2{
  hyphens:none !important;
  -webkit-hyphens:none !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* The official circular mark remains, with a readable wordmark beside it. */
.gcc-nav-wordmark{display:none;}

/* Dedicated account shell prevents the generic editorial hero from duplicating
   WooCommerce's account title. */
.gcc-account-page{min-height:70vh;padding:88px 0 100px;background:#f6f2ec;}
.gcc-account-page__shell{width:min(1180px,calc(100% - 40px));margin-inline:auto;}

@media(max-width:780px){
  :root{--gcc-mobile-content:calc(100% - 28px);}

  /* ----------------------------------------------------------------------
     Header and mobile navigation
     ---------------------------------------------------------------------- */
  .site-header,
  header.site-header{
    left:0 !important;
    right:0 !important;
    top:0 !important;
    width:100% !important;
    height:64px !important;
    min-height:64px !important;
    padding:7px 14px !important;
    border-width:0 0 1px !important;
    border-radius:0 !important;
    background:rgba(255,253,249,.98) !important;
    box-shadow:0 8px 26px rgba(34,27,22,.07) !important;
    transform:none !important;
  }
  body.admin-bar .site-header,
  body.admin-bar header.site-header{top:46px !important;}
  @media(min-width:783px){
    body.admin-bar .site-header,
    body.admin-bar header.site-header{top:32px !important;}
  }
  .site-header .brand,
  header.site-header .brand{
    order:0 !important;
    width:auto !important;
    max-width:calc(100% - 104px) !important;
    height:50px !important;
    margin-right:auto !important;
    gap:8px !important;
    justify-content:flex-start !important;
    overflow:visible !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    flex:0 0 38px !important;
    width:38px !important;
    height:38px !important;
    max-width:38px !important;
    max-height:38px !important;
    object-fit:contain !important;
    transform:none !important;
  }
  .gcc-nav-wordmark{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    color:#5c402c;
    line-height:1;
    text-transform:uppercase;
  }
  .gcc-nav-wordmark strong{font:500 1rem/1 var(--font-display,Georgia,"Times New Roman",serif);letter-spacing:.08em;white-space:nowrap;}
  .gcc-nav-wordmark small{margin-top:4px;font:800 .46rem/1 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif);letter-spacing:.22em;white-space:nowrap;}
  .site-header .gcc-header-account,
  header.site-header .gcc-header-account{display:none !important;}
  .site-header .nav-actions,
  header.site-header .nav-actions{gap:5px !important;height:44px !important;}
  .site-header .menu-btn,
  header.site-header .menu-btn,
  .site-header .basket-open,
  header.site-header .basket-open{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    flex-basis:40px !important;
    border-radius:50% !important;
  }

  .gcc-app-bottom-nav{
    left:10px !important;
    right:10px !important;
    bottom:max(7px,env(safe-area-inset-bottom,0px)) !important;
    min-height:56px !important;
    padding:4px !important;
    border-radius:16px !important;
    transition:transform .28s ease,opacity .22s ease !important;
    will-change:transform;
  }
  .gcc-app-bottom-nav.is-gcc-nav-hidden{
    transform:translateY(calc(100% + 24px)) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .gcc-app-bottom-nav a,
  .gcc-app-bottom-nav button{min-height:46px !important;font-size:.56rem !important;border-radius:11px !important;}
  .gcc-app-bottom-nav span{width:18px !important;height:18px !important;}
  .gcc-app-bottom-nav svg{width:17px !important;height:17px !important;}
  body{padding-bottom:68px !important;}

  /* ----------------------------------------------------------------------
     Classes landing page
     ---------------------------------------------------------------------- */
  .gcc-app-shop-page,
  .gcc-shop-page-clean{padding:78px 0 84px !important;}
  .gcc-app-classes{width:var(--gcc-mobile-content) !important;}
  .gcc-app-classes__hero{
    margin:0 0 24px !important;
    padding:30px 0 24px !important;
    border-bottom:1px solid rgba(33,27,23,.14) !important;
    background:transparent !important;
  }
  .gcc-app-classes__hero-layout{gap:22px !important;}
  .gcc-app-classes__hero-copy h1{
    max-width:10ch !important;
    margin-bottom:16px !important;
    font-size:clamp(2.75rem,12.2vw,3.65rem) !important;
    line-height:.94 !important;
    letter-spacing:-.048em !important;
  }
  .gcc-app-classes__hero-copy > p{max-width:34rem !important;font-size:.9rem !important;line-height:1.6 !important;}
  .gcc-app-classes__reassurance{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    margin-top:18px !important;
  }
  .gcc-app-classes__reassurance span,
  .gcc-app-classes__reassurance span:first-child{
    width:auto !important;
    padding:7px 9px !important;
    border:1px solid rgba(33,27,23,.12) !important;
    background:#fffdf9 !important;
    font-size:.61rem !important;
    line-height:1.2 !important;
  }
  .gcc-app-classes__hero-guide{padding:16px !important;background:#fffdf9 !important;}
  .gcc-app-classes__hero-guide h2{display:none !important;}
  .gcc-app-classes__count{margin-bottom:10px !important;font-size:.58rem !important;}
  .gcc-app-classes__hero-guide ol{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .gcc-app-classes__hero-guide li{
    display:block !important;
    padding:9px 8px !important;
    border-right:1px solid rgba(33,27,23,.12) !important;
    border-bottom:0 !important;
    font-size:.63rem !important;
    line-height:1.35 !important;
  }
  .gcc-app-classes__hero-guide li:last-child{border-right:0 !important;}
  .gcc-app-classes__hero-guide li span{display:block;margin-bottom:4px;}

  /* Class finder becomes two clean panels rather than one oversized black box. */
  .gcc-class-finder{
    display:block !important;
    margin:24px 0 34px !important;
    padding:0 !important;
    background:transparent !important;
    color:#211b17 !important;
  }
  .gcc-class-finder__intro{
    margin:0 !important;
    padding:24px 20px !important;
    background:#211a16 !important;
    color:#fff !important;
  }
  .gcc-class-finder__intro h2{
    max-width:11ch !important;
    margin-bottom:12px !important;
    color:#fff !important;
    font-size:clamp(2.2rem,10.4vw,2.9rem) !important;
    line-height:.96 !important;
  }
  .gcc-class-finder__intro > p{font-size:.82rem !important;line-height:1.55 !important;}
  .gcc-class-finder__promise{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin-top:17px !important;
    border:0 !important;
  }
  .gcc-class-finder__promise span{
    width:auto !important;
    padding:6px 8px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    font-size:.52rem !important;
  }
  .gcc-class-finder__wizard{padding:20px 16px !important;border:1px solid rgba(33,27,23,.14) !important;border-top:0 !important;}
  .gcc-class-finder__progress{gap:8px !important;margin-bottom:22px !important;}
  .gcc-class-finder__step-number{margin-bottom:7px !important;}
  .gcc-class-finder__step h3{margin-bottom:8px !important;font-size:clamp(1.8rem,8.4vw,2.25rem) !important;line-height:1 !important;}
  .gcc-class-finder__step > p{margin-bottom:18px !important;font-size:.78rem !important;line-height:1.5 !important;}
  .gcc-class-finder__choices,
  .gcc-class-finder__choices--compact{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .gcc-class-finder__choices button,
  .gcc-class-finder__choices--compact button,
  .gcc-class-finder__choices--occasion button{
    min-height:88px !important;
    padding:12px 10px !important;
    text-align:center !important;
  }
  .gcc-class-finder__choices strong{margin-bottom:5px !important;font-size:1.05rem !important;line-height:1.05 !important;}
  .gcc-class-finder__choices span{font-size:.64rem !important;line-height:1.35 !important;}
  .gcc-class-finder__controls{margin-top:22px !important;padding-top:16px !important;}

  /* Filters remain powerful without occupying an entire screen. */
  .gcc-app-filters-panel{margin:0 0 32px !important;padding:18px 0 22px !important;}
  .gcc-app-filter-bar{position:static !important;display:flex !important;gap:7px !important;overflow-x:auto !important;padding-bottom:2px !important;}
  .gcc-class-filter-btn{min-height:42px !important;padding:0 14px !important;font-size:.62rem !important;white-space:nowrap !important;}
  .gcc-app-filter-selects{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:11px !important;}
  .gcc-app-filter-selects label > span{margin-bottom:6px !important;font-size:.56rem !important;}
  .gcc-app-filter-selects select{min-height:46px !important;padding:0 35px 0 11px !important;font-size:.78rem !important;}
  .gcc-app-filter-reset{grid-column:1/-1 !important;min-height:44px !important;}
  .gcc-app-filter-results{margin-top:12px !important;font-size:.76rem !important;}

  /* ----------------------------------------------------------------------
     Gift page
     ---------------------------------------------------------------------- */
  .gcc-growth-main{padding-top:72px !important;}
  .gcc-growth-main .woocommerce-notices-wrapper,
  .gcc-gift-page{width:var(--gcc-mobile-content) !important;}
  .gcc-gift-hero{gap:24px !important;padding:34px 0 40px !important;}
  .gcc-gift-hero h1{max-width:8ch !important;margin-bottom:16px !important;font-size:clamp(2.85rem,12.5vw,3.55rem) !important;line-height:.93 !important;}
  .gcc-gift-hero__copy > p{font-size:.9rem !important;line-height:1.62 !important;}
  .gcc-gift-hero__points{gap:7px !important;margin-top:20px !important;padding-top:17px !important;font-size:.66rem !important;}
  .gcc-gift-card-preview{min-height:220px !important;padding:30px !important;}
  .gcc-gift-card-preview strong{max-width:220px !important;font-size:1.75rem !important;}
  .gcc-gift-form{margin-bottom:46px !important;padding:22px 16px !important;}
  .gcc-gift-form__heading{grid-template-columns:26px minmax(0,1fr) !important;gap:12px !important;margin-bottom:22px !important;padding-top:28px !important;}
  .gcc-gift-form h2{font-size:clamp(1.8rem,8vw,2.25rem) !important;}
  .gcc-gift-form__heading p{font-size:.8rem !important;line-height:1.5 !important;}
  .gcc-gift-values{gap:8px !important;margin-bottom:34px !important;}
  .gcc-gift-values label > span{min-height:58px !important;}
  .gcc-gift-fields{gap:16px !important;margin-bottom:24px !important;}

  /* ----------------------------------------------------------------------
     Reviews
     ---------------------------------------------------------------------- */
  .gcc-reviews-page{padding:76px 0 84px !important;}
  .gcc-reviews-page-v12854 .gcc-reviews-hero{
    min-height:430px !important;
    gap:26px !important;
    padding:28px 20px !important;
    background-position:center !important;
  }
  .gcc-reviews-hero h1{
    max-width:9ch !important;
    margin-bottom:16px !important;
    font-size:clamp(2.9rem,12.7vw,3.75rem) !important;
    line-height:.94 !important;
  }
  .gcc-reviews-hero p{font-size:.86rem !important;line-height:1.58 !important;}
  .gcc-review-hero-actions{gap:9px !important;margin-top:20px !important;}
  .gcc-review-hero-actions .btn{min-height:48px !important;padding:13px 16px !important;}
  .gcc-review-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .gcc-review-hero-stats > div{display:block !important;padding:13px 6px !important;border-right:1px solid rgba(255,255,255,.16) !important;border-bottom:0 !important;}
  .gcc-review-hero-stats > div:last-child{border-right:0 !important;}
  .gcc-review-hero-stats strong{display:block !important;font-size:1.8rem !important;}
  .gcc-review-hero-stats span{font-size:.53rem !important;line-height:1.3 !important;}
  .gcc-review-list-wrap{padding:56px 0 44px !important;}
  .gcc-review-list-heading h2,
  .gcc-review-form-wrap h2,
  .gcc-review-booking-cta h2{font-size:clamp(2.45rem,10.8vw,3.25rem) !important;}

  /* ----------------------------------------------------------------------
     Account
     ---------------------------------------------------------------------- */
  .gcc-account-page{padding:74px 0 82px !important;}
  .gcc-account-page__shell{width:var(--gcc-mobile-content) !important;}
  body.woocommerce-account .woocommerce{
    width:100% !important;
    margin:0 !important;
    padding:24px 0 0 !important;
  }
  body.woocommerce-account.logged-in .woocommerce::before{
    margin:0 0 22px !important;
    font-size:clamp(2.75rem,12vw,3.5rem) !important;
    line-height:.95 !important;
    text-align:left !important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    margin:0 0 20px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
    display:flex !important;
    grid-template-columns:none !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding:0 0 5px !important;
    scrollbar-width:none !important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none;}
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{flex:0 0 auto !important;}
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
    min-height:44px !important;
    padding:0 14px !important;
    border:1px solid rgba(33,27,23,.14) !important;
    border-radius:2px !important;
    background:#fffdf9 !important;
    font-size:.66rem !important;
    white-space:nowrap !important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
    min-height:0 !important;
    padding:24px 20px !important;
    border-radius:16px !important;
    background:#fffdf9 !important;
    box-shadow:0 14px 38px rgba(33,27,23,.06) !important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content::before{content:none !important;display:none !important;}
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content p{font-size:.94rem !important;line-height:1.65 !important;}
  body.woocommerce-account:not(.logged-in) .woocommerce{padding-top:18px !important;}
}

@media(max-width:390px){
  .gcc-nav-wordmark strong{font-size:.9rem;}
  .gcc-nav-wordmark small{font-size:.42rem;}
  .gcc-app-classes__hero-copy h1{font-size:2.65rem !important;}
  .gcc-class-finder__choices strong{font-size:.98rem !important;}
  .gcc-class-finder__choices span{font-size:.59rem !important;}
  .gcc-app-filter-selects{grid-template-columns:1fr 1fr !important;}
}

@media(prefers-reduced-motion:reduce){
  .gcc-app-bottom-nav{transition:none !important;}
}
/* ===== END CONSOLIDATED SOURCE: 28-responsive-formatting.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 29-final-interface-polish.css ===== */
/**
 * Gillespies final interface polish — 128.98
 * Logo-only navigation and a calmer, clearer mobile classes journey.
 */

/* The supplied Gillespies artwork is the complete brand mark. Do not add a
   second text wordmark beside it. */
.gcc-nav-wordmark{display:none !important;}
.site-header .brand,
header.site-header .brand{gap:0 !important;}
.site-header .brand img,
header.site-header .brand img{display:block !important;object-fit:contain !important;transform:none !important;}

/* Prevent legacy rules from making the classes interface wider than the page. */
.gcc-app-shop-page,
.gcc-app-classes,
.gcc-class-finder,
.gcc-class-finder__wizard,
.gcc-app-filters-panel,
.gcc-app-filter-selects{min-width:0 !important;max-width:100% !important;}
.gcc-app-shop-page{overflow-x:hidden !important;}

/* Finder toggle is a mobile disclosure; desktop keeps the guided journey open. */
.gcc-class-finder__toggle{display:none;}

@media(min-width:781px){
  .site-header .brand,
  header.site-header .brand{width:78px !important;max-width:78px !important;justify-content:flex-start !important;}
  .site-header .brand img,
  header.site-header .brand img{width:62px !important;height:62px !important;max-width:62px !important;max-height:62px !important;}
}

@media(max-width:780px){
  .site-header .brand,
  header.site-header .brand{
    width:58px !important;
    max-width:58px !important;
    height:50px !important;
    flex:0 0 58px !important;
    margin-right:auto !important;
    justify-content:flex-start !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
    flex:0 0 50px !important;
  }

  /* More compact opening and clearer separation between discovery tools. */
  .gcc-app-shop-page,
  .gcc-shop-page-clean{padding-top:72px !important;}
  .gcc-app-classes__hero{padding-top:22px !important;margin-bottom:18px !important;}
  .gcc-app-classes__hero-copy h1{
    max-width:12ch !important;
    font-size:clamp(2.45rem,11.2vw,3.2rem) !important;
    line-height:.96 !important;
  }
  .gcc-app-classes__hero-copy>p{font-size:.87rem !important;}
  .gcc-app-classes__hero-guide{border-radius:12px !important;}

  /* The class finder starts as a premium summary card instead of forcing a
     four-question form into the initial browse journey. */
  .gcc-class-finder{border-radius:16px !important;overflow:hidden !important;box-shadow:0 16px 42px rgba(33,27,23,.08) !important;}
  .gcc-class-finder__intro{padding:24px 20px 22px !important;}
  .gcc-class-finder__intro h2{max-width:12ch !important;font-size:clamp(2rem,9.7vw,2.65rem) !important;}
  .gcc-class-finder__toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:50px !important;
    margin-top:20px !important;
    padding:13px 16px !important;
    border:1px solid rgba(255,255,255,.32) !important;
    border-radius:2px !important;
    background:#fff !important;
    color:#211b17 !important;
    font-size:.68rem !important;
    font-weight:900 !important;
    letter-spacing:.09em !important;
    text-transform:uppercase !important;
  }
  .gcc-class-finder__toggle span{font-size:1rem;transition:transform .2s ease;}
  .gcc-class-finder:not(.is-mobile-collapsed) .gcc-class-finder__toggle span{transform:rotate(180deg);}
  .gcc-class-finder.is-mobile-collapsed .gcc-class-finder__wizard{display:none !important;}
  .gcc-class-finder__wizard{background:#fffdf9 !important;padding:20px 16px 22px !important;}
  .gcc-class-finder__controls{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
  .gcc-class-finder__skip{grid-column:1/-1 !important;order:3 !important;padding:10px 0 !important;text-align:center !important;}
  .gcc-class-finder__back,
  .gcc-class-finder__next,
  .gcc-class-finder__submit{width:100% !important;min-width:0 !important;}

  /* Filters use compact pills and stable form widths. */
  .gcc-app-filters-panel{padding:18px 0 26px !important;border-top:1px solid rgba(33,27,23,.12) !important;}
  .gcc-app-filter-bar{width:100% !important;scroll-padding-left:0 !important;}
  .gcc-class-filter-btn{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
    border-radius:999px !important;
  }
  .gcc-app-filter-selects>*{min-width:0 !important;max-width:100% !important;}
  .gcc-app-filter-selects select{width:100% !important;max-width:100% !important;}
  .gcc-app-filter-reset{width:100% !important;}

  /* Product cards become contained{display:grid !important;grid-template-columns:1fr !important;gap:24px !important;}
}

@media(max-width:520px){
  /* A single-column filter form is faster to scan and cannot clip on narrow
     phones or in-app browsers. */
  .gcc-app-filter-selects{grid-template-columns:1fr !important;gap:10px !important;}
  .gcc-app-filter-reset{grid-column:1 !important;}
  .gcc-class-finder__choices,
  .gcc-class-finder__choices--compact,
  .gcc-class-finder__choices--occasion{grid-template-columns:1fr 1fr !important;}
}

@media(max-width:380px){
  .site-header .brand,
  header.site-header .brand{width:52px !important;max-width:52px !important;flex-basis:52px !important;}
  .site-header .brand img,
  header.site-header .brand img{width:46px !important;height:46px !important;max-width:46px !important;max-height:46px !important;}
}
/* ===== END CONSOLIDATED SOURCE: 29-final-interface-polish.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 30-mobile-formatting-repair.css ===== */
/**
 * Gillespies mobile formatting repair — 128.99
 * Final correction for class filters, policy contrast and the slide menu.
 */

/* Privacy and policy pages: explicit contrast so earlier colour rules cannot
   leave white copy on an ivory panel. */
.gcc-policy-alert{
  background:#f2e7d8 !important;
  border:1px solid rgba(142,103,61,.22) !important;
  border-left:4px solid #b79862 !important;
  color:#211b17 !important;
}
.gcc-policy-alert h2{
  color:#211b17 !important;
}
.gcc-policy-alert p{
  color:#665a50 !important;
}
.gcc-policy-card,
.gcc-policy-contact{
  color:#211b17 !important;
}
.gcc-policy-card h2,
.gcc-policy-card p,
.gcc-policy-card li{
  opacity:1 !important;
}

/* A compact, app-like mobile drawer. */
@media(max-width:780px){
  .slide-menu{
    width:min(92vw,420px) !important;
    max-width:420px !important;
    height:100dvh !important;
    max-height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    padding:0 0 env(safe-area-inset-bottom,0) !important;
    background:#fffdf9 !important;
  }
  .slide-menu .menu-top{
    flex:0 0 auto !important;
    min-height:84px !important;
    padding:14px 18px !important;
  }
  .slide-menu .menu-top a{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
  }
  .slide-menu .menu-top img{
    width:auto !important;
    max-width:126px !important;
    max-height:52px !important;
    object-fit:contain !important;
  }
  .slide-menu .menu-close{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    font-size:1.65rem !important;
    line-height:1 !important;
    box-shadow:none !important;
  }
  .slide-menu .menu-links{
    flex:0 1 auto !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    padding:14px 18px !important;
  }
  .slide-menu .menu-links a{
    display:flex !important;
    align-items:center !important;
    min-height:52px !important;
    padding:12px 13px !important;
    border:1px solid rgba(33,27,23,.11) !important;
    border-radius:10px !important;
    background:#fff !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.92rem !important;
    font-weight:800 !important;
    line-height:1.2 !important;
  }
  .slide-menu .menu-links a::after{display:none !important;}
  .slide-menu .menu-feature{
    flex:0 0 auto !important;
    margin:8px 18px 16px !important;
    padding:18px !important;
    border-radius:12px !important;
  }
  .slide-menu .menu-feature h3{
    margin:0 0 7px !important;
    font-size:1.45rem !important;
    line-height:1.05 !important;
  }
  .slide-menu .menu-feature p{
    margin:0 0 13px !important;
    font-size:.78rem !important;
    line-height:1.5 !important;
  }
  .slide-menu .menu-feature .btn{
    width:100% !important;
    min-height:46px !important;
    padding:12px 14px !important;
    font-size:.66rem !important;
  }

  /* Classes filters: compact two-column controls on ordinary phones. */
  .gcc-app-filters-panel{
    margin:0 0 24px !important;
    padding:18px 0 16px !important;
  }
  .gcc-app-filter-group{
    margin-bottom:14px !important;
  }
  .gcc-app-filter-group>span,
  .gcc-app-filter-selects label>span{
    margin-bottom:6px !important;
    font-size:.57rem !important;
    letter-spacing:.12em !important;
  }
  .gcc-app-filter-bar{
    gap:7px !important;
    margin:0 !important;
    padding:0 18px 3px 0 !important;
  }
  .gcc-class-filter-btn{
    min-height:40px !important;
    padding:0 15px !important;
    font-size:.58rem !important;
    letter-spacing:.07em !important;
  }
  .gcc-app-filter-selects{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px 10px !important;
  }
  .gcc-app-filter-selects label{
    min-width:0 !important;
  }
  .gcc-app-filter-selects select{
    min-height:48px !important;
    height:48px !important;
    padding:0 32px 0 12px !important;
    border-radius:6px !important;
    font-size:.76rem !important;
  }
  .gcc-app-filter-reset{
    grid-column:1/-1 !important;
    min-height:46px !important;
    height:46px !important;
    border-radius:6px !important;
    font-size:.63rem !important;
  }
  .gcc-app-filter-results{
    margin:13px 0 0 !important;
    padding-top:13px !important;
    font-size:.73rem !important;
  }

  /* The open finder must remain tidy as well as the collapsed state. */
  .gcc-class-finder{
    margin-bottom:28px !important;
    border-radius:12px !important;
  }
  .gcc-class-finder__wizard{
    padding:16px !important;
  }
  .gcc-class-finder__controls{
    margin-top:15px !important;
  }

  /* Policy pages use smaller editorial proportions on phones. */
  .gcc-policy-wrap{
    padding:92px 16px 92px !important;
  }
  .gcc-policy-hero{
    min-height:0 !important;
    padding:40px 24px !important;
  }
  .gcc-policy-hero h1{
    font-size:clamp(3rem,14vw,4.2rem) !important;
    line-height:.9 !important;
  }
  .gcc-policy-hero p{
    margin-top:18px !important;
    font-size:.9rem !important;
    line-height:1.65 !important;
  }
  .gcc-policy-alert{
    padding:24px 20px !important;
  }
  .gcc-policy-alert h2{
    margin-bottom:9px !important;
    font-size:2rem !important;
  }
  .gcc-policy-alert p{
    font-size:.88rem !important;
    line-height:1.6 !important;
  }
  .gcc-policy-grid{
    margin:28px 0 !important;
  }
  .gcc-policy-card{
    padding:24px 20px !important;
  }

  /* Keep the persistent customer nav useful but less intrusive. */
  .gcc-app-bottom-nav{
    left:10px !important;
    right:10px !important;
    bottom:8px !important;
    min-height:66px !important;
    padding:7px 8px !important;
    border-radius:22px !important;
  }
  .gcc-app-bottom-nav a{
    min-height:50px !important;
    padding:5px 4px !important;
    font-size:.64rem !important;
  }
}

@media(max-width:350px){
  .slide-menu .menu-links{grid-template-columns:1fr !important;}
  .gcc-app-filter-selects{grid-template-columns:1fr !important;}
}
/* ===== END CONSOLIDATED SOURCE: 30-mobile-formatting-repair.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 31-premium-mobile-menu.css ===== */
/**
 * Gillespies premium navigation drawer — 129.00
 * Compact, balanced and resistant to inherited legacy menu typography.
 */

.gcc-menu-kicker,
.gcc-menu-feature-kicker,
.gcc-menu-utilities{display:none;}

@media(max-width:780px){
  body.menu-open{overflow:hidden !important;}

  .slide-menu,
  .slide-menu.active{
    width:min(88vw,380px) !important;
    max-width:380px !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    background:#fbf7f1 !important;
    border-left:1px solid rgba(33,27,23,.10) !important;
    box-shadow:-24px 0 64px rgba(25,19,16,.22) !important;
  }

  .slide-menu .menu-top{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:76px !important;
    height:76px !important;
    padding:12px 18px !important;
    border-bottom:1px solid rgba(33,27,23,.10) !important;
    background:#fffdf9 !important;
  }

  .slide-menu .menu-top a{
    display:flex !important;
    align-items:center !important;
    width:auto !important;
    min-width:0 !important;
    height:48px !important;
  }

  .slide-menu .menu-top img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:144px !important;
    max-height:46px !important;
    object-fit:contain !important;
    transform:none !important;
  }

  .slide-menu .menu-close,
  .slide-menu button.menu-close{
    position:relative !important;
    inset:auto !important;
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(33,27,23,.14) !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#211b17 !important;
    box-shadow:0 7px 20px rgba(33,27,23,.07) !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:1.35rem !important;
    font-weight:400 !important;
    line-height:1 !important;
  }

  .slide-menu .menu-close::before,
  .slide-menu .menu-close::after{display:none !important;}

  .gcc-menu-kicker{
    display:block !important;
    padding:17px 20px 9px !important;
    color:#8c7043 !important;
    font-size:.58rem !important;
    font-weight:900 !important;
    letter-spacing:.17em !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
  }

  .slide-menu .menu-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    flex:none !important;
    margin:0 !important;
    padding:0 20px 14px !important;
    overflow:visible !important;
  }

  .slide-menu .menu-links a,
  body .slide-menu .menu-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    min-width:0 !important;
    min-height:46px !important;
    height:auto !important;
    margin:0 !important;
    padding:10px 12px !important;
    border:1px solid rgba(33,27,23,.11) !important;
    border-radius:8px !important;
    background:rgba(255,255,255,.74) !important;
    color:#211b17 !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }

  .slide-menu .menu-links a span,
  .slide-menu .menu-links a strong,
  body .slide-menu .menu-links a span,
  body .slide-menu .menu-links a strong{
    display:block !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#211b17 !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.78rem !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    line-height:1.15 !important;
    text-transform:none !important;
    white-space:normal !important;
  }

  .slide-menu .menu-links a::after,
  body .slide-menu .menu-links a::after{
    content:"" !important;
    display:block !important;
    flex:0 0 6px !important;
    width:6px !important;
    height:6px !important;
    margin:0 2px 0 auto !important;
    border-top:1.5px solid currentColor !important;
    border-right:1.5px solid currentColor !important;
    opacity:.42 !important;
    transform:rotate(45deg) !important;
  }

  .slide-menu .menu-links a:hover,
  .slide-menu .menu-links a:focus-visible{
    background:#f2e6d6 !important;
    border-color:rgba(151,112,61,.30) !important;
    color:#211b17 !important;
  }

  .slide-menu .menu-feature{
    display:block !important;
    flex:none !important;
    margin:auto 20px 10px !important;
    padding:16px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#17120f !important;
    color:#fff !important;
    box-shadow:0 16px 36px rgba(33,27,23,.13) !important;
  }

  .gcc-menu-feature-kicker{
    display:block !important;
    margin:0 0 8px !important;
    color:#c8a86d !important;
    font-size:.54rem !important;
    font-weight:900 !important;
    letter-spacing:.16em !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
  }

  .slide-menu .menu-feature h3,
  body .slide-menu .menu-feature h3{
    margin:0 0 7px !important;
    color:#fff !important;
    font-family:var(--font-display,Georgia,serif) !important;
    font-size:1.2rem !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
    line-height:1.08 !important;
    text-transform:none !important;
  }

  .slide-menu .menu-feature p,
  body .slide-menu .menu-feature p{
    margin:0 0 12px !important;
    color:rgba(255,255,255,.70) !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.72rem !important;
    line-height:1.45 !important;
  }

  .slide-menu .menu-feature .btn,
  .slide-menu .menu-feature a.btn,
  body .slide-menu .menu-feature a.btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    padding:10px 12px !important;
    border:0 !important;
    border-radius:4px !important;
    background:#c3a164 !important;
    color:#211b17 !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.61rem !important;
    font-weight:950 !important;
    letter-spacing:.1em !important;
    line-height:1 !important;
    text-align:center !important;
    text-transform:uppercase !important;
  }

  .gcc-menu-utilities{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    padding:0 20px calc(15px + env(safe-area-inset-bottom,0px)) !important;
  }

  .gcc-menu-utilities a{
    color:#766a60 !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.62rem !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    text-decoration:none !important;
  }
}

@media(max-width:360px){
  .slide-menu,
  .slide-menu.active{width:94vw !important;}
  .slide-menu .menu-links{grid-template-columns:1fr !important;}
  .slide-menu .menu-links a{min-height:42px !important;}
}

@media(max-width:780px) and (max-height:650px){
  .slide-menu .menu-top{min-height:66px !important;height:66px !important;}
  .slide-menu .menu-top img{max-height:40px !important;}
  .gcc-menu-kicker{padding-top:12px !important;}
  .slide-menu .menu-links{gap:6px !important;padding-bottom:10px !important;}
  .slide-menu .menu-links a{min-height:42px !important;padding-block:8px !important;}
  .slide-menu .menu-feature{margin-top:6px !important;padding:13px !important;}
  .slide-menu .menu-feature p{display:none !important;}
}
/* ===== END CONSOLIDATED SOURCE: 31-premium-mobile-menu.css ===== */

/* ===== COMPONENT: site-overlays.css ===== */
/**
 * Gillespies v130.18 consolidated component: site-overlays.css
 * Source files are included below in their original load order.
 * Edit this purpose-named component instead of adding another override file.
 */

/* ===== BEGIN CONSOLIDATED SOURCE: 39-menu-basket-seamless.css ===== */
/**
 * Gillespies menu + basket seamless overlay system — 129.12
 * Final override layer for calm, compact and consistent mobile panels.
 */

body.menu-open,
body.basket-open-body{
  overflow:hidden !important;
  touch-action:none;
}

body.menu-open .gcc-app-bottom-nav,
body.basket-open-body .gcc-app-bottom-nav{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(calc(100% + 34px)) !important;
}

body.menu-open .site-header,
body.basket-open-body .site-header{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.menu-overlay,
.gcc-basket-system .basket-overlay{
  background:rgba(24,18,15,.58) !important;
  backdrop-filter:blur(12px) saturate(.84) !important;
  -webkit-backdrop-filter:blur(12px) saturate(.84) !important;
}

/* --------------------------------------------------------------------------
   Site menu
   -------------------------------------------------------------------------- */

.gcc-menu-body{
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(36,27,23,.2) transparent;
  touch-action:pan-y;
}

.gcc-menu-intro h2,
.gcc-menu-intro p,
.gcc-menu-link small{
  margin:0;
}

@media(max-width:780px){
  .slide-menu,
  .slide-menu.active{
    top:10px !important;
    right:auto !important;
    bottom:auto !important;
    left:10px !important;
    width:min(500px,calc(100vw - 20px)) !important;
    max-width:500px !important;
    height:auto !important;
    max-height:calc(100dvh - 20px) !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(36,27,23,.10) !important;
    border-radius:28px !important;
    background:#fffdf9 !important;
    box-shadow:0 28px 90px rgba(24,18,15,.30) !important;
  }

  .slide-menu .menu-top{
    min-height:78px !important;
    height:78px !important;
    padding:14px 18px !important;
    border-bottom:1px solid rgba(36,27,23,.09) !important;
    background:#fffdf9 !important;
  }

  .slide-menu .gcc-menu-brand{
    height:48px !important;
  }

  .slide-menu .menu-top img{
    max-width:132px !important;
    max-height:44px !important;
  }

  .slide-menu .menu-close,
  .slide-menu button.menu-close{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border:1px solid rgba(36,27,23,.12) !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#211b17 !important;
    box-shadow:0 10px 24px rgba(36,27,23,.08) !important;
    font-size:1.35rem !important;
  }

  .gcc-menu-intro{
    padding:20px 20px 14px !important;
  }

  .gcc-menu-kicker{
    display:block !important;
    padding:0 !important;
    margin:0 0 8px !important;
    color:#9a7441 !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.62rem !important;
    font-weight:900 !important;
    letter-spacing:.16em !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
  }

  .gcc-menu-intro h2{
    color:#211b17 !important;
    font-family:var(--font-display,Georgia,serif) !important;
    font-size:clamp(1.6rem,5.6vw,2rem) !important;
    font-weight:500 !important;
    letter-spacing:-.035em !important;
    line-height:1.02 !important;
  }

  .gcc-menu-intro p{
    margin-top:8px !important;
    color:#756960 !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.78rem !important;
    line-height:1.45 !important;
  }

  .slide-menu .menu-links,
  body .slide-menu .menu-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 20px 12px !important;
  }

  .slide-menu .menu-links .gcc-menu-link,
  body .slide-menu .menu-links .gcc-menu-link{
    display:flex !important;
    min-width:0 !important;
    min-height:52px !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin:0 !important;
    padding:12px 13px !important;
    border:1px solid rgba(36,27,23,.10) !important;
    border-radius:14px !important;
    background:#fff !important;
    color:#211b17 !important;
    box-shadow:0 6px 18px rgba(36,27,23,.025) !important;
    text-decoration:none !important;
  }

  .slide-menu .menu-links .gcc-menu-link span,
  body .slide-menu .menu-links .gcc-menu-link span{
    color:inherit !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.82rem !important;
    font-weight:850 !important;
    letter-spacing:0 !important;
    line-height:1.15 !important;
    text-transform:none !important;
  }

  .slide-menu .menu-links .gcc-menu-link::after,
  body .slide-menu .menu-links .gcc-menu-link::after{
    content:"" !important;
    display:block !important;
    width:7px !important;
    height:7px !important;
    flex:0 0 7px !important;
    margin:0 2px 0 auto !important;
    border-top:1.5px solid currentColor !important;
    border-right:1.5px solid currentColor !important;
    opacity:.34 !important;
    transform:rotate(45deg) !important;
  }

  .slide-menu .menu-links .gcc-menu-link--featured,
  body .slide-menu .menu-links .gcc-menu-link--featured{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    min-height:82px !important;
    padding:16px 17px !important;
    border-color:#211b17 !important;
    background:#181310 !important;
    color:#fff !important;
    box-shadow:0 14px 30px rgba(36,27,23,.14) !important;
  }

  .slide-menu .menu-links .gcc-menu-link--featured span{
    align-self:end !important;
    color:#fff !important;
    font-family:var(--font-display,Georgia,serif) !important;
    font-size:1.38rem !important;
    font-weight:500 !important;
    letter-spacing:-.02em !important;
  }

  .slide-menu .menu-links .gcc-menu-link--featured small{
    grid-column:1 / 2 !important;
    align-self:start !important;
    color:rgba(255,255,255,.68) !important;
    font-family:var(--font-body,Arial,sans-serif) !important;
    font-size:.69rem !important;
    line-height:1.35 !important;
  }

  .slide-menu .menu-links .gcc-menu-link--featured::after{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    color:#d1ae70 !important;
    opacity:1 !important;
  }

  .slide-menu .menu-links .gcc-menu-link:hover,
  .slide-menu .menu-links .gcc-menu-link:focus-visible{
    border-color:rgba(154,116,65,.34) !important;
    background:#f7efe5 !important;
    color:#211b17 !important;
  }

  .slide-menu .menu-links .gcc-menu-link--featured:hover,
  .slide-menu .menu-links .gcc-menu-link--featured:focus-visible{
    border-color:#211b17 !important;
    background:#211815 !important;
    color:#fff !important;
  }

  .slide-menu .menu-feature,
  body .slide-menu .menu-feature{
    margin:2px 20px 12px !important;
    padding:16px !important;
    border:0 !important;
    border-radius:16px !important;
    background:#f2e7d8 !important;
    color:#211b17 !important;
    box-shadow:none !important;
  }

  .gcc-menu-feature-kicker{
    margin:0 0 7px !important;
    color:#92703f !important;
    font-size:.55rem !important;
  }

  .slide-menu .menu-feature h3,
  body .slide-menu .menu-feature h3{
    margin:0 0 6px !important;
    color:#211b17 !important;
    font-size:1.17rem !important;
    line-height:1.08 !important;
  }

  .slide-menu .menu-feature p,
  body .slide-menu .menu-feature p{
    margin:0 0 12px !important;
    color:#6f6259 !important;
    font-size:.71rem !important;
    line-height:1.42 !important;
  }

  .slide-menu .menu-feature .btn,
  .slide-menu .menu-feature a.btn,
  body .slide-menu .menu-feature a.btn{
    min-height:44px !important;
    border-radius:11px !important;
    background:#211b17 !important;
    color:#fff !important;
    box-shadow:none !important;
    font-size:.62rem !important;
  }

  .gcc-menu-utilities{
    display:flex !important;
    justify-content:space-between !important;
    gap:16px !important;
    padding:0 20px calc(17px + env(safe-area-inset-bottom,0px)) !important;
  }

  .gcc-menu-utilities a{
    color:#756960 !important;
    font-size:.66rem !important;
    font-weight:800 !important;
  }
}

@media(max-width:340px){
  .slide-menu .menu-links,
  body .slide-menu .menu-links{
    grid-template-columns:1fr !important;
  }
  .slide-menu .menu-links .gcc-menu-link--featured,
  body .slide-menu .menu-links .gcc-menu-link--featured{
    grid-column:auto !important;
  }
}

/* --------------------------------------------------------------------------
   Basket drawer
   -------------------------------------------------------------------------- */

.gcc-basket-system .basket-drawer{
  top:12px !important;
  right:12px !important;
  bottom:auto !important;
  left:auto !important;
  width:min(440px,calc(100vw - 24px)) !important;
  max-width:440px !important;
  height:auto !important;
  max-height:calc(100dvh - 24px) !important;
  border:1px solid rgba(36,27,23,.10) !important;
  border-radius:6px !important;
  background:#fffdf9 !important;
  box-shadow:0 2px 8px rgba(24,18,15,0.165) !important;
  overflow:hidden !important;
}

.gcc-basket-system .basket-top{
  position:relative !important;
  display:flex !important;
  min-height:112px !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:22px 22px 19px !important;
  border-bottom:1px solid rgba(36,27,23,.09) !important;
  background:#fffdf9 !important;
}

.gcc-basket-system .basket-top::after{
  display:none !important;
}

.gcc-basket-system .basket-top-copy{
  min-width:0 !important;
}

.gcc-basket-system .basket-eyebrow{
  display:block !important;
  margin:0 0 7px !important;
  color:#987240 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.61rem !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
}

.gcc-basket-system .basket-top h2{
  margin:0 !important;
  color:#211b17 !important;
  font-family:var(--font-display,Georgia,serif) !important;
  font-size:1.62rem !important;
  font-weight:500 !important;
  letter-spacing:-.03em !important;
  line-height:1 !important;
}

.gcc-basket-system .basket-top p{
  max-width:290px !important;
  margin:8px 0 0 !important;
  color:#756960 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.72rem !important;
  line-height:1.4 !important;
}

.gcc-basket-system .basket-close,
.gcc-basket-system #basketClose{
  position:relative !important;
  inset:auto !important;
  display:grid !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  border:1px solid rgba(36,27,23,.12) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#211b17 !important;
  box-shadow:0 1px 5px rgba(36,27,23,0.044) !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:1.4rem !important;
  font-weight:400 !important;
  line-height:1 !important;
}

.gcc-basket-system .basket-close::before,
.gcc-basket-system .basket-close::after,
.gcc-basket-system #basketClose::before,
.gcc-basket-system #basketClose::after{
  display:none !important;
}

.gcc-basket-system .basket-content{
  display:flex !important;
  min-height:0 !important;
  max-height:calc(100dvh - 136px) !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  padding:18px 22px 22px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
}

.gcc-basket-system .basket-status{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 12px !important;
  padding:11px 13px !important;
  border-radius:3px !important;
  background:#f4ece2 !important;
  color:#211b17 !important;
}

.gcc-basket-system .basket-status span{
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.74rem !important;
  font-weight:850 !important;
}

.gcc-basket-system .basket-status small{
  color:#756960 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.64rem !important;
  line-height:1.25 !important;
  text-align:right !important;
}

.gcc-basket-system .basket-items{
  display:grid !important;
  gap:10px !important;
}

.gcc-basket-system .basket-item{
  position:relative !important;
  display:grid !important;
  grid-template-columns:78px minmax(0,1fr) !important;
  gap:13px !important;
  align-items:start !important;
  margin:0 !important;
  padding:12px !important;
  border:1px solid rgba(36,27,23,.09) !important;
  border-radius:5px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.gcc-basket-system .basket-item::before{
  display:none !important;
}

.gcc-basket-system .basket-item-image{
  width:78px !important;
  height:78px !important;
  overflow:hidden !important;
  border-radius:4px !important;
  background:#f4ece2 !important;
  box-shadow:none !important;
  transform:none !important;
}

.gcc-basket-system .basket-item-image img{
  display:block !important;
  width:78px !important;
  height:78px !important;
  object-fit:cover !important;
}

.gcc-basket-system .basket-item-info{
  min-width:0 !important;
  padding:1px 0 0 !important;
}

.gcc-basket-system .basket-item-heading{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
}

.gcc-basket-system .basket-item-info h4{
  min-width:0 !important;
  margin:0 !important;
  color:#211b17 !important;
  font-family:var(--font-body,Arial,Helvetica,sans-serif) !important;
  font-size:.92rem !important;
  font-weight:800 !important;
  letter-spacing:-.012em !important;
  line-height:1.24 !important;
}

.gcc-basket-system .basket-item-info h4 a{
  color:inherit !important;
  text-decoration:none !important;
}

.gcc-basket-system .basket-item-price,
.gcc-basket-system .basket-item-info strong{
  flex:0 0 auto !important;
  margin:0 !important;
  color:#8d6839 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}

.gcc-basket-system .basket-item-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:7px !important;
  margin-top:11px !important;
}

.gcc-basket-system .basket-item-label{
  color:#756960 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.63rem !important;
  font-weight:800 !important;
}

.gcc-basket-system .basket-qty-control{
  display:inline-flex !important;
  width:auto !important;
  align-items:center !important;
  gap:2px !important;
  margin:0 !important;
  padding:3px !important;
  border:1px solid rgba(36,27,23,.10) !important;
  border-radius:6px !important;
  background:#f6efe6 !important;
}

.gcc-basket-system .basket-qty-minus,
.gcc-basket-system .basket-qty-plus{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#211b17 !important;
  color:#fff !important;
  font-size:1rem !important;
}

.gcc-basket-system .basket-qty-input{
  width:34px !important;
  height:28px !important;
  min-height:28px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#211b17 !important;
  box-shadow:none !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  text-align:center !important;
}

.gcc-basket-system .basket-remove-item{
  margin-left:auto !important;
  padding:4px 0 !important;
  border:0 !important;
  color:#9f4a42 !important;
  background:transparent !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.63rem !important;
  font-weight:850 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.gcc-basket-system .basket-summary{
  display:flex !important;
  align-items:stretch !important;
  gap:10px !important;
  margin-top:14px !important;
  padding:14px 0 0 !important;
  border-top:1px solid rgba(36,27,23,.09) !important;
}

.gcc-basket-system .basket-summary-total,
.gcc-basket-system .basket-summary > div{
  display:flex !important;
  width:100% !important;
  min-height:auto !important;
  max-width:none !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin:0 !important;
  padding:15px 17px !important;
  border-radius:4px !important;
  background:#211b17 !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}

.gcc-basket-system .basket-summary-total span,
.gcc-basket-system .basket-summary > div span{
  color:rgba(255,255,255,.72) !important;
  font-size:.72rem !important;
  font-weight:800 !important;
}

.gcc-basket-system .basket-summary-total strong,
.gcc-basket-system .basket-summary > div strong{
  color:#fff !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
}

.gcc-basket-system .basket-checkout,
.gcc-basket-system .basket-summary .basket-checkout{
  display:flex !important;
  width:100% !important;
  min-height:52px !important;
  max-width:none !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:4px !important;
  background:#b58a52 !important;
  color:#fff !important;
  box-shadow:0 1px 6px rgba(181,138,82,0.121) !important;
  transform:none !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
  text-align:center !important;
  text-transform:uppercase !important;
}

.gcc-basket-system .basket-summary-note{
  margin:0 !important;
  color:#756960 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.65rem !important;
  line-height:1.4 !important;
  text-align:center !important;
}

.gcc-basket-system .basket-view-cart{
  margin:0 !important;
  padding:4px !important;
  color:#77582f !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.68rem !important;
  font-weight:850 !important;
  text-align:center !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.gcc-basket-system .basket-empty{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  flex-direction:column !important;
  margin:0 !important;
  padding:28px 22px 24px !important;
  border:1px solid rgba(36,27,23,.09) !important;
  border-radius:5px !important;
  background:#f8f2ea !important;
  box-shadow:none !important;
  text-align:center !important;
}

.gcc-basket-system .basket-empty-icon{
  display:grid !important;
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  min-height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  place-items:center !important;
  margin:0 0 15px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 6px rgba(36,27,23,0.039) !important;
  font-size:0 !important;
}

.gcc-basket-system .basket-empty-icon svg{
  display:block !important;
  width:28px !important;
  height:28px !important;
  fill:none !important;
  stroke:#9a7441 !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.gcc-basket-system .basket-empty-kicker{
  margin:0 0 7px !important;
  color:#9a7441 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.58rem !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.gcc-basket-system .basket-empty h4{
  margin:0 !important;
  color:#211b17 !important;
  font-family:var(--font-display,Georgia,serif) !important;
  font-size:1.55rem !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
  line-height:1.05 !important;
}

.gcc-basket-system .basket-empty p{
  max-width:330px !important;
  margin:10px auto 18px !important;
  color:#756960 !important;
  font-family:var(--font-body,Arial,sans-serif) !important;
  font-size:.78rem !important;
  line-height:1.5 !important;
}

.gcc-basket-system .basket-empty .btn{
  display:flex !important;
  width:100% !important;
  min-height:50px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 16px !important;
  border-radius:3px !important;
  background:#211b17 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:.68rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

@media(max-width:640px){
  .gcc-basket-system .basket-drawer{
    top:8px !important;
    right:8px !important;
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
    border-radius:6px !important;
  }

  .gcc-basket-system .basket-top{
    min-height:106px !important;
    padding:19px 18px 17px !important;
  }

  .gcc-basket-system .basket-top h2{
    font-size:1.48rem !important;
  }

  .gcc-basket-system .basket-top p{
    max-width:245px !important;
    font-size:.69rem !important;
  }

  .gcc-basket-system .basket-content{
    max-height:calc(100dvh - 122px) !important;
    padding:15px 16px 18px !important;
  }

  .gcc-basket-system .basket-empty{
    padding:25px 18px 20px !important;
  }

  .gcc-basket-system .basket-item{
    grid-template-columns:70px minmax(0,1fr) !important;
    gap:11px !important;
    padding:10px !important;
  }

  .gcc-basket-system .basket-item-image,
  .gcc-basket-system .basket-item-image img{
    width:70px !important;
    height:70px !important;
  }
}

/* v130.07 — prevent legacy generated labels duplicating the real link text. */
.gcc-basket-system .basket-checkout::before,
.gcc-basket-system .basket-checkout::after,
.gcc-basket-system .basket-view-cart::before,
.gcc-basket-system .basket-view-cart::after{
  content:none !important;
  display:none !important;
}
/* ===== END CONSOLIDATED SOURCE: 39-menu-basket-seamless.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 40-overlay-finishing-fix.css ===== */
/**
 * Gillespies overlay finishing fixes — 129.13
 * Corrects legacy text-fill conflicts and keeps public drawers clear of the
 * WordPress toolbar while logged in.
 */

/* Modal overlays must always sit above WordPress' logged-in toolbar. */
.menu-overlay,
.slide-menu,
.gcc-basket-system,
.gcc-basket-system .basket-overlay,
.gcc-basket-system .basket-drawer{
  z-index:2147483000 !important;
}

.slide-menu,
.gcc-basket-system .basket-drawer{
  z-index:2147483010 !important;
}

/* The admin toolbar is useful while browsing, but not inside a focused modal. */
body.menu-open.admin-bar #wpadminbar,
body.basket-open-body.admin-bar #wpadminbar{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-110%) !important;
}

/* Old theme blocks used -webkit-text-fill-color, which can override color. */
body .slide-menu .menu-links a.gcc-menu-link--featured,
body .slide-menu .menu-links a.gcc-menu-link--featured:link,
body .slide-menu .menu-links a.gcc-menu-link--featured:visited,
body .slide-menu .menu-links a.gcc-menu-link--featured:hover,
body .slide-menu .menu-links a.gcc-menu-link--featured:focus,
body .slide-menu .menu-links a.gcc-menu-link--featured:focus-visible,
body .slide-menu .menu-links a.gcc-menu-link--featured:active{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

body .slide-menu .menu-links a.gcc-menu-link--featured > span{
  display:block !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
}

body .slide-menu .menu-links a.gcc-menu-link--featured > small{
  display:block !important;
  color:rgba(255,255,255,.72) !important;
  -webkit-text-fill-color:rgba(255,255,255,.72) !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Keep the drawers fully inside the usable mobile viewport. */
@media(max-width:780px){
  body .slide-menu,
  body .slide-menu.active{
    top:max(10px,env(safe-area-inset-top,0px)) !important;
    max-height:calc(100dvh - max(20px,env(safe-area-inset-top,0px) + 10px)) !important;
  }

  body .gcc-basket-system .basket-drawer,
  body .gcc-basket-system .basket-drawer.active{
    top:max(8px,env(safe-area-inset-top,0px)) !important;
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top,0px) + 8px)) !important;
  }

  body .gcc-basket-system .basket-top{
    min-height:100px !important;
    padding:17px 18px 15px !important;
  }

  body .gcc-basket-system .basket-top h2{
    font-size:1.42rem !important;
    line-height:1.03 !important;
  }

  body .gcc-basket-system .basket-top p{
    margin-top:6px !important;
  }

  body .gcc-basket-system .basket-content{
    max-height:calc(100dvh - 116px) !important;
  }
}

/* Extra-small phones: keep the heading and close control from colliding. */
@media(max-width:380px){
  body .gcc-basket-system .basket-top{
    gap:10px !important;
    padding-right:14px !important;
  }

  body .gcc-basket-system .basket-top-copy{
    max-width:calc(100% - 52px) !important;
  }

  body .gcc-basket-system .basket-close,
  body .gcc-basket-system #basketClose{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
  }
}
/* ===== END CONSOLIDATED SOURCE: 40-overlay-finishing-fix.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 41-menu-visibility-repair.css ===== */
/**
 * Gillespies primary menu visibility repair — 129.14
 * A deterministic final state layer. The accumulated legacy stylesheet has
 * contained several historical drawer implementations; this file makes the
 * current #slideMenu and #menuOverlay the sole visible overlay pair.
 */

/* Use ordinary high values rather than values near the browser integer limit. */
#menuOverlay.menu-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:10000010 !important;
  display:block !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  background:rgba(24,18,15,.58) !important;
  backdrop-filter:blur(12px) saturate(.84) !important;
  -webkit-backdrop-filter:blur(12px) saturate(.84) !important;
  transition:opacity .22s ease,visibility .22s ease !important;
}

#slideMenu.slide-menu{
  position:fixed !important;
  z-index:10000011 !important;
  display:flex !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translate3d(-110%,0,0) !important;
  isolation:isolate !important;
  will-change:transform,opacity !important;
  transition:transform .28s cubic-bezier(.22,.7,.25,1),opacity .18s ease,visibility .18s ease !important;
}

#menuOverlay.menu-overlay.active,
html.gcc-menu-is-open #menuOverlay.menu-overlay,
body.menu-open #menuOverlay.menu-overlay{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

#slideMenu.slide-menu.active,
html.gcc-menu-is-open #slideMenu.slide-menu,
body.menu-open #slideMenu.slide-menu{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transform:translate3d(0,0,0) !important;
}

/* Prevent any legacy generic panel selector from becoming the active drawer. */
body.menu-open .menu-drawer:not(#slideMenu),
body.menu-open .mobile-menu:not(#slideMenu),
body.menu-open .gcc-menu-panel:not(#slideMenu){
  pointer-events:none !important;
}

html.gcc-menu-is-open,
html.gcc-menu-is-open body,
body.menu-open{
  overflow:hidden !important;
}

@media(max-width:780px){
  #slideMenu.slide-menu,
  #slideMenu.slide-menu.active,
  html.gcc-menu-is-open #slideMenu.slide-menu,
  body.menu-open #slideMenu.slide-menu{
    top:max(10px,env(safe-area-inset-top,0px)) !important;
    right:auto !important;
    bottom:auto !important;
    left:10px !important;
    width:min(500px,calc(100vw - 20px)) !important;
    max-width:500px !important;
    height:auto !important;
    max-height:calc(100dvh - max(20px,env(safe-area-inset-top,0px) + 10px)) !important;
    margin:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(36,27,23,.10) !important;
    border-radius:28px !important;
    background:#fffdf9 !important;
    box-shadow:0 28px 90px rgba(24,18,15,.30) !important;
  }

  #slideMenu .gcc-menu-body{
    width:100% !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:#fffdf9 !important;
    -webkit-overflow-scrolling:touch !important;
  }
}

@media(prefers-reduced-motion:reduce){
  #menuOverlay.menu-overlay,
  #slideMenu.slide-menu{
    transition:none !important;
  }
}
/* ===== END CONSOLIDATED SOURCE: 41-menu-visibility-repair.css ===== */

/* ===== BEGIN CONSOLIDATED SOURCE: 42-overlay-close-button-consistency.css ===== */
/**
 * Gillespies overlay close-button consistency — 129.15
 * The site menu and basket use one shared close-control specification.
 */
:root{
  --gcc-overlay-close-size:46px;
}

/* Deliberately target the current public overlay controls with matching rules. */
#slideMenu .menu-close,
#slideMenu button.menu-close,
.gcc-basket-system .basket-close,
.gcc-basket-system #basketClose,
#basketDrawer .basket-close,
#basketDrawer #basketClose{
  position:relative !important;
  inset:auto !important;
  display:grid !important;
  flex:0 0 var(--gcc-overlay-close-size) !important;
  place-items:center !important;
  width:var(--gcc-overlay-close-size) !important;
  height:var(--gcc-overlay-close-size) !important;
  min-width:var(--gcc-overlay-close-size) !important;
  min-height:var(--gcc-overlay-close-size) !important;
  max-width:var(--gcc-overlay-close-size) !important;
  max-height:var(--gcc-overlay-close-size) !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  overflow:hidden !important;
  border:1px solid rgba(36,27,23,.12) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#211b17 !important;
  -webkit-text-fill-color:#211b17 !important;
  box-shadow:0 1px 5px rgba(36,27,23,0.044) !important;
  font-family:var(--font-body,Arial,Helvetica,sans-serif) !important;
  font-size:27px !important;
  font-style:normal !important;
  font-weight:300 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  text-align:center !important;
  text-indent:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

#slideMenu .menu-close::before,
#slideMenu .menu-close::after,
.gcc-basket-system .basket-close::before,
.gcc-basket-system .basket-close::after,
.gcc-basket-system #basketClose::before,
.gcc-basket-system #basketClose::after,
#basketDrawer .basket-close::before,
#basketDrawer .basket-close::after,
#basketDrawer #basketClose::before,
#basketDrawer #basketClose::after{
  content:none !important;
  display:none !important;
}

#slideMenu .menu-close:hover,
#slideMenu .menu-close:focus-visible,
.gcc-basket-system .basket-close:hover,
.gcc-basket-system .basket-close:focus-visible,
.gcc-basket-system #basketClose:hover,
.gcc-basket-system #basketClose:focus-visible{
  border-color:rgba(154,116,65,.36) !important;
  background:#fbf6f0 !important;
  color:#211b17 !important;
  -webkit-text-fill-color:#211b17 !important;
  box-shadow:0 1px 6px rgba(36,27,23,0.066) !important;
}

/* Do not let narrow-phone legacy rules shrink only one of the two controls. */
@media(max-width:380px){
  :root{
    --gcc-overlay-close-size:44px;
  }
}
/* ===== END CONSOLIDATED SOURCE: 42-overlay-close-button-consistency.css ===== */

/* ===== v130.31 Theme-owned footer navigation ===== */
/*
 * Semantic footer classes keep all quick links identical. In particular{
  margin: 0 0 14px;
  color: #fff;
  font-family: var(--font-display, Georgia, "Times New Roman", serif);
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.05;
  text-transform: none;
}



/* ===== v131.6 Cookie settings control-column refinement ===== */
.gcc-cookie-settings-enhanced .gcc-cookie-policy-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  width:fit-content !important;
  margin:12px 0 2px !important;
  color:#6f4f2d !important;
  -webkit-text-fill-color:#6f4f2d !important;
  font-family:var(--font-body,"Public Sans",Arial,sans-serif) !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-policy-link::after{
  content:"→" !important;
  display:inline-block !important;
  color:#a57a43 !important;
  -webkit-text-fill-color:#a57a43 !important;
  text-decoration:none !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-policy-link:hover,
.gcc-cookie-settings-enhanced .gcc-cookie-policy-link:focus-visible{
  color:#241b17 !important;
  -webkit-text-fill-color:#241b17 !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-switch-host{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  min-width:max-content !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-category-row{
  position:relative !important;
  box-sizing:border-box !important;
  min-height:112px !important;
  padding-right:150px !important;
}

/* Reserve a dedicated right-hand control lane so the state badge and native
 * switch can never overlap the category heading or description text. */
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > h1,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > h2,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > h3,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > h4,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > h5,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > h6,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > p,
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > div:not(.gcc-cookie-switch-host),
.gcc-cookie-settings-enhanced .gcc-cookie-category-row > span:not(.gcc-cookie-state-label){
  max-width:100% !important;
  min-width:0 !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-state-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  min-height:28px !important;
  padding:5px 9px !important;
  border:1px solid #d8cec4 !important;
  border-radius:999px !important;
  background:#eee9e3 !important;
  color:#625951 !important;
  -webkit-text-fill-color:#625951 !important;
  font-family:var(--font-body,"Public Sans",Arial,sans-serif) !important;
  font-size:.7rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-state-label.is-on{
  border-color:#c9a467 !important;
  background:#f2e6d3 !important;
  color:#69491f !important;
  -webkit-text-fill-color:#69491f !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-state-label.is-off{
  border-color:#d8d1ca !important;
  background:#f1eeea !important;
  color:#655c55 !important;
  -webkit-text-fill-color:#655c55 !important;
}

.gcc-cookie-settings-enhanced .gcc-cookie-state-label.is-floating{
  position:absolute !important;
  z-index:2 !important;
  top:50% !important;
  right:86px !important;
  transform:translateY(-50%) !important;
  pointer-events:none !important;
}

@media(max-width:520px){
  .gcc-cookie-settings-enhanced .gcc-cookie-policy-link{
    font-size:.8rem !important;
  }

  .gcc-cookie-settings-enhanced .gcc-cookie-category-row{
    min-height:118px !important;
    padding-right:126px !important;
  }

  .gcc-cookie-settings-enhanced .gcc-cookie-state-label{
    min-width:36px !important;
    min-height:24px !important;
    padding:4px 7px !important;
    font-size:.62rem !important;
  }

  .gcc-cookie-settings-enhanced .gcc-cookie-state-label.is-floating{
    right:72px !important;
  }
}

@media(max-width:380px){
  .gcc-cookie-settings-enhanced .gcc-cookie-category-row{
    min-height:124px !important;
    padding-right:116px !important;
  }

  .gcc-cookie-settings-enhanced .gcc-cookie-state-label.is-floating{
    right:68px !important;
  }
}
/* ===== END v131.6 Cookie settings control-column refinement ===== */
