.site-branding img,
  .custom-logo {
    max-height: 150px;
    height: auto;
    width: auto;
}
.site-branding img,
.custom-logo {
  margin-top: -15px; !important
}
/* --- FIX THEME CONFLICTS + CLEAN PRODUCT GRID (CENTERED) --- */

/* 1) Let the shop area use more width (theme is capping it) */
.woocommerce-page #primary,
.woocommerce-page .content-area,
.woocommerce-page .site-main,
.woocommerce #primary,
.woocommerce .content-area,
.woocommerce .site-main,
.woocommerce-page .content-wrapper,
.woocommerce .content-wrapper {
  max-width: 1400px;        /* was 1200px - helps fit 4 across */
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Add space under the shop before footer */
.woocommerce-page .site-main,
.woocommerce .site-main {
  padding-bottom: 60px;
}

/* FIX: grid gap caused by Woo/theme clearfix pseudo-elements */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}

/* Reset old theme sizing that breaks CSS grid */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  clear: none !important;
  box-sizing: border-box;
}

/* Proper grid (centres rows when fewer items) */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  gap: 24px;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
  justify-content: center; /* centers partial rows */
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* Force 4 columns on desktop so you actually get 4 across */
@media (min-width: 1100px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-content: stretch; /* use full width */
  }
}

/* Card styling */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #111;
  border-radius: 10px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* Image area consistent (stops uneven heights) */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: contain !important;
  margin: 0 0 12px !important;
}

/* Title + price */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #fff;
  font-size: 16px;
  min-height: 44px; /* keeps titles aligned */
}

.woocommerce ul.products li.product .price {
  color: #8bc34a;
  font-weight: 700;
  margin: 8px 0 12px;
}

/* Buttons: full width + same height (no wrapping) */
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  margin-top: auto !important;     /* pinned to bottom */
  display: block !important;
  width: 100% !important;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;             /* stops "Select options" wrapping */
  padding: 12px 14px !important;
  border-radius: 8px;
  background: #c62828 !important;  /* your red buttons */
  color: #fff !important;
  border: 0 !important;
}

.woocommerce ul.products li.product a.button:hover,
.woocommerce-page ul.products li.product a.button:hover {
  background: #8e0000 !important;
}

/* Pagination spacing (not glued to products OR footer) */
.woocommerce nav.woocommerce-pagination {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}
/* === FORCE VIDEO FULL WIDTH OUTSIDE CONTAINER === */
.td-section:first-of-type{
  margin-top:0 !important;
}

