.bag-link{display:inline-flex;align-items:center;gap:.42rem;min-height:2.5rem}.bag-icon{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.bag-count{font-variant-numeric:tabular-nums}.bag-link.is-filled{border-color:#b88a38;background:#fffaf4}.bag-link.bag-added{animation:bag-added .48s cubic-bezier(.2,.8,.2,1)}@keyframes bag-added{45%{transform:scale(1.08)}}.purchase-shell{max-width:1200px;margin:auto;padding:clamp(2.5rem,6vw,5.5rem) 6vw}.purchase-intro{max-width:760px;margin-bottom:3.5rem}.purchase-intro h1{font:500 clamp(3.1rem,7vw,6.4rem)/.92 "Playfair Display",serif;letter-spacing:-.07em;margin:.65rem 0 1rem}.purchase-intro p{max-width:620px;color:var(--muted);line-height:1.7}.purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.48fr);gap:clamp(2rem,5vw,5rem);align-items:start}.configurator{border-top:1px solid var(--line)}.config-step{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.step-number{color:var(--gold);font:700 .72rem/1 "DM Sans",sans-serif;letter-spacing:.12em;padding-top:.35rem}.config-step label,.field-label{display:grid;gap:.6rem;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.config-step select,.config-step textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--navy);padding:.9rem 1rem;font:500 1rem "DM Sans",sans-serif;letter-spacing:0;text-transform:none}.product-options h2{font:500 clamp(2rem,4vw,3.2rem)/1 "Playfair Display",serif;letter-spacing:-.05em;margin:0 0 .45rem}.product-options p{color:var(--muted);line-height:1.6;margin:0 0 1.2rem}.config-option{border:0;border-top:1px solid var(--line);padding:1.1rem 0;margin:0}.config-option legend{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.config-choices{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.config-choice{display:block;border:1px solid var(--line);background:#fff;padding:.7rem .8rem;cursor:pointer;font-size:.86rem}.config-choice.chosen{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.config-choice input{position:absolute;opacity:0;pointer-events:none}.config-choice em{font-style:normal;color:var(--gold);font-size:.76rem}.config-quantity{display:inline-flex;align-items:center;border:1px solid var(--line);margin-top:.75rem}.config-quantity button{width:2.75rem;height:2.75rem;border:0;background:#fff;color:var(--navy);font-size:1.25rem;cursor:pointer}.config-quantity strong{min-width:2rem;text-align:center}.config-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0}.config-total span{display:block;color:var(--muted);font-size:.78rem}.config-total strong{font:500 2rem "Playfair Display",serif}.create-button,.summary-button{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:.95rem 1.15rem;font:700 .75rem "DM Sans",sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.create-button:disabled,.summary-button:disabled{opacity:.4;cursor:not-allowed}.order-panel{position:sticky;top:1.5rem;border:1px solid var(--line);background:#fff;padding:1.5rem}.order-panel h2{font:500 2.2rem "Playfair Display",serif;letter-spacing:-.05em;margin:0 0 1.25rem}.order-line{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.86rem}.order-line b,.order-line small,.order-line span{display:block}.order-line small,.order-line span{color:var(--muted);font-size:.76rem;line-height:1.45;margin-top:.2rem}.order-line strong{white-space:nowrap}.order-empty{color:var(--muted);line-height:1.55}.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.summary-total span{font-size:.8rem;color:var(--muted)}.summary-total strong{font:500 2rem "Playfair Display",serif}.summary-button{width:100%;margin-top:1.25rem}.add-another{border:0;background:transparent;color:var(--navy);text-decoration:underline;text-underline-offset:.3rem;padding:1rem 0 0;width:100%;cursor:pointer;font:600 .78rem "DM Sans",sans-serif}.added-notice{border-left:2px solid var(--gold);padding:.85rem 1rem;background:var(--paper);margin-bottom:1rem;font-size:.84rem}@media(max-width:800px){.header nav a:not(.cart-link){display:none}.purchase-layout{grid-template-columns:1fr}.order-panel{position:static}.config-total{position:sticky;bottom:0;background:var(--cream);border-top:1px solid var(--line);padding:1rem 0}.purchase-intro h1{font-size:3.3rem}}@media(prefers-reduced-motion:reduce){.bag-link.bag-added{animation:none}}
