/* Papelarte native storefront stabilization v3 */
body.pa-native-home{--pa-red:#bc3838;--pa-red-dark:#8c262b;--pa-red-deep:#69191e;--pa-blue:#98d3e3;--pa-ink:#25282c;--pa-muted:#59636a;--pa-line:#e2e6e8;margin:0;background:#fff;color:var(--pa-ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}.pa-native-home *{box-sizing:border-box}.pa-native-home button,.pa-native-home input{font:inherit}.pa-container{width:min(1280px,calc(100% - clamp(24px,4vw,48px)));margin-inline:auto}.pa-skip-link{position:fixed;top:-80px;left:16px;z-index:9999;padding:12px 16px;background:#fff;color:#111}.pa-skip-link:focus{top:16px}.pa-utility{background:var(--pa-red-deep);color:#fff}.pa-utility__inner{min-height:34px;display:flex;align-items:center;gap:24px;font-size:12px}.pa-utility__inner a{margin-left:auto;color:#fff;text-decoration:none}.pa-header{position:relative;z-index:100;background:var(--pa-red);box-shadow:0 3px 14px rgba(69,15,20,.18)}.pa-header-main__inner{min-height:84px;display:grid;grid-template-columns:clamp(150px,16vw,205px) minmax(280px,1fr) auto;align-items:center;gap:clamp(12px,2vw,24px)}.pa-brand img{display:block;width:clamp(145px,14vw,176px);height:auto}.pa-search{min-width:0}.pa-search .dgwt-wcas-search-wrapp{width:100%!important;max-width:none!important;margin:0!important}.pa-search .dgwt-wcas-search-form{position:relative!important;height:48px!important;margin:0!important}.pa-search .dgwt-wcas-sf-wrapp{height:48px!important;display:block!important;padding:0!important;background:#fff!important;border:0!important;border-radius:8px!important;overflow:hidden!important;box-shadow:0 3px 12px rgba(74,14,18,.16)!important}.pa-search .dgwt-wcas-search-input{width:100%!important;height:48px!important;margin:0!important;padding:0 56px 0 17px!important;border:0!important;border-radius:8px!important;background:#fff!important;color:var(--pa-ink)!important;font-size:14px!important;line-height:48px!important;box-shadow:none!important}.pa-search .dgwt-wcas-search-submit{position:absolute!important;top:0!important;right:0!important;bottom:auto!important;left:auto!important;width:48px!important;height:48px!important;min-width:48px!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid #eceff1!important;border-radius:0!important;background:#fff!important;color:var(--pa-red)!important;display:grid!important;place-items:center!important}.pa-search .dgwt-wcas-search-submit svg,.pa-search .dgwt-wcas-ico-magnifier{position:static!important;width:20px!important;height:20px!important;margin:0!important;transform:none!important;fill:currentColor!important}.pa-search .dgwt-wcas-search-submit:hover{background:#f8eeee!important}.pa-header-actions{display:flex;align-items:center;gap:clamp(6px,1vw,10px)}.pa-account,.pa-cart{height:48px;display:flex;align-items:center;gap:clamp(6px,.8vw,8px);padding:6px clamp(8px,1vw,11px);border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(104,23,28,.25);color:#fff;text-decoration:none;white-space:nowrap}.pa-cart{cursor:pointer}.pa-account small,.pa-cart small{display:block;color:rgba(255,255,255,.72);font-size:10px}.pa-account strong,.pa-cart strong{display:block;color:#fff;font-size:12px}.pa-action-icon{width:24px;height:24px;display:grid;place-items:center}.pa-action-icon svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pa-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:6px;font-size:13px;font-weight:800;text-decoration:none}.pa-button--primary{background:var(--pa-red);color:#fff}.pa-button--primary:hover{background:var(--pa-red-dark);color:#fff}.pa-section{padding:clamp(34px,4.2vw,52px) 0}.pa-products-section{background:#fff}.pa-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.pa-section-heading span{color:var(--pa-red);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.pa-section-heading h2{margin:5px 0 0;font:740 clamp(25px,2.5vw,35px)/1.1 Montserrat,Inter,sans-serif;letter-spacing:-.035em}.pa-section-heading>a{color:var(--pa-red);font-size:13px;font-weight:800;text-decoration:none}.pa-product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.2vw,15px)}.pa-product-card{min-width:0;display:flex!important;flex-direction:column;margin:0!important;padding:0!important;overflow:hidden;border:1px solid var(--pa-line)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}.pa-product-card:hover{border-color:#c9d4d8!important;box-shadow:0 7px 18px rgba(33,53,61,.08)!important}.pa-product-card__media{position:relative;aspect-ratio:1/1;display:block;padding:10px;border-bottom:1px solid #edf0f2;background:#fff}.pa-product-card__media img{width:100%!important;height:100%!important;margin:0!important;object-fit:contain}.pa-product-card__badge{position:absolute;top:8px;left:8px;padding:4px 7px;border-radius:4px;background:var(--pa-red);color:#fff;font-size:10px;font-weight:850}.pa-product-card__body{min-width:0;display:grid;grid-template-rows:auto minmax(3.25em,auto) auto auto auto;align-content:stretch;flex:1;padding:clamp(9px,1vw,12px)}.pa-product-card__sku{margin:0 0 5px;color:#5c6770;font-size:9px;line-height:1.2;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-product-card__title{min-width:0;margin:0 0 9px;font-size:13px;line-height:1.28}.pa-product-card__title a{color:var(--pa-ink);text-decoration:none}.pa-product-card__price{align-self:end;color:var(--pa-red);font-size:19px;font-weight:850;line-height:1.2}.pa-product-card__price del{color:#9aa2a8;font-size:12px;font-weight:500}.pa-product-card__tax{margin-top:3px;color:#7c878f;font-size:9px;line-height:1.2}.pa-product-card__buy{width:100%;display:grid;grid-template-columns:minmax(78px,86px) minmax(82px,1fr);align-items:stretch;gap:7px;margin:11px 0 0!important}.pa-qty{width:100%;height:38px;display:grid;grid-template-columns:27px minmax(24px,1fr) 27px;border:1px solid #d7dde0;border-radius:6px;overflow:hidden;background:#fff}.pa-qty__button{width:27px;height:36px;display:grid;place-items:center;padding:0;border:0;background:#f2f4f5;color:#2f3539;font-size:16px;line-height:1;cursor:pointer}.pa-qty__input{width:100%!important;min-width:0!important;height:36px!important;margin:0!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:#fff!important;text-align:center!important;line-height:36px!important;-moz-appearance:textfield}.pa-qty__input::-webkit-outer-spin-button,.pa-qty__input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.pa-product-card__add{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:6px!important;background:var(--pa-red)!important;color:#fff!important;font-size:11px!important;font-weight:850!important;line-height:1!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important}.pa-product-card__add:hover{background:var(--pa-red-dark)!important}.pa-product-card__add--full{margin-top:11px!important}.pa-footer{padding:42px 0 21px;background:var(--pa-red-deep);color:#fff}.pa-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(28px,4vw,52px)}.pa-footer__brand img{width:165px;height:auto;filter:brightness(0) invert(1)}.pa-footer p{color:rgba(255,255,255,.7);font-size:12px}.pa-footer h2{margin:0 0 13px;font-size:13px}.pa-footer a{display:block;margin:8px 0;color:rgba(255,255,255,.75);font-size:12px;text-decoration:none}.pa-footer__bottom{margin-top:31px;padding-top:17px;border-top:1px solid rgba(255,255,255,.14);font-size:11px;color:rgba(255,255,255,.58)}.pa-native-home a:focus-visible,.pa-native-home button:focus-visible,.pa-native-home input:focus-visible{outline:3px solid var(--pa-blue);outline-offset:3px}body.pa-native-home .elementor-location-header,body.pa-native-home .elementor-location-footer{display:none!important}.pa-native-home #ppa-floating-cart-btn.ppa-floating-cart-btn{right:22px!important;bottom:22px!important;min-width:54px!important;height:54px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--pa-red)!important;color:#fff!important;box-shadow:0 10px 26px rgba(84,18,23,.28)!important}.pa-native-home #ppa-floating-cart-btn .ppa-floating-cart-icon-wrap{position:relative!important;width:24px!important;height:24px!important;display:grid!important;place-items:center!important}.pa-native-home #ppa-floating-cart-btn svg{width:23px!important;height:23px!important}.pa-native-home #ppa-floating-cart-btn .ppa-floating-cart-label{display:none!important}.pa-native-home #ppa-floating-cart-btn .ppa-floating-cart-count{position:absolute!important;top:-10px!important;right:-13px!important;min-width:19px!important;height:19px!important;display:grid!important;place-items:center!important;padding:0 5px!important;border:2px solid #fff!important;border-radius:999px!important;background:var(--pa-red-deep)!important;color:#fff!important;font-size:10px!important;font-weight:850!important;line-height:15px!important}@media(max-width:1120px){.pa-header-main__inner{grid-template-columns:clamp(140px,15vw,175px) minmax(250px,1fr) auto}.pa-account span:last-child{display:none}.pa-account{width:46px;justify-content:center;padding:0}.pa-cart{padding-inline:9px}.pa-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:820px){.pa-container{width:calc(100% - clamp(20px,4vw,28px))}.pa-utility__inner span:nth-child(2),.pa-utility__inner a{display:none}.pa-header-main__inner{min-height:auto;grid-template-columns:1fr auto;gap:10px;padding:10px 0}.pa-brand img{width:clamp(118px,30vw,138px)}.pa-search{grid-column:1/-1;grid-row:2}.pa-header-actions{grid-column:2;grid-row:1}.pa-account{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:8px;background:rgba(255,255,255,.14);color:#fff}.pa-account span:last-child{display:none}.pa-cart{display:none!important}.pa-nav__inner{width:100%;padding-left:clamp(10px,2vw,14px)}.pa-nav__all{margin-left:calc(-1 * clamp(10px,2vw,14px))}.pa-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2vw,11px)}.pa-product-card__title{font-size:12px}.pa-product-card__buy{grid-template-columns:1fr}.pa-qty{display:none}.pa-footer__grid{grid-template-columns:1fr;gap:27px}.pa-native-home #ppa-floating-cart-btn.ppa-floating-cart-btn{right:14px!important;bottom:14px!important;width:50px!important;min-width:50px!important;height:50px!important}}@media(max-width:460px){.pa-header-actions{gap:5px}.pa-cart{padding-inline:7px}.pa-product-card__add{padding-inline:6px!important}}@media(prefers-reduced-motion:reduce){.pa-native-home *{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Product purchase row: override legacy WooCommerce/theme flex rules. */
body.pa-native-home .pa-product-card .pa-product-card__buy.cart.papelarte-shop-qty-form {
    width: 100% !important;
    height: 38px !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 7px !important;
    margin: 11px 0 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    overflow: visible !important;
}

body.pa-native-home .pa-product-card .pa-product-card__buy .pa-qty {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 38px !important;
    margin: 0 !important;
    flex: none !important;
}

body.pa-native-home .pa-product-card .pa-product-card__buy .pa-qty__button {
    background: var(--ppa-red-btn, #9E2A2A) !important;
    color: #FFFFFF !important;
    transition: background-color 0.15s ease !important;
}

body.pa-native-home .pa-product-card .pa-product-card__buy .pa-qty__button:hover {
    background: var(--ppa-red-dark, #7E1212) !important;
    color: #FFFFFF !important;
}

body.pa-native-home .pa-product-card .pa-product-card__buy button.pa-product-card__add.button.add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    flex: none !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

@media (max-width: 820px) {
    body.pa-native-home .pa-product-card .pa-product-card__buy.cart.papelarte-shop-qty-form {
        height: 38px !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.pa-native-home .pa-product-card .pa-product-card__buy .pa-qty {
        display: none !important;
    }
}

/* Card text centering unified across the site */
body.pa-native-home .pa-product-card {
    text-align: center !important;
}

body.pa-native-home .pa-product-card__body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
}

body.pa-native-home .pa-product-card__sku {
    margin: 0 auto 5px !important;
    text-align: center !important;
}

body.pa-native-home .pa-product-card__title {
    width: 100% !important;
    margin: 0 auto 9px !important;
    text-align: center !important;
}

body.pa-native-home .pa-product-card__price {
    display: flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    margin: auto auto 0 !important;
    text-align: center !important;
    gap: 6px !important;
    width: 100% !important;
}

body.pa-native-home .pa-product-card__tax {
    margin: 3px auto 0 !important;
    text-align: center !important;
    width: 100% !important;
}

/* ==========================================================================
   Hero Banner Carousel Component (Fade Transition, Touch & Accessible)
   ========================================================================== */

/* Universal accessible screen-reader-text for SEO and WCAG */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.pa-banner {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #f7f9fa;
    position: relative;
    overflow: hidden;
}

.pa-banner__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 450;
    max-height: 450px;
    border-radius: 0 !important;
    overflow: hidden;
    background: #eef3f5;
    border: none !important;
    box-shadow: none !important;
}

.pa-carousel {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
}

.pa-carousel__track {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.pa-carousel__slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.55s ease;
    z-index: 1;
    pointer-events: none;
}

.pa-carousel__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    pointer-events: auto;
}

.pa-carousel__link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    outline: none;
}

