/*
Theme Name:           Open Shop
Theme URI:            https://themehunk.com/product/open-shop-ecommerce-theme/
Author:               ThemeHunk
Author URI:           https://www.themehunk.com
Description:          Open shop is a fast and responsive shopping WordPress theme with deeply integration of Woocommerce plugin. Best suited for furniture, grocery, clothing, electronic, food, home appliances site, gadget store, jewellery shop, fashion shop and decorative stores , you can create any type of ecommerce website by using it. It is also RTL ready. It contains multiple widgets options and layouts, Some highlighted features are Advance product search, Multiple Hero slider layouts, Product carousel , Product carousel with tabbed category filter, Woo Category slider, Product list layout, Top header with three layouts, Ribbon section, Call to Action section, About Us widget, Blog post widget slider, Footer bottom with three layouts. Open shop is best theme for your next website, check it demos: https://wpthemes.themehunk.com/open-shop
Version:              999.0.0-gerritout-custom
Update URI:           false
Tested up to:         7.0
Requires at least:    5.3
Requires PHP:         7.0
License:              General Public License v3 or later
License URI:          https://www.gnu.org/licenses/gpl-3.0.en.html
Text Domain:          open-shop
Tags:                 wide-blocks, block-patterns, block-styles, editor-style, e-commerce, blog, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-logo, custom-menu, featured-image-header, featured-images, custom-header, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
@font-face {
  font-family: 'Roboto-Bold';
  src: url('third-party/fonts/site-font/Roboto-Bold.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto-Medium';
  src: url('third-party/fonts/site-font/Roboto-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto-Regular';
  src: url('third-party/fonts/site-font/Roboto-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

.thunk-category-slide-section,
.thunk-product-tab-section,
.thunk-product-slide-section {
  display: none !important;
}

/* Hide mobile drawer header bar on desktop completely */
.drawer-header-bar {
  display: none !important;
}

@media (max-width: 1024px) {
  body.mobile-menu-active .drawer-header-bar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #e1eed8;
    background: #f7faf4;
  }
  .drawer-header-title {
    font-size: 16px;
    font-weight: 700;
    color: #27401f;
  }
  .drawer-close-btn {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: #4a6341;
    cursor: pointer;
    padding: 0;
  }
}

/* ==========================================================================
   Universal Social Icons Fix (FontAwesome 4 / 5 / 6 conflict resolution)
   ========================================================================== */
.content-social ul.social-icon li i,
.content-social ul.social-icon li a i,
.main-header .content-social ul.social-icon li i,
.top-header .content-social ul.social-icon li i,
ul.social-icon li i,
ul.social-icon li a i {
  font-family: 'FontAwesome', 'Font Awesome 6 Brands', 'Font Awesome 5 Brands' !important;
  font-weight: normal !important;
  font-style: normal !important;
  display: inline-block !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}


/* ==========================================================================
   Home Page - About GerriTout Section
   ========================================================================== */
.thunk-about-section {
  padding: 60px 0;
  background: #ffffff;
  position: relative;
}

.thunk-about-wrapper {
  background: linear-gradient(135deg, #f8fbf5 0%, #f1f8ed 100%);
  border: 1px solid #e1eed8;
  border-radius: 16px;
  padding: 48px 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

.thunk-about-grid {
  display: flex;
  align-items: center;
  gap: 48px;
}

.thunk-about-image-col {
  flex: 0 0 38%;
  max-width: 38%;
}

.thunk-about-img-box {
  position: relative;
  background: #ffffff;
  border-radius: 14px;
  padding: 35px 25px;
  box-shadow: 0 15px 35px rgba(112, 177, 0, 0.08);
  border: 1px solid rgba(112, 177, 0, 0.15);
  text-align: center;
}

.thunk-about-img-box img.thunk-about-logo {
  max-width: 230px;
  height: auto;
  display: inline-block;
  transition: transform 0.3s ease;
}

.thunk-about-img-box:hover img.thunk-about-logo {
  transform: scale(1.04);
}

.thunk-about-badge {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: #70b100;
  color: #ffffff;
  padding: 6px 18px;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(112, 177, 0, 0.35);
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;
}

.thunk-about-badge .badge-tag {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.9;
}

.thunk-about-badge .badge-title {
  font-size: 13px;
  font-weight: 600;
}

.thunk-about-content-col {
  flex: 0 0 58%;
  max-width: 58%;
}

.thunk-about-heading .thunk-sub-title {
  color: #70b100;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  display: block;
  margin-bottom: 6px;
}

.thunk-about-heading .thunk-main-title {
  font-size: 30px;
  font-weight: 700;
  color: #222222;
  line-height: 1.25;
  margin: 0 0 12px 0;
}

.thunk-title-divider {
  width: 55px;
  height: 3px;
  background: #70b100;
  border-radius: 2px;
  margin-bottom: 18px;
}

.thunk-about-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #555555;
  margin-bottom: 24px;
}

.thunk-about-features {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 28px;
}

.about-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  background: #ffffff;
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid #e8f3e1;
  transition: all 0.25s ease;
}

