/* ================================================
   TOUCHREFURB PROFESSIONAL REDESIGN
   Design System: Rubik/Nunito Sans, Navy + Blue CTA, Green Accent
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;500;600;700;800&family=Rubik:wght@300;400;500;600;700;800&display=swap');

/* ---- CSS Variables ---- */
:root {
  --primary: #0F172A;
  --primary-light: #1E293B;
  --secondary: #334155;
  --cta: #3B63E2;
  --cta-hover: #2D4FBF;
  --cta-gradient: linear-gradient(135deg, #3B63E2 0%, #5B8DEF 100%);
  --accent: #10B981;
  --accent-hover: #059669;
  --accent-light: rgba(16, 185, 129, 0.08);
  --bg-light: #F8FAFC;
  --bg-white: #FFFFFF;
  --text-dark: #0F172A;
  --text-body: #475569;
  --text-muted: #64748B;
  --border: #E2E8F0;
  --border-light: #F1F5F9;
  --shadow-sm: 0 1px 2px rgba(15,23,42,0.05);
  --shadow-md: 0 4px 16px rgba(15,23,42,0.08);
  --shadow-lg: 0 8px 30px rgba(15,23,42,0.10);
  --shadow-xl: 0 20px 50px rgba(15,23,42,0.14);
  --shadow-cta: 0 4px 14px rgba(59,99,226,0.25);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);
  --font-heading: 'Rubik', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Nunito Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---- Global Reset & Typography ---- */
body {
  font-family: var(--font-body) !important;
  color: var(--text-dark);
  background: var(--bg-light) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.slider-title,
.section-title,
.count-title,
.category-title,
.best-title,
.footer-widget-title,
.newsletter-title {
  font-family: var(--font-heading) !important;
}

p, a, li, span, input, button, select, textarea {
  font-family: var(--font-body) !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
  }
}

/* ================================================
   HEADER & NAVIGATION
   ================================================ */

.header-slider-sec {
  background-image: url("../images/header-bg.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  position: relative;
  overflow: hidden;
}
.header-slider-sec::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.6) 50%, rgba(15,23,42,0.4) 100%);
  pointer-events: none;
  z-index: 0;
}

.header-sec {
  padding: 20px 0 !important;
  position: relative;
  z-index: 2;
}

.header-sec .navbar .navbar-brand {
  max-width: 200px !important;
  transition: opacity var(--transition);
}
.header-sec .navbar .navbar-brand:hover {
  opacity: 0.85;
}

/* Nav links */
.header-sec .navbar .navbar-nav .nav-item .nav-link {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.3px !important;
  color: rgba(255,255,255,0.9) !important;
  transition: color var(--transition) !important;
  position: relative;
}
.header-sec .navbar .navbar-nav .nav-item .nav-link:hover {
  color: var(--accent) !important;
}
.header-sec .navbar .navbar-nav .nav-item .nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: all var(--transition);
  transform: translateX(-50%);
}
.header-sec .navbar .navbar-nav .nav-item .nav-link:hover::after {
  width: 100%;
}

/* Submenu dropdown */
.header-sec .navbar .navbar-nav .nav-item .sub-menu .nav-item .nav-link:hover {
  background: var(--cta-gradient) !important;
}

/* Login menu separator */
.header-sec .navbar .navbar-nav.login-menu .nav-item .nav-link {
  font-size: 13px !important;
  font-weight: 500 !important;
  opacity: 0.85;
}
.header-sec .navbar .navbar-nav.login-menu .nav-item .nav-link:hover {
  opacity: 1;
}

/* Cart count badge */
.header-sec .navbar .navbar-nav .nav-item .cart-menu .cart-count {
  background: var(--accent) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  box-shadow: 0 2px 6px rgba(121,197,131,0.4);
}

/* Mobile menu */
@media only screen and (max-width: 991px) {
  .header-sec .navbar #main-menu {
    background: linear-gradient(180deg, rgba(11,17,32,0.98) 0%, rgba(22,32,66,0.98) 100%) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  .header-sec .navbar #main-menu .nav-item .nav-link {
    border-bottom-color: rgba(255,255,255,0.08) !important;
  }
  .header-sec .navbar #main-menu .nav-item .nav-link::after {
    display: none;
  }
}

