:root{--pzd-pink:#f72585;--pzd-black:#0b0b0d;--pzd-white:#fff;--pzd-mint:#bdf4e4;--pzd-smoke:#f5f5f5;--pzd-gray:#707070;--pzd-line:#e7e7e7;--pzd-width:1480px;--pzd-radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pzd-white);color:var(--pzd-black);font-family:"Helvetica Neue",Arial,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{text-underline-offset:4px}button,input,select,textarea{font:inherit}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.pzd-main{min-height:55vh}h1,h2,h3,h4{font-family:"Arial Black","Helvetica Neue",Arial,system-ui,sans-serif;font-weight:900;letter-spacing:-.055em;line-height:.98}h1{font-size:clamp(3.3rem,7vw,7.7rem)}h2{font-size:clamp(2.3rem,4.7vw,5rem)}h3{font-size:clamp(1.3rem,2.1vw,2.2rem)}
/* Barra promo + cabecera */
.pzd-header-slot{position:sticky;top:var(--pzd-header-top,0px);z-index:100;background:#fff}.pzd-announcement{background:var(--pzd-pink);color:#fff;padding:11px 20px;font-size:14px;font-weight:700}.pzd-announcement p{margin:0}.pzd-header-shell{background:#fff;border-bottom:1px solid var(--pzd-line);transition:box-shadow .2s}.pzd-header-slot.is-scrolled .pzd-header-shell{box-shadow:0 8px 26px rgba(11,11,13,.07)}.pzd-header-main{min-height:82px;padding:0 24px;max-width:var(--pzd-width);margin:auto!important;gap:28px}.pzd-brand{flex:0 0 auto;gap:10px!important}.pzd-brand .wp-block-site-logo{margin:0}.pzd-brand .custom-logo{display:block;max-height:52px;width:auto}.pzd-brand .wp-block-site-title{margin:0;font-family:"Arial Black",Arial,sans-serif;font-size:26px;letter-spacing:-.06em;white-space:nowrap}.pzd-brand .wp-block-site-title a{text-decoration:none}.pzd-nav{flex:1;justify-content:center}.pzd-nav .wp-block-navigation__container{gap:clamp(16px,2.2vw,40px)}.pzd-nav a{text-decoration:none}.pzd-nav a:hover{color:var(--pzd-pink)}.pzd-header-tools{gap:12px!important;flex:0 0 auto}.pzd-header-tools>*{margin:0!important}.pzd-search .wp-block-search__button{background:transparent;color:var(--pzd-black);padding:8px;border:0}.pzd-search svg{width:25px;height:25px}.pzd-header-tools .wc-block-customer-account__account-icon,.pzd-header-tools .wc-block-mini-cart__icon{width:27px!important;height:27px!important}.pzd-header-tools .wc-block-mini-cart__button{padding:6px!important}.wc-block-mini-cart__amount{display:none!important}.wc-block-mini-cart__badge{background:var(--pzd-pink)!important;color:#fff!important;border-color:#fff!important}
/* Hero starter */
.pzd-hero{padding:22px 24px 0}.pzd-hero-grid{max-width:1780px;margin:0 auto!important;min-height:min(690px,74vh);gap:0!important;background:var(--pzd-smoke);overflow:hidden;border-radius:var(--pzd-radius)}.pzd-hero-copy{background:var(--pzd-black);color:#fff;padding:clamp(42px,7vw,105px);display:flex;flex-direction:column;justify-content:center}.pzd-hero-copy h1{color:#fff;margin:.05em 0 .18em}.pzd-hero-copy p{max-width:620px}.pzd-eyebrow{font-weight:900;letter-spacing:.1em;font-size:.78rem;text-transform:uppercase;color:var(--pzd-pink);margin-bottom:12px!important}.pzd-hero-copy .wp-block-button__link{background:var(--pzd-pink);color:#fff}.pzd-hero-copy .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border-color:#fff}.pzd-hero-note{font-size:.82rem;color:#c7c7c7;margin-top:18px!important}.pzd-hero-art{position:relative;min-height:520px;background:linear-gradient(135deg,var(--pzd-mint) 0 47%,var(--pzd-pink) 47% 100%);overflow:hidden}.pzd-art-card{position:absolute!important;margin:0!important;border:3px solid var(--pzd-black);box-shadow:10px 10px 0 var(--pzd-black)}.pzd-art-card-main{left:10%;top:12%;width:62%;background:#fff;padding:28px;transform:rotate(-5deg)}.pzd-art-card-main p{font-size:.78rem;font-weight:900;letter-spacing:.1em;margin:0 0 12px}.pzd-art-card-main h2{font-size:clamp(2.4rem,4.5vw,5rem);margin:0}.pzd-art-card-price{right:8%;bottom:10%;background:var(--pzd-mint);padding:22px 26px;transform:rotate(4deg)}.pzd-art-card-price p{margin:0;font-size:.72rem;font-weight:900}.pzd-art-card-price h3{margin:4px 0 0;font-size:clamp(1.8rem,3vw,3.4rem)}
/* Secciones */
.pzd-section{max-width:var(--pzd-width);margin:0 auto;padding:80px 24px}.pzd-section h2{margin:0 0 18px}.pzd-benefits{border-bottom:1px solid var(--pzd-line);padding:24px}.pzd-benefits .wp-block-columns{max-width:var(--pzd-width);margin:auto!important}.pzd-benefits .wp-block-column{padding:10px 16px;border-right:1px solid var(--pzd-line)}.pzd-benefits .wp-block-column:last-child{border-right:0}.pzd-benefits p{margin:0;font-size:.86rem;line-height:1.4}.pzd-benefits small{color:var(--pzd-gray)}.pzd-category-grid{gap:16px!important;margin-top:40px!important}.pzd-category{min-height:290px;padding:34px!important;display:flex;flex-direction:column;justify-content:flex-end;border:2px solid var(--pzd-black);border-radius:14px}.pzd-category h3{margin:0 0 10px}.pzd-category p{margin:0;font-weight:800}.pzd-category a{text-decoration:none}.pzd-category-fuchsia{background:var(--pzd-pink);color:#fff}.pzd-category-fuchsia h3,.pzd-category-fuchsia a{color:#fff}.pzd-category-black{background:var(--pzd-black);color:#fff}.pzd-category-black h3,.pzd-category-black a{color:#fff}.pzd-category-mint{background:var(--pzd-mint)}.pzd-category-white{background:#fff}.pzd-b2b{background:var(--pzd-smoke);border-radius:var(--pzd-radius);padding:clamp(28px,5vw,70px);align-items:center}.pzd-b2b h2{font-size:clamp(2rem,4vw,4rem)}
/* Productos Woo */
.woocommerce ul.products,.wc-block-product-template{gap:34px 22px!important}.woocommerce ul.products li.product{margin-bottom:36px!important}.woocommerce ul.products li.product a{text-decoration:none}.woocommerce ul.products li.product a img{background:var(--pzd-smoke);margin:0 0 18px!important;aspect-ratio:1/1.1;object-fit:contain;transition:transform .22s ease}.woocommerce ul.products li.product:hover a img{transform:scale(1.015)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:"Helvetica Neue",Arial,sans-serif!important;letter-spacing:-.02em!important;font-weight:800!important;font-size:1rem!important;padding:0!important;margin:0 0 6px!important}.woocommerce ul.products li.product .price{color:var(--pzd-black)!important;font-weight:800!important;font-size:1rem!important}.woocommerce ul.products li.product .button{display:inline-flex;background:transparent!important;color:var(--pzd-black)!important;border:1px solid var(--pzd-black)!important;border-radius:999px!important;padding:9px 15px!important;font-size:.78rem!important;margin-top:12px!important}.woocommerce ul.products li.product .button:hover{background:var(--pzd-black)!important;color:#fff!important}
/* Ficha producto: compatibilidad classic + bloques */
.woocommerce:not(body){max-width:var(--pzd-width);margin:42px auto;padding:0 24px 70px}.single-product .wp-site-blocks main,.single-product .woocommerce{max-width:var(--pzd-width)}.woocommerce div.product div.images,.wp-block-woocommerce-product-image-gallery{background:transparent;padding:0;border-radius:0}.woocommerce div.product .product_title,.wp-block-post-title{font-size:clamp(2.4rem,4vw,4.6rem);line-height:.98}.woocommerce div.product p.price,.woocommerce div.product span.price,.wp-block-woocommerce-product-price{color:var(--pzd-black);font-size:clamp(1.6rem,2.3vw,2.2rem);font-weight:700}.woocommerce div.product form.cart .variations{margin:26px 0}.woocommerce div.product form.cart .variations th{padding:12px 18px 12px 0;text-align:left;vertical-align:middle}.woocommerce div.product form.cart .variations td{padding:9px 0}.woocommerce div.product form.cart select{min-height:48px;border:1px solid #aaa;border-radius:8px;padding:0 42px 0 14px;background:#fff}.woocommerce div.product form.cart .button,.single_add_to_cart_button{background:var(--pzd-pink)!important;color:#fff!important;border:0!important;border-radius:999px!important;min-height:50px;padding:0 24px!important;font-weight:900!important;text-transform:uppercase}.woocommerce div.product form.cart .button:hover{filter:brightness(.94)}.woocommerce .quantity .qty{min-height:50px;border:1px solid #aaa;border-radius:8px}.product_meta{font-size:.85rem;color:var(--pzd-gray)}
/* Carrito / checkout bloques y clásico */
.pzd-page{padding:58px 24px 80px}.pzd-page>h1{font-size:clamp(2.7rem,5vw,5.2rem)}.wc-block-cart,.wc-block-checkout{max-width:var(--pzd-width);margin:0 auto;padding:40px 24px 80px}.wc-block-cart-items,.wc-block-components-sidebar,.wc-block-components-totals-wrapper,.woocommerce table.shop_table{border-color:var(--pzd-line)!important}.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:999px!important;font-weight:900!important}.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.woocommerce a.checkout-button{background:var(--pzd-black)!important;color:#fff!important}.wc-block-components-totals-coupon__button{color:var(--pzd-pink)!important}.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border-radius:8px!important}.woocommerce-message,.woocommerce-info{border-top-color:var(--pzd-pink)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--pzd-pink)!important}
/* Footer */
.pzd-footer{background:var(--pzd-black);color:#fff;padding:64px 24px 22px}.pzd-footer-grid{max-width:var(--pzd-width);margin:0 auto 50px!important;gap:52px!important}.pzd-footer h3,.pzd-footer .wp-block-site-title,.pzd-footer a{color:#fff}.pzd-footer .wp-block-site-title{font-size:2rem}.pzd-footer p{color:#c6c6c6;font-size:.9rem}.pzd-footer a{text-decoration:none}.pzd-footer a:hover{color:var(--pzd-pink)}.pzd-footer-bottom{max-width:var(--pzd-width);margin:auto!important;padding-top:20px;border-top:1px solid #303034}.pzd-footer-bottom p{margin:0;font-size:.75rem}
/* Accesibilidad / utilidades */
.wp-block-button__link{transition:transform .15s ease,filter .15s ease}.wp-block-button__link:hover{transform:translateY(-1px)}:focus-visible{outline:3px solid var(--pzd-pink);outline-offset:3px}.pzd-404{text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center}.pzd-404 h1{font-size:clamp(6rem,20vw,16rem);color:var(--pzd-pink);margin:0}
@media(max-width:1050px){.pzd-header-main{gap:14px}.pzd-nav{order:3;flex-basis:100%}.pzd-header-main{flex-wrap:wrap!important;padding-top:12px;padding-bottom:12px}.pzd-nav .wp-block-navigation__responsive-container-open{display:flex}.pzd-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.pzd-hero-grid{min-height:0}.pzd-category-grid{flex-wrap:wrap!important}.pzd-category-grid>.wp-block-column{flex-basis:calc(50% - 8px)!important}}
@media(max-width:782px){.pzd-announcement{font-size:12px;padding:8px 14px}.pzd-header-main{min-height:64px;padding-left:16px;padding-right:16px}.pzd-brand .custom-logo{max-width:150px;max-height:42px}.pzd-brand .wp-block-site-title{font-size:20px}.pzd-header-tools{margin-left:auto!important}.pzd-search{display:none}.pzd-hero{padding:12px 12px 0}.pzd-hero-grid{border-radius:12px}.pzd-hero-grid,.pzd-b2b{flex-direction:column!important}.pzd-hero-copy,.pzd-hero-art{flex-basis:auto!important;width:100%}.pzd-hero-copy{padding:46px 26px}.pzd-hero-art{min-height:430px}.pzd-benefits{padding:12px}.pzd-benefits .wp-block-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:0}.pzd-benefits .wp-block-column{border-right:1px solid var(--pzd-line);border-bottom:1px solid var(--pzd-line);padding:14px 8px}.pzd-section{padding:58px 16px}.pzd-category-grid{display:grid!important;grid-template-columns:1fr 1fr}.pzd-category{min-height:210px;padding:22px!important}.pzd-footer{padding-left:16px;padding-right:16px}.pzd-footer-grid{display:grid!important;grid-template-columns:1fr 1fr}.pzd-footer-grid>.wp-block-column:first-child{grid-column:1/-1}.woocommerce:not(body),.wc-block-cart,.wc-block-checkout{padding-left:16px;padding-right:16px}.woocommerce div.product div.images{padding:12px}}
@media(max-width:520px){.pzd-announcement p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pzd-category-grid{grid-template-columns:1fr}.pzd-footer-grid{grid-template-columns:1fr}.pzd-footer-grid>.wp-block-column:first-child{grid-column:auto}.pzd-hero-art{min-height:350px}.pzd-art-card-main{width:72%;left:7%}.pzd-art-card-price{right:5%;bottom:6%}}

/* Hero carrusel responsive */
.peu-hero-carousel{position:relative;width:100%;aspect-ratio:2560/1140;overflow:hidden;background:#f3f3f3;isolation:isolate}.peu-hero-carousel__track{position:absolute;inset:0}.peu-hero-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}.peu-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.peu-hero-slide picture{display:block;width:100%;height:100%}.peu-hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}.peu-hero-arrow{position:absolute;top:50%;width:54px;height:70px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(10,10,10,.28);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;z-index:10;transition:background .2s ease,transform .2s ease,border-color .2s ease}.peu-hero-arrow--prev{left:24px}.peu-hero-arrow--next{right:24px}.peu-hero-arrow span{display:block;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent}.peu-hero-arrow--prev span{border-right:13px solid rgba(255,255,255,.96);margin-left:-3px}.peu-hero-arrow--next span{border-left:13px solid rgba(255,255,255,.96);margin-right:-3px}.peu-hero-arrow:hover{background:rgba(0,0,0,.58);border-color:rgba(255,255,255,.5)}.peu-hero-arrow--prev:hover{transform:translateY(-50%) translateX(-2px)}.peu-hero-arrow--next:hover{transform:translateY(-50%) translateX(2px)}.peu-hero-arrow:focus-visible{outline:3px solid var(--pzd-pink);outline-offset:3px}
@media(max-width:767px){.peu-hero-carousel{aspect-ratio:1080/1350}.peu-hero-arrow{width:42px;height:56px;border-radius:7px;background:rgba(10,10,10,.23)}.peu-hero-arrow--prev{left:10px}.peu-hero-arrow--next{right:10px}.peu-hero-arrow span{border-top-width:7px;border-bottom-width:7px}.peu-hero-arrow--prev span{border-right-width:10px}.peu-hero-arrow--next span{border-left-width:10px}}
@media(prefers-reduced-motion:reduce){.peu-hero-slide{transition:none}}

/* =========================================================
   Personalizado 0.2.5 — Cabecera responsive limpia
   ========================================================= */

/* Logotipo real de Personalizado.eu */
.pzd-brand-logo,
.pzd-brand-logo.wp-block-image{
  margin:0!important;
  line-height:0;
  flex:0 0 auto;
}
.pzd-brand-logo a{
  display:block;
  line-height:0;
}
.pzd-brand-logo img,
.pzd-brand .custom-logo{
  display:block;
  width:220px!important;
  max-width:100%;
  height:auto!important;
  max-height:54px;
  object-fit:contain;
  object-position:left center;
}

/* Única regla de posicionamiento de la cabecera.
   --pzd-header-top lo calcula JS a partir de la parte REALMENTE visible
   de #wpadminbar. Para visitantes públicos vale 0px. */
header.pzd-header-slot,
header.wp-block-template-part.pzd-fixed-header-target{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:var(--pzd-header-top,0px)!important;
  width:100%!important;
  z-index:10000!important;
  margin:0!important;
  transform:none!important;
  translate:none!important;
  will-change:auto!important;
  background:#fff;
  align-self:flex-start;
}

/* El wrapper interno nunca es el elemento fixed. Esto evita dobles cabeceras
   cuando WordPress usa el archivo del tema en vez del Header guardado en BD. */
.pzd-mobile-fixed-header{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:none!important;
  z-index:auto!important;
  transform:none!important;
  translate:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff;
}
.pzd-mobile-fixed-header > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* Footer: los tres bloques de navegación pueden convivir en una fila. */
.pzd-footer h3{
  font-size:1.05rem;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:0 0 14px;
}

@media(max-width:1050px){
  /* Una sola fila: logo | menú | cuenta + carrito. */
  .pzd-header-main{
    min-height:72px;
    flex-wrap:nowrap!important;
    gap:14px!important;
    padding:0 18px!important;
    align-items:center!important;
  }
  .pzd-brand{
    flex:1 1 auto!important;
    min-width:0;
  }
  .pzd-brand-logo img,
  .pzd-brand .custom-logo{
    width:190px!important;
    max-height:46px;
  }
  .pzd-nav{
    order:initial!important;
    flex:0 0 auto!important;
    flex-basis:auto!important;
    margin:0!important;
  }
  .pzd-nav .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:5px!important;
    margin:0!important;
  }
  .pzd-nav .wp-block-navigation__responsive-container-open svg{
    width:27px;
    height:27px;
  }
  .pzd-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .pzd-header-tools{
    flex:0 0 auto!important;
    margin:0!important;
    gap:8px!important;
  }
}

@media(max-width:782px){
  /* En móvil la cabecera sale del flujo y se ancla al viewport. El offset
     superior es dinámico: 46→0 mientras la admin bar se desplaza, o 0 siempre
     para visitantes públicos. */
  header.pzd-header-slot,
  header.wp-block-template-part.pzd-fixed-header-target{
    position:fixed!important;
    top:var(--pzd-header-top,0px)!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    display:block!important;
  }

  /* Sólo hay que reservar la altura de la cabecera fija; la admin bar de
     WordPress ya gestiona su propio margen sobre <html>. */
  body.personalizado-theme .wp-site-blocks{
    padding-top:var(--pzd-mobile-header-height,0px)!important;
  }

  .pzd-header-main{
    min-height:66px;
    padding:0 14px!important;
    gap:8px!important;
  }
  .pzd-brand-logo img,
  .pzd-brand .custom-logo{
    width:clamp(145px,42vw,182px)!important;
    max-height:42px;
  }
  .pzd-search{display:none!important}
  .pzd-header-tools .wc-block-customer-account__account-icon,
  .pzd-header-tools .wc-block-mini-cart__icon{
    width:25px!important;
    height:25px!important;
  }
  .pzd-header-tools .wc-block-mini-cart__button,
  .pzd-header-tools .wc-block-customer-account__account-button{
    padding:5px!important;
  }

  /* Marca/descripcion arriba; Comprar, Ayuda y Legal en tres columnas. */
  .pzd-footer-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:12px!important;
    row-gap:28px!important;
  }
  .pzd-footer-grid>.wp-block-column{
    width:auto!important;
    flex-basis:auto!important;
    min-width:0;
  }
  .pzd-footer-grid>.wp-block-column:first-child{
    grid-column:1/-1!important;
  }
  .pzd-footer-grid h3{font-size:.95rem}
  .pzd-footer-grid p{font-size:.8rem;line-height:1.35}
}

@media(max-width:520px){
  .pzd-header-main{
    padding:0 10px!important;
    gap:6px!important;
  }
  .pzd-brand-logo img,
  .pzd-brand .custom-logo{
    width:clamp(136px,40vw,165px)!important;
    max-height:38px;
  }
  .pzd-nav .wp-block-navigation__responsive-container-open{
    width:34px;
    height:34px;
    padding:4px!important;
  }
  .pzd-nav .wp-block-navigation__responsive-container-open svg{
    width:24px;
    height:24px;
  }
  .pzd-header-tools{gap:4px!important}

  .pzd-footer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:8px!important;
    row-gap:24px!important;
  }
  .pzd-footer-grid>.wp-block-column:first-child{
    grid-column:1/-1!important;
  }
  .pzd-footer-grid h3{
    font-size:.86rem;
    white-space:nowrap;
  }
  .pzd-footer-grid p{
    font-size:.72rem;
    overflow-wrap:anywhere;
  }
  .pzd-footer-grid .wp-block-column:first-child p{
    font-size:.82rem;
  }
}


/* v0.2.6 — Mini-Cart debe vivir por encima de la cabecera sticky/fixed. */
.wc-block-components-drawer__screen-overlay{
  z-index:1000000!important;
}
.wc-block-mini-cart__drawer,
.wc-block-components-drawer{
  z-index:1000001!important;
}
.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden){
  position:fixed!important;
  inset:0!important;
}


/* v0.2.7 — Checkout integrado con la plantilla visual de Personalizado.eu.
   WooCommerce conserva intacto el Checkout Block; sólo cambiamos su envolvente. */
.pzd-checkout-main{
  width:min(100%,var(--pzd-width));
  margin:0 auto!important;
  padding:34px 24px 76px;
}
.pzd-checkout-main>.wp-block-post-content,
.pzd-checkout-main .wp-block-woocommerce-checkout{
  width:100%;
  max-width:none!important;
  margin:0!important;
}
.pzd-checkout-main .wc-block-checkout{
  width:100%;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}
/* La plantilla nativa de WooCommerce añade espaciados pensados para su
   cabecera minimalista. Con nuestra cabecera normal esos huecos sobran. */
.pzd-checkout-main .wc-block-checkout__main,
.pzd-checkout-main .wc-block-checkout__sidebar{
  margin-top:0!important;
}

@media(max-width:782px){
  .pzd-checkout-main{
    padding:22px 14px 56px;
  }
  .pzd-checkout-main .wc-block-checkout{
    padding:0!important;
  }
}

/* v0.2.8 — Productos relacionados: WooCommerce puede inyectar controles
   (botón de acción / badge de oferta) dentro de cada tarjeta. En determinadas
   combinaciones de bloques y estilos globales esos controles heredaban el
   tratamiento redondeado del tema y podían acabar como grandes "globos".
   En relacionados la imagen y el título ya enlazan al producto, por lo que
   ocultamos únicamente esos controles auxiliares, sin afectar tienda,
   carrito, checkout ni la ficha principal. */
.single-product .related.products li.product .button,
.single-product .related.products li.product .added_to_cart,
.single-product .related.products li.product .onsale,
.single-product .wp-block-woocommerce-related-products .wp-block-button,
.single-product .wp-block-woocommerce-related-products .wc-block-components-product-button,
.single-product .wp-block-woocommerce-related-products .wp-block-woocommerce-product-sale-badge,
.single-product .wp-block-woocommerce-related-products .wc-block-components-product-sale-badge,
.single-product .wc-block-related-products .wp-block-button,
.single-product .wc-block-related-products .wc-block-components-product-button,
.single-product .wc-block-related-products .wc-block-components-product-sale-badge {
  display:none!important;
}


/* v0.2.9 — Las tiendas creadas por [personalizado_tienda] rompen el ancho
   de contenido de la página únicamente en escritorio. El resto del contenido
   (título, párrafos, legales, etc.) conserva el layout constrained del tema.
   Dejamos 32px reales de margen respecto al viewport para que la rejilla use
   prácticamente todo el ancho sin tocar los bordes ni generar overflow. */
@media (min-width:1024px){
  body.personalizado-theme .pzd-page .pzd-storefront{
    width:calc(100vw - 64px)!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw + 32px)!important;
    margin-right:calc(50% - 50vw + 32px)!important;
  }
}

/* v0.2.11 — Ficha de producto.
   La galería usa el ancho íntegro de su columna, sin marco/padding artificial.
   Se desactiva cualquier affordance de zoom/lightbox y se mantiene el slider
   de WooCommerce para productos con más de una imagen. */
@media (min-width:901px){
  .single-product .woocommerce div.product div.images.woocommerce-product-gallery{
    width:56%!important;
    float:left!important;
    margin:0 0 44px!important;
  }
  .single-product .woocommerce div.product div.summary{
    width:40%!important;
    float:right!important;
    margin:0 0 44px!important;
    padding-top:4px;
  }
}

/* Reset completo de los envoltorios de galería. El padding de 22px del tema
   anterior era el marco visible. El overflow del contenedor principal debe ser
   visible para no recortar la insignia de oferta. */
.single-product .woocommerce div.product div.images.woocommerce-product-gallery,
.single-product .wp-block-woocommerce-product-image-gallery{
  padding:0!important;
  margin-top:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image>a,
.single-product .wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-large-image,
.single-product .wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-large-image__image,
.single-product .wp-block-woocommerce-product-image-gallery figure,
.single-product .wp-block-woocommerce-product-image-gallery a{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.single-product .woocommerce-product-gallery .flex-viewport{width:100%!important}
.single-product .woocommerce-product-gallery__wrapper{width:100%!important}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image>a{display:block!important;width:100%!important}
.single-product .woocommerce-product-gallery__image img,
.single-product .wp-block-woocommerce-product-image-gallery img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Sin zoom: WooCommerce ya no recibe soporte de zoom/lightbox desde functions.php.
   Ocultamos también el trigger de forma defensiva y evitamos que el enlace de la
   imagen abra directamente el archivo original si algún markup cacheado lo conserva. */
.single-product .woocommerce-product-gallery__trigger,
.single-product .wc-block-product-gallery-large-image__image--zoom,
.single-product [class*="product-gallery"] [class*="zoom"]{
  display:none!important;
}
.single-product .woocommerce-product-gallery__image>a{pointer-events:none!important;cursor:default!important}

/* La insignia de oferta debe quedar completamente dentro de la esquina de la
   galería. Evitamos el desplazamiento negativo nativo que quedaba recortado. */
.single-product .woocommerce span.onsale,
.single-product span.onsale{
  top:12px!important;
  left:12px!important;
  right:auto!important;
  margin:0!important;
  z-index:12!important;
}

/* Título y precio mantienen la jerarquía comercial de la versión anterior. */
.single-product .woocommerce div.product .product_title{
  margin:0 0 24px!important;
  font-size:clamp(2.55rem,3.35vw,3.85rem)!important;
  line-height:.98!important;
}
.single-product .woocommerce div.product p.price{
  display:flex!important;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 30px!important;
  line-height:1!important;
}
.single-product .woocommerce div.product p.price ins{
  order:1;
  background:none!important;
  color:var(--pzd-black)!important;
  text-decoration:none!important;
  font-size:clamp(1.85rem,2.35vw,2.35rem)!important;
  font-weight:900!important;
}
.single-product .woocommerce div.product p.price del{
  order:2;
  color:#5f6268!important;
  opacity:1!important;
  font-size:clamp(1rem,1.3vw,1.25rem)!important;
  font-weight:600!important;
}
.single-product .woocommerce div.product p.price>span.amount{font-weight:900!important}
.single-product .woocommerce div.product .woocommerce-product-details__short-description{
  margin:0 0 28px;
  font-size:1rem;
  line-height:1.55;
}
.single-product .woocommerce div.product form.cart{margin-top:0!important}

@media(max-width:900px){
  .single-product .woocommerce div.product div.images.woocommerce-product-gallery,
  .single-product .woocommerce div.product div.summary,
  .single-product .wp-block-woocommerce-product-image-gallery{
    float:none!important;
    width:100%!important;
  }
  .single-product .woocommerce div.product div.images.woocommerce-product-gallery,
  .single-product .wp-block-woocommerce-product-image-gallery{margin-bottom:28px!important}
  .single-product .woocommerce div.product .product_title{font-size:clamp(2.25rem,11vw,3.2rem)!important;margin-bottom:18px!important}
  .single-product .woocommerce div.product p.price{margin-bottom:24px!important}
}


/* =========================================================
   Personalizado 0.2.12 — Ficha de producto: grid real en escritorio
   =========================================================
   WooCommerce clásico maqueta galería/resumen con floats. En determinadas
   combinaciones de ancho y FlexSlider la galería podía quedarse con un ancho
   visual mucho menor que la columna reservada, dejando un gran hueco vacío.
   En escritorio sustituimos únicamente esa pareja por una grid explícita.
   Móvil conserva la pila vertical ya existente. */
@media (min-width:901px){
  .single-product .woocommerce div.product{
    display:grid!important;
    grid-template-columns:minmax(0,44fr) minmax(0,56fr);
    column-gap:clamp(32px,3vw,54px);
    align-items:start;
  }

  .single-product .woocommerce div.product div.images.woocommerce-product-gallery,
  .single-product .woocommerce div.product .wp-block-woocommerce-product-image-gallery{
    grid-column:1;
    grid-row:1;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 44px!important;
    min-width:0;
  }

  .single-product .woocommerce div.product div.summary{
    grid-column:2;
    grid-row:1;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0;
    margin:0 0 44px!important;
    padding-top:4px;
  }

  /* Contenido posterior del producto debe ocupar ambas columnas. */
  .single-product .woocommerce div.product > .woocommerce-tabs,
  .single-product .woocommerce div.product > .upsells,
  .single-product .woocommerce div.product > .related,
  .single-product .woocommerce div.product > section.related,
  .single-product .woocommerce div.product > section.up-sells{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
  }

  /* FlexSlider debe calcular sobre todo el ancho de la nueva columna. */
  .single-product .woocommerce-product-gallery .flex-viewport,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image > a{
    width:100%!important;
    max-width:none!important;
  }
}


/* =========================================================
   Personalizado 0.2.13 — WooCommerce blockified Single Product
   =========================================================
   WooCommerce usa, en block themes, un wp:columns donde la columna de galería
   trae un flex-basis fijo. Las reglas clásicas sobre .woocommerce div.product
   no alcanzan esa estructura. Maquetamos únicamente el bloque de columnas que
   contiene Product Image Gallery y dejamos intactos el resto de wp:columns. */
@media (min-width:901px){
  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery){
    display:grid!important;
    grid-template-columns:minmax(0,44fr) minmax(0,56fr)!important;
    column-gap:clamp(32px,3vw,54px)!important;
    row-gap:0!important;
    align-items:start!important;
  }

  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery) > .wp-block-column{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:initial!important;
    flex-basis:auto!important;
    margin:0!important;
  }

  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery)
  .wp-block-woocommerce-product-image-gallery{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery)
  .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery,
  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery)
  .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper,
  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery)
  .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image,
  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery)
  .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image > a,
  body.single-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery)
  .wp-block-woocommerce-product-image-gallery img{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}
