/* Detailed meals: integrated editorial rail */
#seoulMeals {margin:clamp(28px,5vw,64px) 0 26px;color:#342820;font-family:inherit}
#seoulMeals .sm-heading {display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:17px;flex-wrap:wrap}
#seoulMeals .sm-overline {font-size:11px;letter-spacing:.19em;color:#963E34;font-weight:700}
#seoulMeals h3 {font-size:clamp(25px,3.3vw,38px);line-height:1.2;margin:6px 0 7px;color:#342820}
#seoulMeals .sm-intro {font-size:14px;line-height:1.7;color:#634d41;max-width:650px;margin:0}
#seoulMeals .sm-tabs {display:flex;gap:7px;overflow-x:auto;padding:8px 0 13px;scrollbar-width:thin}
#seoulMeals button {font:inherit;cursor:pointer}
#seoulMeals .sm-filter {background:#fffaf2;color:#49372d;border:1px solid #bca88a;border-radius:999px;padding:9px 15px;white-space:nowrap;font-size:13px;min-height:44px}
#seoulMeals .sm-filter[aria-pressed=true]{background:#963E34;color:white;border-color:#963E34}
#seoulMeals .sm-rail {display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:5px 4px 18px;scrollbar-width:thin}
#seoulMeals .sm-card {flex:0 0 clamp(230px,31vw,310px);scroll-snap-align:start;display:block;text-align:left;background:#fffaf2;border:1px solid rgba(129,89,59,.27);border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #46302113;min-width:0;padding:0;color:#342820}
#seoulMeals .sm-card:focus-visible,#seoulMeals .sm-filter:focus-visible,#sm-detail button:focus-visible{outline:3px solid #963E34;outline-offset:3px}
#seoulMeals .sm-cover {aspect-ratio:4/3;background:#ddd0b1;display:block;width:100%;object-fit:cover}
#seoulMeals .sm-card-body {display:block;padding:14px 16px 18px}
#seoulMeals .sm-day {display:block;color:#963E34;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:6px}
#seoulMeals .sm-name {display:block;font-size:18px;font-weight:750;line-height:1.35;color:#342820}
#seoulMeals .sm-summary {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;color:#604b3e;font-size:13px;line-height:1.65}
#seoulMeals .sm-view {display:block;margin-top:12px;font-size:12px;color:#963E34;font-weight:700}
#sm-detail {border:0;border-radius:18px;padding:0;background:#fffaf2;color:#342820;max-width:min(810px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 28px);overflow:auto;box-shadow:0 30px 80px #100b0866}
#sm-detail::backdrop {background:#16100dbf;backdrop-filter:blur(3px)}
#sm-detail .sm-detail-inner{padding:clamp(18px,4vw,32px)}
#sm-detail .sm-close {position:sticky;top:8px;z-index:5;float:right;background:#fff8ee;border:1px solid #8e6f59;color:#342820;border-radius:30px;min-height:44px;padding:8px 18px}
#sm-detail .sm-modal-head {clear:both;padding:10px 0 14px}
#sm-detail .sm-modal-head h3 {font-size:clamp(26px,4vw,42px);line-height:1.18;margin:8px 0;color:#342820}
#sm-detail .sm-modal-sub {color:#624d3f;font-size:14px;margin:6px 0;line-height:1.6}
#sm-detail .sm-mainpic {width:100%;max-height:350px;object-fit:cover;border-radius:11px;display:block}
#sm-detail h4 {color:#963E34;font-size:15px;letter-spacing:.03em;margin:24px 0 8px}
#sm-detail .sm-dish {border-bottom:1px solid #e3d5bf;padding:12px 0}
#sm-detail .sm-dish strong{display:block;font-size:16px;color:#342820}
#sm-detail .sm-dish small{display:block;font-size:12px;color:#806958;margin-top:3px}
#sm-detail .sm-dish p {font-size:14px;line-height:1.7;color:#584437;margin:6px 0 0}
#sm-detail .sm-note {background:#f2e6d3;border-left:3px solid #D7A73D;padding:15px;border-radius:7px;font-size:14px;line-height:1.75;color:#4d3b30}
#sm-detail .sm-links {display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
#sm-detail .sm-links a{background:#963E34;color:white;text-decoration:none;border-radius:30px;min-height:44px;padding:12px 18px;font-size:13px;display:inline-flex;align-items:center}
body.sm-dialog-open{overflow:hidden}
@media(max-width:650px){#seoulMeals .sm-card{flex-basis:77vw}#sm-detail{max-height:calc(100dvh - 12px);max-width:calc(100vw - 12px)}}
@media(prefers-reduced-motion:reduce){#seoulMeals .sm-rail{scroll-behavior:auto}}

/* Meal stories: photographic, expandable, linked to journey */
#sm-detail .sm-story {font-size:15px;line-height:1.85;color:#493a30;margin:12px 0 20px}
#sm-detail .sm-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:7px 2px 16px;scrollbar-width:thin}
#sm-detail .sm-shot{flex:0 0 min(72vw,260px);scroll-snap-align:start;min-width:0;margin:0}
#sm-detail .sm-shot img {height:190px;width:100%;object-fit:cover;border-radius:10px;background:#ebdfcb}
#sm-detail .sm-shot figcaption{margin-top:6px;font-size:12px;line-height:1.5;color:#665244}
#sm-detail .sm-dish-photos{display:flex;gap:8px;overflow-x:auto;margin:12px 0 2px;scroll-snap-type:x proximity}
#sm-detail .sm-dish-photos img{width:min(60vw,230px);height:164px;object-fit:cover;border-radius:9px;scroll-snap-align:start;background:#ebdfcb}
#sm-detail .sm-related{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 16px}
#sm-detail .sm-related button{border:1px solid #b5a082;border-radius:12px;color:#49392d;background:#fff7e9;min-height:42px;padding:10px 14px;text-align:left;font-size:13px}
#sm-detail .sm-jump{border:1px solid #963E34;border-radius:30px;background:#fffaf2;color:#963E34;padding:12px 18px;font-size:13px;min-height:44px;cursor:pointer}
#sm-detail .sm-links{align-items:center}
#sm-detail button:focus-visible{outline:3px solid #963E34;outline-offset:2px}
@media(max-width:600px){#sm-detail .sm-shot{flex-basis:77vw}#sm-detail .sm-shot img{height:220px}#sm-detail .sm-dish-photos img{width:66vw;height:190px}}
