.efp-shell{--efp-ink:#171717;--efp-gray:#666;--efp-stroke:#e5e5e5;--efp-bg:#fff;box-sizing:border-box;max-width:1400px;width:calc(100% - 60px);margin:45px auto 75px;background:#fff;color:var(--efp-ink);font-family:Arial,Helvetica,sans-serif;text-align:left}.efp-shell *{box-sizing:border-box}.efp-shell a{color:inherit}.efp-breadcrumb{font-size:13px;color:#737373;display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin:0 0 25px}.efp-breadcrumb a{text-decoration:none}.efp-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:clamp(28px,4vw,65px);align-items:start}.efp-main-image{position:relative;aspect-ratio:1/1.08;background:#f7f7f7;overflow:hidden}.efp-zoom{padding:0!important;border:0!important;background:none!important;display:block;width:100%;height:100%;cursor:zoom-in}.efp-photo{display:block;width:100%;height:100%;object-fit:contain}.efp-zoom-hint{position:absolute;bottom:17px;right:17px;color:#171717;font-size:11px;background:rgba(255,255,255,.94);padding:8px 12px;border:1px solid #e5e5e5}.efp-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:12px}.efp-thumb{display:block;aspect-ratio:1;border:1px solid #ddd!important;background:#f8f8f8!important;padding:0!important;overflow:hidden;cursor:pointer}.efp-thumb.is-active{border:2px solid #111!important}.efp-thumb img{display:block;width:100%;height:100%;object-fit:cover}.efp-image-empty{width:100%;height:100%;display:grid;place-items:center}.efp-meta-top{font-size:11px;font-weight:700;letter-spacing:.2em;color:#737373;margin:0 0 16px}.efp-meta-top span{padding:0 8px}.efp-detail h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,2.5vw,47px);font-weight:500;line-height:1.12;letter-spacing:-.025em;color:#111!important;margin:0 0 12px;padding:0}.efp-ref{font-size:15px;color:#555;letter-spacing:.035em;margin:0 0 20px}.efp-intro{font-size:16px;line-height:1.8;color:#383838}.efp-intro p{padding-bottom:0;margin-bottom:20px}.efp-specs{border-top:1px solid #ddd;margin-top:22px}.efp-spec{display:grid;grid-template-columns:42% 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #ddd;line-height:1.5;font-size:14px}.efp-spec-key{font-weight:700}.efp-spec-value{color:#454545}.efp-commerce{padding:29px 0 23px}.efp-private-label{font-size:13px;color:#666;margin:0 0 12px}.efp-buttons{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}.efp-btn{font-size:12px!important;font-weight:700!important;letter-spacing:.04em;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 19px!important;text-align:center;border-radius:3px;transition:background .2s,transform .2s;line-height:1.4}.efp-btn:hover{transform:translateY(-1px)}.efp-btn-dark{background:#111!important;color:#fff!important;border:1px solid #111!important;flex:1}.efp-btn-light{background:#fff!important;color:#111!important;border:1px solid #111!important;min-width:145px}.efp-native-commerce .efp-price{font-size:24px;font-weight:700;margin-bottom:18px}.efp-native-commerce form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.efp-native-commerce .single_add_to_cart_button{background:#111!important;border-radius:2px!important;color:white!important;padding:14px 26px!important}.efp-native-commerce .single_add_to_cart_button::after{display:none!important}.efp-native-commerce .quantity input{max-width:70px}.efp-native-commerce .variations{width:100%}.efp-shipping{display:flex;align-items:center;gap:17px;background:#f4f4f4;padding:19px 20px;margin-top:6px}.efp-shipping svg{width:42px;height:42px;flex:none;color:#111}.efp-shipping strong{display:block;font-size:14px;line-height:1.5}.efp-shipping small{display:block;color:#6a6a6a;font-size:11px;line-height:1.55;margin-top:5px}.efp-help{font-size:14px;margin:25px 0 0}.efp-help a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.efp-bottom{border-top:1px solid #dedede;margin:58px 0 0;padding-top:0}.efp-tabs{display:flex;gap:0;border-bottom:1px solid #ddd;flex-wrap:wrap}.efp-tab{appearance:none;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:#777!important;font-size:13px!important;font-weight:700!important;padding:17px 22px!important;cursor:pointer;line-height:1.45}.efp-tab.is-active{color:#111!important;border-bottom-color:#111!important}.efp-panel{padding:30px 5px 10px;max-width:1050px;font-size:15px;line-height:1.85;color:#333}.efp-panel[hidden]{display:none!important}.efp-panel h2{font-family:Georgia,serif;font-size:30px;line-height:1.25;color:#111;margin:0 0 20px;padding:0}.efp-panel p{line-height:1.85}.efp-tech{margin:0}.efp-tech>div{display:grid;grid-template-columns:35% 1fr;border-bottom:1px solid #ddd;padding:12px 0;gap:15px}.efp-tech dt{font-weight:700}.efp-tech dd{margin:0}.efp-secondary{color:#666;font-size:13px;margin:22px 0}.efp-panel .efp-btn{max-width:300px}.efp-lightbox[hidden]{display:none!important}.efp-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;padding:50px 65px}.efp-lightbox-image{width:auto;max-width:100%;height:auto;max-height:90vh;object-fit:contain}.efp-close,.efp-arrow{position:absolute;border:0!important;background:rgba(255,255,255,.12)!important;color:#fff!important;cursor:pointer;display:grid;place-items:center}.efp-close{right:25px;top:21px;width:44px;height:44px;border-radius:50%;font-size:32px;line-height:1}.efp-arrow{top:50%;transform:translateY(-50%);font-size:50px;width:47px;height:65px}.efp-prev{left:10px}.efp-next{right:10px}.efp-counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:white;font-size:13px}.efp-stage-notice{background:#fff4d6;border-top:2px solid #dda500;border-bottom:2px solid #dda500;color:#3b311a;font:14px/1.5 Arial,sans-serif;padding:12px 20px;text-align:center;margin-top:15px}.efp-shell button:focus-visible,.efp-shell a:focus-visible{outline:3px solid #777;outline-offset:3px}@media(max-width:1050px){.efp-grid{gap:27px}.efp-spec{grid-template-columns:45% 1fr}.efp-detail h1{font-size:32px}.efp-buttons{flex-direction:column}.efp-btn-light{min-width:0}}@media(max-width:767px){.efp-shell{width:calc(100% - 30px);margin:26px auto 48px}.efp-grid{grid-template-columns:1fr;gap:26px}.efp-main-image{aspect-ratio:1/1.04}.efp-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.efp-detail h1{font-size:31px}.efp-intro{font-size:15px}.efp-shipping{padding:15px;gap:10px}.efp-shipping svg{width:35px;height:35px}.efp-bottom{margin-top:40px}.efp-tab{font-size:12px!important;padding:13px 12px!important}.efp-panel{padding-top:25px;font-size:14px}.efp-panel h2{font-size:25px}.efp-tech>div{grid-template-columns:40% 1fr}.efp-lightbox{padding:50px 36px}.efp-close{right:12px;top:12px}.efp-arrow{width:30px;left:2px;font-size:34px}.efp-next{left:auto;right:2px}.efp-breadcrumb{font-size:11px}}

/* v1.1: Reserve the actual Divi header height on the private preview only. */
.efp-stage{position:relative;z-index:1;box-sizing:border-box;clear:both}
.efp-stage .efp-stage-notice{margin:0 0 15px;position:relative;z-index:1}
.efp-stage .efp-shell{margin-top:28px}
.efp-stage .efp-main-image{aspect-ratio:1 / 1.0;max-height:625px;background:#fdfdfd}
.efp-stage .efp-photo{object-fit:contain}
.efp-stage .efp-detail h1{font-size:clamp(29px,2.3vw,42px);line-height:1.15}
.efp-stage .efp-specs{margin-top:15px}
.efp-stage .efp-spec{padding:10px 0}
@media(max-width:767px){.efp-stage .efp-shell{margin-top:18px}.efp-stage .efp-main-image{max-height:480px}.efp-stage .efp-detail h1{font-size:30px}}


/* v1.2 — Private-preview-only header correction. The old preview was rendered
   underneath Divi's floating header. Never apply these rules on public pages. */
body.efp-design-page #main-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
}
body.efp-design-page #page-container{padding-top:0!important}
body.efp-design-page #efp-stage{
  position:relative!important;
  display:flow-root;
  clear:both;
  z-index:1;
  margin:0!important;
  padding:24px 0 0!important;
  background:#fff;
}
body.efp-design-page #efp-stage .efp-stage-notice{
  margin:0!important;
  padding:12px 24px;
  border-top:1px solid #dfc86d;
  border-bottom:1px solid #dfc86d;
  text-align:center;
  background:#fff9e8;
  line-height:1.5;
  font:12px/1.5 Arial,sans-serif;
}
body.efp-design-page #efp-stage .efp-shell{
  margin:28px auto 70px!important;
  width:calc(100% - 60px)!important;
  max-width:1350px!important;
}
/* The whole portrait tree must be visible, independent of WooCommerce/Divi img styles. */
body.efp-design-page .efp-main-image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  aspect-ratio:auto!important;
  height:560px!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#f7f7f7!important;
}
body.efp-design-page .efp-zoom{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  position:relative!important;
}
body.efp-design-page .efp-main-image img.efp-photo{
  display:block!important;
  position:static!important;
  transform:none!important;
  margin:auto!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.efp-design-page .efp-zoom-hint{bottom:10px;right:10px}
body.efp-design-page .efp-detail h1{
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(29px,2.2vw,39px)!important;
  line-height:1.15!important;
}
body.efp-design-page .efp-specs{margin-top:14px!important}
body.efp-design-page .efp-spec{padding:10px 0!important}
body.efp-design-page .efp-spec-key{font-weight:700!important}
body.efp-design-page .efp-ref{margin:0 0 12px!important}
@media(max-width:980px){
  body.efp-design-page #efp-stage .efp-shell{width:calc(100% - 32px)!important}
  body.efp-design-page .efp-main-image{height:470px!important}
  body.efp-design-page .efp-zoom{padding:10px!important}
}
@media(max-width:767px){
  body.efp-design-page #efp-stage{padding-top:12px!important}
  body.efp-design-page #efp-stage .efp-shell{margin:20px auto 48px!important}
  body.efp-design-page .efp-main-image{height:410px!important}
  body.efp-design-page .efp-detail h1{font-size:29px!important}
}

/* v1.3: Private preview only. The Divi overlay header does not participate in
   normal document flow. JS measures it and gives the preview its own top inset. */
body.efp-design-page #efp-stage {
  margin:0 !important;
  padding:var(--efp-preview-top, 190px) 0 0 !important;
  isolation:isolate;
  background:#fff !important;
}
body.efp-design-page #efp-stage .efp-stage-notice {
  position:relative !important;
  z-index:2;
}
body.efp-design-page #efp-stage .efp-shell {
  margin:24px auto 66px !important;
}
body.efp-design-page #efp-stage .efp-main-image {
  height:440px !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  background:#fff !important;
}
body.efp-design-page #efp-stage .efp-zoom {
  padding:5px 20px !important;
}
body.efp-design-page #efp-stage .efp-photo {
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
body.efp-design-page #efp-stage .efp-specs {
  border-top:1px solid #dfdfdf !important;
  margin:17px 0 0 !important;
}
body.efp-design-page #efp-stage .efp-spec {
  display:grid !important;
  grid-template-columns:minmax(140px,42%) minmax(0,1fr) !important;
  border-bottom:1px solid #dfdfdf !important;
  gap:12px !important;
  padding:10px 0 !important;
}
body.efp-design-page #efp-stage .efp-spec-key {
  font-weight:700 !important;
  color:#111 !important;
}
body.efp-design-page #efp-stage .efp-spec-value {color:#444 !important}
@media (max-width:980px){
  body.efp-design-page #efp-stage .efp-main-image {height:410px !important}
}
@media (max-width:767px){
  body.efp-design-page #efp-stage {padding-top:var(--efp-preview-top, 120px) !important}
  body.efp-design-page #efp-stage .efp-main-image {height:355px !important}
  body.efp-design-page #efp-stage .efp-zoom {padding:0 !important}
  body.efp-design-page #efp-stage .efp-spec {grid-template-columns:42% minmax(0,1fr) !important}
}

