/*
Theme Name: Gyanshout
Theme URI: https://gyanshout.com
Author: Gyanshout Studio
Author URI: https://gyanshout.com
Description: Ultra-fast, luxury organic e-commerce WordPress & WooCommerce theme built for high conversions, featuring 1:1 square product imagery, rich typography, mobile app dock, and native settings.
Version: 1.2.9
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gyanhsout
Tags: e-commerce, woocommerce, grid-layout, one-column, two-columns, custom-colors, custom-menu, featured-images, flexible-header, footer-widgets, full-width-template, theme-options, translation-ready
*/

:root {
    --gyanhsout-primary: #0C6928;
    --gyanhsout-primary-hover: #095220;
    --gyanhsout-primary-light: #ecfdf5;
    --gyanhsout-secondary: #E0A838;
    --gyanhsout-secondary-hover: #c9932b;
    --gyanhsout-dark: #1c1917;
    --gyanhsout-body: #44403c;
    --gyanhsout-muted: #78716c;
    --gyanhsout-border: #e7e5e4;
    --gyanhsout-bg-stone: #fbfbf9;
    --gyanhsout-card-bg: #ffffff;
    --gyanhsout-radius: 0.75rem;
}

/* ==========================================================================
   Base Layout & Font Defaults
   ========================================================================== */
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
}

body {
    background-color: var(--gyanhsout-bg-stone);
    color: var(--gyanhsout-body);
    line-height: 1.6;
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
    position: relative;
}

#page {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100%;
}

/* Offscreen drawers & toasts: guarantee zero horizontal viewport expansion when closed */
#gyanhsout-cart-drawer.translate-x-full,
#gyanhsout-mobile-drawer.-translate-x-full,
#recentPurchaseToast.pointer-events-none {
    visibility: hidden !important;
}

/* ==========================================================================
   1:1 Square Aspect Ratio Rules (Crucial Requirement)
   ========================================================================== */
.aspect-square {
    aspect-ratio: 1 / 1 !important;
}

.gyanhsout-img-square {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gyanhsout-img-square-contain {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* ==========================================================================
   Rich Description Formatting Requirement
   ========================================================================== */
.product-rich-description {
    color: #44403c;
    font-size: 1rem;
    line-height: 1.75;
}

.product-rich-description p {
    margin-bottom: 1.15rem;
}

.product-rich-description ul {
    list-style-type: disc !important;
    padding-left: 1.35rem !important;
    margin-top: 0.75rem !important;
    margin-bottom: 1.25rem !important;
}

.product-rich-description ol {
    list-style-type: decimal !important;
    padding-left: 1.35rem !important;
    margin-top: 0.75rem !important;
    margin-bottom: 1.25rem !important;
}

.product-rich-description li {
    margin-bottom: 0.5rem !important;
    padding-left: 0.25rem;
}

.product-rich-description li > p {
    display: inline;
    margin: 0;
}

.product-rich-description strong,
.product-rich-description b {
    font-weight: 700 !important;
    color: #1c1917 !important;
}

.product-rich-description h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1c1917;
    margin-top: 1.75rem;
    margin-bottom: 0.85rem;
    letter-spacing: -0.02em;
}

.product-rich-description h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1c1917;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    letter-spacing: -0.015em;
}

.product-rich-description h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #292524;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

.product-rich-description blockquote {
    border-left: 4px solid var(--gyanhsout-primary);
    padding-left: 1rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #57534e;
    background: #f5f5f4;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-radius: 0 0.5rem 0.5rem 0;
}

.product-rich-description table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.95rem;
}

.product-rich-description th,
.product-rich-description td {
    padding: 0.75rem 1rem;
    border: 1px solid #e7e5e4;
    text-align: left;
}

.product-rich-description th {
    background-color: #f5f5f4;
    font-weight: 600;
    color: #1c1917;
}

/* ==========================================================================
   Single Blog Post Typography & Tables (Screenshot 3 Match & Mobile Optimized)
   ========================================================================== */
.single-article-content {
    color: #334155;
    font-size: 0.9rem;
    line-height: 1.7;
}

.single-article-content p {
    margin-bottom: 0.95rem;
    color: #334155;
}

.single-article-content h2 {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: 1.5rem;
    margin-bottom: 0.65rem;
    letter-spacing: -0.015em;
    line-height: 1.35;
}

.single-article-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    letter-spacing: -0.01em;
    line-height: 1.35;
}

.single-article-content h4 {
    font-size: 0.975rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 1rem;
    margin-bottom: 0.4rem;
}

@media (min-width: 640px) {
    .single-article-content {
        font-size: 1rem;
        line-height: 1.8;
    }
    .single-article-content p {
        margin-bottom: 1.15rem;
    }
    .single-article-content h2 {
        font-size: 1.45rem;
        margin-top: 1.85rem;
        margin-bottom: 0.75rem;
    }
    .single-article-content h3 {
        font-size: 1.25rem;
        margin-top: 1.5rem;
        margin-bottom: 0.65rem;
    }
    .single-article-content h4 {
        font-size: 1.1rem;
        margin-top: 1.25rem;
        margin-bottom: 0.5rem;
    }
}

/* Screenshot 3: Professional Bordered Editorial Table */
.single-article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0;
    font-size: 0.8rem;
    border: 1.5px solid #334155;
    background: #ffffff;
}

@media (min-width: 640px) {
    .single-article-content table {
        font-size: 0.875rem;
        margin: 1.5rem 0;
    }
}

.single-article-content thead th,
.single-article-content th {
    background-color: #f8fafc;
    color: #0f172a;
    font-weight: 800;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.65rem 0.85rem;
    border: 1px solid #334155;
    text-align: left;
    vertical-align: middle;
}

.single-article-content td {
    padding: 0.65rem 0.85rem;
    border: 1px solid #334155;
    color: #334155;
    line-height: 1.55;
    vertical-align: top;
}

.single-article-content tr:nth-child(even) td {
    background-color: #fafbfd;
}

/* Lists (Screenshot 3 Match) */
.single-article-content ul {
    list-style-type: disc !important;
    padding-left: 1.5rem !important;
    margin: 1.25rem 0 1.5rem 0 !important;
}

.single-article-content ol {
    list-style-type: decimal !important;
    padding-left: 1.5rem !important;
    margin: 1.25rem 0 1.5rem 0 !important;
}

.single-article-content li {
    margin-bottom: 0.65rem !important;
    line-height: 1.7;
    color: #334155;
    padding-left: 0.25rem;
}

.single-article-content li strong,
.single-article-content strong {
    color: #0f172a;
    font-weight: 700;
}

/* Blockquote */
.single-article-content blockquote {
    border-left: 4px solid #0C6928;
    background: #f8fafc;
    padding: 1rem 1.25rem;
    margin: 1.75rem 0;
    font-style: italic;
    color: #334155;
    border-radius: 0 !important;
}

