/**
 * himarii — 页眉定制
 * 参考 KINTO：白底 / 细字 / 大写 / 左 Logo · 右图标
 */

@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500&family=Cormorant+Garamond:wght@300;400&display=swap');

/* =============================================
   1. 页眉主栏：白底、固定高度、底线、スティッキー
   ============================================= */
#masthead {
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
}

#masthead,
.main-header-bar,
.ast-primary-header-bar,
.main-header-bar-wrap .ast-primary-header-bar {
	background-color: #fff !important;
	border-bottom: 1px solid #e8e0d8 !important;
	box-shadow: none !important;
}

/* Astra 的 header-bar 内容行高 = 导航高度 */
.ast-primary-header-bar .ast-container,
.main-header-bar .ast-container {
	height: 64px !important;
	display: flex !important;
	align-items: center !important;
}

/* グリッド：Logo | Nav（左寄せ） | 空白 | Icons 右端 */
.ast-primary-header-bar .ast-builder-grid-row {
	display: grid !important;
	grid-template-columns: auto auto 1fr !important;
	align-items: center !important;
	width: 100% !important;
	column-gap: 0 !important;
}
.ast-primary-header-bar .ast-builder-grid-row > .ast-grid-center-section {
	display: flex !important;
	justify-content: flex-start !important;
}
.ast-primary-header-bar .ast-builder-grid-row > .ast-grid-right-section {
	justify-self: end !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
}

/* =============================================
   2. Logo / サイト名
   ============================================= */
.ast-site-identity .site-title a,
.ast-site-identity .ast-site-title-wrap a,
#site-title a {
	font-family: 'Instrument Sans', sans-serif !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: 0.22em !important;
	text-transform: lowercase !important;
	color: #2e2520 !important;
	text-decoration: none !important;
}
.ast-site-identity img,
.ast-site-logo img {
	max-height: 52px !important;
	width: auto !important;
}

/* =============================================
   3. 主导航：横一行、细字、大写
   ============================================= */

/* 去掉 Astra 默认的导航背景、边框、padding */
.main-navigation,
.ast-nav-menu-enabled .main-navigation {
	background: transparent !important;
}

/* 一级菜单项 */
.main-header-menu > li > a,
.ast-builder-menu-1 .main-header-menu > li > a,
#masthead .main-header-menu > li > a {
	font-family: 'Cormorant Garamond', 'Noto Serif JP', serif !important;
	font-size: 15px !important;
	font-weight: 300 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: rgba(60, 50, 44, 0.75) !important;
	padding: 0 20px !important;
	margin: 0 !important;
	line-height: 64px !important;
	height: 64px !important;
	display: inline-flex !important;
	align-items: center !important;
	background: transparent !important;
	border: none !important;
	transition: opacity 0.2s ease !important;
	white-space: nowrap !important;
}

/* 菜单列表横向排列，防止后台设置导致竖排 */
.main-header-menu,
.ast-builder-menu-1 .main-header-menu,
#masthead .main-header-menu {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.main-header-menu > li > a:hover,
.ast-builder-menu-1 .main-header-menu > li > a:hover {
	color: rgba(60, 50, 44, 0.75) !important;
	opacity: 0.45 !important;
	background: transparent !important;
}

/* 当前页高亮去掉 */
.main-header-menu > li.current-menu-item > a,
.main-header-menu > li.current-menu-ancestor > a {
	color: rgba(60, 50, 44, 0.75) !important;
	background: transparent !important;
	border: none !important;
}

/* 下拉箭头变小 */
.main-header-menu > li.menu-item-has-children > a .dropdown-menu-toggle {
	font-size: 9px !important;
	margin-left: 3px !important;
	opacity: 0.5 !important;
}

/* =============================================
   4. 下拉子菜单（通常）
   ============================================= */
.main-header-menu .sub-menu {
	background: #fff !important;
	border: none !important;
	border-top: 2px solid #8c6b4a !important;
	border-radius: 0 !important;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
	min-width: 160px !important;
	padding: 8px 0 !important;
}
.main-header-menu .sub-menu li a {
	font-family: 'Instrument Sans', sans-serif !important;
	font-size: 11.5px !important;
	font-weight: 400 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: rgba(60, 50, 44, 0.75) !important;
	padding: 10px 20px !important;
	line-height: 1.4 !important;
	height: auto !important;
	background: transparent !important;
}
.main-header-menu .sub-menu li a:hover {
	background: #faf7f4 !important;
	opacity: 1 !important;
}

/* =============================================
   4b. Shop メガメニュー（2カラム）
   メニュー構造（子項目の順序）:
     1  カテゴリー（ラベル）← CSS クラス: menu-item-label
     2  コーヒーカップ
     3  茶器
     4  酒器
     5  オフィスマグ
     6  ギフトセット
     7  スタイル（ラベル）← CSS クラス: menu-item-label
     8  日式和風
     9  可愛カートゥーン
   ============================================= */