.pa-carousel__link:focus-visible {
    outline: 3px solid #98d3e3;
    outline-offset: -3px;
}

.pa-carousel__picture {
    display: block;
    width: 100%;
    height: 100%;
}

.pa-carousel__picture img,
.pa-carousel__slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

/* Navigation arrows */
.pa-carousel__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: #25282c;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    z-index: 10;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.pa-carousel__arrow:hover {
    background: #ffffff;
    color: #bc3838;
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
}

.pa-carousel__arrow:active {
    transform: translateY(-50%) scale(0.96);
}

.pa-carousel__arrow--prev {
    left: clamp(14px, 2.5vw, 36px);
}

.pa-carousel__arrow--next {
    right: clamp(14px, 2.5vw, 36px);
}

/* Dots indicator */
.pa-carousel__dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 7px;
    z-index: 10;
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.pa-carousel__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: width 0.25s ease, background 0.25s ease, border-radius 0.25s ease;
}

.pa-carousel__dot:hover {
    background: rgba(255, 255, 255, 0.85);
}

.pa-carousel__dot.is-active {
    width: 24px;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .pa-banner {
        padding: 0;
    }
    .pa-banner__frame {
        aspect-ratio: 700 / 500;
        height: auto;
        max-height: 420px;
        border-radius: 0 !important;
    }
    .pa-carousel__arrow {
        width: 34px;
        height: 34px;
    }
    .pa-carousel__arrow svg {
        width: 18px;
        height: 18px;
    }
    .pa-carousel__arrow--prev {
        left: 8px;
    }
    .pa-carousel__arrow--next {
        right: 8px;
    }
    .pa-carousel__dots {
        bottom: 8px;
        padding: 4px 8px;
        gap: 5px;
    }
    .pa-carousel__dot {
        width: 6px;
        height: 6px;
    }
    .pa-carousel__dot.is-active {
        width: 18px;
    }
}
