/* WooCommerce specific styles — uses --border-width, --transition-* from style.css */
.woocommerce-products-header {
    margin-bottom: 2em;
}

ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--spacing-sm);
    list-style: none;
    padding: var(--spacing-sm);
    margin-bottom: var(--spacing-xl);
}

li.product img {
    max-width: 100%;
    height: auto;
}

/* ========== Order received / Thank you page ========== */
.order-page {
    padding: var(--spacing-xl) 0 var(--spacing-xxl);
}

.order-page__header {
    text-align: left;
    max-width: 640px;
    margin: 0 auto var(--spacing-xl);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-direction: column;
}

.order-page__header--failed {
    max-width: 720px;
}

.order-page__icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-color);
}

.order-page__header--failed .order-page__icon {
    border-color: #c53030;
    color: #c53030;
}

.order-page__icon span {
    font-size: 1.5rem;
    line-height: 1;
}

.order-page__title {
    text-align: center;
    font-family: var(--font-heading);
    font-size: 2.25rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: var(--spacing-sm);
}

.order-page__subtitle {
    font-size: 0.95rem;
    color: var(--text-muted);
    max-width: 40rem;
}

.order-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr);
    gap: var(--spacing-xl);
    align-items: flex-start;
    margin-top: var(--spacing-lg);
}

.order-page__summary {
    border: var(--border-width, 1px) solid var(--border-color);
    padding: var(--spacing-lg);
    background: #fff;
}

.order-page__details {
    border: var(--border-width, 1px) solid var(--border-color);
    padding: var(--spacing-lg);
    background: #fff;
}

.order-page__meta-list {
    list-style: none;
    margin: 0 0 var(--spacing-md);
    padding: 0;
    font-size: 0.9rem;
}

.order-page__meta-list li {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-xs);
}

.order-page__meta-label {
    color: var(--text-muted);
}

.order-page__meta-value {
    font-weight: 500;
}

