/*
Theme Name: MARRONNIER Winered Classic
Theme URI: https://bar-marronnier.com/
Author: Yuzuki
Description: Cafe & Bar MARRONNIER 「Deep Wine Red Classic Bar」方向性のフルオーダーテーマ。ワインレッド×アンティークゴールドを基調にした老舗バーサイト。
Version: 1.0.0
Requires PHP: 7.4
Text Domain: marronnier
*/

/* ===========================================================
   本ファイルはメインスタイルシートとして wp_enqueue_style() から
   そのまま読み込まれます（functions.php参照）。
   Xserver環境でのファイルマネージャ不安定対策として、単一ファイルに
   すべてのCSSをまとめ、テーマエディタから直接追記できる構成にしています。
   =========================================================== */

:root{
	--bg:#120E0D;
	--bg-2:#1D1614;
	--bg-3:#241A16;
	--wine:#5C1220;
	--wine-light:#8C2C3D;
	--wine-deep:#3B0E17;
	--charcoal:#2A2422;
	--brown:#3B2A20;
	--gold:#AD8A45;
	--gold-light:#C9A968;
	--ivory:#F1E8DA;
	--ink-dim:#C7B9A9;
	--hairline:rgba(241,232,218,0.12);
	--radius:6px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ivory);font-family:"Noto Sans JP",sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased;}
body.intro-lock{overflow:hidden;}
h1,h2,h3,.jp-head{font-family:"Zen Old Mincho",serif;font-weight:600;letter-spacing:.05em;margin:0;color:var(--ivory);}
.en{font-family:"Cormorant Garamond",serif;font-style:italic;letter-spacing:.05em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px;}
@media(min-width:900px){.wrap{padding:0 48px;}}
section{padding:74px 0;position:relative;}
@media(min-width:960px){section{padding:104px 0;}}
.rule{height:1px;background:var(--hairline);border:0;margin:0;}

.eyebrow{font-family:"Cormorant Garamond",serif;font-style:italic;letter-spacing:.24em;text-transform:uppercase;font-size:12.5px;color:var(--gold-light);display:block;margin-bottom:10px;}
.sec-head{margin-bottom:40px;}
.sec-head h2{font-size:clamp(22px,3.6vw,30px);line-height:1.5;}
.sec-head p{color:var(--ink-dim);margin-top:12px;max-width:38em;font-size:14.5px;}

.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;letter-spacing:.03em;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;}
.btn-wine{background:linear-gradient(135deg,var(--wine-light),var(--wine));color:var(--ivory);}
.btn-wine:hover{box-shadow:0 0 22px rgba(140,44,61,.5);transform:translateY(-2px);}
.btn-gold{border:1px solid var(--gold);color:var(--gold-light);background:transparent;}
.btn-gold:hover{background:rgba(173,138,69,.1);}
.btn-outline{border-color:rgba(241,232,218,.3);color:var(--ivory);background:transparent;}
.btn-outline:hover{border-color:var(--ivory);background:rgba(241,232,218,.05);}
.btn-sm{padding:9px 18px;font-size:12.5px;}

