/*
 * component.css - 再利用可能なUIコンポーネント
 *
 * 命名規則: BEM（Block__Element--Modifier）
 * ここに書くCSSはページをまたいで使用されるものに限定する。
 * ページ固有スタイルは page-*.css に記述すること。
 *
 * 収録コンポーネント:
 *   - .adf-card       … ドラマカード（アーカイブ・スライダー共用）
 *   - .badge          … ジャンル・難易度バッジ
 *   - .status-badge   … 配信状況バッジ
 *   - .cta-low/mid/high … インラインCTAリンク
 *   - .adra-cta-box   … 優先CTA（記事内）
 *   - .adra-bottom-cta … 記事下部CTA
 *   - .drama-streaming … 配信サービステーブル
 *   - .drama-tags     … マニアックタグリスト
 *   - .drama-cast-section … キャストリスト
 *   - .adf__*         … 絞り込みフィルターパネル
 *
 * @package swell-child
 */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ドラマカード (.adf-card)
   ※ archive-drama.php・shortcode-drama-today.php で共用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.adf-card {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.18s, transform 0.18s;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.adf-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

.adf-card__link {
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	color: inherit !important;
	position: relative;
	height: 100%;
}

/* サムネイル（16:9） */
.adf-card__thumb-wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	background: #f3e8e2;
	flex-shrink: 0;
}

.adf-card__thumb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.adf-card:hover .adf-card__thumb {
	transform: scale(1.04);
}

/* サムネイルなしプレースホルダー */
.adf-card__thumb--placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #f3d0c0, #e9b5a0);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem;
}

.adf-card__thumb--placeholder span {
	font-size: 0.78rem;
	font-weight: 700;
	color: #7a1414;
	text-align: center;
	line-height: 1.4;
}
/* 画像エリアの基準位置を設定 */
.adf-card__thumb-wrap {
    position: relative;
    overflow: hidden;
}

/* 文字を読みやすくするため、画像の下半分に薄い黒のグラデーションを敷く */
.adf-card__thumb-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45%; /* 60%から45%に調整 */
    /* より滑らかに消えるよう、開始位置(0%)を調整 */
    background: linear-gradient(to bottom, rgba(124, 28, 25, 0) 0%, rgba(124, 28, 25, 0.95) 100%);
    pointer-events: none;
}

/* アイキャッチ上のタイトル装飾 */
.eyecatch-title {
	font-family: "Noto Serif JP", serif!important;
    position: absolute;
    bottom: 15px; /* 下からの余白 */
    left: 0;
    width: 100%;
    margin: 0;
    text-align: center;
    z-index: 2; /* グラデーションより上に表示 */
    
    /* エレガントなタイポグラフィ設定 */
    font-size: 19px; /* スマホ・PCに合わせて適宜調整してください */
    font-weight: 500;
    color: #ffffff; /* 白文字 */
    letter-spacing: 0.1em; /* 文字間隔を広げてゆったりとした高級感を */
    
    /* 視認性を高めつつ、品のある淡いゴールドの光彩を放つ影 */
    text-shadow: 
        0 2px 4px rgba(60, 10, 10, 0.8), /* 濃い赤茶系の影で文字の輪郭を強調 */
        0 0 12px rgba(212, 175, 55, 0.7); /* ゴールドの光彩で華やかさを追加 */
}
/* PRバッジ（左上） */
.adf-card__pr-badge {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.6rem 1.25rem;
	font-size: 1.05rem;
	font-weight: 800;
	color: #fff;
	border-radius: 0 0 8px 0;
	z-index: 2;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	letter-spacing: -0.03em;
	line-height: 1.1;
	text-transform: uppercase;
}

