/* =============================================
   KIWI COMPETITIONS — OPTIMIZED ADDITIONAL CSS
   v2.0 — Full Dark · Apple Pay Fix · Timer Fix
   ============================================= */

/* === HIDE ASTRA HEADER === */
.ast-desktop-header,
.ast-mobile-header,
#masthead,
.site-header,
.ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar,
.main-header-bar {
  display: none !important;
}

/* === ROOT VARIABLES === */
:root {
  --kiwi-black:    #0d0d0d;
  --kiwi-dark:     #141414;
  --kiwi-dark-2:   #1a1a1a;
  --kiwi-green:    #1a7a3c;
  --kiwi-green-lt: #22a050;
  --kiwi-lime:     #5ec46a;
  --kiwi-white:    #f5f5f0;
  --kiwi-grey:     #b0b0a8;
  --kiwi-cta:      #f0c519;
  --kiwi-cta-hov:  #f8d84a;
  --nav-height:    72px;
  --radius:        6px;
  --transition:    0.22s cubic-bezier(0.4, 0, 0.2, 1);
  --font-display:  'Bebas Neue', sans-serif;
  --font-body:     'DM Sans', sans-serif;
}

/* === GLOBAL DARK BACKGROUND — NUCLEAR === */
html, body,
#page, #content, #primary, .site-main,
.entry-content, .woocommerce, .woocommerce-page,
.ast-container, .ast-article-single,
.ast-woocommerce-container, .site, .site-content,
.ast-plain-container, .ast-separate-container,
.ast-page-builder-template, .ast-no-sidebar,
#ast-desktop-header, .ast-header-break-point,
main, article, section, div.page, .type-page,
.ast-single-post, .ast-single-entry,
.post-template-default, .page-template-default {
  background: var(--kiwi-black) !important;
  background-color: var(--kiwi-black) !important;
  color: var(--kiwi-white) !important;
}

/* Kill any white overlay/wrapper Astra might inject */
.ast-container,
.ast-article-single,
.ast-woocommerce-container,
.site,
.site-content,
.ast-separate-container .ast-article-single,
.ast-separate-container .comments-area {
  background: transparent !important;
  padding-top: 0 !important;
}

/* All paragraphs, spans, labels, links base colour */
p, span, label, li, td, th, a, div,
.woocommerce p, .woocommerce span, .woocommerce label,
.woocommerce li, .woocommerce td, .woocommerce th {
  color: inherit;
}


/* ================================================
   NAV
   ================================================ */
.kiwi-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 99999;
  height: var(--nav-height);
  background: var(--kiwi-black);
  border-bottom: 2px solid var(--kiwi-green);
  transition: background var(--transition), box-shadow var(--transition);
  font-family: var(--font-body);
}

.kiwi-header.scrolled {
  background: rgba(13,13,13,0.97);
  box-shadow: 0 4px 28px rgba(0,0,0,0.55);
}

.kiwi-nav-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  height: 100%;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
  flex-wrap: nowrap !important;
}

.kiwi-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}

.kiwi-logo__icon {
  width: 38px; height: 38px;
  background: var(--kiwi-green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  transition: transform var(--transition);
}

.kiwi-logo:hover .kiwi-logo__icon { transform: rotate(-10deg) scale(1.08); }
.kiwi-logo__text { display: flex; flex-direction: column; line-height: 1; }

.kiwi-logo__name {
  font-family: var(--font-display);
  font-size: 22px;
  letter-spacing: 1.5px;
  color: var(--kiwi-white) !important;
}

.kiwi-logo__tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--kiwi-lime) !important;
}

.kiwi-nav { flex: 1; display: flex; justify-content: center; }

.kiwi-nav__list {
  display: flex !important;
  align-items: center !important;
  gap: 2px;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  flex-wrap: nowrap;
}

.kiwi-nav__item { position: relative; margin: 0 !important; padding: 0 !important; }

/* Invisible bridge so dropdown doesn't disappear on hover */
.kiwi-nav__item::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
}

.kiwi-nav__link {
  display: flex !important;
  align-items: center !important;
  gap: 5px;
  padding: 8px 14px !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: var(--kiwi-grey) !important;
  text-decoration: none !important;
  border-radius: var(--radius);
  transition: color var(--transition), background var(--transition);
  white-space: nowrap;
  background: none !important;
  border: none !important;
  line-height: 1.4 !important;
}

.kiwi-nav__link svg { transition: transform var(--transition); flex-shrink: 0; }

.kiwi-nav__item:hover > .kiwi-nav__link {
  color: var(--kiwi-white) !important;
  background: rgba(255,255,255,0.07) !important;
}

.kiwi-nav__item:hover > .kiwi-nav__link svg { transform: rotate(180deg); }

.kiwi-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-6px) !important;
  min-width: 190px;
  background: #181818 !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  border-radius: 10px !important;
  padding: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition), transform var(--transition);
  box-shadow: 0 12px 40px rgba(0,0,0,0.6) !important;
  z-index: 100000;
}

.kiwi-dropdown::before {
  content: '';
  position: absolute;
  top: -7px; left: 50%;
  transform: translateX(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(26,122,60,0.4);
}

.kiwi-nav__item:hover .kiwi-dropdown,
.kiwi-nav__item:focus-within .kiwi-dropdown {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

.kiwi-dropdown li { margin: 0 !important; padding: 0 !important; list-style: none !important; }

.kiwi-dropdown li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--kiwi-grey) !important;
  text-decoration: none !important;
  border-radius: var(--radius);
  transition: color var(--transition), background var(--transition), padding-left var(--transition);
  background: none !important;
}

.kiwi-dropdown li a:hover {
  color: var(--kiwi-white) !important;
  background: rgba(94,196,106,0.12) !important;
  padding-left: 20px !important;
}

.kiwi-dropdown li a .dd-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--kiwi-green);
  flex-shrink: 0;
}

.kiwi-dropdown li a:hover .dd-dot { background: var(--kiwi-lime); }

.kiwi-badge {
  display: inline-block;
  padding: 1px 7px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 20px;
  margin-left: auto;
}
.kiwi-badge--hot { background: #e53935; color: #fff; }
.kiwi-badge--new { background: var(--kiwi-green); color: #fff; }

.kiwi-nav__actions { display: flex !important; align-items: center !important; gap: 10px; flex-shrink: 0; }

.kiwi-btn-account {
  display: flex !important;
  align-items: center !important;
  gap: 7px;
  padding: 8px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--kiwi-white) !important;
  text-decoration: none !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--radius) !important;
  transition: border-color var(--transition), background var(--transition), color var(--transition);
  white-space: nowrap;
  background: none !important;
}

.kiwi-btn-account:hover {
  border-color: var(--kiwi-green) !important;
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
}

.kiwi-btn-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px;
  padding: 10px 22px !important;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 1.5px;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  text-decoration: none !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
  box-shadow: 0 4px 18px rgba(240,197,25,0.35);
  white-space: nowrap;
}

.kiwi-btn-cta:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(240,197,25,0.5);
  color: var(--kiwi-black) !important;
}

/* Register button */
.kiwi-btn-register {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  padding: 8px 18px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--kiwi-lime) !important;
  background: rgba(94,196,106,0.1) !important;
  border: 1.5px solid rgba(94,196,106,0.4) !important;
  border-radius: var(--radius) !important;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--transition);
}

.kiwi-btn-register:hover {
  background: rgba(94,196,106,0.2) !important;
  border-color: var(--kiwi-lime) !important;
  color: var(--kiwi-white) !important;
  transform: translateY(-1px);
}

/* Mobile register button — full width, green outline */
.kiwi-mobile-nav__actions .kiwi-btn-register {
  display: flex !important;
  justify-content: center !important;
  padding: 12px !important;
  font-size: 15px !important;
  width: 100% !important;
  text-align: center !important;
}

/* Hide register on mobile hamburger nav (shown in actions) */
@media (max-width: 1024px) {
  .kiwi-nav__actions .kiwi-btn-register { display: none !important; }
}

.kiwi-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px; height: 40px;
  background: none !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--radius);
  cursor: pointer;
  padding: 8px;
  z-index: 10001;
  transition: border-color var(--transition);
}

.kiwi-hamburger:hover { border-color: var(--kiwi-green) !important; }

.kiwi-hamburger span {
  display: block;
  width: 100%; height: 2px;
  background: var(--kiwi-white);
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.kiwi-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.kiwi-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.kiwi-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.kiwi-mobile-nav {
  display: none;
  position: fixed !important;
  top: var(--nav-height) !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: var(--kiwi-black) !important;
  padding: 24px 24px 32px;
  overflow-y: auto !important;
  z-index: 99998 !important;
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.35s ease;
  height: calc(100vh - var(--nav-height)) !important;
}

.kiwi-mobile-nav.open { transform: translateY(0) !important; opacity: 1 !important; }

.kiwi-mobile-nav__list {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px;
  margin-bottom: 28px !important;
  padding: 0 !important;
}

.kiwi-mobile-nav__link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--kiwi-grey) !important;
  text-decoration: none !important;
  border-radius: var(--radius);
  border: 1px solid transparent !important;
  transition: all var(--transition);
  background: none !important;
}

.kiwi-mobile-nav__link:hover,
.kiwi-mobile-nav__link.has-sub.open {
  color: var(--kiwi-white) !important;
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(26,122,60,0.3) !important;
}

.kiwi-mobile-sub {
  list-style: none !important;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
  padding-left: 16px !important;
  margin: 0 !important;
}

.kiwi-mobile-sub.open { max-height: 300px; }
.kiwi-mobile-sub li { margin: 0 !important; padding: 0 !important; list-style: none !important; }

.kiwi-mobile-sub li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  padding: 10px 16px !important;
  font-size: 14.5px !important;
  color: var(--kiwi-grey) !important;
  text-decoration: none !important;
  border-radius: var(--radius);
  transition: color var(--transition), background var(--transition);
  background: none !important;
}

.kiwi-mobile-sub li a:hover {
  color: var(--kiwi-lime) !important;
  background: rgba(94,196,106,0.08) !important;
}

.kiwi-mobile-nav__actions { display: flex !important; flex-direction: column !important; gap: 12px; }
.kiwi-mobile-nav__actions .kiwi-btn-account { justify-content: center !important; padding: 12px !important; font-size: 15px !important; display: flex !important; }
.kiwi-mobile-nav__actions .kiwi-btn-cta { justify-content: center !important; font-size: 22px !important; padding: 14px !important; display: inline-flex !important; }
.kiwi-mobile-nav__divider { height: 1px; background: rgba(255,255,255,0.07); margin: 12px 0; }

@media (max-width: 1024px) {
  .kiwi-nav { display: none !important; }
  .kiwi-nav__actions .kiwi-btn-account { display: none !important; }
  .kiwi-btn-cta.desktop-only { display: none !important; }
  .kiwi-hamburger { display: flex !important; }
  .kiwi-mobile-nav { display: block !important; }
  .kiwi-header { height: 56px !important; }
  .kiwi-logo__name { font-size: 16px !important; }
  .kiwi-logo__tag { font-size: 9px !important; }
  .kiwi-logo__icon { width: 30px !important; height: 30px !important; font-size: 16px !important; }
  .kiwi-btn-cta { padding: 8px 14px !important; font-size: 14px !important; }
  .kiwi-header-spacer { height: calc(32px + 56px + 9px) !important; }
}

.kiwi-header-spacer { height: calc(36px + var(--nav-height) + 9px) !important; }


/* ================================================
   MARQUEE ANNOUNCEMENT BAR — ABOVE NAV
   ================================================ */
.kiwi-announce-bar {
  position: fixed;
  top: 0;
  left: 0; right: 0;
  z-index: 100000;
  background: linear-gradient(90deg, #0a0a0a 0%, #111 50%, #0a0a0a 100%);
  border-bottom: 1px solid rgba(94,196,106,0.25);
  height: 36px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Marquee track — holds ALL items, scrolls infinitely */
.kiwi-announce-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: kiwiMarquee 25s linear infinite;
  will-change: transform;
}

.kiwi-announce-track:hover {
  animation-play-state: paused;
}

@keyframes kiwiMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Each announcement item */
.kiwi-announce-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 40px;
  flex-shrink: 0;
}

.kiwi-announce-item__icon {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

.kiwi-announce-item__text {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--kiwi-white);
  white-space: nowrap;
}

/* Green dot separator between items */
.kiwi-announce-sep {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--kiwi-lime);
  flex-shrink: 0;
  opacity: 0.5;
}

/* Gradient fade on edges */
.kiwi-announce-bar::before,
.kiwi-announce-bar::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 60px;
  z-index: 2;
  pointer-events: none;
}

.kiwi-announce-bar::before {
  left: 0;
  background: linear-gradient(90deg, #0a0a0a 0%, transparent 100%);
}

.kiwi-announce-bar::after {
  right: 0;
  background: linear-gradient(-90deg, #0a0a0a 0%, transparent 100%);
}

/* Push nav DOWN below the marquee */
.kiwi-header {
  top: 36px !important;
}

/* Push mobile nav below both marquee + nav */
.kiwi-mobile-nav {
  top: calc(36px + var(--nav-height)) !important;
  height: calc(100vh - 36px - var(--nav-height)) !important;
}

/* Header spacer accounts for both bars */
.kiwi-header-spacer {
  height: calc(36px + var(--nav-height) + 9px) !important;
}

/* Mobile adjustments */
@media (max-width: 1024px) {
  .kiwi-announce-bar {
    height: 32px;
  }

  .kiwi-announce-item__text {
    font-size: 11px;
    letter-spacing: 0.5px;
  }

  .kiwi-announce-item {
    padding: 0 28px;
  }

  .kiwi-header {
    top: 32px !important;
  }

  .kiwi-mobile-nav {
    top: calc(32px + 56px) !important;
    height: calc(100vh - 32px - 56px) !important;
  }

  .kiwi-header-spacer {
    height: calc(32px + 56px + 9px) !important;
  }
}

.kiwi-announce-inner { display: none !important; }
.kiwi-announce-icon { display: none !important; }
.kiwi-announce-text { display: none !important; }


/* ================================================
   PRODUCT GRID
   ================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce .products .product,
.woocommerce-page .products .product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

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

@media (max-width: 580px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products { grid-template-columns: 1fr !important; }
}


/* ================================================
   RAFFLE CARDS
   ================================================ */
li.product-type-lottery {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
}

li.product-type-lottery::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519) !important;
  z-index: 2 !important;
}

li.product-type-lottery:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 50px rgba(26,122,60,0.25) !important;
}

li.product-type-lottery .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  height: 140px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

li.product-type-lottery:hover .astra-shop-thumbnail-wrap img { transform: scale(1.05) !important; }

li.product-type-lottery .astra-shop-summary-wrap {
  padding: 14px !important;
  background: var(--kiwi-dark) !important;
}

li.product-type-lottery .ast-woo-product-category {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--kiwi-lime) !important;
  margin-bottom: 8px !important;
  display: block !important;
}

li.product-type-lottery h2.woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 17px !important;
  letter-spacing: 1px !important;
  color: var(--kiwi-white) !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}

li.product-type-lottery span.price {
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  color: var(--kiwi-cta) !important;
  letter-spacing: 1px !important;
  display: block !important;
  margin-bottom: 2px !important;
}

li.product-type-lottery span.price del { color: var(--kiwi-grey) !important; font-size: 16px !important; opacity: 0.7 !important; }
li.product-type-lottery span.price ins { text-decoration: none !important; color: var(--kiwi-cta) !important; }

li.product-type-lottery a.button,
li.product-type-lottery button.button {
  display: block !important;
  width: 100% !important;
  padding: 8px 16px !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 8px !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  transition: background 0.2s, transform 0.2s !important;
  box-shadow: 0 4px 16px rgba(240,197,25,0.3) !important;
}

li.product-type-lottery a.button:hover,
li.product-type-lottery button.button:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
  color: var(--kiwi-black) !important;
}

.woocommerce ul.products li.product .onsale,
span.onsale {
  background: #e53935 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 100px !important;
  padding: 4px 12px !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1.8 !important;
}

li.product-type-lottery .lty-badge {
  background: rgba(26,122,60,0.9) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  display: inline-block !important;
  margin: 8px 0 4px 0 !important;
}

li.product-type-lottery table {
  background: rgba(255,255,255,0.04) !important;
  border-radius: 10px !important;
  width: 100% !important;
  border-collapse: separate !important;
  padding: 6px !important;
}

li.product-type-lottery table td {
  background: transparent !important;
  border: none !important;
  padding: 4px 8px !important;
  text-align: center !important;
}

li.product-type-lottery p,
li.product-type-lottery .lty-ends-on {
  color: var(--kiwi-grey) !important;
  font-size: 11px !important;
  margin: 4px 0 !important;
}

li.product-type-lottery progress {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 6px !important;
  border-radius: 3px !important;
  background: rgba(255,255,255,0.08) !important;
  border: none !important;
  display: block !important;
  margin: 6px 0 !important;
}

