/*
Theme Name: Gillespies Couture Cakes
Version: 128.9
Description: Polished Gillespies cake class theme.
*/

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --beige:#fbf6f0;
  --cream:#fffaf5;
  --brown:#241b17;
  --brown2:#3a2f2a;
  --gold:#b89068;
  --border:#eadfd4;
  --muted:#76665c;
}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:#fbf6f0;
  color:var(--brown);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;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:Georgia,"Times New Roman",serif;font-size:1.35rem;text-decoration:none!important;color:var(--brown);
}
.menu-links span{font-family: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)),
    url("https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0109.jpg") 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)),url("https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg")}
.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)),url("https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0112.jpg")}
.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: 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 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  margin: 30px 0 0 !important;
}

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

.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  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;
  overflow: hidden;
  transition: .25s ease;
}

.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 {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 24px;
  margin: 0 0 18px !important;
  box-shadow: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  color: var(--brown) !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  letter-spacing: -.02em;
}

.woocommerce ul.products li.product .price {
  color: var(--gold) !important;
  font-weight: 900 !important;
  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 {
  color: var(--gold) !important;
  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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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;
}

.page-main .about-page {
  padding-top: 0 !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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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: 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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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: 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: 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 {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  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: 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;
  box-shadow: 0 18px 55px rgba(36,27,23,.12) !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-family: Georgia, "Times New Roman", serif !important;
  color: var(--brown) !important;
  font-size: clamp(2.05rem, 5vw, 4.25rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  margin: 0 0 18px !important;
}

/* price and finance */
.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 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 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin: 22px 0 24px !important;
}

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

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

.single-product .gcc-product-trust span {
  display: block !important;
  color: var(--muted) !important;
  font-size: .94rem !important;
  line-height: 1.5 !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;
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !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;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--brown) !important;
  font-weight: 900 !important;
  text-align: center !important;
  font-size: 1rem !important;
}

.single-product .single_add_to_cart_button {
  width: 100% !important;
  min-height: 56px !important;
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: none !important;
  font-weight: 900 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !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;
  clear: both !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(234,223,212,.95) !important;
  border-radius: 34px !important;
  padding: clamp(24px, 4vw, 44px) !important;
  margin: 20px 0 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 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 {
  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::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
  display: none !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: 13px 20px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  font-size: .85rem !important;
}

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

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

.single-product .woocommerce-tabs .panel h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  color: var(--brown) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.08 !important;
  margin: 0 0 18px !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 .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: 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: 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: 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: 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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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: 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: 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 {
  background: linear-gradient(135deg,var(--brown),var(--brown2)) !important;
  border-radius: 24px !important;
  padding: 20px !important;
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  gap: 12px !important;
  align-items: center !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: 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: 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: 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;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #1877f2 !important;
  font-family: 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: 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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0109.jpg') 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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') center/cover no-repeat !important;
}

.home .split-section .feature-image {
  background-image:
    linear-gradient(rgba(58,47,42,.08),rgba(58,47,42,.08)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') !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)),
      url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0112.jpg') center/cover no-repeat !important;
}

.home img[src*='unsplash'] {
    content: url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0112.jpg') !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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0112.jpg') 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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0112.jpg') 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)),
    url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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 {
  padding-top: 24px !important;
}

.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-overlay {
  z-index: 99998 !important;
}

.basket-drawer {
  z-index: 99999 !important;
}

.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: 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-overlay {
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 99998 !important;
}

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

.basket-drawer {
  top: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  width: min(420px, calc(100% - 24px)) !important;
  max-width: 420px !important;
  z-index: 99999 !important;
  transform: translate3d(calc(100% + 48px), 0, 0) !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.basket-drawer.active {
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
  pointer-events: auto !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;
}


/* v43 privacy policy footer link */
.gcc-footer-legal{
    text-align:center;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.08);
}

.gcc-footer-legal a{
    color:#d8b48c !important;
    text-decoration:none !important;
    font-size:.92rem;
    font-weight:700;
    transition:.25s ease;
}

.gcc-footer-legal a:hover{
    color:#fff !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: 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: 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 Book A Class 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)),url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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"],
nav a[href*="/reviews"] {
  display: block !important;
}

/* Hide only truly loose reviews links outside the menu/nav */
body > a[href*="/reviews"],
.site-footer > a[href*="/reviews"],
footer > a[href*="/reviews"] {
  display: none !important;
}


/* 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"],
.site-footer > a[href*="/reviews"],
footer > 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;
  font-family: inherit !important;
  color: var(--brown) !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: 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: 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: 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;
}

/* Make Reviews stop inheriting browser/default sans styling */
a[href="https://gillespiescouturecakes.co.uk/reviews/"],
a[href*="gillespiescouturecakes.co.uk/reviews"] {
  font-family: 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;
}

@media(max-width:640px){
  .menu-panel a,
  .menu-drawer a,
  .mobile-menu a,
  .offcanvas-menu a,
  .menu-links a,
  a[href="https://gillespiescouturecakes.co.uk/reviews/"],
  a[href*="gillespiescouturecakes.co.uk/reviews"] {
    font-size: 1.62rem !important;
    font-family: 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: 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: 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: 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;
  color: #fff !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;
  color: #f4ddc4 !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: Arial, Helvetica, sans-serif !important;
  font-size: .88rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #fff !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 */
.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;
}

/* 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: Inter, "Helvetica Neue", 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: Inter, 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: 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;
  gap: 0 !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-family: "Helvetica Neue", Arial, sans-serif !important;
  font-size: clamp(1.65rem, 5.2vw, 2rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  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: 62px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(184,144,104,.22) !important;
}

.slide-menu .menu-links a::after {
  content: "→" !important;
  font-family: "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #b89068 !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: "Helvetica Neue", 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-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    padding: 10px 0 !important;
}



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

.slide-menu .menu-links a {
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: -0.3px !important;
    line-height: 1.3 !important;
    color: #241b17 !important;
    text-transform: none !important;
    padding: 18px 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

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

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

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

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



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

.slide-menu .menu-links a {
    font-family: "Cormorant Garamond", 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;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !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-family: Arial, sans-serif !important;
    font-size: 16px !important;
    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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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;
  max-width: 620px !important;
  margin: 0 auto !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;
  border-radius: 34px !important;
  padding: 34px 26px 28px !important;
  box-shadow: 0 22px 65px rgba(36,27,23,.10) !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: 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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;
  margin: 0 auto !important;
  padding: 34px 24px 28px !important;
  border-radius: 34px !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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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;
    }
}


/* ===== v82 CAKE LEAGUE PAGE ===== */

.gcc-cake-league-page {
    background:
        radial-gradient(circle at 10% 8%, rgba(216,180,140,.16) 0 180px, transparent 182px),
        radial-gradient(circle at 92% 18%, rgba(36,27,23,.08) 0 220px, transparent 222px),
        linear-gradient(180deg, #fbf6ef 0%, #fffaf4 100%);
    color: #241b17;
}

.gcc-cake-league-wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 120px 22px 110px;
}

.gcc-cake-league-hero {
    position: relative;
    overflow: hidden;
    border-radius: 38px;
    padding: clamp(34px, 6vw, 70px) clamp(22px, 5vw, 58px);
    background:
        radial-gradient(circle at 85% 15%, rgba(216,180,140,.26) 0 150px, transparent 152px),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,239,231,.96));
    border: 1px solid rgba(184,144,104,.28);
    box-shadow: 0 28px 80px rgba(36,27,23,.10);
    text-align: center;
}

.gcc-cake-league-kicker {
    display: block;
    color: #b89068;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.gcc-cake-league-hero h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 9vw, 6.4rem);
    line-height: .9;
    letter-spacing: -.04em;
    color: #241b17;
}

.gcc-cake-league-hero h1 span {
    display: block;
    color: #b89068;
}

.gcc-cake-league-subtitle {
    max-width: 720px;
    margin: 22px auto 0;
    color: #6f625a;
    font-size: clamp(1rem, 2vw, 1.18rem);
    line-height: 1.7;
}

.gcc-league-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 26px;
}

.gcc-league-badge {
    border-radius: 999px;
    padding: 10px 16px;
    background: #241b17;
    color: #f6dec0;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gcc-league-board {
    margin-top: 34px;
    border-radius: 34px;
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(184,144,104,.28);
    box-shadow: 0 24px 70px rgba(36,27,23,.09);
}

.gcc-league-table {
    width: 100%;
    border-collapse: collapse;
}

.gcc-league-table thead th {
    background: #241b17;
    color: #e7c08a;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 18px 16px;
    text-align: left;
}

.gcc-league-table tbody td {
    padding: 18px 16px;
    border-bottom: 1px solid rgba(184,144,104,.18);
    color: #241b17;
    font-size: 1rem;
    vertical-align: middle;
}

.gcc-league-table tbody tr:last-child td {
    border-bottom: 0;
}

.gcc-league-place {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, #9c6f2f, #d7ae68);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(156,111,47,.22);
}

.gcc-league-input-line {
    display: block;
    min-height: 20px;
    border-bottom: 1px dotted rgba(184,144,104,.65);
    color: #7d6e64;
}

.gcc-league-score {
    font-weight: 900;
    color: #b89068;
}

.gcc-league-criteria {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.gcc-league-criterion {
    border-radius: 24px;
    padding: 22px 16px;
    text-align: center;
    background: #241b17;
    color: #fff;
    box-shadow: 0 16px 40px rgba(36,27,23,.10);
}

.gcc-league-criterion span {
    display: block;
    font-size: 1.7rem;
    margin-bottom: 8px;
}

.gcc-league-criterion strong {
    display: block;
    color: #f6dec0;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    line-height: 1.35;
}

.gcc-league-update-card {
    margin-top: 34px;
    border-radius: 34px;
    padding: clamp(26px, 4vw, 44px);
    background:
        radial-gradient(circle at 90% 15%, rgba(216,180,140,.18) 0 120px, transparent 122px),
        linear-gradient(135deg, #241b17, #33231e);
    color: #fff;
    text-align: center;
    box-shadow: 0 24px 70px rgba(36,27,23,.16);
}

.gcc-league-update-card h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1;
    color: #fff;
}

.gcc-league-update-card p {
    max-width: 650px;
    margin: 0 auto 24px;
    color: #f4ddc4;
    line-height: 1.7;
}

.gcc-league-update-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    border-radius: 999px;
    padding: 0 34px;
    background: linear-gradient(135deg, #c89f72, #e3bd8a);
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

@media (max-width: 820px) {
    .gcc-cake-league-wrap {
        padding: 96px 14px 100px;
    }

    .gcc-cake-league-hero {
        border-radius: 30px;
    }

    .gcc-league-board {
        border-radius: 28px;
        overflow-x: auto;
    }

    .gcc-league-table {
        min-width: 760px;
    }

    .gcc-league-criteria {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gcc-league-criterion:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .gcc-league-criteria {
        grid-template-columns: 1fr;
    }

    .gcc-league-criterion:last-child {
        grid-column: auto;
    }
}


/* ===== v83 CAKE LEAGUE SIMPLE TABLE: PLACE / VENUE / DATE ONLY ===== */

.gcc-league-table {
    table-layout: fixed !important;
    min-width: 0 !important;
}

.gcc-league-table th:nth-child(1),
.gcc-league-table td:nth-child(1) {
    width: 24% !important;
}

.gcc-league-table th:nth-child(2),
.gcc-league-table td:nth-child(2) {
    width: 50% !important;
}

.gcc-league-table th:nth-child(3),
.gcc-league-table td:nth-child(3) {
    width: 26% !important;
}

.gcc-league-table thead th {
    padding: 16px 14px !important;
}

.gcc-league-table tbody td {
    padding: 16px 14px !important;
}

.gcc-league-board {
    overflow: hidden !important;
}

/* Hide any old points/notes columns if cached markup remains */
.gcc-league-table th:nth-child(4),
.gcc-league-table th:nth-child(5),
.gcc-league-table td:nth-child(4),
.gcc-league-table td:nth-child(5) {
    display: none !important;
}

/* Make mobile table fit the screen without sideways scrolling */
@media (max-width: 820px) {
    .gcc-league-board {
        overflow: hidden !important;
    }

    .gcc-league-table {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: fixed !important;
    }

    .gcc-league-table thead th {
        font-size: .68rem !important;
        letter-spacing: .12em !important;
        padding: 14px 10px !important;
    }

    .gcc-league-table tbody td {
        padding: 14px 10px !important;
        font-size: .92rem !important;
    }

    .gcc-league-place {
        min-width: 48px !important;
        height: 36px !important;
        font-size: .95rem !important;
    }

    .gcc-league-input-line {
        min-height: 18px !important;
    }
}

@media (max-width: 420px) {
    .gcc-league-table th:nth-child(1),
    .gcc-league-table td:nth-child(1) {
        width: 24% !important;
    }

    .gcc-league-table th:nth-child(2),
    .gcc-league-table td:nth-child(2) {
        width: 48% !important;
    }

    .gcc-league-table th:nth-child(3),
    .gcc-league-table td:nth-child(3) {
        width: 28% !important;
    }

    .gcc-league-table thead th {
        padding: 13px 8px !important;
    }

    .gcc-league-table tbody td {
        padding: 13px 8px !important;
    }

    .gcc-league-place {
        min-width: 44px !important;
        height: 34px !important;
        font-size: .88rem !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: 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 {
    cursor: pointer !important;
    position: relative !important;
    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: 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: "Inter", "Helvetica Neue", 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: 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: "Inter", "Helvetica Neue", 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,
    .gcc-league-board,
    .gcc-league-update-card {
        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;
    }

    /* Cake League: keep table simple and stop it looking overly boxed */
    .gcc-cake-league-wrap {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .gcc-league-board {
        border-radius: 24px !important;
    }

    .gcc-league-table tbody td {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    /* General spacing rhythm */
    section,
    .wp-block-group,
    .woocommerce,
    .gcc-cake-league-hero,
    .gcc-league-board,
    .gcc-league-update-card {
        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;
}

/* Generic cards / page panels */
.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,
.gcc-league-board,
.gcc-league-update-card {
    padding: var(--gcc-card-pad-desktop) !important;
}

/* 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,
    .gcc-league-board,
    .gcc-league-update-card {
        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: "Inter", "Helvetica Neue", 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: 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: 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: 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-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: 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;
}

body.woocommerce-checkout .woocommerce-info::before {
    color: #b89068 !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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: 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: 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: 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: 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: "Inter", "Helvetica Neue", 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: "Inter", "Helvetica Neue", 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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,
.woocommerce-shop .footer .gcc-footer-legal,
.single-product .footer .socials,
.single-product .footer .gcc-footer-legal {
  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: 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 {
.gcc-404-hero {
.gcc-404-card {
.gcc-404-card::before {
    content: "404";
.gcc-404-kicker {
.gcc-404-card h1 {
.gcc-404-card p {
.gcc-404-actions {
.gcc-404-btn {
.gcc-404-btn:hover {
.gcc-404-btn.primary {
.gcc-404-btn.secondary {
.gcc-404-links {
.gcc-404-links a {
.gcc-404-links a:hover {
    .gcc-404-hero {
    .gcc-404-card {
    .gcc-404-card h1 {
    .gcc-404-actions {
    .gcc-404-btn {
    .gcc-404-links {

/* ===== v127 DESKTOP PRODUCT PAGE LAYOUT POLISH ===== */
/* Desktop only — keeps current mobile product layout intact */

@media (min-width: 1025px) {

    body.single-product {
        background:
            radial-gradient(circle at 12% 8%, rgba(216,180,140,.12) 0 190px, transparent 192px),
            radial-gradient(circle at 88% 18%, rgba(36,27,23,.05) 0 260px, transparent 262px),
            linear-gradient(180deg, #fbf6ef 0%, #fffaf4 100%) !important;
    }

    body.single-product .site-main,
    body.single-product main,
    body.single-product .content-area,
    body.single-product .entry-content,
    body.single-product .woocommerce {
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.single-product .woocommerce {
        padding: 130px 28px 90px !important;
    }

    body.single-product div.product {
        display: grid !important;
        grid-template-columns: minmax(420px, 1fr) minmax(420px, .9fr) !important;
        gap: 46px !important;
        align-items: start !important;
        background:
            radial-gradient(circle at 92% 8%, rgba(216,180,140,.14) 0 160px, transparent 162px),
            rgba(255,255,255,.88) !important;
        border: 1px solid rgba(184,144,104,.24) !important;
        border-radius: 42px !important;
        padding: 34px !important;
        box-shadow: 0 24px 70px rgba(36,27,23,.08) !important;
        overflow: hidden !important;
    }

    /* Image column */
    body.single-product div.product div.images,
    body.single-product div.product .woocommerce-product-gallery {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        position: sticky !important;
        top: 120px !important;
    }

    body.single-product div.product div.images img,
    body.single-product .woocommerce-product-gallery__image img,
    body.single-product .wp-post-image {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 34px !important;
        box-shadow: 0 18px 48px rgba(36,27,23,.10) !important;
    }

    body.single-product div.product div.images .flex-control-thumbs {
        display: flex !important;
        gap: 12px !important;
        margin-top: 14px !important;
    }

    body.single-product div.product div.images .flex-control-thumbs li {
        width: 76px !important;
        margin: 0 !important;
    }

    body.single-product div.product div.images .flex-control-thumbs img {
        border-radius: 16px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        opacity: .65 !important;
        transition: opacity .2s ease, transform .2s ease !important;
    }

    body.single-product div.product div.images .flex-control-thumbs img.flex-active,
    body.single-product div.product div.images .flex-control-thumbs img:hover {
        opacity: 1 !important;
        transform: translateY(-2px) !important;
    }

    /* Summary column */
    body.single-product div.product div.summary {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 18px 8px 8px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.single-product div.product .product_title {
        font-size: clamp(3.2rem, 5vw, 5.8rem) !important;
        line-height: .9 !important;
        letter-spacing: -.055em !important;
        margin: 0 0 18px !important;
        color: #241b17 !important;
        max-width: 640px !important;
    }

    body.single-product div.product p.price,
    body.single-product div.product span.price {
        font-size: 2rem !important;
        line-height: 1 !important;
        color: #b89068 !important;
        font-weight: 900 !important;
        margin: 0 0 22px !important;
    }

    body.single-product .woocommerce-product-details__short-description {
        font-size: 1.06rem !important;
        line-height: 1.72 !important;
        color: #5f524b !important;
        margin: 0 0 24px !important;
        max-width: 620px !important;
    }

    body.single-product .woocommerce-product-details__short-description p {
        margin-bottom: 14px !important;
    }

    /* Booking / cart panel */
    body.single-product div.product form.cart {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 130px minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: center !important;
        margin: 8px 0 24px !important;
        padding: 20px !important;
        border-radius: 28px !important;
        background: rgba(251,246,239,.85) !important;
        border: 1px solid rgba(184,144,104,.22) !important;
        box-shadow: 0 12px 34px rgba(36,27,23,.045) !important;
    }

    body.single-product div.product form.cart::before {
        content: "Secure your space";
        grid-column: 1 / -1;
        display: block;
        color: #b89068;
        font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
        font-size: .78rem;
        font-weight: 900;
        letter-spacing: .16em;
        text-transform: uppercase;
        margin-bottom: 2px;
    }

    body.single-product div.product form.cart .quantity {
        width: 100% !important;
        margin: 0 !important;
    }

    body.single-product div.product form.cart .quantity input.qty {
        width: 100% !important;
        min-height: 58px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(184,144,104,.3) !important;
        background: #fff !important;
        color: #241b17 !important;
        text-align: center !important;
        font-size: 1.05rem !important;
        font-weight: 900 !important;
        box-shadow: none !important;
    }

    body.single-product div.product form.cart button.single_add_to_cart_button,
    body.single-product div.product form.cart .single_add_to_cart_button {
        width: 100% !important;
        min-height: 58px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: linear-gradient(135deg, #241b17, #3b2822) !important;
        color: #fff !important;
        border: 0 !important;
        font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
        font-size: .9rem !important;
        font-weight: 900 !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
        box-shadow: 0 14px 32px rgba(36,27,23,.16) !important;
    }

    body.single-product div.product form.cart button.single_add_to_cart_button:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 18px 38px rgba(36,27,23,.20) !important;
    }

    /* Meta / categories */
    body.single-product .product_meta {
        width: 100% !important;
        margin-top: 4px !important;
        padding: 18px 20px !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.7) !important;
        border: 1px solid rgba(184,144,104,.18) !important;
        color: #6f625a !important;
        font-size: .92rem !important;
    }

    body.single-product .product_meta a {
        color: #b89068 !important;
        font-weight: 800 !important;
    }

    /* Tabs/description below product */
    body.single-product .woocommerce-tabs {
        grid-column: 1 / -1 !important;
        margin-top: 24px !important;
        padding: 0 !important;
        background: transparent !important;
    }

    body.single-product .woocommerce-tabs ul.tabs {
        display: flex !important;
        gap: 10px !important;
        padding: 0 !important;
        margin: 0 0 18px !important;
        border: 0 !important;
    }

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

    body.single-product .woocommerce-tabs ul.tabs li {
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 46px !important;
        padding: 0 20px !important;
        border-radius: 999px !important;
        background: #fbf6ef !important;
        border: 1px solid rgba(184,144,104,.22) !important;
        color: #241b17 !important;
        font-weight: 900 !important;
        font-size: .78rem !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li.active a {
        background: #241b17 !important;
        color: #fff !important;
    }

    body.single-product .woocommerce-Tabs-panel {
        border-radius: 30px !important;
        padding: 28px !important;
        background: rgba(255,255,255,.82) !important;
        border: 1px solid rgba(184,144,104,.22) !important;
        box-shadow: 0 14px 42px rgba(36,27,23,.055) !important;
        color: #5f524b !important;
        line-height: 1.75 !important;
    }

    body.single-product .woocommerce-Tabs-panel h2 {
        font-size: clamp(2.4rem, 4vw, 3.6rem) !important;
        line-height: .95 !important;
        margin: 0 0 18px !important;
        color: #241b17 !important;
    }

    /* Related products */
    body.single-product .related.products,
    body.single-product .up-sells.products {
        grid-column: 1 / -1 !important;
        margin-top: 34px !important;
        padding-top: 24px !important;
        border-top: 1px solid rgba(184,144,104,.18) !important;
    }

    body.single-product .related.products > h2,
    body.single-product .up-sells.products > h2 {
        text-align: center !important;
        font-size: clamp(2.8rem, 5vw, 4.6rem) !important;
        line-height: .92 !important;
        margin-bottom: 26px !important;
    }
}

/* Mid desktop */
@media (min-width: 1025px) and (max-width: 1180px) {
    body.single-product div.product {
        grid-template-columns: minmax(360px, .9fr) minmax(390px, 1fr) !important;
        gap: 32px !important;
        padding: 28px !important;
    }

    body.single-product div.product .product_title {
        font-size: clamp(3rem, 4.7vw, 4.8rem) !important;
    }
}


/* ===== v128 PREMIUM DESKTOP PRODUCT PAGE REBUILD ===== */
/* Keeps mobile intact; rebuilds desktop single product pages into a premium booking layout */

@media (min-width: 1025px) {

    body.single-product {
        background:
            radial-gradient(circle at 10% 8%, rgba(216,180,140,.13) 0 220px, transparent 222px),
            radial-gradient(circle at 88% 18%, rgba(36,27,23,.055) 0 260px, transparent 262px),
            linear-gradient(180deg, #fbf6ef 0%, #fffaf4 100%) !important;
    }

    body.single-product .gcc-single-product-page {
        padding: 128px 26px 96px !important;
        background: transparent !important;
    }

    body.single-product .gcc-product-shell {
        max-width: 1220px !important;
        margin: 0 auto !important;
    }

    body.single-product .gcc-product-layout {
        display: grid !important;
        grid-template-columns: minmax(440px, 1fr) minmax(440px, .9fr) !important;
        grid-template-areas:
            "gallery summary"
            "details details" !important;
        gap: 34px !important;
        align-items: start !important;
        padding: 34px !important;
        border-radius: 44px !important;
        background:
            radial-gradient(circle at 92% 8%, rgba(216,180,140,.14) 0 170px, transparent 172px),
            rgba(255,255,255,.90) !important;
        border: 1px solid rgba(184,144,104,.24) !important;
        box-shadow: 0 26px 78px rgba(36,27,23,.085) !important;
        overflow: visible !important;
    }

    body.single-product .gcc-product-gallery-panel {
        grid-area: gallery !important;
        position: sticky !important;
        top: 112px !important;
        align-self: start !important;
    }

    body.single-product .gcc-product-summary-panel {
        grid-area: summary !important;
        padding: 12px 8px 0 !important;
    }

    body.single-product .gcc-product-details-panel {
        grid-area: details !important;
        width: 100% !important;
        margin-top: 8px !important;
    }

    /* Stop default Woo floats from breaking desktop layout */
    body.single-product .gcc-product-layout div.images,
    body.single-product .gcc-product-layout .woocommerce-product-gallery,
    body.single-product .gcc-product-layout div.summary {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        clear: none !important;
    }

    /* Gallery */
    body.single-product .gcc-product-gallery-panel .woocommerce-product-gallery {
        border-radius: 34px !important;
        overflow: hidden !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 {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 34px !important;
        box-shadow: 0 18px 48px rgba(36,27,23,.10) !important;
        background: #fbf6ef !important;
    }

    body.single-product .gcc-product-gallery-panel .flex-control-thumbs {
        display: flex !important;
        gap: 12px !important;
        margin: 14px 0 0 !important;
        padding: 0 !important;
    }

    body.single-product .gcc-product-gallery-panel .flex-control-thumbs li {
        width: 76px !important;
        margin: 0 !important;
        list-style: none !important;
    }

    body.single-product .gcc-product-gallery-panel .flex-control-thumbs img {
        border-radius: 16px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        opacity: .65 !important;
        box-shadow: none !important;
    }

    body.single-product .gcc-product-gallery-panel .flex-control-thumbs img.flex-active,
    body.single-product .gcc-product-gallery-panel .flex-control-thumbs img:hover {
        opacity: 1 !important;
    }

    /* Summary typography */
    body.single-product .gcc-product-kicker {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 34px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        background: #fbf6ef !important;
        border: 1px solid rgba(184,144,104,.22) !important;
        color: #b89068 !important;
        font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
        font-size: .72rem !important;
        font-weight: 900 !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
        margin-bottom: 18px !important;
    }

    body.single-product .gcc-product-summary-panel .product_title {
        font-size: clamp(3.25rem, 5vw, 5.8rem) !important;
        line-height: .91 !important;
        letter-spacing: -.06em !important;
        margin: 0 0 18px !important;
        color: #241b17 !important;
        max-width: 620px !important;
    }

    body.single-product .gcc-product-summary-panel .price {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 6px !important;
        margin: 0 0 16px !important;
        color: #b89068 !important;
        font-size: 2.05rem !important;
        line-height: 1 !important;
        font-weight: 900 !important;
    }

    body.single-product .gcc-product-summary-panel .stock,
    body.single-product .gcc-product-summary-panel p.stock {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 36px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        background: rgba(184,144,104,.12) !important;
        color: #7d5934 !important;
        font-weight: 900 !important;
        font-size: .85rem !important;
        margin: 0 0 18px !important;
    }

    body.single-product .gcc-product-summary-panel .woocommerce-product-details__short-description {
        margin: 0 0 22px !important;
        padding: 0 !important;
        color: #5f524b !important;
        font-size: 1.05rem !important;
        line-height: 1.7 !important;
        max-width: 620px !important;
    }

    body.single-product .gcc-product-summary-panel .woocommerce-product-details__short-description p {
        margin-bottom: 12px !important;
    }

    /* Booking panel */
    body.single-product .gcc-product-summary-panel form.cart {
        width: 100% !important;
        max-width: 620px !important;
        margin: 8px 0 22px !important;
        padding: 22px !important;
        border-radius: 30px !important;
        background:
            radial-gradient(circle at 92% 12%, rgba(216,180,140,.12) 0 120px, transparent 122px),
            rgba(251,246,239,.9) !important;
        border: 1px solid rgba(184,144,104,.24) !important;
        box-shadow: 0 14px 38px rgba(36,27,23,.055) !important;
        display: grid !important;
        grid-template-columns: 130px minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: center !important;
    }

    body.single-product .gcc-product-summary-panel form.cart::before {
        content: "Secure your space";
        grid-column: 1 / -1;
        display: block;
        color: #b89068;
        font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
        font-size: .76rem;
        font-weight: 900;
        letter-spacing: .16em;
        text-transform: uppercase;
        margin-bottom: 2px;
    }

    body.single-product .gcc-product-summary-panel form.cart .quantity {
        width: 100% !important;
        margin: 0 !important;
    }

    body.single-product .gcc-product-summary-panel form.cart .qty {
        width: 100% !important;
        min-height: 60px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(184,144,104,.32) !important;
        background: #fff !important;
        color: #241b17 !important;
        text-align: center !important;
        font-size: 1.08rem !important;
        font-weight: 900 !important;
        box-shadow: none !important;
        padding: 0 12px !important;
    }

    body.single-product .gcc-product-summary-panel form.cart .single_add_to_cart_button {
        width: 100% !important;
        min-height: 60px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        border: 0 !important;
        background: linear-gradient(135deg, #241b17, #3b2822) !important;
        color: #fff !important;
        font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
        font-size: .92rem !important;
        font-weight: 900 !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
        box-shadow: 0 14px 32px rgba(36,27,23,.16) !important;
        transition: transform .2s ease, box-shadow .2s ease !important;
    }

    body.single-product .gcc-product-summary-panel form.cart .single_add_to_cart_button:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 18px 40px rgba(36,27,23,.20) !important;
    }

    /* Product meta */
    body.single-product .gcc-product-summary-panel .product_meta {
        max-width: 620px !important;
        width: 100% !important;
        padding: 16px 18px !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.72) !important;
        border: 1px solid rgba(184,144,104,.18) !important;
        color: #6f625a !important;
        font-size: .92rem !important;
    }

    body.single-product .gcc-product-summary-panel .product_meta a {
        color: #b89068 !important;
        font-weight: 800 !important;
    }

    /* Trust row */
    body.single-product .gcc-product-trust {
        max-width: 620px !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin-top: 16px !important;
    }

    body.single-product .gcc-product-trust div {
        padding: 16px 12px !important;
        border-radius: 22px !important;
        background: rgba(255,255,255,.76) !important;
        border: 1px solid rgba(184,144,104,.18) !important;
        text-align: center !important;
    }

    body.single-product .gcc-product-trust strong {
        display: block !important;
        color: #241b17 !important;
        font-size: .86rem !important;
        line-height: 1.15 !important;
        margin-bottom: 4px !important;
    }

    body.single-product .gcc-product-trust span {
        display: block !important;
        color: #7d6e64 !important;
        font-size: .78rem !important;
        line-height: 1.25 !important;
    }

    /* Details / tabs */
    body.single-product .gcc-product-details-panel .woocommerce-tabs {
        padding: 0 !important;
        margin: 4px 0 0 !important;
        clear: both !important;
        width: 100% !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs {
        display: flex !important;
        gap: 10px !important;
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs::before,
    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs li::before,
    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs li::after {
        display: none !important;
        content: none !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs li {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs li a {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 46px !important;
        padding: 0 20px !important;
        border-radius: 999px !important;
        background: #fbf6ef !important;
        border: 1px solid rgba(184,144,104,.22) !important;
        color: #241b17 !important;
        font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
        font-weight: 900 !important;
        font-size: .78rem !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-tabs ul.tabs li.active a {
        background: #241b17 !important;
        color: #fff !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-Tabs-panel {
        border-radius: 30px !important;
        padding: 30px !important;
        background: rgba(255,255,255,.84) !important;
        border: 1px solid rgba(184,144,104,.22) !important;
        box-shadow: 0 14px 42px rgba(36,27,23,.055) !important;
        color: #5f524b !important;
        font-size: 1.02rem !important;
        line-height: 1.75 !important;
    }

    body.single-product .gcc-product-details-panel .woocommerce-Tabs-panel h2 {
        font-size: clamp(2.4rem, 4vw, 3.6rem) !important;
        line-height: .95 !important;
        margin: 0 0 18px !important;
        color: #241b17 !important;
    }

    /* Related products */
    body.single-product .gcc-product-details-panel .related.products,
    body.single-product .gcc-product-details-panel .up-sells.products {
        margin-top: 34px !important;
        padding-top: 26px !important;
        border-top: 1px solid rgba(184,144,104,.18) !important;
    }

    body.single-product .gcc-product-details-panel .related.products > h2,
    body.single-product .gcc-product-details-panel .up-sells.products > h2 {
        text-align: center !important;
        font-size: clamp(2.8rem, 5vw, 4.6rem) !important;
        line-height: .92 !important;
        margin-bottom: 28px !important;
    }
}

/* Desktop but narrower laptops */
@media (min-width: 1025px) and (max-width: 1180px) {
    body.single-product .gcc-product-layout {
        grid-template-columns: minmax(370px, .95fr) minmax(390px, 1fr) !important;
        gap: 28px !important;
        padding: 28px !important;
    }

    body.single-product .gcc-product-summary-panel .product_title {
        font-size: clamp(3rem, 4.8vw, 4.9rem) !important;
    }

    body.single-product .gcc-product-trust {
        grid-template-columns: 1fr !important;
    }
}


/* ===== v129 FORCE DESKTOP PRODUCT FIX ===== */

@media (min-width: 1025px){

.single-product .product{
    display:grid !important;
    grid-template-columns: 520px 1fr !important;
    gap:60px !important;
    align-items:start !important;
    max-width:1400px !important;
    margin:40px auto !important;
    padding:50px !important;
    border-radius:40px !important;
    background:#fffaf5 !important;
    box-shadow:0 20px 60px rgba(0,0,0,.08) !important;
}

.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery{
    width:100% !important;
    max-width:520px !important;
    float:none !important;
    margin:0 !important;
}

.single-product div.product div.summary{
    width:100% !important;
    float:none !important;
    margin:0 !important;
    padding-top:20px !important;
}

.single-product .woocommerce-product-gallery img{
    width:100% !important;
    border-radius:32px !important;
    object-fit:cover !important;
}

.single-product .product_title{
    font-size:78px !important;
    line-height:.9 !important;
    letter-spacing:-3px !important;
    max-width:700px !important;
    margin-bottom:25px !important;
}

.single-product .price{
    font-size:42px !important;
    font-weight:800 !important;
    color:#b89068 !important;
    margin-bottom:20px !important;
}

.single-product form.cart{
    display:flex !important;
    align-items:center !important;
    gap:20px !important;
    background:#2a1d18 !important;
    padding:25px !important;
    border-radius:30px !important;
    width:fit-content !important;
    margin:30px 0 !important;
}

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

.single-product form.cart .qty{
    width:110px !important;
    height:64px !important;
    border-radius:999px !important;
    border:none !important;
    font-size:22px !important;
    font-weight:700 !important;
    text-align:center !important;
}

.single-product .single_add_to_cart_button{
    height:64px !important;
    padding:0 40px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#d7b084,#c89c68) !important;
    color:#fff !important;
    border:none !important;
    font-size:16px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.single-product .woocommerce-product-details__short-description{
    max-width:720px !important;
    font-size:19px !important;
    line-height:1.8 !important;
    color:#5d524a !important;
}

.single-product .product_meta{
    margin-top:25px !important;
    padding:22px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(184,144,104,.2) !important;
}

.single-product .woocommerce-tabs{
    max-width:1400px !important;
    margin:20px auto 80px !important;
    padding:40px !important;
    background:#fffaf5 !important;
    border-radius:40px !important;
}

.single-product .woocommerce-tabs .panel{
    padding-top:30px !important;
}

.single-product .woocommerce-tabs ul.tabs{
    display:flex !important;
    gap:12px !important;
    border:none !important;
}

.single-product .woocommerce-tabs ul.tabs li{
    border:none !important;
    background:none !important;
}

.single-product .woocommerce-tabs ul.tabs li a{
    background:#f4ede5 !important;
    padding:16px 28px !important;
    border-radius:999px !important;
    font-weight:700 !important;
}

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

.single-product iframe{
    width:100% !important;
    min-height:320px !important;
    border-radius:24px !important;
}

/* Fix venue map plugins/widgets */
.single-product .wpgmza_map,
.single-product .google-map,
.single-product .venue-map{
    width:100% !important;
    min-width:100% !important;
}

/* Hide ugly finance clutter on desktop */
.single-product .wc-klarna-placement{
    margin:12px 0 18px !important;
}

/* Better spacing */
.single-product .related.products{
    max-width:1400px !important;
    margin:0 auto 100px !important;
}

/* Fix absurdly narrow plugin boxes */
.single-product .woocommerce-product-details__short-description > *,
.single-product .summary > *{
    max-width:100% !important;
}

}

/* Laptop sizing */
@media (min-width:1025px) and (max-width:1280px){

.single-product .product{
    grid-template-columns:420px 1fr !important;
    gap:40px !important;
}

.single-product .product_title{
    font-size:64px !important;
}

}

/* 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{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!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 span{position:absolute!important;left:-9999px!important}
.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)}
.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: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;line-height:.98 !important;margin-bottom:16px !important;color:#241b17 !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;
  background:#fff !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;
  display:grid !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;resize:vertical !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)),url('https://gillespiescouturecakes.co.uk/wp-content/uploads/2026/05/IMG-20260512-WA0107.jpg') 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}}
