/* Kalash Dhoop - Premium Styles for Inner Pages */

/* General Inner Page Shell Layout */
.page-hero {
    background: linear-gradient(180deg, rgba(237, 116, 16, 0.06), transparent);
    padding: 70px 0 50px;
    text-align: center;
    border-bottom: 1px solid var(--border);
    margin-bottom: 50px;
}

.page-hero h1 {
    font-family: var(--font-serif);
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--earth);
}

.page-hero p {
    font-size: 1.1rem;
    color: var(--earth-soft);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ==========================================================================
   About Us Page Styles
   ========================================================================== */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    margin-bottom: 80px;
}

.about-content h2 {
    font-family: var(--font-serif);
    font-size: 2.2rem;
    color: var(--earth);
    margin-top: 0;
}

.about-content p {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--earth-soft);
    margin-bottom: 20px;
}

.about-img img {
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}

/* Vision / Values Section */
.values-strip {
    background: var(--cream-2);
    padding: 60px 0;
    margin-bottom: 80px;
    border-radius: var(--radius);
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.value-card {
    background: var(--white);
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02);
    text-align: center;
}

.value-card i {
    font-size: 2.5rem;
    color: var(--saffron);
    margin-bottom: 15px;
}

.value-card h3 {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    margin: 0 0 10px;
}

.value-card p {
    font-size: 0.95rem;
    color: var(--earth-soft);
    line-height: 1.5;
    margin: 0;
}

/* ==========================================================================
   Contact Us Page Styles
   ========================================================================== */
.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 50px;
    margin-bottom: 80px;
}

.contact-card {
    background: var(--white);
    padding: 40px;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
}

.contact-card h2 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    margin-top: 0;
    margin-bottom: 20px;
}

.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 30px;
}

.contact-info-item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.contact-info-item i {
    font-size: 1.3rem;
    color: var(--saffron);
    background: rgba(237, 116, 16, 0.08);
    padding: 10px;
    border-radius: 50%;
}

.contact-info-item h4 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.contact-info-item p, .contact-info-item a {
    margin: 0;
    font-size: 0.95rem;
    color: var(--earth-soft);
}

.contact-form {
    background: var(--white);
    padding: 40px;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--earth);
}

.form-group input, .form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--border);
    background: var(--cream);
    border-radius: 8px;
    color: var(--earth);
    font-family: inherit;
    font-size: 0.95rem;
    transition: border-color 0.25s ease;
}

.form-group input:focus, .form-group textarea:focus {
    outline: none;
    border-color: var(--saffron);
}

.contact-form button {
    width: 100%;
    padding: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 8px;
    border: none;
    background: var(--saffron);
    color: var(--white);
    cursor: pointer;
    transition: background 0.25s ease;
}

.contact-form button:hover {
    background: var(--saffron-deep);
}

/* ==========================================================================
   Products Listing Page Styles
   ========================================================================== */
.products-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    margin-bottom: 80px;
}

/* Filter Panel Styling */
.filter-panel {
    background: var(--white);
    padding: 30px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    height: fit-content;
    position: sticky;
    top: 100px;
}

.filter-section {
    margin-bottom: 30px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 20px;
}

.filter-section:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}

.filter-section h3 {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 15px;
    color: var(--earth);
}

.filter-control select, .filter-control input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--cream);
    color: var(--earth);
    font-size: 0.9rem;
}

.filter-control input[type="range"] {
    width: 100%;
    accent-color: var(--saffron);
    margin-top: 10px;
}

.price-range-val {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    font-weight: 600;
    margin-top: 5px;
}

/* Catalog Grid Header */
.catalog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.catalog-header h2 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    margin: 0;
}

.catalog-header-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* No results state */
.no-results {
    text-align: center;
    padding: 80px 0;
    background: var(--white);
    border-radius: var(--radius);
    border: 1px dashed var(--border);
}

/* ==========================================================================
   Product Details Page Styles
   ========================================================================== */
.details-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 80px;
}

.main-image-container {
    background: var(--white);
    border-radius: var(--radius);
    padding: 20px;
    border: 1px solid var(--border);
    margin-bottom: 20px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main-image-container img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.thumb-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.thumb-img {
    aspect-ratio: 1;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--white);
    cursor: pointer;
    object-fit: cover;
    padding: 5px;
    transition: border-color 0.25s ease;
}

.thumb-img.active, .thumb-img:hover {
    border-color: var(--saffron);
}

/* Details Info Right Pane */
.details-brand {
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--saffron);
    letter-spacing: 0.1em;
    margin: 0 0 10px;
}

.details-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    margin: 0 0 15px;
    line-height: 1.15;
}

.details-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--earth-soft);
    margin-bottom: 20px;
}

.details-rating .stars {
    color: var(--gold);
}

.details-price {
    font-size: 2rem;
    font-weight: 700;
    color: var(--earth);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.size-tag {
    font-size: 0.9rem;
    background: var(--cream-2);
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 500;
    color: var(--earth-soft);
}

.details-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 30px;
    margin-bottom: 25px;
}

.details-status.in-stock {
    background: rgba(21, 129, 92, 0.08);
    color: var(--green);
}

.details-status .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.details-desc {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--earth-soft);
    margin-bottom: 30px;
}

.details-purchase {
    display: flex;
    gap: 20px;
    align-items: center;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 25px 0;
    margin-bottom: 30px;
}

.qty-selector {
    display: flex;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white);
}

.qty-selector button {
    border: none;
    background: transparent;
    padding: 10px 15px;
    font-size: 1.2rem;
    font-weight: 600;
    cursor: pointer;
    color: var(--earth);
    transition: background 0.25s ease;
}

.qty-selector button:hover {
    background: var(--muted);
}

.qty-selector input {
    width: 50px;
    border: none;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    text-align: center;
    font-weight: 700;
    font-size: 1rem;
    outline: none;
    color: var(--earth);
}

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

.details-purchase .btn {
    flex-grow: 1;
    padding: 15px 30px;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 8px;
    border: none;
    background: var(--saffron);
    color: var(--white);
    cursor: pointer;
    transition: background 0.25s ease;
}

.details-purchase .btn:hover {
    background: var(--saffron-deep);
}

/* Pincode Delivery Row */
.delivery-pincode-check {
    background: var(--cream-2);
    padding: 20px;
    border-radius: 8px;
}

.pincode-label {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.express-card a:hover {
    background: #cf5b00;
}
.pincode-input-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.pincode-input-row input {
    flex-grow: 1;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 0.9rem;
}

.pincode-input-row button {
    padding: 10px 20px;
    background: var(--earth);
    color: var(--white);
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

.pincode-status {
    font-size: 0.85rem;
    font-weight: 600;
}

.pincode-status.success {
    color: var(--green);
}

.pincode-status.standard {
    color: var(--gold);
}

.pincode-status.error {
    color: #c93b3b;
}

/* Related Products Header */
.related-header {
    border-top: 1px solid var(--border);
    padding-top: 50px;
    margin-top: 50px;
    margin-bottom: 30px;
}

.related-header h2 {
    font-family: var(--font-serif);
    font-size: 2rem;
    margin: 0;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .about-grid, .contact-layout, .products-layout, .details-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .filter-panel {
        position: static;
    }
    
    .values-grid {
        grid-template-columns: 1fr;
    }
}

/* Premium Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.page-hero h1, .about-content h2, .contact-card h2, .contact-form h2 {
    animation: fadeInUp 0.8s var(--ease) both;
}

.page-hero p, .about-content p, .contact-info-list {
    animation: fadeInUp 0.8s var(--ease) both;
    animation-delay: 0.15s;
}

.about-img, .contact-form, .filter-panel, .main-image-container {
    animation: scaleIn 0.8s var(--ease) both;
    animation-delay: 0.25s;
}

.product-grid article {
    animation: fadeInUp 0.6s var(--ease) both;
}

.product-grid article:nth-child(1) { animation-delay: 0.1s; }
.product-grid article:nth-child(2) { animation-delay: 0.15s; }
.product-grid article:nth-child(3) { animation-delay: 0.2s; }
.product-grid article:nth-child(4) { animation-delay: 0.25s; }
.product-grid article:nth-child(5) { animation-delay: 0.3s; }
.product-grid article:nth-child(6) { animation-delay: 0.35s; }
.product-grid article:nth-child(7) { animation-delay: 0.4s; }
.product-grid article:nth-child(8) { animation-delay: 0.45s; }

/* Settings page animations */
.settings-sidebar {
    animation: fadeInUp 0.7s var(--ease) both;
}
.settings-content {
    animation: fadeInUp 0.7s var(--ease) both;
    animation-delay: 0.15s;
}

/* Settings Layout */
.settings-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    margin-bottom: 80px;
}

.settings-sidebar {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
    height: fit-content;
}

.settings-user-brief {
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 20px;
}

.settings-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: var(--cream-2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    font-size: 1.8rem;
    color: var(--saffron);
}

.settings-user-brief h3 {
    margin: 0 0 5px;
    font-size: 1.1rem;
}

.settings-user-brief p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--earth-soft);
}

.settings-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.settings-nav-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: transparent;
    border: none;
    border-radius: 8px;
    text-align: left;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--earth-soft);
    cursor: pointer;
    transition: all 0.25s ease;
}

.settings-nav-btn i {
    font-size: 1.1rem;
    width: 20px;
}

.settings-nav-btn:hover, .settings-nav-btn.active {
    background: var(--cream-2);
    color: var(--saffron);
}

.settings-content {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 40px;
    box-shadow: var(--shadow);
}

.settings-tab-panel {
    display: none;
}

.settings-tab-panel.active {
    display: block;
}

.settings-tab-panel h2 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    margin-top: 0;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 12px;
}

/* Settings Cart Items List */
.settings-cart-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.settings-cart-item {
    display: flex;
    gap: 15px;
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding-bottom: 15px;
}

.settings-cart-item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--border);
}

.settings-cart-item-info {
    flex-grow: 1;
}

.settings-cart-item-info h4 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.settings-cart-item-info p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--earth-soft);
}

.settings-cart-remove {
    background: transparent;
    border: none;
    color: #c93b3b;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
}

.settings-cart-summary {
    background: var(--cream-2);
    padding: 20px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
    font-size: 1.1rem;
}

/* Settings Login View */
.settings-login-card {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
}

.settings-login-card i {
    font-size: 3rem;
    color: var(--saffron);
    margin-bottom: 15px;
}

.settings-login-card p {
    color: var(--earth-soft);
    margin-bottom: 25px;
}

@media (max-width: 991px) {
    .settings-layout {
        grid-template-columns: 1fr;
    }
}

/* Cart & Checkout Layout */
.cart-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    margin-bottom: 80px;
}

.cart-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--white);
    border-radius: var(--radius);
    border: 1px solid var(--border);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.cart-table th, .cart-table td {
    padding: 20px;
    text-align: left;
}

.cart-table th {
    background: var(--cream-2);
    font-weight: 700;
    color: var(--earth);
    border-bottom: 1px solid var(--border);
}

.cart-table td {
    border-bottom: 1px solid var(--border);
}

.cart-table tr:last-child td {
    border-bottom: none;
}

.cart-product-cell {
    display: flex;
    align-items: center;
    gap: 15px;
}

.cart-product-cell img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.cart-product-info h3 {
    margin: 0 0 5px;
    font-size: 1.1rem;
    font-family: var(--font-serif);
}

.cart-product-info p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--earth-soft);
}

.cart-qty-ctrl {
    display: inline-flex;
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--white);
}

.cart-qty-ctrl button {
    border: none;
    background: transparent;
    padding: 6px 12px;
    cursor: pointer;
    font-weight: 600;
}

.cart-qty-ctrl input {
    width: 40px;
    border: none;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    text-align: center;
    font-size: 0.9rem;
    font-weight: 700;
}