li.product-type-lottery progress::-webkit-progress-bar { background: rgba(255,255,255,0.08) !important; border-radius: 3px !important; }
li.product-type-lottery progress::-webkit-progress-value { background: linear-gradient(90deg, #1a7a3c, #5ec46a) !important; border-radius: 3px !important; }
li.product-type-lottery progress::-moz-progress-bar { background: linear-gradient(90deg, #1a7a3c, #5ec46a) !important; }


/* ================================================
   COUNTDOWN TIMER — SHOP CARDS (bigger text)
   ================================================ */
.lty-shop-timer-wrapper,
.lty-shop-timer-container,
.lty-shop-timer-section {
  background: rgba(255,255,255,0.04) !important;
  border: none !important;
}

.lty-shop-timer-section::before {
  color: rgba(94,196,106,0.4) !important;
  -webkit-text-fill-color: rgba(94,196,106,0.4) !important;
}

/* Timer numbers on cards — BIGGER */
.lty-shop-timer-content,
#lty_lottery_days,
#lty_lottery_hours,
#lty_lottery_minutes,
#lty_lottery_seconds {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  color: var(--kiwi-lime) !important;
  font-weight: 700 !important;
}

/* Timer labels (Days, Hours, etc.) — BIGGER */
.lty-shop-timer-section span,
.lty-shop-timer-section small,
.lty-shop-timer-section .lty-shop-timer-label,
.lty-shop-timer-section label,
.lty-shop-timer-text,
.lty-timer-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--kiwi-grey) !important;
  display: block !important;
  margin-top: 2px !important;
}


/* ================================================
   HEADINGS
   ================================================ */
.kiwi-section-title, h1, h2, h3 { color: var(--kiwi-lime) !important; }


/* ================================================
   FOOTER
   ================================================ */
.kiwi-footer {
  background: #0a0a0a;
  border-top: 2px solid rgba(26,122,60,0.4);
  margin-top: 80px;
  font-family: var(--font-body);
}

.kiwi-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 24px 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
}

.kiwi-footer__logo { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 16px; }

.kiwi-footer__logo-icon {
  width: 42px; height: 42px;
  background: var(--kiwi-green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

.kiwi-footer__logo-name { display: block; font-family: var(--font-display); font-size: 20px; letter-spacing: 1.5px; color: var(--kiwi-white) !important; }
.kiwi-footer__logo-tag { display: block; font-size: 10px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--kiwi-lime) !important; }
.kiwi-footer__desc { font-size: 14px; line-height: 1.7; color: var(--kiwi-grey); margin-bottom: 20px; max-width: 280px; }
.kiwi-footer__badges { display: flex; flex-wrap: wrap; gap: 8px; }

.kiwi-footer__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  color: var(--kiwi-grey);
}

.kiwi-footer__heading { font-family: var(--font-display); font-size: 18px; letter-spacing: 1.5px; color: var(--kiwi-white) !important; margin-bottom: 16px; }
.kiwi-footer__links { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.kiwi-footer__links li a { font-size: 14px; color: var(--kiwi-grey) !important; text-decoration: none !important; transition: color 0.2s, padding-left 0.2s; display: block; }
.kiwi-footer__links li a:hover { color: var(--kiwi-lime) !important; padding-left: 6px; }
.kiwi-footer__bottom { border-top: 1px solid rgba(255,255,255,0.06); }
.kiwi-footer__bottom-inner { max-width: 1200px; margin: 0 auto; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--kiwi-grey); }
.kiwi-footer__bottom-right { color: var(--kiwi-lime); font-weight: 600; }

@media (max-width: 900px) {
  .kiwi-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  .kiwi-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  .kiwi-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 32px 20px !important;
  }
  .kiwi-footer__brand {
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    margin-bottom: 8px !important;
  }
  .kiwi-footer__col { border-bottom: 1px solid rgba(255,255,255,0.06) !important; }
  .kiwi-footer__heading {
    cursor: pointer !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .kiwi-footer__heading::after { content: '+' !important; font-size: 20px !important; color: var(--kiwi-lime) !important; font-family: sans-serif !important; font-weight: 300 !important; }
  .kiwi-footer__heading.open::after { content: '−' !important; }
  .kiwi-footer__links { max-height: 0 !important; overflow: hidden !important; transition: max-height 0.3s ease !important; margin: 0 !important; padding: 0 !important; }
  .kiwi-footer__links.open { max-height: 300px !important; padding-bottom: 16px !important; }
  .kiwi-footer__bottom-inner { flex-direction: column; gap: 8px; text-align: center; }
}


/* ================================================
   PRIZE CATEGORIES
   ================================================ */
.kiwi-categories { max-width: 1200px; margin: 0 auto; padding: 80px 24px; }
.kiwi-categories__header { text-align: center; margin-bottom: 56px; }

.kiwi-categories__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 14px;
}

.kiwi-categories__eyebrow::before,
.kiwi-categories__eyebrow::after { content: ''; display: block; width: 24px; height: 2px; background: var(--kiwi-lime); }

.kiwi-categories__title { font-family: var(--font-display); font-size: clamp(42px, 6vw, 72px); letter-spacing: 2px; color: var(--kiwi-white) !important; line-height: 1; margin-bottom: 16px; }
.kiwi-categories__title span { color: var(--kiwi-cta) !important; }
.kiwi-categories__subtitle { font-size: 16px; color: var(--kiwi-grey); max-width: 500px; margin: 0 auto; line-height: 1.6; }

.kiwi-categories__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 20px; }
.kiwi-categories__grid--bottom { grid-template-columns: repeat(3, 1fr); }

.kiwi-cat-card {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.25);
  border-radius: 18px;
  padding: 32px 28px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  text-decoration: none !important;
  display: block;
}

.kiwi-cat-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519); opacity: 0; transition: opacity 0.3s ease; }
.kiwi-cat-card::after { content: ''; position: absolute; bottom: -60px; right: -60px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(26,122,60,0.15) 0%, transparent 70%); transition: transform 0.4s ease; }
.kiwi-cat-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(26,122,60,0.2); border-color: rgba(26,122,60,0.5); }
.kiwi-cat-card:hover::before { opacity: 1; }
.kiwi-cat-card:hover::after { transform: scale(1.5); }

.kiwi-cat-card--featured { grid-column: span 2; background: linear-gradient(135deg, #141414 0%, #1a1a1a 100%) !important; border-color: rgba(240,197,25,0.25); }
.kiwi-cat-card--featured::before { background: linear-gradient(90deg, #f0c519, #f8d84a, #5ec46a); }
.kiwi-cat-card--featured:hover { box-shadow: 0 20px 50px rgba(240,197,25,0.15); border-color: rgba(240,197,25,0.5); }

.kiwi-cat-card__icon { font-size: 48px; line-height: 1; margin-bottom: 20px; display: block; transition: transform 0.3s ease; }
.kiwi-cat-card:hover .kiwi-cat-card__icon { transform: scale(1.15) rotate(-5deg); }
.kiwi-cat-card__label { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--kiwi-lime) !important; margin-bottom: 8px; display: block; }
.kiwi-cat-card--featured .kiwi-cat-card__label { color: var(--kiwi-cta) !important; }
.kiwi-cat-card__title { font-family: var(--font-display); font-size: 30px; letter-spacing: 1px; color: var(--kiwi-white) !important; margin-bottom: 10px; line-height: 1.1; }
.kiwi-cat-card__desc { font-size: 14px; color: var(--kiwi-grey) !important; line-height: 1.6; margin-bottom: 24px; max-width: 340px; }

.kiwi-cat-card__count { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--kiwi-lime) !important; background: rgba(94,196,106,0.1); border: 1px solid rgba(94,196,106,0.2); border-radius: 100px; padding: 4px 12px; margin-bottom: 20px; }
.kiwi-cat-card--featured .kiwi-cat-card__count { color: var(--kiwi-cta) !important; background: rgba(240,197,25,0.1); border-color: rgba(240,197,25,0.2); }

.kiwi-cat-card__count-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--kiwi-lime); animation: pulse 1.5s ease-in-out infinite; }
.kiwi-cat-card--featured .kiwi-cat-card__count-dot { background: var(--kiwi-cta); }

@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.8); } }

.kiwi-cat-card__cta { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--kiwi-lime) !important; transition: gap 0.2s ease; }
.kiwi-cat-card--featured .kiwi-cat-card__cta { color: var(--kiwi-cta) !important; }
.kiwi-cat-card:hover .kiwi-cat-card__cta { gap: 12px; }

.kiwi-cat-card__arrow { width: 20px; height: 20px; border-radius: 50%; background: rgba(94,196,106,0.15); display: flex; align-items: center; justify-content: center; font-size: 12px; transition: background 0.2s; }
.kiwi-cat-card--featured .kiwi-cat-card__arrow { background: rgba(240,197,25,0.15); }
.kiwi-cat-card:hover .kiwi-cat-card__arrow { background: rgba(94,196,106,0.3); }
.kiwi-cat-card--featured:hover .kiwi-cat-card__arrow { background: rgba(240,197,25,0.3); }

.kiwi-categories__cta-row { text-align: center; margin-top: 48px; }
.kiwi-categories__cta-row p { font-size: 15px; color: var(--kiwi-grey); margin-bottom: 20px; }
.kiwi-categories__cta-row p strong { color: var(--kiwi-white) !important; }

@media (max-width: 900px) {
  .kiwi-categories__grid,
  .kiwi-categories__grid--bottom { grid-template-columns: repeat(2, 1fr); }
  .kiwi-cat-card--featured { grid-column: span 2; }
}

@media (max-width: 580px) {
  .kiwi-categories__grid,
  .kiwi-categories__grid--bottom { grid-template-columns: 1fr; }
  .kiwi-cat-card--featured { grid-column: span 1; }
}


/* ================================================
   MOBILE HERO
   ================================================ */
.kiwi-mobile-hero { display: none !important; }

@media (max-width: 1024px) {
  .kiwi-mobile-hero {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 90vh;
    padding: 60px 24px;
    background: var(--kiwi-black);
    position: relative;
    overflow: hidden;
    text-align: center;
  }

  .rev_slider_wrapper,
  .rev-slider,
  .rs-module-wrap,
  .revslider-initialised,
  sr7-module,
  .rs-respect-topbar,
  [data-alias="Hero-Template-With-Cursor-Animation"] {
    display: none !important;
    height: 0 !important;
    visibility: hidden !important;
  }

  .kiwi-mobile-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    position: relative;
    z-index: 2;
    max-width: 480px;
    margin: 0 auto;
  }

  .kiwi-mobile-hero__eyebrow {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--kiwi-lime) !important;
  }

  .kiwi-mobile-hero__title {
    font-family: var(--font-display) !important;
    font-size: clamp(56px, 15vw, 80px) !important;
    line-height: 0.95 !important;
    letter-spacing: 2px !important;
    color: var(--kiwi-white) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .kiwi-mobile-hero__title span { color: var(--kiwi-cta) !important; }

  .kiwi-mobile-hero__sub {
    font-size: 16px !important;
    color: var(--kiwi-grey) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
  }

  .kiwi-mobile-hero__sub strong { color: var(--kiwi-white) !important; }

  .kiwi-mobile-hero__pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center !important;
  }

  .kiwi-mobile-hero__pills span {
    padding: 6px 14px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 100px !important;
    font-size: 13px !important;
    color: var(--kiwi-grey) !important;
  }

  .kiwi-mobile-hero__trust {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .kiwi-mobile-hero__trust span {
    font-size: 12px !important;
    color: var(--kiwi-grey) !important;
  }

  .kiwi-mobile-hero::before {
    content: '';
    position: absolute;
    top: -100px; left: -100px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(26,122,60,0.2) 0%, transparent 70%);
    border-radius: 50%;
    animation: heroGlow 6s ease-in-out infinite alternate;
    z-index: 0;
  }

  .kiwi-mobile-hero::after {
    content: '';
    position: absolute;
    bottom: -100px; right: -100px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(240,197,25,0.1) 0%, transparent 70%);
    border-radius: 50%;
    animation: heroGlow 8s ease-in-out infinite alternate-reverse;
    z-index: 0;
  }

  @keyframes heroGlow {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(1.3); opacity: 1; }
  }
}


/* ================================================
   SINGLE COMPETITION PAGE
   ================================================ */

/* Kill ALL Astra product layout first */
.single-product .ast-container,
.single-product .ast-woocommerce-container,
.single-product #primary,
.single-product .site-main,
.single-product .entry-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Kill Astra's flex layout on product — ONLY the main div, not li.product cards */
.single-product div.product,
.single-product .ast-article-single div.product {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  grid-template-rows: auto 1fr !important;
  gap: 36px !important;
  max-width: 1200px !important;
  margin: 40px auto !important;
  padding: 0 24px !important;
  align-items: start !important;
  float: none !important;
  flex-wrap: nowrap !important;
}

/* Force all children of main product to fill their grid cells */
.single-product div.product > * {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Gallery — top left */
.single-product .woocommerce-product-gallery,
.single-product .ast-woo-product-gallery,
.single-product .astra-shop-thumbnail-wrap,
.single-product .ast-product-gallery-layout,
.single-product div[class*="product-gallery"] {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  float: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  background: var(--kiwi-dark) !important;
  position: relative !important;
  top: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Every element inside gallery — 100% width */
.single-product .woocommerce-product-gallery *,
.single-product .woocommerce-product-gallery > div,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image a img,
.single-product .woocommerce-product-gallery figure,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  display: block !important;
  float: none !important;
  background: var(--kiwi-dark) !important;
}

/* Product image — FILL the container */
.single-product .woocommerce-product-gallery img,
.single-product .woocommerce-product-gallery .wp-post-image,
.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Fix zoom/magnifier icon — dark circle */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger {
  background: rgba(13,13,13,0.85) !important;
  border: 1px solid rgba(94,196,106,0.3) !important;
  border-radius: 50% !important;
  color: var(--kiwi-white) !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
}

.single-product .woocommerce-product-gallery__trigger::before {
  color: var(--kiwi-white) !important;
}

.single-product .woocommerce-product-gallery__trigger img {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  max-height: 18px !important;
  filter: brightness(10) !important;
}

.single-product .summary,
.single-product .summary.entry-summary,
.single-product .ast-woo-product-summary {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  flex: none !important;
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  padding: 32px !important;
  position: relative !important;
}

.single-product .summary::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519) !important;
  border-radius: 16px 16px 0 0 !important;
}

.single-product .product_title {
  font-family: var(--font-display) !important;
  font-size: 36px !important;
  letter-spacing: 1.5px !important;
  color: var(--kiwi-white) !important;
  margin-bottom: 16px !important;
  line-height: 1.1 !important;
}

.single-product .price {
  font-family: var(--font-display) !important;
  font-size: 32px !important;
  color: var(--kiwi-cta) !important;
  margin-bottom: 20px !important;
  display: block !important;
}

.single-product .price del { color: var(--kiwi-grey) !important; font-size: 22px !important; opacity: 0.7 !important; }
.single-product .price ins { text-decoration: none !important; color: var(--kiwi-cta) !important; }

.single-product .lty-badge {
  display: inline-block !important;
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
  border: 1px solid rgba(94,196,106,0.3) !important;
  border-radius: 100px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 6px 16px !important;
  margin-bottom: 16px !important;
}

/* LIVE COMPETITION badge */
.single-product .lty-live-badge,
.single-product [class*="live-competition"],
.single-product [class*="live_badge"],
.single-product .lty-lottery-status {
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
  border: 1px solid rgba(94,196,106,0.3) !important;
  border-radius: 100px !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  letter-spacing: 2px !important;
  padding: 10px 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Fix the yellow circles on live badge — make them green pulsing dots */
.single-product .lty-live-badge span,
.single-product [class*="live-competition"] span,
.single-product [class*="live_badge"] span {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--kiwi-lime) !important;
  display: inline-block !important;
  animation: pulse 1.5s ease-in-out infinite !important;
}


/* ================================================
   SINGLE PAGE — COUNTDOWN TIMER (FIXED — BIGGER)
   ================================================ */

