.pdp { background: var(--premio-white); color: var(--premio-navy); }
.pdp *, .pdp *::before, .pdp *::after { box-sizing: border-box; }
.pdp-wrap { width: min(calc(100% - 96px), 1344px); margin-inline: auto; }
.pdp-section { padding-block: 72px; }
.pdp h1,.pdp h2,.pdp h3,.pdp p,.pdp dl,.pdp ol,.pdp ul { margin-top: 0; }
.pdp h2 { margin-bottom: 32px; font-size: clamp(34px,3.3vw,46px); font-weight: 800; line-height: 1.08; letter-spacing: -1.2px; }
.pdp-eyebrow { margin-bottom: 16px; color: var(--premio-cyan); font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: 1.5px; }
.pdp-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 38px; padding: 16px 24px; border: 0; border-radius: 0; background: var(--premio-cyan); color: var(--premio-navy); font: 700 11px/1.3 Poppins,sans-serif; letter-spacing: .7px; text-decoration: none; cursor: pointer; transition: box-shadow 200ms cubic-bezier(.22,1,.36,1); }
.pdp-button:hover { color: var(--premio-navy); box-shadow: inset 0 0 0 1px rgb(16 32 51 / 55%); }
.pdp-button:focus-visible { outline: 2px solid var(--premio-navy); outline-offset: 4px; }
.pdp-button--mobile { display: none; }

.pdp-hero { padding-block: 54px; background: var(--premio-light-grey); }
.pdp-hero__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 64px; align-items: center; }
.pdp-hero__visual { display: flex; height: 610px; min-width: 0; align-items: center; justify-content: center; overflow: hidden; background: var(--premio-white); }
.pdp-hero__image { display: block; box-sizing: border-box; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; padding: 20px; object-fit: contain; }
.pdp-hero__copy { max-width: 575px; }
.pdp-hero h1 { margin: 0 0 15px; font-size: clamp(43px,4.2vw,62px); font-weight: 800; line-height: 1.03; letter-spacing: -1.7px; }
.pdp-model { margin-bottom: 8px; color: var(--premio-cyan); font-size: 18px; font-weight: 700; letter-spacing: 1.1px; }
.pdp-type { margin-bottom: 22px; color: var(--premio-grey); font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: 1.1px; text-transform: uppercase; }
.pdp-hero__description { max-width: 540px; margin-bottom: 24px; font-size: 16px; line-height: 1.65; }
.pdp-price { margin-bottom: 20px; font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: -.6px; }
.pdp-hero__note { max-width: 460px; margin: 16px 0 0; color: var(--premio-grey); font-size: 12px; line-height: 1.55; }

.pdp-facts { background: var(--premio-navy); color: var(--premio-white); }
.pdp-facts__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; }
.pdp-facts__grid div { min-width: 0; padding: 25px 24px; border-right: 1px solid rgb(128 207 227 / 16%); }
.pdp-facts__grid div:first-child { padding-left: 0; }
.pdp-facts__grid div:last-child { padding-right: 0; border-right: 0; }
.pdp-facts dt { margin-bottom: 8px; color: var(--premio-light-grey); font-size: 9px; line-height: 1.4; letter-spacing: .9px; text-transform: uppercase; }
.pdp-facts dd { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; }

.pdp-technologies { background: var(--premio-white); }
.pdp-technologies > .pdp-wrap > h2 { max-width: 760px; }
.pdp-technologies__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 56px; margin: 38px 0 0; padding: 0; list-style: none; }
.pdp-technologies__grid li { padding-top: 18px; border-top: 1px solid var(--premio-light-grey); }
.pdp-number { display: block; margin-bottom: 15px; color: var(--premio-cyan); font-size: 28px; font-weight: 600; line-height: 1.2; }
.pdp-technologies h3 { margin-bottom: 12px; font-size: 18px; line-height: 1.4; }
.pdp-technologies__grid p { margin-bottom: 0; font-size: 14px; line-height: 1.65; }
.pdp-technologies__grid .pdp-lead { margin-bottom: 10px; font-size: 16px; font-weight: 600; line-height: 1.5; }

