/* Round 2 kit — bottom-sheet cards + fake map + dressed cloud. Layered on shared.css. */
.sheet-scrim{position:absolute;inset:0;background:color-mix(in srgb, var(--ink-scrim) 0%, transparent);transition:background .32s;pointer-events:none;z-index:30}
.sheet-scrim.on{background:color-mix(in srgb, var(--ink-scrim) 38%, transparent);pointer-events:auto}
.sheet{position:absolute;left:0;right:0;bottom:0;z-index:31;background:var(--sheet-panel, var(--chat-canvas));border-radius:24px 24px 0 0;
  box-shadow:0 -8px 40px color-mix(in srgb, var(--black) 22%, transparent);transform:translateY(104%);transition:transform .42s cubic-bezier(.2,.8,.2,1), height .3s;
  display:flex;flex-direction:column;overflow:hidden}
.sheet.on{transform:none}
.sheet[data-size="half"]{height:46%}.sheet[data-size="tall"]{height:72%}.sheet[data-size="full"]{height:93%}
.sheet[data-size="fit"]{height:auto;max-height:93%}   /* as tall as its content: a list ends where it ends */
.sheet .handle{display:flex;justify-content:center;padding:10px 0 4px;flex:none}
.sheet .handle i{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--n-40)}
.sheet .head{display:flex;align-items:center;justify-content:space-between;padding:6px 20px 10px;flex:none}
.sheet .head h3{margin:0;font-size:var(--type-title-size);font-weight:650;letter-spacing:-.4px;color:var(--ink-strong)}
/* the close button — one component, one place: 36px, icon centred, 16px from the sheet's top-right corner, on every sheet */
.sheet .x{position:absolute;top:var(--layout-close-inset);right:var(--layout-gutter);width:var(--layout-close);height:var(--layout-close);border-radius:50%;border:0;padding:0;line-height:0;display:grid;place-items:center;background:var(--n-20);color:var(--ink-strong);cursor:pointer;z-index:3}
.sheet .x .lu{width:16px;height:16px;stroke-width:2.2}
.sheet .x:active{transform:scale(.94)}
.sheet .body{flex:1;overflow-y:auto;padding:0 20px 28px;scrollbar-width:none}
.sheet .body::-webkit-scrollbar{display:none}
.row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--hairline);font-size:var(--type-hero-sub-size);color:var(--ink-strong)}
.row small{color:var(--muted);font-size:var(--type-body-size)}
.hours{display:flex;justify-content:space-between;padding:14px 0 6px}
.hours div{text-align:center;font-size:var(--type-meta-size);color:var(--muted)}
.hours b{display:block;font-size:var(--type-title-size);font-weight:650;color:var(--ink-strong);margin-top:6px;letter-spacing:-.3px}
/* fake map: a warm topo wash with two pins */
.map{position:relative;border-radius:var(--radius-bubble);overflow:hidden;background:
  radial-gradient(60% 40% at 30% 70%, #D9CFB8 0%, transparent 70%),
  radial-gradient(50% 50% at 75% 30%, #CFD6C4 0%, transparent 70%),
  repeating-radial-gradient(circle at 62% 62%, color-mix(in srgb, var(--ink-scrim) 8%, transparent) 0 1px, transparent 1px 18px),
  #E6E0D2}
.map.sm{height:150px}.map.lg{height:300px}
.map .road{position:absolute;height:3px;background:color-mix(in srgb, var(--white) 70%, transparent);border-radius:2px}
.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.pin .tag{background:var(--white);border:1px solid var(--hairline);border-radius:12px;padding:5px 9px;font-size:var(--type-body-size);font-weight:600;color:var(--ink-strong);white-space:nowrap;box-shadow:0 4px 12px color-mix(in srgb, var(--black) 10%, transparent)}
.pin .tag b{color:var(--accent);font-weight:750}
.pin .dot{width:10px;height:10px;border-radius:50%;background:var(--hero-ink);border:2px solid var(--white);box-shadow:0 2px 6px color-mix(in srgb, var(--black) 25%, transparent)}
.pin.alt .dot{background:var(--temp-cold)}
.pin.alt .tag b{color:var(--temp-cold)}
/* compare card served inline in chat */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.compare .c{background:color-mix(in srgb, var(--white) 62%, transparent);border:1px solid var(--hairline);border-radius:var(--radius-bubble);padding:12px 12px 10px;cursor:pointer}
.compare .c:active{transform:scale(.985)}
.compare .c small{display:block;font-size:var(--type-meta-size);font-weight:600;color:var(--muted);margin-bottom:4px}
.compare .c .t{font-size:var(--type-hero-verdict-size);font-weight:800;letter-spacing:-.04em;color:var(--accent);line-height:1}
.compare .c.alt .t{color:var(--temp-cold)}
.compare .c p{margin:6px 0 0;font-size:var(--type-body-size);line-height:1.35;color:var(--ink-strong)}
/* dressed cloud: the scarf + boots stand in for taller wardrobe renders */
.dressed{position:relative;display:inline-block}
.dressed .scarf{position:absolute;left:18%;right:18%;bottom:-6px;height:16px;border-radius:8px;
  background:repeating-linear-gradient(90deg,#C9503A 0 10px,#E07A5F 10px 20px);box-shadow:0 3px 6px color-mix(in srgb, var(--ink-scrim) 20%, transparent)}
.dressed .scarf::after{content:"";position:absolute;right:10px;top:12px;width:14px;height:30px;border-radius:6px;
  background:repeating-linear-gradient(0deg,#C9503A 0 8px,#E07A5F 8px 16px)}
.dressed .boots{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);font-size:24px;letter-spacing:-6px;line-height:1;filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--black) 25%, transparent))}
/* module tiles for the modular home */
.mod{background:var(--home-card);border:1px solid var(--hairline);border-radius:var(--radius-sheet);padding:14px 16px;cursor:pointer;position:relative}
.mod:active{transform:scale(.985)}
.mod .k{font-size:var(--type-micro-size);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.mod .chev{position:absolute;right:14px;top:14px;color:var(--muted-2);font-size:var(--type-hero-body-size)}
/* full-bleed map sheets: standard head stays, body loses its padding */
.sheet .body.mapbody{padding:0;overflow:hidden}