/* Timer wrapper */
.single-product .lty-shop-timer-wrapper,
.single-product .lty-shop-timer-container,
.single-product [class*="timer-wrapper"],
.single-product [class*="timer-container"],
.single-product [class*="countdown"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(94,196,106,0.2) !important;
  border-radius: 12px !important;
  padding: 24px 16px !important;
  margin: 20px 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Timer inner — flex row for the 4 sections */
.single-product .lty-shop-timer-container,
.single-product [class*="timer-container"],
.single-product [class*="countdown-timer"] {
  display: flex !important;
  justify-content: space-around !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

/* Each timer section (Days / Hours / Minutes / Seconds) */
.single-product .lty-shop-timer-section,
.single-product [class*="timer-section"],
.single-product [class*="countdown"] > div,
.single-product [class*="countdown"] > span {
  text-align: center !important;
  flex: 1 !important;
  padding: 8px 4px !important;
  min-width: 60px !important;
}

/* TIMER NUMBERS — big, bold, green */
.single-product #lty_lottery_days,
.single-product #lty_lottery_hours,
.single-product #lty_lottery_minutes,
.single-product #lty_lottery_seconds,
.single-product .lty-shop-timer-content,
.single-product [class*="timer-section"] > span:first-child,
.single-product [class*="timer-section"] > div:first-child,
.single-product [class*="countdown"] > div > span:first-child,
.single-product [class*="countdown"] > span > span:first-child {
  font-family: var(--font-display) !important;
  font-size: 52px !important;
  color: var(--kiwi-lime) !important;
  display: block !important;
  line-height: 1 !important;
  letter-spacing: 2px !important;
  font-weight: 700 !important;
}

/* TIMER LABELS — Days, Hours, Minutes, Seconds */
.single-product .lty-shop-timer-section span:not(.lty-shop-timer-content),
.single-product .lty-shop-timer-section small,
.single-product .lty-shop-timer-section .lty-shop-timer-label,
.single-product .lty-shop-timer-section label,
.single-product .lty-shop-timer-text,
.single-product .lty-timer-label,
.single-product [class*="timer-section"] > span:last-child,
.single-product [class*="timer-section"] > div:last-child,
.single-product [class*="countdown"] > div > span:last-child {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--kiwi-grey) !important;
  display: block !important;
  margin-top: 8px !important;
}

/* "Time Left to End:" label */
.single-product .lty-giveaway-ends-on,
.single-product .summary > p,
.single-product .summary p:has(strong) {
  color: var(--kiwi-white) !important;
  font-size: 14px !important;
  margin: 12px 0 4px !important;
}

/* Giveaway info text */
.single-product .lty-giveaway-info p,
.single-product .lty-product-info p {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
  margin-bottom: 8px !important;
  padding: 8px 12px !important;
  background: rgba(255,255,255,0.03) !important;
  border-radius: 6px !important;
  border-left: 2px solid rgba(26,122,60,0.4) !important;
}

.single-product .lty-giveaway-info p strong,
.single-product .lty-product-info p strong {
  color: var(--kiwi-lime) !important;
}

/* Tickets sold */
.single-product .lty-tickets-sold,
.single-product .lty-lottery-progress-bar-loop {
  color: var(--kiwi-lime) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 12px 0 6px !important;
}

/* Progress bar */
.single-product progress {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 8px !important;
  border-radius: 4px !important;
  border: none !important;
  display: block !important;
  margin: 8px 0 !important;
}

.single-product progress::-webkit-progress-bar { background: rgba(255,255,255,0.08) !important; border-radius: 4px !important; }
.single-product progress::-webkit-progress-value { background: linear-gradient(90deg, #1a7a3c, #5ec46a) !important; border-radius: 4px !important; }

/* Quantity input */
.single-product .quantity input {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  border-radius: 8px !important;
  color: var(--kiwi-white) !important;
  font-size: 18px !important;
  padding: 10px 16px !important;
  width: 80px !important;
  text-align: center !important;
}

/* Add to cart / Enter button */
.single-product .single_add_to_cart_button,
.single-product button.button {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  margin-top: 20px !important;
  transition: background 0.2s, transform 0.2s !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
  text-align: center !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.button:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
}

.single-product .lty-remaining,
.single-product .lty-lottery-short-description {
  color: var(--kiwi-lime) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Single product mobile */
/* Mobile product layout — handled by comprehensive mobile section at end of file */


/* ================================================
   WOOCOMMERCE PAGES — DARK THEME
   ================================================ */

/* Cart & Checkout wrapper */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
  max-width: 1200px !important;
  margin: 40px auto !important;
  padding: 0 24px !important;
}

/* Tables */
.woocommerce table.shop_table {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  width: 100% !important;
}

.woocommerce table.shop_table th {
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  letter-spacing: 1px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(26,122,60,0.3) !important;
}

.woocommerce table.shop_table td {
  color: var(--kiwi-white) !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  background: transparent !important;
}

.woocommerce table.shop_table td.product-name a {
  color: var(--kiwi-white) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.woocommerce table.shop_table td.product-name a:hover { color: var(--kiwi-lime) !important; }

/* Cart totals & Order review box */
.woocommerce .cart_totals,
.woocommerce #order_review,
.woocommerce-checkout #order_review {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  position: relative !important;
}

.woocommerce .cart_totals::before,
.woocommerce #order_review::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519) !important;
  border-radius: 16px 16px 0 0 !important;
}

.woocommerce .cart_totals h2,
.woocommerce #order_review h3 {
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 1.5px !important;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px !important;
}

.woocommerce .cart_totals table,
.woocommerce #order_review table {
  background: transparent !important;
  border: none !important;
  width: 100% !important;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td,
.woocommerce #order_review table th,
.woocommerce #order_review table td {
  color: var(--kiwi-white) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  background: transparent !important;
}

.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {
  color: var(--kiwi-cta) !important;
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  border-bottom: none !important;
}

/* Proceed to checkout & Place order buttons */
.woocommerce .checkout-button,
.woocommerce #place_order {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  margin-top: 20px !important;
  transition: background 0.2s, transform 0.2s !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
  text-align: center !important;
  text-decoration: none !important;
}

.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
  color: var(--kiwi-black) !important;
}

/* Update cart button */
.woocommerce .button[name="update_cart"] {
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.2) !important;
  color: var(--kiwi-grey) !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

.woocommerce .button[name="update_cart"]:hover {
  border-color: var(--kiwi-lime) !important;
  color: var(--kiwi-lime) !important;
}

/* Coupon input */
.woocommerce .coupon input {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  color: var(--kiwi-white) !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
}

.woocommerce .coupon .button {
  background: rgba(26,122,60,0.2) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  color: var(--kiwi-lime) !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

.woocommerce .coupon .button:hover { background: rgba(26,122,60,0.4) !important; }

/* Checkout form fields */
.woocommerce-checkout .form-row label {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: var(--kiwi-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  color: var(--kiwi-white) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  width: 100% !important;
  transition: border-color 0.2s !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus {
  border-color: var(--kiwi-lime) !important;
  outline: none !important;
}

.woocommerce-checkout input::placeholder { color: var(--kiwi-grey) !important; }

.woocommerce-checkout h3 {
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 1.5px !important;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px !important;
}

/* Select2 dropdown fix */
#billing_state_field input,
#billing_state,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout .select2-selection__rendered,
.woocommerce-checkout .select2-dropdown,
.woocommerce-checkout .select2-search__field,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-results__option,
.select2-results,
.select2-dropdown {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border-color: rgba(255,255,255,0.15) !important;
}

.select2-container--default .select2-results__option--highlighted {
  background: rgba(26,122,60,0.3) !important;
  color: var(--kiwi-white) !important;
}

/* Fix select dropdown arrow */
.woocommerce-checkout select {
  -webkit-appearance: none !important;
}


/* ================================================
   CHECKOUT — PAYMENT AREA (COMPREHENSIVE DARK)
   ================================================ */

/* Payment section wrapper */
.woocommerce-checkout #payment,
.woocommerce-checkout #payment .payment_methods {
  background: var(--kiwi-dark) !important;
  background-color: var(--kiwi-dark) !important;
  color: var(--kiwi-white) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout #payment .payment_methods {
  border: none !important;
  padding: 0 !important;
}

/* Payment box that contains card fields */
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout .payment_method_stripe .payment_box,
.woocommerce-checkout .payment_method_woocommerce_payments .payment_box {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  border: none !important;
  border-radius: 10px !important;
  margin-top: 12px !important;
  padding: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  color: var(--kiwi-white) !important;
}

/* Kill the white arrow/caret above payment box */
.woocommerce-checkout #payment .payment_box::before,
.woocommerce-checkout #payment .payment_box::after {
  border-bottom-color: var(--kiwi-dark-2) !important;
  border-color: transparent transparent var(--kiwi-dark-2) !important;
}

/* Payment method radio options */
.woocommerce-checkout #payment ul.payment_methods li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  list-style: none !important;
  background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
  border-bottom: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  color: var(--kiwi-white) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}

/* Payment method icons */
.woocommerce-checkout #payment ul.payment_methods li img {
  max-height: 28px !important;
  width: auto !important;
}

/* ---- STRIPE CARD FORM — FULL WIDTH DARK ---- */

/* The Stripe UPE / Payment Element container */
.woocommerce-checkout .wc-block-gateway-container,
.woocommerce-checkout #wc-stripe-upe-element,
.woocommerce-checkout .wcpay-upe-element,
.woocommerce-checkout #wc-stripe-payment-element,
.woocommerce-checkout #stripe-payment-element,
.woocommerce-checkout [id*="stripe"][id*="element"],
.woocommerce-checkout .wc-stripe-upe-form,
.woocommerce-checkout #wc-stripe-cc-form {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border-radius: 10px !important;
  padding: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Stripe iframe wrapper — MUST be full width */
.woocommerce-checkout .__PrivateStripeElement,
.woocommerce-checkout .__PrivateStripeElement iframe,
.woocommerce-checkout .p-CardSection,
.woocommerce-checkout .p-PaymentElement,
.woocommerce-checkout [class*="StripeElement"],
.woocommerce-checkout .wc-block-card-elements {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  background: transparent !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

/* The actual card input containers */
.woocommerce-checkout .stripe-card-element,
.woocommerce-checkout #stripe-card-element,
.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout #wc-stripe-cc-form .form-row,
.woocommerce-checkout .payment_box fieldset,
.woocommerce-checkout .payment_box .form-row {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Card fieldset — the wrapper around card number, expiry, cvc */
.woocommerce-checkout .payment_box fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
}

/* Individual card field rows */
.woocommerce-checkout #wc-stripe-cc-form .form-row,
.woocommerce-checkout .payment_box .form-row {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* Card payment labels */
.woocommerce-checkout #wc-stripe-cc-form label,
.woocommerce-checkout .payment_box label,
.wc-block-components-payment-method-label {
  color: var(--kiwi-grey) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
  display: block !important;
  text-transform: uppercase !important;
}

/* Card input fields within payment box */
.woocommerce-checkout .payment_box input,
.woocommerce-checkout .payment_box select,
.woocommerce-checkout .payment_box input[type="text"],
.woocommerce-checkout .payment_box input[type="tel"] {
  background: var(--kiwi-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  color: var(--kiwi-white) !important;
  padding: 12px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
}

.woocommerce-checkout .payment_box input:focus {
  border-color: var(--kiwi-lime) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(94,196,106,0.2) !important;
}

/* Card icons row (Visa/MC/Amex) */
.woocommerce-checkout .payment_box .stripe-card-group,
.woocommerce-checkout .payment_box .wc-stripe-elements-field + p,
.woocommerce-checkout #wc-stripe-cc-form .wc-stripe-card-icons {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 12px 0 !important;
}

/* Checkbox inside payment */
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods,
.woocommerce-checkout #payment .wc-saved-payment-methods {
  background: transparent !important;
  list-style: none !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods li {
  background: transparent !important;
  border: none !important;
  padding: 8px 0 !important;
}

/* Save card checkbox */
.woocommerce-checkout .wc-stripe-save-source,
.woocommerce-checkout .woocommerce-SavedPaymentMethods-saveNew,
.woocommerce-checkout #payment label[for*="save"] {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
}

.woocommerce-checkout #payment input[type="checkbox"] {
  accent-color: var(--kiwi-lime) !important;
}

/* OR divider text */
.woocommerce-checkout .wc-block-components-express-payment__title {
  color: var(--kiwi-grey) !important;
}

/* Terms / privacy text */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-privacy-policy-text {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: var(--kiwi-lime) !important;
}

/* View available coupons button */
.woocommerce-checkout .showcoupon,
.woocommerce-checkout a.showcoupon {
  color: var(--kiwi-lime) !important;
}

/* Coupon input area */
.woocommerce-checkout .checkout_coupon {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 10px !important;
  padding: 16px !important;
}


/* ================================================
   WOOPAYMENTS / STRIPE PAYMENT ELEMENT — DARK
   Targets the exact classes from DOM inspection
   ================================================ */

/* The payment method container with theme--stripe class */
.payment_method_woocommerce_payments.theme--stripe,
.payment_method_woocommerce_payments,
[class*="payment_method_woocommerce_payments"] {
  background: var(--kiwi-dark) !important;
}

/* Payment box inside WooPayments */
.payment_method_woocommerce_payments .payment_box,
[class*="payment_method_woocommerce_payments"] .payment_box {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 20px !important;
  border-radius: 10px !important;
}

/* The arrow/caret above the payment box — dark */
#payment .payment_box::before {
  border-bottom-color: var(--kiwi-dark-2) !important;
  border-color: transparent transparent var(--kiwi-dark-2) !important;
}

/* WooPayments UPE element container */
#wcpay-upe-element,
[id*="wcpay"][id*="element"],
.wcpay-upe-element {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 250px !important;
  background: var(--kiwi-dark-2) !important;
  border-radius: 10px !important;
}

/* Payment method logos container */
.payment-methods--logos,
[class*="payment-methods--logos"] {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Payment methods logos count (+3 badge) */
.payment-methods--logos-count,
[class*="logos-count"] {
  color: var(--kiwi-white) !important;
  background: rgba(255,255,255,0.1) !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
}

/* Stripe iframe containers — force full width */
.payment_method_woocommerce_payments .__PrivateStripeElement,
.payment_method_woocommerce_payments .__PrivateStripeElement iframe,
[class*="payment_method_woocommerce"] .__PrivateStripeElement,
[class*="payment_method_woocommerce"] .__PrivateStripeElement iframe {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

/* DARK MODE HACK — invert the Stripe iframe visually */
.payment_method_woocommerce_payments .__PrivateStripeElement iframe,
.payment_method_stripe .__PrivateStripeElement iframe,
[class*="payment_method_woocommerce"] .__PrivateStripeElement iframe,
#wcpay-upe-element .__PrivateStripeElement iframe,
.wcpay-upe-element .__PrivateStripeElement iframe {
  filter: invert(1) hue-rotate(180deg) !important;
  -webkit-filter: invert(1) hue-rotate(180deg) !important;
}

/* Privacy policy text */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p,
.woocommerce-checkout .woocommerce-privacy-policy-text p {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: var(--kiwi-lime) !important;
}

/* Place order button */
.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
  text-align: center !important;
}


/* ================================================
   APPLE PAY & GOOGLE PAY — EXPRESS CHECKOUT FIX
   ================================================ */

/* Force express payment section visible */
.wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment,
.wc-block-components-express-payment--checkout,
#wc-stripe-express-checkout-element,
.wcpay-express-checkout-wrapper,
.wc-block-components-express-payment-continue-rule,
#wc-stripe-payment-request-wrapper,
.payment-request-button,
#payment-request-button,
.stripe-payment-request-button-wrapper,
.wc_payment_method .apple-pay-button,
.gpay-button,
apple-pay-button {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: 100% !important;
}

/* Express payment container styling */
.wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
}

/* Express payment buttons */
.wc-block-components-express-payment__event-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

.wc-block-components-express-payment__event-buttons > * {
  width: 100% !important;
  min-height: 48px !important;
}

/* Apple Pay button — ensure visible */
.wc-block-components-express-payment__event-buttons .apple-pay-button,
.wc-block-components-express-payment__event-buttons [data-testid="apple-pay-button"],
.wc-block-components-express-payment__event-buttons apple-pay-button,
#wc-stripe-payment-request-button,
.payment-request-button,
.apple-pay-button-with-text {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 8px !important;
}

/* Google Pay button styling */
.wc-block-components-express-payment__event-buttons .gpay-button,
.gpay-card-info-container {
  border-radius: 8px !important;
  min-height: 48px !important;
  width: 100% !important;
}

/* "OR" separator between express pay and regular */
.wc-block-components-express-payment-continue-rule {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 20px 0 !important;
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: rgba(255,255,255,0.1) !important;
}

/* Stripe Payment Request (handles both Apple Pay & Google Pay) */
#wc-stripe-payment-request-wrapper,
.stripe-payment-request-button-wrapper {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}

#wc-stripe-payment-request-wrapper iframe,
.stripe-payment-request-button-wrapper iframe {
  min-height: 48px !important;
  width: 100% !important;
}


/* ================================================
   WOO BLOCKS PAYMENT — DARK THEME
   ================================================ */
.wc-block-components-payment-methods,
.wc-block-components-payment-method,
.wc-block-components-radio-control-accordion-content,
.wc-block-components-radio-control__option,
.wc-block-gateway-container {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border-color: rgba(255,255,255,0.1) !important;
}

.wc-block-components-radio-control__option {
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  padding: 14px 12px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 8px !important;
  margin-bottom: 4px !important;
  transition: background 0.2s !important;
}

.wc-block-components-radio-control__option:hover {
  background: rgba(255,255,255,0.04) !important;
}

.wc-block-components-radio-control__label {
  color: var(--kiwi-white) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-size: 15px !important;
}

.wc-block-components-payment-method-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
}

.wc-block-components-radio-control-accordion-content {
  padding: 16px !important;
  border-radius: 8px !important;
  margin-top: 8px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* Coupon buttons (blocks) */
.wc-block-components-totals-coupon__button,
button.wc-block-components-totals-coupon__button {
  background: rgba(26,122,60,0.2) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  color: var(--kiwi-lime) !important;
  border-radius: 8px !important;
  width: 100% !important;
  padding: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-family: var(--font-body) !important;
}

.wc-block-components-totals-coupon__button:hover {
  background: rgba(26,122,60,0.4) !important;
}


/* ================================================
   MY ACCOUNT
   ================================================ */
.woocommerce-account .woocommerce {
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  min-width: 220px !important;
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  position: relative !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519) !important;
  border-radius: 16px 16px 0 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 10px 14px !important;
  color: var(--kiwi-grey) !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  transition: all 0.2s !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 !important;
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  color: var(--kiwi-white) !important;
}

/* Login form */
.woocommerce-account .woocommerce-form input {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  color: var(--kiwi-white) !important;
  padding: 12px 16px !important;
  width: 100% !important;
}

