/* ZENS — WooCommerce store styling (single product, cart, checkout, shop) */

/* ---------- shared ---------- */
.woocommerce-page, body.woocommerce { background: var(--bg-canvas); }
.woocommerce { font-family: var(--font-body); color: var(--fg); }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button, .woocommerce #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--font-serif) !important; font-size: 14.5px !important; font-weight: 500 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  padding: 14px 30px !important; border-radius: 999px !important;
  background: var(--zns-maroon) !important; color: var(--zns-cream) !important;
  border: 1px solid var(--zns-maroon) !important; cursor: pointer;
  transition: all .3s var(--ease) !important; text-decoration: none !important; line-height: 1.2 !important;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #place_order:hover { background: var(--zns-gold) !important; border-color: var(--zns-gold) !important; color: var(--zns-cream) !important; }
.woocommerce .button.disabled, .woocommerce .button:disabled { opacity: .4 !important; }

/* headings across store pages */
.woocommerce h1, .woocommerce h2, .woocommerce-page h1, .woocommerce-page h2 { font-family: var(--font-display); font-weight: 300; color: var(--zns-maroon); }

/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--zns-white); border-top-color: var(--zns-gold); color: var(--fg); border-radius: var(--r-md); font-family: var(--font-body); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--zns-gold); }

/* breadcrumb */
.woocommerce .woocommerce-breadcrumb { font-family: var(--font-serif); font-size: 14px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-faint); margin-bottom: 26px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--fg-muted); }

/* ---------- single product ---------- */
.single-product div.product { display: flow-root; }
.single-product .site-main, .single-product main { background: var(--bg-canvas); }
.single-product div.product div.images { border-radius: var(--r-lg); overflow: hidden; }
.single-product div.product div.images img { border-radius: var(--r-lg); }
.single-product div.product .product_title { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.1rem, 4vw, 3rem); color: var(--zns-maroon); line-height: 1.05; margin-bottom: 8px; }
.single-product div.product .woocommerce-product-rating { display: none; }
.single-product div.product p.price { font-family: var(--font-display); font-weight: 400; font-size: 30px; color: var(--zns-maroon); margin: 6px 0 14px; }
.single-product div.product p.price del { opacity: .45; }
.single-product .woocommerce-product-details__short-description { font-family: var(--font-body); font-size: 18px; line-height: 1.7; color: var(--fg-muted); max-width: 58ch; }

/* related products */
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { font-family: var(--font-display); font-weight: 300; font-size: 34px; color: var(--zns-maroon); text-align: center; margin: 24px 0 30px; }

/* product cards (shop/related grids) */
.woocommerce ul.products li.product { background: var(--zns-white); border: 1px solid var(--zns-line); border-radius: var(--r-lg); overflow: hidden; padding-bottom: 22px; transition: box-shadow .4s var(--ease), transform .4s var(--ease); text-align: center; }
.woocommerce ul.products li.product:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.woocommerce ul.products li.product a img { margin-bottom: 14px; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-display); font-weight: 400; font-size: 23px; color: var(--zns-maroon); padding: 0 16px .35em; }
.woocommerce ul.products li.product .price { font-family: var(--font-serif); font-size: 18px; color: var(--zns-maroon); }
.woocommerce ul.products li.product .button { margin-top: 12px; padding: 11px 24px !important; font-size: 13px !important; }
.woocommerce ul.products li.product .onsale { background: var(--zns-gold); font-family: var(--font-serif); border-radius: 999px; }

/* ---------- cart ---------- */
.woocommerce-cart .shop_table { border: 1px solid var(--zns-line); border-radius: var(--r-lg); overflow: hidden; background: var(--zns-white); }
.woocommerce-cart .shop_table th { font-family: var(--font-serif); font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-muted); background: var(--zns-cream); }
.woocommerce-cart .shop_table td { border-top: 1px solid var(--zns-line); font-family: var(--font-body); font-size: 17px; color: var(--fg); }
.woocommerce-cart .product-name a { color: var(--zns-maroon); font-family: var(--font-serif); font-size: 18px; }
.woocommerce-cart img.attachment-woocommerce_thumbnail { border-radius: var(--r-md); }
.woocommerce-cart .cart_totals h2 { font-size: 28px; }
.woocommerce-cart .cart_totals .shop_table { border-radius: var(--r-lg); }
.woocommerce-cart .checkout-button { width: 100%; }
.woocommerce-cart .coupon .input-text { padding: 12px 14px; border: 1px solid var(--zns-line); border-radius: var(--r-md); font-family: var(--font-body); }

