/*
Theme Name: Papelespresso Child
Theme URI: https://papelespresso.com
Author: Papelespresso
Author URI: https://papelespresso.com
Description: Papelespresso child theme for Konte
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: konte
Template: konte
*/

/* =============================================
   CTA Section — marble background
   ============================================= */
.konte-cta {
    background-image: url('/wp-content/uploads/sale-bg.jpg') !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* =============================================
   Mega Menu — column height and text
   ============================================= */
.mega-menu .mega-sub-menu {
    min-height: 450px !important;
}

.mega-menu .mega-sub-menu > a,
.mega-menu .mega-sub-menu > span {
    color: #161619 !important;
    font-weight: 600 !important;
}

.mega-menu .mega-sub-menu .sub-menu a {
    color: #161619 !important;
}

/* =============================================
   Homepage — remove gap between header and hero
   ============================================= */
.home .site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.home .site-content-container {
    padding-top: 0 !important;
}

/* =============================================
   Mobile Footer — reorder widgets
   ============================================= */
@media (max-width: 767px) {
    .footer-widgets.widgets-area {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .footer-widgets-area-4 {
        order: 1 !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .footer-widgets-area-2 {
        order: 2 !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-top: 30px;
    }

    .footer-widgets-area-3 {
        order: 3 !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-top: 30px;
    }

    .footer-widgets-area-1 {
        order: 4 !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-top: 30px;
    }
}

/* =============================================
   Brand badge above product title
   ============================================= */
.cl-brand-badge {
    margin-bottom: 15px;
    display: block;
}
.cl-brand-badge a {
    display: inline-block;
    transition: opacity 0.3s;
}
.cl-brand-badge a:hover {
    opacity: 0.7;
}
.cl-brand-badge img {
    max-height: 25px;
    width: auto;
    display: block;
}

/* =============================================
   Payment logos (footer_main_text)
   ============================================= */
.payment-logos {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
}

/* Hide BNPL banner ONLY on single product (keep cart/checkout) */
body.single-product #payment-method-message,
body.single-product .payment-method-message,
body.single-product .wcpay-product-messaging,
body.single-product .wcpay-payment-messaging,
body.single-product [id*="payment-method-message"],
body.single-product [class*="wcpay-product-messaging"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* =============================================
   PAGE STYLES — Policy, About, Contact, FAQ
   Konte-native palette: #161619 / #838889 / #e3e7e8
   ============================================= */

body.page .single-page-header {
    padding: 80px 24px 40px;
    text-align: center;
}
body.page .single-page-header .entry-title {
    font-size: clamp(32px, 5vw, 44px);
    font-weight: 500;
    color: #161619;
    margin-bottom: 16px;
}

/* =============================================
   POLICY PAGES (ToS, Privacy, Payment, Refund)
   ============================================= */
body.page .entry-content .pe-policy {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 60px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 20px 24px 120px;
}
body.page .entry-content .pe-policy__toc {
    position: sticky;
    top: 100px;
    align-self: start;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
}
body.page .entry-content .pe-policy__toc-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #161619;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #161619;
}
body.page .entry-content .pe-policy__toc a {
    display: block;
    padding: 8px 0 8px 16px;
    font-size: 13px;
    color: #838889;
    border-left: 2px solid transparent;
    text-decoration: none;
    transition: all 0.2s ease;
    line-height: 1.5;
}
body.page .entry-content .pe-policy__toc a:hover {
    color: #161619;
    border-left-color: #161619;
}
body.page .entry-content .pe-policy__body {
    max-width: 700px;
}
body.page .entry-content .pe-policy__body h2 {
    font-size: 22px;
    font-weight: 600;
    color: #161619;
    margin-top: 56px;
    margin-bottom: 20px;
    padding-top: 48px;
    border-top: 1px solid #e3e7e8;
    line-height: 1.3;
}
body.page .entry-content .pe-policy__body h2:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}
body.page .entry-content .pe-policy__body h2 .pe-section-num {
    display: block;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #838889;
    margin-bottom: 12px;
}
body.page .entry-content .pe-policy__body p {
    font-size: 16px;
    line-height: 1.75;
    color: #3a3a3a;
    margin-bottom: 1.5em;
}
body.page .entry-content .pe-policy__body ul,
body.page .entry-content .pe-policy__body ol {
    padding-left: 24px;
    margin-bottom: 1.5em;
}
body.page .entry-content .pe-policy__body li {
    font-size: 16px;
    line-height: 1.75;
    color: #3a3a3a;
    margin-bottom: 0.5em;
}
body.page .entry-content .pe-policy__body a {
    color: #161619;
    text-decoration: underline;
    text-decoration-color: #c0c0c0;
    text-underline-offset: 3px;
}
body.page .entry-content .pe-policy__body a:hover {
    text-decoration-color: #161619;
}
body.page .entry-content .pe-policy__body strong {
    font-weight: 600;
    color: #161619;
}
body.page .entry-content .pe-policy__callout {
    background: #f7f7f7;
    border-left: 3px solid #161619;
    padding: 20px 24px;
    margin: 32px 0;
}
body.page .entry-content .pe-policy__callout p {
    font-size: 15px;
    margin-bottom: 0;
    color: #161619;
}
body.page .entry-content .pe-policy__contact {
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid #e3e7e8;
}
body.page .entry-content .pe-policy__contact p {
    font-size: 15px;
    line-height: 1.7;
}
@media (max-width: 768px) {
    body.page .entry-content .pe-policy {
        display: block;
        padding: 0 20px 80px;
    }
    body.page .entry-content .pe-policy__toc {
        position: relative;
        top: 0;
        margin-bottom: 40px;
        padding: 24px;
        background: #f7f7f7;
        border: 1px solid #e3e7e8;
    }
    body.page .entry-content .pe-policy__body {
        max-width: 100%;
    }
    body.page .entry-content .pe-policy__body h2 {
        font-size: 20px;
        margin-top: 40px;
        padding-top: 32px;
    }
}

/* =============================================
   ABOUT US PAGE
   ============================================= */
body.page .entry-content .pe-about {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 24px 100px;
}
body.page .entry-content .pe-about__narrative {
    max-width: 680px;
    margin: 0 auto 80px;
    text-align: center;
}
body.page .entry-content .pe-about__narrative p {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3a3a;
    margin-bottom: 1.5em;
}
body.page .entry-content .pe-about__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid #e3e7e8;
    border-bottom: 1px solid #e3e7e8;
    margin: 0 0 80px;
}
body.page .entry-content .pe-about__stat {
    text-align: center;
    padding: 48px 24px;
}
body.page .entry-content .pe-about__stat:not(:last-child) {
    border-right: 1px solid #e3e7e8;
}
body.page .entry-content .pe-about__stat-number {
    font-size: 36px;
    font-weight: 500;
    color: #161619;
    line-height: 1;
    margin-bottom: 8px;
}
body.page .entry-content .pe-about__stat-label {
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #838889;
    font-weight: 400;
}
body.page .entry-content .pe-about__values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    margin-bottom: 80px;
}
body.page .entry-content .pe-about__value-num {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #838889;
    margin-bottom: 16px;
}
body.page .entry-content .pe-about__value h3 {
    font-size: 18px;
    font-weight: 600;
    color: #161619;
    margin-bottom: 12px;
    line-height: 1.3;
}
body.page .entry-content .pe-about__value p {
    font-size: 14px;
    line-height: 1.7;
    color: #838889;
}
body.page .entry-content .pe-about__closing {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 60px 0 0;
    border-top: 1px solid #e3e7e8;
}
body.page .entry-content .pe-about__closing p {
    font-size: 17px;
    line-height: 1.8;
    color: #161619;
}
body.page .entry-content .pe-about__closing .pe-signature {
    font-size: 15px;
    color: #838889;
    margin-top: 32px;
    font-style: italic;
}
@media (max-width: 768px) {
    body.page .entry-content .pe-about__stats {
        grid-template-columns: 1fr;
    }
    body.page .entry-content .pe-about__stat:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid #e3e7e8;
    }
    body.page .entry-content .pe-about__stat { padding: 32px 24px; }
    body.page .entry-content .pe-about__values {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* =============================================
   CONTACT US PAGE
   ============================================= */
body.page .entry-content .pe-contact {
    max-width: 960px;
    margin: 0 auto;
    padding: 20px 24px 100px;
}
body.page .entry-content .pe-contact__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 80px;
}
body.page .entry-content .pe-contact__card {
    padding: 32px 24px;
    border: 1px solid #e3e7e8;
    text-align: center;
    transition: border-color 0.2s;
}
body.page .entry-content .pe-contact__card:hover {
    border-color: #161619;
}
body.page .entry-content .pe-contact__card-icon svg {
    width: 28px;
    height: 28px;
    color: #161619;
    stroke: #161619;
    fill: none;
    stroke-width: 1.5;
    margin-bottom: 16px;
}
body.page .entry-content .pe-contact__card-title {
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #838889;
    margin-bottom: 12px;
    font-weight: 600;
}
body.page .entry-content .pe-contact__card-value {
    font-size: 15px;
    color: #161619;
    line-height: 1.6;
}
body.page .entry-content .pe-contact__card-value a {
    color: #161619;
    text-decoration: underline;
    text-decoration-color: #c0c0c0;
    text-underline-offset: 3px;
}
body.page .entry-content .pe-contact__card-value a:hover {
    text-decoration-color: #161619;
}
body.page .entry-content .pe-contact__split {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 80px;
    align-items: start;
}
body.page .entry-content .pe-contact__message h2 {
    font-size: 28px;
    font-weight: 600;
    color: #161619;
    margin-bottom: 20px;
}
body.page .entry-content .pe-contact__message p {
    font-size: 16px;
    line-height: 1.7;
    color: #838889;
}
body.page .pe-contact__form .wpcf7-form-control:not([type="submit"]) {
    width: 100%;
    border: none;
    border-bottom: 1px solid #e3e7e8;
    padding: 12px 0;
    font-size: 15px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    transition: border-color 0.3s ease;
    color: #161619;
}
body.page .pe-contact__form .wpcf7-form-control:not([type="submit"]):focus {
    border-bottom-color: #161619;
    outline: none;
}
body.page .pe-contact__form input[type="submit"].wpcf7-submit {
    /* PE: height ~48px, contact form ile site geneli butonlar tutarli */
    background-color: #161619;
    color: #fff;
    border: 2px solid #161619;
    padding: 12px 40px !important;
    height: 48px !important;
    line-height: 1 !important;
    width: 300px !important;
    max-width: 100% !important;
    display: inline-block !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
}
body.page .pe-contact__form input[type="submit"].wpcf7-submit:hover {
    background: transparent;
    color: #161619;
}
@media (max-width: 768px) {
    body.page .entry-content .pe-contact__cards {
        grid-template-columns: repeat(2, 1fr);
    }
    body.page .entry-content .pe-contact__split {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}
@media (max-width: 480px) {
    body.page .entry-content .pe-contact__cards {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   FAQ PAGE
   ============================================= */
body.page .entry-content .pe-faq {
    max-width: 760px;
    margin: 0 auto;
    padding: 20px 24px 100px;
}
body.page .entry-content .pe-faq__category {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #838889;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 2px solid #161619;
}
body.page .entry-content .pe-faq__section {
    margin-bottom: 56px;
}
body.page .entry-content .pe-faq__item {
    border-bottom: 1px solid #e3e7e8;
}
body.page .entry-content .pe-faq__item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    font-size: 16px;
    font-weight: 500;
    color: #161619;
    cursor: pointer;
    list-style: none;
    transition: color 0.3s ease;
    line-height: 1.5;
}
body.page .entry-content .pe-faq__item summary::-webkit-details-marker { display: none; }
body.page .entry-content .pe-faq__item summary::marker { display: none; content: ""; }
body.page .entry-content .pe-faq__item summary:hover { color: #838889; }
body.page .entry-content .pe-faq__icon {
    position: relative;
    width: 14px;
    height: 14px;
    min-width: 14px;
    margin-left: 24px;
}
body.page .entry-content .pe-faq__icon:before,
body.page .entry-content .pe-faq__icon:after {
    content: "";
    position: absolute;
    background-color: #161619;
    transition: transform 0.3s ease;
}
body.page .entry-content .pe-faq__icon:before {
    width: 14px; height: 1px;
    top: 50%; left: 0;
    transform: translateY(-50%);
}
body.page .entry-content .pe-faq__icon:after {
    width: 1px; height: 14px;
    left: 50%; top: 0;
    transform: translateX(-50%);
}
body.page .entry-content .pe-faq__item[open] .pe-faq__icon:after {
    transform: translateX(-50%) rotate(90deg);
}
body.page .entry-content .pe-faq__answer {
    padding: 0 0 24px;
}
body.page .entry-content .pe-faq__answer p {
    font-size: 15px;
    line-height: 1.75;
    color: #3a3a3a;
    margin-bottom: 1em;
}
body.page .entry-content .pe-faq__answer a {
    color: #161619;
    text-decoration: underline;
    text-decoration-color: #c0c0c0;
    text-underline-offset: 3px;
}
body.page .entry-content .pe-faq__answer strong {
    color: #161619;
    font-weight: 600;
}
body.page .entry-content .pe-faq__cta {
    text-align: center;
    margin-top: 80px;
    padding-top: 60px;
    border-top: 1px solid #e3e7e8;
}
body.page .entry-content .pe-faq__cta p {
    font-size: 18px;
    color: #161619;
    margin-bottom: 24px;
}
body.page .entry-content .pe-faq__cta a {
    display: inline-block;
    background-color: #161619;
    color: #fff;
    padding: 16px 48px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid #161619;
    transition: all 0.3s ease;
}
body.page .entry-content .pe-faq__cta a:hover {
    background: transparent;
    color: #161619;
}

/* TOC — thin elegant scrollbar */
body.page .entry-content .pe-policy__toc {
    scrollbar-width: thin;
    scrollbar-color: #161619 transparent;
}
body.page .entry-content .pe-policy__toc::-webkit-scrollbar {
    width: 1px;
}
body.page .entry-content .pe-policy__toc::-webkit-scrollbar-track {
    background: transparent;
}
body.page .entry-content .pe-policy__toc::-webkit-scrollbar-thumb {
    background-color: #161619;
    border-radius: 1px;
}

/* TOC — stays fixed even at page bottom */
body.page .entry-content .pe-policy {
    position: relative;
}
body.page .entry-content .pe-policy__toc {
    position: sticky;
    top: 100px;
    bottom: 0;
    align-self: start;
    max-height: calc(100vh - 120px);
}

/* =============================================
   Footer refinement — softer white + thinner dividers (2026-04-15)
   ============================================= */
.site-footer.text-light,
.site-footer.text-light p,
.site-footer.text-light li,
.site-footer.text-light .widget a,
.site-footer.text-light .textwidget,
.site-footer.text-light .widget_nav_menu a {
    color: rgba(255,255,255,0.72) !important;
    font-weight: 400;
}
.site-footer.text-light .widget-title {
    color: rgba(255,255,255,0.92) !important;
    font-weight: 500;
    letter-spacing: 0.04em;
}
.site-footer.text-light .widget a:hover,
.site-footer.text-light .widget_nav_menu a:hover {
    color: rgba(255,255,255,1) !important;
}

/* Soften and thin the horizontal dividers inside the footer */
.site-footer .footer-widgets + .footer-main,
.site-footer .footer-main,
.site-footer .footer-sub,
.site-footer .footer-widgets,
.site-footer [class*="footer-"] {
    border-color: rgba(255,255,255,0.02) !important;
}
.site-footer .footer-main,
.site-footer .footer-sub {
    border-top-width: 1px !important;
}

/* Payment icons: softer opacity so they blend with the new muted palette */

/* Payment logos — show original brand colors, right-align, soft look (2026-04-15) */
.footer-main .custom-text .payment-logos,
.footer-main-right .payment-logos,
.site-footer .payment-logos {
    justify-content: flex-end !important;
    gap: 10px !important;
}
.site-footer 
.site-footer 
@media (max-width: 767px) {
    .footer-main .custom-text .payment-logos,
    .site-footer .payment-logos {
        justify-content: center !important;
    }
}

/* Footer: replace Papel Espresso widget title text with inverted logo */
.site-footer #text-1 .widget-title {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    margin: 0 0 18px 0 !important;
}
.site-footer #text-1 .widget-title::before {
    content: "";
    display: inline-block;
    width: 200px;
    max-width: 100%;
    height: 44px;
    background: url(https://www.papelespresso.com/wp-content/uploads/2024/09/Papel-Espresso-Logo.png) no-repeat left center / contain;
    filter: invert(1) brightness(1.05);
    opacity: 0.95;
}

/* ===== Payment logos canonical (2026-04-16) ===== */
.payment-logos img {
    height: 23px !important;
    width: auto !important;
    max-width: 50px !important;
    object-fit: contain !important;
    display: block !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 3px !important;
    padding: 0 !important;
    filter: saturate(0.4) opacity(0.82) !important;
    transition: filter 0.2s, opacity 0.2s;
}
.payment-logos img:hover {
    filter: saturate(1) opacity(1) !important;
}

/* Footer hr.divider — softer, thinner */
.site-footer hr.divider {
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.15) !important;
    height: 0 !important;
    margin: 0 0 28px !important;
    background: transparent !important;
    opacity: 1 !important;
}

/* Mobile footer payment logos: center + tighter spacing to copyright */
@media (max-width: 767px) {
    .site-footer .payment-logos {
        justify-content: center !important;
        margin-top: 14px !important;
    }
    .site-footer .footer-main .footer-items.footer-left,
    .site-footer .footer-main .footer-items.footer-right,
    .site-footer .footer-main .copyright {
        text-align: center !important;
    }
    .site-footer .footer-main {
        padding: 20px 0 20px !important;
    }
    .site-footer hr.divider {
        margin: 0 0 16px !important;
    }
}

/* Payment logos layout: desktop right, mobile center, tighter spacing */
.site-footer .payment-logos {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 767px) {
    .site-footer .payment-logos {
        justify-content: center !important;
        margin-top: 10px !important;
        margin-bottom: 4px !important;
    }
    .site-footer .footer-main {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }
    .site-footer hr.divider {
        margin: 0 0 14px !important;
    }
    .site-footer .footer-main .copyright {
        margin-top: 8px !important;
        padding: 0 !important;
    }
}

/* Fix: FontAwesome font-display swap — prevents invisible text during load */
@font-face {
    font-family: 'FontAwesome';
    src: url('../konte/fonts/fontawesome-webfont.woff2') format('woff2'),
         url('../konte/fonts/fontawesome-webfont.woff') format('woff'),
         url('../konte/fonts/fontawesome-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* =============================================
   CART RECOMMENDATIONS — "You May Also Like"
   Injected inside Konte cart panel via
   `woocommerce_widget_shopping_cart_after_buttons`.
   ============================================= */
.cl-cart-reco {
    margin: 22px 0 0;
    padding-top: 20px;
    padding-bottom: 40px;
    border-top: 1px solid #e8e8e8;
}
.cl-cart-reco__title {
    margin: 0 0 14px;
    padding: 0;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #333;
    text-align: center;
    line-height: 1.2;
}
.cl-cart-reco__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 10px;
}
.cl-cart-reco__item {
    margin: 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    background: transparent;
    border: 0;
}
.cl-cart-reco__item::before,
.cl-cart-reco__item::after { content: none; }
.cl-cart-reco__link {
    display: block;
    text-decoration: none;
    color: inherit;
    margin-bottom: 8px;
}
.cl-cart-reco__link:hover,
.cl-cart-reco__link:focus {
    text-decoration: none;
    color: inherit;
}
.cl-cart-reco__thumb {
    position: relative;
    overflow: hidden;
    background: #f6f5f3;
    margin-bottom: 8px;
    aspect-ratio: 1 / 1;
}
.cl-cart-reco__thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    transition: transform 0.4s ease;
}
.cl-cart-reco__link:hover .cl-cart-reco__thumb img {
    transform: scale(1.05);
}
.cl-cart-reco__badge {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
}
.cl-cart-reco__name {
    font-size: 12px;
    line-height: 1.4;
    color: #333;
    margin-bottom: 4px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
}
.cl-cart-reco__price {
    font-size: 12px;
    font-weight: 600;
    color: #111;
    line-height: 1.2;
    margin: 0;
    padding: 0;
}
.cl-cart-reco__price del {
    color: #9a9a9a;
    font-weight: 400;
    margin-right: 4px;
    opacity: 1;
}
.cl-cart-reco__price ins {
    text-decoration: none;
    color: #111;
    background: transparent;
}
.cl-cart-reco__price .woocommerce-Price-amount {
    font-size: 12px;
}
/* Button — mirror Konte's outlined "button" look, compact */
.cl-cart-reco .cl-cart-reco__btn {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 6px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    background: transparent !important;
    color: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease, color 0.2s ease;
}
.cl-cart-reco .cl-cart-reco__btn:hover,
.cl-cart-reco .cl-cart-reco__btn:focus,
.cl-cart-reco .cl-cart-reco__btn.added {
    background: #111 !important;
    color: #fff !important;
}
.cl-cart-reco .cl-cart-reco__btn.loading {
    opacity: 0.55;
    pointer-events: none;
}
.cl-cart-reco .cl-cart-reco__btn.loading::after {
    display: none;
}
.cl-cart-reco__btn + .added_to_cart {
    display: none !important;
}
/* Konte's mini-cart occasionally applies list-item styling globally;
   neutralise for our grid items. */
.widget_shopping_cart_content .cl-cart-reco__list,
.cart-panel .cl-cart-reco__list {
    border: 0;
}
.widget_shopping_cart_content .cl-cart-reco__item,
.cart-panel .cl-cart-reco__item {
    border: 0 !important;
    padding: 0 !important;
}

/* =============================================
   CART PAGE RECOMMENDATIONS — "You May Also Like"
   4-column grid, sits below Cart Totals.
   ============================================= */
.cl-cart-page-reco {
    margin: 60px 0 90px;
    padding: 0 15px 30px;
}
.cl-cart-page-reco__inner {
    max-width: 1280px;
    margin: 0 auto;
}
.cl-cart-page-reco__title {
    margin: 0 0 36px;
    padding: 0;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #111;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.cl-cart-page-reco__title::before,
.cl-cart-page-reco__title::after {
    content: '';
    flex: 0 0 60px;
    height: 1px;
    background: #d9d9d9;
}
.cl-cart-page-reco__title span {
    display: inline-block;
    white-space: nowrap;
}
.cl-cart-page-reco__grid {
    list-style: none;
    margin: 0;
    padding: 0 0 14px;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 24px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #c4c4c4 transparent;
}
.cl-cart-page-reco__grid::-webkit-scrollbar {
    height: 3px;
    background: transparent;
}
.cl-cart-page-reco__grid::-webkit-scrollbar-track {
    background: transparent;
    border-top: 1px solid #ececec;
}
.cl-cart-page-reco__grid::-webkit-scrollbar-thumb {
    background: #c4c4c4;
    border-radius: 10px;
    transition: background 0.2s ease;
}
.cl-cart-page-reco__grid::-webkit-scrollbar-thumb:hover {
    background: #888;
}
.cl-cart-page-reco__item {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    position: relative;
    display: flex;
    flex-direction: column;
    background: transparent;
    border: 0;
    flex: 0 0 calc((100% - 4 * 24px) / 5);
    min-width: 0;
    scroll-snap-align: start;
}
.cl-cart-page-reco__item::before,
.cl-cart-page-reco__item::after { content: none; }
.cl-cart-page-reco__link {
    display: block;
    text-decoration: none !important;
    color: inherit;
    margin-bottom: 14px;
}
.cl-cart-page-reco__link:hover,
.cl-cart-page-reco__link:focus {
    text-decoration: none !important;
    color: inherit;
}
.cl-cart-page-reco__thumb {
    position: relative;
    overflow: hidden;
    background: #f6f5f3;
    margin-bottom: 14px;
    aspect-ratio: 1 / 1;
}
.cl-cart-page-reco__thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    transition: transform 0.5s ease;
}
.cl-cart-page-reco__link:hover .cl-cart-page-reco__thumb img {
    transform: scale(1.06);
}
.cl-cart-page-reco__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
}
.cl-cart-page-reco__sale {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 3px 10px;
    background: #c94a17;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.4;
    z-index: 2;
    pointer-events: none;
}
.cl-cart-page-reco__name {
    font-size: 14px;
    line-height: 1.45;
    color: #222;
    margin-bottom: 6px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.9em;
}
.cl-cart-page-reco__price {
    font-size: 15px;
    font-weight: 600;
    color: #111;
    line-height: 1.2;
    margin: 0;
    padding: 0;
}
.cl-cart-page-reco__price del {
    color: #9a9a9a;
    font-weight: 400;
    margin-right: 6px;
    opacity: 1;
}
.cl-cart-page-reco__price ins {
    text-decoration: none;
    color: #111;
    background: transparent;
}
.cl-cart-page-reco__price .woocommerce-Price-amount {
    font-size: 15px;
}
.cl-cart-page-reco .cl-cart-page-reco__btn {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 12px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-align: center;
    background: transparent !important;
    color: #111 !important;
    border: 1.5px solid #111 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    height: auto !important;
    transition: background 0.25s ease, color 0.25s ease;
}
.cl-cart-page-reco .cl-cart-page-reco__btn:hover,
.cl-cart-page-reco .cl-cart-page-reco__btn:focus,
.cl-cart-page-reco .cl-cart-page-reco__btn.added {
    background: #111 !important;
    color: #fff !important;
}
.cl-cart-page-reco .cl-cart-page-reco__btn.loading {
    opacity: 0.55;
    pointer-events: none;
}
.cl-cart-page-reco .cl-cart-page-reco__btn.loading::after {
    display: none;
}
.cl-cart-page-reco__btn + .added_to_cart {
    display: none !important;
}