.td-video{
  position:relative !important;
  width:100vw !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  margin-top:-52px !important;     /* pulls up to header */
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.td-video video{
  width:100% !important;
  height:77vh !important;          /* hero height */
  min-height:420px;
  object-fit:cover !important;
  display:block;
}

@media (max-width:900px){
  .td-video video{
    height:50vh !important;
    min-height:300px;
  }
}
/* Menu hover background */
.main-navigation li:hover > a {
  background-color:#000 !important;
  color:#fff !important; /* keeps text visible */
}
/* === ABOUT PAGE SMOOTHING PATCH === */

/* smoother text on dark backgrounds */
.td-wrap, .td-wrap *{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* soften the hard shadow + add a subtle border to stop jagged edges */
.td-card,
.td-faq details,
.td-address,
.td-photo,
.td-hero{
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* make rounded corners render cleaner */
.td-card,
.td-faq details,
.td-address,
.td-photo,
.td-hero{
  border-radius: 18px;
  overflow: hidden;
  background-clip: padding-box;
}

/* FAQ: reduce the “pill” feeling, make it cleaner */
.td-faq details{
  padding: 16px 18px;
}
.td-faq summary{
  font-size: 15px;
  letter-spacing: .03em;
}
.td-faq .td-answer{
  opacity: .95;
}

/* Hero image: reduce harsh contrast & “banding” a touch */
.td-hero img{
  transform: translateZ(0); /* helps some browsers render smoother */
  filter: contrast(1.02) saturate(1.03);
}
.td-hero::after{
  background: linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.60));
}

/* Hide default WordPress page titles */
.entry-title{
  display:none !important;
}
/* About page styles scoped to #td-about only */
#td-about{max-width:1100px;margin:0 auto;padding:10px 14px;font-family:inherit;text-align:center}
#td-about .td-section{margin:44px 0}
#td-about .td-divider{height:1px;background:rgba(255,255,255,.12);margin:44px auto;max-width:980px}

#td-about .td-title{margin:0 0 14px;line-height:1.1;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
#td-about h1.td-title{font-size:44px}
#td-about h2.td-title{font-size:30px}

#td-about .td-lead{margin:0 auto;max-width:900px;font-size:16px;line-height:1.85;opacity:.94}
#td-about .td-lead + .td-lead{margin-top:14px}
#td-about .td-accent{color:#b32020;font-weight:900}

#td-about .td-list{display:inline-block;text-align:left;max-width:900px;margin:14px auto 0;padding-left:18px;line-height:1.9;opacity:.94}
#td-about .td-list li{margin:10px 0}

#td-about .td-faq{max-width:900px;margin:10px auto 0;text-align:left}
#td-about .td-faq details{background:transparent !important;border:none !important;border-radius:0 !important;box-shadow:none !important;padding:14px 0 !important;margin:0 0 14px !important;border-bottom:1px solid rgba(255,255,255,.12) !important}
#td-about .td-faq summary{cursor:pointer;font-weight:800;letter-spacing:.02em;list-style:none;padding:0 !important}
#td-about .td-faq summary::-webkit-details-marker{display:none}
#td-about .td-faq .td-answer{margin-top:10px;line-height:1.85;opacity:.95}

#td-about .td-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px}
#td-about .td-links a{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.95}
#td-about .td-links a:hover{opacity:1}

@media (max-width:900px){
  #td-about .td-section{margin:34px 0}
  #td-about .td-divider{margin:34px auto}
  #td-about h1.td-title{font-size:34px}
  #td-about h2.td-title{font-size:26px}
}
/* Academy page – scoped only */
#td-academy{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px;
  font-family:inherit;
  text-align:center;
}

#td-academy .td-section{margin:44px 0}
#td-academy .td-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:44px auto;
  max-width:980px;
}

/* Titles */
#td-academy .td-title{
  margin:0 0 14px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#td-academy h1.td-title{font-size:44px}
#td-academy h2.td-title{font-size:30px}

/* Text */
#td-academy .td-lead{
  margin:0 auto;
  max-width:900px;
  font-size:16px;
  line-height:1.85;
  opacity:.94;
}
#td-academy .td-lead + .td-lead{margin-top:14px}
#td-academy .td-accent{color:#b32020;font-weight:900}

/* Simple blocks */
#td-academy .td-block{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}
#td-academy .td-subblock{
  max-width:900px;
  margin:18px auto 0;
  text-align:left;
}
#td-academy .td-subblock h3{
  margin:0 0 6px;
  font-weight:900;
  letter-spacing:.02em;
  font-size:18px;
}
#td-academy .td-subblock p{margin:0;line-height:1.85;opacity:.95}

/* Two column, collapses on mobile */
#td-academy .td-grid{
  max-width:900px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  text-align:left;
}
#td-academy .td-grid td,
#td-academy .td-grid > div{min-width:0}

#td-academy .td-points{
  margin:10px 0 0;
  padding-left:18px;
  line-height:1.9;
  opacity:.94;
}
#td-academy .td-points li{margin:8px 0}

/* Links row */
#td-academy .td-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:14px;
}
#td-academy .td-links a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  opacity:.95;
}
#td-academy .td-links a:hover{opacity:1}

/* Register anchor offset (if sticky header) */
#td-academy #register{scroll-margin-top:110px}

@media (max-width:900px){
  #td-academy .td-section{margin:34px 0}
  #td-academy .td-divider{margin:34px auto}
  #td-academy h1.td-title{font-size:34px}
  #td-academy h2.td-title{font-size:26px}
  #td-academy .td-grid{grid-template-columns:1fr}
}
/* Coaching page – scoped only */
#td-coaching{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px;
  font-family:inherit;
  text-align:center;
}

#td-coaching .td-section{margin:44px 0}

#td-coaching .td-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:44px auto;
  max-width:980px;
}

/* Titles */
#td-coaching .td-title{
  margin:0 0 14px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#td-coaching h1.td-title{font-size:44px}
#td-coaching h2.td-title{font-size:30px}