/* ---------- checkout ---------- */
.woocommerce-checkout h3 { font-family: var(--font-display); font-weight: 300; font-size: 27px; color: var(--zns-maroon); }
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  padding: 13px 15px; background: var(--zns-white); border: 1px solid var(--zns-line); border-radius: var(--r-md);
  font-family: var(--font-body); font-size: 16px; color: var(--fg); height: auto;
}
.woocommerce-checkout form .form-row label { font-family: var(--font-serif); font-size: 14px; letter-spacing: .06em; color: var(--fg-muted); }
.woocommerce-checkout #order_review_heading { margin-top: 12px; }
.woocommerce-checkout #order_review .shop_table { border: 1px solid var(--zns-line); border-radius: var(--r-lg); background: var(--zns-white); overflow: hidden; }
.woocommerce-checkout #order_review .shop_table th, .woocommerce-checkout #order_review .shop_table td { font-family: var(--font-body); border-color: rgba(76,29,29,.1); }
.woocommerce-checkout #payment { background: var(--zns-cream-dim); border-radius: var(--r-lg); }
.woocommerce-checkout #payment .payment_method_paypal .about_paypal { display: none; }
.woocommerce-checkout #payment div.payment_box { background: var(--zns-white); color: var(--fg-muted); font-family: var(--font-body); border-radius: var(--r-md); }
.woocommerce-checkout #payment div.payment_box::before { color: var(--zns-white); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--zns-line); }
.woocommerce-checkout #payment ul.payment_methods li label { font-family: var(--font-serif); font-size: 16.5px; color: var(--zns-maroon); }
.woocommerce-checkout #place_order { width: 100%; padding: 17px 30px !important; font-size: 15.5px !important; }

/* account pages */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { font-family: var(--font-serif); letter-spacing: .08em; color: var(--fg-muted); display: block; padding: 10px 4px; border-bottom: 1px solid var(--zns-line); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--zns-maroon); }

@media (max-width: 768px) {
  .single-product form.cart .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
  .single-product .single_add_to_cart_button { width: 100%; }
}

/* ===== DISENO PRODUCTO v10 (rejilla propia: foto + tarjeta) ===== */
.single-product div.product{display:block !important;padding:clamp(92px,12vh,128px) 40px clamp(56px,8vw,96px) !important;box-sizing:border-box}
.zpd-grid{display:grid;grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);gap:clamp(28px,3.6vw,56px);align-items:start}
.zpd-grid .woocommerce-product-gallery, .woocommerce .zpd-grid div.product div.images.woocommerce-product-gallery{grid-column:1;grid-row:1;position:sticky !important;top:96px !important;margin:0 !important;width:100% !important;max-width:100% !important;float:none !important;align-self:start}
.zpd-grid .entry-summary{grid-column:2;grid-row:1;margin:0 !important;width:100% !important;max-width:100% !important;float:none !important;background:var(--bg-card) !important;border:1px solid var(--zns-line);border-radius:var(--r-lg) !important;box-shadow:var(--shadow-md);padding:clamp(30px,3.2vw,46px) !important}
.single-product div.product .woocommerce-product-gallery__wrapper, .single-product div.product .woocommerce-product-gallery__image{margin:0 !important}
.single-product div.product .woocommerce-product-gallery__image{aspect-ratio:5/6;border-radius:var(--r-lg);overflow:hidden;background:var(--zns-cream-dim);box-shadow:var(--shadow-md);display:block}
.single-product div.product .woocommerce-product-gallery__image a{display:block;height:100%}
.single-product div.product .woocommerce-product-gallery__image img{width:100% !important;height:100% !important;object-fit:cover;border-radius:0 !important;transition:transform 1.4s var(--ease)}
.single-product div.product .woocommerce-product-gallery__image:hover img{transform:scale(1.04)}
.single-product .woocommerce-product-gallery__trigger{top:16px !important;right:16px !important;left:auto !important;width:42px;height:42px;border-radius:50%;background:var(--zns-white) !important;color:var(--zns-maroon);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);font-size:0;transition:background .25s var(--ease),transform .25s var(--ease);z-index:5}
.single-product .woocommerce-product-gallery__trigger:hover{background:var(--zns-maroon) !important;transform:scale(1.05)}
.single-product .woocommerce-product-gallery__trigger img{display:none}
.single-product .woocommerce-product-gallery__trigger:before{content:'';display:block;width:17px;height:17px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat}
.single-product div.product .flex-control-thumbs{display:flex !important;gap:12px;margin:14px 0 0 !important;padding:0;list-style:none}
.single-product div.product .flex-control-thumbs li{flex:1;margin:0;width:auto !important}
.single-product div.product .flex-control-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--zns-line);opacity:.7;cursor:pointer;transition:opacity .25s var(--ease),border-color .25s var(--ease)}
.single-product div.product .flex-control-thumbs img:hover, .single-product div.product .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--zns-maroon)}
.single-product div.product .woocommerce-tabs{margin-top:clamp(48px,5vw,72px) !important;clear:both;position:relative;z-index:2;background:var(--bg-canvas)}
.single-product div.product .related, .single-product div.product .upsells{margin-top:clamp(40px,4vw,56px) !important;clear:both;position:relative;z-index:2}
@media (max-width:900px){.single-product div.product{padding:60px 20px 56px !important}.zpd-grid{grid-template-columns:minmax(0, 1fr);gap:24px}.zpd-grid .woocommerce-product-gallery{position:static;grid-column:1;grid-row:1}.zpd-grid .entry-summary{grid-column:1;grid-row:2}.single-product div.product .woocommerce-product-gallery__image{aspect-ratio:4/3}}

