/* ============================================================
   WOOCOMMERCE SHOP PAGE
   Scoped to .woocommerce — never affects homepage
   ============================================================ */

/* Single product title */
.product-title.product-above { padding: 15px 0; }

/* Hide redundant category breadcrumb */
.woocommerce .product_meta .posted_in { display: none !important; }

/* Product meta spans */
.woocommerce div.product .product_meta > span {
    font-weight: 400 !important;
    color: var(--ink-mid) !important;
    font-size: 0.85rem !important;
}

/* Page background — force white, kill any Kadence WooCommerce amber tint */
.woocommerce-page .site-main,
.woocommerce .site-main,
.woocommerce-page,
.woocommerce-page body,
.woocommerce-page #primary,
.woocommerce-page #content,
.woocommerce-page .content-area,
.woocommerce-page .woocommerce,
body.woocommerce-page {
    background: var(--white) !important;
    background-color: var(--white) !important;
}

/* ============================================================
   SHOP / CATEGORY / PRODUCT — SLIM SKY BANNER WITH SCALLOP
   Consistent curtain across all WooCommerce pages
   ============================================================ */

/* The Kadence archive hero section */
.woocommerce-page .entry-hero,
.woocommerce-page .product-archive-hero,
body.single-product .entry-hero,
body.woocommerce-page .entry-hero {
    background: #D6E8ED !important;
    background-color: #D6E8ED !important;
    background-image: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 16px 0 20px !important;
    position: relative !important;
    overflow: visible !important;
    margin-bottom: 20px !important;
}

/* Kill grey wrapper Kadence puts around the hero */
.woocommerce-page .entry-hero-wrap,
.woocommerce-page .product-hero-wrap,
.woocommerce-page .entry-hero-container,
body.woocommerce-page .entry-hero-container {
    background: #D6E8ED !important;
    background-color: #D6E8ED !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Nullify the empty woocommerce-products-header completely */
.woocommerce-page .woocommerce-products-header {
    display: none !important;
}

.woocommerce-page .entry-hero-container-inner .entry-header,
body.single-product .entry-hero-container-inner .entry-header,
.woocommerce-page .entry-hero-container-inner,
body.single-product .entry-hero-container-inner {
    min-height: 0 !important;
    padding: 0 !important;
    background: #D6E8ED !important;
    background-color: #D6E8ED !important;
}

/* Kill ALL Kadence wave/divider pseudo-elements and elements between banner and products */
.woocommerce-page .entry-hero-container-inner::before,
.woocommerce-page .entry-hero-container-inner::after,
.woocommerce-page #primary::before,
.woocommerce-page #primary::after,
.woocommerce-page .content-area::before,
.woocommerce-page .content-area::after,
.woocommerce-page .section-top-divider,
.woocommerce-page .section-bottom-divider,
.woocommerce-page [class*="section-divider"],
.woocommerce-page [class*="hero-divider"],
.woocommerce-page .kadence-section-bottom-sep,
.woocommerce-page .kadence-section-top-sep,
.woocommerce-page .kt-divider,
body.single-product .entry-hero-container-inner::before,
body.single-product .entry-hero-container-inner::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
}