/* Tablet */
@media (max-width: 991px) {
    .cl-cart-page-reco {
        margin: 48px 0 70px;
        padding-bottom: 24px;
    }
    .cl-cart-page-reco__grid {
        gap: 20px;
    }
    .cl-cart-page-reco__item {
        flex: 0 0 calc((100% - 2 * 20px) / 3);
    }
    .cl-cart-page-reco__title {
        font-size: 18px;
        margin-bottom: 28px;
    }
    .cl-cart-page-reco__title::before,
    .cl-cart-page-reco__title::after {
        flex-basis: 40px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .cl-cart-page-reco {
        margin: 40px 0 80px;
        padding-bottom: 30px;
    }
    .cl-cart-page-reco__grid {
        gap: 16px;
    }
    .cl-cart-page-reco__item {
        flex: 0 0 calc((100% - 16px) / 2);
    }
    .cl-cart-page-reco__title {
        font-size: 16px;
        gap: 12px;
    }
    .cl-cart-page-reco__title::before,
    .cl-cart-page-reco__title::after {
        flex-basis: 28px;
    }
    .cl-cart-page-reco__name {
        font-size: 13px;
        min-height: 2.7em;
    }
    .cl-cart-page-reco__price,
    .cl-cart-page-reco__price .woocommerce-Price-amount {
        font-size: 14px;
    }
    .cl-cart-page-reco .cl-cart-page-reco__btn {
        padding: 10px 8px !important;
        font-size: 10px !important;
    }
    .cl-cart-page-reco__badge {
        width: 24px;
        height: 24px;
        top: 8px;
        left: 8px;
    }
}

/* =============================================
   DESKTOP — cart-panel side-by-side layout
   Items on right, recommendations on left.
   ============================================= */
@media (min-width: 1024px) {
    #cart-panel .panel {
        width: 880px !important;
        max-width: 92vw;
    }
    /* Split drawer — compact reco on left, wider cart on right */
    #cart-panel .widget_shopping_cart_content {
        display: grid;
        grid-template-columns: 300px 1fr;
        grid-template-areas:
            "reco items"
            "reco total"
            "reco buttons";
        column-gap: 28px;
        align-items: start;
    }
    #cart-panel .widget_shopping_cart_content .woocommerce-mini-cart { grid-area: items; }
    #cart-panel .widget_shopping_cart_content .woocommerce-mini-cart__total { grid-area: total; }
    #cart-panel .widget_shopping_cart_content .woocommerce-mini-cart__buttons { grid-area: buttons; }

    #cart-panel .widget_shopping_cart_content .cl-cart-reco {
        grid-area: reco;
        margin: 0 !important;
        padding: 0 28px 0 0 !important;
        border-top: 0 !important;
        border-right: 1px solid #e8e8e8;
        align-self: stretch;
    }
    #cart-panel .cl-cart-reco__title {
        text-align: left;
        font-size: 13px;
        letter-spacing: 0.16em;
        margin-bottom: 18px;
    }

    /* Single-column reco list — horizontal mini-card per item */
    #cart-panel .cl-cart-reco__list {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    #cart-panel .cl-cart-reco__item {
        display: block;
    }
    #cart-panel .cl-cart-reco__link {
        display: grid;
        grid-template-columns: 84px 1fr;
        grid-template-areas:
            "thumb name"
            "thumb price";
        column-gap: 14px;
        row-gap: 3px;
        align-items: start;
        margin-bottom: 8px;
    }
    #cart-panel .cl-cart-reco__thumb {
        grid-area: thumb;
        width: 84px;
        height: 84px;
        margin: 0;
    }
    #cart-panel .cl-cart-reco__name {
        grid-area: name;
        margin: 0;
        min-height: 0;
        font-size: 14px;
        line-height: 1.4;
        -webkit-line-clamp: 2;
    }
    #cart-panel .cl-cart-reco__price,
    #cart-panel .cl-cart-reco__price .woocommerce-Price-amount {
        grid-area: price;
        font-size: 14px;
    }
    #cart-panel .cl-cart-reco__badge {
        width: 18px;
        height: 18px;
        font-size: 10px;
        top: 4px;
        left: 4px;
    }
    #cart-panel .cl-cart-reco .cl-cart-reco__btn {
        padding: 9px 6px !important;
        font-size: 11px !important;
        letter-spacing: 0.12em !important;
    }
}

