/* WordPress/WooCommerce integration helpers. Original visual CSS remains in estilos.css */
.admin-bar .main-header{margin-top:32px}
.ntve-cart-link{position:relative}.ntve-cart-count{position:absolute;top:-10px;right:-10px;font-size:10px;line-height:18px;min-width:18px;height:18px;text-align:center;border-radius:50%;background:#fff;color:#000}
.apparel-sort .woocommerce-ordering{margin:0}.apparel-sort select{border:0;background:transparent;font:inherit;outline:none}
.apparel-product-meta .button,.product-cart-button{cursor:pointer;text-decoration:none}
.woocommerce-notices-wrapper{max-width:1320px;margin:20px auto;padding:0 12px}.woocommerce-message,.woocommerce-error,.woocommerce-info{list-style:none;padding:14px 18px;border:1px solid rgba(0,0,0,.15);background:#fff}
.ntve-video-link{display:block;position:absolute;inset:0;z-index:2}.artist-image,.arched-image{position:relative}
.ntve-empty{padding:40px 0;text-align:center}
@media(max-width:782px){.admin-bar .main-header{margin-top:46px}}

/* Native storefront filters */
.ntve-shop-filters{margin:0;padding:0}
.apparel-price-row label{margin:0}
.apparel-price-input{width:93px;height:32px;padding:0 10px;border:0;border-radius:4px;background:var(--beige);color:var(--text);font-family:var(--font-body);font-size:12px;font-weight:700;outline:none}
.apparel-price-input:focus{box-shadow:0 0 0 2px rgba(192,86,45,.18)}
.apparel-check{position:relative}
.apparel-check input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.apparel-check input[type="checkbox"] + span{position:relative;flex:0 0 auto;width:26px;height:26px;border-radius:3px;background:var(--beige)}
.apparel-check input[type="checkbox"]:checked + span::before,.apparel-check input[type="checkbox"]:checked + span::after{content:"";position:absolute;left:6px;top:12px;width:15px;height:3px;border-radius:999px;background:var(--orange)}
.apparel-check input[type="checkbox"]:checked + span::before{transform:rotate(45deg)}
.apparel-check input[type="checkbox"]:checked + span::after{transform:rotate(-45deg)}
.apparel-filter-actions{display:flex;align-items:center;gap:12px;padding:22px 4px}
.ntve-filter-apply{padding:9px 16px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-family:var(--font-body);font-size:12px;font-weight:800}
.ntve-filter-clear{color:var(--orange);font-size:12px;font-weight:800;text-decoration:none}
.apparel-product-card h2 a{color:inherit;text-decoration:none}
.apparel-product-meta > a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--orange);font-size:24px;text-decoration:none}
@media(max-width:767.98px){.apparel-filter-actions{justify-content:center}.apparel-price-input{width:112px}}

