/* Inline style.css */
    /*
Theme Name: Kamdhenu Tea
Theme URI: https://kamdhenutea.com
Author: Adiffic Media
Author URI: https://adifficmedia.com
Description: A simple, clean WordPress + WooCommerce theme built for Kamdhenu Tea Masala. Minimal animations, earthy tea-brand color palette, focused on fast product browsing and smooth checkout.
Version: 7.3
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kamdhenu-tea
Tags: e-commerce, woocommerce, food-and-drink
*/

    /* ==========================================================================
   1. VARIABLES / BRAND COLORS
   ========================================================================== */
    :root {
      --kt-red: #B23A2E;
      --kt-red-dark: #7A241C;
      --kt-red-light: #D96455;
      --kt-brown-dark: #7A241C;
      --kt-brown: #B23A2E;
      --kt-brown-light: #D96455;
      --kt-green: #4C7A3D;
      --kt-green-dark: #345A28;
      --kt-beige: #F7EFE4;
      --kt-cream: #FEFBF6;
      --kt-gold: #E8A93D;
      --kt-text: #2E1A12;
      --kt-text-muted: #6B5D4F;
      --kt-white: #FFFFFF;
      --kt-border: #EAD9C9;
      --kt-radius: 6px;
      --kt-shadow: 0 2px 10px rgba(122, 36, 28, 0.10);
      --kt-transition: 0.2s ease;
    }

    /* ==========================================================================
   2. RESET / BASE
   ========================================================================== */
    * {
      box-sizing: border-box;
    }

    html {
      height: 100%;
    }

    body {
      margin: 0;
      font-family: "Inter", -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color: var(--kt-text);
      background-color: var(--kt-cream);
      line-height: 1.6;
      font-size: 16px;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    .site-header {
      flex-shrink: 0;
    }

    .site-footer {
      flex-shrink: 0;
      margin-top: auto !important;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-family: Cardo, Georgia, serif;
      color: var(--kt-brown-dark);
      line-height: 1.25;
      margin: 0 0 0.5em;
    }

    h1 {
      font-size: 2.6rem;
    }

    h2 {
      font-size: 2rem;
    }

    h3 {
      font-size: 1.4rem;
    }

    p {
      margin: 0 0 1em;
    }

    a {
      color: var(--kt-brown);
      text-decoration: none;
      transition: color var(--kt-transition);
    }

    a:hover {
      color: var(--kt-gold);
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    .container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    section { padding: 90px 0; }

    .btn,
    button,
    input[type="submit"],
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce #respond input#submit,
    .woocommerce input.button {
      display: inline-block;
      background-color: var(--kt-brown);
      color: var(--kt-white) !important;
      border: none;
      padding: 12px 28px;
      border-radius: var(--kt-radius);
      font-family: "Inter", sans-serif;
      font-size: 0.95rem;
      letter-spacing: 0.03em;
      cursor: pointer;
      transition: background-color var(--kt-transition);
    }

    .btn:hover,
    button:hover,
    .woocommerce a.button:hover,
    .woocommerce button.button:hover,
    .woocommerce #respond input#submit:hover,
    .woocommerce input.button:hover {
      background-color: var(--kt-gold);
      color: var(--kt-white) !important;
    }

    .btn-outline {
      background-color: transparent;
      border: 1.5px solid var(--kt-brown);
      color: var(--kt-brown) !important;
    }

    .btn-outline:hover {
      background-color: var(--kt-brown);
      color: var(--kt-white) !important;
    }

    /* ==========================================================================
   3. HEADER
   ========================================================================== */
    #site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
    }

    .site-header {
      background-color: var(--kt-cream);
      border-bottom: 1px solid var(--kt-border);
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 24px;
      max-width: 1280px;
      margin: 0 auto;
    }

    .site-branding {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .site-branding img.custom-logo {
      max-height: 100px;
      width: auto;
    }

    .site-title {
      font-family: Cardo, serif;
      font-size: 1.5rem;
      margin: 0;
      color: var(--kt-brown-dark);
    }

    .site-title a {
      color: inherit;
    }

    .site-tagline {
      font-size: 0.75rem;
      color: var(--kt-text-muted);
      margin: 0;
      letter-spacing: 0.05em;
    }

    .main-navigation ul {
      list-style: none;
      display: flex;
      gap: 32px;
      margin: 0;
      padding: 0;
    }

    .main-navigation a {
      color: var(--kt-text);
      font-size: 1.15rem;
      font-weight: 600;
    }

    .main-navigation a:hover {
      color: var(--kt-brown);
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .header-account,
    .header-cart {
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--kt-brown-dark);
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background-color: var(--kt-beige);
      transition: background-color var(--kt-transition), color var(--kt-transition), transform var(--kt-transition);
      position: relative;
    }

    .header-account:hover,
    .header-cart:hover {
      background-color: var(--kt-red);
      color: var(--kt-white);
      transform: translateY(-1px);
    }

    .header-account svg,
    .header-cart svg {
      width: 22px;
      height: 22px;
      display: block;
    }

    .header-cart .cart-count {
      position: absolute;
      top: -6px;
      right: -6px;
      background-color: var(--kt-gold);
      color: var(--kt-white);
      font-size: 0.7rem;
      font-weight: 700;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid var(--kt-cream);
    }

    .menu-toggle {
      display: none;
      background: none;
      border: none;
      font-size: 1.6rem;
      color: var(--kt-brown-dark);
      padding: 0;
    }

    @media (max-width: 820px) {
      .main-navigation {
        display: none;
        width: 100%;
      }

      .main-navigation.is-open {
        display: block;
      }

      .main-navigation ul {
        flex-direction: column;
        gap: 4px;
        padding: 16px 0;
      }

      .header-inner {
        flex-wrap: wrap;
      }

      .menu-toggle {
        display: block;
      }
    }

    /* ==========================================================================
   4. HERO
   ========================================================================== */
    .hero {
      background-color: var(--kt-beige);
      padding: 100px 0;
      border-bottom: 1px solid var(--kt-border);
    }

    .hero-inner {
      display: flex;
      align-items: center;
      gap: 48px;
      flex-wrap: wrap;
    }

    .hero-content {
      flex: 1 1 420px;
    }

    .hero-image {
      flex: 1 1 400px;
    }

    .hero-image img {
      border-radius: var(--kt-radius);
      box-shadow: var(--kt-shadow);
    }

    .hero-eyebrow {
      color: var(--kt-green-dark);
      text-transform: uppercase;
      font-size: 0.8rem;
      letter-spacing: 0.12em;
      font-weight: 600;
      margin-bottom: 12px;
    }

    .hero-content h1 {
      margin-bottom: 18px;
    }

    .hero-content p {
      color: var(--kt-text-muted);
      font-size: 1.05rem;
      max-width: 480px;
    }

    .hero-buttons {
      margin-top: 24px;
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    /* ==========================================================================
   5. SECTION HEADINGS
   ========================================================================== */
    .section-heading {
      text-align: center;
      max-width: 620px;
      margin: 0 auto 44px;
    }

    .section-heading .hero-eyebrow {
      justify-content: center;
    }

    .section-heading p {
      color: var(--kt-text-muted);
    }

    /* ==========================================================================
   6. PRODUCT GRID (Homepage + Shop)
   ========================================================================== */
    .woocommerce ul.products,
    .woocommerce ul.products.columns-4,
    .products {
      display: grid !important;
      grid-template-columns: repeat(4, 1fr) !important;
      gap: 28px !important;
      list-style: none !important;
      margin: 0 !important;
      padding: 0 !important;
      float: none !important;
    }

    @media (max-width: 560px) {

      .woocommerce ul.products,
      .woocommerce ul.products.columns-4,
      .products {
        grid-template-columns: 1fr !important;
      }
    }

    .woocommerce ul.products li.product,
    .woocommerce ul.products.columns-4 li.product,
    .products .product {
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 24px;
      text-align: center;
      transition: box-shadow var(--kt-transition), transform var(--kt-transition);
      width: 100% !important;
      float: none !important;
      margin: 0 !important;
      clear: none !important;
      display: flex !important;
      flex-direction: column !important;
    }

    .woocommerce ul.products li.product:hover,
    .products .product:hover {
      box-shadow: 0 10px 28px rgba(74, 46, 31, 0.14);
      transform: translateY(-4px);
    }

    .woocommerce ul.products li.product a {
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      color: inherit;
    }

    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product img {
      border-radius: 10px;
      margin-bottom: 18px;
      width: 100% !important;
      aspect-ratio: 1 / 1 !important;
      height: auto !important;
      object-fit: contain !important;
      background-color: var(--kt-white);
      padding: 4px;
    }

    .woocommerce ul.products li.product .product-category-label {
      text-transform: uppercase;
      font-size: 0.7rem;
      letter-spacing: 0.08em;
      color: var(--kt-green-dark);
      font-weight: 600;
      margin-bottom: 4px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
      font-family: Cardo, serif;
      font-size: 1.15rem;
      color: var(--kt-brown-dark);
      min-height: 2.6em;
      margin-bottom: 8px;
    }

    .woocommerce ul.products li.product .price {
      color: var(--kt-green-dark);
      font-weight: 700;
      font-size: 1.15rem;
      margin-top: auto;
      padding-top: 8px;
      padding-bottom: 14px;
    }

    .woocommerce ul.products li.product .button {
      width: 100%;
      padding: 12px 16px;
      font-size: 0.9rem;
      border-radius: 8px;
    }

    /* ==========================================================================
   7. ABOUT / STORY SECTION
   ========================================================================== */
    .about-section {
      background-color: var(--kt-white);
    }

    .about-inner {
      display: flex;
      align-items: center;
      gap: 48px;
      flex-wrap: wrap;
    }

    .about-image {
      flex: 1 1 380px;
    }

    .about-image img {
      border-radius: var(--kt-radius);
      box-shadow: var(--kt-shadow);
    }

    .about-content {
      flex: 1 1 420px;
    }

    .about-content p {
      color: var(--kt-text-muted);
    }

    /* Feature strip (ingredients / trust badges) - white background with icon badges,
   avoids stacking two solid color bars back-to-back against the stats section */
    .feature-strip {
      background-color: var(--kt-white);
      padding: 56px 0;
    }

    .feature-strip .container {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      text-align: center;
    }

    .feature-item {
      padding: 20px 12px;
    }

    .feature-item-icon {
      width: 54px;
      height: 54px;
      border-radius: 50%;
      background-color: var(--kt-beige);
      color: var(--kt-green-dark);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      margin: 0 auto 14px;
    }

    .feature-item h4 {
      color: var(--kt-brown-dark);
      margin-bottom: 6px;
      font-size: 1.05rem;
    }

    .feature-item p {
      color: var(--kt-text-muted);
      font-size: 0.85rem;
      margin: 0;
    }

    @media (max-width: 780px) {
      .feature-strip .container {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    /* ==========================================================================
   8. WOOCOMMERCE SINGLE PRODUCT / CART / CHECKOUT
   ========================================================================== */
    .woocommerce-page .container,
    .woocommerce .container {
      padding-top: 40px;
      padding-bottom: 60px;
    }

    .woocommerce div.product .summary {
      padding-left: 32px;
    }

    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
      color: var(--kt-green-dark);
      font-size: 1.4rem;
      font-weight: 600;
    }

    .woocommerce div.product form.cart .quantity {
      margin-right: 12px;
    }

    .woocommerce div.product form.cart input.qty {
      border: 1px solid var(--kt-border);
      border-radius: var(--kt-radius);
      padding: 10px;
      width: 64px;
    }

    .woocommerce table.shop_table {
      border: 1px solid var(--kt-border);
      border-radius: 12px;
      border-collapse: separate;
      border-spacing: 0;
      overflow: hidden;
      box-shadow: var(--kt-shadow);
    }

    .woocommerce table.shop_table th {
      background-color: var(--kt-beige);
      color: var(--kt-brown-dark);
      font-family: Cardo, serif;
      font-weight: 600;
      padding: 16px;
      border-bottom: none;
    }

    .woocommerce table.shop_table td {
      padding: 18px 16px;
      vertical-align: middle;
      border-top: 1px solid var(--kt-border);
    }

    .woocommerce table.cart img {
      border-radius: 8px;
      width: 64px !important;
    }

    .woocommerce table.cart td.product-name a {
      font-weight: 600;
      color: var(--kt-brown-dark);
    }

    .woocommerce table.cart td.product-subtotal {
      font-weight: 700;
      color: var(--kt-green-dark);
    }

    /* Coupon row */
    .woocommerce-cart-form .coupon {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 18px 16px;
      flex-wrap: wrap;
    }

    .woocommerce-cart-form .coupon label {
      display: none;
    }

    .woocommerce-cart-form .coupon input#coupon_code {
      padding: 11px 14px;
      border: 1px solid var(--kt-border);
      border-radius: 8px;
      font-family: "Inter", sans-serif;
      width: 200px;
    }

    .woocommerce-cart-form .coupon button.button,
    .woocommerce-cart-form>.button {
      padding: 11px 24px;
      border-radius: 8px;
    }

    .woocommerce-cart-form>.button {
      float: right;
      margin: 0 16px 18px 0;
    }

    /* Cart totals card */
    .cart_totals {
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 28px;
      box-shadow: var(--kt-shadow);
      max-width: 420px;
      margin-left: auto;
      margin-bottom: 60px;
    }

    /* "Update Cart" button no longer needed - quantity +/- already auto-updates via AJAX */
    .woocommerce-cart-form button[name="update_cart"] {
      display: none !important;
    }

    .cart_totals h2 {
      font-size: 1.3rem;
      margin-bottom: 18px;
    }

    .cart_totals table.shop_table {
      border: none;
      box-shadow: none;
      border-radius: 0;
      width: 100%;
    }

    .cart_totals table.shop_table th,
    .cart_totals table.shop_table td {
      padding: 14px 0;
      background: none;
      border-top: 1px solid var(--kt-border);
      font-family: "Inter", sans-serif;
      text-align: left;
    }

    .cart_totals table.shop_table th {
      width: 40%;
      font-weight: 600;
      color: var(--kt-brown-dark);
    }

    .cart_totals table.shop_table td {
      text-align: right;
      color: var(--kt-text);
    }

    .cart_totals table.shop_table tr:first-child th,
    .cart_totals table.shop_table tr:first-child td {
      border-top: none;
    }

    .cart_totals .order-total th,
    .cart_totals .order-total td {
      font-size: 1.05rem;
    }

    .cart_totals .order-total .woocommerce-Price-amount {
      font-size: 1.3rem;
      font-weight: 700;
      color: var(--kt-green-dark);
    }

    .wc-proceed-to-checkout a.checkout-button {
      width: 100%;
      text-align: center;
      padding: 14px;
      font-size: 1rem;
      margin-top: 16px;
      background-color: var(--kt-brown) !important;
      color: var(--kt-white) !important;
      border: none !important;
      border-radius: 8px !important;
      display: block;
    }

    .wc-proceed-to-checkout a.checkout-button:hover {
      background-color: var(--kt-gold) !important;
      color: var(--kt-white) !important;
    }

    /* Quantity stepper - fixed contrast + no stuck hover state */
    .kamdhenu-qty-btn {
      background-color: var(--kt-beige) !important;
      color: var(--kt-brown-dark) !important;
    }

    .kamdhenu-qty-btn:hover,
    .kamdhenu-qty-btn:focus {
      background-color: var(--kt-brown) !important;
      color: var(--kt-white) !important;
    }

    .kamdhenu-qty-wrapper input.qty {
      background-color: var(--kt-white) !important;
      color: var(--kt-text) !important;
    }

    .woocommerce-checkout #payment {
      background-color: var(--kt-beige) !important;
      border-radius: var(--kt-radius);
    }

    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row select {
      border: 1px solid var(--kt-border);
      border-radius: var(--kt-radius);
      padding: 10px;
    }

    .woocommerce-message,
    .woocommerce-info {
      border-top-color: var(--kt-green) !important;
    }

    .woocommerce-message::before,
    .woocommerce-info::before {
      color: var(--kt-green) !important;
    }

    /* ==========================================================================
   10.5 HOW TO BREW STEPS
   ========================================================================== */
    .brew-section {
      background-color: var(--kt-beige);
    }

    .brew-steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
    }

    @media (max-width: 780px) {
      .brew-steps {
        grid-template-columns: 1fr;
      }
    }

    .brew-step {
      background-color: var(--kt-white);
      border-radius: 14px;
      padding: 32px 24px;
      text-align: center;
      border: 1px solid var(--kt-border);
    }

    .brew-step-icon {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background-color: var(--kt-brown);
      color: var(--kt-white);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      margin: 0 auto 18px;
    }

    .brew-step h3 {
      font-size: 1.15rem;
      margin-bottom: 8px;
    }

    .brew-step p {
      color: var(--kt-text-muted);
      font-size: 0.92rem;
      margin: 0;
    }

    .brew-step-number {
      display: inline-block;
      font-size: 0.75rem;
      letter-spacing: 0.1em;
      color: var(--kt-gold);
      font-weight: 700;
      margin-bottom: 6px;
    }

    /* ==========================================================================
   10.6 TESTIMONIALS
   ========================================================================== */
    .testimonial-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }

    @media (max-width: 780px) {
      .testimonial-grid {
        grid-template-columns: 1fr;
      }
    }

    .testimonial-card {
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 28px;
    }

    .testimonial-stars {
      color: var(--kt-gold);
      font-size: 1rem;
      margin-bottom: 12px;
      letter-spacing: 2px;
    }

    .testimonial-quote {
      color: var(--kt-text);
      font-style: italic;
      margin-bottom: 18px;
    }

    .testimonial-author {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .testimonial-avatar {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background-color: var(--kt-green);
      color: var(--kt-white);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-family: Cardo, serif;
    }

    .testimonial-author-name {
      font-weight: 600;
      color: var(--kt-brown-dark);
      font-size: 0.92rem;
    }

    .testimonial-author-loc {
      font-size: 0.8rem;
      color: var(--kt-text-muted);
    }

    /* ==========================================================================
   10.7 FAQ (native <details> accordion, no JS needed)
   ========================================================================== */
    .faq-section {
      background-color: var(--kt-beige);
    }

    .faq-list {
      max-width: 760px;
      margin: 0 auto;
    }

    .faq-item {
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 10px;
      margin-bottom: 14px;
      padding: 4px 22px;
    }

    .faq-item summary {
      cursor: pointer;
      padding: 16px 0;
      font-weight: 600;
      color: var(--kt-brown-dark);
      font-family: Cardo, serif;
      font-size: 1.05rem;
      list-style: none;
      position: relative;
    }

    .faq-item summary::-webkit-details-marker {
      display: none;
    }

    .faq-item summary::after {
      content: "+";
      position: absolute;
      right: 0;
      top: 14px;
      font-size: 1.3rem;
      color: var(--kt-gold);
    }

    .faq-item[open] summary::after {
      content: "\2212";
    }

    .faq-item p {
      color: var(--kt-text-muted);
      padding-bottom: 18px;
      margin: 0;
    }

    /* ==========================================================================
   10.8 NEWSLETTER
   ========================================================================== */
    .newsletter-section {
      background-color: var(--kt-brown-dark);
      text-align: center;
      padding: 80px 0;
    }

    .newsletter-section h2 { color: var(--kt-white); }

    .newsletter-section p {
      color: rgba(255, 255, 255, 0.75);
      max-width: 480px;
      margin: 0 auto 28px;
    }

    .newsletter-form {
      display: flex;
      max-width: 440px;
      margin: 0 auto;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .newsletter-form input[type="email"] {
      flex: 1 1 260px;
      padding: 13px 16px;
      border-radius: 8px;
      border: none;
      font-family: "Inter", sans-serif;
    }

    .newsletter-form button {
      border-radius: 8px;
      background-color: var(--kt-gold);
    }

    .newsletter-form button:hover {
      background-color: var(--kt-green);
    }

    /* ==========================================================================
   8.5 MY ACCOUNT - LOGIN, SIGNUP, DASHBOARD, ORDERS
   ========================================================================== */

    /* Simple, clean centered layout for the account page */
    .woocommerce-account main.site-main {
      max-width: 1000px;
      margin: 0 auto;
      padding: 50px 24px 70px;
    }

    h1.page-title.woocommerce-page-title {
      text-align: center;
      padding-top: 50px;
      margin-bottom: 10px;
    }

    /* Login + Register side-by-side cards, evenly aligned.
       Uses flexbox with !important throughout - something else on this
       page was silently defeating the previous CSS-grid version (grid
       properties all computed correctly, yet the two columns still
       rendered stacked with mismatched positions), so this version forces
       every layout-relevant property rather than relying on the cascade. */
    #customer_login.u-columns,
    .woocommerce-account .u-columns {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 32px !important;
      align-items: flex-start !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #customer_login .u-column1,
    #customer_login .u-column2,
    .woocommerce-account .u-columns .u-column1,
    .woocommerce-account .u-columns .u-column2 {
      flex: 1 1 340px !important;
      max-width: calc(50% - 16px) !important;
      width: auto !important;
      float: none !important;
      margin: 0 !important;
      position: static !important;
      inset: auto !important;
      top: auto !important;
      left: auto !important;
    }

    @media (max-width: 780px) {

      #customer_login.u-columns,
      .woocommerce-account .u-columns {
        flex-direction: column !important;
        gap: 24px !important;
      }

      #customer_login .u-column1,
      #customer_login .u-column2,
      .woocommerce-account .u-columns .u-column1,
      .woocommerce-account .u-columns .u-column2 {
        flex-basis: 100% !important;
        max-width: 100% !important;
      }
    }

    .woocommerce form.login,
    .woocommerce form.register {
      width: 100%;
      max-width: 100%;
      margin: 0;
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 32px;
      box-sizing: border-box;
      box-shadow: 0 4px 18px rgba(122, 36, 28, 0.06);
    }

    .woocommerce form.login h2,
    .woocommerce form.register h2 {
      font-family: Cardo, serif;
      font-size: 1.45rem;
      color: var(--kt-brown-dark);
      margin: 0 0 22px;
      text-align: center;
    }

    .woocommerce form .form-row {
      margin-bottom: 18px;
    }

    .woocommerce form .form-row label {
      font-size: 0.86rem;
      font-weight: 600;
      color: var(--kt-text);
      margin-bottom: 6px;
      display: inline-block;
    }

    .woocommerce form .form-row input.input-text {
      width: 100%;
      box-sizing: border-box;
      padding: 12px 14px;
      border: 1px solid var(--kt-border);
      border-radius: 8px;
      font-size: 0.95rem;
      background-color: var(--kt-white);
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .woocommerce form .form-row input.input-text:focus {
      outline: none;
      border-color: var(--kt-brown);
      box-shadow: 0 0 0 3px rgba(178, 58, 46, 0.12);
    }

    .woocommerce-form-login__rememberme {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 4px 0 18px;
      font-size: 0.88rem;
      color: var(--kt-text-muted);
    }

    .woocommerce-LostPassword {
      margin-top: 16px;
      font-size: 0.85rem;
      text-align: center;
    }

    .woocommerce-LostPassword a {
      color: var(--kt-brown);
      font-weight: 600;
    }

    .woocommerce form.login .button,
    .woocommerce form.register .button {
      width: 100%;
      padding: 13px;
      font-size: 0.95rem;
      font-weight: 700;
      letter-spacing: 0.2px;
    }

    /* Registration form's privacy-notice paragraph (WooCommerce core copy) */
    .woocommerce form.register .woocommerce-privacy-policy-text {
      font-size: 0.78rem;
      color: var(--kt-text-muted);
      line-height: 1.5;
      margin: 14px 0 4px;
    }

    .woocommerce form.register .woocommerce-privacy-policy-text a {
      color: var(--kt-brown);
      text-decoration: underline;
    }


    .woocommerce-account .woocommerce-MyAccount-navigation {
      float: none;
      width: 100%;
      margin-bottom: 32px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 0 0 20px;
      border-bottom: 1px solid var(--kt-border);
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
      margin: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
      display: inline-block;
      padding: 9px 20px;
      border-radius: 30px;
      background-color: var(--kt-beige);
      color: var(--kt-brown-dark);
      font-size: 0.88rem;
      font-weight: 500;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
      background-color: var(--kt-brown-light);
      color: var(--kt-white);
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
      background-color: var(--kt-brown);
      color: var(--kt-white) !important;
    }

    /* Mobile: the wrapped-pill row above looks jagged (each pill sized to
       its own text, wrapping into an uneven 2-per-row grid). Switch to a
       clean full-width list - one row per item, consistent height, a
       trailing chevron - which reads as a proper account menu instead of
       scattered buttons. */
    @media (max-width: 600px) {
      .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: column;
        gap: 0;
        border-bottom: none;
        padding: 8px;
        background-color: var(--kt-white);
        border: 1px solid var(--kt-border);
        border-radius: 12px;
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        border-bottom: 1px solid var(--kt-border);
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
        border-bottom: none;
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        box-sizing: border-box;
        padding: 15px 6px;
        border-radius: 0;
        background-color: transparent;
        font-size: 0.95rem;
        font-weight: 600;
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li a::after {
        content: '\203A';
        color: var(--kt-text-muted);
        font-size: 1.2rem;
        font-weight: 400;
        margin-left: 8px;
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
        background-color: var(--kt-beige);
        color: var(--kt-brown-dark);
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        background-color: var(--kt-beige);
        color: var(--kt-brown) !important;
      }

      .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::after {
        color: var(--kt-brown);
      }
    }

    .woocommerce-account .woocommerce-MyAccount-content {
      max-width: 900px;
    }

    .woocommerce-account .woocommerce-MyAccount-content>p:first-child {
      color: var(--kt-text-muted);
    }

    /* Dashboard intro: WooCommerce prints two separate paragraphs ("Hello
       X (not X? Log out)" and the "From your dashboard..." blurb) - each
       was wrapped in its own beige box (.woocommerce-MyAccount-content>p),
       which stacked as two heavy, disconnected blocks. Merge them
       visually into one card with clearer hierarchy instead. */
    .woocommerce-account .woocommerce-MyAccount-content>p {
      background-color: var(--kt-beige);
      border-radius: 12px;
      padding: 18px 20px;
      margin: 0 0 2px;
      color: var(--kt-text);
      line-height: 1.6;
    }

    .woocommerce-account .woocommerce-MyAccount-content>p:first-of-type {
      border-radius: 12px 12px 0 0;
      margin-bottom: 1px;
      font-size: 1.05rem;
    }

    .woocommerce-account .woocommerce-MyAccount-content>p:first-of-type strong {
      color: var(--kt-brown-dark);
    }

    .woocommerce-account .woocommerce-MyAccount-content>p+p {
      border-radius: 0 0 12px 12px;
      color: var(--kt-text-muted);
      font-size: 0.92rem;
    }

    .woocommerce-orders-table__cell-order-actions .button {
      padding: 6px 14px;
      font-size: 0.8rem;
      margin: 2px;
    }

    .woocommerce-orders-table__cell-order-status {
      font-weight: 600;
    }

    .woocommerce-account .addresses .title h3 {
      font-family: Cardo, serif;
      font-size: 1.1rem;
    }

    .woocommerce-account .addresses .address {
      background-color: var(--kt-beige);
      padding: 18px;
      border-radius: 10px;
      margin-bottom: 12px;
    }

    .woocommerce-EditAccountForm fieldset {
      border: 1px solid var(--kt-border);
      border-radius: 10px;
      padding: 18px;
      margin-top: 20px;
    }

    .woocommerce-EditAccountForm legend {
      padding: 0 8px;
      font-family: Cardo, serif;
      color: var(--kt-brown-dark);
    }

    .site-footer {
      background-color: var(--kt-brown-dark);
      color: rgba(255, 255, 255, 0.85);
      padding: 56px 0 24px;
      margin-top: 0;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 32px;
      margin-bottom: 32px;
    }

    .footer-grid h4 {
      color: var(--kt-white);
      font-size: 1rem;
      margin-bottom: 14px;
    }

    .footer-grid p,
    .footer-grid a {
      color: rgba(255, 255, 255, 0.75);
      font-size: 0.9rem;
    }

    .footer-grid ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-grid li {
      margin-bottom: 8px;
    }

    .footer-grid .widget {
      margin-bottom: 24px;
    }

    .footer-grid .widget:last-child {
      margin-bottom: 0;
    }

    .footer-grid .widget_title,
    .footer-grid .widgettitle {
      color: var(--kt-white);
      font-size: 1rem;
      margin-bottom: 14px;
      font-family: Cardo, serif;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.15);
      padding-top: 20px;
      text-align: center;
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.6);
    }

    @media (max-width: 780px) {
      .footer-grid {
        grid-template-columns: 1fr;
      }
    }

    /* ==========================================================================
   10. MISC PAGE / SINGLE POST
   ========================================================================== */
    .page-content,
    .entry-content {
      max-width: 800px;
      margin: 0 auto;
      padding: 60px 24px;
    }

    .page-title {
      text-align: center;
      padding-top: 50px;
    }

    /* ==========================================================================
   11. DISTRIBUTOR APPLICATION FORM
   ========================================================================== */
    .kamdhenu-distributor-form {
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 36px;
    }

    .kamdhenu-distributor-form .form-row {
      margin-bottom: 18px;
    }

    .kamdhenu-distributor-form .form-row-group {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }

    @media (max-width: 600px) {
      .kamdhenu-distributor-form .form-row-group {
        grid-template-columns: 1fr;
      }
    }

    .kamdhenu-distributor-form label {
      display: block;
      font-size: 0.88rem;
      color: var(--kt-text-muted);
      margin-bottom: 6px;
    }

    .kamdhenu-distributor-form input[type="text"],
    .kamdhenu-distributor-form input[type="tel"],
    .kamdhenu-distributor-form input[type="email"],
    .kamdhenu-distributor-form textarea {
      width: 100%;
      padding: 11px 14px;
      border: 1px solid var(--kt-border);
      border-radius: 8px;
      font-family: "Inter", sans-serif;
      box-sizing: border-box;
    }

    /* ==========================================================================
   12. SUBSCRIPTION BADGE (cart)
   ========================================================================== */
    .kamdhenu-sub-badge {
      display: inline-block;
      background-color: var(--kt-green);
      color: var(--kt-white);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.03em;
      padding: 3px 10px;
      border-radius: 20px;
      margin-left: 8px;
      vertical-align: middle;
    }

    /* ==========================================================================
   13. WAVE SECTION DIVIDERS
   ========================================================================== */
    .wave-divider {
      display: block;
      width: 100%;
      height: 60px;
      margin-bottom: -1px;
    }

    .wave-divider svg {
      display: block;
      width: 100%;
      height: 100%;
    }

    /* ==========================================================================
   14. STATS / TRUST NUMBERS
   ========================================================================== */
    .stats-section {
      background: linear-gradient(135deg, var(--kt-brown-dark), var(--kt-red));
      padding: 80px 0;
      box-shadow: inset 0 -8px 16px -8px rgba(0,0,0,0.25);
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      text-align: center;
    }

    @media (max-width: 780px) {
      .stats-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    .stat-item .stat-number {
      font-family: 'Cardo', serif;
      font-size: 3.5rem;
      font-weight: 700;
      color: var(--kt-white);
      display: block;
      line-height: 1;
    }

    .stat-item .stat-label {
      color: rgba(255,255,255,0.8);
      font-size: 0.95rem;
      margin-top: 12px;
      letter-spacing: 0.03em;
      text-transform: uppercase;
    }

    /* ==========================================================================
   15. PROCESS TIMELINE (Garden to Cup)
   ========================================================================== */
    .process-section {
      background-color: var(--kt-white);
    }

    .process-timeline {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      position: relative;
      margin-top: 20px;
    }

    .process-timeline::before {
      content: "";
      position: absolute;
      top: 25px;
      left: 15%;
      right: 15%;
      height: 2px;
      background: repeating-linear-gradient(90deg, var(--kt-gold) 0 10px, transparent 10px 18px);
    }

    @media (max-width: 900px) {
      .process-timeline {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      .process-timeline::before {
        display: none;
      }
    }

    .process-step {
      text-align: center;
      padding: 0 16px;
      position: relative;
    }

    .process-step-number {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background-color: var(--kt-red);
      color: var(--kt-white);
      font-family: 'Cardo', serif;
      font-size: 1.3rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 18px;
      position: relative;
      z-index: 2;
      border: 3px solid var(--kt-white);
      box-shadow: 0 0 0 2px var(--kt-gold);
    }

    .process-step h4 {
      font-size: 1.05rem;
      margin-bottom: 8px;
    }

    .process-step p {
      color: var(--kt-text-muted);
      font-size: 0.88rem;
      margin: 0;
    }

    /* ==========================================================================
   16. SUBSCRIPTION CROSS-PROMO BANNER
   ========================================================================== */
    .subscribe-banner {
      background: linear-gradient(120deg, var(--kt-green-dark), var(--kt-green));
      border-radius: 20px;
      padding: 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      flex-wrap: wrap;
    }

    .subscribe-banner-text h2 {
      color: var(--kt-white);
      margin-bottom: 8px;
    }

    .subscribe-banner-text p {
      color: rgba(255, 255, 255, 0.85);
      margin: 0;
      max-width: 480px;
    }

    .subscribe-banner .btn {
      background-color: var(--kt-white);
      color: var(--kt-green-dark) !important;
      white-space: nowrap;
    }

    .subscribe-banner .btn:hover {
      background-color: var(--kt-gold);
      color: var(--kt-white) !important;
    }

    /* Subtle dot-pattern texture for section backgrounds */
    .texture-dots {
      background-image: radial-gradient(var(--kt-border) 1.5px, transparent 1.5px);
      background-size: 22px 22px;
    }

    /* ==========================================================================
   17. ACCOUNT DASHBOARD - WELCOME BANNER & GREETING CARD
   ========================================================================== */
    .kamdhenu-dashboard-welcome {
      background: linear-gradient(120deg, var(--kt-brown-dark), var(--kt-red));
      border-radius: 16px;
      padding: 32px 36px;
      margin-bottom: 28px;
    }

    .kamdhenu-dashboard-welcome .hero-eyebrow {
      color: var(--kt-gold);
    }

    .kamdhenu-dashboard-welcome h2 {
      color: var(--kt-white);
      margin-bottom: 6px;
      font-size: 1.5rem;
    }

    .kamdhenu-dashboard-welcome p:last-child {
      color: rgba(255, 255, 255, 0.85);
      margin: 0;
    }

    .woocommerce-MyAccount-content>p {
      background-color: var(--kt-beige);
      border-radius: 10px;
      padding: 16px 20px;
      color: var(--kt-text-muted);
      font-size: 0.92rem;
    }

    .woocommerce-MyAccount-content>p:first-of-type strong {
      color: var(--kt-brown-dark);
    }

    .woocommerce-MyAccount-content a {
      font-weight: 600;
    }

    /* ==========================================================================
   18. QUANTITY STEPPER (+ / - buttons) & REMOVE BUTTON
   ========================================================================== */
    .kamdhenu-qty-wrapper {
      display: inline-flex;
      align-items: stretch;
      border: 1px solid var(--kt-border);
      border-radius: 8px;
      overflow: hidden;
      background-color: var(--kt-white);
    }

    .kamdhenu-qty-btn {
      background-color: var(--kt-beige);
      color: var(--kt-brown-dark);
      border: none;
      width: 36px;
      font-size: 1.1rem;
      font-weight: 700;
      cursor: pointer;
      line-height: 1;
      transition: background-color var(--kt-transition);
    }

    .kamdhenu-qty-btn:hover {
      background-color: var(--kt-brown);
      color: var(--kt-white);
    }

    .kamdhenu-qty-wrapper input.qty {
      border: none !important;
      width: 48px !important;
      text-align: center;
      -moz-appearance: textfield;
    }

    .kamdhenu-qty-wrapper input.qty::-webkit-inner-spin-button,
    .kamdhenu-qty-wrapper input.qty::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    /* Remove (x) button - make it clearly visible everywhere it appears */
    .woocommerce a.remove,
    .woocommerce table.cart td.product-remove a.remove {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      width: 26px !important;
      height: 26px !important;
      line-height: 1 !important;
      border-radius: 50% !important;
      background-color: var(--kt-red) !important;
      color: var(--kt-white) !important;
      font-size: 1.1rem !important;
      font-weight: 700;
      text-decoration: none !important;
      opacity: 1 !important;
      visibility: visible !important;
    }

    .woocommerce a.remove:hover {
      background-color: var(--kt-red-dark) !important;
      color: var(--kt-white) !important;
    }

    .woocommerce table.cart td.product-remove {
      text-align: center;
      width: 40px;
    }

    .kamdhenu-cart-loading {
      opacity: 0.5;
      pointer-events: none;
      transition: opacity 0.2s ease;
    }

    /* ==========================================================================
   19. SUBSCRIPTION PLAN SELECTOR (product page)
   ========================================================================== */
    .kamdhenu-plan-selector {
      margin: 24px 0;
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 20px;
      background-color: var(--kt-beige);
    }

    .kamdhenu-plan-heading {
      font-weight: 700;
      color: var(--kt-brown-dark);
      margin-bottom: 14px;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 6px;
    }

    .kamdhenu-plan-heading span {
      font-weight: 400;
      font-size: 0.8rem;
      color: var(--kt-text-muted);
    }

    .kamdhenu-plan-option {
      display: flex;
      align-items: center;
      cursor: pointer;
      position: relative;
    }

    .kamdhenu-plan-option input[type="radio"] {
      margin-right: 10px;
      width: 18px;
      height: 18px;
      accent-color: var(--kt-red);
      flex-shrink: 0;
    }

    .kamdhenu-plan-full {
      background-color: var(--kt-white);
      border: 1.5px solid var(--kt-border);
      border-radius: 10px;
      padding: 14px 16px;
      margin-bottom: 12px;
      justify-content: space-between;
    }

    .kamdhenu-plan-full.is-checked,
    .kamdhenu-plan-full:has(input:checked) {
      border-color: var(--kt-red);
    }

    .kamdhenu-plan-text {
      display: flex;
      flex-direction: column;
    }

    .kamdhenu-plan-label {
      font-weight: 600;
      color: var(--kt-brown-dark);
      font-size: 0.92rem;
    }

    .kamdhenu-plan-sub {
      font-size: 0.78rem;
      color: var(--kt-text-muted);
    }

    .kamdhenu-plan-full .kamdhenu-plan-price {
      font-weight: 700;
      color: var(--kt-text);
    }

    .kamdhenu-plan-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }

    @media (max-width: 560px) {
      .kamdhenu-plan-grid {
        grid-template-columns: 1fr;
      }
    }

    .kamdhenu-plan-card {
      flex-direction: column;
      align-items: flex-start;
      background-color: var(--kt-white);
      border: 1.5px solid var(--kt-border);
      border-radius: 10px;
      padding: 14px;
      gap: 4px;
    }

    .kamdhenu-plan-card input[type="radio"] {
      position: absolute;
      top: 12px;
      right: 12px;
      margin: 0;
    }

    .kamdhenu-plan-card.is-checked,
    .kamdhenu-plan-card:has(input:checked) {
      border-color: var(--kt-red);
      box-shadow: 0 0 0 1px var(--kt-red);
    }

    .kamdhenu-plan-card.is-best {
      border-color: var(--kt-green);
    }

    .kamdhenu-plan-card.is-best.is-checked,
    .kamdhenu-plan-card.is-best:has(input:checked) {
      box-shadow: 0 0 0 1px var(--kt-green);
      border-color: var(--kt-green);
    }

    .kamdhenu-plan-badge {
      background-color: var(--kt-green);
      color: var(--kt-white);
      font-size: 0.65rem;
      font-weight: 700;
      padding: 3px 8px;
      border-radius: 10px;
      letter-spacing: 0.03em;
      margin-bottom: 4px;
    }

    .kamdhenu-plan-card .kamdhenu-plan-label {
      font-size: 0.85rem;
    }

    .kamdhenu-plan-card .kamdhenu-plan-price {
      font-weight: 700;
      color: var(--kt-green-dark);
      font-size: 1.05rem;
    }

    .kamdhenu-plan-card .kamdhenu-plan-price small {
      font-weight: 400;
      font-size: 0.72rem;
      color: var(--kt-text-muted);
    }

    .kamdhenu-plan-total {
      font-size: 0.72rem;
      color: var(--kt-text-muted);
      margin-top: 2px;
    }

    .kamdhenu-plan-note {
      font-size: 0.78rem;
      color: var(--kt-text-muted);
      margin: 14px 0 0;
      font-style: italic;
    }

    /* Savings banner + cart item plan meta */
    .kamdhenu-savings-banner {
      background-color: var(--kt-green);
      color: var(--kt-white);
      padding: 12px 16px;
      border-radius: 10px;
      font-size: 0.88rem;
      font-weight: 600;
      margin-bottom: 18px;
    }

    .woocommerce table.cart .wc-item-meta {
      margin-top: 6px;
      font-size: 0.82rem;
    }

    .woocommerce table.cart .wc-item-meta strong {
      color: var(--kt-green-dark);
    }

    /* ==========================================================================
   20. CART PAGE PLAN SWITCHER
   ========================================================================== */
    .kamdhenu-cart-plan-switch {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
      margin-top: 10px;
    }

    .kamdhenu-cart-plan-switch-label {
      font-size: 0.78rem;
      color: var(--kt-text-muted);
      margin-right: 2px;
    }

    .kamdhenu-cart-plan-btn {
      background-color: var(--kt-white) !important;
      color: var(--kt-brown-dark) !important;
      border: 1.5px solid var(--kt-brown-dark);
      border-radius: 20px;
      padding: 6px 14px;
      font-size: 0.78rem;
      font-weight: 700;
      cursor: pointer;
      font-family: "Inter", sans-serif;
      transition: background-color var(--kt-transition), color var(--kt-transition);
      opacity: 1;
    }

    .kamdhenu-cart-plan-btn:hover {
      background-color: var(--kt-brown-dark) !important;
      color: var(--kt-white) !important;
    }

    .kamdhenu-cart-plan-btn.is-active {
      background-color: var(--kt-red) !important;
      color: var(--kt-white) !important;
      border-color: var(--kt-red);
    }

    /* Weight buttons styling */
    .kamdhenu-weight-btn {
      background-color: var(--kt-white) !important;
      color: var(--kt-brown-dark) !important;
      border: 1.5px solid var(--kt-border) !important;
      transition: background-color var(--kt-transition), color var(--kt-transition), border-color var(--kt-transition);
    }
    .kamdhenu-weight-btn.is-active {
      background-color: var(--kt-red) !important;
      color: var(--kt-white) !important;
      border-color: var(--kt-red) !important;
    }
    .kamdhenu-weight-btn:hover {
      background-color: #f5eae0 !important;
      color: var(--kt-red) !important;
      border-color: var(--kt-red) !important;
    }
    .kamdhenu-weight-btn.is-active:hover {
      background-color: var(--kt-red-dark) !important;
      color: var(--kt-white) !important;
      border-color: var(--kt-red-dark) !important;
    }

    /* Redesigned Product Details CSS */
    .pd-top-badge {
      display: inline-block;
      background-color: var(--kt-red-dark);
      color: var(--kt-white);
      font-size: 0.75rem;
      font-weight: 700;
      padding: 6px 12px;
      border-radius: 4px;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 12px;
    }
    .pd-category-label {
      display: block;
      text-transform: uppercase;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--kt-text-muted);
      letter-spacing: 1px;
      margin-bottom: 8px;
    }
    .pd-main-title {
      font-family: Cardo, serif;
      font-size: 2.2rem;
      color: var(--kt-brown-dark);
      line-height: 1.2;
      margin-bottom: 15px;
    }
    .pd-main-title em {
      font-style: italic;
      font-family: Cardo, serif;
      color: var(--kt-red);
    }
    .pd-benefits-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 20px 0;
    }
    .pd-benefit-tag {
      background-color: #fff;
      border: 1px solid var(--kt-border);
      padding: 6px 14px;
      border-radius: 20px;
      font-size: 0.82rem;
      font-weight: 500;
      color: var(--kt-text);
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .pd-social-row {
      display: flex;
      gap: 30px;
      margin: 20px 0;
      padding: 15px 0;
      border-top: 1px solid var(--kt-border);
      border-bottom: 1px solid var(--kt-border);
    }
    .pd-social-box {
      display: flex;
      flex-direction: column;
    }
    .pd-social-num {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--kt-text);
    }
    .pd-social-label {
      font-size: 0.75rem;
      color: var(--kt-text-muted);
    }
    .pd-btn-atc {
      background-color: #311c4c !important;
      color: #fff !important;
      width: 100%;
      padding: 16px;
      border: none;
      border-radius: 6px;
      font-size: 1.1rem;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
      transition: background-color var(--kt-transition);
    }
    .pd-btn-atc:hover {
      background-color: #231238 !important;
    }
    .pd-btn-buy {
      background-color: #b23a2e !important;
      color: #fff !important;
      width: 100%;
      padding: 16px;
      border: none;
      border-radius: 6px;
      font-size: 1.1rem;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
      transition: background-color var(--kt-transition);
    }
    .pd-btn-buy:hover {
      background-color: #922c22 !important;
    }
    .pd-trust-banner {
      background-color: #2a4628;
      color: #fff;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: 15px 24px;
      margin-top: 40px;
      flex-wrap: wrap;
      gap: 15px;
    }
    .pd-trust-banner-item {
      font-size: 0.85rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .pd-science-section {
      padding: 60px 48px;
      background-color: #f7efe4;
      border-top: 1px solid var(--kt-border);
    }
    .pd-science-grid {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 50px;
      align-items: start;
      max-width: 1280px;
      margin: 0 auto;
    }
    @media (max-width: 960px) {
      .pd-science-grid {
        grid-template-columns: 1fr;
        gap: 30px;
      }
      .pd-science-section {
        padding: 40px 24px;
      }
    }
    .pd-science-card {
      background-color: #311c4c;
      color: #fff;
      border-radius: 12px;
      padding: 30px;
      box-shadow: 0 10px 30px rgba(49, 28, 76, 0.15);
    }
    .pd-science-card-title {
      font-family: Cardo, serif;
      font-size: 1.4rem;
      margin-bottom: 15px;
      color: #fff;
    }
    .pd-science-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 15px;
      margin-top: 25px;
      padding-top: 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.2);
    }
    .pd-science-metric-item {
      text-align: center;
    }
    .pd-science-metric-num {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--kt-gold);
    }
    .pd-science-metric-label {
      font-size: 0.7rem;
      color: rgba(255, 255, 255, 0.8);
      margin-top: 4px;
    }

    /* Mobile Sticky CTA Bar — hidden on desktop, shown only on mobile */
    #pd-sticky-cta {
      display: none; /* hidden by default on all screens */
    }
    @media (max-width: 768px) {
      #pd-sticky-cta {
        display: flex;
        position: fixed;
        bottom: 16px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 9999;
        background: #1e1208;
        padding: 5px;
        gap: 6px;
        border-radius: 50px;
        box-shadow: 0 6px 28px rgba(0,0,0,0.45);
        width: 90%;
        max-width: 480px;
        box-sizing: border-box;
      }
      #pd-sticky-cta .sticky-buy-btn,
      #pd-sticky-cta .sticky-atc-btn {
        flex: 1 1 0%;
        border: none;
        border-radius: 50px;
        padding: 12px 16px;
        font-size: 0.85rem;
        font-weight: 800;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        letter-spacing: 0.6px;
        text-transform: uppercase;
        white-space: nowrap;
        box-sizing: border-box;
        height: 44px; /* fixed height for alignment */
      }
      #pd-sticky-cta .sticky-buy-btn {
        background-color: #c89b3c !important;
        color: #1e1208 !important;
      }
      #pd-sticky-cta .sticky-atc-btn {
        background-color: #b23a2e !important;
        color: #fff !important;
      }
      #pd-sticky-cta svg {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
      }
      /* NOTE: no `body { padding-bottom: 80px; }` here on purpose.
         This file is enqueued site-wide (functions.php has no is_product()
         guard), but the #pd-sticky-cta bar it was reserving space for only
         ever renders on single-product.php. That copy-pasted rule was
         leaking an invisible 80px gap onto every other page. The product
         page still gets its own correct copy of this rule from
         css/page-product.css, so nothing is lost by removing it here. */
    }
    
    @media (max-width: 400px) {
      #pd-sticky-cta {
        width: 94%;
        gap: 4px;
        padding: 4px;
        bottom: 12px;
      }
      #pd-sticky-cta .sticky-buy-btn,
      #pd-sticky-cta .sticky-atc-btn {
        padding: 10px 8px;
        font-size: 0.75rem;
        gap: 4px;
        letter-spacing: 0.3px;
        height: 40px;
      }
      #pd-sticky-cta svg {
        width: 12px;
        height: 12px;
      }
    }

    @media (max-width: 320px) {
      #pd-sticky-cta .sticky-buy-btn,
      #pd-sticky-cta .sticky-atc-btn {
        font-size: 0.68rem;
        padding: 8px 4px;
        gap: 3px;
      }
    }

    /* Reviews Section Styles */
    .pd-reviews-section {
      padding: 60px 48px;
      background-color: var(--kt-cream);
      border-top: 1px solid var(--kt-border);
      max-width: 1280px;
      margin: 0 auto;
      box-sizing: border-box;
    }
    @media (max-width: 960px) {
      .pd-reviews-section {
        padding: 40px 24px;
      }
    }
    .pd-reviews-title {
      font-family: Cardo, serif;
      font-size: 2rem;
      color: var(--kt-brown-dark);
      text-align: center;
      margin-bottom: 30px;
    }
    .pd-reviews-summary-card {
      display: grid;
      grid-template-columns: 1fr 2.5fr;
      gap: 40px;
      background: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 12px;
      padding: 30px;
      margin-bottom: 40px;
      align-items: center;
    }
    @media (max-width: 768px) {
      .pd-reviews-summary-card {
        grid-template-columns: 1fr;
        gap: 20px;
        text-align: center;
        padding: 20px;
      }
    }
    .pd-reviews-rating-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border-right: 1px solid var(--kt-border);
      padding-right: 20px;
    }
    @media (max-width: 768px) {
      .pd-reviews-rating-box {
        border-right: none;
        border-bottom: 1px solid var(--kt-border);
        padding-right: 0;
        padding-bottom: 20px;
      }
    }
    .pd-reviews-avg-num {
      font-size: 3.5rem;
      font-weight: 800;
      color: var(--kt-brown-dark);
      line-height: 1;
    }
    .pd-reviews-avg-stars {
      color: var(--kt-gold);
      font-size: 1.5rem;
      margin: 10px 0;
    }
    .pd-reviews-avg-count {
      font-size: 0.9rem;
      color: var(--kt-text-muted);
      font-weight: 600;
    }
    .pd-reviews-histogram {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .pd-reviews-histo-row {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--kt-text);
    }
    .pd-reviews-histo-label {
      width: 60px;
      text-align: right;
    }
    .pd-reviews-histo-bar-bg {
      flex-grow: 1;
      height: 12px;
      background: var(--kt-beige);
      border-radius: 6px;
      overflow: hidden;
    }
    .pd-reviews-histo-bar-fill {
      height: 100%;
      background: var(--kt-gold);
      border-radius: 6px;
    }
    .pd-reviews-histo-count {
      width: 50px;
      color: var(--kt-text-muted);
    }
    .pd-reviews-list {
      display: flex;
      flex-direction: column;
    }
    .pd-review-item {
      padding: 24px 0;
      border-bottom: 1px solid var(--kt-border);
    }
    .pd-review-item:last-child {
      border-bottom: none;
    }
    .pd-review-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 8px;
    }
    @media (max-width: 480px) {
      .pd-review-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
      }
    }
    .pd-review-stars {
      color: var(--kt-gold);
      font-size: 1.1rem;
    }
    .pd-review-date {
      font-size: 0.8rem;
      color: var(--kt-text-muted);
      font-weight: 500;
    }
    .pd-review-title {
      font-family: Cardo, serif;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--kt-brown-dark);
      margin: 0 0 6px 0;
    }
    .pd-review-author-row {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--kt-text);
      margin-bottom: 10px;
    }
    .pd-verified-badge {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      color: var(--kt-green-dark);
      font-size: 0.72rem;
      font-weight: 700;
      background: #eef7ed;
      padding: 2px 8px;
      border-radius: 12px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .pd-review-body {
      font-size: 0.95rem;
      line-height: 1.5;
      color: var(--kt-text-muted);
      margin: 0;
    }
    .pd-reviews-pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin-top: 30px;
      flex-wrap: wrap;
    }
    .pd-reviews-page-btn {
      min-width: 38px;
      height: 38px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--kt-border);
      border-radius: 50%;
      background: var(--kt-white);
      color: var(--kt-text);
      font-weight: 700;
      font-size: 0.9rem;
      cursor: pointer;
      transition: all 0.2s;
      outline: none;
      box-sizing: border-box;
      padding: 0;
    }
    .pd-reviews-page-btn:hover {
      border-color: var(--kt-red);
      color: var(--kt-red);
      background: var(--kt-beige);
    }
    .pd-reviews-page-btn.is-active {
      background: var(--kt-red-dark);
      border-color: var(--kt-red-dark);
      color: var(--kt-white);
    }
    .pd-reviews-page-btn:disabled {
      opacity: 0.4;
      cursor: not-allowed;
      background: var(--kt-beige);
    }

    /* ==========================================================================
   21. REDESIGNED CART PAGE (card layout, Order Summary sidebar)
   ========================================================================== */
    .kamdhenu-cart-wrap {
      display: grid !important;
      grid-template-columns: 1fr 480px !important;
      gap: 32px !important;
      align-items: start !important;
      max-width: 1280px !important;
      width: 100% !important;
      margin: 0 auto !important;
      padding: 0 24px 70px !important;
      box-sizing: border-box !important;
    }

    @media (max-width: 960px) {
      .kamdhenu-cart-wrap {
        grid-template-columns: 1fr !important;
      }
    }

    .kamdhenu-cart-item-card {
      display: flex !important;
      align-items: flex-start !important;
      gap: 18px !important;
      width: 100% !important;
      box-sizing: border-box !important;
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 18px;
      box-shadow: var(--kt-shadow);
    }

    .kamdhenu-free-delivery-banner {
      background-color: var(--kt-beige);
      border: 1px solid var(--kt-border);
      border-radius: 10px;
      padding: 14px 20px;
      font-weight: 600;
      color: var(--kt-brown-dark);
      margin-bottom: 24px;
    }

    .kamdhenu-cart-items-label {
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      color: var(--kt-text-muted);
      margin-bottom: 14px;
    }

    .kamdhenu-cart-items {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 20px;
    }

    .kamdhenu-cart-item-media img {
      width: 72px;
      height: 72px;
      object-fit: contain;
      background-color: var(--kt-beige);
      border-radius: 8px;
      padding: 6px;
    }

    .kamdhenu-cart-item-info {
      flex: 1 1 auto;
      min-width: 0;
    }

    .kamdhenu-cart-item-name a {
      font-weight: 700;
      color: var(--kt-brown-dark);
      font-size: 1rem;
    }

    .kamdhenu-cart-item-qty {
      margin-top: 10px;
    }

    .kamdhenu-cart-item-price {
      text-align: right;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 10px;
    }

    .kamdhenu-cart-item-subtotal {
      font-weight: 700;
      color: var(--kt-text);
      font-size: 1.05rem;
    }

    .kamdhenu-cart-item-remove a.remove {
      position: static !important;
      background: none !important;
      color: var(--kt-text-muted) !important;
      font-size: 0.8rem !important;
      font-weight: 600;
      border-radius: 0 !important;
      width: auto !important;
      height: auto !important;
      text-decoration: underline !important;
    }

    .kamdhenu-cart-item-remove a.remove:hover {
      color: var(--kt-red) !important;
    }

    .kamdhenu-cart-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
      background-color: var(--kt-white);
      border: 1px solid var(--kt-border);
      border-radius: 14px;
      padding: 18px;
    }

    .kamdhenu-cart-actions .coupon {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .kamdhenu-cart-actions .coupon label {
      display: none;
    }

    .kamdhenu-cart-actions .coupon input#coupon_code {
      padding: 11px 14px;
      border: 1px solid var(--kt-border);
      border-radius: 8px;
      width: 180px;
    }

    /* Sidebar / Order Summary */
    .kamdhenu-cart-sidebar {
      position: sticky;
      top: 90px;
    }

    .cart_totals {
      padding: 0 0 32px !important;
      overflow: hidden;
      margin-left: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
      box-sizing: border-box !important;
      border-width: 1.5px !important;
      display: flex !important;
      flex-direction: column !important;
    }

    .cart_totals>h2 {
      order: 1;
      margin: 0 !important;
      padding: 22px 32px;
      background: linear-gradient(120deg, var(--kt-green-dark), var(--kt-green));
      color: var(--kt-white) !important;
      font-size: 1.25rem;
      line-height: 1.3;
    }

    .cart_totals .kamdhenu-cart-plan-selector {
      order: 2;
    }

    .cart_totals .kamdhenu-savings-banner {
      order: 3;
      margin: 0 !important;
      border-radius: 0 !important;
      padding: 16px 32px;
      font-size: 0.95rem !important;
    }

    .cart_totals table.shop_table {
      order: 4;
      margin: 26px 32px 0;
      width: calc(100% - 64px) !important;
      box-sizing: border-box;
      table-layout: fixed;
    }

    .cart_totals .wc-proceed-to-checkout {
      order: 5;
    }

    .cart_totals .kamdhenu-trust-badges {
      order: 6;
    }

    .cart_totals table.shop_table th,
    .cart_totals table.shop_table td {
      padding: 16px 4px 16px 8px;
      font-size: 1rem;
    }

    .cart_totals .order-total .woocommerce-Price-amount {
      font-size: 1.5rem !important;
    }

    .cart_totals .wc-proceed-to-checkout {
      margin: 26px 32px 0;
      width: auto;
      box-sizing: border-box;
    }

    .wc-proceed-to-checkout a.checkout-button {
      padding: 17px !important;
      font-size: 1.05rem !important;
    }

    .kamdhenu-trust-badges {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px 10px;
      margin: 26px 32px 0;
      text-align: center;
      box-sizing: border-box;
    }

    .kamdhenu-trust-badges div {
      font-size: 0.75rem;
      color: var(--kt-text-muted);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      line-height: 1.25;
      min-width: 0;
      overflow-wrap: break-word;
    }

    .kamdhenu-trust-badges span {
      font-size: 1.15rem;
    }

    /* Locked quantity badge for subscription-plan cart items */
    .kamdhenu-qty-locked {
      display: inline-flex;
      flex-direction: column;
      background-color: var(--kt-beige);
      border: 1px solid var(--kt-border);
      border-radius: 8px;
      padding: 8px 14px;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--kt-brown-dark);
    }

    .kamdhenu-qty-locked small {
      font-weight: 400;
      font-size: 0.7rem;
      color: var(--kt-text-muted);
      margin-top: 2px;
    }

    /* ==========================================================================
   22. SHOP PAGE - SORTING DROPDOWN
   ========================================================================== */
    .woocommerce-ordering select.orderby {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background-color: var(--kt-white);
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A2E1F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      background-size: 16px;
      border: 1.5px solid var(--kt-border);
      border-radius: 30px;
      padding: 10px 40px 10px 20px;
      font-family: "Inter", sans-serif;
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--kt-brown-dark);
      cursor: pointer;
      min-width: 200px;
      transition: border-color var(--kt-transition);
    }

    .woocommerce-ordering select.orderby:hover,
    .woocommerce-ordering select.orderby:focus {
      border-color: var(--kt-red);
      outline: none;
    }

    .woocommerce-result-count {
      color: var(--kt-text-muted);
      font-size: 0.9rem;
    }

    /* ==========================================================================
   23. VARIABLE PRODUCTS - Weight/Size dropdown styling
   ========================================================================== */
    .woocommerce div.product form.cart .variations {
      width: 100%;
      margin-bottom: 20px;
    }

    .woocommerce div.product form.cart .variations td,
    .woocommerce div.product form.cart .variations th {
      padding: 10px 0;
      border: none;
      vertical-align: middle;
    }

    .woocommerce div.product form.cart .variations label {
      font-weight: 600;
      color: var(--kt-brown-dark);
      font-family: "Inter", sans-serif;
    }

    .woocommerce div.product form.cart .variations select {
      appearance: none;
      -webkit-appearance: none;
      background-color: var(--kt-white);
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A2E1F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      background-size: 16px;
      border: 1.5px solid var(--kt-border);
      border-radius: 8px;
      padding: 11px 40px 11px 16px;
      font-family: "Inter", sans-serif;
      font-size: 0.95rem;
      color: var(--kt-text);
      cursor: pointer;
      width: 100%;
      max-width: 280px;
    }

    .woocommerce div.product form.cart .variations select:hover,
    .woocommerce div.product form.cart .variations select:focus {
      border-color: var(--kt-red);
      outline: none;
    }

    .woocommerce div.product form.cart .reset_variations {
      display: inline-block;
      margin-top: 8px;
      font-size: 0.82rem;
      color: var(--kt-text-muted);
      text-decoration: underline;
    }

    .woocommerce div.product .woocommerce-variation-price .price {
      color: var(--kt-green-dark) !important;
      font-size: 1.3rem !important;
      font-weight: 700;
    }

    .woocommerce div.product .woocommerce-variation {
      background-color: var(--kt-beige);
      border-radius: 10px;
      padding: 16px 18px;
      margin-bottom: 18px;
    }

    .woocommerce div.product .woocommerce-variation-availability {
      font-size: 0.85rem;
      color: var(--kt-green-dark);
    }

    /* ==========================================================================
   24. RELATED / UPSELL PRODUCTS - force same grid as shop page
   ========================================================================== */
    .related.products,
    .upsells.products {
      margin-top: 40px;
      max-width: 100%;
    }

    .related.products h2,
    .upsells.products h2 {
      font-size: 1.5rem;
      margin-bottom: 24px;
    }

    .related.products ul.products,
    .upsells.products ul.products,
    .related ul.products,
    section.related ul.products {
      display: grid !important;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
      gap: 28px !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    @media (max-width: 1000px) {
      .woocommerce ul.products,
      .woocommerce ul.products.columns-4,
      .products {
        grid-template-columns: repeat(2, 1fr) !important;
      }
      .related.products ul.products,
      .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
      }
    }

    @media (max-width: 560px) {

      .related.products ul.products,
      .upsells.products ul.products {
        grid-template-columns: 1fr !important;
      }
    }

    .related.products ul.products li.product,
    .upsells.products ul.products li.product {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      padding: 24px !important;
    }

    .related.products ul.products li.product img,
    .upsells.products ul.products li.product img {
      aspect-ratio: 1 / 1 !important;
      height: auto !important;
      width: 100% !important;
      object-fit: contain !important;
    }

    .related.products ul.products li.product .woocommerce-loop-product__title,
    .upsells.products ul.products li.product .woocommerce-loop-product__title {
      min-height: 2.6em;
      font-size: 1.15rem;
    }

    .related.products ul.products li.product .price,
    .upsells.products ul.products li.product .price {
      min-height: 2.4em;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin-top: auto;
      line-height: 1.5;
      text-align: center;
      font-size: 1.05rem;
    }

    .related.products ul.products li.product .button,
    .upsells.products ul.products li.product .button {
      margin-top: 12px;
      padding: 12px 16px !important;
    }

    /* ==========================================================================
   25. CLEARFIX FIX - the product gallery + summary are floated left/right
   by WooCommerce's default styles; without clearing them, everything that
   follows (tabs, related products) gets squeezed into leftover float space.
   ========================================================================== */
    .woocommerce div.product::before,
    .woocommerce div.product::after {
      content: "";
      display: table;
      clear: both;
    }

    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products {
      clear: both !important;
      width: 100% !important;
      float: none !important;
    }

    /* Force brand color on Add to Cart button (single product page) -
   overrides default WordPress block button purple */
    .woocommerce div.product form.cart .button,
    .woocommerce div.product form.cart .single_add_to_cart_button {
      background-color: var(--kt-red) !important;
      color: var(--kt-white) !important;
      border: none !important;
      border-radius: 8px !important;
    }

    .woocommerce div.product form.cart .button:hover,
    .woocommerce div.product form.cart .single_add_to_cart_button:hover {
      background-color: var(--kt-gold) !important;
      color: var(--kt-white) !important;
    }

    /* ==========================================================================
   26. SUBSCRIPTION PAGE - product selector + plan picker + sticky bar
   ========================================================================== */
    .kamdhenu-sub-step-label {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      font-family: Cardo, serif;
      font-size: 1.3rem;
      color: var(--kt-brown-dark);
      font-weight: 700;
      margin-bottom: 24px;
    }

    .kamdhenu-sub-step-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background-color: var(--kt-green-dark);
      color: var(--kt-white);
      font-size: 0.95rem;
    }

    .kamdhenu-sub-step-hint {
      font-family: "Inter", sans-serif;
      font-size: 0.85rem;
      font-weight: 400;
      color: var(--kt-text-muted);
      margin-left: auto;
    }

    .kamdhenu-sub-product-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 20px;
      margin-bottom: 20px;
    }

    .kamdhenu-sub-product-card {
      background-color: var(--kt-white);
      border: 2px solid var(--kt-border);
      border-radius: 14px;
      padding: 18px;
      text-align: center;
      cursor: pointer;
      transition: border-color var(--kt-transition), box-shadow var(--kt-transition);
    }

    .kamdhenu-sub-product-card:hover {
      box-shadow: var(--kt-shadow);
    }

    .kamdhenu-sub-product-card.is-selected {
      border-color: var(--kt-red);
      box-shadow: 0 0 0 2px var(--kt-red);
    }

    .kamdhenu-sub-product-card img {
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: contain;
      background-color: var(--kt-beige);
      border-radius: 10px;
      margin-bottom: 12px;
      padding: 8px;
    }

    .kamdhenu-sub-product-card h4 {
      font-size: 1rem;
      margin-bottom: 6px;
      color: var(--kt-brown-dark);
    }

    .kamdhenu-sub-product-price {
      margin: 0;
      display: flex;
      align-items: baseline;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .kamdhenu-sub-product-price del {
      color: var(--kt-text-muted);
      font-weight: 400;
      font-size: 0.85rem;
      opacity: 0.8;
    }

    .kamdhenu-sub-product-price strong {
      color: var(--kt-green-dark);
      font-weight: 700;
      font-size: 1rem;
    }

    .kamdhenu-sub-plan-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 24px;
    }

    .kamdhenu-sub-plan-card {
      background-color: var(--kt-white);
      border: 2px solid var(--kt-border);
      border-radius: 16px;
      padding: 28px;
      text-align: center;
      position: relative;
    }

    .kamdhenu-sub-plan-card.is-best {
      border-color: var(--kt-green);
    }

    .kamdhenu-sub-plan-card.is-selected {
      border-color: var(--kt-red);
      box-shadow: 0 0 0 2px var(--kt-red);
    }

    .kamdhenu-sub-plan-badge {
      position: absolute;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
      background-color: var(--kt-green);
      color: var(--kt-white);
      padding: 5px 16px;
      border-radius: 20px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.04em;
    }

    .kamdhenu-sub-plan-duration {
      text-transform: uppercase;
      font-size: 0.72rem;
      letter-spacing: 0.06em;
      color: var(--kt-text-muted);
      margin-bottom: 4px;
    }

    .kamdhenu-sub-plan-card h3 {
      font-size: 1.2rem;
      margin-bottom: 12px;
    }

    .kamdhenu-sub-plan-save {
      display: inline-block;
      background-color: var(--kt-gold);
      color: var(--kt-white);
      font-size: 0.75rem;
      font-weight: 700;
      padding: 4px 14px;
      border-radius: 20px;
      margin-bottom: 14px;
    }

    .kamdhenu-sub-plan-price {
      font-size: 2rem;
      font-weight: 700;
      color: var(--kt-brown-dark);
      margin: 0;
    }

    .kamdhenu-sub-plan-price small {
      display: block;
      font-size: 0.75rem;
      font-weight: 400;
      color: var(--kt-text-muted);
    }

    .kamdhenu-sub-plan-savings-text {
      font-size: 0.82rem;
      color: var(--kt-green-dark);
      margin: 8px 0 0;
    }

    .kamdhenu-sub-plan-card hr {
      border: none;
      border-top: 1px solid var(--kt-border);
      margin: 18px 0;
    }

    .kamdhenu-sub-plan-total {
      font-size: 0.9rem;
      color: var(--kt-text-muted);
      margin-bottom: 18px;
    }

    .kamdhenu-sub-sticky-bar {
      position: fixed;
      bottom: -120px;
      left: 0;
      right: 0;
      background-color: var(--kt-brown-dark);
      box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.2);
      z-index: 999;
      transition: bottom 0.3s ease;
      padding: 16px 0;
    }

    .kamdhenu-sub-sticky-bar.is-visible {
      bottom: 0;
    }

    .kamdhenu-sub-sticky-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    .kamdhenu-sub-sticky-info {
      display: flex;
      flex-direction: column;
    }

    .kamdhenu-sub-sticky-label {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--kt-gold);
    }

    .kamdhenu-sub-sticky-detail {
      color: var(--kt-white);
      font-size: 0.95rem;
      font-weight: 600;
    }

    .kamdhenu-sub-sticky-price {
      color: var(--kt-white);
      font-size: 1.4rem;
      font-weight: 700;
    }

    .kamdhenu-sub-subscribe-btn {
      white-space: nowrap;
    }

    @media (max-width: 700px) {
      .kamdhenu-sub-sticky-inner {
        justify-content: center;
        text-align: center;
      }
    }

    .kamdhenu-sub-weight-row {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      background-color: var(--kt-beige);
      border-radius: 12px;
      padding: 16px 20px;
      margin-bottom: 28px;
    }

    .kamdhenu-sub-weight-label {
      font-weight: 600;
      color: var(--kt-brown-dark);
      font-size: 0.9rem;
    }

    .kamdhenu-sub-weight-options {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .kamdhenu-sub-weight-btn {
      background-color: var(--kt-white);
      color: var(--kt-brown-dark);
      border: 1.5px solid var(--kt-border);
      border-radius: 20px;
      padding: 8px 18px;
      font-size: 0.85rem;
      font-weight: 600;
      cursor: pointer;
      font-family: "Inter", sans-serif;
    }

    .kamdhenu-sub-weight-btn:hover {
      border-color: var(--kt-red);
    }

    .kamdhenu-sub-weight-btn.is-active {
      background-color: var(--kt-red);
      color: var(--kt-white);
      border-color: var(--kt-red);
    }

    /* ==========================================================================
   27. ORDER SUMMARY - CART-WIDE PLAN SELECTOR
   ========================================================================== */
    .kamdhenu-cart-plan-selector {
      padding: 22px 32px 4px;
      box-sizing: border-box;
    }

    .kamdhenu-cart-plan-header {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      margin-bottom: 14px;
    }

    .kamdhenu-cart-plan-header span {
      font-family: Cardo, serif;
      font-weight: 700;
      color: var(--kt-brown-dark);
      font-size: 1.05rem;
    }

    .kamdhenu-cart-plan-header small {
      font-size: 0.7rem;
      color: var(--kt-text-muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .kamdhenu-cart-plan-full {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      background-color: var(--kt-beige);
      border: 1.5px solid var(--kt-border);
      border-radius: 10px;
      padding: 12px 16px;
      margin-bottom: 14px;
      cursor: pointer;
    }

    .kamdhenu-cart-plan-full.is-checked {
      border-color: var(--kt-red);
    }

    .kamdhenu-cart-plan-full input {
      accent-color: var(--kt-red);
      margin-right: 6px;
    }

    .kamdhenu-cart-plan-full span {
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--kt-brown-dark);
      flex: 1;
    }

    .kamdhenu-cart-plan-full strong {
      color: var(--kt-text);
      font-size: 0.95rem;
    }

    .kamdhenu-cart-plan-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 10px;
    }

    .kamdhenu-cart-plan-card {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      background-color: var(--kt-white);
      border: 1.5px solid var(--kt-border);
      border-radius: 10px;
      padding: 14px 8px;
      cursor: pointer;
    }

    .kamdhenu-cart-plan-card input {
      position: absolute;
      opacity: 0;
    }

    .kamdhenu-cart-plan-card.is-checked {
      border-color: var(--kt-red);
      box-shadow: 0 0 0 1px var(--kt-red);
    }

    .kamdhenu-cart-plan-card.is-best {
      background-color: var(--kt-green-dark);
      border-color: var(--kt-green-dark);
    }

    .kamdhenu-cart-plan-card.is-best.is-checked {
      box-shadow: 0 0 0 1px var(--kt-gold);
    }

    .kamdhenu-cart-plan-card.is-best .kamdhenu-cart-plan-duration,
    .kamdhenu-cart-plan-card.is-best strong,
    .kamdhenu-cart-plan-card.is-best small {
      color: var(--kt-white);
    }

    .kamdhenu-cart-plan-badge {
      position: absolute;
      top: -10px;
      left: 50%;
      transform: translateX(-50%);
      background-color: var(--kt-gold);
      color: var(--kt-white);
      font-size: 0.55rem;
      font-weight: 700;
      padding: 3px 8px;
      border-radius: 10px;
      white-space: nowrap;
    }

    .kamdhenu-cart-plan-duration {
      font-size: 0.7rem;
      font-weight: 600;
      color: var(--kt-text-muted);
      margin-bottom: 4px;
    }

    .kamdhenu-cart-plan-card strong {
      font-size: 1.05rem;
      color: var(--kt-brown-dark);
    }

    .kamdhenu-cart-plan-card small {
      font-size: 0.65rem;
      color: var(--kt-text-muted);
    }

    @media (max-width: 420px) {
      .kamdhenu-cart-plan-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Inline demo-extra.css */
    /* Kamdhenu Tea - Static Demo supplementary CSS
   (fills gaps where the original WordPress theme's CSS required a
   ".woocommerce" ancestor class that this static build doesn't have) */

    a.button,
    .products .product .button {
      display: inline-block;
      background-color: var(--kt-brown);
      color: var(--kt-white) !important;
      border: none;
      padding: 12px 28px;
      border-radius: var(--kt-radius);
      font-family: "Inter", sans-serif;
      font-size: 0.95rem;
      letter-spacing: 0.03em;
      text-align: center;
      text-decoration: none;
      cursor: pointer;
    }

    a.button:hover {
      background-color: var(--kt-gold);
      color: var(--kt-white) !important;
    }

    .products .product .product-category-label {
      text-transform: uppercase;
      font-size: 0.7rem;
      letter-spacing: 0.08em;
      color: var(--kt-green-dark);
      font-weight: 600;
      margin-bottom: 4px;
      display: block;
    }

    .products .product .woocommerce-loop-product__title {
      font-family: Cardo, serif;
      font-size: 1.15rem;
      color: var(--kt-brown-dark);
      min-height: 2.6em;
      margin-bottom: 8px;
      display: block;
      flex-grow: 1;
    }

    .products .product .price {
      color: var(--kt-green-dark);
      font-weight: 700;
      font-size: 1.15rem;
      margin-top: auto;
      padding-top: 8px;
      padding-bottom: 14px;
      display: block;
    }

    .products .product img {
      border-radius: 10px;
      margin-bottom: 18px;
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: contain;
      background-color: var(--kt-white);
    }

    .products .product a {
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
    }

    /* Cart totals table - align + spacing (standalone .shop_table, no .woocommerce prefix here) */
    table.shop_table {
      width: 100%;
      border-collapse: collapse;
    }

    table.shop_table th,
    table.shop_table td {
      padding: 12px 0;
      text-align: left;
    }

    table.shop_table td {
      text-align: right;
    }

    /* Cart item name link (plain text used instead of <a>) */
    .kamdhenu-cart-item-name {
      font-weight: 700;
      color: var(--kt-brown-dark);
      font-size: 1rem;
    }

    /* Demo notice banner */
    .kamdhenu-demo-notice {
      background: #fff3cd;
      color: #664d03;
      text-align: center;
      padding: 10px 16px;
      font-size: 0.85rem;
      font-weight: 600;
    }

    /* ==========================================================================
       RESPONSIVE OVERRIDES — Mobile First
       ========================================================================== */

    @media (max-width: 1024px) {
      .container { padding: 0 20px; }
      section { padding: 64px 0; }
      h1 { font-size: 2.1rem; } h2 { font-size: 1.7rem; } h3 { font-size: 1.25rem; }
      .woocommerce ul.products, .woocommerce ul.products.columns-4, .products { grid-template-columns: repeat(3, 1fr) !important; }
      .feature-strip .container { grid-template-columns: repeat(3, 1fr); }
      .stat-item .stat-number { font-size: 2.6rem; }
      .hero { padding: 70px 0; }
      .site-branding img.custom-logo { max-height: 70px; }
      .subscribe-banner { padding: 36px 28px; }
    }

    @media (max-width: 768px) {
      .container { padding: 0 16px; }
      section { padding: 48px 0; }
      h1 { font-size: 1.8rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.15rem; }
      .woocommerce ul.products, .woocommerce ul.products.columns-4, .products { grid-template-columns: repeat(2, 1fr) !important; gap: 18px !important; }
      .feature-strip .container { grid-template-columns: repeat(2, 1fr); gap: 16px; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
      .stat-item .stat-number { font-size: 2.2rem; }
      .stats-section { padding: 56px 0; }
      .hero { padding: 48px 0; }
      .hero-inner { flex-direction: column; gap: 28px; }
      .hero-content { flex: none; width: 100%; text-align: center; }
      .hero-image { flex: none; width: 100%; max-width: 360px; margin: 0 auto; }
      .hero-content p { max-width: 100%; }
      .hero-buttons { justify-content: center; }
      .about-inner { flex-direction: column; gap: 28px; }
      .about-image, .about-content { flex: none; width: 100%; }
      .subscribe-banner { flex-direction: column; align-items: center; text-align: center; padding: 28px 20px; gap: 18px; }
      .footer-grid { grid-template-columns: 1fr; gap: 24px; }
      .site-footer { padding: 40px 0 20px; }
      .kamdhenu-cart-wrap { grid-template-columns: 1fr !important; }
      .kamdhenu-cart-sidebar { position: static; }
      .cart_totals table.shop_table { margin: 20px 16px 0; width: calc(100% - 32px) !important; }
      .cart_totals .wc-proceed-to-checkout { margin: 20px 16px 0; }
      .kamdhenu-trust-badges { margin: 20px 16px 0; }
      .cart_totals > h2 { padding: 18px 20px; }
      .cart_totals .kamdhenu-savings-banner { padding: 14px 20px; }
      .kamdhenu-cart-plan-selector { padding: 18px 20px 4px; }
      .cart_totals { max-width: 100% !important; }
      .process-timeline { grid-template-columns: 1fr; gap: 24px; }
      .process-timeline::before { display: none; }
      .brew-steps { grid-template-columns: 1fr; gap: 18px; }
      .testimonial-grid { grid-template-columns: 1fr; gap: 18px; }
      .site-branding img.custom-logo { max-height: 60px; }
      .kamdhenu-distributor-form { padding: 22px 18px; }
      .kamdhenu-distributor-form .form-row-group { grid-template-columns: 1fr; }
      .kamdhenu-sub-plan-grid { grid-template-columns: 1fr; }
      .kamdhenu-sub-product-grid { grid-template-columns: repeat(2, 1fr); }
      .kamdhenu-plan-grid { grid-template-columns: 1fr; }
      .kamdhenu-cart-item-card { flex-wrap: wrap; }
      .woocommerce div.product .summary { padding-left: 0; }
      .newsletter-section { padding: 56px 0; }
      .newsletter-form { flex-direction: column; align-items: center; }
      .newsletter-form input[type="email"] { flex: none; width: 100%; max-width: 320px; }
    }

    @media (max-width: 480px) {
      .container { padding: 0 14px; }
      section { padding: 36px 0; }
      h1 { font-size: 1.55rem; } h2 { font-size: 1.3rem; } h3 { font-size: 1.1rem; }
      .woocommerce ul.products, .woocommerce ul.products.columns-4, .products { grid-template-columns: 1fr !important; gap: 14px !important; }
      .related.products ul.products, .upsells.products ul.products { grid-template-columns: 1fr !important; }
      .feature-strip .container { grid-template-columns: 1fr; }
      .feature-strip { padding: 36px 0; }
      .stats-grid { grid-template-columns: 1fr; }
      .stat-item .stat-number { font-size: 2rem; }
      .stats-section { padding: 40px 0; }
      .hero { padding: 36px 0; }
      .hero-content h1 { font-size: 1.55rem; }
      .subscribe-banner { border-radius: 12px; padding: 22px 16px; }
      .subscribe-banner-text h2 { font-size: 1.2rem; }
      .hero-buttons .btn { width: 100%; text-align: center; }
      .site-branding img.custom-logo { max-height: 50px; }
      .header-inner { padding: 12px 14px; }
      .main-navigation a { font-size: 1rem; padding: 8px 0; display: block; }
      .kamdhenu-cart-item-card { flex-direction: column; gap: 12px; }
      .kamdhenu-cart-item-price { align-items: flex-start; flex-direction: row; justify-content: space-between; width: 100%; }
      .kamdhenu-cart-actions .coupon input#coupon_code { width: 100%; }
      .kamdhenu-distributor-form { padding: 18px 14px; }
      .kamdhenu-sub-product-grid { grid-template-columns: 1fr; }
      .kamdhenu-sub-sticky-bar { padding: 12px 0; }
      .kamdhenu-sub-sticky-inner { gap: 10px; }
      .faq-item { padding: 4px 14px; }
      .section-heading { margin-bottom: 28px; }
      .footer-bottom { font-size: 0.75rem; padding-top: 14px; }
      .newsletter-section { padding: 40px 0; }
      .stat-item .stat-label { font-size: 0.8rem; }
    }

    @media (max-width: 360px) {
      h1 { font-size: 1.35rem; } h2 { font-size: 1.15rem; }
      .container { padding: 0 12px; }
      .btn, button, input[type="submit"] { padding: 10px 18px; font-size: 0.88rem; }
      .site-branding img.custom-logo { max-height: 44px; }
      .header-actions { gap: 10px; }
      .header-account, .header-cart { width: 36px; height: 36px; }
      .stat-item .stat-number { font-size: 1.75rem; }
    }

    @media (min-width: 769px) and (max-width: 1024px) {
      .woocommerce ul.products, .woocommerce ul.products.columns-4, .products { grid-template-columns: repeat(2, 1fr) !important; gap: 22px !important; }
      .feature-strip .container { grid-template-columns: repeat(2, 1fr); }
      .process-timeline { grid-template-columns: repeat(2, 1fr); gap: 24px; }
      .process-timeline::before { display: none; }
    }
    .pd-brew-widget {
      margin-top: 22px;
      border: 1px solid var(--kt-border);
      border-radius: 12px;
      padding: 4px 20px;
      background-color: var(--kt-beige);
    }
    .pd-brew-widget summary {
      cursor: pointer;
      padding: 16px 0;
      font-weight: 600;
      color: var(--kt-brown-dark);
      font-family: 'Playfair Display', 'Cardo', serif;
      font-size: 1.02rem;
      list-style: none;
    }
    .pd-brew-widget summary::-webkit-details-marker { display: none; }

    /* Single product details grid layout */
    .kamdhenu-single-product-container {
      display: grid !important;
      grid-template-columns: minmax(300px, 600px) 1fr !important;
      gap: 50px !important;
      align-items: start !important;
    }
    
    @media (max-width: 768px) {
      .kamdhenu-single-product-container {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
      }
    }
  
    
    
    
    
    
    /* ==========================================================================
       ANTIGRAVITY RESPONSIVE MOBILE OVERRIDES
       ========================================================================== */
    @media (max-width: 900px) {
      /* Disable sticky FAQ column on mobile/tablet to prevent overlapping the form */
      .dist-faq-col {
        position: static !important;
      }
    }

    @media (max-width: 820px) {
      /* Freeze page scroll when mobile menu is open.
         `body:has(.main-navigation.is-open)` is kept below as a belt-and-
         braces rule for browsers that don't run the JS, but the real,
         reliable lock is the `body.kamdhenu-menu-open` class that
         js/main.js applies together with position:fixed + saved scroll
         offset - overflow:hidden alone does not reliably stop touch-drag
         scrolling on iOS Safari, which is what let the page keep scrolling
         behind the open menu. */
      body:has(.main-navigation.is-open),
      body.kamdhenu-menu-open {
        overflow: hidden !important;
      }

      /* When the scroll lock kicks in, js/main.js sets body{position:fixed;
         top:-<scrollY>px} so touch-scroll can't drag the page behind the
         menu. .site-header is normally `position:sticky` (see the <style>
         block above in this file) - sticky positions relative to its
         nearest scrolling ancestor, which becomes BODY the moment body
         turns into a position:fixed box. Since body's top is a negative
         offset (however far down the page you'd scrolled), the sticky
         header rides along with it and visually slides up out of the
         viewport - exactly the "logo and cross button disappear upward"
         bug. Pinning the header to position:fixed of its own the instant
         the menu opens makes it independent of body's shifted top offset,
         so it stays put at the real viewport top the whole time the menu
         is open. */
      body.kamdhenu-menu-open .site-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
      }

      .header-inner {
        position: relative !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 12px 16px !important;
      }
      .site-branding {
        position: absolute !important;
        left: 50% !important;
        top: 37px !important;
        transform: translate(-50%, -50%) !important;
        z-index: 2100 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        order: 2 !important;
      }
      .site-branding img.custom-logo {
        max-height: 50px !important;
      }
      .menu-toggle,
      .menu-toggle:focus,
      .menu-toggle:active,
      .menu-toggle:hover {
        order: 1 !important;
        display: block !important;
        flex-shrink: 0 !important;
        background: none !important;
        background-color: transparent !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        font-size: 1.8rem !important;
        color: var(--kt-brown-dark) !important;
        cursor: pointer !important;
        padding: 0 !important;
        z-index: 2100 !important;
        margin: 0 !important;
      }
      /* Change hamburger to close cross when menu is open. The
         `body.kamdhenu-menu-open` selectors are the reliable path (driven
         by js/main.js, works in every browser); the `:has()` versions stay
         as a fallback for the rare case JS hasn't run yet. Without the
         class-based version, any browser/webview that doesn't support
         :has() never swapped the icon at all - the button just kept
         showing font-size:0 with no ::before to replace it, i.e. it
         visually disappeared instead of turning into a close icon. */
      .header-inner:has(.main-navigation.is-open) .menu-toggle,
      body.kamdhenu-menu-open .menu-toggle {
        font-size: 0 !important;
      }
      .header-inner:has(.main-navigation.is-open) .menu-toggle::before,
      body.kamdhenu-menu-open .menu-toggle::before {
        content: "✕" !important;
        font-size: 1.8rem !important;
        display: block !important;
      }
      .header-actions {
        order: 3 !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
        z-index: 2100 !important;
        margin: 0 !important;
      }
      .main-navigation {
        order: 4 !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background-color: var(--kt-cream) !important;
        z-index: 2000 !important;
        display: none !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 80px 24px 40px !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
      }
      .main-navigation.is-open {
        display: flex !important;
      }
      .main-navigation ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px !important;
        padding: 0 !important;
        list-style: none !important;
        margin: auto 0 !important;
        width: 100% !important;
      }
      .main-navigation a {
        display: block !important;
        padding: 8px 0 !important;
        font-size: 1.45rem !important;
        font-weight: 700 !important;
        color: var(--kt-brown-dark) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        text-align: center !important;
        transition: color 0.2s ease !important;
      }
      .main-navigation a:hover,
      .main-navigation a:focus {
        color: var(--kt-red) !important;
      }
    }

    @media (max-width: 480px) {
      /* Base Container Padding */
      .container {
        padding: 0 16px !important;
      }
      
      /* Section Spacing */
      section {
        padding: 40px 0 !important;
      }
      
      /* Typography scale on mobile */
      h1 { font-size: 1.65rem !important; }
      h2 { font-size: 1.35rem !important; }
      h3 { font-size: 1.15rem !important; }
      
      /* Prevent mobile browser zoom on form fields */
      input, select, textarea, button, 
      .woocommerce-cart-form .coupon input#coupon_code {
        font-size: 16px !important;
      }
      
      /* Stats Grid: Clean 2x2 layout on mobile */
      .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
      }
      .stat-item {
        padding: 12px 8px !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
      }
      .stat-item .stat-number {
        font-size: 1.85rem !important;
        margin-bottom: 4px !important;
        line-height: 1.1 !important;
      }
      .stat-item .stat-label {
        font-size: 0.72rem !important;
        letter-spacing: 0.05em !important;
        text-transform: uppercase !important;
        opacity: 0.9 !important;
        line-height: 1.3 !important;
      }
      .stats-section {
        padding: 40px 0 !important;
      }

      /* Hero Buttons vertical stacking */
      .hero-buttons {
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
      }
      .hero-buttons .btn {
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
      }

      /* Product Grid: Premium 2-column layout */
      .woocommerce ul.products, 
      .woocommerce ul.products.columns-4, 
      .products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
      }
      .woocommerce ul.products li.product, 
      .woocommerce ul.products.columns-4 li.product, 
      .products .product {
        padding: 12px 10px !important;
        border-radius: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        box-sizing: border-box !important;
      }
      .woocommerce ul.products li.product a img, 
      .woocommerce ul.products li.product img {
        border-radius: 8px !important;
        margin-bottom: 10px !important;
        padding: 2px !important;
      }
      .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.88rem !important;
        min-height: 2.6em !important;
        margin-bottom: 4px !important;
        line-height: 1.3 !important;
      }
      .woocommerce ul.products li.product .price {
        font-size: 0.9rem !important;
        padding-top: 4px !important;
        padding-bottom: 8px !important;
      }
      .woocommerce ul.products li.product .button {
        padding: 8px 10px !important;
        font-size: 0.78rem !important;
        border-radius: 6px !important;
        line-height: 1.2 !important;
        width: 100% !important;
        margin-top: auto !important;
      }

      /* Cart page table and coupon improvements */
      .woocommerce-cart-form .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 12px 8px !important;
      }
      .woocommerce-cart-form .coupon input#coupon_code {
        width: 100% !important;
      }
      .woocommerce-cart-form .coupon button.button {
        width: 100% !important;
      }
      .woocommerce-cart-form > .button {
        width: 100% !important;
        float: none !important;
        margin: 10px 0 !important;
        box-sizing: border-box !important;
      }

      /* Single Product Details page spacing overrides */
      #product-page-content {
        padding: 16px 14px 40px !important;
      }
      .kamdhenu-single-product-container {
        gap: 24px !important;
      }
      .pd-main-title {
        font-size: 1.6rem !important;
      }
      .pd-social-row {
        flex-wrap: wrap !important;
        gap: 8px !important;
      }
      .pd-science-section {
        padding: 30px 14px !important;
      }

      /* Subscription items grid on mobile */
      .kamdhenu-sub-product-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
      }
    }

    @media (max-width: 360px) {
      .site-branding {
        top: 32px !important;
      }
      .site-branding img.custom-logo {
        max-height: 40px !important;
      }
      .menu-toggle,
      .menu-toggle:focus,
      .menu-toggle:active,
      .menu-toggle:hover {
        font-size: 1.6rem !important;
      }
      .header-inner:has(.main-navigation.is-open) .menu-toggle::before {
        font-size: 1.6rem !important;
      }
      .header-actions {
        gap: 8px !important;
      }
    }