.about-feature-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  border-color: #70b100;
}

.about-feature-item .feature-icon {
  width: 40px;
  height: 40px;
  background: rgba(112, 177, 0, 0.12);
  color: #70b100;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.about-feature-item .feature-info h5 {
  font-size: 15px;
  font-weight: 600;
  color: #222222;
  margin: 0 0 3px 0;
}

.about-feature-item .feature-info p {
  font-size: 13px;
  color: #666666;
  margin: 0;
  line-height: 1.4;
}

.thunk-about-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.thunk-about-btn {
  display: inline-block;
  padding: 11px 26px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 25px;
  text-decoration: none;
  transition: all 0.25s ease;
}

.thunk-about-btn.btn-primary {
  background: #70b100;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(112, 177, 0, 0.3);
}

.thunk-about-btn.btn-primary:hover {
  background: #5d9400;
  box-shadow: 0 6px 16px rgba(112, 177, 0, 0.4);
}

.thunk-about-btn.btn-secondary {
  background: #ffffff;
  color: #333333 !important;
  border: 1px solid #d3d3d3;
}

.thunk-about-btn.btn-secondary:hover {
  background: #f5f5f5;
  border-color: #70b100;
  color: #70b100 !important;
}

@media (max-width: 991px) {
  .thunk-about-grid {
    flex-direction: column;
    gap: 36px;
  }

  .thunk-about-image-col,
  .thunk-about-content-col {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .thunk-about-img-box {
    max-width: 340px;
    margin: 0 auto;
  }
}

/* ==========================================================================
   Home Page - Full Width Image Hero Carousel with Corner Arrows
   ========================================================================== */
.custom-hero-full-image-section {
  position: relative;
  width: 100%;
  margin: 0 0 25px 0;
  padding: 0;
}

.gerritout-full-hero-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #f8f9fa;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.gerritout-full-hero-carousel .hero-carousel-track {
  position: relative;
  width: 100%;
}

.gerritout-full-hero-carousel .hero-carousel-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.75s ease-in-out;
  z-index: 1;
}

.gerritout-full-hero-carousel .hero-carousel-slide.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.gerritout-full-hero-carousel .hero-slide-link {
  display: block;
  width: 100%;
  line-height: 0;
}

.gerritout-full-hero-carousel .hero-slide-img {
  width: 100%;
  height: auto;
  min-height: 280px;
  max-height: 520px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

/* Corner Navigation Arrows */
.gerritout-full-hero-carousel .hero-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 50%;
  color: #333333;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transition: all 0.25s ease;
  outline: none;
}

.gerritout-full-hero-carousel .hero-carousel-arrow:hover {
  background: #70b100;
  color: #ffffff;
  border-color: #70b100;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 8px 22px rgba(112, 177, 0, 0.4);
}

.gerritout-full-hero-carousel .hero-carousel-arrow.prev {
  left: 20px;
}

.gerritout-full-hero-carousel .hero-carousel-arrow.next {
  right: 20px;
}

