/* Product presentation only. All selectors are isolated from shop and checkout. */
body.emv-product-design { --emv-blue:#0066d5; --emv-navy:#061e48; --emv-muted:#7d89a7; --emv-line:#e2e8f1; }
.emv-product-design .product_content_wrapper { position:relative; padding-top:48px; }
.emv-product-design .product_content_wrapper > .row { display:flex; align-items:stretch; gap:26px; margin:0; width:100%; max-width:none; }
.emv-product-design .product_content_wrapper > .row > .columns { float:none; padding:0; left:auto; flex:1 1 0; min-width:0; width:auto; }
.emv-product-design .product_content_wrapper > .row > .columns:has(.product-images-wrapper) { flex:1.1 1 0; }
.emv-product-design .product_content_wrapper > .row > .columns:has(.product_infos) { flex:.9 1 0; }
.emv-product-design .product_content_wrapper > .row > .columns:not(:has(.product-images-wrapper)):not(:has(.product_infos)) { display:none; }
.emv-product-design .product_infos { width:100%!important; }
body.emv-product-design .product_infos { padding:24px!important; border-radius:12px!important; box-shadow:0 8px 26px rgba(20,51,91,.035)!important; }
body.emv-product-design .product_infos form.cart > .quantity.custom { margin:0!important; }
body.emv-product-design form.cart .single_add_to_cart_button { border-radius:9px!important; }
body.emv-product-design .controls-wrapper,body.emv-product-design .wppm-pack-quantity { border-color:#e2e8f1!important; }
body.emv-product-design .product_summary_middle { margin-bottom:22px!important; }
body.emv-product-design .emv-product-subtitle { margin-bottom:22px!important; }
body.emv-product-design .product_content_wrapper { margin-top:0!important; }
body.emv-product-design .product-images-wrapper { margin:0!important; width:100%!important; }
body.emv-product-design .product_layout_classic .product > .row { padding:0!important; max-width:none; }
body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > .button { padding:0!important; flex:0 0 50px; min-width:50px!important; width:50px!important; }
body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > input { flex:1 1 0; min-width:0!important; box-sizing:border-box; }
body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > .button { background:transparent!important; color:#53617f!important; border:0!important; border-radius:0!important; }
body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > input { border:0!important; border-left:1px solid #e2e8f1!important; border-right:1px solid #e2e8f1!important; }
.emv-product-design .product-images-wrapper { position:relative; }
@media(min-width:1025px) { body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-viewport { width:100%!important; margin-left:0!important; } body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-control-thumbs { width:100px!important; } }
.emv-product-design .emv-gallery-navigation { position:absolute; top:48%; left:140px; right:20px; display:flex; justify-content:space-between; pointer-events:none; }
body.emv-product-design .emv-gallery-navigation button { pointer-events:auto; width:44px; height:44px; border:1px solid var(--emv-line); border-radius:50%; padding:0; background:#fff; color:#53617f; font-size:30px; line-height:40px; box-shadow:0 3px 10px rgba(20,51,91,.06); }
body.emv-product-design .product-images-wrapper .emv-gallery-navigation button { font-size:30px!important; line-height:40px!important; padding:0!important; }
body.emv-product-design .product_infos .single_add_to_wishlist { display:flex; align-items:center; justify-content:flex-start; gap:8px; text-transform:none!important; font-size:13px!important; font-weight:400!important; color:var(--emv-blue)!important; }
body.emv-product-design .product_infos .yith-wcwl-add-to-wishlist { text-align:left!important; margin:20px 0 0!important; }
body.emv-product-design .product_infos .trust-producto { color:var(--emv-muted); font-size:11px; }
body.emv-product-design .emv-product-identifiers { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; }
body.emv-product-design .emv-product-identifiers .emv-product-code { margin:0; }
body.emv-product-design .emv-product-identifiers .stock { margin:0!important; color:#129861!important; font-size:13px; }
body.emv-product-design .emv-product-identifiers .stock.in-stock::before { content:'●'; margin-right:8px; }
body.emv-product-design .product_infos .yith-wcwl-add-button { display:flex!important; justify-content:flex-start!important; }
body.emv-product-design .product_infos > p.price { margin-bottom:20px!important; }
@media(max-width:1024px) { .emv-product-design .emv-gallery-navigation { left:20px; } }
@media(max-width:1024px) {
 body.emv-product-design .content-area { padding-top:28px!important; }
 body.emv-product-design .product-images-wrapper .woocommerce-product-gallery { display:block!important; padding:0!important; }
 body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-viewport { width:100%!important; margin-left:0!important; }
 body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-control-thumbs { display:flex!important; position:static!important; width:100%!important; height:auto!important; align-items:flex-start; gap:10px; margin:14px 0 0!important; }
 body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-control-thumbs li { flex:0 0 64px; width:64px!important; height:auto!important; margin:0!important; }
}
@media(max-width:359px) { body.emv-product-design .product_infos .wppm-pack-controls { flex-wrap:wrap!important; } body.emv-product-design .product_infos .wppm-add-pack-to-cart { min-width:100%!important; width:100%!important; } }
/* Keep the complete photograph visible even for portrait source images. */
body.emv-product-design { --emv-gallery-image-height:clamp(140px, calc(100svh - 305px), 680px); }
body.emv-product-design .product_content_wrapper { padding-top:80px!important; }
body.emv-product-design .product_content_wrapper > .row { align-items:flex-start!important; }
body.emv-product-design .product-images-wrapper,body.emv-product-design .product_infos { height:auto!important; }
body.emv-product-design .product_content_wrapper .product_summary_top { top:30px!important; }
body.emv-product-design .product_content_wrapper .product_summary_top .woocommerce-breadcrumb { font-size:13px!important; line-height:1.5!important; font-weight:400!important; text-transform:none!important; padding:0!important; margin:0!important; color:var(--emv-muted)!important; max-height:none!important; }
body.emv-product-design .product_content_wrapper .product_summary_top .woocommerce-breadcrumb a,body.emv-product-design .product_content_wrapper .product_summary_top .woocommerce-breadcrumb span { font-size:inherit!important; line-height:inherit!important; font-weight:inherit!important; text-transform:none!important; }
body.emv-product-design .product_content_wrapper .product_summary_top .woocommerce-breadcrumb .breadcrump_sep { display:inline!important; margin:0 .45em!important; color:#9ba6bf!important; }
body.emv-product-design #page_wrapper .product-images-wrapper .flex-control-thumbs img.flex-active { opacity:1!important; }
body.emv-product-design .emv-product-identifiers .emv-product-code { display:flex; flex-wrap:wrap; gap:6px 8px; }
body.emv-product-design .emv-product-identifiers .emv-code-item { margin:0!important; max-width:100%; overflow-wrap:anywhere; }
body.emv-product-design .emv-product-identifiers .emv-code-weight { white-space:nowrap; }
body.emv-product-design .emv-product-identifiers .emv-code-item:not(:last-child) { border-right:1px solid #cbd4e2; padding-right:8px; }
/* Reserve the thumbnail rail only when the native gallery actually has thumbnails. */
body.emv-product-design #page_wrapper .product-images-wrapper .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { padding-left:0!important; }
body.emv-product-design .product-images-wrapper .woocommerce-product-gallery { margin-bottom:0!important; }
body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-viewport,
body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .woocommerce-product-gallery__image { height:var(--emv-gallery-image-height)!important; }
body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .woocommerce-product-gallery__image > a { display:block; height:100%; }
body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) { width:100%!important; height:100%!important; max-height:var(--emv-gallery-image-height)!important; object-fit:contain!important; padding:0!important; }
@media(min-width:1025px) { body.emv-product-design .product-images-wrapper .woocommerce-product-gallery .flex-control-thumbs { max-height:var(--emv-gallery-image-height); overflow-y:auto; } }
body.emv-product-design .emv-cv-launcher { min-width:44px!important; width:44px!important; height:44px!important; padding:8px!important; display:flex!important; justify-content:center!important; align-items:center!important; gap:0!important; }
body.emv-product-design .emv-cv-launcher > span:not(.emv-cv-launcher__icon) { display:none!important; }
body.emv-product-design .product_infos .quantity.custom { display:grid!important; grid-template-columns:1fr 1fr 1fr; overflow:hidden; }
body.emv-product-design .product_infos .quantity.custom > a,body.emv-product-design .product_infos .quantity.custom > input.qty { width:100%!important; min-width:0!important; margin:0!important; box-sizing:border-box; text-align:center; }
body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper { display:grid!important; grid-template-columns:1fr 1fr 1fr; }
body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > .button,body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > input { width:100%!important; min-width:0!important; }
@media(max-width:768px) { body.emv-product-design .product_content_wrapper { padding-top:78px!important; } body.emv-product-design .product_content_wrapper .product_summary_top { top:16px!important; } body.emv-product-design .product_content_wrapper .product_summary_top .woocommerce-breadcrumb { font-size:12px!important; } }
@media(max-width:768px) {
 body.emv-product-design { --emv-gallery-image-height:clamp(140px, calc(100svh - 408px), 680px); }
 body.emv-product-design .product_content_wrapper > .row { align-items:stretch!important; }
 body.emv-product-design .product_content_wrapper > .row > .columns:has(.product-images-wrapper),body.emv-product-design .product_content_wrapper > .row > .columns:has(.product_infos) { width:100%!important; flex:none!important; }
}
body.emv-product-design #page_wrapper .product_infos .wppm-pack-box .controls-wrapper > button,
body.emv-product-design #page_wrapper .product_infos .wppm-pack-box .controls-wrapper > input { width:100%!important; min-width:0!important; max-width:none!important; box-sizing:border-box; }
body.emv-product-design #page_wrapper .product_infos .wppm-pack-box .controls-wrapper > button { display:flex!important; justify-content:center; align-items:center; padding:0!important; background:transparent!important; color:#53617f!important; border:0!important; border-radius:0!important; line-height:1!important; }
body.emv-product-design #page_wrapper .product_infos .wppm-pack-box .controls-wrapper > button:hover,
body.emv-product-design #page_wrapper .product_infos .wppm-pack-box .controls-wrapper > button:focus-visible { background:#e3effe!important; color:var(--emv-blue)!important; }
@media(min-width:1025px) { body.emv-product-design .woocommerce-product-gallery { display:block!important; padding-left:122px!important; } body.emv-product-design .woocommerce-product-gallery .flex-viewport { width:100%!important; } body.emv-product-design .flex-control-thumbs { width:100px!important; position:absolute!important; } body.emv-product-design .flex-control-thumbs img { opacity:1!important; } }
@media(max-width:768px) { body.emv-product-design .product_infos { padding:20px 16px!important; } body.emv-product-design .product_infos form.cart .single_add_to_cart_button { white-space:nowrap; padding:12px 8px!important; min-width:140px!important; width:auto!important; } body.emv-product-design .product-images-wrapper { padding:14px!important; } body.emv-product-design .product_infos .wppm-pack-box .controls-wrapper > .button { flex:0 0 36px; min-width:36px!important; width:36px!important; } }
.emv-product-design .large-centered:has(> .product_content_wrapper) { max-width:1488px; width:100%; padding:0 24px; }
.emv-product-design .product-images-wrapper,.emv-product-design .product_infos { background:#fff; border:1px solid var(--emv-line); border-radius:12px; box-shadow:0 8px 26px rgba(20,51,91,.035); height:100%; }
.emv-product-design .product-images-wrapper { padding:20px; }
.emv-product-design .product_infos { padding:24px; position:static; color:var(--emv-navy); }
.emv-product-design .product_summary_top { position:absolute; top:0; left:0; width:100%; margin:0; padding:0; }
.emv-product-design .woocommerce-breadcrumb { font-size:13px; color:var(--emv-muted); margin:0; padding:10px 0; }
.emv-product-design .product_title { font-size:30px!important; line-height:1.16!important; font-weight:700!important; color:var(--emv-navy); margin:0 0 5px!important; }
.emv-product-design .product_summary_middle { padding:0; margin:0 0 22px; }
.emv-product-design .emv-product-subtitle { color:var(--emv-muted); font-size:18px; line-height:1.4; margin:0 0 22px; }
.emv-product-design .emv-product-identifiers { color:var(--emv-muted); font-size:13px; line-height:1.5; }
.emv-product-design .emv-product-identifiers span { margin:0 10px; }
.emv-product-design .product_infos > p.price { border-top:1px solid var(--emv-line); margin:12px 0 0!important; padding-top:19px; font-size:42px!important; line-height:1.15; color:var(--emv-blue)!important; font-weight:700; }
.emv-product-design .product_infos > p.price::before { content:'Precio por unidad'; display:block; color:var(--emv-muted); font-size:14px; font-weight:400; margin-bottom:8px; }
.emv-product-design .product_infos > p.price::after { content:' / ud.'; font-size:26px; }
.emv-product-design .product_infos > .stock { color:#129861!important; font-size:13px; margin:10px 0 18px!important; }
.emv-product-design .product_infos > .stock.in-stock::before { content:'●'; margin-right:8px; }
.emv-product-design .product_infos form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin:0!important; padding:0; }
.emv-product-design form.cart > .quantity.custom { width:170px!important; height:54px; margin:0!important; border:1px solid var(--emv-line); border-radius:9px; display:flex; align-items:center; flex-shrink:0; }
.emv-product-design .quantity.custom .minus-btn,.emv-product-design .quantity.custom .plus-btn { position:static; width:52px; height:52px; line-height:52px; color:#53617f; }
.emv-product-design .quantity.custom input.qty { width:64px!important; height:52px; padding:0; border:0; border-left:1px solid var(--emv-line); border-right:1px solid var(--emv-line); background:#fff; text-align:center; font-size:18px; }
body.emv-product-design form.cart .single_add_to_cart_button { flex:1; width:auto!important; min-width:180px; min-height:54px; margin:0!important; padding:16px!important; border-radius:9px; background:var(--emv-blue)!important; color:#fff!important; font-size:15px!important; box-shadow:none; }
body.emv-product-design form.cart .single_add_to_cart_button:hover { background:#0055b7!important; color:#fff!important; }
.emv-product-design .wppm-pack-box { width:100%; margin:4px 0 0!important; padding:20px!important; border:1px solid #bfdcff!important; border-radius:10px; background:#f0f7ff; display:flex; flex-direction:column; gap:0; }
body.emv-product-design .fire-and-pack-wrapper { border:0!important; display:contents; }
body.emv-product-design .wppm-pack-header { background:transparent!important; color:var(--emv-navy)!important; padding:0!important; margin:0 0 18px!important; display:flex!important; justify-content:space-between!important; align-items:center; gap:10px; text-align:left; order:0; font-size:17px; }
.emv-product-design .emv-pack-badge { background:#d7eaff; color:var(--emv-blue); padding:6px 12px; border-radius:20px; font-size:12px; font-weight:700; white-space:nowrap; }
.emv-product-design .emv-pack-prices { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0 0 16px; order:1; }
.emv-product-design .emv-pack-prices > div:last-child { border-left:1px solid #b7d6fc; padding-left:24px; }
.emv-product-design .emv-pack-prices strong { display:block; color:var(--emv-navy); font-size:17px; line-height:1.4; }
.emv-product-design .emv-pack-prices .emv-pack-unit,.emv-product-design .emv-pack-grand-total { font-size:28px; color:var(--emv-blue); font-weight:700; }
.emv-product-design .emv-pack-prices small { font-size:18px; }
.emv-product-design .emv-pack-prices span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol) { display:block; color:var(--emv-muted); font-size:13px; }
.emv-product-design .wppm-pack-box > div:last-of-type { order:2; margin:0 0 16px; }
.emv-product-design .wppm-pack-total { display:block!important; width:100%; margin:0!important; padding:10px 12px!important; border-radius:6px!important; color:#087642!important; background:#def4e7!important; text-align:left; font-size:13px; line-height:1.5; }
.emv-product-design .wppm-pack-controls { order:3; padding:0!important; margin:0!important; display:flex!important; gap:18px!important; align-items:center; }
body.emv-product-design .controls-wrapper { width:170px!important; height:48px!important; flex-shrink:0; padding:0!important; gap:0!important; border:1px solid var(--emv-line)!important; border-radius:8px; overflow:hidden; }
body.emv-product-design .wppm-pack-minus,body.emv-product-design .wppm-pack-plus { width:50px!important; min-width:50px!important; height:46px!important; padding:0!important; border:0!important; color:#53617f!important; }
body.emv-product-design .wppm-pack-quantity { width:68px!important; height:46px!important; border:0!important; border-left:1px solid var(--emv-line)!important; border-right:1px solid var(--emv-line)!important; background:#fff; font-size:16px; padding:0!important; }
body.emv-product-design .wppm-add-pack-to-cart { flex:1; width:auto!important; min-height:48px; margin:0!important; padding:12px 14px!important; border:1px solid var(--emv-blue)!important; border-radius:8px!important; background:#fff!important; color:var(--emv-blue)!important; font-size:13px!important; font-weight:700; line-height:1.35; }
.emv-product-design .product_meta { border-top:1px solid var(--emv-line); padding-top:16px!important; margin-top:20px!important; color:var(--emv-muted); }
.emv-product-design .product_meta .sku_wrapper:not(.ean_barcode_wrapper),.emv-product-design .product_meta .posted_in { display:none; }
.emv-product-design .product_meta .ean_barcode_wrapper { display:block; text-align:center; }
.emv-product-design .product_meta .ean_barcode img { opacity:.7; }
.emv-product-design .woocommerce-tabs { margin-top:28px; }
.emv-product-design .woocommerce-tabs ul.tabs { border-bottom:1px solid var(--emv-line); }
@media(min-width:1025px) { .emv-product-design .woocommerce-product-gallery { padding-left:122px; position:relative; } .emv-product-design .flex-control-thumbs { position:absolute; top:0; left:0; width:100px!important; display:flex; flex-direction:column; gap:14px; margin:0!important; } .emv-product-design .flex-control-thumbs li { width:100%!important; margin:0!important; float:none!important; border:1px solid var(--emv-line); border-radius:6px; overflow:hidden; } .emv-product-design .flex-control-thumbs img { opacity:.8!important; } .emv-product-design .flex-control-thumbs li:has(.flex-active) { border-color:var(--emv-blue); } }
@media(max-width:1200px) and (min-width:769px) { .emv-product-design .product_title { font-size:25px!important; } .emv-product-design .product_infos { padding:20px; } .emv-product-design .wppm-pack-controls { flex-wrap:wrap; } .emv-product-design .wppm-add-pack-to-cart { min-width:100%!important; } .emv-product-design .emv-pack-prices { gap:12px; } .emv-product-design .emv-pack-prices > div:last-child { padding-left:12px; } }
@media(max-width:768px) { .emv-product-design .large-centered:has(> .product_content_wrapper) { padding:0 14px; } .emv-product-design .product_content_wrapper { padding-top:54px; } .emv-product-design .product_content_wrapper > .row { flex-direction:column; gap:18px; } .emv-product-design .product-images-wrapper { padding:14px; } .emv-product-design .product_infos { padding:20px 16px; } .emv-product-design .product_title { font-size:24px!important; } .emv-product-design .emv-product-subtitle { font-size:16px; margin-bottom:16px; } .emv-product-design .woocommerce-breadcrumb { font-size:11px; line-height:1.4; padding:0; max-height:46px; overflow:hidden; } .emv-product-design .product_infos > p.price { font-size:36px!important; } .emv-product-design form.cart > .quantity.custom { width:124px!important; } .emv-product-design .quantity.custom .minus-btn,.emv-product-design .quantity.custom .plus-btn { width:38px; } .emv-product-design .quantity.custom input.qty { width:46px!important; } body.emv-product-design form.cart .single_add_to_cart_button { min-width:140px; font-size:12px!important; } .emv-product-design .product_infos form.cart { gap:12px; } .emv-product-design .wppm-pack-box { padding:14px!important; } .emv-product-design .emv-pack-prices { gap:12px; } .emv-product-design .emv-pack-prices > div:last-child { padding-left:12px; } .emv-product-design .emv-pack-prices .emv-pack-unit,.emv-product-design .emv-pack-grand-total { font-size:24px; } .emv-product-design .emv-pack-prices strong { font-size:15px; } body.emv-product-design .controls-wrapper { width:124px!important; } body.emv-product-design .wppm-pack-minus,body.emv-product-design .wppm-pack-plus { min-width:36px!important; width:36px!important; } body.emv-product-design .wppm-pack-quantity { width:50px!important; } .emv-product-design .wppm-pack-controls { gap:10px!important; } body.emv-product-design .wppm-add-pack-to-cart { padding:10px!important; font-size:11px!important; } .emv-product-design .woocommerce-product-gallery { padding:0; } .emv-product-design .flex-control-thumbs { display:flex; gap:10px; margin:12px 0 0!important; } .emv-product-design .flex-control-thumbs li { width:64px!important; border:1px solid var(--emv-line); border-radius:6px; overflow:hidden; margin:0!important; } }

/* Compact product spacing: keep purchase controls and pricing unchanged. */
body.emv-product-design .product_content_wrapper { padding-top:44px!important; }
body.emv-product-design .product_summary_top { top:8px!important; }
body.emv-product-design .woocommerce-breadcrumb { margin:0!important; padding:0!important; }
body.emv-product-design .product_infos > p.price::before { content:none; display:none; }
body.emv-product-design .wppm-pack-box { padding:16px!important; }
body.emv-product-design .wppm-pack-header { margin-bottom:12px!important; }
body.emv-product-design .emv-pack-prices { margin-bottom:12px; }
body.emv-product-design .wppm-pack-box > div:last-of-type { margin-bottom:12px; }
body.emv-product-design .wppm-pack-total { padding:8px 12px!important; }
@media(max-width:768px) {
 body.emv-product-design .product_content_wrapper { padding-top:48px!important; }
 body.emv-product-design .product_summary_top { top:4px!important; }
 body.emv-product-design .wppm-pack-box { padding:12px!important; }
}

/* Product pages: omit breadcrumb strip and its reserved vertical space. */
body.emv-product-design .product_summary_top { display:none!important; }
body.emv-product-design .product_content_wrapper { padding-top:16px!important; }