.pdp-programs { background: var(--premio-navy); color: var(--premio-white); }
.pdp-programs__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 36px 0 0; padding: 0; border-top: 1px solid rgb(128 207 227 / 28%); list-style: none; }
.pdp-programs__grid li { display: grid; gap: 12px; min-width: 0; padding: 28px 32px 4px; border-left: 1px solid rgb(128 207 227 / 16%); }
.pdp-programs__grid li:first-child { padding-left: 0; border-left: 0; }
.pdp-programs__grid strong { color: var(--premio-cyan); font-size: clamp(38px,4vw,54px); font-weight: 700; line-height: 1; letter-spacing: -1.5px; }
.pdp-programs__grid span { font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .8px; }

.pdp-specifications { background: var(--premio-light-grey); }
.pdp-specifications__grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 64px; align-items: start; }
.pdp-specifications__grid > div > p:last-child { color: var(--premio-grey); font-size: 13px; line-height: 1.6; }
.pdp-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.pdp-table th,.pdp-table td { padding: 10px 0; border-bottom: 1px solid rgb(16 32 51 / 14%); text-align: left; vertical-align: top; }
.pdp-table th { width: 45%; padding-right: 22px; color: var(--premio-grey); font-weight: 400; }
.pdp-table td { font-weight: 600; }

.pdp-features { background: var(--premio-navy); color: var(--premio-white); }
.pdp-features__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 48px; margin: 36px 0 0; padding: 0; list-style: none; }
.pdp-features__grid li { position: relative; padding: 17px 0 17px 24px; border-top: 1px solid rgb(128 207 227 / 18%); font-size: 14px; line-height: 1.55; }
.pdp-features__grid li::before { content: ''; position: absolute; left: 0; top: 1.65em; width: 10px; height: 1px; background: var(--premio-cyan); }

.pdp-accessory { background: var(--premio-white); }
.pdp-accessory__grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: 80px; align-items: center; }
.pdp-accessory__copy { max-width: 650px; margin-bottom: 0; font-size: 15px; line-height: 1.68; }
.pdp-accessory__figure { margin: 28px 0 0; max-width: 540px; }
.pdp-accessory__image { display: block; width: 100%; height: auto; max-height: 340px; object-fit: contain; margin: 0 auto; }
.pdp-accessory__disclaimer { margin: 10px 0 0; color: var(--premio-grey); font-size: 12px; font-style: normal; line-height: 1.5; }
.pdp-accessory__option { padding: 28px 0 0 32px; border-top: 2px solid var(--premio-cyan); border-left: 1px solid var(--premio-light-grey); }
.pdp-accessory__name { max-width: 430px; margin-bottom: 18px; font-size: 17px; font-weight: 700; line-height: 1.4; }
.pdp-accessory__price { margin-bottom: 22px; font-size: 27px; font-weight: 700; }
.pdp-accessory__facts { margin: 0 0 24px; padding-top: 16px; border-top: 1px solid var(--premio-light-grey); }
.pdp-accessory__facts dt { margin-bottom: 4px; color: var(--premio-grey); font-size: 10px; font-weight: 700; letter-spacing: .8px; }
.pdp-accessory__facts dd { font-size: 14px; font-weight: 600; }
.pdp-accessory__checkbox { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.pdp-accessory__checked { display: none; }
.pdp-accessory__checkbox:checked + .pdp-accessory__button { background: var(--premio-navy); color: var(--premio-white); }
.pdp-accessory__checkbox:checked + .pdp-accessory__button .pdp-accessory__unchecked { display: none; }
.pdp-accessory__checkbox:checked + .pdp-accessory__button .pdp-accessory__checked { display: inline; }
.pdp-accessory__checkbox:checked + .pdp-accessory__button > span:last-child { transform: rotate(45deg); }
.pdp-accessory__checkbox:focus-visible + .pdp-accessory__button { outline: 2px solid var(--premio-navy); outline-offset: 4px; }

.pdp-rfq { background: var(--premio-light-grey); scroll-margin-top: 100px; }
.pdp-rfq__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 80px; }
.pdp-rfq__grid > div:first-child > p:not([class]) { max-width: 520px; font-size: 15px; line-height: 1.65; }
.pdp-rfq__product { display: grid; gap: 7px; margin-bottom: 0; font-size: 14px; }
.pdp-rfq__product span { font-size: 20px; font-weight: 700; }
.pdp-rfq-form { display: grid; gap: 16px; }
.pdp-rfq-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 600; }
.pdp-rfq-form input,.pdp-rfq-form textarea { width: 100%; padding: 12px; border: 1px solid rgb(16 32 51 / 25%); border-radius: 0; background: transparent; color: var(--premio-navy); font-size: 16px; }
.pdp-rfq-form input:focus-visible,.pdp-rfq-form textarea:focus-visible { outline: 2px solid var(--premio-navy); outline-offset: 2px; }
.pdp-rfq-form .pdp-button { justify-self: start; }
.pdp-rfq-form__note { margin-bottom: 0; font-size: 11px; line-height: 1.5; }
.pdp-confirmation { padding: 12px 18px; border-left: 3px solid var(--premio-navy); font-size: 14px; }