/* ================================================
   BANNER SLIDER
   ================================================ */

.main-slider {
  padding: 20px 0 0 !important;
  position: relative;
  z-index: 2;
}

.main-slider .main-slide {
  min-height: 420px;
}
@media only screen and (max-width: 991px) {
  .main-slider .main-slide {
    min-height: 320px;
  }
}
@media only screen and (max-width: 767px) {
  .main-slider .main-slide {
    min-height: auto;
    padding: 20px 0;
  }
}

/* Slider text */
.main-slider .main-slide .slider-text {
  align-items: flex-start !important;
  text-align: left !important;
}
@media only screen and (max-width: 767px) {
  .main-slider .main-slide .slider-text {
    align-items: center !important;
    text-align: center !important;
  }
}

.main-slider .main-slide .slider-text .slider-title {
  font-family: var(--font-heading) !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  letter-spacing: -1px !important;
  line-height: 1.15 !important;
  margin: 0 0 20px !important;
}
.main-slider .main-slide .slider-text .slider-title b,
.main-slider .main-slide .slider-text .slider-title strong {
  font-weight: 800 !important;
  color: var(--accent);
}

@media only screen and (max-width: 1669px) {
  .main-slider .main-slide .slider-text .slider-title { font-size: 46px !important; }
}
@media only screen and (max-width: 1477px) {
  .main-slider .main-slide .slider-text .slider-title { font-size: 40px !important; }
}
@media only screen and (max-width: 1247px) {
  .main-slider .main-slide .slider-text .slider-title { font-size: 34px !important; margin: 0 0 12px !important; }
}
@media only screen and (max-width: 991px) {
  .main-slider .main-slide .slider-text .slider-title { font-size: 28px !important; }
}
@media only screen and (max-width: 575px) {
  .main-slider .main-slide .slider-text .slider-title { font-size: 24px !important; }
}

.main-slider .main-slide .slider-text .big-text {
  font-family: var(--font-heading) !important;
  font-size: 44px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.9) !important;
  letter-spacing: -0.3px !important;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
}
@media only screen and (max-width: 1669px) {
  .main-slider .main-slide .slider-text .big-text { font-size: 38px !important; }
}
@media only screen and (max-width: 1477px) {
  .main-slider .main-slide .slider-text .big-text { font-size: 32px !important; }
}
@media only screen and (max-width: 1247px) {
  .main-slider .main-slide .slider-text .big-text { font-size: 28px !important; }
}
@media only screen and (max-width: 991px) {
  .main-slider .main-slide .slider-text .big-text { font-size: 24px !important; }
}
@media only screen and (max-width: 575px) {
  .main-slider .main-slide .slider-text .big-text { font-size: 20px !important; }
}

.main-slider .main-slide .slider-text .small-text {
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.65) !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 32px !important;
}
@media only screen and (max-width: 1477px) {
  .main-slider .main-slide .slider-text .small-text { font-size: 16px !important; margin: 0 0 24px !important; }
}
@media only screen and (max-width: 991px) {
  .main-slider .main-slide .slider-text .small-text { font-size: 14px !important; margin: 0 0 20px !important; }
}

/* Slider CTA button */
.slider-btn.custom-btn {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 18px 40px !important;
  border-radius: var(--radius-sm) !important;
  background: var(--cta-gradient) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--shadow-cta) !important;
  transition: all var(--transition) !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.slider-btn.custom-btn:hover {
  box-shadow: 0 8px 25px rgba(59,99,226,0.4) !important;
  transform: translateY(-3px);
}
.slider-btn.custom-btn .plus {
  display: none !important;
}

/* Slider arrows */
.main-slider .slider-arrow {
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,0.1) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-radius: 50% !important;
  padding: 0 !important;
  transition: all var(--transition) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
