

/* ============================================
   HOMEPAGE TEMPLATE
   ============================================ */

/* ============================================
   VARIABLES
   ============================================ */
:root {
  --ct-black: #0a0a0a;
  --ct-dark: #1a1a1a;
  --ct-grey: #555555;
  --ct-light-grey: #888888;
  --ct-border: #e2e2e2;
  --ct-off-white: #f7f7f7;
  --ct-white: #ffffff;
  --ct-radius: 8px;
  --ct-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --theme-palette-color-1: #0a0a0a !important;
  --theme-palette-color-2: #1a1a1a !important;
  --theme-palette-color-3: #444444 !important;
  --theme-palette-color-4: #0a0a0a !important;
  --theme-palette-color-5: #e2e2e2 !important;
  --theme-palette-color-6: #f7f7f7 !important;
  --theme-palette-color-7: #ffffff !important;
  --theme-palette-color-8: #ffffff !important;
  --theme-text-color: #444 !important;
  --theme-headings-color: #0a0a0a !important;
  --theme-link-initial-color: #0a0a0a !important;
  --theme-link-hover-color: #1a1a1a !important;
  --theme-button-background-initial-color: #0a0a0a !important;
  --theme-button-background-hover-color: #1a1a1a !important;
  --theme-button-text-initial-color: #fff !important;
  --theme-border-color: #e2e2e2 !important;
}

/* ============================================
   FONT
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');

@font-face {
  font-family: 'Baloo Bhai 2';
  src: url('./fonts/BalooBhai2-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-display: swap;
}

body { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; color: var(--ct-grey); }
h1, h2, h3, h4 { font-family: 'Poppins', sans-serif; font-weight: 800; color: var(--ct-black); letter-spacing: -0.02em; }
html { scroll-behavior: smooth; }
::selection { background: var(--ct-black); color: var(--ct-white); }
img { max-width: 100%; height: auto; }

/* ============================================
   ANNOUNCEMENT BAR
   ============================================ */
.ct-announce {
  background: #1a1a1a;
  text-align: center;
  padding: 10px 20px;
  position: relative;
  z-index: 100;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.ct-announce p {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
}

/* ============================================
   CUSTOM HEADER
   ============================================ */
.ct-custom-header {
  background: var(--ct-black);
  border-bottom: none;
  transition: background 0.3s ease, backdrop-filter 0.3s ease;
  position: sticky;
  top: 0;
  z-index: 99;
}
.ct-custom-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ct-custom-header__logo {
  font-family: 'Baloo Bhai 2', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--ct-white);
  text-decoration: none;
  letter-spacing: -0.02em;
  text-transform: lowercase;
}
.ct-custom-header__logo:hover { color: var(--ct-white); }
.ct-custom-header__nav {
  display: flex;
  gap: 32px;
}
.ct-custom-header__nav a {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ct-white);
  text-decoration: none;
  transition: opacity 0.2s;
}
.ct-custom-header__nav a:hover { opacity: 0.5; }
.ct-custom-header__actions { display: flex; align-items: center; gap: 16px; }
.ct-custom-header__cart {
  position: relative;
  color: var(--ct-white);
  text-decoration: none;
  transition: opacity 0.2s;
}
.ct-custom-header__cart:hover { opacity: 0.5; }
.ct-custom-header__cart-count {
  position: absolute;
  top: -6px;
  right: -8px;
  background: var(--ct-black);
  color: var(--ct-white);
  font-size: 10px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ============================================
   HERO
   ============================================ */
.ct-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ct-hero__bg {
  position: absolute;
  inset: 0;
}
.ct-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ct-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.10) 0%,
    rgba(0,0,0,0.15) 40%,
    rgba(0,0,0,0.45) 100%
  );
}
.ct-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  padding: 40px 24px;
}
.ct-hero__title {
  font-family: 'Poppins', sans-serif;
  font-size: 80px;
  line-height: 0.98;
  letter-spacing: -0.04em;
  color: var(--ct-white) !important;
  margin: 0 0 24px;
  text-shadow: 0 4px 40px rgba(0,0,0,0.3);
}
.ct-hero__subtitle {
  font-size: 21px;
  line-height: 1.6;
  color: rgba(255,255,255,0.9);
  margin: 0 0 40px;
  font-weight: 400;
}
.ct-hero__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ============================================
   BUTTONS
   ============================================ */
.ct-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--ct-radius);
  background: var(--ct-black);
  color: var(--ct-white);
  border: 2px solid transparent;
  transition: var(--ct-transition);
  cursor: pointer;
  min-width: 180px;
}
.ct-btn:hover {
  transform: translateY(-2px);
  
}
.ct-btn--lg { padding: 19px 48px; font-size: 14px; min-width: 220px; }
.ct-btn--white { background: var(--ct-white); color: var(--ct-black); }
.ct-btn--white:hover { background: #f0f0f0; color: var(--ct-black);  }

/* ============================================
   TRUST BAR
   ============================================ */
.ct-trust {
  background: var(--ct-off-white);
  border-bottom: 1px solid var(--ct-border);
  padding: 44px 24px;
}
.ct-trust__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.ct-trust__item {
  text-align: center;
  padding: 0 16px;
  border-right: 1px solid var(--ct-border);
}
.ct-trust__item:last-child { border-right: none; }
.ct-trust__icon {
  display: block;
  margin: 0 auto 12px;
  color: var(--ct-black);
  opacity: 0.8;
  width: 28px;
  height: 28px;
}
.ct-trust__title {
  display: block;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ct-black);
  margin-bottom: 4px;
}
.ct-trust__desc {
  display: block;
  font-size: 15px;
  color: var(--ct-light-grey);
  font-weight: 400;
}

/* ============================================
   FEATURED PRODUCT
   ============================================ */
.ct-featured { padding: 100px 32px; }
.ct-featured__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 72px;
  align-items: center;
}
.ct-featured__gallery { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.ct-featured__img-main { grid-row: 1 / 3; overflow: hidden; border-radius: 12px; }
.ct-featured__img-main img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; transition: transform 0.5s ease; }
.ct-featured__img-main:hover img { transform: scale(1.03); }
.ct-featured__img-grid { display: flex; flex-direction: column; gap: 12px; }
.ct-featured__img-sm { overflow: hidden; border-radius: 10px; }
.ct-featured__img-sm img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; transition: transform 0.4s ease; }
.ct-featured__img-sm:hover img { transform: scale(1.05); }

.ct-featured__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ct-light-grey);
  margin: 0 0 12px;
}
.ct-featured__title {
  font-size: 38px;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 0 16px;
  color: var(--ct-black);
}
.ct-featured__desc {
  font-size: 17px;
  line-height: 1.75;
  color: var(--ct-grey);
  margin: 0 0 28px;
}
.ct-featured__price {
  font-size: 36px;
  font-weight: 800;
  color: var(--ct-black);
  margin: 0 0 32px;
  font-family: 'Poppins', sans-serif;
}

/* ============================================
   CTA
   ============================================ */
.ct-cta {
  background: var(--ct-black);
  padding: 120px 24px;
  text-align: center;
}
.ct-cta__inner { max-width: 600px; margin: 0 auto; }
.ct-cta__title {
  font-size: 48px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--ct-white) !important;
  margin: 0 0 18px;
}
.ct-cta__subtitle {
  font-size: 19px;
  line-height: 1.65;
  color: var(--ct-light-grey);
  margin: 0 0 40px;
}

/* ============================================
   CUSTOM FOOTER
   ============================================ */
.ct-custom-footer {
  background: var(--ct-black);
  color: var(--ct-white);
  padding: 72px 32px 0;
}
.ct-custom-footer__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 60px;
  padding-bottom: 48px;
}
.ct-custom-footer__brand h3 {
  font-family: 'Baloo Bhai 2', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--ct-white) !important;
  margin: 0 0 8px;
}
.ct-custom-footer__brand p {
  font-size: 15px;
  color: var(--ct-light-grey);
  margin: 0;
  max-width: 280px;
  line-height: 1.6;
}
.ct-custom-footer__links { display: flex; gap: 64px; }
.ct-custom-footer__col { display: flex; flex-direction: column; gap: 10px; }
.ct-custom-footer__col h4 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ct-white) !important;
  margin: 0 0 6px;
}
.ct-custom-footer__col a {
  font-size: 15px;
  color: var(--ct-light-grey);
  text-decoration: none;
  transition: color 0.2s;
}
.ct-custom-footer__col a:hover { color: var(--ct-white); }
.ct-custom-footer__bottom {
  max-width: 1140px;
  margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 24px 0;
}
.ct-custom-footer__bottom p {
  margin: 0;
  font-size: 13px;
  color: rgba(255,255,255,0.35);
}



/* ============================================
   TRANSPARENT HEADER (homepage only)
   ============================================ */
.ct-custom-header--transparent {
  background: transparent;
  position: absolute;
  top: 36px;
  left: 0;
  right: 0;
  z-index: 99;
  transition: background 0.3s ease, top 0.3s ease;
}
.ct-custom-header--transparent .ct-custom-header__logo,
.ct-custom-header--transparent .ct-custom-header__nav a,
.ct-custom-header--transparent .ct-custom-header__cart,
.ct-custom-header--transparent .ct-custom-header__burger {
  color: var(--ct-white);
}

.ct-custom-header--transparent.ct-header--scrolled {
  background: rgba(10, 10, 10, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: fixed !important;
  top: 0 !important;
}



/* ============================================
   STANDARD PAGES (About, FAQ, Contact, etc.)
   ============================================ */
.ct-page {
  min-height: 60vh;
  padding: 80px 32px;
}
.ct-page__inner {
  max-width: 760px;
  margin: 0 auto;
}
.ct-page__title {
  font-family: 'Baloo Bhai 2', sans-serif;
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ct-black);
  margin: 0 0 40px;
}
.ct-page__content {
  font-size: 18px;
  line-height: 1.75;
  color: var(--ct-grey);
}
.ct-page__content h2,
.ct-page__content h3 {
  margin-top: 40px;
  margin-bottom: 16px;
}
.ct-page__content h3 {
  font-size: 24px;
}
.ct-page__content p {
  margin-bottom: 20px;
}
.ct-page__content a {
  color: var(--ct-black);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ct-page__content a:hover {
  opacity: 0.6;
}
.ct-page__content strong {
  color: var(--ct-black);
  font-weight: 700;
}

/* ============================================
   SHOP PAGE
   ============================================ */
.ct-shop-page {
  padding: 60px 32px 100px;
}
.ct-shop-page__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 60px;
}
.ct-shop-page__title {
  font-family: 'Baloo Bhai 2', sans-serif;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ct-black);
  margin: 0 0 40px;
  text-align: center;
}

/* Product grid - PPP style */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 1200px;
}
ul.products li.product {
  background: var(--ct-white);
  border: 1px solid var(--ct-border);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 0;
}
ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
ul.products li.product a img {
  border-radius: 16px 16px 0 0;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.4s ease;
}
ul.products li.product:hover a img {
  transform: scale(1.03);
}
ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Poppins', sans-serif;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ct-black) !important;
  padding: 0;
  margin: 0;
  display: inline;
}
ul.products li.product .price {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ct-black) !important;
  padding: 0;
  display: inline;
  float: right;
}
ul.products li.product > a {
  display: block;
}
ul.products li.product .ct-shop-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
}
/* Hide everything else */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  display: none !important;
}
.ct-shop-card__link { display: none !important; }
.ct-free-shipping-badge { display: none !important; }
ul.products li.product .posted_in,
ul.products li.product [rel="tag"],
ul.products li.product .entry-meta,
ul.products li.product .star-rating {
  display: none !important;
}

/* ============================================
   SINGLE PRODUCT PAGE
   ============================================ */
.ct-product-page {
  padding: 40px 32px 80px;
  max-width: 1200px;
  margin: 0 auto;
}
.ct-product-page .product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.ct-product-page .woocommerce-product-gallery {
  border-radius: 12px;
  overflow: hidden;
}
.ct-product-page .woocommerce-product-gallery img {
  border-radius: 12px;
}
.ct-product-page .entry-summary .product_title {
  font-family: 'Poppins', sans-serif;
  font-size: 40px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}
.ct-product-page .entry-summary .price {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: var(--ct-black) !important;
  font-family: 'Poppins', sans-serif;
}
.ct-product-page .entry-summary .single_add_to_cart_button {
  width: 100%;
  min-height: 56px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--ct-black) !important;
  color: var(--ct-white) !important;
  border-radius: var(--ct-radius) !important;
  border: none !important;
  transition: var(--ct-transition) !important;
}
.ct-product-page .entry-summary .single_add_to_cart_button:hover {
  background: var(--ct-dark) !important;
  transform: translateY(-1px);
  
}
.ct-product-page .woocommerce-tabs {
  grid-column: 1 / -1;
}

/* ============================================
   ============================================ */
.woocommerce-checkout .ct-page {
  max-width: 1000px;
  margin: 0 auto;
}

/* Hide Blocksy's default header/footer on homepage */
body.page-template-template-homepage .ct-header,
body.page-template-template-homepage [data-header],
body.page-template-template-homepage .ct-footer,
body.page-template-template-homepage [data-footer] {
  display: none !important;
}

/* ============================================
   PRODUCT PAGE OVERRIDES
   ============================================ */
.entry-summary .entry-title { font-family: 'Poppins', sans-serif; font-size: 36px !important; font-weight: 800 !important; }
.entry-summary .price { font-size: 24px !important; font-weight: 800 !important; color: var(--ct-black) !important; }
.entry-summary .single_add_to_cart_button { min-height: 52px !important; width: 100%; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.08em; text-transform: uppercase; background: var(--ct-black) !important; border-radius: var(--ct-radius) !important; }
.entry-summary .single_add_to_cart_button:hover { background: var(--ct-dark) !important; transform: translateY(-1px);  }
.woocommerce-product-gallery img { border-radius: 10px; }
.ct-header-account, [data-id="account"] { display: none !important; }
[data-products] .product { transition: transform 0.3s ease, box-shadow 0.3s ease; }
[data-products] .product:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,0.06); }
.onsale { background: var(--ct-black) !important; }

/* Remove Blocksy credits everywhere */
.ct-footer a[href*="creativethemes"],
.ct-footer-credits { display: none !important; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 999px) {
  .ct-hero { min-height: 100vh; }
  .ct-hero__title { font-size: 56px; }
  .ct-hero__content { padding: 40px 24px; text-align: center; }
  .ct-featured__inner { grid-template-columns: 1fr; gap: 48px; }
  .ct-featured__gallery { grid-template-columns: 2fr 1fr; }
  .ct-custom-header__nav { gap: 24px; }
  .ct-cta { padding: 80px 24px; }
  .ct-cta__title { font-size: 38px; }
}

@media (max-width: 689px) {
  .ct-hero { min-height: 100vh; }
  .ct-hero__title { font-size: 42px; }
  .ct-hero__subtitle { font-size: 17px; }
  .ct-hero__content { padding: 40px 20px; text-align: center; max-width: 100%; }
  .ct-trust__inner { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .ct-trust__item { border-right: none; padding: 12px 8px; }
  .ct-featured { padding: 60px 20px; }
  .ct-featured__gallery { grid-template-columns: 1fr; }
  .ct-featured__img-grid { flex-direction: row; }
  .ct-featured__title { font-size: 30px; }
  .ct-cta { padding: 64px 20px; }
  .ct-cta__title { font-size: 32px; }
  .ct-custom-header__nav { display: none; }
  .ct-custom-footer__inner { flex-direction: column; gap: 32px; }
  .ct-custom-footer__links { gap: 40px; }
}


@media (max-width: 999px) {
  .ct-page { padding: 60px 24px; }
  .ct-page__title { font-size: 36px; }
  ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .ct-product-page .product { grid-template-columns: 1fr; gap: 32px; }
  .ct-shop-page__title { font-size: 32px; }
}

@media (max-width: 689px) {
  .ct-page { padding: 40px 20px; }
  .ct-page__title { font-size: 30px; }
  ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ct-product-page { padding: 24px 20px 60px; }
}


/* ============================================
   MOBILE MENU
   ============================================ */
.ct-custom-header__burger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--ct-white);
}
.ct-custom-header__burger svg { display: block; }

.ct-mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 280px;
  height: 100vh;
  background: var(--ct-black);
  z-index: 200;
  transition: right 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  padding: 80px 32px 40px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ct-mobile-menu--open { right: 0; }

.ct-mobile-menu__close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  color: var(--ct-white);
  cursor: pointer;
  padding: 8px;
}

.ct-mobile-menu a {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ct-white);
  text-decoration: none;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: opacity 0.2s;
}
.ct-mobile-menu a:hover { opacity: 0.6; }

.ct-mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 199;
}
.ct-mobile-overlay--open { display: block; }