/* Text */
#td-coaching .td-lead{
  margin:0 auto;
  max-width:900px;
  font-size:16px;
  line-height:1.85;
  opacity:.94;
}
#td-coaching .td-lead + .td-lead{margin-top:14px}

#td-coaching .td-accent{color:#b32020;font-weight:900}

/* Two column layout */
#td-coaching .td-grid{
  max-width:900px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
  text-align:left;
}

#td-coaching .td-subblock h3{
  margin:0 0 8px;
  font-weight:900;
  font-size:18px;
  letter-spacing:.02em;
}

#td-coaching .td-subblock p{
  margin:0;
  line-height:1.85;
  opacity:.95;
}

/* Bullet list centred as block */
#td-coaching .td-list{
  margin:10px 0 0;
  padding-left:18px;
  line-height:1.9;
  opacity:.94;
}

/* Contact links */
#td-coaching .td-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:14px;
}
#td-coaching .td-links a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  opacity:.95;
}
#td-coaching .td-links a:hover{opacity:1}

/* Mobile */
@media (max-width:900px){
  #td-coaching .td-section{margin:34px 0}
  #td-coaching .td-divider{margin:34px auto}
  #td-coaching h1.td-title{font-size:34px}
  #td-coaching h2.td-title{font-size:26px}
  #td-coaching .td-grid{grid-template-columns:1fr}
}
/* Shipping / Refunds / Returns – scoped only */
#td-policy{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px;
  font-family:inherit;
  text-align:center;
}

#td-policy .td-section{margin:44px 0}

#td-policy .td-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:44px auto;
  max-width:980px;
}

/* Titles */
#td-policy .td-title{
  margin:0 0 14px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#td-policy h1.td-title{font-size:44px}
#td-policy h2.td-title{font-size:30px}

/* Text */
#td-policy .td-lead{
  margin:0 auto;
  max-width:900px;
  font-size:16px;
  line-height:1.85;
  opacity:.94;
}
#td-policy .td-lead + .td-lead{margin-top:14px}

#td-policy .td-accent{color:#b32020;font-weight:900}
#td-policy .td-muted{opacity:.85}

/* Two column layout */
#td-policy .td-grid{
  max-width:900px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
  text-align:left;
}

#td-policy .td-block{
  max-width:900px;
  margin:0 auto;
  text-align:left;
}

#td-policy .td-block h3{
  margin:0 0 8px;
  font-weight:900;
  font-size:18px;
  letter-spacing:.02em;
}

#td-policy .td-block p{
  margin:0 0 10px;
  line-height:1.9;
  opacity:.95;
}

/* Contact links */
#td-policy .td-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:14px;
}
#td-policy .td-links a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  opacity:.95;
}
#td-policy .td-links a:hover{opacity:1}

@media (max-width:900px){
  #td-policy .td-section{margin:34px 0}
  #td-policy .td-divider{margin:34px auto}
  #td-policy h1.td-title{font-size:34px}
  #td-policy h2.td-title{font-size:26px}
  #td-policy .td-grid{grid-template-columns:1fr}
}
/* Hide site logo on mobile only */
@media (max-width: 768px){
  .custom-logo,
  .site-logo,
  .site-branding img,
  .navbar-brand img {
    display: none !important;
  }
}
/* Contact page – scoped only */
#td-contact-page{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px;
  font-family:inherit;
  text-align:center;
}

#td-contact-page .td-section{margin:44px 0}

#td-contact-page .td-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:44px auto;
  max-width:980px;
}

/* Titles */
#td-contact-page .td-title{
  margin:0 0 14px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#td-contact-page h1.td-title{font-size:44px}
#td-contact-page h2.td-title{font-size:30px}

/* Text */
#td-contact-page .td-lead{
  margin:0 auto;
  max-width:900px;
  font-size:16px;
  line-height:1.85;
  opacity:.94;
}
#td-contact-page .td-lead + .td-lead{margin-top:14px}

#td-contact-page .td-accent{color:#b32020;font-weight:900}
#td-contact-page .td-muted{opacity:.85}

/* Two column layout */
#td-contact-page .td-grid{
  max-width:900px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
  text-align:center;
}

#td-contact-page .td-block h3{
  margin:0 0 8px;
  font-weight:900;
  font-size:18px;
  letter-spacing:.02em;
}
#td-contact-page .td-block p{
  margin:0 0 10px;
  line-height:1.9;
  opacity:.95;
}

