/* Accessible form and service navigation; preserve existing brand styles. */
:focus-visible { outline:3px solid #5bb8f5; outline-offset:5px; }
[hidden] { display:none !important; }
.config-panel h3 { font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; text-transform:uppercase; letter-spacing:1px; margin:0 0 10px; }
.service-choice > p,.contact-hint { color:#c3ccd4; font-size:.94rem; line-height:1.6; margin:0 0 20px; }
.service-choice .pricing-controls { margin:0; }
.order-help { margin:16px auto 0; text-align:center; }
.order-help a,.order-confirmation a { color:#79caff; text-underline-offset:4px; }
.color-swatch { min-width:40px; min-height:40px; }
.color-other { border:1px solid #91a2b2; background:#253544; color:white; font-size:21px; font-weight:700; cursor:pointer; }
.order-feedback { border:1px solid #5bb8f5; background:#112c3d; color:#edf7ff; border-radius:10px; padding:18px; margin:20px 0; line-height:1.65; }
.order-feedback.is-error { background:#3b2415; border-color:#ffb66b; color:#ffead4; }
.order-confirmation { text-align:left; border:1px solid #74cbaa; background:#102d28; padding:28px; border-radius:16px; margin:30px auto 0; max-width:860px; scroll-margin-top:100px; }
.order-confirmation h3 { font-size:1.65rem; color:#fff; margin:8px 0 18px; }
.order-confirmation p { color:#ddede7; line-height:1.7; margin:12px 0; }
.order-confirmation .confirmation-label { color:#91e7c5; font-size:.8rem; letter-spacing:2px; font-weight:700; }
.request-reference { font-weight:700; overflow-wrap:anywhere; }
.price-reference { margin:16px 0 24px; }
.price-reference summary { cursor:pointer; color:#c7eaff; padding:14px 0; font-weight:600; }
.service-links { background:#101e2b; color:white; padding:64px max(24px,calc((100% - 1180px)/2)); }
.service-links h2 { font-family:'Barlow Condensed',sans-serif; font-size:clamp(1.8rem,4vw,2.8rem); margin:14px 0 25px; }
.service-link-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.service-link-grid a { display:block; border:1px solid #3a4e60; border-radius:12px; padding:24px 18px; text-decoration:none; color:#fff; transition:border-color .2s; }
.service-link-grid a:hover { border-color:#f78c1e; }
.service-link-grid strong { display:block; font-size:1.2rem; }
.service-link-grid span { display:block; color:#a9c8df; font-size:.88rem; line-height:1.6; margin-top:12px; }
#reviewForm input,#reviewForm textarea { min-width:0; max-width:100%; }
#starRating [role=button] { display:inline-block; min-width:40px; text-align:center; }
#services,#order,#bring-your-own { scroll-margin-top:100px; }
@media(max-width:900px) { .service-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } nav ul { gap:14px; } }
@media(max-width:600px) { .service-link-grid { grid-template-columns:1fr; } .service-choice .pricing-controls { grid-template-columns:1fr; } .order-confirmation { padding:20px; } #reviewForm > div:first-of-type { grid-template-columns:1fr !important; } .pricing-sheet table { font-size:.82rem; } .pricing-sheet td,.pricing-sheet th { overflow-wrap:anywhere; } input,select,textarea { font-size:16px !important; } .footer-contact a { overflow-wrap:anywhere; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation:none !important; transition:none !important; } }
/* Keep each order stage together, with compact item choices on wide screens. */
.config-steps { grid-template-columns:minmax(0,1fr); gap:24px; }
.config-summary { grid-column:1 / -1; }
.garment-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.service-choice .pricing-controls { grid-template-columns:minmax(150px,1fr) minmax(240px,2fr); }
.service-choice .pricing-field:has(#pricingNotes) { display:none; }
#swampSignupForm p:has(input[name="bot-field"]) { display:none; }
@media(max-width:900px) { .garment-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .garment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .service-choice .pricing-controls { grid-template-columns:minmax(0,1fr); } }