.order-page__actions {
    margin-top: var(--spacing-xl);
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.order-page__actions .btn {
    min-width: 180px;
}

/* Reuse existing order details table styles where possible */
.order-page__details .woocommerce-order-details__title {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    margin-bottom: var(--spacing-sm);
}

.order-page__details .shop_table.order_details {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.order-page__details .shop_table.order_details th,
.order-page__details .shop_table.order_details td {
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    padding: var(--spacing-xs) 0;
}

.order-page__details .shop_table.order_details tfoot th,
.order-page__details .shop_table.order_details tfoot td {
    font-weight: 500;
}

.order-page__summary .woocommerce-column--billing-address,
.order-page__summary .woocommerce-column--shipping-address {
    margin-top: var(--spacing-md);
}

.order-page__summary h2 {
    font-family: var(--font-heading);
    font-size: 1rem;
    margin-bottom: var(--spacing-xs);
}

.order-page__summary address {
    font-style: normal;
    font-size: 0.9rem;
    color: var(--text-muted);
}
.entry-title
{
    padding: 24px;
    text-align: center;
}

@media (max-width: 768px) {
    .order-page {
        padding: var(--spacing-lg) 0 var(--spacing-xl);
    }

    .order-page__header {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .order-page__layout {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    .order-page__summary,
    .order-page__details {
        padding: var(--spacing-md);
    }

    .order-page__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ========== Shop page – Bestsellers-style product cards (same as front-page) ========== */
.shop-page .shop .products.shop__grid,
.shop .products.shop__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-md);
    list-style: none;
    margin: 0 0 var(--spacing-xl);
    padding: 0 var(--spacing-md);
}

.shop-page .shop .products.shop__grid li.product,
.shop .products.shop__grid li.product {
    border: none;
    padding: 0;
    text-align: left;
}

@media (max-width: 900px) {
    .shop-page .shop .products.shop__grid,
    .shop .products.shop__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .shop-page .shop .products.shop__grid,
    .shop .products.shop__grid {
        grid-template-columns: 1fr;
    }
}

/* Shop header: result count + ordering – theme section style */
.shop-page .shop .woocommerce-products-header,
.shop .woocommerce-products-header {
    margin-bottom: var(--spacing-md);
}

.shop-page .shop .woocommerce-before-shop-loop,
.shop .woocommerce-before-shop-loop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-lg);
}

.shop-page .shop .woocommerce-result-count,
.shop .woocommerce-result-count {
    font-size: 0.9rem;
    color: var(--text-muted);
}

.shop-page .shop .woocommerce-ordering select,
.shop .woocommerce-ordering select {
    font-size: 0.9rem;
    padding: var(--spacing-xs) var(--spacing-sm);
    border: var(--border-width, 1px) solid var(--border-color);
    background: var(--white);
}

/* Product card swatches (shop.php style) – common color slugs */
.shop .product-card__swatch[data-color="black"] { background-color: #1a1a1a; }
.shop .product-card__swatch[data-color="navy"] { background-color: #2c3e50; }
.shop .product-card__swatch[data-color="grey"],
.shop .product-card__swatch[data-color="gray"] { background-color: #6b7280; }
.shop .product-card__swatch[data-color="beige"] { background-color: #d4c4a8; }
.shop .product-card__swatch[data-color="brown"] { background-color: #5d4e37; }
.shop .product-card__swatch[data-color="white"] { background-color: #e5e7eb; }
.shop .product-card__swatch[data-color="green"] { background-color: #4a5568; }
.shop .product-card__swatch[data-color="tan"] { background-color: #8b7355; }
.shop .product-card__swatch[data-color="taupe"] { background-color: #6b5b4f; }
.shop .product-card__swatch[data-color="charcoal"] { background-color: #4b5563; }
.shop .product-card__swatch[data-color="olive"] { background-color: #8b6914; }

.button {
    display: inline-block;
    padding: var(--spacing-xs) var(--spacing-sm);
    background: var(--text-color);
    color: var(--white);
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.woocommerce-cart-form table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form th,
.woocommerce-cart-form td {
    border: var(--border-width, 1px) solid var(--border-color);
    padding: var(--spacing-xs);
}

/* ========== Cart page – sidebar layout (cart.html reference) ========== */
.cart-page .woocommerce {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--spacing-sm);
}

.cart-page__layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: var(--spacing-lg);
    align-items: start;
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
}

.cart-page__main {
    min-width: 0;
}

.cart-page__sidebar {
    position: sticky;
    top: calc(var(--header-height) + var(--spacing-sm));
}

.cart-page__sidebar .cart_totals {
    background: var(--white);
    border: var(--border-width, 1px) solid var(--border-color);
    padding: var(--spacing-md);
}

.cart-page__sidebar .cart_totals h2 {
    font-family: var(--font-heading);
    font-size: 1.125rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--spacing-sm);
}

.cart-page__sidebar .shop_table {
    width: 100%;
    border-collapse: collapse;
}

.cart-page__sidebar .shop_table th,
.cart-page__sidebar .shop_table td {
    border: none;
    padding: var(--spacing-xs) 0;
    vertical-align: top;
}

.cart-page__sidebar .shop_table th {
    text-align: left;
    font-weight: 500;
    color: var(--text-color);
}

.cart-page__sidebar .shop_table .order-total th,
.cart-page__sidebar .shop_table .order-total td {
    padding-top: var(--spacing-sm);
    border-top: var(--border-width, 1px) solid var(--border-color);
    font-weight: 600;
}

.cart-page__sidebar .wc-proceed-to-checkout {
    margin-top: var(--spacing-sm);
}

.cart-page__sidebar .checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--text-color);
    color: var(--white);
    border: var(--border-width, 1px) solid var(--text-color);
    font-family: var(--font-body);
    font-size: 1rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.cart-page__sidebar .checkout-button:hover {
    background: transparent;
    color: var(--text-color);
}

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

    .cart-page__sidebar {
        position: static;
    }
}

/* ========== Single Product (Varsity-style) ========== */
.single-product .site-header--scrolled {
    background-color: rgba(248, 247, 244, 0.95);
    backdrop-filter: blur(5px);
    border-bottom: var(--border-width, 1px) solid var(--border-color);
}

/* Clear fixed header: .site-content already has padding-top; add breathing room */
.product-page,
.single-product .product-page {
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-xl);
}

.product-summary {
    padding-top: 0;
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
}

.product-breadcrumb {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
}

.product-breadcrumb a:hover {
    color: var(--text-color);
}

.product-breadcrumb__sep {
    margin: 0 var(--spacing-xs);
}

.product-breadcrumb__current {
    color: var(--text-color);
}

.product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    align-items: start;
    margin-bottom: var(--spacing-xl);
}

/* Gallery */
.product-gallery {
    position: sticky;
    top: var(--header-height);
    contain: layout style;
}

/* Slider buttons vertically centered on product image (container height = image height) */
.product-gallery.slider-container {
    min-height: 0;
    max-height: calc(100vh - var(--header-height)); /* never taller than first fold */
}

/* Make product gallery use full-width slider items */
.product-gallery .slider-track {
    padding-bottom: 0;
    align-items: stretch;
}

.product-gallery .slider-item {
    flex: 0 0 100%;
    width: 100%;
}

.product-gallery .slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* crop if needed, but stay within fold */
}

/* Default WooCommerce gallery: main image slider + thumbnails below, variation switching intact */
.product-gallery--wc {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.product-gallery--wc .woocommerce-product-gallery {
    width: 100%;
    display: flex;
    flex-direction: column;
    opacity: 1;
}

.product-gallery--wc .woocommerce-product-gallery__wrapper {
    width: 100%;
    order: 1;
}

/* Main image slider area (flexslider) */
.product-gallery--wc .woocommerce-product-gallery__wrapper {
    position: relative;
}

.product-gallery--wc .flex-viewport {
    width: 100%;
    max-height: calc(100vh - var(--header-height) - 120px); /* leave space for thumbnails */
    overflow: hidden;
}

/* Left/right arrow controls: same design as about-slider (round buttons, hide at start/end) */
.product-gallery--wc .flex-direction-nav {
    margin: 0;
    padding: 0 var(--spacing-xs);
    list-style: none;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 10;
    display: flex;
    justify-content: space-between;
}

.product-gallery--wc .flex-direction-nav li {
    margin: 0;
    padding: 0;
    pointer-events: auto;
}

.product-gallery--wc .flex-direction-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--white, #fff);
    border: var(--border-width, 1px) solid var(--border-color, #e5e3df);
    color: var(--text-color, #1a1a1a);
    text-indent: -9999px;
    overflow: hidden;
    transition: border-color 0.2s ease, opacity 0.2s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.product-gallery--wc .flex-direction-nav a:hover {
    border-color: var(--text-color, #1a1a1a);
}

/* Hide prev on first image, next on last (same logic as about-slider) */
.product-gallery--wc .flex-direction-nav .slider-btn--hidden,
.product-gallery--wc .flex-direction-nav li.slider-btn--hidden {
    visibility: hidden;
    pointer-events: none;
}

.product-gallery--wc .flex-direction-nav a::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    text-indent: 0;
}

.product-gallery--wc .flex-direction-nav .flex-prev::before {
    transform: rotate(45deg);
    margin-left: 4px;
}

.product-gallery--wc .flex-direction-nav .flex-next::before {
    transform: rotate(-135deg);
    margin-right: 4px;
}

.product-gallery--wc .woocommerce-product-gallery__wrapper .flex-viewport .slides {
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-gallery--wc .woocommerce-product-gallery__image {
    margin: 0;
}

.product-gallery--wc .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
}

/* Thumbnails row below main image – centered like about-slider */
.product-gallery--wc .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing-xs);
    margin: var(--spacing-sm) 0 0;
    padding: 0;
    list-style: none;
    order: 2;
}

.product-gallery--wc .flex-control-thumbs li {
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

.product-gallery--wc .flex-control-thumbs li img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    display: block;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.2s ease, opacity 0.2s ease;
}

.product-gallery--wc .flex-control-thumbs li img:hover,
.product-gallery--wc .flex-control-thumbs li.flex-active img {
    border-color: var(--text-color, #1a1a1a);
    opacity: 1;
}

.product-gallery--wc .flex-control-thumbs li:not(.flex-active) img {
    opacity: 0.7;
}

/* Summary */
.product-summary__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 400;
    margin-bottom: var(--spacing-xs);
    line-height: 1.2;
    margin-top: var(--spacing-md);
    scroll-margin-top: calc(var(--header-height) + var(--spacing-xs));
}

.product-summary__subtitle {
    font-size: 0.95rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-sm);
}

.product-summary__badges {
    display: flex;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-sm);
}

.product-badge {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border: var(--border-width, 1px) solid var(--border-color);
    background: var(--white);
}

.product-summary__price,
.product-summary__price-wrap .price {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    margin-bottom: var(--spacing-md);
}

.product-summary__color {
    margin-bottom: var(--spacing-md);
}

.product-summary__color label,
.product-summary__size label {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: var(--spacing-xs);
    color: var(--text-muted);
}

.product-size-select {
    display: flex;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-xs);
}

.product-size-btn {
    width: 48px;
    height: 48px;
    border: var(--border-width, 1px) solid var(--border-color);
    background: var(--white);
    font-family: var(--font-body);
    font-size: 0.9rem;
    cursor: pointer;
    transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.product-size-btn:hover {
    border-color: var(--text-color);
}

.product-size-btn.is-selected {
    border-color: var(--text-color);
    background: var(--text-color);
    color: var(--white);
}

.product-color-select {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: var(--spacing-xs);
}

.product-color-swatch {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 2px solid var(--border-color);
    border-radius: 50%;
    background-color: var(--swatch, var(--border-color));
    cursor: pointer;
    transition: border-color 0.3s ease, transform 0.3s ease;
    flex-shrink: 0;
}

.product-color-swatch:hover {
    border-color: var(--text-color);
    transform: scale(1.08);
}

.product-color-swatch.is-selected {
    border-color: var(--text-color);
    border-width: 2px;
    box-shadow: 0 0 0 1px var(--white), 0 0 0 3px var(--text-color);
}

.product-summary__color-name {
    font-size: 0.9rem;
    color: var(--text-muted);
}

.product-summary__size-guide {
    font-size: 0.85rem;
    border-bottom: var(--border-width, 1px) solid transparent;
    transition: border-color 0.3s ease;
}

.product-summary__size-guide:hover {
    border-bottom-color: var(--text-color);
}

/* Single product: no quantity selector (always 1) */
.single-product .quantity {
    display: none !important;
}

.product-summary__actions {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    align-items: stretch;
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.btn--primary {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-md);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
    background: var(--text-color);
    color: var(--white);
    border: var(--border-width, 1px) solid var(--text-color);
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    width: 100%;
}

.btn--primary:hover {
    background: transparent;
    color: var(--text-color);
}

/* Single product Add to cart — match theme .btn--primary */
.single-product .single_add_to_cart_button,
.single-product .product-summary .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button {
    display: inline-block;
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
    font-family: var(--font-body);
    background: var(--text-color);
    color: var(--white);
    border: var(--border-width, 1px) solid var(--text-color);
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    border-radius: 0;
    text-decoration: none;
    line-height: 1.4;
    text-align: left;
}

.single-product .single_add_to_cart_button:hover,
.single-product .product-summary .single_add_to_cart_button:hover:not(:disabled),
.single-product form.cart .single_add_to_cart_button:hover:not(:disabled) {
    background: transparent;
    color: var(--text-color);
}

.single-product .single_add_to_cart_button:disabled,
.single-product .product-summary .single_add_to_cart_button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.product-summary__personalize {
    margin-top: var(--spacing-sm);
}

.btn--secondary {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-md);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
    background: transparent;
    color: var(--text-color);
    border: var(--border-width, 1px) solid var(--border-color);
    cursor: pointer;
    transition: border-color 0.3s ease, color 0.3s ease;
    width: 100%;
}

.btn--secondary:hover {
    border-color: var(--text-color);
}

.product-summary__delivery {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
}

.product-summary__features {
    margin-bottom: var(--spacing-md);
    background: var(--bg-subtle, #f7f7f6);
    padding: var(--spacing-md) var(--spacing-sm);
    border-radius: 2px;
}

.feature-strip {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-evenly;
    gap: 0;
    width: 100%;
}

.feature-strip .feature-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs, 0.5rem);
    flex: 1;
    min-width: 0;
}

.feature-strip .feature-item .icon {
    width: 28px;
    height: 28px;
    color: var(--text-muted, #444);
    flex-shrink: 0;
}

.feature-strip .feature-item .icon svg {
    width: 100%;
    height: 100%;
    stroke-width: 1.75;
}

.feature-strip .feature-item p {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #444);
    text-align: center;
    line-height: 1.2;
}

.feature-strip .divider {
    width: 1px;
    min-width: 1px;
    align-self: center;
    height: 2.5rem;
    margin: 0 0.25rem;
    background: var(--border-color, #ddd);
    flex-shrink: 0;
}

@media (max-width: 480px) {
    .product-summary__features {
        padding: var(--spacing-sm) var(--spacing-xs);
        margin-left: calc(-1 * var(--spacing-xs));
        margin-right: calc(-1 * var(--spacing-xs));
    }

    .feature-strip .feature-item {
        padding: var(--spacing-sm) var(--spacing-xs);
    }

    .feature-strip .feature-item p {
        font-size: 0.65rem;
    }
    .feature-strip .feature-item .icon {
        width: 24px;
        height: 24px;
    }
}

.product-feature {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-muted);
}

.product-summary__short {
    font-size: 0.95rem;
    color: var(--text-muted);
    margin-bottom: var(--spacing-sm);
    line-height: 1.6;
}

.product-summary__bullets {
    list-style: disc;
    padding-left: 1.25rem;
    font-size: 0.9rem;
    color: var(--text-muted);
    line-height: 1.7;
}

.product-summary__bullets li {
    margin-bottom: var(--spacing-xs);
}

/* Collapsible accordion (product tabs) */
.product-tabs.product-accordion {
    border-top: var(--border-width, 1px) solid var(--border-color);
    padding-top: var(--spacing-md);
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-xl);
}

.product-accordion__item {
    border-bottom: var(--border-width, 1px) solid var(--border-color);
}

.product-accordion__item:last-child {
    border-bottom: none;
}

.product-accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--spacing-sm) 0;
    border: none;
    background: none;
    font-family: var(--font-body);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-color);
    cursor: pointer;
    text-align: left;
    transition: color 0.3s ease;
}

