.product-page{background:#ebe9e2;color:#292929}
.product-detail{max-width:1320px;margin:auto;padding:118px 64px 100px;min-height:calc(100svh - 80px)}
.back-catalog{display:inline-block;color:var(--muted);font-size:13px;padding:12px 0}
.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:650px;padding:40px 0 55px}
.product-gallery{position:relative;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;outline-offset:8px}
.gallery-stage{height:490px;display:grid;place-items:center}
.gallery-slide{width:100%;height:100%;display:grid;place-items:center;animation:gallery-in .35s ease-out}
.gallery-slide[hidden]{display:none}
.gallery-slide .catalog-art{transform:scale(1.83);margin:0}
.gallery-box{height:430px;width:auto;max-width:100%;filter:drop-shadow(0 17px 16px #29251e0d)}
.gallery-arrow{width:44px;height:60px;display:grid;place-items:center;font-size:27px;font-weight:300;color:#79766e;transition:color .2s,transform .2s}
.gallery-arrow:hover{color:#191917;transform:scale(1.12)}
.gallery-caption{grid-column:2;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#817e76;margin-top:25px}
.product-detail-copy .small-label{color:#77746c;font-size:12px;margin-bottom:30px}
.product-detail-copy h1{font-size:clamp(32px,3.25vw,48px);letter-spacing:.12em;line-height:1.2}
.detail-volume{color:#77746c;font-size:17px;margin-top:23px}
.detail-description{font-size:19px;line-height:1.65;margin-top:37px;max-width:520px;text-wrap:pretty}
.detail-price{font-size:29px;margin-top:35px;font-weight:500}
.product-detail-copy .buy-button{margin-top:26px;min-height:60px;justify-content:center;font-size:16px}
.detail-story{display:block;font-size:14px;margin-top:24px;color:#77746c}
.modal-close{position:absolute;right:18px;top:18px;width:44px;height:44px;z-index:2}
.checkout-dialog{width:620px;max-width:calc(100vw - 64px);max-height:90svh;padding:45px 44px 50px;background:var(--paper);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b1aca2 transparent}
.checkout-dialog::backdrop,.thanks-dialog::backdrop{background:#0006;backdrop-filter:blur(6px)}
.checkout-dialog h2{padding-right:32px;font-size:23px;letter-spacing:.045em;font-weight:500;margin:5px 0 12px}
.checkout-demo{font-size:11px;line-height:1.5;color:#888278;margin:0 0 27px;max-width:440px}
.order-item{display:grid;grid-template-columns:58px minmax(90px,1fr) 92px auto 30px;align-items:center;gap:12px;border-block:1px solid #29292930;padding:18px 0}
.order-thumbnail{height:65px;width:56px;display:grid;place-items:center;background:#e1ddd5;overflow:hidden;border-radius:3px}
.order-thumbnail .catalog-art{margin:0;transform:scale(.24)}
.order-item-name strong{font-size:13px;font-weight:500;letter-spacing:.04em;display:block}
.order-item-name>span{font-size:10px;color:var(--muted);display:block;margin-top:4px}
.order-quantity{display:flex;align-items:center;justify-content:center;gap:2px;font-size:13px}
.order-quantity button{width:30px;height:44px;font-size:18px;color:#76726a}
.order-quantity output{min-width:22px;text-align:center}
#line-price{font-size:13px;white-space:nowrap;font-weight:500}
.remove-item{width:30px;height:44px;display:grid;place-items:center;color:#807c74}
.remove-item .thin-cross{transform:scale(.7)}
.order-subtotal{text-align:right;font-size:13px;font-weight:500;margin-top:22px}
.shipping-copy{margin:48px 0 68px}
.shipping-copy p{font-size:13px;font-weight:500;line-height:1.55;margin-top:22px}
.shipping-copy p:first-child{margin:0}
#order-form{font-size:14px}
.form-field{display:block;color:#68655f;font-size:14px;line-height:1.5;margin-top:23px}
.form-field input,.form-field textarea,.phone-field{width:100%;border:1px solid #79756f;border-radius:0;background:transparent;min-height:51px;margin-top:7px;font:inherit;color:#292929}
.form-field input,.form-field textarea{padding:12px 15px}
.form-field textarea{resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder,.phone-field input::placeholder{color:#9a958d;opacity:1}
.form-field input:focus,.form-field textarea:focus,.phone-field:focus-within{outline:1px solid #292929;outline-offset:2px}
.phone-field{display:flex;align-items:stretch}
.phone-field select{font:inherit;border:0;background:transparent;padding:0 10px;color:#292929;width:104px}
.phone-field input{font:inherit;border:0;background:transparent;min-width:0;width:100%;padding:12px 8px;outline:0}
.promo-field{margin-top:19px}
.delivery-label{font-size:14px;color:#68655f;margin:20px 0 48px}
fieldset{padding:0;margin:0;border:0;min-width:0}
.delivery-fields legend{font-weight:500;font-size:16px;margin-bottom:3px}
.city-field{position:relative;margin-top:16px}
.city-field>span{position:absolute;right:16px;bottom:8px;font-size:25px;color:#979189;pointer-events:none}
.city-field input{padding-right:40px}
.choice{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;cursor:pointer;margin-top:14px}
.choice input{appearance:auto;accent-color:#292929;width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;cursor:pointer}
.choice span{min-width:0}
.field-note{font-size:11px;line-height:1.55;color:#817b73;margin-top:12px}
.delivery-note{margin:20px 0 24px}
.consent-group{margin-top:25px}
.consent-group>p{font-size:14px;color:#68655f}
.consent-group .choice{margin-top:8px;font-size:11px}
.text-link{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:2px;text-align:left;display:inline;font:inherit;color:inherit}
.text-link:hover{color:#777166}
.discount-note{font-size:14px;line-height:1.6;margin-top:25px}
.payment-fields{margin-top:38px}
.payment-fields legend{font-size:14px;color:#68655f;margin-bottom:4px}
.payment-fields .choice{margin-top:10px}
.order-totals{margin-top:60px}
.order-totals p{display:flex;justify-content:space-between;gap:15px;font-size:13px;line-height:1.5;margin-top:14px}
.order-totals p[hidden]{display:none}
.order-totals p>span:last-child{white-space:nowrap}
.order-totals .order-total{font-size:16px;margin-top:22px;padding-top:23px;border-top:1px solid #29292925}
.checkout-dialog .buy-button{min-height:54px;padding:17px;justify-content:center;text-align:center;margin-top:29px;font-size:14px}
.submit-note{font-size:10px;margin-top:20px;line-height:1.6}
.checkout-empty{padding:50px 0 15px;text-align:center}
.checkout-empty[hidden],#checkout-filled[hidden]{display:none}
.thanks-dialog{width:540px;max-width:calc(100vw - 64px);padding:75px 45px 50px;text-align:center}
.thanks-dialog .small-label{font-size:11px;color:#878177}
.thanks-dialog h2{font-size:58px;margin:25px 0 24px;letter-spacing:-.04em}
.thanks-dialog>p{font-size:18px;line-height:1.6}
.thanks-dialog .checkout-demo{font-size:11px;line-height:1.6;margin:26px 0 30px}
.thanks-done{font-size:13px;color:#68655f;padding:12px}
@keyframes gallery-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.gallery-slide{animation:none}.gallery-arrow{transition:none}}

.order-thumbnail{position:relative}.order-thumbnail .catalog-art{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.24)}

/* Extended SLOW BURN description and its seven notes. */
@media(min-width:768px){
 .detail-expanded .product-detail-grid{align-items:start}
 .detail-expanded .product-gallery{position:sticky;top:120px;margin-top:42px}
 .detail-expanded-description p{font-size:17px;line-height:1.65;text-wrap:pretty}
 .detail-expanded-description p+p{margin-top:22px}
 .detail-expanded-description .detail-character{font-size:20px;line-height:1.5;margin-bottom:26px}
 .detail-notes{margin-top:35px}
 .detail-notes h2{font-size:20px;line-height:1.4;font-weight:400}
 .detail-notes ul{list-style:none;padding:0;margin:16px 0 0}
 .detail-notes li{font-size:15px;line-height:1.6;margin-top:5px;color:var(--muted)}
}