.logo-badge{background:#f7f1e6;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(173,138,69,.55),0 0 18px rgba(173,138,69,.22);overflow:hidden;}
.logo-badge img{width:78%;height:78%;object-fit:contain;}

/* ============ BRAND INTRO ============ */
.brand-intro{
	position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;
	background:
		radial-gradient(ellipse 70% 55% at 50% 40%, rgba(140,44,61,.18), transparent 65%),
		linear-gradient(180deg,var(--bg) 0%, var(--wine-deep) 55%, var(--bg) 100%);
	transition:opacity .6s ease;
}
.brand-intro.intro-hide{opacity:0;pointer-events:none;}
.intro-logo{width:22vw;max-width:220px;min-width:120px;opacity:0;transform:translateY(10px);}
.intro-logo img{width:100%;display:block;filter:drop-shadow(0 0 14px rgba(173,138,69,.18));}
.brand-intro.intro-full .intro-logo{animation:introLogoIn 1.3s ease-out .4s forwards;}
.brand-intro.intro-short .intro-logo{animation:introLogoIn .5s ease-out .05s forwards;}
@keyframes introLogoIn{to{opacity:1;transform:translateY(0);}}
.intro-line{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent);margin-top:22px;opacity:0;}
.brand-intro.intro-full .intro-line{animation:introLineIn .7s ease-out 1.8s forwards;}
@keyframes introLineIn{0%{width:0;opacity:0;}30%{opacity:1;}100%{width:120px;opacity:.9;}}
.intro-word{margin-top:26px;font-size:13px;letter-spacing:.32em;color:var(--ink-dim);opacity:0;text-transform:uppercase;}
.brand-intro.intro-full .intro-word{animation:introWordIn .9s ease-out 2.1s forwards;}
@keyframes introWordIn{to{opacity:1;}}
.intro-skip{position:absolute;bottom:26px;right:26px;background:none;border:0;color:var(--ink-dim);font-size:11.5px;letter-spacing:.12em;cursor:pointer;opacity:.6;padding:8px;}
.intro-skip:hover{opacity:1;color:var(--gold-light);}
@media(max-width:640px){.intro-logo{width:48vw;}}
@media (prefers-reduced-motion: reduce){
	.intro-logo,.intro-line,.intro-word{animation:none !important;opacity:1 !important;transform:none !important;width:auto !important;}
}

/* ============ header ============ */
header{position:fixed;top:0;left:0;right:0;z-index:200;padding:13px 0;background:rgba(18,14,13,0);transition:background .3s ease,box-shadow .3s ease,padding .3s ease;}
header.scrolled{background:rgba(18,14,13,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--hairline);padding:9px 0;}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand .logo-badge{width:42px;height:42px;flex:none;}
.brand-type{line-height:1.1;}
.brand-type .en{font-size:17px;color:var(--ivory);display:block;font-style:normal;}
.brand-type small{font-size:9.5px;letter-spacing:.18em;color:var(--gold-light);text-transform:uppercase;font-family:"Cormorant Garamond",serif;}
nav.main-nav{display:none;gap:24px;font-size:13px;font-weight:500;}
nav.main-nav a:hover{color:var(--gold-light);}
@media(min-width:1040px){nav.main-nav{display:flex;}}
.header-right{display:flex;align-items:center;gap:14px;}
.hours-badge{display:none;align-items:center;gap:8px;font-size:11px;color:var(--ink-dim);border:1px solid var(--hairline);padding:6px 12px;border-radius:999px;white-space:nowrap;}
.hours-badge b{color:var(--ivory);}
.hours-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-light);}
@media(min-width:760px){.hours-badge{display:inline-flex;}}
.hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.hamburger span{width:22px;height:1px;background:var(--ivory);}
@media(min-width:1040px){.hamburger{display:none;}}
.mobile-nav{position:fixed;inset:0;background:rgba(18,14,13,.98);backdrop-filter:blur(6px);z-index:210;display:none;flex-direction:column;align-items:center;justify-content:center;gap:24px;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:"Zen Old Mincho",serif;font-size:19px;}
.mobile-nav .close{position:absolute;top:22px;right:24px;background:none;border:0;color:var(--ivory);font-size:26px;}

/* ============ main reorder mechanism（PC/SPでセクション順を切替） ============ */
main{display:flex;flex-direction:column;}
#hero{order:1;}
#tonight{order:2;display:none;}
#intro{order:3;}
#about{order:4;}
#night-uses{order:5;}
#menu{order:6;}
#gallery{order:7;}
#voice{order:8;}
#news{order:9;}
#access{order:10;}
@media(max-width:899px){
	#tonight{order:2;display:none;}
	#night-uses{order:3;}
	#menu{order:4;}
	#access{order:5;}
	#gallery{order:6;}
	#news{order:7;}
	#voice{order:8;}
	#intro{order:9;}
	#about{order:10;}
}

/* ============ hero ============ */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:130px;padding-bottom:60px;position:relative;overflow:hidden;
	background:radial-gradient(ellipse 65% 50% at 22% 8%, rgba(140,44,61,.22), transparent 60%),
	           radial-gradient(ellipse 70% 55% at 85% 20%, rgba(173,138,69,.08), transparent 60%),
	           linear-gradient(180deg,var(--bg) 0%, var(--bg-2) 55%, var(--bg) 100%);}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,14,13,.3),rgba(18,14,13,.9) 80%),repeating-linear-gradient(120deg,rgba(173,138,69,.04) 0 2px,transparent 2px 30px);}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.hero .inner{position:relative;z-index:1;}
