/* Fixpok Commerce 0.1.0 — self-contained; respects Astra page layouts */
.fpc-shop,.fpc-cart-page,.fpc-detail{--fpc-blue:#3154d9;--fpc-navy:#0a1737;--fpc-text:#142341;--fpc-border:#e0e8f3;--fpc-muted:#65738b;box-sizing:border-box;font-family:inherit;color:var(--fpc-text)}
.fpc-shop *, .fpc-cart-page *, .fpc-detail *{box-sizing:border-box}
.fpc-shop a,.fpc-cart-page a,.fpc-detail a{text-decoration:none!important}
.fpc-shop{width:100%;padding:95px 20px;background:linear-gradient(165deg,#f4f8ff,#fff 58%,#f9fbff)}
.fpc-shop-inner,.fpc-cart-container,.fpc-detail-inner{width:min(100%,1500px);margin-inline:auto}
.fpc-shop-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}
.fpc-kicker{font-size:12px;letter-spacing:.18em;font-weight:850;color:#2e50c1}
.fpc-shop h2,.fpc-cart-page h1,.fpc-detail h1{font-size:clamp(31px,3.5vw,55px);line-height:1.11;color:var(--fpc-navy);letter-spacing:-.046em;margin:12px 0 15px;font-weight:850}
.fpc-shop-head p,.fpc-cart-page p{font-size:15px;color:var(--fpc-muted);line-height:1.75;max-width:680px;margin:0}
.fpc-cart-link{flex:none;border:1px solid #cdd9ee;background:#fff;color:#213a86!important;border-radius:999px;padding:14px 20px;display:inline-flex;gap:10px;align-items:center;font-weight:800;box-shadow:0 7px 20px rgba(24,48,93,.06)}
.fpc-cart-link:hover{border-color:#3154d9;transform:translateY(-2px)}.fpc-cart-link span{display:inline-grid;place-items:center;border-radius:20px;min-width:23px;height:23px;background:#3154d9;color:white;font-size:12px}
.fpc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fpc-product{min-width:0;background:#fff;border-radius:23px;overflow:hidden;border:1px solid var(--fpc-border);box-shadow:0 15px 38px rgba(30,50,100,.06);transition:transform .24s,box-shadow .24s}
.fpc-product:hover{transform:translateY(-6px);box-shadow:0 23px 60px rgba(18,52,123,.13)}
.fpc-product-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1.36;background:radial-gradient(circle at 70% 20%,#e1ecff,#f4f8ff 67%);overflow:hidden}
.fpc-product-photo img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .5s}.fpc-product:hover img{transform:scale(1.07)}
.fpc-no-img{font-size:13px;color:#8090a8;font-weight:750}
.fpc-product-info{padding:24px}.fpc-brand{font-size:10px;font-weight:800;color:#4363ba;letter-spacing:.07em;text-transform:uppercase}
.fpc-product h3{font-size:22px;line-height:1.22;margin:10px 0 13px;letter-spacing:-.03em;font-weight:850}
.fpc-product h3 a{color:var(--fpc-navy)!important}.fpc-price{font-size:23px;font-weight:900;color:#2441b7;margin:0 0 8px}.fpc-stock{color:#65738b;font-size:12px;margin:0 0 15px}
.fpc-add,.fpc-pay,.fpc-back-button{cursor:pointer;font:inherit;background:var(--fpc-blue);color:#fff!important;border:0;border-radius:13px;font-size:14px;font-weight:800;padding:14px 20px;transition:background .2s,transform .2s;width:100%}
.fpc-add:hover,.fpc-pay:hover,.fpc-back-button:hover{background:#1a37a7;transform:translateY(-2px)}
.fpc-add:disabled,.fpc-pay:disabled{background:#b7c1d4;color:#fff;cursor:not-allowed;transform:none}
.fpc-empty{padding:45px 30px;background:#fff;border:1px dashed #bdcdea;border-radius:22px;text-align:center}.fpc-empty strong{font-size:22px;color:#172c65}.fpc-empty p{margin:9px auto!important}
.fpc-cart-page{min-height:68vh;padding:140px 22px 95px;background:linear-gradient(155deg,#eef4ff,#fff 60%)}.fpc-cart-container{max-width:980px}
.fpc-cart-page h1{font-size:clamp(38px,5vw,56px)}.fpc-cart-page>p{margin-bottom:20px}
.fpc-lines{margin:30px 0 16px;display:grid;gap:12px}.fpc-line{display:flex;align-items:center;gap:18px;padding:20px 22px;background:#fff;border-radius:16px;border:1px solid #e3e9f2;box-shadow:0 8px 22px rgba(30,40,90,.03)}
.fpc-line .fpc-line-title{flex:1;font-size:15px;font-weight:800}.fpc-line input{max-width:75px;padding:9px 12px;border:1px solid #ced7e5;border-radius:9px}.fpc-line strong{min-width:115px;text-align:right}.fpc-remove{border:0;background:#fff0f0;color:#aa2939;font-size:12px;font-weight:800;border-radius:9px;padding:10px;cursor:pointer}
.fpc-totals{background:#eff5ff;border-radius:16px;padding:22px 25px;font-weight:700;color:#253f83;display:grid;gap:8px}.fpc-totals div{display:flex;justify-content:space-between}.fpc-totals .fpc-total-final{border-top:1px solid #cbd9f2;padding-top:12px;margin-top:6px;font-size:21px;color:#1c3695}
.fpc-checkout-form{display:grid;gap:20px;margin-top:25px;padding:35px;background:#fff;border:1px solid #e2e9f5;border-radius:23px;box-shadow:0 20px 45px rgba(31,48,99,.06)}
.fpc-checkout-form h2{font-size:28px;margin:0;font-weight:850;color:#10285c}.fpc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fpc-checkout-form label{font-weight:700;color:#30405c;font-size:13px;display:grid;gap:8px}
.fpc-checkout-form input:not([type=radio]):not([type=checkbox]),.fpc-checkout-form textarea{border:1px solid #cdd8e9;background:#fff;border-radius:11px;min-width:0;font-size:15px;line-height:1.4;padding:14px;color:#17243c;width:100%}
.fpc-checkout-form fieldset{border:1px solid #e0e7f1;border-radius:15px;padding:20px;display:grid;gap:14px}.fpc-checkout-form legend{padding:0 8px;font-weight:800;color:#172f6d}
.fpc-checkout-form label.fpc-choice,.fpc-checkout-form label.fpc-legal{display:flex;flex-direction:row;align-items:flex-start;gap:10px;line-height:1.6}
.fpc-checkout-form label.fpc-legal a{color:#2048ca!important;text-decoration:underline!important}.fpc-checkout-form input[type=radio],.fpc-checkout-form input[type=checkbox]{accent-color:#3154d9;margin-top:3px}
.fpc-feedback{font-size:14px;color:#b43d43;min-height:10px;font-weight:700}.fpc-pay{padding:19px 26px;font-size:17px}.fpc-footnote{font-size:12px!important;line-height:1.65}
.fpc-notice{margin-top:22px;border-left:4px solid #3154d9;background:#edf3ff;padding:23px;border-radius:12px}.fpc-notice strong{color:#193780}.fpc-notice p{margin-top:8px}
.fpc-back{display:inline-block;margin-top:26px;color:#3154d9!important;font-weight:800}
.fpc-detail{background:#f7faff;min-height:75vh;padding:150px 20px 95px}
.fpc-detail-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%;align-items:start}
.fpc-detail-photo{display:grid;place-items:center;border-radius:25px;min-height:480px;background:#e9f0fd;overflow:hidden}
.fpc-detail-photo img{object-fit:contain;width:100%;height:100%;max-height:550px;padding:35px}
.fpc-detail-copy .fpc-price{font-size:32px}.fpc-detail-copy p{line-height:1.85;color:#586985}.fpc-detail-copy ul{list-style:disc;padding-left:22px;color:#64748a}
.fpc-detail .fpc-add{max-width:330px}.fpc-detail-back{display:inline-flex;color:#3154d9!important;font-size:14px;font-weight:850;margin-bottom:20px}
.fpc-detail-badges{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 26px}.fpc-detail-badges span{padding:8px 13px;background:#e5edff;color:#1e439c;border-radius:30px;font-size:12px;font-weight:750}
@media(max-width:900px){.fpc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fpc-detail-inner{grid-template-columns:1fr;gap:30px}.fpc-detail-photo{min-height:340px}}
@media(max-width:620px){.fpc-shop{padding:72px 18px}.fpc-shop-head{align-items:start;flex-direction:column}.fpc-grid{gap:12px}.fpc-product{border-radius:17px}.fpc-product-info{padding:16px}.fpc-product h3{font-size:16px}.fpc-price{font-size:17px!important}.fpc-stock{font-size:11px}.fpc-add{font-size:11px;padding:13px 7px}.fpc-cart-page{padding:110px 17px 70px}.fpc-checkout-form{padding:22px 18px}.fpc-fields{grid-template-columns:1fr}.fpc-line{flex-wrap:wrap;padding:16px}.fpc-line .fpc-line-title{flex-basis:100%}.fpc-line strong{min-width:0}.fpc-detail{padding:110px 17px 60px}}
@media(prefers-reduced-motion:reduce){.fpc-product,.fpc-product-photo img,.fpc-add,.fpc-cart-link{transition:none!important}}

/* v0.1.1: compra arriba, contenido enriquecido a todo el ancho, sin columna vacía */
.fpc-detail{padding-top:150px}
.fpc-detail-inner{display:block;max-width:1500px;width:100%}
.fpc-detail-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);gap:clamp(26px,4.8vw,76px);align-items:stretch}
.fpc-detail-photo{min-width:0;min-height:480px;background:radial-gradient(circle at 55% 42%,#ffffff,#eaf1fe 85%);border:1px solid #dfe7f6;box-shadow:0 20px 48px rgba(38,63,111,.07)}
.fpc-detail-photo img{width:100%;height:100%;max-height:575px;object-fit:contain;padding:clamp(22px,3vw,50px)}
.fpc-detail-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(4px,1vw,14px) 0}
.fpc-detail-copy .fpc-kicker{margin:0}
.fpc-detail-copy h1{font-size:clamp(33px,3.2vw,53px);line-height:1.12}
.fpc-detail-copy .fpc-detail-badges{margin:17px 0 24px}
.fpc-buy-box{width:100%;padding:23px;background:#fff;border:1px solid #dbe5f5;border-radius:21px;box-shadow:0 12px 34px rgba(28,48,99,.045)}
.fpc-detail-copy .fpc-price{font-size:clamp(28px,2.7vw,37px);margin:0 0 5px;line-height:1.2}
.fpc-detail-copy .fpc-stock{margin:0 0 16px}
.fpc-detail .fpc-add{max-width:none;width:100%;min-height:48px}
.fpc-buy-box .fpc-cart-link{margin:14px 0 0!important;display:flex!important;justify-content:center;width:100%}
.fpc-detail-copy .fpc-detail-disclaimer{font-size:12px;line-height:1.7;margin:16px 4px 0;color:#687895}
.fpc-detail-content{width:100%;min-width:0;margin-top:clamp(40px,5vw,80px);padding-top:0;clear:both}
.fpc-detail-content .fpd{width:100%;max-width:none}
@media(max-width:900px){.fpc-detail-top{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:25px}.fpc-detail-photo{min-height:350px}.fpc-detail-photo img{max-height:400px;padding:22px}.fpc-buy-box{padding:20px}}
@media(max-width:700px){.fpc-detail{padding:115px 16px 70px}.fpc-detail-top{display:grid;grid-template-columns:1fr;gap:24px}.fpc-detail-photo{min-height:300px}.fpc-detail-photo img{max-height:360px}.fpc-detail-copy{padding:0}.fpc-detail-content{margin-top:38px}.fpc-detail-copy h1{font-size:clamp(30px,8vw,44px)}}


/* Fixpok Commerce 0.1.2 – full-bleed compatible con Astra + menu flotante */
body.single-fpc_product .site-content,
body:has(.fpc-cart-page) .site-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.single-fpc_product .site-content>.ast-container,
body:has(.fpc-cart-page) .site-content>.ast-container{
 display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
 margin:0!important;padding:0!important;background:transparent!important;
}
body.single-fpc_product .site-content #primary,
body:has(.fpc-cart-page) .site-content #primary,
body.single-fpc_product .site-content #main,
body:has(.fpc-cart-page) .site-content #main{
 float:none!important;width:100%!important;max-width:none!important;min-width:0!important;
 margin:0!important;padding:0!important;
}
body.single-fpc_product .site-content .ast-article-single,
body:has(.fpc-cart-page) .site-content .ast-article-single{
 width:100%!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;
 background:transparent!important;
}
/* Evita el espacio blanco reservado por versiones previas del menu flotante. */
body.single-fpc_product.fpn-hide-astra .site-content>.ast-container,
body:has(.fpc-cart-page).fpn-hide-astra .site-content>.ast-container{padding-top:0!important;margin-top:0!important}
body.single-fpc_product .site-content>.ast-container::before,
body.single-fpc_product .site-content>.ast-container::after{display:none!important}
.fpc-detail{position:relative;width:100%;max-width:none;min-height:90vh;
 background:radial-gradient(ellipse 57% 25% at 88% 4%,#e4edff,transparent 75%),linear-gradient(170deg,#edf3ff 0%,#f7faff 65%,#fff 100%);
 padding:clamp(128px,11vw,169px) max(18px,calc((100% - 1500px)/2)) 100px;
}
.fpc-detail-inner{max-width:1500px!important;width:100%!important;margin:0 auto!important;display:block!important}
.fpc-detail-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.83fr);gap:clamp(28px,5vw,76px);align-items:stretch}
.fpc-detail-content{max-width:1500px;width:100%;margin:70px auto 0}
.fpc-detail-photo{max-width:100%;min-height:440px}
.fpc-shop{position:relative;max-width:none;width:100%;}
.fpc-shop-inner{max-width:1500px;width:100%;margin-left:auto;margin-right:auto}
/* Carrito y fichas ocupan toda la ventana, pero los bloques interiores nunca superan 1500 px. */
.fpc-cart-page{width:100%;max-width:none}
@media(max-width:950px){.fpc-detail-top{grid-template-columns:minmax(0,1fr) minmax(290px,1fr);gap:27px}}
@media(max-width:720px){.fpc-detail{padding:111px 18px 75px}.fpc-detail-top{grid-template-columns:1fr}.fpc-detail-photo{min-height:280px}.fpc-detail-content{margin-top:46px}}

/* El catalogo puede aparecer dentro de un bloque de la pagina de Tienda. Sus fondos escapan del ancho del bloque; las tarjetas siguen max 1500px. */
.fpc-shop{width:auto;max-width:none!important;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.fpc-shop .fpc-shop-inner{width:min(100%,1500px);margin:0 auto}
body:has(.fpc-shop).fpn-hide-astra .site-content>.ast-container{padding-top:0!important;margin-top:0!important}
@media(max-width:620px){.fpc-shop{padding-left:18px;padding-right:18px}}


/* v0.1.3 — La foto principal ocupa TODA la caja de la galeria.
   El archivo aporta su margen de seguridad, no el CSS. El contenido no se recorta. */
.fpc-detail .fpc-detail-photo{
  position:relative;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  aspect-ratio:1 / 1;
  padding:0;
  border-radius:clamp(15px,2vw,25px);
  background:#fff;
  overflow:hidden;
}
.fpc-detail .fpc-detail-photo img.fpc-detail-image{
  display:block!important;
  flex:1 1 auto;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:contain!important;
  object-position:center center;
  box-shadow:none!important;
  transform:none!important;
}
.fpc-detail .fpc-detail-photo .fpc-no-img{
  margin:auto;
  padding:20px;
  text-align:center;
}
@media(max-width:720px){
  .fpc-detail .fpc-detail-photo{min-height:0;aspect-ratio:1 / 1}
}
