/* 酒蔵見学.com — ブランド: 藍 × 生成り × 琥珀 / 明朝(craft) × 角ゴ(signage) */
:root{
  --bg:#E7E8E2;
  --surface:#F2F2EC;
  --surface-2:#EDEDE5;
  --ink:#1C2530;
  --ink-soft:#4A5560;
  --ink-mute:#77808A;
  --indigo:#1D3D5C;
  --indigo-soft:#2E5578;
  --amber:#B4741A;
  --line:#D3D4CC;
  --good:#2F7D5B;      /* 行ける・営業中 */
  --warn:#9A6B12;      /* 要予約・要確認 */
  --crit:#A6412E;      /* 不可 */
  --stamp:#A6412E;
  --radius:14px;
  --shadow:0 1px 2px rgba(28,37,48,.06), 0 8px 24px rgba(28,37,48,.06);
}
:root[data-theme="dark"]{
  --bg:#111820;
  --surface:#17202A;
  --surface-2:#1C2833;
  --ink:#E9E7DD;
  --ink-soft:#B7BDC4;
  --ink-mute:#8A929B;
  --indigo:#7BA6CC;
  --indigo-soft:#9BBCD9;
  --amber:#E1A64A;
  --line:#2A3742;
  --good:#5FB78C;
  --warn:#D6A44E;
  --crit:#E08066;
  --stamp:#E08066;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.35);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#111820;--surface:#17202A;--surface-2:#1C2833;--ink:#E9E7DD;--ink-soft:#B7BDC4;--ink-mute:#8A929B;
    --indigo:#7BA6CC;--indigo-soft:#9BBCD9;--amber:#E1A64A;--line:#2A3742;
    --good:#5FB78C;--warn:#D6A44E;--crit:#E08066;--stamp:#E08066;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.35);
  }
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Zen Kaku Gothic New", system-ui, sans-serif;
  line-height:1.7;-webkit-font-smoothing:antialiased;
}
.mincho,h1,h2,.hero-title,.brand-name{font-family:"Shippori Mincho", serif;}
.wrap{width:100%;max-width:940px;margin:0 auto;padding:0 20px;}
a{color:var(--indigo);text-decoration:none;}
a:hover{color:var(--amber);}
b{font-weight:700;}

/* ---- header ---- */
.site-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:saturate(1.1) blur(8px);border-bottom:1px solid var(--line);}
.head-inner{display:flex;align-items:center;justify-content:space-between;height:60px;}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);}
.brand-name{font-size:20px;font-weight:700;letter-spacing:.04em;}
.brand-name .dot{color:var(--indigo);font-size:16px;}
.stamp{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;
  border:2px solid var(--stamp);color:var(--stamp);font-family:"Shippori Mincho",serif;
  font-weight:700;font-size:19px;line-height:1;transform:rotate(-3deg);}
.theme-toggle{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;
  border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;}
.theme-toggle:hover{color:var(--amber);border-color:var(--amber);}
.ic-moon{display:none;}
:root[data-theme="dark"] .ic-sun{display:none;}
:root[data-theme="dark"] .ic-moon{display:inline;}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ic-sun{display:none;}
  :root:not([data-theme="light"]) .ic-moon{display:inline;}}

/* ---- hero ---- */
.hero{padding:56px 0 30px;position:relative;overflow:hidden;}
.hero-rail{height:2px;width:100%;margin-bottom:34px;
  background:repeating-linear-gradient(90deg, var(--indigo) 0 26px, transparent 26px 40px);opacity:.5;}
.hero-rail::before,.hero-rail::after{content:"";position:absolute;top:29px;width:11px;height:11px;border-radius:50%;
  background:var(--bg);border:2.5px solid var(--indigo);}
.hero-rail::before{left:20px;}
.hero-rail::after{left:calc(50% - 5px);border-color:var(--amber);}
.hero-title{font-size:clamp(30px,6.4vw,52px);font-weight:700;line-height:1.28;margin:0 0 20px;letter-spacing:.02em;}
.hero-sub{font-size:clamp(15px,2.4vw,19px);color:var(--ink-soft);margin:0 0 14px;font-weight:500;}
.hero-en{font-size:13px;color:var(--ink-mute);letter-spacing:.02em;font-style:italic;margin:0;}
@media(min-width:560px){.sp-br{display:none;}}

