/*
Theme Name: Puerto Banús para Storefront
Description: Tema hijo para la nueva tienda Puerto Banús. Requiere Storefront y WooCommerce.
Author: Puerto Banús
Version: 0.5.10
Template: storefront
Text Domain: puerto-banus-storefront-child
*/

/* Base de las páginas comerciales y de WooCommerce. */
:root{--navy:#113656;--red:#d22330;--sky:#6fc7ef;--ink:#173248;--muted:#64798a;--line:#dce6eb;--bg:#f5f9fa}
body{background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}
main h1,main h2,main h3{font-family:Montserrat,Arial,sans-serif;font-weight:800!important;color:var(--navy)}
main .story p,main .story-body p,main .pb-post-body p{color:#173248}
main .story a:visited,main .pb-post-grid a:visited{color:var(--navy)}
.pb-account,.pb-cart-link{color:var(--navy);font-weight:700}
.pb-cart-link{white-space:nowrap}
.header .nav{gap:12px;font-size:12px}
.pb-account:hover,.pb-cart-link:hover{color:var(--red)}
.header .nav a,.header .nav a:visited{color:var(--navy)}
.header .nav a:hover{color:var(--red)}
.header .brand img{max-width:138px}
.pb-footer a:visited{color:#d2e4ed}
.pb-footer a:hover{color:var(--sky)}
.product-actions a.pb-add,.product-actions a.details{display:flex;align-items:center;justify-content:center;border-radius:7px;text-decoration:none;font-size:12px;font-weight:800}
.product-actions a.pb-add{background:var(--navy);color:#fff;min-height:40px;flex:1;padding:8px}
.product-actions a.details{background:#eef4f6;color:var(--navy);min-height:40px;flex:0 0 43px}
.pb-cat-fallback{font-size:55px;color:var(--sky)}
.home .hero{--hero-image:url('assets/img/inicio-fondo.webp');background:#edf5f8 var(--hero-image) center center/cover no-repeat}
.home .hero:before{background:linear-gradient(90deg,rgba(247,251,253,.96) 0%,rgba(247,251,253,.84) 36%,rgba(247,251,253,.27) 72%,rgba(247,251,253,.15) 100%)}
.home .categories .cat{color:var(--navy);text-decoration:none;display:block}
.home .categories .cat:hover{color:var(--red)}
.home #sucursales{scroll-margin-top:110px}
.home #novedades{scroll-margin-top:110px}
.home .categories .cat img{width:100%;height:100%;object-fit:contain}
.pb-mayoristas .hero h1{color:#fff!important}
.pb-mayoristas .hero h1 em{color:#8ddbf8!important}
.pb-mayoristas .hero-art:before,.pb-mayoristas .hero-art:after{display:none!important;content:none!important}
.pb-mayoristas .hero-label{display:none!important}
.pb-mayoristas .hero-art img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.shop{font-weight:500;color:var(--ink)}
.shop .filter-option,.shop .pb-filter-form label{font-weight:700;color:var(--navy)}
.shop .filter-option.active,.shop .filter-option:hover{color:var(--red)}
.story-top img{width:100%;height:100%;object-fit:cover}
.home .editorial{gap:18px}
.home .editorial .story{position:relative;height:215px;border:0;border-radius:16px;overflow:hidden;background:var(--navy)}
.home .story-card-link{display:block;position:relative;width:100%;height:100%;overflow:hidden;color:#fff!important;text-decoration:none}
.home .story-card-link:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,30,49,.03) 0%,rgba(8,30,49,.52) 35%,rgba(8,30,49,.93) 100%);pointer-events:none}
.home .story-card-link>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.home .story-card-link:hover>img{transform:scale(1.04)}
.home .story-overlay{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:20px 22px;color:#fff}
.home .story-overlay h3{margin:0 0 7px;color:#fff!important;font-size:18px;line-height:1.25}
.home .story-overlay p{margin:0 0 10px;color:#fff!important;font-size:12px;line-height:1.4}
.home .story-overlay h3,.home .story-overlay p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.home .story-overlay h3{-webkit-line-clamp:2}.home .story-overlay p{-webkit-line-clamp:3}
.home .story-read{font-size:12px;font-weight:800;color:#a5e0f7}
.home .news-arrows button{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;min-width:32px;min-height:32px;padding:0!important;line-height:1;border-radius:50%!important;font-size:15px;box-sizing:border-box}
@media(max-width:600px){.home .editorial .story{height:220px}.home .story-overlay{padding:17px}.home .story-overlay h3{font-size:16px}}
.pb-wc{max-width:1240px;margin:0 auto;padding:48px 24px 85px;min-height:55vh}
.pb-wc .woocommerce{display:flow-root}
.pb-wc .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.pb-wc .woocommerce-MyAccount-navigation li{list-style:none;margin:0;border-bottom:1px solid var(--line)}
.pb-wc .woocommerce-MyAccount-navigation li::before{display:none}
.pb-wc .woocommerce-MyAccount-navigation a,.pb-wc .woocommerce-MyAccount-navigation a:visited{display:block;padding:11px 12px;color:var(--navy);font-weight:700;text-decoration:none}
.pb-wc .woocommerce-MyAccount-navigation .is-active a,.pb-wc .woocommerce-MyAccount-navigation a:hover{color:var(--red);background:#f5f9fa}
.pb-wc .woocommerce-MyAccount-content a,.pb-wc .woocommerce-MyAccount-content a:visited{color:var(--navy)}
@media(max-width:760px){.pb-wc .woocommerce-MyAccount-navigation,.pb-wc .woocommerce-MyAccount-content{float:none;width:100%;margin:0 0 22px}}
.shop.pb-wc{max-width:none;padding:50px 0 90px}
.pb-shop-results{min-width:0}
.pb-shop-results ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;list-style:none;margin:20px 0!important;padding:0!important;clear:both}
.pb-shop-results ul.products::before,.pb-shop-results ul.products::after{display:none!important}
.pb-shop-results ul.products li.product.card{float:none!important;width:auto!important;max-width:none!important;min-width:0;clear:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;text-align:left;box-shadow:none}
.pb-shop-results .card .photo{height:206px;padding:12px;background:#f7fafb;position:relative}
.pb-shop-results .card .photo>a{display:grid;place-items:center;width:100%;height:100%}
.pb-shop-results .card .photo img{display:block;width:100%;height:100%;object-fit:contain;margin:0;mix-blend-mode:multiply}
.pb-shop-results .card .body{padding:17px;display:flex;flex-direction:column;flex:1}
.pb-shop-results .card .category{color:var(--muted);font-size:11px;font-weight:700}
.pb-shop-results .card h2.woocommerce-loop-product__title{font:700 15px/1.38 Montserrat,Arial,sans-serif;color:var(--navy);margin:8px 0 10px;padding:0;min-height:42px}
.pb-shop-results .card h2 a,.pb-shop-results .card h2 a:visited{color:var(--navy)}
.pb-shop-results .card .pricing{margin-top:auto;color:var(--navy);font:800 19px Montserrat,Arial,sans-serif}
.pb-shop-results .card .pricing .price{color:var(--navy);font:inherit}
.pb-shop-results .card .pricing del{display:block;color:#92a0a9;font-size:11px;font-weight:500}
.pb-shop-results .card .pricing ins{text-decoration:none;color:var(--navy)}
.pb-shop-results .card .actions{display:flex;gap:8px;margin-top:14px;align-items:stretch}
.pb-shop-results .card .actions a.button,.pb-shop-results .card .actions .add{display:grid;place-items:center;flex:1;margin:0!important;min-height:40px;padding:7px 10px;background:var(--navy);border:0;border-radius:7px;color:#fff!important;font:800 12px Montserrat,Arial,sans-serif;text-align:center;white-space:normal}
.pb-shop-results .card .actions .detail{display:grid;place-items:center;flex:0 0 42px;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--navy);font-size:17px;text-decoration:none}
.pb-shop-results .card .actions .pb-sold-out{background:#e8edef;color:#7b8f9c!important}
.pb-shop-results .card .tag{z-index:2}
.pb-filter-form label{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600;color:var(--navy)}
.pb-filter-form input[type=checkbox]{width:16px;height:16px;accent-color:var(--red)}
.pb-apply-filters{display:block;width:100%;margin:18px 0 5px;background:var(--navy);color:#fff;border:0;border-radius:7px;padding:11px;font-weight:800;font-size:12px;cursor:pointer}
.pb-apply-filters:hover{background:var(--red)}
.pb-shop-results .woocommerce:after{content:"";display:block;clear:both}
.shop .woocommerce-result-count{font-size:12px;color:var(--muted)}
.shop .woocommerce-ordering select{border:1px solid var(--line);border-radius:7px;padding:10px;background:#fff;color:var(--navy)}
.shop .woocommerce-pagination{clear:both;padding-top:25px}
.pb-wc h1{font:800 clamp(32px,4vw,50px)/1.15 Montserrat,Arial,sans-serif;color:var(--navy)}
.pb-wc .pb-intro{margin-bottom:32px;color:var(--muted)}
.pb-wc .woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.pb-wc .woocommerce ul.products:before,.pb-wc .woocommerce ul.products:after{display:none}
.pb-wc .woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:14px;background:white;text-align:left}
.pb-wc .woocommerce ul.products li.product img{width:100%;height:195px;object-fit:contain}
.pb-wc .woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 15px/1.35 Montserrat,Arial;color:var(--navy);min-height:43px}
.pb-wc .woocommerce ul.products li.product .price{font:800 17px Montserrat,Arial;color:var(--navy)}
.pb-wc .woocommerce a.button,.pb-wc .woocommerce button.button,.pb-wc .woocommerce input.button,.pb-wc .woocommerce #payment #place_order,.pb-wc .woocommerce .button{background:var(--navy);color:#fff;border-radius:7px;padding:11px 16px}
.pb-wc .woocommerce a.button:hover,.pb-wc .woocommerce button.button:hover{background:var(--red);color:#fff}
.pb-wc .woocommerce form .form-row input.input-text,.pb-wc .woocommerce form .form-row textarea,.pb-wc .woocommerce form .form-row select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px}
.pb-wc .woocommerce .shop_table{border:1px solid var(--line);border-radius:8px}
.pb-wc .woocommerce-info,.pb-wc .woocommerce-message{border-top-color:var(--sky)}
.pb-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.pb-cat-grid a{padding:23px;border:1px solid var(--line);border-radius:13px;color:var(--navy);font-weight:800;background:#f5f9fa}
.pb-cat-grid a:hover{border-color:var(--red);color:var(--red)}
.pb-home-section{padding:55px 0}.pb-home-section:nth-of-type(even){background:#f5f9fa}.pb-home-section .wrap{max-width:1240px;margin:auto;padding:0 24px}
.pb-home-section h2{font:800 clamp(26px,3vw,38px) Montserrat,Arial;color:var(--navy)}
.pb-home-section .woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.pb-home-section .woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border:1px solid var(--line);border-radius:14px;padding:15px;background:white}
.pb-home-section .woocommerce ul.products li.product img{height:200px;width:100%;object-fit:contain}
.pb-home-section .woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 15px Montserrat,Arial;color:var(--navy)}
.pb-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pb-post-grid article{border:1px solid var(--line);border-radius:12px;overflow:hidden}.pb-post-grid article img{width:100%;height:190px;object-fit:cover}.pb-post-grid article .pb-post-body{padding:20px}.pb-post-grid h3{font:700 18px Montserrat,Arial;color:var(--navy)}
@media(max-width:800px){.pb-cat-grid{grid-template-columns:repeat(2,1fr)}.pb-wc .woocommerce ul.products,.pb-home-section .woocommerce ul.products,.pb-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.pb-wc .woocommerce ul.products,.pb-home-section .woocommerce ul.products,.pb-post-grid{grid-template-columns:1fr}}
@media(max-width:1100px){.pb-shop-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.pb-shop-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pb-shop-results .card .photo{height:145px}.pb-shop-results .card .body{padding:12px}.pb-shop-results .card h2.woocommerce-loop-product__title{font-size:12px}}
@media(max-width:420px){.pb-shop-results ul.products{grid-template-columns:1fr}}
@media(max-width:760px){
  .pb-quienes-somos .hero-art:before,.pb-quienes-somos .hero-art:after{display:none!important;content:none!important}
}
@media(max-width:700px){
  .shop.pb-wc .pb-shop-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .shop.pb-wc .pb-shop-results ul.products li.product.card{min-width:0;display:flex!important;flex-direction:column;height:auto}
  .shop.pb-wc .pb-shop-results .card .photo{flex:0 0 auto;height:140px!important;padding:7px!important;overflow:hidden;display:block}
  .shop.pb-wc .pb-shop-results .card .photo>a{width:100%;height:100%;display:grid;place-items:center}
  .shop.pb-wc .pb-shop-results .card .photo img{width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center;margin:0!important}
  .shop.pb-wc .pb-shop-results .card .body{position:static;display:flex;flex-direction:column;flex:1;min-width:0;padding:10px!important;background:#fff}
  .shop.pb-wc .pb-shop-results .card h2.woocommerce-loop-product__title{font-size:12px;line-height:1.35;min-height:0;overflow-wrap:anywhere}
  .shop.pb-wc .pb-shop-results .card .pricing,.shop.pb-wc .pb-shop-results .card .pricing .price{font-size:15px;line-height:1.3}
  .shop.pb-wc .pb-shop-results .card .actions{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px;margin-top:10px}
  .shop.pb-wc .pb-shop-results .card .actions a.button{min-width:0;min-height:38px;padding:6px 3px;font-size:10px;line-height:1.2;white-space:normal}
  .shop.pb-wc .pb-shop-results .card .actions .detail{min-width:0;min-height:38px;font-family:Arial,sans-serif;font-size:16px}
}
@media(max-width:350px){.shop.pb-wc .pb-shop-results ul.products{grid-template-columns:1fr!important}.shop.pb-wc .pb-shop-results .card .photo{height:170px!important}}