.cart-remove-btn {
    background: transparent;
    border: none;
    color: #c93b3b;
    cursor: pointer;
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}

.cart-remove-btn:hover {
    transform: scale(1.15);
}

/* Checkout Summary / Cart Sidebar */
.cart-summary-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 30px;
    box-shadow: var(--shadow);
    height: fit-content;
}

.cart-summary-card h2 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 0.95rem;
    color: var(--earth-soft);
}

.summary-row.total {
    border-top: 1px solid var(--border);
    padding-top: 15px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--earth);
}

.promo-input-row {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    margin-top: 10px;
}

.promo-input-row input {
    flex-grow: 1;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 0.9rem;
}

.promo-input-row button {
    padding: 10px 15px;
    background: var(--earth);
    color: var(--white);
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

/* Payment Selector */
.payment-methods {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
    margin-bottom: 25px;
}

.payment-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.payment-option input {
    accent-color: var(--saffron);
}

.payment-option:hover, .payment-option.active {
    border-color: var(--saffron);
    background: var(--cream-2);
}

.payment-option i {
    font-size: 1.2rem;
    color: var(--saffron);
}

@media (max-width: 991px) {
    .cart-layout {
        grid-template-columns: 1fr;
    }
}

/* Premium Pagination Styling */
#filteredProductPagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 20px;
}

.kd-pagination {
    display: flex;
    gap: 8px;
    align-items: center;
}

.kd-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 14px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--earth);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.kd-pagination .page-link:hover:not(.disabled):not(.active) {
    background: var(--cream);
    border-color: var(--earth-soft);
    color: var(--saffron);
}

.kd-pagination .page-link.active {
    background: var(--saffron);
    border-color: var(--saffron);
    color: var(--white);
    cursor: default;
}

.kd-pagination .page-link.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: var(--cream);
}



/* ==========================================================================
   KALASH DHOOP — PREMIUM SINGLE PRODUCT REDESIGN
   ========================================================================== */

.single-product-page {
	padding: 28px 0 90px;
}

.kd-single-product {
	--product-card-bg: rgba(255, 255, 255, .82);
}

.kd-product-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin: 4px 0 26px;
	color: var(--earth-soft);
	font-size: 12px;
}

.kd-product-breadcrumbs a {
	color: var(--earth-soft);
	transition: color .2s ease;
}

.kd-product-breadcrumbs a:hover {
	color: var(--saffron);
}

.kd-product-breadcrumbs strong {
	color: var(--earth);
	font-weight: 700;
}

.details-layout {
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
	gap: clamp(38px, 5vw, 78px);
	align-items: start;
	margin-bottom: 72px;
}

.details-gallery {
	min-width: 0;
}

.kd-gallery-shell {
	position: relative;
	padding: 14px;
	border: 1px solid var(--border);
	border-radius: 22px;
	background:
		radial-gradient(
			circle at 20% 15%,
			rgba(201, 151, 62, .09),
			transparent 30%
		),
		linear-gradient(
			145deg,
			#fff,
			#f8f3e9
		);
	box-shadow: 0 24px 70px rgba(45, 32, 18, .08);
	overflow: hidden;
}

.kd-gallery-shell:before {
	content: "";
	position: absolute;
	width: 240px;
	height: 240px;
	right: -100px;
	top: -100px;
	border-radius: 50%;
	background: rgba(237, 116, 16, .07);
	pointer-events: none;
}

.kd-gallery-badges {
	position: absolute;
	top: 28px;
	left: 28px;
	z-index: 5;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.kd-gallery-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 29px;
	padding: 0 11px;
	border-radius: 999px;
	background: rgba(36, 31, 26, .9);
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

.kd-gallery-badge.premium {
	background: var(--saffron);
}

.kd-gallery-badge.sale {
	background: #b43c32;
}

.kd-gallery-shell .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	opacity: 1 !important;
	margin: 0 !important;
}

.kd-gallery-shell .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

.kd-gallery-shell .woocommerce-product-gallery__image {
	border-radius: 16px;
	overflow: hidden;
}

.kd-gallery-shell .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	max-height: 650px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.kd-gallery-shell .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 13px 0 0 !important;
	padding: 0 !important;
}

.kd-gallery-shell .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	list-style: none;
}

.kd-gallery-shell .flex-control-thumbs li img {
	width: 100%;
	height: 78px;
	object-fit: contain;
	padding: 6px;
	border: 1px solid var(--border);
	border-radius: 11px;
	background: #fff;
	opacity: .72;
	transition:
		transform .25s ease,
		border-color .25s ease,
		opacity .25s ease;
}

.kd-gallery-shell .flex-control-thumbs li img:hover,
.kd-gallery-shell .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--saffron);
	transform: translateY(-2px);
}

.kd-gallery-caption {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 13px;
	color: var(--earth-soft);
	font-size: 10px;
	letter-spacing: .04em;
}

.kd-gallery-caption span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.kd-gallery-caption i {
	color: var(--saffron);
}

.details-info {
	position: sticky;
	top: 105px;
	padding: 6px 0;
}

.details-topline {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	margin-bottom: 12px;
}

.details-brand {
	margin: 0;
	font-size: 10px;
	letter-spacing: .2em;
}

.details-sku {
	color: #8b8174;
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.details-title {
	max-width: 760px;
	font-size: clamp(36px, 4vw, 58px);
	letter-spacing: -.045em;
	margin-bottom: 17px;
}

.details-rating-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 13px;
	margin-bottom: 24px;
}

.details-rating {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	color: var(--earth-soft);
	font-size: 12px;
}

.details-rating:hover {
	color: var(--earth);
}

.details-rating .stars {
	display: inline-flex;
	gap: 2px;
	color: var(--gold);
}

.rating-divider {
	margin: 0 3px;
	color: #b7ac9d;
}

.details-availability {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--green);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.details-availability .status-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(21, 129, 92, .09);
}

.details-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 13px;
	margin: 0 0 20px;
}

.details-price .product-price {
	font-size: clamp(27px, 3vw, 39px);
	font-weight: 800;
	letter-spacing: -.03em;
}

.details-price .product-price del {
	color: #a39a8f;
	font-size: .55em;
	font-weight: 500;
	margin-right: 5px;
}

.details-price .product-price ins {
	text-decoration: none;
}

.size-tag {
	border: 1px solid var(--border);
	background: var(--white);
	color: var(--earth-soft);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	padding: 7px 11px;
}

.delivery-promise {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 14px;
	margin: 0 0 22px;
	border: 1px solid rgba(21, 129, 92, .14);
	border-radius: 13px;
	background: rgba(21, 129, 92, .055);
	color: var(--green);
}

.delivery-promise.unavailable {
	border-color: rgba(180, 60, 50, .15);
	background: rgba(180, 60, 50, .045);
	color: #a13a31;
}

.delivery-promise-icon {
	width: 36px;
	height: 36px;
	flex: none;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: rgba(255, 255, 255, .78);
}

.delivery-promise div:nth-child(2) {
	flex: 1;
}

.delivery-promise strong,
.delivery-promise span {
	display: block;
}

.delivery-promise strong {
	font-size: 12px;
}

.delivery-promise span {
	margin-top: 3px;
	color: var(--earth-soft);
	font-size: 10px;
}

.delivery-promise > i {
	font-size: 10px;
	opacity: .6;
}

.details-desc {
	max-width: 720px;
	margin-bottom: 24px;
	font-size: 14px;
	line-height: 1.8;
}

.details-desc p:last-child {
	margin-bottom: 0;
}

.details-purchase {
	display: block;
	padding: 20px 0;
	margin-bottom: 18px;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

.details-purchase .cart {
	display: flex;
	align-items: center;
	gap: 11px;
	flex-wrap: wrap;
	margin: 0;
}

.details-purchase .quantity {
	display: flex;
	align-items: center;
	min-height: 52px;
	margin: 0 !important;
}

.details-purchase .quantity .qty {
	width: 62px !important;
	height: 52px;
	border: 1px solid var(--border) !important;
	border-radius: 10px;
	background: #fff;
	color: var(--earth);
	text-align: center;
	font-weight: 800;
}

.details-purchase .single_add_to_cart_button {
	min-height: 52px !important;
	flex: 1 1 210px;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--saffron) !important;
	color: #fff !important;
	box-shadow: 0 10px 25px rgba(237, 116, 16, .18);
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	transition:
		transform .25s ease,
		background .25s ease,
		box-shadow .25s ease;
}

.details-purchase .single_add_to_cart_button:hover {
	background: var(--earth) !important;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(36, 31, 26, .16);
}

.details-purchase .variations {
	margin: 0 0 14px !important;
	border: 0 !important;
	background: transparent !important;
}

.details-purchase .variations td,
.details-purchase .variations th {
	padding: 0 0 9px !important;
	border: 0 !important;
	background: transparent !important;
}

.details-purchase .variations label {
	color: var(--earth);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.details-purchase .variations select {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--border);
	border-radius: 9px;
	padding: 0 12px;
	background: #fff;
	color: var(--earth);
}

.delivery-pincode-check {
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 15px;
	background:
		linear-gradient(
			145deg,
			rgba(244, 236, 220, .75),
			rgba(255, 255, 255, .72)
		);
}

.pincode-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.pincode-icon {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: rgba(237, 116, 16, .1);
	color: var(--saffron);
}

.pincode-head strong,
.pincode-head span {
	display: block;
}

.pincode-head strong {
	font-size: 12px;
}

.pincode-head span {
	margin-top: 2px;
	color: var(--earth-soft);
	font-size: 10px;
}

.pincode-input-row {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

.pincode-input-row input {
	flex: 1;
	min-height: 45px;
	padding: 0 13px;
	border-radius: 9px;
	background: #fff;
	outline: none;
}

.pincode-input-row input:focus {
	border-color: var(--saffron);
	box-shadow: 0 0 0 3px rgba(237, 116, 16, .08);
}

.pincode-input-row button {
	min-width: 82px;
	min-height: 45px;
	border-radius: 9px;
	background: var(--earth);
	transition:
		transform .2s ease,
		background .2s ease;
}

.pincode-input-row button:hover {
	background: var(--saffron);
	transform: translateY(-1px);
}

.pincode-status {
	min-height: 20px;
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--earth-soft);
	font-size: 10px;
}

.product-trust-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	margin-top: 18px;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--border);
}

.product-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	background: rgba(255, 255, 255, .58);
}

.product-trust-item > i {
	color: var(--saffron);
	font-size: 14px;
}

.product-trust-item strong,
.product-trust-item small {
	display: block;
}

.product-trust-item strong {
	font-size: 10px;
}

.product-trust-item small {
	margin-top: 2px;
	color: var(--earth-soft);
	font-size: 8px;
}


/* ==========================================================================
   DETAILS / DESCRIPTION
   ========================================================================== */

.product-details-showcase {
	margin-top: 10px;
	padding: 68px 0 20px;
	border-top: 1px solid var(--border);
}

.product-section-heading,
.related-header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 25px;
	margin-bottom: 30px;
}

.product-section-heading h2,
.related-header h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(28px, 3vw, 40px);
	letter-spacing: -.035em;
}

.product-reference {
	color: var(--earth-soft);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.product-details-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
	gap: 20px;
}

.product-description-card,
.product-specs-card {
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid var(--border);
	border-radius: 18px;
	background: rgba(255, 255, 255, .68);
	box-shadow: 0 15px 45px rgba(45, 32, 18, .045);
}

.product-card-icon {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	margin-bottom: 17px;
	border-radius: 12px;
	background: rgba(237, 116, 16, .09);
	color: var(--saffron);
}

.product-description-card h3,
.product-specs-card h3 {
	margin: 0 0 16px;
	font-family: var(--font-serif);
	font-size: 22px;
}

