/*
Theme Name: BancasPeru
Theme URI: https://bancasperu.com/
Author: BancasPeru
Description: Tema WooCommerce ligero y responsive para BancasPeru, con catálogo de bancas y banquitos, WhatsApp y portada comercial.
Version: 2.0.6
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: bancasperu
*/
:root{--bp-green:#2f7d32;--bp-green-dark:#205d24;--bp-brown:#5a2d16;--bp-gold:#c98625;--bp-cream:#f8f5ef;--bp-text:#242424;--bp-muted:#6b6b6b;--bp-border:#e6e0d8;--bp-white:#fff;--bp-radius:16px;--bp-shadow:0 8px 25px rgba(38,25,15,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--bp-text);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.bp-container{width:min(1180px,92%);margin:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bp-topbar{background:var(--bp-green-dark);color:#fff;font-size:14px}.bp-topbar .bp-container{display:flex;justify-content:flex-end;align-items:center;min-height:36px}.bp-topbar a{font-weight:700}.bp-header{background:#fff;position:relative;z-index:20;box-shadow:0 2px 12px rgba(0,0,0,.07)}.bp-header-row{min-height:92px;display:flex;align-items:center;gap:28px}.bp-logo img{display:block;width:auto;height:72px;max-width:220px;object-fit:contain}.bp-nav{margin-left:auto}.bp-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}.bp-nav a{font-weight:700;font-size:15px}.bp-nav a:hover{color:var(--bp-green)}.bp-actions{display:flex;gap:10px;align-items:center}.bp-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff!important;padding:11px 15px;border-radius:999px;font-weight:800;white-space:nowrap}.bp-menu-toggle{display:none;border:0;background:transparent;font-size:27px;cursor:pointer}.bp-hero{min-height:440px;background:#eee center center/cover no-repeat;display:flex;align-items:center}.bp-hero-inner{width:100%;padding:48px 0}.bp-hero-copy{max-width:560px}.bp-hero h1{font-size:clamp(34px,4.2vw,58px);line-height:1.02;margin:0 0 8px;color:var(--bp-brown);font-weight:900}.bp-hero h2{font-size:clamp(25px,3vw,42px);line-height:1.05;margin:0 0 14px;color:var(--bp-green);font-weight:800}.bp-hero p{font-size:18px;margin:0 0 24px;font-weight:700}.bp-hero-wa{display:inline-flex;align-items:center;gap:12px;background:#1f7a32;color:#fff;border-radius:12px;padding:13px 20px;font-size:18px;font-weight:800;box-shadow:var(--bp-shadow)}.bp-hero-wa strong{font-size:24px}.bp-benefits{background:#fff;border-bottom:1px solid var(--bp-border)}.bp-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bp-border)}.bp-benefit{background:#fff;padding:20px;text-align:center}.bp-benefit b{display:block;font-size:16px}.bp-benefit span{color:var(--bp-muted);font-size:13px}.bp-section{padding:58px 0}.bp-section.alt{background:var(--bp-cream)}.bp-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.bp-section-head h2{margin:0;color:var(--bp-brown);font-size:32px;line-height:1.1}.bp-section-head p{margin:5px 0 0;color:var(--bp-muted)}.bp-link{color:var(--bp-green);font-weight:800}.bp-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.bp-card{background:#fff;border:1px solid var(--bp-border);border-radius:var(--bp-radius);overflow:hidden;box-shadow:var(--bp-shadow);display:flex;flex-direction:column;min-width:0}.bp-card-image{aspect-ratio:1/1;background:#f8f8f8;display:flex;align-items:center;justify-content:center;overflow:hidden}.bp-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}.bp-card:hover .bp-card-image img{transform:scale(1.035)}.bp-card-body{padding:16px;display:flex;flex-direction:column;flex:1}.bp-card-cat{font-size:12px;color:var(--bp-green);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.bp-card h3{font-size:17px;line-height:1.3;margin:6px 0 10px}.bp-price{font-size:21px;font-weight:900;color:var(--bp-brown);margin-top:auto}.bp-card-actions{display:flex;gap:8px;margin-top:14px}.bp-btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer}.bp-btn-primary{background:var(--bp-green);color:#fff}.bp-btn-wa{background:#25d366;color:#fff}.bp-empty{padding:30px;border:1px dashed #ccc;border-radius:12px;color:var(--bp-muted)}.bp-footer{background:#2b241f;color:#fff;padding:45px 0 20px}.bp-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.bp-footer h3{margin-top:0}.bp-footer p{color:#ddd}.bp-footer a{color:#fff}.bp-footer-bottom{margin-top:35px;padding-top:15px;border-top:1px solid rgba(255,255,255,.15);font-size:13px;color:#bbb}.bp-float-wa{position:fixed;right:20px;bottom:20px;z-index:100;background:#25d366;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 8px 25px rgba(0,0,0,.25)}.bp-page-title{padding:48px 0 20px;background:var(--bp-cream)}.bp-page-title h1{margin:0;color:var(--bp-brown);font-size:38px}.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:#fff;border:1px solid var(--bp-border);border-radius:16px;padding:0 0 16px;overflow:hidden;box-shadow:var(--bp-shadow)}.woocommerce ul.products li.product a img{margin:0 0 12px;width:100%;aspect-ratio:1/1;object-fit:contain}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button{margin-left:16px;margin-right:16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px}.woocommerce ul.products li.product .price{color:var(--bp-brown);font-weight:900;font-size:20px}.woocommerce ul.products li.product .button{background:var(--bp-green);color:#fff;border-radius:9px;font-weight:800}.woocommerce div.product .button{border-radius:9px;background:var(--bp-green);color:#fff;font-weight:800}.woocommerce span.onsale{background:var(--bp-gold);padding:7px 11px}.woocommerce-message,.woocommerce-info{border-top-color:var(--bp-green)}
@media(max-width:1000px){.bp-products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-nav ul{gap:15px}.bp-actions .bp-wa{display:none}}
@media(max-width:760px){.bp-topbar .bp-container{justify-content:center}.bp-header-row{min-height:72px}.bp-logo img{height:58px;max-width:170px}.bp-menu-toggle{display:block;margin-left:auto}.bp-nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-top:1px solid var(--bp-border);box-shadow:0 8px 18px rgba(0,0,0,.08)}.bp-nav.is-open{display:block}.bp-nav ul{display:block;padding:10px 5%}.bp-nav li{padding:10px 0;border-bottom:1px solid #eee}.bp-nav a{display:block}.bp-hero{min-height:420px;background-position:center}.bp-hero-copy{max-width:52%}.bp-hero p{font-size:14px}.bp-hero-wa{font-size:14px;padding:10px 13px}.bp-hero-wa strong{font-size:18px}.bp-benefits-grid{grid-template-columns:1fr}.bp-section{padding:42px 0}.bp-section-head{align-items:start;display:block}.bp-section-head h2{font-size:28px}.bp-products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bp-footer-grid{grid-template-columns:1fr;gap:20px}}
@media(max-width:460px){.bp-hero{min-height:400px;background-position:62% center}.bp-hero-copy{max-width:58%}.bp-hero h1{font-size:27px}.bp-hero h2{font-size:21px}.bp-products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr 1fr}.bp-card-body{padding:12px}.bp-card h3{font-size:14px}.bp-card-actions{display:block}.bp-card-actions .bp-btn{width:100%;margin-top:6px}}
/* Fix: WordPress head/footer hooks and full-width finished hero banner */
.bp-topbar-inner{min-height:34px}
.bp-hero-image{width:100%;margin:0;padding:0;background:#fff;line-height:0;overflow:hidden}
.bp-hero-image img{display:block;width:100%;height:auto;max-width:none}
.bp-logo img{height:72px;width:auto;max-width:220px;object-fit:contain}
.bp-header .custom-logo{display:block;height:72px;width:auto;max-width:220px;object-fit:contain}
@media(max-width:760px){.bp-hero-image img{width:100%;height:auto}.bp-logo img,.bp-header .custom-logo{height:58px;max-width:170px}}

/* Banda carrusel compacta de beneficios */
.bp-benefits-carousel{
  width:100%;
  background:#fff;
  border-top:1px solid var(--bp-border);
  border-bottom:1px solid var(--bp-border);
  overflow:hidden;
}
.bp-benefits-viewport{
  width:100%;
  overflow:hidden;
}
.bp-benefits-track{
  display:flex;
  width:400%;
  animation:bpBenefitsCarousel 9s ease-in-out infinite;
}
.bp-benefit-slide{
  flex:0 0 25%;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  box-sizing:border-box;
  padding:0 10px;
  font-size:15px;
  white-space:nowrap;
  color:#222;
}
.bp-benefit-slide strong{font-weight:800}
@keyframes bpBenefitsCarousel{
  0%,27%{transform:translateX(0)}
  33%,60%{transform:translateX(-25%)}
  66%,93%{transform:translateX(-50%)}
  100%{transform:translateX(-75%)}
}
@media (prefers-reduced-motion: reduce){
  .bp-benefits-track{animation:none}
}
@media(max-width:767px){
  .bp-benefits-carousel{height:42px}
  .bp-benefit-slide{
    height:42px;
    font-size:13px;
    gap:5px;
    padding:0 6px;
  }
}


/* Portada editorial de bancas: sin catálogo de tarjetas */
.bp-editorial-intro{padding:58px 0 38px;text-align:center;background:#fff}
.bp-kicker{display:inline-block;color:var(--bp-green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.bp-editorial-intro h2{margin:0 auto 10px;color:var(--bp-brown);font-size:clamp(30px,4vw,46px);line-height:1.08;max-width:850px}
.bp-editorial-intro p{margin:0 auto;color:var(--bp-muted);font-size:17px;max-width:760px}
.bp-editorial{padding:70px 0;background:#fff}
.bp-editorial:nth-of-type(even){background:var(--bp-cream)}
.bp-editorial-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.45fr);gap:48px;align-items:center}
.bp-editorial.image-left .bp-editorial-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.82fr)}
.bp-editorial.image-left .bp-editorial-copy{grid-column:2;grid-row:1}
.bp-editorial.image-left .bp-editorial-photo{grid-column:1;grid-row:1}
.bp-editorial-copy h2{font-size:clamp(31px,4vw,52px);line-height:1.03;color:var(--bp-brown);margin:0 0 16px}
.bp-editorial-copy p{font-size:18px;color:var(--bp-muted);line-height:1.6;margin:0 0 18px;max-width:500px}
.bp-scenes{display:inline-block;color:var(--bp-green);font-weight:800;font-size:14px;margin:0 0 22px}
.bp-editorial-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--bp-green);color:#fff!important;border-radius:999px;padding:12px 20px;font-weight:900;box-shadow:var(--bp-shadow)}
.bp-editorial-photo{border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(38,25,15,.16);background:#eee}
.bp-editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.bp-editorial-cta{padding:70px 0;text-align:center;background:var(--bp-brown);color:#fff}
.bp-editorial-cta h2{margin:0 0 8px;font-size:36px}
.bp-editorial-cta p{margin:0 0 20px;color:#eee;font-size:17px}
.bp-editorial-cta .bp-editorial-btn{background:#25d366}

@media(max-width:760px){
  .bp-editorial-intro{padding:36px 0 25px}
  .bp-editorial-intro h2{font-size:30px}
  .bp-editorial-intro p{font-size:15px}
  .bp-editorial{padding:38px 0}
  .bp-editorial-grid,.bp-editorial.image-left .bp-editorial-grid{display:flex;flex-direction:column;gap:24px}
  .bp-editorial.image-left .bp-editorial-copy,.bp-editorial.image-left .bp-editorial-photo{order:initial}
  .bp-editorial-photo{width:100%;border-radius:16px;order:1}
  .bp-editorial-copy{order:2}
  .bp-editorial-copy h2{font-size:31px}
  .bp-editorial-copy p{font-size:16px}
  .bp-scenes{font-size:13px}
  .bp-editorial-btn{width:100%}
  .bp-editorial-cta{padding:48px 0}
  .bp-editorial-cta h2{font-size:28px}
}


/* Catálogo de la página Tienda: Bancas + Banquitos */
.bp-page-title{border-bottom:1px solid var(--bp-border)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-top:0;margin-bottom:22px}
.woocommerce .woocommerce-ordering select{border:1px solid var(--bp-border);border-radius:10px;padding:9px 12px;background:#fff}
.woocommerce ul.products li.product .button{display:inline-flex;justify-content:center;align-items:center}

/* Nueva portada visual BancasPeru: presentación editorial larga, no catálogo */
.bp-home-intro{padding:58px 0 46px;background:#fff}
.bp-home-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:end}
.bp-home-intro h1{margin:0;color:var(--bp-brown);font-size:clamp(34px,4.6vw,58px);line-height:1.02;max-width:760px}
.bp-home-intro p{margin:0 0 20px;color:var(--bp-muted);font-size:18px;line-height:1.65}
.bp-home-model{padding:0;background:#fff;overflow:hidden}
.bp-home-model:nth-of-type(odd){background:#fff}
.bp-home-model-grid{display:grid;grid-template-columns:42% 58%;min-height:500px;align-items:stretch}
.bp-home-model.image-left .bp-home-model-grid{grid-template-columns:58% 42%}
.bp-home-model.image-left .bp-home-model-copy{grid-column:2;grid-row:1}
.bp-home-model.image-left .bp-home-model-photo{grid-column:1;grid-row:1}
.bp-home-model-copy{padding:76px clamp(28px,5vw,75px);display:flex;flex-direction:column;justify-content:center}
.bp-home-model-copy h2{font-size:clamp(34px,4.5vw,58px);line-height:1;color:var(--bp-brown);margin:0 0 17px}
.bp-home-model-copy p{font-size:18px;line-height:1.65;color:var(--bp-muted);max-width:520px;margin:0 0 18px}
.bp-home-model-copy .bp-scenes{margin-bottom:22px}
.bp-home-model-photo{min-height:500px;overflow:hidden;background:#eee}
.bp-home-model-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.bp-home-model-light .bp-home-model-copy{background:#f8f4ec}
.bp-home-model-caramel .bp-home-model-copy{background:#f4eee7}
.bp-home-model-light .bp-home-model-photo{background:#e7dfd1}
.bp-home-model-caramel .bp-home-model-photo{background:#dfc5aa}
.bp-home-materials{padding:76px 0;background:#f6f1e8}
.bp-home-materials-head{text-align:center;margin-bottom:32px}
.bp-home-materials-head h2{margin:0;color:var(--bp-brown);font-size:clamp(30px,4vw,45px)}
.bp-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.bp-material-card{background:#fff;border-radius:22px;padding:28px;display:grid;grid-template-columns:90px 1fr;gap:22px;align-items:center;box-shadow:0 12px 35px rgba(50,30,15,.08);border:1px solid rgba(0,0,0,.05)}
.bp-material-swatch{width:90px;height:120px;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.bp-material-huayruro .bp-material-swatch{background:linear-gradient(145deg,#d6b486,#b99262 55%,#e0c49d)}
.bp-material-tornillo .bp-material-swatch{background:linear-gradient(145deg,#c87936,#a95520 50%,#d38b4a)}
.bp-material-card span{font-size:12px;color:var(--bp-green);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.bp-material-card h3{margin:5px 0 8px;color:var(--bp-brown);font-size:22px;line-height:1.15}
.bp-material-card p{margin:0;color:var(--bp-muted);line-height:1.55}
.bp-home-banquitos{padding:78px 0;background:#fff}
.bp-banquitos-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.bp-banquitos-head h2{margin:0 0 8px;color:var(--bp-brown);font-size:clamp(32px,4vw,48px);line-height:1.05}
.bp-banquitos-head p{margin:0;color:var(--bp-muted);font-size:17px;max-width:700px}
.bp-banquitos-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bp-banquitos-item{background:#f7f4ef;border-radius:20px;overflow:hidden;border:1px solid var(--bp-border);transition:transform .2s ease,box-shadow .2s ease}
.bp-banquitos-item:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.09)}
.bp-banquitos-photo{height:260px;display:flex;align-items:center;justify-content:center;background:#f7f4ef;padding:12px;overflow:hidden}
.bp-banquitos-photo img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.bp-banquitos-item:hover .bp-banquitos-photo img{transform:scale(1.03)}
.bp-banquitos-body{padding:17px 18px 20px;background:#fff}
.bp-banquitos-body .bp-kicker{margin-bottom:5px;font-size:10px}
.bp-banquitos-body h3{margin:0 0 9px;color:var(--bp-brown);font-size:18px;line-height:1.2}
.bp-banquitos-body h3 a{color:inherit}
.bp-banquitos-body p{margin:0 0 13px;color:var(--bp-muted);font-size:14px;line-height:1.5}
.bp-banquitos-link{font-weight:900;color:var(--bp-green);font-size:14px}
.bp-banquitos-empty{padding:30px;background:#f7f4ef;border-radius:18px;color:var(--bp-muted)}
.bp-home-closing{padding:66px 0;background:var(--bp-brown);color:#fff}
.bp-home-closing-grid{display:flex;justify-content:space-between;align-items:center;gap:35px}
.bp-home-closing h2{margin:0 0 8px;font-size:clamp(30px,4vw,46px)}
.bp-home-closing p{margin:0;color:#eee;font-size:17px;max-width:700px}
.bp-home-whatsapp{background:#25d366!important}
@media(max-width:1100px){
  .bp-banquitos-showcase{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .bp-home-intro-grid{grid-template-columns:1fr;gap:20px}
  .bp-home-model-grid,.bp-home-model.image-left .bp-home-model-grid{display:flex;flex-direction:column;min-height:0}
  .bp-home-model-photo{min-height:360px;order:1}
  .bp-home-model-copy{order:2;padding:45px 6%}
  .bp-home-model.image-left .bp-home-model-copy{order:2}
  .bp-home-model.image-left .bp-home-model-photo{order:1}
  .bp-material-grid{grid-template-columns:1fr}
  .bp-banquitos-head{align-items:start;flex-direction:column}
  .bp-banquitos-showcase{grid-template-columns:1fr 1fr}
  .bp-home-closing-grid{align-items:start;flex-direction:column}
}
@media(max-width:600px){
  .bp-home-intro{padding:38px 0 32px}
  .bp-home-intro h1{font-size:34px}
  .bp-home-intro p{font-size:16px}
  .bp-home-model-photo{min-height:270px}
  .bp-home-model-copy{padding:35px 6%}
  .bp-home-model-copy h2{font-size:34px}
  .bp-home-model-copy p{font-size:16px}
  .bp-material-card{grid-template-columns:62px 1fr;padding:20px;gap:15px}
  .bp-material-swatch{width:62px;height:88px;border-radius:13px}
  .bp-material-card h3{font-size:18px}
  .bp-material-card p{font-size:14px}
  .bp-banquitos-showcase{grid-template-columns:1fr}
  .bp-banquitos-photo{height:260px}
}


/* =========================================================
   BancasPeru 1.7.0 — Carrusel dinámico de Banquitos
   ========================================================= */
.bp-banquitos-carousel{position:relative;display:flex;align-items:center;gap:10px;margin-top:26px}
.bp-banquitos-viewport{overflow:hidden;flex:1;min-width:0}
.bp-banquitos-track{display:flex;gap:20px;transition:transform .38s ease;will-change:transform}
.bp-banquitos-item{flex:0 0 calc((100% - 60px)/4);min-width:0;background:#fff;border:1px solid var(--bp-border);border-radius:var(--bp-radius);overflow:hidden;box-shadow:var(--bp-shadow);display:flex;flex-direction:column}
.bp-banquitos-photo{display:block;aspect-ratio:1/1;background:#f7f7f7;overflow:hidden}
.bp-banquitos-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.bp-banquitos-item:hover .bp-banquitos-photo img{transform:scale(1.035)}
.bp-banquitos-body{padding:15px;display:flex;flex-direction:column;flex:1}
.bp-banquitos-body .bp-kicker{font-size:10px;margin-bottom:5px}
.bp-banquitos-body h3{font-size:16px;line-height:1.3;margin:0 0 8px}
.bp-banquitos-body h3 a:hover{color:var(--bp-green)}
.bp-banquitos-body p{font-size:13px;color:var(--bp-muted);margin:0 0 10px;line-height:1.45}
.bp-banquitos-product-price{font-size:19px;font-weight:900;color:var(--bp-brown);margin-top:auto;margin-bottom:9px}
.bp-banquitos-link{display:inline-flex;color:var(--bp-green);font-weight:900;font-size:14px}
.bp-carousel-arrow{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--bp-border);border-radius:50%;background:#fff;color:var(--bp-brown);font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px 16px rgba(38,25,15,.12);z-index:2}
.bp-carousel-arrow:hover{background:var(--bp-green);color:#fff;border-color:var(--bp-green)}
.bp-carousel-arrow:disabled{opacity:.35;cursor:default;background:#fff;color:var(--bp-muted)}
.bp-carousel-arrow:disabled:hover{background:#fff;color:var(--bp-muted);border-color:var(--bp-border)}
@media(max-width:1000px){
  .bp-banquitos-item{flex-basis:calc((100% - 40px)/3)}
}
@media(max-width:760px){
  .bp-banquitos-carousel{gap:6px}
  .bp-banquitos-track{gap:12px}
  .bp-banquitos-item{flex-basis:calc((100% - 12px)/2)}
  .bp-carousel-arrow{width:34px;height:34px;flex-basis:34px;font-size:24px}
  .bp-banquitos-body{padding:12px}
  .bp-banquitos-body h3{font-size:14px}
  .bp-banquitos-body p{font-size:12px}
  .bp-banquitos-product-price{font-size:17px}
}
@media(max-width:420px){
  .bp-banquitos-track{gap:10px}
  .bp-banquitos-item{flex-basis:calc((100% - 10px)/2)}
  .bp-carousel-arrow{width:30px;height:30px;flex-basis:30px;font-size:21px}
}

/* Galería del producto WooCommerce en formato carrusel */
.woocommerce div.product div.images{position:relative}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:contain}
.woocommerce div.product div.images .flex-viewport{border:1px solid var(--bp-border);border-radius:16px;background:#fafafa;overflow:hidden}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;margin-top:10px}
.woocommerce div.product div.images .flex-control-thumbs li{flex:0 0 78px!important;width:78px!important;margin:0!important}
.woocommerce div.product div.images .flex-control-thumbs li img{width:78px;height:78px;object-fit:contain;border:2px solid transparent;border-radius:9px;background:#fff;opacity:.72;cursor:pointer}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:var(--bp-green);opacity:1}
.woocommerce div.product div.images .flex-direction-nav{position:absolute;left:0;right:0;top:45%;display:flex;justify-content:space-between;pointer-events:none;z-index:5}
.woocommerce div.product div.images .flex-direction-nav li{list-style:none;margin:0;padding:0}
.woocommerce div.product div.images .flex-direction-nav a{position:relative!important;display:flex!important;align-items:center;justify-content:center;width:42px;height:42px;margin:0 10px!important;border-radius:50%;background:rgba(255,255,255,.94);color:var(--bp-brown)!important;text-indent:0!important;opacity:1!important;box-shadow:0 4px 14px rgba(0,0,0,.14);pointer-events:auto}
.woocommerce div.product div.images .flex-direction-nav a:before{font-size:24px!important;color:var(--bp-brown)!important;line-height:1!important}
.woocommerce div.product div.images .flex-direction-nav .flex-prev:before{content:"‹"!important;font-family:Arial,sans-serif}
.woocommerce div.product div.images .flex-direction-nav .flex-next:before{content:"›"!important;font-family:Arial,sans-serif}
.woocommerce div.product div.images .flex-direction-nav .flex-disabled{opacity:.3!important}
.woocommerce div.product .summary .price{color:var(--bp-brown);font-weight:900}
.woocommerce div.product .summary .button,.woocommerce div.product .summary button.single_add_to_cart_button{background:var(--bp-green);color:#fff;border-radius:10px;font-weight:900}
.woocommerce div.product .woocommerce-tabs{margin-top:42px}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:800}
@media(max-width:760px){
  .woocommerce div.product div.images .flex-control-thumbs li{flex-basis:64px!important;width:64px!important}
  .woocommerce div.product div.images .flex-control-thumbs li img{width:64px;height:64px}
  .woocommerce div.product div.images .flex-direction-nav a{width:36px;height:36px;margin:0 6px!important}
}

/* Textos comerciales siempre en español */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button{font-weight:800}


/* Precios ocultables desde Apariencia > Personalizar > Precios WooCommerce */
.woocommerce .price:empty,
.woocommerce .bp-price:empty { display:none !important; }


/* Botón de consulta cuando los precios están ocultos */
.bp-whatsapp-product {
    display: inline-block !important;
    text-decoration: none !important;
    text-align: center;
    margin-top: 8px;
    cursor: pointer;
}


/* =========================================================
   BancasPeru 1.7.3 — Carrusel de fotos en productos de Tienda
   ========================================================= */
.woocommerce ul.products li.product .bp-shop-gallery{
    display:block;
    position:relative;
    margin:0 0 12px;
    width:100%;
}
.woocommerce ul.products li.product .bp-shop-gallery-link{
    display:block;
    position:absolute;
    inset:0;
    z-index:1;
    text-decoration:none;
}
.woocommerce ul.products li.product .bp-shop-gallery-frame{
    position:relative;
    aspect-ratio:1/1;
    width:100%;
    overflow:hidden;
    background:#f8f8f8;
}
.woocommerce ul.products li.product .bp-shop-gallery-image{
    position:absolute;
    inset:0;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    object-fit:contain;
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease;
}
.woocommerce ul.products li.product .bp-shop-gallery-image.is-active{
    opacity:1;
    visibility:visible;
}
.bp-shop-gallery-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:36px;
    height:36px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--bp-brown);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    font-size:27px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 3px 12px rgba(0,0,0,.14);
    opacity:0;
    transition:opacity .18s ease, background .18s ease, color .18s ease;
}
.bp-shop-gallery:hover .bp-shop-gallery-arrow,
.bp-shop-gallery:focus-within .bp-shop-gallery-arrow{opacity:1}
.bp-shop-gallery-prev{left:10px}
.bp-shop-gallery-next{right:10px}
.bp-shop-gallery-arrow:hover{background:var(--bp-green);color:#fff}
.bp-shop-gallery-counter{
    position:absolute;
    right:10px;
    bottom:10px;
    z-index:5;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    color:var(--bp-brown);
    font-size:11px;
    font-weight:800;
    line-height:1.2;
}
@media(max-width:760px){
    .bp-shop-gallery-arrow{opacity:1;width:32px;height:32px;font-size:24px}
    .bp-shop-gallery-prev{left:7px}
    .bp-shop-gallery-next{right:7px}
    .bp-shop-gallery-counter{right:7px;bottom:7px;font-size:10px}
}

/* =========================================================
   BancasPeru 1.7.4 — Flechas visibles en galería del producto
   ========================================================= */
.woocommerce div.product div.images .woocommerce-product-gallery{position:relative}
.bp-product-gallery-arrows{position:absolute;left:0;right:0;top:42%;display:flex;justify-content:space-between;align-items:center;z-index:30;pointer-events:none}
.bp-product-gallery-arrow{pointer-events:auto;width:44px;height:44px;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:rgba(255,255,255,.96);color:var(--bp-brown);display:flex!important;align-items:center;justify-content:center;padding:0!important;margin:0 10px!important;font-size:30px!important;line-height:1!important;font-family:Arial,sans-serif!important;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.16);opacity:1!important;text-indent:0!important}
.bp-product-gallery-arrow:hover{background:var(--bp-green)!important;color:#fff!important}
.bp-product-gallery-counter{position:absolute;right:12px;bottom:105px;z-index:30;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--bp-brown);font-size:11px;font-weight:800;line-height:1.2;pointer-events:none}
@media(max-width:760px){
  .bp-product-gallery-arrow{width:36px;height:36px;font-size:25px!important;margin:0 6px!important}
  .bp-product-gallery-counter{right:8px;bottom:84px;font-size:10px}
}



/* =========================================================
   BancasPeru 1.7.5 — Flechas de galería visibles en producto,
   incluyendo celulares y cuando WooCommerce carga FlexSlider tarde.
   ========================================================= */
.woocommerce div.product div.images .woocommerce-product-gallery .flex-viewport{
  position:relative!important;
}
.bp-product-gallery-arrows{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  height:0!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  z-index:999!important;
  pointer-events:none!important;
}
.bp-product-gallery-arrow{
  pointer-events:auto!important;
  position:relative!important;
  z-index:1000!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  margin:0 10px!important;
  padding:0!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--bp-brown)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:Arial,sans-serif!important;
  font-size:32px!important;
  font-weight:400!important;
  line-height:1!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
  box-shadow:0 4px 14px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
}
.bp-product-gallery-arrow:hover,
.bp-product-gallery-arrow:focus{
  background:var(--bp-green)!important;
  color:#fff!important;
  opacity:1!important;
}
.bp-product-gallery-counter{
  position:absolute!important;
  right:12px!important;
  bottom:12px!important;
  z-index:1000!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--bp-brown)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.2!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  .bp-product-gallery-arrow{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    margin:0 8px!important;
    font-size:28px!important;
  }
  .bp-product-gallery-counter{right:8px!important;bottom:8px!important;font-size:10px!important}
}


/* =========================================================
   BancasPeru 1.8.5 — Carrusel promocional horizontal
   Imagen de escritorio y móvil independientes para evitar recortes.
   ========================================================= */
.bp-promo-carousel{position:relative;width:100vw;margin-left:calc(50% - 50vw);background:#fff;padding:8px 0 23px;overflow:hidden}
.bp-promo-viewport{width:100%;max-width:none;margin:0;overflow:hidden;border-radius:0}
.bp-promo-track{display:flex;width:100%;transition:transform .48s ease;will-change:transform}
.bp-promo-slide{position:relative;display:block;flex:0 0 100%;width:100%;overflow:hidden;background:#f5f1e9;color:#2b241f;text-decoration:none}
.bp-promo-picture,.bp-promo-slide img{display:block;width:100%;height:auto}
.bp-promo-slide img{max-width:none}
.bp-promo-fallback-image{position:absolute;inset:0;background:linear-gradient(100deg,#f5f1e9,#e8dccb);display:block}
.bp-promo-copy{position:absolute;left:clamp(18px,5vw,70px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:60%;text-shadow:0 1px 1px rgba(255,255,255,.5)}
.bp-promo-copy strong{font-size:clamp(18px,2.2vw,30px);line-height:1.05;color:var(--bp-brown)}
.bp-promo-copy span{font-size:clamp(12px,1.2vw,16px);color:#4e453d}
.bp-promo-copy em{font-style:normal;font-size:12px;font-weight:900;color:#fff;background:var(--bp-green);padding:7px 12px;border-radius:7px;margin-top:4px}
.bp-promo-dots{display:flex;align-items:center;justify-content:center;gap:7px;position:absolute;left:0;right:0;bottom:7px;z-index:3}
.bp-promo-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#b7b0a8;cursor:pointer;transition:all .2s ease}
.bp-promo-dot.is-active{width:22px;border-radius:8px;background:#4b443d}
.bp-promo-dot:focus-visible{outline:2px solid var(--bp-green);outline-offset:3px}
@media(max-width:760px){
  /* En móvil se muestra la imagen completa: no recortar los extremos del texto. */
  .bp-promo-carousel{padding:6px 0 20px}
  .bp-promo-slide{height:auto;min-height:0;aspect-ratio:auto}
  .bp-promo-slide img{display:block;width:100%;height:auto;object-fit:initial;object-position:center center;background:#f5f1e9}
  .bp-promo-copy{left:16px;max-width:67%}
  .bp-promo-copy strong{font-size:17px}
  .bp-promo-copy span{font-size:11px}
  .bp-promo-copy em{font-size:10px;padding:6px 9px}
  .bp-promo-dots{bottom:5px;gap:6px}
  .bp-promo-dot{width:6px;height:6px}
  .bp-promo-dot.is-active{width:18px}
}
@media(max-width:420px){
  /* Mantener la proporción completa también en teléfonos pequeños. */
  .bp-promo-slide{height:auto;aspect-ratio:auto}
  .bp-promo-slide img{height:auto;object-fit:initial;object-position:center center}
  .bp-promo-copy{left:13px;max-width:70%}
  .bp-promo-copy strong{font-size:15px}
  .bp-promo-copy span{font-size:10px}
  .bp-promo-copy em{font-size:9px;padding:5px 8px}
}

/* BancasPeru 1.8.7 — bundled promotional images and reliable desktop/mobile rendering */
.bp-promo-picture{display:block;width:100%;line-height:0}
.bp-promo-picture img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
@media(min-width:761px){
  .bp-promo-slide{height:auto;min-height:0}
  .bp-promo-picture img{width:100%;height:auto}
}
@media(max-width:760px){
  .bp-promo-slide{height:auto;min-height:0}
  .bp-promo-picture img{width:100%;height:auto;object-fit:contain}
}


/* BancasPeru 2.0.2 — corrige el espacio causado por el aspect-ratio
   intrínseco de la imagen móvil dentro de <picture> en escritorio. */
.bp-promo-carousel{
  padding:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  line-height:0 !important;
}
.bp-promo-viewport,
.bp-promo-track,
.bp-promo-slide,
.bp-promo-picture{
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}
.bp-promo-track{
  align-items:flex-start !important;
}
.bp-promo-slide{
  height:auto !important;
  min-height:0 !important;
}
.bp-promo-picture{
  display:block !important;
  width:100% !important;
}
.bp-promo-picture img,
.bp-promo-slide img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.bp-promo-dots{
  bottom:5px !important;
}


/* FIX DEFINITIVO 1.9.0 — escritorio usa 1600x310 y móvil 1200x350.
   Esto evita que <picture> reserve la altura 1200x350 del fallback móvil
   cuando el navegador muestra la fuente desktop 1600x310. */
.bp-promo-slide,
.bp-promo-picture{
  aspect-ratio:1600 / 310 !important;
}
.bp-promo-picture{
  overflow:hidden !important;
}
.bp-promo-picture img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
}
@media(max-width:760px){
  .bp-promo-slide,
  .bp-promo-picture{
    aspect-ratio:1200 / 350 !important;
  }
}

/* BancasPeru 2.0.3 — Tipografía del texto sobre promociones en escritorio */
@media(min-width:761px){
  .bp-promo-copy{
    gap:7px !important;
    max-width:58% !important;
  }
  .bp-promo-copy strong{
    font-size:clamp(24px,2.65vw,38px) !important;
    line-height:1.16 !important;
    letter-spacing:-.01em !important;
  }
  .bp-promo-copy span{
    font-size:clamp(14px,1.35vw,19px) !important;
    line-height:1.35 !important;
  }
  .bp-promo-copy em{
    font-size:15px !important;
    line-height:1.2 !important;
    padding:9px 16px !important;
    border-radius:9px !important;
    margin-top:5px !important;
  }
}