.main-slider .slider-arrow:hover {
  background: rgba(255,255,255,0.2) !important;
  border-color: rgba(255,255,255,0.3) !important;
}
.main-slider .slider-arrow.prev {
  left: 20px !important;
}
.main-slider .slider-arrow.next {
  right: 20px !important;
}
.main-slider .slider-arrow img {
  width: 16px !important;
  opacity: 0.8;
}

/* Slider product image */
.main-slider .main-slide .slider-img-wpr {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.main-slider .main-slide .slider-img-wpr img {
  display: block !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.3));
}

/* ================================================
   TRUSTPILOT BAR
   ================================================ */

.trustpilot-sec {
  background: var(--primary) !important;
  padding: 16px 0 !important;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.trustpilot-sec .bg-animation {
  display: none;
}

.trustpilot-sec .trustpilot-text {
  font-family: var(--font-heading) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
}
@media only screen and (max-width: 1669px) {
  .trustpilot-sec .trustpilot-text { font-size: 20px !important; }
}
@media only screen and (max-width: 767px) {
  .trustpilot-sec .trustpilot-text { font-size: 16px !important; letter-spacing: 0 !important; }
}

.trustpilot-sec .trustpilot-logo-text {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
}

/* ================================================
   STATS COUNTER SECTION
   ================================================ */

.counts-sec {
  background: var(--bg-white) !important;
  padding: 56px 0 !important;
  position: relative;
  border-bottom: 1px solid var(--border);
}

.count-box {
  background: var(--bg-light) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 32px 24px !important;
  text-align: center;
  transition: all var(--transition);
  cursor: default;
}
.count-box:hover {
  border-color: var(--cta) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-3px);
}

.count-box .number {
  font-family: var(--font-heading) !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  color: var(--cta) !important;
  display: block;
  line-height: 1.1;
}

.count-box .divider {
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  background: var(--cta-gradient) !important;
  margin: 14px auto !important;
  border-radius: 2px;
}

.count-box .count-title,
.count-box h4 {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  margin: 0 !important;
}

/* ================================================
   SECTION TITLES
   ================================================ */

.section-title-wpr {
  padding-top: 56px !important;
  margin-bottom: 40px !important;
}

.section-title {
  font-family: var(--font-heading) !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: -0.5px !important;
  text-transform: none !important;
  padding: 0 !important;
  position: relative !important;
  line-height: 1.2 !important;
}
.section-title::after,
.section-title::before {
  display: none !important;
}

/* Dark background sections keep white titles */
.repair-sec .section-title {
  color: #fff !important;
}
.counts-sec .section-title {
  color: var(--text-dark) !important;
}

/* Light background sections get dark titles */
.featured-products-sec .section-title,
.category-sec .section-title,
.why-best-sec .section-title {
  color: var(--text-dark) !important;
}

/* Underline accent */
.section-title-wpr {
  position: relative;
}
.featured-products-sec .section-title-wpr::after,
.category-sec .section-title-wpr::after,
.why-best-sec .section-title-wpr::after {
  content: '';
  display: block;
  width: 48px;
  height: 4px;
  background: var(--cta-gradient);
  margin: 16px auto 0;
  border-radius: 2px;
}

/* ================================================
   FEATURED PRODUCTS
   ================================================ */

.featured-products-sec {
  background: var(--bg-light) !important;
  padding: 0 0 60px !important;
}

.home-product-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: all var(--transition);
  height: 100%;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
}
.home-product-card:hover {
  border-color: rgba(59,99,226,0.3);
  box-shadow: var(--shadow-lg);
  transform: translateY(-6px);
}

.home-product-card .home-product-img,
.home-product-img {
  background: var(--bg-light) !important;
  padding: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
}
.home-product-card .home-product-img img,
.home-product-img img {
  max-height: 180px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  margin: 0 auto !important;
  display: block !important;
}
.home-product-card:hover .home-product-img img {
  transform: scale(1.05);
}

.home-product-card .home-product-info {
  padding: 16px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--border-light);
}

.home-product-card .home-product-title {
  font-family: var(--font-heading) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text-dark) !important;
  line-height: 1.4 !important;
  margin: 0 0 8px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-product-card .home-product-price {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--cta) !important;
}

