/* WEIRD FOOD / photo-first product home. Scoped, real approved media only. */
.wf-discovery-first{--wf-ink:#222923;--wf-soft:#626c63;--wf-paper:#fffcf6;--wf-lime:#e4ed9c;--wf-orange:#fb6339;--wf-border:#dce0d6;max-width:1190px;margin:0 auto;padding:0 0 48px;font-family:Inter,'Pretendard',system-ui,sans-serif;color:var(--wf-ink)}
.wf-discovery-first *{box-sizing:border-box}
.wf-discovery-first :is(a,button,input):focus-visible{outline:3px solid #167a69;outline-offset:3px}
.wf-discovery-first a{text-decoration:none;color:inherit}
.wf-discovery-first :is(h1,h2,h3,p){margin-top:0}
.wf-discovery-first .wf-eyebrow,.wf-discovery-first .wf-overline{color:#687267;letter-spacing:.13em;font-size:.69rem;font-weight:900;line-height:1.5}
.wf-home-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:0;padding:12px 0 14px}
.wf-home-head>div{min-width:0}
.wf-home-head .wf-eyebrow{margin:0 0 3px}
.wf-home-head h1{font-family:Georgia,'Noto Serif KR',serif;font-size:clamp(26px,3.2vw,43px);line-height:1.16;letter-spacing:-.055em;font-weight:900;margin:0 0 5px}
.wf-home-head p:not(.wf-eyebrow){max-width:740px;color:var(--wf-soft);font-size:.84rem;line-height:1.45;margin:0}
.wf-discovery-first .wf-head-browse{align-items:center;display:inline-flex;gap:13px;flex-shrink:0;padding:8px 3px;min-height:44px;border-bottom:2px solid var(--wf-ink);font-size:.82rem;font-weight:850}
.wf-head-browse span{color:var(--wf-orange);font-size:1.18rem}
.wf-home-gallery{scroll-margin-top:78px}
.wf-home-section-top{display:flex;justify-content:space-between;align-items:end;margin:0 0 13px;gap:20px}
.wf-home-section-top .wf-overline{margin:0 0 3px}
.wf-home-section-top h2{font-family:Georgia,'Noto Serif KR',serif;font-size:clamp(21px,2.5vw,30px);letter-spacing:-.04em;margin:0}
.wf-home-section-top p:not(.wf-overline){font-size:.8rem;color:var(--wf-soft);margin:6px 0 0}
.wf-showcase-grid,.wf-small-card-grid{padding:0;margin:0;list-style:none;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.wf-card-item{min-width:0}
.wf-discovery-first .wf-photo-card{display:block;border:1px solid var(--wf-border);border-radius:15px;padding:7px;background:var(--wf-paper);height:100%;box-shadow:0 3px 0 #2229230a;transition:transform .15s,box-shadow .15s}
.wf-photo-card:hover{transform:translateY(-2px);box-shadow:0 9px 21px #21251d17}
.wf-showcase-grid .wf-card-featured{grid-column:span 2;grid-row:span 2}
.wf-photo-frame{position:relative;width:100%;aspect-ratio:1.23;overflow:hidden;background:#e0e6dc;border-radius:10px}
.wf-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.wf-showcase-grid .wf-card-featured .wf-photo-frame{aspect-ratio:1.1;height:auto;min-height:270px}
.wf-photo-copy{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 5px 6px}
.wf-photo-copy strong{font-size:clamp(.83rem,1.2vw,1.07rem);line-height:1.3;overflow-wrap:anywhere}
.wf-photo-copy span{font-size:1.12rem;font-weight:900;color:var(--wf-orange);flex-shrink:0}
.wf-showcase-grid .wf-card-featured .wf-photo-copy strong{font-size:clamp(1.03rem,1.75vw,1.32rem)}
.wf-verified-reactions{color:#58675b;font-size:.76rem;margin:-3px 5px 8px}
.wf-discovery-first .wf-section-more{display:inline-flex;align-items:center;padding:10px 5px;min-height:44px;margin:8px 0 10px;font-size:.82rem;font-weight:800;border-bottom:1px solid var(--wf-ink)}
.wf-discovery-shelf{margin:32px 0 36px}
.wf-small-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.wf-country-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.wf-country-group{min-width:0;border:1px solid var(--wf-border);background:#f8faf3;border-radius:15px;padding:14px}
.wf-country-group h3{font-size:1rem;font-weight:850;margin:0 0 13px}
.wf-country-group .wf-small-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.wf-country-group .wf-photo-frame{aspect-ratio:1}
.wf-country-group .wf-photo-copy strong{font-size:.78rem}
.wf-discovery-first .wf-approvals-empty{background:#f7f8f1;border:1px dashed #abb9ae;border-radius:16px;padding:35px 20px;text-align:center;min-height:185px;display:flex;align-items:center;justify-content:center;gap:16px;flex-direction:column;font-size:.92rem;color:#566458;line-height:1.65}
.wf-approvals-empty p{margin:0}
.wf-approvals-empty a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-weight:800}
.wf-compact-search{padding:22px 24px;border:1px solid #d5ded1;background:#eaf0e6;border-radius:15px;margin:36px 0 29px;display:flex;align-items:center;gap:22px}
.wf-compact-search h2{font-size:1rem;min-width:fit-content;margin:0;letter-spacing:-.02em}
.wf-search-inline{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.wf-search-inline input{flex:1;min-width:0;border:1px solid #bbc6bd;background:white;border-radius:9px;padding:11px 12px;font:inherit;font-size:.9rem;min-height:45px;color:var(--wf-ink)}
.wf-search-inline button{flex-shrink:0;background:var(--wf-ink);border:0;border-radius:9px;color:#fff;padding:10px 16px;font:inherit;font-weight:800;min-height:45px;cursor:pointer}
.wf-search-inline button:disabled{opacity:.6}
.wf-discovery-first .wf-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wf-discovery-first .wf-play-promo{display:flex;gap:24px;justify-content:space-between;align-items:center;min-height:205px;padding:25px 32px;background:var(--wf-lime);border:2px solid var(--wf-ink);border-radius:17px;box-shadow:5px 6px 0 #d3d8b5}
.wf-play-promo h2{font-family:Georgia,'Noto Serif KR',serif;font-size:clamp(24px,3vw,36px);letter-spacing:-.04em;margin:4px 0 9px}
.wf-play-promo p:not(.wf-overline){max-width:630px;font-size:.86rem;color:#465445;line-height:1.45}
.wf-discovery-first .wf-dark-cta{display:inline-flex;align-items:center;min-height:44px;background:var(--wf-ink);color:white;border-radius:8px;padding:10px 14px;font-size:.82rem;font-weight:850;margin-right:9px}
.wf-discovery-first .wf-tier-link{display:inline-flex;align-items:center;min-height:44px;font-size:.82rem;font-weight:850;padding:10px 4px}
.wf-promo-art{display:flex;align-items:center;transform:rotate(-8deg);flex-shrink:0}
.wf-promo-art span{display:grid;place-items:center;width:70px;height:75px;background:white;border:2px solid var(--wf-ink);font:29px Georgia,serif}
.wf-promo-art span:last-child{background:#f5b8a4;transform:rotate(12deg)}
.wf-promo-art b{background:var(--wf-orange);border:2px solid var(--wf-ink);z-index:1;font-size:.72rem;padding:7px}
@media(max-width:900px){.wf-showcase-grid,.wf-small-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wf-country-list{grid-template-columns:1fr}}
@media(max-width:700px){
 .wf-home-head{padding:7px 0 9px;display:block}
 .wf-home-head .wf-eyebrow{font-size:.58rem;margin:0 0 1px}
 .wf-home-head h1{font-size:clamp(25px,8vw,34px);line-height:1.1;margin:0 0 3px}
 .wf-home-head p:not(.wf-eyebrow){font-size:.72rem;line-height:1.38}
 .wf-discovery-first .wf-head-browse{display:none}
 .wf-home-section-top{margin:7px 0 9px}
 .wf-home-section-top .wf-overline{font-size:.6rem}
 .wf-home-section-top h2{font-size:1.2rem}
 .wf-showcase-grid,.wf-small-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .wf-showcase-grid .wf-card-featured{grid-column:auto;grid-row:auto}
 .wf-showcase-grid .wf-card-featured .wf-photo-frame{height:auto;aspect-ratio:1.05;min-height:0}
 .wf-discovery-first .wf-photo-card{padding:5px;border-radius:10px}
 .wf-photo-frame{aspect-ratio:1.05}
 .wf-photo-copy{padding:8px 4px 5px}
 .wf-photo-copy strong,.wf-showcase-grid .wf-card-featured .wf-photo-copy strong{font-size:.82rem;line-height:1.24}
 .wf-discovery-shelf{margin:24px 0}
 .wf-country-group{padding:10px}
 .wf-country-group .wf-small-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wf-compact-search{display:block;margin:24px 0 21px;padding:14px}
 .wf-compact-search h2{margin:0 0 8px}
 .wf-search-inline{gap:7px}
 .wf-search-inline button{padding-inline:10px}
 .wf-discovery-first .wf-play-promo{padding:20px 18px;min-height:0}
 .wf-promo-art{display:none}
}
@media(max-width:370px){.wf-home-head h1{font-size:25px}.wf-photo-copy strong{font-size:.78rem!important}.wf-search-inline button{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.wf-photo-card{transition:none!important}.wf-photo-card:hover{transform:none}}

/* A genuinely useful no-photo discovery state: independently sourced reading,
   never masquerading as approved media, public food detail or real votes. */
.wf-source-fallback{border:1px solid #d7e0d0;border-radius:16px;padding:20px 22px;background:#f6f8f0}
.wf-source-notice{font-size:.78rem;color:#617163;line-height:1.5;margin:0 0 9px}
.wf-source-fallback h3{font-family:Georgia,'Noto Serif KR',serif;font-size:clamp(1.1rem,2vw,1.42rem);letter-spacing:-.035em;margin:0 0 15px}
.wf-original-source-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wf-original-source-grid li{min-width:0}
.wf-discovery-first .wf-original-source-grid a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;color:#243229;background:#fff;border:1px solid #d9e1d7;border-radius:10px;padding:17px 16px;min-height:159px;height:100%}
.wf-original-source-grid a:hover{border-color:#6e9d85;box-shadow:0 6px 15px #1f412015}
.wf-original-region{font-size:.62rem;font-weight:900;letter-spacing:.13em;color:#576e5b}
.wf-original-source-grid strong{font-size:1.1rem;line-height:1.2}
.wf-original-description{font-size:.79rem;color:#667269;line-height:1.5;flex:1}
.wf-original-source-grid small{color:#2c6251;font-size:.7rem;font-weight:800}
.wf-source-disclosure{font-size:.72rem;line-height:1.5;margin:12px 0 0;color:#657265}
@media(max-width:700px){
 .wf-source-fallback{padding:16px 12px}
 .wf-source-fallback h3{margin-bottom:10px}
 .wf-original-source-grid{grid-template-columns:1fr;gap:7px}
 .wf-discovery-first .wf-original-source-grid a{min-height:0;padding:12px 14px}
}

/* Owned concept-art preview: explicitly outside the approved food/voting collection. */
.wf-art-preview{margin:0 0 20px;min-width:0}
.wf-art-preview-head{display:flex;gap:5px 14px;align-items:baseline;flex-wrap:wrap;margin-bottom:11px}
.wf-art-preview-head h3{margin:0;font:800 clamp(1rem,1.65vw,1.3rem)/1.25 Georgia,'Noto Serif KR',serif}
.wf-art-preview-head p{margin:0;font-size:.7rem;line-height:1.5;color:#5c6a60;max-width:670px}
.wf-art-preview-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.wf-art-preview-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--wf-border);border-radius:14px;padding:7px;background:#fffcf6;box-shadow:0 3px 0 #22292308}
.wf-art-preview-origin{position:absolute;z-index:1;top:12px;left:12px;max-width:calc(100% - 24px);background:#f0f6e8f2;color:#284535;border:1px solid #99bb9d;border-radius:5px;padding:5px 7px;font-size:.69rem;font-weight:850;line-height:1.2}
@media(max-width:700px){.wf-art-preview-origin{top:9px;left:9px;padding:4px 5px;font-size:.61rem}}
.wf-art-preview-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;background:#e9e8da}
.wf-art-preview-info{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 5px 5px}
.wf-art-preview-info strong{font-size:clamp(.82rem,1.15vw,1rem);line-height:1.3}
.wf-art-preview-info span{font-size:.68rem;font-weight:850;color:#436155;background:#eaf0e7;padding:4px 7px;border-radius:5px}
.wf-art-preview+.wf-source-fallback{margin-top:17px}
@media(max-width:700px){
 .wf-art-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .wf-art-preview-card{padding:5px;border-radius:11px}
 .wf-art-preview-card img{aspect-ratio:4/3}
 .wf-art-preview-head{margin-bottom:8px}
 .wf-art-preview-info{padding:7px 3px 5px}
 .wf-art-preview-info strong{font-size:.79rem}
 .wf-art-preview-info span{font-size:.6rem}
}

@media (max-width:1000px) and (min-width:701px){.wf-art-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* Optional 17-food illustration expansion: native keyboard-accessible details.
   Prioritise the actual approved food gallery over all draft AI art. */
.wf-art-preview-more{margin-top:13px}
.wf-art-preview-more>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;
 min-height:44px;border:1px solid #bccab9;border-radius:10px;background:#eef3e8;padding:11px 14px;
 color:#264735;font-weight:800;font-size:.85rem;list-style:none}
.wf-art-preview-more>summary::-webkit-details-marker{display:none}
.wf-art-preview-more>summary:hover{background:#e3eedf}
.wf-art-preview-more>summary:focus-visible{outline:3px solid #167a69;outline-offset:3px}
.wf-art-preview-more>summary span{font-size:1.1rem;transition:transform .15s}
.wf-art-preview-more[open]>summary span{transform:rotate(180deg)}
.wf-art-preview-more>p{margin:10px 1px;color:#586a5e;font-size:.73rem;line-height:1.5}
.wf-art-preview-more>.wf-art-preview-grid{margin-top:12px}
@media(prefers-reduced-motion:reduce){.wf-art-preview-more>summary span{transition:none}}

/* The original-source link provides useful exploration without publishing draft food.
   It is not an AI image license or a substitute for internal food/media approval. */
.wf-art-preview-source{color:#1c6451!important;display:inline-flex;align-items:center;min-height:44px;padding:5px 2px;font-size:.75rem;font-weight:800;text-decoration:underline!important;text-underline-offset:3px;line-height:1.25}
.wf-art-preview-source:hover{color:#103d31!important}
.wf-art-preview-source:focus-visible{outline:3px solid #167a69;outline-offset:2px;border-radius:3px}
@media(max-width:700px){.wf-art-preview-source{font-size:.69rem;min-height:44px}}

/* Honest first-run play CTA when only original AI food concepts exist. */
.wf-concept-home-link{display:inline-flex;align-items:center;justify-content:center;
 padding:9px 13px;border-radius:9px;border:1px solid #2d5544;background:#e7efdc;
 color:#214932;font-size:.82rem;font-weight:850;line-height:1.2;min-height:44px;text-decoration:none;
 flex-shrink:0}
.wf-concept-home-link:hover{background:#d8e9ce}
.wf-concept-home-link:focus-visible{outline:3px solid #17785c;outline-offset:3px}
@media(max-width:700px){.wf-home-gallery>.wf-home-section-top{align-items:start;flex-wrap:wrap;gap:8px}
 .wf-concept-home-link{font-size:.79rem}}


/* Strictly DEV-only existing food card/detail preview. Never a published food. */
.wf-dev-photo-notice{background:#fff0d7;border:2px solid #93601e;border-radius:12px;
 padding:12px 16px;margin:8px 0 16px;color:#4d3213;line-height:1.48}
.wf-dev-photo-notice strong{font-size:.93rem;letter-spacing:.01em}
.wf-dev-photo-notice p{font-size:.84rem;margin:5px 0 0}
/* DEV detail is not a vote-plus-side-panel layout: do not strand the hero in column 2. */
.wf-dev-photo-detail{grid-template-columns:minmax(0,1fr);gap:16px}
.wf-dev-photo-detail>.food-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.wf-dev-photo-detail>.food-hero>.food-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.wf-dev-photo-detail>.food-hero>.food-media{min-width:0;min-height:0}
@media(max-width:760px){.wf-dev-photo-detail>.food-hero{grid-template-columns:minmax(0,1fr)}}
.wf-dev-photo-detail .food-media{min-height:0}
.wf-dev-photo-detail .food-media img{width:100%;height:auto;max-height:490px;
 aspect-ratio:4/3;object-fit:contain;background:#eeeee7}
.wf-dev-photo-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
 padding:12px 0 22px}
.wf-dev-photo-next a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
 padding:11px 15px;border-radius:10px;border:1px solid #315647;color:#234a39;
 font-size:.91rem;font-weight:800;text-decoration:none}
.wf-dev-photo-next .wf-dev-photo-primary{background:#244738;color:white}
.wf-dev-photo-next a:focus-visible{outline:3px solid #1e8063;outline-offset:3px}
.wf-discovery-first.wf-dev-photo-preview .wf-photo-frame img{object-fit:contain;background:#e4e9e2}
.wf-discovery-first.wf-dev-photo-preview .wf-photo-card{min-height:100%;display:flex;flex-direction:column}
.wf-discovery-first.wf-dev-photo-preview .wf-photo-copy{margin-top:auto}
@media(max-width:700px){
 .wf-dev-photo-notice{margin:9px 0 13px;padding:11px 12px}
 .wf-dev-photo-detail .food-media img{max-height:420px}
 .wf-dev-photo-next{display:grid;grid-template-columns:1fr}
 .wf-dev-photo-next a{width:100%;font-size:.9rem}
 .wf-discovery-first.wf-dev-photo-preview .wf-photo-frame{aspect-ratio:1.15}
}
@media(prefers-reduced-motion:reduce){.wf-discovery-first.wf-dev-photo-preview .wf-photo-card{transition:none}}


/* Broken real-photo links must not leave native browser broken-image icons. */
.wf-photo-load-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:0;
 text-align:center;padding:14px;border:1px dashed #9faea0;border-radius:10px;background:#e8ede6;color:#405747}
.wf-photo-load-fallback span{font-size:.83rem;font-weight:750;max-width:18ch;line-height:1.5}
@media(max-width:430px){.wf-photo-load-fallback{min-height:0;padding:8px}.wf-photo-load-fallback span{font-size:.72rem}}

/* The opt-in, development-only real-photo grid must preserve entire food subjects. */
.wf-dev-photo-preview .wf-photo-frame img{object-fit:contain;object-position:center;background:#e4e9e2}
.wf-dev-photo-preview .wf-photo-frame{display:grid;place-items:center}
.wf-photo-frame .wf-photo-load-fallback{min-width:0;overflow-wrap:anywhere}