@media (min-width:768px) and (max-width:1199px) {
	html.premio-menu-open { overflow: hidden; }
	.pdp-wrap { width: calc(100% - 64px); }
	.pdp-section { padding-block: 60px; }
	.pdp-hero__grid { gap: 36px; }
	.pdp-hero__visual { height: 520px; }
	.pdp-hero h1 { font-size: clamp(36px,5vw,48px); }
	.pdp-technologies__grid { gap: 36px; }
	.pdp-programs__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.pdp-specifications__grid,.pdp-rfq__grid { gap: 40px; }
	.pdp-accessory__grid { grid-template-columns: minmax(0,1fr) minmax(300px,.75fr); gap: 40px; }
	.premio-dishwasher-product-page .premio-header-slot { display:block; height:76px; position:sticky; top:0; z-index:1000; }
	.premio-dishwasher-product-page.admin-bar .premio-header-slot { top:var(--wp-admin--admin-bar--height,32px); }
	.premio-dishwasher-product-page .premio-header { display:block; padding-inline:32px; }
	.premio-dishwasher-product-page .premio-header__inner { display:flex; height:76px; align-items:center; justify-content:space-between; }
	.premio-dishwasher-product-page .premio-header__brand,.premio-dishwasher-product-page .premio-header__logo { display:block; }
	.premio-dishwasher-product-page .premio-header__logo { width:150px; height:auto; }
	.premio-dishwasher-product-page .premio-header__nav,.premio-dishwasher-product-page .premio-header__cta { display:none; }
	.premio-dishwasher-product-page .premio-header__mobile-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--premio-white); cursor:pointer; }
	.premio-dishwasher-product-page .premio-mobile-menu { display:block; position:fixed; inset-inline:0; top:76px; height:calc(100dvh - 76px); padding:34px 32px; overflow-y:auto; background:#132738; color:#fff; visibility:hidden; opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity 220ms ease-out,transform 220ms ease-out,visibility 0s linear 220ms; }
	.premio-dishwasher-product-page .premio-header.is-mobile-menu-open .premio-mobile-menu { visibility:visible; opacity:1; transform:none; pointer-events:auto; transition-delay:0s; }
	.premio-dishwasher-product-page .premio-mobile-menu__links { display:grid; gap:24px; margin:0; padding:0; list-style:none; }
	.premio-dishwasher-product-page .premio-mobile-menu__links a { color:#fff; font-size:26px; font-weight:700; text-decoration:none; }
	.premio-dishwasher-product-page .premio-mobile-menu__cta { display:flex; min-height:56px; align-items:center; justify-content:center; margin-top:32px; background:var(--premio-cyan); color:var(--premio-navy); font-size:12px; font-weight:700; text-decoration:none; }
	.premio-dishwasher-product-page .premio-header__mobile-toggle[aria-expanded=true] { position:relative; color:var(--premio-cyan); }
	.premio-dishwasher-product-page .premio-header__mobile-toggle[aria-expanded=true] svg { visibility:hidden; }
	.premio-dishwasher-product-page .premio-header__mobile-toggle[aria-expanded=true]::before,.premio-dishwasher-product-page .premio-header__mobile-toggle[aria-expanded=true]::after { content:''; position:absolute; width:24px; height:2px; background:currentColor; transform:rotate(45deg); }
	.premio-dishwasher-product-page .premio-header__mobile-toggle[aria-expanded=true]::after { transform:rotate(-45deg); }
	.premio-dishwasher-product-page .premio-footer { display:block; padding:44px 32px 24px; background:var(--premio-navy); color:var(--premio-white); font-size:13px; line-height:1.55; }
	.premio-dishwasher-product-page .premio-footer__inner { max-width:960px; margin-inline:auto; }
	.premio-dishwasher-product-page .premio-footer__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 28px; margin-bottom:34px; }
	.premio-dishwasher-product-page .premio-footer__logo { width:150px; height:auto; }
	.premio-dishwasher-product-page .premio-footer__heading { color:var(--premio-cyan); font-size:12px; letter-spacing:1px; }
	.premio-dishwasher-product-page .premio-footer__list,.premio-dishwasher-product-page .premio-footer__contact { display:grid; gap:8px; margin:0; padding:0; list-style:none; font-style:normal; }
	.premio-dishwasher-product-page .premio-footer a { color:inherit; text-decoration:none; }
	.premio-dishwasher-product-page .premio-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:30px; padding-top:18px; border-top:1px solid rgb(128 207 227 / 18%); font-size:12px; }
	.premio-dishwasher-product-page .premio-footer__legal { display:flex; gap:18px; margin:0; padding:0; list-style:none; }
}

