/**
 * Theme Name: kimtec Theme
 * Author: paNthera
 * Version: 1.0
 * Description: Custom WooCommerce Theme
 */


/* =====================================================
   1. GLOBAL STYLES
===================================================== */

body {
    font-family: Arial, sans-serif;
    margin: 0;
    background: #f5f5f5;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

html {
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}

.site-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

h1 {
    font-size: 32px;
}

h2 {
    font-size: 24px;
    margin-bottom: 20px;
}

/* Layout container */
.container {
    width: 90%;
    max-width: 1400px;
    margin: auto;
}


/* TOP BAR */

.top-bar {
    background: #ff6600;
    color: #fff;
    font-size: 13px;
}

.top-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
}

.top-bar__tagline {
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-bar__right {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.top-bar__social {
    display: flex;
    align-items: center;
    gap: 12px;
}

.top-bar__social a {
    display: flex;
    color: #fff;
    opacity: 0.85;
    transition: opacity 0.2s ease;
}

.top-bar__social a:hover {
    opacity: 1;
}

.top-bar__social svg {
    width: 16px;
    height: 16px;
}

.top-bar__links {
    display: flex;
    align-items: center;
    gap: 18px;
}

.top-bar__links a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}

.top-bar__links a:hover {
    text-decoration: underline;
}


/* =====================================================
   2. HEADER (NAVBAR)
===================================================== */

.site-header {
    background: #111;
    color: #fff;
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 999;
}

body.admin-bar .site-header {
    top: 32px;
}

.header-inner {
    display: grid;
    grid-template-columns: 200px 1fr 2fr auto;
    align-items: center;
    gap: 20px;
}

/* LOGO */
.logo a {
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    text-decoration: none;
}

/* SEARCH */
.search-bar {
    width: 100%;
}

.search-bar input {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: none;
    outline: none;
}

/* NAVIGATION */
.main-nav ul {
    display: flex !important;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}

.main-nav li {
    list-style: none;
}

.main-nav a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

/* CART */
.cart a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}


/* =====================================================
   3. HERO SECTION
===================================================== */

.hero {
    background: linear-gradient(135deg, #111, #333);
    color: #fff;
    padding: 80px 0;
    text-align: center;
}

.hero h1 {
    font-size: 40px;
    margin-bottom: 10px;
}

.hero p {
    margin-bottom: 20px;
}

/* BUTTON */
.btn {
    background: #ff6600;
    color: #fff;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
}

/* HERO TRUST BADGES */
.hero-trust {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 44px 0 0;
    padding: 0;
    list-style: none;
}

.hero-trust__item {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 1 260px;
    padding: 16px 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    text-align: left;
}

.hero-trust__icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 102, 0, 0.16);
    color: #ff6600;
}

.hero-trust__icon svg {
    width: 22px;
    height: 22px;
}

.hero-trust__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.4;
}

.hero-trust__text strong {
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}


/* =====================================================
   4. CATEGORY SECTION
===================================================== */

.categories {
    background: #fff;
    padding: 50px 0;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.category-card {
    position: relative;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    color: #fff;
    font-weight: bold;

    border-radius: 10px;
    overflow: hidden;
    transition: 0.3s;
}

/* Overlay */
.category-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
}

/* Hover effect */
.category-card:hover::before {
    background: rgba(255, 102, 0, 0.6);
}

/* Text above overlay */
.category-card span {
    position: relative;
    z-index: 1;
}

.section-heading--split {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #ff6600;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.section-heading--split p {
    max-width: 620px;
    margin: 0;
    color: #5f6672;
    line-height: 1.75;
}

.section-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease, background 0.2s ease;
}

.section-link:hover {
    background: #ff6600;
    transform: translateY(-1px);
}