/* ドロップダウン全体：2カラムグリッド（高い特異性で Astra を上書き）*/
#masthead .main-header-menu li.menu-item--shop > .sub-menu,
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu,
.ast-primary-header-bar .main-header-menu li.menu-item--shop > .sub-menu {
	min-width: 420px !important;
	width: 420px !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	grid-auto-flow: row !important;
	gap: 0 !important;
	border-top: 2px solid #8c6b4a !important;
	box-sizing: border-box !important;
}

/* 子項目1〜6 → 左カラム */
#masthead .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(-n+6),
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(-n+6) {
	grid-column: 1 !important;
}

/* 子項目7〜 → 右カラム */
#masthead .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(n+7),
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(n+7) {
	grid-column: 2 !important;
}

/* 右カラム1行目（item7）を先頭行に */
#masthead .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(7),
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(7) {
	grid-row: 1 !important;
}

/* 右カラム item8 → 2行目、item9 → 3行目（上揃え）*/
#masthead .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(8),
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(8) {
	grid-row: 2 !important;
}
#masthead .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(9),
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(9) {
	grid-row: 3 !important;
}

/* カラム間の縦線 */
#masthead .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(n+7),
.site-header .main-header-bar .main-header-menu li.menu-item--shop > .sub-menu > li:nth-child(n+7) {
	border-left: 1px solid #e8e0d8 !important;
}

/* 列ヘッダー（menu-item-label クラス付き）*/
.main-header-menu li.menu-item--shop > .sub-menu > li.menu-item-label > a {
	font-size: 9.5px !important;
	font-weight: 400 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: rgba(60,50,44,0.4) !important;
	cursor: default !important;
	pointer-events: none !important;
	padding: 18px 24px 10px !important;
	background: transparent !important;
	border-bottom: 1px solid #f0ebe5 !important;
	display: block !important;
	line-height: 1 !important;
	height: auto !important;
}
.main-header-menu li.menu-item--shop > .sub-menu > li.menu-item-label > a::before {
	display: none !important;
}

/* 通常リンク項目 */
.main-header-menu li.menu-item--shop > .sub-menu > li:not(.menu-item-label) > a {
	font-family: 'Instrument Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: 0.04em !important;
	color: rgba(60,50,44,0.8) !important;
	padding: 11px 24px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: transparent !important;
	transition: color 0.2s, background 0.2s !important;
	height: auto !important;
	line-height: 1.4 !important;
	text-transform: none !important;
}
.main-header-menu li.menu-item--shop > .sub-menu > li:not(.menu-item-label) > a::before {
	content: '' !important;
	width: 3px !important;
	height: 3px !important;
	border-radius: 50% !important;
	background: #8c6b4a !important;
	opacity: 0 !important;
	transition: opacity 0.2s !important;
	flex-shrink: 0 !important;
}
.main-header-menu li.menu-item--shop > .sub-menu > li:not(.menu-item-label) > a:hover {
	color: #8c6b4a !important;
	background: #faf7f4 !important;
	opacity: 1 !important;
}
.main-header-menu li.menu-item--shop > .sub-menu > li:not(.menu-item-label) > a:hover::before {
	opacity: 1 !important;
}

/* =============================================
   5. 右側：アイコン（アカウント・カート・検索）
   ============================================= */
.ast-header-woo-cart a,
.ast-header-account a,
.ast-search-icon a,
.ast-header-search a,
.site-header-primary-section-right a {
	color: rgba(60, 50, 44, 0.75) !important;
	background: transparent !important;
	transition: opacity 0.2s ease !important;
}
.ast-header-woo-cart a:hover,
.ast-header-account a:hover,
.ast-header-search a:hover,
.site-header-primary-section-right a:hover {
	opacity: 0.45 !important;
}

/* アイコン SVG */
.ast-header-woo-cart .astra-icon,
.ast-header-account .astra-icon,
.ast-header-search .astra-icon {
	color: rgba(60, 50, 44, 0.75) !important;
	font-size: 18px !important;
}

/* カートバッジ */
.ast-header-woo-cart .cart-container .count {
	background: #8c6b4a !important;
	color: #fff !important;
	font-size: 9px !important;
	font-weight: 400 !important;
	border-radius: 50% !important;
}

/* カート合計金額は非表示（ヘッダーには不要）*/
.ast-header-woo-cart .cart-container .cart-total,
.ast-woo-header-cart-total {
	display: none !important;
}

/* 言語切替 */
.site-header-primary-section-right .widget_polylang a,
.site-header-primary-section-right .ast-header-html a {
	font-family: 'Instrument Sans', sans-serif !important;
	font-size: 11.5px !important;
	font-weight: 400 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: rgba(60, 50, 44, 0.75) !important;
}

/* =============================================
   6. 移动端
   ============================================= */
@media (max-width: 921px) {
	.ast-primary-header-bar .ast-container,
	.main-header-bar .ast-container {
		height: 56px !important;
	}
	.main-header-menu > li > a,
	.ast-builder-menu-1 .main-header-menu > li > a {
		font-size: 11px !important;
		padding: 0 10px !important;
		line-height: 56px !important;
		height: 56px !important;
	}
	/* ハンバーガーメニューボタン */
	.ast-mobile-menu-buttons .mobile-menu-wrap .ast-button-wrap .menu-toggle,
	button.menu-toggle {
		color: #2e2520 !important;
	}
}