/* v1.4 · Controles de PayPal en formato compacto. Se aplica exclusivamente
   en la plantilla premium, sin alterar el pago público ni el carrito. */
body.efp-design-page #efp-stage .efp-native-commerce #ppc-button-ppcp-gateway,
body.efp-design-page #efp-stage .efp-native-commerce #ppc-button,
body.efp-design-page #efp-stage .efp-native-commerce .ppc-button-wrapper,
body.efp-design-page #efp-stage .efp-native-commerce .ppcp-button-wrapper,
body.efp-design-page #efp-stage .efp-native-commerce .wc-ppcp-product-payment__methods,
body.efp-design-page #efp-stage .efp-native-commerce .wc-ppcp-product-payment__methods li.payment_method_ppcp {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  max-width:360px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}
/* Respetar las dimensiones mínimas de PayPal: no deformar ni recortar iframes. */
@media (max-width:767px) {
  body.efp-design-page #efp-stage .efp-native-commerce #ppc-button-ppcp-gateway,
  body.efp-design-page #efp-stage .efp-native-commerce #ppc-button,
  body.efp-design-page #efp-stage .efp-native-commerce .ppc-button-wrapper,
  body.efp-design-page #efp-stage .efp-native-commerce .ppcp-button-wrapper,
  body.efp-design-page #efp-stage .efp-native-commerce .wc-ppcp-product-payment__methods {
    max-width:100% !important;
  }
}

/* Public product stage shares the approved v1.4 spacing, sizing and PayPal dimensions. */
body.efp-public-product #efp-stage {display:flow-root;}
body.efp-public-product #efp-stage .efp-shell {padding-top:0;}