/* Featured collections/products carousel */
.featured-carousel{position:relative}
.featured-carousel-window{overflow:hidden}
.featured-carousel-track{display:flex;gap:24px;scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.featured-carousel-track::-webkit-scrollbar{display:none}
.featured-slide{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start}
.featured-slide .product-image{width:100%}
@media(max-width:991.98px){.featured-slide{flex-basis:calc((100% - 24px)/2)}.featured-carousel .slider-arrow{display:none}}
@media(max-width:575.98px){.featured-slide{flex-basis:100%}}

/* ---------------------------------------------------------
   Standard WordPress / WooCommerce pages
   --------------------------------------------------------- */
.ntve-page{
    padding:58px 0 82px;
    background:var(--cream, #f6f0e5);
    color:var(--text, #24211f);
}
.ntve-page-header{margin-bottom:34px}
.ntve-page-title{
    margin:0;
    color:var(--orange, #bd5d3c);
    font-family:var(--font-title, "Paytone One", sans-serif);
    font-size:clamp(38px,5vw,72px);
    line-height:.98;
    text-transform:uppercase;
}
.ntve-entry-content:after{content:"";display:table;clear:both}
.ntve-commerce-page .ntve-entry-content{font-family:var(--font-body, "Syne", sans-serif)}

/* WooCommerce Blocks - Cart / Checkout */
.ntve-commerce-page .wp-block-woocommerce-cart,
.ntve-commerce-page .wp-block-woocommerce-checkout,
.ntve-commerce-page .wc-block-cart,
.ntve-commerce-page .wc-block-checkout{
    margin:0;
    max-width:none;
}
.ntve-commerce-page .wc-block-cart-items,
.ntve-commerce-page .wc-block-components-sidebar,
.ntve-commerce-page .wc-block-components-totals-wrapper,
.ntve-commerce-page .wc-block-components-order-summary,
.ntve-commerce-page .wc-block-checkout__main{
    font-family:var(--font-body, "Syne", sans-serif);
}
.ntve-commerce-page .wc-block-cart-items{
    border-top:1px solid rgba(36,33,31,.18)!important;
}
.ntve-commerce-page .wc-block-cart-items th,
.ntve-commerce-page .wc-block-cart-items td{
    border-color:rgba(36,33,31,.14)!important;
}
.ntve-commerce-page .wc-block-cart-item__image img{
    border-radius:16px;
}
.ntve-commerce-page .wc-block-components-product-name,
.ntve-commerce-page .wc-block-cart-item__product .wc-block-components-product-name{
    color:var(--text, #24211f);
    font-weight:800;
    text-decoration:none;
}
.ntve-commerce-page .wc-block-components-product-price,
.ntve-commerce-page .wc-block-components-totals-item__value{
    font-weight:800;
}
.ntve-commerce-page .wc-block-components-sidebar{
    padding:25px!important;
    border-radius:22px;
    background:rgba(255,255,255,.52);
}
.ntve-commerce-page .wc-block-components-button,
.ntve-commerce-page .wp-element-button,
.ntve-commerce-page .woocommerce-button,
.ntve-commerce-page .button,
.ntve-commerce-page button[type="submit"]{
    min-height:46px;
    padding:11px 22px!important;
    border:0!important;
    border-radius:999px!important;
    background:var(--orange, #bd5d3c)!important;
    color:#fff!important;
    font-family:var(--font-body, "Syne", sans-serif)!important;
    font-weight:800!important;
    text-decoration:none!important;
    box-shadow:none!important;
}
.ntve-commerce-page .wc-block-components-button:hover,
.ntve-commerce-page .wp-element-button:hover,
.ntve-commerce-page .woocommerce-button:hover,
.ntve-commerce-page .button:hover,
.ntve-commerce-page button[type="submit"]:hover{
    opacity:.88;
}
.ntve-commerce-page .wc-block-components-text-input input,
.ntve-commerce-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.ntve-commerce-page input.input-text,
.ntve-commerce-page select,
.ntve-commerce-page textarea{
    border:1px solid rgba(36,33,31,.22)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
}

/* Classic WooCommerce cart/checkout fallback */
.ntve-commerce-page .woocommerce table.shop_table{
    overflow:hidden;
    border:1px solid rgba(36,33,31,.15);
    border-radius:18px;
    background:rgba(255,255,255,.45);
}
.ntve-commerce-page .woocommerce table.shop_table th,
.ntve-commerce-page .woocommerce table.shop_table td{padding:16px}
.ntve-commerce-page .woocommerce-cart-form img{border-radius:12px}
.ntve-commerce-page .cart_totals,
.ntve-commerce-page .woocommerce-checkout-review-order,
.ntve-commerce-page .woocommerce-MyAccount-content{
    padding:24px;
    border-radius:20px;
    background:rgba(255,255,255,.52);
}
.ntve-commerce-page .woocommerce-message,
.ntve-commerce-page .woocommerce-info,
.ntve-commerce-page .woocommerce-error{
    border-radius:12px;
}
.ntve-commerce-page .woocommerce-MyAccount-navigation ul{
    margin:0 0 25px;
    padding:0;
    list-style:none;
}
.ntve-commerce-page .woocommerce-MyAccount-navigation li{margin-bottom:8px}
.ntve-commerce-page .woocommerce-MyAccount-navigation a{
    display:block;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.52);
    color:var(--text, #24211f);
    font-weight:800;
    text-decoration:none;
}

@media(max-width:767.98px){
    .ntve-page{padding:38px 0 58px}
    .ntve-page-header{margin-bottom:24px}
    .ntve-commerce-page .wc-block-components-sidebar{padding:18px!important}
}

/* ---------------------------------------------------------
   Product/catalog fidelity fixes (v1.3)
   --------------------------------------------------------- */
/* WooCommerce price markup must not inherit the green stock badge styles. */
.apparel-product-meta > strong{
    display:inline-flex;
    align-items:center;
    background:transparent!important;
    color:var(--orange)!important;
    font-style:normal;
}
.apparel-product-meta > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:78px;
    min-height:26px;
    padding:6px 10px;
    border-radius:4px;
    background:var(--green);
    color:var(--white);
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}

.product-stock .stock{margin:0;color:inherit;font:inherit}
.product-price .amount{color:inherit;font:inherit}
.product-price small{font-size:.45em;font-weight:700;vertical-align:middle}

/* Keep the native WooCommerce quantity input inside the original green stepper. */
.product-stepper{align-items:stretch}
.product-stepper .quantity{display:contents!important;margin:0!important}
.product-stepper input.qty{
    grid-column:2;
    width:32px!important;
    min-width:0!important;
    height:100%!important;
    min-height:22px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--white)!important;
    font-family:var(--font-body)!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    text-align:center!important;
    box-shadow:none!important;
    -moz-appearance:textfield;
}
.product-stepper input.qty::-webkit-outer-spin-button,
.product-stepper input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.product-stepper button{min-width:0!important;min-height:0!important;box-shadow:none!important}

/* Image sources use a larger WooCommerce size; CSS still controls the exact design crop. */
.apparel-product-image img,.related-product-card img{display:block}

@media(max-width:991.98px){
    .product-stepper input.qty{width:26px!important;font-size:10px!important}
}

/* ---------------------------------------------------------
   Product/catalog fidelity pass (v1.4)
   Keeps WooCommerce dynamic while matching producto.html/apparel.html.
   --------------------------------------------------------- */
.product-detail-info .cart{margin:0;padding:0}
.product-price .product-currency{font:inherit;color:inherit;vertical-align:baseline}
.product-description p{margin:0}
.product-description > :first-child{margin-top:0}
.product-description > :last-child{margin-bottom:0}
.product-stepper input.qty{width:100%!important;max-width:100%!important}
.apparel-price-input{height:27px}
.apparel-product-meta > a.button,
.apparel-product-meta > a.add_to_cart_button{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--orange)!important;box-shadow:none!important}
.apparel-product-meta > a.button:hover,
.apparel-product-meta > a.add_to_cart_button:hover{background:transparent!important;color:var(--orange-dark)!important}
.apparel-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border:2px solid var(--beige);border-radius:50%;color:var(--beige-dark);font-size:16px;font-weight:800;line-height:1;text-decoration:none}
.apparel-pagination .page-numbers.current{border-color:var(--orange);background:var(--orange);color:var(--white)}
.apparel-pagination .page-numbers.prev,
.apparel-pagination .page-numbers.next{border-color:transparent;color:var(--beige);font-size:18px}
.apparel-sort .woocommerce-ordering{position:relative;display:inline-flex;align-items:center;margin:0}
.apparel-sort .woocommerce-ordering::after{content:"⌄";margin-left:7px;color:var(--orange);font-size:18px;font-weight:800;line-height:1;pointer-events:none;transform:translateY(-2px)}
.apparel-sort select{padding:0 2px 0 0;border:0;background:transparent;color:var(--text);font-family:var(--font-body);font-size:14px;font-weight:800;line-height:1;outline:none;appearance:none;-webkit-appearance:none}
.related-products-section .related-product-card h3 a{color:inherit;text-decoration:none}
@media(max-width:991.98px){.product-stepper input.qty{width:100%!important}}

/* ---------------------------------------------------------
   Cart + sticky footer refinements (v1.6)
   --------------------------------------------------------- */
/* Keep the footer at the bottom of short pages without fixing it to the viewport. */
html{min-height:100%}
body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}
body > .main-header,
body > .main-navbar-wrapper,
body > .main-footer{
    flex:0 0 auto;
}
body > main{
    flex:1 0 auto;
}
.main-footer{
    margin-top:auto;
}

/* WooCommerce Cart block: smaller, centered checkout CTA while preserving theme styling. */
.ntve-commerce-page .wc-block-cart__submit,
.ntve-commerce-page .wc-block-cart__submit-container{
    display:flex;
    justify-content:center;
}
.ntve-commerce-page .wc-block-cart__submit-button,
.ntve-commerce-page .wc-block-cart__submit .wc-block-components-button{
    width:100%!important;
    max-width:230px!important;
    min-height:46px!important;
    margin-right:auto!important;
    margin-left:auto!important;
    padding:9px 22px!important;
    font-size:16px!important;
    line-height:1.1!important;
    white-space:nowrap;
}

@media(max-width:575.98px){
    .ntve-commerce-page .wc-block-cart__submit-button,
    .ntve-commerce-page .wc-block-cart__submit .wc-block-components-button{
        max-width:210px!important;
        min-height:44px!important;
        padding:8px 18px!important;
        font-size:15px!important;
    }
}


/* ---------------------------------------------------------
   Category menu search button reset (v1.7)
   Prevents the browser's native button box from appearing
   next to the "Curated Art" link.
   --------------------------------------------------------- */
.category-menu-search button{
    position:absolute;
    top:0;
    right:0;
    width:30px;
    height:29px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:inherit;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
}
.category-menu-search button:hover,
.category-menu-search button:focus,
.category-menu-search button:active{
    border:0;
    background:transparent;
    box-shadow:none;
    outline:0;
}
.category-menu-search button i{
    pointer-events:none;
}

/* ---------------------------------------------------------
   Category dropdown hover stability (v1.8)
   Keeps the dropdown open while the pointer travels from the
   Category link into the panel, without changing its design.
   --------------------------------------------------------- */
@media (min-width: 992px){
    .nav-category-dropdown::before{
        content:"";
        position:absolute;
        top:100%;
        left:50%;
        z-index:19;
        width:425px;
        height:14px;
        transform:translateX(-35%);
        background:transparent;
        opacity:0;
        pointer-events:none;
    }

    .nav-category-dropdown:hover::before,
    .nav-category-dropdown:focus-within::before,
    .nav-category-dropdown.is-open::before{
        opacity:1;
        pointer-events:auto;
    }

    .nav-category-dropdown.is-open > .nav-link::after{
        transform:translateX(-50%) scaleX(1);
    }

    .nav-category-dropdown.is-open .category-menu-panel{
        transform:translate(-35%, 6px);
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }
}

/* ---------------------------------------------------------
   Mobile Art + Local Artist layout refinements (v1.9)
   Mobile only: stack columns cleanly without changing desktop.
   --------------------------------------------------------- */
@media (max-width: 767.98px){
    /* The Art Behind Every Piece: one complete card per row. */
    .art-section .row{
        grid-template-columns:minmax(0, 1fr)!important;
        gap:34px!important;
    }
    .art-section .row > [class*="col-"]{
        grid-column:auto!important;
        width:100%!important;
        max-width:320px!important;
        margin-right:auto!important;
        margin-left:auto!important;
    }
    .art-section .art-item{
        width:100%;
    }
    .art-section .arched-image,
    .art-section .row > [class*="col-"]:nth-child(n) .arched-image{
        width:100%;
        max-width:300px;
        height:320px;
        margin-right:auto;
        margin-left:auto;
        border-radius:999px 999px 0 0!important;
    }
    .art-section .art-info-card{
        width:100%;
        max-width:300px;
        min-height:118px;
        margin:12px auto 0;
        padding:18px 16px;
    }

    /* Local Artist heading: stop the title/subtitle from overflowing. */
    .local-artist-section > .container > .row:first-child{
        grid-template-columns:minmax(0, 1fr)!important;
        gap:14px!important;
        margin-bottom:38px!important;
    }
    .local-artist-section > .container > .row:first-child > [class*="col-"]{
        width:100%!important;
    }
    .local-artist-section .title-orange,
    .local-artist-section .local-subtitle{
        white-space:normal!important;
        text-align:center!important;
    }
    .local-artist-section .local-subtitle{
        max-width:360px;
        margin-right:auto;
        margin-left:auto;
        line-height:1.2;
    }
    .local-artist-section .local-intro{
        max-width:430px!important;
        margin-right:auto!important;
        margin-left:auto!important;
        font-size:13px;
        line-height:1.3;
        text-align:center!important;
        transform:none!important;
    }

    /* Local Artist content: alternate info / video vertically. */
    .local-artist-section > .container > .row:not(:first-child){
        grid-template-columns:minmax(0, 1fr)!important;
        gap:30px!important;
    }
    .local-artist-section > .container > .row:not(:first-child) > [class*="col-"]{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }
    .local-artist-section > .container > .row.mb-5{
        margin-bottom:34px!important;
    }
    .local-artist-section .artist-info{
        width:100%;
        max-width:300px;
        margin-right:auto;
        margin-left:auto;
        padding:8px 10px 0;
    }
    .local-artist-section .artist-image{
        width:min(72vw, 260px)!important;
        max-width:260px!important;
        height:280px!important;
        margin-right:auto!important;
        margin-left:auto!important;
        border-radius:999px 999px 0 0!important;
    }
}

@media (max-width: 575.98px){
    .art-section .arched-image,
    .art-section .row > [class*="col-"]:nth-child(n) .arched-image{
        max-width:270px;
        height:292px;
    }
    .art-section .art-info-card{
        max-width:270px;
    }
    .local-artist-section .artist-image{
        width:min(74vw, 235px)!important;
        max-width:235px!important;
        height:252px!important;
    }
    .local-artist-section .local-intro{
        font-size:12px;
    }
}

/* ---------------------------------------------------------
   Art video button behavior (legacy helper)
   --------------------------------------------------------- */
.ntve-placeholder-play{
    pointer-events:none;
    cursor:default;
}


/* ---------------------------------------------------------
   Product search
   --------------------------------------------------------- */
.header-search-wrap{position:relative;display:inline-flex;align-items:center}
.ntve-header-search-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--orange);font:inherit;font-size:25px;line-height:1;cursor:pointer}
.ntve-header-search-toggle:hover{color:var(--orange-dark)}
.ntve-header-search-panel{position:absolute;top:calc(100% + 14px);right:0;z-index:300;width:270px;padding:11px;border-radius:8px;background:var(--beige);box-shadow:0 8px 18px rgba(68,48,28,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.header-search-wrap.is-open .ntve-header-search-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.ntve-header-search-panel form,.ntve-search-page-form{position:relative;margin:0}
.ntve-header-search-panel input,.ntve-search-page-form input{width:100%;height:38px;padding:7px 40px 7px 12px;border:1px solid rgba(192,86,45,.42);border-radius:6px;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:13px;outline:0}
.ntve-header-search-panel input:focus,.ntve-search-page-form input:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(192,86,45,.12)}
.ntve-header-search-panel button,.ntve-search-page-form button{position:absolute;top:50%;right:5px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:0;background:transparent;color:var(--orange);transform:translateY(-50%);cursor:pointer}
.ntve-search-page-form{margin:0 0 28px}
.ntve-search-page-form input{height:42px;background:transparent}
.ntve-search-heading{margin:0 0 26px}
.ntve-search-heading p{margin:0 0 5px;color:var(--text);font-size:12px;font-weight:700;text-transform:uppercase}
.ntve-search-heading h2{margin:0;color:var(--orange);font-family:var(--font-title);font-size:clamp(30px,3.5vw,48px);font-weight:400;line-height:1}
.ntve-search-empty{padding:50px 0}
.ntve-search-empty h2{margin-bottom:10px;color:var(--orange);font-family:var(--font-title);font-size:34px;font-weight:400}
.ntve-search-empty p{margin:0;font-size:14px}
@media(max-width:991.98px){.ntve-header-search-panel{right:-54px}.ntve-search-results .apparel-sidebar{margin-bottom:35px}}
@media(max-width:575.98px){.ntve-header-search-panel{position:fixed;top:78px;right:16px;left:16px;width:auto}.admin-bar .ntve-header-search-panel{top:110px}}

/* ---------------------------------------------------------
   Shop by Category — desktop viewport balance
   Give the three visible cards full breathing room so the third
   card is completely visible, while hidden extra slides prevent
   the fourth card from peeking in on the right.
   --------------------------------------------------------- */
@media (min-width: 1200px){
    .category-section .category-carousel{
        padding-left:60px;
        padding-right:60px;
    }

    .category-section .category-carousel-window{
        width:calc(100% + 120px);
        margin-left:-60px;
        margin-right:-60px;
    }

    .category-section .category-carousel-track{
        padding-left:0;
        padding-right:0;
    }
}


/* ---------------------------------------------------------
   Shop by Category — desktop visible slides
   The original cards overlap by 75px. Hide slides beyond the
   three-card viewport so the fourth card cannot paint over the
   rounded right edge of the third card. JS reveals it only while
   the carousel is moving.
   --------------------------------------------------------- */
@media (min-width: 1200px){
    .category-section .category-carousel:not(.is-moving) .category-slide:not(.is-window-visible){
        visibility:hidden;
    }
}