.single-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 0 !important;
    margin: 1.5rem 0;
}

/* ==========================================================================
   Sidebar & Widget Styling (Zero-Radius, Compact 280px)
   ========================================================================== */
.widget-area .widget {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 1.15rem;
    margin-bottom: 1.25rem;
    border-radius: 0 !important;
}

.widget-area .widget:empty,
.widget-area section:empty {
    display: none !important;
}

.widget-area .widget-title {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0f172a;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 0.6rem;
    margin-bottom: 0.85rem;
}

.widget-area ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.widget-area ul li {
    padding: 0.45rem 0;
    border-bottom: 1px solid #f8fafc;
    font-size: 0.825rem;
    color: #475569;
}

.widget-area ul li:last-child {
    border-bottom: none;
}

.widget-area ul li a {
    color: #475569;
    transition: color 0.2s ease;
}

.widget-area ul li a:hover {
    color: #0C6928;
}

/* ==========================================================================
   Product Card Component Styles
   ========================================================================== */
.gyanhsout-product-card {
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.gyanhsout-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px -8px rgba(12, 105, 40, 0.08), 0 4px 12px -2px rgba(0, 0, 0, 0.04);
}

.gyanhsout-product-card .card-thumb-wrap {
    background-color: #f9f9f8;
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
}

.gyanhsout-product-card .hover-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.gyanhsout-product-card:hover .hover-image {
    opacity: 1;
}

