/*
 * yakitori.asia デザイン刷新（2026-10-24）
 * ctc-style.css の後に読み込んで上書きする。元に戻すときは functions.php の
 * yakitori_modern_css の enqueue を外す。
 */

:root {
	--yk-sumi: #1e1916;      /* ヘッダー・フッター */
	--yk-ink: #2b2420;       /* 本文 */
	--yk-muted: #6b5f57;
	--yk-tare: #a3271b;      /* アクセント（たれの赤） */
	--yk-tare-dark: #7f1d13;
	--yk-gold: #c9a063;
	--yk-kinari: #f8f4ed;    /* 背景の生成り */
	--yk-line: #e6ddd0;
	--yk-radius: 10px;
	--yk-shadow: 0 6px 24px rgba(30, 25, 22, .08);
}

/* ---------- 全体 ---------- */
html { scroll-behavior: smooth; }

body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
	color: var(--yk-ink);
	background: #fff;
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: .03em;
	-webkit-font-smoothing: antialiased;
}

a { color: var(--yk-tare); text-underline-offset: 3px; transition: color .2s, background-color .2s, opacity .2s; }
a:hover { color: var(--yk-tare-dark); }

h1, h2, h3, h4,
.entry-title {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	color: var(--yk-sumi);
	letter-spacing: .06em;
	line-height: 1.5;
}

p { margin-bottom: 1.2em; }

img { border-radius: 6px; }
.n2-ss-slider img { border-radius: 0; }

/* ---------- ヘッダー ---------- */
#wrapper-navbar {
	position: sticky;
	top: 0;
	z-index: 1030;
	box-shadow: 0 2px 16px rgba(0, 0, 0, .18);
}
.admin-bar #wrapper-navbar { top: 32px; }
@media (max-width: 782px) { .admin-bar #wrapper-navbar { top: 0; } }

#main-nav.bg-primary {
	background: var(--yk-sumi) !important;
	border-top: 3px solid var(--yk-tare);
	padding: .7rem 0;
}

#main-nav .navbar-brand {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: .08em;
	color: #fff;
	white-space: normal;
	line-height: 1.5;
	max-width: 70%;
}
#main-nav .navbar-brand:hover { color: var(--yk-gold); }

#main-nav .navbar-nav .nav-link {
	color: rgba(255, 255, 255, .88);
	font-size: .92rem;
	padding: .5rem .85rem;
	letter-spacing: .05em;
}
#main-nav .navbar-nav .nav-link:hover,
#main-nav .navbar-nav .nav-link:focus,
#main-nav .navbar-nav .current-menu-item > .nav-link,
#main-nav .navbar-nav .current-menu-ancestor > .nav-link {
	color: var(--yk-gold);
}

/* ネットショップは目立つボタンに */
#main-nav .navbar-nav .nav-link[href*="shopping.yahoo"] {
	background: var(--yk-tare);
	color: #fff;
	border-radius: 999px;
	padding: .45rem 1.2rem;
	margin-left: .6rem;
	font-weight: 700;
}
#main-nav .navbar-nav .nav-link[href*="shopping.yahoo"]:hover {
	background: #c23526;
	color: #fff;
}

#main-nav .dropdown-menu {
	border: 0;
	border-radius: var(--yk-radius);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
	padding: .5rem 0;
	margin-top: .4rem;
	min-width: 15rem;
}
#main-nav .dropdown-item {
	font-size: .9rem;
	padding: .55rem 1.2rem;
	color: var(--yk-ink);
}
#main-nav .dropdown-item:hover,
#main-nav .dropdown-item:focus {
	background: var(--yk-kinari);
	color: var(--yk-tare);
}

#main-nav .navbar-toggler { border-color: rgba(255, 255, 255, .3); }
#main-nav .navbar-toggler:focus { box-shadow: none; }

@media (max-width: 767.98px) {
	#main-nav .navbar-brand { font-size: .9rem; }
	#main-nav .navbar-collapse { padding: .6rem 0 .4rem; }
	#main-nav .navbar-nav .nav-link { padding: .6rem .2rem; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	#main-nav .navbar-nav .nav-link[href*="shopping.yahoo"] {
		margin: .9rem 0 .3rem;
		text-align: center;
		border-bottom: 0;
	}
	#main-nav .dropdown-menu {
		background: rgba(255, 255, 255, .05);
		box-shadow: none;
		margin: 0;
	}
	#main-nav .dropdown-item { color: rgba(255, 255, 255, .8); padding-left: 1.2rem; }
	#main-nav .dropdown-item:hover { background: transparent; color: var(--yk-gold); }
}

/* ---------- スライダー（TOP） ---------- */
#wrapper-static-hero { background: var(--yk-sumi); padding: 0 !important; }
#wrapper-static-content { max-width: none; padding: 0; }
#wrapper-static-content > .row { margin: 0; }
#wrapper-static-content .static-hero-widget { padding: 0; }

/* ---------- 本文エリア ---------- */
#full-width-page-wrapper,
#page-wrapper,
#single-wrapper,
#archive-wrapper,
#index-wrapper {
	padding: 3.5rem 0 4.5rem;
}

.entry-header { margin-bottom: 2rem; }

.entry-title {
	font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem);
	position: relative;
	padding-bottom: .8rem;
	margin-bottom: 0;
}
.entry-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 3px;
	background: var(--yk-tare);
	border-radius: 2px;
}