.home-product-card .home-product-btn {
  display: block;
  text-align: center;
  padding: 14px 16px;
  font-family: var(--font-body) !important;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #fff;
  background: var(--cta-gradient);
  border-top: none;
  transition: all var(--transition);
  cursor: pointer;
  text-decoration: none !important;
}
.home-product-card .home-product-btn:hover {
  opacity: 0.9;
  color: #fff;
}

/* Shop All button */
.shop-all-btn {
  display: inline-block;
  padding: 14px 36px;
  font-family: var(--font-body) !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #fff !important;
  background: var(--cta-gradient);
  border-radius: var(--radius-sm);
  transition: all var(--transition);
  box-shadow: 0 4px 12px rgba(82,107,198,0.25);
  cursor: pointer;
}
.shop-all-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(82,107,198,0.35);
  color: #fff !important;
}

/* ================================================
   CATEGORY CARDS
   ================================================ */

.category-sec {
  background: var(--bg-white) !important;
  padding-bottom: 60px;
}

.category-box {
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  position: relative;
  transition: all var(--transition);
  box-shadow: var(--shadow-md);
  cursor: pointer;
}
.category-box:hover {
  box-shadow: var(--shadow-xl);
  transform: translateY(-6px);
}

.category-box .category-img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.category-box:hover .category-img {
  transform: scale(1.05);
}

.category-box .category-text-sec {
  background: linear-gradient(0deg, rgba(15,23,42,0.9) 0%, rgba(15,23,42,0.4) 60%, transparent 100%) !important;
}

.category-box .category-title {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.category-box .category-btn.custom-btn {
  background: var(--cta-gradient) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 14px 24px !important;
  box-shadow: var(--shadow-cta) !important;
  letter-spacing: 0.5px !important;
}
.category-box .category-btn.custom-btn:hover {
  box-shadow: 0 8px 25px rgba(59,99,226,0.4) !important;
  transform: translateY(-2px);
}
.category-box .category-btn.custom-btn .plus {
  display: none !important;
}

/* ================================================
   REPAIR / PRODUCT TABS SECTION
   ================================================ */

.repair-sec {
  background: var(--primary) !important;
  padding-bottom: 50px !important;
}

.repair-sec .repair-menu ul li {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--radius-sm) !important;
  margin: 0 4px !important;
  padding: 10px 22px !important;
  background: rgba(255,255,255,0.05) !important;
  color: rgba(255,255,255,0.8) !important;
  transition: all var(--transition) !important;
  cursor: pointer;
  letter-spacing: 0.3px !important;
}
.repair-sec .repair-menu ul li:hover {
  border-color: rgba(59,99,226,0.5) !important;
  background: rgba(59,99,226,0.1) !important;
  color: #fff !important;
}
.repair-sec .repair-menu ul li.active_tab {
  background: var(--cta-gradient) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: var(--shadow-cta);
}

.repair-sec .product-wpr .repair-product {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: var(--radius-md) !important;
  transition: all var(--transition) !important;
  cursor: pointer;
}
.repair-sec .product-wpr .repair-product:hover {
  border-color: rgba(59,99,226,0.4) !important;
  background: rgba(255,255,255,0.08) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
}

.repair-sec .product-wpr .repair-product .pro-text .product-title {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.repair-sec .product-wpr .repair-product .pro-text .product-btn {
  font-family: var(--font-body) !important;
  border-radius: var(--radius-sm) !important;
}

/* ================================================
   NEWSLETTER SECTION
   ================================================ */

.newsletter-sec {
  background: var(--primary) !important;
  padding: 64px 0 !important;
  border-top: none !important;
  border-bottom: none !important;
  position: relative;
  overflow: hidden;
}
.newsletter-sec::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(59,99,226,0.15) 0%, transparent 70%);
  pointer-events: none;
}

.newsletter-title {
  font-family: var(--font-heading) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 8px !important;
}

.newsletter-text {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  color: rgba(255,255,255,0.6) !important;
}