@media (min-width: 1024px) and (max-width: 1280px) {
    /* Slightly narrower drawer on small laptops */
    #cart-panel .panel {
        width: 800px !important;
    }
    #cart-panel .widget_shopping_cart_content {
        grid-template-columns: 270px 1fr;
        column-gap: 20px;
    }
    #cart-panel .widget_shopping_cart_content .cl-cart-reco {
        padding-right: 20px !important;
    }
}

/* Empty cart state — if cart empties while panel is open, grid must collapse */
#cart-panel .widget_shopping_cart_content:has(.woocommerce-mini-cart__empty-message) {
    display: block;
}

/* =============================================
   DESKTOP — compact cart items inside cart-panel
   (matches the smaller reco column visually)
   ============================================= */
@media (min-width: 1024px) {
    #cart-panel .woocommerce-mini-cart-item {
        padding: 17px 0 !important;
    }
    #cart-panel .woocommerce-mini-cart-item__thumbnail,
    #cart-panel .woocommerce-mini-cart-item__thumbnail a {
        flex: 0 0 80px;
        width: 80px !important;
        max-width: 80px !important;
    }
    #cart-panel .woocommerce-mini-cart-item__thumbnail img,
    #cart-panel .woocommerce-mini-cart-item img {
        width: 80px !important;
        height: 80px !important;
        max-width: 80px !important;
        object-fit: cover;
        display: block;
    }
    #cart-panel .woocommerce-mini-cart-item__summary {
        padding-left: 12px !important;
    }
    #cart-panel .woocommerce-mini-cart-item__name,
    #cart-panel .woocommerce-mini-cart-item__name a,
    #cart-panel .woocommerce-mini-cart-item a:not(.remove) {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }
    #cart-panel .woocommerce-mini-cart-item .quantity,
    #cart-panel .woocommerce-mini-cart-item .amount,
    #cart-panel .woocommerce-mini-cart-item__summary .amount {
        font-size: 15px !important;
    }
    #cart-panel .woocommerce-mini-cart__total {
        font-size: 16px !important;
    }
}