@media (max-width: 689px) {
  .ct-custom-header__nav { display: none !important; }
  .ct-custom-header__burger { display: block; }
  .ct-custom-header__actions { order: -1; }
  .ct-custom-header__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }
  .ct-custom-header__logo { order: 0; }
  .ct-custom-header__actions { order: 1; justify-self: end; margin-right: 8px; }
  .ct-custom-header__burger { order: 2; }
}


/* ============================================
   PAGE HERO (all pages)
   ============================================ */
.ct-page-hero {
  position: relative;
  min-height: 40vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: -64px;
}
.ct-page-hero--short {
  min-height: 32vh;
}
.ct-page-hero {
  display: flex;
  align-items: flex-end;
}
.ct-page-hero__bg {
  position: absolute;
  inset: 0;
}
.ct-page-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ct-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.40) 0%,
    rgba(0,0,0,0.55) 50%,
    rgba(0,0,0,0.65) 100%
  );
}
.ct-page-hero__content {
  position: relative;
  z-index: 2;
  text-align: left;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px 40px;
  align-self: flex-end;
}
.ct-page-hero__content h1 {
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ct-white) !important;
  margin: 0;
  text-shadow: 0 2px 20px rgba(0,0,0,0.2);
}

/* Homepage hero is taller */
.ct-hero {
  margin-top: -64px;
}

/* Remove old page title since hero handles it */
.ct-page__title { display: none; }

@media (max-width: 689px) {
  .ct-page-hero { min-height: 32vh; }
  .ct-page-hero--short { min-height: 28vh; }
  .ct-page-hero__content h1 { font-size: 36px; }
  .ct-page-hero__content { padding: 0 24px 28px; }
  .ct-page-hero__content { padding: 60px 20px 32px; }
}


/* ============================================
   ABOUT PAGE
   ============================================ */
.ct-about-intro {
  padding: 80px 48px;
}
.ct-about-intro__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.ct-about-intro__statement p {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--ct-black);
  margin: 0;
}
.ct-about-intro__statement em {
  font-style: italic;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
}
.ct-about-intro__text p {
  font-size: 17px;
  line-height: 1.75;
  color: var(--ct-grey);
  margin: 0 0 16px;
}
.ct-about-intro__text strong {
  color: var(--ct-black);
  font-weight: 700;
  font-size: 18px;
}

.ct-about-features {
  padding: 80px 48px;
  background: var(--ct-off-white);
}
.ct-about-features__inner {
  max-width: 1140px;
  margin: 0 auto;
}
.ct-about-features__inner h2 {
  font-size: 40px;
  font-weight: 800;
  margin: 0 0 48px;
}
.ct-about-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.ct-about-features__card {
  background: var(--ct-white);
  border-radius: 12px;
  padding: 36px 28px;
}
.ct-about-features__icon {
  margin-bottom: 20px;
  color: var(--ct-black);
}
.ct-about-features__card h3 {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 12px;
}
.ct-about-features__card p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ct-grey);
  margin: 0;
}

/* ============================================
   FAQ PAGE
   ============================================ */
.ct-faq-page {
  padding: 64px 48px 40px;
}
.ct-faq-page__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: start;
}
.ct-faq-page__questions h1 {
  font-size: 56px;
  font-weight: 800;
  margin: 0 0 8px;
}
.ct-faq-page__subtitle {
  font-size: 28px;
  font-weight: 700;
  font-style: italic;
  color: var(--ct-black);
  margin: 0 0 12px;
}
.ct-faq-page__desc {
  font-size: 16px;
  color: var(--ct-grey);
  line-height: 1.7;
  margin: 0 0 40px;
}

/* Accordion */
.ct-accordion__item {
  border-bottom: 1px solid var(--ct-border);
}
.ct-accordion__trigger {
  width: 100%;
  background: none;
  border: none;
  padding: 20px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--ct-black);
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Poppins', sans-serif;
  transition: opacity 0.2s;
}
.ct-accordion__trigger:hover { opacity: 0.6; }
.ct-accordion__icon {
  font-size: 24px;
  font-weight: 300;
  transition: transform 0.3s ease;
}
.ct-accordion__item.ct-accordion__item--open .ct-accordion__icon {
  transform: rotate(45deg);
}
.ct-accordion__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0;
}
.ct-accordion__item--open .ct-accordion__content {
  max-height: 300px;
  padding: 0 0 20px;
}
.ct-accordion__content p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ct-grey);
  margin: 0;
}

/* FAQ contact sidebar */
.ct-faq-page__contact {
  background: var(--ct-off-white);
  border-radius: 12px;
  padding: 36px;
  position: sticky;
  top: 120px;
}
.ct-faq-page__contact h3 {
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 4px;
}
.ct-faq-page__contact > p {
  font-size: 15px;
  color: var(--ct-grey);
  margin: 0 0 24px;
}

/* ============================================
   CONTACT FORM (shared)
   ============================================ */
.ct-contact-form input,
.ct-contact-form textarea,
.ct-contact-form select {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid var(--ct-border);
  border-radius: 8px;
  background: var(--ct-white);
  color: var(--ct-black);
  margin-bottom: 12px;
  transition: border-color 0.2s;
}
.ct-contact-form input:focus,
.ct-contact-form textarea:focus {
  outline: none;
  border-color: var(--ct-black);
}
.ct-contact-form input::placeholder,
.ct-contact-form textarea::placeholder {
  color: var(--ct-light-grey);
}
.ct-contact-form .ct-btn {
  width: 100%;
  margin-top: 4px;
}

/* ============================================
   CONTACT PAGE
   ============================================ */
.ct-contact-page {
  padding: 64px 48px 40px;
}
.ct-contact-page__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 64px;
  align-items: start;
}
.ct-contact-page__main h1 {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 20px;
}
.ct-contact-page__desc {
  font-size: 17px;
  line-height: 1.7;
  color: var(--ct-grey);
  margin: 0 0 40px;
}
.ct-contact-form--large .ct-contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ct-contact-page__sidebar {
  padding-top: 16px;
}
.ct-contact-page__sidebar a {
  font-size: 17px;
  font-weight: 600;
  color: var(--ct-black);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ct-contact-page__sidebar a:hover { opacity: 0.6; }

/* ============================================
   TRUST BAR (all pages)
   ============================================ */
.ct-trust-bar {
  padding: 20px 48px;
  border-top: 1px solid var(--ct-border);
  background: var(--ct-off-white);
}
.ct-trust-bar__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.ct-trust-bar__item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ct-trust-bar__item svg {
  flex-shrink: 0;
  color: var(--ct-black);
  width: 18px;
  height: 18px;
}
.ct-trust-bar__item strong {
  display: inline;
  font-size: 13px;
  font-weight: 700;
  color: var(--ct-black);
}
.ct-trust-bar__item span {
  display: none;
}

/* Footer email link */
.ct-custom-footer__email-link {
  display: inline-block;
  font-size: 14px;
  color: var(--ct-light-grey);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-top: 12px;
  transition: color 0.2s;
}
.ct-custom-footer__email-link:hover { color: var(--ct-white); }

/* ============================================
   RESPONSIVE - NEW SECTIONS
   ============================================ */
@media (max-width: 999px) {
  .ct-about-intro__inner { grid-template-columns: 1fr; gap: 32px; }
  .ct-about-intro__statement p { font-size: 26px; }
  .ct-about-features__grid { grid-template-columns: 1fr; gap: 20px; }
  .ct-faq-page__inner { grid-template-columns: 1fr; gap: 40px; }
  .ct-faq-page__contact { position: static; }
  .ct-contact-page__inner { grid-template-columns: 1fr; gap: 32px; }
  .ct-trust-bar__inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 689px) {
  .ct-about-intro { padding: 48px 24px; }
  .ct-about-features { padding: 48px 24px; }
  .ct-about-intro__statement p { font-size: 22px; }
  .ct-faq-page { padding: 48px 24px 24px; }
  .ct-faq-page__questions h1 { font-size: 40px; }
  .ct-contact-page { padding: 48px 24px 24px; }
  .ct-contact-page__main h1 { font-size: 32px; }
  .ct-contact-form--large .ct-contact-form__row { grid-template-columns: 1fr; }
  .ct-trust-bar { padding: 36px 24px; }
  .ct-trust-bar__inner { grid-template-columns: 1fr; gap: 24px; }
}


/* ============================================
   STORY SECTIONS (homepage alternating)
   ============================================ */
.ct-story {
  padding: 100px 48px;
}
.ct-story--dark {
  background: var(--ct-black);
  color: var(--ct-white);
}
.ct-story--dark h2 { color: var(--ct-white) !important; }
.ct-story--dark p { color: rgba(255,255,255,0.7); }
.ct-story--dark .ct-story__label { color: rgba(255,255,255,0.5); }

.ct-story__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.ct-story--reversed .ct-story__inner {
  direction: rtl;
}
.ct-story--reversed .ct-story__inner > * {
  direction: ltr;
}

.ct-story__image {
  overflow: hidden;
  border-radius: 16px;
}
.ct-story__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  transition: transform 0.5s ease;
}
.ct-story__image:hover img {
  transform: scale(1.03);
}
.ct-story__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ct-light-grey);
  margin: 0 0 16px;
}
.ct-story__text h2 {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}
.ct-story__text p {
  font-size: 17px;
  line-height: 1.75;
  color: var(--ct-grey);
  margin: 0 0 32px;
}

@media (max-width: 999px) {
  .ct-story { padding: 64px 32px; }
  .ct-story__inner { grid-template-columns: 1fr; gap: 40px; }
  .ct-story--reversed .ct-story__inner { direction: ltr; }
  .ct-story__text h2 { font-size: 32px; }
}
@media (max-width: 689px) {
  .ct-story { padding: 48px 24px; }
  .ct-story__text h2 { font-size: 28px; }
}


/* ============================================
   PRODUCT PAGE - CONVERSION OPTIMISED
   ============================================ */
.ct-product-page {
  padding: 40px 48px 0;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 64px;
}

.ct-product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.ct-product-layout__left {}
.ct-product-layout__right {}

/* Gallery - thumbnails on left, large image on right */
.ct-product-layout__gallery {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  min-height: 500px;
}
.ct-product-gallery__thumbs-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}
.ct-product-gallery__thumb {
  width: 72px;
  height: 72px;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  background: none;
  transition: border-color 0.2s;
  flex-shrink: 0;
}
.ct-product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}
.ct-product-gallery__thumb:hover,
.ct-product-gallery__thumb--active {
  border-color: var(--ct-black);
}
.ct-product-gallery__main {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  flex: 1;
}
.ct-product-gallery__main img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.ct-product-gallery__nav-row {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 12px;
  pointer-events: none;
  z-index: 2;
}
.ct-product-gallery__nav {
  width: 40px;
  height: 40px;
  background: var(--ct-black);
  color: var(--ct-white);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  pointer-events: all;
}
.ct-product-gallery__nav svg { stroke: var(--ct-white); }
.ct-product-gallery__nav:hover {
  background: var(--ct-dark);
}

/* Product info */
.ct-product-layout__title {
  font-family: 'Poppins', sans-serif;
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
}
.ct-product-layout__price {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--ct-black);
  margin-bottom: 12px;
}
.ct-product-layout__price del { color: var(--ct-light-grey); font-size: 22px; }
.ct-product-layout__price ins { text-decoration: none; }

.ct-product-layout__shipping-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ct-black);
  background: var(--ct-off-white);
  padding: 8px 14px;
  border-radius: 6px;
  margin-bottom: 20px;
}
.ct-product-layout__shipping-badge svg { color: var(--ct-black); }

.ct-product-layout__short-desc {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ct-grey);
  margin-bottom: 24px;
}
.ct-product-layout__short-desc p { margin: 0; }

/* Colour swatches */
.ct-product-layout__variation { margin-bottom: 24px; }
.ct-product-layout__variation label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ct-black);
  margin-bottom: 8px;
}
.ct-colour-dropdown {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid var(--ct-border);
  border-radius: 8px;
  background: var(--ct-white) !important;
  color: var(--ct-black) !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  transition: border-color 0.2s;
}
.ct-colour-dropdown:focus {
  outline: none;
  border-color: var(--ct-black);
}

/* Quantity */
.ct-product-layout__quantity { margin-bottom: 20px; }
.ct-product-layout__quantity label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ct-black);
  margin-bottom: 8px;
}
.ct-qty-wrap {
  display: inline-flex;
  border: 1px solid var(--ct-border);
  border-radius: 8px;
  overflow: hidden;
}
.ct-qty-btn {
  width: 44px;
  height: 44px;
  background: var(--ct-off-white);
  border: none;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  color: var(--ct-black);
  transition: background 0.2s;
}
.ct-qty-btn:hover { background: var(--ct-border); }
.ct-qty-input {
  width: 56px;
  height: 44px;
  border: none;
  border-left: 1px solid var(--ct-border);
  border-right: 1px solid var(--ct-border);
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  -moz-appearance: textfield;
}
.ct-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Add to Cart button */
.ct-add-to-cart {
  width: 100%;
  padding: 18px 32px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--ct-black);
  color: var(--ct-white);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: var(--ct-transition);
}
.ct-add-to-cart:hover {
  background: var(--ct-dark);
  transform: translateY(-1px);
  
}

/* Urgency */
.ct-product-layout__urgency {
  margin-top: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--ct-border);
}
.ct-product-layout__urgency p {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--ct-light-grey);
  font-style: italic;
}

/* Delivery estimate */
.ct-product-layout__delivery {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ct-grey);
  padding: 12px 0;
  border-bottom: 1px solid var(--ct-border);
  margin-bottom: 20px;
}
.ct-product-layout__delivery svg { flex-shrink: 0; color: var(--ct-black); }
.ct-product-layout__delivery strong { color: var(--ct-black); }

/* Feature checklist */
.ct-product-layout__features { margin-top: 4px; }
.ct-product-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 15px;
  color: var(--ct-grey);
}
.ct-product-feature svg { color: var(--ct-black); flex-shrink: 0; }

/* Product description section */
/* Description is now inline on the right side - old section removed */
.ct-product-description h2 {
  font-size: 28px;
  margin: 0 0 24px;
}
.ct-product-description__content {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ct-grey);
}
.ct-product-description__content h3 { font-size: 20px; margin-top: 32px; }
.ct-product-description__content ul { padding-left: 20px; }
.ct-product-description__content li { margin-bottom: 8px; }

/* Mobile sticky Add to Cart */
.ct-mobile-atc {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--ct-white);
  border-top: 1px solid var(--ct-border);
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
  padding: 12px 20px;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.ct-mobile-atc--visible { transform: translateY(0); }
.ct-mobile-atc__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ct-mobile-atc__info strong { display: block; font-size: 14px; color: var(--ct-black); }
.ct-mobile-atc__info span { font-size: 16px; font-weight: 800; color: var(--ct-black); }
.ct-mobile-atc__btn { min-width: 140px; padding: 14px 24px; font-size: 13px; }

/* Free shipping badge on product cards */
.ct-free-shipping-badge {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--ct-black);
  margin-top: 4px;
  opacity: 0.6;
}

/* Responsive product page */
@media (max-width: 999px) {
  .ct-product-page { padding: 24px 32px 0; }
  .ct-product-layout { grid-template-columns: 1fr; gap: 32px; }
  .ct-product-layout__title { font-size: 30px; }
  .ct-product-layout__price { font-size: 26px; }
}
@media (max-width: 689px) {
  .ct-product-page { padding: 16px 20px 0; }
  .ct-product-layout__title { font-size: 26px; }
  .ct-product-gallery__thumbs { grid-template-columns: repeat(4, 1fr); }
  .ct-mobile-atc { display: block; }
}


/* ============================================
   EMAIL CAPTURE
   ============================================ */
.ct-email-capture {
  padding: 56px 48px;
  background: var(--ct-off-white);
  border-top: 1px solid var(--ct-border);
  text-align: center;
}
.ct-email-capture__inner {
  max-width: 520px;
  margin: 0 auto;
}
.ct-email-capture h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--ct-black) !important;
  margin: 0 0 10px;
}
.ct-email-capture p {
  font-size: 15px;
  color: var(--ct-grey);
  margin: 0 0 24px;
  line-height: 1.6;
}
.ct-email-capture__form {
  display: flex;
  gap: 10px;
  max-width: 440px;
  margin: 0 auto;
}
.ct-email-capture__form input {
  flex: 1;
  padding: 14px 18px;
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid var(--ct-border);
  border-radius: 8px;
  background: var(--ct-white);
  color: var(--ct-black);
}
.ct-email-capture__form input::placeholder { color: var(--ct-light-grey); }
.ct-email-capture__form input:focus {
  outline: none;
  border-color: var(--ct-black);
}
.ct-email-capture__form .ct-btn {
  padding: 14px 28px;
  white-space: nowrap;
  background: var(--ct-black);
  color: var(--ct-white);
}
.ct-email-capture__form .ct-btn:hover {
  background: var(--ct-dark);
  color: var(--ct-white);
}

/* ============================================
   VALUE COMPARISON
   ============================================ */