.newsletter-form input.form-control,
.newsletter-form .wpcf7-form-control {
  font-family: var(--font-body) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--radius-sm) !important;
  padding: 16px 18px !important;
  font-size: 15px !important;
  transition: all var(--transition) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
}
.newsletter-form input.form-control::placeholder,
.newsletter-form .wpcf7-form-control::placeholder {
  color: rgba(255,255,255,0.4) !important;
}
.newsletter-form input.form-control:focus,
.newsletter-form .wpcf7-form-control:focus {
  border-color: var(--cta) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59,99,226,0.2) !important;
  background: rgba(255,255,255,0.12) !important;
}

.newsletter-form .submit-btn,
.newsletter-form .wpcf7-submit,
.newsletter-form input[type="submit"],
.newsletter-form button[type="submit"] {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: var(--cta-gradient) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 28px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #fff !important;
  transition: all var(--transition) !important;
  cursor: pointer;
  width: auto !important;
  min-width: 140px !important;
  height: auto !important;
  min-height: 48px !important;
  line-height: normal !important;
}


.newsletter-form .submit-btn:hover,
.newsletter-form .wpcf7-submit:hover,
.newsletter-form input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(82,107,198,0.3);
}

/* Newsletter success/error messages */
.newsletter-sec .wpcf7-response-output {
  border: 1px solid rgba(16,185,129,0.4) !important;
  background: rgba(16, 185, 129, 0.1) !important;
  color: #fff !important;
  padding: 12px 18px !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-top: 10px !important;
}
.newsletter-sec .wpcf7-not-valid-tip {
  color: #f87171 !important;
  font-size: 13px !important;
}

/* ================================================
   WHY WE'RE THE BEST
   ================================================ */

.why-best-sec {
  background: var(--bg-white) !important;
  padding: 0 0 70px !important;
}

.why-best-sec .section-title {
  color: var(--text-dark) !important;
}

.best-box {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 36px 28px !important;
  text-align: center;
  transition: all var(--transition) !important;
  height: 100%;
  box-shadow: var(--shadow-sm);
}
.best-box:hover {
  border-color: rgba(59,99,226,0.2) !important;
  box-shadow: var(--shadow-lg) !important;
  transform: translateY(-6px);
}

.best-box .best-title,
.best-box .best-test-wpr h4 {
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  margin-bottom: 8px !important;
}

.best-box .best-test-wpr img {
  max-height: 56px;
  margin: 16px auto;
}

.best-box .best-caption,
.best-box .best-caption-wpr h4 {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--text-body) !important;
  line-height: 1.6 !important;
}

/* ================================================
   FOOTER
   ================================================ */

.footer-widget-sec {
  background: linear-gradient(180deg, var(--primary) 0%, #0a101f 100%) !important;
  padding: 64px 0 48px !important;
}

.footer-widget-title {
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 24px !important;
  padding-bottom: 14px !important;
  border-bottom: none !important;
  display: inline-block !important;
  position: relative;
}
.footer-widget-title::after {
  content: '' !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 3px;
  background: var(--cta-gradient);
  border-radius: 2px;
}

/* Footer menu links */
.footer-widget .footer-menu li {
  list-style: none !important;
}
.footer-widget .footer-menu li a,
.footer-widget .contact-info li,
.footer-widget .contact-info li a {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
  transition: all var(--transition) !important;
  line-height: 1.8 !important;
  text-decoration: none !important;
}
.footer-widget .footer-menu li a::before {
  content: none !important;
}
.footer-widget .footer-menu li a:hover,
.footer-widget .contact-info li a:hover {
  color: #fff !important;
  padding-left: 0 !important;
}

/* Contact info styling */
.footer-widget .contact-info li {
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  line-height: 1.6 !important;
}
.footer-widget .contact-info li i,
.footer-widget .contact-info li img {
  color: var(--cta) !important;
  margin-top: 3px;
  flex-shrink: 0;
}

/* Payment icons */
.footer-widget .payment-info {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.footer-widget .payment-info li {
  background: rgba(255,255,255,0.06) !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px 12px !important;
  transition: all var(--transition) !important;
  border: 1px solid rgba(255,255,255,0.08);
}
.footer-widget .payment-info li:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.15);
  transform: translateY(-1px);
}
.footer-widget .payment-info li img {
  height: 20px !important;
  width: auto !important;
  display: block !important;
}