.adf-card__pr-badge--viki {
	background: linear-gradient(135deg, #dc2626, #991b1b);
}

.adf-card__pr-badge--unext {
	background: linear-gradient(135deg, #2563eb, #1e40af);
}

/* カード本文 */
.adf-card__body {
	padding: 0.75rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.adf-card__title {
	font-family: "Noto Serif JP", serif !important;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 0.35rem;
	color: #1c1917;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* キャスト */
.adf-card__cast {
	font-size: 0.75rem;
	color: #57534e;
	font-weight: 600;
	margin: 0 0 0.5rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 国/年号/ジャンル メタ情報 */
.adf-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.adf-card__country-year {
	font-size: 0.68rem;
	color: #9ca3af;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

.adf-card__meta-separator {
	color: #d1d5db;
}

.adf-card__genre {
	font-size: 0.68rem;
	color: #7a1414;
	background: #fde8e8;
	padding: 0.1em 0.55em;
	border-radius: 4px;
	font-weight: 600;
}

/* マニアックタグ（カード下部） */
.adf-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.5rem;
}

.adf-card__tag {
	font-size: 0.65rem;
	color: #4b5563;
	background: #f3f4f6;
	padding: 0.2em 0.6em;
	border-radius: 4px;
	font-weight: 600;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   バッジ (.badge)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.badge {
	display: inline-block;
	padding: 0.2em 0.75em;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.4;
}

.badge--country {
	background: #e8f0fe;
	color: #1a56db;
}

.badge--year {
	background: #f3f4f6;
	color: #374151;
}

.badge--beginner {
	background: #d1fae5;
	color: #065f46;
}

.badge--middle {
	background: #fef3c7;
	color: #92400e;
}

.badge--maniac {
	background: #fee2e2;
	color: #991b1b;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   配信状況バッジ (.status-badge)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.status-badge {
	display: inline-block;
	padding: 0.15em 0.6em;
	border-radius: 4px;
	font-size: 0.78rem;
	font-weight: 600;
}

.status-badge--active {
	background: #d1fae5;
	color: #065f46;
}

.status-badge--inactive {
	background: #f3f4f6;
	color: #9ca3af;
}

.status-badge--unknown {
	background: #fef3c7;
	color: #92400e;
}

.status-sub-type {
	display: inline-block;
	font-size: 0.72rem;
	color: #6b7280;
	margin-top: 0.2em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   インラインCTAリンク (.cta-*)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cta-low {
	color: #f97316;
	text-decoration: underline;
	font-size: 0.875rem;
	white-space: nowrap;
}

.cta-mid {
	display: inline-block;
	padding: 0.45em 1.2em;
	border: 2px solid #f97316;
	color: #f97316;
	border-radius: 6px;
	font-weight: 700;
	text-decoration: none;
	font-size: 0.875rem;
	transition: background 0.15s;
}

.cta-mid:hover {
	background: #fff7ed;
}

.cta-high {
	display: inline-block;
	padding: 0.65em 1.75em;
	background: #f97316;
	color: #fff;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none;
	font-size: 1rem;
	transition: opacity 0.15s;
}

.cta-high:hover {
	opacity: 0.85;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   配信テーブル サービス別カラーボタン (.cta-svc)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cta-svc {
	display: inline-block;
	padding: 0.4em 1.0em;
	border-radius: 6px;
	font-weight: 700;
	text-decoration: none !important;
	font-size: 0.875rem;
	color: #fff !important;
	background-color: var(--svc-color, #666);
	transition: opacity 0.15s;
	white-space: nowrap;
}

.cta-svc:hover {
	opacity: 0.82;
}

/* サービス別カラー */
.cta-svc--viki-vpn  { --svc-color: #0055CC; }
.cta-svc--unext     { --svc-color: #31C6E6; }
.cta-svc--wowow     { --svc-color: #004899; }
.cta-svc--hulu      { --svc-color: #1DB745; }
.cta-svc--lemino    { --svc-color: #ff5056; }
.cta-svc--telasa    { --svc-color: #E60012; }
.cta-svc--disney    { --svc-color: #01147C; }
.cta-svc--fod       { --svc-color: #C80025; }
.cta-svc--prime     { --svc-color: #00A8E1; }
.cta-svc--netflix   { --svc-color: #E50914; }
.cta-svc--iqiyi     { --svc-color: #00BE06; }
.cta-svc--wetv      { --svc-color: #FF7B00; }
.cta-svc--youku     { --svc-color: #0080FF; }
.cta-svc--viki-free { --svc-color: #0055CC; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   優先CTA ボックス (.adra-cta-box)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.adra-cta-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 2.5em 0;
	position: relative;
}

.adra-cta-box__balloon {
	color: #555;
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: 12px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	letter-spacing: 0.05em;
}

.adra-cta-box__balloon::before {
	content: "＼";
	font-weight: normal;
}

.adra-cta-box__balloon::after {
	content: "／";
	font-weight: normal;
	position: static;
	border: none;
	transform: none;
}

.adra-cta-box__highlight {
	color: var(--cta-color);
	font-size: 1.2em;
}

.adra-cta-box__btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 360px;
	padding: 16px 20px;
	background-color: var(--cta-color, #333);
	color: #fff !important;
	font-size: 1.1em;
	font-weight: bold;
	text-decoration: none !important;
	border-radius: 50px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
	transition: all 0.3s ease;
}

.adra-cta-box__btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
	opacity: 0.9;
}

.adra-cta-box__btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-25deg);
	animation: adra-shine 3s infinite;
}

@keyframes adra-shine {
	0%   { left: -100%; }
	20%  { left: 200%; }
	100% { left: 200%; }
}

/* サービス別カラー変数 */
.adra-cta-box--viki    { --cta-color: #0055CC; }
.adra-cta-box--unext   { --cta-color: #31C6E6; }
.adra-cta-box--wowow   { --cta-color: #004899; }
.adra-cta-box--hulu    { --cta-color: #1DB745; }
.adra-cta-box--lemino  { --cta-color: #EA0054; }
.adra-cta-box--telasa  { --cta-color: #E60012; }
.adra-cta-box--disney  { --cta-color: #01147C; }
.adra-cta-box--fod     { --cta-color: #C80025; }
.adra-cta-box--prime   { --cta-color: #00A8E1; }
.adra-cta-box--netflix { --cta-color: #E50914; }
.adra-cta-box--iqiyi   { --cta-color: #00BE06; }
.adra-cta-box--wetv    { --cta-color: #FF7B00; }
.adra-cta-box--youku   { --cta-color: #0080FF; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   記事下部CTA (.adra-bottom-cta)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.adra-bottom-cta {
	margin: 4em 0;
}

.adra-bottom-cta__lead {
	margin-bottom: 2em;
}

.adra-bottom-cta__lead h4 {
	font-size: 1.25em;
	color: #333;
	margin-bottom: 0.8em;
	border-bottom: 2px solid #ddd;
	padding-bottom: 0.5em;
	font-weight: bold;
}

.adra-bottom-cta__lead p {
	line-height: 1.8;
	color: #444;
	margin: 0;
}

.adra-bottom-cta__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.adra-bottom-cta__micro {
	color: #555;
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: 12px;
	letter-spacing: 0.05em;
}

.adra-bottom-cta__micro .highlight {
	color: var(--bottom-cta-color);
	font-size: 1.1em;
	margin: 0 2px;
}

.adra-bottom-cta__btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 400px;
	padding: 18px 24px;
	background-color: var(--bottom-cta-color, #333);
	color: #fff !important;
	font-size: 1.15em;
	font-weight: bold;
	text-decoration: none !important;
	border-radius: 50px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
}

.adra-bottom-cta__btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
	opacity: 0.95;
}

.adra-bottom-cta__note {
	font-size: 0.8em;
	color: #888;
	margin-top: 12px;
}

/* サービス別カラー変数 */
.adra-bottom-cta--viki   { --bottom-cta-color: #0055CC; }
.adra-bottom-cta--unext  { --bottom-cta-color: #31C6E6; }
.adra-bottom-cta--iqiyi  { --bottom-cta-color: #00BE06; }
.adra-bottom-cta--wetv   { --bottom-cta-color: #FF7B00; }
.adra-bottom-cta--youku  { --bottom-cta-color: #0080FF; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   配信サービステーブル (.drama-streaming)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.drama-streaming {
	margin-bottom: 2.5rem;
}

.drama-streaming__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.drama-streaming__table th {
	background: #b39460!important;
	font-weight: 700;
	padding: 0.65rem 1rem;
	border: 1px solid rgba(167, 137, 86, 0.1) !important
	text-align: left;
	white-space: nowrap;
}

.drama-streaming__table td {
	padding: 0.65rem 1rem;
	border: 1px solid #b39460!important;
	vertical-align: middle;
}

.drama-streaming__table tr.row--unavailable {
	opacity: 0.45;
}

.drama-streaming__table tr.row--unavailable td {
	color: #9ca3af;
}

.drama-streaming__table tr.recommended td {
	background: #fff7ed;
}

.drama-streaming__table tr.recommended td:first-child {
	font-weight: 700;
	color: #c2410c;
}

@media (max-width: 640px) {
	.drama-streaming__table {
		font-size: 0.8rem;
	}

	.drama-streaming__table th,
	.drama-streaming__table td {
		padding: 0.5rem 0.6rem;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   マニアックタグリスト (.drama-tags)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.drama-tags {
	margin-bottom: 2rem;
}

.drama-tags__heading {
	font-size: 0.85rem;
	font-weight: 700;
	color: #6b7280;
	margin-bottom: 0.5rem;
}

.drama-tags__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	padding: 0 !important;
	margin: 0;
}

.drama-tags__item a {
	display: inline-block;
	padding: 0.3em 0.9em;
	border-radius: 999px;
	color: #b39460;
	background: rgba(167, 137, 86, 0.1);
	text-decoration: none;
	transition: background 0.15s;
}

.drama-tags__item a:hover {
	color: #fff;
	background: #b39460;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   キャストリスト (.drama-cast-section)
   2列グリッドボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.drama-cast-section__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.8rem;
	list-style: none;
	padding: 0 !important;
	margin: 0;
}

.drama-cast-section__item {
	width: 100%;
}

.drama-cast-section__item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	background-color: #fff;
	color: #333;
	font-weight: bold;
	padding: 0.8em 0.5em 0.5em;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	transition: all 0.25s ease;
	text-align: center;
	line-height: 1.4;
	box-sizing: border-box;
}

/* 「関連作品を見る →」を ::after で追加 */
.drama-cast-section__item a::after {
	content: "関連作品を見る \f054";
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", sans-serif;
	font-weight: 600;
	display: block;
	font-size: 0.95rem;
	color: #b39460;
	margin-top: 0.5em;
	padding-top: 0.5em;
	border-top: 1px dashed #e5e7eb;
	width: 100%;
	text-align: center;
	letter-spacing: 0.02em;
}

.drama-cast-section__item a:hover {
	background-color: #fafafa;
	transform: translateY(-3px);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
	border-color: #b39460;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   絞り込みフィルターパネル (.adf__*)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* パネル外枠（グラデーションボーダー） */
.adf__panel {
	background:
		linear-gradient(#a12824, #7a1414) padding-box,
		linear-gradient(to right, #b39460 0%, #e0cda7 25%, #c5a059 50%, #e0cda7 75%, #b39460 100%) border-box;
	border: 2px solid transparent;
	border-radius: 14px;
	padding: 1rem;
	margin-bottom: 0;
	box-shadow: 0 4px 24px rgba(90, 10, 10, 0.22);
	position: absolute;
	width: 100%;
}

.adf__group {
	background: #fff;
	border-radius: 10px;
	margin-bottom: 0.45rem;
	overflow: hidden;
	text-align: left;
}

.adf__group:last-of-type {
	margin-bottom: 0;
}

.adf__group-header {
	display: flex;
	align-items: center;
	padding: 1rem;
	cursor: pointer;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	gap: 0.65rem;
}

.adf__group-header:hover {
	background: #fdf4ee;
	border-radius: 10px;
}

.adf__group-icon {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #f6f2e8;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color_main);
}

.adf__group-icon svg {
	width: 17px;
	height: 17px;
	display: block;
}

.adf__group-text {
	flex: 1;
	min-width: 0;
	padding-left: 10px;
}

.adf__group-label {
	font-weight: 800;
	font-size: 16px;
	margin: 0 0 10px;
	line-height: 1;
	color: #1c1917;
}

.adf__group-preview {
	font-size: 0.85rem;
	color: #a8a29e;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: min(220px, 50vw);
	line-height: 1.3;
	margin: 0;
}

.adf__group.has-selection .adf__group-preview {
	color: #9b2424;
	font-weight: 600;
}

.adf__chevron {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #f3f4f6;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
	font-size: 0.8rem;
	transition: transform 0.22s, background 0.15s, color 0.15s;
}

.adf__chevron i {
	display: block;
	margin-top: 1px;
}

.adf__group.is-open .adf__chevron {
	transform: rotate(180deg);
	background: #fde8e8;
	color: #9b2424;
}

/* アコーディオン */
.adf__btns-wrap {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.adf__group.is-open .adf__btns-wrap {
	max-height: 500px;
}

.adf__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0.5rem 0.9rem 0.85rem;
	border-top: 1px solid #f3f4f6;
}

.adf__btn {
	display: inline-flex;
	align-items: center;
	padding: 0.35em 0.95em;
	border-radius: 999px;
	border: 1.5px solid #e2d3cb;
	background: #fff;
	color: #57534e;
	font-size: 1.0rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, color 0.15s;
	white-space: nowrap;
}

.adf__btn:hover {
	border-color: #9b2424;
	color: #9b2424;
}

.adf__btn.is-active {
	background: #7a1414;
	border-color: #7a1414;
	color: #fff;
}

/* 検索ボタン行 */
.adf__search-row {
	margin-top: 1.0rem;
	display: flex;
	justify-content: center;
}

.adf__search-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 1.0em 2.4em;
	background: linear-gradient(to right, #dfba70, #fcf4ce, #dfba70);
	color: #531f18;
	border: none;
	border-radius: 999px;
	font-size: 0.95rem;
	font-weight: 800;
	cursor: pointer;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15), inset 0 2px 3px rgba(255, 255, 255, 0.8);
	transition: opacity 0.15s, transform 0.15s, box-shadow 0.15s;
	width: 100%;
	justify-content: center;
}

.adf__search-btn:hover {
	opacity: 0.9;
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2), inset 0 2px 3px rgba(255, 255, 255, 0.8);
}

.adf__search-btn svg {
	width: 16px;
	height: 16px;
}

/* リセットリンク */
.adf__reset-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3em;
	margin-top: 0.5rem;
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.6);
	cursor: pointer;
	text-decoration: none;
	transition: color 0.15s;
}

.adf__reset-link:hover {
	color: rgba(255, 255, 255, 0.95);
}