.woocommerce-account .woocommerce-form label {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.woocommerce-account .woocommerce-form .button,
.woocommerce-account .woocommerce-Button {
  display: block !important;
  width: 100% !important;
  padding: 14px !important;
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  margin-top: 16px !important;
  text-align: center !important;
}

/* Page titles */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-account h1.entry-title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-lime) !important;
  margin-bottom: 32px !important;
}

/* Remove item button */
.woocommerce table.cart .remove { color: #e53935 !important; font-size: 18px !important; }
.woocommerce table.cart .remove:hover { background: rgba(229,57,53,0.15) !important; color: #ff6b6b !important; }

/* My account mobile */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce { flex-direction: column !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100% !important; min-width: unset !important; }
  .woocommerce table.shop_table { font-size: 13px !important; }
  .woocommerce table.shop_table td,
  .woocommerce table.shop_table th { padding: 10px 12px !important; }
}


/* ================================================
   FORCE NAV/FOOTER ON CHECKOUT
   ================================================ */
.woocommerce-checkout .kiwi-header,
.woocommerce-checkout .kiwi-mobile-nav,
.woocommerce-checkout .kiwi-announce-bar {
  display: flex !important;
}

.woocommerce-checkout .kiwi-footer { display: block !important; }

/* Fix checkout left padding */
.woocommerce-checkout .woocommerce {
  padding: 0 24px !important;
  max-width: 1200px !important;
  margin: 40px auto !important;
}


/* ================================================
   CATCH-ALL DARK OVERRIDES
   (kills any remaining white backgrounds)
   ================================================ */

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--kiwi-dark) !important;
  color: var(--kiwi-white) !important;
  border-top-color: var(--kiwi-green) !important;
  border-radius: 8px !important;
}

.woocommerce-error {
  border-top-color: #e53935 !important;
}

/* Any stray white backgrounds */
.ast-separate-container .ast-article-single:not(.ast-related-post),
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .ast-woocommerce-container,
.ast-plain-container,
.woocommerce-checkout-review-order,
.wc-block-checkout,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout,
.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step,
.wc-block-components-address-form,
.wc-block-components-text-input input,
.wc-block-components-text-input,
.wc-block-components-combobox .components-combobox-control,
.components-combobox-control input,
.wc-block-components-form,
.is-medium .wc-block-components-sidebar,
.is-large .wc-block-components-sidebar {
  background: var(--kiwi-black) !important;
  background-color: var(--kiwi-black) !important;
  color: var(--kiwi-white) !important;
}

/* Block checkout input fields dark */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
  background: var(--kiwi-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  color: var(--kiwi-white) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox .components-combobox-control input:focus {
  border-color: var(--kiwi-lime) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--kiwi-lime) !important;
}

/* Block checkout labels */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-checkbox__label {
  color: var(--kiwi-grey) !important;
}

/* Block checkout headings */
.wc-block-components-checkout-step__title {
  color: var(--kiwi-white) !important;
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  letter-spacing: 1px !important;
}

/* Block totals */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--kiwi-white) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--kiwi-cta) !important;
  font-family: var(--font-display) !important;
  font-size: 20px !important;
}

/* Order summary product names */
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  color: var(--kiwi-white) !important;
}

/* Block checkout place order button */
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button {
  background: var(--kiwi-cta) !important;
  color: var(--kiwi-black) !important;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 2px !important;
  padding: 16px !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
  transition: background 0.2s, transform 0.2s !important;
  width: 100% !important;
}

.wc-block-components-checkout-place-order-button:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
}

/* Radio buttons green accent */
.wc-block-components-radio-control input[type="radio"]:checked {
  border-color: var(--kiwi-lime) !important;
  background: var(--kiwi-lime) !important;
}

/* Checkbox green accent */
.wc-block-components-checkbox__input:checked {
  background: var(--kiwi-green) !important;
  border-color: var(--kiwi-green) !important;
}

/* Links in checkout */
.wc-block-components-checkout-step a,
.woocommerce-checkout a {
  color: var(--kiwi-lime) !important;
}


/* ================================================
   SIDE CART / CART DRAWER — DARK THEME
   ================================================ */

/* Main drawer container */
.wc-block-mini-cart__drawer,
.wc-block-cart__drawer,
.drawer,
.xoo-wsc-container,
.cart-drawer,
.slide-cart,
.side-cart,
.mini-cart-panel,
[class*="mini-cart"],
[class*="cart-drawer"],
[class*="side-cart"],
.wc-block-mini-cart__template-part {
  background: var(--kiwi-black) !important;
  background-color: var(--kiwi-black) !important;
  color: var(--kiwi-white) !important;
}

/* Cart drawer inner content */
.wc-block-mini-cart__body,
.wc-block-mini-cart__footer,
.wc-block-mini-cart__items,
.wc-block-mini-cart__header,
.wc-block-mini-cart__title,
.xoo-wsc-body,
.xoo-wsc-footer,
.xoo-wsc-header {
  background: var(--kiwi-black) !important;
  color: var(--kiwi-white) !important;
}

/* Cart drawer heading */
.wc-block-mini-cart__title,
.xoo-wsc-header h4,
[class*="cart-drawer"] h2,
[class*="cart-drawer"] h3,
[class*="mini-cart"] h2,
[class*="mini-cart"] h3 {
  color: var(--kiwi-white) !important;
  font-family: var(--font-display) !important;
}

/* Cart items in drawer */
.wc-block-mini-cart__products,
.wc-block-mini-cart__product,
.wc-block-components-product-name,
.wc-block-cart-items__row,
.xoo-wsc-product {
  color: var(--kiwi-white) !important;
  background: transparent !important;
  border-color: rgba(255,255,255,0.06) !important;
}

/* Product name links in drawer */
.wc-block-mini-cart__product a,
.wc-block-components-product-name a,
.xoo-wsc-product a {
  color: var(--kiwi-white) !important;
}

/* Quantity & price in drawer */
.wc-block-mini-cart__product .wc-block-components-product-price,
.wc-block-components-product-price,
.xoo-wsc-product .xoo-wsc-price {
  color: var(--kiwi-cta) !important;
}

/* Remove button in drawer */
.wc-block-mini-cart__product .wc-block-cart-item__remove-link,
.xoo-wsc-product .xoo-wsc-remove {
  color: #e53935 !important;
}

/* Subtotal in drawer */
.wc-block-mini-cart__footer .wc-block-components-totals-item,
.wc-block-mini-cart__footer .wc-block-components-totals-item__label,
.wc-block-mini-cart__footer .wc-block-components-totals-item__value,
.xoo-wsc-ft-totals {
  color: var(--kiwi-white) !important;
  background: transparent !important;
}

/* "Taxes & shipping calculated at checkout" text */
.wc-block-mini-cart__footer .wc-block-components-payment-method-label,
.wc-block-mini-cart__footer p,
.wc-block-mini-cart__shipping-free-shipping,
.tax-info {
  color: var(--kiwi-grey) !important;
}

/* Checkout button in drawer */
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__footer .wc-block-components-button,
.xoo-wsc-ft-btn-checkout a,
[class*="cart-drawer"] .checkout-button,
[class*="mini-cart"] .checkout-button {
  background: var(--kiwi-cta) !important;
  color: var(--kiwi-black) !important;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 2px !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px !important;
  box-shadow: 0 4px 18px rgba(240,197,25,0.35) !important;
  transition: background 0.2s, transform 0.2s !important;
  text-align: center !important;
  width: 100% !important;
  display: block !important;
}

.wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__footer .wc-block-components-button:hover,
.xoo-wsc-ft-btn-checkout a:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
  color: var(--kiwi-black) !important;
}

/* View cart link in drawer */
.wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__footer a:not(.wc-block-components-button),
.xoo-wsc-ft-btn-cart a {
  color: var(--kiwi-lime) !important;
  text-align: center !important;
}

/* Coupon section in drawer */
.wc-block-mini-cart__footer .wc-block-components-totals-coupon,
.available-coupons,
[class*="coupon"] {
  background: transparent !important;
  color: var(--kiwi-white) !important;
}

/* Cart drawer overlay/backdrop */
.wc-block-mini-cart__drawer-overlay,
.wc-block-components-drawer__screen-overlay,
.xoo-wsc-overlay,
[class*="cart-drawer-overlay"] {
  background: rgba(0,0,0,0.7) !important;
}

/* Suggested products in drawer */
.wc-block-mini-cart__suggested,
[class*="suggested"] {
  background: var(--kiwi-dark) !important;
  border-color: rgba(255,255,255,0.06) !important;
}

/* Empty cart state */
.wc-block-mini-cart__empty-cart-message,
.xoo-wsc-empty-msg {
  color: var(--kiwi-grey) !important;
}

/* Quantity stepper in drawer */
.wc-block-components-quantity-selector,
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button {
  background: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border-color: rgba(255,255,255,0.15) !important;
}


/* ================================================
   PRODUCT PAGE — "COMING SOON" / PLACEHOLDER FIX
   ================================================ */

/* If there's a coming-soon or store-notice overlay */
.woocommerce-store-notice,
.store-notice,
.demo_store {
  background: rgba(26,122,60,0.9) !important;
  color: var(--kiwi-white) !important;
}

/* Product page — question/answer area */
.single-product .lty-question-section,
.single-product .lty-lottery-question {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(26,122,60,0.2) !important;
  border-radius: 10px !important;
  color: var(--kiwi-white) !important;
}

/* Answer buttons — style only, keep clickable */
.single-product .lty-lottery-answer,
.single-product .lty-answer-btn,
.single-product .lty-lottery-question .button {
  background: rgba(26,122,60,0.15) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  color: var(--kiwi-white) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s !important;
  margin-bottom: 8px !important;
  text-align: left !important;
  font-size: 14px !important;
  pointer-events: auto !important;
}

/* Labels inside answers — DON'T override display */
.single-product .lty-lottery-answer label,
.single-product .lty-lottery-question label {
  color: var(--kiwi-white) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

.single-product .lty-lottery-answer:hover,
.single-product .lty-answer-btn:hover {
  background: rgba(26,122,60,0.3) !important;
  border-color: var(--kiwi-lime) !important;
  color: var(--kiwi-lime) !important;
}

/* Selected answer */
.single-product .lty-lottery-answer.selected,
.single-product .lty-lottery-answer.active,
.single-product .lty-lottery-answer.chosen {
  background: rgba(94,196,106,0.2) !important;
  border-color: var(--kiwi-lime) !important;
  color: var(--kiwi-lime) !important;
  box-shadow: 0 0 0 1px var(--kiwi-lime) !important;
}

/* Question heading */
.single-product .lty-question-section h3,
.single-product .lty-question-section h4,
.single-product [class*="question"] h3,
.single-product [class*="question"] h4 {
  color: var(--kiwi-cta) !important;
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
}


/* ================================================
   PARTICIPATE NOW BUTTON — PRODUCT PAGE
   ================================================ */
.single-product .lty-participate-btn,
.single-product a[href*="product-"],
.single-product .lottery_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
  transition: background 0.2s, transform 0.2s !important;
}

.single-product .lty-participate-btn:hover,
.single-product .lottery_add_to_cart_button:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
}


/* ================================================
   AVAILABLE COUPONS PANEL — DARK
   ================================================ */
.wc-block-components-totals-coupon,
.available-coupons-panel,
[class*="available-coupons"],
.wc-block-components-panel {
  background: var(--kiwi-dark) !important;
  color: var(--kiwi-white) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.wc-block-components-panel__button,
[class*="available-coupons"] h3,
[class*="available-coupons"] h4 {
  color: var(--kiwi-white) !important;
}

.wc-block-components-panel__content {
  background: var(--kiwi-dark) !important;
  color: var(--kiwi-grey) !important;
}


/* ================================================
   NUCLEAR DARK — ABSOLUTE LAST RESORT
   Any remaining white/light backgrounds
   ================================================ */

/* WooCommerce Blocks general */
[class*="wc-block"] {
  background-color: transparent !important;
}

[class*="wc-block"]:not([class*="button"]):not([class*="btn"]):not(button) {
  color: inherit;
}

/* Astra theme remaining white wrappers */
.ast-container,
.ast-row,
.site-content > .ast-container,
#primary,
#secondary,
.ast-single-post-order,
.ast-woo-product-gallery,
main#main {
  background: transparent !important;
}