/* ---- card / search ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.search{padding:22px;margin-top:8px;}
.search-fields{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;}
.field{display:flex;flex-direction:column;gap:6px;flex:1 1 150px;}
.field-label{font-size:12.5px;color:var(--ink-mute);letter-spacing:.06em;font-weight:500;}
.field input,.field select{font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg);
  border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;width:100%;}
.field input:focus,.field select:focus{outline:none;border-color:var(--indigo);}
.today-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:700;
  font-size:15px;color:#fff;background:var(--amber);border:none;border-radius:10px;padding:12px 20px;cursor:pointer;
  box-shadow:0 2px 0 color-mix(in srgb,var(--amber) 60%, #000);transition:transform .06s;}
.today-btn:active{transform:translateY(1px);}
.today-btn[aria-pressed="true"]{outline:3px solid color-mix(in srgb,var(--amber) 40%,transparent);}

.questions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 16px;
  padding-top:16px;border-top:1px dashed var(--line);}
.q{font-family:"Shippori Mincho",serif;font-weight:600;font-size:clamp(15px,2.6vw,18px);color:var(--indigo);}
.q-sep{color:var(--ink-mute);}

.toggles{display:flex;flex-wrap:wrap;gap:9px;}
.chip{font-family:inherit;font-size:13.5px;font-weight:500;color:var(--ink-soft);background:var(--bg);
  border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;cursor:pointer;transition:.12s;}
.chip:hover{border-color:var(--indigo);color:var(--indigo);}
.chip[aria-pressed="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff;}
.chip-reset{margin-left:auto;color:var(--ink-mute);}
.chip-reset:hover{color:var(--crit);border-color:var(--crit);}

/* ---- result bar ---- */
.result-bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 4px 14px;flex-wrap:wrap;}
.result-count{font-family:"Shippori Mincho",serif;font-size:18px;font-weight:600;}
.result-count b{color:var(--amber);font-size:22px;}
.result-note{font-size:12.5px;color:var(--ink-mute);}

/* ---- list / brewery card ---- */
.list{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:680px){.list{grid-template-columns:1fr 1fr;}}
.kura{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;}
.kura-head{display:flex;gap:12px;align-items:flex-start;padding:20px 20px 14px;
  border-bottom:1px solid var(--line);position:relative;}
.kura-stamp{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;
  border:2px solid var(--stamp);color:var(--stamp);font-family:"Shippori Mincho",serif;font-weight:700;
  font-size:22px;line-height:1;transform:rotate(-3deg);}
.kura-name{font-family:"Shippori Mincho",serif;font-size:22px;font-weight:700;line-height:1.2;margin:0;}
.kura-brand{font-size:13px;color:var(--amber);font-weight:700;margin-top:3px;}
.kura-loc{font-size:12.5px;color:var(--ink-mute);margin-top:2px;}
.fresh{position:absolute;top:16px;right:18px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;}
.fresh.ok{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent);}
.fresh.chk{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent);}