/* relacionados: tarjetas iguales v11 */
.single-product .related ul.products, .single-product .upsells ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:26px;margin:0 !important;padding:0;list-style:none;align-items:stretch}
.single-product .related ul.products::before, .single-product .related ul.products::after, .single-product .upsells ul.products::before, .single-product .upsells ul.products::after{display:none !important}
.single-product .related ul.products li.product, .single-product .upsells ul.products li.product{width:100% !important;max-width:100% !important;margin:0 !important;float:none !important;display:flex !important;flex-direction:column;height:100%;background:var(--zns-white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);text-align:center;padding:0 !important}
.single-product .related ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;height:100%}
.single-product .related ul.products li.product img, .single-product .upsells ul.products li.product img{width:100% !important;aspect-ratio:1/1;object-fit:cover;margin:0 !important;border-radius:0 !important;flex:0 0 auto}
.single-product .related ul.products li.product .woocommerce-loop-product__title, .single-product .upsells ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display) !important;font-size:26px !important;font-weight:400 !important;color:var(--zns-maroon) !important;line-height:1.25 !important;padding:22px 18px 0 !important;margin:0 !important;min-height:calc(2 * 1.25em + 22px);display:flex;align-items:flex-start;justify-content:center;text-align:center}
.single-product .related ul.products li.product .price, .single-product .upsells ul.products li.product .price{font-family:var(--font-display) !important;font-size:22px !important;color:var(--zns-maroon) !important;margin:8px 0 0 !important;padding:0 18px;text-align:center}
.single-product .related ul.products li.product .button, .single-product .upsells ul.products li.product .button{margin:auto 18px 20px !important;align-self:center;max-width:calc(100% - 36px);box-sizing:border-box;border-radius:var(--r-pill) !important;background:var(--zns-maroon) !important;color:var(--zns-cream) !important;border:none !important;font-family:var(--font-serif) !important;font-size:15px !important;font-weight:500 !important;letter-spacing:.12em;text-transform:uppercase;padding:13px 22px !important;white-space:normal !important;line-height:1.3 !important;text-align:center;transition:all .25s var(--ease)}
.single-product .related ul.products li.product .button:hover, .single-product .upsells ul.products li.product .button:hover{background:var(--zns-gold) !important}
.single-product .related>h2, .single-product .upsells>h2{font-family:var(--font-display) !important;font-size:clamp(2.2rem,3.6vw,3rem) !important;font-weight:300 !important;color:var(--zns-maroon) !important;text-align:center;margin:0 0 clamp(24px,3vw,34px) !important}
@media (max-width:1024px){.single-product .related ul.products, .single-product .upsells ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.single-product .related ul.products, .single-product .upsells ul.products{grid-template-columns:1fr}}