.product-accordion__trigger:hover {
    color: var(--text-muted);
}

.product-accordion__icon {
    flex-shrink: 0;
    width: 1.25rem;
    margin-left: var(--spacing-sm);
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1;
    text-align: center;
}

.product-accordion__panel {
    font-size: 0.95rem;
    color: var(--text-muted);
    line-height: 1.7;
    padding-bottom: var(--spacing-md);
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease-out;
}

.product-accordion__panel.is-open {
    max-height: 800px;
}

.product-accordion__panel[hidden] {
    display: none;
}

.product-accordion__panel h3 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-xs);
    color: var(--text-color);
}

.product-accordion__panel h3:first-child {
    margin-top: 0;
}

.product-accordion__panel p {
    margin-bottom: var(--spacing-sm);
}

.product-accordion__panel ul {
    list-style: disc;
    padding-left: 1.25rem;
    margin-bottom: var(--spacing-sm);
}

.product-accordion__panel ul li {
    margin-bottom: var(--spacing-xs);
}

.product-size-table {
    width: 100%;
    max-width: 400px;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.product-size-table th,
.product-size-table td {
    border: var(--border-width, 1px) solid var(--border-color);
    padding: var(--spacing-sm);
    text-align: left;
}

.product-size-table th {
    font-family: var(--font-heading);
    background: var(--section-alt-bg);
}

/* Sustainability */
/* Full width image (breaks out of container) */
.product-fullwidth-image {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}

.product-fullwidth-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.product-sustainability__inner {
    max-width: 800px;
    margin: 0 auto;
}

.product-sustainability__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-lg);
    margin-top: var(--spacing-md);
}

.product-sustainability__col {
    max-width: 36rem;
}

.product-section-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    margin-bottom: var(--spacing-sm);
}

.product-sustainability p {
    font-size: 0.95rem;
    color: var(--text-muted);
    line-height: 1.7;
}

.product-sustainability h3 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    margin-bottom: var(--spacing-xs);
    font-weight: 400;
}

.product-sustainability a {
    border-bottom: var(--border-width, 1px) solid transparent;
    transition: border-color 0.2s ease;
}

.product-sustainability a:hover {
    border-bottom-color: var(--text-color);
}

/* Related */
.product-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
}

.product-related .product-card {
    transition: transform 0.3s ease, opacity 0.3s ease;
    contain: layout style;
}

/* Mini Cart Sidebar */
.mini-cart {
    position: fixed;
    inset: 0;
    z-index: 1000;
    pointer-events: none;
}

.mini-cart__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity 0.25s ease-out;
}

.mini-cart__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(380px, 100%);
    background: var(--white);
    box-shadow: -18px 0 40px rgba(0, 0, 0, 0.08);
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
}

.mini-cart.is-open {
    pointer-events: auto;
}

.mini-cart.is-open .mini-cart__overlay {
    opacity: 1;
}

.mini-cart.is-open .mini-cart__panel {
    transform: translateX(0);
}

.mini-cart__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-md);
}

.mini-cart__title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.mini-cart__close {
    border: none;
    background: none;
    font-size: 1.4rem;
    cursor: pointer;
    color: var(--text-muted);
}

.mini-cart__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding-right: 4px;
    margin-bottom: var(--spacing-md);
}

#kokilian-mini-cart-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

#kokilian-mini-cart-content .mini-cart__body-inner {
    flex: 1;
    overflow-y: auto;
}

#kokilian-mini-cart-content .mini-cart__footer {
    flex-shrink: 0;
    margin-top: auto;
}

.mini-cart__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mini-cart__item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) 0;
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    font-size: 0.9rem;
}

.mini-cart__items .mini-cart__item:last-child {
    border-bottom: none;
}

.mini-cart__item-row {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
}

.mini-cart__item-row--top {
    align-items: flex-start;
}

.mini-cart__item-row--bottom {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
}