/* WooCommerce product tabs — base dark colors (detailed styles below) */
.single-product .woocommerce-tabs {
  background: var(--kiwi-dark) !important;
  color: var(--kiwi-grey) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

/* Related products section */
.single-product .related.products,
.single-product section.related {
  background: transparent !important;
}

.single-product .related.products h2 {
  color: var(--kiwi-lime) !important;
  font-family: var(--font-display) !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb {
  color: var(--kiwi-grey) !important;
}

.woocommerce-breadcrumb a {
  color: var(--kiwi-lime) !important;
}

/* Notifications / WooCommerce notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.wc-block-components-notice-banner {
  background: var(--kiwi-dark) !important;
  color: var(--kiwi-white) !important;
  border-radius: 10px !important;
  border-left: 4px solid var(--kiwi-green) !important;
}

.wc-block-components-notice-banner.is-error {
  border-left-color: #e53935 !important;
}

/* Quantity stepper on product page */
.single-product .quantity .qty,
.single-product .quantity button,
.single-product .quantity .minus,
.single-product .quantity .plus {
  background: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
}

.single-product .quantity .minus:hover,
.single-product .quantity .plus:hover {
  background: rgba(26,122,60,0.3) !important;
  color: var(--kiwi-lime) !important;
}

/* SKU, categories, tags on product page */
.single-product .product_meta,
.single-product .product_meta span,
.single-product .posted_in,
.single-product .tagged_as,
.single-product .sku_wrapper {
  color: var(--kiwi-grey) !important;
}

.single-product .product_meta a {
  color: var(--kiwi-lime) !important;
}


/* ================================================
   TIMER — EXTRA BROAD OVERRIDES
   (covers table-based and div-based timer layouts)
   ================================================ */

/* If timer uses a table */
.single-product .summary table {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(94,196,106,0.2) !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  width: 100% !important;
  margin: 16px 0 !important;
  padding: 12px !important;
}

.single-product .summary table td {
  background: transparent !important;
  border: none !important;
  text-align: center !important;
  padding: 10px 8px !important;
  vertical-align: top !important;
  color: var(--kiwi-white) !important;
}

/* Timer number cells — first row if table */
.single-product .summary table tr:first-child td,
.single-product .summary table td span,
.single-product .summary table td strong,
.single-product .summary table td b {
  font-family: var(--font-display) !important;
  font-size: 52px !important;
  color: var(--kiwi-lime) !important;
  line-height: 1 !important;
  letter-spacing: 2px !important;
  display: block !important;
}

/* Timer label cells — second row if table */
.single-product .summary table tr:last-child td,
.single-product .summary table td small,
.single-product .summary table td + td {
  font-size: 13px !important;
  color: var(--kiwi-grey) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

/* If timer is a flat inline structure with just spans */
.single-product .summary .lty-shop-timer-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(94,196,106,0.2) !important;
  border-radius: 12px !important;
  padding: 24px 12px !important;
  margin: 20px 0 !important;
  text-align: center !important;
}

/* Force price to be gold and large */
.single-product .summary .price,
.single-product .summary .price span,
.single-product .summary .price .woocommerce-Price-amount,
.single-product .summary .price .woocommerce-Price-currencySymbol,
.single-product .summary > .price,
.single-product .summary span.price,
.single-product .summary p.price {
  color: var(--kiwi-cta) !important;
  font-family: var(--font-display) !important;
  font-size: 36px !important;
  letter-spacing: 1px !important;
}

/* "Giveaway Started" — override any inline styles */
.single-product .summary .lty-badge,
.single-product .summary span[class*="badge"],
.single-product .summary span[style*="background"],
.single-product .summary .lty-lottery-status-badge {
  background: rgba(26,122,60,0.15) !important;
  background-color: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
  border: 1px solid rgba(94,196,106,0.3) !important;
  border-radius: 100px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 6px 18px !important;
}

/* "Giveaway ends on:" and "Time Left to End:" */
.single-product .summary p,
.single-product .summary > p {
  color: var(--kiwi-grey) !important;
  font-size: 14px !important;
}

.single-product .summary p strong,
.single-product .summary > p > strong {
  color: var(--kiwi-white) !important;
}

/* Mobile timer adjustments */
@media (max-width: 768px) {
  .single-product .summary table tr:first-child td,
  .single-product .summary table td span,
  .single-product .summary table td strong,
  .single-product .summary table td b {
    font-size: 38px !important;
  }

  .single-product .summary .lty-shop-timer-wrapper {
    padding: 16px 8px !important;
    gap: 4px !important;
  }

  .single-product .summary .price,
  .single-product .summary .price span,
  .single-product .summary .price .woocommerce-Price-amount {
    font-size: 28px !important;
  }
}


/* ================================================
   ANSWER OPTIONS (Birmingham/London) — DARK
   ================================================ */
.single-product .summary select,
.single-product .summary input[type="text"],
.single-product .summary input[type="number"],
.single-product .summary input[type="email"],
.single-product .summary textarea,
.single-product .summary option,
.single-product select,
.single-product input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.single-product .lty-lottery-pick-numbers select,
.single-product .lty-lottery-pick-numbers input,
.single-product .variations select,
.single-product .variations td select,
.single-product table.variations select {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  width: 100% !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Dropdown options dark */
.single-product select option,
.single-product .summary select option {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
}

/* Answer radio/checkbox labels — dark theme without breaking clicks */
.single-product .lty-lottery-answer,
.single-product .summary .lottery-answer,
.single-product .summary .lty-answer,
.single-product .summary .quiz-answer,
.single-product .summary li.lty-answer,
.single-product .summary ul.lty-answers li,
.single-product .summary .lty-lottery-question ul li,
.single-product .summary .lty-lottery-question ol li,
.single-product .summary .lty-lottery-question li {
  background: var(--kiwi-dark-2) !important;
  background-color: var(--kiwi-dark-2) !important;
  color: var(--kiwi-white) !important;
  border: 1px solid rgba(26,122,60,0.4) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s !important;
  list-style: none !important;
}

/* Labels inside answers — keep clickable */
.single-product .lty-lottery-answer label,
.single-product .summary .lty-lottery-question li label,
.single-product .summary .lottery-answer label,
.single-product .summary input[type="radio"] + label,
.single-product .summary input[type="checkbox"] + label {
  color: var(--kiwi-white) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Radio/checkbox inputs — keep functional */
.single-product .summary input[type="radio"],
.single-product .summary input[type="checkbox"],
.single-product .lty-lottery-question input[type="radio"],
.single-product .lty-lottery-question input[type="checkbox"] {
  pointer-events: auto !important;
  cursor: pointer !important;
  accent-color: var(--kiwi-lime) !important;
}

.single-product .lty-lottery-answer:hover,
.single-product .summary .lottery-answer:hover,
.single-product .summary ul.lty-answers li:hover,
.single-product .summary .lty-lottery-question li:hover {
  border-color: var(--kiwi-lime) !important;
  background: rgba(26,122,60,0.15) !important;
}

/* Selected/checked answer */
.single-product .lty-lottery-answer.selected,
.single-product .lty-lottery-answer.active,
.single-product .lty-lottery-answer.chosen,
.single-product .summary input[type="radio"]:checked + label,
.single-product .summary input[type="checkbox"]:checked + label {
  border-color: var(--kiwi-lime) !important;
  background: rgba(94,196,106,0.15) !important;
  color: var(--kiwi-lime) !important;
}

/* Question heading */
.single-product .lty-lottery-question > p,
.single-product .lty-lottery-question > h3,
.single-product .lty-lottery-question > h4,
.single-product .lty-lottery-question > label {
  color: var(--kiwi-cta) !important;
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
}

/* Answer list container */
.single-product .lty-lottery-question ul,
.single-product .lty-lottery-question ol,
.single-product .summary ul.lty-answers {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ================================================
   GOOGLE PAY / PAYMENT BUTTONS — DARK
   ================================================ */
.single-product #wc-stripe-payment-request-wrapper,
.single-product .wc-stripe-payment-request-wrapper,
.single-product .stripe-payment-request-button-wrapper,
.single-product #payment-request-button,
.single-product .gpay-card-info-container,
.single-product .gpay-button,
.single-product [id*="payment-request"],
.single-product [class*="payment-request"],
.single-product .wcpay-payment-request-wrapper,
.single-product #wcpay-payment-request-wrapper {
  background: var(--kiwi-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 10px !important;
  padding: 4px !important;
  margin-top: 12px !important;
  overflow: hidden !important;
}

/* Or separator */
.single-product .wc-stripe-payment-request-button-separator,
.single-product .wcpay-payment-request-wrapper-separator,
.single-product [class*="separator"] {
  color: var(--kiwi-grey) !important;
}


/* ================================================
   "GIVEAWAY STARTED" BADGE — KEEP GREEN BAR
   ================================================ */

/* The green bar container — KEEP IT */
.single-product .summary .lty-lottery-status-loop,
.single-product .summary p.lty-lottery-status-loop,
.single-product .summary [class*="lottery-status"]:not(.lty-badge) {
  background: rgba(26,122,60,0.9) !important;
  background-color: rgba(26,122,60,0.9) !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  margin: 8px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* The badge TEXT inside — clear/transparent background, NOT white */
.single-product .summary .lty-badge,
.single-product .summary span.lty-badge,
.single-product .summary .lty-lottery-status-badge,
.single-product .summary [class*="badge"]:not(.kiwi-badge):not(.kiwi-badge--hot):not(.kiwi-badge--new) {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--kiwi-white) !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 0 !important;
}

/* "LIVE COMPETITION" badge */
.single-product .summary .lty-live-badge {
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
  border: 1px solid rgba(94,196,106,0.3) !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  letter-spacing: 2px !important;
  display: inline-block !important;
  width: auto !important;
}


/* ================================================
   DESCRIPTION TAB — LEFT COLUMN BELOW IMAGE
   ================================================ */
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  color: var(--kiwi-grey) !important;
  align-self: start !important;
}

.single-product #tab-description,
.single-product .panel,
.single-product .woocommerce-Tabs-panel {
  background: var(--kiwi-dark) !important;
  color: var(--kiwi-grey) !important;
}

/* Tab navigation */
.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs {
  background: var(--kiwi-dark) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden !important;
}

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

.single-product .woocommerce-tabs ul.tabs li a,
.single-product .wc-tabs li a {
  display: block !important;
  padding: 16px 28px !important;
  color: var(--kiwi-grey) !important;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 1.5px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: all 0.2s !important;
  background: transparent !important;
  border-bottom: 3px solid transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs li.active a {
  color: var(--kiwi-lime) !important;
  border-bottom-color: var(--kiwi-lime) !important;
  background: rgba(94,196,106,0.05) !important;
}

.single-product .woocommerce-tabs ul.tabs li a:hover,
.single-product .wc-tabs li a:hover {
  color: var(--kiwi-white) !important;
}

/* Tab panel content */
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-Tabs-panel,
.single-product #tab-description {
  padding: 0 20px !important;
  border: none !important;
  border-radius: 0 0 16px 16px !important;
  background: var(--kiwi-dark) !important;
  overflow: hidden !important;
}

/* Accordion panels — hidden by default, show when active */
.single-product .woocommerce-tabs .panel:not(.active):not([style*="display: block"]):not([style*="display:block"]) {
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel h3 {
  color: var(--kiwi-white) !important;
  font-family: var(--font-display) !important;
  display: none !important;
}

.single-product .woocommerce-tabs .panel p {
  color: var(--kiwi-grey) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

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

/* Fix white bars inside accordion panels — tables, progress bars, iframes */
.single-product .woocommerce-tabs table,
.single-product .woocommerce-tabs .panel table {
  background: var(--kiwi-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  border-collapse: separate !important;
  width: 100% !important;
  overflow: hidden !important;
}

.single-product .woocommerce-tabs table th {
  background: rgba(26,122,60,0.15) !important;
  color: var(--kiwi-lime) !important;
  font-size: 12px !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  text-align: left !important;
}

.single-product .woocommerce-tabs table td {
  background: transparent !important;
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}

/* Progress bars inside tabs */
.single-product .woocommerce-tabs progress,
.single-product .woocommerce-tabs .panel progress {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 8px !important;
  border-radius: 4px !important;
  border: none !important;
  background: rgba(255,255,255,0.08) !important;
}

.single-product .woocommerce-tabs progress::-webkit-progress-bar {
  background: rgba(255,255,255,0.08) !important;
  border-radius: 4px !important;
}

.single-product .woocommerce-tabs progress::-webkit-progress-value {
  background: linear-gradient(90deg, #1a7a3c, #5ec46a) !important;
  border-radius: 4px !important;
}

/* Kill white backgrounds inside tab panels — but not all backgrounds */
.single-product .woocommerce-tabs .panel div[style*="background: white"],
.single-product .woocommerce-tabs .panel div[style*="background:#fff"],
.single-product .woocommerce-tabs .panel div[style*="background-color: white"],
.single-product .woocommerce-tabs .panel div[style*="background-color:#fff"],
.single-product .woocommerce-tabs .panel div[style*="background-color: rgb(255"],
.single-product .woocommerce-tabs .panel > div:not([class]),
.single-product .woocommerce-tabs .panel .lty-lottery-progress-bar,
.single-product .woocommerce-tabs .panel [class*="progress"],
.single-product .woocommerce-tabs .panel [class*="bar"] {
  background: rgba(255,255,255,0.08) !important;
  background-color: rgba(255,255,255,0.08) !important;
  border-radius: 4px !important;
}

/* But the lottery progress value (filled part) should be green */
.single-product .woocommerce-tabs .panel [class*="progress-value"],
.single-product .woocommerce-tabs .panel [class*="bar-fill"],
.single-product .woocommerce-tabs .panel [class*="bar-inner"],
.single-product .woocommerce-tabs .panel progress::-webkit-progress-value {
  background: linear-gradient(90deg, #1a7a3c, #5ec46a) !important;
}

/* Fix input/select inside panels */
.single-product .woocommerce-tabs .panel input,
.single-product .woocommerce-tabs .panel select {
  background: var(--kiwi-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: var(--kiwi-white) !important;
  border-radius: 6px !important;
}

/* Pagination inside giveaway details */
.single-product .woocommerce-tabs .panel nav,
.single-product .woocommerce-tabs .panel .pagination,
.single-product .woocommerce-tabs .panel ul.page-numbers {
  color: var(--kiwi-grey) !important;
}

.single-product .woocommerce-tabs .panel .page-numbers li a,
.single-product .woocommerce-tabs .panel .page-numbers li span {
  background: var(--kiwi-dark-2) !important;
  color: var(--kiwi-grey) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
}

.single-product .woocommerce-tabs .panel .page-numbers li span.current {
  background: var(--kiwi-green) !important;
  color: var(--kiwi-white) !important;
  border-color: var(--kiwi-green) !important;
}

/* Accordion heading row (+/- button area) */
.single-product .woocommerce-tabs .accordion-title,
.single-product .woocommerce-tabs .panel-title,
.single-product .woocommerce-tabs h2[class*="accordion"],
.single-product .woocommerce-tabs [class*="accordion-header"],
.single-product .woocommerce-tabs summary {
  cursor: pointer !important;
  color: var(--kiwi-lime) !important;
  font-family: var(--font-display) !important;
  padding: 16px 20px !important;
}


/* ================================================
   RELATED / RECENTLY VIEWED — FULL WIDTH
   ================================================ */
.single-product .related.products,
.single-product section.related,
.single-product section.up-sells,
.single-product [class*="recently-viewed"],
.single-product [class*="recently_viewed"],
.single-product .woocommerce .products {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* If recently viewed is OUTSIDE the product grid, style it directly */
.single-product .site-main > section,
.single-product .site-main > div > section,
.single-product .entry-content > section,
.single-product #primary > section {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}


/* ================================================
   STICKY BOTTOM BAR — DARK
   ================================================ */
.single-product .ast-sticky-add-to-cart,
.single-product [class*="sticky-add-to-cart"],
.single-product .product-sticky-bar {
  background: var(--kiwi-dark) !important;
  border-top: 1px solid rgba(26,122,60,0.3) !important;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.5) !important;
}

.single-product .ast-sticky-add-to-cart .button,
.single-product [class*="sticky-add-to-cart"] .button {
  background: var(--kiwi-cta) !important;
  color: var(--kiwi-black) !important;
  font-family: var(--font-display) !important;
  border-radius: 8px !important;
  letter-spacing: 1.5px !important;
}

.single-product .ast-sticky-add-to-cart .price,
.single-product [class*="sticky-add-to-cart"] .price {
  color: var(--kiwi-cta) !important;
}

.single-product .ast-sticky-add-to-cart img {
  border-radius: 6px !important;
}

.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title {
  color: var(--kiwi-white) !important;
}


/* ================================================
   CATEGORY BADGE ON PRODUCT PAGE
   ================================================ */
.single-product .posted_in a,
.single-product .tagged_as a {
  color: var(--kiwi-lime) !important;
  background: rgba(26,122,60,0.15) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 100px !important;
  padding: 4px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block !important;
}


/* ================================================
   RECENTLY VIEWED / RELATED — FULL WIDTH + CARD FIX
   Uses exact DOM classes from inspection
   ================================================ */

/* Force recently viewed and related sections to span full grid width */
.single-product div.product > section,
.single-product div.product > .related,
.single-product div.product > .up-sells,
.single-product div.product > [class*="recently"],
.single-product div.product > .cross-sells,
.single-product div.product > section,
.single-product div.product > .related,
.single-product div.product > [class*="recently"],
.single-product section.related,
.single-product section.up-sells,
.single-product section[class*="recently"] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Product link inside cards — stack vertically like homepage */
/* NUCLEAR specificity — body prefix + multiple classes */
body.single-product .woocommerce ul.products li.product,
body.single-product .woocommerce-page ul.products li.product,
body.single-product ul.products li.product,
body.single-product ul.products li.product-type-lottery,
body .woocommerce ul.products li.product.product-type-lottery {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto !important;
  width: 100% !important;
}

body.single-product ul.products li.product .woocommerce-loop-product__link,
body.single-product ul.products li.product .woocommerce-LoopProduct-link,
body .woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: contents !important;
}

/* Image wrapper — full width */
body.single-product ul.products li.product .astra-shop-thumbnail-wrap,
body .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  display: block !important;
  grid-column: 1 !important;
}

/* Image — fill card */
body.single-product ul.products li.product .astra-shop-thumbnail-wrap img,
body .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  max-width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Summary — full width below */
body.single-product ul.products li.product .astra-shop-summary-wrap,
body .woocommerce ul.products li.product .astra-shop-summary-wrap {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  padding: 14px !important;
  grid-column: 1 !important;
}

/* Timer wrapper in cards — remove JS transform if any */
.single-product ul.products .lty-shop-timer-wrapper,
li.product .lty-shop-timer-wrapper {
  transform: none !important;
  transform-origin: unset !important;
  width: 100% !important;
  margin: 8px 0 !important;
}

/* Timer container in cards */
.single-product ul.products .lty-shop-timer-container,
li.product .lty-shop-timer-container {
  width: 100% !important;
  padding: 10px 6px !important;
  gap: 4px !important;
  border-radius: 8px !important;
}

/* Timer numbers in cards */
.single-product ul.products .lty-shop-timer-content,
li.product .lty-shop-timer-content {
  font-size: 16px !important;
  letter-spacing: 1px !important;
}

/* Timer labels in cards */
.single-product ul.products .lty-shop-timer-section span:not(.lty-shop-timer-content),
.single-product ul.products .lty-shop-timer-section small,
li.product .lty-shop-timer-section span:not(.lty-shop-timer-content) {
  font-size: 9px !important;
  letter-spacing: 1px !important;
  margin-top: 2px !important;
}

/* Progress bar in cards */
.single-product ul.products .lty-lottery-progress-bar-loop,
li.product .lty-lottery-progress-bar-loop {
  width: 100% !important;
}

/* Lottery status text in cards */
.single-product ul.products .lty-lottery-status-loop,
.single-product ul.products .lty-lottery-time-left-label-shop-page,
li.product .lty-lottery-status-loop,
li.product .lty-lottery-time-left-label-shop-page {
  color: var(--kiwi-grey) !important;
  font-size: 11px !important;
}


/* Answer styling now handled by injected style in functions.php */


/* ================================================
   MOBILE RESPONSIVE — COMPREHENSIVE FIX
   Targets 768px and below + 544px small mobile
   ================================================ */

@media (max-width: 768px) {

  /* === GLOBAL OVERFLOW PREVENTION === */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* === ASTRA CONTAINERS — FULL WIDTH, NO OVERFLOW === */
  .ast-container,
  .ast-woocommerce-container,
  .content-area,
  #primary,
  .site-main,
  .entry-content,
  .ast-article-single,
  .site-content > .ast-container,
  .ast-separate-container .ast-article-single {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin: 0 auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  /* === PRODUCT PAGE — SINGLE COLUMN STACK === */
  .single-product div.product,
  .single-product .ast-article-single div.product {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 12px !important;
    margin: 16px auto !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  /* All product children — full width, stacked */
  .single-product div.product > * {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    position: relative !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* === PRODUCT IMAGE — FULL WIDTH === */
  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery *,
  .single-product .woocommerce-product-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    float: none !important;
  }

  .single-product .woocommerce-product-gallery {
    border-radius: 12px !important;
    margin-bottom: 0 !important;
  }

  /* === SUMMARY PANEL — FULL WIDTH, COMPACT PADDING === */
  .single-product .summary,
  .single-product .summary.entry-summary,
  .single-product .ast-woo-product-summary {
    padding: 16px !important;
    border-radius: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Product title — smaller on mobile */
  .single-product .product_title {
    font-size: 28px !important;
    line-height: 1.1 !important;
    margin-bottom: 10px !important;
  }

  /* Price — smaller */
  .single-product .price,
  .single-product .summary .price {
    font-size: 26px !important;
    margin-bottom: 12px !important;
  }

  /* === COUNTDOWN TIMER — MOBILE === */
  .single-product .lty-shop-timer-wrapper,
  .single-product .lty-shop-timer-container {
    padding: 16px 8px !important;
    margin: 12px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .single-product #lty_lottery_days,
  .single-product #lty_lottery_hours,
  .single-product #lty_lottery_minutes,
  .single-product #lty_lottery_seconds,
  .single-product .lty-shop-timer-content {
    font-size: 36px !important;
  }

  .single-product .lty-shop-timer-section span:not(.lty-shop-timer-content),
  .single-product .lty-shop-timer-section small {
    font-size: 10px !important;
    letter-spacing: 1px !important;
  }

  /* === GIVEAWAY INFO TEXT — COMPACT === */
  .single-product .summary p {
    font-size: 13px !important;
    margin-bottom: 6px !important;
    padding: 6px 10px !important;
  }

  .single-product .lty-giveaway-info p,
  .single-product .lty-product-info p {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }

  /* === ANSWER OPTIONS — MOBILE === */
  .single-product .summary li,
  .single-product .summary ul li,
  .single-product .entry-summary li {
    padding: 10px 14px !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
  }

  /* === QUANTITY + BUTTON — MOBILE === */
  .single-product .quantity input {
    width: 70px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
  }

  .single-product .single_add_to_cart_button,
  .single-product button.button,
  .single-product .lottery_add_to_cart_button {
    padding: 14px !important;
    font-size: 20px !important;
    border-radius: 10px !important;
    margin-top: 12px !important;
  }

  /* === TABS/ACCORDION — MOBILE === */
  .single-product .woocommerce-tabs,
  .single-product .wc-tabs-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .single-product .woocommerce-tabs ul.tabs,
  .single-product .wc-tabs {
    flex-direction: column !important;
  }

  .single-product .woocommerce-tabs ul.tabs li a,
  .single-product .wc-tabs li a {
    padding: 12px 16px !important;
    font-size: 15px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }

  .single-product .woocommerce-tabs .panel {
    padding: 0 14px !important;
  }

  /* Table inside tabs — scrollable on mobile */
  .single-product .woocommerce-tabs table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    font-size: 12px !important;
  }

  /* === PROGRESS BAR — MOBILE === */
  .single-product progress {
    height: 6px !important;
  }

  /* === GOOGLE PAY / PAYMENT BUTTONS — MOBILE === */
  .single-product #wc-stripe-payment-request-wrapper,
  .single-product .wc-stripe-payment-request-wrapper,
  .single-product [id*="payment-request"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* === POSTAL ENTRY BUTTON — MOBILE === */
  #kiwiPostalBtn button {
    font-size: 12px !important;
    padding: 10px 16px !important;
  }

  /* === RECENTLY VIEWED / RELATED — MOBILE GRID === */
  .single-product ul.products,
  .single-product .related ul.products,
  .woocommerce ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  /* Cards in recently viewed — compact */
  li.product-type-lottery {
    border-radius: 10px !important;
  }

  li.product-type-lottery .astra-shop-thumbnail-wrap img {
    height: 120px !important;
  }

  li.product-type-lottery .astra-shop-summary-wrap {
    padding: 10px !important;
  }

  li.product-type-lottery h2.woocommerce-loop-product__title {
    font-size: 14px !important;
  }

  li.product-type-lottery span.price {
    font-size: 16px !important;
  }

  li.product-type-lottery a.button,
  li.product-type-lottery button.button {
    padding: 6px 12px !important;
    font-size: 13px !important;
  }

  /* === HEADER SPACER — MOBILE === */
  .kiwi-header-spacer {
    height: calc(32px + 56px + 9px) !important;
  }

  /* === CATEGORY CARDS — MOBILE === */
  .kiwi-categories {
    padding: 40px 16px !important;
  }

  .kiwi-cat-card {
    padding: 20px 16px !important;
  }

  .kiwi-cat-card__title {
    font-size: 22px !important;
  }

  .kiwi-cat-card__icon {
    font-size: 36px !important;
  }

  /* === CHECKOUT — MOBILE === */
  .woocommerce-checkout .woocommerce {
    padding: 0 12px !important;
  }

  .woocommerce .cart_totals,
  .woocommerce #order_review,
  .woocommerce-checkout #order_review {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  /* === MY ACCOUNT — MOBILE === */
  .woocommerce-account .woocommerce {
    flex-direction: column !important;
    gap: 16px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    min-width: unset !important;
  }

  /* === STICKY BOTTOM BAR — MOBILE === */
  .single-product .ast-sticky-add-to-cart,
  .single-product [class*="sticky-add-to-cart"] {
    padding: 8px 12px !important;
  }

  .single-product .ast-sticky-add-to-cart .button {
    font-size: 14px !important;
    padding: 8px 16px !important;
  }

  /* === FOOTER — MOBILE === */
  .kiwi-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 24px 16px !important;
  }
}


/* ================================================
   SMALL MOBILE — 544px and below
   Extra compact for very small screens
   ================================================ */

@media (max-width: 544px) {

  /* Even tighter padding */
  .single-product div.product {
    padding: 0 8px !important;
    gap: 12px !important;
  }

  .single-product .summary,
  .single-product .summary.entry-summary {
    padding: 12px !important;
  }

  /* Smaller title */
  .single-product .product_title {
    font-size: 24px !important;
  }

  .single-product .price {
    font-size: 22px !important;
  }

  /* Timer — compact */
  .single-product #lty_lottery_days,
  .single-product #lty_lottery_hours,
  .single-product #lty_lottery_minutes,
  .single-product #lty_lottery_seconds,
  .single-product .lty-shop-timer-content {
    font-size: 28px !important;
  }

  .single-product .lty-shop-timer-section span:not(.lty-shop-timer-content),
  .single-product .lty-shop-timer-section small {
    font-size: 9px !important;
    letter-spacing: 0.5px !important;
  }

  .single-product .lty-shop-timer-wrapper,
  .single-product .lty-shop-timer-container {
    padding: 12px 4px !important;
  }

  /* Single column cards */
  .single-product ul.products,
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Answer options — more compact */
  .single-product .summary li,
  .single-product .summary ul li {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }

  /* Button */
  .single-product .single_add_to_cart_button,
  .single-product button.button {
    font-size: 18px !important;
    padding: 12px !important;
  }

  /* Category cards — single column */
  .kiwi-categories__grid,
  .kiwi-categories__grid--bottom {
    grid-template-columns: 1fr !important;
  }

  .kiwi-cat-card--featured {
    grid-column: span 1 !important;
  }

  .kiwi-cat-card__title {
    font-size: 20px !important;
  }

  /* Marquee bar text — smaller on small screens */
  .kiwi-announce-item__text {
    font-size: 10px !important;
  }
  .kiwi-announce-item {
    padding: 0 20px !important;
  }

  /* Checkout compact */
  .woocommerce-checkout .woocommerce {
    padding: 0 8px !important;
  }

  .woocommerce .checkout-button,
  .woocommerce #place_order {
    font-size: 18px !important;
    padding: 14px !important;
  }

  /* Footer */
  .kiwi-footer__inner {
    padding: 20px 12px !important;
  }

  .kiwi-footer__bottom-inner {
    padding: 16px 12px !important;
    font-size: 11px !important;
  }

  /* Postal entry popup — mobile */
  #kiwiPostalPopup > div {
    padding: 24px 16px !important;
    border-radius: 14px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }
}


/* Remove empty grey box under Google Pay */
.wc-block-components-express-payment--checkout,
.wc-block-components-express-payment,
#wc-stripe-express-checkout-element,
.wcpay-express-checkout-wrapper {
  padding-bottom: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.wc-block-components-express-payment__event-buttons {
  min-height: 0 !important;
  padding: 0 !important;
}

.wc-block-components-express-payment__event-buttons > div:empty {
  display: none !important;
  height: 0 !important;
}

/* Collapse WCPay express checkout element */
#wcpay-express-checkout-element,
#wcpay-express-checkout-element.StripeElement,
#wcpay-express-checkout-element.StripeElement.is-ready {
  min-height: 0 !important;
  height: auto !important;
  max-height: 56px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}


/* ================================================
   KIWI CHECKOUT — COMPLETE DARK THEME
   ================================================ */

/* === CHECKOUT PAGE WRAPPER === */
.woocommerce-checkout .site-main,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .woocommerce {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 30px 24px !important;
  background: var(--kiwi-black) !important;
}

/* === EXPRESS CHECKOUT (Google Pay / Apple Pay) === */
.wcpay-express-checkout-wrapper {
  padding: 0 !important;
  margin: 0 0 20px !important;
  max-width: 100% !important;
}

/* "OR" separator */
#wcpay-express-checkout-button-separator,
.wcpay-express-checkout-button-separator,
p[id*="separator"] {
  color: var(--kiwi-grey) !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 24px 0 !important;
  text-align: center !important;
}

/* === TWO-COLUMN LAYOUT (Billing + Order Review) === */
.woocommerce-checkout .col2-set {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  width: 58% !important;
  float: left !important;
  margin-right: 4% !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  width: 38% !important;
  float: right !important;
}

/* === SECTION HEADINGS === */
.woocommerce-checkout h3,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .col2-set h3 {
  font-family: var(--font-display) !important;
  font-size: 26px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid rgba(26,122,60,0.3) !important;
}

/* === YOUR ORDER / ORDER REVIEW BOX === */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.3) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  position: relative !important;
}

.woocommerce-checkout #order_review::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519) !important;
  border-radius: 16px 16px 0 0 !important;
}

/* Order table */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  background: transparent !important;
  border: none !important;
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th {
  color: var(--kiwi-lime) !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
  text-transform: uppercase !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  color: var(--kiwi-white) !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
  font-size: 14px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size: 22px !important;
  color: var(--kiwi-cta) !important;
  border-top: 2px solid rgba(240,197,25,0.3) !important;
  padding-top: 16px !important;
}

/* === PAYMENT BOX — DARK + STRIPE INVERT === */
.woocommerce-checkout #payment .payment_box {
  background: var(--kiwi-dark-2) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 20px !important;
  margin-top: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout #payment .payment_box::before {
  border-bottom-color: var(--kiwi-dark-2) !important;
}

/* Stripe iframe — full width + dark via invert */
.woocommerce-checkout .__PrivateStripeElement,
.woocommerce-checkout .__PrivateStripeElement iframe {
  width: 100% !important;
  min-width: 100% !important;
}

.woocommerce-checkout .__PrivateStripeElement iframe {
  filter: invert(1) hue-rotate(180deg) !important;
  -webkit-filter: invert(1) hue-rotate(180deg) !important;
}

/* === PLACE ORDER BUTTON === */
.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  padding: 18px !important;
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  margin-top: 20px !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
  text-align: center !important;
}

.woocommerce-checkout #place_order:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px) !important;
}

/* === CHECKOUT MOBILE === */
@media (max-width: 768px) {
  .woocommerce-checkout .woocommerce {
    padding: 16px 12px !important;
  }
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }
  .woocommerce-checkout .col2-set {
    margin-bottom: 24px !important;
  }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
  }
  .woocommerce-checkout #order_review {
    padding: 16px !important;
    border-radius: 12px !important;
  }
  #wcpay-express-checkout-element {
    max-height: 50px !important;
  }
}

