/* Dedicated PU floor mat reference, inheriting the Isotech visual system. */
.pu-product section[id] {scroll-margin-top:110px}
.pu-product h2 {text-wrap:balance}
.pu-hero {padding:34px 0 0;background:var(--bg-soft)}
.pu-hero .crumb {font-size:.88rem;margin-bottom:34px;line-height:1.8}
.pu-hero-grid {display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;padding-bottom:42px}
.pu-hero h1 {font-size:clamp(2rem,3.2vw,3rem);line-height:1.3;margin-bottom:24px;text-wrap:balance}
.pu-hero-copy>p {max-width:52ch;font-size:1.1rem;line-height:1.9}
.pu-hero-copy .pu-hero-material {font-size:.95rem;color:var(--green-deep);font-weight:600;margin:22px 0}
.pu-hero-photo {margin:0;text-align:center}
.pu-hero-photo button {border:0;background:#fff;width:100%;padding:26px 16px;cursor:zoom-in;min-height:44px}
.pu-hero-photo img {display:block;width:100%;height:auto}
.pu-hero-photo figcaption {font-size:.9rem;color:var(--muted);margin-top:12px}
.pu-section-nav {display:flex;flex-wrap:wrap;gap:8px 30px;border-top:1px solid var(--line-strong);padding:12px 0}
.pu-section-nav a {display:inline-flex;align-items:center;min-height:44px;font-weight:600;line-height:1.5}
.pu-product a:focus-visible,.pu-product button:focus-visible,.pu-faq-item summary:focus-visible {outline:3px solid var(--purple);outline-offset:3px}
.pu-product .mat-features {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 42px;margin-bottom:0}
.pu-product .mat-features strong {font-size:1.12rem}
.pu-product .mat-features p {font-size:1rem}
.pu-scenes {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px}
.pu-scenes figure {margin:0;min-width:0}
.pu-scenes img {display:block;width:100%;height:auto;aspect-ratio:371/488;object-fit:contain;object-position:bottom}
.pu-scenes figcaption {padding-top:18px}
.pu-scenes h3 {font-size:1.12rem;margin-bottom:8px}
.pu-scenes p {font-size:.94rem;line-height:1.8;color:var(--muted);margin:0}
.pu-spec-grid {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.pu-spec-grid h2 {font-size:1.75rem}
.pu-spec-grid .mat-colors {margin-top:28px}
.pu-spec-grid .mat-colors img {height:88px}
.pu-specs table {min-width:0;table-layout:auto;margin:0}
.pu-specs th,.pu-specs td {padding:14px 16px}
.pu-specs tbody th {white-space:normal;min-width:110px}
.pu-specs td {overflow-wrap:anywhere}
.pu-guide-grid {display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}
.pu-guide {margin:0}
.pu-guide>div {padding:20px 0;border-bottom:1px solid var(--line-strong)}
.pu-guide>div:first-child {padding-top:0}
.pu-guide dt {font-size:1.15rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.pu-guide dd {margin:0;line-height:1.9;max-width:66ch}
.pu-workstation {margin-top:42px;padding-top:28px;border-top:1px solid var(--line-strong)}
.pu-workstation p {max-width:75ch;margin-bottom:0}
.pu-faq {max-width:960px}
.pu-faq>h2 {margin-bottom:28px}
.pu-faq-item {border-bottom:1px solid var(--line-strong)}
.pu-faq-item summary {display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:22px 4px;cursor:pointer;font-size:1.12rem;font-weight:600;color:var(--ink);min-height:64px}
.pu-faq-item summary::-webkit-details-marker {display:none}
.pu-faq-item summary svg {flex:none;width:22px;height:22px;color:var(--purple);transition:transform .18s ease-out}
.pu-faq-item[open] summary svg {transform:rotate(180deg)}
.pu-faq-item summary:hover {color:var(--green-deep)}
.pu-faq-item>div {padding:0 40px 22px 4px}
.pu-faq-item p {max-width:72ch;margin:0;line-height:1.9}
.pu-inquiry {background:var(--green-soft)}
.pu-inquiry-inner {display:flex;align-items:center;justify-content:space-between;gap:40px}
.pu-inquiry-inner p {max-width:64ch;margin-bottom:0}
.pu-inquiry-inner .btn {flex-shrink:0}
.pu-return {padding-top:28px;padding-bottom:32px}
.pu-return a {display:inline-flex;align-items:center;min-height:44px}
.pu-product ::selection {background:var(--purple);color:#fff}
.pu-photo-dialog {width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:76px 24px 24px;border:0;border-radius:var(--radius);background:#fff;color:var(--ink)}
.pu-photo-dialog::backdrop {background:rgba(14,35,25,.88)}
.pu-photo-dialog img {display:block;max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 170px);object-fit:contain;margin-inline:auto}
.pu-photo-dialog p {margin:18px 0 0;text-align:center;font-size:1rem;color:var(--ink)}
.pu-photo-close {position:absolute;top:16px;right:20px;min-height:44px;padding:10px 16px;border:1px solid var(--green-deep);border-radius:var(--radius);background:#fff;color:var(--green-deep);font:inherit;font-weight:600;cursor:pointer}
.pu-photo-close:hover {background:var(--green-soft)}
@media(max-width:1000px) {
  .pu-hero-grid {gap:30px}
  .pu-spec-grid {gap:30px}
  .pu-guide-grid {gap:32px}
  .pu-product .mat-features {column-gap:26px}
}
@media(max-width:760px) {
  .pu-hero-grid,.pu-spec-grid,.pu-guide-grid {grid-template-columns:1fr}
  .pu-hero-grid {gap:28px}
  .pu-hero .crumb {margin-bottom:26px}
  .pu-hero-copy>p {font-size:1.02rem}
  .pu-hero h1 {margin-bottom:18px}
  .pu-hero-photo {max-width:620px;width:100%;margin-inline:auto}
  .pu-hero-photo button {padding:18px 10px}
  .pu-section-nav {column-gap:22px}
  .pu-product .mat-features {grid-template-columns:repeat(2,minmax(0,1fr))}
  .pu-scenes {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}
  .pu-scenes figcaption {padding-top:12px}
  .pu-spec-grid {gap:38px}
  .pu-spec-grid .mat-colors img {height:66px}
  .pu-inquiry-inner {flex-direction:column;align-items:flex-start;gap:24px}
}
@media(max-width:420px) {
  .pu-photo-dialog {padding:76px 16px 22px}
  .pu-product .mat-features {column-gap:20px}
  .pu-product .mat-features strong,.pu-scenes h3 {font-size:1rem}
  .pu-product .mat-features p,.pu-scenes p {font-size:.91rem}
  .pu-specs th,.pu-specs td {padding:12px 10px;font-size:.94rem}
  .pu-specs tbody th {min-width:0;width:30%}
  .pu-faq-item summary {font-size:1.03rem}
}
@media(prefers-reduced-motion:reduce) {.pu-faq-item summary svg {transition:none}}
