:root{--vlcc-blue:#222c64;--vlcc-blue-dark:#151d48;--vlcc-blue-deep:#0e1538;--vlcc-red:#ff0000;--vlcc-gold:#c2912e;--vlcc-gold-light:#ddb54d;--vlcc-white:#fff;--vlcc-ivory:#f8f6f0;--vlcc-text:#202435;--vlcc-muted:#626879;--border:#dfe1e8}
*{box-sizing:border-box}html{font-family:Inter,Arial,sans-serif;color:var(--vlcc-text);background:var(--vlcc-ivory)}body{margin:0;min-width:320px}a{color:inherit}.site-header{height:84px;background:#fff;border-bottom:1px solid #e9e9e9}.header-inner{width:min(100% - 32px,1100px);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{height:64px;width:auto}.header-links{display:flex;align-items:center;gap:24px;font-weight:700;color:var(--vlcc-blue)}.header-links a{text-decoration:none}.header-links a:last-child{color:var(--vlcc-gold)}
.app-shell{width:min(100% - 32px,900px);margin:36px auto 64px}.intro{text-align:center;margin-bottom:28px}.eyebrow{color:var(--vlcc-gold);font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.intro h1,.page-title{font-family:"Playfair Display",Georgia,serif;color:var(--vlcc-blue-dark);font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.05;margin:.5rem 0 1rem}.intro p{color:var(--vlcc-muted);font-size:1.05rem;line-height:1.7}
.shirt-guide{width:min(100%,680px);margin:0 auto 30px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 16px 45px rgba(21,29,72,.08)}.shirt-guide img{display:block;width:100%;height:auto}.shirt-guide figcaption{padding:14px 20px;color:var(--vlcc-blue-dark);font-size:.94rem;font-weight:700;line-height:1.5;text-align:center}
.progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:0 0 22px;padding:0;list-style:none}.progress li{min-width:0;color:var(--vlcc-muted);font-size:.7rem;text-align:center}.progress li::before{content:"";display:block;height:5px;margin-bottom:7px;border-radius:10px;background:#d8dae2}.progress li.active{color:var(--vlcc-blue);font-weight:800}.progress li.active::before,.progress li.complete::before{background:var(--vlcc-gold)}
.panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:clamp(22px,4vw,42px);box-shadow:0 16px 45px rgba(21,29,72,.08)}.step[hidden]{display:none}.step h2{margin:0 0 8px;color:var(--vlcc-blue-dark);font-family:"Playfair Display",Georgia,serif;font-size:1.9rem}.step-lead{margin:0 0 26px;color:var(--vlcc-muted);line-height:1.6}.field{margin:0 0 22px}.field label,.field legend{display:block;margin-bottom:8px;font-weight:800}.required{color:#b00000}.field input,.field select{width:100%;min-height:52px;padding:0 14px;border:1px solid #bfc3d0;border-radius:7px;background:#fff;color:var(--vlcc-text);font:inherit}.field input:focus,.field select:focus,.choice input:focus+span,.color-choice input:focus+span,.button:focus-visible{outline:3px solid rgba(194,145,46,.45);outline-offset:2px}.helper{display:block;margin-top:7px;color:var(--vlcc-muted);font-size:.86rem}.error{min-height:1.1em;margin:6px 0 0;color:#a40000;font-size:.86rem;font-weight:700}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice,.color-choice{position:relative}.choice input,.color-choice input{position:absolute;opacity:0}.choice span,.color-choice span{display:flex;min-height:58px;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:8px;font-weight:800;cursor:pointer}.choice input:checked+span,.color-choice input:checked+span{border-color:var(--vlcc-gold);background:#fff8e8;color:var(--vlcc-blue-dark)}.notice{margin:22px 0;padding:18px;border-left:5px solid var(--vlcc-gold);border-radius:7px;background:#fff6d9;color:var(--vlcc-blue-dark);line-height:1.55}.notice strong{display:block;margin-bottom:6px}.check-row{display:flex;gap:10px;align-items:flex-start;line-height:1.55}.check-row input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.actions [hidden]{display:none}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 24px;border:2px solid var(--vlcc-gold);border-radius:6px;background:var(--vlcc-gold);color:var(--vlcc-blue-deep);font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.button:hover{background:var(--vlcc-gold-light);border-color:var(--vlcc-gold-light)}.button.secondary{background:#fff;border-color:var(--vlcc-blue);color:var(--vlcc-blue)}.button:disabled{opacity:.55;cursor:not-allowed}
.quantity{display:flex;align-items:center;gap:18px}.quantity button{width:52px;height:52px;border:2px solid var(--vlcc-blue);border-radius:8px;background:#fff;color:var(--vlcc-blue);font-size:1.5rem;font-weight:800}.quantity output{min-width:54px;text-align:center;font-size:1.7rem;font-weight:800}.shirt-card{margin:0 0 20px;padding:22px;border:1px solid var(--border);border-radius:10px;background:#fcfcfd}.shirt-card h3{margin:0 0 20px;color:var(--vlcc-blue)}.shirt-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.price{font-weight:800;color:var(--vlcc-blue)}.review-section{margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.review-section h3{display:flex;align-items:center;justify-content:space-between;color:var(--vlcc-blue)}.edit{border:0;background:none;color:var(--vlcc-gold);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.review-list{display:grid;gap:10px}.review-shirt{padding:14px;border-radius:8px;background:var(--vlcc-ivory)}.order-total{text-align:center;margin:24px 0;padding:20px;border:2px solid var(--vlcc-gold);border-radius:10px}.order-total strong{display:block;font-size:2rem;color:var(--vlcc-blue)}.status{min-height:24px;margin-top:12px;text-align:center;font-weight:800}.receipt{background:#fff;border:1px solid var(--border);padding:32px;border-radius:14px}.receipt dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px}.receipt dt{font-weight:800}.receipt dd{margin:0}.receipt-order{font-size:1.7rem;color:var(--vlcc-blue);font-weight:800}
@media(max-width:700px){.header-links a:first-child{display:none}.app-shell{margin-top:24px}.progress li span{position:absolute;width:1px;height:1px;overflow:hidden}.shirt-grid{grid-template-columns:1fr}.actions{flex-direction:column-reverse}.button{width:100%}.choices{grid-template-columns:1fr}.receipt dl{grid-template-columns:1fr;gap:2px}.receipt dd{margin-bottom:10px}}
@media print{body{background:#fff}.site-header,.progress,.intro,.actions,.no-print{display:none!important}.app-shell{width:100%;margin:0}.panel,.receipt{border:0;box-shadow:none;padding:0}.receipt{display:block!important}}