/* Sale Badges */
.gyanhsout-badge-sale {
    background: linear-gradient(135deg, #0C6928 0%, #15803d 100%);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.725rem;
    letter-spacing: 0.03em;
    padding: 0.25rem 0.6rem;
    border-radius: 9999px;
    box-shadow: 0 2px 6px rgba(12, 105, 40, 0.25);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.gyanhsout-badge-dietary {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 9999px;
    text-transform: uppercase;
}

/* ==========================================================================
   Custom Quantity Controls
   ========================================================================== */
.gyanhsout-qty-wrap {
    display: inline-flex;
    align-items: center;
    background-color: #f5f5f4;
    border: 1px solid #e7e5e4;
    border-radius: 9999px;
    padding: 0.25rem;
}

.gyanhsout-qty-btn {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: transparent;
    border: none;
    color: #1c1917;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.gyanhsout-qty-btn:hover {
    background-color: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.gyanhsout-qty-input {
    width: 2.75rem;
    text-align: center;
    background: transparent;
    border: none;
    font-weight: 700;
    color: #1c1917;
    -moz-appearance: textfield;
}

.gyanhsout-qty-input::-webkit-outer-spin-button,
.gyanhsout-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ==========================================================================
   Slide-Over Cart & Offcanvas
   ========================================================================== */
.gyanhsout-drawer-backdrop {
    transition: opacity 0.3s ease-in-out;
}

.gyanhsout-drawer-panel {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   Mobile Bottom App Dock Safe Area
   ========================================================================== */
.gyanhsout-mobile-dock {
    padding-bottom: env(safe-area-inset-bottom, 0.5rem);
}

@media (max-width: 768px) {
    body {
        padding-bottom: 4.5rem;
    }
}

/* ==========================================================================
   WooCommerce Default Overrides
   ========================================================================== */
.woocommerce-notices-wrapper {
    width: 100%;
}
html body .woocommerce-message, 
html body .woocommerce-info, 
html body .woocommerce-error,
html body div.woocommerce-message,
html body div.woocommerce-info,
html body div.woocommerce-error,
html body ul.woocommerce-message,
html body ul.woocommerce-info,
html body ul.woocommerce-error,
html body .woocommerce-notices-wrapper .woocommerce-message,
html body .woocommerce-notices-wrapper .woocommerce-info,
html body .woocommerce-notices-wrapper .woocommerce-error,
html body .wc-block-components-notice-banner {
    border-radius: 0 !important;
    position: relative !important;
    padding: 16px 20px 16px 56px !important;
    margin-bottom: 1.5rem !important;
    display: block !important;
    min-height: 52px !important;
    line-height: 1.6 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    border: 1px solid #e7e5e4 !important;
    border-top: 1px solid #e7e5e4 !important;
    box-shadow: none !important;
}
html body .woocommerce-message::before,
html body .woocommerce-info::before,
html body .woocommerce-error::before,
html body div.woocommerce-message::before,
html body div.woocommerce-info::before,
html body div.woocommerce-error::before,
html body ul.woocommerce-message::before,
html body ul.woocommerce-info::before,
html body ul.woocommerce-error::before {
    position: absolute !important;
    left: 20px !important;
    top: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 1.15rem !important;
}
html body .woocommerce-message,
html body div.woocommerce-message,
html body ul.woocommerce-message {
    background-color: #f0fdf4 !important;
    border-left: 4px solid #0C6928 !important;
    color: #14532d !important;
}
html body .woocommerce-message::before,
html body div.woocommerce-message::before,
html body ul.woocommerce-message::before {
    color: #0C6928 !important;
}
html body .woocommerce-error,
html body div.woocommerce-error,
html body ul.woocommerce-error {
    background-color: #fef2f2 !important;
    border-left: 4px solid #dc2626 !important;
    color: #991b1b !important;
}
html body .woocommerce-error::before,
html body div.woocommerce-error::before,
html body ul.woocommerce-error::before {
    color: #dc2626 !important;
}
html body .woocommerce-info,
html body div.woocommerce-info,
html body ul.woocommerce-info {
    background-color: #ffffff !important;
    border-left: 4px solid #0C6928 !important;
    color: #1c1917 !important;
}
html body .woocommerce-info::before,
html body div.woocommerce-info::before,
html body ul.woocommerce-info::before {
    color: #0C6928 !important;
}
html body .woocommerce-info a,
html body .woocommerce-message a {
    color: #0C6928 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}
html body .woocommerce-message .button,
html body .woocommerce-message a.button {
    float: right !important;
    margin-left: 1rem !important;
    margin-top: -2px !important;
    border-radius: 0 !important;
    background-color: #0C6928 !important;
    color: #ffffff !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    padding: 6px 16px !important;
    border: none !important;
}
html body .woocommerce-message .button:hover,
html body .woocommerce-message a.button:hover {
    background-color: #095220 !important;
}
html body .woocommerce-message li,
html body .woocommerce-info li,
html body .woocommerce-error li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body .cart-empty,
html body p.cart-empty,
html body div.cart-empty,
html body .gyanhsout-empty-cart-card {
    display: block !important;
    border-radius: 0 !important;
    text-align: center !important;
}
html body .cart-empty::before,
html body p.cart-empty::before,
html body div.cart-empty::before,
html body .gyanhsout-empty-cart-card::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

/* ==========================================================================
   Global Text Selection Highlight
   ========================================================================== */
::selection {
    background-color: #0C6928 !important;
    color: #ffffff !important;
}

::-moz-selection {
    background-color: #0C6928 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   WooCommerce My Account Layout & Navigation Reset (Eliminates floats & squishing)
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.woocommerce-MyAccount-navigation ul li {
    list-style: none !important;
    list-style-type: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

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

.woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    border-radius: 0 !important;
}

/* ==========================================================================
   Zero-Radius Precision Rules (User Request: Blog, Wishlist, Cart & Checkout)
   ========================================================================== */
#wishlistTableWrap,
#wishlistTableWrap table,
#wishlistTableWrap th,
#wishlistTableWrap td,
#wishlistTableWrap img,
#wishlistTableWrap button,
#wishlistTableWrap a,
#wishlistPageCountBadge,
#wishlistEmptyState,
.gyanhsout-wishlist-toggle,
article[id^="post-"],
.gyanhsout-pagination a,
.gyanhsout-pagination span,
#gyanhsout-cart-drawer,
#gyanhsout-cart-drawer *,
.gyanhsout-drawer-cart-contents,
.gyanhsout-drawer-cart-contents *,
.gyanhsout-remove-cart-item,
.gyanhsout-points-checkout-card,
.gyanhsout-points-checkout-card *,
.gyanhsout-checkout-coupon-card,
.gyanhsout-checkout-coupon-card *,
.gyanhsout-promo-chip,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout button,
.woocommerce-checkout .button,
.woocommerce-checkout #place_order,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-cart button,
.woocommerce-cart .button,
.woocommerce-cart .checkout-button,
.gyanhsout-steps-nav span,
.select2-container .select2-selection--single,
.select2-dropdown,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon-toggle .woocommerce-info,
form.checkout_coupon {
    border-radius: 0 !important;
}

/* ==========================================================================
   Luxury WooCommerce Checkout & Cart Styling (Woodmart Design Precision)
   ========================================================================== */

/* 1. Checkout Page Headings & Notices */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading {
    font-size: 1.05rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    color: #1c1917 !important;
    border-bottom: 1px solid #e7e5e4 !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 1.25rem !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.woocommerce-checkout .woocommerce-additional-fields > h3 {
    margin-top: 1.5rem !important;
}

/* Coupon & Login Toggles */
html body .woocommerce-form-coupon-toggle .woocommerce-info,
html body .woocommerce-form-login-toggle .woocommerce-info,
html body .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
html body .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    position: relative !important;
    display: block !important;
    background-color: #ffffff !important;
    border: 1px solid #e7e5e4 !important;
    border-left: 4px solid #0C6928 !important;
    color: #1c1917 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    padding: 14px 20px !important;
    border-radius: 0 !important;
    margin-bottom: 1.25rem !important;
}

html body .woocommerce-form-coupon-toggle .woocommerce-info::before,
html body .woocommerce-form-login-toggle .woocommerce-info::before,
html body .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
html body .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

html body .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon,
html body .woocommerce-form-login-toggle .woocommerce-info a.showlogin,
html body .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
html body .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a {
    color: #0C6928 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    margin-left: 4px !important;
}
html body .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover,
html body .woocommerce-form-login-toggle .woocommerce-info a.showlogin:hover,
html body .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:hover,
html body .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a:hover {
    color: #095220 !important;
}

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
    background: #ffffff !important;
    border: 1px solid #e7e5e4 !important;
    padding: 20px !important;
    margin-bottom: 1.75rem !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce-checkout form.checkout_coupon .input-text,
.woocommerce-checkout form.login .input-text {
    height: 44px !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 0 !important;
    padding: 0 14px !important;
    font-size: 0.875rem !important;
}

.woocommerce-checkout form.checkout_coupon button.button,
.woocommerce-checkout form.login button.button {
    background-color: #0C6928 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    height: 44px !important;
    padding: 0 24px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.woocommerce-checkout form.checkout_coupon button.button:hover,
.woocommerce-checkout form.login button.button:hover {
    background-color: #095220 !important;
}

/* 2. Customer Form Fields & Modern Grid (Eliminates broken floats) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .notes,
.woocommerce-checkout #order_comments_field {
    grid-column: span 2 / span 2 !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

@media (max-width: 640px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-checkout .form-row-wide,
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        grid-column: span 1 / span 1 !important;
    }
}

.woocommerce-checkout,
.woocommerce-checkout form.checkout,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout .shop_table {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container,
.woocommerce-cart .select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce-checkout .form-row {
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .form-row label,
.woocommerce-cart .form-row label {
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #1c1917 !important;
    margin-bottom: 6px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr.required {
    color: #dc2626 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    margin-left: 4px !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-checkout .form-row label .optional {
    font-size: 0.725rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    color: #78716c !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-cart .form-row input.input-text,
.woocommerce-cart .form-row select,
.woocommerce-cart .form-row textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    padding: 10px 14px !important;
    font-size: 0.9375rem !important;
    color: #1c1917 !important;
    outline: none !important;
    box-shadow: none !important;
    line-height: 1.5 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-cart .form-row input.input-text:focus,
.woocommerce-cart .form-row select:focus,
.woocommerce-cart .form-row textarea:focus {
    border-color: #0C6928 !important;
    box-shadow: 0 0 0 1px #0C6928 !important;
}

.woocommerce-checkout .form-row textarea {
    min-height: 85px !important;
    resize: vertical !important;
}

/* Ship to Different Address Checkbox Bar */
#ship-to-different-address {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
}

#ship-to-different-address label {
    font-size: 0.925rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #1c1917 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

#ship-to-different-address input[type="checkbox"] {
    accent-color: #0C6928 !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
}

/* Select2 / SelectWoo Overrides for Country/State dropdowns */
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-cart .select2-container--default .select2-selection--single {
    height: 44px !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    color: #1c1917 !important;
    padding-left: 0 !important;
    font-size: 0.9375rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    right: 8px !important;
}

.select2-dropdown {
    border: 1px solid #d6d3d1 !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #0C6928 !important;
    color: #ffffff !important;
}

/* 3. Payment Methods Box (#payment) - Complete Modern Redesign */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #fafaf9 !important;
    border: 1px solid #e7e5e4 !important;
    padding: 14px 16px !important;
    border-radius: 0 !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: #0C6928 !important;
    background: #ffffff !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    accent-color: #0C6928 !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 800 !important;
    font-size: 0.925rem !important;
    color: #1c1917 !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: #f4f7f4 !important;
    border-left: 3px solid #0C6928 !important;
    padding: 12px 14px !important;
    font-size: 0.8125rem !important;
    color: #44403c !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    line-height: 1.5 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
    content: none !important;
}

/* Privacy Policy & Terms */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
    font-size: 0.775rem !important;
    color: #78716c !important;
    margin-bottom: 20px !important;
    line-height: 1.55 !important;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text a {
    color: #0C6928 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 20px !important;
}

/* 4. Full-Width Luxury Green Place Order Button (#place_order) */
.woocommerce-checkout #payment #place_order {
    display: block !important;
    width: 100% !important;
    background-color: #0C6928 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 16px 24px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-align: center !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    float: none !important;
}

.woocommerce-checkout #payment #place_order:hover {
    background-color: #095220 !important;
    color: #ffffff !important;
}

.woocommerce-checkout #payment #place_order:active {
    background-color: #063d17 !important;
}