.ct-value {
  padding: 100px 48px;
  text-align: center;
}
.ct-value__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.ct-value h2 {
  font-size: 40px;
  font-weight: 800;
  margin: 0 0 12px;
}
.ct-value__subtitle {
  font-size: 17px;
  color: var(--ct-grey);
  margin: 0 0 48px;
}
.ct-value__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}
.ct-value__card {
  padding: 32px 28px;
  border-radius: 12px;
  border: 1px solid var(--ct-border);
}
.ct-value__card--faded {
  opacity: 0.6;
}
.ct-value__card--highlight {
  border: 1px solid var(--ct-border);
  opacity: 1;
  position: relative;
  background: var(--ct-off-white);
}
.ct-value__label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ct-light-grey);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ct-value__badge {
  display: inline-block;
  font-family: 'Baloo Bhai 2', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--ct-black);
  margin-bottom: 8px;
}
.ct-value__price { display: none; }
.ct-value__card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ct-value__card li {
  font-size: 15px;
  color: var(--ct-grey);
  padding: 6px 0;
  padding-left: 22px;
  position: relative;
}
.ct-value__card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ct-border);
}
.ct-value__card--highlight li::before {
  background: var(--ct-black);
}
.ct-value__card--faded li::before {
  background: var(--ct-border);
}

/* ============================================
   COLOUR SHOWCASE (homepage dark section)
   ============================================ */
.ct-colour-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.ct-colour-showcase__item {
  overflow: hidden;
  border-radius: 10px;
}
.ct-colour-showcase__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.4s ease;
  aspect-ratio: 1;
}
.ct-colour-showcase__item:hover img {
  transform: scale(1.05);
}

/* ============================================
   MOBILE HERO TEXT FIX
   ============================================ */
@media (max-width: 500px) {
  .ct-hero__title {
    font-size: 38px !important;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
}

/* ============================================
   RESPONSIVE - NEW SECTIONS
   ============================================ */
@media (max-width: 999px) {
  .ct-value { padding: 64px 32px; }
  .ct-value h2 { font-size: 32px; }
  .ct-value__grid { grid-template-columns: 1fr; gap: 16px; max-width: 400px; margin: 0 auto; }
  .ct-value__card--faded { opacity: 0.5; }
  .ct-email-capture { padding: 48px 32px; }
  .ct-email-capture h3 { font-size: 26px; }
}
@media (max-width: 689px) {
  .ct-value { padding: 48px 24px; }
  .ct-value__price { font-size: 26px; }
  .ct-email-capture { padding: 40px 20px; }
  .ct-email-capture__form { flex-direction: column; }
  .ct-email-capture__form .ct-btn { width: 100%; }
  .ct-colour-showcase__grid { grid-template-columns: repeat(2, 1fr); }
}


/* ============================================
   SOLID HEADER (pages without hero)
   ============================================ */
.ct-custom-header--solid {
  background: var(--ct-black);
  position: relative;
}
.ct-custom-header--solid .ct-custom-header__logo,
.ct-custom-header--solid .ct-custom-header__nav a,
.ct-custom-header--solid .ct-custom-header__cart,
.ct-custom-header--solid .ct-custom-header__burger {
  color: var(--ct-white);
}


/* ============================================
   REVIEWS SECTION
   ============================================ */
.ct-reviews {
  padding: 60px 0;
  border-top: 1px solid var(--ct-border);
}
.ct-reviews__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}
.ct-reviews h2 {
  font-size: 28px;
  margin: 0 0 32px;
}
.ct-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ct-reviews__card {
  background: var(--ct-off-white);
  border-radius: 12px;
  padding: 28px;
}
.ct-reviews__stars {
  color: #f5a623;
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.ct-reviews__card p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ct-grey);
  margin: 0 0 16px;
  font-style: italic;
}
.ct-reviews__author {
  font-size: 14px;
  font-weight: 600;
  color: var(--ct-black);
}


@media (max-width: 999px) {
  .ct-product-layout__gallery {
    grid-template-columns: 60px 1fr;
  }
  .ct-product-gallery__thumb {
    width: 60px;
    height: 60px;
  }
  .ct-reviews__grid { grid-template-columns: 1fr; }
}
@media (max-width: 689px) {
  .ct-product-layout__gallery {
    grid-template-columns: 1fr;
  }
  .ct-product-gallery__thumbs-col {
    flex-direction: row;
    overflow-x: auto;
    max-height: none;
    order: 2;
  }
  .ct-product-gallery__main { order: 1; }
  .ct-product-gallery__thumb { width: 56px; height: 56px; }
  .ct-reviews__inner { padding: 0 24px; }
}



/* ============================================
   CUSTOM PRODUCT CARD (shop grid)
   ============================================ */
.ct-product-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 16px;
  overflow: hidden;
  background: var(--ct-off-white);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ct-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  color: inherit;
}
.ct-product-card__image {
  overflow: hidden;
}
.ct-product-card__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.ct-product-card:hover .ct-product-card__image img {
  transform: scale(1.03);
}
.ct-product-card__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
}
.ct-product-card__name {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--ct-black);
}
.ct-product-card__price {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--ct-light-grey);
}



.ct-buy-now-btn {
  width: 100%;
  margin-top: 10px;
  padding: 18px 32px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  display: block;
  background: var(--ct-black);
  color: var(--ct-white);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: var(--ct-transition);
  box-sizing: border-box;
}
.ct-buy-now-btn:hover {
  background: var(--ct-dark);
  color: var(--ct-white);
  transform: translateY(-1px);
  
}

@media (max-width: 999px) {
  .ct-product-description__inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}


/* Product description inline (right column) */
.ct-product-layout__description {
  font-size: 15px;
  line-height: 1.75;
  color: var(--ct-grey);
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--ct-border);
}
.ct-product-layout__description h3 {
  font-size: 18px;
  margin-top: 20px;
  margin-bottom: 8px;
  color: var(--ct-black);
}
.ct-product-layout__description ul {
  padding-left: 18px;
  margin: 12px 0;
}
.ct-product-layout__description li {
  margin-bottom: 6px;
  font-size: 14px;
}
.ct-product-layout__description p {
  margin: 0 0 12px;
}

/* Responsive */
@media (max-width: 999px) {
  .ct-product-layout { grid-template-columns: 1fr; gap: 32px; }
}


/* Collapsible description */
.ct-product-layout__description {
  max-height: 120px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.4s ease;
}
.ct-product-layout__description--expanded {
  max-height: 2000px;
}
.ct-product-layout__description-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(transparent, var(--ct-white));
  pointer-events: none;
  transition: opacity 0.3s;
}
.ct-product-layout__description--expanded .ct-product-layout__description-fade {
  opacity: 0;
}
.ct-product-layout__description-toggle {
  background: none;
  border: none;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--ct-black);
  cursor: pointer;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ct-product-layout__description-toggle:hover { opacity: 0.6; }

/* Baloo Bhai 2 for clickythings text in About */
.ct-brand-font {
  font-family: 'Baloo Bhai 2', sans-serif;
}


/* ============================================
   PDP - PRODUCT DETAIL PAGE (clean rewrite)
   ============================================ */
.ct-product-page {
  padding: 32px 48px 0;
  max-width: 1240px;
  margin: 100px auto 0;
}

.ct-pdp {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 56px;
  align-items: start;
}

/* Gallery */
.ct-pdp__gallery {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
}
.ct-pdp__thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ct-pdp__thumb {
  width: 80px;
  height: 80px;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  background: none;
  transition: border-color 0.2s;
  flex-shrink: 0;
}
.ct-pdp__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ct-pdp__thumb:hover,
.ct-pdp__thumb--active {
  border-color: var(--ct-black);
}
.ct-pdp__main-image {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
.ct-pdp__main-image > img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* Nav buttons - centered on image sides */
.ct-pdp__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  background: var(--ct-black);
  color: var(--ct-white);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  z-index: 2;
}
.ct-pdp__nav svg { stroke: var(--ct-white); }
.ct-pdp__nav:hover { background: var(--ct-dark); }
.ct-pdp__nav--prev { left: 14px; }
.ct-pdp__nav--next { right: 14px; }

/* Info */
.ct-pdp__title {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.ct-pdp__price {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--ct-black);
  margin-bottom: 12px;
}
.ct-pdp__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ct-black);
  background: var(--ct-off-white);
  padding: 8px 14px;
  border-radius: 6px;
  margin-bottom: 20px;
}
.ct-pdp__short-desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ct-grey);
  margin-bottom: 16px;
}
.ct-pdp__short-desc p { margin: 0; }

/* Collapsible description */
.ct-pdp__description {
  font-size: 14px;
  line-height: 1.75;
  color: var(--ct-grey);
  max-height: 100px;
  overflow: hidden;
  position: relative;
  margin-bottom: 0;
  transition: max-height 0.4s ease;
}
.ct-pdp__description--expanded { max-height: 2000px; }
.ct-pdp__description h3 { font-size: 16px; margin-top: 16px; color: var(--ct-black); }
.ct-pdp__description ul { padding-left: 18px; }
.ct-pdp__description li { margin-bottom: 4px; font-size: 13px; }
.ct-pdp__description p { margin: 0 0 10px; }
.ct-pdp__description-fade {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 50px;
  background: linear-gradient(transparent, var(--ct-white));
  pointer-events: none;
  transition: opacity 0.3s;
}
.ct-pdp__description--expanded .ct-pdp__description-fade { opacity: 0; }
.ct-pdp__desc-toggle {
  background: none;
  border: none;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--ct-black);
  cursor: pointer;
  padding: 6px 0;
  margin-bottom: 20px;
  text-decoration: underline;
  text-underline-offset: 3px;
  display: block;
}
.ct-pdp__desc-toggle:hover { opacity: 0.6; }

/* Variation dropdown */
.ct-pdp__variation { margin-bottom: 20px; }
.ct-pdp__variation label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ct-black);
  margin-bottom: 8px;
}
.ct-pdp__select {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid var(--ct-border);
  border-radius: 8px;
  background: var(--ct-white);
  color: var(--ct-black);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
.ct-pdp__select:focus { outline: none; border-color: var(--ct-black); }

/* Quantity */
.ct-pdp__qty { margin-bottom: 20px; }
.ct-pdp__qty label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ct-black);
  margin-bottom: 8px;
}

/* Buttons - BOTH identical */
.ct-pdp__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.ct-pdp__btn {
  width: 100%;
  padding: 18px 32px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  background: var(--ct-black);
  color: var(--ct-white);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: var(--ct-transition);
  display: block;
  box-sizing: border-box;
}
.ct-pdp__btn:hover {
  background: var(--ct-dark);
  color: var(--ct-white);
  transform: translateY(-1px);
  
}

/* Urgency */
.ct-pdp__urgency {
  font-size: 13px;
  font-weight: 600;
  color: var(--ct-light-grey);
  font-style: italic;
  margin: 0 0 12px;
}
.ct-pdp__delivery {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ct-grey);
  padding: 12px 0;
  border-bottom: 1px solid var(--ct-border);
  margin-bottom: 16px;
}
.ct-pdp__delivery svg { flex-shrink: 0; color: var(--ct-black); }
.ct-pdp__delivery strong { color: var(--ct-black); }

/* Features */
.ct-pdp__features { margin-top: 4px; }
.ct-pdp__feature {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
  color: var(--ct-grey);
}
.ct-pdp__feature svg { color: var(--ct-black); flex-shrink: 0; }

/* PDP Responsive */
@media (max-width: 999px) {
  .ct-product-page { padding: 24px 32px 0; margin-top: 80px; }
  .ct-pdp { grid-template-columns: 1fr; gap: 32px; }
  .ct-pdp__gallery { grid-template-columns: 60px 1fr; }
  .ct-pdp__thumb { width: 60px; height: 60px; }
  .ct-pdp__title { font-size: 28px; }
}
@media (max-width: 689px) {
  .ct-product-page { padding: 16px 20px 0; }
  .ct-pdp__gallery { grid-template-columns: 1fr; }
  .ct-pdp__thumbs { flex-direction: row; overflow-x: auto; order: 2; }
  .ct-pdp__main-image { order: 1; }
  .ct-pdp__thumb { width: 56px; height: 56px; }
  .ct-mobile-atc { display: block; }
}




/* Contact page socials */
.ct-contact-page__email {
  display: block;
  font-size: 17px;
  font-weight: 600;
  color: var(--ct-black);
  text-decoration: underline;
  text-underline-offset: 4px;
  margin-bottom: 20px;
}
.ct-contact-page__email:hover { opacity: 0.6; }
.ct-contact-page__socials {
  display: flex;
  gap: 16px;
}
.ct-contact-page__socials a {
  color: var(--ct-black);
  transition: opacity 0.2s;
}
.ct-contact-page__socials a:hover { opacity: 0.5; }

/* Remove old honeypot styles */
.ct-hp-field { display: none; }


/* ============================================
   FORCE BUTTON STYLES ON PRODUCT PAGE
   ============================================ */
