/* Places we love: the Chicago look from ShallWe (pale blue ground, navy ink, flag blue and red) on the site's own header and footer. */
body.places{--pbg:#EDF4F9;--pink:#1B3358;--psoft:#4A5E78;--pline:rgba(27,51,88,.26);--pblue:#2088C8;--pred:#C8102E;--pnote:#CFE8F6;background:var(--pbg);color:var(--pink)}
body.places .eyebrow,body.places .note{color:var(--psoft)}
body.places .brushed path{stroke:var(--pblue)}
.places .ghero{background:#FFFEF8;border-radius:4px;padding:34px 22px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.places .ghero h1{font-family:"Big Shoulders Inline Display","Arial Narrow",Impact,sans-serif;font-weight:800;font-size:clamp(56px,15vw,110px);letter-spacing:.02em;line-height:.95;color:#1C8FCF;margin:0}
.places .ghero h1 span{color:var(--pred)}
.places .ghero .sw-city{font-family:'Allura',cursive;font-size:clamp(44px,11vw,76px);line-height:1;margin:-8px 0 0;color:#C8102E}

.places .ghero .row-st{display:flex;gap:clamp(22px,8vw,60px);margin:14px 0 8px}
.places .ghero .st{width:clamp(22px,5vw,34px);height:auto;fill:var(--pred);flex:none}
.places .ghero .lede{max-width:54ch;margin:6px auto 0;color:var(--psoft)}
.places .btn.alt{background:none;color:var(--pink);border:1.5px solid var(--pink)}
.places .btn.alt:hover{background:var(--pink);color:#fff}
.places .gchip{border:1.5px solid var(--pblue);background:#fff;color:var(--pink)}
.places .gchip:nth-child(even){border-color:var(--pred)}
.places .gchip:hover{border-color:var(--pink)}
.places .gchip[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:#fff}
.places .gdrop-b{background:#fff;border-color:var(--pblue);color:var(--pink)}
.places .gdrop:nth-child(even) .gdrop-b{border-color:var(--pred)}
.places .gdrop-b.has,.places .gdrop.open .gdrop-b{background:var(--pink);border-color:var(--pink);color:#fff}
.places .gdrop-p{border-color:var(--pline);color:var(--pink)}
.places .gdrop-p input{accent-color:var(--pblue)}
.places .gpick{background:var(--pnote);color:var(--pink)}
.places .gpick.clear{background:none}
.places .gselects select,.places .gselects input{background:#fff;border:1px solid var(--pline);color:var(--pink)}
.places .gcard{background:#fff;border:1px solid var(--pline);border-top:4px solid var(--pblue);border-radius:3px}
.places .glist .gcard:nth-child(even){border-top-color:var(--pred)}
.places .gcard h3{color:var(--pink)}
.places .gmeta{color:var(--psoft)}
.places .gtag{background:var(--pnote);color:var(--pink)}
.places .gtag.past{background:#E9E4E4;color:#6B4A4A}
.places .gtemp{color:var(--pred)}
.places .gcard .glinks{margin-top:auto;padding-top:8px}
.places .glinks a{color:var(--pblue);font-weight:600}
.places .gdetail{font-size:15px;color:var(--pink)}
.places .gdetail b{font-weight:600}
.places .gstay{background:#FFFEF8;border-radius:4px;padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.places .gstay h2{font-family:var(--display);font-weight:400;color:var(--pink);margin:0}
.places .gstay .gcard{border-top-color:var(--pred)}
.places .gpicks{color:var(--pink)}

.places .gchoice{display:grid;gap:14px;grid-template-columns:1fr;width:100%;max-width:440px;margin-inline:auto}
.places .gcard{background:#FFFEF8;border-top:4px solid var(--pblue);border-radius:4px;padding:18px 18px 16px;text-align:center;display:flex;flex-direction:column;gap:4px}
.places .gcard:nth-child(2){border-top-color:var(--pred)}
.places .gcard h2{margin:0;font-size:20px}
.places .gcard p{margin:0;font-size:15px;line-height:1.5;color:var(--psoft)}
.places .gcard p:last-child{margin-top:auto;padding-top:10px}
.places .gplan-a{display:inline-block;padding:8px 14px;font-size:14px;font-weight:600;color:var(--pink);text-decoration:none;border:1.5px solid currentColor;border-radius:4px}
.places .gplan-a:hover,.places .gplan-a:focus-visible{background:rgba(27,51,88,.07)}
html{scroll-behavior:smooth}

.places{--note-lines:2}   /* how many lines of a place's write-up show before "Read more" (Hannah picks 2 or 3, Oct 19) */
.places .gcard .gnote{display:-webkit-box;-webkit-line-clamp:var(--note-lines);line-clamp:var(--note-lines);-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.places .gcard .gnote.open{display:block;-webkit-line-clamp:unset;line-clamp:unset}
.places .gmore{align-self:flex-start;background:none;border:0;padding:4px 0;font:inherit;font-size:14px;font-weight:600;color:var(--pblue);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.places .gmore[hidden]{display:none}
.places .ghours{align-self:flex-start;background:none;border:0;padding:4px 0;font:inherit;font-size:14px;font-weight:600;color:var(--pink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.places .ghours-text{white-space:pre-line;font-size:14px;color:var(--psoft);margin:0;padding-top:0}
.gpop{position:fixed;inset:0;z-index:1000;background:rgba(43,33,28,.45);display:none;align-items:center;justify-content:center;padding:18px}
.gpop.on{display:flex}
.gpop:not(.on){display:none!important}   /* closed means gone: the list style (.places .glist, display:flex) was keeping the closed pop-up's dark layer on screen (Nov 5) */
/* The X is the top layer, in its own strip above the card, so the card never covers it and it stays put while the card scrolls (QA, Nov 5: on every width the card sat on top of the X) */
.gpop-box{position:relative;display:flex;flex-direction:column;width:min(560px,100%);max-height:min(86vh,100%);overflow:hidden;background:#FFFEF8;border-radius:18px;box-shadow:0 24px 60px rgba(20,17,15,.35);padding:0}
.gpop-body{overflow:auto;overscroll-behavior:contain;padding:62px 22px 22px;min-height:0}
.gpop-x{position:absolute;z-index:3;top:10px;right:12px;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(58,42,32,.25);background:#fff;font-size:26px;line-height:1;color:var(--espresso);cursor:pointer;touch-action:manipulation}
.places .gcard.inpop{border:0;border-top:4px solid var(--pblue);padding:10px 6px 0;min-height:0!important;box-shadow:none;cursor:default}
.places .gcard.inpop::after{content:none}
.places .gcard.inpop .ghnote{display:block;-webkit-line-clamp:unset;line-clamp:unset;text-align:left}
.places .gcard.inpop .gnote{display:block;-webkit-line-clamp:unset;line-clamp:unset;text-align:left}
.places .gcard.inpop .ghours-text{text-align:left}
.places .gcard.inpop .gdetail{text-align:left}
@media (max-width:600px){.gpop{padding:0;align-items:flex-end}.gpop-box{max-height:88vh;border-radius:18px 18px 0 0}}

/* ShallWe™ (Legal, Oct 13, 2026) */
.places .ghero h1 .tm{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:.2em;line-height:0;vertical-align:top;position:relative;top:.55em;margin-left:.06em;letter-spacing:0;color:var(--pred)}
.places .gmorewrap{text-align:center;margin:26px 0 6px}
.places .gshowmore{font:inherit;font-size:16px;font-weight:600;color:#fff;background:var(--pblue);border:0;border-radius:4px;padding:12px 22px;cursor:pointer}
.places .gshowmore:hover{filter:brightness(1.08)}
.places .gshowmore[hidden]{display:none}
body.places .note.gcheck{color:inherit;opacity:1}   /* Legal, Oct 16: the page-level check line, same color as the body text */

/* ROWS (Hannah, Nov 3, 11:20pm to 11:23pm: the equal-height card grid left blank patches; "option 3", rows, with Website, Map and Hours right under the blurb; 25 per page).
   One row per place at every width; the row's left edge alternates flag blue and red; "›" at the right; tapping the row opens the full card. */
.places .glist{display:flex;flex-direction:column;gap:10px}
.places .glist .gcard{text-align:left;border:1px solid var(--pline);border-left:4px solid var(--pblue);border-radius:3px;padding:12px 40px 12px 16px;gap:3px;position:relative;cursor:pointer;background:#FFFEF8}
.places .glist .gcard:nth-child(even){border-top-color:var(--pline);border-left-color:var(--pred)}
.places .glist .gcard::after{content:"\203A";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;color:var(--pblue)}
.places .glist .gcard:hover,.places .glist .gcard:focus-visible{border-color:var(--pblue);border-left-color:var(--pblue)}
.places .glist .gcard:nth-child(even):hover,.places .glist .gcard:nth-child(even):focus-visible{border-color:var(--pred);border-left-color:var(--pred)}
.places .glist .gcard h3{font-size:19px;line-height:1.2}
.places .glist .gmeta{font-size:13.5px;margin:0}
.places .glist .gtags{gap:5px;margin:2px 0 0}
.places .glist .gtag{font-size:12px;padding:2px 9px}
.places .glist .gcard .gnote,.places .glist .gcard .ghnote{font-size:14.5px;line-height:1.45;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.places .glist .gcard .gnote.hid{display:none}
.places .glist .gdetail{font-size:13.5px;margin:2px 0 0}
.places .glist .gcard .glinks{margin-top:5px;padding-top:0;gap:4px 16px;flex-wrap:wrap;font-size:13.5px;align-items:baseline}
.places .glist .gcard .ghours{padding:0;font-size:13.5px}
.places .glist .gcard .gmore{display:none}

/* Moods (Hannah, Nov 3, 8:58pm): the page opens on one question and nine tiles; one tap shows that mood's places. */
.places .gmoods{display:flex;flex-direction:column;gap:6px}
.places .gmood-q{font-family:var(--display);font-weight:400;font-size:clamp(26px,6.5vw,34px);line-height:1.15;margin:0;color:var(--pink)}
.places .gmood-l{margin:0 0 10px;font-size:15px;color:var(--psoft)}
.places .gmood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:700px){.places .gmood-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.places .gmood{font:inherit;text-align:left;color:var(--pink);background:#fff;border:1.5px solid var(--pline);border-radius:16px;padding:18px 16px 16px;cursor:pointer;display:flex;flex-direction:column;gap:0;min-height:100%;transition:border-color .15s,transform .15s}
.places .gmood:hover,.places .gmood:focus-visible{border-color:var(--pblue);transform:translateY(-1px)}
.places .gmood .e{font-size:26px;line-height:1;margin-bottom:10px}
.places .gmood .t{font-family:var(--display);font-size:19px;line-height:1.15}
.places .gmood .s{font-size:13px;line-height:1.35;color:var(--psoft);margin-top:4px}
.places .gmood-foot{margin:18px 0 0;text-align:center;font-size:14px;color:var(--psoft)}
.places .gback{font:inherit;font-size:14px;color:var(--pink);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.places .gbackp{margin:0 0 6px}
.places .gmood-head{display:flex;flex-direction:column;gap:8px}
.places .gmood-title{display:flex;align-items:center;gap:10px;margin:0}
.places .gmood-title .e{font-size:28px;line-height:1}
.places .gmood-title .t{font-family:var(--display);font-size:clamp(26px,6.5vw,34px);line-height:1.1;color:var(--pink)}
.places .gmood-head .note{margin:0}
.places .gcard .ghnote{margin:0;font-size:15px;line-height:1.5;color:var(--pink);font-style:italic;white-space:normal}
.places .gcard .ghnote b{font-style:normal;font-weight:600}
.places .gcard .gnote.hid{display:none}
.places .gcard.inpop .ghnote{text-align:left}

/* SHALLWE FLOW, second version (Hannah, Nov 4, 1:25pm to 1:49pm): mood squares, then "Who's coming?" and "Any considerations?" in the same squares,
   then the list with the picks as pills (change in place), drop-downs for When / Where / Price, Happy hour, and "Group by neighborhood" squares. */
.places .gstep{display:flex;flex-direction:column;gap:6px}
.places .gprog{height:4px;border-radius:2px;background:rgba(27,51,88,.15);margin:4px 0 8px;overflow:hidden}.places .gprog i{display:block;height:100%;background:var(--pred);border-radius:2px;transition:width .25s}
.places .gstep-n{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--psoft)}
.places .gmood.on,.places .gmood.on:hover{background:var(--pink);border-color:var(--pink);color:#fff}.places .gmood.on .s{color:var(--pnote)}
.places .gstep-acts{display:flex;flex-direction:column;align-items:center;gap:12px;margin:14px 0 0}
.places .gnext{font:inherit;font-size:16px;font-weight:600;color:#fff;background:var(--pred);border:0;border-radius:999px;padding:13px 28px;width:100%;max-width:420px;cursor:pointer}
.places .gnext:disabled{opacity:.45;cursor:default}
.places .gpills{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.places .gpill{font:inherit;font-size:13.5px;color:var(--pink);background:#fff;border:1px solid var(--pline);border-radius:999px;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.places .gpill b{font-weight:600}.places .gpill .car{font-size:10px;opacity:.7}
.places .gpill.set{border-color:var(--pink)}.places .gpill.open{background:var(--pink);color:#fff;border-color:var(--pink)}
.places .gpill.tog[aria-pressed="true"]{background:var(--pink);color:#fff;border-color:var(--pink)}
.places .gsw{display:inline-flex;align-items:center;gap:8px}.places .gsw i{width:30px;height:18px;border-radius:9px;background:rgba(27,51,88,.22);position:relative;transition:background .2s}
.places .gsw i::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}
.places .gsw[aria-pressed="true"] i{background:var(--pink)}.places .gsw[aria-pressed="true"] i::after{left:14px}.places .gsw[aria-pressed="true"]{background:#fff;color:var(--pink)}
.places .gdrop{background:#fff;border:1.5px solid var(--pink);border-radius:16px;padding:4px 14px;margin-top:8px}
.places .gdrop button{display:flex;align-items:center;gap:10px;width:100%;font:inherit;font-size:16px;color:var(--pink);background:none;border:0;border-top:1px solid rgba(27,51,88,.12);padding:11px 0;text-align:left;cursor:pointer}
.places .gdrop button:first-child{border-top:0}.places .gdrop button .ck{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(27,51,88,.4);flex:none}
.places .gdrop button[aria-pressed="true"]{font-weight:600}.places .gdrop button[aria-pressed="true"] .ck{background:var(--pink);border-color:var(--pink)}
.places .gdrop button small{margin-left:auto;color:var(--psoft);font-size:13px}
.places .ghoods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.places .ghoods{grid-template-columns:repeat(3,minmax(0,1fr))}}
.places .ghoods .gmood{min-height:0;padding:14px 14px 12px}.places .ghoods .gmood .t{font-size:17px}
.places .ghpop{grid-column:1/-1;background:#fff;border:1.5px solid var(--pink);border-radius:16px;padding:8px 10px 2px}
.places .ghpop .glist{gap:8px}.places .ghpop .gshowmore{margin:8px 0 6px}
.places .gempty{background:#fff;border:1.5px solid var(--pline);border-radius:16px;padding:18px 16px;text-align:center}
.places .gempty p{margin:0 0 10px;color:var(--psoft)}
.places .gask{display:inline-block;font-weight:600;color:#fff;background:var(--pred);border-radius:999px;padding:11px 20px;text-decoration:none}

/* ShallWe pages carry only ShallWe (Hannah, Nov 5, 8:39am and 8:41am): the wordmark at the top and in the footer, "Curated by Hannah". */
.swbrand .sw-wm{font-family:"Big Shoulders Inline Display","Arial Narrow",Impact,sans-serif;font-weight:800;letter-spacing:.02em;line-height:.95;color:#1C8FCF;text-decoration:none}
.swbrand .sw-wm span{color:#C8102E}
.swbrand .sw-wm sup{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:.2em;line-height:0;vertical-align:top;position:relative;top:.55em;margin-left:.06em;letter-spacing:0;color:#C8102E}
.swbrand .sw-top{display:inline-block;font-size:30px;text-align:left;padding:6px 0}
.swbrand .swfoot{--bgc:#1B3358;background:#1B3358;color:#fff}
.swbrand .swfoot .sw-wm{color:#7FC4EC}.swbrand .swfoot .sw-wm span,.swbrand .swfoot .sw-wm sup{color:#FF8A98}
.swbrand .swfoot-by{margin:0;font-family:"Young Serif",Georgia,serif;font-size:19px;color:#fff}
.swbrand .swfoot a{color:#fff}.swbrand .swfoot .measure{margin:0}
.swbrand .swfoot .foot{opacity:.8}

/* "ShallWe plan something for you?" stays one line on the smallest phones (QA, Nov 5: two lines at 320) */
.places .gplan-a{white-space:nowrap}@media (max-width:360px){.places .gplan-a{font-size:13px;padding-left:10px;padding-right:10px}}

/* The pop-up shows the full card, as a row promises ("row opens the full card", Nov 3): the list's row look (side border, arrow, two-line write-up) was winning inside the pop-up, and its column layout kept the phone sheet off the bottom (Nov 5) */
.places .gpop.glist.on{display:flex;flex-direction:row;gap:0}
.places .gpop .glist .gcard.inpop,.places .gpop.glist .gcard.inpop{border:0;border-top:4px solid var(--pblue);border-radius:0;padding:10px 6px 0;cursor:default;background:none}
.places .gpop.glist .gcard.inpop::after{content:none}
.places .gpop.glist .gcard.inpop .gnote,.places .gpop.glist .gcard.inpop .ghnote{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;font-size:15px;line-height:1.55}
.places .gpop.glist .gcard.inpop h3{font-size:22px;padding-right:0}
/* Plan an evening (Nov 5): the Find a place / Plan an evening switch, day and time chips, the stops with the way between them. */
.places .gswitch{display:flex;gap:4px;padding:4px;border:1.5px solid var(--pline);border-radius:999px;background:#fff;width:100%;max-width:440px;box-sizing:border-box;margin:0 0 18px}
.places .gswitch button{flex:1 1 0;min-width:0;min-height:44px;font:inherit;font-size:15px;font-weight:600;line-height:1.2;border:0;border-radius:999px;background:none;color:var(--pink);cursor:pointer;padding:6px 10px}
.places .gswitch button[aria-pressed="true"]{background:var(--pink);color:#fff}
.places .gswitch button:focus-visible{outline:2px solid var(--pblue);outline-offset:2px}
#g-live.eve-on>:not(#g-eve):not(#g-preview){display:none!important}
.places .eve{display:flex;flex-direction:column}
.places .eve-sub{margin:16px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--psoft)}
.places .eve-chips{display:flex;flex-wrap:wrap;gap:8px}
.places .eve-chip{min-height:44px;min-width:44px;font:inherit;font-size:15px;color:var(--pink);background:#fff;border:1.5px solid var(--pline);border-radius:999px;padding:8px 16px;cursor:pointer}
.places .eve-chip[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:#fff}
.places .eve-msg:empty{display:none}
.places .eve-hood{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:14px;color:var(--psoft);max-width:440px}
.places .eve-hood select{font:inherit;font-size:16px;min-height:44px;padding:8px 12px;border:1.5px solid var(--pline);border-radius:12px;background:#fff;color:var(--pink)}
.places .eve-result{display:flex;flex-direction:column;gap:12px}
.places .eve-plan{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.places .eve-stop{display:flex;flex-direction:column;gap:8px}
.places .eve-when{margin:0;display:flex;align-items:center;gap:10px;font-size:15px;color:var(--psoft)}
.places .eve-when .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;font-weight:600;font-size:14px;flex:0 0 auto}
.places .eve-when b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--pink)}
.places .eve-leg{display:flex;align-items:center;gap:10px;margin:6px 0 6px 14px;padding:10px 0 10px 22px;border-left:2px dashed var(--pline);font-size:14px;color:var(--psoft)}
.places .eve-leg .i{font-size:18px}
.places .eve-tip{margin:0;font-size:14px}
.places .eve-swap{align-self:flex-start;min-height:44px;font:inherit;font-size:14px;color:var(--pink);background:#fff;border:1.5px solid var(--pline);border-radius:999px;padding:8px 16px;cursor:pointer}
.places .eve-swap:disabled{opacity:.55;cursor:default}
.places .eve-acts{display:flex;flex-direction:column;align-items:center;gap:14px;margin:18px 0 0}
.places .eve-map,.places .eve-hannah{display:inline-flex;align-items:center;min-height:44px;color:var(--pink);text-underline-offset:3px}
