/* PODOKO 2026 brand system */
:root {
  --bg: #f6f1ea;
  --surface: #fffdf9;
  --ink: #2a2724;
  --muted: #766d67;
  --line: #e5ddd5;
  --blue: #5c1a2b;
  --blue-dark: #43111e;
  --green: #5c1a2b;
  --red: #c97b93;
  --soft-blue: #f8edf0;
  --soft-green: #f6f1ea;
  --soft-red: #fbf0f3;
  --brand-wine: #5c1a2b;
  --brand-aubergine: #2b1b2e;
  --brand-gold: #c9a25b;
  --brand-blush: #c97b93;
  --brand-ivory: #f6f1ea;
}

html { background: var(--brand-ivory); }
body {
  background:
    radial-gradient(circle at 12% 9%, rgba(201,162,91,.12), transparent 25%),
    radial-gradient(circle at 90% 18%, rgba(201,123,147,.10), transparent 24%),
    var(--brand-ivory);
  color: var(--ink);
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", Arial, sans-serif;
}

.site-header {
  border-bottom: 1px solid rgba(92,26,43,.13);
  background: rgba(255,253,249,.96);
  box-shadow: 0 10px 30px rgba(43,27,46,.07);
  backdrop-filter: blur(14px);
}

.utility { color: #6f625d; }
.utility a:hover, .utility button:hover { color: var(--brand-wine); }
.business-register-button,
.post-button,
.board-write-button {
  border-color: var(--brand-wine) !important;
  background: linear-gradient(135deg, #6f1731, var(--brand-wine)) !important;
  box-shadow: 0 8px 18px rgba(92,26,43,.2) !important;
  color: #fff !important;
}

.masthead { min-height: 108px; grid-template-columns: 368px minmax(280px, 520px) 82px; gap: 18px; }
.brand { display:grid; width:368px; gap:0; align-items:center; justify-items:center; }
.brand .podoko-logo-picture { display:contents; }
.brand .podoko-logo { display:block; width:128px; height:99px; object-fit:contain; object-position:center; transform:translateX(-55px); }
.brand > small { display: none; }
.brand-mark, .brand > span:last-child { display: none; }

@media (min-width: 1180px) {
  .masthead { grid-template-columns: 348px minmax(320px, 670px) 82px; }
}

@media (min-width: 1551px) {
  /* Keep the masthead centered inside the clear space between both side rails. */
  .masthead { grid-template-columns: 285px minmax(320px, 590px) 82px; gap: 14px; }
  .brand { width: 285px; }
  .brand .podoko-logo { width:128px; }
  /* Match the two left ad cards to the weather + account rail width. */
  .header-side-promos-left .header-side-ad { width: 200px; flex-basis: 200px; }
}

.main-search {
  border-color: rgba(92,26,43,.35);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(43,27,46,.07);
}
.main-search input { border-radius: 999px 0 0 999px; background: #fff; }
.main-search button { border-radius: 999px; background: var(--brand-wine) !important; color: #fff; }
@media (min-width:721px) {
  .main-search { width:calc(100% + 105px); max-width:none; transform:translateX(-105px); }
  .post-button { position:relative; z-index:3; }
}

.category-nav { border-color: rgba(92,26,43,.10); background: #fffdf9; }
.category-nav a { border-color: #e6ddd6; border-radius: 999px; background: #fff; color: #4b423e; }
.category-nav a:hover,
.category-nav a:focus-visible,
.category-nav a.active { border-color: var(--brand-wine); background: #f8edf0; color: var(--brand-wine); }

.podoko-hero {
  border-color: rgba(92,26,43,.18);
  background: linear-gradient(135deg, #fffdf9 10%, #f7e9e4 62%, #f4e7dd);
  box-shadow: 0 12px 32px rgba(92,26,43,.09);
}
.podoko-hero::after { background: radial-gradient(circle, rgba(92,26,43,.18) 1.1px, transparent 1.2px); background-size: 10px 10px; }
.podoko-hero-eyebrow { color: var(--brand-wine); }
.podoko-hero h1, .section-head h2 { color: var(--brand-aubergine); }
.podoko-hero h1 em { color: var(--brand-blush); }
.podoko-hero-links a { border-color: #eadbdc; background: rgba(255,255,255,.84); color: #4a3d3d; }
.podoko-hero-links a i { background: #f6e7eb; color: var(--brand-wine); }
.podoko-hero-links a:hover, .podoko-hero-links a:focus-visible { border-color: var(--brand-wine); color: var(--brand-wine); }

.dashboard > *, .result-panel, .side-panel, .map-panel,
.home-trend-box, .home-info-box, .listing-card, .detail-card {
  border-color: #e7ddd4 !important;
  background-color: rgba(255,253,249,.96);
  box-shadow: 0 8px 24px rgba(43,27,46,.055);
}
.map-panel { background: linear-gradient(180deg,#fbf5ee 0,#fffdf9 35%); }
.business-map-wrap { border-color: #dfd2c8; box-shadow: 0 8px 24px rgba(43,27,46,.07); }
.business-tabs button:hover, .business-tabs button:focus-visible,
.business-tabs button.active { border-color: var(--brand-wine); background: #f6e8eb; color: var(--brand-wine); }
.badge, .verified-badge { background: #f3e2e7; color: var(--brand-wine); }
.hot, .badge.hot { background: #f5ead1; color: #8a651f; }

.home-trend-box:nth-of-type(1), .home-trend-box:nth-of-type(2), .home-trend-box:nth-of-type(3) {
  border-color: #e7ddd4;
  background: linear-gradient(145deg,#fffdf9,#f8f1eb);
}
.home-trend-box:nth-of-type(1) h3 { color: var(--brand-wine); }
.home-trend-box:nth-of-type(2) h3 { color: var(--brand-aubergine); }
.home-trend-box:nth-of-type(3) h3 { color: #9b742f; }
.trend-button:hover strong, .trend-button:focus-visible strong { color: var(--brand-wine); }

.podoko-promo-slot { border-color: rgba(92,26,43,.25); background: linear-gradient(135deg,#faf0f2,#fff9f2); color: #7a4250; }
.dashboard.detail-mode .detail-side-promos {
  padding: 10px;
  border: 1px solid rgba(92,26,43,.16);
  border-radius: 12px;
  background: #f7e7eb !important;
  box-shadow: 0 8px 24px rgba(43,27,46,.055);
}
.dashboard.detail-mode .detail-side-promos .detail-side-card {
  background: #f7e7eb;
}
.site-footer { background: var(--brand-aubergine); color: #e8dfe1; }
.site-footer strong { color: #fff; }

@media (max-width: 720px) {
  body { background: var(--brand-ivory); }
  .masthead { min-height: 76px; grid-template-columns: 158px minmax(0, 1fr) 38px; gap:8px; padding:8px 10px 10px; }
  .brand { width:158px; min-width:0; justify-items:start; }
  .brand .podoko-logo { width:142px; height:38px; object-position:left center; transform:none; }
  .mobile-live-summary { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  .mobile-menu-toggle { justify-self:end; }
  .main-search { grid-column:1 / -1; width:100%; min-width:0; }
  .brand > small { display: none; }
  .mobile-home-shortcuts { background: #fffdf9; }
  .mobile-home-shortcuts a:nth-child(n) { border-color: #eadfd7; background: #fffaf6; }
  .mobile-home-shortcuts a:nth-child(n) span { color: var(--brand-wine); }
  .mobile-language-toggle,
  .mobile-market-head button,
  .mobile-market-write { border-color: var(--brand-wine) !important; background: var(--brand-wine) !important; color: #fff !important; }
  .mobile-bottom-nav { border-color: #e7ddd4; background: rgba(255,253,249,.97); }
  .mobile-bottom-nav a, .mobile-bottom-nav button { color: #786b65; }
  .mobile-bottom-nav a span, .mobile-bottom-nav button span { color: var(--brand-wine); }
  .mobile-bottom-nav button { background: var(--brand-wine); color: #fff; }
  .mobile-bottom-nav button span { color: #fff; }
  .mobile-market-section { border-color: #e1d4ca; background: linear-gradient(145deg,#fffdf9,#f7eee7); }
  .mobile-market-head strong { color: var(--brand-aubergine); }
}

/* PODOKO massage marketplace - keep at file end so it overrides the legacy board. */
.dashboard.board-mode.massage-mode { width:100%; max-width:none; grid-template-columns:minmax(0,1fr); justify-content:stretch; }
.dashboard.board-mode.massage-mode .side-panel,.dashboard.board-mode.massage-mode .map-panel { display:none; }
.dashboard.board-mode.massage-mode .result-panel { width:100%; max-width:none; border:0!important; border-radius:28px; padding:0 0 72px; background:var(--brand-ivory,#f6f1ea); box-shadow:none; }
.dashboard.board-mode.massage-mode .results { max-height:none; overflow:visible; }
.dashboard.massage-mode .section-head { margin:0; padding:24px 28px 14px; }
.dashboard.massage-mode .section-head h2 { color:#5c1a2b; }
.dashboard.massage-mode .massage-ad-board { gap:26px; }
.massage-market-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(150px,.45fr); align-items:center; min-height:180px; overflow:hidden; border-radius:22px; padding:25px clamp(28px,4vw,54px); background:linear-gradient(125deg,#fffdf9 0%,#f3e5e1 100%); box-shadow:0 12px 34px rgba(92,26,43,.08); }
.massage-market-hero::after { content:""; position:absolute; right:-80px; bottom:-150px; width:380px; height:380px; border:1px solid rgba(92,26,43,.12); border-radius:50%; box-shadow:0 0 0 45px rgba(92,26,43,.025),0 0 0 90px rgba(92,26,43,.02); }
.massage-hero-copy { position:relative; z-index:1; }
.massage-kicker { display:inline-block; margin-bottom:8px; color:#5c1a2b; font-size:10px; font-weight:900; letter-spacing:.16em; }
.massage-hero-copy h2 { margin:0; color:#2a2724; font-size:clamp(30px,3.2vw,44px); line-height:1.08; letter-spacing:-.055em; }
.massage-hero-copy h2 em { color:#5c1a2b; font-style:normal; }
.massage-hero-copy p { max-width:720px; margin:10px 0 0; color:#6f625d; font-size:14px; line-height:1.55; }
.massage-brand-mark { position:relative; z-index:1; justify-self:end; width:min(150px,100%); max-height:120px; opacity:.92; }
.massage-filter-panel { display:grid; grid-template-columns:repeat(2,minmax(145px,1fr)) repeat(2,auto) auto; align-items:end; gap:12px; border:1px solid #e5d9cf; border-radius:22px; padding:18px; background:rgba(255,253,249,.96); box-shadow:0 12px 32px rgba(42,39,36,.055); }
.massage-filter-panel>label:not(.massage-filter-check) { display:grid; gap:7px; }
.massage-filter-panel label>span { color:#6f625d; font-size:12px; font-weight:800; }
.massage-filter-panel select,.massage-filter-panel>button { min-height:48px; border:1px solid #dfd2c8; border-radius:13px; padding:0 14px; background:#fff; color:#2a2724; font-weight:750; }
.massage-filter-check { display:flex; align-items:center; min-height:48px; gap:8px; border:1px solid #dfd2c8; border-radius:13px; padding:0 13px; background:#fffaf6; white-space:nowrap; }
.massage-filter-check input { accent-color:#5c1a2b; }
.massage-filter-panel>button { color:#5c1a2b; cursor:pointer; }
.massage-result-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.massage-result-heading div { display:flex; align-items:baseline; gap:8px; }
.massage-result-heading span { color:#6f625d; font-size:15px; font-weight:800; }
.massage-result-heading strong { color:#5c1a2b; font-size:26px; }
.massage-result-heading p { margin:0; color:#8a7d76; font-size:13px; }
.dashboard.massage-mode .massage-ad-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dashboard.massage-mode .massage-ad-card { display:grid; aspect-ratio:auto; overflow:hidden; border:1px solid #e4d9d0; border-radius:22px; background:#fffdf9; color:#2a2724; box-shadow:0 9px 26px rgba(42,39,36,.055); }
.dashboard.massage-mode .massage-ad-card:hover,.dashboard.massage-mode .massage-ad-card:focus-visible { border-color:#b77787; box-shadow:0 15px 34px rgba(92,26,43,.12); transform:translateY(-3px); }
.dashboard.massage-mode .massage-ad-card.is-featured { border-color:#cfad70; }
.massage-card-media { position:relative; height:200px; overflow:hidden; background:#ead7d5; }
.massage-card-media img { width:100%; height:100%; object-fit:contain; transition:transform .3s ease; }
.massage-ad-card:hover .massage-card-media img { transform:scale(1.025); }
.massage-card-media .massage-ad-placeholder { display:grid; height:100%; place-items:center; background:linear-gradient(135deg,#ead7d5,#ddd0bf); color:#5c1a2b; }
.massage-card-media .massage-ad-placeholder span { font-size:11px; letter-spacing:.16em; }
.massage-card-media .massage-ad-placeholder strong { font-size:25px; }
.massage-card-badges { position:absolute; left:14px; top:14px; display:flex; flex-wrap:wrap; gap:6px; }
.massage-status-badge { border-radius:999px; padding:6px 9px; background:rgba(255,253,249,.94); color:#5c1a2b; font-size:11px; font-weight:900; box-shadow:0 3px 10px rgba(42,39,36,.08); }
.massage-status-badge.available { background:#dbe2d6; color:#36503a; }
.massage-status-badge.featured { background:#f1dfb9; color:#75551e; }
.massage-card-content { display:grid; gap:14px; padding:20px; }
.massage-card-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.massage-card-heading h3 { margin:4px 0 0; color:#2a2724; font-size:22px; letter-spacing:-.035em; }
.massage-card-region { color:#8b776e; font-size:12px; font-weight:800; }
.massage-card-price { color:#5c1a2b; font-size:18px; text-align:right; }
.massage-card-content>p { display:-webkit-box; min-height:43px; margin:0; overflow:hidden; color:#70645e; font-size:13px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.massage-card-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:0; }
.massage-card-meta div { min-width:0; border-radius:11px; padding:9px; background:#f6f1ea; }
.massage-card-meta dt { margin-bottom:4px; color:#958880; font-size:10px; font-weight:800; }
.massage-card-meta dd { margin:0; overflow:hidden; color:#413b37; font-size:11px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.massage-card-tags { display:flex; min-height:24px; flex-wrap:wrap; gap:5px; }
.massage-card-tags span { border-radius:999px; padding:4px 8px; background:#ead7d5; color:#5c1a2b; font-size:10px; font-weight:800; }
.massage-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.massage-card-actions button { min-height:44px; border-radius:12px; font-size:12px; font-weight:900; cursor:pointer; }
.massage-card-title-only { display:grid; min-height:88px; grid-template-rows:minmax(0,1fr) auto auto; align-items:center; gap:5px; padding:8px 13px; }
.massage-card-title-only h3 { display:-webkit-box; width:100%; margin:0; overflow:hidden; color:#2a2724; font-size:14px; line-height:1.35; letter-spacing:-.025em; text-align:center; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.massage-card-rating { display:flex; min-width:0; align-items:center; justify-content:center; gap:4px; color:#806f67; font-size:10px; line-height:1; white-space:nowrap; }
.massage-card-rating .review-stars { width:58px; font-size:11px; }
.massage-card-rating strong { color:#6f172d; font-size:11px; }
.massage-card-rating small { overflow:hidden; color:inherit; font-size:10px; text-overflow:ellipsis; }
.massage-compare-button { border:1px solid #d9c9c4; background:#fff; color:#5c1a2b; }
.massage-compare-button.is-selected { border-color:#5c1a2b; background:#f3e2e7; }
.massage-detail-button { border:1px solid #5c1a2b; background:#5c1a2b; color:#fff; }
.massage-compare-bar { position:fixed; z-index:45; right:50%; bottom:22px; display:flex; width:min(720px,calc(100% - 32px)); align-items:center; justify-content:space-between; gap:16px; transform:translateX(50%); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:12px 14px 12px 20px; background:#2a2724; color:#fff; box-shadow:0 18px 44px rgba(42,39,36,.3); }
.massage-compare-bar div { display:grid; min-width:0; gap:2px; }
.massage-compare-bar span { overflow:hidden; color:#d9cfca; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.massage-compare-bar button { min-height:44px; border:0; border-radius:12px; padding:0 18px; background:#c9a25b; color:#2a2724; font-weight:900; white-space:nowrap; }
.massage-compare-bar button:disabled { background:#5e5752; color:#c9c1bc; }
.massage-compare-modal { position:fixed; z-index:70; inset:0; display:grid; place-items:center; padding:24px; background:rgba(42,39,36,.66); backdrop-filter:blur(4px); }
.massage-compare-dialog { width:min(960px,100%); max-height:86vh; overflow:auto; border-radius:24px; padding:24px; background:#fffdf9; box-shadow:0 24px 80px rgba(42,39,36,.28); }
.massage-compare-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.massage-compare-head span { color:#5c1a2b; font-size:11px; font-weight:900; letter-spacing:.08em; }
.massage-compare-head h3 { margin:4px 0 18px; color:#2a2724; font-size:28px; }
.massage-compare-head button { width:40px; height:40px; border:1px solid #e2d6cd; border-radius:50%; background:#f6f1ea; color:#5c1a2b; font-size:24px; }
.massage-compare-table-wrap { overflow-x:auto; }
.massage-compare-table { width:100%; min-width:650px; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #dfd2c8; border-radius:16px; }
.massage-compare-table th,.massage-compare-table td { border-right:1px solid #e7ddd4; border-bottom:1px solid #e7ddd4; padding:14px; text-align:center; }
.massage-compare-table thead th { background:#5c1a2b; color:#fff; }
.massage-compare-table tbody th { background:#f6f1ea; color:#5c1a2b; text-align:left; }
.massage-compare-table tr:last-child>* { border-bottom:0; }
.massage-compare-table tr>*:last-child { border-right:0; }
.dashboard.massage-mode .massage-empty-card { border-color:#cfbfc0; border-radius:18px; padding:32px; background:#fffaf6; }
@media (min-width:1450px) { .dashboard.massage-mode .massage-ad-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:1000px) { .massage-filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard.massage-mode .massage-ad-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) {
  .dashboard.board-mode.massage-mode { display:block; padding:0; }
  .dashboard.board-mode.massage-mode .result-panel { border-radius:0; padding-bottom:90px; }
  .dashboard.massage-mode .section-head { padding:18px 16px 10px; }
  .dashboard.massage-mode .massage-ad-board { gap:20px; }
  .massage-market-hero { grid-template-columns:1fr; min-height:190px; border-radius:0; padding:24px 20px; }
  .massage-hero-copy h2 { font-size:29px; }
  .massage-hero-copy p { font-size:12px; }
  .massage-brand-mark { display:none; }
  .massage-filter-panel { grid-template-columns:1fr 1fr; margin:0 14px; border-radius:18px; padding:12px; }
  .massage-filter-panel>button { grid-column:1/-1; }
  .massage-result-heading { align-items:start; flex-direction:column; margin:0 16px; gap:4px; }
  .dashboard.massage-mode .massage-ad-grid { grid-template-columns:1fr; gap:14px; padding:0 14px; }
  .massage-card-media { height:210px; }
  .massage-card-content { padding:17px; }
  .massage-compare-bar { bottom:74px; }
  .massage-compare-modal { align-items:end; padding:0; }
  .massage-compare-dialog { max-height:86vh; border-radius:24px 24px 0 0; padding:20px 16px 28px; }
}

/* Unified PODOKO typography system. Korean uses Noto Sans KR; English labels use Pretendard. */
button,input,select,textarea { font-family:inherit; }
:lang(en),.landing-kicker,.language-switcher [data-language="en"],.landing-data-card-media,.landing-weekly-mark,.landing-business-orbit strong { font-family:"Pretendard","Noto Sans KR",sans-serif; }
.site-header :where(a,button,input,select),.dashboard :where(button,input,select,textarea),.podoko-landing button { font-size:12px; line-height:1.45; }
.utility-bar :where(a,button,span),.header-info-widget,.landing-data-card-copy small,.landing-data-card-copy span,.landing-local-card small,.landing-local-card span,.korea-briefing-list small,.trend-button span { font-size:11px; line-height:1.5; }
.dashboard h2,.section-head h2 { font-size:20px; line-height:1.35; letter-spacing:-.025em; }
.dashboard h3,.home-info-box h3,.home-trend-box h3 { font-size:14px; line-height:1.4; letter-spacing:-.015em; }
.dashboard h4 { font-size:13px; line-height:1.45; }
.dashboard :where(p,li,dd,dt),.listing-card :where(strong,span),.detail-card :where(p,li,dd,dt) { line-height:1.55; }
.podoko-landing { font-size:14px; }
.podoko-landing .landing-section > header h2 { font-size:42px; line-height:1.18; }
.podoko-landing .landing-business h2,.podoko-landing .landing-story h2 { font-size:46px; line-height:1.16; }
.podoko-landing :where(p,li) { font-size:14px; line-height:1.7; }
.podoko-landing .landing-data-card-copy strong { font-size:14px; line-height:1.45; }
.podoko-landing .landing-data-card-copy b { font-size:15px; line-height:1.35; }
@media (max-width:720px) {
  body { font-size:13px; }
  .podoko-landing .landing-section > header h2,.podoko-landing .landing-business h2,.podoko-landing .landing-story h2 { font-size:30px; }
  .site-header :where(a,button,input,select),.dashboard :where(button,input,select,textarea),.podoko-landing button { font-size:12px; }
}
@media (max-width:430px) { .massage-filter-panel { grid-template-columns:1fr; } .massage-filter-panel>button { grid-column:auto; } .massage-card-meta { grid-template-columns:1fr 1fr; } .massage-card-meta div:first-child { grid-column:1/-1; } .massage-compare-bar { align-items:stretch; flex-direction:column; padding:13px; } .massage-compare-bar button { width:100%; } }

/* Compact desktop massage cards: roughly one quarter of the previous card area. */
@media (min-width:1001px) {
  .dashboard.massage-mode .massage-ad-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
  .dashboard.massage-mode .massage-ad-card { grid-template-rows:178px 85px; height:263px; border-radius:14px; box-shadow:0 5px 16px rgba(42,39,36,.05); }
  .massage-card-media { height:178px; }
  .massage-card-badges { left:7px; top:7px; gap:3px; }
  .massage-status-badge { padding:3px 6px; font-size:8px; }
  .massage-card-content { grid-template-rows:minmax(0,1fr) auto auto; gap:7px; overflow:hidden; padding:10px; }
  .massage-card-heading { display:grid; min-height:0; align-content:start; gap:3px; overflow:hidden; }
  .massage-card-heading h3 { display:-webkit-box; margin-top:2px; overflow:hidden; font-size:15px; line-height:1.2; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .massage-card-region { font-size:9px; }
  .massage-card-price { display:-webkit-box; overflow:hidden; font-size:13px; line-height:1.35; text-align:left; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .massage-card-content>p { display:none; }
  .massage-card-meta { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; }
  .massage-card-meta div { display:grid; gap:2px; border-radius:7px; padding:4px; }
  .massage-card-meta dt { margin:0; font-size:8px; }
  .massage-card-meta dd { max-width:100%; font-size:8px; text-align:left; }
  .massage-card-tags { display:none; }
  .massage-card-actions { gap:4px; }
  .massage-card-actions button { min-height:31px; border-radius:8px; padding:0 4px; font-size:9px; }
  .massage-card-content.massage-card-title-only { display:grid; min-height:0; grid-template-rows:minmax(0,1fr) 12px 31px; gap:3px; padding:5px 9px; }
  .massage-card-title-only h3 { font-size:12px; line-height:1.25; }
  .massage-card-rating { gap:3px; font-size:8px; }
  .massage-card-rating .review-stars { width:49px; font-size:9px; }
  .massage-card-rating strong { font-size:9px; }
  .massage-card-rating small { font-size:8px; }
}
@media (min-width:1450px) {
  .dashboard.massage-mode .massage-ad-grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
}

/* Keep the massage hero, filters and listings safely inside the ivory canvas. */
.dashboard.board-mode.massage-mode .results {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:0 clamp(24px,3.5vw,56px) 32px;
}
.dashboard.massage-mode .massage-ad-board {
  box-sizing:border-box;
  width:min(1600px,100%);
  min-width:0;
  margin:0 auto;
}
.dashboard.massage-mode .massage-ad-board > *,
.massage-filter-panel > * { min-width:0; }
.massage-market-hero,.massage-filter-panel,.massage-result-heading,.dashboard.massage-mode .massage-ad-grid { box-sizing:border-box; width:100%; max-width:100%; }
.massage-filter-panel { grid-template-columns:repeat(6,minmax(0,1fr)); }
.massage-filter-panel select,.massage-filter-panel > button { box-sizing:border-box; width:100%; min-width:0; }

@media (max-width:1100px) {
  .massage-filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .massage-filter-panel > button { grid-column:1/-1; }
}
@media (max-width:720px) {
  .dashboard.board-mode.massage-mode .results { padding:0 12px 28px; }
  .massage-market-hero { border-radius:18px; padding-right:18px; padding-left:18px; }
  .massage-filter-panel { margin:0; }
  .massage-result-heading { margin:0 4px; }
  .dashboard.massage-mode .massage-ad-grid { padding:0 2px; }
}
@media (max-width:430px) {
  .massage-filter-panel { grid-template-columns:1fr; }
  .massage-filter-panel > button { grid-column:auto; }
}

/* Match upper-left promotional panels to the 200 × 132px weather/exchange widget. */
@media (min-width:1551px) {
  .header-side-promos-left .header-side-ad,
  .header-side-promos-left .header-side-ad.is-managed-promo.has-promo-image {
    width:200px;
    height:132px;
    min-height:132px;
    max-height:132px;
    flex:0 0 200px;
    overflow:hidden;
  }
  .header-side-promos-left .managed-promo-content,
  .header-side-promos-left .managed-promo-image { width:100%; height:100%!important; }
  .header-side-promos-left .managed-promo-image { object-fit:cover!important; }
}

/* Clean primary navigation with an expandable mega menu. */
.utility-notice-link { color:#5c1a2b; font-weight:850; }
.category-nav { position:relative; width:min(1180px,calc(100% - 56px)); margin:0 auto; padding:4px 0 12px; }
.category-primary { position:relative; display:flex; width:min(1006px,calc(100% - 56px)); align-items:center; justify-content:space-between; gap:clamp(8px,1vw,16px); margin:0 auto; padding:0; }
.category-nav .category-primary>a {
  flex:0 0 auto;
  border:0;
  border-radius:0;
  padding:10px 0 8px;
  background:transparent;
  color:#514842;
  font-size:13px;
  font-weight:800;
}
.category-nav .category-primary>a:hover,.category-nav .category-primary>a:focus-visible,.category-nav .category-primary>a.active { background:transparent; color:#5c1a2b; box-shadow:inset 0 -2px #5c1a2b; }
.category-more-toggle { display:inline-flex; align-items:center; gap:5px; border:0; padding:10px 0 8px; background:transparent; color:#514842; font-size:13px; font-weight:850; }
.menu-category-icon { display:none; }
.category-primary > :first-child { margin-left:0; }
.category-primary > .category-more-toggle { margin-right:0; }
.category-more-toggle .category-more-chevron { transition:transform .18s ease; }
.category-more-toggle.is-open { color:#5c1a2b; }
.category-more-toggle.is-open .category-more-chevron { transform:rotate(180deg); }
.category-nav .category-ad-inquiry { position:absolute; right:0; margin:0; border-radius:999px!important; padding:9px 16px!important; background:#5c1a2b!important; color:#fff!important; box-shadow:none!important; }
.category-more-panel { position:absolute; z-index:35; top:100%; left:50%; display:grid; width:min(920px,calc(100vw - 56px)); grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; transform:translateX(-50%); border:1px solid #e3d7ce; border-radius:0 0 20px 20px; padding:24px 28px 26px; background:rgba(255,253,249,.98); box-shadow:0 20px 45px rgba(42,39,36,.14); }
.category-more-panel[hidden] { display:none; }
.category-more-panel section { display:grid; align-content:start; gap:3px; }
.category-more-panel h3 { margin:0 0 8px; color:#5c1a2b; font-size:12px; letter-spacing:.02em; }
.category-nav .category-more-panel a { border:0; border-radius:8px; padding:8px 9px; background:transparent; color:#554b46; font-size:12px; text-align:left; }
.category-nav .category-more-panel a:hover,.category-nav .category-more-panel a:focus-visible,.category-nav .category-more-panel a.active { background:#f5e9eb; color:#5c1a2b; }

@media (min-width:1551px) {
  /* Align the primary menu's bottom edge with the bottom of both side widgets. */
  .category-nav {
    margin-top:-28px;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
  }
  .category-primary { width:min(985px,calc(100% - 56px)); }
}

@media (min-width:1180px) and (max-width:1550px) { .category-primary { width:min(1132px,calc(100% - 56px)); } }

@media (max-width:720px) {
  .utility-notice-link { display:none; }
  .category-nav.mobile-open {
    right:10px;
    left:10px;
    display:block;
    width:auto;
    max-width:none;
    margin:0;
    box-sizing:border-box;
    padding:12px;
  }
  .category-primary { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:0; }
  .category-primary > :first-child,.category-primary > .category-more-toggle { margin:0; }
  .category-nav .category-primary>a { border:1px solid #e6ddd6; border-radius:10px; padding:9px 5px; background:#fff; text-align:center; }
  .category-nav .category-primary>a:hover,.category-nav .category-primary>a:focus-visible,.category-nav .category-primary>a.active { background:#f8edf0; box-shadow:none; }
  .category-more-toggle { display:none; }
  .category-nav .category-ad-inquiry { position:static; margin:0; border-radius:10px!important; padding:9px 5px!important; }
  .category-nav.mobile-open .category-more-panel,.category-nav.mobile-open .category-more-panel[hidden] { position:static; display:grid!important; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; transform:none; margin-top:10px; border:0; border-top:1px solid #eadfd7; border-radius:0; padding:10px 0 0; background:transparent; box-shadow:none; }
  .category-more-panel section { display:contents; }
  .category-more-panel h3 { grid-column:1/-1; margin:7px 0 2px; }
  .category-nav .category-more-panel a { border:1px solid #e6ddd6; padding:9px 5px; background:#fff; text-align:center; }
  .category-nav.mobile-open .category-more-panel .mobile-map-menu,.category-nav.mobile-open .category-more-panel .mobile-ad-menu,.category-nav.mobile-open .category-more-panel .mobile-marketing-menu { display:block; }
  .dashboard.board-mode.community-mode:not(.detail-mode) .result-panel {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .dashboard.board-mode.community-mode:not(.detail-mode) .food-subcategory-filter {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
  }
}

/* Compact home briefing: the full listing feed appears only after choosing a board. */
.dashboard:not(.board-mode):not(.detail-mode) .result-panel {
  align-self:start;
  height:auto!important;
  min-height:0;
  overflow:hidden;
  padding:18px;
}
.dashboard:not(.board-mode):not(.detail-mode) .section-head { margin-bottom:14px; }
.dashboard:not(.board-mode):not(.detail-mode) .result-panel > .section-head { display:none; }
.dashboard:not(.board-mode):not(.detail-mode) #resultCount { display:none; }
.dashboard:not(.board-mode):not(.detail-mode) .results { display:none!important; }
.dashboard.business-map-results-mode:not(.board-mode):not(.detail-mode) .result-panel {
  overflow:visible;
}
.dashboard.business-map-results-mode:not(.board-mode):not(.detail-mode) .result-panel > .section-head {
  display:flex;
}
.dashboard.business-map-results-mode:not(.board-mode):not(.detail-mode) #resultCount {
  display:inline;
}
.dashboard.business-map-results-mode:not(.board-mode):not(.detail-mode) .results {
  display:grid!important;
  max-height:none;
  overflow:visible;
}
.dashboard.search-results-mode:not(.board-mode):not(.detail-mode) .result-panel {
  overflow:visible;
}
.dashboard.search-results-mode:not(.board-mode):not(.detail-mode) .result-panel > .section-head {
  display:flex;
}
.dashboard.search-results-mode:not(.board-mode):not(.detail-mode) #resultCount {
  display:inline;
}
.dashboard.search-results-mode:not(.board-mode):not(.detail-mode) .results {
  display:grid!important;
  max-height:none;
  overflow:visible;
}
.podoko-brief-card { display:grid; grid-template-columns:1fr; gap:16px; }
.podoko-brief-intro {
  display:grid;
  gap:8px;
  border-radius:14px;
  padding:18px;
  background:linear-gradient(135deg,#5c1a2b,#7b2941);
  color:#fff;
}
.podoko-brief-intro small { color:#e5c7cf; font-size:9px; font-weight:900; letter-spacing:.08em; }
.podoko-brief-intro strong { font-size:15px; line-height:1.55; letter-spacing:-.03em; }
.podoko-quick-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.podoko-quick-grid a {
  display:grid;
  gap:3px;
  min-width:0;
  border:1px solid #e8ddd5;
  border-radius:12px;
  padding:12px 11px;
  background:#fffdf9;
  color:#413934;
  transition:border-color .16s ease,transform .16s ease,background .16s ease;
}
.podoko-quick-grid a:hover,.podoko-quick-grid a:focus-visible { border-color:#a86a79; background:#fbf2f3; transform:translateY(-1px); }
.podoko-quick-grid span { font-size:12px; font-weight:900; }
.podoko-quick-grid small { overflow:hidden; color:#8b7d76; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.podoko-latest-box { border-top:1px solid #eadfd7; padding-top:14px; }
.podoko-latest-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:5px; }
.podoko-latest-head h3 { margin:0; color:#352e2a; font-size:12px; }
.podoko-latest-head a { color:#7b2941; font-size:10px; font-weight:850; }
.podoko-latest-box ul { display:grid; margin:0; padding:0; list-style:none; }
.podoko-latest-box li { min-width:0; border-bottom:1px solid #f0e8e2; }
.podoko-latest-box li:nth-child(n+4) { display:none; }
.podoko-latest-box button {
  display:grid;
  width:100%;
  min-width:0;
  gap:3px;
  border:0;
  padding:10px 2px;
  background:transparent;
  color:#4a413c;
  text-align:left;
}
.podoko-latest-box button:hover,.podoko-latest-box button:focus-visible { color:#5c1a2b; }
.podoko-latest-box button strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.podoko-latest-box button small,.podoko-latest-box button span { overflow:hidden; color:#958780; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:720px) {
  .dashboard:not(.board-mode):not(.detail-mode) .result-panel { padding:15px; }
  .podoko-brief-intro { padding:16px; }
  .podoko-brief-intro strong { font-size:14px; }
}

/* PODOKO NOW — compact, region-based community signal board. */
.podoko-now-card { gap:14px; }
.podoko-now-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.podoko-now-head > div { display:grid; gap:2px; }
.podoko-now-head small { color:#a07d68; font-size:8px; font-weight:950; letter-spacing:.12em; }
.podoko-now-head h3 { margin:0; color:#5c1a2b; font-size:20px; letter-spacing:-.04em; }
.podoko-now-head > span { display:inline-flex; align-items:center; gap:5px; color:#85766e; font-size:9px; font-weight:750; }
.podoko-now-head > span i,.podoko-now-footer > span i { width:7px; height:7px; border-radius:50%; background:#31a76b; box-shadow:0 0 0 4px rgba(49,167,107,.11); }
.podoko-now-regions { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; border-radius:12px; padding:4px; background:#f2ece6; }
.podoko-now-regions button { min-height:31px; border:0; border-radius:9px; background:transparent; color:#766860; font-size:10px; font-weight:850; }
.podoko-now-regions button.is-active { background:#fff; color:#5c1a2b; box-shadow:0 3px 10px rgba(65,44,35,.09); }
.podoko-now-status { display:grid; border:1px solid #eadfd7; border-radius:14px; background:#fffdf9; }
.podoko-now-status article { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:9px; align-items:center; min-width:0; padding:12px; }
.podoko-now-status article + article { border-top:1px solid #eee6e0; }
.now-status-icon { display:grid; width:30px; height:30px; place-items:center; border-radius:10px; background:#f7edef; color:#6f1731; font-size:13px; font-weight:900; }
.podoko-now-status article div { display:grid; min-width:0; gap:2px; }
.podoko-now-status article small { color:#978980; font-size:8px; font-weight:750; }
.podoko-now-status article strong { overflow:hidden; color:#3f3732; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.podoko-now-status article > b { border-radius:999px; padding:4px 7px; font-size:8px; white-space:nowrap; }
.podoko-now-status article > b.is-good { background:#e9f7ef; color:#20774a; }
.podoko-now-status article > b.is-normal { background:#f7f0df; color:#8b6827; }
.podoko-now-status article > b.is-busy { background:#fae9eb; color:#a23f53; }
.podoko-now-footer { display:grid; gap:11px; }
.podoko-now-footer > span { display:flex; align-items:center; gap:7px; color:#86776f; font-size:9px; }
.podoko-now-footer > span strong { color:#5d514a; }
.podoko-now-footer button { min-height:40px; border:0; border-radius:11px; background:#5c1a2b; color:#fff; font-size:11px; font-weight:900; box-shadow:0 7px 16px rgba(92,26,43,.16); }
.podoko-now-footer button:hover,.podoko-now-footer button:focus-visible { background:#741f39; }

@media (max-width:720px) {
  .podoko-now-head { align-items:center; }
  .podoko-now-head h3 { font-size:18px; }
  .podoko-now-head > span { display:none; }
  .podoko-now-status article { grid-template-columns:30px minmax(0,1fr); padding:11px 8px; }
  .podoko-now-status article > b { display:none; }
}

/* PODOKO daily utilities — useful without community reports or extra live APIs. */
.podoko-tool-card { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.podoko-tool-head { grid-column:1/-1; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:2px; }
.podoko-tool-head > div { display:grid; gap:2px; }
.podoko-tool-head small { color:#a07d68; font-size:8px; font-weight:950; letter-spacing:.12em; }
.podoko-tool-head h3 { margin:0; color:#5c1a2b; font-size:20px; letter-spacing:-.04em; }
.podoko-tool-head > span { color:#8c7d75; font-size:9px; font-weight:750; }
.podoko-tool-section { display:grid; align-content:start; gap:11px; min-width:0; border:1px solid #e9ded6; border-radius:14px; padding:13px; background:#fffdf9; }
.podoko-tool-label { display:flex; align-items:center; gap:9px; min-width:0; }
.podoko-tool-label > span { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:10px; background:#f7edef; color:#6f1731; font-size:12px; font-weight:950; }
.podoko-tool-label > div { display:grid; min-width:0; gap:1px; }
.podoko-tool-label strong { color:#443a35; font-size:11px; }
.podoko-tool-label small { overflow:hidden; color:#998b82; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.peso-calculator-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:6px; align-items:center; }
.peso-calculator-row label { display:flex; align-items:center; min-width:0; overflow:hidden; border:1px solid #ddd1c8; border-radius:9px; background:#fff; }
.peso-calculator-row label span { padding-left:8px; color:#6f1731; font-size:11px; font-weight:900; }
.peso-calculator-row input { width:100%; min-width:0; height:35px; border:0; padding:0 7px; outline:0; background:transparent; color:#3f3732; font-size:11px; font-weight:850; }
.peso-calculator-row > i { color:#ad9f97; font-size:11px; font-style:normal; }
.peso-calculator-row output { overflow:hidden; color:#5c1a2b; font-size:11px; font-weight:900; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.stay-calculator-row { display:grid; gap:7px; }
.stay-calculator-row input { width:100%; height:35px; border:1px solid #ddd1c8; border-radius:9px; padding:0 8px; background:#fff; color:#4a403a; font-size:10px; }
.stay-calculator-row output { min-height:15px; color:#5c1a2b; font-size:10px; font-weight:900; }
.stay-tool p { margin:0; color:#a09289; font-size:7px; line-height:1.5; }
.phrase-tool { grid-column:1/-1; grid-template-columns:auto minmax(0,1fr); align-items:center; }
.phrase-tool .podoko-tool-label { grid-row:1/3; min-width:145px; }
.phrase-tool select { width:100%; min-width:0; height:34px; border:1px solid #ddd1c8; border-radius:9px; padding:0 9px; background:#fff; color:#544943; font-size:9px; }
.phrase-copy-row { display:grid; grid-template-columns:minmax(0,1fr) 52px; gap:7px; min-width:0; }
.phrase-copy-row output { overflow:hidden; border-radius:9px; padding:9px 10px; background:#f7f1ec; color:#4a403a; font-size:9px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.phrase-copy-row button { border:0; border-radius:9px; background:#5c1a2b; color:#fff; font-size:9px; font-weight:900; }
.podoko-daily-tip { grid-column:1/-1; display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:center; border-radius:12px; padding:12px 13px; background:#f7eee7; }
.podoko-daily-tip span { border-radius:999px; padding:5px 8px; background:#fff; color:#9a4256; font-size:8px; font-weight:900; white-space:nowrap; }
.podoko-daily-tip p { margin:0; color:#5a4e47; font-size:9px; line-height:1.45; }

@media (max-width:720px) {
  .podoko-tool-card { grid-template-columns:1fr; }
  .podoko-tool-head,.podoko-tool-section,.phrase-tool,.podoko-daily-tip { grid-column:1; }
  .podoko-tool-head > span { display:none; }
  .phrase-tool { display:grid; grid-template-columns:1fr; }
  .phrase-tool .podoko-tool-label { grid-row:auto; min-width:0; }
}

/* Curated Korea briefing for overseas residents. */
.korea-briefing-card { grid-template-columns:1fr; gap:13px; }
.korea-briefing-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.korea-briefing-head > div { display:grid; gap:2px; }
.korea-briefing-head small { color:#a07d68; font-size:8px; font-weight:950; letter-spacing:.12em; }
.korea-briefing-head h3 { margin:0; color:#5c1a2b; font-size:21px; letter-spacing:-.05em; }
.korea-briefing-head time { color:#91837b; font-size:8px; font-weight:750; white-space:nowrap; }
.korea-briefing-intro { margin:0; border-radius:12px; padding:13px 14px; background:linear-gradient(135deg,#6c1832,#8c324d); color:#fff; font-size:10px; font-weight:750; line-height:1.6; }
.korea-briefing-clock { display:flex; align-items:center; justify-content:center; gap:12px; border:1px solid #eadfd7; border-radius:11px; padding:9px; background:#fffdf9; color:#8c7c73; font-size:9px; }
.korea-briefing-clock i { width:1px; height:11px; background:#dfd2ca; }
.korea-briefing-clock strong { margin-left:4px; color:#493f39; font-size:10px; }
.korea-briefing-list { display:grid; margin:0; padding:0; list-style:none; border:1px solid #e9ded6; border-radius:14px; background:#fffdf9; }
.korea-briefing-list li + li { border-top:1px solid #eee6e0; }
.korea-briefing-list .korea-news-main { display:grid; grid-template-columns:38px minmax(0,1fr) 10px; gap:9px; align-items:center; width:100%; min-width:0; border:0; padding:11px 12px; background:transparent; text-align:left; }
.korea-briefing-list .korea-news-main:hover,.korea-briefing-list .korea-news-main:focus-visible { background:#fbf3f4; }
.korea-briefing-list .korea-news-main em { border-radius:7px; padding:5px 3px; background:#f5e8eb; color:#7b2941; font-size:8px; font-style:normal; font-weight:900; text-align:center; }
.korea-briefing-list .korea-news-main > span { display:grid; min-width:0; gap:3px; }
.korea-briefing-list .korea-news-main strong,.korea-briefing-list .korea-news-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.korea-briefing-list .korea-news-main strong { color:#413833; font-size:10px; }
.korea-briefing-list .korea-news-main small { color:#978980; font-size:8px; }
.korea-briefing-list .korea-news-main > i { color:#a99990; font-size:15px; font-style:normal; }
.korea-news-admin { display:flex; justify-content:flex-end; gap:5px; padding:0 10px 8px; }
.korea-news-admin button { border:1px solid #e2d5cd; border-radius:7px; padding:4px 7px; background:#fff; color:#76675f; font-size:8px; font-weight:850; }
.korea-briefing-list .is-empty { display:grid; gap:7px; min-height:126px; place-content:center; padding:22px; text-align:center; }
.korea-briefing-list .is-empty strong { color:#51453f; font-size:11px; }
.korea-briefing-list .is-empty span { color:#9b8c84; font-size:8px; line-height:1.5; }
.korea-briefing-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.korea-briefing-footer > span { color:#a09189; font-size:8px; }
.korea-briefing-footer button { min-height:34px; border:0; border-radius:9px; padding:0 12px; background:#5c1a2b; color:#fff; font-size:9px; font-weight:900; }
.home-community-trends { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 12px; }
.home-community-trends .home-trend-box { min-height:150px; border-radius:14px; padding:13px; background:#fff; }
.home-community-trends .home-trend-box h3 { display:flex; align-items:center; gap:5px; margin:0 0 10px; font-size:12px; }
.home-community-trends .home-humor-box { border-color:#f1d7ae; background:linear-gradient(145deg,#fff9ed,#fffdf8); }
.home-community-trends .home-humor-box h3 { color:#98611d; }
.home-community-trends .home-comment-box { border-color:#d8cee9; background:linear-gradient(145deg,#f8f4ff,#fefcff); }
.home-community-trends .home-comment-box h3 { color:#694691; }
.home-community-trends .home-popular-box { border-color:#d7c3c9; background:linear-gradient(145deg,#fff5f7,#fffdfd); }
.home-community-trends .home-popular-box h3 { color:#7b2941; }
@media (max-width:720px) { .home-community-trends { grid-template-columns:1fr; } .home-community-trends .home-trend-box { min-height:0; } }

/* PODOKO editorial landing, based on the 260804 website concept. */
.podoko-landing { --landing-wine:#681b1f; --landing-ink:#292724; --landing-cream:#f7f2eb; display:grid; gap:0; width:100%; margin:0 0 36px; overflow:hidden; border-top:1px solid #e4d9ce; border-bottom:1px solid #e4d9ce; background:var(--landing-cream); color:var(--landing-ink); box-shadow:0 20px 55px rgba(76,45,32,.08); }
.podoko-landing[hidden] { display:none!important; }
.landing-market { order:1; }
.landing-picks { order:2; }
.landing-business { order:3; }
.landing-local { order:4; }
.landing-story { order:5; }
.landing-section,.landing-hero { padding:76px clamp(36px,6vw,88px); }
.landing-kicker { margin:0 0 20px; color:#7a2427; font-size:11px; font-weight:950; letter-spacing:.24em; }
.landing-kicker::before { content:""; display:inline-block; width:28px; height:1px; margin:0 12px 3px 0; background:#b97961; }
.landing-hero { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr); align-items:center; min-height:620px; background:#faf6f0; }
.landing-hero-copy h1,.landing-section h2 { margin:0; color:#272522; font-size:clamp(38px,4.1vw,68px); line-height:1.12; letter-spacing:-.065em; }
.landing-hero-copy h1 em,.landing-story h2 em { color:var(--landing-wine); font-style:italic; font-weight:500; }
.landing-hero-copy > p:not(.landing-kicker) { margin:28px 0; color:#706861; font-size:16px; line-height:1.9; }
.landing-search { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; max-width:650px; border:1px solid #dfd3c8; border-radius:19px; padding:8px; background:#fff; box-shadow:0 14px 28px rgba(83,52,40,.09); }
.landing-search > span { padding:0 18px; border-right:1px solid #eadfd6; color:#554c46; font-size:12px; font-weight:900; }
.landing-search input { width:100%; border:0; padding:15px 18px; outline:0; background:transparent; font-size:13px; }
.landing-search button,.landing-business button { border:0; border-radius:14px; padding:16px 24px; background:var(--landing-wine); color:#fff; font-weight:900; }
.landing-tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; }
.landing-tags span { color:#8c817a; font-size:10px; }
.landing-tags button { border:1px solid #e6dcd3; border-radius:999px; padding:8px 13px; background:#fff; color:#5d5550; font-size:10px; }
.landing-orbit { position:relative; min-height:470px; }
.landing-orbit > i { position:absolute; inset:50%; width:420px; height:420px; border:1px solid rgba(104,27,31,.16); border-radius:50%; transform:translate(-50%,-50%); }
.landing-orbit > i:nth-child(2) { width:325px; height:325px; border-style:dashed; }
.landing-orbit > i:nth-child(3) { width:245px; height:245px; background:var(--landing-wine); box-shadow:-75px 95px 0 rgba(118,132,106,.18),100px -65px 0 rgba(191,142,145,.2); }
.landing-orbit > strong { position:absolute; top:50%; left:50%; display:grid; place-items:center; color:#fff; font-size:50px; transform:translate(-50%,-50%); z-index:2; }
.landing-orbit > strong small { font-size:7px; letter-spacing:.22em; }
.orbit-card { position:absolute; z-index:3; display:grid; min-width:145px; gap:8px; border:1px solid #eadfd7; border-radius:16px; padding:20px; background:rgba(255,255,255,.92); color:#a06e60; font-size:8px; letter-spacing:.2em; box-shadow:0 12px 30px rgba(60,40,30,.08); }
.orbit-card b { color:#5a2426; font-size:14px; letter-spacing:0; }.orbit-eat{top:64px;left:18px}.orbit-market{top:120px;right:0}.orbit-life{bottom:30px;left:80px}
.landing-explore { display:grid; grid-template-columns:310px minmax(0,1fr); gap:55px; border-top:1px solid #e3d8cd; background:#f8f3ec; }
.landing-section-copy h2 { font-size:39px; }.landing-section-copy > p:not(.landing-kicker) { color:#716861; line-height:1.9; }
.landing-explore-menu { display:grid; gap:7px; margin-top:28px; }.landing-explore-menu button { display:flex; justify-content:space-between; border:0; border-radius:13px; padding:15px 17px; background:transparent; color:#504944; text-align:left; }.landing-explore-menu button:hover,.landing-explore-menu button:focus-visible { background:var(--landing-wine); color:#fff; }.landing-explore-menu span { opacity:.6; }
.landing-map-preview { position:relative; min-height:490px; overflow:hidden; border:1px solid #e1d5ca; border-radius:27px; background:linear-gradient(rgba(126,89,75,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(126,89,75,.05) 1px,transparent 1px),#fbf8f3; background-size:42px 42px; }
.landing-map-preview::before,.landing-map-preview::after { content:""; position:absolute; border-radius:50%; background:rgba(187,135,135,.18); }.landing-map-preview::before{width:260px;height:260px;right:80px;top:85px}.landing-map-preview::after{width:220px;height:220px;left:70px;bottom:15px;background:rgba(113,126,103,.17)}
.landing-map-search { position:absolute; z-index:2; top:20px; right:24px; left:24px; border:1px solid #e1d4c8; border-radius:14px; padding:17px 20px; background:#fffdfa; color:#9b8f86; font-size:11px; }
.landing-map-preview article { position:absolute; right:28px; bottom:28px; z-index:2; width:310px; border-radius:20px; padding:25px; background:#fff; box-shadow:0 15px 30px rgba(58,38,30,.09); }.landing-map-preview article small{color:#b4775f;font-weight:900;letter-spacing:.18em}.landing-map-preview article strong{display:block;margin:10px 0;font-size:18px}.landing-map-preview article p{color:#706761;font-size:11px;line-height:1.6}.landing-map-preview article button{border:0;background:transparent;color:var(--landing-wine);font-weight:900}
.landing-pin { position:absolute; z-index:2; width:24px; height:24px; border:4px solid #fff; border-radius:50% 50% 50% 0; background:#7a2427; box-shadow:0 0 0 2px #7a2427; transform:rotate(-45deg); }.pin-one{left:25%;top:38%}.pin-two{right:27%;top:43%;background:#d98b61;box-shadow:0 0 0 2px #d98b61}.pin-three{left:43%;bottom:18%;background:#7d8c70;box-shadow:0 0 0 2px #7d8c70}
.landing-section > header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }.landing-section > header h2 { font-size:42px; }.landing-section > header > p { color:#766d66; line-height:1.7; }.landing-section > header button,.landing-more-link { border:0; background:transparent; color:var(--landing-wine); font-weight:900; }
.landing-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.landing-data-card { overflow:hidden; border:1px solid #e2d7cd; border-radius:22px; background:#fffdf9; text-align:left; box-shadow:0 10px 25px rgba(70,44,34,.06); }.landing-data-card button{display:grid;width:100%;border:0;padding:0;background:transparent;text-align:left}.landing-data-card-media{display:grid;place-items:center;aspect-ratio:1.35/1;overflow:hidden;background:#b98977;color:#fff;font-size:22px}.landing-data-card:nth-child(2) .landing-data-card-media{background:#b6a58b}.landing-data-card:nth-child(3) .landing-data-card-media{background:#8d9b87}.landing-data-card:nth-child(4) .landing-data-card-media{background:#bd9293}.landing-data-card-media img{width:100%;height:100%;object-fit:cover}.landing-data-card-copy{display:grid;gap:8px;padding:19px}.landing-data-card-copy small{color:#8a7770;font-size:9px;font-weight:850;letter-spacing:.05em}.landing-data-card-copy strong{overflow:hidden;color:#312d2a;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.landing-data-card-copy span{overflow:hidden;color:#897d75;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.landing-data-card-copy b{color:var(--landing-wine);font-size:15px}
.landing-market { background:#ede1d2; }.landing-market .landing-data-card-media{background:#cbb7a2}.landing-more-link{display:block;margin:24px 0 0 auto}
.landing-local { background:#292724; color:#fff; }.landing-local .landing-kicker{color:#d9c199}.landing-local header h2{color:#fff}.landing-local header>p{color:#b3aaa3}.landing-local-layout{display:grid;grid-template-columns:1.05fr 1.8fr;gap:18px}.landing-weekly{display:grid;align-content:space-between;min-height:390px;border-radius:24px;padding:30px;background:#deb9b6;color:#292724}.landing-weekly>small{font-weight:900;letter-spacing:.16em}.landing-weekly-mark{display:grid;place-items:center;width:156px;height:156px;margin:auto;border:1px solid rgba(104,27,31,.26);border-radius:50%;background:#fff8f1;box-shadow:0 16px 35px rgba(70,28,31,.14)}.landing-weekly-mark img{display:block;width:112px;height:112px;object-fit:contain}.landing-weekly h3{margin:0;font-size:25px}.landing-weekly p{margin:0;color:#6f5f59}.landing-local-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-local-card{display:grid;align-content:space-between;min-height:185px;border:1px solid #4d4945;border-radius:21px;padding:25px;background:#393632;color:#fff;text-align:left}.landing-local-card small{color:#d9c199;font-size:9px;font-weight:900;letter-spacing:.1em}.landing-local-card strong{font-size:17px;line-height:1.5}.landing-local-card span{color:#88817b;font-size:9px}
.landing-business { display:grid; grid-template-columns:1fr 1fr; min-height:600px; background:#6b1c20; color:#fff; }.landing-business .landing-kicker,.landing-business h2{color:#fff}.landing-business h2{font-size:52px}.landing-business>div>p:not(.landing-kicker){color:#d8bfc0;line-height:1.8}.landing-business ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0;padding:0;list-style:none}.landing-business li{border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:15px;color:#f4e5e4}.landing-business li b{margin-right:12px;color:#d7a9a7}.landing-business button{background:#fff8ef;color:#6b1c20}.landing-business-orbit{position:relative;display:grid;place-items:center}.landing-business-orbit::before,.landing-business-orbit::after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.landing-business-orbit::after{width:300px;height:300px}.landing-business-orbit strong{z-index:1;display:grid;place-items:center;width:250px;height:250px;border-radius:50%;background:#fff8f1;box-shadow:0 0 0 8px rgba(255,255,255,.34),0 25px 55px rgba(47,8,12,.28)}.landing-business-orbit strong img{display:block;width:178px;height:178px;object-fit:contain}
.landing-story { position:relative; min-height:500px; overflow:hidden; background:#faf6f0; }.landing-story::after{content:"";position:absolute;right:-120px;top:40px;width:500px;height:500px;border:1px solid rgba(104,27,31,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(185,128,130,.06)}.landing-story h2{position:relative;z-index:1;font-size:48px}.landing-story>p,.landing-story>strong{position:relative;z-index:1;display:block;max-width:850px;line-height:1.9}.landing-story>strong{margin-top:25px;color:var(--landing-wine);font-size:17px}
@media (max-width:1000px){.landing-hero{grid-template-columns:1fr}.landing-orbit{display:none}.landing-explore{grid-template-columns:1fr}.landing-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-business{grid-template-columns:1fr}.landing-business-orbit{display:none}}
@media (max-width:720px){.podoko-landing{width:100%;margin:0;border:0;border-radius:0}.landing-section,.landing-hero{padding:44px 18px}.landing-hero{min-height:0}.landing-hero-copy h1{font-size:39px}.landing-search{grid-template-columns:1fr auto}.landing-search>span{display:none}.landing-section>header{align-items:start;flex-direction:column}.landing-section>header h2,.landing-section-copy h2{font-size:32px}.landing-map-preview{min-height:420px}.landing-map-preview article{right:15px;bottom:15px;left:15px;width:auto}.landing-card-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.landing-data-card{flex:0 0 82%;scroll-snap-align:start}.landing-local-layout{grid-template-columns:1fr}.landing-local-list{grid-template-columns:1fr}.landing-business ul{grid-template-columns:1fr}.landing-story h2,.landing-business h2{font-size:37px}}

@media (max-width:720px) {
  .korea-briefing-head h3 { font-size:18px; }
  .korea-briefing-head time { display:none; }
  .korea-briefing-footer { align-items:stretch; flex-direction:column; }
  .korea-briefing-footer button { width:100%; }
}

/* Photo-forward marketplace rows. */
.landing-market .landing-card-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.landing-market .landing-data-card { border-radius:16px; }
.landing-market .landing-data-card button { grid-template-columns:1fr; min-height:0; }
.landing-market .landing-data-card-media { width:100%; height:auto; min-height:0; aspect-ratio:1/1; }
.landing-market .landing-data-card-copy { align-content:start; gap:5px; padding:12px; }
.landing-market .landing-data-card-copy strong { font-size:13px; }
.landing-market .landing-data-card-copy b { font-size:15px; }
@media (max-width:720px) {
  .landing-market .landing-card-grid { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .landing-market .landing-data-card { flex:0 0 68%; scroll-snap-align:start; }
  .landing-market .landing-data-card button { grid-template-columns:118px minmax(0,1fr); min-height:128px; }
  .landing-market .landing-data-card-media { height:100%; min-height:128px; aspect-ratio:auto; }
  .landing-market .landing-data-card-copy { gap:5px; padding:12px 14px; }
  .landing-market .landing-data-card-copy strong { display:-webkit-box; overflow:hidden; font-size:14px; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .landing-market .landing-data-card-copy b { font-size:16px; }
}

/* Final type scale overrides. */
body { font-family:"Noto Sans KR",sans-serif; }
:lang(en),.landing-kicker,.language-switcher [data-language="en"],.landing-data-card-media,.landing-weekly-mark,.landing-business-orbit strong { font-family:"Pretendard","Noto Sans KR",sans-serif; }
.podoko-landing .landing-section > header h2 { font-size:42px; line-height:1.18; }
.podoko-landing .landing-business h2,.podoko-landing .landing-story h2 { font-size:46px; line-height:1.16; }
.podoko-landing :where(p,li) { font-size:14px; line-height:1.7; }
.podoko-landing .landing-data-card-copy small,.podoko-landing .landing-data-card-copy span { font-size:11px; }
.podoko-landing .landing-data-card-copy strong { font-size:14px; line-height:1.45; }
.podoko-landing .landing-data-card-copy b { font-size:15px; line-height:1.35; }
@media (max-width:720px) {
  .podoko-landing .landing-section > header h2,.podoko-landing .landing-business h2,.podoko-landing .landing-story h2 { font-size:30px; }
  .podoko-landing .landing-data-card-copy strong { font-size:14px; }
  .podoko-landing .landing-data-card-copy b { font-size:16px; }
}

/* Refined PODOKO community board. */
.dashboard.board-mode.community-mode:not(.detail-mode) { align-items:start; gap:24px; padding:30px clamp(24px,4vw,64px) 64px; background:#f6f1ea; }
.dashboard.community-mode:not(.detail-mode) .result-panel { overflow:visible; border:0; padding:0; background:transparent; box-shadow:none; }
.dashboard.community-mode:not(.detail-mode) .section-head { align-items:flex-start; gap:14px; margin:0 0 18px; border-radius:22px; padding:24px 26px; background:linear-gradient(135deg,#5c1a2b,#762b40); color:#fff; box-shadow:0 14px 32px rgba(92,26,43,.16); }
.dashboard.community-mode:not(.detail-mode) .result-title-row { display:grid; flex:1 1 auto; grid-template-columns:auto minmax(260px,1fr); width:auto; min-width:0; gap:18px; }
.dashboard.community-mode:not(.detail-mode) .section-head h2 { margin:0; padding:0; color:#fff; font-size:28px; font-weight:850; letter-spacing:-.04em; }
.dashboard.community-mode:not(.detail-mode) .section-head h2::before { display:none; }
.dashboard.community-mode:not(.detail-mode) .result-title-row::after { content:attr(data-board-subtitle); grid-column:1/-1; grid-row:2; color:#ead6dc; font-size:12px; }
.dashboard.community-mode:not(.detail-mode) .board-search-form { justify-self:end; width:min(100%,390px); grid-template-columns:minmax(160px,1fr) 58px 72px; }
.dashboard.community-mode:not(.detail-mode) .board-search-form input,.dashboard.community-mode:not(.detail-mode) .board-search-form > button { box-sizing:border-box; height:36px; min-height:36px; }
.dashboard.community-mode:not(.detail-mode) .board-search-form input { border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.12); color:#fff; }
.dashboard.community-mode:not(.detail-mode) .board-search-form input::placeholder { color:#dcc4cb; }
.dashboard.community-mode:not(.detail-mode) .board-search-form input:focus { border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.14); }
.dashboard.community-mode:not(.detail-mode) .board-search-form > button { background:#fff; color:#5c1a2b; }
.dashboard.community-mode:not(.detail-mode) .board-search-form .board-write-button { background:#d0aa63!important; color:#3f281e!important; box-shadow:none!important; }
.dashboard.community-mode:not(.detail-mode) #resultCount { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; align-self:flex-start; box-sizing:border-box; min-width:52px; height:36px; border:1px solid rgba(92,26,43,.14); border-radius:999px; padding:0 10px; background:#fff; color:#5c1a2b; text-align:center; line-height:1; white-space:nowrap; }
.dashboard.community-mode:not(.detail-mode) .board-result-promos { gap:12px; margin-bottom:18px; }
.dashboard.community-mode:not(.detail-mode) .results { display:grid; gap:0; max-height:none; overflow:hidden; border:1px solid #e4d9cf; border-radius:20px; background:#fff; box-shadow:0 12px 32px rgba(61,42,32,.065); }
.dashboard.community-mode:not(.detail-mode) .result-card { margin:0; border:0; border-bottom:1px solid #eee5de; border-radius:0; padding:19px 22px; background:#fff; box-shadow:none; transition:background .16s ease,padding-left .16s ease; }
.dashboard.community-mode:not(.detail-mode) .result-card:last-child { border-bottom:0; }
.board-load-more { width:calc(100% - 32px); min-height:44px; margin:16px; border:1px solid #d9c9c1; border-radius:12px; background:#fffaf6; color:#5c1a2b; font-size:13px; font-weight:900; }
.board-load-more:hover,.board-load-more:focus-visible { border-color:#5c1a2b; background:#f8edf0; outline:none; }
.dashboard.community-mode:not(.detail-mode) .result-card:hover,.dashboard.community-mode:not(.detail-mode) .result-card:focus-visible { border-color:#eee5de; background:#fbf6f3; box-shadow:inset 4px 0 #7b2941; transform:none; }
.dashboard.community-mode:not(.detail-mode) .result-card h3 { color:#332c28; font-size:15px; font-weight:800; letter-spacing:-.02em; }
.dashboard.community-mode:not(.detail-mode) .result-card .meta { margin-top:4px; color:#94867d; font-size:11px; }
.dashboard.community-mode:not(.detail-mode) .result-card .desc { display:-webkit-box; overflow:hidden; margin:10px 0 0; color:#6e625b; font-size:12px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
.dashboard.community-mode:not(.detail-mode) .badge-row { margin-top:10px; }
.dashboard.community-mode:not(.detail-mode) .badge { border:0; border-radius:999px; padding:4px 8px; background:#f3ebe7; color:#7b5a50; font-size:10px; }
.dashboard.community-mode:not(.detail-mode) .badge.hot { background:#7b2941; color:#fff; }
.dashboard.community-mode:not(.detail-mode) .side-panel { position:sticky; top:18px; border:1px solid #e4d9cf; border-radius:20px; background:#fffdf9; box-shadow:0 10px 28px rgba(61,42,32,.055); }
@media (max-width:720px) {
  .dashboard.board-mode.community-mode:not(.detail-mode) { padding:16px 12px 80px; }
  .dashboard.community-mode:not(.detail-mode) .section-head { align-items:stretch; flex-direction:column; border-radius:18px; padding:20px 16px; }
  .dashboard.community-mode:not(.detail-mode) .result-title-row { grid-template-columns:1fr; gap:12px; }
  .dashboard.community-mode:not(.detail-mode) .result-title-row::after { grid-row:auto; }
  .dashboard.community-mode:not(.detail-mode) .board-search-form { justify-self:stretch; width:100%; grid-template-columns:minmax(0,1fr) 54px 64px; }
  .dashboard.community-mode:not(.detail-mode) #resultCount { align-self:flex-start; }
  .dashboard.community-mode:not(.detail-mode) .results { border-radius:16px; }
  .dashboard.community-mode:not(.detail-mode) .result-card { padding:16px; }
}

/* Massage canvas must override the shared board card after all board rules. */
.dashboard.board-mode.massage-mode.community-mode:not(.detail-mode) .results {
  box-sizing:border-box;
  width:100%;
  max-width:none;
  overflow:visible;
  border:0;
  border-radius:0;
  padding:16px 0 34px;
  background:transparent;
  box-shadow:none;
}
.dashboard.board-mode.massage-mode .massage-ad-board { width:100%; max-width:none; }
@media (max-width:720px) {
  .dashboard.board-mode.massage-mode.community-mode:not(.detail-mode) .results { padding:10px 0 28px; }
}

/* Member-powered marketplace boards: same visual confidence as massage, with writing enabled. */
.dashboard.board-mode.community-mode:not(.detail-mode) .food-promotion-board {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  gap: 22px;
}
.dashboard.board-mode.food-mode.community-mode:not(.detail-mode) .results {
  box-sizing: border-box;
  overflow: visible;
  padding: 16px;
}
.food-board-hero {
  display: flex;
  min-width: 0;
  min-height: 176px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  border-radius: 22px;
  padding: 28px clamp(24px,4vw,52px);
  background: linear-gradient(125deg,#fffdf9,#f1e2de);
  box-shadow: 0 12px 34px rgba(92,26,43,.08);
}
.food-board-hero > div { min-width:0; }
.food-board-hero span { color:#5c1a2b; font-size:10px; font-weight:900; letter-spacing:.16em; }
.food-board-hero h2 { margin:7px 0 8px; color:#2a2724; font-size:clamp(28px,3vw,42px); line-height:1.12; letter-spacing:-.05em; }
.food-board-hero p { margin:0; color:#71655f; font-size:13px; }
.food-board-hero-actions { display:flex; flex:0 0 auto; gap:8px; }
.food-board-hero-actions button { min-height:48px; border:1px solid #5c1a2b; border-radius:14px; padding:0 18px; background:#fffdf9; color:#5c1a2b; font-weight:900; }
.food-board-hero-actions button:last-child { background:#5c1a2b; color:#fff; }

@media (min-width: 721px) {
  .dashboard.board-mode.community-mode:not(.detail-mode) .food-promotion-board { padding:0 0 24px; }
  .food-promotion-board .mobile-food-section-head { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:0 4px; }
  .food-promotion-board .mobile-food-section-head > div { display:flex; align-items:baseline; gap:9px; }
  .food-promotion-board .mobile-food-section-head strong { color:#2a2724; font-size:20px; }
  .food-promotion-board .mobile-food-section-head span { color:#887b73; font-size:11px; }
  .food-promotion-board .mobile-food-section-head button { border:0; background:transparent; color:#5c1a2b; font-weight:900; }
  .food-promotion-board .mobile-food-nearby-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
  .food-promotion-board .mobile-food-nearby-card { display:grid; min-width:0; gap:5px; border:0; padding:0; background:transparent; color:#2a2724; text-align:left; }
  .food-promotion-board .mobile-food-nearby-card > span { display:grid; width:100%; aspect-ratio:4/3; place-items:center; overflow:hidden; border-radius:13px; background:#f3e9e2; }
  .food-promotion-board .mobile-food-nearby-card img { width:100%; height:100%; object-fit:cover; }
  .food-promotion-board .mobile-food-nearby-card strong,.food-promotion-board .mobile-food-nearby-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .food-promotion-board .mobile-food-nearby-card small { color:#887b73; }
  .food-promotion-board .mobile-food-post-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .food-promotion-board .mobile-food-post-card { min-width:0; overflow:hidden; border:1px solid #e4d8d0; border-radius:16px; background:#fffdf9; box-shadow:0 7px 20px rgba(43,27,46,.07); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
  .food-promotion-board .mobile-food-post-card:hover,.food-promotion-board .mobile-food-post-card:focus-visible { outline:0; box-shadow:0 12px 28px rgba(92,26,43,.12); transform:translateY(-3px); }
  .food-promotion-board .mobile-food-post-image { position:relative; display:grid; width:100%; aspect-ratio:4/3; place-items:center; overflow:hidden; background:#f3e9e2; }
  .food-promotion-board .mobile-food-post-image img { width:100%; height:100%; object-fit:cover; }
  .food-promotion-board .mobile-food-post-image em { position:absolute; top:9px; left:9px; border-radius:999px; padding:5px 8px; background:#5c1a2b; color:#fff; font-size:10px; font-style:normal; font-weight:900; }
  .food-promotion-board .mobile-food-post-copy { display:grid; min-width:0; gap:5px; padding:12px; }
  .food-promotion-board .mobile-food-post-copy small { overflow:hidden; color:#8b7c74; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  .food-promotion-board .mobile-food-post-copy h3 { display:-webkit-box; min-height:38px; margin:0; overflow:hidden; color:#302b28; font-size:14px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .food-promotion-board .mobile-food-post-copy p { display:-webkit-box; min-height:36px; margin:0; overflow:hidden; color:#756962; font-size:11px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .food-promotion-board .mobile-food-post-copy > div { display:flex; justify-content:space-between; gap:8px; color:#887b73; font-size:9px; }
  .food-promotion-board .mobile-food-post-copy b { color:#5c1a2b; }
}

.dashboard.board-mode.marketplace-mode.community-mode:not(.detail-mode) .results { overflow:visible; border:0; border-radius:0; padding:10px 0 36px; background:transparent; box-shadow:none; }
.marketplace-board-shell { display:grid; width:100%; min-width:0; gap:22px; }
.marketplace-board-hero { display:flex; min-width:0; min-height:176px; align-items:center; justify-content:space-between; gap:24px; overflow:hidden; border-radius:22px; padding:28px clamp(24px,4vw,52px); background:linear-gradient(125deg,#fffdf9,#f1e2de); box-shadow:0 12px 34px rgba(92,26,43,.08); }
.marketplace-board-shell.is-giveaway .marketplace-board-hero { background:linear-gradient(125deg,#fffdf9,#e5ede2); }
.marketplace-board-hero > div { min-width:0; }
.marketplace-board-hero span { color:#5c1a2b; font-size:10px; font-weight:900; letter-spacing:.16em; }
.marketplace-board-hero h2 { margin:7px 0 8px; color:#2a2724; font-size:clamp(28px,3vw,42px); line-height:1.12; letter-spacing:-.05em; white-space:pre-line; }
.marketplace-board-hero p { margin:0; color:#71655f; font-size:13px; }
.marketplace-board-hero button { flex:0 0 auto; min-height:48px; border:0; border-radius:14px; padding:0 22px; background:#5c1a2b; color:#fff; font-weight:900; }
.marketplace-board-actions { display:grid; flex:0 0 auto; grid-template-columns:repeat(3,max-content); gap:8px; }
.marketplace-board-shell.is-giveaway .marketplace-board-actions { grid-template-columns:repeat(3,max-content); }
.marketplace-board-actions .marketplace-my-posts { border:1px solid #5c1a2b; background:#fff; color:#5c1a2b; }
.marketplace-board-actions .marketplace-my-posts.is-active { background:#ead9dd; box-shadow:inset 0 0 0 1px #5c1a2b; }
.marketplace-board-actions .marketplace-wished-posts { border:1px solid #d51f3d; background:#fff; color:#c82443; }
.marketplace-board-actions .marketplace-wished-posts.is-active { background:#fff0f3; box-shadow:inset 0 0 0 1px #d51f3d; }
.marketplace-board-shell.is-giveaway .marketplace-board-actions button { border:1px solid #b9c9b7; background:rgba(255,255,255,.78); color:#49604a; box-shadow:0 2px 8px rgba(63,89,65,.06); }
.marketplace-board-shell.is-giveaway .marketplace-board-actions button:hover { border-color:#8eaa8d; background:#f5f9f3; }
.marketplace-board-shell.is-giveaway .marketplace-board-actions .marketplace-my-posts.is-active,
.marketplace-board-shell.is-giveaway .marketplace-board-actions .marketplace-wished-posts.is-active { border-color:#91aa90; background:#e8f0e5; color:#334b35; box-shadow:inset 0 0 0 1px rgba(81,106,80,.12); }
.marketplace-filter-panel { display:grid; grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.7fr); align-items:end; gap:12px; border:1px solid #e5d9cf; border-radius:20px; padding:16px; background:#fffdf9; }
.marketplace-filter-panel label { display:grid; min-width:0; gap:7px; }
.marketplace-filter-panel label span,.marketplace-filter-panel > div span { color:#7b6e67; font-size:11px; font-weight:800; }
.marketplace-filter-panel select { box-sizing:border-box; width:100%; min-width:0; height:46px; border:1px solid #dfd2c8; border-radius:12px; padding:0 13px; background:#fff; color:#2a2724; }
.marketplace-filter-panel > div { display:flex; box-sizing:border-box; min-height:46px; align-items:center; justify-content:center; gap:6px; border-radius:12px; padding:0 12px; background:#f6f1ea; text-align:center; white-space:nowrap; }
.marketplace-filter-panel > div strong { color:#5c1a2b; font-size:15px; line-height:1; }
.marketplace-filter-panel > div span { font-size:10px; line-height:1; }
.marketplace-result-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.marketplace-result-heading div { display:flex; align-items:baseline; gap:8px; }
.marketplace-result-heading span { color:#6f625d; font-size:15px; font-weight:850; }
.marketplace-result-heading strong { color:#5c1a2b; font-size:25px; }
.marketplace-result-heading p { margin:0; color:#8a7d76; font-size:12px; }
.marketplace-card-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.marketplace-card { min-width:0; overflow:hidden; border:1px solid #e4d9d0; border-radius:16px; background:#fffdf9; box-shadow:0 6px 18px rgba(42,39,36,.055); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.marketplace-card.is-featured { border:2px solid #7b2941; box-shadow:0 10px 28px rgba(92,26,43,.16); }
.marketplace-card.is-featured .marketplace-card-media em { background:#6f1730; color:#fff; }
.marketplace-card:hover,.marketplace-card:focus-visible { outline:none; box-shadow:0 12px 28px rgba(92,26,43,.12); transform:translateY(-3px); }
.marketplace-card.is-complete { border-color:#c9c1ba; background:#f3f0ec; }
.marketplace-card.is-complete .marketplace-card-media img { filter:grayscale(.75); opacity:.68; }
.marketplace-card.is-complete .marketplace-card-copy > :not(.marketplace-complete-button) { opacity:.62; }
.marketplace-card.is-reserved { border-color:#d99a32; background:#fff9ed; box-shadow:0 7px 20px rgba(181,112,21,.14); }
.marketplace-card.is-reserved .marketplace-card-media img { filter:sepia(.18) saturate(.82); opacity:.82; }
.marketplace-card-media { position:relative; display:grid; aspect-ratio:1/1; place-items:center; overflow:hidden; background:linear-gradient(135deg,#ead7d5,#ddd0bf); color:#5c1a2b; font-weight:900; }
.marketplace-board-shell.is-giveaway .marketplace-card-media { background:linear-gradient(135deg,#e2eadf,#ccd9c8); color:#486047; }
.marketplace-card-media img { width:100%; height:100%; object-fit:cover; }
.marketplace-card-media em { position:absolute; top:8px; left:8px; border-radius:999px; padding:4px 7px; background:rgba(255,253,249,.94); color:#5c1a2b; font-size:9px; font-style:normal; font-weight:900; }
.marketplace-card-media em.market-status-reserved { border:1px solid #e0a544; background:#fff1c9; color:#9a5a00; }
.marketplace-card-media em.market-status-complete { background:#7f756f; color:#fff; }
.marketplace-card-copy { display:grid; min-width:0; gap:6px; padding:11px; }
.marketplace-card-copy small { overflow:hidden; color:#8b7c74; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.marketplace-card-copy h3 { display:-webkit-box; min-height:34px; margin:0; overflow:hidden; color:#302b28; font-size:13px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.marketplace-card-copy strong { color:#5c1a2b; font-size:14px; }
.marketplace-card-copy p { overflow:hidden; margin:0; color:#867970; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.marketplace-complete-button { width:100%; min-height:32px; margin-top:3px; border:1px solid #5c1a2b; border-radius:9px; background:#fff; color:#5c1a2b; font-size:10px; font-weight:900; cursor:pointer; }
.marketplace-complete-button.is-complete { border-color:#8a7d76; background:#8a7d76; color:#fff; }
.marketplace-empty { grid-column:1/-1; display:grid; place-items:center; gap:6px; min-height:180px; border:1px dashed #d8c9c0; border-radius:18px; background:#fffaf6; color:#786b64; }
@media (max-width:1250px) { .marketplace-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:900px) { .marketplace-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px) {
  .dashboard.board-mode.food-mode.community-mode:not(.detail-mode) .results { padding:10px; }
  .food-board-hero { align-items:stretch; flex-direction:column; border-radius:18px; padding:22px 18px; }
  .food-board-hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .food-board-hero-actions button { min-width:0; padding:0 8px; }
  .dashboard.board-mode.marketplace-mode.community-mode:not(.detail-mode) .results { padding:8px 0 28px; }
  .marketplace-board-hero { align-items:stretch; flex-direction:column; border-radius:18px; padding:22px 18px; }
  .marketplace-board-hero button { width:100%; }
  .marketplace-board-actions { width:100%; grid-template-columns:repeat(3,1fr); }
  .marketplace-board-shell.is-giveaway .marketplace-board-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .marketplace-board-actions button { min-width:0; padding:0 5px; font-size:12px; white-space:nowrap; }
  .marketplace-filter-panel { grid-template-columns:1fr 1fr; padding:12px; }
  .marketplace-filter-panel > div { grid-column:1/-1; }
  .marketplace-result-heading { align-items:start; flex-direction:column; gap:3px; padding:0 4px; }
  .marketplace-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
}

/* PODOKO identity line and introduction dialog. */
.podoko-intro-line { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; color:#5c1a2b; font-size:11px; font-weight:750; line-height:1.45; }
.podoko-intro-line > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.podoko-intro-line button { flex:0 0 auto; border:0; padding:4px 0; background:transparent; color:#5c1a2b; font-size:10px; font-weight:900; cursor:pointer; white-space:nowrap; }
.podoko-intro-line button:hover,.podoko-intro-line button:focus-visible { text-decoration:underline; outline:none; }
.podoko-intro-line i { font-style:normal; }
@media (min-width:721px) {
  .masthead { grid-template-rows:auto 44px; align-content:center; }
  .masthead .brand { grid-column:1; grid-row:1/3; }
  .podoko-intro-line { grid-column:2/4; grid-row:1; align-self:end; width:calc(100% + 105px); margin-bottom:4px; transform:translateX(-105px); }
  .masthead .main-search { grid-column:2; grid-row:2; transform:translate(-105px,-14px); }
  .masthead .post-button { grid-column:3; grid-row:2; transform:translateY(-14px); }
}
.podoko-about-modal[aria-hidden="true"] { display:none; }
.podoko-about-modal { position:fixed; z-index:180; inset:0; display:grid; place-items:center; padding:24px; }
.podoko-about-backdrop { position:absolute; inset:0; width:100%; border:0; padding:0; background:rgba(43,27,46,.68); backdrop-filter:blur(5px); }
.podoko-about-dialog { position:relative; z-index:1; width:min(680px,100%); max-height:calc(100vh - 48px); overflow:auto; border:1px solid #e1d5cd; border-radius:26px; padding:28px; background:#fffdf9; box-shadow:0 28px 90px rgba(43,27,46,.3); }
.podoko-about-dialog > header { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.podoko-about-dialog header small { color:#c9a25b; font-size:10px; font-weight:900; letter-spacing:.16em; }
.podoko-about-dialog header h2 { margin:7px 0 0; color:#2b1b2e; font-size:34px; line-height:1.2; letter-spacing:-.045em; }
.podoko-about-dialog header > button { flex:0 0 40px; width:40px; height:40px; border:1px solid #e2d7cf; border-radius:50%; background:#f6f1ea; color:#5c1a2b; font-size:24px; }
.podoko-about-lead { margin:22px 0; border-left:3px solid #5c1a2b; padding-left:16px; color:#655a54; font-size:14px; font-weight:650; line-height:1.8; }
.podoko-about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.podoko-about-values article { display:grid; align-content:start; gap:8px; min-height:135px; border:1px solid #e7ddd5; border-radius:16px; padding:17px; background:#fffaf6; }
.podoko-about-values b { color:#5c1a2b; font-size:13px; }
.podoko-about-values span { color:#7b6f68; font-size:11px; line-height:1.65; }
.podoko-about-dialog footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin-top:20px; border-radius:16px; padding:15px 17px; background:#2b1b2e; color:#fff; }
.podoko-about-dialog footer strong { font-size:15px; }
.podoko-about-dialog footer span { color:#d8cdd0; font-size:11px; }
.podoko-about-dialog footer button { min-height:38px; border:0; border-radius:10px; padding:0 14px; background:#c9a25b; color:#2b1b2e; font-weight:900; }
@media (max-width:720px) {
  .masthead { min-height:auto; grid-template-columns:auto minmax(0,1fr) auto auto auto; grid-template-rows:auto auto auto; }
  .podoko-intro-line { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:minmax(0,1fr) 99px; width:100%; gap:7px; border-top:1px solid #eee4dc; padding-top:7px; font-size:9px; }
  .podoko-intro-line > span { white-space:normal; }
  .podoko-intro-line button { width:100%; align-self:center; text-align:center; }
  .masthead .main-search { grid-column:1/4; grid-row:3; }
  .masthead .post-button { grid-column:4; grid-row:3; display:block; }
  .masthead .mobile-language-toggle { grid-column:5; grid-row:3; display:block; }
  body.listing-detail-open .masthead .main-search,
  body.listing-detail-open .masthead .post-button,
  body.listing-detail-open .masthead .mobile-language-toggle,
  body.listing-detail-open .podoko-intro-line,
  body.listing-detail-open .mobile-menu-toggle,
  body.listing-detail-open .category-nav,
  body.listing-detail-open .mobile-quick-banner,
  body.listing-detail-open .mobile-home-shortcuts,
  body.listing-detail-open .mobile-important-notice,
  body.listing-detail-open .mobile-market-section { display:none !important; }

  body.listing-detail-open .dashboard.detail-mode .board-search-form { display:none !important; }

  body.listing-detail-open main { padding-top:0; }
  body.listing-detail-open .dashboard.detail-mode { margin-top:0; padding-top:10px; }

  body.listing-detail-open .results,
  body.listing-detail-open .detail-card {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  body.listing-detail-open .detail-card {
    grid-template-columns: minmax(0, 1fr);
  }

  body.listing-detail-open .detail-card > *,
  body.listing-detail-open .detail-toolbar,
  body.listing-detail-open .detail-nav-actions,
  body.listing-detail-open .detail-page-nav,
  body.listing-detail-open .detail-user-actions,
  body.listing-detail-open .result-top,
  body.listing-detail-open .result-top > div,
  body.listing-detail-open .result-top h3,
  body.listing-detail-open .result-top .meta,
  body.listing-detail-open .detail-body,
  body.listing-detail-open .comments-panel {
    min-width: 0;
    max-width: 100%;
  }

  body.listing-detail-open .result-top > div {
    width: 100%;
  }

  body.listing-detail-open .result-top h3,
  body.listing-detail-open .result-top .meta {
    width: auto;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  body.listing-detail-open .badge {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.business-side-detail-open .masthead .main-search,
  body.business-side-detail-open .masthead .post-button,
  body.business-side-detail-open .masthead .mobile-language-toggle,
  body.business-side-detail-open .podoko-intro-line,
  body.business-side-detail-open .mobile-menu-toggle,
  body.business-side-detail-open .category-nav,
  body.business-side-detail-open .mobile-quick-banner,
  body.business-side-detail-open .mobile-home-shortcuts,
  body.business-side-detail-open .mobile-important-notice,
  body.business-side-detail-open .mobile-market-section { display:none !important; }

  body.business-side-detail-open main { padding-top:0; }
  body.business-side-detail-open .dashboard { margin-top:0; padding-top:10px; }

  body.mobile-food-map-open .masthead .main-search,
  body.mobile-food-map-open .masthead .post-button,
  body.mobile-food-map-open .masthead .mobile-language-toggle,
  body.mobile-food-map-open .podoko-intro-line,
  body.mobile-food-map-open .mobile-menu-toggle,
  body.mobile-food-map-open .category-nav,
  body.mobile-food-map-open .mobile-quick-banner,
  body.mobile-food-map-open .mobile-home-shortcuts,
  body.mobile-food-map-open .mobile-important-notice,
  body.mobile-food-map-open .mobile-market-section { display:none !important; }

  body.mobile-food-map-open main { padding-top:0; }
  body.mobile-food-map-open .dashboard { margin-top:0; padding-top:10px; }
  body.board-page-open .podoko-intro-line,
  body.board-page-open .masthead .main-search,
  body.board-page-open .masthead .post-button,
  body.board-page-open .masthead .mobile-language-toggle,
  body.board-page-open .mobile-home-shortcuts { display:none; }
  .detail-edge-nav {
    width: 34px;
    height: 68px;
    border-radius: 14px;
    background: rgba(255, 253, 249, 0.42);
    color: rgba(92, 26, 43, 0.66);
    font-size: 31px;
  }
  .detail-edge-prev { left: 4px; }
  .detail-edge-next { right: 4px; }
  .category-primary a[data-board-category="여행"],
  .category-primary a[data-board-category="구인/구직"],
  .category-primary a[data-board-category="업체"] { display:none; }
  .category-nav.mobile-open .category-primary { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .category-nav.mobile-open .category-primary a[data-board-category="부동산"] { grid-column:span 2; }
  .category-nav.mobile-open .category-more-panel,
  .category-nav.mobile-open .category-more-panel[hidden] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .category-nav.mobile-open .category-more-panel section { display:grid; align-content:start; gap:4px; border:1px solid #eadfd7; border-radius:12px; padding:10px; background:#fff; }
  .category-nav.mobile-open .category-more-panel h3 { grid-column:auto; margin:0 0 4px; text-align:center; }
  .category-nav.mobile-open .category-more-panel section a { width:100%; }
  .category-nav.mobile-open { padding-bottom:calc(92px + env(safe-area-inset-bottom)); scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
  .category-more-label-desktop { display:none; }
  .category-more-label-mobile { display:inline; }
  .category-more-panel .mobile-only-menu-link { display:block !important; }
  .podoko-about-modal { align-items:end; padding:0; }
  .podoko-about-dialog { max-height:88vh; border-radius:24px 24px 0 0; padding:22px 16px 28px; }
  .podoko-about-dialog header h2 { font-size:27px; }
  .podoko-about-values { grid-template-columns:1fr; }
  .podoko-about-values article { min-height:0; }
  .podoko-about-dialog footer { grid-template-columns:1fr; }
}
@media (max-width:360px) {
  .podoko-intro-line { grid-template-columns:minmax(0,1fr) 88px; gap:4px; }
  .category-nav.mobile-open .category-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-nav.mobile-open .category-more-panel,
  .category-nav.mobile-open .category-more-panel[hidden] { grid-template-columns:1fr; }
}

/* PODOKO SVG category icons. */
@media (max-width:720px) {
  .mobile-home-shortcuts a {
    min-height:104px;
    align-content:center;
    gap:8px;
    border-color:#eadfd7;
    border-radius:16px;
    background:#fffaf6;
    color:#202a35;
    font-size:13px;
  }

  .mobile-home-shortcuts a img {
    display:block;
    width:46px;
    height:48px;
    object-fit:contain;
  }

  .category-nav.mobile-open .category-primary>a {
    min-height:94px;
    align-content:center;
    gap:7px;
  }

  .category-nav.mobile-open .category-primary>a .menu-category-icon {
    display:block;
    width:36px;
    height:40px;
    object-fit:contain;
  }
}
