/* =========================================================
 * アレクサンダーテクニークの学校 新デザイン
 * - .atd-top     : トップページ（page-top.php）専用。ヘッダー／予約／右下ボタン
 * - .atd-content : トップページの本文（ブロックエディタで編集する部分）
 * - .atd-footer  : 全ページ共通フッター
 * トップページ以外では、ヘッダーと本文は STORK19 のまま、フッターだけをこのデザインにします。
 * ======================================================= */

/* ---------- トップページ以外：STORK19 の標準フッターを非表示 ---------- */
body:not(.atd-is-top) #footer {
	display: none !important;
}

:root {
	--atd-accent: #B04E0F;      /* 柿色のオレンジ：申し込みボタン専用 */
	--atd-accent-dark: #8A3D0B;
	--atd-green: #2F6B4F;       /* 緑：小見出し・番号・リンク */
	--atd-green-dark: #1F4234;
	--atd-band: #2F5D4A;        /* 深緑：濃い帯 */
	--atd-band-deep: #1F4234;   /* さらに深い緑：フッター */
	--atd-ground: #F7F6EF;
	--atd-surface: #FFFFFF;
	--atd-soft: #E9F0E5;
	--atd-line: #DCE3D6;
	--atd-field: #BCC7BA;
	--atd-ink: #1F2A24;
	--atd-body: #3A4741;
	--atd-muted: #4F5C55;
	--atd-on-band: #F5F8F3;
	--atd-on-band-sub: #DCE8DF;
	--atd-on-band-accent: #FFD3B0;
	--atd-font: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, system-ui, sans-serif;
	--atd-font-display: 'Zen Kaku Gothic New', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

/* =========================================================
 * トップページ
 * ======================================================= */
body.atd-is-top {
	margin: 0;
	padding: 0;
	background: var(--atd-ground);
}

.atd-top {
	font-family: var(--atd-font);
	font-size: 16px;
	line-height: 1.8;
	color: var(--atd-ink);
	background: var(--atd-ground);
	-webkit-text-size-adjust: 100%;
}

.atd-top *,
.atd-top *::before,
.atd-top *::after {
	box-sizing: border-box;
}

.atd-top h1,
.atd-top h2,
.atd-top h3,
.atd-top p,
.atd-top figure,
.atd-top blockquote,
.atd-top ol,
.atd-top dl,
.atd-top dd {
	margin: 0;
	padding: 0;
}

.atd-top img {
	max-width: 100%;
	height: auto;
	display: block;
}

.atd-top a {
	color: var(--atd-green);
}

.atd-top a:hover {
	color: var(--atd-green-dark);
}

.atd-wrap {
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

.atd-eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--atd-green);
}

.atd-eyebrow--on-band {
	color: var(--atd-on-band-accent);
}

.atd-h2 {
	margin-top: 8px !important;
	margin-bottom: 40px !important;
	font-family: var(--atd-font-display);
	font-size: clamp(26px, 3.4vw, 36px);
	font-weight: 700;
	line-height: 1.4;
	color: inherit;
	border: 0;
	background: none;
}

.atd-h2--name {
	margin-bottom: 4px !important;
}

.atd-note {
	margin-top: 16px !important;
	font-size: 14px;
	color: var(--atd-muted);
}

.atd-textlink {
	font-weight: 700;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

/* ---------- ボタン ---------- */
.atd-top .atd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 14px 24px;
	border-radius: 999px;
	background: var(--atd-accent);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.atd-top .atd-btn:hover {
	background: var(--atd-accent-dark);
	color: #FFFFFF;
}

.atd-top .atd-btn--sm {
	padding: 10px 18px;
	font-size: 15px;
}

.atd-top .atd-btn--lg {
	padding: 16px 28px;
	font-size: 17px;
}

.atd-top .atd-btn--ghost {
	background: transparent;
	color: var(--atd-ink);
	border: 1.5px solid var(--atd-ink);
	font-weight: 500;
}

.atd-top .atd-btn--ghost:hover {
	background: var(--atd-ink);
	color: #FFFFFF;
}

.atd-top .atd-btn--white {
	margin-top: 12px;
}

.atd-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-top: 36px;
}

/* ---------- ヘッダー ---------- */
.atd-header {
	background: var(--atd-ground);
	border-bottom: 1px solid var(--atd-line);
}