.product-description-content {
	color: var(--earth-soft);
	font-size: 14px;
	line-height: 1.85;
}

.product-description-content p:last-child {
	margin-bottom: 0;
}

.product-description-content h2,
.product-description-content h3,
.product-description-content h4 {
	color: var(--earth);
	margin-top: 22px;
}

.kd-product-specs {
	border-top: 1px solid var(--border);
}

.kd-spec-row {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 0;
	border-bottom: 1px solid var(--border);
	font-size: 12px;
}

.kd-spec-row span {
	color: var(--earth-soft);
}

.kd-spec-row strong {
	color: var(--earth);
	text-align: right;
}

.kd-spec-row strong.is-green {
	color: var(--green);
}

.kd-spec-row strong.is-red {
	color: #b43c32;
}

.product-reviews-anchor {
	scroll-margin-top: 110px;
}


/* ==========================================================================
   RELATED PRODUCTS
   ========================================================================== */

.related-treasures {
	margin-top: 68px;
}

.related-header {
	align-items: end;
}

.related-header h2 {
	margin-top: 2px;
}

.related-view-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--saffron);
	color: var(--earth);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.related-view-all:hover {
	color: var(--saffron);
}

.related-products-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.related-product-card {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 15px;
	background: rgba(255, 255, 255, .7);
	transition:
		transform .3s var(--ease),
		box-shadow .3s ease,
		border-color .3s ease;
}

.related-product-card:hover {
	transform: translateY(-5px);
	border-color: rgba(237, 116, 16, .3);
	box-shadow: 0 18px 40px rgba(45, 32, 18, .08);
}

.related-product-image {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #fff;
}

.related-product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .45s var(--ease);
}

.related-product-card:hover .related-product-image img {
	transform: scale(1.045);
}

.related-product-info {
	padding: 16px;
}

.related-product-brand {
	display: block;
	margin-bottom: 5px;
	color: var(--saffron);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.related-product-info h3 {
	min-height: 42px;
	margin: 0 0 10px;
	font-family: var(--font-serif);
	font-size: 17px;
	line-height: 1.2;
}

.related-product-price {
	font-size: 15px;
	font-weight: 800;
}

.related-stock {
	display: inline-block;
	margin-top: 9px;
	color: var(--green);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .1em;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991px) {

	.single-product-page {
		padding-top: 18px;
	}

	.details-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.details-info {
		position: static;
	}

	.details-title {
		font-size: clamp(34px, 7vw, 52px);
	}

	.product-details-grid {
		grid-template-columns: 1fr;
	}

	.related-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 600px) {

	.single-product-page {
		padding-bottom: 55px;
	}

	.kd-product-breadcrumbs {
		margin-bottom: 18px;
		font-size: 10px;
	}

	.kd-gallery-shell {
		padding: 8px;
		border-radius: 17px;
	}

	.kd-gallery-badges {
		top: 18px;
		left: 18px;
	}

	.kd-gallery-shell .woocommerce-product-gallery__image img {
		max-height: 430px;
	}

	.kd-gallery-shell .flex-control-thumbs {
		gap: 6px;
	}

	.kd-gallery-shell .flex-control-thumbs li img {
		height: 60px;
		border-radius: 8px;
	}

	.kd-gallery-caption {
		gap: 10px;
		font-size: 8px;
	}

	.details-topline {
		align-items: flex-start;
	}

	.details-title {
		font-size: 36px;
	}

	.details-price .product-price {
		font-size: 29px;
	}

	.details-purchase .cart {
		align-items: stretch;
	}

	.details-purchase .quantity {
		flex: 0 0 auto;
	}

	.details-purchase .single_add_to_cart_button {
		min-width: 0;
	}

	.product-trust-grid {
		grid-template-columns: 1fr;
	}

	.product-section-heading,
	.related-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.product-details-showcase {
		padding-top: 48px;
	}

	.product-description-card,
	.product-specs-card {
		padding: 22px;
		border-radius: 15px;
	}

	.related-products-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.related-product-info {
		padding: 12px;
	}

	.related-product-info h3 {
		min-height: 36px;
		font-size: 14px;
	}

	.kd-spec-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.kd-spec-row strong {
		text-align: left;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.related-product-card,
	.related-product-image img,
	.details-purchase .single_add_to_cart_button {
		transition: none;
	}

}

/* ==========================================================
   KALASH DHOOP
   CART + CHECKOUT + COUPON + PAYMENT
   PREMIUM UI
   ========================================================== */

/* ------------------------------
   SHARED PAGE SHELL (Cart + Checkout)
------------------------------ */

.kd-cart-page,
.kd-checkout-page {
	max-width: 1240px;
	margin: 0 auto;
	padding: 30px 20px 90px;
}

.kd-checkout-breadcrumb {
	margin-bottom: 22px;
}

.kd-checkout-breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--earth-soft);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	transition: .2s ease;
}

.kd-checkout-breadcrumb a:hover {
	color: var(--saffron);
}

.kd-page-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 30px;
}

.kd-page-heading h1 {
	margin: 4px 0 8px;
	font-family: var(--font-serif);
	font-size: clamp(32px, 4.5vw, 52px);
	line-height: 1.05;
	letter-spacing: -.03em;
	color: var(--earth);
}

.kd-page-heading p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 13px;
}

.kd-cart-count {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	border: 1px solid var(--border);
	border-radius: 50px;
	background: #fff;
	color: var(--earth);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.kd-cart-count i {
	color: var(--saffron);
}

.kd-mini-label {
	display: block;
	margin: 0 0 4px;
	color: var(--saffron);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .17em;
	text-transform: uppercase;
}

/* ------------------------------
   CART LAYOUT
------------------------------ */

.kd-cart-form {
	display: block;
}

.kd-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: 25px;
	align-items: start;
}

.kd-cart-products {
	min-width: 0;
}

.kd-cart-card {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

.kd-cart-card-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 15px;
	padding: 25px;
	border-bottom: 1px solid var(--border);
}

.kd-cart-card-head h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 22px;
	color: var(--earth);
}

.kd-cart-card-head > span {
	color: var(--earth-soft);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	white-space: nowrap;
}

.kd-cart-items {
	padding: 0 25px;
}

.kd-cart-item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 18px;
	padding: 22px 0;
	border-bottom: 1px solid var(--border);
}

.kd-cart-item:last-child {
	border-bottom: 0;
}

.kd-cart-product-image {
	width: 96px;
	height: 96px;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: #faf7f0;
}

.kd-cart-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kd-cart-product-details {
	min-width: 0;
	position: relative;
}

.kd-cart-product-name {
	margin: 0 0 6px;
	padding-right: 90px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--earth);
}

.kd-cart-product-name a {
	color: inherit;
	text-decoration: none;
}

.kd-cart-product-name a:hover {
	color: var(--saffron);
}

.kd-cart-meta {
	margin-bottom: 6px;
	color: var(--earth-soft);
	font-size: 11px;
	line-height: 1.6;
}

.kd-cart-meta:empty {
	display: none;
	margin: 0;
}

.kd-cart-unit-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 14px;
	color: var(--earth);
	font-size: 13px;
	font-weight: 700;
}

.kd-cart-unit-price span {
	color: var(--earth-soft);
	font-size: 10px;
	font-weight: 500;
}

.kd-cart-item-bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.kd-cart-quantity {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.kd-qty-label {
	color: var(--earth-soft);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.kd-cart-quantity .quantity {
	display: inline-flex;
}

.kd-cart-quantity .quantity .qty,
.kd-cart-quantity input.qty {
	width: 76px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--border);
	border-radius: 9px;
	background: #faf8f4;
	color: var(--earth);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.kd-cart-quantity .quantity .qty::-webkit-outer-spin-button,
.kd-cart-quantity .quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.kd-cart-quantity .quantity .qty:focus {
	outline: 0;
	border-color: var(--saffron);
	box-shadow: 0 0 0 3px rgba(237, 116, 16, .08);
}

.kd-cart-item-subtotal {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	text-align: right;
}

.kd-cart-item-subtotal span {
	color: var(--earth-soft);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.kd-cart-item-subtotal strong {
	color: var(--saffron-deep);
	font-family: var(--font-serif);
	font-size: 18px;
}

.kd-cart-remove {
	position: absolute;
	top: 0;
	right: 0;
}

.kd-cart-remove a.remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #b3453a !important;
	font-size: 10px;
	font-weight: 700;
	text-decoration: none;
	transition: .2s ease;
}

.kd-cart-remove a.remove:hover {
	color: #8a2f26 !important;
}

.kd-cart-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 20px 25px 25px;
}

.kd-update-cart {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 18px !important;
	border: 1px solid var(--border) !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: var(--earth) !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	cursor: pointer;
	transition: .2s ease;
}

.kd-update-cart:hover {
	border-color: var(--earth) !important;
	background: var(--earth) !important;
	color: #fff !important;
}

/* ------------------------------
   CART SIDEBAR / SUMMARY
------------------------------ */

.kd-cart-sidebar {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.kd-summary-card {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

.kd-summary-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 25px;
	border-bottom: 1px solid var(--border);
}

.kd-summary-head h2 {
	margin: 3px 0 0;
	font-family: var(--font-serif);
	font-size: 22px;
	color: var(--earth);
}

.kd-summary-head > i {
	color: var(--saffron);
	font-size: 18px;
}

.kd-cart-totals {
	padding: 12px 25px 25px;
}

.kd-totals-inner {
	display: flex;
	flex-direction: column;
}

.kd-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 10px 0;
	border-bottom: 1px solid var(--border);
	color: var(--earth-soft);
	font-size: 11px;
}

.kd-total-row strong {
	color: var(--earth);
}

.kd-grand-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 18px 0 6px;
}

.kd-grand-total span {
	display: block;
	color: var(--earth);
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 700;
}

.kd-grand-total small {
	display: block;
	margin-top: 3px;
	color: var(--earth-soft);
	font-size: 9px;
	font-weight: 500;
}

.kd-grand-total strong {
	color: var(--saffron-deep);
	font-size: 24px;
}

.kd-proceed-checkout {
	margin-top: 8px;
}

.kd-proceed-checkout .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 54px;
	border: 0 !important;
	border-radius: 11px !important;
	background: var(--saffron) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 12px 25px rgba(237, 116, 16, .18);
	transition: .2s ease;
}

.kd-proceed-checkout .checkout-button:hover {
	background: var(--saffron-deep) !important;
	transform: translateY(-2px);
	box-shadow: 0 15px 30px rgba(237, 116, 16, .24);
}

.kd-secure-checkout {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 25px 0;
	padding: 14px 16px;
	border: 1px dashed rgba(21, 129, 92, .3);
	border-radius: 12px;
	background: rgba(21, 129, 92, .05);
}

.kd-secure-checkout i {
	flex: none;
	color: var(--green);
	font-size: 16px;
}

.kd-secure-checkout strong {
	display: block;
	color: var(--earth);
	font-size: 11px;
}

.kd-secure-checkout span {
	display: block;
	margin-top: 2px;
	color: var(--earth-soft);
	font-size: 10px;
}

.kd-cart-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 16px 25px 25px;
}

.kd-cart-benefits > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 14px 6px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: #fff;
	color: var(--earth-soft);
	font-size: 8px;
	font-weight: 800;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.kd-cart-benefits i {
	color: var(--saffron);
	font-size: 16px;
}

/* ------------------------------
   CART EMPTY STATE
------------------------------ */

.cart-empty.woocommerce-info,
.woocommerce-cart-form + .wc-empty-cart-message,
.cart-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 70px 30px;
	border: 1px dashed var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .6);
	color: var(--earth-soft);
	font-size: 14px;
	text-align: center;
	list-style: none;
}

/* ------------------------------
   CHECKOUT SHELL
------------------------------ */

.kd-checkout-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 24px;
}