.hero h1{font-size:clamp(24px,5vw,48px);line-height:1.5;max-width:none;white-space:normal;}
.hero .lead-line{font-size:14px;color:var(--gold-light);margin-bottom:14px;display:block;}
.hero .sub{margin-top:20px;color:var(--ink-dim);font-size:15px;max-width:32em;}
.hero .hours-badge{margin-top:22px;display:inline-flex;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
@media(max-width:599px){
	.hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
	.hero-cta a{text-align:center;justify-content:center;}
}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:1px;height:44px;background:linear-gradient(180deg,var(--gold-light),transparent);z-index:1;}

/* ============ tonight strip（スマホ優先） ============ */
.tonight-strip{background:var(--bg-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:26px 0;}
.tonight-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;}
.tonight-status{display:flex;align-items:center;gap:10px;font-size:14px;}
.tonight-status .dot{width:8px;height:8px;border-radius:50%;background:#8BC48A;box-shadow:0 0 6px #8bc48a;}
.tonight-cta{display:flex;gap:10px;flex-wrap:wrap;}

/* ============ photo placeholder ============ */
.photo{position:relative;border-radius:var(--radius);border:1px solid rgba(173,138,69,.3);background:radial-gradient(ellipse at 25% 15%, rgba(140,44,61,.16), transparent 55%),var(--bg-3);aspect-ratio:4/5;display:flex;align-items:flex-end;padding:14px;overflow:hidden;}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.photo span{position:relative;z-index:1;font-size:10px;letter-spacing:.05em;color:var(--ink-dim);border:1px solid var(--hairline);padding:5px 9px;background:rgba(18,14,13,.55);}
.photo.wide{aspect-ratio:16/10;}
.about-slideshow img{opacity:0;transition:opacity 1.2s ease;}
.about-slideshow img.is-active{opacity:1;}
.gallery-slideshow img{opacity:0;transition:opacity 1.4s ease;}
.gallery-slideshow img.is-active{opacity:1;}

/* ============ intro strip（一行哲学） ============ */
.intro-strip{text-align:center;padding:56px 0;}
.intro-strip p{font-family:"Zen Old Mincho",serif;font-size:clamp(17px,2.6vw,23px);color:var(--ivory);max-width:none;margin:0 auto;line-height:2;}

/* ============ about ============ */
.about-grid{display:grid;gap:44px;}
@media(min-width:900px){.about-grid{grid-template-columns:1fr 1fr;align-items:center;}}
.about-grid p{color:var(--ink-dim);font-size:14.5px;max-width:36em;}
.about-stats{display:flex;gap:28px;margin-top:24px;flex-wrap:wrap;}
.about-stats b{display:block;font-family:"Cormorant Garamond",serif;font-size:24px;color:var(--gold-light);}
.about-stats span{font-size:11.5px;color:var(--ink-dim);}

/* ============ night uses ============ */
.nu-grid{display:grid;gap:16px;}
@media(min-width:700px){.nu-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:699px){.nu-grid{grid-template-columns:1fr 1fr;}}
.nu-card{background:var(--bg-2);border:1px solid var(--hairline);border-radius:var(--radius);padding:24px 20px;transition:border-color .2s ease,transform .2s ease;display:block;}
.nu-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.nu-card .ico{font-size:20px;color:var(--gold-light);}
.nu-card h3{font-size:15px;margin-top:14px;}
.nu-card p{color:var(--ink-dim);font-size:12.5px;margin-top:8px;}

/* ============ menu & price ============ */
.menu-table-wrap{display:none;}
@media(min-width:900px){.menu-table-wrap{display:block;} .menu-accordion-wrap{display:none;}}
.price-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px;}
.price-table th,.price-table td{text-align:left;padding:15px 14px;border-bottom:1px solid var(--hairline);vertical-align:top;}
.price-table th{font-family:"Zen Old Mincho",serif;color:var(--gold-light);font-size:12.5px;width:20%;}
.price-table td span.note{display:block;color:var(--ink-dim);font-size:12px;margin-top:4px;}
.badge-limited{display:inline-block;font-size:10px;border:1px solid var(--gold);color:var(--gold-light);padding:2px 8px;border-radius:999px;margin-left:8px;letter-spacing:.05em;}
.menu-cat-block{margin-top:52px;}
.menu-cat-block:first-of-type{margin-top:36px;}
.menu-cat-title{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);padding-bottom:14px;border-bottom:1px solid var(--hairline);}
.menu-detail-card{padding:30px 0;border-bottom:1px solid var(--hairline);}
.menu-detail-card:last-child{border-bottom:0;}
.mdc-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;}
.mdc-head h4{font-family:"Zen Old Mincho",serif;font-size:18px;font-weight:600;color:var(--ivory);}
.mdc-price{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--gold-light);white-space:nowrap;}
.mdc-body{color:var(--ink-dim);font-size:14px;line-height:2.1;margin-top:12px;max-width:42em;}
.mdc-body p{margin:0 0 10px;}
.mdc-body p:last-child{margin-bottom:0;}