.atd-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding-top: 16px;
	padding-bottom: 16px;
}

.atd-top .atd-logo {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	color: var(--atd-ink);
	text-decoration: none;
}

.atd-logo__name {
	font-family: var(--atd-font-display);
	font-weight: 700;
	font-size: 20px;
}

.atd-logo__sub {
	font-size: 12px;
	color: var(--atd-muted);
}

.atd-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 20px;
	font-size: 15px;
}

.atd-top .atd-nav a:not(.atd-btn) {
	color: var(--atd-ink);
	text-decoration: none;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.atd-top .atd-nav a:not(.atd-btn):hover {
	color: var(--atd-green);
}

/* =========================================================
 * 本文（ブロックエディタで編集する部分）
 * 本文のブロックに付けた「追加CSSクラス」（atd-〜）でデザインを当てています。
 * ======================================================= */

/* クラシックテーマで自動的に挟まる内側の div を「ないもの」として扱う */
.atd-content .wp-block-group__inner-container {
	display: contents;
}

/* ブロック同士の余白はすべて、親の gap で管理する */
.atd-content :is(p, h1, h2, h3, h4, figure, details, ul, ol, .wp-block-group, .wp-block-buttons) {
	margin: 0;
}

.atd-content img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ---------- セクション共通 ---------- */
.atd-content > .atd-sec {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 96px max(24px, calc((100% - 1112px) / 2));
}

.atd-content > .atd-sec--white {
	background: var(--atd-surface);
}

.atd-content > .atd-sec--flush {
	padding-top: 0;
}

.atd-content > .atd-sec--narrow {
	padding-left: max(24px, calc((100% - 812px) / 2));
	padding-right: max(24px, calc((100% - 812px) / 2));
}

.atd-content > .atd-band {
	background: var(--atd-band);
	color: var(--atd-on-band);
}

.atd-content .atd-h2 {
	margin-bottom: 32px !important;
}

.atd-content .atd-note {
	margin-top: 16px;
}

.atd-content .atd-empty {
	padding: 24px;
	background: var(--atd-surface);
	border: 2px dashed var(--atd-field);
	border-radius: 16px;
}

/* ---------- ボタン（ボタンブロック） ---------- */
.atd-content .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-top: 24px;
}