/* Bottom Dot Indicators */
.gerritout-full-hero-carousel .hero-carousel-dots {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.gerritout-full-hero-carousel .hero-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.gerritout-full-hero-carousel .hero-dot.active {
  background: #70b100;
  border-color: #70b100;
  width: 28px;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .gerritout-full-hero-carousel .hero-slide-img {
    min-height: 180px;
    border-radius: 8px;
  }

  .gerritout-full-hero-carousel .hero-carousel-arrow {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .gerritout-full-hero-carousel .hero-carousel-arrow.prev {
    left: 10px;
  }

  .gerritout-full-hero-carousel .hero-carousel-arrow.next {
    right: 10px;
  }
}

/* ==========================================================================
   GerriTout - Modern WooCommerce & Archive Pagination
   ========================================================================== */
.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination,
nav.woocommerce-pagination,
.navigation.pagination {
  margin: 40px auto 30px auto !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  clear: both !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers,
nav.woocommerce-pagination ul.page-numbers,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.navigation.pagination .nav-links {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #d6e8cb !important;
  padding: 8px 16px !important;
  margin: 0 auto !important;
  list-style: none !important;
  background: #ffffff !important;
  border-radius: 50px !important;
  box-shadow: 0 6px 24px rgba(35, 75, 25, 0.08) !important;
  clear: both !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: auto !important;
  line-height: normal !important;
  overflow: visible !important;
  float: none !important;
}

.woocommerce nav.woocommerce-pagination ul::before,
.woocommerce nav.woocommerce-pagination ul::after,
.woocommerce-pagination ul.page-numbers::before,
.woocommerce-pagination ul.page-numbers::after {
  display: none !important;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li,
nav.woocommerce-pagination ul li,
.navigation.pagination .nav-links li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-flex !important;
  list-style: none !important;
}

/* Individual page items: ONLY links and spans inside li */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span,
.navigation.pagination .nav-links a,
.navigation.pagination .nav-links span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border: 1px solid #e1ebd8 !important;
  background: #f7faf4 !important;
  color: #27401d !important;
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  box-sizing: border-box !important;
  float: none !important;
}

/* Active current page */
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul.page-numbers li span.current,
.navigation.pagination .nav-links span.current {
  background: linear-gradient(135deg, #70b100 0%, #528c00 100%) !important;
  border-color: #70b100 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(112, 177, 0, 0.4) !important;
}

/* Inactive page link hover */
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-pagination ul.page-numbers li a:focus,
.navigation.pagination .nav-links a:hover,
.navigation.pagination .nav-links a:focus {
  background: #eaf5e3 !important;
  border-color: #70b100 !important;
  color: #3b6800 !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 4px 12px rgba(112, 177, 0, 0.2) !important;
}

/* Prev / Next arrows */
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce-pagination ul.page-numbers li a.next,
.navigation.pagination .nav-links a.prev,
.navigation.pagination .nav-links a.next {
  border-radius: 25px !important;
  padding: 0 16px !important;
  width: auto !important;
  min-width: 50px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  background: #f0f7ec !important;
  border: 1px solid #d4e7cb !important;
  color: #27401d !important;
}

.woocommerce nav.woocommerce-pagination ul li a.prev:hover,
.woocommerce nav.woocommerce-pagination ul li a.next:hover,
.woocommerce-pagination ul.page-numbers li a.prev:hover,
.woocommerce-pagination ul.page-numbers li a.next:hover,
.navigation.pagination .nav-links a.prev:hover,
.navigation.pagination .nav-links a.next:hover {
  background: linear-gradient(135deg, #70b100 0%, #528c00 100%) !important;
  border-color: #70b100 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(112, 177, 0, 0.35) !important;
  transform: translateY(-2px) !important;
}

/* Dots */
.woocommerce nav.woocommerce-pagination ul li span.dots,
.woocommerce-pagination ul.page-numbers li span.dots,
.navigation.pagination .nav-links span.dots {
  color: #8da384 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  min-width: 28px !important;
  width: auto !important;
  background: transparent !important;
  border: none !important;
}

/* ==========================================================================
   GerriTout - Quick View Modal Enhancements
   ========================================================================== */
.thnk-quick-view-bg {
  background: rgba(14, 28, 11, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

#thnk-quick-view-modal .thnk-lightbox-content {
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px rgba(18, 45, 12, 0.28) !important;
  border: 1px solid #dcedd2 !important;
}

#thnk-quick-view-close {
  width: 36px !important;
  height: 36px !important;
  line-height: 34px !important;
  background: #ffffff !important;
  color: #27401f !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid #dcebd4 !important;
  top: 16px !important;
  right: 16px !important;
  transition: all 0.25s ease !important;
}

#thnk-quick-view-close:hover {
  background: #70b100 !important;
  color: #ffffff !important;
  border-color: #70b100 !important;
  transform: rotate(90deg) scale(1.08) !important;
}

#thnk-quick-view-content div.images {
  background: linear-gradient(135deg, #f7faf4 0%, #edf5e7 100%) !important;
  padding: 20px !important;
  border-right: 1px solid #eef5ea !important;
}

#thnk-quick-view-content div.summary {
  padding: 36px 36px 32px 32px !important;
}

#thnk-quick-view-content .product_title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
}

#thnk-quick-view-content .price {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #3b7400 !important;
}

#thnk-quick-view-content .product_meta {
  background: #f8faf5 !important;
  border: 1px solid #e1eed8 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
}

.woocommerce #thnk-quick-view-modal .quantity {
  border-radius: 25px !important;
  border: 1px solid #cee4c2 !important;
  height: 42px !important;
}

.woocommerce #thnk-quick-view-modal div.product form.cart .button.single_add_to_cart_button {
  background: linear-gradient(135deg, #70b100 0%, #528c00 100%) !important;
  color: #ffffff !important;
  border-radius: 25px !important;
  height: 42px !important;
  line-height: 42px !important;
  box-shadow: 0 4px 14px rgba(112, 177, 0, 0.28) !important;
}