.mini-cart__item-image {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    background: var(--border-color, #eee);
    border-radius: 4px;
    overflow: hidden;
}

.mini-cart__item-image a,
.mini-cart__item-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mini-cart__item-detail {
    flex: 1;
    min-width: 0;
}

.mini-cart__item-title {
    font-weight: 500;
    margin-bottom: 2px;
}

.mini-cart__item-title a {
    color: inherit;
    text-decoration: none;
}

.mini-cart__item-title a:hover {
    text-decoration: underline;
}

.mini-cart__item-meta {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 2px;
    line-height: 1.3;
}

.mini-cart__item-meta dl {
    margin: 0;
}

.mini-cart__item-meta dt {
    display: none;
}

.mini-cart__item-meta dd {
    margin: 0;
}

.mini-cart__item-price {
    white-space: nowrap;
    font-weight: 500;
}

.mini-cart__item-qty-wrap {
    display: inline-flex;
    align-items: center;
    border: var(--border-width, 1px) solid var(--border-color);
    border-radius: 6px;
    overflow: hidden;
    background: var(--white, #fff);
}

.mini-cart__qty-btn {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    color: var(--text-color);
    transition: background 0.15s ease, color 0.15s ease;
}

.mini-cart__qty-btn:hover {
    background: var(--border-color, #eee);
}

.mini-cart__qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.mini-cart__qty-input {
    width: 2.5em;
    min-width: 2.5em;
    text-align: center;
    border: none;
    border-left: var(--border-width, 1px) solid var(--border-color);
    border-right: var(--border-width, 1px) solid var(--border-color);
    padding: 6px 4px;
    font-size: 0.9rem;
    -moz-appearance: textfield;
}

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

.mini-cart__remove {
    font-size: 0.85rem;
    color: var(--text-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mini-cart__remove:hover {
    color: var(--text-color);
}

.mini-cart__remove span {
    font-size: 1rem;
}

.mini-cart__item--updating {
    opacity: 0.7;
    pointer-events: none;
}

.mini-cart__empty {
    font-size: 0.9rem;
    color: var(--text-muted);
}

.mini-cart__footer {
    border-top: var(--border-width, 1px) solid var(--border-color);
    padding-top: var(--spacing-md);
}

.mini-cart__subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-sm);
    font-size: 0.9rem;
}

.mini-cart__subtotal-amount {
    font-weight: 500;
}

.mini-cart__actions {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.mini-cart__actions .btn {
    width: 100%;
}

.mini-cart__actions .btn--outline {
    background: transparent;
    border: var(--border-width, 1px) solid var(--border-color);
    color: var(--text-color);
}

.mini-cart__actions .btn--outline:hover {
    border-color: var(--text-color);
}

.mini-cart__payment {
    border-top: var(--border-width, 1px) solid var(--border-color);
    text-align: center;
}

.mini-cart__payment img {
    max-width: 100%;
    margin: 0 auto;
    opacity: 0.7;
    display: block;
}

/* Cart trigger in header (button) + count badge */
.site-header__cart-trigger {
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
}

.site-header__cart-count-wrap {
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
}

.site-header__cart-count {
    display: inline-block;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 4px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.25rem;
    text-align: center;
    color: var(--white);
    background: var(--text-color);
    border-radius: 999px;
}

.site-header__cart-trigger {
    position: relative;
}

/* Checkout page layout */
.checkout-page {
    padding-top: 0;
}

/* Align header logo with checkout content: same max-width + same horizontal padding */
.checkout-page .site-header__container {
    padding-left: var(--spacing-md, 1.5rem);
    padding-right: var(--spacing-md, 1.5rem);
}

/* Form wrapper (form-checkout.php .container) same padding so logo and content align on desktop */
.checkout-page .container {
    padding-left: var(--spacing-md, 1.5rem);
    padding-right: var(--spacing-md, 1.5rem);
}

/* Main content uses same width and padding so .entry-title aligns with form (when col-full present) */
.checkout-page .col-full {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--spacing-md, 1.5rem);
    padding-right: var(--spacing-md, 1.5rem);
}

.checkout-page .site-header {
    position: static;
    background: transparent;
    border-bottom: var(--border-width, 1px) solid var(--border-color);
}

.checkout-page__title {
    font-family: var(--font-heading);
    font-size: 3rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin: var(--spacing-sm) 0 var(--spacing-md);
    text-align: left;
}

/* Match entry-header / entry-title (page/block checkout) to checkout.html title style */
.checkout-page .entry-header .entry-title {
    font-family: var(--font-heading);
    font-size: 3rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin: var(--spacing-sm) 0 var(--spacing-md);
    text-align: left;
    padding: var(--spacing-md, 1rem);
    box-sizing: border-box;
}

.checkout-page__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    text-transform: none;
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
    letter-spacing: 0;
    color: var(--text-muted);
    text-decoration: none;
    padding-bottom: 2px;
}

.checkout-page__back:hover {
    color: var(--text-color);
}

.checkout-page__back-icon {
    flex-shrink: 0;
    vertical-align: middle;
}

.checkout-page__layout {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: stretch;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    padding-left: max(var(--spacing-md), calc(50vw - 50%));
    padding-right: max(var(--spacing-md), calc(50vw - 50%));
    background-color: #fafafa;
    padding-top: 0;
    padding-bottom: 0;
}

/* Form column: light bg, horizontal spacing */
.checkout-form {
    background: #fff;
    padding: var(--spacing-lg) var(--spacing-xl);
    min-height: 100%;
}

.checkout-summary {
    background: #fff;
    padding: 0;
}

.checkout-summary__inner {
    position: sticky;
    top: var(--spacing-sm);
    padding: var(--spacing-lg) var(--spacing-xl);
    border-bottom: var(--border-width, 1px) solid var(--bg-subtle);
    background: #fff;
    contain: layout style;
}

.checkout-summary__title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    margin-bottom: var(--spacing-md);
}

.checkout-summary__items {
    list-style: none;
    margin: 0 0 var(--spacing-md);
    padding: 0;
}

.checkout-summary__item {
    padding: var(--spacing-sm) var(--spacing-md);
    margin-left: calc(-1 * var(--spacing-md));
    margin-right: calc(-1 * var(--spacing-md));
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    font-size: 0.9rem;
}

.checkout-summary__item-top {
    display: flex;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    align-items: flex-start;
}

.checkout-summary__item-image {
    flex-shrink: 0;
    display: block;
    width: 72px;
    height: 72px;
    overflow: hidden;
    background: var(--border-color);
}

.checkout-summary__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.checkout-summary__item-details {
    flex: 1;
    min-width: 0;
}

.checkout-summary__item-name {
    font-weight: 500;
}

.checkout-summary__item-desc {
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.4;
    margin: 2px 0 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.checkout-summary__item-meta {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.checkout-summary__item-price {
    flex-shrink: 0;
    white-space: nowrap;
    align-self: flex-start;
}

.checkout-summary__item-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: 0.8rem;
}

.checkout-summary__qty {
    display: inline-flex;
    align-items: center;
    border: var(--border-width, 1px) solid var(--border-color);
}

.checkout-summary__qty-btn {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    color: var(--text-color);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.checkout-summary__qty-btn:hover {
    background: var(--border-color);
}

.checkout-summary__qty input {
    width: 2.5rem;
    padding: 4px 2px;
    border: none;
    border-left: var(--border-width, 1px) solid var(--border-color);
    border-right: var(--border-width, 1px) solid var(--border-color);
    font-size: 0.85rem;
    text-align: center;
    background: transparent;
    -moz-appearance: textfield;
}

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

.checkout-summary__remove {
    border: none;
    background: none;
    padding: 0;
    font-size: 0.8rem;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    color: var(--text-muted);
}

.checkout-summary__remove:hover {
    color: var(--text-color);
}

.checkout-summary__totals {
    margin: 0;
}

.checkout-summary__row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    padding: 4px 0;
}

.checkout-summary__row--total {
    margin-top: var(--spacing-xs);
    font-weight: 500;
}

.checkout-summary__row dt {
    font-weight: 400;
}

.checkout-summary__row dd {
    margin: 0;
}

/* Checkout form – theme-aligned spacing and typography */
.checkout-form .woocommerce {
    margin: 0;
    padding: 0;
}

.checkout-form .woocommerce-notices-wrapper {
    margin-bottom: var(--spacing-md);
}

.checkout-form .woocommerce-info {
    padding: var(--spacing-sm) 0;
    margin-bottom: var(--spacing-md);
    font-size: 0.9rem;
    color: var(--text-muted);
    border-bottom: var(--border-width, 1px) solid var(--border-color);
}

.checkout-form .woocommerce-info a {
    color: var(--text-color);
    text-decoration: none;
    border-bottom: var(--border-width, 1px) solid transparent;
    padding-bottom: var(--border-width, 1px);
    transition: border-color 0.2s ease;
}

.checkout-form .woocommerce-info a:hover {
    border-bottom-color: var(--text-color);
}

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

.checkout-form .woocommerce-billing-fields {
    padding: var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 0;
}

.checkout-form #customer_details {
    margin-bottom: var(--spacing-lg);
}

.checkout-form .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
}

.checkout-form .col2-set .col-1,
.checkout-form .col2-set .col-2 {
    margin: 0;
}

.checkout-form .woocommerce-billing-fields h3,
.checkout-form .woocommerce-shipping-fields h3,
.checkout-form .woocommerce-additional-fields h3,
.checkout-form #order_review_heading {
    font-family: var(--font-heading);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 var(--spacing-md);
    padding-bottom: var(--spacing-xs);
    color: var(--text-color);
}