/* Social icons */
.footer-widget .social-info {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.footer-widget .social-info li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50% !important;
  transition: all var(--transition) !important;
}
.footer-widget .social-info li a:hover {
  background: var(--cta-gradient) !important;
  border-color: transparent !important;
  transform: translateY(-3px);
  box-shadow: 0 4px 15px rgba(82,107,198,0.3);
}
.footer-widget .social-info li a img {
  width: 18px !important;
  height: 18px !important;
  margin: auto !important;
  filter: brightness(0) invert(1);
  opacity: 0.7;
  transition: opacity var(--transition);
}
.footer-widget .social-info li a:hover img {
  opacity: 1;
}

/* Copyright */
.footer-copyright-sec {
  background: #060b16 !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.footer-copyright-wpr .copyright-text {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.35) !important;
  text-align: center;
  letter-spacing: 0.3px;
}
.footer-copyright-wpr .copyright-text a {
  color: rgba(255,255,255,0.5) !important;
  transition: color var(--transition);
}
.footer-copyright-wpr .copyright-text a:hover {
  color: #fff !important;
}

/* ================================================
   BREADCRUMBS (Inner Pages)
   ================================================ */

.breadcrumbs_top {
  background: var(--bg-light) !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--border) !important;
}

.breadcrumbs_top .breadcrumb {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

.breadcrumbs_top .breadcrumb-item a {
  color: var(--cta) !important;
  font-weight: 500;
}
.breadcrumbs_top .breadcrumb-item.active {
  color: var(--text-muted) !important;
}

/* ================================================
   WOOCOMMERCE PRODUCT GRID (Shop Page)
   ================================================ */

#site-content .woocommerce .products li.product,
.mid-container .woocommerce .products li.product {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--bg-white);
  transition: all var(--transition);
}
#site-content .woocommerce .products li.product:hover,
.mid-container .woocommerce .products li.product:hover {
  border-color: var(--cta);
  box-shadow: var(--shadow-lg);
  transform: translateY(-3px);
}

.woocommerce .products li.product .woocommerce-loop-product__title {
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text-dark) !important;
}

.woocommerce .products li.product .price {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: var(--cta) !important;
}

.woocommerce .products li.product .button,
.woocommerce .products li.product .add_to_cart_button {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  background: var(--cta-gradient) !important;
  color: #fff !important;
  border-radius: var(--radius-sm) !important;
  transition: all var(--transition) !important;
  cursor: pointer;
}
.woocommerce .products li.product .button:hover,
.woocommerce .products li.product .add_to_cart_button:hover {
  box-shadow: 0 4px 12px rgba(82,107,198,0.3);
}

/* ================================================
   GLOBAL BUTTON STYLE OVERRIDE
   ================================================ */

.custom-btn {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  border-radius: var(--radius-sm) !important;
  background: var(--cta-gradient) !important;
  transition: all var(--transition) !important;
  box-shadow: var(--shadow-cta);
  cursor: pointer;
}
.custom-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59,99,226,0.35);
  color: #fff !important;
}

/* ================================================
   REVIEW SLIDER
   ================================================ */

.review-slider .slick-slide {
  padding: 0 10px;
}

.review-box,
.review-slider .review-item {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
  transition: all var(--transition);
}
.review-box:hover,
.review-slider .review-item:hover {
  box-shadow: var(--shadow-md);
}

/* ================================================
   SINGLE PRODUCT PAGE
   ================================================ */

/* Product gallery */
.single-product .woocommerce-product-gallery {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  padding: 24px !important;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border-radius: var(--radius-sm) !important;
}

/* Product summary */
.single-product .summary.entry-summary {
  font-family: var(--font-body) !important;
}

/* Product title */
.single-product .summary .product_title {
  font-family: var(--font-heading) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  letter-spacing: -0.5px !important;
  line-height: 1.3 !important;
  margin-bottom: 16px !important;
}