.woocommerce #thnk-quick-view-modal div.product form.cart .button.single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(112, 177, 0, 0.38) !important;
  background: linear-gradient(135deg, #599800 0%, #3e6d00 100%) !important;
}

/* ==========================================================================
   GerriTout - Single Product Page Enhancements
   ========================================================================== */
.single-product .thunk-single-product-summary-wrap {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid #e1eed8 !important;
  padding: 35px !important;
  box-shadow: 0 10px 30px rgba(35, 75, 25, 0.04) !important;
  margin-bottom: 35px !important;
}

.single-product .woocommerce-product-gallery {
  background: linear-gradient(135deg, #f7faf4 0%, #edf5e7 100%) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  border: 1px solid #e2ebd8 !important;
}

.single-product .woocommerce-product-gallery img {
  border-radius: 12px !important;
  transition: transform 0.4s ease !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  transition: all 0.25s ease !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: #70b100 !important;
  box-shadow: 0 4px 10px rgba(112, 177, 0, 0.25) !important;
}

.single-product .summary.entry-summary {
  padding-left: 15px !important;
}

.single-product .product_title {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.25 !important;
}

.single-product p.price,
.single-product .price {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #3b7400 !important;
  margin: 0 0 16px 0 !important;
}

.single-product p.price del,
.single-product .price del {
  color: #94a68e !important;
  font-weight: 400 !important;
  font-size: 16px !important;
}

.single-product .woocommerce-product-details__short-description {
  font-size: 14.5px !important;
  color: #4e5e49 !important;
  line-height: 1.75 !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid #edf5ea !important;
  margin-bottom: 22px !important;
}

.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin: 20px 0 !important;
}

.single-product .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 25px !important;
  border: 1px solid #cee4c2 !important;
  background: #ffffff !important;
  overflow: hidden !important;
  height: 44px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.single-product .quantity .qty {
  width: 48px !important;
  height: 44px !important;
  line-height: 44px !important;
  border: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e3318 !important;
  background: transparent !important;
  padding: 0 !important;
}

.single-product form.cart button.single_add_to_cart_button,
.single-product form.cart .button {
  background: linear-gradient(135deg, #70b100 0%, #528c00 100%) !important;
  color: #ffffff !important;
  border-radius: 25px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 0 32px !important;
  height: 44px !important;
  line-height: 44px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(112, 177, 0, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.single-product form.cart button.single_add_to_cart_button:hover,
.single-product form.cart .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(112, 177, 0, 0.4) !important;
  background: linear-gradient(135deg, #599800 0%, #3e6d00 100%) !important;
}

.single-product .product_meta {
  background: #f8faf5 !important;
  border: 1px solid #e1eed8 !important;
  border-radius: 14px !important;
  padding: 16px 20px !important;
  margin-top: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  color: #556c4e !important;
}

.single-product .product_meta a {
  color: #559100 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.single-product .product_meta a:hover {
  color: #27401f !important;
  text-decoration: underline !important;
}

/* Tabs */
.woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 10px !important;
  border-bottom: 2px solid #e2ebd8 !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  list-style: none !important;
  background: transparent !important;
}

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

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

.woocommerce-tabs ul.tabs li a {
  padding: 12px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #4e5e49 !important;
  border-radius: 12px 12px 0 0 !important;
  background: #f4f8f1 !important;
  display: block !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  border: 1px solid #e2ebd8 !important;
  border-bottom: none !important;
}

.woocommerce-tabs ul.tabs li.active a {
  background: #70b100 !important;
  color: #ffffff !important;
  border-color: #70b100 !important;
}

.woocommerce-tabs .panel {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e1eed8 !important;
  padding: 30px !important;
  box-shadow: 0 6px 20px rgba(35, 75, 25, 0.03) !important;
  color: #4a5a46 !important;
  line-height: 1.8 !important;
}

/* Related & Upsells Products */
.single-product section.related.products,
.single-product section.upsells.products {
  margin-top: 45px !important;
}

.single-product section.related.products h2,
.single-product section.upsells.products h2 {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
  margin-bottom: 24px !important;
  position: relative !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #e2ebd8 !important;
}

.single-product section.related.products h2::after,
.single-product section.upsells.products h2::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 50px !important;
  height: 2px !important;
  background: #70b100 !important;
}

/* Sidebar Widgets */
#sidebar-primary .widget {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e1eed8 !important;
  padding: 24px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 24px !important;
}

#sidebar-primary .widget-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
  border-bottom: 2px solid #70b100 !important;
  padding-bottom: 10px !important;
  margin-bottom: 18px !important;
}