/* pestanas producto v12 */
.single-product div.product .woocommerce-tabs{background:var(--zns-white) !important;border:1px solid var(--zns-line);border-radius:var(--r-lg);padding:0 !important;overflow:hidden;box-shadow:var(--shadow-sm)}
.single-product div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 !important;padding:0 !important;list-style:none;background:var(--zns-cream) !important;border-bottom:1px solid var(--zns-line) !important}
.single-product div.product .woocommerce-tabs ul.tabs::before, .single-product div.product .woocommerce-tabs ul.tabs::after{display:none !important}
.single-product div.product .woocommerce-tabs ul.tabs li{margin:0 !important;padding:0 !important;background:transparent !important;border:none !important;border-radius:0 !important;box-shadow:none !important}
.single-product div.product .woocommerce-tabs ul.tabs li::before, .single-product div.product .woocommerce-tabs ul.tabs li::after{display:none !important}
.single-product div.product .woocommerce-tabs ul.tabs li a{display:block;padding:18px 30px !important;border-bottom:2px solid transparent !important;font-family:var(--font-serif) !important;font-size:14px !important;font-weight:500 !important;letter-spacing:.18em;text-transform:uppercase;transition:all .25s var(--ease)}
.single-product div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--zns-maroon) !important;background:var(--zns-white) !important}
.single-product div.product .woocommerce-tabs ul.tabs li.active{background:var(--zns-white) !important}
.single-product div.product .woocommerce-tabs ul.tabs li.active.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li.active.active a{color:var(--zns-maroon) !important;border-bottom:2px solid var(--zns-gold) !important;box-shadow:none !important}
.single-product div.product .woocommerce-tabs .panel{margin:0 !important;padding:clamp(26px,3vw,38px) !important;background:var(--zns-white)}
.single-product div.product .woocommerce-tabs .panel>h2:first-of-type{display:none}
.single-product div.product .woocommerce-tabs .panel p{font-family:var(--font-body) !important;font-size:19px !important;line-height:1.75 !important;color:var(--fg-muted) !important;margin:0 0 14px}
.single-product div.product .woocommerce-tabs .panel ul{margin:0;padding-left:22px}
.single-product div.product .woocommerce-tabs .panel ul li{font-family:var(--font-body) !important;font-size:19px !important;line-height:1.9 !important;color:var(--fg-muted) !important}
.single-product div.product .woocommerce-tabs .panel ul li::marker{color:var(--zns-gold)}
.single-product div.product .woocommerce-tabs .panel table.shop_attributes{width:100%;border:none}
.single-product div.product .woocommerce-tabs .panel table.shop_attributes th, .single-product div.product .woocommerce-tabs .panel table.shop_attributes td{font-family:var(--font-body) !important;font-size:17px !important;color:var(--fg-muted) !important;padding:12px 8px !important;border-bottom:1px solid var(--zns-line) !important;background:transparent !important}
@media (max-width:600px){.single-product div.product .woocommerce-tabs ul.tabs li a{padding:14px 18px !important;font-size:12.5px !important}}

/* Relacionados: cuando la tarjeta ya ofrece "Personalizar" (primario granate),
   el botón de añadir baja a secundario. Misma especificidad que la regla de arriba. */
.single-product .related ul.products li.product .button.zloop-secundario,
.single-product .upsells ul.products li.product .button.zloop-secundario {
  background: transparent !important; color: var(--zns-maroon) !important;
  border: 1px solid rgba(76,29,29,.45) !important; }
.single-product .related ul.products li.product .button.zloop-secundario:hover,
.single-product .upsells ul.products li.product .button.zloop-secundario:hover {
  background: var(--zns-maroon) !important; border-color: var(--zns-maroon) !important; color: var(--zns-cream) !important; }
/* el de personalizar hereda el tamaño/margen del botón del bucle */
.single-product .related ul.products li.product .zloop-personalizar,
.single-product .upsells ul.products li.product .zloop-personalizar {
  margin: auto 18px 8px !important; max-width: calc(100% - 36px); box-sizing: border-box;
  font-size: 15px !important; padding: 13px 22px !important; letter-spacing: .12em !important;
  white-space: normal !important; line-height: 1.3 !important; }