.kd-checkout-header h1 {
	margin: 4px 0 8px;
	font-family: var(--font-serif);
	font-size: clamp(32px, 4.5vw, 52px);
	line-height: 1.05;
	letter-spacing: -.03em;
	color: var(--earth);
}

.kd-checkout-header p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 13px;
}

.kd-checkout-secure {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid rgba(21, 129, 92, .25);
	border-radius: 50px;
	background: rgba(21, 129, 92, .06);
	color: var(--green);
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.kd-checkout-progress {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 30px;
	padding: 18px 22px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
	overflow-x: auto;
}

.kd-checkout-progress > i {
	flex: none;
	color: var(--border);
	font-size: 11px;
}

.kd-checkout-progress > div {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: none;
	color: var(--earth-soft);
}

.kd-checkout-progress > div > span {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: none;
	border-radius: 50%;
	background: var(--muted);
	color: var(--earth-soft);
	font-size: 12px;
	font-weight: 800;
}

.kd-checkout-progress > div strong {
	display: block;
	color: var(--earth-soft);
	font-size: 11px;
}

.kd-checkout-progress > div small {
	display: block;
	margin-top: 2px;
	color: var(--earth-soft);
	font-size: 9px;
	opacity: .7;
}

.kd-checkout-progress > div.active > span {
	background: var(--saffron);
	color: #fff;
}

.kd-checkout-progress > div.active strong {
	color: var(--earth);
}

.kd-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	gap: 25px;
	align-items: start;
}

.kd-checkout-details {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.kd-checkout-card {
	overflow: hidden;
	padding: 25px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

.kd-card-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border);
}

.kd-card-heading-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 12px;
	background: rgba(237, 116, 16, .08);
	color: var(--saffron);
	font-size: 17px;
}

.kd-card-heading > div > span {
	color: var(--saffron);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .15em;
}

.kd-card-heading h2 {
	margin: 3px 0 0;
	font-family: var(--font-serif);
	font-size: 20px;
	color: var(--earth);
}

.kd-checkout-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border: 1px dashed rgba(237, 116, 16, .3);
	border-radius: 12px;
	background: rgba(237, 116, 16, .045);
	color: var(--earth-soft);
	font-size: 11px;
	line-height: 1.6;
}

.kd-checkout-note i {
	flex: none;
	margin-top: 2px;
	color: var(--saffron);
}

.kd-checkout-summary-column {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
	position: sticky;
	top: 100px;
}

.kd-checkout-order-card {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

.kd-checkout-order-card > .kd-card-heading {
	margin: 0;
	padding: 25px 25px 20px;
}

.kd-checkout-order-card .woocommerce-checkout-review-order {
	padding: 0 25px 25px;
}

.kd-payment-trust {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
}

.kd-payment-trust > div {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	flex: none;
	border-radius: 50%;
	background: rgba(21, 129, 92, .08);
	color: var(--green);
	font-size: 16px;
}

.kd-payment-trust section strong {
	display: block;
	color: var(--earth);
	font-size: 11px;
}

.kd-payment-trust section span {
	display: block;
	margin-top: 3px;
	color: var(--earth-soft);
	font-size: 10px;
	line-height: 1.5;
}

/* ------------------------------
   CHECKOUT ORDER REVIEW TABLE
------------------------------ */

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table thead th {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border);
	color: var(--earth-soft);
	font-size: 9px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-align: left;
}

.woocommerce-checkout-review-order-table thead th.product-total {
	text-align: right;
}

.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	padding: 14px 0;
	border-bottom: 1px solid var(--border);
	color: var(--earth-soft);
	font-size: 11px;
	vertical-align: middle;
}

.woocommerce-checkout-review-order-table tfoot th {
	text-align: left;
	font-weight: 700;
	color: var(--earth);
}

.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	color: var(--earth);
	font-weight: 700;
}

.woocommerce-checkout-review-order-table tbody td.product-total {
	text-align: right;
	color: var(--earth);
	font-weight: 700;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	padding-top: 18px;
	border-bottom: 0;
	font-family: var(--font-serif);
	font-size: 18px;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	color: var(--saffron-deep);
	font-size: 21px;
}

/* ------------------------------
   CHECKOUT FORM FIELDS
   (billing / shipping / order notes)
------------------------------ */

.kd-checkout-card h3 {
	margin: 0 0 18px;
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--earth);
}

.woocommerce-shipping-fields h3#ship-to-different-address,
.woocommerce-additional-fields h3 {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--border);
}

.col2-set {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 0 16px;
}

.form-row {
	width: 100%;
	margin-bottom: 16px;
}

.form-row-first,
.form-row-last {
	width: calc(50% - 8px);
}

.form-row label {
	display: block;
	margin-bottom: 8px;
	color: var(--earth);
	font-size: 11px;
	font-weight: 700;
}

.form-row label .required {
	color: var(--saffron);
	text-decoration: none;
}

.form-row label.checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 0;
	font-weight: 600;
	cursor: pointer;
}

.form-row .woocommerce-input-wrapper {
	display: block;
}

.form-row input.input-text,
.form-row textarea,
.form-row select,
.form-row .select2-container .select2-selection {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--border);
	background: var(--cream);
	border-radius: 9px;
	color: var(--earth);
	font-family: inherit;
	font-size: 13px;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.form-row textarea {
	min-height: 90px;
	resize: vertical;
}

.form-row input.input-text:focus,
.form-row textarea:focus,
.form-row select:focus {
	outline: 0;
	border-color: var(--saffron);
	box-shadow: 0 0 0 3px rgba(237, 116, 16, .08);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 26px;
	color: var(--earth);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px;
}

.woocommerce-additional-fields,
.woocommerce-account-fields {
	margin-top: 4px;
}

.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.woocommerce-invalid input.input-text,
.woocommerce-invalid select {
	border-color: #b3453a;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	margin: 0 0 20px;
	padding: 14px 18px;
	border: 1px solid var(--border);
	border-left: 3px solid var(--saffron);
	border-radius: 10px;
	background: #fff;
	color: var(--earth);
	font-size: 12px;
	list-style: none;
}

.woocommerce-error {
	border-left-color: #b3453a;
}

.woocommerce-message {
	border-left-color: var(--green);
}

/* ------------------------------
   PAYMENT SECTION SHELL
------------------------------ */

.kd-payment-section {
	margin-top: 6px;
	padding-top: 25px;
	border-top: 1px solid var(--border);
}

.kd-payment-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}

.kd-payment-heading-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 12px;
	background: rgba(237, 116, 16, .08);
	color: var(--saffron);
	font-size: 17px;
}

.kd-payment-heading > div > span {
	color: var(--saffron);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .15em;
}

.kd-payment-heading h3 {
	margin: 3px 0 4px;
	font-family: var(--font-serif);
	font-size: 18px;
	color: var(--earth);
}

.kd-payment-heading p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 11px;
}

.kd-payment-methods {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.kd-no-payment {
	list-style: none;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 14px;
	font-size: 11px;
	color: var(--earth-soft);
}

/* ------------------------------
   CART COUPON
------------------------------ */

.kd-cart-coupon {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 1;
	min-width: 280px;
	padding: 5px 6px 5px 13px;
	border: 1px solid var(--border);
	border-radius: 11px;
	background: #fff;
	transition: .2s ease;
}

.kd-cart-coupon:focus-within {
	border-color: var(--saffron);
	box-shadow: 0 0 0 4px rgba(237,116,16,.07);
}

.kd-cart-coupon > i {
	color: var(--saffron);
	font-size: 13px;
}

.kd-cart-coupon input {
	flex: 1;
	width: 100%;
	height: 40px;
	padding: 0;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--earth);
	font-size: 11px;
}

.kd-cart-coupon input::placeholder {
	color: #aaa198;
}

.kd-cart-coupon button {
	height: 40px;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--earth) !important;
	color: #fff !important;
	font-size: 9px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .07em;
	cursor: pointer;
}

.kd-cart-coupon button:hover {
	background: var(--saffron) !important;
}

/* ------------------------------
   CART SAVINGS
------------------------------ */

.kd-coupon-summary {
	margin-top: 5px;
	padding: 9px 0;
	border-bottom: 1px solid var(--border);
}

.kd-coupon-summary-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--green);
	font-size: 8px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.kd-coupon-summary-head i {
	margin-right: 4px;
}

.kd-coupon-count {
	display: grid;
	place-items: center;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 50px;
	background: rgba(21,129,92,.08);
	color: var(--green);
}

.kd-total-row.coupon-row {
	color: var(--green);
}

.kd-total-row.coupon-row strong {
	color: var(--green);
}

.kd-savings-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	padding: 10px 11px;
	border: 1px dashed rgba(21,129,92,.25);
	border-radius: 10px;
	background: rgba(21,129,92,.045);
	color: var(--green);
	font-size: 10px;
}

.kd-savings-row span {
	flex: 1;
}

.kd-savings-row strong {
	color: var(--green);
}

/* ------------------------------
   CHECKOUT COUPON
------------------------------ */

.kd-checkout-coupon {
	margin-bottom: 18px;
	padding: 15px;
	border: 1px solid var(--border);
	border-radius: 15px;
	background: #fff;
}

.kd-checkout-coupon-heading {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 12px;
}

.kd-checkout-coupon-icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 10px;
	background: rgba(237,116,16,.08);
	color: var(--saffron);
}

.kd-checkout-coupon-heading strong,
.kd-checkout-coupon-heading span {
	display: block;
}

.kd-checkout-coupon-heading strong {
	color: var(--earth);
	font-size: 11px;
}

.kd-checkout-coupon-heading span {
	margin-top: 3px;
	color: var(--earth-soft);
	font-size: 8px;
}

.kd-coupon-form {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}

.kd-coupon-input-wrap {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	gap: 8px;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: #faf8f4;
}

.kd-coupon-input-wrap:focus-within {
	border-color: var(--saffron);
	box-shadow: 0 0 0 3px rgba(237,116,16,.06);
}

.kd-coupon-input-wrap > i {
	color: var(--saffron);
	font-size: 11px;
}

.kd-coupon-input-wrap input {
	width: 100% !important;
	height: 43px !important;
	min-height: 43px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0 !important;
	color: var(--earth);
	font-size: 10px;
}

.kd-coupon-form > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 43px;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--earth) !important;
	color: #fff !important;
	font-size: 9px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	cursor: pointer;
}

.kd-coupon-form > button:hover {
	background: var(--saffron) !important;
}

.kd-active-coupons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 10px;
	color: var(--green);
	font-size: 8px;
}

.kd-active-coupons code {
	padding: 5px 9px;
	border-radius: 50px;
	background: rgba(21,129,92,.08);
	color: var(--green);
	font-family: inherit;
	font-size: 8px;
	font-weight: 800;
}

/* ------------------------------
   CHECKOUT PRODUCT SUMMARY
------------------------------ */

.kd-checkout-product {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.kd-checkout-product-image {
	position: relative;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	flex: none;
	overflow: visible;
	border: 1px solid var(--border);
	border-radius: 9px;
	background: #faf7f0;
}

.kd-checkout-product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 9px;
}

.kd-checkout-product-qty {
	position: absolute;
	top: -7px;
	right: -7px;
	display: grid;
	place-items: center;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 50px;
	background: var(--earth);
	color: #fff;
	font-size: 8px;
	font-weight: 900;
}

.kd-checkout-product-info {
	min-width: 0;
}

.kd-checkout-product-info strong {
	display: block;
	overflow: hidden;
	color: var(--earth);
	font-size: 10px;
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-checkout-product-info span {
	display: block;
	margin-top: 3px;
	color: var(--earth-soft);
	font-size: 8px;
}

.kd-checkout-product-info dl {
	margin: 3px 0 0;
	font-size: 7px;
	line-height: 1.3;
}

.kd-checkout-order-card .woocommerce-checkout-review-order-table td.product-total {
	vertical-align: middle;
	white-space: nowrap;
}

.kd-checkout-order-card .kd-discount-label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--green);
}

