.fitting-room{padding-block:32px 48px;max-width:1280px}
.fitting-room [hidden]{display:none!important}
.fitting-room__heading h1{font-size:32px;margin:0 0 12px;letter-spacing:0}
.fitting-room__heading p{margin:0;max-width:720px}
.fitting-room__status{min-height:24px;margin:20px 0}
.fitting-room__workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.fitting-room__views{display:flex;border-bottom:1px solid #d3d0cd;gap:20px}
.fitting-room__views button{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 0;color:#252120}
.fitting-room__views button[aria-pressed=true]{border-color:#7b233e;color:#7b233e}
.fitting-room__canvas{aspect-ratio:3/4;max-height:650px;background:#f0f0ee;display:grid;place-items:center;overflow:hidden;margin-top:16px}
.fitting-room__canvas img{width:100%;height:100%;object-fit:contain;min-height:0}
.fitting-room__canvas>div{display:grid;justify-items:center;gap:16px;color:#595454}
.fitting-room__canvas svg{width:40px;height:40px}
.fitting-room__photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.fitting-room__photo-actions button,.fitting-room__photo-actions a,.fitting-room__upload{display:inline-flex;align-items:center;gap:8px;border:1px solid #777;background:transparent;border-radius:4px;padding:10px 12px;color:#242121;cursor:pointer;font-size:14px}
.fitting-room__upload{position:relative;overflow:hidden}
.fitting-room__upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.fitting-room__upload:focus-within{outline:2px solid #7b233e;outline-offset:3px}
.fitting-room svg{width:20px;height:20px;flex-shrink:0}
.fitting-room__note{font-size:13px;line-height:1.6;color:#55504e}
.fitting-room__selection h2{font-size:24px;margin:0 0 16px;letter-spacing:0}
.fitting-room__search,.fitting-room__chosen label{display:grid;gap:6px;font-size:14px}
.fitting-room input[type=search],.fitting-room select{width:100%;min-width:0;padding:10px;border:1px solid #aaa;background:#fff;color:#252120;border-radius:3px;min-height:44px}
.fitting-room__products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;max-height:400px;overflow:auto;align-content:start}
.fitting-room__product{min-width:0;padding:3px;border:2px solid transparent;background:transparent;text-align:left;font:inherit;border-radius:4px}
.fitting-room__product[aria-pressed=true]{border-color:#7b233e}
.fitting-room__product img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.fitting-room__product span{display:block;font-size:12px;line-height:1.4;padding-top:6px;overflow-wrap:anywhere}
.fitting-room__chosen{border-block:1px solid #d3d0cd;padding:16px 0;margin:20px 0}
.fitting-room__chosen h3{font-size:17px;margin:0 0 12px;letter-spacing:0}
.fitting-room__chosen a{display:inline-block;font-size:13px;margin-top:12px;text-decoration:underline}
.fitting-room__consent{display:flex;align-items:flex-start;gap:10px;margin-top:24px;font-size:14px;line-height:1.5}
.fitting-room__consent input{flex:none;margin-top:4px;width:18px;height:18px;accent-color:#7b233e}
.fitting-room__generate{width:100%;display:flex;gap:8px;justify-content:center;margin-top:20px;min-height:48px;background:#7b233e;color:white}
.fitting-room__access{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #d3d0cd}
.fitting-room__access label{display:grid;gap:6px;flex:1;min-width:140px;font-size:14px}
.fitting-room__access input{width:100%;min-height:44px;border:1px solid #aaa;border-radius:3px;padding:10px;background:white;color:#252120}
.fitting-room__access button{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #777;padding:10px 12px;background:transparent;border-radius:3px;color:#252120}
.fitting-room__access p{flex-basis:100%;margin:0;font-size:13px}
.fitting-room button:disabled{opacity:.5;cursor:not-allowed}
.fitting-room button:focus-visible,.fitting-room a:focus-visible{outline:2px solid #7b233e;outline-offset:3px}
@media(max-width:749px){.fitting-room{padding-block:24px}.fitting-room__workspace{grid-template-columns:minmax(0,1fr);gap:28px}.fitting-room__canvas{max-height:480px}.fitting-room__heading h1{font-size:28px}.fitting-room__products{grid-template-columns:repeat(3,minmax(0,1fr))}}
