/* ============================================================
   麻辣王豆腐 TOP — 追加UI（SNS / Googleマップ / 口コミ）
   ============================================================ */

/* ===== SNS ===== */
.sns{display:flex;gap:12px;align-items:center}
.sns a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(201,162,75,.4);display:flex;align-items:center;justify-content:center;color:var(--kin-l);transition:transform .28s,background .28s,border-color .28s,color .28s}
.sns a:hover{background:var(--aka);border-color:var(--aka);color:#fff;transform:translateY(-2px)}
.sns svg{width:19px;height:19px;fill:currentColor;display:block}
.fsns{margin-top:24px}
.fsns .lbl{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.24em;color:var(--kin-l);margin-bottom:11px}

/* ===== Googleマップ iframe（店舗情報内の地図枠を置換） ===== */
.info .map .mapembed{height:340px;border:1px solid rgba(120,90,50,.3);overflow:hidden;position:relative;background:#cdbb98}
.info .map .mapembed iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.12) contrast(1.02)}

/* ===== 口コミ ===== */
.reviews{background:linear-gradient(180deg,#23130b,var(--cha3));padding:108px 0 116px;position:relative;overflow:hidden}
.reviews .head{text-align:center;margin-bottom:44px}
.reviews .divider{margin:22px auto}
.rating-row{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:52px}
.rating{background:rgba(255,255,255,.03);border:1px solid rgba(201,162,75,.22);border-radius:3px;padding:22px 34px;text-align:center;min-width:224px;transition:transform .28s,border-color .28s}
.rating:hover{border-color:rgba(201,162,75,.55);transform:translateY(-3px)}
.rating .site{display:block;font-family:var(--serif);font-size:15px;color:#fff;letter-spacing:.06em}
.rating .star{display:block;font-family:var(--en);font-size:30px;color:var(--kin-l);margin:7px 0 2px;letter-spacing:.02em}
.rating .cnt{display:block;font-size:12px;color:var(--gray);letter-spacing:.04em}
.rating .cnt::after{content:" ›";color:var(--kin)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rv-card{background:rgba(255,255,255,.02);border:1px solid rgba(201,162,75,.16);border-radius:3px;padding:32px 30px;position:relative}
.rv-card::before{content:"\201C";position:absolute;top:6px;right:22px;font-family:var(--en);font-size:80px;color:rgba(201,162,75,.14);line-height:1}
.rv-card .stars{color:#e8b34a;font-size:15px;letter-spacing:.18em;margin-bottom:14px}
.rv-card .q{font-size:14.5px;color:#e8dccb;line-height:2}
.rv-card .src{margin-top:20px;font-size:12px;color:var(--gray);letter-spacing:.05em;display:flex;align-items:center;gap:9px}
.rv-card .src::before{content:"";width:24px;height:1px;background:var(--kin)}
.rv-note{text-align:center;margin-top:36px;font-size:12px;color:var(--gray);line-height:1.8}
.rv-more{text-align:center;margin-top:26px}

@media (max-width:1023px){
  .rating-row{gap:12px}
  .rating{min-width:0;flex:1 1 40%;padding:16px 10px}
  .rating .star{font-size:24px}
  .rv-grid{grid-template-columns:1fr;gap:16px}
  .reviews{padding:72px 0 78px}
}

/* ===== NEWS内 新着コラム ===== */
.news .col-mini{margin-top:34px;padding-top:26px;border-top:1px solid rgba(120,90,50,.28)}
.news .col-mini .cm-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.news .col-mini .cm-head .lead-en{font-size:18px}
.news .col-mini .cm-head a{font-family:var(--en);font-style:italic;font-size:13px;color:var(--aka)}
.news .col-mini .cm-item{display:flex;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px dashed rgba(120,90,50,.25)}
.news .col-mini .cm-item .d{font-family:var(--en);font-size:14px;color:var(--ink2);width:92px;flex-shrink:0;letter-spacing:.04em}
.news .col-mini .cm-item .t{font-size:14px;color:var(--ink);line-height:1.5}
.news .col-mini .cm-item:hover .t{color:var(--aka)}
@media (max-width:1023px){ .news .col-mini .cm-item{flex-wrap:wrap;gap:2px 12px} }


/* ===== 言語スイッチャー（上段.head-topのCTA横に常設・PC=CTAの右／SP=電話番号の右・ハンバーガーの左） ===== */
.lang-switch{display:flex;gap:3px;align-items:center}
.lang-switch button{font-family:var(--sans);font-size:11px;letter-spacing:.03em;color:#d8ccbe;background:transparent;border:1px solid rgba(201,162,75,.4);padding:3px 8px;border-radius:2px;cursor:pointer;transition:.2s;line-height:1.3}
.lang-switch button:hover{border-color:var(--kin);color:#fff}
.lang-switch button.on{background:var(--aka);border-color:var(--aka);color:#fff}
@media (max-width:1023px){
  /* SP：文字を小さくして詰め、ハンバーガーの左に1行で収める */
  .lang-switch{gap:2px}
  .lang-switch button{font-size:8.5px;padding:2px 4px;letter-spacing:0;border-width:1px}
}

/* ===== 電話番号ボタン ===== */
.head-cta .tel-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,162,75,.5);border-radius:2px;padding:6px 15px;transition:.25s;font-family:var(--en);font-size:20px;color:#fff;letter-spacing:.05em;text-decoration:none}
.head-cta .tel-btn:hover{background:rgba(201,162,75,.16);border-color:var(--kin);transform:translateY(-1px)}
.head-cta .tel-btn .ic{font-size:16px;color:var(--kin-l);font-family:var(--sans)}
.head-cta .tel-btn .tlabel small{display:block;font-family:var(--sans);font-size:10px;color:var(--gray);letter-spacing:.1em;line-height:1;margin:0 0 1px}
.cta-actions a.tel{cursor:pointer;text-decoration:none;transition:.25s}
.cta-actions a.tel:hover{opacity:.85}
@media (max-width:1023px){
  /* SP：CTAをコンパクトに。電話番号は表示（数字のみ・「ご予約」ラベルは省略）。高さをWEB予約ボタンと揃える */
  .head-cta .resv,.head-cta .tel-btn{height:31px;box-sizing:border-box}
  .head-cta .resv{display:inline-flex;align-items:center;justify-content:center}
  .head-cta .tel-btn{font-size:12.5px;padding:0 8px;gap:4px;align-items:center}
  .head-cta .tel-btn .ic{font-size:13px}
  .head-cta .tel-btn .tlabel{display:inline-block;font-size:11px;letter-spacing:0}
  .head-cta .tel-btn .tlabel small{display:none}
}