/* Global Preloader Disable - All viewports */
.open_shop_overlayloader,
.open-shop-pre-loader,
[class*="overlayloader"],
[class*="pre-loader"],
[id*="overlay"],
#overlay-loader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  z-index: -99999 !important;
}

/* Nuclear Content Visibility Fix - Prevents any plugin/theme JS from hiding page content */
html,
body,
#page,
.openshop-site,
#content,
.site-content,
.page-content,
.entry-content,
main,
#main,
.main-content,
[role="main"] {
  visibility: visible !important;
  opacity: 1 !important;
  overflow-x: hidden;
}

/* ==========================================================================
   GerriTout - Modern App-Style Bottom Navigation Bar
   ========================================================================== */
.gerritout-mobile-bottom-nav {
  display: none;
}

@media (max-width: 1024px) {

  body,
  body.fxd-right,
  #page,
  .page-content,
  .openshop-site,
  #content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding-bottom: 75px !important;
  }

  .gerritout-mobile-bottom-nav {
    display: block !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    background: #ffffff !important;
    border-top: 1px solid #e1ebd8 !important;
    box-shadow: 0 -4px 20px rgba(25, 45, 20, 0.08) !important;
    z-index: 999999 !important;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) 12px !important;
    box-sizing: border-box !important;
  }

  .gerritout-mobile-bottom-nav .bottom-nav-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    max-width: 500px !important;
    margin: 0 auto !important;
  }

  .gerritout-mobile-bottom-nav .nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    padding: 6px 4px !important;
    text-decoration: none !important;
    color: #63775c !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border-radius: 12px !important;
    position: relative !important;
  }

  .gerritout-mobile-bottom-nav .nav-item .nav-icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    margin-bottom: 2px !important;
    color: inherit !important;
  }

  .gerritout-mobile-bottom-nav .nav-item .nav-icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    transition: transform 0.2s ease !important;
  }

  .gerritout-mobile-bottom-nav .nav-item .nav-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: inherit !important;
    letter-spacing: 0.2px !important;
  }

  /* Active Item Highlight */
  .gerritout-mobile-bottom-nav .nav-item.active {
    color: #528c00 !important;
  }

  .gerritout-mobile-bottom-nav .nav-item.active .nav-icon {
    color: #70b100 !important;
  }

  .gerritout-mobile-bottom-nav .nav-item.active .nav-icon svg {
    transform: scale(1.12) !important;
    stroke: #70b100 !important;
  }

  .gerritout-mobile-bottom-nav .nav-item.active .nav-label {
    font-weight: 700 !important;
    color: #3b6800 !important;
  }

  .gerritout-mobile-bottom-nav .nav-item.active::after {
    content: '' !important;
    position: absolute !important;
    top: 2px !important;
    width: 20px !important;
    height: 3px !important;
    background: #70b100 !important;
    border-radius: 4px !important;
  }

  /* Cart Badge Counter */
  .gerritout-mobile-bottom-nav .nav-cart-item .cart-badge-count {
    position: absolute !important;
    top: -4px !important;
    right: -8px !important;
    background: linear-gradient(135deg, #70b100 0%, #528c00 100%) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    min-width: 17px !important;
    height: 17px !important;
    line-height: 17px !important;
    border-radius: 10px !important;
    text-align: center !important;
    padding: 0 4px !important;
    box-shadow: 0 2px 6px rgba(112, 177, 0, 0.4) !important;
  }

  /* ==========================================================================
     Top Mobile Header - Single Row (Logo + Search Bar + Profile ONLY)
     ========================================================================== */
  .top-header,
  .main-header,
  .below-header,
  .sticky-header,
  #gerritout-header-language,
  .menu-toggle,
  #menu-btn,
  #menu-btn-abv,
  #menu-btn-btm,
  #menu-btn-stk,
  .bar-menu-toggle,
  .sider.main,
  .sider.above,
  .gerritout-menu-backdrop,
  #moderncart-floating-cart,
  .moderncart-toggle-slide-out,
  .moderncart-floating-cart-button,
  .taiowc-wrap,
  .taiowc-fixed-cart,
  div.taiowc-wrap.fxd-right,
  div[class*="taiowc-wrap"],
  .open_shop_overlayloader,
  .open-shop-pre-loader {
    display: none !important;
  }

  .gerritout-mobile-single-header {
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    z-index: 99999 !important;
    border-bottom: 1px solid #eef4eb !important;
    box-shadow: 0 2px 10px rgba(35, 75, 25, 0.05) !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
  }

  .gerritout-mobile-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 1. Logo (Left) */
  .gerritout-mhdr-logo {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
  }

  .gerritout-mhdr-logo a.mobile-logo-link {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
  }

  .gerritout-mhdr-logo img.mhdr-logo-img {
    height: 38px !important;
    max-height: 38px !important;
    width: auto !important;
    max-width: 46px !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* 2. Search Bar (Center) */
  .gerritout-mhdr-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gerritout-mhdr-search #thaps-search-box,
  .gerritout-mhdr-search .thaps-search-box {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .gerritout-mhdr-search form.thaps-search-form,
  .gerritout-mhdr-search form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    display: block !important;
    height: auto !important;
  }

  .gerritout-mhdr-search .thaps-from-wrap {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    background: #f6faf3 !important;
    border: 1.5px solid #dbead4 !important;
    border-radius: 50px !important;
    padding: 2px 3px 2px 12px !important;
    box-shadow: 0 1px 4px rgba(35, 75, 25, 0.04) !important;
    height: 38px !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  .gerritout-mhdr-search input.thaps-search-autocomplete {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 13px !important;
    color: #27401d !important;
    padding: 0 6px 0 0 !important;
    height: 32px !important;
    line-height: 32px !important;
  }

  .gerritout-mhdr-search .thaps-preloader {
    right: 68px !important;
  }

  .gerritout-mhdr-search button#thaps-search-button,
  .gerritout-mhdr-search button[type="submit"] {
    flex: 0 0 auto !important;
    background: linear-gradient(135deg, #70b100 0%, #528c00 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 5px rgba(112, 177, 0, 0.3) !important;
    cursor: pointer !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  /* 3. Profile (Right) - Icon only */
  .gerritout-mhdr-profile {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .gerritout-mhdr-profile a.mhdr-account-btn,
  .gerritout-mhdr-profile a.account,
  .gerritout-mhdr-profile span a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 50% !important;
    background: #f6faf3 !important;
    border: 1.5px solid #dbead4 !important;
    color: #27401d !important;
    text-decoration: none !important;
    box-shadow: 0 2px 5px rgba(35, 75, 25, 0.05) !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .gerritout-mhdr-profile .account-text,
  .gerritout-mhdr-profile .tooltip {
    display: none !important;
  }

  .gerritout-mhdr-profile svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #27401d !important;
    display: block !important;
  }
}

/* Hide Fastrack Demo Banner Section */
.thunk-banner-section {
  display: none !important;
}

/* ==========================================================================
   GerriTout - Quick View Modal Full Scroll & Anti-Clipping Fix
   ========================================================================== */
#thnk-quick-view-modal {
  padding: 20px 15px !important;
  box-sizing: border-box !important;
}

#thnk-quick-view-modal .thnk-content-main-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100% !important;
  padding: 10px 0 !important;
  box-sizing: border-box !important;
}

#thnk-quick-view-modal .thnk-content-main {
  display: block !important;
  max-width: 960px !important;
  width: 100% !important;
  margin: auto !important;
}

#thnk-quick-view-modal .thnk-lightbox-content {
  display: flex !important;
  background-color: #ffffff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px rgba(18, 45, 12, 0.28) !important;
  border: 1px solid #dcedd2 !important;
  position: relative !important;
  width: 100% !important;
  max-height: min(640px, 86vh) !important;
}

