:root {
	--nux-blue: #07518b;
	--nux-blue-dark: #07365e;
	--nux-lime: #bfd000;
	--nux-lime-dark: #a9bb00;
	--nux-ink: #4d5b66;
	--nux-line: #d9e0e6;
	--nux-soft: #f3f6f9;
	--nux-placeholder: #e8edf2;
	--nux-font: Arial, Helvetica, sans-serif;
}

body.single-product { overflow-x: hidden; }

.single-product .site-header {
	min-height: 88px;
	border-bottom: 1px solid #dce3e9;
	background: #fff;
	box-shadow: none;
}

.single-product .site-header .container,
.single-product .site-header .wrap,
.single-product .site-footer .container,
.single-product .site-footer .wrap {
	width: min(1200px, calc(100% - 48px));
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.single-product .site-header a { color: #07518b; font-family: var(--nux-font); font-size: 12px; font-weight: 600; }
.single-product .site-header img { max-height: 44px; width: auto; }
.single-product .site-footer { border: 0; background: #002b4f; color: #d7e4ef; }
.single-product .site-footer a { color: #fff; }

.single-product .site-content,
.single-product .content-area,
.single-product .site-main,
.single-product .content-wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.single-product .entry-header,
.single-product .entry-title,
.single-product .post-navigation { display: none; }

.nux-product, .nux-product * { box-sizing: border-box; }

.nux-product {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none;
	margin: 0 0 0 -50vw;
	color: var(--nux-ink);
	font-family: var(--nux-font);
	font-size: 15px;
	line-height: 1.55;
}

.nux-product a { transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease; }

.nux-breadcrumb, .nux-product-main, .nux-section-inner {
	width: min(1200px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}

.nux-breadcrumb {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 106px;
	padding-top: 10px;
	color: #87929c;
	font-size: 11px;
}

.nux-breadcrumb a { color: #87929c; text-decoration: none; }
.nux-breadcrumb a:nth-of-type(2), .nux-breadcrumb [aria-current="page"] { color: var(--nux-blue); font-weight: 700; }

.nux-product-main {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 576px);
	justify-content: space-between;
	gap: 64px;
	padding-bottom: 56px;
}

.nux-gallery-main {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: 440px;
	overflow: hidden;
	border: 2px dashed #c6d0d9;
	border-radius: 12px;
	background: var(--nux-placeholder);
}

.nux-gallery-main > span { color: #89939c; font-size: 10px; line-height: 1.35; text-align: center; }
.nux-gallery-main img { width: 100%; height: 100%; object-fit: contain; }

.nux-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 16px;
}

.nux-gallery-thumb { display: flex; align-items: center; justify-content: center; height: 84px; overflow: hidden; padding: 5px; border: 1px dashed #c6d0d9; border-radius: 9px; background: var(--nux-placeholder); }
.nux-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.nux-gallery-thumb span { max-width: 90px; color: #89939c; font-size: 9px; line-height: 1.2; text-align: center; overflow-wrap: anywhere; }

.nux-product-summary { padding-top: 2px; }
.nux-product-badges { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 24px; }
.nux-product-badges span { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 13px; border-radius: 999px; background: #e8f0f6; color: var(--nux-blue); font-size: 10px; font-weight: 700; line-height: 1; }
.nux-product-badges .is-accent { background: var(--nux-lime); color: #2e4200; }

.nux-product .nux-product-title {
	margin: 0 0 16px;
	color: var(--nux-blue);
	font-family: var(--nux-font);
	font-size: clamp(34px, 3vw, 46px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.025em;
}

.nux-product-short-description { max-width: 540px; margin-bottom: 22px; color: #606c76; font-size: 14px; line-height: 1.55; }
.nux-product-short-description p { margin: 0; }

.nux-purchase-card { padding: 24px 28px 20px; border: 1px solid #dce3e9; border-radius: 14px; background: var(--nux-soft); }
.nux-product-price { min-height: 47px; margin: 0; }
.nux-product-price .price, .nux-product-price .amount { color: var(--nux-blue-dark) !important; font-size: 35px !important; font-weight: 700 !important; line-height: 1.15; }
.nux-product-price .price::after { content: " MXN"; margin-left: 10px; color: #65727c; font-size: 13px; font-weight: 400; vertical-align: 5px; }
.nux-product-price del, .nux-product-price del .amount { font-size: 17px !important; }
.nux-product-price ins { text-decoration: none; }

.nux-stock-note { display: flex; align-items: center; gap: 8px; margin: 4px 0 16px; color: #53616c; font-size: 12px; font-weight: 600; }
.nux-stock-note span { width: 8px; height: 8px; border-radius: 50%; background: #34a853; }
.nux-product-buy { margin: 0 0 14px; }
.nux-product-buy form.cart { display: grid; grid-template-columns: 94px 1fr; gap: 12px; margin: 0 !important; }
.nux-product-buy .quantity { float: none !important; margin: 0 !important; }
.nux-product-buy .qty { width: 100% !important; height: 48px; margin: 0; padding: 0 8px; border: 1px solid #d6dee5; border-radius: 7px; background: #fff; color: var(--nux-blue); font-size: 14px; text-align: center; }

.nux-product-buy .single_add_to_cart_button, .nux-product-buy .button {
	width: 100%;
	min-height: 48px;
	margin: 0 !important;
	padding: 10px 18px !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: var(--nux-lime) !important;
	box-shadow: none !important;
	color: #244500 !important;
	font-family: var(--nux-font);
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center;
}

.nux-product-buy .single_add_to_cart_button:hover, .nux-product-buy .button:hover { background: var(--nux-lime-dark) !important; }
.nux-product-buy .variations, .nux-product-buy .woocommerce-variation { grid-column: 1 / -1; width: 100%; }

.nux-advisor-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin-bottom: 13px; border: 2px solid #4b83b2; border-radius: 7px; background: #fff; color: var(--nux-blue) !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.nux-advisor-button:hover { background: #edf5fb; }
.nux-purchase-disclaimer { margin: 0 auto 14px; color: #75808a; font-size: 9px; line-height: 1.35; text-align: center; }
.nux-purchase-benefits { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin: 0; padding: 0; color: #66727c; font-size: 10px; list-style: none; }
.nux-purchase-benefits li { margin: 0; }

.nux-section { padding: 76px 0; }
.nux-section h2, .nux-course-cta h2 { margin: 0; color: var(--nux-blue); font-family: var(--nux-font); font-size: clamp(29px, 2.5vw, 38px); font-weight: 700; line-height: 1.13; letter-spacing: -.025em; }
.nux-section-label { margin: 0 0 19px; color: var(--nux-lime-dark); font-size: 10px; font-weight: 700; line-height: 1; letter-spacing: .055em; text-transform: uppercase; }
.nux-section-copy { max-width: 1180px; margin: 38px 0 0; color: #66727c; font-size: 13px; line-height: 1.65; }
.nux-technical-section, .nux-audience-section, .nux-delivery-section { background: var(--nux-soft); }
.nux-technical-section { padding-top: 72px; padding-bottom: 72px; }

.nux-technical-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 40px 0 0; }
.nux-technical-card { min-height: 78px; padding: 17px 20px; border: 1px solid #d9e0e6; border-radius: 9px; background: #fff; }
.nux-technical-card dt { margin: 0 0 6px; color: #7b8790; font-size: 9px; font-weight: 700; line-height: 1; text-transform: uppercase; }
.nux-technical-card dd { margin: 0; color: var(--nux-blue); font-size: 13px; font-weight: 700; line-height: 1.25; }

.nux-contents-section { padding-top: 88px; padding-bottom: 86px; }
.nux-manual-list { display: grid; grid-auto-flow: column; grid-template-rows: repeat(11, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; margin: 43px 0 38px; padding: 0; list-style: none; counter-reset: nux-manual; }
.nux-manual-list li { display: grid; grid-template-columns: 38px 1fr; align-items: center; min-height: 47px; margin: 0; border-bottom: 1px solid var(--nux-line); counter-increment: nux-manual; }
.nux-manual-list li::before { content: counter(nux-manual, decimal-leading-zero); display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 25px; border-radius: 4px; background: #e8f0f6; color: var(--nux-blue); font-size: 10px; font-weight: 700; }
.nux-manual-list li span { color: #4f5d68; font-size: 12px; }
.nux-manual-note { margin: 0; padding: 20px 24px 20px 38px; border-left: 4px solid #ff792f; border-radius: 7px; background: var(--nux-soft); color: #65717b; font-size: 11px; font-weight: 600; }

.nux-audience-section { padding-top: 88px; padding-bottom: 88px; }
.nux-audience-grid { display: grid; grid-template-columns: minmax(0, 1fr) 480px; align-items: center; gap: 125px; }
.nux-audience-grid .nux-section-copy { max-width: 565px; margin-top: 24px; }
.nux-check-list { margin: 22px 0 0; padding: 0; color: #5a6872; font-size: 12px; list-style: none; }
.nux-check-list li { position: relative; margin: 8px 0; padding-left: 24px; }
.nux-check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--nux-lime-dark); font-size: 16px; font-weight: 700; }
.nux-audience-image { display: flex; align-items: center; justify-content: center; min-height: 340px; border: 2px dashed #c6d0d9; border-radius: 10px; background: var(--nux-placeholder); color: #89939c; font-size: 10px; line-height: 1.3; text-align: center; }

.nux-coverage-section { padding-top: 86px; padding-bottom: 86px; }
.nux-coverage-section .nux-section-copy { margin-top: 35px; }
.nux-delivery-section { padding-top: 86px; padding-bottom: 88px; }
.nux-delivery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 42px; }
.nux-delivery-card { min-height: 190px; padding: 30px 26px; border: 1px solid #d7dfe6; border-radius: 12px; background: #fff; }
.nux-delivery-icon { display: block; margin-bottom: 10px; font-size: 20px; line-height: 1; }
.nux-delivery-card h3 { margin: 0 0 9px; color: var(--nux-blue); font-family: var(--nux-font); font-size: 18px; font-weight: 700; }
.nux-delivery-card p { margin: 0; color: #65717b; font-size: 12px; line-height: 1.55; }

.nux-faq-section { padding-top: 90px; padding-bottom: 86px; }
.nux-faq-list { margin-top: 44px; }
.nux-faq-item { margin: 0; border-bottom: 1px solid var(--nux-line); }
.nux-faq-item summary { position: relative; padding: 22px 38px 22px 22px; color: var(--nux-blue); font-size: 13px; font-weight: 700; line-height: 1.4; cursor: pointer; list-style: none; }
.nux-faq-item summary::-webkit-details-marker { display: none; }
.nux-faq-item summary::before { content: ""; position: absolute; left: 0; top: 28px; width: 7px; height: 7px; border-radius: 50%; background: var(--nux-lime); }
.nux-faq-item summary::after { content: "+"; position: absolute; right: 2px; top: 20px; color: var(--nux-blue); font-size: 19px; font-weight: 400; }
.nux-faq-item[open] summary::after { content: "−"; }
.nux-faq-answer { padding: 0 38px 23px 22px; }
.nux-faq-answer p { margin: 0; color: #68747e; font-size: 12px; line-height: 1.7; }

.nux-course-cta { padding: 58px 0; background: var(--nux-blue-dark); }
.nux-course-cta-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 70px; }
.nux-course-cta h2 { color: #fff; font-size: 31px; }
.nux-course-cta p { max-width: 540px; margin: 14px 0 0; color: #e0e9f1; font-size: 13px; line-height: 1.55; }
.nux-course-actions { display: grid; grid-template-columns: repeat(2, auto); gap: 12px; text-align: center; }
.nux-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 27px; border: 2px solid transparent; border-radius: 7px; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none !important; }
.nux-button:hover { transform: translateY(-1px); }
.nux-button-primary { background: var(--nux-lime); color: #244500 !important; }
.nux-button-secondary { border-color: #fff; background: transparent; color: #fff !important; }
.nux-course-actions small { grid-column: 1 / -1; color: #f19152; font-size: 8px; line-height: 1; text-align: right; }
.nux-product :focus-visible { outline: 3px solid #ffb44c; outline-offset: 3px; }

@media (max-width: 1024px) {
	.nux-product-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; }
	.nux-audience-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: 58px; }
	.nux-gallery-main { height: 390px; }
}

@media (max-width: 782px) {
	.nux-breadcrumb, .nux-product-main, .nux-section-inner { width: min(100% - 36px, 620px); }
	.nux-breadcrumb { min-height: 72px; }
	.nux-product-main, .nux-audience-grid, .nux-course-cta-inner { grid-template-columns: 1fr; }
	.nux-product-main { gap: 40px; padding-bottom: 54px; }
	.nux-gallery-main { height: min(82vw, 500px); }
	.nux-technical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nux-manual-list { grid-auto-flow: row; grid-template: none; grid-template-columns: 1fr; }
	.nux-audience-image { min-height: 300px; }
	.nux-delivery-grid { grid-template-columns: 1fr; }
	.nux-course-cta-inner { gap: 30px; }
	.nux-course-actions { justify-content: start; }
}

@media (max-width: 520px) {
	.nux-product { font-size: 14px; }
	.nux-breadcrumb, .nux-product-main, .nux-section-inner { width: calc(100% - 32px); }
	.nux-product-badges { gap: 6px; }
	.nux-product-badges span { padding: 4px 9px; font-size: 9px; }
	.nux-product .nux-product-title { font-size: 34px; }
	.nux-purchase-card { padding: 21px 18px 18px; }
	.nux-product-buy form.cart { grid-template-columns: 80px 1fr; }
	.nux-purchase-benefits { justify-content: flex-start; }
	.nux-section { padding: 66px 0; }
	.nux-section h2, .nux-course-cta h2 { font-size: 29px; }
	.nux-technical-grid { grid-template-columns: 1fr; }
	.nux-technical-card { min-height: 70px; }
	.nux-section-copy { margin-top: 25px; }
	.nux-manual-list { margin-top: 32px; }
	.nux-audience-grid { gap: 38px; }
	.nux-audience-image { min-height: 240px; }
	.nux-desktop-break { display: none; }
	.nux-course-actions { grid-template-columns: 1fr; }
	.nux-course-actions small { grid-column: auto; text-align: center; }
	.nux-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) { .nux-product a { transition: none; } }
