/*
Theme Name: 居酒屋まるしん（営業時間・文言修正版）
Theme URI: https://marushin2026.netlify.app/
Author: OpenAI
Description: Netlify版「居酒屋まるしん」のレイアウトを引き継ぐカスタムテーマ。
Version: 1.3.7
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: marushin
*/
:root{
  --ink:#121211; --charcoal:#1b1a18; --brown:#2a211b; --paper:#e9e1d5;
  --cream:#f4efe7; --muted:#aaa49b; --line:rgba(244,239,231,.14);
  --gold:#b59a6a; --red:#9b3e32; --max:1180px;
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);line-height:1.9;letter-spacing:.04em} img{display:block;width:100%;height:auto} a{color:inherit;text-decoration:none} button,input{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:760px}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;padding:18px 28px;transition:.3s;background:linear-gradient(rgba(10,10,9,.72),transparent);border-bottom:1px solid transparent}
.site-header.is-scrolled{background:rgba(15,15,14,.96);border-bottom-color:var(--line);backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:auto}.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:600;letter-spacing:.12em}.logo-mark{width:42px;height:42px;border:1px solid rgba(244,239,231,.7);border-radius:50%;display:grid;place-items:center;font-size:19px}.logo-mark-img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid rgba(181,154,106,.65);flex:0 0 42px}.logo small{display:block;font:10px var(--sans);letter-spacing:.18em;color:var(--muted)}
.global-nav{display:flex;align-items:center;gap:28px;font-size:13px}.global-nav a{color:#eee;opacity:.88}.global-nav a:hover{color:var(--gold)}.header-reserve{padding:9px 16px;border:1px solid rgba(181,154,106,.55);color:var(--paper);font-size:12px}
.menu-toggle{display:none;background:none;border:0;color:var(--paper);width:42px;height:42px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;width:24px}
.hero{min-height:780px;display:grid;place-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(9,9,8,.76),rgba(9,9,8,.24) 55%,rgba(9,9,8,.6)),
url("images/hero-interior-original.png") center/cover}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,var(--ink))}
.hero-content{position:relative;z-index:1;width:min(calc(100% - 40px),var(--max));padding-top:100px}.eyebrow{font-size:12px;letter-spacing:.24em;color:var(--gold);margin-bottom:20px}.hero h1{font:clamp(42px,6vw,78px)/1.3 var(--serif);font-weight:500;letter-spacing:.08em;margin:0 0 20px}.hero p{font-family:var(--serif);font-size:clamp(15px,1.8vw,20px);margin:0 0 32px}.hero-actions,.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid rgba(244,239,231,.35);font-size:13px;letter-spacing:.12em;transition:.25s}.btn:hover{transform:translateY(-1px);border-color:var(--gold)}.btn-primary{background:var(--gold);color:#161411;border-color:var(--gold)}.btn-line{background:#4e9b4e;border-color:#4e9b4e;color:#fff}.hero-meta{margin-top:54px;display:flex;gap:34px;flex-wrap:wrap;color:#d8d1c8;font-size:12px}.hero-meta strong{display:block;font-family:var(--serif);font-size:15px;font-weight:500;color:#fff}
.section{padding:105px 0}.section-dark{background:#161614}.section-brown{background:#201a16}.section-head{margin-bottom:46px}.section-kicker{color:var(--gold);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.section-title{font:clamp(28px,4vw,46px)/1.45 var(--serif);font-weight:500;margin:8px 0 12px;letter-spacing:.08em}.section-lead{color:#bbb5ad;max-width:680px;font-size:14px}
.split{display:grid;grid-template-columns:1fr 1.08fr;gap:70px;align-items:center}.split.reverse{grid-template-columns:1.08fr 1fr}.photo-frame{overflow:hidden;background:#24221f}.photo-frame img{aspect-ratio:4/3;object-fit:cover;transition:transform .8s}.photo-frame:hover img{transform:scale(1.025)}.copy p{color:#bbb5ad;font-size:14px}
.feature-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.food-card{background:#1c1b19;min-width:0;overflow:hidden}.food-card img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;overflow:hidden}.food-card div{padding:14px 12px 16px}.food-card h3{font:16px var(--serif);margin:0 0 4px}.food-card p{font-size:11px;color:#9f9991;margin:0}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{border-top:1px solid var(--line);padding:25px 0}.info-card h3{font:21px var(--serif);margin:0 0 8px}.info-card p{color:#aaa49b;font-size:13px;margin:0}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery figure{margin:0;overflow:hidden;background:#222}.gallery figure:nth-child(1){grid-column:span 7}.gallery figure:nth-child(2){grid-column:span 5}.gallery figure:nth-child(3){grid-column:span 5}.gallery figure:nth-child(4){grid-column:span 7}.gallery img{height:100%;object-fit:cover;min-height:240px;transition:.7s}.gallery figure:hover img{transform:scale(1.025)}
.price-box{border:1px solid var(--line);padding:32px;background:rgba(255,255,255,.025)}.price{font:30px var(--serif);color:var(--gold);margin:6px 0 18px}.price small{font:12px var(--sans);color:#aaa}
.cta{padding:90px 0;text-align:center;background:linear-gradient(rgba(18,18,17,.88),rgba(18,18,17,.96)),url("images/food_drinks.webp") center/cover}.cta h2{font:clamp(30px,4vw,48px) var(--serif);font-weight:500;margin:0 0 16px}.cta p{color:#b7b0a7}.cta-actions{justify-content:center}
.page-hero{padding:175px 0 85px;background:radial-gradient(circle at 75% 20%,#3a2b20 0,#1a1816 42%,#121211 75%)}.page-hero h1{font:clamp(36px,5vw,64px) var(--serif);font-weight:500;margin:10px 0}.page-hero p{max-width:650px;color:#b7b0a7}
.menu-tabs{position:sticky;top:74px;z-index:20;background:rgba(18,18,17,.95);border-block:1px solid var(--line);padding:10px 0;overflow:auto}.tabs{display:flex;gap:7px;white-space:nowrap}.tabs button{background:none;border:1px solid transparent;color:#aaa;padding:8px 14px;cursor:pointer;font-size:12px}.tabs button.is-active,.tabs button:hover{border-color:var(--gold);color:var(--paper)}
.menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.menu-card{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.menu-card img{width:120px;height:100px;object-fit:cover}.menu-card h3{font:18px var(--serif);margin:0 0 3px}.menu-card .desc{font-size:12px;color:#9f9991;margin:0}.menu-card .menu-price{font-size:14px;color:var(--gold);margin-top:6px}
.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.detail-list article{border-left:1px solid var(--gold);padding-left:20px}.detail-list h3{font:24px var(--serif);margin:0 0 8px}.detail-list p{font-size:13px;color:#aaa49b;margin:0}
.map-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:stretch}.store-info{border:1px solid var(--line);padding:30px}.store-info h2{font:30px var(--serif);margin:0 0 20px}.store-info dl{display:grid;grid-template-columns:90px 1fr;gap:10px;margin:0;font-size:13px}.store-info dt{color:var(--gold)}.store-info dd{margin:0;color:#c5beb5}iframe.map{width:100%;min-height:430px;border:0;filter:grayscale(.7) sepia(.15) contrast(.9)}
.footer{border-top:1px solid var(--line);padding:55px 0 90px;background:#0e0e0d}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;color:#aaa}.footer address{font-style:normal;color:#aaa;font-size:12px}.copyright{margin-top:45px;color:#666;font-size:10px}
.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.global-nav{gap:15px}.feature-grid{grid-template-columns:repeat(3,1fr)}.split,.split.reverse{grid-template-columns:1fr;gap:35px}.card-grid{grid-template-columns:1fr 1fr}.map-wrap{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 body{padding-bottom:66px}.container{width:min(calc(100% - 28px),var(--max))}
 .site-header{padding:13px 14px}.global-nav{position:fixed;inset:67px 0 auto 0;background:rgba(15,15,14,.98);padding:20px 20px 28px;display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.global-nav.is-open{display:flex}.global-nav a{padding:11px 0;border-bottom:1px solid var(--line)}.header-reserve{display:none}.menu-toggle{display:block}
 .hero{min-height:720px;background-position:58% center}.hero-content{padding-top:110px}.hero h1{font-size:42px}.hero-meta{margin-top:35px;gap:18px}.hero-actions .btn{flex:1}
 .section{padding:72px 0}.section-head{margin-bottom:30px}.section-title{font-size:31px}.section-lead{font-size:13px}.feature-grid{grid-template-columns:repeat(2,1fr);gap:9px}.food-card div{padding:10px}.food-card h3{font-size:14px}.card-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;gap:7px}.gallery figure:nth-child(n){grid-column:span 1}.gallery figure:first-child,.gallery figure:nth-child(4){grid-column:span 2}.gallery img{min-height:160px}
 .page-hero{padding:130px 0 55px}.menu-tabs{top:67px}.menu-list{grid-template-columns:1fr}.menu-card{grid-template-columns:100px 1fr;gap:14px}.menu-card img{width:100px;height:88px}.detail-list{grid-template-columns:1fr}.store-info{padding:22px}.store-info dl{grid-template-columns:78px 1fr}.map{min-height:340px!important}.footer{padding-bottom:30px}.footer-grid{grid-template-columns:1fr;gap:25px}
 .mobile-cta{position:fixed;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0;height:58px;background:#111;border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(0,0,0,.2)}.mobile-cta a{display:flex;align-items:center;justify-content:center;font-size:11px;border-right:1px solid var(--line)}.mobile-cta a:nth-child(2){background:var(--gold);color:#161411}.mobile-cta a:nth-child(3){background:#4e9b4e;color:#fff;border:0}
}
@media(min-width:701px){.global-nav.is-open{display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.photo-frame img,.gallery img{transition:none}}

/* TOP page-specific updates: full original logo and two reservation actions */
.page-home .logo-home{gap:0;display:flex;align-items:center}
.page-home .logo-original-img{display:block;width:76px;height:76px;object-fit:contain;object-position:center;background:#111;flex:0 0 76px}
.page-home .footer .logo-original-img{width:92px;height:92px;flex-basis:92px}
.page-home .mobile-cta{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.page-home .logo-original-img{width:64px;height:64px;flex-basis:64px}.page-home .footer .logo-original-img{width:84px;height:84px;flex-basis:84px}}

/* WordPress theme adjustments */
.site-header{z-index:50}
[hidden]{display:none!important}

/* Fix: keep the unified logo at a consistent size on every page */
.logo-original-img{display:block;width:82px;height:82px;max-width:82px;object-fit:contain;object-position:center;background:#111;flex:0 0 82px}
.footer .logo-original-img{width:96px;height:96px;max-width:96px;flex-basis:96px}
@media(max-width:760px){.logo-original-img{width:64px;height:64px;max-width:64px;flex-basis:64px}.footer .logo-original-img{width:84px;height:84px;max-width:84px;flex-basis:84px}}


/* Menu update: temporary image placeholders and readable menu layout */
.menu-placeholder{width:120px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#302a23,#181715);border:1px solid var(--line);color:var(--gold);font:12px var(--serif);letter-spacing:.08em}
.menu-group-title{font-size:28px;margin:34px 0 10px}
.drink-group-title{font:22px var(--serif);margin:26px 0 8px}
.menu-charge-note{font-size:12px;color:#b7b0a7;margin-top:12px}
.info-card h3 span{display:block;color:var(--gold);font-size:18px;margin-top:6px}
.info-card ul{padding-left:1.2em;color:#c9c1b8;font-size:13px;line-height:1.9}
@media(max-width:700px){.menu-placeholder{width:100px;height:88px}.menu-group-title{font-size:24px}.menu-charge-note{font-size:11px}}


/* v1.3.7: TOP business hours and course duration labels */
.hero-hours{margin-top:20px;max-width:430px;padding:14px 16px;background:rgba(15,14,12,.76);border:1px solid rgba(190,151,89,.38);color:#eee8df}
.hero-hours h2{font:16px var(--serif);margin:0 0 8px;color:var(--gold);letter-spacing:.12em}
.hero-hours p{display:flex;justify-content:space-between;gap:12px;margin:5px 0;font-size:12px;line-height:1.65}
.hero-hours p strong{font-weight:500}
.hero-hours p span{white-space:nowrap;color:#fff}
.hero-hours .hero-hours-note{display:block;font-size:10px;color:#c9c1b8;margin-top:8px}
.course-duration-label{display:inline-block;font-size:12px;font-weight:400;color:#c9b28a;margin-left:5px}
@media(max-width:700px){.hero-hours{max-width:100%;padding:12px}.hero-hours p{font-size:11px}.hero-hours .hero-hours-note{font-size:10px}.course-duration-label{font-size:11px}}

/* 営業時間の改行を表示 */
[data-config="hours"] {
  white-space: pre-line !important;
  display: block;
}