@media (max-width: 544px) {
  .woocommerce-checkout .woocommerce {
    padding: 12px 8px !important;
  }
  .woocommerce-checkout #place_order {
    font-size: 18px !important;
    padding: 14px !important;
  }
}


/* ================================================
   HOW IT WORKS PAGE
   ================================================ */

/* Hero */
.hiw-hero {
  position: relative;
  padding: 120px 24px 80px;
  text-align: center;
  overflow: hidden;
}
.hiw-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(26,122,60,0.15) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  animation: hiwGlow 8s ease-in-out infinite alternate;
}
@keyframes hiwGlow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.6; }
  100% { transform: translateX(-50%) scale(1.3); opacity: 1; }
}
.hiw-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.hiw-hero__eyebrow::before,
.hiw-hero__eyebrow::after {
  content: '';
  width: 30px; height: 2px;
  background: var(--kiwi-lime);
}
.hiw-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(56px, 10vw, 100px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.hiw-hero__title span { color: var(--kiwi-cta) !important; }
.hiw-hero__sub {
  font-size: 18px;
  color: var(--kiwi-grey);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* 3 Steps */
.hiw-steps {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 24px 80px;
}
.hiw-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
}
.hiw-steps__grid::before {
  content: '';
  position: absolute;
  top: 80px;
  left: 15%; right: 15%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(94,196,106,0.3), var(--kiwi-lime), rgba(94,196,106,0.3), transparent);
  z-index: 0;
}
.hiw-step {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(26,122,60,0.25);
  border-radius: 20px;
  padding: 40px 28px 36px;
  text-align: center;
  position: relative;
  z-index: 1;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.hiw-step::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519);
  border-radius: 20px 20px 0 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.hiw-step:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(26,122,60,0.2);
  border-color: rgba(94,196,106,0.5);
}
.hiw-step:hover::before { opacity: 1; }
.hiw-step__number {
  width: 64px; height: 64px;
  margin: 0 auto 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display) !important;
  font-size: 28px;
  color: var(--kiwi-lime) !important;
  background: rgba(94,196,106,0.1);
  border: 2px solid rgba(94,196,106,0.3);
  position: relative;
}
.hiw-step__number::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(94,196,106,0.1);
  animation: hiwRing 2.5s ease-in-out infinite;
}
@keyframes hiwRing {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.15); opacity: 0; }
}
.hiw-step__icon {
  font-size: 48px;
  display: block;
  margin-bottom: 20px;
  transition: transform 0.3s;
}
.hiw-step:hover .hiw-step__icon { transform: scale(1.2) rotate(-5deg); }
.hiw-step__title {
  font-family: var(--font-display) !important;
  font-size: 28px !important;
  letter-spacing: 1.5px;
  color: var(--kiwi-white) !important;
  margin-bottom: 12px;
}
.hiw-step__desc {
  font-size: 14px;
  color: var(--kiwi-grey) !important;
  line-height: 1.7;
  max-width: 280px;
  margin: 0 auto;
}
.hiw-step--featured {
  border-color: rgba(240,197,25,0.3);
  background: linear-gradient(135deg, #141414 0%, rgba(26,122,60,0.05) 100%) !important;
}
.hiw-step--featured .hiw-step__number {
  color: var(--kiwi-cta) !important;
  background: rgba(240,197,25,0.1);
  border-color: rgba(240,197,25,0.3);
}
.hiw-step--featured .hiw-step__number::after { border-color: rgba(240,197,25,0.1); }
.hiw-step--featured:hover {
  box-shadow: 0 24px 60px rgba(240,197,25,0.15);
  border-color: rgba(240,197,25,0.5);
}

/* Why Choose Us */
.hiw-why {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 24px;
}
.hiw-why__header { text-align: center; margin-bottom: 56px; }
.hiw-why__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-cta) !important;
  margin-bottom: 12px;
}
.hiw-why__title {
  font-family: var(--font-display) !important;
  font-size: clamp(40px, 6vw, 64px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
}
.hiw-why__title span { color: var(--kiwi-lime) !important; }
.hiw-why__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.hiw-feature {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 16px;
  padding: 28px 24px;
  transition: transform 0.3s, border-color 0.3s;
}
.hiw-feature:hover {
  transform: translateY(-4px);
  border-color: rgba(26,122,60,0.3);
}
.hiw-feature__icon {
  width: 52px; height: 52px;
  min-width: 52px;
  border-radius: 14px;
  background: rgba(94,196,106,0.1);
  border: 1px solid rgba(94,196,106,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.hiw-feature__title {
  font-family: var(--font-display) !important;
  font-size: 20px !important;
  letter-spacing: 1px;
  color: var(--kiwi-white) !important;
  margin-bottom: 6px;
}
.hiw-feature__desc {
  font-size: 13px;
  color: var(--kiwi-grey) !important;
  line-height: 1.6;
}

/* FAQ */
.hiw-faq {
  max-width: 720px;
  margin: 0 auto;
  padding: 80px 24px;
}
.hiw-faq__header { text-align: center; margin-bottom: 40px; }
.hiw-faq__title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
}
.hiw-faq__title span { color: var(--kiwi-cta) !important; }
.hiw-faq-item {
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color 0.3s;
}
.hiw-faq-item:hover { border-color: rgba(26,122,60,0.3); }
.hiw-faq-item__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  cursor: pointer;
  background: var(--kiwi-dark) !important;
  font-size: 15px;
  font-weight: 600;
  color: var(--kiwi-white) !important;
  transition: background 0.2s;
  user-select: none;
}
.hiw-faq-item__q:hover { background: rgba(255,255,255,0.03) !important; }
.hiw-faq-item__q svg {
  flex-shrink: 0;
  transition: transform 0.3s;
  color: var(--kiwi-lime);
}
.hiw-faq-item.open .hiw-faq-item__q svg { transform: rotate(180deg); }
.hiw-faq-item__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  background: rgba(255,255,255,0.02) !important;
}
.hiw-faq-item.open .hiw-faq-item__a { max-height: 300px; }
.hiw-faq-item__a-inner {
  padding: 0 24px 20px;
  font-size: 14px;
  color: var(--kiwi-grey) !important;
  line-height: 1.7;
}