.ct-pdp__buttons .ct-pdp__btn,
.ct-pdp__buttons .single_add_to_cart_button,
.ct-pdp__buttons button[type="submit"] {
  width: 100% !important;
  padding: 18px 32px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  background: var(--ct-black) !important;
  color: var(--ct-white) !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  display: block !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  transition: all 0.25s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.ct-pdp__buttons .ct-pdp__btn:hover,
.ct-pdp__buttons .single_add_to_cart_button:hover,
.ct-pdp__buttons button[type="submit"]:hover {
  background: var(--ct-dark) !important;
  color: var(--ct-white) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

/* Gallery thumbnails - bigger */
.ct-pdp__gallery {
  grid-template-columns: 88px 1fr !important;
}
.ct-pdp__thumb {
  width: 88px !important;
  height: 88px !important;
}

/* Description collapsed by default */
.ct-pdp__description {
  max-height: 0px !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  transition: max-height 0.4s ease, padding 0.4s ease !important;
}
.ct-pdp__description--expanded {
  max-height: 2000px !important;
  padding-bottom: 16px !important;
}
.ct-pdp__description-fade {
  display: none !important;
}

/* Mobile gallery */
@media (max-width: 689px) {
  .ct-pdp__gallery { grid-template-columns: 1fr !important; }
  .ct-pdp__thumbs {
    flex-direction: row !important;
    overflow-x: auto !important;
    order: 2 !important;
    gap: 6px !important;
  }
  .ct-pdp__main-image { order: 1 !important; }
  .ct-pdp__thumb { width: 60px !important; height: 60px !important; }
}


/* ============================================
   GLOBAL BUTTON CONSISTENCY
   ============================================ */
.ct-btn,
.ct-contact-form .ct-btn,
.ct-email-capture__form .ct-btn,
.ct-faq-page__contact .ct-btn,
.ct-pdp__buttons .ct-pdp__btn,
.ct-pdp__buttons .single_add_to_cart_button {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 16px 32px !important;
  background: var(--ct-black) !important;
  color: var(--ct-white) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.ct-btn:hover,
.ct-contact-form .ct-btn:hover,
.ct-email-capture__form .ct-btn:hover,
.ct-pdp__buttons .ct-pdp__btn:hover,
.ct-pdp__buttons .single_add_to_cart_button:hover {
  background: var(--ct-dark) !important;
  color: var(--ct-white) !important;
}
/* White variant */
.ct-btn--white {
  background: var(--ct-white) !important;
  color: var(--ct-black) !important;
}
.ct-btn--white:hover {
  background: #f0f0f0 !important;
  color: var(--ct-black) !important;
}
/* Large variant */
.ct-btn--lg {
  padding: 18px 44px !important;
  font-size: 14px !important;
}
/* Full width product buttons */
.ct-pdp__buttons .ct-pdp__btn,
.ct-pdp__buttons .single_add_to_cart_button {
  width: 100% !important;
  padding: 18px 32px !important;
  display: block !important;
  text-align: center !important;
}

/* Email capture form alignment */
.ct-email-capture__form {
  display: flex !important;
  gap: 0 !important;
  max-width: 440px;
  margin: 0 auto;
}
.ct-email-capture__form input {
  flex: 1;
  border-radius: 8px 0 0 8px !important;
  border-right: none !important;
  height: 50px;
  padding: 0 18px !important;
}
.ct-email-capture__form .ct-btn {
  border-radius: 0 8px 8px 0 !important;
  height: 50px;
  padding: 0 24px !important;
  white-space: nowrap;
}

/* Shop - price black, thicker border */
.ct-product-card__price {
  color: var(--ct-black) !important;
}
.ct-product-card {
  border: none !important;
}

/* Contact social icons larger */
.ct-contact-page__socials a svg {
  width: 26px;
  height: 26px;
}

/* Footer socials */
.ct-custom-footer__socials {
  display: flex;
  gap: 14px;
  margin-top: 16px;
}
.ct-custom-footer__socials a {
  color: var(--ct-light-grey);
  transition: color 0.2s;
}
.ct-custom-footer__socials a:hover { color: var(--ct-white); }

/* Product page sticky header on scroll */
.ct-custom-header--solid {
  position: sticky !important;
  top: 0 !important;
  z-index: 99 !important;
}

/* Product dropdown fix */
.ct-pdp__select {
  width: 100% !important;
  padding: 14px 40px 14px 16px !important;
  font-size: 15px !important;
  font-family: 'Poppins', sans-serif !important;
  border: 2px solid var(--ct-border) !important;
  border-radius: 8px !important;
  background-color: var(--ct-white) !important;
  color: var(--ct-black) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
}
.ct-pdp__select:focus {
  outline: none !important;
  border-color: var(--ct-black) !important;
}
.ct-pdp__select option {
  color: var(--ct-black);
  background: var(--ct-white);
}

/* Reviews spacing consistent with description */
.ct-reviews {
  padding: 60px 0 !important;
  border-top: 1px solid var(--ct-border) !important;
  margin-top: 60px !important;
}

/* Nav buttons centered to image */
.ct-pdp__nav--prev { left: 14px !important; }
.ct-pdp__nav--next { right: 14px !important; }
.ct-pdp__main-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ct-pdp__main-image > img {
  width: 100% !important;
  height: auto !important;
}

/* Mobile email form stack */
@media (max-width: 689px) {
  .ct-email-capture__form {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .ct-email-capture__form input {
    border-radius: 8px !important;
    border-right: 1px solid var(--ct-border) !important;
  }
  .ct-email-capture__form .ct-btn {
    border-radius: 8px !important;
    width: 100%;
  }
}




/* ============================================
   PRODUCT PAGE - CLEAN MINIMAL OVERRIDES
   ============================================ */

/* Let Blocksy handle quantity - just adjust sizing */
.ct-pdp__add-to-cart .quantity {
  margin-bottom: 16px;
}

/* Both buttons identical - black */
.ct-pdp__add-to-cart .single_add_to_cart_button,
.ct-pdp__add-to-cart button.single_add_to_cart_button,
.ct-pdp__add-to-cart .single_add_to_cart_button.button,
.ct-pdp__buttons .ct-buy-now-btn,
a.ct-buy-now-btn {
  width: 100% !important;
  padding: 18px 32px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  background: #0a0a0a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  display: block !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}
.ct-pdp__add-to-cart .single_add_to_cart_button:hover,
.ct-pdp__buttons .ct-buy-now-btn:hover {
  background: #1a1a1a !important;
  color: #ffffff !important;
}
.ct-pdp__add-to-cart .single_add_to_cart_button.disabled,
.ct-pdp__add-to-cart .single_add_to_cart_button:disabled {
  background: #0a0a0a !important;
  color: #ffffff !important;
  opacity: 0.5;
}

/* Dropdown text visible */
.ct-pdp__add-to-cart select,
form.cart select,
.variations select {
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
  background-color: #ffffff !important;
}

/* Hide Stripe/payment buttons */
#wc-stripe-payment-request-wrapper,
.wc-stripe-payment-request-wrapper,
[id*="stripe-payment-request"],
[class*="stripe-payment-request"],
[id*="payment-request"] {
  display: none !important;
}

/* Hide variation price/description (we show it above) */
.ct-pdp__add-to-cart .woocommerce-variation-price,
.ct-pdp__add-to-cart .woocommerce-variation-description,
.ct-pdp__add-to-cart .woocommerce-variation-availability {
  display: none;
}

/* Shop card - single light border */
.ct-product-card {
  border: 1px solid #e0e0e0;
}
ul.products li.product {
  border: none;
  background: transparent;
}

/* Shop card price black */
.ct-product-card__price {
  color: #0a0a0a !important;
  font-weight: 400 !important;
}

/* Footer socials white */
.ct-custom-footer__socials a svg {
  width: 24px;
  height: 24px;
}
.ct-custom-footer__socials a {
  color: #ffffff;
}
.ct-custom-footer__socials a svg[fill="currentColor"] {
  fill: #ffffff;
}

/* Contact socials larger */
.ct-contact-page__socials a svg {
  width: 28px;
  height: 28px;
}

/* Product page sticky header */
body.single-product .ct-custom-header {
  position: sticky;
  top: 0;
  z-index: 99;
}

.wp-block-woocommerce-product-new {
  display: none !important;
}

/* Email capture alignment */
.ct-email-capture__form {
  display: flex;
  align-items: stretch;
}
.ct-email-capture__form input[type="email"] {
  height: 50px;
  border-radius: 8px 0 0 8px;
  border-right: none;
}
.ct-email-capture__form .ct-btn {
  height: 50px;
  border-radius: 0 8px 8px 0;
  line-height: 50px;
  padding: 0 24px;
}

/* All buttons consistent base */
.ct-btn,
.ct-contact-form button[type="submit"] {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 8px;
  background: #0a0a0a;
  color: #ffffff;
  border: none;
  cursor: pointer;
}

/* Honeypot hidden */
.ct-hp-field { display: none; }


/* Buy Now disabled state - matches WooCommerce's disabled Add to Cart */
.ct-btn-disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  pointer-events: auto !important;
}


/* Buy Now - outline variant */
.ct-pdp__buttons .ct-buy-now-btn,
a.ct-buy-now-btn {
  background: transparent !important;
  color: #0a0a0a !important;
  border: 2px solid #0a0a0a !important;
}
.ct-pdp__buttons .ct-buy-now-btn:hover,
a.ct-buy-now-btn:hover {
  background: #0a0a0a !important;
  color: #ffffff !important;
}
.ct-buy-now-btn.ct-btn-disabled {
  background: transparent !important;
  color: #0a0a0a !important;
  border: 2px solid #0a0a0a !important;
  opacity: 0.3 !important;
}

/* Cart page - no hero, simple title */

/* Checkout - minimal header, no nav links */
body.woocommerce-checkout .ct-page-hero {
  display: none !important;
}
body.woocommerce-checkout .ct-custom-header__nav {
  display: none !important;
}
body.woocommerce-checkout .ct-custom-header__burger {
  display: none !important;
}



/* Checkout - hide nav, keep logo and cart only */
.woocommerce-checkout .ct-custom-header__nav,
.woocommerce-checkout .ct-custom-header__burger,
.woocommerce-checkout .ct-custom-header__nav,
.woocommerce-checkout .ct-custom-header__burger {
  display: none !important;
}

/* Remove announcement bar on checkout too - clean experience */
.woocommerce-checkout .ct-announce,
.woocommerce-checkout .ct-announce {
  display: none !important;
}


/* Checkout - strip everything: no nav, no announce, no footer, no email capture */
.woocommerce-checkout .ct-custom-header__nav,
.woocommerce-checkout .ct-custom-header__burger,
.woocommerce-checkout .ct-announce,
.woocommerce-checkout .ct-custom-footer,
.woocommerce-checkout .ct-email-capture,
.woocommerce-checkout .ct-trust-bar {
  display: none !important;
}


/* ============================================
   ============================================ */

/* Cart title */

/* WooCommerce Block Cart styling */


/* Product image in cart */

/* Product name */

.wc-block-components-totals-item .wc-block-components-totals-item__label {
  font-weight: 600 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 22px !important;
  font-weight: 800 !important;
}

/* Checkout button in cart */
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button:hover {
  background: #1a1a1a !important;
}

/* Remove sad face emoji from empty cart */

/* Quantity selector in cart */
.wc-block-components-quantity-selector {
  border-radius: 6px !important;
  border-color: #e0e0e0 !important;
}

/* Remove link */

/* Continue shopping - add a link */

/* Discount code input */
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__input input {
  border-radius: 8px !important;
  border-color: #e0e0e0 !important;
  font-family: 'Poppins', sans-serif !important;
}

/* ============================================
   CHECKOUT PAGE - CLEAN MINIMAL STYLE
   ============================================ */
.woocommerce-checkout .ct-page {
  padding-top: 32px !important;
}
.woocommerce-checkout .ct-page__inner {
  max-width: 1100px !important;
}

/* Checkout headings */
.wc-block-checkout .wc-block-components-checkout-step__title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #0a0a0a !important;
}

/* Checkout form fields */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input,
.wc-block-checkout select {
  border-radius: 8px !important;
  border-color: #e0e0e0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus {
  border-color: #0a0a0a !important;
  box-shadow: none !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button {
  width: 100% !important;
  min-height: 56px !important;
}

/* Order summary in checkout */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
  border-radius: 8px !important;
}
.wc-block-components-order-summary .wc-block-components-product-name {
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* Payment methods */
.wc-block-components-payment-method-label {
  font-family: 'Poppins', sans-serif !important;
}

/* Clean borders */
.wc-block-checkout .wc-block-components-checkout-step {
  border-bottom: 1px solid #f0f0f0 !important;
  padding-bottom: 24px !important;
  margin-bottom: 24px !important;
}

/* Hide the powered by WooCommerce */
.wc-block-components-checkout-return-to-cart-button {
  color: #888 !important;
  font-size: 14px !important;
}

/* Checkout header - just logo centered */
.woocommerce-checkout .ct-custom-header__inner {
  justify-content: center !important;
}
.woocommerce-checkout .ct-custom-header__actions {
  position: absolute;
  right: 48px;
}


/* Continue shopping link */


/* ============================================
   ============================================ */

/* Cart icon vertically centered in header */
.ct-custom-header__cart {
  display: flex !important;
  align-items: center !important;
}
.ct-custom-header__cart svg {
  display: block !important;
}

/* Remove underline from PROCEED TO CHECKOUT */


/* Checkout - keep header normal layout (logo left, cart right) not centered */
.woocommerce-checkout .ct-custom-header__inner {
  justify-content: space-between !important;
}
.woocommerce-checkout .ct-custom-header__actions {
  position: static !important;
}

/* Return to cart - move above place order, not on same line */
.wc-block-components-checkout-return-to-cart-button {
  display: block !important;
  text-align: center !important;
  margin-bottom: 12px !important;
  order: -1 !important;
}

/* Place order area - stack vertically */
.wc-block-checkout__actions {
  display: flex !important;
  flex-direction: column-reverse !important;
  gap: 0 !important;
}


/* ============================================
   ============================================ */

/* Hide column headers (PRODUCT, TOTAL etc) */

/* Make cart items full width */

/* Cart sidebar - show but simplified */
/* Hide subtotal line, shipping, coupons - keep only total + button */

/* Hide coupon/discount section */
.wc-block-components-totals-coupon,


/* Make checkout button full width at the bottom */




/* Hide cart subtotals, shipping, coupons - using WC block class names */


/* Hide "Cart Totals" heading */


/* ============================================
   ============================================ */


/* Remove first and last borders on cart items */


/* Total - PPP style: "Subtotal" on left, big price on right, same line */
.wc-block-components-totals-footer-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 0 !important;
  border: none !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Poppins', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #0a0a0a !important;
}
/* Small "taxes included" text */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
  font-size: 12px !important;
  color: #999 !important;
}

/* Proceed to checkout - no underline, clean */
.wp-block-woocommerce-proceed-to-checkout-block {
  padding: 0 !important;
  margin-top: 16px !important;
}

/* FunnelKit cart summary if present */




/* Single light line between items only */


/* Remove border after last item */

/* Cart item layout: image | details | qty | price */

/* Image column */

/* Details column (name, variant, price under name) */

/* Quantity column - center */

/* Remove link next to quantity */

/* Total price - bigger, right aligned */


/* ============================================
   ============================================ */

/* Table as a clean layout */

/* Hide header row */

/* ALL rows - no borders by default */

/* Separator only BETWEEN items (not first top, not last bottom) */

/* Cells - vertical align center */

/* Product cell - make quantity inline */

/* Name and variant info */

/* Quantity next to name */

/* Remove button - smaller, subtle */

/* Total price bigger */


/* ============================================
   ============================================ */

/* Nuke every single border on the cart table */

/* Now add ONLY between adjacent rows */

/* Product cell layout: name + variant + price stacked, qty inline right */
/* Name, prices, variant stack on left */
.wc-block-components-product-name {
  grid-column: 1 !important;
  grid-row: 1 !important;
  font-weight: 600 !important;
}
/* Quantity on right, centered */
/* Remove link subtle */

/* Subtotal column - bigger */

/* Checkout button with lock icon */

/* Continue shopping with back arrow */


/* ============================================
   CART PAGE - SINGLE CLEAN BLOCK
   ============================================ */

/* Cart header */
.ct-continue-shopping {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
  text-decoration: none;
  border: 1px solid #e0e0e0;
  padding: 10px 20px;
  border-radius: 8px;
}
.ct-continue-shopping:hover { border-color: #0a0a0a; }

/* Cart content area */
.woocommerce-cart .ct-page__inner {
  max-width: 1100px !important;
}

/* Hide table header */
.wc-block-cart-items thead { display: none !important; }

/* Remove ALL borders from table elements */
.wc-block-cart-items, .wc-block-cart-items tbody,
.wc-block-cart-items tr, .wc-block-cart-items td,
.wc-block-cart-items th {
  border: none !important;
  border-collapse: collapse !important;
}

/* Separator ONLY between rows using pseudo-element */
.wc-block-cart-items tbody tr.wc-block-cart-items__row {
  position: relative !important;
}
.wc-block-cart-items tbody tr.wc-block-cart-items__row + tr.wc-block-cart-items__row::after {
  content: '';
  position: absolute;
  top: 0;
  left: 80px;
  right: 0;
  height: 1px;
  background: #eee;
}

/* Cell padding */
.wc-block-cart-items td {
  padding: 24px 8px !important;
  vertical-align: top !important;
}

/* Image */
.wc-block-cart-item__image { width: 80px !important; }
.wc-block-cart-item__image img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* Product cell: title on top, price + variant underneath, qty inline right */
.wc-block-cart-item__wrap {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap: 4px 32px !important;
  align-items: center !important;
}
.wc-block-components-product-name {
  grid-column: 1 !important;
  grid-row: 1 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
  text-decoration: none !important;
}
.wc-block-cart-item__prices {
  grid-column: 1 !important;
  grid-row: 2 !important;
  font-size: 13px !important;
  color: #888 !important;
}
.wc-block-cart-item__quantity {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.wc-block-cart-item__remove-link {
  font-size: 12px !important;
  color: #bbb !important;
}
.wc-block-cart-item__remove-link:hover { color: #0a0a0a !important; }

/* Subtotal per item - right column bigger */
.wc-block-cart-item__total {
  vertical-align: middle !important;
  text-align: right !important;
}
.wc-block-cart-item__total .wc-block-formatted-money-amount {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0a0a0a !important;
}

/* Hide order summary heading, coupons, shipping, subtotal line */
.wp-block-woocommerce-cart-order-summary-heading-block,
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-cart-order-summary-shipping-block,
.wp-block-woocommerce-cart-order-summary-subtotal-block,
.wp-block-woocommerce-cart-order-summary-taxes-block,
.wp-block-woocommerce-cart-order-summary-fee-block,
.wp-block-woocommerce-cart-order-summary-discount-block,
.woocommerce-cart .fkcart-summary-line-item,
.woocommerce-cart .fkcart-coupon-area {
  display: none !important;
}

/* Total line */
.wc-block-components-totals-footer-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  border: none !important;
  padding: 0 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Poppins', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}

/* Checkout button */
.wc-block-cart__submit-button {
  text-decoration: none !important;
  background: #0a0a0a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
}
.wc-block-cart__submit-button:hover { background: #1a1a1a !important; }

/* Separators/dots that WC adds */
.woocommerce-cart .wp-block-separator,
.woocommerce-cart hr {
  display: none !important;
}

/* Empty cart */
.wc-block-cart__empty-cart__icon { display: none !important; }

/* Hide cross-sells / new in store */
.woocommerce-cart .wc-block-grid,
.woocommerce-cart .wp-block-woocommerce-product-new,
.wc-block-cart__cross-sells,
.wp-block-woocommerce-cart-cross-sells-block {
  display: none !important;
}


/* Cart item: variant/options above price, grey */
.wc-block-cart-item__product .wc-block-components-product-metadata {
  grid-column: 1 !important;
  grid-row: 2 !important;
  font-size: 13px !important;
  color: #999 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wc-block-cart-item__product .wc-block-components-product-metadata .wc-block-components-product-metadata__description {
  color: #999 !important;
}
/* Price below variant */
.wc-block-cart-item__prices {
  grid-row: 3 !important;
}
/* Quantity spans all content rows */
.wc-block-cart-item__quantity {
  grid-row: 1 / 4 !important;
}


/* Tighten gap between product name and options */
.wc-block-cart-item__wrap {
  gap: 2px 32px !important;
}
.wc-block-components-product-name {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.wc-block-components-product-metadata {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.wc-block-components-product-metadata p {
  margin: 0 !important;
}
.wc-block-cart-item__prices {
  margin: 0 !important;
  padding: 0 !important;
}

/* Subtotal column vertically centered */
.wc-block-cart-item__total {
  vertical-align: middle !important;
}


/* Force subtotal cell to vertically center */
td.wc-block-cart-item__total {
  vertical-align: middle !important;
  height: 100% !important;
}
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-height: 100% !important;
}



/* Lock icon color in button */
.wc-block-cart__submit-button svg {
  stroke: #ffffff !important;
}


/* Subtotal cell - force vertical center */
.wc-block-cart-items td.wc-block-cart-item__total {
  vertical-align: middle !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Lock icon in checkout button */
.wc-block-cart__submit-button svg {
  stroke: #ffffff !important;
  display: inline !important;
}


/* Header height consistency - same 64px everywhere */
.ct-custom-header,
.ct-custom-header--solid,
.ct-custom-header--transparent,
.ct-custom-header--transparent.ct-header--scrolled {
  height: 64px !important;
}
.ct-custom-header__inner {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}


/* ============================================
   FIXES FROM SCREENSHOT REVIEW
   ============================================ */

/* Header: scrolled state should keep announce bar visible
   The pixel shift is because the transparent header goes from 
   absolute (below announce) to fixed (top:0, covering announce).
   Make scrolled header also account for announce bar. */

/* Subtotal - FORCE middle alignment with display table-cell trick */
.wc-block-cart-items .wc-block-cart-items__row td:last-child {
  vertical-align: middle !important;
}
/* Also try on the wrapper inside */
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: 80px !important;
}

/* Lock icon - slightly larger */
.wc-block-cart__submit-button svg {
  width: 16px !important;
  height: 16px !important;
  stroke: #ffffff !important;
}

/* Mobile cart fixes */
@media (max-width: 689px) {
  .ct-continue-shopping {
    font-size: 13px !important;
    padding: 8px 16px !important;
  }
  
  /* Cart items stack on mobile */
  .wc-block-cart-items td {
    padding: 12px 4px !important;
  }
  .wc-block-cart-item__image {
    width: 60px !important;
  }
  .wc-block-cart-item__image img {
    width: 60px !important;
    height: 60px !important;
  }
  
  /* Hide empty cart icon */
  .wc-block-cart__empty-cart__icon {
    display: none !important;
  }
  
  /* Hide "New in store" on mobile */
  .wc-block-cart .wc-block-grid,
  .wp-block-woocommerce-product-new,
  
  /* Signup mobile */
  .ct-email-capture {
    padding: 40px 20px !important;
  }
  .ct-email-capture h3 {
    font-size: 22px !important;
  }
  .ct-email-capture__form {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .ct-email-capture__form input[type="email"] {
    border-radius: 8px !important;
    border-right: 1px solid var(--ct-border) !important;
    width: 100% !important;
  }
  .ct-email-capture__form .ct-btn {
    border-radius: 8px !important;
    width: 100% !important;
    height: 50px !important;
  }
}

/* "New in store" - hide everywhere on cart */
.woocommerce-cart h2.wp-block-heading:not(:first-child),
.woocommerce-cart .wc-block-grid,
.woocommerce-cart .wp-block-woocommerce-product-new {
  display: none !important;
}


/* Cart row as flexbox to properly center all cells */
.wc-block-cart-items tbody tr.wc-block-cart-items__row {
  display: flex !important;
  align-items: center !important;
  padding: 24px 0 !important;
}
.wc-block-cart-items tbody tr.wc-block-cart-items__row td {
  display: block !important;
  padding: 0 8px !important;
}
.wc-block-cart-items tbody tr.wc-block-cart-items__row td.wc-block-cart-item__image {
  flex-shrink: 0 !important;
}
.wc-block-cart-items tbody tr.wc-block-cart-items__row td.wc-block-cart-item__product {
  flex: 1 !important;
}
.wc-block-cart-items tbody tr.wc-block-cart-items__row td.wc-block-cart-item__total {
  flex-shrink: 0 !important;
}
/* Remove the forced height on the total wrapper */
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  height: auto !important;
}

/* Mobile cart - hide sad face and empty gap */
@media (max-width: 689px) {
  .wc-block-cart__empty-cart__icon,
  .wc-block-cart .wp-block-heading.with-empty-cart-icon {
    display: none !important;
  }
  .wc-block-cart__empty-cart__title {
    font-size: 18px !important;
    padding: 20px 0 !important;
  }
}


/* Quantity - vertically center within product cell */
.wc-block-cart-item__wrap {
  align-items: center !important;
}
.wc-block-cart-item__quantity {
  align-self: center !important;
}

/* 3. Header pixel shift fix:
   The issue is pages with hero have announce bar + transparent header (absolute),
   while pages without hero have announce bar + solid header (sticky).
   Both announce bars are the same, but the solid header's sticky position
   might have a different computed height due to box model.
   Force identical box model on both. */
.ct-announce {
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.ct-custom-header {
  box-sizing: border-box !important;
}
.ct-custom-header__inner {
  box-sizing: border-box !important;
}


/* Space between product cell (qty/remove) and subtotal - desktop only */
@media (min-width: 690px) {
  .wc-block-cart-items tbody tr.wc-block-cart-items__row td.wc-block-cart-item__total {
    padding-left: 40px !important;
  }
}


/* Hide subtotal column on mobile */
@media (max-width: 689px) {
  .wc-block-cart-items td.wc-block-cart-item__total {
    display: none !important;
  }
}


/* Hide subtotal on mobile - target ALL possible elements */
@media (max-width: 689px) {
  .wc-block-cart-item__total,
  td.wc-block-cart-item__total,
  .wc-block-cart-item__total-price-and-sale-badge-wrapper,
  [class*="cart-item__total"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}


/* Email input on mobile - taller, matches button height */
@media (max-width: 689px) {
  .ct-email-capture__form input[type="email"] {
    height: 52px !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    border: 1px solid var(--ct-border) !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }
  .ct-email-capture__form .ct-btn {
    height: 52px !important;
    padding: 14px 24px !important;
  }
}


/* Mobile menu links - no black flash on tap */
.ct-mobile-menu a {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none !important;
}
.ct-mobile-menu a:active,
.ct-mobile-menu a:focus {
  background: rgba(255,255,255,0.08) !important;
  color: var(--ct-white) !important;
  outline: none !important;
  border-radius: 8px !important;
  margin: 0 -12px !important;
  padding: 16px 12px !important;
}




/* ============================================
   HERO - FILL EXACT VIEWPORT
   ============================================ */
/* Hero fills from top of viewport to bottom, behind announce + header */


/* ============================================
   INTERACTIONS - CLEAN & MODERN
   ============================================ */

/* Nav links - underline slide in from left */
.ct-custom-header__nav a {
  position: relative !important;
  transition: none !important;
}
.ct-custom-header__nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--ct-white);
  transition: width 0.25s ease;
}
.ct-custom-header__nav a:hover::after {
  width: 100%;
}
.ct-custom-header__nav a:hover {
  opacity: 1 !important;
}

/* All buttons - base */
.ct-btn,
a.ct-btn,
.ct-pdp__add-to-cart .single_add_to_cart_button,
.wc-block-cart__submit-button,
.ct-contact-form button[type="submit"],
.ct-email-capture__form .ct-btn {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Solid buttons hover - lighten */
.ct-btn:hover,
a.ct-btn:hover,
.ct-pdp__add-to-cart .single_add_to_cart_button:hover,
.wc-block-cart__submit-button:hover,
.ct-contact-form button[type="submit"]:hover,
.ct-email-capture__form .ct-btn:hover {
  background-color: #2a2a2a !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Solid buttons active - press */
.ct-btn:active,
a.ct-btn:active,
.ct-pdp__add-to-cart .single_add_to_cart_button:active,
.wc-block-cart__submit-button:active {
  background-color: #111 !important;
  transition-duration: 0.05s !important;
}

/* White button */
.ct-btn--white:hover, a.ct-btn--white:hover {
  background-color: #f2f2f2 !important;
  color: var(--ct-black) !important;
}

/* Outline (Buy Now) - fill on hover */
.ct-buy-now-btn:hover, a.ct-buy-now-btn:hover {
  background-color: #0a0a0a !important;
  color: #fff !important;
  border-color: #0a0a0a !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Disabled Buy Now - NO hover effects */
.ct-buy-now-btn.ct-btn-disabled,
.ct-buy-now-btn.ct-btn-disabled:hover,
.ct-buy-now-btn.ct-btn-disabled:active {
  background: transparent !important;
  color: #0a0a0a !important;
  border-color: #0a0a0a !important;
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Product cards - clean scale on image only */
.ct-product-card {
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}
.ct-product-card:hover {
  transform: none !important;
  box-shadow: none !important;
}
.ct-product-card__image img {
  transition: transform 0.3s ease !important;
}
.ct-product-card:hover .ct-product-card__image img {
  transform: scale(1.04) !important;
}

/* Product gallery image hover */
.ct-pdp__main-image > img,
.ct-featured__img-main img,
.ct-featured__img-sm img {
  transition: transform 0.3s ease !important;
}
.ct-featured__img-main:hover img,
.ct-featured__img-sm:hover img {
  transform: scale(1.03) !important;
}

/* Footer links */
.ct-custom-footer__col a {
  transition: color 0.15s ease !important;
}

/* Contact socials */
.ct-contact-page__socials a,
.ct-custom-footer__socials a {
  transition: opacity 0.15s ease !important;
}
.ct-contact-page__socials a:hover,
.ct-custom-footer__socials a:hover {
  opacity: 0.6 !important;
}


/* Hero fills entire viewport on homepage */
body.page-template-template-homepage .ct-announce {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 101 !important;
  transition: transform 0.3s ease !important;
}
body.page-template-template-homepage .ct-announce.ct-announce--hidden {
  transform: translateY(-100%) !important;
}
body.page-template-template-homepage .ct-custom-header--transparent {
  top: 36px !important;
  position: fixed !important;
  transition: top 0.3s ease, background-color 0.3s ease !important;
}
.ct-hero {
  min-height: 100vh !important;
  margin-top: 0 !important;
  padding-top: 100px !important; /* space for fixed announce + header */
}


/* Shop Now (white button) transition */
.ct-btn--white {
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

/* Hide FunnelKit cart icon on cart page */
.woocommerce-cart .fkcart-main-toggle-btn,
.woocommerce-cart #fkcart-main-toggle,
.woocommerce-cart [class*="fkcart-toggle"],
.woocommerce-cart .fkcart-basket,
.woocommerce-cart .fkcart-main-toggle-btn,
.woocommerce-cart #fkcart-main-toggle,
.woocommerce-cart [class*="fkcart-toggle"],
.woocommerce-cart .fkcart-basket {
  display: none !important;
  visibility: hidden !important;
}


/* Shop Now and all .ct-btn--white transitions */
.ct-btn--white,
a.ct-btn--white,
.ct-hero__cta .ct-btn {
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.1s ease !important;
}
.ct-btn--white:active,
a.ct-btn--white:active,
.ct-hero__cta .ct-btn:active {
  transform: scale(0.98) !important;
  transition-duration: 0.05s !important;
}





.ct-custom-header--transparent {
  transition: background-color 0.3s ease !important;
}


/* Smooth announce bar fade */
.ct-announce {
  transition: opacity 0.3s ease !important;
}


body.page-template-template-homepage .ct-custom-header--transparent.ct-header--scrolled {
  top: 0 !important;
}


/* Shop Now button on hero - visible hover transition */
.ct-hero .ct-btn--white,
.ct-hero a.ct-btn--white {
  transition: background-color 0.25s ease !important;
}
.ct-hero .ct-btn--white:hover,
.ct-hero a.ct-btn--white:hover {
  background-color: #e0e0e0 !important;
}
.ct-hero .ct-btn--white:active,
.ct-hero a.ct-btn--white:active {
  background-color: #ccc !important;
}

/* Shop card border - thin, same as cart separators */
.ct-product-card {
  border: 1px solid #f0f0f0 !important;
}


/* Checkout button - match all other black button transitions */
.wc-block-cart__submit-button,
.wc-block-cart__submit-button:link,
.wc-block-cart__submit-button:visited {
  transition: background-color 0.25s ease !important;
}
.wc-block-cart__submit-button:hover {
  background-color: #2a2a2a !important;
  transform: none !important;
  box-shadow: none !important;
}
.wc-block-cart__submit-button:active {
  background-color: #111 !important;
}


/* Hide checkout button text flash while JS replaces it */
.wc-block-cart__submit-button .wc-block-components-button__text {
  font-size: 0 !important;
}
.wc-block-cart__submit-button .wc-block-components-button__text::after {
  content: 'CHECKOUT';
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
}


/* Shop items on mobile - full width, stacked */
@media (max-width: 689px) {
  ul.products {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 0 20px !important;
  }
  .ct-product-card__image img {
    aspect-ratio: 1 !important;
    width: 100% !important;
  }
  .ct-product-card__info {
    padding: 16px 20px !important;
  }
  .ct-product-card__name {
    font-size: 17px !important;
  }
  .ct-product-card__price {
    font-size: 17px !important;
  }
  .ct-shop-page {
    padding: 40px 0 60px !important;
  }
  .ct-shop-page__inner {
    padding: 0 !important;
  }
}


/* Value comparison - clicky things badge much larger */
.ct-value__badge {
  font-size: 28px !important;
  font-weight: 800 !important;
}


/* Trust bar - 2x2 grid on mobile instead of stacked list */
@media (max-width: 689px) {
  .ct-trust-bar__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 16px !important;
    text-align: center !important;
  }
  .ct-trust-bar__item {
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    text-align: center !important;
  }
  .ct-trust-bar__item strong {
    font-size: 12px !important;
  }

  /* Same for homepage inline trust bar */
  .ct-trust__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 16px !important;
  }
  .ct-trust__item {
    text-align: center !important;
    padding: 8px !important;
    border-right: none !important;
  }
}


/* Contact form success state */
.ct-form-success {
  text-align: center;
  padding: 48px 24px;
}
.ct-form-success svg {
  margin-bottom: 16px;
}
.ct-form-success h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #0a0a0a;
  margin: 0 0 8px;
}
.ct-form-success p {
  font-size: 15px;
  color: #888;
  margin: 0;
}


/* Empty cart shop button - match all other buttons */
.wc-block-cart__empty-cart__content .wp-block-button a,
.wc-block-cart__empty-cart__content .wp-element-button,
.wc-block-cart__empty-cart__content .wp-block-button__link {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px 32px !important;
  text-decoration: none !important;
  transition: background-color 0.25s ease !important;
}
.wc-block-cart__empty-cart__content .wp-block-button a:hover,
.wc-block-cart__empty-cart__content .wp-element-button:hover,
.wc-block-cart__empty-cart__content .wp-block-button__link:hover {
  background-color: #2a2a2a !important;
}


/* Change "Estimated total" to "Subtotal" */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 0 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label::after {
  content: 'Subtotal';
  font-size: 16px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
}

/* Add shipping text under the totals */
.wc-block-components-totals-footer-item::after {
  content: 'Shipping & taxes may be re-calculated at checkout.';
  display: block;
  font-size: 12px;
  color: #999;
  font-family: 'Poppins', sans-serif;
  margin-top: 4px;
  grid-column: 1 / -1;
}

/* Empty cart button - make sure text is visible */
.wc-block-cart__empty-cart__content .wp-block-button {
  display: block !important;
}
.wc-block-cart__empty-cart__content .wp-block-button a,
.wc-block-cart__empty-cart__content .wp-block-button .wp-block-button__link {
  display: inline-block !important;
  visibility: visible !important;
  min-width: 160px !important;
  text-align: center !important;
}


/* Stop FunnelKit reward bar from causing layout shift */


/* FunnelKit slide-out cart - wider on desktop */


/* Cart page main area wider on large screens */
@media (min-width: 1200px) {
  .woocommerce-cart .ct-page__inner {
    max-width: 1300px !important;
  }
}


/* Cart page width - force wider */
.woocommerce-cart .ct-page__inner,
.woocommerce-cart .ct-page__inner[style] {
  max-width: 1300px !important;
}
.woocommerce-cart .ct-page {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

/* FunnelKit subtotal - prevent jump by setting fixed layout */





/* Wide inner for cart/checkout */
.ct-page__inner.ct-page__inner--wide {
  max-width: 1300px !important;
}


/* Cart page - guaranteed wider */
body.woocommerce-cart .ct-page__inner {
  max-width: 1300px !important;
}


/* Hide the emoji on empty cart */
body.woocommerce-cart .wc-block-cart__empty-cart__icon,
body.woocommerce-cart .with-empty-cart-icon::before,
body.woocommerce-cart .wp-block-heading.with-empty-cart-icon {
  background-image: none !important;
}
/* Target the emoji character itself - hide it */
body.woocommerce-cart .wc-block-cart .wp-block-image,
body.woocommerce-cart .wc-block-cart img.wp-smiley {
  display: none !important;
}

/* The shop button in empty cart - WC blocks render it as a wp-block-button */
body.woocommerce-cart .wc-block-cart .wp-block-button__link,
body.woocommerce-cart .wc-block-cart .wp-element-button,
body.woocommerce-cart .wc-block-cart .wp-block-button a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px 40px !important;
  text-decoration: none !important;
  display: inline-block !important;
  min-width: 160px !important;
  text-align: center !important;
  transition: background-color 0.25s ease !important;
}
body.woocommerce-cart .wc-block-cart .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-cart .wp-element-button:hover,
body.woocommerce-cart .wc-block-cart .wp-block-button a:hover {
  background-color: #2a2a2a !important;
}


/* Empty cart Shop button - exact selector match */
body.woocommerce-cart .wp-block-button .wp-block-button__link.wp-element-button,
body.woocommerce-cart a.wp-block-button__link.wp-element-button {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px 40px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background-color 0.25s ease !important;
  line-height: 1.2 !important;
}
body.woocommerce-cart .wp-block-button .wp-block-button__link.wp-element-button:hover,
body.woocommerce-cart a.wp-block-button__link.wp-element-button:hover {
  background-color: #2a2a2a !important;
}


/* hCaptcha styling */
.h-captcha {
  margin-bottom: 12px;
}
.ct-email-capture__form .h-captcha {
  margin-bottom: 0;
}

/* Email signup form - stack when hCaptcha is present */
.ct-email-capture__form {
  flex-wrap: wrap !important;
}


















/* ============================================
   CART HEADER - DEFINITIVE
   ============================================ */
.ct-cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 -48px 32px -48px;
  padding: 0 48px;
  width: calc(100% + 96px);
}
.ct-cart-header h1 {
  font-family: 'Poppins', sans-serif;
  font-size: 52px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0;
}

@media (max-width: 689px) {
  .ct-cart-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin: 0 -20px 24px -20px;
    padding: 0 20px;
    width: calc(100% + 40px);
  }
  .ct-cart-header h1 {
    font-size: 36px;
  }
  
  /* Cart items - title runs across qty/remove on mobile */
  .wc-block-cart-items tbody tr.wc-block-cart-items__row {
    flex-wrap: wrap !important;
  }
  .wc-block-cart-item__product {
    flex-basis: calc(100% - 72px) !important;
  }
  .wc-block-cart-item__product .wc-block-cart-item__wrap {
    display: block !important;
  }
  .wc-block-cart-item__quantity {
    margin-top: 8px !important;
  }
}


/* Mobile cart spacing */
@media (max-width: 689px) {
  body.woocommerce-cart .ct-page {
    padding: 24px 20px !important;
  }
  body.woocommerce-cart .wc-block-cart-items td {
    padding: 16px 4px !important;
  }
  body.woocommerce-cart .wc-block-cart-items tbody tr.wc-block-cart-items__row {
    padding: 16px 0 !important;
    gap: 8px 12px !important;
  }
  body.woocommerce-cart .wc-block-cart__submit-button {
    margin-top: 16px !important;
  }
  body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding-top: 16px !important;
    margin-top: 16px !important;
  }
}


/* ============================================
   BLOG
   ============================================ */
.ct-blog {
  padding: 60px 48px 80px;
}
.ct-blog__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.ct-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.ct-blog__card {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #f0f0f0;
  transition: transform 0.2s ease;
}
.ct-blog__card:hover {
  transform: translateY(-2px);
}
.ct-blog__card-image {
  display: block;
  overflow: hidden;
}
.ct-blog__card-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.ct-blog__card:hover .ct-blog__card-image img {
  transform: scale(1.03);
}
.ct-blog__card-content {
  padding: 24px;
}
.ct-blog__card-date {
  font-size: 12px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ct-blog__card-title {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 700;
  margin: 8px 0 12px;
  line-height: 1.3;
}
.ct-blog__card-title a {
  color: #0a0a0a;
  text-decoration: none;
}
.ct-blog__card-title a:hover {
  opacity: 0.7;
}
.ct-blog__card-excerpt {
  font-size: 15px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 16px;
}
.ct-blog__card-link {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Single post meta */
.ct-blog-post__meta {
  margin-bottom: 24px;
}
.ct-blog-post__meta time {
  font-size: 14px;
  color: #999;
}

/* Responsive */
@media (max-width: 999px) {
  .ct-blog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 689px) {
  .ct-blog { padding: 40px 20px 60px; }
  .ct-blog__grid { grid-template-columns: 1fr; }
}


/* ============================================
   CHECKOUT - CUSTOM SHOPIFY-STYLE
   ============================================ */

/* Hide default theme header/footer on checkout */
.ct-checkout-page .ct-announce,
.ct-checkout-page .ct-email-capture,
.ct-checkout-page .ct-trust-bar,
.ct-checkout-page .ct-custom-footer,
.ct-checkout-page [data-header],
.ct-checkout-page header.ct-header,
.ct-checkout-page [data-footer],
.ct-checkout-page footer.ct-footer {
  display: none !important;
}

/* Checkout header - minimal */
.ct-checkout-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 48px;
  border-bottom: 1px solid #eee;
}
.ct-checkout-header__logo {
  font-family: 'Baloo Bhai 2', sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #0a0a0a;
  text-decoration: none;
  text-transform: lowercase;
}
.ct-checkout-header__cart {
  color: #0a0a0a;
}

/* Two column layout */
.ct-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  min-height: calc(100vh - 60px);
}

/* Left - form */
.ct-checkout-form {
  padding: 40px 60px;
  max-width: 640px;
  margin-left: auto;
}

/* Right - order summary */
.ct-checkout-summary {
  background: #f7f7f7;
  border-left: 1px solid #e8e8e8;
  padding: 40px 36px;
}
.ct-checkout-summary__title {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 20px;
  color: #0a0a0a;
}

/* Order items */
.ct-checkout-summary__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}
.ct-checkout-summary__item:last-child {
  border-bottom: none;
}
.ct-checkout-summary__item-image {
  position: relative;
  flex-shrink: 0;
}
.ct-checkout-summary__item-image img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}
.ct-checkout-summary__item-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #666;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ct-checkout-summary__item-details {
  flex: 1;
  min-width: 0;
}
.ct-checkout-summary__item-name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
}
.ct-checkout-summary__item-variant {
  display: block;
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}
.ct-checkout-summary__item-price {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
  white-space: nowrap;
}

/* Coupon */
.ct-checkout-summary__coupon {
  padding: 16px 0;
  border-bottom: 1px solid #eee;
}
.ct-coupon-form {
  display: flex;
  gap: 8px;
}
.ct-coupon-form input {
  flex: 1;
  padding: 12px 14px;
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
}
.ct-coupon-form input:focus {
  outline: none;
  border-color: #0a0a0a;
}
.ct-coupon-form button {
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  color: #0a0a0a;
  transition: background 0.2s;
}
.ct-coupon-form button:hover {
  background: #e5e5e5;
}

/* Totals */
.ct-checkout-summary__totals {
  padding-top: 16px;
}
.ct-checkout-summary__row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 14px;
  color: #666;
}
.ct-checkout-summary__row--discount {
  color: #16a34a;
}
.ct-checkout-summary__row--total {
  padding-top: 16px;
  margin-top: 8px;
  border-top: 1px solid #e0e0e0;
  font-size: 16px;
  font-weight: 700;
  color: #0a0a0a;
}
.ct-checkout-summary__total-price {
  font-size: 22px;
  font-weight: 800;
}
.ct-checkout-summary__tax-note {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}

/* ============================================
   CLASSIC CHECKOUT FORM STYLING
   ============================================ */

/* Hide WooCommerce's built-in order review (we have our own sidebar) */
.ct-checkout-form #order_review_heading {
  display: none;
}
.ct-checkout-form .woocommerce-checkout-review-order-table {
  display: none;
}