.kd-checkout-order-card .cart-discount th,
.kd-checkout-order-card .cart-discount td {
	color: var(--green);
}

.kd-checkout-saving-row th,
.kd-checkout-saving-row td {
	color: var(--green) !important;
	border-bottom: 0 !important;
	font-size: 9px !important;
}

.kd-checkout-saving-row i {
	margin-right: 4px;
}

/* ------------------------------
   PAYMENT METHODS
------------------------------ */

.kd-payment-method {
	overflow: hidden;
	margin-bottom: 8px !important;
	border: 1px solid var(--border) !important;
	border-radius: 12px !important;
	background: #fff !important;
	transition: .2s ease;
}

.kd-payment-method:hover {
	border-color: rgba(237,116,16,.35) !important;
	transform: translateY(-1px);
}

.kd-payment-method > input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.kd-payment-method > label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 64px;
	padding: 11px 13px !important;
	cursor: pointer;
}

.kd-payment-radio {
	position: relative;
	width: 17px;
	height: 17px;
	flex: none;
	border: 2px solid #cfc7bd;
	border-radius: 50%;
}

.kd-payment-method > input:checked + label .kd-payment-radio {
	border-color: var(--saffron);
}

.kd-payment-method > input:checked + label .kd-payment-radio::after {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--saffron);
	content: "";
}

.kd-payment-method > input:checked + label {
	background: rgba(237,116,16,.035);
}

.kd-payment-title {
	flex: 1;
	min-width: 0;
}

.kd-payment-title strong {
	display: block;
	color: var(--earth);
	font-size: 10px;
	font-weight: 900;
}

.kd-payment-title small {
	display: block;
	margin-top: 4px;
	overflow: hidden;
	color: var(--earth-soft);
	font-size: 7px;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-payment-icons {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	max-width: 90px;
}

.kd-payment-icons img {
	max-width: 40px;
	max-height: 25px;
}

.kd-payment-method-badge {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: rgba(21,129,92,.07);
	color: var(--green);
}

.kd-payment-method .payment_box {
	margin: 0 !important;
	padding: 14px !important;
	border-top: 1px solid var(--border);
	background: #faf8f4 !important;
}

.kd-payment-footer {
	margin-top: 15px;
}

.kd-payment-security-note {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
	padding: 9px 11px;
	border-radius: 9px;
	background: rgba(21,129,92,.05);
	color: var(--green);
	font-size: 8px;
	font-weight: 700;
}

.kd-payment-security-note i {
	font-size: 11px;
}

.kd-payment-trust-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin-bottom: 14px;
}

.kd-payment-trust-row span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 32px;
	padding: 5px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: #fff;
	color: var(--earth-soft);
	font-size: 7px;
	font-weight: 800;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.kd-payment-trust-row i {
	color: var(--green);
}

/* ------------------------------
   PLACE ORDER
------------------------------ */

.kd-place-order-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 54px;
	margin-top: 13px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: var(--saffron) !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	box-shadow: 0 12px 25px rgba(237,116,16,.18);
	transition: .2s ease;
}

.kd-place-order-button:hover {
	background: var(--saffron-deep) !important;
	transform: translateY(-2px);
	box-shadow: 0 15px 30px rgba(237,116,16,.24);
}

.kd-place-order-button i:first-child {
	font-size: 10px;
}

.kd-place-order-button i:last-child {
	margin-left: auto;
}

/* ------------------------------
   PAY FOR ORDER
------------------------------ */

.kd-pay-page {
	padding: 30px 0 90px;
}

.kd-pay-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 25px;
	margin-bottom: 30px;
}

.kd-pay-header h1 {
	margin: 4px 0 8px;
	font-family: var(--font-serif);
	font-size: clamp(38px, 5vw, 58px);
	line-height: 1;
	letter-spacing: -.045em;
	color: var(--earth);
}

.kd-pay-header p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 13px;
}

.kd-pay-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(350px, 420px);
	gap: 25px;
	align-items: start;
}

.kd-pay-order-card,
.kd-pay-method-card {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255,255,255,.72);
	box-shadow: 0 20px 55px rgba(45,32,18,.055);
}

.kd-pay-card-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 25px;
	border-bottom: 1px solid var(--border);
}

.kd-pay-card-heading > div:last-child > span {
	color: var(--saffron);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .17em;
}

.kd-pay-card-heading h2 {
	margin: 3px 0 0;
	font-family: var(--font-serif);
	font-size: 22px;
	color: var(--earth);
}

.kd-pay-products {
	padding: 0 25px;
}

.kd-pay-product {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	padding: 16px 0;
	border-bottom: 1px solid var(--border);
	color: var(--earth);
	font-size: 10px;
}

.kd-pay-product > div {
	min-width: 0;
}

.kd-pay-product strong {
	display: block;
}

.kd-pay-product span {
	display: block;
	margin-top: 4px;
	color: var(--earth-soft);
	font-size: 8px;
}

.kd-pay-product dl {
	margin: 4px 0 0;
	font-size: 8px;
}

.kd-pay-totals {
	padding: 12px 25px 25px;
}

.kd-pay-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 10px 0;
	border-bottom: 1px solid var(--border);
	color: var(--earth-soft);
	font-size: 10px;
}

.kd-pay-total-row strong {
	color: var(--earth);
}

.kd-pay-total-row.order-total {
	padding-top: 18px;
	border-bottom: 0;
}

.kd-pay-total-row.order-total span {
	color: var(--earth);
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 700;
}

.kd-pay-total-row.order-total strong {
	color: var(--saffron);
	font-size: 21px;
}

.kd-pay-method-card .kd-payment-section {
	margin: 0;
	padding: 0 25px 25px;
	border-top: 0;
}

.kd-pay-method-card .kd-payment-heading {
	display: none;
}

.kd-pay-method-card .kd-payment-methods {
	padding-top: 0 !important;
}

/* ------------------------------
   RESPONSIVE
------------------------------ */

@media (max-width: 991px) {

	.kd-cart-layout,
	.kd-checkout-layout,
	.kd-pay-layout {
		grid-template-columns: 1fr;
	}

	.kd-cart-sidebar {
		position: static;
	}

	.kd-checkout-summary-column {
		order: -1;
		position: static;
	}

}

@media (max-width: 600px) {

	.kd-cart-page,
	.kd-checkout-page {
		padding: 20px 16px 60px;
	}

	.kd-page-heading,
	.kd-checkout-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.kd-cart-card-head,
	.kd-summary-head {
		padding: 18px;
	}

	.kd-cart-items {
		padding: 0 18px;
	}

	.kd-cart-actions {
		padding: 16px 18px 20px;
	}

	.kd-cart-totals {
		padding: 10px 18px 18px;
	}

	.kd-secure-checkout,
	.kd-cart-benefits {
		margin-left: 18px;
		margin-right: 18px;
	}

	.kd-cart-benefits {
		grid-template-columns: 1fr 1fr;
	}

	.kd-cart-item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 12px;
	}

	.kd-cart-product-image {
		width: 72px;
		height: 72px;
	}

	.kd-cart-product-name {
		padding-right: 70px;
		font-size: 13px;
	}

	.kd-cart-item-bottom {
		flex-direction: column;
		align-items: stretch;
	}

	.kd-cart-item-subtotal {
		align-items: flex-start;
		text-align: left;
	}

	.kd-checkout-card {
		padding: 18px;
	}

	.kd-checkout-progress {
		gap: 8px;
	}

	.kd-checkout-progress > div small {
		display: none;
	}

	.kd-checkout-order-card > .kd-card-heading {
		padding: 18px 18px 16px;
	}

	.kd-checkout-order-card .woocommerce-checkout-review-order {
		padding: 0 18px 18px;
	}

	.form-row-first,
	.form-row-last {
		width: 100%;
	}

	.kd-cart-coupon {
		width: 100%;
		min-width: 0;
	}

	.kd-cart-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kd-cart-coupon button {
		padding: 0 13px !important;
	}

	.kd-coupon-form {
		flex-direction: column;
	}

	.kd-coupon-form > button {
		width: 100%;
	}

	.kd-checkout-product-image {
		width: 45px;
		height: 45px;
	}

	.kd-payment-trust-row {
		grid-template-columns: 1fr;
	}

	.kd-payment-title small {
		display: none;
	}

	.kd-pay-page {
		padding: 20px 0 55px;
	}

	.kd-pay-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.kd-pay-layout {
		gap: 15px;
	}

	.kd-pay-order-card,
	.kd-pay-method-card {
		border-radius: 15px;
	}

	.kd-pay-card-heading {
		padding: 18px;
	}

	.kd-pay-products {
		padding: 0 18px;
	}

	.kd-pay-totals {
		padding: 10px 18px 18px;
	}

	.kd-pay-method-card .kd-payment-section {
		padding: 0 18px 18px;
	}

}
/* ==========================================================
   KALASH DHOOP
   WOOCOMMERCE CART + CHECKOUT BLOCKS (Gutenberg)
   The Cart/Checkout pages on this site are built with the
   WooCommerce Cart & Checkout blocks, not the classic
   woocommerce/cart/cart.php or checkout templates, so they
   need their own selectors (wc-block-* / wc-block-components-*).
   ========================================================== */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	width: min(1280px, calc(100% - 40px));
	max-width: 100%;
	margin: 10px auto 0;
	padding: 0;
	box-sizing: border-box;
	font-family: var(--font-sans);
}

.wc-block-components-notices,
.wc-block-components-notice-banner {
	margin-bottom: 20px;
}

.wc-block-components-notice-banner {
	padding: 14px 18px;
	border: 1px solid var(--border);
	border-left: 3px solid var(--saffron);
	border-radius: 10px;
	background: #fff;
}

.wc-block-components-notice-banner.is-error {
	border-left-color: #b3453a;
}

.wc-block-components-notice-banner.is-success {
	border-left-color: var(--green);
}

/* ------------------------------
   LAYOUT: MAIN + SIDEBAR
------------------------------ */

.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout,
.wc-block-components-sidebar-layout.wc-block-cart,
.wc-block-components-sidebar-layout.wc-block-checkout,
.wc-block-components-sidebar-layout,
/* Newer WooCommerce Blocks versions render Cart/Checkout using a core
   Columns block instead of the old "sidebar-layout" component. This
   fallback catches that markup so the same 2-column treatment applies
   and nothing is left unstyled / overflowing. */
.wp-block-woocommerce-cart > .wp-block-columns,
.wp-block-woocommerce-cart .wc-block-cart .wp-block-columns,
.wp-block-woocommerce-checkout > .wp-block-columns,
.wp-block-woocommerce-checkout .wc-block-checkout .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 380px) !important;
	flex-wrap: unset !important;
	gap: 25px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	box-sizing: border-box !important;
}