/* CTA Banner */
.hiw-cta {
  max-width: 900px;
  margin: 40px auto 80px;
  padding: 0 24px;
}
.hiw-cta__box {
  background: linear-gradient(135deg, var(--kiwi-dark) 0%, rgba(26,122,60,0.08) 100%) !important;
  border: 1px solid rgba(94,196,106,0.3);
  border-radius: 24px;
  padding: 60px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hiw-cta__box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519);
}
.hiw-cta__box::after {
  content: '';
  position: absolute;
  bottom: -80px; right: -80px;
  width: 250px; height: 250px;
  background: radial-gradient(circle, rgba(240,197,25,0.08) 0%, transparent 70%);
  border-radius: 50%;
}
.hiw-cta__title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.hiw-cta__title span { color: var(--kiwi-cta) !important; }
.hiw-cta__desc {
  font-size: 16px;
  color: var(--kiwi-grey);
  margin-bottom: 32px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
.hiw-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 40px;
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 2px;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none;
  border-radius: 10px;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(240,197,25,0.4);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  position: relative;
  z-index: 1;
}
.hiw-cta__btn:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(240,197,25,0.5);
  color: var(--kiwi-black) !important;
}
.hiw-cta__trust {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 28px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.hiw-cta__trust span {
  font-size: 12px;
  color: var(--kiwi-grey) !important;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Hide WP page title if theme shows it */
.page-id-how-it-works .entry-title,
.page-template-default .entry-header {
  display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
  .hiw-hero { padding: 80px 20px 60px; }
  .hiw-hero__sub { font-size: 15px; }
  .hiw-steps__grid { grid-template-columns: 1fr; gap: 16px; }
  .hiw-steps__grid::before { display: none; }
  .hiw-step { padding: 28px 20px; }
  .hiw-step__icon { font-size: 36px; }
  .hiw-step__title { font-size: 24px !important; }
  .hiw-why__grid { grid-template-columns: 1fr; }
  .hiw-feature { padding: 20px 18px; }
  .hiw-cta__box { padding: 40px 24px; }
  .hiw-cta__btn { font-size: 20px !important; padding: 14px 32px; }
}


/* ================================================
   WINNERS PAGE
   ================================================ */

/* Hero */
.win-hero {
  position: relative;
  padding: 120px 24px 80px;
  text-align: center;
  overflow: hidden;
}
.win-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(240,197,25,0.1) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  animation: winGlow 8s ease-in-out infinite alternate;
}
@keyframes winGlow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.5; }
  100% { transform: translateX(-50%) scale(1.3); opacity: 1; }
}
.win-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-cta);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.win-hero__eyebrow::before,
.win-hero__eyebrow::after {
  content: '';
  width: 30px; height: 2px;
  background: var(--kiwi-cta);
}
.win-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(56px, 10vw, 100px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.win-hero__title span { color: var(--kiwi-cta) !important; }
.win-hero__sub {
  font-size: 18px;
  color: var(--kiwi-grey);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* Stats bar */
.win-stats {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px 60px;
}
.win-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.win-stat {
  background: var(--kiwi-dark);
  border: 1px solid rgba(94,196,106,0.2);
  border-radius: 16px;
  padding: 28px 16px;
  text-align: center;
  transition: transform 0.3s, border-color 0.3s;
}
.win-stat:hover {
  transform: translateY(-4px);
  border-color: rgba(94,196,106,0.5);
}
.win-stat__number {
  font-family: var(--font-display) !important;
  font-size: 40px !important;
  color: var(--kiwi-cta) !important;
  letter-spacing: 1px;
  line-height: 1;
  margin-bottom: 8px;
}
.win-stat__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--kiwi-grey);
}

/* Winners grid */
.win-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 80px;
}
.win-grid__header {
  text-align: center;
  margin-bottom: 48px;
}
.win-grid__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 12px;
}
.win-grid__title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
}
.win-grid__title span { color: var(--kiwi-cta) !important; }
.win-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Winner card */
.win-card {
  background: var(--kiwi-dark);
  border: 1px solid rgba(26,122,60,0.25);
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
}
.win-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 2;
}
.win-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(26,122,60,0.2);
  border-color: rgba(94,196,106,0.5);
}
.win-card:hover::before { opacity: 1; }
.win-card__img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  background: var(--kiwi-dark2);
}
.win-card__img-placeholder {
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, rgba(26,122,60,0.15) 0%, rgba(240,197,25,0.08) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
}
.win-card__body {
  padding: 24px;
}
.win-card__prize-tag {
  display: inline-block;
  background: rgba(240,197,25,0.1);
  border: 1px solid rgba(240,197,25,0.25);
  border-radius: 100px;
  padding: 4px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--kiwi-cta);
  margin-bottom: 12px;
}
.win-card__prize {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 1px;
  color: var(--kiwi-white) !important;
  margin-bottom: 8px;
  line-height: 1.2;
}
.win-card__winner {
  font-size: 14px;
  color: var(--kiwi-lime);
  font-weight: 600;
  margin-bottom: 4px;
}
.win-card__date {
  font-size: 12px;
  color: var(--kiwi-grey);
}
.win-card__quote {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-size: 13px;
  color: var(--kiwi-grey);
  line-height: 1.6;
  font-style: italic;
}
.win-card__quote::before {
  content: '"';
  color: var(--kiwi-lime);
  font-size: 20px;
  font-style: normal;
  margin-right: 4px;
}

/* All cards uniform — no featured spanning */

/* Testimonials */
.win-testimonials {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 24px 80px;
}
.win-testimonials__header {
  text-align: center;
  margin-bottom: 40px;
}
.win-testimonials__title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
}
.win-testimonials__title span { color: var(--kiwi-lime) !important; }
.win-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.win-testimonial {
  background: var(--kiwi-dark);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 16px;
  padding: 28px 24px;
  position: relative;
  transition: transform 0.3s, border-color 0.3s;
}
.win-testimonial:hover {
  transform: translateY(-4px);
  border-color: rgba(26,122,60,0.3);
}
.win-testimonial__stars {
  color: var(--kiwi-cta);
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.win-testimonial__text {
  font-size: 14px;
  color: var(--kiwi-grey);
  line-height: 1.7;
  margin-bottom: 16px;
  font-style: italic;
}
.win-testimonial__author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.win-testimonial__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(94,196,106,0.15);
  border: 2px solid rgba(94,196,106,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.win-testimonial__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--kiwi-white);
}
.win-testimonial__prize-won {
  font-size: 11px;
  color: var(--kiwi-lime);
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* CTA Banner */
.win-cta {
  max-width: 900px;
  margin: 0 auto 80px;
  padding: 0 24px;
}
.win-cta__box {
  background: linear-gradient(135deg, var(--kiwi-dark) 0%, rgba(240,197,25,0.06) 100%) !important;
  border: 1px solid rgba(240,197,25,0.3);
  border-radius: 24px;
  padding: 60px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.win-cta__box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #f0c519, #5ec46a, #1a7a3c);
}
.win-cta__box::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 250px; height: 250px;
  background: radial-gradient(circle, rgba(94,196,106,0.08) 0%, transparent 70%);
  border-radius: 50%;
}
.win-cta__title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.win-cta__title span { color: var(--kiwi-cta) !important; }
.win-cta__desc {
  font-size: 16px;
  color: var(--kiwi-grey);
  margin-bottom: 32px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
.win-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 40px;
  font-family: var(--font-display) !important;
  font-size: 24px !important;
  letter-spacing: 2px;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none;
  border-radius: 10px;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(240,197,25,0.4);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  position: relative;
  z-index: 1;
}
.win-cta__btn:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(240,197,25,0.5);
  color: var(--kiwi-black) !important;
}

/* Hide WP page title */
.page-id-winners .entry-title,
.page-slug-winners .entry-title {
  display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
  .win-hero { padding: 80px 20px 60px; }
  .win-hero__sub { font-size: 15px; }
  .win-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .win-stat { padding: 20px 12px; }
  .win-stat__number { font-size: 32px !important; }
  .win-grid__cards { grid-template-columns: 1fr; gap: 16px; }
  .win-testimonials__grid { grid-template-columns: 1fr; }
  .win-cta__box { padding: 40px 24px; }
  .win-cta__btn { font-size: 20px !important; padding: 14px 32px; }
}


/* ================================================
   FAQS PAGE
   ================================================ */

/* Hero */
.faq-hero {
  position: relative;
  padding: 120px 24px 80px;
  text-align: center;
  overflow: hidden;
}
.faq-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(94,196,106,0.12) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  animation: faqGlow 8s ease-in-out infinite alternate;
}
@keyframes faqGlow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.5; }
  100% { transform: translateX(-50%) scale(1.3); opacity: 1; }
}
.faq-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.faq-hero__eyebrow::before,
.faq-hero__eyebrow::after {
  content: '';
  width: 30px; height: 2px;
  background: var(--kiwi-lime);
}
.faq-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(56px, 10vw, 100px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.faq-hero__title span { color: var(--kiwi-cta) !important; }
.faq-hero__sub {
  font-size: 18px;
  color: var(--kiwi-grey);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* Category tabs */
.faq-tabs {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px 40px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.faq-tab {
  padding: 10px 22px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--kiwi-grey);
  background: var(--kiwi-dark);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none !important;
}
.faq-tab:hover,
.faq-tab.active {
  color: var(--kiwi-black) !important;
  background: var(--kiwi-lime) !important;
  border-color: var(--kiwi-lime) !important;
}

/* FAQ sections */
.faq-sections {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px 80px;
}
.faq-section {
  margin-bottom: 48px;
}
.faq-section__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid rgba(26,122,60,0.2);
}
.faq-section__icon {
  width: 44px; height: 44px;
  min-width: 44px;
  border-radius: 12px;
  background: rgba(94,196,106,0.1);
  border: 1px solid rgba(94,196,106,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.faq-section__title {
  font-family: var(--font-display) !important;
  font-size: 26px !important;
  letter-spacing: 1.5px;
  color: var(--kiwi-white) !important;
}

/* FAQ items */
.faq-item {
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color 0.3s;
}
.faq-item:hover { border-color: rgba(26,122,60,0.3); }
.faq-item__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  cursor: pointer;
  background: var(--kiwi-dark) !important;
  font-size: 15px;
  font-weight: 600;
  color: var(--kiwi-white) !important;
  transition: background 0.2s;
  user-select: none;
}
.faq-item__q:hover { background: rgba(255,255,255,0.03) !important; }
.faq-item__q svg {
  flex-shrink: 0;
  transition: transform 0.3s;
  color: var(--kiwi-lime);
}
.faq-item.open .faq-item__q svg { transform: rotate(180deg); }
.faq-item__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  background: rgba(255,255,255,0.02) !important;
}
.faq-item.open .faq-item__a { max-height: 400px; }
.faq-item__a-inner {
  padding: 0 24px 20px;
  font-size: 14px;
  color: var(--kiwi-grey) !important;
  line-height: 1.7;
}
.faq-item__a-inner strong {
  color: var(--kiwi-lime) !important;
}

/* Contact CTA at bottom */
.faq-contact {
  max-width: 800px;
  margin: 0 auto 80px;
  padding: 0 24px;
}
.faq-contact__box {
  background: linear-gradient(135deg, var(--kiwi-dark) 0%, rgba(94,196,106,0.06) 100%) !important;
  border: 1px solid rgba(94,196,106,0.25);
  border-radius: 24px;
  padding: 48px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  position: relative;
  overflow: hidden;
}
.faq-contact__box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519);
}
.faq-contact__text h3 {
  font-family: var(--font-display) !important;
  font-size: 32px !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
  margin-bottom: 8px;
}
.faq-contact__text h3 span { color: var(--kiwi-cta) !important; }
.faq-contact__text p {
  font-size: 15px;
  color: var(--kiwi-grey);
  line-height: 1.6;
}
.faq-contact__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 2px;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none;
  border-radius: 10px;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4);
  transition: background 0.2s, transform 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.faq-contact__btn:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px);
  color: var(--kiwi-black) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .faq-hero { padding: 80px 20px 60px; }
  .faq-hero__sub { font-size: 15px; }
  .faq-tabs { gap: 8px; }
  .faq-tab { padding: 8px 16px; font-size: 12px; }
  .faq-item__q { padding: 16px 18px; font-size: 14px; }
  .faq-item__a-inner { padding: 0 18px 16px; font-size: 13px; }
  .faq-contact__box {
    flex-direction: column;
    text-align: center;
    padding: 36px 24px;
  }
  .faq-contact__btn { font-size: 18px !important; padding: 12px 28px; }
}


/* ================================================
   COMPETITIONS PAGE
   ================================================ */

/* Hero */
.comp-hero {
  position: relative;
  padding: 120px 24px 60px;
  text-align: center;
  overflow: hidden;
}
.comp-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(26,122,60,0.15) 0%, rgba(240,197,25,0.05) 40%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  animation: compGlow 8s ease-in-out infinite alternate;
}
@keyframes compGlow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.5; }
  100% { transform: translateX(-50%) scale(1.3); opacity: 1; }
}
.comp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.comp-hero__eyebrow::before,
.comp-hero__eyebrow::after {
  content: '';
  width: 30px; height: 2px;
  background: var(--kiwi-lime);
}
.comp-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(56px, 10vw, 100px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.comp-hero__title span { color: var(--kiwi-cta) !important; }
.comp-hero__sub {
  font-size: 18px;
  color: var(--kiwi-grey);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* Trust pills */
.comp-hero__trust {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
  position: relative;
  z-index: 1;
}
.comp-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  color: var(--kiwi-grey);
}

/* Filter bar */
.comp-filters {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 40px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.comp-filter {
  padding: 10px 22px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--kiwi-grey);
  background: var(--kiwi-dark);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none !important;
}
.comp-filter:hover,
.comp-filter.active {
  color: var(--kiwi-black) !important;
  background: var(--kiwi-lime) !important;
  border-color: var(--kiwi-lime) !important;
}

/* Products wrapper — adds spacing around WooCommerce shortcode output */
.comp-products {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
}
.comp-products__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid rgba(26,122,60,0.2);
}
.comp-products__title {
  font-family: var(--font-display) !important;
  font-size: 28px !important;
  letter-spacing: 1.5px;
  color: var(--kiwi-white) !important;
}
.comp-products__title span { color: var(--kiwi-cta) !important; }
.comp-products__count {
  font-size: 13px;
  font-weight: 600;
  color: var(--kiwi-grey);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 6px 16px;
}