/* Links */
#td-contact-page .td-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:14px;
}
#td-contact-page .td-links a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  opacity:.95;
}
#td-contact-page .td-links a:hover{opacity:1}

/* Map/embed */
#td-contact-page .td-embed{
  max-width:900px;
  margin:18px auto 0;
}
#td-contact-page .td-embed iframe{
  width:100%;
  height:360px;
  border:0;
}

/* Mobile */
@media (max-width:900px){
  #td-contact-page .td-section{margin:34px 0}
  #td-contact-page .td-divider{margin:34px auto}
  #td-contact-page h1.td-title{font-size:34px}
  #td-contact-page h2.td-title{font-size:26px}
  #td-contact-page .td-grid{grid-template-columns:1fr}
  #td-contact-page .td-embed iframe{height:320px}
}
/* Thank You Page – scoped only */
#td-thankyou{
  max-width:900px;
  margin:0 auto;
  padding:20px 14px;
  font-family:inherit;
  text-align:center;
}

#td-thankyou .td-section{margin:44px 0}

#td-thankyou .td-title{
  margin:0 0 14px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

#td-thankyou h1.td-title{font-size:42px}
#td-thankyou h2.td-title{font-size:26px}

#td-thankyou .td-lead{
  margin:0 auto;
  max-width:720px;
  font-size:16px;
  line-height:1.9;
  opacity:.95;
}

#td-thankyou .td-lead + .td-lead{margin-top:14px}

#td-thankyou .td-accent{color:#b32020;font-weight:900}
#td-thankyou .td-muted{opacity:.85}

/* Divider */
#td-thankyou .td-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:40px auto;
  max-width:720px;
}

/* Links */
#td-thankyou .td-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  margin-top:18px;
}

#td-thankyou .td-links a{
  text-decoration:underline;
  text-underline-offset:3px;
  color:inherit;
  font-weight:600;
}

#td-thankyou .td-links a:hover{opacity:.8}

/* Optional highlight box (very subtle) */
#td-thankyou .td-highlight{
  margin-top:24px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

@media (max-width:900px){
  #td-thankyou h1.td-title{font-size:34px}
}
/* Shop dropdown menu only */
#site-navigation ul.sub-menu,
.main-navigation ul.sub-menu,
.main-navigation .sub-menu {
    background: #000 !important;
}

#site-navigation ul.sub-menu li a,
.main-navigation ul.sub-menu li a,
.main-navigation .sub-menu li a {
    color: #fff !important;
}

#site-navigation ul.sub-menu li a:hover,
.main-navigation ul.sub-menu li a:hover,
.main-navigation .sub-menu li a:hover {
    background: #111 !important;
    color: #fff !important;
}
/* =========================
   Product image frame fix
   ========================= */

/* Create consistent image box */
.woocommerce ul.products li.product a img{
  width:100% !important;
  height:220px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#0b0b0b !important;
  border:1px solid #2f2f2f !important;
  border-radius:6px !important;
  padding:14px !important;
  box-sizing:border-box !important;
}

/* Hide Woo placeholder graphic */
.woocommerce ul.products li.product img.woocommerce-placeholder{
  opacity:0 !important;
}

/* Create custom placeholder background */
.woocommerce ul.products li.product .woocommerce-placeholder{
  background:#0b0b0b !important;
  border:1px solid #2f2f2f !important;
}

/* Add "Awaiting Image" text */
.woocommerce ul.products li.product .woocommerce-placeholder::after{
  content:"Awaiting Image";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.35);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:16px;
}
/* =========================
   Product images – clean
   ========================= */

/* Real product images */
.woocommerce ul.products li.product a img{
  width:100% !important;
  height:220px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 0 12px !important;
}

/* Placeholder (no product image) */
.woocommerce ul.products li.product a{
  position: relative;
}

.woocommerce ul.products li.product img.woocommerce-placeholder{
  background:#0b0b0b !important;
  border:1px solid #2f2f2f !important;
  border-radius:6px !important;
  padding:20px !important;
  height:220px !important;
  object-fit:contain !important;
}