.checkout-form .woocommerce-billing-fields__field-wrapper,
.checkout-form .woocommerce-additional-fields__field-wrapper {
    margin-top: var(--spacing-sm);
}

.checkout-form .form-row {
    margin-bottom: var(--spacing-md);
    padding: 0;
}

.checkout-form .form-row.form-row-first,
.checkout-form .form-row.form-row-last {
    margin-bottom: var(--spacing-md);
}

.checkout-form .form-row label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-color);
    margin-bottom: 4px;
}

.checkout-form .form-row label .optional {
    color: var(--text-muted);
    font-weight: 400;
}

.checkout-form .form-row .required {
    color: var(--text-muted);
}

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

.checkout-form .form-row .input-text,
.checkout-form .form-row input[type="text"],
.checkout-form .form-row input[type="email"],
.checkout-form .form-row input[type="tel"],
.checkout-form .form-row textarea {
    width: 100%;
    padding: var(--spacing-xs) 0;
    border: none;
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    background: transparent;
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-color);
    outline: none;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

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

.checkout-form .form-row .input-text:focus,
.checkout-form .form-row input:focus,
.checkout-form .form-row textarea:focus {
    border-bottom-color: var(--text-color);
}

.checkout-form .form-row .input-text::placeholder,
.checkout-form .form-row input::placeholder,
.checkout-form .form-row textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.8;
}

/* Ship to different address checkbox */
.checkout-form .woocommerce-form__label-for-checkbox {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 400;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.checkout-form .woocommerce-form__input-checkbox {
    width: 18px;
    height: 18px;
    accent-color: var(--text-color);
}

/* Order review (in-form table – hidden or minimal on this layout; summary is in sidebar) */
.checkout-form #order_review_heading {
    margin-top: var(--spacing-lg);
}

.checkout-form #order_review {
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-lg);
}

.checkout-form .woocommerce-checkout-review-order-table {
    width: 100%;
    font-size: 0.9rem;
    border-collapse: collapse;
}

.checkout-form .woocommerce-checkout-review-order-table th,
.checkout-form .woocommerce-checkout-review-order-table td {
    padding: var(--spacing-xs) 0;
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    vertical-align: top;
}

.checkout-form .woocommerce-checkout-review-order-table .order-total th,
.checkout-form .woocommerce-checkout-review-order-table .order-total td {
    border-bottom: none;
    padding-top: var(--spacing-sm);
    font-weight: 500;
}

/* Checkout order review: quantity +/- and remove (small, right side) */
.checkout-form .woocommerce-checkout-review-order-table .product-qty-remove {
    width: 1%;
    white-space: nowrap;
    text-align: right;
    vertical-align: middle;
}

.checkout-form .checkout-review-qty-remove {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    font-size: 0.75rem;
}