#thnk-quick-view-content {
  width: 100% !important;
  height: 100% !important;
}

#thnk-quick-view-content .thnk-woo-product {
  width: 100% !important;
  height: 100% !important;
}

#thnk-quick-view-content div.product {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  height: 100% !important;
  max-height: min(640px, 86vh) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Left Image Container */
#thnk-quick-view-content div.images {
  flex: 0 0 48% !important;
  width: 48% !important;
  background: linear-gradient(135deg, #f7faf4 0%, #edf5e7 100%) !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  padding: 20px !important;
  position: relative !important;
  overflow: hidden !important;
  border-right: 1px solid #eef5ea !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

#thnk-quick-view-content div.images #gerritout-qv-active-img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 380px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  display: block !important;
  margin: auto !important;
}

/* Right Summary: Flex Start & Full Scrollable Height */
#thnk-quick-view-content div.summary {
  flex: 0 0 54% !important;
  width: 54% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  text-align: left !important;
  background: #ffffff !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: 100% !important;
  max-height: min(640px, 86vh) !important;
  box-sizing: border-box !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
}

#thnk-quick-view-content div.summary .summary-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding: 30px 32px 36px 30px !important;
  box-sizing: border-box !important;
  min-height: 100% !important;
  width: 100% !important;
}

#thnk-quick-view-content div.summary::-webkit-scrollbar {
  width: 6px !important;
}
#thnk-quick-view-content div.summary::-webkit-scrollbar-track {
  background: #f4f8f1 !important;
  border-radius: 8px !important;
}
#thnk-quick-view-content div.summary::-webkit-scrollbar-thumb {
  background: #a4c98f !important;
  border-radius: 8px !important;
}
#thnk-quick-view-content div.summary::-webkit-scrollbar-thumb:hover {
  background: #70b100 !important;
}