details.acc{border:1px solid var(--hairline);border-radius:var(--radius);margin-top:12px;background:var(--bg-2);}
details.acc summary{list-style:none;cursor:pointer;padding:16px 18px;font-family:"Zen Old Mincho",serif;font-size:14.5px;display:flex;justify-content:space-between;align-items:center;}
details.acc summary::-webkit-details-marker{display:none;}
details.acc summary::after{content:"+";color:var(--gold-light);font-size:17px;}
details.acc[open] summary::after{content:"–";}
details.acc .acc-body{padding:0 18px 18px;color:var(--ink-dim);font-size:13.5px;}
details.acc .acc-body .price-num{font-family:"Cormorant Garamond",serif;color:var(--gold-light);font-size:20px;}

/* ============ gallery ============ */
.scroller{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;}
.scroller .photo{flex:0 0 68%;scroll-snap-align:start;}
@media(min-width:720px){.scroller .photo{flex:0 0 26%;}}
@media(min-width:1040px){.scroller .photo{flex:0 0 19%;}}
.scroller-wrap{position:relative;}
.scroller-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(18,14,13,.75);border:1px solid var(--hairline);color:var(--ivory);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:2;font-size:16px;}
@media(min-width:720px){.scroller-nav{display:flex;}}
.scroller-nav.prev{left:-8px;}
.scroller-nav.next{right:-8px;}
.scroller-nav:hover{border-color:var(--gold);}
/* ============ voice / instagram ============ */
.voice-grid{display:grid;gap:18px;}
@media(min-width:820px){.voice-grid{grid-template-columns:repeat(3,1fr);}}
.voice-card{background:var(--bg-2);border:1px solid var(--hairline);border-radius:var(--radius);padding:24px;}
.voice-card p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:15.5px;color:var(--ivory);line-height:1.8;}
.voice-card span{display:block;margin-top:12px;font-size:11.5px;color:var(--gold-light);}

/* ============ news & event ============ */
.news-grid{display:grid;gap:26px;}
@media(min-width:900px){.news-grid{grid-template-columns:1.2fr .8fr;}}
.news-item{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--hairline);align-items:baseline;}
.news-item time{font-family:"Cormorant Garamond",serif;color:var(--gold-light);font-size:13.5px;flex:none;width:92px;}
.news-item p{margin:0;font-size:13px;color:var(--ink-dim);}
.event-card{background:var(--bg-2);border:1px solid var(--hairline);border-radius:var(--radius);padding:4px 22px;margin-bottom:10px;transition:border-color .2s ease,transform .2s ease;}
.event-card:has(a):hover{border-color:var(--gold);transform:translateY(-2px);}