/* 判定（3つの問い） */
.verdict{display:flex;flex-direction:column;gap:1px;background:var(--line);}
.v-row{display:grid;grid-template-columns:104px 1fr;gap:10px;align-items:center;background:var(--surface);padding:12px 20px;}
.v-q{font-size:12.5px;color:var(--ink-mute);font-weight:500;}
.v-a{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:6px;line-height:1.5;}
.badge.good{color:#fff;background:var(--good);}
.badge.warn{color:#fff;background:var(--warn);}
.badge.crit{color:#fff;background:var(--crit);}
.badge.soft{color:var(--indigo);background:color-mix(in srgb,var(--indigo) 12%,transparent);}
.v-note{font-size:12.5px;color:var(--ink-soft);font-weight:400;}

/* meta（アクセス・試飲など） */
.kura-body{padding:16px 20px 4px;display:flex;flex-direction:column;gap:12px;}
.meta{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;}
.meta svg{flex:0 0 auto;margin-top:2px;color:var(--indigo);}
.meta .m-label{color:var(--ink-mute);font-size:12px;margin-right:2px;}
.after-tags{display:flex;flex-wrap:wrap;gap:6px;}
.after-tag{font-size:12px;font-weight:500;color:var(--indigo);background:color-mix(in srgb,var(--indigo) 10%,transparent);
  border-radius:999px;padding:4px 11px;}
.story{font-size:12.5px;color:var(--ink-mute);line-height:1.75;border-top:1px dashed var(--line);padding-top:12px;margin-top:2px;}

.kura-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 20px;border-top:1px solid var(--line);}
.official{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px;}
.detail-btn{font-family:inherit;font-size:12.5px;color:var(--ink-mute);background:none;border:none;cursor:pointer;text-decoration:underline;}
.detail-btn:hover{color:var(--amber);}
.detail{padding:0 20px 16px;font-size:12.5px;color:var(--ink-soft);}
.detail[hidden]{display:none;}
.detail ul{margin:6px 0 0;padding-left:18px;}
.detail code{font-family:ui-monospace,monospace;font-size:11.5px;background:var(--surface-2);padding:1px 5px;border-radius:4px;}

/* ---- empty / footer ---- */
.empty{text-align:center;color:var(--ink-soft);padding:40px 10px;font-weight:600;}
.empty-sub{display:block;font-weight:400;font-size:13.5px;color:var(--ink-mute);margin-top:10px;line-height:1.9;}
.site-foot{margin-top:56px;border-top:1px solid var(--line);background:var(--surface);}
.foot-inner{padding:34px 20px 44px;}
.foot-slogan{font-family:"Shippori Mincho",serif;font-size:22px;font-weight:700;color:var(--indigo);letter-spacing:.14em;}
.foot-note{font-size:12.5px;color:var(--ink-mute);line-height:1.9;margin:14px 0 0;max-width:640px;}
.foot-meta{font-size:12px;color:var(--ink-mute);margin-top:16px;}

/* ---- article pages (SEO記事層) ---- */
.head-cta{font-size:13.5px;font-weight:700;color:var(--indigo);}
.head-cta:hover{color:var(--amber);}
.article{max-width:760px;padding-top:36px;padding-bottom:20px;}
.article h1{font-size:clamp(26px,4.6vw,38px);font-weight:700;line-height:1.35;margin:0 0 22px;}
.article h2{font-family:"Shippori Mincho",serif;font-size:23px;font-weight:600;margin:40px 0 14px;padding-left:13px;border-left:4px solid var(--amber);}
.article h3{font-size:18px;font-weight:700;margin:26px 0 10px;}
.article p{font-size:15.5px;line-height:1.95;margin:0 0 14px;color:var(--ink);}
.article ul,.article ol{font-size:15.5px;line-height:1.95;padding-left:22px;margin:0 0 16px;}
.article li{margin:4px 0;}
.article a{text-decoration:underline;text-underline-offset:2px;}
.article blockquote{margin:0 0 18px;padding:14px 18px;background:var(--surface);border-left:3px solid var(--indigo);border-radius:8px;color:var(--ink-soft);font-size:14px;}
.article hr{border:none;border-top:1px solid var(--line);margin:30px 0;}
.article .table-wrap{overflow-x:auto;margin:0 0 20px;}
.article table{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.article th{background:var(--indigo);color:#fff;text-align:left;padding:11px 14px;font-weight:700;font-size:13.5px;}
.article td{padding:11px 14px;border-top:1px solid var(--line);}
.article .fineprint{font-size:12px;color:var(--ink-mute);margin-top:26px;border-top:1px dashed var(--line);padding-top:14px;}
/* FAQ */
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 12px;}
.faq-q{font-weight:700;color:var(--indigo);margin:0 0 6px !important;}
.faq-a{margin:0 !important;color:var(--ink-soft);font-size:14.5px !important;}
/* affiliate CTA */
.cta-box{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;
  background:color-mix(in srgb,var(--amber) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));
  border-radius:12px;padding:16px 18px;margin:8px 0 22px;}
.cta-label{font-weight:700;font-size:15px;}
.cta-btn{font-weight:700;font-size:14px;color:#16324F;background:var(--amber);border-radius:9px;padding:10px 18px;text-decoration:none !important;}
.cta-btn.is-disabled{background:var(--surface-2);color:var(--ink-mute);cursor:not-allowed;border:1px dashed var(--line);}

.head-nav{margin-left:auto;margin-right:14px;}