.atd-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 14px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--atd-accent);
	color: #FFFFFF;
	font-family: var(--atd-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.atd-content .wp-block-button__link:hover,
.atd-content .wp-block-button__link:focus-visible {
	background: var(--atd-accent-dark);
	color: #FFFFFF;
}

.atd-content .atd-btn-lg .wp-block-button__link {
	padding: 16px 28px;
	font-size: 17px;
}

.atd-content .atd-btn-ghost .wp-block-button__link {
	background: transparent;
	color: var(--atd-ink);
	border: 1.5px solid var(--atd-ink);
	font-weight: 500;
}

.atd-content .atd-btn-ghost .wp-block-button__link:hover {
	background: var(--atd-ink);
	color: #FFFFFF;
}

.atd-content .atd-btn-text .wp-block-button__link {
	background: transparent;
	color: var(--atd-green);
	padding-left: 0;
	padding-right: 0;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.atd-content .atd-btn-text .wp-block-button__link:hover {
	background: transparent;
	color: var(--atd-green-dark);
}

/* ---------- ヒーロー ---------- */
.atd-content > .atd-hero {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 56px;
	padding-top: 88px;
	padding-bottom: 72px;
}

.atd-content .atd-hero__text {
	flex: 999 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.atd-content .atd-hero .atd-eyebrow {
	margin-bottom: 16px;
	font-size: 15px;
}

.atd-content .atd-hero__title {
	font-family: var(--atd-font-display);
	font-size: clamp(30px, 5vw, 54px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.01em;
	color: var(--atd-ink);
}

.atd-content .atd-lead {
	margin-top: 24px;
	max-width: 34em;
	font-size: 18px;
	color: var(--atd-body);
}

.atd-content .atd-hero .wp-block-buttons {
	margin-top: 36px;
}

/* 写真（画像ブロックを2枚以上入れると自動で切り替わる） */
.atd-content .atd-slides {
	flex: 1 1 340px;
	min-width: 0;
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 24px;
	overflow: hidden;
	background: var(--atd-soft);
}

.atd-content .atd-slides .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
}

.atd-content .atd-slides .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* スクリプトが動く前は1枚目だけ表示 */
.atd-content .atd-slides .wp-block-image ~ .wp-block-image {
	opacity: 0;
}

.atd-content .atd-slides.is-ready .wp-block-image {
	opacity: 0;
	transition: opacity 1.2s ease;
}

.atd-content .atd-slides.is-ready .wp-block-image.is-active {
	opacity: 1;
}

.atd-slides__toggle {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	min-height: 36px;
	padding: 6px 14px;
	font: inherit;
	font-size: 12px;
	color: #FFFFFF;
	background: rgba(31, 42, 36, 0.72);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}

.atd-slides__toggle:hover,
.atd-slides__toggle:focus-visible {
	background: rgba(31, 42, 36, 0.9);
}

@media (prefers-reduced-motion: reduce) {
	.atd-content .atd-slides.is-ready .wp-block-image {
		transition: none;
	}
}

/* ---------- 実績の帯 ---------- */
.atd-content > .atd-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 24px;
	padding-top: 40px;
	padding-bottom: 40px;
}

.atd-content .atd-stat__num {
	font-family: var(--atd-font-display);
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
}

.atd-content .atd-stat__label {
	margin-top: 6px;
	font-size: 14px;
	color: var(--atd-on-band-sub);
}

/* ---------- カード（お悩み別／体験談） ---------- */
.atd-content .atd-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}

.atd-content .atd-card,
.atd-content .atd-voice {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 32px;
	border-radius: 20px;
	color: var(--atd-body);
}

.atd-content .atd-card {
	background: var(--atd-surface);
}

.atd-content .atd-voice {
	gap: 20px;
	background: var(--atd-ground);
}

.atd-content .atd-card__title {
	font-family: var(--atd-font-display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--atd-ink);
}

.atd-content .atd-card__foot {
	margin-top: auto;
	font-size: 14px;
	color: var(--atd-muted);
}

.atd-content .atd-card__link {
	font-size: 16px;
	font-weight: 700;
}

.atd-content .atd-voice__text {
	font-size: 17px;
	line-height: 1.9;
	color: var(--atd-ink);
}

.atd-content .atd-voice__name {
	margin-top: auto;
	font-size: 14px;
	color: var(--atd-muted);
}

.atd-content .atd-voice__name strong {
	color: var(--atd-ink);
}

/* ---------- 初回体験の流れ ---------- */
.atd-content .atd-flow {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: clamp(28px, 5vw, 64px);
	background: var(--atd-soft);
	border-radius: 28px;
}

.atd-content .atd-flow .atd-h2 {
	margin-bottom: 4px !important;
}

.atd-content .atd-flow__lead {
	max-width: 40em;
	margin-bottom: 32px;
	color: var(--atd-body);
}

.atd-content .atd-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}

.atd-content .atd-step {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 15px;
	color: var(--atd-body);
}

.atd-content .atd-step__num {
	font-family: var(--atd-font-display);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--atd-green);
}

.atd-content .atd-step__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--atd-ink);
}

/* ---------- 料金 ---------- */
.atd-content .atd-price {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.atd-content .atd-price-card {
	flex: 1 1 320px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 36px;
	background: var(--atd-surface);
	border-radius: 24px;
	color: var(--atd-ink);
}

.atd-content .atd-price-card--main {
	background: var(--atd-band);
	color: var(--atd-on-band);
}

.atd-content .atd-price-card__tag {
	font-size: 14px;
	font-weight: 700;
	color: var(--atd-muted);
}

.atd-content .atd-price-card--main .atd-price-card__tag {
	color: var(--atd-on-band-accent);
}

.atd-content .atd-price-card__title {
	font-family: var(--atd-font-display);
	font-size: 24px;
	font-weight: 700;
	color: inherit;
}

.atd-content .atd-price-card__num {
	margin-top: 4px;
	font-family: var(--atd-font-display);
	font-size: 44px;
	font-weight: 700;
	line-height: 1.2;
}

.atd-content .atd-price-card__unit {
	font-size: 15px;
	color: var(--atd-muted);
}

.atd-content .atd-price-card--main .atd-price-card__unit,
.atd-content .atd-price-card__desc {
	color: var(--atd-on-band-sub);
}

.atd-content .atd-price-card__desc {
	margin-top: 8px;
	font-size: 15px;
}

.atd-content .atd-price-card .wp-block-buttons {
	margin-top: 16px;
}

.atd-content .atd-bulk {
	display: flex;
	flex-direction: column;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--atd-line);
}