/* Show label over placeholder products */
.woocommerce ul.products li.product a:has(img.woocommerce-placeholder)::after{
  content:"Awaiting image";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.35);
  font-size:16px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  pointer-events:none;
}

@media (max-width:768px){
  .woocommerce ul.products li.product a:has(img.woocommerce-placeholder)::after{
    height:200px;
  }
}
/* =========================
   Raffle plugin colour-only override
   Tendring Darts theme
   ========================= */

:root {
  --rfwc-accent: #b32020;
  --rfwc-accent-rgb: 179, 32, 32;
  --rfwc-accent-dark: #941919;
  --rfwc-accent-light: #c93a3a;
  --rfwc-accent-darker: #7a1414;
  --rfwc-accent-bg-light: #1f1f1f;
  --rfwc-accent-bg-medium: #2a2a2a;
  --rfwc-accent-border-solid: #3a3a3a;
  --rfwc-accent-bg-hover: #252525;

  --rfwc-card-bg: #1f1f1f;
  --rfwc-card-text: #f3f3f3;
  --rfwc-card-text-secondary: #c8c8c8;
  --rfwc-card-border: #3a3a3a;
  --rfwc-button-text: #ffffff;
}

/* Progress bar background */
.rfwc-progress-bar {
  background: #2a2a2a;
}

/* Ended countdown pill */
.rfwc-countdown-ended,
.rfwc-countdown-compact .rfwc-countdown-ended {
  background: #2a2a2a;
  color: #c8c8c8;
}

/* Quantity input */
.rfwc-quantity-wrapper .quantity .qty,
.rfwc-skill-answer-input,
.rfwc-skill-answer-dropdown,
.rfwc-free-entry-skill-choices li,
.rfwc-bulk-tier-item,
.rfwc-bulk-price-preview,
.rfwc-skill-choice,
.rfwc-cart-quantity-fixed,
.rfwc-ticket-number {
  background: #2a2a2a;
  color: #f3f3f3;
  border-color: #3a3a3a;
}

/* Secondary muted text that is hardcoded */
.rfwc-max-tickets-notice,
.rfwc-gift-toggle-hint,
.rfwc-gift-email-note,
.rfwc-gift-note,
.rfwc-order-tickets,
.rfwc-order-tickets strong,
.rfwc-free-entry-skill-note,
.rfwc-range-bounds,
.rfwc-iw-badge-sub,
.rfwc-iw-tag-lost,
.rfwc-guest-login-notice p,
.rfwc-compliance-notice {
  color: #c8c8c8;
}

/* Headings/text hardcoded dark */
.rfwc-gift-checkout h3,
.rfwc-winners-section h3,
.rfwc-skill-question-text,
.rfwc-free-entry-text,
.rfwc-free-entry-skill-text,
.rfwc-skill-choice span,
.rfwc-winner-name {
  color: #f3f3f3;
}

/* Free entry / green boxes -> dark theme version */
.rfwc-free-entry-info,
.rfwc-gift-checkout,
.rfwc-gift-toggle,
.rfwc-skill-question,
.rfwc-instant-win-badge,
.rfwc-guest-login-notice,
.rfwc-iw-not-winner,
.rfwc-bulk-tiers {
  background: #1f1f1f;
  border-color: #3a3a3a;
}

/* Keep winner area readable but darker */
.rfwc-winners-announcement,
.rfwc-winners-instant-win,
.rfwc-winners-main-draw,
.rfwc-iw-winner {
  background: #2a2a2a;
}

.rfwc-winners-header {
  border-bottom-color: #3a3a3a;
}

.rfwc-winner-item {
  background: #1f1f1f;
}

/* Winner text colours */
.rfwc-winners-title,
.rfwc-draw-date,
.rfwc-winner-product-link a,
.rfwc-iw-winner h3,
.rfwc-iw-ticket-won,
.rfwc-iw-prize-note {
  color: #f3f3f3;
}

.rfwc-winner-city,
.rfwc-winner-ticket,
.rfwc-iw-remaining-note {
  color: #c8c8c8;
}

/* Notice colours - darker theme versions */
.rfwc-raffle-notice.rfwc-notice-not-started {
  background: #2a2414;
  border-left-color: #b32020;
  color: #f3f3f3;
}

.rfwc-raffle-notice.rfwc-notice-ended {
  background: #2a1a1a;
  border-left-color: #b32020;
  color: #f3f3f3;
}