/* Scallop bottom edge — only on entry-hero, NOT on woocommerce-products-header */
.woocommerce-page .entry-hero::after,
.woocommerce-page .product-archive-hero::after,
body.single-product .entry-hero::after {
    content: '' !important;
    position: absolute !important;
    bottom: -20px !important;
    left: 0 !important;
    width: 100% !important;
    height: 22px !important;
    background: var(--sky) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'%3E%3Cpath d='M0 0 C50 22,100 22,150 11 C200 0,250 0,300 11 C350 22,400 22,450 11 C500 0,550 0,600 11 C650 22,700 22,750 11 C800 0,850 0,900 11 C950 22,1000 22,1050 11 C1100 0,1150 0,1200 11 L1200 0 Z' fill='white'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'%3E%3Cpath d='M0 0 C50 22,100 22,150 11 C200 0,250 0,300 11 C350 22,400 22,450 11 C500 0,550 0,600 11 C650 22,700 22,750 11 C800 0,850 0,900 11 C950 22,1000 22,1050 11 C1100 0,1150 0,1200 11 L1200 0 Z' fill='white'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

/* Page title — small and light */
.woocommerce-page h1.woocommerce-products-header__title,
.woocommerce-page .woocommerce-products-header h1,
.woocommerce-page .entry-hero h1,
.woocommerce-page .entry-hero .page-title,
body.single-product .entry-hero h1 {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: var(--ink-mid) !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

/* Breadcrumb — styled to match */
.woocommerce-page .entry-hero .kadence-breadcrumbs,
.woocommerce-page .woocommerce-breadcrumb,
body.single-product .entry-hero .kadence-breadcrumbs {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 0.82rem !important;
    color: var(--ink-mid) !important;
    opacity: 0.7 !important;
    margin-bottom: 4px !important;
}

.woocommerce-page .entry-hero .kadence-breadcrumbs a,
body.single-product .entry-hero .kadence-breadcrumbs a {
    color: var(--ink-mid) !important;
    text-decoration: none !important;
}

.woocommerce-page .entry-hero .kadence-breadcrumbs a:hover,
body.single-product .entry-hero .kadence-breadcrumbs a:hover {
    color: var(--amber) !important;
}

/* Result count + ordering bar */
.woocommerce-result-count,
.woocommerce-ordering select {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 0.95rem;
    color: var(--ink-mid);
}

/* ── Hide grid/list view toggle buttons ── */
.kadence-shop-top-row .kadence-woo-toggle,
.kadence-product-toggle-container,
.kadence-product-toggle-outer {
    display: none !important;
}

/* ── Sort select — custom single arrow, auto width ── */
.woocommerce-ordering select,
.woocommerce-ordering select.orderby {
    border: 2px solid var(--ink) !important;
    border-radius: var(--radius-pill) !important;
    border-top-style: solid !important;
    border-right-style: solid !important;
    border-left-style: solid !important;
    padding: 8px 52px 8px 18px !important;
    background: var(--white) !important;
    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='%232A2520' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
    height: auto !important;
    outline: none !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    width: auto !important;
    display: inline-block !important;
    font-family: 'Fredoka', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: var(--ink-mid) !important;
}

.woocommerce-ordering select:focus,
.woocommerce-ordering select.orderby:focus {
    border-color: var(--amber) !important;
}

/* ── Suppress Kadence hover slide-up panel ── */
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product .product-loop-item__description,
.woocommerce ul.products li.product .loop-button-wrap,
.woocommerce ul.products li.product .kadence-woo-product-details,
.woocommerce ul.products li.product .button-wrap,
.woocommerce ul.products li.product .woo-loop-btn__wrapper {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    position: static !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    background: transparent !important;
    padding: 0 !important;
}

/* ── Product grid ── */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    width: 100% !important;
}

/* ── Individual card ── */
.woocommerce ul.products li.product {
    background: var(--white) !important;
    border-radius: var(--radius-card) !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-card) !important;
    border: 2px solid transparent !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
    position: relative !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: var(--shadow-hover) !important;
    border-color: var(--peach-deep) !important;
}

/* ── Bestseller badge — tag products with "bestseller" in WooCommerce ── */
.woocommerce ul.products li.product.tag-bestseller::after {
    content: '⭐ Bestseller';
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--amber);
    color: var(--white);
    font-family: 'Fredoka', sans-serif;
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    z-index: 10;
    pointer-events: none;
}

/* ── Product link wrapper ── */
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    flex: 1;
}

/* ── Product image — square, fills top ~80% ── */
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
}

/* ── Category label (output via functions.php hook) ── */
.woocommerce ul.products li.product .lmibc-product-cat {
    display: block;
    font-family: 'Fredoka', sans-serif !important;
    font-size: 0.72rem;
    font-weight: 500;
    color: #ABABAB;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 10px 12px 0;
    text-align: center;
}

/* ── Product title ── */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 500 !important;
    font-size: 0.9rem !important;
    color: var(--ink) !important;
    padding: 4px 12px 2px !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.3 !important;
    /* Clamp to 2 lines so cards stay uniform height */
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* ── Price ── */
.woocommerce ul.products li.product .price {
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--amber) !important;
    padding: 4px 12px 16px !important;
    margin: 0 !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    color: var(--amber) !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .price del {
    color: var(--ink-mid) !important;
    opacity: 0.45 !important;
    font-size: 0.8rem !important;
}