/* 5. Cart Page Global Overrides */
.woocommerce-cart table.cart th {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    color: #78716c !important;
}

@media (min-width: 768px) {
    html body .woocommerce-cart table.cart td.actions .coupon .input-text,
    html body .woocommerce-cart table.cart td.actions .coupon input#coupon_code {
        width: 250px !important;
        min-width: 220px !important;
        max-width: 100% !important;
        height: 46px !important;
        border: 1px solid #d6d3d1 !important;
        border-radius: 0 !important;
        padding: 0 16px !important;
        font-size: 0.8125rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }

    html body .woocommerce-cart table.cart td.actions .coupon button.button,
    html body .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"] {
        height: 46px !important;
        padding: 0 24px !important;
        border-radius: 0 !important;
        font-size: 0.8125rem !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        background-color: #0C6928 !important;
        color: #ffffff !important;
        border: none !important;
    }

    html body .woocommerce-cart table.cart td.actions .coupon button.button:hover,
    html body .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"]:hover {
        background-color: #095220 !important;
    }

    html body .woocommerce-cart table.cart td.actions button[name="update_cart"] {
        height: 46px !important;
        padding: 0 24px !important;
        border-radius: 0 !important;
        font-size: 0.8125rem !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
    }
}

.woocommerce-cart .cart_totals .checkout-button {
    background-color: #0C6928 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
}

/* Clean Cart & Checkout Shipping Display */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-shipping-totals th {
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #44403c !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-totals td,
.woocommerce-checkout .woocommerce-shipping-totals td {
    font-size: 0.875rem !important;
    text-align: right !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    font-size: 0.75rem !important;
    color: #78716c !important;
    margin-top: 4px !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
    font-size: 0.75rem !important;
    color: #0C6928 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* Ensure standard Proceed to Checkout link is ALWAYS visible and overrides any plugin injection */
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
html body.woocommerce-cart .cart_totals a.checkout-button,
html body.woocommerce-cart a.checkout-button {
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 16px 24px !important;
    border-radius: 0 !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background-color: #0C6928 !important;
    color: #ffffff !important;
    transition: background-color 0.2s ease !important;
    text-decoration: none !important;
}

/* Razorpay Magic Checkout styling */
#btn-1cc,
button#btn-1cc,
.rzp-checkout-button,
.rzp-1cc-button {
    width: 100% !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-radius: 0 !important;
    cursor: pointer !important;
}

.woocommerce-cart .cart_totals .checkout-button:hover {
    background-color: #095220 !important;
    color: #ffffff !important;
}

/* Prevent duplicate Proceed to Checkout buttons in cart totals (User Request) */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button ~ .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:not(:first-of-type),
.woocommerce-cart .cart_totals a.checkout-button:not(:first-of-type) {
    display: none !important;
}

/* Remove WooCommerce Default Purple Buttons Across the Site */
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
    background-color: #0C6928 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
    background-color: #095220 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Primary Desktop & Mobile Navigation Menus
   ========================================================================== */
.gyanhsout-primary-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
@media (min-width: 1024px) {
    .gyanhsout-primary-nav {
        gap: 2rem;
    }
}
.gyanhsout-primary-nav > li {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.gyanhsout-primary-nav > li > a,
.gyanhsout-primary-nav li a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.75rem 0.35rem;
    color: #ffffff !important;
    font-size: 0.875rem !important; /* 14px - user request for bigger font on PC */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    border-bottom: 2px solid transparent;
    line-height: 1.25 !important;
}
.gyanhsout-primary-nav > li > a:hover,
.gyanhsout-primary-nav li a:hover {
    color: #fde68a !important; /* amber-200 */
}
.gyanhsout-primary-nav > li.current-menu-item > a,
.gyanhsout-primary-nav > li.current_page_item > a,
.gyanhsout-primary-nav > li.current-menu-ancestor > a {
    color: #fcd34d !important; /* amber-300 */
    font-weight: 800 !important;
    border-bottom: 2px solid #ffffff !important;
}

/* Dropdown Caret for Parent Items */
.gyanhsout-primary-nav > li.menu-item-has-children > a::after {
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 8px;
    margin-left: 5px;
    transition: transform 0.2s ease;
}
.gyanhsout-primary-nav > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Sub-Menu Dropdown (Strict Zero Radius) */
.gyanhsout-primary-nav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 210px;
    background: #ffffff;
    border: 1px solid #e7e5e4;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15);
    border-radius: 0 !important;
    list-style: none;
    padding: 6px 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 50;
    text-align: left;
}
.gyanhsout-primary-nav li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.gyanhsout-primary-nav .sub-menu li {
    position: relative;
    width: 100%;
}
.gyanhsout-primary-nav .sub-menu li a {
    display: block;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    color: #292524 !important;
    border-bottom: none;
    transition: background-color 0.15s, color 0.15s;
    text-decoration: none;
    white-space: nowrap;
}
.gyanhsout-primary-nav .sub-menu li a:hover {
    background-color: #f5f5f4 !important;
    color: #0C6928 !important;
}
.gyanhsout-primary-nav .sub-menu li.current-menu-item > a {
    color: #0C6928 !important;
    background-color: #ecfdf5 !important;
    font-weight: 700;
}

/* Mobile Drawer Menu Links */
.gyanhsout-mobile-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}
.gyanhsout-mobile-nav li a {
    display: block;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    border-radius: 0 !important;
    transition: background-color 0.15s, color 0.15s;
    text-decoration: none;
}
.gyanhsout-mobile-nav li a:hover {
    background-color: #f3f4f6;
    color: #0C6928;
}
.gyanhsout-mobile-nav li.current-menu-item > a {
    color: #0C6928;
    background-color: #ecfdf5;
    font-weight: 700;
}
.gyanhsout-mobile-nav .sub-menu {
    padding-left: 14px;
    list-style: none;
    margin: 4px 0 8px 0;
    border-left: 2px solid #e5e7eb;
}

/* ==========================================================================
   Cart Page Product Thumbnail Enlargement (Desktop / Tablet)
   ========================================================================== */
@media (min-width: 768px) {
    .woocommerce-cart table.cart .product-thumbnail,
    .woocommerce table.cart .product-thumbnail,
    .woocommerce-page table.cart .product-thumbnail {
        width: 104px !important;
        min-width: 104px !important;
        max-width: 116px !important;
        padding: 12px 8px !important;
    }

    .woocommerce-cart table.cart .product-thumbnail img,
    .woocommerce-cart table.cart td.product-thumbnail img,
    .woocommerce-cart table.cart .product-thumbnail a img,
    .woocommerce table.cart img,
    .woocommerce-page table.cart img,
    .woocommerce-cart table.cart img.attachment-woocommerce_thumbnail,
    .woocommerce-cart table.cart img.attachment-medium {
        width: 88px !important;
        height: 88px !important;
        min-width: 88px !important;
        min-height: 88px !important;
        max-width: 88px !important;
        max-height: 88px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 auto !important;
        border-radius: 0 !important;
    }
}