.rfwc-raffle-notice.rfwc-notice-sold-out {
  background: #1f1f1f;
  border-left-color: #b32020;
  color: #f3f3f3;
}

/* Compliance tabs border */
.rfwc-compliance-tabs {
  border-bottom-color: #3a3a3a;
}

.rfwc-compliance-tab {
  color: #c8c8c8;
}

/* Product/meta links inside plugin */
.rfwc-prize-product-name,
.rfwc-prize-product-name:hover,
.rfwc-card-title,
.rfwc-card-price,
.rfwc-card-prize strong,
.rfwc-prize-label,
.rfwc-tickets-info strong,
.rfwc-progress-text strong {
  color: #f3f3f3;
}

.rfwc-card-prize,
.rfwc-tickets-info,
.rfwc-progress-text,
.rfwc-prize-description,
.rfwc-prize-item-description {
  color: #c8c8c8;
}

/* Buttons only colour change */
.rfwc-card-button,
a.rfwc-card-button,
a.rfwc-card-button:visited,
.rfwc-login-button {
  background: #b32020 !important;
  color: #fff !important;
}

a.rfwc-card-button:hover,
a.rfwc-card-button:focus,
.rfwc-login-button:hover {
  background: #941919 !important;
  color: #fff !important;
}
/* Force raffle buy button to site red */
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button,
.rfwc-product-form .single_add_to_cart_button,
.rfwc-product-form button.single_add_to_cart_button,
button[name="add-to-cart"],
.single_add_to_cart_button.button.alt,
.single_add_to_cart_button.alt,
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: #b32020 !important;
  border-color: #b32020 !important;
  color: #fff !important;
}

.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart button.single_add_to_cart_button:hover,
.rfwc-product-form .single_add_to_cart_button:hover,
.rfwc-product-form button.single_add_to_cart_button:hover,
button[name="add-to-cart"]:hover,
.single_add_to_cart_button.button.alt:hover,
.single_add_to_cart_button.alt:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: #941919 !important;
  border-color: #941919 !important;
  color: #fff !important;
}
.rfwc-bulk-tiers-title{
  display:none;
}

.rfwc-bulk-tiers::before{
  content:"🔥 Most players choose 5–10 tickets for better value";
  display:block;
  margin:0 0 10px;
  font-size:13px;
  font-weight:600;
  color:#b32020;
}
/* Make all raffle cards equal-height internally */
.rfwc-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

.rfwc-card-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}

.rfwc-card-button,
a.rfwc-card-button{
  margin-top:auto !important;
}
.rfwc-card-body{
  display:flex !important;
  flex-direction:column !important;
}

.rfwc-card-title{
  min-height: 3.6em !important;
}

.rfwc-card-price{
  margin-top: auto !important;
}

.rfwc-card-button{
  margin-top: 10px !important;
}
/* Add line ABOVE the button in raffle cards (leave this as is) */
.rfwc-card-body::after{
  content: "🔥 Drawn instantly when full";
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #b32020;
  margin-top: 8px;
  margin-bottom: 6px;
  text-align: center;
}

/* Make sure button still sits at bottom */
.rfwc-card-button{
  margin-top: 0 !important;
}

/* ONLY show on raffle product pages */
body.rfwc-raffle-product .summary::before{
  content: "🔥 Drawn instantly when full";
  display: block;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #b32020;
  margin-bottom: 12px;
}
/* Product page: gallery + summary + custom sidebar */
.single-product #primary .product{
  display:grid !important;
  grid-template-columns:minmax(320px, 42%) minmax(320px, 1fr) 300px !important;
  gap:30px !important;
  align-items:start !important;
}

/* Reset theme floats/widths */
.single-product #primary .product .woocommerce-product-gallery,
.single-product #primary .product .summary,
.single-product #primary .product .td-raffle-sidebar-wrap{
  float:none !important;
  clear:none !important;
  width:auto !important;
  margin:0 !important;
}

/* Place columns */
.single-product #primary .product .woocommerce-product-gallery{
  grid-column:1 !important;
}

.single-product #primary .product .summary{
  grid-column:2 !important;
}

.single-product #primary .product .td-raffle-sidebar-wrap{
  grid-column:3 !important;
  grid-row:1 / span 2 !important;
}