.atd-content .atd-bulk__title {
	margin-bottom: 4px;
	font-size: 15px;
	font-weight: 700;
}

.atd-content .atd-bulk__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 0;
	font-size: 15px;
}

.atd-content .atd-bulk__small {
	margin-top: 8px;
	font-size: 13px;
	color: var(--atd-muted);
}

/* ---------- 講師 ---------- */
.atd-content > .atd-teacher {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 48px;
}

.atd-content .atd-teacher__photo {
	flex: 1 1 260px;
	max-width: 340px;
	min-width: 0;
}

.atd-content .atd-teacher__photo img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 24px;
	background: var(--atd-soft);
}

.atd-content .atd-teacher__body {
	flex: 999 1 480px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--atd-body);
}

.atd-content .atd-teacher__body .atd-eyebrow {
	margin-bottom: -8px;
}

.atd-content .atd-h2--name {
	margin-bottom: 0 !important;
}

.atd-content .atd-teacher__role {
	margin-top: -12px;
	margin-bottom: 8px;
	color: var(--atd-muted);
}

.atd-content .atd-books {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 8px;
}

.atd-content .atd-book {
	flex: 1 1 240px;
	padding: 20px;
	background: var(--atd-ground);
	border-radius: 16px;
	font-size: 15px;
	color: var(--atd-muted);
}

.atd-content .atd-book strong {
	color: var(--atd-ink);
}

.atd-content .atd-textlink {
	font-weight: 700;
}

/* ---------- よくある質問（詳細ブロック） ---------- */
.atd-content .atd-faq {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.atd-content .atd-faq .wp-block-details {
	padding: 20px 24px;
	background: var(--atd-surface);
	border-radius: 16px;
}

.atd-content .atd-faq summary {
	cursor: pointer;
	font-size: 17px;
	font-weight: 700;
	color: var(--atd-ink);
}

.atd-content .atd-faq .wp-block-details > :not(summary) {
	margin-top: 12px;
	color: var(--atd-body);
}

/* ---------- 予約エリア ---------- */
.atd-reserve {
	background: var(--atd-band);
	color: var(--atd-on-band);
}

.atd-reserve__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	padding-top: 96px;
	padding-bottom: 96px;
}

.atd-reserve__info {
	flex: 1 1 320px;
	min-width: 0;
	color: var(--atd-on-band-sub);
	font-size: 15px;
}

.atd-reserve__info .atd-h2 {
	margin-bottom: 16px !important;
	color: var(--atd-on-band);
}

.atd-reserve__info p + p {
	margin-top: 16px !important;
}

.atd-reserve__info strong {
	color: var(--atd-on-band);
}

.atd-top .atd-reserve__info a {
	color: var(--atd-on-band);
}

.atd-form {
	flex: 999 1 480px;
	align-self: flex-start;
	min-width: 0;
	background: var(--atd-surface);
	color: var(--atd-ink);
	border-radius: 24px;
	padding: clamp(24px, 4vw, 40px);
}

.atd-form__fallback {
	font-size: 16px;
}

/* Contact Form 7 の見た目を合わせる */
.atd-form .wpcf7-form p {
	margin: 0 0 20px !important;
}

.atd-form label {
	display: block;
	font-weight: 700;
	font-size: 15px;
}

.atd-form input[type="text"],
.atd-form input[type="email"],
.atd-form input[type="tel"],
.atd-form textarea,
.atd-form select {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	min-height: 48px;
	font: inherit;
	font-weight: 400;
	color: var(--atd-ink);
	background: #FFFFFF;
	border: 1.5px solid var(--atd-field);
	border-radius: 10px;
	box-shadow: none;
}

.atd-form textarea {
	min-height: 120px;
	resize: vertical;
}

.atd-form input:focus,
.atd-form textarea:focus {
	outline: 2px solid var(--atd-green);
	outline-offset: 1px;
	border-color: var(--atd-green);
}

.atd-form .wpcf7-radio .wpcf7-list-item,
.atd-form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0 24px 0 0;
}