.wc-block-components-sidebar-layout > .wc-block-components-main,
.wc-block-cart__main,
.wc-block-checkout__main,
.wp-block-woocommerce-cart > .wp-block-columns > .wp-block-column:first-child,
.wp-block-woocommerce-checkout > .wp-block-columns > .wp-block-column:first-child {
	overflow: visible;
	overflow-wrap: break-word;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	box-sizing: border-box;
	padding: 25px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

.wc-block-components-sidebar-layout > .wc-block-components-sidebar,
.wc-block-components-sidebar,
.wp-block-woocommerce-cart > .wp-block-columns > .wp-block-column:last-child,
.wp-block-woocommerce-checkout > .wp-block-columns > .wp-block-column:last-child {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	box-sizing: border-box;
	position: sticky;
	top: 100px;
}

/* Belt-and-braces: whatever the exact markup, nothing inside the
   cart/checkout blocks should ever be wider than its column. This
   is what was cutting off "Estimated total" / "FREE" on the right. */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-cart *,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-checkout * {
	box-sizing: border-box !important;
}

.wp-block-woocommerce-cart img,
.wp-block-woocommerce-checkout img {
	max-width: 100%;
	height: auto;
}

/* ------------------------------
   CART ITEMS TABLE
------------------------------ */

.wc-block-cart-items {
	width: 100%;
	border-collapse: collapse;
}

.wc-block-cart-items__header {
	border-bottom: 1px solid var(--border);
}

.wc-block-cart-items__header th {
	padding: 0 0 16px;
	color: var(--earth-soft);
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .1em;
	text-align: left;
}

.wc-block-cart-items__header-total {
	text-align: right !important;
}

.wc-block-cart-items__row {
	border-bottom: 1px solid var(--border);
}

.wc-block-cart-items__row:last-child {
	border-bottom: 0;
}

.wc-block-cart-item__image,
.wc-block-cart-item__product,
.wc-block-cart-item__total {
	padding: 20px 10px 20px 0;
	vertical-align: top;
}

.wc-block-cart-item__image {
	width: 80px;
	padding-left: 0;
}

.wc-block-cart-item__image img {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: cover;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: #faf7f0;
}

.wc-block-cart-item__wrap {
	min-width: 0;
}

.wc-block-components-product-name {
	display: inline-block;
	margin-bottom: 6px;
	color: var(--earth);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

a.wc-block-components-product-name:hover {
	color: var(--saffron);
}

.wc-block-cart-item__prices {
	margin-bottom: 6px;
	font-size: 12px;
}

.wc-block-components-product-price {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
}

.wc-block-components-product-price__regular {
	color: var(--earth-soft);
	font-size: 11px;
	font-weight: 500;
	text-decoration: line-through;
	opacity: .7;
}

.wc-block-components-product-price__value.is-discounted {
	color: var(--saffron-deep);
	font-weight: 800;
}

.wc-block-components-product-metadata {
	margin-bottom: 10px;
}

.wc-block-components-product-metadata__description p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 11px;
	line-height: 1.6;
}

.wc-block-cart-item__quantity {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.wc-block-components-quantity-selector {
	position: relative;
	display: inline-flex;
	align-items: stretch;
	width: 104px;
	height: 38px;
	border: 1px solid var(--border);
	border-radius: 9px;
	background: #faf8f4;
	overflow: hidden;
}

.wc-block-components-quantity-selector__input {
	order: 2;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--earth);
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.wc-block-components-quantity-selector__button {
	order: 1;
	width: 30px;
	flex: none;
	border: 0;
	background: transparent;
	color: var(--earth);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: .15s ease;
}

.wc-block-components-quantity-selector__button--plus {
	order: 3;
	border-left: 1px solid var(--border);
}

.wc-block-components-quantity-selector__button--minus {
	border-right: 1px solid var(--border);
}

.wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background: var(--earth);
	color: #fff;
}

.wc-block-components-quantity-selector__button:disabled {
	opacity: .35;
	cursor: not-allowed;
}

.wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: none;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #b3453a;
	cursor: pointer;
	transition: .15s ease;
}

.wc-block-cart-item__remove-link:hover {
	background: rgba(179, 69, 58, .08);
}

.wc-block-cart-item__remove-link svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.wc-block-cart-item__total {
	padding-right: 0;
	text-align: right;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

.wc-block-cart-item__total .wc-block-components-product-price__value {
	color: var(--earth);
	font-family: var(--font-serif);
	font-size: 16px;
	font-weight: 700;
}

.wc-block-components-sale-badge {
	padding: 4px 10px;
	border-radius: 50px;
	background: rgba(21, 129, 92, .09);
	color: var(--green);
	font-size: 9px;
	font-weight: 800;
	white-space: nowrap;
}

/* ------------------------------
   CART / CHECKOUT TOTALS SIDEBAR
------------------------------ */

.wc-block-cart__totals-title {
	margin: 0 0 18px;
	font-family: var(--font-serif);
	font-size: 22px;
	color: var(--earth);
}

.wc-block-components-totals-wrapper {
	margin-bottom: 4px;
}

.wc-block-components-panel {
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	padding: 4px 0;
}

.wc-block-components-panel__button {
	display: block;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 8px;
	padding: 10px 0;
	color: var(--earth);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.wc-block-components-panel__button-icon {
	width: 16px;
	height: 16px;
	flex: none;
	fill: var(--saffron);
	margin-left: auto;
}

.wc-block-components-panel__content {
	padding: 4px 0 14px;
}

.wc-block-components-totals-coupon__form,
.wc-block-components-totals-coupon .wc-block-components-text-input {
	display: flex;
	gap: 8px;
}

.wc-block-components-totals-coupon .wc-block-components-text-input input {
	width: 100%;
	height: 43px;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 9px;
	background: #faf8f4;
	color: var(--earth);
	font-size: 12px;
}

.wc-block-components-totals-coupon__button {
	height: 43px !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--earth) !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	white-space: nowrap;
}

.wc-block-components-totals-coupon__button:hover {
	background: var(--saffron) !important;
}

.wc-block-components-totals-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	padding: 12px 0;
	color: var(--earth-soft);
	font-size: 12px;
}

.wc-block-components-totals-item__label {
	padding-top: 2px;
}

.wc-block-components-totals-item__value {
	color: var(--earth);
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

.wc-block-components-totals-item__description {
	flex-basis: 100%;
	margin-top: -4px;
	color: var(--earth-soft);
	font-size: 10px;
}

.wc-block-components-totals-item__description p {
	margin: 0;
}

.wc-block-components-totals-footer-item {
	padding-top: 18px;
	border-top: 1px solid var(--border);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 700;
	color: var(--earth);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--saffron-deep);
	font-family: var(--font-serif);
	font-size: 24px;
}

.wc-block-components-totals-footer-item-tax {
	margin: 0;
	font-size: 10px;
}

/* ------------------------------
   PROCEED TO CHECKOUT / PLACE ORDER BUTTON
------------------------------ */

.wc-block-cart__submit,
.wc-block-checkout__actions {
	margin-top: 16px;
}

.wc-block-components-button.wp-element-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: var(--saffron) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-decoration: none !important;
	box-shadow: 0 12px 25px rgba(237, 116, 16, .18);
	transition: .2s ease;
}

.wc-block-components-button.wp-element-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button:hover {
	background: var(--saffron-deep) !important;
	transform: translateY(-2px);
	box-shadow: 0 15px 30px rgba(237, 116, 16, .24);
}

.wc-block-components-button.wp-element-button.is-loading {
	opacity: .7;
}

/* ------------------------------
   CHECKOUT BLOCK (best-effort — same design system)
------------------------------ */

.wc-block-checkout__form {
	min-width: 0;
}

.wc-block-components-checkout-step {
	padding-bottom: 22px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--border);
}

.wc-block-components-checkout-step:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.wc-block-components-checkout-step__title {
	margin: 0 0 4px;
	font-family: var(--font-serif);
	font-size: 18px;
	color: var(--earth);
}

.wc-block-components-checkout-step__description {
	margin: 0 0 16px;
	color: var(--earth-soft);
	font-size: 11px;
}

.wc-block-components-checkout-step__heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.wc-block-components-checkout-step__heading-content {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	flex: none;
	border-radius: 50%;
	background: var(--saffron);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.wc-block-components-text-input input,
.wc-block-components-address-form select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--border) !important;
	background: var(--cream);
	border-radius: 9px;
	color: var(--earth);
	font-family: inherit;
	font-size: 13px;
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form select:focus {
	outline: 0;
	border-color: var(--saffron) !important;
	box-shadow: 0 0 0 3px rgba(237, 116, 16, .08);
}

.wc-block-components-text-input label {
	color: var(--earth-soft);
}

.wc-block-components-radio-control__option,
.wc-block-components-payment-method-label {
	padding: 14px 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	margin-bottom: 8px;
	transition: .2s ease;
}

.wc-block-components-radio-control__option:hover {
	border-color: rgba(237, 116, 16, .35);
}

.wc-block-components-radio-control__option--checked {
	border-color: var(--saffron);
	background: rgba(237, 116, 16, .035);
}

.wc-block-checkout__payment-method {
	margin-top: 10px;
}

.wc-block-components-totals-wrapper + .wc-block-components-checkout-step {
	margin-top: 0;
}

/* ------------------------------
   RESPONSIVE
------------------------------ */

@media (max-width: 991px) {

	.wc-block-components-sidebar-layout,
	.wp-block-woocommerce-cart > .wp-block-columns,
	.wp-block-woocommerce-checkout > .wp-block-columns {
		grid-template-columns: 1fr !important;
	}

	.wc-block-components-sidebar,
	.wp-block-woocommerce-cart > .wp-block-columns > .wp-block-column:last-child,
	.wp-block-woocommerce-checkout > .wp-block-columns > .wp-block-column:last-child {
		position: static;
	}

}

/* ------------------------------
   GLOBAL OVERFLOW SAFETY NET
   Prevents any stray element (badge, long price, sticky sidebar,
   third-party plugin markup, etc.) from ever creating horizontal
   scroll / cutting content off the right edge of the viewport.
------------------------------ */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

.entry-content {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

@media (max-width: 600px) {

	.wc-block-cart__main,
	.wc-block-checkout__main {
		padding: 16px;
		border-radius: 15px;
	}

	/* Force the table/thead/tbody out of table layout mode first.
	   Leaving them as display:table while a child <tr> switches to
	   flex is what was causing the cart-item text/price to be
	   pushed off and clipped on narrow screens. */
	.wc-block-cart-items,
	.wc-block-cart-items tbody {
		display: block;
		width: 100%;
	}

	.wc-block-cart-items__header {
		display: none;
	}

	.wc-block-cart-items__row {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		grid-template-areas:
			"image product"
			"image quantity"
			"total total";
		column-gap: 16px;
		row-gap: 12px;
		width: 100%;
		padding: 16px 0;
		box-sizing: border-box;
		align-items: start;
	}

	.wc-block-cart-item__image,
	.wc-block-cart-item__product,
	.wc-block-cart-item__quantity,
	.wc-block-cart-item__total {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0;
	}

	.wc-block-cart-item__image {
		grid-area: image;
	}

	.wc-block-cart-item__image img {
		width: 64px;
		height: 64px;
	}

	.wc-block-cart-item__product {
		grid-area: product;
	}

	.wc-block-components-product-name {
		display: block;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: break-word;
	}

	.wc-block-cart-item__quantity {
		grid-area: quantity;
		margin-top: 0;
	}

	.wc-block-cart-item__total {
		grid-area: total;
		padding-top: 12px;
		border-top: 1px dashed var(--border);
		text-align: right;
	}

	.wc-block-cart-item__total-price-and-sale-badge-wrapper {
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: wrap;
	}

}

/* ------------------------------
   SMALL PHONES
------------------------------ */

@media (max-width: 400px) {

	.wp-block-woocommerce-cart {
		width: calc(100% - 20px);
		margin-top: 6px;
	}

	.wc-block-cart__main,
	.wc-block-checkout__main {
		padding: 12px;
	}

	.wc-block-cart-items__row {
		grid-template-columns: 52px minmax(0, 1fr);
		column-gap: 12px;
	}

	.wc-block-cart-item__image,
	.wc-block-cart-item__image img {
		width: 52px;
		height: 52px;
	}

	.wc-block-components-product-name {
		font-size: 13px;
	}

	.wc-block-components-quantity-selector {
		width: 92px;
		height: 34px;
	}

	.wc-block-components-totals-item {
		flex-wrap: wrap;
		gap: 4px;
	}

	.wc-block-components-totals-coupon__form,
	.wc-block-components-totals-coupon .wc-block-components-text-input {
		flex-wrap: wrap;
	}

	.wc-block-components-totals-coupon .wc-block-components-text-input input {
		width: 100%;
	}

	.wc-block-components-totals-coupon__button {
		width: 100%;
	}

}
/* ==========================================================
   KALASH DHOOP
   MY ACCOUNT — APP-STYLE PROFILE PAGE
   Works with the classic WooCommerce My Account shortcode
   templates (woocommerce/myaccount/*.php), restyled to feel
   like a mobile app: profile header + stat pills + tab bar
   that becomes a sidebar on desktop and a horizontal
   scrollable pill bar on mobile.
   ========================================================== */

.kd-account-page {
	width: min(1280px, calc(100% - 40px));
	max-width: 100%;
	margin: 0 auto;
	padding: 22px 0 90px;
	box-sizing: border-box;
}

.kd-account-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
	color: var(--earth-soft);
	font-size: 12px;
	font-weight: 700;
}