/* =============================================
   DESKTOP — cart-page reco spans full viewport
   ============================================= */
@media (min-width: 1200px) {
    .cl-cart-page-reco {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: 0 40px 30px;
        box-sizing: border-box;
    }
    .cl-cart-page-reco__inner {
        max-width: 1500px;
        margin: 0 auto;
    }
}

/* =============================================
   Block-cart "Proceed to Checkout" — 48px tall
   (matches Google Pay / express-payment height)
   ============================================= */
.wp-block-woocommerce-proceed-to-checkout-block {
    margin-top: 14px;
}
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .checkout-button,
.wp-block-woocommerce-proceed-to-checkout-block .wp-element-button,
.wp-block-woocommerce-proceed-to-checkout-block > * > a,
.wp-block-woocommerce-proceed-to-checkout-block > a {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 24px !important;
    line-height: 48px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* =============================================
   Cart + checkout buttons — unified 48px height
   (mini-cart View Cart/Checkout, block checkout Place Order)
   ============================================= */
#cart-panel .woocommerce-mini-cart__buttons,
#cart-panel .woocommerce-mini-cart__buttons.buttons {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    margin: 0 !important;
}
#cart-panel .woocommerce-mini-cart__buttons .button,
#cart-panel .woocommerce-mini-cart__buttons a,
#cart-panel .woocommerce-mini-cart__buttons .wc-forward {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 20px !important;
    line-height: 48px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