.entry-content h2,
.entry-content .wp-block-heading:is(h2) {
	font-size: clamp(1.3rem, 1.1rem + .8vw, 1.65rem);
	margin: 2.8rem 0 1.2rem;
	padding-left: .9rem;
	border-left: 4px solid var(--yk-tare);
}
.entry-content h3 {
	font-size: 1.2rem;
	margin: 2rem 0 .9rem;
	padding-bottom: .4rem;
	border-bottom: 1px solid var(--yk-line);
}
.entry-content > :first-child { margin-top: 0; }

@media (max-width: 767.98px) {
	#full-width-page-wrapper,
	#page-wrapper,
	#single-wrapper,
	#archive-wrapper,
	#index-wrapper { padding: 2.2rem 0 3rem; }
	.entry-content .has-medium-font-size { font-size: 1.05rem !important; }
	.entry-content .wp-block-columns { gap: 1.5rem; margin-bottom: 2rem; }
}

/* TOP は見出しの装飾を控えめに */
.home .entry-content h2 { border-left: 0; padding-left: 0; }

.entry-content .wp-block-columns { gap: 2.5rem; margin-bottom: 3rem; }
.entry-content .wp-block-image img,
.entry-content .wp-block-column img {
	border-radius: var(--yk-radius);
	box-shadow: var(--yk-shadow);
}

/* ギャラリーの商品画像はホバーで少し浮く */
.entry-content .gallery img,
.entry-content .wp-block-gallery img,
.entry-content a img {
	transition: transform .25s, box-shadow .25s;
}
.entry-content .gallery a:hover img,
.entry-content .wp-block-gallery a:hover img,
.entry-content a:hover img {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(30, 25, 22, .16);
}
.entry-content .gallery img { border: 0 !important; }

/* Shortcodes Ultimate のギャラリー（商品画像） */
.su-custom-gallery-slide {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 14px 14px 0 !important;
	background: none !important;
	border-radius: var(--yk-radius);
	overflow: hidden;
	box-shadow: var(--yk-shadow);
	transition: transform .25s, box-shadow .25s;
}
.su-custom-gallery-slide:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(30, 25, 22, .16);
}
.su-custom-gallery-slide img,
.su-custom-gallery-slide a:hover img {
	border-radius: 0;
	box-shadow: none;
	transform: none;
}
@media (max-width: 575.98px) {
	.su-custom-gallery-slide {
		width: calc(50% - 7px) !important;
		height: auto !important;
		margin-right: 0 !important;
	}
	.su-custom-gallery-slide:nth-child(odd) { margin-right: 14px !important; }
	.su-custom-gallery-slide img { width: 100% !important; height: auto !important; }
}

/* ボタン */
.wp-block-button__link,
.btn-primary,
input[type="submit"],
button[type="submit"] {
	border-radius: 999px !important;
	padding: .9rem 2.2rem;
	font-weight: 700;
	letter-spacing: .08em;
	background: var(--yk-tare);
	border: 0;
	color: #fff;
	box-shadow: 0 6px 18px rgba(163, 39, 27, .28);
	transition: transform .2s, box-shadow .2s, background-color .2s;
}
.wp-block-button__link:hover,
.btn-primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	background: var(--yk-tare-dark);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(163, 39, 27, .32);
}
.wp-block-button__link.has-red-background-color { background-color: var(--yk-tare) !important; }

/* 表 */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2rem;
	font-size: .95rem;
}
.entry-content table th,
.entry-content table td {
	border: 1px solid var(--yk-line) !important;
	padding: .8rem 1rem !important;
	vertical-align: top;
}
.entry-content table th,
.entry-content table thead td {
	background: var(--yk-kinari) !important;
	font-weight: 700;
	color: var(--yk-sumi);
}

/* お問合せフォーム（Contact Form 7） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	max-width: 640px;
	border: 1px solid var(--yk-line);
	border-radius: 8px;
	padding: .75rem 1rem;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: 0;
	border-color: var(--yk-tare);
	box-shadow: 0 0 0 3px rgba(163, 39, 27, .12);
}

.wpcf7 input.wpcf7-submit {
	width: 100%;
	max-width: 640px;
	background: var(--yk-tare) !important;
	border: 0 !important;
	color: #fff !important;
	padding: .95rem 2rem;
}
.wpcf7 input.wpcf7-submit:hover { background: var(--yk-tare-dark) !important; }
.wpcf7 .wpcf7-acceptance { display: inline-block; margin: .4rem 0 1rem; }
.wpcf7 .wpcf7-acceptance input { margin-right: .5rem; accent-color: var(--yk-tare); }

/* 子ページ一覧（CC Child Pages） */
.ccchildpages .ccchildpage {
	border-radius: var(--yk-radius) !important;
	border: 1px solid var(--yk-line) !important;
	box-shadow: var(--yk-shadow);
	background: #fff !important;
}

/* ---------- フッター ---------- */
#wrapper-footer-full { display: none; }

#wrapper-footer {
	background: var(--yk-sumi);
	color: rgba(255, 255, 255, .72);
	padding: 2.4rem 0;
	font-size: .82rem;
	line-height: 1.8;
	border-top: 3px solid var(--yk-tare);
}
#wrapper-footer .site-info { text-align: center; }

/* reCAPTCHA バッジを控えめに */
.grecaptcha-badge { opacity: .6; }