.checkout-form .checkout-review-qty-form {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.checkout-form .checkout-review-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: var(--border-width, 1px) solid var(--border-color, #e5e3df);
    background: #fff;
    color: var(--text-color);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.checkout-form .checkout-review-qty-btn:hover {
    border-color: var(--text-color);
    background: var(--bg-subtle, #f2f3f1);
}

.checkout-form .checkout-review-qty-value {
    min-width: 1.25em;
    text-align: center;
    font-size: 0.8rem;
}

.checkout-form .checkout-review-remove {
    font-size: 0.75rem;
    color: var(--text-muted, #666);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.checkout-form .checkout-review-remove:hover {
    color: var(--text-color);
    border-bottom-color: var(--text-color);
}

/* Payment methods */
.checkout-form #payment {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: var(--border-width, 1px) solid var(--border-color);
}

.checkout-form .wc_payment_methods {
    list-style: none;
    margin: 0 0 var(--spacing-md);
    padding: 0;
}

.checkout-form .wc_payment_method {
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    border-bottom: var(--border-width, 1px) solid var(--border-color);
}

.checkout-form .wc_payment_method:last-of-type {
    border-bottom: none;
}

.checkout-form .wc_payment_method label {
    font-family: var(--font-body);
    font-size: 0.9rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.checkout-form .wc_payment_method .input-radio {
    width: 18px;
    height: 18px;
    accent-color: var(--text-color);
}

.checkout-form .payment_box {
    margin-top: var(--spacing-xs);
    padding: var(--spacing-sm) 0 0;
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.checkout-form .payment_box p {
    margin: 0;
}

/* Place order */
.checkout-form .form-row.place-order {
    margin-top: var(--spacing-lg);
    margin-bottom: 0;
    padding: var(--spacing-md) var(--spacing-md) 0 0;
    border-top: var(--border-width, 1px) solid var(--border-color);
}

.checkout-form .form-row.place-order .button.alt,
.checkout-form #place_order {
    display: inline-block;
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
    font-family: var(--font-body);
    background: var(--text-color);
    color: var(--white);
    border: var(--border-width, 1px) solid var(--text-color);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.checkout-form #place_order:hover {
    background: transparent;
    color: var(--text-color);
}

.checkout-form .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: var(--spacing-md);
    font-size: 0.85rem;
    color: var(--text-muted);
}

@media (max-width: 900px) {
    .checkout-page__layout {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm);
    }

    .checkout-form .woocommerce {
        border-right: none;
    }

    .checkout-form {
        order: 2;
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md);
    }

    .checkout-summary {
        order: 1;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .checkout-summary__inner {
        position: static;
        padding: var(--spacing-lg) var(--spacing-md);
    }

    .checkout-summary__item {
        margin-left: calc(-1 * var(--spacing-sm));
        margin-right: calc(-1 * var(--spacing-sm));
        padding-left: var(--spacing-sm);
        padding-right: var(--spacing-sm);
    }
}

.product-related .product-card__image-wrapper {
    aspect-ratio: 1;
    background: var(--image-placeholder-bg);
    overflow: hidden;
}

.product-related .product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, opacity 0.3s ease;
}

.product-related .product-card:hover .product-card__image {
    transform: scale(1.03);
    opacity: 0.9;
}

.product-related .product-card__details {
    padding-top: var(--spacing-sm);
}

.product-related .product-card__title {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 4px;
}

.product-related .product-card__meta {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.product-related .product-card__price {
    font-size: 0.9rem;
}

@media (max-width: 1024px) {
    .product-layout {
        grid-template-columns: 1fr;
    }
    .product-gallery {
        position: static;
    }
    .product-related__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    /* Product summary features */
    .product-summary__features {
        padding: var(--spacing-md) var(--spacing-sm);
        margin-left: calc(-1 * var(--spacing-sm));
        margin-right: calc(-1 * var(--spacing-sm));
        border-radius: 0;
    }

    .feature-strip {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        row-gap: 0;
    }

    .feature-strip .divider {
        display: none;
    }

    .feature-strip .feature-item {
        flex: 0 0 50%;
        min-width: 0;
        padding: var(--spacing-md) var(--spacing-sm);
        border-right: var(--border-width, 1px) solid var(--border-color);
        border-bottom: var(--border-width, 1px) solid var(--border-color);
        box-sizing: border-box;
    }

    .feature-strip .feature-item:nth-child(2n) {
        border-right: none;
    }

    .feature-strip .feature-item:last-child {
        border-bottom: none;
        border-right: none;
    }

    .feature-strip .feature-item p {
        font-size: 0.7rem;
    }

    .feature-strip .feature-item .icon {
        width: 26px;
        height: 26px;
    }

    /* Full-width image & accordion */
    .product-fullwidth-image {
        margin-top: var(--spacing-md);
        margin-bottom: var(--spacing-md);
    }

    .product-tabs.product-accordion {
        margin-bottom: var(--spacing-sm);
    }

    /* Sustainability — restore left, right, and bottom space on mobile */
    .product-sustainability {
        padding-top: var(--spacing-sm);
        padding-left: var(--spacing-sm);
        padding-right: var(--spacing-sm);
        padding-bottom: var(--spacing-lg);
        margin-top: var(--spacing-lg);
    }

    .product-sustainability__inner {
        padding-left: 0;
        padding-right: 0;
    }

    .product-sustainability__grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    /* Checkout */
    .checkout-form .col2-set {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    .checkout-page__layout {
        gap: var(--spacing-sm);
    }

    /* Product page */
    .product-page {
        overflow-x: hidden;
    }

    .product-page .product-gallery {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        max-width: none;
    }

    /* WC default gallery: main image + thumbnails on mobile */
    .product-gallery--wc .flex-viewport {
        max-height: 60vh;
        min-height: 240px;
    }

    .product-gallery--wc .flex-control-thumbs {
        margin-top: var(--spacing-sm);
        gap: var(--spacing-xs);
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        padding-bottom: var(--spacing-xs);
        -webkit-overflow-scrolling: touch;
    }

    .product-gallery--wc .flex-control-thumbs li img {
        width: 52px;
        height: 52px;
        min-width: 52px;
    }

    .product-summary__title {
        margin-top: 0;
    }

    .product-summary {
        padding-top: 0;
    }
}

/* Variation attribute buttons (enhanced from the default selects for better UX) */
.variations .variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.variation-option-btn {
    border: 1px solid var(--border-subtle);
    background: #fff;
    color: var(--text-main);
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-size: 0.85rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.variation-option-btn:hover {
    border-color: var(--accent-main);
}

.variation-option-btn.is-selected {
    font-weight: 700;
    border: 2px solid #000;
    background: #fff;
    color: #000;
}

/* Hide "Color" (and other attribute) label and Clear link in variations table */
.variations th.label {
    display: none;
}
.variations .reset_variations {
    display: none !important;
}

/* Spacing between color options and add to cart */
.variations {
    margin-bottom: 1.25rem;
}

/* Hide variation availability on single product */
.woocommerce-variation-availability {
    display: none !important;
}

.variation-select--hidden {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Variation gallery plugin: on load show only the first variation's gallery (full slider + thumbnails).
   Hide the rest; plugin JS shows the selected variation's gallery when user changes color. */
.product-gallery--wc .variation-gallery-simplified-images {
    display: none;
}
.product-gallery--wc .variation-gallery-simplified-images:first-of-type {
    display: block;
}

/* Variable products: hide the default/core gallery wrapper so only per-variation
   galleries from the variation-gallery-simplified plugin are visible. */
.product.type-product.product-type-variable
    .product-gallery--wc
    > .woocommerce-product-gallery:not(.variation-gallery-simplified-images) {
    display: none;
}

@media (max-width: 600px) {
    .product-summary__title {
        font-size: 2rem;
        margin-top: 0;
    }
    .product-related__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Checkout BLOCK – light styling only (no grid; block keeps its own layout)
   Applies when using WooCommerce Checkout block; does not affect classic shortcode.
   ========================================================================== */

/* Light background only; no grid so layout is not shrunk */
.checkout-page .wp-block-woocommerce-checkout,
.checkout-page .wc-block-checkout {
    background: #fafafa;
    box-sizing: border-box;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
    width: 50%;
}

.wc-block-components-sidebar {
    width: 50%;
}

@media (max-width: 768px) {
    .wc-block-components-sidebar-layout .wc-block-components-main {
        width: 100%;
    }

    .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100%;
    }

    /* Order summary only once at top (sidebar); hide duplicate above place order in main column */
    .checkout-page .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper,
    .checkout-page .wc-block-components-main .wp-block-woocommerce-checkout-order-summary-block {
        display: none !important;
    }
}

.wp-block-woocommerce-checkout-order-summary-block{
    border: none;
}
.checkout-page .wp-block-woocommerce-checkout-fields-block, .checkout-page .wc-block-checkout__main{
    margin: 0 auto;
    padding: var(--spacing-md) 0;
    border-right: var(--border-width, 1px) solid var(--bg-subtle);
}

/* White card feel for form and summary areas */
.checkout-page .wp-block-woocommerce-checkout-fields-block,
.checkout-page .wc-block-checkout__main {
    background: #fff;
    padding: var(--spacing-md, 1rem);
    box-sizing: border-box;
}

.checkout-page .wp-block-woocommerce-checkout-totals-block,
.checkout-page .wc-block-checkout__sidebar {
    background: #fff;
    padding: var(--spacing-md, 1rem);
    box-sizing: border-box;
}

/* Inputs: bottom border only (match checkout template design) */
.checkout-page .wc-block-components-text-input input,
.checkout-page .wc-block-components-text-input textarea,
.checkout-page .wc-block-components-select select,
.checkout-page .wc-block-checkout .wc-block-components-text-input input,
.checkout-page .wc-block-checkout .wc-block-components-text-input textarea,
.checkout-page .wc-block-checkout .wc-block-components-select select {
    width: 100%;
    border: none;
    border-bottom: var(--border-width, 1px) solid var(--border-color, #ddd);
    border-radius: 0;
    background: transparent;
    padding: var(--spacing-xs, 0.5rem) 0;
    box-shadow: none;
}

.checkout-page .wc-block-components-text-input input:focus,
.checkout-page .wc-block-components-text-input textarea:focus,
.checkout-page .wc-block-components-select select:focus,
.checkout-page .wc-block-checkout .wc-block-components-text-input input:focus,
.checkout-page .wc-block-checkout .wc-block-components-text-input textarea:focus,
.checkout-page .wc-block-checkout .wc-block-components-select select:focus {
    outline: none;
    border-bottom-color: var(--text-color, #111);
}

/* Place order button: match theme CTA (.btn--primary) */
.checkout-page .wc-block-components-checkout-place-order-button,
.checkout-page .wc-block-components-button.wc-block-components-checkout-place-order-button {
    display: inline-block;
    width: 100%;
    padding: var(--spacing-sm, 1rem) var(--spacing-md, 2rem);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
    font-family: var(--font-body);
    background: var(--text-color, #1a1a1a);
    color: var(--white, #fff);
    border: 1px solid var(--text-color, #1a1a1a);
    border-radius: 0;
    cursor: pointer;
    transition: background-color var(--transition-base, 0.3s ease), color var(--transition-base, 0.3s ease), border-color var(--transition-base, 0.3s ease);
    box-shadow: none;
}

.checkout-page .wc-block-components-checkout-place-order-button:hover,
.checkout-page .wc-block-components-checkout-place-order-button:focus,
.checkout-page .wc-block-components-button.wc-block-components-checkout-place-order-button:hover,
.checkout-page .wc-block-components-button.wc-block-components-checkout-place-order-button:focus {
    background: transparent;
    color: var(--text-color, #1a1a1a);
    border-color: var(--text-color, #1a1a1a);
    box-shadow: none;
}

.wp-block-woocommerce-checkout {
    padding-top: 0;
}

/* ========== My Account login / register (auth split layout) ========== */
/* Full-height auth section below header; section itself has no extra vertical padding */
.myaccount-login .auth.auth--split.section-padding {
    padding-top: 0;
    padding-bottom: 0;
}

.myaccount-login .auth__split {
    min-height: calc(100vh - var(--header-height));
}

/* Two-column layout when registration is enabled: login | register on the right side */
.auth__two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.auth__two-col .auth__box-wrap {
    min-width: 0;
}

.auth__two-col .auth__box {
    max-width: 100%;
}

/* Stack login and register on narrow viewports */
@media (max-width: 768px) {
    .auth__two-col {
        grid-template-columns: 1fr;
    }
}

/* Hide theme page title on My Account auth views – auth templates have their own titles */
.myaccount-login .entry-header,
.myaccount-lost-password .entry-header,
.myaccount-reset-password .entry-header {
    display: none;
}

/* Centered auth (lost password, reset password) – match reset-password.html */
.myaccount-lost-password .auth__box,
.myaccount-reset-password .auth__box {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.myaccount-lost-password .auth,
.myaccount-reset-password .auth {
    min-height: calc(100vh - var(--header-height));
    display: flex;
    align-items: center;
}

/* ========== WooCommerce toasts ========== */
.kokilian-toast-stack {
    position: fixed;
    left: 50%;
    bottom: 1.25rem;
    transform: translateX(-50%);
    z-index: 1100;
    display: grid;
    gap: 0.75rem;
    width: min(360px, calc(100vw - 2rem));
    pointer-events: none;
}

.kokilian-toast {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1rem 1rem 1.1rem;
    border: 1px solid var(--border-color);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 36px rgba(20, 20, 20, 0.08);
    transform: translateY(-8px);
    opacity: 0;
    transition: opacity 0.22s ease, transform 0.22s ease;
    pointer-events: auto;
}

.kokilian-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.kokilian-toast.is-exiting {
    opacity: 0;
    transform: translateY(-8px);
}

.kokilian-toast--success {
    border-left: 3px solid #8b9a7a;
}

.kokilian-toast--info {
    border-left: 3px solid #8f8473;
}

.kokilian-toast__content {
    flex: 1;
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--text-color);
}

.kokilian-toast__content a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.kokilian-toast__content .button,
.kokilian-toast__content .wc-forward {
    display: inline-flex;
    align-items: center;
    margin-top: 0.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-color);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.kokilian-toast__close {
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: 1.1rem;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.kokilian-toast__close:hover,
.kokilian-toast__close:focus-visible {
    color: var(--text-color);
}

.woocommerce-notices-wrapper .kokilian-toast-source {
    display: none !important;
}

/* ========== My Account logged-in layout ========== */
.myaccount-page .entry-content {
    padding-bottom: var(--spacing-lg);
}

.account-shell {
    padding-top: clamp(2.5rem, 5vw, 4.5rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

.account-shell__hero {
    max-width: 40rem;
    margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.account-shell__eyebrow,
.account-dashboard__eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #757575;
    margin-bottom: 0.6rem;
}

.account-shell__title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
    margin-bottom: 0.75rem;
}

.account-shell__lede {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
}

.account-shell__layout {
    display: grid;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}

.account-nav {
    position: sticky;
    top: calc(var(--header-height) + 1.5rem);
    border: 1px solid var(--border-color);
    background: #fbfaf7;
    padding: 1.5rem;
}

.account-nav__summary {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border-color);
}

.account-nav__label {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 0.35rem;
}

.account-nav__name {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    line-height: 1.3;
}

.account-nav__list {
    display: grid;
    gap: 0.4rem;
}

.account-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    border: 1px solid transparent;
    background: transparent;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8rem;
    transition: background-color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}

.account-nav__link:hover {
    border-color: var(--border-color);
    background: #fff;
    transform: translateX(4px);
}

.account-nav__item.is-active .account-nav__link,
.account-nav__link[aria-current="page"] {
    border-color: var(--text-color);
    background: #fff;
}

.account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .account-nav__link {
    color: #a45555;
}

.account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .account-nav__link:hover,
.account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .account-nav__link:focus-visible {
    border-color: #d9b4b4;
    background: #fff7f7;
    color: #8f3f3f;
}

.account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout.is-active .account-nav__link,
.account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .account-nav__link[aria-current="page"] {
    border-color: #c99595;
    background: #fff4f4;
    color: #8f3f3f;
}

.account-shell__content {
    border: 1px solid var(--border-color);
    background: #fff;
    padding: clamp(1.25rem, 3vw, 2.25rem);
    min-height: 30rem;
    scroll-margin-top: calc(var(--header-height) + 1rem);
}

.account-shell__content > :first-child {
    margin-top: 0;
}

.account-shell__content h2,
.account-shell__content h3,
.account-shell__content legend {
    font-family: var(--font-heading);
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.25;
    margin-bottom: 1rem;
}

.account-shell__content p,
.account-shell__content li,
.account-shell__content address,
.account-shell__content .woocommerce-MyAccount-content {
    color: #444;
}

.account-dashboard__intro {
    margin-bottom: 1.75rem;
    max-width: 34rem;
}

.account-dashboard__title {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    line-height: 1.15;
    margin-bottom: 0.85rem;
}

.account-dashboard__text {
    color: var(--text-muted);
    line-height: 1.75;
}

.account-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.account-dashboard__card {
    display: grid;
    gap: 0.65rem;
    border: 1px solid var(--border-color);
    padding: 1.25rem;
    background: #fbfaf7;
    transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
}

.account-dashboard__card:hover {
    border-color: var(--text-color);
    background: #fff;
    transform: translateY(-2px);
}

.account-dashboard__card-title {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    color: var(--text-color);
}

.account-dashboard__card-text {
    font-size: 0.92rem;
    line-height: 1.7;
    color: var(--text-muted);
}

.myaccount-page .woocommerce-notices-wrapper:empty {
    display: none;
}

.myaccount-page .woocommerce-error,
.myaccount-page .woocommerce-info,
.myaccount-page .woocommerce-message {
    margin: 0 0 1.25rem;
    padding: 1rem 1.2rem;
    border: 1px solid var(--border-color);
    background: #fbfaf7;
    color: var(--text-color);
}

.myaccount-page .woocommerce-error::before,
.myaccount-page .woocommerce-info::before,
.myaccount-page .woocommerce-message::before {
    display: none;
}

.myaccount-page .woocommerce-Button,
.myaccount-page .woocommerce-button,
.myaccount-page .button,
.myaccount-page button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.3rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.78rem;
    line-height: 1.2;
    font-family: var(--font-body);
    background: var(--text-color);
    color: var(--white);
    border: 1px solid var(--text-color);
    border-radius: 0;
    cursor: pointer;
    transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base);
}

.myaccount-page .woocommerce-Button:hover,
.myaccount-page .woocommerce-button:hover,
.myaccount-page .button:hover,
.myaccount-page button[type="submit"]:hover {
    background: transparent;
    color: var(--text-color);
}

.myaccount-page .woocommerce table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--border-color);
    margin: 1rem 0 0;
}

.myaccount-page .woocommerce table.shop_table thead {
    background: #fbfaf7;
}

.myaccount-page .woocommerce table.shop_table th,
.myaccount-page .woocommerce table.shop_table td {
    padding: 0.95rem 1rem;
    border-bottom: 1px solid var(--border-color);
    text-align: left;
    vertical-align: top;
}

.myaccount-page .woocommerce table.shop_table th {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
    font-weight: 500;
}

.myaccount-page .woocommerce table.shop_table td {
    font-size: 0.95rem;
    color: var(--text-color);
}

.myaccount-page .woocommerce-orders-table__cell-order-actions,
.myaccount-page .woocommerce-table__product-name.product-name {
    min-width: 12rem;
}

.myaccount-page .woocommerce-orders-table__cell-order-actions .button,
.myaccount-page .woocommerce-table--order-downloads .download-file .button {
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.myaccount-page .woocommerce-pagination {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.myaccount-page .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.myaccount-page .woocommerce-Address {
    border: 1px solid var(--border-color);
    background: #fbfaf7;
    padding: 1.25rem;
}

.myaccount-page .woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.myaccount-page .woocommerce-Address-title .edit {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-color);
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
    transition: color var(--transition-base), opacity var(--transition-base);
}

.myaccount-page .woocommerce-Address-title .edit:hover,
.myaccount-page .woocommerce-Address-title .edit:focus-visible {
    color: #8f3f3f;
    opacity: 1;
}

.myaccount-page .woocommerce-Address address {
    font-style: normal;
    line-height: 1.8;
}

.myaccount-page .woocommerce-form-row,
.myaccount-page .form-row {
    margin-bottom: 1rem;
}

.myaccount-page .woocommerce-form-row label,
.myaccount-page .form-row label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-color);
}

.myaccount-page .woocommerce-form-row .input-text,
.myaccount-page .woocommerce-form-row input[type="text"],
.myaccount-page .woocommerce-form-row input[type="email"],
.myaccount-page .woocommerce-form-row input[type="password"],
.myaccount-page .woocommerce-form-row input[type="tel"],
.myaccount-page .woocommerce-form-row select,
.myaccount-page .woocommerce-form-row textarea,
.myaccount-page .form-row .input-text,
.myaccount-page .form-row input[type="text"],
.myaccount-page .form-row input[type="email"],
.myaccount-page .form-row input[type="password"],
.myaccount-page .form-row input[type="tel"],
.myaccount-page .form-row select,
.myaccount-page .form-row textarea {
    width: 100%;
    min-height: 3.25rem;
    border: 1px solid var(--border-color);
    padding: 0.85rem 1rem;
    background: #fff;
    color: var(--text-color);
    font-family: var(--font-body);
    font-size: 0.95rem;
    border-radius: 0;
    box-shadow: none;
}

.myaccount-page .woocommerce-form-row textarea,
.myaccount-page .form-row textarea {
    min-height: 8rem;
}

.myaccount-page .woocommerce-form-row .select2-container,
.myaccount-page .form-row .select2-container {
    width: 100% !important;
}

.myaccount-page .woocommerce-form-row .select2-container--default .select2-selection--single,
.myaccount-page .form-row .select2-container--default .select2-selection--single {
    min-height: 3.25rem;
    border: 1px solid var(--border-color);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.myaccount-page .woocommerce-form-row .select2-container--default .select2-selection--single .select2-selection__rendered,
.myaccount-page .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 1rem;
    padding-right: 2.75rem;
    line-height: 3.25rem;
    color: var(--text-color);
    font-family: var(--font-body);
    font-size: 0.95rem;
}

.myaccount-page .woocommerce-form-row .select2-container--default .select2-selection--single .select2-selection__arrow,
.myaccount-page .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 0.85rem;
    height: 100%;
}

.myaccount-page .woocommerce-form-row .select2-container--default .select2-selection--single .select2-selection__arrow b,
.myaccount-page .form-row .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--text-muted) transparent transparent transparent;
}

.myaccount-page .woocommerce-form-row .input-text:focus,
.myaccount-page .woocommerce-form-row input:focus,
.myaccount-page .woocommerce-form-row select:focus,
.myaccount-page .woocommerce-form-row textarea:focus,
.myaccount-page .form-row .input-text:focus,
.myaccount-page .form-row input:focus,
.myaccount-page .form-row select:focus,
.myaccount-page .form-row textarea:focus {
    outline: none;
    border-color: var(--text-color);
}

.myaccount-page .woocommerce-form-row .select2-container--default.select2-container--focus .select2-selection--single,
.myaccount-page .form-row .select2-container--default.select2-container--focus .select2-selection--single,
.myaccount-page .woocommerce-form-row .select2-container--default.select2-container--open .select2-selection--single,
.myaccount-page .form-row .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--text-color);
}

.myaccount-page .woocommerce-address-fields__field-wrapper,
.myaccount-page .edit-account {
    display: flow-root;
}

.myaccount-page .edit-account fieldset {
    margin-top: 1.75rem;
    padding: 1.25rem;
    border: 1px solid var(--border-color);
    background: #fbfaf7;
}

.myaccount-page .edit-account .password-input {
    position: relative;
    display: block;
}

.myaccount-page .edit-account .password-input input[type="password"],
.myaccount-page .edit-account .password-input input[type="text"] {
    padding-right: 4.75rem;
}

.myaccount-page .edit-account .show-password-input {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.myaccount-page .edit-account .show-password-input:focus-visible {
    outline: 1px dashed var(--text-muted);
    outline-offset: 2px;
}

.myaccount-page .edit-account em,
.myaccount-page .woocommerce-form-row em {
    display: block;
    margin-top: 0.35rem;
    color: var(--text-muted);
    font-size: 0.85rem;
    font-style: normal;
}

@media (max-width: 900px) {
    .kokilian-toast-stack {
        bottom: 1rem;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    .account-shell__layout {
        grid-template-columns: 1fr;
    }

    .account-nav {
        position: static;
    }

    .account-dashboard__grid,
    .myaccount-page .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .account-nav,
    .account-shell__content {
        padding: 1rem;
    }

    .account-shell__hero {
        margin-bottom: 1.25rem;
    }

    .account-shell__title {
        font-size: 1.7rem;
    }

    .account-dashboard__intro {
        margin-bottom: 1.25rem;
    }

    .account-dashboard__card {
        padding: 1rem;
    }

    .myaccount-page .woocommerce table.shop_table,
    .myaccount-page .woocommerce table.shop_table thead,
    .myaccount-page .woocommerce table.shop_table tbody,
    .myaccount-page .woocommerce table.shop_table th,
    .myaccount-page .woocommerce table.shop_table td,
    .myaccount-page .woocommerce table.shop_table tr {
        display: block;
        width: 100%;
    }

    .myaccount-page .woocommerce table.shop_table thead {
        display: none;
    }

    .myaccount-page .woocommerce table.shop_table tr {
        padding: 1rem 0;
        border-bottom: 1px solid var(--border-color);
    }

    .myaccount-page .woocommerce table.shop_table tbody tr:first-child {
        padding-top: 0;
    }

    .myaccount-page .woocommerce table.shop_table td,
    .myaccount-page .woocommerce table.shop_table th[scope="row"] {
        padding: 0.6rem 0.6rem;
        border: 0;
    }

    .myaccount-page .woocommerce table.shop_table td::before,
    .myaccount-page .woocommerce table.shop_table th[scope="row"]::before {
        content: attr(data-title);
        display: block;
        margin-bottom: 0.3rem;
        font-size: 0.72rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .myaccount-page .woocommerce table.shop_table th[scope="row"] a,
    .myaccount-page .woocommerce table.shop_table td a {
        word-break: break-word;
    }

    .myaccount-page .woocommerce-orders-table__cell-order-actions,
    .myaccount-page .woocommerce-table__product-name.product-name {
        min-width: 0;
    }

    .myaccount-page .woocommerce-orders-table__cell-order-actions .button,
    .myaccount-page .woocommerce-table--order-downloads .download-file .button,
    .myaccount-page .woocommerce-pagination .button,
    .myaccount-page .woocommerce-pagination .woocommerce-Button {
        width: 100%;
        justify-content: center;
        margin-right: 0;
    }

    .myaccount-page .woocommerce-pagination {
        justify-content: flex-start;
        flex-direction: column;
        align-items: stretch;
    }

    .myaccount-page .woocommerce-Addresses {
        gap: 1rem;
        margin-top: 1rem;
    }

    .myaccount-page .woocommerce-Address {
        padding: 1rem;
    }

    .myaccount-page .woocommerce-Address-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.5rem;
    }

    .myaccount-page .woocommerce-Address-title .edit {
        display: inline-flex;
        align-items: center;
    }

    .myaccount-page .woocommerce-address-fields > p:last-child,
    .myaccount-page .edit-account > p:last-of-type {
        margin-top: 1.25rem;
    }

    .myaccount-page .edit-account fieldset {
        padding: 1rem;
    }

    .myaccount-page .woocommerce-MyAccount-content > p:first-child {
        margin-bottom: 1rem;
        line-height: 1.8;
    }

    .myaccount-page .woocommerce-order-details,
    .myaccount-page .woocommerce-customer-details,
    .myaccount-page .woocommerce-OrderUpdates {
        margin-top: 1.25rem;
    }

    .myaccount-page .woocommerce-OrderUpdates {
        padding: 0;
        list-style: none;
    }

    .myaccount-page .woocommerce-OrderUpdate {
        border: 1px solid var(--border-color);
        background: #fbfaf7;
        padding: 0.9rem;
        margin-bottom: 0.75rem;
    }

    .myaccount-page .woocommerce-OrderUpdate-meta {
        margin-bottom: 0.5rem;
        font-size: 0.76rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .myaccount-page .woocommerce-table--order-details tfoot th,
    .myaccount-page .woocommerce-table--order-details tfoot td {
        padding-top: 0.8rem;
    }

    .myaccount-page .edit-account .show-password-input {
        right: 0.85rem;
    }
}