/* WooCommerce coupon on form side - hide (we have it in sidebar) */
.ct-checkout-form .woocommerce-form-coupon-toggle,
.ct-checkout-form .checkout_coupon {
  display: none;
}

/* Section headings */
.ct-checkout-form .woocommerce-billing-fields h3,
.ct-checkout-form .woocommerce-shipping-fields h3,
.ct-checkout-form .woocommerce-additional-fields h3,
.ct-checkout-form #order_review_heading {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #0a0a0a;
  margin: 0 0 20px;
  padding: 0;
  border: none;
}

/* Rename billing to Delivery visually */
.ct-checkout-form .woocommerce-billing-fields h3 {
  font-size: 0;
}
.ct-checkout-form .woocommerce-billing-fields h3::after {
  content: 'Delivery';
  font-size: 22px;
}

/* Form fields */
.ct-checkout-form .form-row {
  margin-bottom: 14px;
}
.ct-checkout-form .form-row label {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
  display: block;
}
.ct-checkout-form .form-row label .optional {
  color: #999;
  font-weight: 400;
}
.ct-checkout-form .form-row label .required {
  color: #999;
}
.ct-checkout-form .form-row input.input-text,
.ct-checkout-form .form-row textarea,
.ct-checkout-form .form-row select,
.ct-checkout-form .select2-container .select2-selection--single {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  color: #0a0a0a;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.ct-checkout-form .form-row input.input-text:focus,
.ct-checkout-form .form-row select:focus {
  outline: none;
  border-color: #0a0a0a;
}

/* Select2 dropdown styling */
.ct-checkout-form .select2-container .select2-selection--single {
  height: 50px;
  display: flex;
  align-items: center;
}
.ct-checkout-form .select2-container .select2-selection__rendered {
  padding: 0;
  line-height: 1;
}

/* Two column fields (first/last name, city/postcode) */
.ct-checkout-form .woocommerce-billing-fields__field-wrapper,
.ct-checkout-form .woocommerce-shipping-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.ct-checkout-form .form-row-first,
.ct-checkout-form .form-row-last {
  flex: 1;
  min-width: 0;
}
.ct-checkout-form .form-row-wide {
  flex-basis: 100%;
}

/* Payment section */
.ct-checkout-form #payment {
  background: none;
  border: none;
  padding: 0;
  margin-top: 32px;
}
.ct-checkout-form #payment::before {
  content: 'Payment';
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #0a0a0a;
  margin-bottom: 20px;
}