/* Sidebar styling */
.td-raffle-sidebar{
  position:sticky;
  top:20px;
}

.td-raffle-side-box{
  background:#1f1f1f;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:18px;
  margin-bottom:18px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.td-raffle-side-box h3{
  margin:0 0 12px;
  color:#f3f3f3;
  font-size:20px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.td-raffle-side-box p{
  margin:0 0 10px;
  color:#f3f3f3;
  line-height:1.6;
}

/* Sidebar raffle cards */
.td-raffle-sidebar .rfwc-cards-grid{
  margin:0 !important;
}

.td-raffle-sidebar .rfwc-card{
  max-width:none !important;
}

.td-raffle-sidebar .rfwc-card-title{
  font-size:14px !important;
}

.td-raffle-sidebar .rfwc-card-price{
  font-size:15px !important;
}

/* Mobile/tablet: stack normally */
@media (max-width: 1100px){
  .single-product #primary .product{
    grid-template-columns:1fr !important;
  }

  .single-product #primary .product .woocommerce-product-gallery,
  .single-product #primary .product .summary,
  .single-product #primary .product .td-raffle-sidebar-wrap{
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .td-raffle-sidebar{
    position:static !important;
  }
}
/* Make product tabs (description) span full width */
.single-product #primary .product .woocommerce-tabs{
  grid-column: 1 / span 2 !important;
}
@media (max-width: 1100px){

  .single-product #primary .product{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .single-product #primary .product .woocommerce-product-gallery{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  .single-product #primary .product .summary{
    grid-column:1 !important;
    grid-row:2 !important;
  }

  .single-product #primary .product .woocommerce-tabs{
    grid-column:1 !important;
    grid-row:3 !important;
  }

  .single-product #primary .product .td-raffle-sidebar-wrap{
    grid-column:1 !important;
    grid-row:4 !important;
  }
}
@media (min-width: 1100px){

  /* Desktop only, NON-raffle products only */
  body.single-product:not(.rfwc-raffle-product) .woocommerce-tabs{
    margin-top: -650px !important;
    padding-top: 10px !important;
  }

  body.single-product:not(.rfwc-raffle-product) .summary{
    margin-bottom: 0 !important;
  }

  body.single-product:not(.rfwc-raffle-product) div.product{
    row-gap: 20px !important;

  }

}
/* Shift product + raffle pages right (DESKTOP ONLY) */
@media (min-width: 1100px){
  .single-product #primary.content-area{
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding-left: 70px !important;
    padding-right: 20px !important;
  }
}
/* Hide related products everywhere */
.related.products{
  display: none !important;
}
@media (max-width: 900px){

  /* Hide hamburger lines */
  .menu-toggle span,
  .menu-toggle .icon,
  .menu-toggle svg,
  .menu-toggle i{
    display:none !important;
  }

  /* Replace with MENU */
  .menu-toggle::after{
    content:"MENU";
    font-size:16px;
    font-weight:900;
    letter-spacing:.12em;
    color:#fff;
    background:#b32020;
    padding:10px 16px;
    border-radius:999px;
    display:inline-block;
  }
}
/* Reduce space below menu on mobile */
@media (max-width: 768px){
  #primary,
  .site-content,
  .content-area{
    margin-top: -20px !important;
    padding-top: -40px !important;
  }
}/* ONLY fix input fields (billing / address) */
.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-text-input textarea,
.wc-block-components-address-form input,
.wc-block-components-address-form select{
  background:#2a2a2a !important;
  color:#f3f3f3 !important;
  border:1px solid rgba(255,255,255,.15) !important;
  box-shadow:none !important;
}

/* Placeholder text */
.wc-block-components-text-input input::placeholder,
.wc-block-components-text-input textarea::placeholder{
  color:#bfbfbf !important;
}
/* Delivery toggle: selected Ship / Pickup text only */
.wc-block-checkout__shipping-method-container div[role="radio"][aria-checked="true"],
.wc-block-checkout__shipping-method-container div[role="radio"][aria-checked="true"] *{
  color:#000 !important;
}
.rfwc-prize-item-value,
.rfwc-prize-item-value .woocommerce-Price-amount,
.rfwc-prize-item-value .woocommerce-Price-currencySymbol {
    color: #fff !important;
}