/* Block-cart checkout page: Place Order button */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button,
.wp-block-woocommerce-checkout-actions-block a,
.wc-block-checkout__actions_row button,
.wc-block-checkout__actions_row a,
button.wc-block-components-checkout-place-order-button {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 24px !important;
    line-height: 48px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Classic checkout page safety net */
.woocommerce-checkout #place_order,
form.checkout button[type="submit"] {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    line-height: 48px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

/* =============================================
   DRAWER POLISH — consolidated overrides
   (replaces earlier breathing-room / sticky /
   row-stretch-fix / absolute-layout attempts)
   ============================================= */

/* Bottom breathing room below CHECKOUT (all viewports) */
#cart-panel .widget_shopping_cart_content > :last-child {
    margin-bottom: 40px !important;
}
#cart-panel .woocommerce-mini-cart__buttons {
    margin-bottom: 0 !important;
}
#cart-panel .panel-content {
    padding-bottom: 20px !important;
}

/* Empty cart: drop the grid and centre the icon/message */
html body #cart-panel .widget_shopping_cart_content:has(.woocommerce-mini-cart__empty-message) {
    display: block !important;
    padding: 40px 20px !important;
    text-align: center;
}
html body #cart-panel .widget_shopping_cart_content:has(.woocommerce-mini-cart__empty-message) > * {
    position: static !important;
    width: auto !important;
}