/* Payment methods */
.ct-checkout-form .wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}
.ct-checkout-form .wc_payment_method {
  padding: 16px;
  border-bottom: 1px solid #eee;
}
.ct-checkout-form .wc_payment_method:last-child {
  border-bottom: none;
}
.ct-checkout-form .wc_payment_method label {
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.ct-checkout-form .payment_box {
  padding: 16px 0 0;
  font-size: 14px;
  color: #666;
  background: none;
}
.ct-checkout-form .payment_box::before {
  display: none;
}

/* Place Order button */
.ct-checkout-form #place_order {
  width: 100%;
  padding: 18px 32px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #0a0a0a;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.25s ease;
  margin-top: 20px;
}
.ct-checkout-form #place_order:hover {
  background: #2a2a2a;
}

/* Terms/privacy */
.ct-checkout-form .woocommerce-terms-and-conditions-wrapper {
  font-size: 12px;
  color: #999;
  margin-top: 12px;
}
.ct-checkout-form .woocommerce-terms-and-conditions-wrapper a {
  color: #666;
}

/* Return to cart */
.ct-checkout-form .woocommerce-info {
  background: none;
  border: none;
  padding: 0;
  font-size: 14px;
  color: #666;
  margin-bottom: 24px;
}
.ct-checkout-form .woocommerce-info a {
  color: #0a0a0a;
  font-weight: 600;
}

/* Validation errors */
.ct-checkout-form .woocommerce-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
  list-style: none;
  color: #dc2626;
  font-size: 14px;
}

/* WooCommerce notices */
.ct-checkout-form .woocommerce-message {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
  color: #16a34a;
  font-size: 14px;
}

/* ============================================
   CHECKOUT RESPONSIVE
   ============================================ */
@media (max-width: 999px) {
  .ct-checkout-layout {
    grid-template-columns: 1fr;
  }
  .ct-checkout-summary {
    order: -1;
    border-left: none;
    border-bottom: 1px solid #e8e8e8;
  }
  .ct-checkout-form {
    padding: 24px 20px;
    max-width: 100%;
  }
  .ct-checkout-summary {
    padding: 24px 20px;
  }
  .ct-checkout-header {
    padding: 16px 20px;
  }
}


/* Force checkout form to single column */
.ct-checkout-form .woocommerce-checkout {
  display: block !important;
}
.ct-checkout-form #customer_details {
  display: block !important;
  width: 100% !important;
}
.ct-checkout-form #customer_details .col-1,
.ct-checkout-form #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}
.ct-checkout-form #order_review,
.ct-checkout-form #order_review_heading {
  float: none !important;
  width: 100% !important;
}

/* Payment below delivery - full width */
.ct-checkout-form #payment {
  float: none !important;
  width: 100% !important;
  clear: both !important;
}

/* Place Order full width */
.ct-checkout-form #place_order {
  float: none !important;
  width: 100% !important;
}

/* Hide Additional Information if empty */
.ct-checkout-form .woocommerce-additional-fields {
  margin-top: 24px;
}
.ct-checkout-form .woocommerce-additional-fields h3 {
  font-size: 18px !important;
}

/* Express checkout - clean OR divider */
.ct-checkout-form .woocommerce-checkout-payment-express,
.ct-checkout-form #wc-stripe-payment-request-wrapper {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #eee;
}

/* Stripe elements - full width */
.ct-checkout-form .wc-stripe-elements-field,
.ct-checkout-form .stripe-card-group {
  width: 100% !important;
}

/* Privacy text at bottom */
.ct-checkout-form .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: #999;
  margin-top: 16px;
}


/* Checkout header - same as rest of site, not sticky */
.ct-checkout-page .ct-custom-header--solid {
  position: relative !important;
}

/* Center the form content in the left column */
.ct-checkout-form {
  padding: 40px 60px 60px !important;
  max-width: 580px !important;
  margin: 0 auto !important;
}

/* Hide the separate checkout header we were using before */
.ct-checkout-header {
  display: none !important;
}

/* Shipping always shows as Free since we offer free UK shipping */


/* Grey sidebar - sticky, full height, meets the form */
.ct-checkout-summary {
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  overflow-y: auto !important;
  align-self: start !important;
}

/* Make the layout fill viewport height */
.ct-checkout-layout {
  min-height: 100vh !important;
}

/* OR divider - clean line with text */
.ct-checkout-form #wc-stripe-payment-request-button-separator,
.ct-checkout-form .woocommerce-checkout-payment-express ~ p,
.ct-checkout-form .wc-stripe-payment-request-wrapper + p {
  display: none !important;
}

/* Custom OR divider via CSS on the express checkout wrapper */
.ct-checkout-form #wc-stripe-payment-request-wrapper,
.ct-checkout-form .woocommerce-checkout-payment-express {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  position: relative;
}
.ct-checkout-form #wc-stripe-payment-request-wrapper::after,
.ct-checkout-form .woocommerce-checkout-payment-express::after {
  content: 'OR';
  display: block;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #bbb;
  margin: 24px 0;
  position: relative;
}
.ct-checkout-form #wc-stripe-payment-request-wrapper::before,
.ct-checkout-form .woocommerce-checkout-payment-express::before {
  content: '';
  display: block;
  position: absolute;
  bottom: -36px;
  left: 0;
  right: 0;
  height: 1px;
  background: #e8e8e8;
  z-index: 0;
}

/* Remove the order summary title styling since we removed it */
.ct-checkout-summary__title {
  display: none !important;
}


/* OR divider - proper horizontal line with OR text in middle */
.ct-checkout-form #wc-stripe-payment-request-button-separator {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 24px 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  color: #999 !important;
  text-transform: uppercase !important;
}
.ct-checkout-form #wc-stripe-payment-request-button-separator::before,
.ct-checkout-form #wc-stripe-payment-request-button-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e0e0e0;
}

/* Also target any OR text in express checkout */
.ct-checkout-form .wc-stripe-payment-request-wrapper + *,
.ct-checkout-form [class*="payment-request"] + * {
  position: relative;
}

/* Grey sidebar extends full page height via pseudo element */
.ct-checkout-summary {
  position: relative !important;
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}
/* Make the grey background extend if sidebar is shorter than form */
.ct-checkout-summary::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: -5000px;
  left: 0;
  background: #f7f7f7;
  border-left: 1px solid #e8e8e8;
  z-index: -1;
}
/* Make content inside summary still sticky */
.ct-checkout-summary > * {
  position: sticky;
  top: 40px;
}

/* Restore non-stretched height on main layout */
.ct-checkout-layout {
  min-height: 100vh !important;
  overflow: visible !important;
}


/* Remove the min-height 100vh so sidebar matches form height */
.ct-checkout-summary {
  min-height: auto !important;
  height: auto !important;
}
.ct-checkout-layout {
  min-height: auto !important;
}
/* Keep grey extending down but not massive empty */
.ct-checkout-summary::before {
  bottom: 0 !important;
}


