/* Consumer discovery: distinct sections, compact spacing, readable actions. */
.consumer-home .discovery-welcome{padding:24px 32px 20px!important;min-height:0!important}
.consumer-home .discovery-welcome h1{font-size:clamp(25px,3vw,36px);margin:8px 0;line-height:1.45}
.consumer-home .discovery-welcome-description{font-size:15px;line-height:1.7;margin-top:8px}
.consumer-home #map{padding:24px 32px 28px!important;border-top:1px solid var(--line);background:var(--paper)}
.consumer-home .map-discovery-heading{margin:0 0 16px;display:block}
.consumer-home .map-discovery-heading h2{font-family:var(--sans);font-weight:700;font-size:26px;margin:3px 0 14px;line-height:1.4}
.consumer-home .map-discovery-heading .eyebrow{font-size:11px}
.consumer-home .map-quick-actions{margin:0;padding:0!important;border:0!important;background:transparent!important}
.consumer-home .hero-personal-actions{gap:10px}
.consumer-home .hero-personal-actions .button{min-height:44px;border-radius:8px;padding:11px 18px;font-weight:600}
.consumer-home .map-login-hint{font-size:13px;margin:8px 0 0;color:var(--muted)}
.consumer-home .map-toolbar{padding:0!important;margin:12px 0 8px!important;background:transparent;border:0;gap:12px}
.consumer-home .map-toolbar>.type-pill{display:none}
.consumer-home .map-distance{gap:12px;flex-wrap:wrap}
.consumer-home .map-distance label{min-height:44px;font-size:14px}
.consumer-home .map-distance input[type=checkbox]{width:18px;height:18px}
.consumer-home .map-context{font-size:12px;margin:0 0 10px}
.consumer-home .explore-layout{gap:12px;border:0;background:transparent}
.consumer-home #discovery-map{border:1px solid var(--line);border-radius:12px;height:400px}
.consumer-home .explore-layout .map-selection{border:1px solid var(--line);border-radius:12px;background:var(--cream);padding:20px}
.consumer-home .explore-layout .map-search-below{padding:0!important;background:transparent!important;margin:0!important}
.consumer-home .roastery-search-form input{font-size:16px;min-height:44px}
.consumer-home .roastery-search-form .button{border-radius:8px;min-height:44px}
.consumer-home .close-roasteries{margin:24px -32px -28px!important;padding:24px 32px!important;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.consumer-home .close-heading{margin:0 0 10px}.consumer-home .close-heading h3{font-family:var(--sans);font-weight:700;font-size:24px;line-height:1.4}
.consumer-home #close-locate{display:none}.consumer-home .close-controls{margin:8px 0 12px}
.consumer-home .close-card{border-radius:12px;overflow:hidden;background:var(--paper)}
.consumer-home .close-photo{height:140px}.consumer-home .close-card-body{padding:16px}
.consumer-home .close-card-actions{gap:10px;align-items:center}.consumer-home .close-card-actions>a{padding:10px 12px;background:var(--ink);color:var(--paper);border-radius:7px;min-height:44px;font-size:13px}
.consumer-home .save-small{min-height:44px;padding:8px 12px}
.consumer-home .close-note{margin:12px 0 0;font-size:12px;line-height:1.7}
.consumer-home #recommend{padding:28px 32px!important;gap:28px;border-top:0;background:var(--paper);align-items:start}
.consumer-home #recommend-title{font-family:var(--sans);font-weight:700;font-size:23px;line-height:1.5}
.consumer-home #recommend .partner-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;margin:12px 0}
.consumer-home #recommend .partner-offer{padding:0!important;border:0!important;background:transparent!important}
.consumer-home .owner-invitation img{width:144px;height:144px;margin-bottom:8px;border-radius:8px}
.consumer-home .owner-invitation p{margin:8px 0}.consumer-home .owner-invitation .button{min-height:44px;border-radius:8px}
.consumer-home .owner-benefits{margin-top:16px;padding-top:12px}.consumer-home .owner-benefits summary{min-height:44px;cursor:pointer;font-weight:600;font-size:14px;text-align:left}
.consumer-home .owner-benefits h3{font-family:var(--sans);font-size:20px;font-weight:700;margin:8px 0}
.consumer-home .owner-benefits ul{margin:10px 0}.consumer-home .owner-benefits .offer-note{font-size:12px}
/* Store facts share one block; review field labels remain prominent. */
.shop-page .detail-info,.shop-page .detail-review,.shop-page .detail-directions{padding:26px 24px;margin:18px 0;border:1px solid var(--line);border-radius:12px}
.shop-page .detail-info,.shop-page .detail-review{background:var(--cream)}
.shop-page .detail-info h2,.shop-page .detail-review h2,.shop-page .detail-directions h2{font-family:var(--sans);font-weight:700;font-size:25px;margin-bottom:14px}
.shop-page .detail-facts>div{padding:10px 0}.shop-page .detail-facts dt{font-weight:700;color:var(--ink)}
.shop-page .place-extra{padding:20px 0}.shop-page .place-info-trust{margin:12px 0 0;padding:10px 0}
.shop-page .signature-beans{padding:24px 0}.shop-page .signature-beans h2{font-family:var(--sans);font-weight:700;font-size:24px}
.shop-page .signature-bean{padding:16px}.shop-page .coffee-writing-grid{gap:16px}
.shop-page .public-review-editor,.shop-page #coffee-journal{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:10px}
.shop-page .public-review-editor h3,.shop-page #coffee-journal h2{font-family:var(--sans);font-weight:700;font-size:21px;margin-bottom:8px}
.review-form>label,#journal-form>label{font-size:17px!important;font-weight:700!important;color:var(--ink);display:block;margin-top:16px}
.review-form input:not([type=checkbox]),.review-form textarea,#journal-form input:not([type=checkbox]),#journal-form textarea{font-size:16px!important;font-weight:400;margin-top:8px;padding:12px;border:1px solid #a4b1a8;border-radius:8px;background:var(--paper);color:var(--ink);width:100%}
.review-form .field-optional{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}
.review-form .review-flavor-editor{margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--cream)}
.review-form .review-flavor-editor>summary{font-size:17px;font-weight:700;min-height:44px;cursor:pointer;color:var(--ink)}
.review-form .review-flavors legend{font-size:14px;font-weight:700;color:var(--ink)}
.review-form .review-flavors label{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:8px 11px;gap:6px;margin:3px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.review-form .review-flavors label:has(input:checked){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.review-form .review-flavors input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.review-form .review-count{margin:4px 0;font-size:12px}.review-form .review-controls{gap:8px;margin-top:18px;flex-wrap:wrap}
.review-form .button{border-radius:8px;min-height:44px}.shop-page .small-note{font-size:13px;line-height:1.7}
@media(max-width:760px){.consumer-home .discovery-welcome{padding:18px 20px 16px!important}.consumer-home #map{padding:20px!important}.consumer-home .close-roasteries{margin:20px -20px -20px!important;padding:22px 20px!important}.consumer-home #recommend{padding:24px 20px!important;gap:18px}.consumer-home .map-discovery-heading h2{font-size:23px}.consumer-home #discovery-map{height:330px}.consumer-home .hero-personal-actions{display:flex;flex-wrap:wrap}.consumer-home .hero-personal-actions .button{flex:1;padding:10px;font-size:13px}.consumer-home .close-photo{height:130px}.shop-page .detail-info,.shop-page .detail-review,.shop-page .detail-directions{padding:20px 16px}.shop-page .public-review-editor,.shop-page #coffee-journal{padding:16px}.shop-page .detail-info h2,.shop-page .detail-review h2{font-size:23px}}

.consumer-home .discovery-welcome h1:has(>.journey-part){display:flex;align-items:baseline;gap:.55em;font-family:"Noto Sans KR",sans-serif;font-size:clamp(19.2px,5.52vw,28.8px);font-weight:500;line-height:1.7;letter-spacing:-.02em;white-space:nowrap;margin:8px 0}.consumer-home .discovery-welcome h1>.journey-part{margin:0}.journey-place{color:var(--rw-journey-place,#315c4b)}.journey-cup{color:var(--rw-journey-cup,#85583c)}.journey-travel{color:var(--rw-journey-travel,#47677b)}html[lang="en"] .consumer-home .discovery-welcome h1:has(>.journey-part),html[lang="ja"] .consumer-home .discovery-welcome h1:has(>.journey-part){font-size:clamp(12px,3.3vw,20px)}
.consumer-home .map-discovery-heading{display:flex;align-items:baseline;gap:12px;margin:0 0 14px;flex-wrap:wrap}.consumer-home .map-discovery-heading h2{margin:0}.consumer-home .map-discovery-heading .eyebrow{margin:0;font-size:10px;letter-spacing:.1em}.consumer-home .map-visit-legend{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:11px;white-space:nowrap}.map-visit-legend>span{display:inline-flex;align-items:center;gap:5px}.visit-legend-icon{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;background:#285c4d;color:white;border-radius:50%;font-style:normal;font-size:12px;box-shadow:0 1px 3px #0002}.visit-legend-icon.visited{background:#c43d3d}.consumer-home .map-distance #locate-me{order:-1}.consumer-home .map-distance{width:100%;flex-wrap:wrap}@media(max-width:600px){.consumer-home .map-distance{gap:8px}.consumer-home .map-visit-legend{gap:7px;font-size:10px}.consumer-home .map-discovery-heading{gap:10px}.consumer-home .map-discovery-heading .eyebrow{font-size:9px}}
@media(max-width:600px){.consumer-home .map-distance{display:grid;grid-template-columns:auto 1fr;gap:0 10px}.consumer-home .map-distance #locate-me{grid-column:1 / -1;grid-row:1;justify-self:start}.consumer-home .map-distance label:has(#map-unvisited){grid-column:1;grid-row:2}.consumer-home .map-visit-legend{grid-column:2;grid-row:2;justify-self:end}.consumer-home .map-distance>label:first-child{display:none}}
/* Keep discovery visible above the fold. */
.consumer-home .discovery-welcome{padding-top:12px!important;padding-bottom:12px!important}.consumer-home .discovery-welcome .welcome-brand{margin-top:0;margin-bottom:4px}.consumer-home .discovery-welcome h1:has(>.journey-part){margin:4px 0}.consumer-home .discovery-welcome-description{margin-bottom:0}
@media(max-width:760px){.consumer-home .discovery-welcome{padding-top:10px!important;padding-bottom:10px!important}}
@media(max-width:600px){.consumer-home .map-distance{grid-template-columns:auto 1fr}.consumer-home .map-distance #locate-me{grid-column:1;grid-row:1}.consumer-home .map-distance label:has(#map-unvisited){grid-column:2;grid-row:1;justify-self:start}.consumer-home .map-visit-legend{grid-column:1 / -1;grid-row:2;justify-self:end}}
.consumer-home .map-distance{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px 12px}.consumer-home .map-distance #locate-me{grid-column:1;grid-row:1;justify-self:start}.consumer-home .map-distance label:has(#map-unvisited){grid-column:2;grid-row:1;justify-self:start}.consumer-home .map-visit-legend{grid-column:3;grid-row:1;justify-self:end}.consumer-home .map-distance>label:first-child{grid-column:4;grid-row:1}@media(max-width:600px){.consumer-home .map-distance{grid-template-columns:auto 1fr;gap:0 10px}.consumer-home .map-distance>label:first-child{display:none}.consumer-home .map-visit-legend{grid-column:1 / -1;grid-row:2;justify-self:end}}
.consumer-home .map-distance{grid-template-columns:auto auto auto 1fr auto}.consumer-home .map-distance label:has(#map-visited){grid-column:2;grid-row:1;justify-self:start;white-space:nowrap}.consumer-home .map-distance label:has(#map-unvisited){grid-column:3}.consumer-home .map-visit-legend{grid-column:4}.consumer-home .map-distance>label:first-child{grid-column:5}@media(max-width:600px){.consumer-home .map-distance{grid-template-columns:auto auto 1fr;gap:0 6px}.consumer-home .map-distance label:has(#map-visited),.consumer-home .map-distance label:has(#map-unvisited){font-size:11px;gap:4px;white-space:nowrap}.consumer-home .map-distance #locate-me{font-size:11px;padding:9px 10px}.consumer-home .map-visit-legend{grid-column:1 / -1;grid-row:2}}
.consumer-home .map-distance label:has(#map-visited) .visit-legend-icon,.consumer-home .map-distance label:has(#map-unvisited) .visit-legend-icon{width:19px;height:19px;font-size:11px;flex-shrink:0}@media(max-width:360px){.consumer-home .map-distance{grid-template-columns:auto 1fr}.consumer-home .map-distance #locate-me{grid-column:1 / -1;grid-row:1}.consumer-home .map-distance label:has(#map-visited){grid-column:1;grid-row:2}.consumer-home .map-distance label:has(#map-unvisited){grid-column:2;grid-row:2}}
/* Compact the map heading and filter strip without shrinking touch targets. */
.consumer-home #map{padding-top:12px!important}.consumer-home .map-discovery-heading{margin-bottom:7px}.consumer-home .map-toolbar{margin:6px 0 2px!important}.consumer-home .map-context{padding:4px 0;margin:0;min-height:0}

/* Compact public review controls and shared flavor selector styling. */
#shop-benefit-panel>h2{font-size:20px}
.review-form .review-flavor-editor{border:0;background:transparent;padding:0;margin:12px 0}
.review-form .review-flavor-editor>summary{font-size:14px;min-height:0;padding:10px 0}
.review-form .review-flavors legend{font-size:12px;font-weight:400;color:#675c4d}
.review-form .review-flavors label{font-size:12px;min-height:0;padding:8px 10px;gap:5px;margin:0 5px 6px 0;border-radius:20px;background:white;border:1px solid #e0d7c7}
.review-form .review-flavors label:has(input:checked){background:#e5dcc8;color:#302c26;border-color:#927a50}
.review-form .review-flavors input[type=checkbox]{width:15px;height:15px;margin:0}
.review-form .review-controls{display:flex;flex-wrap:nowrap;gap:6px}
.review-form .review-controls .button{font-size:12px;padding:10px 8px;white-space:nowrap;min-width:0;flex:1}
#coffee-journal label.journal-public-choice{display:flex;align-items:center;gap:6px;font-size:clamp(10px,2.9vw,12px)!important;white-space:nowrap;font-weight:400!important}
#coffee-journal .journal-public-choice input{flex:none;width:16px;height:16px;margin:0}

.consumer-home .map-distance{display:flex;flex-wrap:wrap;gap:8px 10px}.consumer-home .map-distance #locate-me{order:-2}.consumer-home .map-distance #search-map-area{order:-1}.consumer-home .map-distance label{min-height:36px}@media(max-width:600px){.consumer-home .map-distance{gap:7px 9px}.consumer-home .map-distance>label:first-child{display:none}.consumer-home .map-distance label{font-size:12px}}