/* Mobile drawer reco — horizontal scroll (2 per view) */
@media (max-width: 1023px) {
    .cl-cart-reco__list {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        gap: 12px;
        padding: 0 0 8px;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
        scrollbar-color: #c4c4c4 transparent;
    }
    .cl-cart-reco__list::-webkit-scrollbar { height: 3px; background: transparent; }
    .cl-cart-reco__list::-webkit-scrollbar-track { background: transparent; }
    .cl-cart-reco__list::-webkit-scrollbar-thumb { background: #c4c4c4; border-radius: 10px; }
    .cl-cart-reco__item {
        flex: 0 0 calc(50% - 6px) !important;
        min-width: 0;
        scroll-snap-align: start;
    }
}

/* Desktop layout: reco on left as an absolute column,
   cart items flow naturally in the padded main area. */
@media (min-width: 1024px) {
    html body #cart-panel .widget_shopping_cart_content {
        display: block !important;
        position: relative !important;
        padding-left: 328px !important;
        min-height: 1px;
    }
    html body #cart-panel .widget_shopping_cart_content > .cl-cart-reco {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: auto !important;
        width: 300px !important;
        margin: 0 !important;
        padding: 0 14px 0 0 !important;
        border: 0 !important;
        border-right: 1px solid #e8e8e8 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    html body #cart-panel .widget_shopping_cart_content > .woocommerce-mini-cart,
    html body #cart-panel .widget_shopping_cart_content > .woocommerce-mini-cart__total,
    html body #cart-panel .widget_shopping_cart_content > .woocommerce-mini-cart__buttons {
        grid-area: auto !important;
        grid-column: auto !important;
        grid-row: auto !important;
        align-self: auto !important;
        position: static !important;
        width: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    /* The reco column's own list (desktop): revert from the mobile
       horizontal-scroll to a vertical stack of compact cards. */
    html body #cart-panel .cl-cart-reco__list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important;
        gap: 16px !important;
        padding: 0 !important;
    }
    html body #cart-panel .cl-cart-reco__item {
        flex: none !important;
        scroll-snap-align: none !important;
        min-width: 0 !important;
    }
}