/* ============================================
   CHECKOUT BASE
   ============================================ */

/* Keep existing navbar visible */
body.woocommerce-checkout .ct-announce {
  display: none !important;
}
body.woocommerce-checkout .ct-custom-footer,
body.woocommerce-checkout .ct-email-capture,
body.woocommerce-checkout .ct-trust-bar {
  display: none !important;
}

/* Hide blocksy defaults */
body.woocommerce-checkout [data-header]:not(.ct-custom-header),
body.woocommerce-checkout footer.ct-footer,
body.woocommerce-checkout [data-footer] {
  display: none !important;
}

/* Kill page padding */
body.woocommerce-checkout .ct-page,
body.woocommerce-checkout .ct-page__inner,
body.woocommerce-checkout .ct-page__content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* Main layout grid */
.ct-ck {
  max-width: 100%;
}
.ct-ck__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  max-width: 1200px;
  margin: 0 auto;
  min-height: calc(100vh - 64px);
}

/* LEFT: form area */
.ct-ck__main {
  padding: 48px 56px 48px 0;
  border-right: 1px solid #e8e8e8;
  min-width: 0;
}

/* RIGHT: summary sidebar */
.ct-ck__sidebar {
  padding: 48px 0 48px 56px;
  min-width: 0;
}

/* Order summary items */
.ct-cksum__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
}
.ct-cksum__item-image {
  position: relative;
  flex-shrink: 0;
}
.ct-cksum__item-image img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}
.ct-cksum__item-qty {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #6b6b6b;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}
.ct-cksum__item-meta {
  flex: 1;
  min-width: 0;
}
.ct-cksum__item-name {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
}
.ct-cksum__item-variant {
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}
.ct-cksum__item-price {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
  white-space: nowrap;
}

/* Coupon */
.ct-cksum__coupon {
  padding: 16px 0;
  border-top: 1px solid #eee;
}
.ct-cksum__coupon form {
  display: flex;
  gap: 8px;
}
.ct-cksum__coupon input {
  flex: 1;
  padding: 12px 14px;
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  color: #0a0a0a;
}
.ct-cksum__coupon input:focus {
  outline: none;
  border-color: #0a0a0a;
}
.ct-cksum__coupon button {
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  color: #0a0a0a;
}
.ct-cksum__coupon button:hover {
  background: #e5e5e5;
}

/* Totals */
.ct-cksum__totals {
  padding: 16px 0;
  border-top: 1px solid #eee;
}
.ct-cksum__row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
  color: #666;
}
.ct-cksum__row--discount {
  color: #16a34a;
}
.ct-cksum__row--total {
  padding-top: 16px;
  margin-top: 8px;
  border-top: 1px solid #eee;
  font-size: 16px;
  font-weight: 700;
  color: #0a0a0a;
  align-items: baseline;
}
.ct-cksum__total-value {
  font-size: 22px;
  font-weight: 800;
}
.ct-cksum__total-currency {
  font-size: 11px;
  color: #999;
  font-weight: 500;
  margin-right: 6px;
}

/* ============================================
   FORM STYLING
   ============================================ */

/* Remove WC default order review (sidebar does it) */
.ct-ck__main #order_review_heading,
.ct-ck__main .woocommerce-checkout-review-order-table,
.ct-ck__main .woocommerce-form-coupon-toggle,
.ct-ck__main .checkout_coupon {
  display: none !important;
}

/* Single column form */
.ct-ck__main .woocommerce-checkout {
  display: block !important;
}
.ct-ck__main #customer_details,
.ct-ck__main #customer_details .col-1,
.ct-ck__main #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.ct-ck__main #order_review,
.ct-ck__main #payment {
  float: none !important;
  width: 100% !important;
  clear: both !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Section headings - Contact, Delivery, Payment */
.ct-ck__main .woocommerce-billing-fields h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0a0a0a;
  margin: 0 0 16px;
  padding: 0;
  border: none;
  font-size: 0;
}
.ct-ck__main .woocommerce-billing-fields h3::after {
  content: 'Delivery';
  font-size: 18px;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
}
.ct-ck__main #payment::before {
  content: 'Payment';
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0a0a0a;
  margin: 32px 0 8px;
}
.ct-ck__main #payment::after {
  display: none;
}

/* Add "All transactions are secure and encrypted" text */
.ct-ck__main #payment .wc_payment_methods::before {
  content: 'All transactions are secure and encrypted.';
  display: block;
  font-size: 13px;
  color: #999;
  margin-bottom: 16px;
  padding: 0;
}

/* Form rows */
.ct-ck__main .form-row {
  margin-bottom: 12px !important;
}
.ct-ck__main .form-row label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #666;
  margin-bottom: 6px;
}
.ct-ck__main .form-row label .optional {
  color: #999;
}

/* Inputs */
.ct-ck__main .form-row input.input-text,
.ct-ck__main .form-row textarea,
.ct-ck__main .form-row select,
.ct-ck__main .select2-container .select2-selection--single {
  width: 100%;
  padding: 14px 16px;
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid #d0d0d0;
  border-radius: 5px;
  background: #fff;
  color: #0a0a0a;
  box-sizing: border-box;
  height: 50px;
}
.ct-ck__main .form-row input.input-text:focus,
.ct-ck__main .form-row select:focus {
  outline: none;
  border-color: #0a0a0a;
}

/* Select2 */
.ct-ck__main .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}

/* First/Last name side by side */
.ct-ck__main .woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.ct-ck__main .form-row-first,
.ct-ck__main .form-row-last {
  flex: 1;
  min-width: 0;
  margin-bottom: 12px !important;
}
.ct-ck__main .form-row-wide {
  flex-basis: 100%;
}

/* Payment methods */
.ct-ck__main #payment .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #d0d0d0;
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
}
.ct-ck__main #payment .wc_payment_method {
  padding: 16px !important;
  border-bottom: 1px solid #eee;
  background: #fff;
}
.ct-ck__main #payment .wc_payment_method:first-child {
  background: #fffbed;
}
.ct-ck__main #payment .wc_payment_method:last-child {
  border-bottom: none;
}
.ct-ck__main #payment .wc_payment_method label {
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  color: #0a0a0a;
}
.ct-ck__main #payment .payment_box {
  padding: 12px 0 0 !important;
  font-size: 13px;
  color: #666;
  background: none !important;
}
.ct-ck__main #payment .payment_box::before {
  display: none;
}

/* Place order button */
.ct-ck__main #place_order {
  width: 100%;
  padding: 18px 32px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #0a0a0a;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.25s ease;
  margin-top: 20px;
}
.ct-ck__main #place_order:hover {
  background: #2a2a2a;
}

/* OR divider */
.ct-ck__main #wc-stripe-payment-request-button-separator {
  display: flex !important;
  align-items: center;
  gap: 14px;
  margin: 20px 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: #999 !important;
  text-transform: none !important;
}
.ct-ck__main #wc-stripe-payment-request-button-separator::before,
.ct-ck__main #wc-stripe-payment-request-button-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e0e0e0;
}

/* Info/notices */
.ct-ck__main .woocommerce-info {
  background: #f7f7f7;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  padding: 12px 16px;
  font-size: 13px;
  color: #666;
}
.ct-ck__main .woocommerce-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 5px;
  padding: 12px 16px;
  color: #dc2626;
  font-size: 13px;
  list-style: none;
}

/* Terms */
.ct-ck__main .woocommerce-terms-and-conditions-wrapper,
.ct-ck__main .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: #999;
  margin-top: 12px;
}
.ct-ck__main .woocommerce-privacy-policy-text a,
.ct-ck__main .woocommerce-terms-and-conditions-wrapper a {
  color: #666;
}

/* Responsive */
@media (max-width: 999px) {
  .ct-ck__grid {
    grid-template-columns: 1fr;
  }
  .ct-ck__main {
    padding: 24px 20px;
    border-right: none;
    order: 2;
  }
  .ct-ck__sidebar {
    padding: 24px 20px;
    border-bottom: 1px solid #e8e8e8;
    background: #f7f7f7;
    order: 1;
  }
}

/* ============================================
   CHECKOUT — PARITY REFINEMENTS
   (appended, do not modify above)
   ============================================ */

/* Express checkout intro label (above Stripe PRB) */
.ct-ck__main .ct-express-intro {
  text-align: center;
  margin-bottom: 10px;
}
.ct-ck__main .ct-express-intro__label {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #666;
  letter-spacing: 0.02em;
}

/* "Or continue below" separator (overrides "OR" from earlier CSS) */
.ct-ck__main #wc-stripe-payment-request-button-separator {
  font-variant: normal !important;
  text-transform: none !important;
  font-size: 13px !important;
  color: #666 !important;
  margin: 22px 0 28px !important;
}
.ct-ck__main #wc-stripe-payment-request-button-separator::before,
.ct-ck__main #wc-stripe-payment-request-button-separator::after {
  background: #e0e0e0 !important;
}

/* Hide the default WooCommerce "Billing details" h3 — we inject our own */
.ct-ck__main .woocommerce-billing-fields > h3 {
  display: none !important;
}

/* Contact + Delivery section headings (injected via JS) */
.ct-ck__main .ct-section-heading {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0a0a0a;
  margin: 28px 0 14px;
  padding: 0;
  border: none;
  line-height: 1.2;
}
.ct-ck__main .ct-section-heading--contact {
  margin-top: 8px;
}

/* Tighter stacking for billing field wrapper now that we use priorities */
.ct-ck__main .woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12px;
}
.ct-ck__main .woocommerce-billing-fields__field-wrapper .form-row-wide {
  flex: 0 0 100%;
}
.ct-ck__main .woocommerce-billing-fields__field-wrapper .form-row-first,
.ct-ck__main .woocommerce-billing-fields__field-wrapper .form-row-last {
  flex: 1 1 calc(50% - 6px);
  min-width: 0;
}

/* Hide field labels in favour of placeholders (Shopify style) */
.ct-ck__main #billing_email_field label,
.ct-ck__main #billing_country_field label,
.ct-ck__main #billing_first_name_field label,
.ct-ck__main #billing_last_name_field label,
.ct-ck__main #billing_address_1_field label,
.ct-ck__main #billing_address_2_field label,
.ct-ck__main #billing_city_field label,
.ct-ck__main #billing_postcode_field label,
.ct-ck__main #billing_phone_field label,
.ct-ck__main #billing_state_field label {
  display: none !important;
}

/* Hide UK state (County) — not needed for UK checkout */
.ct-ck__main #billing_state_field {
  display: none !important;
}

/* Shipping method injected section */
.ct-ck__main .ct-shipping-method-section {
  margin-top: 28px;
}
.ct-ck__main .ct-shipping-method-box {
  padding: 14px 16px;
  border: 1px solid #d0d0d0;
  border-radius: 5px;
  background: #f7f7f7;
  font-size: 14px;
  color: #333;
  font-family: 'Poppins', sans-serif;
}

/* Override #payment::before "Payment" heading — we want larger top spacing to match */
.ct-ck__main #payment::before {
  margin: 28px 0 8px !important;
}

/* Email opt-in checkbox (injected via JS under email) */
.ct-ck__main .ct-email-optin {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: -4px 0 14px;
  font-size: 13px;
  color: #666;
  font-family: 'Poppins', sans-serif;
}
.ct-ck__main .ct-email-optin input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #0a0a0a;
  margin: 0;
}

/* ============================================
   CHECKOUT v2 — user-requested cleanup
   ============================================ */

/* Light grey sidebar bleeding to the right edge */
.ct-ck {
  position: relative;
  background: #fff;
}
.ct-ck::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: calc((100vw - 1200px) / 2 + 600px);
  background: #f7f7f7;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 1200px) {
  .ct-ck::after {
    width: 50%;
  }
}
.ct-ck__grid {
  position: relative;
  z-index: 1;
}
.ct-ck__main {
  background: #fff;
  border-right: none !important;
}
.ct-ck__sidebar {
  background: #f7f7f7;
  padding-left: 56px !important;
}

/* Contact block (wraps email field) */
.ct-ck__main .ct-contact-block {
  margin-bottom: 24px;
}
.ct-ck__main .ct-contact-block .ct-section-heading {
  margin: 8px 0 12px;
}
.ct-ck__main .ct-contact-block #billing_email_field {
  margin: 0 !important;
}
.ct-ck__main .ct-contact-block #billing_email_field label {
  display: none !important;
}

/* OR divider — remove the lines, just centered text */
.ct-ck__main #wc-stripe-payment-request-button-separator,
.ct-ck__main #wc-stripe-express-checkout-button-separator {
  display: block !important;
  text-align: center !important;
  font-size: 13px !important;
  color: #999 !important;
  margin: 18px 0 26px !important;
  text-transform: none !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
}
.ct-ck__main #wc-stripe-payment-request-button-separator::before,
.ct-ck__main #wc-stripe-payment-request-button-separator::after,
.ct-ck__main #wc-stripe-express-checkout-button-separator::before,
.ct-ck__main #wc-stripe-express-checkout-button-separator::after {
  display: none !important;
  content: none !important;
}

/* Discount code: joined input + black button (same as newsletter signup) */
.ct-cksum__coupon {
  padding: 20px 0;
}
.ct-cksum__coupon .ct-coupon-form {
  display: flex !important;
  align-items: stretch;
  gap: 0;
}
.ct-cksum__coupon .ct-coupon-form input {
  flex: 1;
  height: 50px;
  padding: 0 18px;
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  border: 1px solid #d0d0d0;
  border-right: none;
  border-radius: 8px 0 0 8px;
  background: #fff;
  color: #0a0a0a;
  box-sizing: border-box;
  outline: none;
}
.ct-cksum__coupon .ct-coupon-form input:focus {
  border-color: #0a0a0a;
}
.ct-cksum__coupon .ct-coupon-form button.ct-btn {
  height: 50px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
  background: #0a0a0a;
  color: #fff;
  border: 1px solid #0a0a0a;
  border-radius: 0 8px 8px 0;
  cursor: pointer;
  white-space: nowrap;
}
.ct-cksum__coupon .ct-coupon-form button.ct-btn:hover {
  background: #2a2a2a;
  border-color: #2a2a2a;
}

/* Payment section cleanup — simpler borders, remove weird background */
.ct-ck__main #payment {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
}
.ct-ck__main #payment::before {
  margin: 32px 0 6px !important;
}
.ct-ck__main #payment .wc_payment_methods {
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 14px 0 0 !important;
  background: #fff !important;
}
.ct-ck__main #payment .wc_payment_methods::before {
  padding: 0 !important;
  margin: 0 0 14px !important;
}
.ct-ck__main #payment .wc_payment_method {
  padding: 16px 18px !important;
  border-bottom: 1px solid #eee !important;
  background: #fff !important;
}
.ct-ck__main #payment .wc_payment_method:first-child {
  background: #fffbed !important;
}
.ct-ck__main #payment .wc_payment_method:last-child {
  border-bottom: none !important;
}
.ct-ck__main #payment .wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
  cursor: pointer !important;
  margin: 0 !important;
}
.ct-ck__main #payment .wc_payment_method input[type="radio"] {
  width: 16px;
  height: 16px;
  accent-color: #0a0a0a;
  margin: 0 !important;
}
.ct-ck__main #payment .payment_box {
  margin-top: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  font-size: 13px;
  color: #666;
}
.ct-ck__main #payment .payment_box::before {
  display: none !important;
  content: none !important;
}

/* Terms / privacy text — subtle grey with underlined link */
.ct-ck__main .woocommerce-privacy-policy-text,
.ct-ck__main .woocommerce-terms-and-conditions-wrapper {
  font-size: 12px !important;
  color: #999 !important;
  margin: 16px 0 !important;
  line-height: 1.5 !important;
}
.ct-ck__main .woocommerce-privacy-policy-text a,
.ct-ck__main .woocommerce-terms-and-conditions-wrapper a {
  color: #666 !important;
  text-decoration: underline !important;
}

/* Hide the Contact heading that was injected as sibling of billing-fields when the JS wraps email */
.ct-ck__main .woocommerce-billing-fields__field-wrapper > .ct-section-heading {
  flex-basis: 100%;
  width: 100%;
  order: -1;
}

/* Hide county/state row unconditionally */
.ct-ck__main #billing_state_field,
.ct-ck__main .woocommerce-billing-fields #billing_state_field {
  display: none !important;
}

/* Force City + Postcode side-by-side (WooCommerce locale adds address-field/form-row-wide) */
.ct-ck__main #billing_city_field {
  flex: 0 0 calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  width: calc(50% - 6px) !important;
}
.ct-ck__main #billing_postcode_field {
  flex: 0 0 calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  width: calc(50% - 6px) !important;
}

/* ============================================
   CHECKOUT v3 — OR lines, seam line, flush apply, strip payment boxes
   ============================================ */

