/* Shared customer-only preparation component; no legacy editor/admin selectors. */
.fit-detail-panel,.fit-photo-preparation { color:#252826; padding:20px 0; border-top:1px solid #deded7; }
.fit-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.fit-panel-heading h3 { margin:0; font-size:16px; letter-spacing:-.035em; line-height:1.5; }
.fit-panel-heading p { font-size:12px; margin:3px 0 0; color:#636963; }
.fit-muted { color:#656b65; font-size:12px; line-height:1.8; overflow-wrap:anywhere; margin:10px 0; }
.fit-outline,.fit-primary,.fit-close { font:inherit; cursor:pointer; min-height:44px; border-radius:3px; }
.fit-outline { color:#303830; border:1px solid #aeb8af; background:#fff; padding:8px 12px; font-size:12px; flex-shrink:0; }
.fit-primary { border:1px solid #30453a; background:#30453a; color:#fff; padding:10px 18px; font-size:14px; font-weight:600; }
.fit-status { background:#eff1ec; color:#525b53; padding:5px 8px; font-size:11px; border-radius:2px; white-space:nowrap; }
.fit-differences { list-style:none; margin:0; padding:0; }
.fit-differences li { border-bottom:1px solid #e7e9e3; padding:10px 0; font-size:13px; line-height:1.6; }
.fit-differences li span { display:block; color:#656b65; font-size:11px; margin-top:3px; }
.fit-measure-table { width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.fit-measure-table table { border-collapse:collapse; width:100%; font-size:11px; white-space:nowrap; }
.fit-measure-table caption { text-align:left; padding:8px 0; color:#4a554b; font-size:12px; }
.fit-measure-table :is(th,td) { padding:10px; border-bottom:1px solid #dfe3dc; text-align:center; }
.fit-measure-table th { background:#f4f5f0; font-weight:500; }
.fit-measure-table tr.is-selected td { background:#f3f6f0; }
.fit-photo-preparation > p { font-size:13px; line-height:1.75; margin:8px 0; }
.fit-photo-preparation details { font-size:12px; margin-top:12px; }
.fit-photo-preparation summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:#455046; }
.fit-photo-preparation dl { margin:0; }
.fit-photo-preparation dl > div { display:grid; grid-template-columns:78px 1fr; gap:12px; border-top:1px solid #e8eae4; padding:10px 0; line-height:1.8; }
.fit-photo-preparation dt { color:#4e584f; }.fit-photo-preparation dd { margin:0; color:#646d65; }
.fit-profile-dialog { box-sizing:border-box; width:min(580px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); border:1px solid #b9c1b7; border-radius:4px; background:#fffefb; color:#252b25; padding:0; margin:auto; overflow-y:auto; overscroll-behavior:contain; font-family:inherit; }
.fit-profile-dialog::backdrop { background:rgba(18,24,20,.5); }
.fit-profile-dialog * { box-sizing:border-box; }
.fitting-preparation-body { padding:0 22px 24px; }
.fitting-preparation-body .fit-photo-preparation { border-top:0; }
.tailoring-ai-notice > .fit-photo-preparation { border:0; padding:0; }
.fit-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; position:sticky; top:0; z-index:2; background:#fffefb; border-bottom:1px solid #e0e3da; }
.fit-dialog-header p { font-size:10px; letter-spacing:.14em; color:#737c73; margin:0 0 4px; }.fit-dialog-header h2 { font-size:21px; letter-spacing:-.04em; margin:0; }
.fit-close { width:44px; height:44px; border:0; background:transparent; font-size:27px; color:#333c34; }
.fit-profile-dialog form { padding:0 22px 22px; }
.fit-intro { font-size:13px; line-height:1.85; margin:18px 0 10px; color:#454e45; }
.fit-memory-note { font-size:11px; line-height:1.8; padding:12px 0; margin:0 0 12px; color:#6b7269; border-bottom:1px solid #e2e5db; }
.fit-body-fields,.fit-reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.fit-profile-dialog label { display:block; font-size:12px; color:#454e45; line-height:1.6; }
.fit-profile-dialog :is(input:not([type="checkbox"]),select) { display:block; font:inherit; font-size:16px; width:100%; min-width:0; height:44px; border:1px solid #c5cdc0; border-radius:3px; background:#fff; color:#29332a; padding:8px 10px; margin-top:5px; }
.fit-profile-dialog :is(input,select,button,summary):focus-visible { outline:2px solid #304d39; outline-offset:2px; }
.fit-profile-dialog fieldset { border:0; padding:0; margin:20px 0; min-width:0; }
.fit-profile-dialog legend { font-size:13px; color:#354436; font-weight:600; margin-bottom:9px; }
.fit-size-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
.fit-size-fields small { grid-column:1/-1; font-size:11px; line-height:1.7; color:#727970; }
.fit-preference select { max-width:100%; }
.fit-reference-title { margin:24px 0 8px; font-size:15px; }
.fit-reference-group { border-top:1px solid #e0e4da; margin:10px 0; }
.fit-reference-group > summary { min-height:48px; padding:12px 0; cursor:pointer; font-size:13px; color:#38443a; }
.fit-reference-group > summary span { font-size:11px; color:#74806f; margin-left:8px; }
.fit-profile-dialog .fit-confirm { display:flex; gap:9px; align-items:center; margin:13px 0; min-height:44px; font-size:12px; }
.fit-confirm input { width:18px; height:18px; accent-color:#30453a; flex-shrink:0; }
.fit-product-comparison { padding:16px 0; border-top:1px solid #e0e4da; }
.fit-product-comparison h3 { font-size:14px; margin:0 0 12px; overflow-wrap:anywhere; }
.fit-form-message { margin:14px 0; font-size:12px; color:#41553e; line-height:1.8; overflow-wrap:anywhere; }.fit-form-message.is-error { color:#9b3027; }
.fit-dialog-actions { display:flex; gap:10px; position:sticky; bottom:-22px; background:#fffefb; padding:14px 0 calc(14px + env(safe-area-inset-bottom)); border-top:1px solid #e1e5da; }
.fit-dialog-actions .fit-primary { flex:1; }.fit-dialog-actions .fit-outline { min-width:86px; }
@media(max-width:440px) { .fit-profile-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }.fit-dialog-header { padding:15px 16px; }.fit-profile-dialog form { padding:0 16px 16px; }.fit-dialog-actions { bottom:-16px; }.fit-panel-heading { align-items:flex-start; flex-wrap:wrap; }.fit-size-fields { grid-template-columns:1fr; }.fit-size-fields small { grid-column:1; }.fit-memory-note { font-size:11px; } }
