.preorder-price{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:7px 10px}
.preorder-price>span{font-size:.8em;color:#aa969f;font-weight:400}
.preorder-price strong{font-weight:600}
.shop-item-price>span{display:block;font-size:11px;font-weight:400;color:#74636c;margin-bottom:5px}
.campaign-section{max-width:1300px;margin:auto;padding:70px 24px;scroll-margin-top:100px}
.campaign-section h2{font-size:clamp(36px,6vw,70px);margin:20px 0;line-height:1}
.campaign-section>p{max-width:850px;line-height:1.8;color:#c5bac0}
.campaign-section .gold{color:var(--g);font-size:12px;letter-spacing:.15em}
.campaign-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0}
.campaign-progress article{padding:20px 14px;border:1px solid #d6aa5545;min-width:0}
.campaign-progress span,.campaign-progress small{display:block;margin-top:10px;font-size:12px;color:#c5bac0}
.campaign-progress small{color:var(--g)}
.campaign-detail{font-size:12px}
@media(max-width:700px){.campaign-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-section{padding:45px 20px}}
.preorder-price small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--g);flex-basis:100%}
.price-note{color:#c5b5bc;font-size:12px;line-height:1.6;margin-top:14px}
.shop-dialog{border:1px solid #b39762;background:#f5f0e8;color:#21171b;width:min(940px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border-radius:12px;margin:auto;box-shadow:0 24px 100px #0009;font-family:Manrope,Arial,sans-serif;overflow:auto}
.shop-dialog::backdrop{background:#080708d9;backdrop-filter:blur(6px)}
.shop-dialog[open]{display:flex;flex-direction:column}
.shop-dialog [hidden]{display:none!important}
.shop-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #33202c22;position:sticky;top:0;background:#f5f0e8;z-index:2}
.shop-header h2{font-size:26px;font-family:'DM Sans',Arial,sans-serif;letter-spacing:-.04em;margin:0}
.shop-header button{border:1px solid #33202c44;border-radius:50%;height:44px;width:44px;flex:none;font-size:24px;background:transparent;cursor:pointer}
.shop-body{padding:24px}
.shop-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px}
.shop-summary{padding:22px;background:#e9e0d4;border-radius:8px;align-self:start;min-width:0}
.shop-summary h3,.checkout-form h3{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px}
.shop-item{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #33202c22}
.shop-item img{width:52px;height:80px;object-fit:contain}
.shop-item-name{font-size:13px;font-weight:600;line-height:1.5}
.shop-item-detail{font-size:11px;color:#6e5b64;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}
.shop-item-price{font-size:13px;white-space:nowrap;text-align:right}
.shop-item-price del{display:block;font-size:10px;color:#77636b}
.shop-quantity{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.shop-quantity button{min-height:36px;min-width:36px;border:1px solid #33202c44;border-radius:3px;background:transparent;cursor:pointer}
.shop-quantity .shop-remove{border:0;font-size:10px;text-decoration:underline;padding:0 4px}
.shop-totals{margin:20px 0 0;display:grid;grid-template-columns:1fr auto;gap:12px;font-size:13px}
.shop-totals dd{text-align:right;margin:0}
.shop-totals .saving{color:#356443}
.shop-totals .pay-total{border-top:1px solid #33202c33;padding-top:14px;font-size:18px;font-weight:600}
.shop-note{font-size:11px;line-height:1.7;color:#74636c;margin-top:16px}
.shop-primary,.shop-secondary{min-height:48px;border-radius:4px;padding:12px 18px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.shop-primary{display:block;width:100%;background:#21171b;color:#fff;border:1px solid #21171b;margin-top:20px}
.shop-primary:disabled{opacity:.5;cursor:not-allowed}
.shop-secondary{border:1px solid #78656e;background:transparent;color:#21171b}
.shop-error{color:#9a2432;font-size:13px;line-height:1.6;margin:16px 0 0;overflow-wrap:anywhere}
.shop-dialog :focus-visible{outline:3px solid #93651e;outline-offset:3px}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:500;min-width:0}
.checkout-fields .wide{grid-column:1/-1}
.checkout-fields input,.checkout-fields select,.checkout-fields textarea{width:100%;min-height:46px;border:1px solid #ad9d95;border-radius:4px;background:#fffdf8;color:#21171b;padding:11px;font:inherit;font-size:16px;box-sizing:border-box}
.checkout-fields textarea{resize:vertical;min-height:80px}
.checkout-consent{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:11px;line-height:1.7}
.checkout-consent input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:#21171b}
.shop-back{background:none;border:0;text-decoration:underline;font:inherit;font-size:12px;min-height:44px;margin-bottom:12px;cursor:pointer}
.shop-success{text-align:center;padding:32px 0;max-width:540px;margin:auto}
.shop-success h3{font-size:30px;letter-spacing:-.04em;margin:0 0 18px}
.shop-success p{font-size:14px;line-height:1.8}
.shop-success code{display:block;padding:15px;margin:18px 0;background:#e9e0d4;overflow-wrap:anywhere;font-size:12px}
.shop-empty{padding:40px 0;text-align:center;font-size:14px;color:#74636c}
@media(max-width:700px){
 .shop-dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;border-radius:0;border:0}
 .shop-header{padding:14px 18px}.shop-header h2{font-size:23px}
 .shop-body{padding:18px 18px max(24px,env(safe-area-inset-bottom))}
 .shop-grid{grid-template-columns:1fr;gap:22px}
 .shop-summary{padding:18px}.shop-item{gap:9px}
 .checkout-fields{gap:14px 10px}.checkout-fields .mobile-wide{grid-column:1/-1}
 #shopCheckoutView .shop-summary{grid-row:1}
 .shop-quantity button{min-height:44px;min-width:40px}
}