/* OR divider: restore full-width lines on either side of "OR" text */
.ct-ck__main #wc-stripe-express-checkout-button-separator,
.ct-ck__main #wc-stripe-payment-request-button-separator {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  text-align: center !important;
  font-size: 12px !important;
  color: #999 !important;
  letter-spacing: 0.15em !important;
  margin: 22px 0 28px !important;
}
.ct-ck__main #wc-stripe-express-checkout-button-separator::before,
.ct-ck__main #wc-stripe-express-checkout-button-separator::after,
.ct-ck__main #wc-stripe-payment-request-button-separator::before,
.ct-ck__main #wc-stripe-payment-request-button-separator::after {
  content: '' !important;
  display: block !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background: #e0e0e0 !important;
}

/* Darker separator between white main area and grey sidebar */
.ct-ck__main {
  border-right: 1px solid #d8d8d8 !important;
}

/* Apply button flush left — square corners, no left border,
   and have input meet the button edge cleanly */
.ct-cksum__coupon .ct-coupon-form input {
  border-right: none !important;
}
.ct-cksum__coupon .ct-coupon-form button.ct-btn {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
  border-left: none !important;
  margin-left: 0 !important;
}

/* Blocksy wraps payment area in .ct-order-review with 2px border + 35px padding — strip it */
.ct-ck__main .ct-order-review {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  align-self: auto !important;
}

/* Payment section — strip all boxes, borders, and highlights */
.ct-ck__main #payment .wc_payment_methods {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 10px 0 0 !important;
  overflow: visible !important;
}
.ct-ck__main #payment .wc_payment_method {
  padding: 8px 0 !important;
  border: none !important;
  background: transparent !important;
}
.ct-ck__main #payment .wc_payment_method:first-child {
  background: transparent !important;
}
.ct-ck__main #payment .wc_payment_method:last-child {
  border-bottom: none !important;
}
.ct-ck__main #payment .payment_box {
  background: transparent !important;
  border: none !important;
  padding: 8px 0 0 !important;
  margin-top: 4px !important;
}

/* ============================================
   CHECKOUT v4 — tighten spacing, sticky summary, hide single-payment radio
   ============================================ */

/* Tighten city/postcode gap (visually paired) */
.ct-ck__main .woocommerce-billing-fields__field-wrapper {
  gap: 0 8px !important;
}
.ct-ck__main #billing_city_field {
  flex: 0 0 calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  width: calc(50% - 4px) !important;
}
.ct-ck__main #billing_postcode_field {
  flex: 0 0 calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  width: calc(50% - 4px) !important;
}

/* Reduce gap between Delivery section and Payment heading */
.ct-ck__main #payment::before {
  margin: 14px 0 6px !important;
}

/* Hide the single Stripe radio button + label (only one method, no choice needed) */
.ct-ck__main #payment .wc_payment_method > label {
  display: none !important;
}
.ct-ck__main #payment .wc_payment_method > input[type="radio"] {
  display: none !important;
}

/* Drop all vertical spacing around Stripe card area → terms text */
.ct-ck__main #payment .wc_payment_method {
  padding: 0 !important;
}
.ct-ck__main #payment .payment_box {
  padding: 0 !important;
  margin: 0 !important;
}
.ct-ck__main .woocommerce-privacy-policy-text,
.ct-ck__main .woocommerce-terms-and-conditions-wrapper {
  margin: 8px 0 12px !important;
}

/* Sticky order summary on scroll (desktop)
   top: 0 so it only starts sticking once the navbar has fully scrolled out of view */
@media (min-width: 1000px) {
  .ct-ck__grid {
    align-items: flex-start !important;
  }
  .ct-ck__sidebar {
    align-self: flex-start !important;
    position: sticky !important;
    top: 0 !important;
  }
}

/* ============================================
   CHECKOUT v5 — narrower columns (grid width ~25% reduced)
   Row heights reverted to original (50px, 64px images, etc.)
   ============================================ */

/* Narrow the overall grid (v5 was 900, now +10% → 990) */
.ct-ck__grid {
  max-width: 990px !important;
}

/* Keep the grey sidebar bleed matching the new grid centerline */
.ct-ck::after {
  width: calc(50vw - 31px) !important;
}
@media (max-width: 1200px) {
  .ct-ck::after {
    width: 50% !important;
  }
}

/* City + Postcode together on one row (small gap, matching first/last name pair) */
.ct-ck__main #billing_city_field {
  flex: 0 0 calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  width: calc(50% - 4px) !important;
}
.ct-ck__main #billing_postcode_field {
  flex: 0 0 calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  width: calc(50% - 4px) !important;
}

/* Phone field tooltip (PPP-style "?" icon with hover message) */
.ct-ck__main #billing_phone_field {
  position: relative;
}
.ct-phone-tooltip {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 1px solid #b0b0b0;
  border-radius: 50%;
  color: #666;
  font-size: 12px;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: help;
  background: #fff;
  z-index: 2;
  user-select: none;
}
.ct-phone-tooltip::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  right: -8px;
  white-space: normal;
  width: 220px;
  background: #0a0a0a;
  color: #fff;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  text-align: left;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.ct-phone-tooltip::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 2px);
  right: 2px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-top-color: #0a0a0a;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
.ct-phone-tooltip:hover::after,
.ct-phone-tooltip:hover::before,
.ct-phone-tooltip:focus::after,
.ct-phone-tooltip:focus::before {
  opacity: 1;
}
/* Add right padding on phone input so text doesn't go under the icon */
.ct-ck__main #billing_phone_field .input-text {
  padding-right: 44px !important;
}

/* ============================================
   CHECKOUT v6 — larger section headings, black qty badge,
   tighter payment → terms spacing
   ============================================ */

/* Kill the old "Delivery" ::after pseudo that was on every billing h3 (it duplicates onto my injected headings) */
.ct-ck__main .ct-section-heading::after,
.ct-ck__main .ct-section-heading::before {
  content: none !important;
  display: none !important;
}
/* Hide the default billing "Billing details" h3 no matter how nested */
.ct-ck__main .woocommerce-billing-fields h3:not(.ct-section-heading) {
  display: none !important;
}

/* Section headings: Contact, Delivery — 22px, tighter spacing between segments */
.ct-ck__main .ct-section-heading {
  font-size: 22px !important;
  line-height: 1.2 !important;
  margin: 8px 0 8px !important;
}
.ct-ck__main .ct-contact-block .ct-section-heading {
  margin: 2px 0 8px !important;
}

/* Payment heading */
.ct-ck__main #payment::before {
  font-size: 22px !important;
  line-height: 1.2 !important;
  margin: 4px 0 4px !important;
}

/* Pure-CSS city/postcode join (no JS wrapping — stable across WC AJAX re-renders).
   Also redefine first/last so the wrapper can use gap:0 uniformly. */
.ct-ck__main .woocommerce-billing-fields__field-wrapper {
  gap: 0 !important;
}
.ct-ck__main #billing_first_name_field {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding-right: 4px !important;
  box-sizing: border-box !important;
}
.ct-ck__main #billing_last_name_field {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding-left: 4px !important;
  box-sizing: border-box !important;
}
.ct-ck__main #billing_city_field {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  box-sizing: border-box !important;
}
.ct-ck__main #billing_postcode_field {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  box-sizing: border-box !important;
}
.ct-ck__main #billing_city_field .input-text {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none !important;
}
.ct-ck__main #billing_postcode_field .input-text {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
/* Remove the old JS-row scoped rules (keep class safe in case it lingers in stale cache) */
.ct-ck__main .ct-city-postcode-row {
  display: contents !important;
}

/* Order summary item qty badge: black */
.ct-cksum__item-qty {
  background: #0a0a0a !important;
  border-color: #fff !important;
}

/* Tighten spacing between payment area and the terms/privacy text */
.ct-ck__main #payment {
  margin-bottom: 0 !important;
}
.ct-ck__main #payment .payment_box {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.ct-ck__main #payment .wc_payment_methods {
  margin-bottom: 0 !important;
}
.ct-ck__main .woocommerce-privacy-policy-text,
.ct-ck__main .woocommerce-terms-and-conditions-wrapper {
  margin: 4px 0 24px !important;
  padding: 0 !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.ct-ck__main #place_order {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 28px 0 0 !important;
  display: block !important;
}
.ct-ck__main .form-row.place-order {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Reduce spacing before "Express checkout" (trim top padding of main column) */
.ct-ck__main {
  padding-top: 32px !important;
}
.ct-ck__main .ct-express-intro {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Bigger "Total" LABEL (not the amount) + tighter subtotal/shipping rows */
.ct-cksum__row {
  padding: 4px 0 !important;
}
.ct-cksum__row--total {
  padding-top: 14px !important;
  margin-top: 8px !important;
}
.ct-cksum__row--total > span:first-child {
  font-size: 22px !important;
  font-weight: 700 !important;
}
.ct-cksum__total-value {
  font-size: 22px !important;
}

/* ============================================
   CHECKOUT v7 — clean fixes (no hacks):
   - city/postcode match first/last pattern (gap, no shared borders)
   - Stripe UPE form full-width
   - Apply button grey until discount code entered
   ============================================ */

/* City + Postcode: same pattern as First + Last (50/50 with 4px inner padding for visual 8px gap) */
.ct-ck__main #billing_city_field {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding: 0 4px 0 0 !important;
  margin: 0 0 12px !important;
  box-sizing: border-box !important;
}
.ct-ck__main #billing_postcode_field {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  width: 50% !important;
  padding: 0 0 0 4px !important;
  margin: 0 0 12px !important;
  box-sizing: border-box !important;
}
/* Restore default rounded borders on city & postcode inputs (no shared seam) */
.ct-ck__main #billing_city_field .input-text {
  border-top-right-radius: 5px !important;
  border-bottom-right-radius: 5px !important;
  border-right: 1px solid #d0d0d0 !important;
}
.ct-ck__main #billing_postcode_field .input-text {
  border-top-left-radius: 5px !important;
  border-bottom-left-radius: 5px !important;
}

/* Stripe card form full-width (was indented on the right) */
.ct-ck__main #payment,
.ct-ck__main #payment .wc_payment_methods,
.ct-ck__main #payment .wc_payment_method,
.ct-ck__main #payment .payment_box,
.ct-ck__main #wc-stripe-upe-form,
.ct-ck__main .wc-stripe-upe-element,
.ct-ck__main .StripeElement,
.ct-ck__main .__PrivateStripeElement,
.ct-ck__main .wc-payment-form {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.ct-ck__main #wc-stripe-upe-form {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.ct-ck__main .StripeElement {
  padding: 0 !important;
  margin: 0 !important;
}

/* Apply (discount) button: grey while input is empty, black once a code is entered */
.ct-cksum__coupon .ct-coupon-form button.ct-btn {
  background: #e5e5e5 !important;
  color: #777 !important;
  border-color: #e5e5e5 !important;
  cursor: default !important;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}
.ct-cksum__coupon .ct-coupon-form input:not(:placeholder-shown) + button.ct-btn {
  background: #0a0a0a !important;
  color: #fff !important;
  border-color: #0a0a0a !important;
  cursor: pointer !important;
}
.ct-cksum__coupon .ct-coupon-form input:not(:placeholder-shown) + button.ct-btn:hover {
  background: #2a2a2a !important;
  border-color: #2a2a2a !important;
}

/* ============================================
   CHECKOUT v8 — mobile refinements
   ============================================ */
@media (max-width: 900px) {
  /* Kill the faux grey right-column bleed on mobile (layout stacks now) */
  .ct-ck::after {
    display: none !important;
  }
  .ct-ck__grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    min-height: 0 !important;
  }
  /* Sticky disabled on mobile */
  .ct-ck__sidebar {
    position: static !important;
    align-self: auto !important;
    padding: 20px 16px !important;
    background: #f7f7f7 !important;
    border-bottom: 1px solid #d8d8d8 !important;
    order: 1 !important;
  }
  .ct-ck__main {
    padding: 20px 16px 32px !important;
    background: #fff !important;
    border-right: none !important;
    order: 2 !important;
  }

  /* Tighter sidebar summary on mobile */
  .ct-cksum__item {
    padding: 8px 0 !important;
  }
  .ct-cksum__item-image img {
    width: 56px !important;
    height: 56px !important;
  }
  .ct-cksum__coupon {
    padding: 12px 0 !important;
  }
  .ct-cksum__totals {
    padding: 12px 0 4px !important;
  }

  /* Section headings slightly smaller on mobile */
  .ct-ck__main .ct-section-heading {
    font-size: 20px !important;
    margin: 4px 0 8px !important;
  }
  .ct-ck__main .ct-contact-block .ct-section-heading {
    margin: 2px 0 8px !important;
  }
  .ct-ck__main #payment::before {
    font-size: 20px !important;
    margin: 4px 0 4px !important;
  }

  /* Express checkout intro: tighter on mobile */
  .ct-ck__main .ct-express-intro {
    margin-bottom: 6px !important;
  }

  /* Defensive: make sure the order-review area respects main's padding */
  .ct-ck__main .ct-order-review,
  .ct-ck__main form.checkout,
  .ct-ck__main #customer_details,
  .ct-ck__main .woocommerce-billing-fields,
  .ct-ck__main #payment {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Very narrow screens: stack first/last and city/postcode so they breathe */
@media (max-width: 420px) {
  .ct-ck__main #billing_first_name_field,
  .ct-ck__main #billing_last_name_field,
  .ct-ck__main #billing_city_field,
  .ct-ck__main #billing_postcode_field {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }
}

/* Disable sticky header on checkout page only */
body.woocommerce-checkout .ct-custom-header {
  position: static !important;
}
body.woocommerce-checkout .ct-custom-header.ct-header--scrolled {
  position: static !important;
}

/* Custom Google Places address autocomplete dropdown (no web component) */
.ct-ac-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 10000;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  margin-top: 4px;
  max-height: 260px;
  overflow-y: auto;
  font-family: 'Poppins', sans-serif;
}
.ct-ac-item {
  padding: 10px 14px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-bottom: 1px solid #f4f4f4;
  transition: background 0.1s ease;
}
.ct-ac-item:last-child { border-bottom: none; }
.ct-ac-item:hover,
.ct-ac-item--active {
  background: #f7f7f7;
}
.ct-ac-main {
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
}
.ct-ac-secondary {
  font-size: 12px;
  color: #888;
}

/* ============================================
   MOBILE-ONLY collapsed / compact order summaries
   ============================================ */

/* Hide both mobile summaries on desktop */
.ct-mbs { display: none; }

@media (max-width: 900px) {
  /* Hide the desktop sidebar on mobile (it's duplicated in top+bottom mobile summaries) */
  .ct-ck__sidebar { display: none !important; }

  /* Top collapsed summary */
  .ct-mbs--top {
    display: block;
    background: #f7f7f7;
    border-bottom: 1px solid #d8d8d8;
  }
  .ct-mbs--top .ct-mbs__toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: transparent;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #0a0a0a;
    cursor: pointer;
    text-align: left;
  }
  .ct-mbs__toggle-left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }
  .ct-mbs__bag { color: #0a0a0a; flex-shrink: 0; }
  .ct-mbs__label { font-weight: 500; }
  .ct-mbs__chevron {
    color: #0a0a0a;
    transition: transform 0.2s ease;
  }
  .ct-mbs--top.is-open .ct-mbs__chevron {
    transform: rotate(180deg);
  }
  .ct-mbs__total {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #0a0a0a;
  }
  .ct-mbs__total .woocommerce-Price-currencySymbol { font-weight: 700; }
  .ct-mbs__body {
    padding: 0 16px 16px;
    background: #f7f7f7;
    border-top: 1px solid #e2e2e2;
  }
  .ct-mbs__body[hidden] { display: none !important; }

  /* Bottom compact summary (positioned just above Place Order by JS) */
  .ct-mbs--bottom {
    display: block;
    background: #fafafa;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    padding: 14px 16px;
    margin: 0 0 16px;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__item {
    padding: 6px 0;
    gap: 10px;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__item-image img {
    width: 44px !important;
    height: 44px !important;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__item-qty {
    width: 16px !important;
    height: 16px !important;
    font-size: 9px !important;
    top: -5px !important;
    right: -5px !important;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__item-name { font-size: 13px !important; }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__item-variant { font-size: 11px !important; }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__item-price { font-size: 13px !important; }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__totals {
    padding: 8px 0 0 !important;
    border-top: 1px solid #e2e2e2;
    margin-top: 8px;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__row {
    padding: 3px 0 !important;
    font-size: 13px !important;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__row--total {
    padding-top: 8px !important;
    margin-top: 4px !important;
    font-size: 16px !important;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__row--total > span:first-child {
    font-size: 16px !important;
  }
  .ct-mbs--bottom .ct-cksum--mobile-bottom .ct-cksum__total-value { font-size: 16px !important; }

  /* Don't render the mobile-bottom placeholder at the end of main if JS hasn't moved it yet — it will move on next tick */
}