#thnk-quick-view-content .product_title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 36px 0 0 !important;
  line-height: 1.3 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#thnk-quick-view-content .price {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #3b7400 !important;
  margin: 0 0 14px 0 !important;
  display: block !important;
}

#thnk-quick-view-content .woocommerce-product-details__short-description {
  font-size: 13.5px !important;
  color: #4e5e49 !important;
  line-height: 1.65 !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid #edf5ea !important;
  padding-bottom: 14px !important;
  width: 100% !important;
}

#thnk-quick-view-content .product_meta {
  background: #f8faf5 !important;
  border: 1px solid #e1eed8 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin: 0 0 12px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  #thnk-quick-view-modal {
    padding: 15px 10px !important;
  }
  #thnk-quick-view-modal .thnk-lightbox-content {
    flex-direction: column !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
    border-radius: 16px !important;
  }
  #thnk-quick-view-content div.product {
    flex-direction: column !important;
    max-height: none !important;
    height: auto !important;
  }
  #thnk-quick-view-content div.images,
  #thnk-quick-view-content div.summary {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
  #thnk-quick-view-content div.images {
    padding: 12px !important;
    max-height: none !important;
    height: auto !important;
    border-right: none !important;
    border-bottom: 1px solid #eef5ea !important;
  }
  #thnk-quick-view-content div.images #gerritout-qv-active-img {
    max-height: 220px !important;
  }
  #thnk-quick-view-content div.summary {
    padding: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow-y: visible !important;
  }
  #thnk-quick-view-content div.summary .summary-content {
    padding: 20px 18px 30px 18px !important;
  }
  #thnk-quick-view-content .product_title {
    font-size: 19px !important;
  }
}

/* ==========================================================================
   GerriTout - Global Modern Checkout Styling (Theme Integration)
   ========================================================================== */
.woocommerce-checkout #sidebar-primary,
.woocommerce-checkout .sidebar-content-area,
.woocommerce-checkout .thunk-page-sidebar {
  display: none !important;
  width: 0 !important;
}

.woocommerce-checkout .primary-content-area,
.woocommerce-checkout .main-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

.wp-block-woocommerce-checkout,
.wc-block-checkout,
.wp-block-woocommerce-checkout.alignwide,
.wc-block-components-sidebar-layout {
  font-family: inherit !important;
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Desktop 2-Column Balanced Flexbox Layout (60% Main Form / 40% Order Summary) */
@media (min-width: 992px) {
  .wp-block-woocommerce-checkout,
  .wc-block-checkout,
  .wp-block-woocommerce-checkout.alignwide,
  .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
  }

  .wp-block-woocommerce-checkout-fields-block,
  .wc-block-checkout__main,
  .wc-block-components-sidebar-layout .wc-block-components-main {
    flex: 1 1 calc(60% - 16px) !important;
    width: calc(60% - 16px) !important;
    max-width: calc(60% - 16px) !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .wp-block-woocommerce-checkout-totals-block,
  .wc-block-checkout__sidebar,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    flex: 0 0 calc(40% - 16px) !important;
    width: calc(40% - 16px) !important;
    max-width: calc(40% - 16px) !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    margin: 0 !important;
    position: sticky !important;
    top: 90px !important;
    box-sizing: border-box !important;
  }
}

/* Outer totals block: remove duplicate borders */
.wp-block-woocommerce-checkout-totals-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Form Steps as Modern Clean Cards */
.wc-block-components-checkout-step {
  background: #ffffff !important;
  border: 1px solid #dfeeda !important;
  border-radius: 16px !important;
  padding: 24px 26px !important;
  margin-bottom: 22px !important;
  box-shadow: 0 6px 22px rgba(22, 45, 15, 0.04) !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease !important;
}

.wc-block-components-checkout-step:hover {
  border-color: #c9e2bf !important;
}

/* Step Header */
.wc-block-components-checkout-step__heading {
  margin-bottom: 18px !important;
  border-bottom: 1px solid #f0f6ec !important;
  padding-bottom: 12px !important;
}

.wc-block-components-checkout-step__title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #193113 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.wc-block-components-checkout-step__title:before {
  content: '' !important;
  display: inline-block !important;
  width: 4px !important;
  height: 18px !important;
  background: #70b100 !important;
  border-radius: 3px !important;
}