/* Postal entry info box */
.comp-postal {
  max-width: 800px;
  margin: 0 auto 60px;
  padding: 0 24px;
}
.comp-postal__box {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(94,196,106,0.2);
  border-radius: 16px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.comp-postal__icon {
  width: 52px; height: 52px;
  min-width: 52px;
  border-radius: 14px;
  background: rgba(94,196,106,0.1);
  border: 1px solid rgba(94,196,106,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.comp-postal__text h4 {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 1px;
  color: var(--kiwi-white) !important;
  margin-bottom: 4px;
}
.comp-postal__text p {
  font-size: 13px;
  color: var(--kiwi-grey);
  line-height: 1.6;
  margin: 0 !important;
}
.comp-postal__text strong {
  color: var(--kiwi-lime) !important;
}

/* CTA bottom */
.comp-cta {
  max-width: 900px;
  margin: 0 auto 80px;
  padding: 0 24px;
}
.comp-cta__box {
  background: linear-gradient(135deg, var(--kiwi-dark) 0%, rgba(240,197,25,0.06) 100%) !important;
  border: 1px solid rgba(240,197,25,0.25);
  border-radius: 24px;
  padding: 48px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.comp-cta__box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #f0c519, #5ec46a, #1a7a3c);
}
.comp-cta__title {
  font-family: var(--font-display) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.comp-cta__title span { color: var(--kiwi-cta) !important; }
.comp-cta__desc {
  font-size: 15px;
  color: var(--kiwi-grey);
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}
.comp-cta__steps {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.comp-cta__step {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--kiwi-grey);
}
.comp-cta__step-num {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(94,196,106,0.15);
  border: 1px solid rgba(94,196,106,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display) !important;
  font-size: 16px;
  color: var(--kiwi-lime);
  flex-shrink: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .comp-hero { padding: 80px 20px 50px; }
  .comp-hero__sub { font-size: 15px; }
  .comp-hero__trust { gap: 8px; }
  .comp-hero__pill { font-size: 11px; padding: 5px 12px; }
  .comp-filters { gap: 8px; }
  .comp-filter { padding: 8px 16px; font-size: 12px; }
  .comp-products__header { flex-direction: column; gap: 12px; align-items: flex-start; }
  .comp-postal__box { flex-direction: column; text-align: center; padding: 24px 20px; }
  .comp-cta__box { padding: 36px 24px; }
  .comp-cta__steps { gap: 20px; }
}


/* ================================================
   COMPETITION SUB-PAGES (Active / Ending Soon / Past Winners)
   ================================================ */

/* Smaller sub-page hero */
.comp-sub-hero {
  position: relative;
  padding: 100px 24px 50px;
  text-align: center;
  overflow: hidden;
}
.comp-sub-hero::before {
  content: '';
  position: absolute;
  top: -150px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(26,122,60,0.12) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
}
.comp-sub-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.comp-sub-hero__badge--live {
  background: rgba(229,57,53,0.15);
  border: 1px solid rgba(229,57,53,0.4);
  color: #ff6b6b;
}
.comp-sub-hero__badge--live::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #e53935;
  animation: liveDot 1.5s ease-in-out infinite;
}
@keyframes liveDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.7); }
}
.comp-sub-hero__badge--urgent {
  background: rgba(240,197,25,0.12);
  border: 1px solid rgba(240,197,25,0.35);
  color: var(--kiwi-cta);
}
.comp-sub-hero__badge--winners {
  background: rgba(94,196,106,0.12);
  border: 1px solid rgba(94,196,106,0.3);
  color: var(--kiwi-lime);
}
.comp-sub-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(44px, 8vw, 80px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.comp-sub-hero__title span { color: var(--kiwi-cta) !important; }
.comp-sub-hero__title .green { color: var(--kiwi-lime) !important; }
.comp-sub-hero__sub {
  font-size: 16px;
  color: var(--kiwi-grey);
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* Past winners results card */
.comp-past-info {
  max-width: 800px;
  margin: 0 auto 40px;
  padding: 0 24px;
}
.comp-past-info__box {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(240,197,25,0.2);
  border-radius: 16px;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.comp-past-info__icon {
  width: 48px; height: 48px;
  min-width: 48px;
  border-radius: 12px;
  background: rgba(240,197,25,0.1);
  border: 1px solid rgba(240,197,25,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.comp-past-info__text h4 {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 1px;
  color: var(--kiwi-white) !important;
  margin-bottom: 4px;
}
.comp-past-info__text p {
  font-size: 13px;
  color: var(--kiwi-grey);
  line-height: 1.6;
  margin: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .comp-sub-hero { padding: 80px 20px 40px; }
  .comp-sub-hero__sub { font-size: 14px; }
  .comp-past-info__box { flex-direction: column; text-align: center; padding: 20px 18px; }
}


/* ================================================
   LEGAL / POLICY PAGES
   ================================================ */
.legal-hero {
  position: relative;
  padding: 120px 24px 60px;
  text-align: center;
  overflow: hidden;
}
.legal-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(94,196,106,0.1) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
}
.legal-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.legal-hero__eyebrow::before,
.legal-hero__eyebrow::after {
  content: '';
  width: 30px; height: 2px;
  background: var(--kiwi-lime);
}
.legal-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(44px, 8vw, 80px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.legal-hero__title span { color: var(--kiwi-cta) !important; }
.legal-hero__updated {
  font-size: 13px;
  color: var(--kiwi-grey);
  position: relative;
  z-index: 1;
}

/* Content body */
.legal-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px 80px;
}
.legal-section {
  margin-bottom: 40px;
}
.legal-section__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(26,122,60,0.2);
}
.legal-section__num {
  width: 36px; height: 36px;
  min-width: 36px;
  border-radius: 10px;
  background: rgba(94,196,106,0.1);
  border: 1px solid rgba(94,196,106,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display) !important;
  font-size: 18px;
  color: var(--kiwi-lime);
}
.legal-section__title {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 1.5px;
  color: var(--kiwi-white) !important;
}
.legal-section p {
  font-size: 14px;
  color: var(--kiwi-grey) !important;
  line-height: 1.8;
  margin-bottom: 12px;
}
.legal-section strong {
  color: var(--kiwi-white) !important;
}
.legal-section ul,
.legal-section ol {
  padding-left: 20px;
  margin-bottom: 12px;
}
.legal-section li {
  font-size: 14px;
  color: var(--kiwi-grey) !important;
  line-height: 1.8;
  margin-bottom: 6px;
  padding-left: 4px;
}
.legal-section li::marker {
  color: var(--kiwi-lime);
}
.legal-section a {
  color: var(--kiwi-lime) !important;
  text-decoration: underline !important;
}

/* Highlight box within legal text */
.legal-highlight {
  background: rgba(94,196,106,0.06);
  border: 1px solid rgba(94,196,106,0.2);
  border-radius: 12px;
  padding: 20px 24px;
  margin: 16px 0;
}
.legal-highlight p {
  margin: 0 !important;
}
.legal-highlight strong {
  color: var(--kiwi-lime) !important;
}

/* Warning / important box */
.legal-warning {
  background: rgba(240,197,25,0.06);
  border: 1px solid rgba(240,197,25,0.2);
  border-radius: 12px;
  padding: 20px 24px;
  margin: 16px 0;
}
.legal-warning p {
  margin: 0 !important;
  color: var(--kiwi-cta) !important;
}

/* Contact box at bottom of legal pages */
.legal-contact {
  max-width: 800px;
  margin: 0 auto 80px;
  padding: 0 24px;
}
.legal-contact__box {
  background: var(--kiwi-dark) !important;
  border: 1px solid rgba(94,196,106,0.2);
  border-radius: 16px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.legal-contact__icon {
  width: 48px; height: 48px;
  min-width: 48px;
  border-radius: 12px;
  background: rgba(94,196,106,0.1);
  border: 1px solid rgba(94,196,106,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.legal-contact__text h4 {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 1px;
  color: var(--kiwi-white) !important;
  margin-bottom: 4px;
}
.legal-contact__text p {
  font-size: 13px;
  color: var(--kiwi-grey);
  line-height: 1.6;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .legal-hero { padding: 80px 20px 50px; }
  .legal-contact__box { flex-direction: column; text-align: center; padding: 24px 20px; }
}


/* ================================================
   CONTACT PAGE
   ================================================ */
.contact-hero {
  position: relative;
  padding: 120px 24px 60px;
  text-align: center;
  overflow: hidden;
}
.contact-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(94,196,106,0.12) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  animation: contactGlow 8s ease-in-out infinite alternate;
}
@keyframes contactGlow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.5; }
  100% { transform: translateX(-50%) scale(1.3); opacity: 1; }
}
.contact-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--kiwi-lime);
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.contact-hero__eyebrow::before,
.contact-hero__eyebrow::after {
  content: '';
  width: 30px; height: 2px;
  background: var(--kiwi-lime);
}
.contact-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(56px, 10vw, 100px) !important;
  letter-spacing: 3px;
  line-height: 0.95;
  color: var(--kiwi-white) !important;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.contact-hero__title span { color: var(--kiwi-cta) !important; }
.contact-hero__sub {
  font-size: 18px;
  color: var(--kiwi-grey);
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* Contact methods grid */
.contact-methods {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px 60px;
}
.contact-methods__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.contact-method {
  background: var(--kiwi-dark);
  border: 1px solid rgba(26,122,60,0.25);
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  position: relative;
  transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
}
.contact-method::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519);
  border-radius: 20px 20px 0 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.contact-method:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(26,122,60,0.2);
  border-color: rgba(94,196,106,0.5);
}
.contact-method:hover::before { opacity: 1; }
.contact-method__icon {
  width: 64px; height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(94,196,106,0.1);
  border: 2px solid rgba(94,196,106,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  transition: transform 0.3s;
}
.contact-method:hover .contact-method__icon { transform: scale(1.15) rotate(-5deg); }
.contact-method__title {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 1.5px;
  color: var(--kiwi-white) !important;
  margin-bottom: 8px;
}
.contact-method__desc {
  font-size: 13px;
  color: var(--kiwi-grey);
  line-height: 1.6;
  margin-bottom: 16px;
}
.contact-method__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--kiwi-lime) !important;
  text-decoration: none !important;
  transition: gap 0.2s;
}
.contact-method__link:hover { gap: 10px; }

/* Contact form wrapper */
.contact-form-section {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 24px 80px;
}
.contact-form__header {
  text-align: center;
  margin-bottom: 36px;
}
.contact-form__title {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  letter-spacing: 2px;
  color: var(--kiwi-white) !important;
  margin-bottom: 12px;
}
.contact-form__title span { color: var(--kiwi-cta) !important; }
.contact-form__sub {
  font-size: 15px;
  color: var(--kiwi-grey);
  line-height: 1.6;
}
.contact-form__box {
  background: var(--kiwi-dark);
  border: 1px solid rgba(26,122,60,0.25);
  border-radius: 20px;
  padding: 36px;
  position: relative;
}
.contact-form__box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a7a3c, #5ec46a, #f0c519);
  border-radius: 20px 20px 0 0;
}
.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.contact-form__group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.contact-form__group--full {
  grid-column: span 2;
}
.contact-form__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--kiwi-grey) !important;
}
.contact-form__input,
.contact-form__textarea {
  background: var(--kiwi-dark2) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: var(--kiwi-white) !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  padding: 14px 18px !important;
  transition: border-color 0.25s;
  width: 100% !important;
  box-sizing: border-box !important;
}
.contact-form__input:focus,
.contact-form__textarea:focus {
  border-color: var(--kiwi-lime) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(94,196,106,0.1) !important;
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: rgba(176,176,168,0.5) !important;
}
.contact-form__textarea {
  min-height: 140px;
  resize: vertical;
}
.contact-form__submit {
  display: block;
  width: 100%;
  padding: 16px;
  margin-top: 8px;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 2px;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4);
  transition: background 0.2s, transform 0.2s;
}
.contact-form__submit:hover {
  background: var(--kiwi-cta-hov) !important;
  transform: translateY(-2px);
}

/* Style Contact Form 7 or WPForms inside the box */
.contact-form__box .wpcf7-form,
.contact-form__box .wpforms-form {
  margin: 0 !important;
  padding: 0 !important;
}
.contact-form__box .wpcf7-form input[type="text"],
.contact-form__box .wpcf7-form input[type="email"],
.contact-form__box .wpcf7-form textarea,
.contact-form__box .wpforms-form input[type="text"],
.contact-form__box .wpforms-form input[type="email"],
.contact-form__box .wpforms-form textarea {
  background: var(--kiwi-dark2) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: var(--kiwi-white) !important;
  font-size: 15px !important;
  padding: 14px 18px !important;
}
.contact-form__box .wpcf7-form input:focus,
.contact-form__box .wpcf7-form textarea:focus,
.contact-form__box .wpforms-form input:focus,
.contact-form__box .wpforms-form textarea:focus {
  border-color: var(--kiwi-lime) !important;
  outline: none !important;
}
.contact-form__box .wpcf7-form label,
.contact-form__box .wpforms-form label,
.contact-form__box .wpforms-field-label {
  color: var(--kiwi-grey) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}
.contact-form__box .wpcf7-submit,
.contact-form__box .wpforms-submit {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  letter-spacing: 2px !important;
  color: var(--kiwi-black) !important;
  background: var(--kiwi-cta) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 24px rgba(240,197,25,0.4) !important;
}
.contact-form__box .wpcf7-submit:hover,
.contact-form__box .wpforms-submit:hover {
  background: var(--kiwi-cta-hov) !important;
}

/* Response time + FAQ nudge */
.contact-info {
  max-width: 700px;
  margin: 0 auto 80px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.contact-info__card {
  background: var(--kiwi-dark);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: transform 0.3s, border-color 0.3s;
}
.contact-info__card:hover {
  transform: translateY(-3px);
  border-color: rgba(26,122,60,0.3);
}
.contact-info__card-icon {
  width: 44px; height: 44px;
  min-width: 44px;
  border-radius: 12px;
  background: rgba(94,196,106,0.1);
  border: 1px solid rgba(94,196,106,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.contact-info__card-title {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 1px;
  color: var(--kiwi-white) !important;
  margin-bottom: 4px;
}
.contact-info__card-desc {
  font-size: 13px;
  color: var(--kiwi-grey);
  line-height: 1.6;
}
.contact-info__card a {
  color: var(--kiwi-lime) !important;
  font-weight: 600;
  text-decoration: none !important;
}

@media (max-width: 768px) {
  .contact-hero { padding: 80px 20px 50px; }
  .contact-hero__sub { font-size: 15px; }
  .contact-methods__grid { grid-template-columns: 1fr; gap: 14px; }
  .contact-method { padding: 24px 20px; }
  .contact-form__box { padding: 24px 20px; }
  .contact-form__row { grid-template-columns: 1fr; }
  .contact-form__group--full { grid-column: span 1; }
  .contact-info { grid-template-columns: 1fr; }
}


/* ================================================
   SOCIAL BAR — Below Nav
   ================================================ */
.kiwi-social-bar {
  position: fixed;
  top: calc(36px + var(--nav-height));
  left: 0; right: 0;
  z-index: 99997;
  background: var(--kiwi-dark);
  border-bottom: 1px solid rgba(26,122,60,0.2);
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kiwi-social-bar__inner {
  display: flex;
  align-items: center;
  gap: 6px;
}
.kiwi-social-bar__label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--kiwi-grey);
  margin-right: 10px;
}
.kiwi-social-bar__link {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: all 0.25s;
}
.kiwi-social-bar__link svg {
  width: 16px; height: 16px;
  fill: var(--kiwi-grey);
  transition: fill 0.25s;
}
.kiwi-social-bar__link:hover {
  transform: translateY(-2px);
}
/* Facebook */
.kiwi-social-bar__link--fb:hover {
  background: rgba(24,119,242,0.15);
  border-color: rgba(24,119,242,0.4);
}
.kiwi-social-bar__link--fb:hover svg { fill: #1877f2; }
/* Instagram */
.kiwi-social-bar__link--ig:hover {
  background: rgba(225,48,108,0.15);
  border-color: rgba(225,48,108,0.4);
}
.kiwi-social-bar__link--ig:hover svg { fill: #e1306c; }
/* TikTok */
.kiwi-social-bar__link--tt:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.3);
}
.kiwi-social-bar__link--tt:hover svg { fill: #fff; }
/* YouTube */
.kiwi-social-bar__link--yt:hover {
  background: rgba(255,0,0,0.15);
  border-color: rgba(255,0,0,0.4);
}
.kiwi-social-bar__link--yt:hover svg { fill: #ff0000; }

/* Push spacer down to account for social bar */
.kiwi-header-spacer {
  height: calc(36px + var(--nav-height) + 40px + 9px) !important;
}

/* Mobile nav sits below social bar */
.kiwi-mobile-nav {
  top: calc(36px + var(--nav-height) + 40px) !important;
  height: calc(100vh - 36px - var(--nav-height) - 40px) !important;
}

@media (max-width: 1024px) {
  .kiwi-social-bar {
    top: calc(32px + 56px);
    height: 36px;
  }
  .kiwi-social-bar__label { display: none; }
  .kiwi-social-bar__link { width: 30px; height: 30px; }
  .kiwi-social-bar__link svg { width: 14px; height: 14px; }

  .kiwi-header-spacer {
    height: calc(32px + 56px + 36px + 9px) !important;
  }
  .kiwi-mobile-nav {
    top: calc(32px + 56px + 36px) !important;
    height: calc(100vh - 32px - 56px - 36px) !important;
  }
}


/* ================================================
   SOCIAL BAR — BELOW NAV
   ================================================ */
.kiwi-social-bar {
  position: fixed;
  top: calc(36px + var(--nav-height));
  left: 0; right: 0;
  z-index: 99997;
  background: var(--kiwi-black);
  border-bottom: 1px solid rgba(26,122,60,0.2);
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kiwi-social-bar__inner {
  display: flex;
  align-items: center;
  gap: 20px;
}
.kiwi-social-bar__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--kiwi-grey) !important;
  text-decoration: none !important;
  transition: all 0.25s;
}
.kiwi-social-bar__link:hover {
  transform: translateY(-2px) scale(1.1);
  border-color: var(--kiwi-lime);
}
.kiwi-social-bar__link--ig:hover {
  background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  border-color: transparent;
  color: #fff !important;
}
.kiwi-social-bar__link--fb:hover {
  background: #1877f2;
  border-color: transparent;
  color: #fff !important;
}
.kiwi-social-bar__link--tt:hover {
  background: #010101;
  border-color: #69c9d0;
  color: #fff !important;
}
.kiwi-social-bar__link--yt:hover {
  background: #ff0000;
  border-color: transparent;
  color: #fff !important;
}
.kiwi-social-bar__link svg {
  width: 16px; height: 16px;
  fill: currentColor;
}
.kiwi-social-bar__text {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--kiwi-grey);
}

/* Push header spacer down to account for social bar */
.kiwi-header-spacer {
  height: calc(36px + var(--nav-height) + 40px) !important;
}

/* Mobile adjustments */
@media (max-width: 1024px) {
  .kiwi-social-bar {
    top: calc(32px + 56px);
    height: 36px;
  }
  .kiwi-social-bar__inner { gap: 16px; }
  .kiwi-social-bar__link { width: 28px; height: 28px; }
  .kiwi-social-bar__link svg { width: 14px; height: 14px; }
  .kiwi-social-bar__text { font-size: 10px; letter-spacing: 1px; }

  .kiwi-header-spacer {
    height: calc(32px + 56px + 36px) !important;
  }

  .kiwi-mobile-nav {
    top: calc(32px + 56px + 36px) !important;
    height: calc(100vh - 32px - 56px - 36px) !important;
  }
}


/* ================================================
   KILL GAP BETWEEN SLIDER AND CONTENT
   ================================================ */
.home .site-content,
.home .ast-container,
.home #primary,
.home .content-area,
.home .site-main,
.home .entry-content,
.home article,
.home .ast-article-single,
.home .ast-separate-container .ast-article-single,
.home .ast-separate-container .ast-article-post {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Kill Astra's default content top margin */
.home .site-main > article,
.home .site-main > .ast-article-single,
.home .ast-container > #primary {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Kill Slider Revolution bottom margin */
.home .rev_slider_wrapper,
.home rs-module-wrap,
.home sr7-module,
.home [data-alias] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Kill any WooCommerce top spacing on homepage */
.home .woocommerce,
.home .woocommerce-page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}