/* Price */
.single-product .summary .price {
  font-family: var(--font-heading) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  color: var(--text-dark) !important;
  padding: 20px 24px !important;
  background: var(--bg-light) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  display: inline-block !important;
  margin-bottom: 24px !important;
}
.single-product .summary .price .woocommerce-Price-currencySymbol {
  font-size: 22px !important;
  font-weight: 600 !important;
  vertical-align: super;
  margin-right: 2px;
}

/* Quantity selector */
.single-product .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-right: 12px !important;
}
.single-product .quantity .qty {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  width: 56px !important;
  height: 48px !important;
  text-align: center !important;
  border: 1px solid var(--border) !important;
  border-left: none !important;
  border-right: none !important;
  background: var(--bg-white) !important;
  color: var(--text-dark) !important;
  border-radius: 0 !important;
}
.single-product .quantity .minus,
.single-product .quantity .plus {
  width: 48px !important;
  height: 48px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  background: var(--bg-light) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-dark) !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.single-product .quantity .minus {
  border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
}
.single-product .quantity .plus {
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
}
.single-product .quantity .minus:hover,
.single-product .quantity .plus:hover {
  background: var(--border) !important;
}

/* Add to cart button */
.single-product .single_add_to_cart_button {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  background: var(--cta-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--shadow-cta) !important;
  transition: all var(--transition) !important;
  cursor: pointer;
  height: 48px !important;
}
.single-product .single_add_to_cart_button:hover {
  box-shadow: 0 8px 25px rgba(59,99,226,0.4) !important;
  transform: translateY(-2px);
}

/* Buy Now button */
.single-product .buy-now-button {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 4px 14px rgba(16,185,129,0.25) !important;
  transition: all var(--transition) !important;
  cursor: pointer;
  width: auto !important;
  display: inline-block !important;
  margin-top: 12px !important;
}
.single-product .buy-now-button:hover {
  background: var(--accent-hover) !important;
  box-shadow: 0 8px 25px rgba(16,185,129,0.35) !important;
  transform: translateY(-2px);
}

/* Wishlist link */
.single-product .tinvwl_add_to_wishlist_button {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--text-muted) !important;
  transition: color var(--transition) !important;
}
.single-product .tinvwl_add_to_wishlist_button:hover {
  color: var(--cta) !important;
}

/* Trust badges */
.product-trust-badges {
  display: flex !important;
  gap: 0 !important;
  margin-top: 20px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  background: var(--bg-white) !important;
}
.product-trust-badges .badge-item {
  flex: 1 !important;
  text-align: center !important;
  padding: 16px 12px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  border-right: 1px solid var(--border);
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1.3 !important;
}
.product-trust-badges .badge-item:last-child {
  border-right: none;
}
.product-trust-badges .badge-icon {
  font-size: 20px !important;
  display: block !important;
}

/* Product meta (SKU, categories) */
.single-product .product_meta {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--text-muted) !important;
  padding-top: 16px !important;
  margin-top: 16px !important;
  border-top: 1px solid var(--border) !important;
}
.single-product .product_meta a {
  color: var(--cta) !important;
  text-decoration: none !important;
}
.single-product .product_meta a:hover {
  text-decoration: underline !important;
}

/* Related products heading */
.single-product .related.products > h2,
.single-product section.related > h2 {
  font-family: var(--font-heading) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  text-align: center !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 32px !important;
  text-transform: none !important;
}
.single-product .related.products > h2::before,
.single-product .related.products > h2::after,
.single-product section.related > h2::before,
.single-product section.related > h2::after {
  display: none !important;
}

/* Cart form layout */
.single-product form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 20px 0 !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  margin-bottom: 16px !important;
}

/* ================================================
   SCROLLBAR
   ================================================ */

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--bg-light);
}
::-webkit-scrollbar-thumb {
  background: #94A3B8;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--secondary);
}

/* ================================================
   FOCUS STATES (Accessibility)
   ================================================ */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--cta) !important;
  outline-offset: 2px !important;
}

/* ================================================
   SELECTION
   ================================================ */

::selection {
  background: rgba(82,107,198,0.2);
  color: var(--text-dark);
}