/* =============================================
   Checkout inputs — match Express Checkout box style
   ============================================= */
/* WooCommerce Blocks text inputs */
.wc-block-components-text-input input,
.wc-block-components-text-input .components-base-control__field input,
.wc-block-components-address-form input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout textarea,
.wc-block-components-textarea {
    background-color: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    padding: 22px 16px 6px !important;
    color: #222 !important;
    height: auto !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
    transition: border-color 0.18s ease;
}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout textarea:focus {
    border-color: #111 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Selects (country, state, etc.) */
.wc-block-components-select select,
.wc-block-components-select__select,
.wc-block-checkout select,
.wc-block-components-combobox input {
    background-color: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    padding: 22px 40px 6px 16px !important;
    color: #222 !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
}

/* Floating label colour */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label {
    color: #646970 !important;
}

/* Wrapper spacing — loosen so fields breathe like the Express box */
.wc-block-components-form .wc-block-components-text-input,
.wc-block-components-form .wc-block-components-address-form__input,
.wc-block-checkout__main .wc-block-components-text-input {
    margin-bottom: 14px !important;
}

/* Dark container backgrounds that WC Blocks sets by default */
.wc-block-components-checkout-step,
.wc-block-components-address-form,
.wc-block-components-combobox,
.wc-block-checkout__main {
    background-color: transparent !important;
}

/* Classic checkout form parity (safety net) */
.woocommerce-checkout form.checkout input[type="text"],
.woocommerce-checkout form.checkout input[type="email"],
.woocommerce-checkout form.checkout input[type="tel"],
.woocommerce-checkout form.checkout input[type="number"],
.woocommerce-checkout form.checkout textarea,
.woocommerce-checkout form.checkout select {
    background-color: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    padding: 14px 16px !important;
    color: #222 !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}

/* Floating label positioning (WC Blocks) */
.wc-block-components-text-input > label,
.wc-block-components-combobox > label,
.wc-block-components-select > label {
    line-height: 1.25 !important;
    padding-top: 0 !important;
}
.wc-block-components-text-input.is-active > label,
.wc-block-components-combobox.is-active > label,
.wc-block-components-select.is-active > label,
.wc-block-components-text-input:focus-within > label {
    transform: translateY(0) scale(0.75) !important;
    top: 8px !important;
}

/* Stripe hosted card fields — match height so they sit next to text inputs */
.wc-block-components-payment-method-content iframe,
.wcpay-payment-element .wc-block-components-text-input,
.wc-block-components-credit-card input {
    min-height: 56px !important;
    border-radius: 4px !important;
}

/* =============================================
   Checkout — combobox + shipping/payment cards
   ============================================= */
/* Country/Region combobox — inner input */
.wc-block-components-combobox {
    position: relative;
}
.wc-block-components-combobox .wc-block-components-combobox-control {
    width: 100%;
}
.wc-block-components-combobox input,
.wc-block-components-combobox__input {
    background-color: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    padding: 22px 40px 6px 16px !important;
    color: #222 !important;
    height: 56px !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
}
.wc-block-components-combobox .components-form-token-field__input-container {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.wc-block-components-combobox > label {
    position: absolute;
    top: 8px !important;
    left: 16px !important;
    font-size: 12px !important;
    color: #646970 !important;
    background: transparent !important;
    padding: 0 !important;
    z-index: 1;
    pointer-events: none;
}

/* Stripe hosted card number / exp / cvc wrappers */
.wc-block-components-credit-card,
.wcpay-card-number-element,
.wcpay-card-expiry-element,
.wcpay-card-cvc-element,
.__PrivateStripeElement,
.wc-block-components-payment-method-content .wc-block-components-text-input {
    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    padding: 16px !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
}


/* ── Checkout sidebar: collapse empty totals rows ───────────────────────
   Fee / Discount / Taxes blocks render wrappers even when empty,
   creating a big gap between Subtotal and Shipping. Hide empties. */
.wp-block-woocommerce-checkout-order-summary-fee-block:empty,
.wp-block-woocommerce-checkout-order-summary-discount-block:empty,
.wp-block-woocommerce-checkout-order-summary-taxes-block:empty,
.wp-block-woocommerce-checkout-order-summary-fee-block > .wc-block-components-totals-wrapper:empty,
.wp-block-woocommerce-checkout-order-summary-discount-block > .wc-block-components-totals-wrapper:empty,
.wp-block-woocommerce-checkout-order-summary-taxes-block > .wc-block-components-totals-wrapper:empty,
.wc-block-components-totals-wrapper:empty {
    display: none !important;
}

/* Tighten the gap between order-summary child blocks */
.wp-block-woocommerce-checkout-order-summary-block > div:not(:empty) {
    margin-top: 8px;
}
.wp-block-woocommerce-checkout-order-summary-cart-items-block + * {
    margin-top: 0 !important;
}

/* ── Checkout 'Create an account' checkbox: minimal square fix ──────── */
.wc-block-components-checkbox__mark {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    flex-shrink: 0 !important;
}


/* ============================================================
 * SEO Archive header — 2026-04-27
 * Styles for category/tag/posts-page H1 added by archive.php and home.php
 * ============================================================ */
.pe-archive-header {
	text-align: center;
	padding: 50px 20px 35px;
	margin: 0 auto 35px;
	max-width: 920px;
	border-bottom: 1px solid #ececec;
}

.pe-archive-title {
	font-family: inherit;
	font-size: 38px;
	line-height: 1.15;
	font-weight: 500;
	margin: 0 0 14px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

.pe-archive-description {
	max-width: 720px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.65;
	color: #666;
}

.pe-archive-description p {
	margin: 0 0 8px;
}

.pe-archive-description p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.pe-archive-header {
		padding: 30px 16px 22px;
	}

	.pe-archive-title {
		font-size: 28px;
	}

	.pe-archive-description {
		font-size: 14px;
	}
}
