.product-page{padding-top:84px}.product-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:calc(100svh - 84px);border-bottom:1px solid var(--line)}.product-visual{background:#111;padding:clamp(1rem,3vw,3rem);display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem;min-width:0}.product-gallery{display:flex;flex-direction:column;gap:.75rem}.gallery-thumb{border:1px solid var(--line);background:var(--panel);padding:0;cursor:pointer;aspect-ratio:2/3;overflow:hidden}.gallery-thumb[aria-pressed=true]{border-color:var(--blue-text)}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.product-art-frame{position:relative;min-height:680px;overflow:hidden;background:var(--panel);display:grid;place-items:center}.product-art-frame img,.product-art-frame[data-view=detail-top] img,.product-art-frame[data-view=detail-bottom] img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}.product-art-index{position:absolute;right:1rem;bottom:.5rem;font:700 clamp(4rem,8vw,8rem)/1 var(--display);color:rgba(241,241,241,.08)}.product-info{padding:clamp(3rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center;background:var(--bg)}.product-info h1{font:700 clamp(4.5rem,8vw,8rem)/.7 var(--display);letter-spacing:-.06em;margin:2rem 0 1rem}.product-subtitle{font:400 clamp(1.5rem,2.5vw,2.25rem)/1.1 var(--serif);font-style:italic;color:var(--blue-text);margin:0 0 2rem}.product-description{color:var(--muted);max-width:510px;margin:0 0 2.5rem}.product-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:2.5rem}.product-facts div{padding:1rem 0}.product-facts div+div{border-left:1px solid var(--line);padding-left:1rem}.product-facts span,.product-config label>span{display:block;font-size:.52rem;letter-spacing:.16em;color:var(--muted);margin-bottom:.35rem}.product-facts strong{font:600 1.25rem var(--display)}.product-config .form-grid{margin-bottom:1.5rem}.product-price{border-top:1px solid var(--line);margin:1rem 0 2rem}.product-price div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);color:var(--muted)}.product-price div:first-child{color:var(--text)}.product-price strong{font:600 1.1rem var(--display)}.product-reserve{width:100%}.back-link{display:inline-block;margin-top:1.5rem;color:var(--muted);font-size:.65rem;letter-spacing:.12em;border-bottom:1px solid var(--line);align-self:flex-start}.product-notes{background:var(--panel)}
@media(max-width:1000px){.product-hero{grid-template-columns:1fr}.product-visual{min-height:760px}.product-art-frame{min-height:680px}.product-info{padding-top:5rem;padding-bottom:5rem}}
@media(max-width:600px){.product-page{padding-top:68px}.product-visual{grid-template-columns:1fr;min-height:auto;padding:1rem}.product-gallery{order:2;display:grid;grid-template-columns:repeat(3,1fr)}.gallery-thumb{aspect-ratio:2/3}.product-art-frame{min-height:500px}.product-info{padding:4rem var(--pad)}.product-info h1{font-size:clamp(4rem,20vw,6rem)}.product-facts{grid-template-columns:1fr}.product-facts div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}}
.order-modal{width:min(820px,calc(100% - 2rem));max-height:92svh;padding:0;border:1px solid var(--line);background:var(--panel);color:var(--text);overflow:auto}.order-modal::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(7px)}.order-modal-content{padding:clamp(2rem,5vw,4rem)}.order-modal-close{position:absolute;z-index:2;top:1rem;right:1rem;width:42px;height:42px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:1.8rem;line-height:1;cursor:pointer}.order-modal h2{margin:1rem 0;font:700 clamp(3rem,7vw,6rem)/.76 var(--display);letter-spacing:-.055em}.order-modal-intro{max-width:600px;color:var(--muted)}.order-selection-preview{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:2rem 0;padding:1.25rem;border:1px solid var(--line);background:var(--bg)}.order-selection-preview strong{font:600 1.8rem/1 var(--display)}.order-selection-preview span{grid-column:1;color:var(--muted);font-size:.7rem}.order-selection-preview b{grid-row:1/3;grid-column:2;align-self:center;font:600 1.35rem var(--display)}.order-customer-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.order-field{display:flex;min-width:0;flex-direction:column}.order-field:last-of-type{grid-column:1/-1}.order-field label{margin-bottom:.45rem;font-size:.56rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.order-field label span{color:var(--muted);font-weight:400}.order-field input,.order-field textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#191919;color:var(--text);padding:.9rem;outline:0}.order-field textarea{resize:vertical}.order-field input:focus,.order-field textarea:focus{border-color:#5da9cf;box-shadow:0 0 0 1px #5da9cf}.order-field [aria-invalid=true]{border-color:#d77e7e}.order-field-error{min-height:1.2rem;padding-top:.3rem;color:#ef9c9c;font-size:.66rem}.order-customer-form>.button{grid-column:1/-1;width:100%;margin-top:.5rem}.order-id{margin:2rem 0;padding:1.5rem;border-left:3px solid var(--blue);background:var(--bg)}.order-id span{display:block;color:var(--muted);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}.order-id strong{display:block;margin:.25rem 0;font:700 clamp(2.4rem,6vw,4rem)/1 var(--display);color:#75b9d7}.order-id p{margin:.75rem 0 0;color:var(--muted)}.order-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.order-summary>div{padding:.85rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.order-summary span{display:block;color:var(--muted);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase}.order-summary strong{display:block;margin-top:.2rem;font:600 1.1rem var(--display);overflow-wrap:anywhere}.order-static-note{padding:1rem;border:1px solid var(--line);color:var(--muted);font-size:.7rem}.order-actions{display:flex;gap:1rem;margin-top:1.5rem}.order-actions .button{flex:1}.order-actions .button:not(.button-primary){border:1px solid var(--line);background:transparent}
@media(max-width:600px){.order-modal-content{padding:4rem 1.25rem 1.5rem}.order-customer-form,.order-summary{grid-template-columns:1fr}.order-field,.order-field:last-of-type,.order-customer-form>.button{grid-column:1}.order-selection-preview{grid-template-columns:1fr}.order-selection-preview span,.order-selection-preview b{grid-column:1;grid-row:auto}.order-actions{flex-direction:column}.order-actions .button{width:100%}}