@media (max-width:767px) {
	.pdp-wrap { width:calc(100% - 40px); }
	.pdp-section { padding-block:48px; }
	.pdp-hero { padding-block:28px 34px; }
	.pdp-hero__grid { grid-template-columns:minmax(0,1fr); gap:26px; }
	.pdp-hero__visual { height:min(465px,118vw); }
	.pdp-hero__image { padding:12px; }
	.pdp-hero__copy { max-width:none; }
	.pdp-hero h1 { font-size:clamp(32px,9vw,42px); letter-spacing:-1.1px; }
	.pdp-model { font-size:16px; }
	.pdp-hero__description { font-size:15px; }
	.pdp-price { margin-bottom:0; font-size:27px; }
	.pdp-button--desktop,.pdp-hero__note { display:none; }
	.pdp-facts { padding-bottom:24px; }
	.pdp-facts__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pdp-facts__grid div,.pdp-facts__grid div:first-child,.pdp-facts__grid div:last-child { padding:18px 12px; border-right:1px solid rgb(128 207 227 / 16%); border-bottom:1px solid rgb(128 207 227 / 16%); }
	.pdp-facts__grid div:nth-child(odd) { padding-left:0; }
	.pdp-facts__grid div:nth-child(even) { padding-right:0; border-right:0; }
	.pdp-facts dd { font-size:15px; }
	.pdp-button--mobile { display:flex; width:100%; margin-top:24px; }
	.pdp h2 { font-size:clamp(31px,9vw,39px); }
	.pdp-technologies__grid,.pdp-features__grid { grid-template-columns:minmax(0,1fr); }
	.pdp-technologies__grid { gap:28px; margin-top:28px; }
	.pdp-programs__grid { grid-template-columns:minmax(0,1fr); margin-top:28px; }
	.pdp-programs__grid li,.pdp-programs__grid li:first-child { padding:22px 0; border-top:1px solid rgb(128 207 227 / 16%); border-left:0; }
	.pdp-programs__grid li:first-child { border-top:0; }
	.pdp-programs__grid strong { font-size:40px; }
	.pdp-features__grid { gap:0; margin-top:28px; }
	.pdp-specifications__grid,.pdp-accessory__grid,.pdp-rfq__grid { grid-template-columns:minmax(0,1fr); gap:30px; }
	.pdp-table { font-size:13px; }
	.pdp-table th { width:45%; padding-right:12px; }
	.pdp-table td { overflow-wrap:anywhere; }
	.pdp-accessory__option { padding:24px 0 0; border-left:0; }
	.pdp-accessory__button,.pdp-rfq-form .pdp-button { width:100%; }
	.pdp-rfq { scroll-margin-top:84px; }
	.premio-dishwasher-product-page .premio-footer { display:block; padding:40px 20px 24px; background:var(--premio-navy); color:var(--premio-white); font-size:13px; line-height:1.55; }
	.premio-dishwasher-product-page .premio-footer__grid { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; margin-bottom:34px; }
	.premio-dishwasher-product-page .premio-footer__logo { width:150px; height:auto; }
	.premio-dishwasher-product-page .premio-footer__heading { color:var(--premio-cyan); font-size:12px; letter-spacing:1px; }
	.premio-dishwasher-product-page .premio-footer__list,.premio-dishwasher-product-page .premio-footer__contact { display:grid; gap:8px; margin:0; padding:0; list-style:none; font-style:normal; }
	.premio-dishwasher-product-page .premio-footer a { color:inherit; text-decoration:none; }
	.premio-dishwasher-product-page .premio-footer__bottom { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:30px; padding-top:18px; border-top:1px solid rgb(128 207 227 / 18%); font-size:12px; }
	.premio-dishwasher-product-page .premio-footer__legal { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0; padding:0; list-style:none; }
}

@media (prefers-reduced-motion:reduce) { .pdp-button { transition:none; } }
