/* らぁ麺すみ田 仙台東口店 — brush-up v2 (2026-10-28)
   Loaded last. Refines the approved A-plan; does not change photos, dish order or copy. */

/* ---------- Type: one Mincho on every phone (Android has no system Mincho) ---------- */
@font-face{font-family:"Sumida Serif JA";src:url(fonts/sumida-serif-ja.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"Sumida Serif ZH";src:url(fonts/sumida-serif-zh.woff2) format("woff2");font-weight:500 700;font-display:swap}
.japanese{--display:"Sumida Serif JA","Yu Mincho","Hiragino Mincho ProN",serif}
.chinese{--display:"Sumida Serif ZH","Songti SC","STSong","Noto Serif CJK SC",serif}
.japanese :is(h1,h2,.dish-title,.menu-group h3),.chinese :is(h1,h2,.dish-title,.menu-group h3){font-feature-settings:"palt" 1}
.japanese .hero h1{letter-spacing:.07em}
.japanese h2{letter-spacing:.075em}
.japanese .dish-title{letter-spacing:.06em}

:root{--gold:#b8946a;--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .25 0 0 0 0 .16 .14 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Header ---------- */
.site-header{transition:box-shadow .3s,background-color .3s}
.site-header.is-scrolled{box-shadow:0 8px 28px #19171012;background:rgba(244,242,237,.92);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px)}
.desktop-nav>a.is-current:after{width:100%;background:var(--bronze)}
.header-action{transition:background .2s}
.header-action:hover{background:#3c4036}

/* ---------- Section kickers share the hero eyebrow's rule line ---------- */
.section-kicker{display:flex;align-items:center;gap:12px}
.section-kicker:before{content:"";width:24px;height:1px;background:currentColor;opacity:.75;flex:none}

/* ---------- Hero ---------- */
.hero{background-color:var(--warm);background-image:var(--paper-grain)}
.hero-food figure{overflow:hidden;box-shadow:0 30px 60px -38px #3a2c1a66}
.open-status{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:26px;padding:9px 16px 9px 13px;border:1px solid #c9b392;border-radius:999px;background:#fffaf2d9;font:500 13px/1.5 var(--body);color:#4d4335;box-shadow:0 2px 0 #94745114}
.open-status[hidden]{display:none}
.open-dot{position:relative;width:9px;height:9px;border-radius:50%;background:#3f8a55;flex:none}
.open-label{font-weight:700;color:var(--ink);letter-spacing:.04em}
.open-detail{color:#6b5c47}
.open-label:after{content:"";display:inline-block;width:1px;height:.9em;background:#c9b392;margin-left:10px;vertical-align:-.1em}
.open-status[data-state="soon"] .open-dot{background:#c27a1e}
.open-status[data-state="closed"] .open-dot{background:#9a8f80}
.hero-actions{flex-wrap:wrap}
.hero-delivery{border-bottom-color:#9c886e}
@media(prefers-reduced-motion:no-preference){
 .open-status[data-state="open"] .open-dot:after,.open-status[data-state="soon"] .open-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;color:#3f8a5566;animation:open-pulse 2.4s ease-out infinite}
 .open-status[data-state="soon"] .open-dot:after{color:#c27a1e66}
 @keyframes open-pulse{0%{transform:scale(.55);opacity:1}100%{transform:scale(1.7);opacity:0}}
 .hero-food figure>img{animation:hero-settle 2.2s cubic-bezier(.16,1,.3,1) both}
 @keyframes hero-settle{from{transform:scale(1.07)}to{transform:none}}
}

/* ---------- Dish cards ---------- */
.menu-item figure{overflow:hidden;position:relative}
.menu-item figure>img{transition:transform 1s cubic-bezier(.2,.7,.3,1)}
@media(hover:hover){.menu-item:hover figure>img{transform:scale(1.035)}}
.menu-item.is-spotlight figure{animation:spotlight 2.2s ease-out}
@keyframes spotlight{0%,35%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 3px transparent}}
.menu-item[id]:target .dish-title{text-decoration:none}

/* "Choose again" (quiet) and "Next" (clear) become two tappable pills */
.product-continuation{gap:10px;border-top:0;padding-top:4px;margin-top:20px}
.product-continuation a{min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid #a58c6a88;gap:10px;justify-content:center;text-align:center;transition:background .2s,color .2s,border-color .2s}
.product-continuation a:first-child{background:transparent}
.product-continuation a:last-child{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.product-continuation a:hover{border-color:#856440}
.product-continuation a:first-child:hover{background:#efe6d6}
.product-continuation a:last-child:hover{background:#3c4036}
.feature-dark .product-continuation a,.tsukemen-section .product-continuation a{border-color:#d5b58a66}
.feature-dark .product-continuation a:last-child,.tsukemen-section .product-continuation a:last-child{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.feature-dark .product-continuation a:first-child:hover,.tsukemen-section .product-continuation a:first-child:hover{background:#ffffff12}
.feature-dark .product-continuation a:last-child:hover,.tsukemen-section .product-continuation a:last-child:hover{background:#e9e2da}

/* ---------- Menu directory: scan by taste ---------- */
.menu-directory{background-image:linear-gradient(#f4f2ed,#f4f2ed)}
.menu-group{background:#fbf9f5;border:1px solid #e1d8ca;border-top:2px solid var(--bronze);padding:20px 24px 10px}
.menu-group-kicker{display:flex;align-items:center;gap:10px;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.22em;color:#7a5d3c;margin:0 0 8px}
.menu-group-kicker>span:first-child{color:#7a5d3c;letter-spacing:.08em;opacity:1}
.menu-group-count{margin-left:auto;font:600 11px/1.4 var(--body);letter-spacing:.04em;color:#6e5536;background:#f1e8da;border-radius:999px;padding:3px 10px}
.menu-group a{padding:12px 0;min-height:60px;transition:padding .25s,color .2s}
.menu-group li:last-child a{border-bottom:0}
.menu-group a>span:first-child{display:flex;flex-direction:column;gap:3px}
.menu-name{font-weight:600;font-size:15px;line-height:1.5}
.menu-tag{font:500 12px/1.5 var(--body);color:#7a5d3c;letter-spacing:.02em}
.menu-tag.is-spicy{color:#a93c27}
.menu-tag.is-spicy:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#c4472f;margin-right:6px;vertical-align:.12em}
.menu-choice-arrow{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d9ccb8;border-radius:50%;font-size:14px;transition:transform .25s,background .2s,color .2s,border-color .2s}
@media(hover:hover){.menu-group a:hover{padding-left:6px}.menu-group a:hover .menu-choice-arrow{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:translateX(2px)}}

/* ---------- Dark sections: warm light behind the bowls ---------- */
.feature-dark{background:radial-gradient(ellipse 70% 75% at 72% 55%,#2c2d25 0%,#191b18 64%)}
.tsukemen-section{background:radial-gradient(ellipse 90% 60% at 50% 70%,#30342b 0%,#242821 60%)}
.rice-section{background-color:#e5e0d6;background-image:var(--paper-grain)}

/* ---------- Promise ---------- */
.promise-section{background-color:var(--paper);background-image:var(--paper-grain)}
.promise-copy p:last-child{font-family:var(--display);font-size:18px;font-weight:600;line-height:1.9;margin-top:20px;letter-spacing:.04em}
.korean .promise-copy p:last-child{font-family:var(--body);font-weight:700;letter-spacing:-.01em}
.english .promise-copy p:last-child{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:0}

/* ---------- Store ---------- */
.store-picture>img{box-shadow:0 26px 50px -34px #2d22155c}
.store-picture>p{display:flex;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}
.store-picture-hint{color:#7a5d3c;font-weight:600}
.store-picture-hint:before{content:"↑ ";font-family:Arial,sans-serif}
.hours-details .hours-row{position:relative;padding:8px 12px;margin-left:-12px;border-left:2px solid transparent;transition:background .3s}
.hours-details .hours-row+.hours-row{margin-top:6px}
.hours-details .hours-row.is-today{background:#ece2d1;border-left-color:var(--bronze)}
.hours-details .hours-row.is-today:before{content:attr(data-today-label);position:absolute;right:10px;top:9px;font:700 10px/1 var(--body);letter-spacing:.06em;color:#fffaf2;background:#7a5d3c;padding:5px 8px;border-radius:999px}
.open-status--store{margin-top:14px;font-size:12px;padding:7px 14px 7px 11px}
.store-data .store-pay dd{display:flex;align-items:center;gap:10px;font-weight:700}
.store-data .store-pay dd:before{content:"¥";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--bronze);color:var(--bronze);font:700 13px/1 Arial,sans-serif;flex:none}
.map-action span{transition:transform .25s}
.map-action:hover span{transform:translate(2px,-2px)}

/* ---------- Delivery ---------- */
.delivery-section{background:radial-gradient(ellipse 60% 80% at 85% 40%,#262a22 0%,#171b16 62%)}
.delivery-links>a>span:last-child{border:1px solid #d6c09f66;border-radius:999px;padding:9px 18px;transition:background .2s,color .2s,border-color .2s}
.delivery-links>a:hover>span:last-child{background:#d6c09f;border-color:#d6c09f;color:#171b16}

/* ---------- Social: Instagram + Threads side by side ---------- */
.social-section{background:#bfa584}
.social-grid{display:grid;grid-template-columns:1fr 1fr}
.social-grid>.social-link{padding-block:40px;gap:28px;min-width:0}
.social-grid>.social-link h2{font-size:clamp(32px,3.4vw,50px)}
.social-link--threads{border-left:1px solid #19171033;padding-left:clamp(28px,4vw,56px)}
.social-grid .social-arrow{font-size:34px}
.social-grid>.social-link:first-child{padding-right:clamp(28px,4vw,56px)}

/* ---------- Footer: privacy note joins the footer ---------- */
.sns-privacy{max-width:none!important;margin:0!important;background:#111510;color:#958b7a!important;padding:0 max(var(--gutter),calc((100% - 1280px)/2)) 30px!important}
.sns-privacy>p{border-top:1px solid #ffffff1a;padding-top:18px;max-width:900px}

/* ---------- Buttons ---------- */
.button-ink span{transition:transform .25s}
.button-ink:hover span{transform:translateY(3px)}

/* ---------- Tablet ---------- */
@media(max-width:1100px) and (min-width:800px){
 .hero-actions .hero-delivery{max-width:230px;margin-top:12px}
 .menu-group{padding-inline:18px}
}

/* ---------- Phone ---------- */
@media(max-width:799px){
 .open-status{margin-top:18px;font-size:12.5px;padding:8px 14px 8px 12px}
 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:22px 22px 26px}
 .hero-actions .button{grid-column:1/-1;min-height:56px;font-size:13px}
 .hero-actions .hero-access{justify-content:center;gap:10px;min-height:50px;border:1px solid #a8957a;background:#ffffff59;font-size:12.5px;white-space:normal;text-align:center;padding:6px 10px}
 .english .hero-actions .hero-access,.korean .hero-actions .hero-access{font-size:12px}
 .menu-group{padding:18px 18px 6px}
 .menu-group a{min-height:58px}
 .product-continuation{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
 .product-continuation a{padding:8px 10px;font-size:12px!important;line-height:1.4}
 .product-continuation a:last-child{margin:0}
 .rail .dish-title,.korean .rail .dish-title{min-height:0}
 .english .rail .dish-title{min-height:2.7em}
 .rail .dish-description{min-height:4em}
 .feature-dark{background:radial-gradient(ellipse 120% 50% at 50% 70%,#2c2d25 0%,#191b18 70%)}
 .promise-copy p:last-child{font-size:16px}
 .hours-details .hours-row{margin-left:-10px;padding:8px 10px}
 .hours-details .hours-row.is-today:before{position:static;display:inline-block;margin-bottom:4px}
 .delivery-links>a>span:last-child{padding:8px 14px}
 .social-grid{grid-template-columns:1fr}
 .social-grid>.social-link{padding-block:28px;gap:20px}
 .social-grid>.social-link:first-child{padding-right:0}
 .social-link--threads{border-left:0;border-top:1px solid #19171033;padding-left:0}
 .social-grid>.social-link h2{font-size:34px}
 .social-grid .social-arrow{font-size:28px}
}
@media(max-width:359px){
 .hero-actions{padding-inline:18px}
 .product-continuation a{font-size:11px!important;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){.menu-item.is-spotlight figure{animation:none;box-shadow:0 0 0 3px var(--gold)}}
@media print{.open-status{display:none!important}}

/* ---------- Fine-tuning after device review ---------- */
/* Hero: the menu button stays the single strong action */
.hero-food .product-continuation a:last-child{background:transparent;color:var(--ink);border-color:#a58c6a88}
.hero-food .product-continuation a:last-child:hover{background:#efe6d6}
/* Rails (tsukemen 4 / rice 3): both pills always on one row */
.rail .product-continuation{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
.rail .product-continuation a{margin:0;padding:8px;gap:6px;font-size:11.5px!important;letter-spacing:-.01em;line-height:1.4}

/* Confirmed visit details, keeping the existing store layout. */
.store-supervision{display:block;margin-top:6px;font-size:12px;line-height:1.8;letter-spacing:.04em;color:#665039}.hours-notice{margin:18px 0 0;padding:12px 15px;border-left:2px solid #9c815b;background:#f3eee5;color:#59472f;font:500 13px/1.9 var(--body)}.open-status[data-state="unknown"] .open-dot{background:#9a8f80}