/* ── Hide default WooCommerce add-to-cart button in loop ── */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .ajax_add_to_cart,
.woocommerce ul.products li.product .loop-button-wrap,
.woocommerce ul.products li.product .button-wrap,
.woocommerce ul.products li.product .woo-loop-btn__wrapper,
.woocommerce ul.products li.product .added_to_cart {
    display: none !important;
}

/* ── Sale badge ── */
.woocommerce ul.products li.product .onsale {
    background: var(--peach-deep) !important;
    color: var(--white) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    border-radius: var(--radius-pill) !important;
    padding: 4px 12px !important;
    min-width: unset !important;
    min-height: unset !important;
    line-height: 1.4 !important;
    font-size: 0.78rem !important;
}

/* ── Shop sidebar — keep it narrow ── */
/* Scoped to shop/archive pages only via body classes */
body.post-type-archive-product.has-sidebar .content-container,
body.tax-product_cat.has-sidebar .content-container {
    display: grid !important;
    grid-template-columns: 1fr 220px !important;
    gap: 24px !important;
    align-items: start !important;
}

body.post-type-archive-product.has-sidebar.has-left-sidebar .content-container,
body.tax-product_cat.has-sidebar.has-left-sidebar .content-container {
    grid-template-columns: 220px 1fr !important;
}

@media (max-width: 768px) {
    body.post-type-archive-product .content-container,
    body.post-type-archive-product.has-sidebar .content-container,
    body.post-type-archive-product.has-sidebar.has-left-sidebar .content-container,
    body.tax-product_cat .content-container,
    body.tax-product_cat.has-sidebar .content-container,
    body.tax-product_cat.has-sidebar.has-left-sidebar .content-container {
        display: flex !important;
        flex-direction: column !important;
    }
    body.post-type-archive-product .content-container aside.secondary,
    body.tax-product_cat .content-container aside.secondary {
        order: -1;
    }
    .woocommerce-info,
    .woocommerce-error,
    .woocommerce-message {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .woocommerce-info .button,
    .woocommerce-error .button,
    .woocommerce-message .button {
        float: none !important;
        margin: 0 !important;
    }
}
.woocommerce nav.woocommerce-pagination ul { border: none !important; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 1rem !important;
    color: var(--ink) !important;
    border: 2px solid transparent !important;
    border-radius: var(--radius-pill) !important;
    padding: 8px 16px !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--amber) !important;
    color: var(--white) !important;
    border-color: var(--amber) !important;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 768px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}

@media (max-width: 480px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
}

/* ============================================================
   SINGLE PRODUCT — GALLERY: THUMBNAILS LEFT, MAIN IMAGE RIGHT
   ============================================================ */

/* Grid: narrow thumb column on left | main image on right */
body.single-product .woocommerce-product-gallery {
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    grid-template-areas: "thumbs main" !important;
    gap: 12px !important;
    align-items: start !important;
}

/* Main image viewport — right column */
body.single-product .woocommerce-product-gallery .flex-viewport {
    grid-area: main !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
}

/* Thumbnails — left column, stacked vertically */
body.single-product .flex-control-nav.flex-control-thumbs {
    grid-area: thumbs !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 72px !important;
    max-width: 72px !important;
}

body.single-product .flex-control-thumbs li {
    float: none !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

body.single-product .flex-control-thumbs li img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 8px !important;
    border: 2px solid transparent !important;
    opacity: 1 !important;
    transition: border-color 0.2s ease !important;
    display: block !important;
}

body.single-product .flex-control-thumbs li img.flex-active,
body.single-product .flex-control-thumbs li img:hover {
    border-color: var(--amber) !important;
    opacity: 1 !important;
}