/* ==========================================================================
   Luxury Mobile Cart Layout (Zero Slider, Compact Typography & Responsive Grid)
   ========================================================================== */
@media (max-width: 767px) {
    /* Prevent Any Horizontal Slider / Sideways Overflow */
    .woocommerce-cart,
    .woocommerce-cart .site-content,
    .woocommerce-cart-form,
    .gyanhsout-cart-page-wrapper,
    .woocommerce-cart table.cart,
    .woocommerce-cart table.cart tbody {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.cart {
        display: block !important;
        border: none !important;
    }

    .woocommerce-cart table.cart thead {
        display: none !important;
    }

    .woocommerce-cart table.cart tbody {
        display: block !important;
    }

    /* Transform each product row into an elegant, compact mobile card */
    .woocommerce-cart table.cart tr.cart_item {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 70px auto 1fr !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 10px !important;
        row-gap: 5px !important;
        align-items: center !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid #f0eee9 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: transparent !important;
    }

    .woocommerce-cart table.cart tr.cart_item td {
        display: block !important;
        padding: 0 !important;
        border: none !important;
        width: auto !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: left !important;
        background: transparent !important;
    }

    /* Remove WooCommerce core ugly floating ::before labels */
    .woocommerce-cart table.cart tr.cart_item td::before {
        display: none !important;
    }

    /* 1. Thumbnail: Left column, spans rows 1-3 */
    .woocommerce-cart table.cart tr.cart_item td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        height: 70px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: center !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-thumbnail div,
    .woocommerce-cart table.cart tr.cart_item td.product-thumbnail a,
    .woocommerce-cart table.cart tr.cart_item td.product-thumbnail img {
        width: 70px !important;
        height: 70px !important;
        min-width: 70px !important;
        min-height: 70px !important;
        max-width: 70px !important;
        max-height: 70px !important;
        object-fit: contain !important;
        margin: 0 !important;
        display: block !important;
        background: #ffffff !important;
    }

    /* 2. Product Name: Row 1, spans columns 2 and 3 */
    .woocommerce-cart table.cart tr.cart_item td.product-name {
        grid-column: 2 / span 2 !important;
        grid-row: 1 !important;
        text-align: left !important;
        padding-right: 28px !important; /* Space for absolute remove button */
        background: transparent !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-name a {
        font-size: 13px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        color: #1c1917 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-decoration: none !important;
        background: transparent !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-name a:hover {
        color: #0C6928 !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-name .variation {
        font-size: 10px !important;
        color: #78716c !important;
        margin: 2px 0 0 0 !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-name .variation dt,
    .woocommerce-cart table.cart tr.cart_item td.product-name .variation dd {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* 3. Remove Button: Absolute at Top-Right of Card */
    .woocommerce-cart table.cart tr.cart_item td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 0 !important;
        z-index: 5 !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 24px !important;
        height: 24px !important;
        text-align: right !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-remove a.remove {
        width: 24px !important;
        height: 24px !important;
        font-size: 16px !important;
        line-height: 22px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #e7e5e4 !important;
        background: #fafaf9 !important;
        color: #78716c !important;
        border-radius: 0 !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-remove a.remove:hover {
        color: #dc2626 !important;
        background: #fef2f2 !important;
        border-color: #fca5a5 !important;
    }

    /* 4. Unit Price: Row 2, spans columns 2 and 3 */
    .woocommerce-cart table.cart tr.cart_item td.product-price {
        grid-column: 2 / span 2 !important;
        grid-row: 2 !important;
        text-align: left !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #78716c !important;
        background: transparent !important;
    }

    /* 5. Quantity Box: Row 3, Column 2 (Left aligned) */
    .woocommerce-cart table.cart tr.cart_item td.product-quantity {
        grid-column: 2 !important;
        grid-row: 3 !important;
        text-align: left !important;
        width: auto !important;
        background: transparent !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-quantity .quantity {
        display: inline-flex !important;
        align-items: center !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-quantity input.qty {
        width: 44px !important;
        height: 30px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: center !important;
        padding: 0 !important;
        border: 1px solid #d6d3d1 !important;
        border-radius: 0 !important;
        color: #1c1917 !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    /* 6. Subtotal: Row 3, Column 3 (Right aligned, full remaining space) */
    .woocommerce-cart table.cart tr.cart_item td.product-subtotal {
        grid-column: 3 !important;
        grid-row: 3 !important;
        text-align: right !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        color: #0C6928 !important;
        white-space: nowrap !important;
        background: transparent !important;
        width: 100% !important;
        justify-self: end !important;
    }

    .woocommerce-cart table.cart tr.cart_item td.product-subtotal::before {
        content: "Total: " !important;
        display: inline !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        color: #78716c !important;
        margin-right: 3px !important;
    }

    /* Actions: Fully Contained Coupon Box + Update Cart Button */
    .woocommerce-cart table.cart tr:not(.cart_item) td.actions {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 0 0 0 !important;
        border: none !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.cart tr:not(.cart_item) td.actions > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.cart tr:not(.cart_item) td.actions .coupon {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.cart tr:not(.cart_item) td.actions .coupon .input-text,
    .woocommerce-cart table.cart tr:not(.cart_item) td.actions .coupon input#coupon_code {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 38px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        border: 1px solid #d6d3d1 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em !important;
    }

    .woocommerce-cart table.cart tr:not(.cart_item) td.actions .coupon button.button,
    .woocommerce-cart table.cart tr:not(.cart_item) td.actions .coupon button[name="apply_coupon"] {
        flex: 0 0 auto !important;
        width: auto !important;
        height: 38px !important;
        padding: 0 14px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        background-color: #0C6928 !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.cart tr:not(.cart_item) td.actions button[name="update_cart"] {
        display: block !important;
        width: 100% !important;
        height: 38px !important;
        padding: 0 16px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        border: 1px solid #d6d3d1 !important;
        background-color: #ffffff !important;
        color: #292524 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }
}

/* ==========================================================================
   Cart Totals (CART DETAILS Box) - Clean 2-Column Key-Value Layout
   ========================================================================== */
html body.woocommerce-cart .cart_totals table.shop_table {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 20px !important;
    border: none !important;
}

html body.woocommerce-cart .cart_totals table.shop_table tbody {
    display: table-row-group !important;
    width: 100% !important;
}

html body.woocommerce-cart .cart_totals table.shop_table tbody tr {
    display: table-row !important;
    border-bottom: 1px solid #e7e5e4 !important;
}

html body.woocommerce-cart .cart_totals table.shop_table tbody th,
html body.woocommerce-cart .cart_totals table.shop_table th {
    display: table-cell !important;
    vertical-align: top !important;
    padding: 12px 8px 12px 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #44403c !important;
    text-align: left !important;
    width: 32% !important;
    border-bottom: 1px solid #e7e5e4 !important;
    background: transparent !important;
}

html body.woocommerce-cart .cart_totals table.shop_table tbody td,
html body.woocommerce-cart .cart_totals table.shop_table td {
    display: table-cell !important;
    vertical-align: top !important;
    padding: 12px 0 12px 8px !important;
    text-align: right !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #1c1917 !important;
    width: 68% !important;
    border-bottom: 1px solid #e7e5e4 !important;
    background: transparent !important;
}

/* Hide WooCommerce core duplicate ::before labels since real <th> is visible! */
html body.woocommerce-cart .cart_totals table.shop_table tbody td::before,
html body.woocommerce-cart .cart_totals table.shop_table td::before {
    display: none !important;
}

/* Shipping Details styling inside Totals */
html body.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods li {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1c1917 !important;
    margin-bottom: 3px !important;
    line-height: 1.3 !important;
}

html body.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-destination {
    font-size: 11px !important;
    color: #78716c !important;
    margin: 4px 0 2px 0 !important;
    line-height: 1.3 !important;
}

html body.woocommerce-cart .cart_totals table.shop_table .shipping-calculator-button {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #0C6928 !important;
    text-decoration: underline !important;
}

/* Order Total Row */
html body.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
    padding: 16px 8px 16px 0 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #1c1917 !important;
    border-top: 2px solid #1c1917 !important;
    border-bottom: none !important;
}

html body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    padding: 16px 0 16px 8px !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #0C6928 !important;
    border-top: 2px solid #1c1917 !important;
    border-bottom: none !important;
}

/* ==========================================================================
   Checkout Page Refresh & Overlay Stability Safeguard
   ========================================================================== */
.woocommerce-checkout {
    opacity: 1 !important;
    visibility: visible !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-checkout-review-order {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Prevent full-screen whiteout during checkout AJAX updates or page refresh */
.woocommerce-checkout .blockUI.blockOverlay,
.woocommerce-checkout-review-order .blockUI.blockOverlay {
    background: rgba(255, 255, 255, 0.4) !important;
    opacity: 0.4 !important;
}

.woocommerce-checkout .blockUI.blockMsg {
    display: none !important;
}

/* Neutralize any lingering preloader canvas, star particles or blank overlays */
#preloader,
.preloader,
.site-preloader,
.page-preloader,
#loftloader-wrapper,
#wpsp-preloader,
.flat-preloader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -9999 !important;
}

/* ==========================================================================
   Sticky Blog Sidebar
   ========================================================================== */
.gyanhsout-sidebar-col {
    position: relative;
    height: 100%;
}

.gyanhsout-sticky-sidebar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 90px !important;
    z-index: 20 !important;
    transition: top 0.2s ease;
}

/* ==========================================================================
   Global Professional Boxed Pagination (Blog, Shop, Archives)
   ========================================================================== */
.pagination,
.woocommerce-pagination,
.gyanhsout-pagination,
.navigation.pagination,
.posts-navigation,
nav[class*="pagination"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 1.75rem 0 1.25rem 0 !important;
    width: 100% !important;
    clear: both !important;
}

.pagination .screen-reader-text,
.woocommerce-pagination .screen-reader-text,
.gyanhsout-pagination .screen-reader-text,
.navigation.pagination .screen-reader-text,
nav[class*="pagination"] .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.pagination .nav-links,
.woocommerce-pagination ul.page-numbers,
.gyanhsout-pagination .nav-links,
.navigation.pagination .nav-links,
nav[class*="pagination"] .nav-links,
.nav-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-pagination ul.page-numbers li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pagination .page-numbers,
.woocommerce-pagination .page-numbers,
.gyanhsout-pagination .page-numbers,
.navigation .page-numbers,
nav[class*="pagination"] .page-numbers,
.nav-links .page-numbers,
.nav-links a,
.nav-links span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 0.8125rem !important; /* 13px */
    font-weight: 700 !important;
    font-family: inherit !important;
    color: #292524 !important; /* stone-800 */
    background-color: #ffffff !important;
    border: 1px solid #e7e5e4 !important; /* stone-200 */
    border-radius: 0 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    user-select: none !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

/* Active Current Page */
.pagination .page-numbers.current,
.woocommerce-pagination .page-numbers.current,
.gyanhsout-pagination .page-numbers.current,
.navigation .page-numbers.current,
nav[class*="pagination"] .page-numbers.current,
.pagination span.page-numbers.current,
.nav-links span.current,
span[aria-current="page"] {
    background-color: #0C6928 !important;
    border-color: #0C6928 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    cursor: default !important;
    box-shadow: 0 2px 6px rgba(12, 105, 40, 0.25) !important;
}

/* Hover State for Clickable Links */
.pagination a.page-numbers:hover,
.woocommerce-pagination a.page-numbers:hover,
.gyanhsout-pagination a.page-numbers:hover,
.navigation a.page-numbers:hover,
nav[class*="pagination"] a.page-numbers:hover,
.nav-links a:hover {
    background-color: #0C6928 !important;
    border-color: #0C6928 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(12, 105, 40, 0.2) !important;
}

/* Dots Separator */
.pagination .page-numbers.dots,
.woocommerce-pagination .page-numbers.dots,
.gyanhsout-pagination .page-numbers.dots,
.navigation .page-numbers.dots,
nav[class*="pagination"] .page-numbers.dots,
.nav-links .dots,
.nav-links span.dots {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #a8a29e !important; /* stone-400 */
    min-width: 28px !important;
    padding: 0 4px !important;
    cursor: default !important;
    font-size: 1rem !important;
    letter-spacing: 0.15em !important;
    font-weight: 800 !important;
}

/* Prev / Next Buttons */
.pagination .page-numbers.prev,
.pagination .page-numbers.next,
.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next,
.gyanhsout-pagination .page-numbers.prev,
.gyanhsout-pagination .page-numbers.next,
.navigation .page-numbers.prev,
.navigation .page-numbers.next,
.nav-links a.prev,
.nav-links a.next {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 800 !important;
    padding: 0 16px !important;
}

/* ==========================================================================
   Editorial Content Typography & Styling (About Us, Policy, Standard Pages)
   ========================================================================== */
.gyanhsout-editorial-content {
    color: #374151; /* gray-700 */
    font-size: 0.9375rem; /* 15px */
    line-height: 1.8;
}

.gyanhsout-editorial-content p {
    margin-bottom: 1.35rem;
}

.gyanhsout-editorial-content h1,
.gyanhsout-editorial-content h2,
.gyanhsout-editorial-content h3,
.gyanhsout-editorial-content h4,
.gyanhsout-editorial-content h5,
.gyanhsout-editorial-content h6 {
    color: #1c1917; /* stone-900 */
    font-weight: 800;
    line-height: 1.3;
    margin-top: 2rem;
    margin-bottom: 0.85rem;
    letter-spacing: -0.01em;
}

.gyanhsout-editorial-content h1 { font-size: 1.875rem; }
.gyanhsout-editorial-content h2 { 
    font-size: 1.5rem; 
    border-bottom: 2px solid #f5f5f4; 
    padding-bottom: 0.5rem;
}
.gyanhsout-editorial-content h3 { font-size: 1.25rem; }
.gyanhsout-editorial-content h4 { font-size: 1.1rem; }

.gyanhsout-editorial-content ul {
    list-style-type: disc !important;
    padding-left: 1.5rem !important;
    margin: 1rem 0 1.5rem 0 !important;
}

.gyanhsout-editorial-content ol {
    list-style-type: decimal !important;
    padding-left: 1.5rem !important;
    margin: 1rem 0 1.5rem 0 !important;
}

.gyanhsout-editorial-content li {
    margin-bottom: 0.5rem;
    padding-left: 0.25rem;
}

.gyanhsout-editorial-content blockquote {
    border-left: 4px solid #0C6928;
    background-color: #f8fafc;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #334155;
}

.gyanhsout-editorial-content img {
    max-width: 100%;
    height: auto;
    border: 1px solid #e7e5e4;
    border-radius: 0 !important;
    margin: 1.5rem 0;
}

.gyanhsout-editorial-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.875rem;
}

.gyanhsout-editorial-content table th,
.gyanhsout-editorial-content table td {
    padding: 0.75rem 1rem;
    border: 1px solid #e7e5e4;
    text-align: left;
}

.gyanhsout-editorial-content table th {
    background-color: #f8fafc;
    font-weight: 700;
    color: #1e293b;
}

.gyanhsout-editorial-content a {
    color: #0C6928;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s;
}

.gyanhsout-editorial-content a:hover {
    color: #095220;
}

/* Fluent Forms, WPForms & Contact Forms Luxury Styling */
.gyanhsout-editorial-content .fluentform,
.gyanhsout-editorial-content .wpcf7,
.gyanhsout-editorial-content .wpforms-container,
.gyanhsout-editorial-content form {
    margin-top: 1.5rem;
    max-width: 100%;
}

.gyanhsout-editorial-content input[type="text"],
.gyanhsout-editorial-content input[type="email"],
.gyanhsout-editorial-content input[type="tel"],
.gyanhsout-editorial-content input[type="url"],
.gyanhsout-editorial-content input[type="number"],
.gyanhsout-editorial-content select,
.gyanhsout-editorial-content textarea,
.gyanhsout-editorial-content .ff-el-form-control {
    width: 100% !important;
    background-color: #fafaf9 !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 0 !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
    color: #1c1917 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.gyanhsout-editorial-content input:focus,
.gyanhsout-editorial-content select:focus,
.gyanhsout-editorial-content textarea:focus,
.gyanhsout-editorial-content .ff-el-form-control:focus {
    background-color: #ffffff !important;
    border-color: #0C6928 !important;
    box-shadow: 0 0 0 3px rgba(12, 105, 40, 0.12) !important;
    outline: none !important;
}

.gyanhsout-editorial-content input[type="submit"],
.gyanhsout-editorial-content button[type="submit"],
.gyanhsout-editorial-content .ff-btn-submit {
    background-color: #0C6928 !important;
    color: #ffffff !important;
    border: 2px solid #0C6928 !important;
    border-radius: 0 !important;
    padding: 0.75rem 2.25rem !important;
    font-size: 0.8125rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 5px rgba(12, 105, 40, 0.2) !important;
}

.gyanhsout-editorial-content input[type="submit"]:hover,
.gyanhsout-editorial-content button[type="submit"]:hover,
.gyanhsout-editorial-content .ff-btn-submit:hover {
    background-color: #095220 !important;
    border-color: #095220 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(12, 105, 40, 0.3) !important;
}

.gyanhsout-editorial-content label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #44403c !important;
    margin-bottom: 0.35rem !important;
    display: inline-block !important;
}

/* ==========================================================================
   Coupon Box Zero Radius Enforcement (User Request)
   ========================================================================== */
#gyanhsout_checkout_coupon_code,
#gyanhsout_apply_checkout_coupon,
.gyanhsout-checkout-coupon-card,
.gyanhsout-checkout-coupon-card *,
.gyanhsout-promo-chip,
.gyanhsout-coupons-table,
.gyanhsout-coupons-table *,
#gyanhsoutCouponModal,
#gyanhsoutCouponModal * {
    border-radius: 0 !important;
}

/* ==========================================================================
   Smooth Horizontal Slider & Scrollbar Utilities (Mobile Responsive)
   ========================================================================== */
.scrollbar-none::-webkit-scrollbar,
.no-scrollbar::-webkit-scrollbar,
#circleCategorySliderTrack::-webkit-scrollbar,
#mostlyBuyTrack::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.scrollbar-none,
.no-scrollbar,
#circleCategorySliderTrack,
#mostlyBuyTrack {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   Shop Filter & Sorting Level Row Alignment (Mobile & Desktop)
   ========================================================================== */
.gyanhsout-sort-wrap {
    margin: 0 !important;
    padding: 0 !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
}

.gyanhsout-sort-wrap form.woocommerce-ordering {
    margin: 0 !important;
    padding: 0 !important;
    height: 38px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
}

.gyanhsout-sort-wrap select.orderby {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    line-height: 36px !important;
    margin: 0 !important;
    padding: 0 26px 0 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1c1917 !important;
    background-color: #ffffff !important;
    border: 1px solid #d6d3d1 !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    cursor: pointer;
}

#mobileFilterOpenBtn {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    line-height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

/* ==========================================================================
   Luxury My Account Auth Form (Single Card with Tab Switcher)
   ========================================================================== */
.site-login-section {
    background-color: #fbfbf9;
}

.site-login-section form.woocommerce-form-login,
.site-login-section form.woocommerce-form-register {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.site-login-section input[type="text"],
.site-login-section input[type="password"],
.site-login-section input[type="email"] {
    box-sizing: border-box !important;
}

body.woocommerce-account footer,
.site-login-section + footer,
body.woocommerce-account footer[role="contentinfo"] {
    margin-top: 1.25rem !important;
}

/* Sleek Compact Footer & Copyright Section Spacing (User Request) */
footer[role="contentinfo"] {
    margin-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Snug Trust Stats Section directly above Footer (User Request) */
#trustStatsSection {
    border-bottom: 0 !important;
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
}

@media (min-width: 640px) {
    #trustStatsSection {
        padding-top: 2rem !important;
        padding-bottom: 2.25rem !important;
    }
}

footer[role="contentinfo"] .footer-widgets-grid {
    margin-bottom: 0.75rem !important;
}

footer[role="contentinfo"] .sub-footer {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

footer[role="contentinfo"] .sub-footer p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

@media (max-width: 768px) {
    footer[role="contentinfo"] .footer-widgets-grid {
        margin-bottom: 0.5rem !important;
    }
    footer[role="contentinfo"] .sub-footer {
        padding-top: 0.4rem !important;
        padding-bottom: 0.4rem !important;
    }
}

/* ==========================================================================
   Ultra-HD Crisp Rendering for Hero Banners & Slider Imagery
   ========================================================================== */
.hero-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    will-change: opacity;
}

.hero-slide img,
.gyanhsout-hero-hd-img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: high-quality;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

/* ==========================================================================
   Product Short Description Typography, Spacing & Formatting
   ========================================================================== */
.woocommerce-product-details__short-description,
.gyanhsout-short-description {
    color: #4b5563;
    font-size: 0.875rem;
    line-height: 1.65;
    margin-top: 0.75rem !important;
    margin-bottom: 1rem !important;
}

.woocommerce-product-details__short-description p,
.gyanhsout-short-description p {
    margin-top: 0 !important;
    margin-bottom: 0.85rem !important;
    line-height: 1.65 !important;
}

.woocommerce-product-details__short-description p:last-child,
.gyanhsout-short-description p:last-child {
    margin-bottom: 0 !important;
}

.woocommerce-product-details__short-description br,
.gyanhsout-short-description br {
    display: block;
    content: "";
    margin-top: 0.35rem;
}

.woocommerce-product-details__short-description ul,
.gyanhsout-short-description ul {
    list-style-type: disc !important;
    margin: 0.5rem 0 0.85rem 1.25rem !important;
    padding-left: 0.5rem !important;
}

.woocommerce-product-details__short-description ol,
.gyanhsout-short-description ol {
    list-style-type: decimal !important;
    margin: 0.5rem 0 0.85rem 1.25rem !important;
    padding-left: 0.5rem !important;
}

.woocommerce-product-details__short-description li,
.gyanhsout-short-description li {
    margin-bottom: 0.35rem !important;
    line-height: 1.55 !important;
}

.woocommerce-product-details__short-description strong,
.woocommerce-product-details__short-description b,
.gyanhsout-short-description strong,
.gyanhsout-short-description b {
    color: #1c1917;
    font-weight: 700;
}

/* ==========================================================================
   Hero Slider Mobile Touch & Desktop Mouse Drag Optimizations
   ========================================================================== */
#heroSliderContainer {
    touch-action: pan-y pinch-zoom;
    -webkit-user-select: none;
    user-select: none;
    width: 100% !important;
    max-width: 100% !important;
    cursor: grab;
}

#heroSliderContainer:active {
    cursor: grabbing;
}

.hero-slide {
    touch-action: pan-y pinch-zoom;
    cursor: grab;
    transition: opacity 0.5s ease-in-out;
}

.hero-slide:active {
    cursor: grabbing;
}

.hero-slide img,
.hero-slide a {
    -webkit-user-drag: none;
    user-drag: none;
}

/* Mobile 100% Full-Width Edge-to-Edge Display (Zero Side Borders / White Gaps) */
@media (max-width: 640px) {
    #heroSliderContainer {
        overflow: hidden;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #heroSliderContainer .hero-slide {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #heroSliderContainer .hero-slide a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }
    #heroSliderContainer .hero-slide img,
    #heroSliderContainer .hero-slide picture img {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
    }
}

/* ==========================================================================
   Global WooCommerce Price Typography, Strikethrough & Clean Glyphs
   ========================================================================== */
/* Active / Sale Price (Ins): Bold, No Underlines */
.woocommerce ins,
.price ins,
.gyanhsout-product-card ins,
.gyanhsout-product-card .price ins,
.product-card-price ins,
.wc-block-components-product-price ins,
ins,
ins .woocommerce-Price-amount,
ins bdi,
ins span {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration-line: none !important;
    border-bottom: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-weight: 800 !important;
    color: #1c1917 !important; /* stone-900 */
}

/* Original Regular Price (Del): Single Clean Strikethrough Line */
.woocommerce del,
.price del,
.gyanhsout-product-card del,
.gyanhsout-product-card .price del,
.product-card-price del,
.wc-block-components-product-price del,
.wc-block-components-order-summary-item del,
del {
    text-decoration: line-through !important;
    text-decoration-line: line-through !important;
    -webkit-text-decoration-line: line-through !important;
    text-decoration-style: solid !important;
    text-decoration-thickness: 1.5px !important;
    text-decoration-color: #94a3b8 !important; /* slate-400 */
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #64748b !important; /* Clean legible slate-500 */
    font-weight: 500 !important;
    font-size: 0.825rem !important; /* Fixed rem to prevent nested compounding */
    line-height: normal !important;
    margin-right: 0.4rem !important;
    display: inline-block !important;
    vertical-align: baseline !important;
}

/* Strictly clear duplicate text-decorations and font compounding on children */
del *,
del .woocommerce-Price-amount,
del bdi,
del span,
del .woocommerce-Price-currencySymbol {
    text-decoration: inherit !important;
    text-decoration-line: inherit !important;
    -webkit-text-decoration-line: inherit !important;
    text-decoration-style: inherit !important;
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

/* Sharp, Crisp Rupee Currency Glyph inside Cut Price */
del .woocommerce-Price-currencySymbol,
del bdi span {
    font-size: 1em !important;
    display: inline !important;
    font-family: inherit !important;
    margin-right: 1px !important;
}

/* Points & Perks Checkout Card: Instant, Smooth Appearance */
#gyanhsout-points-checkout-card,
.gyanhsout-points-checkout-card {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

/* ==========================================================================
   Checkout Order Summary: Ensure Product Title, Details & Variations Always Visible
   ========================================================================== */
.wc-block-components-product-name,
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__details,
.wc-block-components-order-summary-item__description .wc-block-components-product-name,
.wc-block-components-order-summary-item__details .wc-block-components-product-name,
.wc-block-components-order-summary-item__details a,
.wc-block-components-order-summary-item__details strong,
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__variation,
.wc-block-components-order-summary-item__variation,
.wc-block-components-product-metadata__item:not(.wc-block-components-product-metadata__description) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wc-block-components-product-name,
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-weight: 700 !important;
    color: #111827 !important;
    font-size: 0.875rem !important;
    line-height: 1.25 !important;
    margin-bottom: 2px !important;
}

/* Hide ONLY the short description in Order Summary (User Request) */
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__item.wc-block-components-product-metadata__description,
.wc-block-components-order-summary .wc-block-components-product-details__description,
.woocommerce-checkout-review-order .product-description,
.woocommerce-checkout-review-order-table .product-description,
.shop_table.woocommerce-checkout-review-order-table .product-description,
.woocommerce-checkout .product-name .product-short-description {
    display: none !important;
}