.atd-form .wpcf7-radio label,
.atd-form .wpcf7-acceptance label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-weight: 400;
}

.atd-form input[type="submit"] {
	width: 100%;
	min-height: 52px;
	padding: 16px 28px;
	font: inherit;
	font-size: 17px;
	font-weight: 700;
	color: #FFFFFF;
	background: var(--atd-accent);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.atd-form input[type="submit"]:hover {
	background: var(--atd-accent-dark);
}

/* ---------- 画面右下の予約ボタン ---------- */
.atd-top .atd-fab {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 50;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 14px 22px;
	border-radius: 999px;
	background: var(--atd-accent);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	box-shadow: 0 6px 20px rgba(42, 31, 24, 0.25);
}

.atd-top .atd-fab:hover {
	background: var(--atd-accent-dark);
	color: #FFFFFF;
}

/* ---------- スマートフォン ---------- */
@media (max-width: 720px) {
	.atd-content > .atd-sec {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.atd-content > .atd-sec--flush {
		padding-top: 0;
	}

	.atd-content > .atd-hero {
		padding-top: 40px;
		padding-bottom: 48px;
		gap: 32px;
	}

	.atd-content > .atd-stats {
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.atd-content .atd-lead {
		font-size: 16px;
	}

	/* スマホでは見出しの改行を外し、文節で自然に折り返す */
	.atd-content .atd-hero__title br,
	.atd-content .atd-card__title br {
		display: none;
	}

	.atd-content .atd-hero__title,
	.atd-content .atd-h2,
	.atd-content .atd-card__title {
		word-break: auto-phrase;
	}

	.atd-content .atd-btn-lg .wp-block-button__link {
		padding: 14px 20px;
		font-size: 16px;
	}

	.atd-content > .atd-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.atd-content .atd-stat__num {
		font-size: 26px;
	}

	.atd-reserve__inner {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.atd-nav {
		width: 100%;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 16px;
		white-space: nowrap;
	}

	.atd-nav .atd-btn {
		display: none;
	}

	.atd-content .atd-card,
	.atd-content .atd-voice,
	.atd-content .atd-price-card {
		padding: 24px;
	}

	.atd-content .atd-price-card__num {
		font-size: 36px;
	}

	body.atd-is-top .atd-footer {
		padding-bottom: 80px;
	}
}

/* =========================================================
 * 全ページ共通フッター
 * ======================================================= */
.atd-footer {
	background: var(--atd-band-deep);
	color: var(--atd-on-band-sub);
	font-family: var(--atd-font);
	font-size: 14px;
	line-height: 1.8;
	clear: both;
}

.atd-footer *,
.atd-footer *::before,
.atd-footer *::after {
	box-sizing: border-box;
}

.atd-footer p,
.atd-footer ul,
.atd-footer li {
	margin: 0;
	padding: 0;
}

.atd-footer ul {
	list-style: none;
}

.atd-footer li::before {
	content: none;
}

.atd-footer a {
	color: var(--atd-on-band-sub);
	text-decoration: none;
}

.atd-footer a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

.atd-footer__inner {
	max-width: 1160px;
	margin: 0 auto;
	padding: 64px 24px 32px;
}

.atd-footer__top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(250, 243, 236, 0.2);
}

.atd-footer__name {
	font-family: var(--atd-font-display);
	font-size: 20px;
	font-weight: 700;
	color: var(--atd-on-band);
}

.atd-footer .atd-footer__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 24px;
	border-radius: 999px;
	background: var(--atd-accent);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}

.atd-footer .atd-footer__cta:hover {
	background: var(--atd-accent-dark);
	color: #FFFFFF;
	text-decoration: none;
}

.atd-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 32px 24px;
	padding: 40px 0;
}

.atd-footer__title {
	margin-bottom: 12px !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--atd-on-band-accent);
}

.atd-footer__cols li a {
	display: inline-block;
	padding: 6px 0;
}

.atd-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(250, 243, 236, 0.2);
}

.atd-footer__copy {
	color: var(--atd-on-band-sub);
}

.atd-footer__copy strong {
	color: var(--atd-on-band);
}

.atd-footer__copy small {
	font-size: 12px;
}

.atd-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 20px;
}

.atd-footer__legal a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