/* ============ access ============ */
.access-grid{display:grid;gap:20px;}
@media(min-width:900px){.access-grid{grid-template-columns:1fr 1fr 1fr;}}
.map-placeholder,.map-embed{aspect-ratio:4/3;border-radius:var(--radius);order:1;overflow:hidden;}
.map-placeholder{border:1px dashed rgba(173,138,69,.4);display:flex;align-items:center;justify-content:center;text-align:center;background:var(--bg-2);color:var(--ink-dim);font-size:12.5px;padding:18px;}
.map-embed iframe{width:100%;height:100%;border:0;}
.info-list{display:grid;gap:12px;font-size:13.5px;order:3;}
.info-list div{display:grid;grid-template-columns:78px 1fr;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--hairline);}
.info-list b{color:var(--gold-light);font-weight:500;font-size:12px;letter-spacing:.04em;font-family:"Zen Old Mincho",serif;}
.todo-flag{font-size:11.5px;color:var(--wine-light);margin-top:4px;}
.access-photo{order:2;}
@media(max-width:899px){.map-placeholder,.map-embed{order:1;}.info-list{order:2;}.access-photo{display:none;}}

/* ============ footer ============ */
footer{background:var(--bg);padding:52px 0 120px;border-top:1px solid var(--hairline);}
.footer-top{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;justify-content:space-between;}
.footer-brand{display:flex;align-items:center;gap:14px;}
.footer-brand .logo-badge{width:54px;height:54px;flex:none;}
.footer-brand .en{font-size:18px;}
.footer-brand small{display:block;color:var(--ink-dim);font-size:11px;margin-top:4px;}
.footer-links{display:flex;flex-wrap:wrap;gap:10px;}
.footer-links a{font-size:11.5px;letter-spacing:.03em;border:1px solid var(--hairline);padding:8px 14px;border-radius:999px;}
.footer-links a:hover{border-color:var(--gold);color:var(--gold-light);}
.footer-sister{margin-top:18px;font-size:11.5px;color:var(--ink-dim);}
.footer-sister a{color:var(--gold-light);}
.copyright{margin-top:38px;font-size:10.5px;color:rgba(241,232,218,.35);}
.closing-note{text-align:center;padding:50px 0 10px;font-family:"Zen Old Mincho",serif;font-size:15px;color:var(--gold-light);letter-spacing:.08em;}

/* ============ mobile fixed cta（4ボタン） ============ */
.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:150;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(18,14,13,.97);backdrop-filter:blur(12px);border-top:1px solid var(--hairline);box-shadow:0 -8px 20px rgba(0,0,0,.35);}
@media(min-width:1040px){.mobile-bar{display:none;}}
.mobile-bar a{text-align:center;padding:13px 4px 11px;font-size:10.5px;letter-spacing:.02em;color:var(--ink-dim);transition:background .15s ease;}
.mobile-bar a:active{background:rgba(241,232,218,.07);}
.mobile-bar a b{display:block;font-size:17px;margin-bottom:4px;line-height:1;}
.mobile-bar a.call{background:linear-gradient(135deg,var(--wine-light),var(--wine));color:var(--ivory);font-weight:700;}
@media(max-width:1039px){.header-call-btn{display:none;}}
/* ============ Googleフォント読み込み（functions.php側でも別途enqueue） ============ */
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;600&family=Noto+Sans+JP:wght@400;500;700&family=Cormorant+Garamond:ital,wght@0,500;1,500&display=swap');
.pdf-note{margin-top:48px;padding:28px 26px;border:1px solid var(--hairline);border-radius:10px;background:var(--bg-2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.pdf-note p{margin:0;color:var(--ink-dim);font-size:13.5px;max-width:34em;}
.contact-form-wrap{margin-top:10px;}
.wpforms-container{margin-top:0 !important;}
.wpforms-container .wpforms-field-label{color:var(--ivory) !important;font-family:"Noto Sans JP",sans-serif;font-size:13.5px !important;}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=number],
.wpforms-container select,
.wpforms-container textarea{
	background:var(--bg-2) !important;
	border:1px solid var(--hairline) !important;
	color:var(--ivory) !important;
	border-radius:var(--radius) !important;
}
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder{color:var(--ink-dim) !important;opacity:.7;}
.wpforms-container .wpforms-field-description,
.wpforms-container .wpforms-field-sublabel{color:var(--ink-dim) !important;}
.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit{
	background:linear-gradient(135deg,var(--wine-light),var(--wine)) !important;
	border:0 !important;
	color:var(--ivory) !important;
	border-radius:var(--radius) !important;
	font-family:"Noto Sans JP",sans-serif !important;
	font-weight:700 !important;
	padding:12px 28px !important;
}