.kd-account-breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--earth-soft);
	text-decoration: none;
	transition: .2s ease;
}

.kd-account-breadcrumb a:hover {
	color: var(--saffron);
}

.kd-account-breadcrumb span:last-child {
	color: var(--earth);
}

/* ------------------------------
   SHELL: SIDEBAR (desktop) / STACK (mobile)
------------------------------ */

.kd-account-shell {
	display: grid;
	grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
	gap: 100px;
	align-items: start;
}

.kd-account-sidebar {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	box-sizing: border-box;
	width:max-content;
}

.kd-account-content {
	min-width: 0;
}

.kd-account-content-card {
	overflow: hidden;
	box-sizing: border-box;
	padding: 28px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

/* ------------------------------
   PROFILE CARD
------------------------------ */

.kd-profile-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
	width:fit-content;
}

.kd-avatar {
	flex: none;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--saffron), var(--saffron-deep));
	color: #fff;
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 700;
	box-shadow: 0 10px 22px rgba(237, 116, 16, .28);
}

.kd-profile-info {
	min-width: 0;
}

.kd-profile-info h2 {
	margin: 2px 0 6px;
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 1.1;
	color: var(--earth);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-profile-info p {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 6px;
	color: var(--earth-soft);
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-profile-info p i {
	color: var(--saffron);
	font-size: 11px;
}

.kd-member-since {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--earth-soft);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.kd-member-since i {
	color: var(--gold);
	font-size: 10px;
}

/* ------------------------------
   STAT PILLS
------------------------------ */

.kd-profile-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.kd-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 14px 8px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: rgba(255, 255, 255, .72);
	text-align: center;
}

.kd-stat strong {
	font-family: var(--font-serif);
	font-size: 20px;
	color: var(--saffron-deep);
}

.kd-stat strong i {
	font-size: 16px;
	color: var(--saffron-deep);
}

.kd-stat span {
	color: var(--earth-soft);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
}

/* ------------------------------
   TAB BAR (nav)
   Desktop: vertical list inside the sidebar card.
   Mobile:  sticky horizontal scrollable pill bar.
------------------------------ */

.kd-account-tabs {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 20px 55px rgba(45, 32, 18, .055);
}

.kd-account-tabs ul {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 10px;
}

.kd-account-tabs li {
	margin: 0;
}

.kd-account-tabs li + li {
	margin-top: 2px;
}

.kd-account-tabs a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	color: var(--earth-soft);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease;
}

.kd-account-tabs a i {
	flex: none;
	width: 18px;
	text-align: center;
	font-size: 15px;
	color: var(--earth-soft);
	transition: color .2s ease;
}

.kd-account-tabs li:hover a {
	background: rgba(237, 116, 16, .07);
	color: var(--earth);
}

.kd-account-tabs li.is-active a,
.kd-account-tabs a[aria-current="page"] {
	background: var(--saffron);
	color: #fff;
	box-shadow: 0 10px 22px rgba(237, 116, 16, .22);
}

.kd-account-tabs li.is-active a i,
.kd-account-tabs a[aria-current="page"] i {
	color: #fff;
}

.kd-account-tabs li.kd-tab-logout a {
	color: #b3453a;
}

.kd-account-tabs li.kd-tab-logout a i {
	color: #b3453a;
}

.kd-account-tabs li.kd-tab-logout:hover a {
	background: rgba(179, 69, 58, .08);
}

/* ------------------------------
   DASHBOARD
------------------------------ */

.kd-dash-welcome {
	margin-bottom: 22px;
}

.kd-dash-welcome h1 {
	margin: 0 0 6px;
	font-family: var(--font-serif);
	font-size: clamp(26px, 3.2vw, 34px);
	color: var(--earth);
}

.kd-dash-welcome h1 span {
	color: var(--saffron-deep);
}

.kd-dash-welcome p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 13px;
}

.kd-recent-order {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
	padding: 18px 20px;
	border: 1px dashed rgba(237, 116, 16, .35);
	border-radius: 16px;
	background: rgba(237, 116, 16, .05);
	text-decoration: none;
	transition: .2s ease;
}

.kd-recent-order:hover {
	background: rgba(237, 116, 16, .09);
	transform: translateY(-1px);
}

.kd-recent-order-icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--saffron);
	color: #fff;
	font-size: 18px;
}

.kd-recent-order-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.kd-recent-order-info strong {
	color: var(--earth);
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-recent-order-date {
	color: var(--earth-soft);
	font-size: 11px;
}

.kd-recent-order-total {
	flex: none;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--saffron-deep);
	font-family: var(--font-serif);
	font-size: 17px;
	font-weight: 700;
}

.kd-recent-order-total i {
	color: var(--earth-soft);
	font-size: 12px;
}

.kd-dash-tiles {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.kd-dash-tile {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
	text-decoration: none;
	transition: .2s ease;
}

.kd-dash-tile:hover {
	border-color: var(--saffron);
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(45, 32, 18, .08);
}

.kd-dash-tile-icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: rgba(237, 116, 16, .1);
	color: var(--saffron-deep);
	font-size: 17px;
}

.kd-dash-tile-copy {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.kd-dash-tile-copy strong {
	color: var(--earth);
	font-size: 13px;
}

.kd-dash-tile-copy span {
	color: var(--earth-soft);
	font-size: 11px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kd-dash-tile-arrow {
	flex: none;
	color: var(--earth-soft);
	font-size: 11px;
}

.kd-dash-logout {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 20px;
	padding: 14px;
	border: 1px solid rgba(179, 69, 58, .25);
	border-radius: 12px;
	background: rgba(179, 69, 58, .05);
	color: #b3453a;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none;
}

/* ------------------------------
   ORDER CARDS
------------------------------ */

.kd-orders-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.kd-order-card {
	padding: 18px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
	transition: .2s ease;
}

.kd-order-card:hover {
	border-color: var(--saffron);
	box-shadow: 0 14px 28px rgba(45, 32, 18, .07);
}

.kd-order-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--border);
}

.kd-order-card-id {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.kd-order-card-id strong {
	font-family: var(--font-serif);
	font-size: 16px;
	color: var(--earth);
}

.kd-order-card-id time {
	color: var(--earth-soft);
	font-size: 11px;
}

.kd-order-status {
	flex: none;
	padding: 6px 12px;
	border-radius: 50px;
	background: rgba(102, 92, 80, .1);
	color: var(--earth-soft);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}

.kd-order-status--completed,
.kd-order-status--delivered {
	background: rgba(21, 129, 92, .12);
	color: var(--green);
}

.kd-order-status--processing,
.kd-order-status--on-hold {
	background: rgba(237, 116, 16, .12);
	color: var(--saffron-deep);
}

.kd-order-status--cancelled,
.kd-order-status--failed,
.kd-order-status--refunded {
	background: rgba(179, 69, 58, .12);
	color: #b3453a;
}

.kd-order-card-body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.kd-order-items-count {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--earth-soft);
	font-size: 12px;
}

.kd-order-items-count i {
	color: var(--saffron);
}

.kd-order-total {
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--saffron-deep);
}

.kd-order-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.kd-order-action-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border: 1px solid var(--border);
	border-radius: 9px;
	background: #fff;
	color: var(--earth);
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
	transition: .2s ease;
}

.kd-order-action-btn:hover {
	border-color: var(--earth);
	background: var(--earth);
	color: #fff;
}

.kd-order-action-btn.is-primary {
	border-color: var(--saffron);
	background: var(--saffron);
	color: #fff;
}

.kd-order-action-btn.is-primary:hover {
	background: var(--saffron-deep);
	border-color: var(--saffron-deep);
}

.kd-orders-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 18px;
}

/* ------------------------------
   EMPTY STATE
------------------------------ */

.kd-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 50px 20px;
	text-align: center;
}

.kd-empty-state-icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: rgba(237, 116, 16, .1);
	color: var(--saffron-deep);
	font-size: 26px;
}

.kd-empty-state h3 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 20px;
	color: var(--earth);
}

.kd-empty-state p {
	max-width: 320px;
	margin: 0;
	color: var(--earth-soft);
	font-size: 13px;
}

.kd-empty-state-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	padding: 12px 26px;
	border-radius: 10px;
	background: var(--saffron);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .05em;
	transition: .2s ease;
}

.kd-empty-state-cta:hover {
	background: var(--saffron-deep);
}

/* ------------------------------
   ADDRESS CARDS
------------------------------ */

.kd-address-intro {
	margin: 0 0 18px;
	color: var(--earth-soft);
	font-size: 13px;
}

.kd-address-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.kd-address-card {
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
}

.kd-address-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border);
}

.kd-address-card-title {
	display: flex;
	align-items: center;
	gap: 10px;
}

.kd-address-icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(237, 116, 16, .1);
	color: var(--saffron-deep);
	font-size: 14px;
}

.kd-address-card-title h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 16px;
	color: var(--earth);
}

.kd-address-edit {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--saffron-deep);
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}

.kd-address-edit:hover {
	color: var(--saffron);
}

.kd-address-card address {
	margin: 0;
	color: var(--earth-soft);
	font-size: 13px;
	font-style: normal;
	line-height: 1.7;
}

.kd-address-empty {
	color: var(--earth-soft);
	font-size: 12px;
	font-style: italic;
}

/* ------------------------------
   ACCOUNT / ADDRESS FORMS
------------------------------ */

.kd-form-card-head {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border);
}

.kd-form-card-head h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 4px;
	font-family: var(--font-serif);
	font-size: 20px;
	color: var(--earth);
}

.kd-form-card-head h2 i {
	color: var(--saffron);
	font-size: 17px;
}

.kd-form-card-head p {
	margin: 0;
	color: var(--earth-soft);
	font-size: 12px;
}

.kd-account-form .woocommerce-form-row,
.kd-account-form .form-row {
	margin: 0 0 16px;
}

.kd-account-form label {
	display: block;
	margin-bottom: 6px;
	color: var(--earth);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.kd-account-form .input-text,
.kd-account-form select,
.kd-account-form textarea {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: #faf8f4;
	color: var(--earth);
	font-family: inherit;
	font-size: 13px;
	box-sizing: border-box;
	transition: .2s ease;
}

.kd-account-form textarea {
	height: auto;
	padding: 12px 14px;
}

.kd-account-form .input-text:focus,
.kd-account-form select:focus,
.kd-account-form textarea:focus {
	outline: 0;
	border-color: var(--saffron);
	box-shadow: 0 0 0 3px rgba(237, 116, 16, .08);
}

.kd-account-form fieldset {
	margin: 22px 0 0;
	padding: 18px 0 0;
	border: 0;
	border-top: 1px solid var(--border);
}

.kd-account-form legend {
	margin-bottom: 14px;
	padding: 0;
	color: var(--earth);
	font-family: var(--font-serif);
	font-size: 15px;
}

.kd-account-form button[type="submit"],
.kd-address-grid + .kd-account-form button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--saffron) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	cursor: pointer;
	box-shadow: 0 12px 25px rgba(237, 116, 16, .18);
	transition: .2s ease;
}