.category-showcase {
    padding: 68px 0;
    background:
        radial-gradient(circle at top left, rgba(255, 102, 0, 0.1), transparent 34%),
        linear-gradient(180deg, #fffaf5 0%, #ffffff 100%);
}

.category-showcase-grid {
    display: flex;
    gap: 22px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.category-showcase-grid::-webkit-scrollbar {
    display: none;
}

.category-showcase-card {
    flex: 0 0 clamp(240px, 30vw, 340px);
    scroll-snap-align: start;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px;
    border-radius: 24px;
    color: #fff;
    text-decoration: none;
    background-position: center;
    background-size: cover;
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.14);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.category-showcase-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px rgba(17, 24, 39, 0.18);
}

.category-showcase-card__count {
    display: inline-flex;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.category-showcase-card__content h3 {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.05;
}

.category-showcase-card__content p {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.7;
}

.category-showcase-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.category-showcase-card__link::after {
    content: "->";
    font-size: 14px;
}


/* =====================================================
   5. SHOP LAYOUT (SIDEBAR + PRODUCTS)
===================================================== */

.shop-layout {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 28px;
    align-items: start;
}

.shop-sidebar {
    background: linear-gradient(180deg, #ffffff, #fafafa);
    padding: 18px;
    border-radius: 12px;
    border: 1px solid #e9e9e9;
    box-shadow: 0 10px 24px rgba(0,0,0,0.06);
    position: sticky;
    top: 92px;
}

body.admin-bar .shop-sidebar {
    top: 124px;
}

.shop-products {
    background: transparent;
}

.shop-sidebar .widget + .widget {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #efefef;
}

.shop-sidebar h2,
.shop-sidebar h3,
.shop-sidebar h4,
.shop-sidebar .widget-title {
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 700;
    color: #121212;
}

.shop-sidebar ul {
    margin: 0;
    padding-left: 18px;
}

.shop-sidebar li {
    margin: 6px 0;
}

.shop-sidebar a {
    color: #222;
    text-decoration: none;
}

.shop-sidebar a:hover {
    color: #ff6600;
}

.shop-sidebar input[type="text"],
.shop-sidebar input[type="search"],
.shop-sidebar input[type="number"],
.shop-sidebar select {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fff;
}

.shop-sidebar input[type="checkbox"] {
    accent-color: #ff6600;
}

.shop-sidebar input[type="range"] {
    width: 100%;
    accent-color: #111;
}

.shop-products > .woocommerce {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 16px;
}

.shop-products .woocommerce-result-count {
    color: #555;
    font-size: 15px;
}

.shop-products .woocommerce-ordering select {
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fff;
}

.shop-archive-shell {
    padding: 32px 0 72px;
}

.shop-page-hero,
.archive-category-hero,
.shop-category-rail,
.archive-subcategories {
    margin-bottom: 24px;
}

.shop-page-hero {
    padding: 34px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(255, 102, 0, 0.18), transparent 32%),
        linear-gradient(135deg, #101827, #172132 62%, #213450 100%);
    color: #fff;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
}

.shop-page-hero__eyebrow,
.archive-category-hero__eyebrow,
.shop-category-rail__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: #ffb27a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.shop-page-hero h1,
.archive-category-hero h1,
.shop-category-rail h2,
.archive-subcategories h2 {
    margin: 0 0 10px;
}

.shop-page-hero p,
.archive-category-hero p,
.archive-subcategories p {
    margin: 0;
    line-height: 1.75;
    color: #cbd5e1;
}

.shop-category-rail {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 22px;
    align-items: start;
    padding: 24px 26px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
    border: 1px solid #e6ebf2;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.shop-category-rail__intro h2 {
    font-size: 28px;
    color: #101827;
}

.shop-category-rail__items {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.shop-category-pill {
    min-width: 150px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid #dde4ee;
    background: #fff;
    color: #111827;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(148, 163, 184, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.shop-category-pill:hover,
.shop-category-pill.is-active {
    transform: translateY(-2px);
    border-color: #ff6600;
    box-shadow: 0 16px 30px rgba(255, 102, 0, 0.14);
}

.shop-category-pill.is-active {
    background: linear-gradient(135deg, #111827, #1f2937 62%, #ff6600);
    color: #fff;
}

.shop-category-pill__name,
.shop-category-pill__meta {
    display: block;
}

.shop-category-pill__name {
    margin-bottom: 6px;
    font-weight: 700;
}

.shop-category-pill__meta {
    font-size: 13px;
    color: #667085;
}

.shop-category-pill.is-active .shop-category-pill__meta {
    color: rgba(255, 255, 255, 0.78);
}

.archive-category-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 26px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e5eaf1;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

.archive-category-hero__content h1 {
    font-size: clamp(34px, 4vw, 48px);
    color: #101827;
}

.archive-category-hero__content p {
    color: #566173;
    max-width: 64ch;
}

.archive-category-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.archive-category-hero__meta span,
.archive-category-hero__meta a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dde5ef;
    color: #111827;
    text-decoration: none;
    font-weight: 600;
}

.archive-category-hero__meta a:hover {
    color: #ff6600;
    border-color: #ff6600;
}

.archive-category-hero__media {
    min-height: 220px;
    display: flex;
    align-items: end;
    justify-content: start;
    padding: 22px;
    border-radius: 24px;
    background:
        linear-gradient(160deg, rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.68)),
        linear-gradient(135deg, #f59e0b, #fb923c);
    background-position: center;
    background-size: cover;
    color: #fff;
    font-weight: 700;
}

.archive-subcategories {
    padding: 24px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff 0%, #f9fafc 100%);
    border: 1px solid #e6ebf2;
}

.archive-subcategories__header {
    margin-bottom: 18px;
}

.archive-subcategories__header p {
    color: #667085;
}

.archive-subcategories__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.archive-subcategory-card {
    display: block;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #dde4ee;
    background: #fff;
    color: #111827;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(148, 163, 184, 0.1);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.archive-subcategory-card:hover,
.archive-subcategory-card.is-active {
    transform: translateY(-2px);
    border-color: #ff6600;
    box-shadow: 0 16px 28px rgba(255, 102, 0, 0.12);
}

.archive-subcategory-card.is-active {
    background: linear-gradient(135deg, #fff8f3, #ffffff);
}

.archive-subcategory-card__name,
.archive-subcategory-card__count {
    display: block;
}

.archive-subcategory-card__name {
    margin-bottom: 6px;
    font-weight: 700;
}

.archive-subcategory-card__count {
    color: #667085;
    font-size: 14px;
}


/* =====================================================
   6. PRODUCT GRID (SHOP PAGE)
===================================================== */

ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 26px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
    justify-items: center;
}

ul.products::before,
ul.products::after {
    content: none !important;
    display: none !important;
}


/* =====================================================
   7. PRODUCT CARD DESIGN
===================================================== */

ul.products li.product {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    text-align: left;
    transition: 0.3s;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    width: min(100%, 260px) !important;
    max-width: 260px !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

ul.products li.product.first,
ul.products li.product.last {
    clear: none !important;
}

ul.products li.product:hover {
    transform: translateY(-5px);
}

/* PRODUCT IMAGE */
ul.products li.product img {
    width: 100%;
    height: 130px;
    object-fit: contain;
    border-radius: 6px;
    margin-bottom: 8px;
}


/* =====================================================
   7.5. PRODUCT GALLERY SLIDER
===================================================== */

.product-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    margin-bottom: 8px;
}

.product-gallery-container {
    position: relative;
    width: 100%;
}

.product-gallery-slider {
    position: relative;
    width: 100%;
    height: 180px; /* Increased from 130px */
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f9f9;
}

.product-gallery-item {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-gallery-item.active {
    opacity: 1;
    position: relative;
    z-index: 2;
}

.product-gallery-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Navigation Arrows */
.gallery-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: all 0.3s ease;
    padding: 0;
    font-size: 16px;
    line-height: 1;
}

.gallery-nav-btn:hover {
    background: #ff6600;
    transform: translateY(-50%) scale(1.1);
}

.gallery-prev {
    left: 8px;
}

.gallery-next {
    right: 8px;
}

/* Gallery Navigation Dots */
.gallery-nav-dots {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 3;
}

.gallery-nav-dots .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.gallery-nav-dots .dot.active {
    background: #ff6600;
    border-color: #ff6600;
    transform: scale(1.2);
}

.gallery-nav-dots .dot:hover {
    background: rgba(255, 102, 0, 0.8);
}

/* PRODUCT TITLE */
ul.products li.product h2 {
    font-size: 14px;
    margin: 8px 0;
    line-height: 1.3;
    color: #222;
}

/* PRODUCT PRICE */
ul.products li.product .price {
    color: #ff6600;
    font-weight: bold;
    margin: 8px 0;
    font-size: 14px;
}

/* ADD TO CART BUTTON */
ul.products li.product .button,
ul.products li.product a.button,
ul.products li.product a.add_to_cart_button {
    background: #111;
    color: #fff;
    padding: 10px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 5px;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    border: 1px solid #111;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

ul.products li.product .button:hover,
ul.products li.product a.button:hover,
ul.products li.product a.add_to_cart_button:hover {
    background: #ff6600;
    border-color: #ff6600;
    color: #fff;
}

/* VIEW CART LINK (after adding to cart) */
ul.products li.product a.added_to_cart,
ul.products li.product a.added_to_cart.wc-forward {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
    padding: 9px 12px;
    border-radius: 5px;
    border: 1px solid #ff6600;
    background: #fff7f1;
    color: #cc5200;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

ul.products li.product a.added_to_cart:hover,
ul.products li.product a.added_to_cart.wc-forward:hover {
    background: #ff6600;
    border-color: #ff6600;
    color: #fff;
}

/* PRODUCT IMAGE */
.woocommerce div.product div.images img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
    object-fit: contain;
}

/* THUMBNAILS */
.woocommerce div.product div.thumbnails {
    display: flex;
    gap: 12px;
    margin-top: 18px;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.woocommerce div.product div.thumbnails img {
    border-radius: 12px;
    cursor: pointer;
    border: 1px solid #e6e6e6;
    transition: transform 0.2s ease, border-color 0.2s ease;
    max-width: 80px;
    width: auto;
    height: 80px;
    object-fit: cover;
}

.woocommerce div.product div.thumbnails img:hover,
.woocommerce div.product div.thumbnails .active img {
    transform: translateY(-2px);
    border-color: #ff6600;
}

.single-product-page {
    padding: 60px 0 80px;
}

.product-detail-grid {
    display: grid;
    grid-template-columns: 1fr 0.95fr;
    gap: 50px;
    align-items: start;
    max-width: 1360px;
    margin: 0 auto;
}

.product-detail-gallery,
.product-detail-summary {
    width: 100%;
}

.product-detail-gallery {
    background: #fff;
    border-radius: 30px;
    padding: 32px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.product-detail-gallery .woocommerce-product-gallery {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.product-detail-gallery .woocommerce-product-gallery__wrapper,
.product-detail-gallery .woocommerce-product-gallery__image {
    width: 100%;
}

.product-detail-summary {
    background: #fff;
    border-radius: 30px;
    padding: 36px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.woocommerce div.product .summary h1.product_title {
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.05;
    margin-bottom: 14px;
    color: #111;
}

.woocommerce div.product .summary .price {
    font-size: clamp(28px, 2.5vw, 38px);
    font-weight: 800;
    color: #111;
    margin-bottom: 16px;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description,
.woocommerce div.product .summary .stock {
    margin-bottom: 18px;
    color: #575757;
    line-height: 1.85;
}

.woocommerce div.product .summary .stock.in-stock {
    color: #1d7a1d;
    font-weight: 700;
}

.woocommerce div.product .summary .stock.out-of-stock {
    color: #c0392b;
    font-weight: 700;
}

.woocommerce div.product .summary .cart {
    margin-bottom: 20px;
}

.woocommerce div.product .summary .button,
.woocommerce div.product .summary button.button {
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    background: #111;
    color: #fff;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: 1px solid transparent;
    transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.woocommerce div.product .summary .button:hover,
.woocommerce div.product .summary button.button:hover {
    background: #ff6600;
    border-color: #ff6600;
    transform: translateY(-1px);
}

.woocommerce div.product .summary .product_meta {
    margin-top: 14px;
    color: #6b6b6b;
    font-size: 14px;
    line-height: 1.7;
}

.woocommerce div.product .summary .product_meta a {
    color: #111;
    text-decoration: none;
    font-weight: 600;
}

.woocommerce div.product .woocommerce-breadcrumb {
    padding: 18px 0 0;
    margin-bottom: 30px;
    color: #6b6b6b;
    font-size: 14px;
}

.woocommerce div.product .woocommerce-breadcrumb a {
    color: #111;
}

.woocommerce div.product .woocommerce-tabs {
    margin-top: 50px;
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
    padding: 28px;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
    border-bottom: none;
}

.woocommerce-tabs ul.tabs li {
    margin: 0;
}

.woocommerce-tabs ul.tabs li a {
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border-radius: 12px;
    background: #f6f6f6;
    color: #333;
    border: 1px solid transparent;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

.woocommerce-tabs .panel {
    padding: 0;
}

.woocommerce-Tabs-panel {
    color: #4f4f4f;
    line-height: 1.8;
    font-size: 15px;
}

.related.products {
    margin-top: 60px;
}

.related.products h2 {
    margin-bottom: 28px;
    font-size: 28px;
    color: #111;
}

.related.products ul.products {
    gap: 26px;
}


/* =====================================================
   8. SALE BADGE
===================================================== */

.woocommerce span.onsale {
    position: absolute;
    top: 10px;
    right: 10px;
    left: auto;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: auto;
    min-width: auto;
    background: #e64a00;
    border-radius: 8px;
    padding: 6px 11px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.2px;
    line-height: 1;
    box-shadow: 0 3px 8px rgba(230, 74, 0, 0.35);
}


/* =====================================================
   8.5 WOOCOMMERCE NOTICES (cart/wishlist toasts, errors, info)
===================================================== */

.woocommerce-notices-wrapper {
    width: 90%;
    max-width: 1400px;
    margin: 16px auto;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    width: 90%;
    max-width: 1400px;
    margin: 16px auto;
    padding: 16px 20px 16px 54px;
    border: 1px solid #dbe6d5;
    border-radius: 16px;
    background: #f7fff4;
    color: #234322;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    list-style: none;
}

.woocommerce-message,
.woocommerce-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.woocommerce-info {
    border-color: #d9e6f5;
    background: #f5f9ff;
    color: #1f3b63;
}

.woocommerce-error {
    border-color: #f0c9c9;
    background: #fff6f6;
    color: #8b1e1e;
    padding: 6px 20px 6px 54px;
}

.woocommerce-error li {
    padding: 10px 0;
}

.woocommerce-error li + li {
    border-top: 1px solid rgba(139, 30, 30, 0.15);
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
}

.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover,
.woocommerce-error a:not(.button):hover {
    color: #ff6600;
}

.woocommerce-message .button.wc-forward,
.woocommerce-info .button.wc-forward {
    flex: 0 0 auto;
    margin: 0;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
    background: #101827;
    color: #fff;
    white-space: nowrap;
}

.woocommerce-message .button.wc-forward:hover,
.woocommerce-info .button.wc-forward:hover {
    background: #ff6600;
    color: #fff;
}


/* =====================================================
   9. PRODUCTS SECTION (HOMEPAGE)
===================================================== */

.products {
    padding: 50px 0;
}

.kimtec-admin-hint {
    margin-top: 20px;
    padding: 12px 16px;
    border: 1px dashed #f0b429;
    border-radius: 10px;
    background: #fffaf0;
    color: #92650a;
    font-size: 13px;
}

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

.shop-products ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


/* =====================================================
   10. Stock & Inventory
===================================================== */

/* STOCK LABEL */
.stock {
    font-size: 14px;
    margin-top: 5px;
}

.stock.in-stock {
    color: green;
}

.stock.out-of-stock {
    color: red;
    font-weight: bold;
}


/* =====================================================
   11. FOOTER
===================================================== */

.site-footer {
    background: #111;
    color: rgba(255, 255, 255, 0.72);
    width: 100%;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 40px;
    padding: 56px 0 40px;
}

.footer-col__title {
    margin: 0 0 18px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.footer-col ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-col a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-col a:hover {
    color: #ff6600;
}

.footer-about {
    margin: 0;
    line-height: 1.7;
}

.footer-divider {
    margin: 20px 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1.5;
}

.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 0;
    font-size: 13px;
}

.footer-bottom__inner p {
    margin: 0;
}

.footer-back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.footer-back-to-top:hover {
    background: #ff6600;
    transform: translateY(-2px);
}

/* =====================================================
   12. SINGLE PRODUCT REVAMP
===================================================== */

.single-product .site-content {
    background:
        radial-gradient(circle at 10% 10%, #fff6ee 0%, rgba(255, 246, 238, 0) 45%),
        radial-gradient(circle at 90% 0%, #eef5ff 0%, rgba(238, 245, 255, 0) 42%),
        #f5f6f8;
}

.single-product-page {
    padding: 14px 0 82px;
}

.single-product .woocommerce-breadcrumb {
    width: 90%;
    max-width: 1360px;
    margin: 10px auto 24px;
    padding: 12px 18px;
    box-sizing: border-box;
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
    border: 1px solid #e3e8ef;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(8px);
    line-height: 1.2;
}

.single-product .woocommerce-breadcrumb a {
    color: #1f2937;
    text-decoration: none;
}

.single-product .woocommerce-breadcrumb a:hover {
    color: #ff6600;
}

.single-product .product-detail-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 36px;
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 30px;
    box-shadow: 0 16px 44px rgba(17, 24, 39, 0.08);
    padding: 18px;
}

.single-product .product-detail-grid > * {
    min-width: 0;
}

.single-product .product-detail-gallery,
.single-product .product-detail-summary,
.single-product .woocommerce-tabs,
.single-product .related.products {
    border: 1px solid #eceef2;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
}

.single-product .product-detail-gallery {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 22px;
    padding: 20px;
    box-sizing: border-box;
    position: sticky;
    top: 100px;
}

body.admin-bar.single-product .product-detail-gallery {
    top: 132px;
}

.single-product .product-detail-gallery .images {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.single-product .product-detail-gallery .woocommerce-product-gallery {
    margin: 0;
}

.single-product .product-detail-gallery .woocommerce-product-gallery__image {
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(170deg, #fdfdfd, #f3f5f8);
}

.single-product .product-detail-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.single-product .product-detail-gallery .flex-control-thumbs li img {
    border-radius: 12px;
    border: 1px solid #dfe3ea;
    background: #fff;
    padding: 4px;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.single-product .product-detail-gallery .flex-control-thumbs li img:hover,
.single-product .product-detail-gallery .flex-control-thumbs li img.flex-active {
    border-color: #ff6600;
    transform: translateY(-2px);
}

.single-product .product-detail-summary {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 22px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0;
    align-self: stretch;
    position: relative;
}

.single-product .product-detail-summary::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 102, 0, 0.06) 0%, rgba(255, 255, 255, 0) 30%);
    pointer-events: none;
}

.single-product .product-detail-summary .product_title {
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.08;
    margin: 0;
    letter-spacing: -0.02em;
    max-width: 18ch;
}

.single-product .product-detail-summary .price {
    font-size: clamp(30px, 2.8vw, 42px);
    font-weight: 800;
    color: #0f172a;
    margin: 2px 0 6px;
}

.single-product .product-detail-summary .price del {
    color: #9ca3af;
    font-size: 0.6em;
    opacity: 1;
}

.single-product .product-detail-summary .price ins {
    color: #0f172a;
    text-decoration: none;
    background: linear-gradient(transparent 55%, #ffe8d2 55%);
}

.single-product .product-detail-summary .woocommerce-product-details__short-description {
    color: #4b5563;
    line-height: 1.72;
    padding: 14px 16px;
    margin: 4px 0;
    border-radius: 12px;
    background: #f3f6fb;
    border: 1px solid #e7edf5;
}

.single-product .product-detail-summary .stock {
    display: inline-flex;
    width: fit-content;
    margin: 0;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

.single-product .product-detail-summary .stock.in-stock {
    color: #166534;
    background: #dcfce7;
}

.single-product .product-detail-summary .stock.out-of-stock {
    color: #991b1b;
    background: #fee2e2;
}

.single-product .product-detail-summary form.cart {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #f6f8fb;
}

.single-product .product-detail-summary form.cart .quantity {
    margin: 0;
}

.single-product .product-detail-summary form.cart .qty {
    height: 46px;
    min-width: 84px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 8px 10px;
}

.single-product .product-detail-summary form.cart .single_add_to_cart_button {
    flex: 1 1 auto;
    margin: 0;
    width: auto;
    min-height: 46px;
    border-radius: 12px;
    text-transform: none;
    letter-spacing: 0;
    font-size: 18px;
    font-weight: 700;
    background: linear-gradient(135deg, #101827, #1f2937);
}

.single-product .product-detail-summary form.cart .single_add_to_cart_button:hover {
    background: linear-gradient(135deg, #ff6600, #ff8736);
}

.single-product .product-detail-summary form.cart .single_add_to_cart_button:disabled,
.single-product .product-detail-summary form.cart .single_add_to_cart_button.disabled {
    background: #d1d5db;
    color: #6b7280;
    cursor: not-allowed;
}

/* Variable products: options table + AJAX price/add-to-cart wrap */
.single-product .product-detail-summary form.cart.variations_form {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 0;
    border: none;
    background: transparent;
}

.single-product .product-detail-summary table.variations,
.single-product .product-detail-summary table.variations tbody {
    display: block;
    width: 100%;
}

.single-product .product-detail-summary table.variations tr {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.single-product .product-detail-summary table.variations tr + tr {
    margin-top: 12px;
}

.single-product .product-detail-summary table.variations th.label {
    flex: 0 0 90px;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
    color: #1f2937;
}

.single-product .product-detail-summary table.variations td.value {
    flex: 1 1 auto;
}

.single-product .product-detail-summary table.variations select {
    width: 100%;
    height: 46px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.single-product .product-detail-summary table.variations select:focus {
    border-color: #ff6600;
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.15);
}

.single-product .product-detail-summary .woocommerce-variation-price .price {
    font-size: 24px;
    margin: 0;
}

.single-product .product-detail-summary .woocommerce-variation-description {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.6;
}

.single-product .product-detail-summary .woocommerce-variation-add-to-cart {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #f6f8fb;
}

.single-product .product-detail-summary a.reset_variations {
    flex: 0 0 auto;
    font-size: 13px;
    color: #6b7280;
    text-decoration: underline;
}

.single-product .product-detail-summary a.reset_variations:hover {
    color: #ff6600;
}

.single-product .product-detail-summary .product_meta {
    border-top: 1px solid #eceef2;
    padding-top: 14px;
    margin-top: 4px;
    color: #6b7280;
}

.single-product .product-detail-summary .product_meta a {
    color: #1f2937;
}

.single-product .product-detail-summary .product_meta a:hover {
    color: #ff6600;
}

.single-product .product-detail-bottom {
    margin-top: 34px;
}

.single-product .woocommerce-tabs {
    margin: 0;
    border-radius: 24px;
    background: #fff;
    padding: 22px;
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    list-style: none;
}

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

.single-product .woocommerce-tabs ul.tabs li {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    min-width: 150px;
    padding: 0 22px;
    border-radius: 18px;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: -0.01em;
    color: #334155 !important;
    text-decoration: none;
    background: linear-gradient(180deg, #ffffff 0%, #f2f5f9 100%) !important;
    border: 1px solid #d9e2ec !important;
    box-shadow: 0 10px 24px rgba(148, 163, 184, 0.14) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.single-product .woocommerce-tabs ul.tabs li.active {
    background: transparent !important;
    border: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
    background: linear-gradient(135deg, #111827 0%, #1f2937 55%, #ff6600 100%) !important;
    border-color: #111827 !important;
    box-shadow: 0 16px 28px rgba(17, 24, 39, 0.22) !important;
}

.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: #111827 !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef2f7 100%) !important;
    border-color: #cfd8e3 !important;
    box-shadow: 0 14px 28px rgba(148, 163, 184, 0.18) !important;
    transform: translateY(-1px);
}

.single-product .woocommerce-tabs ul.tabs li.active a:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #111827 0%, #1f2937 50%, #ff6600 100%) !important;
    border-color: #111827 !important;
    box-shadow: 0 18px 32px rgba(17, 24, 39, 0.24) !important;
}

.single-product .woocommerce-tabs .panel {
    background: linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);
    border: 1px solid #e5eaf1;
    border-radius: 18px;
    padding: 26px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.single-product .related.products {
    margin-top: 26px;
    background: #fff;
    border-radius: 24px;
    padding: 22px;
}

.single-product .related.products h2 {
    font-size: 26px;
    margin-bottom: 22px;
}

.single-product span.onsale {
    top: 18px;
    left: 18px;
    right: auto;
    min-height: auto;
    min-width: auto;
    line-height: 1;
    padding: 9px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}


/* =====================================================
   13. CART PAGE
===================================================== */

body.woocommerce-cart .site-content {
    background:
        radial-gradient(circle at top left, rgba(255, 102, 0, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(33, 52, 80, 0.08), transparent 30%),
        #f5f7fb;
}

body.woocommerce-cart h1 {
    margin: 10px 0 18px;
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: #101827;
}

.kimtec-cart-shell {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kimtec-cart-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto auto;
    gap: 18px;
    align-items: center;
    padding: 26px 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(255, 102, 0, 0.14), transparent 35%),
        linear-gradient(135deg, #101827 0%, #172132 62%, #213450 100%);
    color: #fff;
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.16);
}

.kimtec-cart-intro__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: #ffb27a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.kimtec-cart-intro__content p {
    margin: 0;
    max-width: 56ch;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
}

.kimtec-cart-steps {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
}

.kimtec-cart-step,
.kimtec-cart-continue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.kimtec-cart-step {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
}

.kimtec-cart-step.is-active {
    background: #fff;
    color: #101827;
}

.kimtec-cart-continue {
    background: #fff;
    color: #101827;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.kimtec-cart-continue:hover {
    background: #ff6600;
    color: #fff;
    transform: translateY(-1px);
}

.kimtec-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
}

.kimtec-cart-layout > * {
    min-width: 0;
}

.kimtec-cart-main,
.kimtec-cart-sidebar .cart_totals,
.kimtec-cart-cross-sells {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e5eaf1;
    border-radius: 28px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

.kimtec-cart-main {
    padding: 22px;
    overflow: hidden;
}

.kimtec-cart-sidebar {
    position: sticky;
    top: 96px;
}

body.admin-bar .kimtec-cart-sidebar {
    top: 128px;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    margin-bottom: 16px;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    margin: 0 0 16px;
    padding: 16px 18px 16px 54px;
    border: 1px solid #dbe6d5;
    border-radius: 16px;
    background: #f7fff4;
    color: #234322;
}

.woocommerce-cart .woocommerce-info {
    border-color: #d9e6f5;
    background: #f5f9ff;
    color: #1f3b63;
}

.woocommerce-cart .woocommerce-error {
    border-color: #f0c9c9;
    background: #fff6f6;
    color: #8b1e1e;
}

.woocommerce-cart table.shop_table {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.woocommerce-cart .woocommerce-cart-form__contents thead {
    display: none;
}

.woocommerce-cart .woocommerce-cart-form__contents tbody {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.woocommerce-cart .woocommerce-cart-form__contents tr {
    width: 100%;
}

.woocommerce-cart .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item {
    display: grid;
    grid-template-columns: 96px minmax(220px, 1.4fr) minmax(112px, 0.55fr) minmax(120px, 0.62fr) minmax(128px, 0.68fr) 36px;
    grid-template-areas: "thumb name price quantity subtotal remove";
    gap: 18px;
    align-items: center;
    padding: 22px;
    box-sizing: border-box;
    width: 100%;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e7ecf2;
    border-radius: 24px;
    box-shadow: 0 14px 30px rgba(148, 163, 184, 0.1);
}

.woocommerce-cart .woocommerce-cart-form__cart-item td {
    display: block !important;
    padding: 0;
    border: 0 !important;
    background: transparent;
    text-align: left !important;
    box-shadow: none !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item td::before {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    border: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail::before,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-name::before,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove::before {
    content: none !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail {
    grid-area: thumb;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-name {
    grid-area: name;
    min-width: 0;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-price {
    grid-area: price;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity {
    grid-area: quantity;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
    grid-area: subtotal;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove {
    grid-area: remove;
    justify-self: end;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail span {
    display: flex;
    width: 96px;
    height: 96px;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff, #f1f5f9);
    border: 1px solid #e3e9f2;
    overflow: hidden;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    margin: 0;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
    display: inline-block;
    margin-bottom: 8px;
    color: #101827;
    text-decoration: none;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.12;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a:hover {
    color: #ff6600;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-name dl.variation,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-name .wc-item-meta {
    margin: 0 0 10px;
    color: #667085;
    font-size: 14px;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-name p {
    margin: 8px 0 0;
    color: #5f6672;
    line-height: 1.7;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-price::before,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity::before,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal::before {
    content: attr(data-title);
    display: block;
    margin-bottom: 8px;
    color: #667085;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-price,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-price .amount,
.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal .amount {
    color: #101827;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    min-width: 0;
    white-space: nowrap;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-price del {
    display: block;
    margin-bottom: 4px;
    color: #98a2b3;
    font-size: 15px;
    font-weight: 600;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-price ins {
    text-decoration: none;
    color: #101827;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a.remove {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff5f5;
    color: #c62828 !important;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a.remove:hover {
    background: #c62828;
    color: #fff !important;
    transform: scale(1.06);
}

.woocommerce-cart .woocommerce-cart-form__cart-item .quantity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 10px;
    border-radius: 18px;
    border: 1px solid #dbe3ee;
    background: #fff;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .quantity .qty {
    width: 62px;
    height: 46px;
    padding: 0 6px;
    border: 0;
    background: transparent;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #101827;
}

.woocommerce-cart .woocommerce-cart-form__contents tr:last-child {
    display: block;
}

.woocommerce-cart .woocommerce-cart-form__contents td.actions {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
    border: 1px solid #e7ecf2;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 14px 30px rgba(148, 163, 184, 0.08);
}

.woocommerce-cart .woocommerce-cart-form__contents td.actions::after {
    content: "";
    display: block;
    clear: both;
}

.woocommerce-cart .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    float: none !important;
    margin-bottom: 0;
    flex: 1 1 360px;
    min-width: 0;
}

.woocommerce-cart .coupon .input-text {
    flex: 1 1 220px;
    width: auto !important;
    min-height: 52px;
    padding: 0 16px !important;
    border: 1px solid #d6deea !important;
    border-radius: 16px;
    background: #fff;
    box-sizing: border-box;
}

.woocommerce-cart button.button,
.woocommerce-cart a.button,
.woocommerce-cart .button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 20px;
    box-sizing: border-box;
    max-width: 100%;
    border-radius: 16px;
    border: 1px solid #111827;
    background: #111827;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.woocommerce-cart button.button:hover,
.woocommerce-cart a.button:hover,
.woocommerce-cart .button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #ff6600;
    border-color: #ff6600;
    color: #fff;
    transform: translateY(-1px);
}

.woocommerce-cart button[name="update_cart"] {
    float: none !important;
    margin-left: auto;
    background: #fff;
    color: #111827;
    border-color: #d6deea;
}

.woocommerce-cart button[name="update_cart"]:hover {
    background: #111827;
    color: #fff;
    border-color: #111827;
}

.kimtec-cart-sidebar .cart_totals {
    padding: 24px;
}

.kimtec-cart-sidebar .cart_totals h2 {
    margin: 0 0 18px;
    font-size: 28px;
    color: #101827;
}

.kimtec-cart-sidebar .shop_table {
    width: 100%;
}

.kimtec-cart-sidebar .shop_table tr th,
.kimtec-cart-sidebar .shop_table tr td {
    padding: 16px 0;
    border-top: 1px solid #e9eef5;
    font-size: 16px;
}

.kimtec-cart-sidebar .shop_table tr:first-child th,
.kimtec-cart-sidebar .shop_table tr:first-child td {
    border-top: 0;
}

.kimtec-cart-sidebar .shop_table tr th {
    color: #667085;
    font-weight: 600;
    text-align: left;
}

.kimtec-cart-sidebar .shop_table tr td {
    color: #101827;
    font-weight: 700;
    text-align: right;
}

.kimtec-cart-sidebar .order-total th,
.kimtec-cart-sidebar .order-total td {
    padding-top: 22px;
    font-size: 24px !important;
    color: #101827 !important;
}

.kimtec-cart-sidebar .wc-proceed-to-checkout {
    margin-top: 20px;
    padding: 0;
}

.kimtec-cart-sidebar .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    min-height: 58px;
    box-sizing: border-box;
    font-size: 17px;
    background: linear-gradient(135deg, #111827, #1f2937 55%, #ff6600);
    border: 0;
    box-shadow: 0 18px 28px rgba(17, 24, 39, 0.18);
}

.kimtec-cart-sidebar .wc-proceed-to-checkout a.checkout-button:hover {
    background: linear-gradient(135deg, #ff6600, #ff8b3d);
}

.kimtec-cart-cross-sells {
    padding: 24px;
}

.kimtec-cart-cross-sells > h2,
.kimtec-cart-cross-sells .cross-sells > h2 {
    margin: 0 0 20px;
    font-size: 30px;
    color: #101827;
}


/* =====================================================
   14. MY ACCOUNT PAGE
===================================================== */

body.woocommerce-account .site-content {
    background: #f4f7fb;
    padding: 40px 0 0;
}

body.woocommerce-account .account-page {
    background: #f4f7fb;
    padding-bottom: 24px;
    min-height: calc(100vh - 160px);
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

body.woocommerce-account .account-page .container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    flex: 1;
}

body.woocommerce-account .site-footer {
    margin-top: 36px;
    position: relative;
    z-index: 1;
    width: 100%;
    flex-shrink: 0;
}

body.woocommerce-account .container {
    width: 90%;
    max-width: 1320px;
}

body.woocommerce-account .account-intro {
    padding: 24px 0 10px;
}

body.woocommerce-account .account-intro__copy {
    width: 100%;
    max-width: 100%;
    padding: 32px 34px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #e7ecf2;
    box-shadow: 0 26px 52px rgba(17, 24, 39, 0.08);
    margin-bottom: 32px;
}

body.woocommerce-account .account-intro__copy .section-kicker {
    color: #ff6600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 12px;
    margin-bottom: 14px;
    display: inline-block;
}

body.woocommerce-account .account-intro__copy h1 {
    margin: 0 0 16px;
    font-size: clamp(32px, 5vw, 54px);
    line-height: 1.02;
}

body.woocommerce-account .account-intro__copy p {
    margin: 0;
    color: #475569;
    font-size: 17px;
    line-height: 1.85;
    max-width: 760px;
}

body.woocommerce-account .account-layout {
    display: grid;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 24px;
    margin-bottom: 0;
    position: sticky;
    top: 110px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation::before {
    content: 'Account menu';
    display: block;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ff6600;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 62px;
    padding: 18px 20px;
    border-radius: 18px;
    background: #f8fbff;
    color: #111827;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid transparent;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: #fff;
    border-color: #d6deea;
    transform: translateY(-1px);
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: linear-gradient(135deg, #111827 0%, #1f2937 55%, #ff6600 100%);
    color: #fff;
    border-color: transparent;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 32px;
    background: #fff;
    border-radius: 24px;
    border: 1px solid #e7ecf2;
    box-shadow: 0 20px 40px rgba(17, 24, 39, 0.08);
    min-height: auto;
}

body.woocommerce-account .woocommerce-MyAccount-content > p {
    margin: 0 0 0;
}


body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-MyAccount-content h4 {
    color: #101827;
    margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content li,
body.woocommerce-account .woocommerce-MyAccount-content small {
    color: #475569;
    line-height: 1.8;
}

body.woocommerce-account .woocommerce-account-form .form-row,
body.woocommerce-account .woocommerce-MyAccount-content form {
    display: grid;
    gap: 18px;
}

body.woocommerce-account .woocommerce-account-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
    color: #101827;
}

body.woocommerce-account .woocommerce-account-form input.input-text,
body.woocommerce-account .woocommerce-account-form input[type="password"],
body.woocommerce-account .woocommerce-account-form input[type="email"],
body.woocommerce-account .woocommerce-account-form input[type="text"] {
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #d6deea;
    background: #f8fbff;
    color: #111827;
    box-sizing: border-box;
    transition: border-color .2s ease, box-shadow .2s ease;
}

body.woocommerce-account .woocommerce-account-form input:focus {
    outline: none;
    border-color: #ff6600;
    box-shadow: 0 0 0 4px rgba(255, 102, 0, 0.12);
}

body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-account-form .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 14px;
    border: 0;
    background: #111827;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .woocommerce-account-form .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a:hover {
    background: #ff6600;
    transform: translateY(-1px);
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    width: 100%;
    border-collapse: collapse;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
    border: 1px solid #e7ecf2;
    padding: 16px 18px;
    text-align: left;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
    background: #f8fbff;
    color: #475569;
    font-weight: 700;
}

/* Orders table can show up to 3 actions per row (Pay / View / Cancel) -
   let them wrap as a tidy row of compact pills instead of stacking as
   full-size buttons. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button {
    min-height: 38px;
    padding: 0 16px;
    font-size: 13px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    background: #f8fbff;
    border: 1px solid #d6deea;
    padding: 18px 22px;
    border-radius: 18px;
    color: #475569;
    margin: 0 0 22px;
    align-items: center;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 14px;
    background: #111827;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, background 0.2s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a:hover {
    background: #ff6600;
    color: #fff;
    transform: translateY(-1px);
}


body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    grid-template-columns: 1fr auto;
    gap: 18px;
    padding: 22px 26px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a,
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-account-form .button {
    background: #ff6600;
    color: #111827;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .woocommerce-account-form .button:hover {
    background: #111827;
    color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    margin: 0 0 18px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    background: #fff;
    border: 1px solid #e7ecf2;
    border-radius: 28px;
    padding: 32px;
    box-shadow: 0 24px 48px rgba(17, 24, 39, 0.06);
    min-height: 240px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header.woocommerce-Address-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header.woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header.woocommerce-Address-title h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.2;
    color: #101827;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header.woocommerce-Address-title .edit {
    color: #ff6600;
    font-weight: 700;
    white-space: nowrap;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    margin-bottom: 24px;
    font-style: normal;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address a {
    font-weight: 800;
    color: #111827;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address a:hover {
    color: #ff6600;
}


/* =====================================================
   15. CHECKOUT PAGE
===================================================== */


body.woocommerce-checkout .site-content {
    background:
        radial-gradient(circle at top left, rgba(255, 102, 0, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(33, 52, 80, 0.08), transparent 30%),
        #f5f7fb;
}

body.woocommerce-checkout h1 {
    margin: 10px 0 18px;
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: #101827;
}

/* --- Shell --- */

.kimtec-checkout-shell {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* --- Intro banner (mirrors .kimtec-cart-intro) --- */

.kimtec-checkout-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto auto;
    gap: 18px;
    align-items: center;
    padding: 26px 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(255, 102, 0, 0.14), transparent 35%),
        linear-gradient(135deg, #101827 0%, #172132 62%, #213450 100%);
    color: #fff;
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.16);
}

.kimtec-checkout-intro__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: #ffb27a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.kimtec-checkout-intro__content p {
    margin: 0;
    max-width: 56ch;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
}

/* --- Two-column layout --- */

.kimtec-checkout-form .kimtec-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 28px;
    align-items: start;
}

.kimtec-checkout-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.kimtec-checkout-sidebar {
    position: sticky;
    top: 96px;
    min-width: 0;
}

body.admin-bar .kimtec-checkout-sidebar {
    top: 128px;
}

/* --- Billing / Shipping section cards --- */

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-account-fields {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e7ecf2;
    border-radius: 28px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
    padding: 28px;
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
    margin: 0 0 22px;
    font-size: 20px;
    font-weight: 800;
    color: #101827;
}

.woocommerce-checkout .woocommerce-shipping-fields > h3 label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 18px;
}

/* --- Field grid --- */

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
}

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

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes {
    grid-column: 1 / -1;
}

/* With selling locations restricted to Kenya only (functions.php), WooCommerce
   always renders this as a single pre-selected option, so it's safe to hide
   purely cosmetically here rather than in PHP. Applies on checkout and the
   My Account address forms alike, since both use the same field markup. */
#billing_country_field,
#shipping_country_field {
    /* !important needed: WooCommerce's own address-field JS sets an inline
       display:block on this field after load, which would otherwise win. */
    display: none !important;
}

/* --- Contact-first field order: name, email, phone, then delivery address --- */

#billing_first_name_field { order: 1; }
#billing_last_name_field  { order: 2; }
#billing_email_field      { order: 3; }
#billing_phone_field      { order: 4; }
#billing_address_1_field  { order: 5; }
#billing_city_field       { order: 6; }
#billing_state_field      { order: 7; }

/* --- Hide the delivery address entirely when Shop Pickup is selected --- */

#customer_details.is-pickup #billing_address_1_field,
#customer_details.is-pickup #billing_city_field {
    display: none;
}

/* --- Labels --- */

.woocommerce-checkout .form-row > label:not(.woocommerce-form__label-for-checkbox) {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: 0.01em;
}

.woocommerce-checkout .form-row label .required {
    color: #ff6600;
    margin-left: 2px;
}

/* --- Inputs, selects, textareas --- */

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border: 1px solid #d6deea;
    border-radius: 14px;
    background: #f8fbff;
    color: #101827;
    font-size: 15px;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
}

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

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: #ff6600;
    box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.12);
    background: #fff;
}

.woocommerce-checkout .form-row select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23667085' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 42px;
    cursor: pointer;
}

/* Select2 (WooCommerce country/state dropdowns) */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    height: 52px;
    border: 1px solid #d6deea;
    border-radius: 14px;
    background: #f8fbff;
    display: flex;
    align-items: center;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 52px;
    padding: 0 42px 0 16px;
    color: #101827;
    font-size: 15px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
}

.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #ff6600;
    box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.12);
    background: #fff;
}

/* Inline validation */
.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated .select2-container--default .select2-selection--single {
    border-color: #22c55e;
}

.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
    border-color: #ef4444;
}

/* --- Order review sidebar --- */

.kimtec-checkout-order-heading {
    margin: 0 0 16px;
    font-size: 24px;
    font-weight: 800;
    color: #101827;
}

.woocommerce-checkout-review-order {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e7ecf2;
    border-radius: 28px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

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

.woocommerce-checkout-review-order-table thead th {
    padding: 14px 24px;
    font-size: 11px;
    font-weight: 800;
    color: #667085;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    text-align: left;
    background: #fafbfd;
    border-bottom: 1px solid #e9eef5;
}

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

.woocommerce-checkout-review-order-table tbody tr td {
    padding: 12px 24px;
    border-bottom: 1px solid #f0f4f9;
    font-size: 14px;
    color: #344054;
    vertical-align: middle;
}

.woocommerce-checkout-review-order-table tbody tr td.product-name .product-quantity {
    color: #667085;
    font-weight: 600;
    font-size: 13px;
}

.woocommerce-checkout-review-order-table tbody tr td.product-total {
    text-align: right;
    font-weight: 700;
    color: #101827;
}

.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
    padding: 12px 24px;
    font-size: 15px;
    vertical-align: middle;
    border-top: 1px solid #e9eef5;
}

.woocommerce-checkout-review-order-table tfoot tr th {
    font-weight: 600;
    color: #667085;
    text-align: left;
}

.woocommerce-checkout-review-order-table tfoot tr td {
    font-weight: 700;
    color: #101827;
    text-align: right;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 21px;
    font-weight: 800;
    color: #101827;
}

/* --- Payment section (sits inside .woocommerce-checkout-review-order) --- */

#payment {
    padding: 22px 24px;
    border-top: 1px solid #e9eef5;
}

#payment .payment_methods {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#payment .payment_methods .wc_payment_method {
    border: 1px solid #e0e9f5;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#payment .payment_methods .wc_payment_method:has(input[type="radio"]:checked) {
    border-color: #ff6600;
    box-shadow: 0 0 0 2px rgba(255, 102, 0, 0.12);
}

#payment .payment_methods .wc_payment_method > label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    cursor: pointer;
    font-weight: 700;
    font-size: 15px;
    color: #101827;
}

#payment .payment_methods .wc_payment_method input[type="radio"] {
    accent-color: #ff6600;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

#payment .payment_methods .wc_payment_method .payment_box {
    padding: 12px 18px 18px;
    background: #fafbfd;
    border-top: 1px solid #e9eef5;
    font-size: 14px;
    color: #475569;
    line-height: 1.7;
}

/* Terms & conditions */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    padding: 14px 18px;
    margin-bottom: 16px;
    border: 1px solid #e0e9f5;
    border-radius: 14px;
    background: #fafbfd;
    font-size: 13px;
    color: #475569;
    line-height: 1.6;
}

/* Privacy policy */
#payment .woocommerce-privacy-policy-text {
    margin: 0 0 16px;
    font-size: 13px;
    color: #667085;
    line-height: 1.6;
}

/* Place order button */
#place_order {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, #111827, #1f2937 55%, #ff6600);
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    font-family: inherit;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow: 0 18px 28px rgba(17, 24, 39, 0.18);
    transition: background 0.25s ease, transform 0.2s ease;
    box-sizing: border-box;
}

#place_order:hover {
    background: linear-gradient(135deg, #ff6600, #ff8b3d);
    transform: translateY(-1px);
}

/* --- Notices --- */

body.woocommerce-checkout .woocommerce-notices-wrapper {
    margin-bottom: 16px;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
    padding: 16px 18px;
    border-radius: 16px;
    background: #f5f9ff;
    border: 1px solid #d9e6f5;
    color: #1f3b63;
    line-height: 1.6;
    margin-bottom: 16px;
}

body.woocommerce-checkout .woocommerce-error {
    padding: 16px 18px;
    border-radius: 16px;
    background: #fff6f6;
    border: 1px solid #f0c9c9;
    color: #8b1e1e;
    margin-bottom: 16px;
    list-style: none;
}

/* Coupon / login forms shown before the checkout form */
body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login {
    padding: 22px 26px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e7ecf2;
    border-radius: 22px;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
    margin-bottom: 0;
}


/* =====================================================
   16. RESPONSIVE (CONSOLIDATED)
===================================================== */

/* ─────────────────────────────────────────────────
   Hamburger toggle button (hidden on desktop)
───────────────────────────────────────────────── */
.nav-toggle {
    display: none;
    flex-shrink: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.nav-toggle:hover {
    background: rgba(255, 255, 255, 0.15);
}

.nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
    transform-origin: center;
}

/* Animate to × when open */
.site-header.nav-open .nav-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.site-header.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
}
.site-header.nav-open .nav-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ─────────────────────────────────────────────────
   1180px — Large Desktop & Cart Layout
───────────────────────────────────────────────── */
@media (max-width: 1180px) {
    .kimtec-cart-layout {
        grid-template-columns: 1fr;
    }
    .kimtec-cart-sidebar {
        position: static;
        top: auto;
    }
    .woocommerce-cart .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item {
        grid-template-columns: 96px minmax(0, 1fr) 36px;
        grid-template-areas:
            "thumb name remove"
            "thumb price price"
            "thumb quantity subtotal";
    }
}

/* ─────────────────────────────────────────────────
   1140px — Checkout Layout
───────────────────────────────────────────────── */
@media (max-width: 1140px) {
    .kimtec-checkout-form .kimtec-checkout-layout {
        grid-template-columns: 1fr;
    }
    .kimtec-checkout-sidebar {
        position: static;
        top: auto;
    }
}

/* ─────────────────────────────────────────────────
   1040px — Single Product Adjustments
───────────────────────────────────────────────── */
@media (max-width: 1040px) {
    .single-product .product-detail-grid {
        gap: 24px;
        padding: 14px;
        border-radius: 24px;
    }
    .single-product .product-detail-gallery,
    .single-product .product-detail-summary {
        padding: 22px;
        border-radius: 22px;
    }
    .single-product .product-detail-summary .product_title {
        font-size: clamp(28px, 6vw, 38px);
        max-width: none;
    }
}

/* ─────────────────────────────────────────────────
   1024px — Shop Archives & Product Grid
───────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .shop-category-rail,
    .archive-category-hero {
        grid-template-columns: 1fr;
    }
    ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    ul.products li.product {
        width: 100% !important;
        max-width: none !important;
    }
}

/* ─────────────────────────────────────────────────
   980px — My Account Adjustments
───────────────────────────────────────────────── */
@media (max-width: 980px) {
    body.woocommerce-account .account-layout {
        grid-template-columns: 1fr;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────────────────────────────────────
   920px — My Account Messages
───────────────────────────────────────────────── */
@media (max-width: 920px) {
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────────────────────────────────────
   900px — Tablet / Mid-size Screens
───────────────────────────────────────────────── */
@media (max-width: 900px) {
    /* Top Bar */
    .top-bar__inner {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 6px;
    }
    .top-bar__tagline {
        flex: 1 1 100%;
        text-align: center;
        overflow: visible;
        white-space: normal;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
        padding: 44px 0 32px;
    }
    .footer-col--about { grid-column: 1 / -1; }

    /* Header & Nav */
    .site-header { padding: 10px 0; }
    .header-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
    }
    .logo  { flex: 1 1 auto; }
    .cart  { flex-shrink: 0; }
    .nav-toggle { display: flex; }
    .search-bar {
        order: 10;
        flex: 1 1 100%;
    }
    .main-nav {
        order: 11;
        flex: 1 1 100%;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.3s ease;
    }
    .site-header.nav-open .main-nav {
        max-height: 600px;
    }
    .main-nav ul {
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        gap: 2px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 8px;
        margin-top: 8px;
    }
    .main-nav ul li { width: 100%; }
    .main-nav a {
        display: block;
        padding: 12px 10px;
        border-radius: 8px;
        transition: background 0.2s ease, color 0.2s ease;
    }
    .main-nav a:hover,
    .main-nav .current-menu-item > a,
    .main-nav .current_page_item > a {
        background: rgba(255, 255, 255, 0.08);
        color: #ff6600;
    }

    /* Hero */
    .hero { padding: 52px 0; }
    .hero h1 { font-size: 30px; }
    .hero-trust { margin-top: 32px; }
    .hero-trust__item { flex: 1 1 220px; }

    /* Category Grid */
    .category-grid { grid-template-columns: repeat(2, 1fr); }

    /* Shop Archives */
    .shop-archive-shell { padding: 20px 0 48px; }
    .shop-layout { grid-template-columns: 1fr; }
    .shop-sidebar {
        position: static;
        top: auto;
    }
    .shop-products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    .shop-category-rail {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .shop-category-rail__intro {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 8px;
    }
    .shop-category-rail__intro h2 { margin: 0; font-size: 22px; }

    /* Single Product */
    .product-detail-grid,
    .single-product .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .single-product .product-detail-grid {
        padding: 16px;
    }
    .product-detail-gallery,
    .product-detail-summary,
    .woocommerce div.product .woocommerce-tabs {
        padding: 24px;
    }
    .single-product .product-detail-gallery {
        position: static;
    }
    .single-product .woocommerce-breadcrumb {
        margin-bottom: 18px;
    }

    /* Cart & Checkout */
    .kimtec-cart-intro,
    .kimtec-checkout-intro {
        grid-template-columns: 1fr;
    }

    /* My Account Sidebar */
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        position: static;
        top: auto;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation a {
        min-height: 48px;
        padding: 12px 16px;
        font-size: 14px;
    }
}

/* ─────────────────────────────────────────────────
   782px — WordPress Admin Bar Offset
───────────────────────────────────────────────── */
@media (max-width: 782px) {
    body.admin-bar .site-header { top: 46px; }
    body.admin-bar .shop-sidebar { top: auto; }
}

/* ─────────────────────────────────────────────────
   768px — Section Headings & Small Tablet Grids
───────────────────────────────────────────────── */
@media (max-width: 768px) {
    .section-heading--split {
        flex-direction: column;
        align-items: start;
    }
    ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px;
    }
}

/* ─────────────────────────────────────────────────
   720px — My Account Mobile Layout
───────────────────────────────────────────────── */
@media (max-width: 720px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
    body.woocommerce-account .woocommerce-MyAccount-navigation { position: static; top: auto; }
    body.woocommerce-account .woocommerce-MyAccount-content { padding: 24px 20px; }
    body.woocommerce-account .site-footer { margin-top: 48px; }
    body.woocommerce-account .woocommerce-MyAccount-navigation a {
        min-height: 58px;
        padding: 18px 20px;
    }
}

/* ─────────────────────────────────────────────────
   640px — Mobile / Small Screens
───────────────────────────────────────────────── */
@media (max-width: 640px) {
    /* Top Bar */
    .top-bar__inner { justify-content: center; }
    .top-bar__tagline { display: none; }
    .top-bar__right {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 16px;
    }

    /* Footer - about/contact stay full-width and centered; the two link
       columns sit side by side instead of each taking a full screen. */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px 20px;
        padding: 36px 0 28px;
    }
    .footer-col--about {
        grid-column: 1 / -1;
        text-align: center;
    }
    .footer-contact li { justify-content: center; }
    .footer-bottom__inner {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    /* Hero */
    .hero { padding: 40px 0; }
    .hero h1 { font-size: 24px; }
    .btn {
        display: inline-block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
    .hero-trust {
        flex-direction: column;
        margin-top: 28px;
    }
    .hero-trust__item {
        flex: 1 1 auto;
        width: 100%;
    }

    /* Products & Categories */
    .products { padding: 36px 0; }
    .products h2 { font-size: 22px; }
    .archive-subcategories__grid { grid-template-columns: 1fr; }
    .category-showcase { padding: 40px 0; }
    .category-showcase-card {
        flex-basis: 78vw;
        min-height: 200px;
    }
    .category-showcase-card__content h3 { font-size: 22px; }
    
    .shop-page-hero,
    .archive-category-hero,
    .shop-category-rail,
    .archive-subcategories {
        padding: 20px;
        border-radius: 20px;
    }

    ul.products { grid-template-columns: 1fr !important; }
    .shop-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    /* Single Product */
    .single-product-page { padding: 20px 0 52px; }
    .product-detail-gallery,
    .product-detail-summary,
    .woocommerce div.product .woocommerce-tabs {
        padding: 18px;
        border-radius: 22px;
    }
    .woocommerce-tabs ul.tabs { gap: 8px; }
    .woocommerce-tabs ul.tabs li a { padding: 10px 14px; font-size: 14px; }
    .woocommerce div.product .summary .button,
    .woocommerce div.product .summary button.button { padding: 14px 16px; }
    
    .single-product .product-detail-summary form.cart {
        flex-direction: column;
        align-items: stretch;
    }
    .single-product .product-detail-summary form.cart .single_add_to_cart_button,
    .single-product .product-detail-summary form.cart .qty { width: 100%; }
    .single-product .product-detail-gallery .flex-control-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .single-product .product-detail-summary table.variations tr {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }
    .single-product .product-detail-summary table.variations th.label { flex-basis: auto; }
    .single-product .product-detail-summary .woocommerce-variation-add-to-cart {
        flex-direction: column;
        align-items: stretch;
    }

    /* Cart */
    body.woocommerce-cart h1 { font-size: 36px; }
    .kimtec-cart-main,
    .kimtec-cart-sidebar .cart_totals,
    .kimtec-cart-cross-sells,
    .kimtec-cart-intro {
        padding: 18px;
        border-radius: 22px;
    }

    .kimtec-cart-intro {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .kimtec-cart-steps {
        flex-wrap: wrap;
        gap: 8px;
    }

    .kimtec-cart-step,
    .kimtec-cart-continue {
        min-height: 40px;
        padding: 0 14px;
        font-size: 14px;
    }

    .woocommerce-cart .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item {
        position: relative;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "thumb name"
            "price price"
            "quantity subtotal";
        gap: 10px 12px;
        padding: 16px;
        align-items: start;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail span {
        width: 80px;
        height: 80px;
        border-radius: 16px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
        width: 60px;
        height: 60px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-name {
        align-self: center;
        padding-right: 42px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.3;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-remove {
        position: absolute;
        top: 16px;
        right: 16px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-price,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-price .amount,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal .amount {
        font-size: 15px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
        min-width: 0;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal::before {
        text-align: right !important;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .quantity {
        width: fit-content;
        min-height: 44px;
        padding: 0 8px;
        border-radius: 12px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .quantity .qty {
        width: 48px;
        height: 36px;
        font-size: 14px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-price::before,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity::before,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal::before {
        margin-bottom: 4px !important;
        font-size: 10px;
    }

    .woocommerce-cart .coupon {
        flex-direction: column;
        align-items: stretch;
        flex: 1 1 100%;
    }

    .woocommerce-cart .coupon .input-text {
        flex: 0 0 auto;
        width: 100% !important;
    }

    .woocommerce-cart button.button,
    .woocommerce-cart a.button,
    .woocommerce-cart .button.alt { width: 100%; }

    .woocommerce-cart .woocommerce-cart-form__contents td.actions { align-items: stretch; }
    .woocommerce-cart button[name="update_cart"] { margin-left: 0; }

    /* Checkout */
    body.woocommerce-checkout h1 { font-size: 36px; }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    .kimtec-checkout-intro,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-account-fields {
        padding: 20px;
        border-radius: 22px;
    }
    #payment { padding: 18px 20px; }

    /* Account */
    body.woocommerce-account .account-intro__copy {
        padding: 22px 20px;
        border-radius: 20px;
    }
    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
        border-radius: 18px;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }

    /* Notices */
    .woocommerce-message,
    .woocommerce-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* ─────────────────────────────────────────────────
   480px — Search & Legacy Categories
───────────────────────────────────────────────── */
@media (max-width: 480px) {
    .search-bar input { font-size: 15px; }
    .category-grid { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────
   400px — Extra Small Screens
───────────────────────────────────────────────── */
@media (max-width: 400px) {
    ul.products { grid-template-columns: 1fr !important; }

    .kimtec-cart-intro { padding: 14px; }
    .kimtec-checkout-intro { padding: 16px; }

    .kimtec-cart-steps {
        flex-direction: column;
        gap: 6px;
        width: 100%;
    }
    .kimtec-cart-step,
    .kimtec-cart-continue {
        width: 100%;
        justify-content: center;
        min-height: 38px;
        font-size: 13px;
    }

    .woocommerce-cart .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item {
        gap: 8px 10px;
        padding: 12px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a,
    .woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail span {
        width: 68px;
        height: 68px;
        border-radius: 12px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
        width: 50px;
        height: 50px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-name {
        padding-right: 38px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
        font-size: 14px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-remove {
        top: 12px;
        right: 12px;
    }

    .woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a.remove {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }
}
