/* Scoped native WooCommerce single-product presentation. */
body.single-product .col-full { width:min(1240px,calc(100% - 2rem)); max-width:none; margin-right:auto; margin-left:auto; padding:0; box-sizing:border-box; }
body.single-product #primary,
body.single-product .content-area { width:100%; float:none; margin:0; }
body.single-product .site-main { width:100%; max-width:none; margin:0 auto 4rem; }
body.single-product div.product { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:clamp(2rem,4vw,4rem); align-items:start; }
body.single-product div.product > .onsale { position:absolute; top:1rem; inset-inline-start:1rem; z-index:2; margin:0; }
body.single-product div.product > .woocommerce-product-gallery,
body.single-product div.product > .summary { float:none !important; width:auto !important; margin:0 !important; }
body.single-product div.product > .woocommerce-product-gallery { grid-column:1 !important; grid-row:1 !important; }
body.single-product div.product > .summary { grid-column:2 !important; grid-row:1 !important; }
body.single-product div.product > .woocommerce-product-gallery { min-width:0; padding:clamp(1.5rem,3vw,2rem); border:1px solid #e5e5e5; border-radius:12px; background:#f7f7f7; }
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image { margin:0; }
body.single-product .woocommerce-product-gallery__image img { width:100%; aspect-ratio:1 / 1; object-fit:contain; }
body.single-product div.product > .summary { min-width:0; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid #e5e5e5; border-radius:12px; background:#fff; }
body.single-product .summary .product_title { margin:.25rem 0 .85rem; color:#151515; font-size:clamp(2rem,3vw,2.5rem); line-height:1.18; overflow-wrap:normal; }
body.single-product .summary > .price { margin:1rem 0; color:#151515; font-size:clamp(1.4rem,2.2vw,1.8rem); font-weight:700; }
body.single-product .summary .woocommerce-product-details__short-description { color:#555; font-size:1rem; }
body.single-product .summary .stock { font-weight:700; }
body.single-product .summary .variations_form .variations td,
body.single-product .summary .variations_form .variations th { display:block; width:100%; padding:.35rem 0; text-align:left; }
body.single-product .summary .variations_form select { width:100%; min-height:46px; padding:.65rem .75rem; border:1px solid #d9d9d9; border-radius:8px; background:#fff; }
body.single-product .summary form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:1.5rem 0 1rem; }
body.single-product .summary form.cart .quantity .qty { width:76px; min-height:48px; border:1px solid #d9d9d9; border-radius:8px; text-align:center; }
body.single-product .summary form.cart .single_add_to_cart_button { min-height:48px; padding:.75rem 2rem; border-radius:8px; background:#f4c400; color:#151515; font-weight:700; }
body.single-product .summary form.cart .single_add_to_cart_button:hover,
body.single-product .summary form.cart .single_add_to_cart_button:focus-visible { background:#d9ad00; color:#151515; }
body.single-product .nx-product-whatsapp { margin:0 0 1rem; }
body.single-product .nx-product-whatsapp .button { width:100%; min-height:46px; border:1px solid #151515; border-radius:8px; background:#151515; color:#fff; text-align:center; }
body.single-product .nx-product-trust { display:grid; gap:.45rem; margin:1.25rem 0 0; padding:1rem 0 0; border-top:1px solid #e5e5e5; list-style:none; color:#555; }
body.single-product .nx-product-trust li::before { content:'✓'; margin-right:.5rem; color:#f4c400; font-weight:700; }
body.single-product .product_meta { display:grid; gap:.45rem; margin-top:1.25rem; padding-top:1rem; border-top:1px solid #e5e5e5; color:#666; font-size:.9rem; }
body.single-product .product_meta .sku_wrapper,
body.single-product .product_meta .posted_in,
body.single-product .product_meta .tagged_as { display:block; }
body.single-product .woocommerce-tabs,
body.single-product section.related,
body.single-product section.upsells { clear:both; width:100%; margin:0; padding-top:clamp(3rem,6vw,4.5rem); }
body.single-product div.product > .woocommerce-tabs,
body.single-product div.product > section.related,
body.single-product div.product > section.upsells { grid-column:1 / -1 !important; grid-row:auto !important; }
body.single-product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0 0 .75rem; border-bottom:1px solid #e5e5e5; }
body.single-product .woocommerce-tabs ul.tabs { float:none !important; width:100% !important; }
body.single-product .woocommerce-tabs ul.tabs::before { display:none; }
body.single-product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; background:transparent; }
body.single-product .woocommerce-tabs ul.tabs li a { padding:.7rem 1rem; color:#555; font-weight:700; }
body.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom:3px solid #f4c400; color:#151515; }
body.single-product .woocommerce-tabs .panel { clear:both; float:none !important; width:100% !important; margin:0; padding:2rem 0; color:#444; }
body.single-product .woocommerce-product-attributes { width:100%; border-collapse:collapse; }
body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes td { padding:.8rem 1rem; border-bottom:1px solid #e5e5e5; text-align:left; }
body.single-product .woocommerce-product-attributes th { width:35%; font-weight:700; }
body.single-product section.related ul.products,
body.single-product section.upsells ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin:0; }
body.single-product section.related ul.products::before,
body.single-product section.related ul.products::after,
body.single-product section.upsells ul.products::before,
body.single-product section.upsells ul.products::after { display:none; }
body.single-product section.related ul.products li.product,
body.single-product section.upsells ul.products li.product { float:none !important; width:auto !important; margin:0 !important; }
body.single-product section.related ul.products li.product img,
body.single-product section.upsells ul.products li.product img { width:100%; aspect-ratio:1 / 1; object-fit:contain; background:#f7f7f7; }
body.single-product section.related ul.products li.product .button,
body.single-product section.upsells ul.products li.product .button { width:100%; background:#f4c400; color:#151515; text-align:center; }
body.single-product section.related ul.products li.product .woocommerce-loop-product__title,
body.single-product section.upsells ul.products li.product .woocommerce-loop-product__title { overflow-wrap:normal; word-break:normal; }
@media (max-width:1024px) { body.single-product div.product { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; } body.single-product section.related ul.products, body.single-product section.upsells ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) { body.single-product .site-main { width:calc(100% - 2rem); } body.single-product div.product { display:block; } body.single-product div.product > .woocommerce-product-gallery, body.single-product div.product > .summary, body.single-product div.product > .woocommerce-tabs, body.single-product div.product > section.related, body.single-product div.product > section.upsells { grid-column:auto !important; grid-row:auto !important; margin-bottom:1rem !important; } body.single-product .summary { padding:1.25rem; } body.single-product .summary .product_title { font-size:clamp(1.65rem,7vw,2rem); } body.single-product .summary form.cart { align-items:stretch; } body.single-product .summary form.cart .quantity { flex:0 0 76px; } body.single-product .summary form.cart .single_add_to_cart_button { flex:1 1 auto; } body.single-product .woocommerce-tabs ul.tabs { flex-wrap:nowrap; overflow-x:auto; } body.single-product .woocommerce-tabs ul.tabs li { flex:0 0 auto; } body.single-product section.related ul.products, body.single-product section.upsells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; } }