.kd-account-form button[type="submit"]:hover {
	background: var(--saffron-deep) !important;
	transform: translateY(-1px);
}

.kd-order-status-line {
	margin: 0 0 20px;
	padding: 12px 16px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: rgba(255, 255, 255, .6);
	color: var(--earth-soft);
	font-size: 13px;
}

/* ------------------------------
   RESPONSIVE — APP MODE
------------------------------ */

@media (max-width: 900px) {

	.kd-account-page {
		padding: 16px 0 110px;
	}

	.kd-account-shell {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.kd-account-sidebar {
		position: static;
		gap: 14px;
		width:auto;
	}

	.kd-profile-card {
		padding: 18px;
		border-radius: 18px;
		width:stretch;
	}

	.kd-avatar {
		width: 50px;
		height: 50px;
		font-size: 20px;
	}

	/* Tab bar becomes a sticky, horizontally scrollable pill row —
	   the "app tabs" pattern. */
	.kd-account-tabs {
		position: sticky;
		top: 64px;
		z-index: 40;
		border-radius: 16px;
	}

	.kd-account-tabs ul {
		flex-direction: row;
		gap: 8px;
		padding: 10px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.kd-account-tabs ul::-webkit-scrollbar {
		display: none;
	}

	.kd-account-tabs li {
		flex: none;
	}

	.kd-account-tabs li + li {
		margin-top: 0;
	}

	.kd-account-tabs a {
		flex-direction: column;
		gap: 5px;
		padding: 10px 16px;
		font-size: 10px;
	}

	.kd-account-tabs a i {
		width: auto;
		font-size: 16px;
	}

	.kd-account-tabs li.kd-tab-logout {
		display: none;
	}

	.kd-dash-logout {
		display: flex;
	}

	.kd-account-content-card {
		padding: 18px;
		border-radius: 16px;
	}

	.kd-dash-tiles {
		grid-template-columns: 1fr;
	}

	.kd-address-grid {
		grid-template-columns: 1fr;
	}

	.kd-order-card-top {
		flex-wrap: wrap;
	}
}

@media (max-width: 480px) {

	.kd-profile-info h2 {
		font-size: 17px;
	}

	.kd-profile-stats {
		gap: 8px;
	}

	.kd-stat {
		padding: 12px 6px;
	}

	.kd-order-card-body {
		flex-wrap: wrap;
	}

	.kd-order-card-actions {
		flex-direction: column;
	}

	.kd-order-action-btn {
		justify-content: center;
	}
}


/* ==========================================================
   KALASH DHOOP — FINAL MOBILE CART / CHECKOUT FIX
   Fixes WooCommerce Blocks overriding the mobile layout
   because the desktop selectors have higher specificity.
   ========================================================== */

@media (max-width: 767px) {

	/* ---------- PAGE WIDTH / OVERFLOW ---------- */

	html,
	body,
	.page-shell,
	.site-main,
	.entry-content,
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
	}

	/* Keep the app-style bottom navigation from covering buttons/content. */
	.woocommerce-cart .site-main,
	.woocommerce-checkout .site-main,
	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content {
		padding-bottom: 86px !important;
	}

	/* ---------- WOOCOMMERCE CART BLOCK ---------- */

	.wp-block-woocommerce-cart {
		width: calc(100% - 20px) !important;
		max-width: none !important;
		margin: 8px auto 0 !important;
		padding: 0 !important;
	}

	/*
	 * IMPORTANT:
	 * Match the desktop selector specificity and force a single column.
	 * The previous mobile rule used only .wc-block-components-sidebar-layout,
	 * which lost against .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.
	 */
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
	.wp-block-woocommerce-cart .wc-block-cart .wp-block-columns,
	.wp-block-woocommerce-cart > .wp-block-columns {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		gap: 14px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > *,
	.wp-block-woocommerce-cart > .wp-block-columns > .wp-block-column {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: none !important;
		box-sizing: border-box !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
	.wp-block-woocommerce-cart .wc-block-cart__main,
	.wp-block-woocommerce-cart > .wp-block-columns > .wp-block-column:first-child {
		grid-row: 1 !important;
		padding: 14px !important;
		margin: 0 !important;
		overflow: visible !important;
		border-radius: 15px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
	.wp-block-woocommerce-cart .wc-block-components-sidebar,
	.wp-block-woocommerce-cart > .wp-block-columns > .wp-block-column:last-child {
		grid-row: 2 !important;
		position: static !important;
		top: auto !important;
		align-self: auto !important;
		margin: 0 !important;
		padding: 14px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		border-radius: 15px !important;
	}

	/* Never let the cart table create a second horizontal layout. */
	.wp-block-woocommerce-cart .wc-block-cart-items {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-items tbody {
		display: block !important;
		width: 100% !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 52px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"image quantity"
			"total total" !important;
		column-gap: 12px !important;
		row-gap: 10px !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 14px 0 !important;
		box-sizing: border-box !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__image {
		grid-area: image !important;
		width: 52px !important;
		max-width: 52px !important;
		padding: 0 !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__image img {
		width: 52px !important;
		height: 52px !important;
		max-width: 52px !important;
		object-fit: contain !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__product {
		grid-area: product !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 0 !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__quantity {
		grid-area: quantity !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		min-width: 0 !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__total {
		grid-area: total !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 10px 0 0 !important;
		margin: 0 !important;
		border-top: 1px dashed var(--border) !important;
		text-align: right !important;
		min-width: 0 !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex-wrap: wrap !important;
		gap: 6px !important;
		width: 100% !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-product-name {
		display: block !important;
		max-width: 100% !important;
		margin: 0 0 4px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__prices,
	.wp-block-woocommerce-cart .wc-block-components-product-metadata {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-product-metadata__description p {
		font-size: 9px !important;
		line-height: 1.45 !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__quantity {
		align-items: center !important;
		gap: 8px !important;
		flex-wrap: wrap !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
		width: 92px !important;
		height: 34px !important;
		flex: none !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
		width: 30px !important;
		height: 30px !important;
	}

	/* ---------- CART TOTALS / COUPON ---------- */

	.wp-block-woocommerce-cart .wc-block-cart__totals-title {
		font-size: 20px !important;
		margin-bottom: 12px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-item {
		width: 100% !important;
		min-width: 0 !important;
		gap: 10px !important;
		font-size: 11px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-item__label,
	.wp-block-woocommerce-cart .wc-block-components-totals-item__value {
		min-width: 0 !important;
		max-width: 65% !important;
		overflow-wrap: anywhere !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-item__value {
		white-space: nowrap !important;
		text-align: right !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
		font-size: 17px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: 21px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form,
	.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input {
		width: 100% !important;
		min-width: 0 !important;
		flex-wrap: nowrap !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input {
		flex: 1 1 auto !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
		flex: 0 0 auto !important;
		padding-inline: 12px !important;
	}

	/* ---------- CLASSIC CUSTOM CART FALLBACK ---------- */

	.kd-cart-page,
	.kd-checkout-page {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 16px 12px 90px !important;
		box-sizing: border-box !important;
	}

	.kd-cart-grid,
	.kd-cart-layout,
	.kd-checkout-layout,
	.kd-pay-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		gap: 14px !important;
	}

	.kd-cart-main,
	.kd-cart-summary,
	.kd-checkout-details,
	.kd-checkout-summary-column,
	.kd-pay-order-card,
	.kd-pay-method-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		position: static !important;
		grid-column: 1 / -1 !important;
	}

	.kd-cart-product-row {
		display: grid !important;
		grid-template-columns: 52px minmax(0, 1fr) !important;
		gap: 10px !important;
		min-width: 0 !important;
	}

	.kd-cart-product-thumb {
		width: 52px !important;
		height: 52px !important;
	}

	.kd-cart-product-info,
	.kd-cart-product-top,
	.kd-cart-product-bottom {
		min-width: 0 !important;
	}

	.kd-cart-product-top {
		display: block !important;
	}

	.kd-cart-product-price {
		margin-top: 5px !important;
	}

	.kd-cart-product-bottom {
		gap: 8px !important;
		flex-wrap: wrap !important;
	}

	.kd-cart-coupon {
		width: 100% !important;
		min-width: 0 !important;
	}

	/* ---------- CHECKOUT BLOCK ---------- */

	.wp-block-woocommerce-checkout {
		width: calc(100% - 20px) !important;
		max-width: none !important;
		margin: 8px auto 0 !important;
		padding: 0 !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout,
	.wp-block-woocommerce-checkout .wc-block-checkout .wp-block-columns,
	.wp-block-woocommerce-checkout > .wp-block-columns {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		gap: 14px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > *,
	.wp-block-woocommerce-checkout > .wp-block-columns > .wp-block-column {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: none !important;
		box-sizing: border-box !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
	.wp-block-woocommerce-checkout .wc-block-checkout__main,
	.wp-block-woocommerce-checkout > .wp-block-columns > .wp-block-column:first-child {
		grid-row: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 14px !important;
		margin: 0 !important;
		border-radius: 15px !important;
		overflow: visible !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
	.wp-block-woocommerce-checkout .wc-block-components-sidebar,
	.wp-block-woocommerce-checkout > .wp-block-columns > .wp-block-column:last-child {
		grid-row: 2 !important;
		position: static !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 14px !important;
		border-radius: 15px !important;
		overflow: visible !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-text-input,
	.wp-block-woocommerce-checkout .wc-block-components-address-form,
	.wp-block-woocommerce-checkout .wc-block-components-country-input,
	.wp-block-woocommerce-checkout .wc-block-components-state-input,
	.wp-block-woocommerce-checkout .wc-block-components-text-input input,
	.wp-block-woocommerce-checkout .wc-block-components-address-form select {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-text-input input,
	.wp-block-woocommerce-checkout .wc-block-components-address-form select {
		min-height: 44px !important;
		font-size: 13px !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
	.wp-block-woocommerce-checkout .wc-block-components-payment-method-label {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		padding: 12px !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-totals-item {
		min-width: 0 !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-totals-item__label {
		min-width: 0 !important;
		max-width: 65% !important;
		overflow-wrap: anywhere !important;
	}

	.wp-block-woocommerce-checkout .wc-block-components-totals-item__value {
		white-space: nowrap !important;
		flex: 0 0 auto !important;
	}

	/* Checkout order items must never force the sidebar wider than viewport. */
	.wp-block-woocommerce-checkout .wc-block-components-order-summary,
	.wp-block-woocommerce-checkout .wc-block-components-order-summary *,
	.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper,
	.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper * {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	/* ---------- TYPOGRAPHY / BUTTONS ON VERY SMALL SCREENS ---------- */

	.kd-cart-page h1,
	.kd-checkout-page h1 {
		font-size: 30px !important;
	}

	.wc-block-components-button.wp-element-button,
	.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button {
		width: 100% !important;
		min-height: 50px !important;
		font-size: 10px !important;
	}

}

/* Extra protection for very narrow phones (320px and below). */
@media (max-width: 360px) {

	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout {
		width: calc(100% - 12px) !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		padding: 11px !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 46px minmax(0, 1fr) !important;
		column-gap: 10px !important;
	}

	.wp-block-woocommerce-cart .wc-block-cart-item__image,
	.wp-block-woocommerce-cart .wc-block-cart-item__image img {
		width: 46px !important;
		height: 46px !important;
		max-width: 46px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-product-name {
		font-size: 12px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
		width: 86px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form,
	.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input {
		flex-wrap: wrap !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input,
	.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
		width: 100% !important;
		flex: 1 1 100% !important;
	}
}