/* Form Inputs & Fields */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-select-input,
.wc-block-components-country-input {
  position: relative !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"] {
  height: 52px !important;
  border-radius: 10px !important;
  border: 1.5px solid #d4e5cb !important;
  background: #fafdf8 !important;
  color: #1c3116 !important;
  font-size: 14.5px !important;
  padding: 20px 16px 6px 16px !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Floating Label alignment for text inputs */
.wc-block-components-text-input label,
.wc-block-components-combobox label {
  position: absolute !important;
  font-size: 11px !important;
  top: 6px !important;
  left: 16px !important;
  color: #5d7554 !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transform: none !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Fix Country / Region Dropdown & Label Overlap */
.wc-block-components-select-input .wc-block-components-select-input__select,
.wc-block-components-country-input select,
.wc-block-checkout select {
  height: 54px !important;
  border-radius: 10px !important;
  border: 1.5px solid #d4e5cb !important;
  background: #fafdf8 !important;
  color: #1c3116 !important;
  font-size: 14.5px !important;
  padding: 22px 36px 6px 16px !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  width: 100% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d7554' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
}

.wc-block-components-select-input .wc-block-components-select-input__label,
.wc-block-components-country-input label {
  position: absolute !important;
  top: 6px !important;
  left: 16px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #5d7554 !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  transform: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-checkout input[type="text"]:focus,
.wc-block-checkout input[type="email"]:focus,
.wc-block-checkout input[type="tel"]:focus,
.wc-block-checkout select:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus {
  border-color: #70b100 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3.5px rgba(112, 177, 0, 0.16) !important;
  outline: none !important;
}

/* Address Form Row Alignments */
.wc-block-components-address-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}

.wc-block-components-address-form__row,
.wc-block-components-address-form .wc-block-components-address-form__row {
  display: flex !important;
  gap: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wc-block-components-address-form__row > * {
  flex: 1 1 50% !important;
  min-width: 0 !important;
}

.wc-block-components-address-form__address-2-toggle,
.wc-block-components-address-form__address_2-toggle {
  color: #3b7400 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin: 4px 0 !important;
  cursor: pointer !important;
}

.wc-block-components-address-form__address-2-toggle:hover {
  text-decoration: underline !important;
  color: #275000 !important;
}

/* ==========================================================================
   Order Summary Box (Right Column)
   ========================================================================== */
.wc-block-components-order-summary {
  background: #ffffff !important;
  border: 1.5px solid #d8e9cf !important;
  border-radius: 18px !important;
  padding: 24px 22px !important;
  box-shadow: 0 8px 30px rgba(22, 45, 15, 0.05) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.wc-block-components-order-summary__title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
  border-bottom: 1px solid #edf5ea !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
}

/* Remove duplicate nested card borders inside order summary */
.wc-block-components-order-summary .wc-block-components-panel,
.wc-block-components-order-summary .wc-block-components-order-summary__content,
.wp-block-woocommerce-checkout-order-summary-block {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product Line Items Clean Row Layout */
.wc-block-components-order-summary .wc-block-components-order-summary-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #edf4ea !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  border-radius: 10px !important;
  overflow: visible !important;
  border: 1px solid #e1edd9 !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image img,
.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 10px !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  background: #70b100 !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-width: 20px !important;
  height: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
  z-index: 2 !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  align-items: baseline !important;
  column-gap: 12px !important;
  row-gap: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__name,
.wc-block-components-order-summary .wc-block-components-product-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #172c13 !important;
  line-height: 1.3 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  word-break: normal !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__price,
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary .wc-block-cart-item__prices {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #3b7400 !important;
  white-space: nowrap !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  text-align: right !important;
}

/* Prevent bulky description from wrapping letter by letter */
.wc-block-components-order-summary .wc-block-components-order-summary-item__text,
.wc-block-components-order-summary .wc-block-components-product-metadata,
.wc-block-components-order-summary .wc-block-components-product-metadata__description {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  font-size: 12px !important;
  color: #6a7f65 !important;
  line-height: 1.4 !important;
  margin-top: 2px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Place Order CTA Button */
.wc-block-components-checkout-place-order-button,
.wc-block-components-button--place-order,
#place_order {
  width: 100% !important;
  height: 54px !important;
  background: linear-gradient(135deg, #70b100 0%, #4e8800 100%) !important;
  color: #ffffff !important;
  border-radius: 30px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  border: none !important;
  box-shadow: 0 6px 22px rgba(112, 177, 0, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  margin-top: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button--place-order:hover,
#place_order:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #5c9600 0%, #3e6d00 100%) !important;
  box-shadow: 0 10px 28px rgba(112, 177, 0, 0.45) !important;
}