/* Video slide — disable pointer events and zoom */
.lmibc-gallery-video-slide {
    pointer-events: none !important;
    position: relative;
    z-index: 10;
}
.lmibc-gallery-video-slide .zoomImg,
.lmibc-gallery-video-slide .kadence-video-popup-wrap,
.lmibc-gallery-video-slide .kb-video-popup,
.lmibc-gallery-video-slide::after {
    display: none !important;
}
/* Play button overlay on the video thumbnail in the gallery strip */
.flex-control-thumbs li.lmibc-video-thumb {
    position: relative;
}
.flex-control-thumbs li.lmibc-video-thumb img {
    opacity: 0.75;
}
.flex-control-thumbs li.lmibc-video-thumb::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.92);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23333333' d='M8 5v14l11-7z'/%3E%3C/svg%3E");
    background-size: 18px 18px;
    background-position: 56% 50%;
    background-repeat: no-repeat;
    pointer-events: none;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* Main image — square, contained, white background */
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__image a img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #FFFFFF !important;
    border-radius: var(--radius-card) !important;
    display: block !important;
}

/* Mobile — stack vertically, thumbs below */
@media (max-width: 768px) {
    body.single-product .woocommerce-product-gallery {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "main"
            "thumbs" !important;
    }
    body.single-product .woocommerce-product-gallery .flex-viewport {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    body.single-product .flex-control-nav.flex-control-thumbs {
        grid-column: 1 !important;
        grid-row: 2 !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body.single-product .flex-control-thumbs li {
        width: 60px !important;
        height: 60px !important;
    }
    body.single-product .flex-control-thumbs li img {
        width: 60px !important;
        height: 60px !important;
    }
}

/* Disable zoom on product gallery — hide trigger, disable zoom init */
body.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}

body.single-product .woocommerce-product-gallery .zoomImg {
    display: none !important;
}

body.single-product .woocommerce-product-gallery__image a {
    cursor: default !important;
    pointer-events: none !important;
}

/* Add to cart button — override Kadence's fixed height/line-height */
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button,
.woocommerce div.product .button.single_add_to_cart_button {
    background: var(--amber) !important;
    color: var(--white) !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    padding: 0 36px !important;
    height: 50px !important;
    line-height: 50px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    display: inline-block !important;
    vertical-align: middle !important;
    float: left !important;
    margin-left: 8px !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button:hover {
    background: var(--ink) !important;
}

/* Quantity box — match button height */
body.single-product .quantity input.qty {
    height: 50px !important;
    line-height: 50px !important;
    border-radius: var(--radius-pill) !important;
    border: 2px solid var(--ink) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-size: 1rem !important;
    text-align: center !important;
    width: 64px !important;
    padding: 0 !important;
}

/* Price */
body.single-product .price,
body.single-product p.price {
    color: var(--amber) !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    font-family: 'Fredoka', sans-serif !important;
}


/* Product meta (categories, tags) — readable weight and colour */
.woocommerce div.product .product_meta > span {
    font-weight: 400 !important;
    color: var(--ink-mid) !important;
    font-size: 0.85rem !important;
}

.woocommerce div.product .product_meta > span a {
    color: var(--ink-mid) !important;
    text-decoration: underline !important;
}

.woocommerce div.product .product_meta > span a:hover {
    color: var(--amber) !important;
}

/* Short description — slightly narrower than title for visual breathing room */
.woocommerce .woocommerce-product-details__short-description {
    width: 85% !important;
    margin-bottom: 2em !important;
}

/* ============================================================
   WOOCOMMERCE NOTICES — branded palette, soft backgrounds
   ============================================================ */

/* Success — sage green, light tint background */
.woocommerce-message {
    background: #e8f3e8 !important;
    border-top-color: transparent !important;
    border-left-color: var(--sage-dark) !important;
    color: var(--ink) !important;
    font-family: 'Fredoka', sans-serif !important;
}

.woocommerce-message::before {
    color: var(--sage-dark) !important;
}

.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce-message .wc-forward {
    background: var(--ink) !important;
    color: var(--white) !important;
    border-radius: var(--radius-pill) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 400 !important;
    border: none !important;
    padding: 8px 24px !important;
}

.woocommerce-message .button:hover,
.woocommerce-message a.button:hover {
    background: var(--sage-dark) !important;
    color: var(--white) !important;
}

/* Info — sky blue */
.woocommerce-info {
    background: var(--sky) !important;
    border-top-color: transparent !important;
    border-left-color: var(--sky-deep) !important;
    color: var(--ink) !important;
    font-family: 'Fredoka', sans-serif !important;
}

.woocommerce form .form-row label { font-weight: 400 !important; }

/* Error/warning — soft pink-red tint */
.woocommerce-error {
    background: #fce8ea !important;
    border-left-color: #ea3a4c !important;
    border-top-color: transparent !important;
    color: var(--ink) !important;
    font-family: 'Fredoka', sans-serif !important;
}

.woocommerce-error li { color: var(--ink) !important; }

.woocommerce-error .button,
.woocommerce-error a.button,
.woocommerce-error .wc-forward {
    background: var(--ink) !important;
    color: var(--white) !important;
    border-radius: var(--radius-pill) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 400 !important;
    border: none !important;
    padding: 8px 24px !important;
}

.woocommerce-error .button:hover { background: #ea3a4c !important; }

/* Space between hero scallop and page content */
.woocommerce-page .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce,
body.single-product .woocommerce-notices-wrapper {
    margin-top: 48px !important;
}

/* Extra padding below the hero itself so scallop has room */
.woocommerce-page .entry-hero,
.woocommerce-page .product-archive-hero,
body.single-product .entry-hero,
body.woocommerce-page .entry-hero {
    margin-bottom: 40px !important;
}

/* ============================================================
   CART & CHECKOUT — fix rectangle blue CTA buttons only
   Targets both classic WooCommerce AND WooCommerce Blocks
   ============================================================ */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #payment #place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background: var(--sky-deep) !important;
    color: var(--ink) !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    padding: 16px 40px !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    box-shadow: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: var(--ink) !important;
    color: var(--white) !important;
}

/* ── Hide duplicate price in block order summary ── */
.wc-block-order-summary-item__individual-prices {
    display: none !important;
}

/* ── Single product page — remove content-area top margin ── */

/* ── Order summary — hide short description + metadata ── */
.wc-block-order-summary-item__description,
.wc-block-components-product-metadata__description {
    display: none !important;
}

/* ── Cart & order summary product name — 500 weight ── */
.wc-block-components-product-name,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* ── Remove top gap on single product page ── */
body.single-product .content-area,
body.single-product #primary.content-area {
    margin-top: 0 !important;
}

/* ── Cart & checkout block buttons — sky-deep pill ── */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
a.wc-block-cart__submit-button,
button.wc-block-cart__submit-button {
    background-color: var(--sky-deep) !important;
    background: var(--sky-deep) !important;
    color: var(--ink) !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    box-shadow: none !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background-color: var(--ink) !important;
    background: var(--ink) !important;
    color: var(--white) !important;
}

/* ── Order confirmation page ── */
.woocommerce-order *:not(h2) {
    font-weight: 500 !important;
}
.woocommerce table.shop_table th {
    font-weight: 500 !important;
}

/* ── Hide product suggestions on empty cart page ── */
.wc-block-empty-cart__products,
.wp-block-woocommerce-empty-cart-block .wp-block-query,
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wp-block-woocommerce-empty-cart-block .wc-block-product-new {
    display: none !important;
}

/* ── Hide default sad face icon on empty cart — replaced by raccoon image ── */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.wc-block-cart__empty-cart__title::before {
    display: none !important;
    content: none !important;
}

/* ── Empty cart raccoon image — centered with breathing room ── */
.wc-block-cart__empty-cart__title img,
.wc-block-cart__empty-cart__title img.aligncenter {
    display: block !important;
    margin: 0 auto !important;
    padding-top: 1em !important;
}

/* ============================================================
   PRODUCT VIDEO STYLES
   ============================================================ */

/* Responsive 16:9 container for video embeds */
.lmibc-video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    border-radius: var(--radius-card);
}

.lmibc-video-container iframe,
.lmibc-video-container video,
.lmibc-video-container object,
.lmibc-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

/* Video slide in the WooCommerce Gallery */
.lmibc-video-slide {
    margin-top: 20px;
    clear: both;
}

/* If the gallery uses Flexslider, ensure the video slide is visible */
.woocommerce-product-gallery .flex-viewport .lmibc-video-slide {
    margin-top: 0;
}

/* Adjustments for single product gallery grid */
body.single-product .woocommerce-product-gallery {
    grid-template-areas:
        "thumbs main"
        "thumbs video" !important;
}

.lmibc-video-slide {
    grid-area: video;
    grid-column: 2;
}

