/* TUNGRA / material-led product experience. */
.pdp { --pdp-ease:cubic-bezier(.2,.75,.25,1); color:var(--ink); font-size:16px; }
.pdp [id] { scroll-margin-top:110px; }
.pdp .eyebrow { font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.pdp h1,.pdp h2 { font-family:var(--display,Impact,'Arial Narrow',sans-serif); font-weight:400; text-transform:uppercase; letter-spacing:-.025em; line-height:.98; }
.pdp-breadcrumbs { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:25px; padding-bottom:25px; font-size:14px; color:var(--muted); }
.pdp-breadcrumbs a { color:var(--ink); }
.pdp-main { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:start; gap:clamp(36px,5vw,80px); padding-bottom:72px; }
.pdp-visuals,.pdp-purchase { min-width:0; }
.gallery-stage { position:relative; background:#e7e4dc; isolation:isolate; overflow:hidden; }
.gallery-open { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.gallery-main-image { display:block; width:100%; aspect-ratio:1; height:auto; object-fit:cover; mix-blend-mode:multiply; }
.gallery-topline,.gallery-bottomline { position:absolute; left:24px; right:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; z-index:1; pointer-events:none; }
.gallery-topline { top:22px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.pdp-material-mark { display:flex; align-items:center; gap:11px; font-family:var(--display,Impact,sans-serif); font-size:36px; letter-spacing:0; line-height:1; }
.pdp-material-mark>span { max-width:75px; font-family:var(--sans); font-size:10px; line-height:1.35; letter-spacing:.08em; }
.gallery-bottomline { bottom:18px; }
.gallery-stage-caption { font-size:14px; }
.gallery-zoom { pointer-events:auto; display:flex; align-items:center; gap:12px; min-height:44px; padding:9px 12px; margin-right:-9px; background:#f1eee7de; font-size:14px; }
.gallery-zoom svg { width:18px; height:18px; }
.gallery-toolbar { display:flex; justify-content:space-between; align-items:center; min-height:60px; border-bottom:1px solid var(--line); margin-bottom:16px; }
.gallery-counter { font-size:14px; letter-spacing:.1em; color:var(--muted); }
.gallery-counter [data-gallery-current] { color:var(--ink); }
.gallery-navigation { display:flex; align-items:center; gap:8px; }
.gallery-arrow { width:44px; height:44px; padding:0; display:grid; place-items:center; background:transparent; transition:background .2s,color .2s; }
.gallery-arrow:hover { background:var(--ink); color:var(--paper); }
.gallery-arrow svg { width:22px; height:22px; }
.gallery-thumbnails { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gallery-thumb { position:relative; padding:0; border:1px solid var(--line); background:#e7e4dc; overflow:hidden; text-align:left; transition:border-color .2s; }
.gallery-thumb img { display:block; width:100%; aspect-ratio:1.6; height:auto; object-fit:cover; mix-blend-mode:multiply; transition:transform .5s var(--pdp-ease); }
.gallery-thumb>span { display:block; padding:10px 12px; font-size:14px; background:var(--paper); color:var(--muted); border-top:1px solid var(--line); }
.gallery-thumb[aria-pressed=true] { border-color:var(--ink); }
.gallery-thumb[aria-pressed=true]>span { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.gallery-thumb:hover img { transform:scale(1.04); }
.gallery-image-note { margin-top:15px; font-size:12px; line-height:1.5; color:var(--muted); }
.pdp-in-context { margin:48px 0 0; background:#dedbd3; overflow:hidden; }
.pdp-in-context>img { display:block; width:100%; aspect-ratio:1.25; height:auto; object-fit:cover; }
.pdp-in-context figcaption { display:flex; justify-content:space-between; gap:24px; padding:24px; background:var(--ink); color:var(--paper); align-items:start; }
.pdp-in-context .eyebrow { padding-top:4px; color:var(--accent); }
.pdp-in-context figcaption>span:last-child { font-family:var(--serif); font-size:clamp(28px,3vw,40px); line-height:1.08; letter-spacing:-.025em; }
.pdp-purchase { position:sticky; top:112px; padding-top:8px; }
.pdp-heading>.eyebrow { color:var(--olive); margin-bottom:20px; }
.pdp-heading h1 { font-size:clamp(58px,5.9vw,94px); overflow-wrap:break-word; }
.pdp-heading-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:22px; }
.pdp-subtitle { color:var(--muted); font-size:14px; line-height:1.5; }
.pdp-price { font-size:26px; line-height:1.2; white-space:nowrap; }
.pdp-price span { font-size:12px; color:var(--muted); margin-left:2px; }
.pdp-description { margin:25px 0 28px; max-width:520px; font-size:16px; line-height:1.75; color:var(--muted); }
.pdp-finishes { margin-bottom:30px; }
.pdp-field-title { font-size:14px; font-weight:600; }
.pdp-finish-options { display:flex; gap:9px; margin-top:13px; flex-wrap:wrap; }
.pdp-finish-link { display:flex; align-items:center; gap:9px; border:1px solid var(--line); padding:12px; min-height:46px; font-size:14px; text-transform:capitalize; color:var(--muted); transition:border-color .2s,background .2s; }
.pdp-finish-link .finish-swatch { width:19px; height:19px; }
.pdp-finish-link[aria-current=page] { border-color:var(--ink); color:var(--ink); background:#e8e3d9; }
.pdp-finish-link:hover { border-color:var(--olive); }
.pdp-size-fieldset { border:0; padding:0; margin:0; min-width:0; position:relative; }
.pdp-size-fieldset legend { padding:0; font-size:14px; font-weight:600; line-height:20px; }
.pdp-size-fieldset legend>span { color:var(--muted); font-weight:400; }
.pdp-size-guide { position:absolute; right:0; top:-21px; font-size:14px; color:var(--ink); border-bottom:1px solid var(--olive); line-height:1.5; }
.pdp-size-guide>span { padding-left:4px; }
.pdp-size-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; margin-top:16px; }
.pdp .size-option { position:relative; display:block; cursor:pointer; }
.pdp .size-choice { position:absolute; z-index:1; inset:0; width:100%; height:100%; margin:0; padding:0; opacity:0; cursor:pointer; min-height:0; }
.pdp .size-label { display:grid; place-items:center; border:1px solid #bcc2b9; min-height:46px; font-size:14px; color:var(--ink); background:transparent; transition:background .2s,border-color .2s,color .2s; }
.pdp .size-option:hover .size-label { border-color:var(--ink); background:#e8e3d9; }
.pdp .size-choice:checked+.size-label { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.pdp .size-choice:focus-visible+.size-label { box-shadow:0 0 0 3px #b9896040; border-color:var(--olive); outline:2px solid var(--olive); outline-offset:2px; }
.pdp .size-choice:disabled+.size-label,.pdp fieldset:disabled .size-label { opacity:.4; cursor:not-allowed; }
.pdp-size-status { margin-top:11px; font-size:14px; color:var(--muted); min-height:21px; }
.pdp-size-status.is-selected { color:var(--ink); }
.pdp-size-status.is-invalid { color:#943b24; }
.pdp-purchase-row { display:flex; gap:10px; margin-top:22px; }
.pdp-purchase-row .quantity-control { height:58px; flex:none; }
.pdp-purchase-row .quantity-control input { font-size:16px; width:36px; }
.pdp-purchase-row .quantity-control button { font-size:19px; padding:0 13px; }
.pdp-purchase-row .add-button { min-height:58px; font-size:16px; padding:15px 22px; flex:1; }
.pdp .add-confirmation,.pdp .form-error { font-size:14px; }
.pdp-order-note { font-size:12px; text-align:center; color:var(--muted); margin-top:13px; }
.pdp-quick-facts { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; margin:28px 0 0; }
.pdp-quick-facts dt { font-size:12px; color:var(--muted); margin-bottom:7px; }
.pdp-quick-facts dd { font-size:14px; margin:0; color:var(--ink); }
.pdp-accordions { margin-top:9px; }
.pdp-accordions summary { font-size:15px; line-height:1.4; gap:20px; padding:20px 0; }
.pdp-accordions summary>svg { width:20px; height:20px; flex:none; color:var(--olive); }
.pdp-plus-line { transform-origin:center; transition:transform .22s,opacity .22s; }
.pdp-accordions details[open] .pdp-plus-line { transform:rotate(90deg); opacity:0; }
.pdp-accordion-content { padding:0 20px 22px 0; }
.pdp-accordion-content p { color:var(--muted); font-size:14px; line-height:1.8; padding:0; }
.pdp-accordion-content p+p { margin-top:12px; }
.pdp-accordion-content a { font-size:14px; color:var(--ink); text-underline-offset:4px; }
.pdp-accordion-content>p+a,.pdp-policy-links { display:block; margin-top:16px; }
.pdp-policy-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.pdp-section-nav { display:flex; justify-content:space-between; gap:25px; padding-top:25px; padding-bottom:25px; border-top:1px solid var(--line); font-size:14px; }
.pdp-section-nav a { transition:color .2s; }
.pdp-section-nav a:hover { color:var(--olive); }
.pdp-story { display:grid; grid-template-columns:1fr 1fr; background:var(--ink); color:var(--paper); }
.pdp-story-photo { position:relative; overflow:hidden; background:#dedbd3; }
.pdp-story-photo img { display:block; width:100%; height:100%; min-height:620px; object-fit:cover; mix-blend-mode:multiply; }
.pdp-story-photo>span { position:absolute; bottom:28px; left:32px; color:var(--ink); font-size:12px; letter-spacing:.12em; }
.pdp-story-copy { align-self:center; padding:65px clamp(35px,5vw,90px); }
.pdp-story-copy>.eyebrow { color:var(--accent); margin-bottom:24px; }
.pdp-story-copy h2 { font-size:clamp(48px,5.1vw,80px); }
.pdp-story-copy>p:not(.eyebrow) { max-width:440px; margin-top:27px; color:#bbc1b9; font-size:16px; line-height:1.8; }
.pdp-story-copy .text-link { margin-top:27px; font-size:14px; color:var(--paper); }
.pdp-design-numbers { display:grid; grid-template-columns:1fr 1fr; margin-top:42px; border-top:1px solid #434940; padding-top:28px; gap:20px; }
.pdp-design-numbers strong { font-family:var(--display,Impact,sans-serif); font-weight:400; font-size:clamp(55px,5vw,74px); line-height:1; }
.pdp-design-numbers strong>span { font-family:var(--sans); margin-left:5px; font-size:16px; }
.pdp-design-numbers p { font-size:12px; margin-top:10px; color:#bbc1b9; }
.pdp-details { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(45px,8vw,135px); padding-top:100px; padding-bottom:100px; }
.pdp-details-intro>.eyebrow { color:var(--olive); margin-bottom:23px; }
.pdp-details-intro h2 { font-size:clamp(48px,4.8vw,76px); }
.pdp-details-intro>p:last-child { max-width:350px; font-size:16px; color:var(--muted); line-height:1.8; margin-top:25px; }
.pdp-specifications { margin:0; }
.pdp-specifications>div { display:grid; grid-template-columns:1fr 1.35fr; padding:18px 0; border-bottom:1px solid var(--line); gap:24px; font-size:14px; line-height:1.6; }
.pdp-specifications>div:first-child { padding-top:0; }
.pdp-specifications dt { color:var(--muted); }
.pdp-specifications dd { margin:0; color:var(--ink); }
.pdp-care { margin-top:20px; }
.pdp-fit { display:grid; grid-template-columns:1.1fr 1fr; background:#e4dfd5; }
.pdp-fit-copy { padding:80px var(--gutter); align-self:center; }
.pdp-fit-copy>.eyebrow { color:var(--olive); margin-bottom:24px; }
.pdp-fit-copy h2 { font-size:clamp(48px,4.8vw,76px); }
.pdp-fit-copy>p:not(.eyebrow) { max-width:470px; margin-top:24px; color:#535e54; font-size:16px; line-height:1.8; }
.pdp-fit-copy>p+p:not(.eyebrow) { margin-top:16px; }
.pdp-fit-copy .button { margin-top:30px; font-size:14px; }
.pdp-fit-measure { position:relative; overflow:hidden; margin:0; min-height:560px; background:#e7e4dc; }
.pdp-fit-measure>img { display:block; width:100%; height:100%; min-height:560px; object-fit:cover; mix-blend-mode:multiply; }
.pdp-fit-measure figcaption { position:absolute; left:28px; right:28px; bottom:26px; display:flex; justify-content:space-between; gap:20px; padding:17px 19px; background:#f1eee7e8; color:var(--ink); font-size:14px; }
.pdp-related .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pdp-related .product-photo { aspect-ratio:1.2; }
.pdp-related h2 { font-size:clamp(46px,4.8vw,74px); }
.pdp-sticky-buy { display:none; }
.pdp-lightbox { padding:0; border:0; max-width:none; max-height:none; width:100vw; height:100dvh; background:var(--paper); color:var(--ink); overflow:hidden; }
.pdp-lightbox[open] { display:flex; flex-direction:column; }
.pdp-lightbox::backdrop,.pdp-size-dialog::backdrop { background:#111812c9; backdrop-filter:blur(7px); }
.pdp-lightbox-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:15px 26px; border-bottom:1px solid var(--line); flex:none; }
.pdp-lightbox-header>p { font-size:16px; }
.pdp-lightbox-header>p>span { font-size:14px; color:var(--muted); margin-left:8px; }
.pdp-lightbox-close,.pdp-dialog-close { width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; background:transparent; font-size:32px; color:var(--ink); }
.pdp-lightbox-close svg { width:25px; height:25px; }
.pdp-lightbox-close:hover,.pdp-dialog-close:hover { background:var(--ink); color:var(--paper); }
.pdp-lightbox-stage { display:grid; grid-template-columns:60px minmax(0,1fr) 60px; gap:20px; justify-content:center; align-items:center; padding:25px; min-height:0; flex:1; }
.pdp-lightbox-stage>img { width:100%; height:100%; min-height:0; object-fit:contain; mix-blend-mode:multiply; }
.pdp-lightbox-stage>.gallery-arrow { justify-self:center; width:48px; height:48px; border:1px solid var(--line); }
.pdp-lightbox-footer { display:flex; justify-content:space-between; gap:20px; padding:20px 30px; font-size:14px; color:var(--muted); flex:none; }
.pdp-size-dialog { border:0; padding:0; width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); background:var(--paper); color:var(--ink); overflow-y:auto; }
.pdp-size-dialog-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:17px 25px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--paper); }
.pdp-size-dialog-body { padding:30px; }
.pdp-size-dialog h2 { font-size:56px; }
.pdp-size-dialog-body>p { font-size:14px; line-height:1.8; color:var(--muted); margin-top:20px; }
.pdp-size-table-wrap { overflow:auto; margin-top:24px; }
.pdp-size-table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
.pdp-size-table caption { text-align:left; font-size:12px; padding:0 0 12px; color:var(--muted); }
.pdp-size-table th,.pdp-size-table td { padding:11px 12px; border-bottom:1px solid var(--line); }
.pdp-size-table th { font-weight:500; }
.pdp-size-table thead { background:var(--ink); color:var(--paper); }
.pdp-size-dialog .text-link { font-size:14px; margin-top:20px; }
.pdp-size-dialog-body>.button { width:100%; margin-top:26px; font-size:14px; }
@media(max-width:1100px) {
  .pdp-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
  .pdp-heading h1 { font-size:64px; }
  .pdp-heading-bottom { flex-wrap:wrap; gap:12px; }
  .pdp-size-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
  .gallery-topline { left:18px; right:18px; top:18px; }
  .gallery-topline>span:last-child { font-size:10px; }
  .pdp-material-mark>span { display:none; }
  .gallery-bottomline { left:18px; right:18px; bottom:15px; }
  .pdp-quick-facts { gap:8px; }
  .pdp-quick-facts dd { font-size:12px; }
  .pdp-in-context>img { aspect-ratio:.8; }
  .pdp-in-context figcaption { flex-direction:column; gap:18px; }
  .pdp-story-copy { padding:55px 35px; }
  .pdp-story-photo img { min-height:620px; }
  .pdp-details { gap:55px; }
  .pdp-fit-measure { min-height:570px; }
  .pdp-purchase-row .quantity-control button { padding:0 10px; }
  .pdp-purchase-row .add-button { padding:14px; }
}
@media(max-width:800px) {
  .pdp-main { grid-template-columns:1fr; gap:32px; padding-bottom:42px; }
  .pdp-breadcrumbs { padding-top:18px; padding-bottom:20px; font-size:12px; }
  .pdp-visuals { display:contents; }
  .pdp-gallery { grid-row:1; }
  .pdp-purchase { position:static; grid-row:2; padding-top:0; }
  .pdp-in-context { grid-row:3; margin-top:12px; }
  .gallery-main-image { aspect-ratio:1.05; }
  .gallery-thumbnails { gap:9px; }
  .gallery-thumb img { aspect-ratio:1.7; }
  .gallery-thumb>span { padding:10px; font-size:12px; }
  .gallery-image-note { font-size:12px; }
  .gallery-toolbar { min-height:55px; }
  .pdp-material-mark>span { display:block; }
  .pdp-heading h1 { font-size:clamp(60px,11vw,88px); }
  .pdp-heading-bottom { flex-wrap:nowrap; margin-top:20px; }
  .pdp-description { max-width:620px; }
  .pdp-size-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
  .pdp .size-label { min-height:46px; }
  .pdp-quick-facts dd { font-size:14px; }
  .pdp-in-context>img { aspect-ratio:1.15; }
  .pdp-in-context figcaption { flex-direction:row; }
  .pdp-section-nav { gap:15px; font-size:12px; padding-top:20px; padding-bottom:20px; }
  .pdp-story { grid-template-columns:1fr; }
  .pdp-story-photo { aspect-ratio:1.15; }
  .pdp-story-photo img { min-height:0; }
  .pdp-story-copy { padding:48px var(--gutter) 55px; }
  .pdp-story-copy h2 { font-size:clamp(52px,9vw,72px); }
  .pdp-story-copy>p:not(.eyebrow) { max-width:600px; }
  .pdp-design-numbers { margin-top:36px; }
  .pdp-details { grid-template-columns:1fr; gap:32px; padding-top:58px; padding-bottom:58px; }
  .pdp-details-intro h2 { font-size:56px; }
  .pdp-details-intro>p:last-child { max-width:500px; }
  .pdp-specifications>div:first-child { padding-top:18px; border-top:1px solid var(--line); }
  .pdp-fit { grid-template-columns:1fr; }
  .pdp-fit-copy { padding:52px var(--gutter); }
  .pdp-fit-copy h2 { font-size:56px; }
  .pdp-fit-copy>p:not(.eyebrow) { max-width:550px; }
  .pdp-fit-measure { min-height:0; aspect-ratio:1.2; }
  .pdp-fit-measure>img { min-height:0; }
  .pdp-fit-measure figcaption { left:20px; right:20px; bottom:20px; }
  .pdp-related .section-heading { flex-direction:column; align-items:start; gap:24px; }
  .pdp-related .section-heading .text-link { margin-top:0; }
  .pdp-related .product-photo { aspect-ratio:.95; }
  .pdp-sticky-buy:not([hidden]) { display:flex; position:fixed; z-index:45; inset:auto 0 0; align-items:center; justify-content:space-between; gap:14px; padding:13px var(--gutter) calc(13px + env(safe-area-inset-bottom)); border-top:1px solid #b9bfb5; background:var(--paper); box-shadow:0 -5px 25px #171c1910; }
  .pdp-sticky-buy>div>span { display:block; font-size:14px; line-height:1.4; }
  .pdp-sticky-buy small { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
  .pdp-sticky-buy .button { font-size:14px; min-height:48px; padding:13px 18px; white-space:nowrap; }
  body.pdp-has-sticky { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
  .pdp-lightbox-header { padding:12px 16px; }
  .pdp-lightbox-stage { grid-template-columns:38px minmax(0,1fr) 38px; gap:0; padding:8px; }
  .pdp-lightbox-stage>.gallery-arrow { width:38px; height:44px; }
  .pdp-lightbox-footer { padding:18px; font-size:12px; }
}
@media(max-width:430px) {
  .gallery-topline { left:14px; right:14px; top:15px; }
  .gallery-bottomline { left:14px; right:14px; bottom:12px; }
  .gallery-stage-caption,.gallery-zoom { font-size:12px; }
  .pdp-size-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
  .pdp-heading h1 { font-size:62px; }
  .pdp-heading-bottom { align-items:start; gap:12px; }
  .pdp-price { font-size:24px; }
  .pdp-price span { font-size:10px; }
  .pdp-finish-link { padding:11px; }
  .pdp-in-context figcaption>span:last-child { font-size:32px; }
  .pdp-in-context .eyebrow { max-width:90px; line-height:1.7; }
  .pdp-specifications>div { grid-template-columns:1fr 1.3fr; gap:20px; }
  .pdp-size-guide { font-size:13px; }
  .pdp-size-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .pdp-size-dialog-header { padding:12px 18px; }
  .pdp-size-dialog-body { padding:24px 18px; }
  .pdp-size-dialog h2 { font-size:48px; }
  .pdp-size-table th,.pdp-size-table td { padding:10px 8px; font-size:13px; }
  .pdp-lightbox-header>p>span { display:none; }
  .pdp-sticky-buy>div>span { font-size:12px; }
  .pdp-sticky-buy .button { padding:13px; }
}
@media(prefers-reduced-motion:reduce) { .pdp .gallery-thumb img,.pdp .pdp-plus-line,.pdp .size-label { transition:none; } }

.pdp-size-grid.pdp-option-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.pdp-option-grid .size-label{padding:12px;line-height:1.5;min-height:48px;height:auto;white-space:normal;overflow-wrap:anywhere}.pdp-heading h1{overflow-wrap:anywhere}.pdp-specifications dd{overflow-wrap:anywhere}

.pdp-add-secondary { display:block; margin:12px auto 0; min-height:44px; padding:10px 24px; background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:12px; }
