/*
Theme Name: ImpactAction
Theme URI: https://impactaction.vote
Author: ImpactAction
Description: "Midnight Luxe" – a premium dark, fully responsive multi-page theme for ImpactAction. Customize colours, header, hero, pillars card, mission/vision, footer and forms from Appearance → Customize. Add or delete pages freely: new pages appear in the menu automatically.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: impactaction
Tags: custom-logo, custom-menu, featured-images, full-width-template, theme-options, translation-ready, block-styles, wide-blocks, dark
*/

/* ==========================================================================
   1. Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 110px; }

body {
	margin: 0;
	background: var(--ia-bg, #070e2b);
	color: var(--ia-text, #f4efe9);
	font-family: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.75;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

img, video, iframe, svg { max-width: 100%; height: auto; }
a { color: var(--ia-accent); text-underline-offset: 3px; }
a:hover, a:focus { color: #fff; }
p { margin: 0 0 1.1em; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .5em;
	color: var(--ia-text);
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.01em;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; margin: 0;
	top: 8px; left: 8px; z-index: 1000;
	padding: .75rem 1rem; background: #fff; color: var(--ia-navy);
}
:focus-visible { outline: 3px solid var(--ia-accent); outline-offset: 3px; }
.ia-center { text-align: center; }

/* ==========================================================================
   2. Layout
   ========================================================================== */
.ia-container { width: min(100% - 2.5rem, 1240px); margin-inline: auto; }
.ia-container--narrow { width: min(100% - 2.5rem, 780px); }
.ia-container--wide   { width: min(100% - 2.5rem, 1040px); }
.ia-container--full   { width: 100%; max-width: none; }
.ia-section { padding-block: clamp(2rem, 5vw, 4rem); }
.ia-container--full.ia-section { padding-inline: 0; }
.ia-main { min-height: 55vh; }

/* ==========================================================================
   3. Header – floating pill
   ========================================================================== */
.ia-header {
	position: sticky;
	top: 0;
	z-index: 100;
	padding: 16px 20px 0;
	pointer-events: none;
}
.admin-bar .ia-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ia-header { top: 46px; } }

.ia-header__pill {
	pointer-events: auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: 1240px;
	margin-inline: auto;
	padding: 9px 10px 9px 18px;
	background: var(--ia-surface);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}

.ia-brand { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.ia-brand .custom-logo-link { display: block; line-height: 0; flex: none; }
.ia-brand .custom-logo, .ia-brand img { width: auto; height: var(--ia-logo-h, 48px); max-width: none; border-radius: 50%; }
.ia-brand__name {
	color: var(--ia-text);
	font-size: .8rem; font-weight: 600;
	letter-spacing: .16em; text-transform: uppercase;
	text-decoration: none; white-space: nowrap;
}
.ia-brand__name:hover { color: var(--ia-accent); }

.ia-menu, .ia-footer-menu, .ia-social {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; align-items: center;
	gap: .25rem 2rem;
}
.ia-nav a {
	display: block; padding: .5rem 0;
	color: var(--ia-text);
	font-size: .9rem; letter-spacing: .06em;
	text-decoration: none;
	transition: color .2s;
}
.ia-nav a:hover,
.ia-nav .current-menu-item > a,
.ia-nav .current_page_item > a { color: var(--ia-accent); }
.ia-nav .ia-nav__cta { display: none; }

/* Dropdowns */
.ia-menu li { position: relative; }
.ia-menu .sub-menu {
	list-style: none; margin: 0; padding: .5rem 1.1rem;
	position: absolute; left: -1rem; top: 100%;
	min-width: 210px;
	background: var(--ia-surface);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .4);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: all .2s;
}
.ia-menu li:hover > .sub-menu,
.ia-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

/* Mobile toggle */
.ia-nav-toggle {
	display: none; width: 46px; height: 46px; padding: 0;
	background: transparent; border: 0; border-radius: 50%; cursor: pointer;
}
.ia-nav-toggle__bars, .ia-nav-toggle__bars::before, .ia-nav-toggle__bars::after {
	display: block; width: 22px; height: 2px; margin: auto;
	background: var(--ia-text); transition: transform .25s;
}
.ia-nav-toggle__bars { position: relative; }
.ia-nav-toggle__bars::before, .ia-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.ia-nav-toggle__bars::before { top: -7px; }
.ia-nav-toggle__bars::after  { top: 7px; }
.ia-nav-toggle[aria-expanded="true"] .ia-nav-toggle__bars { background: transparent; }
.ia-nav-toggle[aria-expanded="true"] .ia-nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.ia-nav-toggle[aria-expanded="true"] .ia-nav-toggle__bars::after  { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 960px) {
	.ia-brand__name { font-size: .72rem; letter-spacing: .12em; }
	.ia-header .ia-header__cta { display: none; }
	.ia-nav-toggle { display: block; }
	.ia-nav {
		position: absolute; left: 0; right: 0; top: calc(100% + 10px);
		display: none;
		padding: .75rem 1.5rem 1.5rem;
		background: var(--ia-surface);
		border: 1px solid rgba(255, 255, 255, .12);
		border-radius: 24px;
		box-shadow: 0 16px 36px rgba(0, 0, 0, .45);
	}
	.ia-nav.is-open { display: block; }
	.ia-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.ia-nav a:not(.ia-btn) { padding: .9rem 0; font-size: 1.05rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.ia-nav .ia-nav__cta { display: block; margin-top: 1.1rem; text-align: center; }
	.ia-menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; border: 0; background: transparent; padding: 0 0 0 1rem;
	}
}
@media (max-width: 420px) { .ia-brand__name { display: none; } }

/* ==========================================================================
   4. Buttons
   ========================================================================== */
.ia-btn,
.wp-block-button__link,
.ia-form button[type="submit"] {
	display: inline-block;
	padding: 1rem 1.9rem;
	background: var(--ia-red);
	color: #fff;
	border: 1px solid var(--ia-red);
	border-radius: 999px;
	font: 600 .8rem/1.2 "Jost", system-ui, sans-serif;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s, border-color .2s, transform .2s;
}
.ia-btn:hover, .wp-block-button__link:hover,
.ia-form button[type="submit"]:hover { background: #e01238; border-color: #e01238; color: #fff; transform: translateY(-1px); }
.ia-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .35); color: var(--ia-text); }
.ia-btn--ghost:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
.ia-btn--navy { background: var(--ia-navy); border-color: var(--ia-navy); }
.ia-btn--sm { padding: .7rem 1.3rem; font-size: .75rem; }
.ia-header__cta { padding: .85rem 1.6rem; flex: none; }

.ia-cta { text-align: center; margin: 1.5rem 0; }
.ia-cta-wrap:not(:empty) { padding: 1.25rem 1.25rem 0; }
.ia-cta-wrap .ia-cta { margin: 0; }

/* ==========================================================================
   5. Home
   ========================================================================== */
.ia-hero { text-align: center; padding: clamp(3rem, 9vw, 7rem) 0 clamp(2rem, 4vw, 3.5rem); }
.ia-hero__eyebrow {
	margin: 0 0 1.4rem;
	color: var(--ia-accent);
	font-size: .8rem; font-weight: 500;
	letter-spacing: .3em; text-transform: uppercase;
}
.ia-hero__title {
	margin: 0;
	font-size: clamp(3rem, 10.5vw, 8.25rem);
	font-weight: 500;
	line-height: .95;
	letter-spacing: -.02em;
}
.ia-hero__title span { display: inline-block; }
.ia-hero__title .l1 { color: var(--ia-l1); }
.ia-hero__title .l2 { color: var(--ia-l2); }
.ia-hero__title .l3 { display: block; color: var(--ia-l3); font-style: italic; }
.ia-hero__sub { max-width: 640px; margin: 1.8rem auto 0; font-size: 1.15rem; opacity: .85; }
.ia-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 2.5rem; }

/* Large photo + overlapping pillars card */
.ia-hero-photo { position: relative; margin-bottom: clamp(1rem, 3vw, 2.5rem); }
.ia-hero-photo.has-pillars { margin-bottom: 4.5rem; }
.ia-hero-photo__img {
	position: relative;
	height: var(--ia-photo-h, 440px);
	border-radius: 28px;
	background: #16276a center / cover no-repeat;
	overflow: hidden;
}
.ia-hero-photo__img::before {
	content: "";
	position: absolute; inset: 0;
	opacity: .08;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpolygon fill='%23fff' points='45,28 49,40 62,40 52,48 56,60 45,53 34,60 38,48 28,40 41,40'/%3E%3C/svg%3E");
}
.ia-hero-photo__img.has-pic::before { display: none; }
.ia-hero-photo__pic { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ia-pillars {
	position: absolute; right: 2rem; bottom: -2.5rem;
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr);
	width: min(640px, calc(100% - 4rem));
	background: var(--ia-peach);
	color: var(--ia-navy);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.ia-pillar { display: flex; flex-direction: column; gap: .2rem; padding: 1.4rem; font-size: .9rem; line-height: 1.4; }
.ia-pillar + .ia-pillar { border-left: 1px solid rgba(11, 31, 91, .15); }
.ia-pillar__icon { display: block; width: 26px; height: 26px; margin-bottom: .3rem; color: var(--ia-red); }
.ia-pillar__icon svg { width: 26px; height: 26px; }
.ia-pillar strong { font-size: 1.1rem; font-weight: 600; color: var(--ia-navy); }
.ia-pillar--2 strong { color: var(--ia-red); }

@media (max-width: 760px) {
	.ia-hero-photo__img { height: min(var(--ia-photo-h, 440px), 300px); border-radius: 22px; }
	.ia-hero-photo.has-pillars { margin-bottom: 2rem; }
	.ia-pillars {
		position: relative; right: auto; bottom: auto;
		grid-template-columns: 1fr;
		width: calc(100% - 2rem); margin: -2rem auto 0;
	}
	.ia-pillar { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .1rem .75rem; padding: 1.1rem 1.25rem; }
	.ia-pillar + .ia-pillar { border-left: 0; border-top: 1px solid rgba(11, 31, 91, .15); }
	.ia-pillar__icon { margin: 0; }
	.ia-pillar > span:last-child { flex-basis: 100%; padding-left: 2.35rem; margin-top: -.4rem; }
}

/* Mission & vision */
.ia-about { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.ia-about + .ia-about { border-top: 1px solid rgba(255, 255, 255, .1); }
.ia-about__grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.ia-about h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 4rem); }
.ia-about__text { font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.75; color: color-mix(in srgb, var(--ia-text) 82%, transparent); }
.ia-about__text > *:last-child { margin-bottom: 0; }
@media (max-width: 760px) { .ia-about__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   6. Inner pages
   ========================================================================== */
.ia-strip { text-align: center; padding: clamp(2rem, 5vw, 3.5rem) 1.25rem 0; }
.ia-strip p {
	display: inline-block; margin: 0;
	padding: .5rem 1.2rem;
	border: 1px solid rgba(255, 141, 163, .4);
	border-radius: 999px;
	color: var(--ia-accent);
	font-size: .75rem; font-weight: 500;
	letter-spacing: .22em; text-transform: uppercase;
}

.ia-banner { margin-top: 1.75rem; }
.ia-banner img {
	display: block; width: 100%;
	height: clamp(190px, 32vw, 440px);
	object-fit: cover;
	border-radius: 28px;
}

.ia-title {
	margin-bottom: .9em;
	text-align: center;
	font-size: clamp(2.5rem, 6.5vw, 4.75rem);
	line-height: 1;
}

.entry-content { font-size: 1.0625rem; color: color-mix(in srgb, var(--ia-text) 88%, transparent); }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content h2 { font-size: clamp(2rem, 4.5vw, 3.1rem); }
.entry-content h3 { font-size: clamp(1.5rem, 3vw, 2rem); }
.entry-content strong, .entry-content b { color: var(--ia-text); font-weight: 600; }
.entry-content .has-text-align-center { text-align: center; }

/* Arrow bullets */
.entry-content ul, .ia-comments ul { list-style: none; padding-left: 0; margin: 0 0 1.4em; }
.entry-content ul > li { position: relative; padding: .55rem 0 .55rem 2.3rem; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.entry-content ul > li:last-child { border-bottom: 0; }
.entry-content ul > li::before {
	content: "";
	position: absolute; left: .1rem; top: 1em;
	width: 1.1rem; height: 1.1rem;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8da3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8M13 8l4 4-4 4'/%3E%3C/svg%3E");
}
.entry-content ul ul { margin: .4rem 0 0; }
.entry-content ol { padding-left: 1.4rem; }
.entry-content ol > li { padding: .3rem 0; }
.entry-content img { border-radius: 18px; }
.entry-content blockquote {
	margin: 1.75rem 0; padding: .25rem 1.5rem;
	border-left: 3px solid var(--ia-red);
	font-family: "Cormorant Garamond", serif; font-size: 1.6rem; font-style: italic;
}
.entry-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.entry-content th, .entry-content td { padding: .65rem .85rem; border: 1px solid rgba(255, 255, 255, .15); }
.entry-content hr, .wp-block-separator { border: 0; border-top: 1px solid rgba(255, 255, 255, .15); margin: 2rem 0; }

.alignleft  { float: left;  margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
@media (max-width: 600px) { .alignleft, .alignright { float: none; display: block; margin: 0 auto 1rem; } }

.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.entry-content .alignwide { width: min(100vw - 2.5rem, 1240px); max-width: none; position: relative; left: 50%; transform: translateX(-50%); }

/* Colour helpers: add as "Additional CSS class" to any Group block */
.ia-bg-red     { background: var(--ia-red);     color: #fff;           padding: 2rem 1.5rem; border-radius: 24px; }
.ia-bg-navy    { background: var(--ia-navy);    color: #fff;           padding: 2rem 1.5rem; border-radius: 24px; }
.ia-bg-surface { background: var(--ia-surface); color: var(--ia-text); padding: 2rem 1.5rem; border-radius: 24px; }
.ia-bg-peach   { background: var(--ia-peach);   color: var(--ia-navy); padding: 2rem 1.5rem; border-radius: 24px; }
.ia-bg-peach h1, .ia-bg-peach h2, .ia-bg-peach h3, .ia-bg-peach strong { color: var(--ia-navy); }
.has-ia-red-background-color     { background-color: var(--ia-red); }
.has-ia-navy-background-color    { background-color: var(--ia-navy); }
.has-ia-bg-background-color      { background-color: var(--ia-bg); }
.has-ia-surface-background-color { background-color: var(--ia-surface); }
.has-ia-peach-background-color   { background-color: var(--ia-peach); }
.has-ia-accent-color { color: var(--ia-accent); }
.has-ia-red-color    { color: var(--ia-red); }
.has-ia-text-color   { color: var(--ia-text); }
.ia-edit { margin-top: 2rem; font-size: .8rem; }

/* ==========================================================================
   7. Forms (light card on the dark page)
   ========================================================================== */
.ia-form-section { padding: clamp(1.5rem, 4vw, 3rem) 1.25rem clamp(3rem, 7vw, 5rem); }
.entry-content .ia-form-card { margin-top: 2.5rem; }
.ia-form-card {
	width: min(100%, 580px);
	margin-inline: auto;
	background: var(--ia-peach);
	color: var(--ia-navy);
	border-radius: 28px;
	box-shadow: 0 24px 50px rgba(0, 0, 0, .35);
	overflow: hidden;
	font-size: .95rem;
}
.ia-form-card__head { padding: 1.9rem 1.75rem 1.2rem; text-align: center; border-bottom: 1px solid rgba(11, 31, 91, .12); }
.ia-form-card__head h2 { margin: 0 0 .2rem; color: var(--ia-navy); font-size: 2rem; }
.ia-form-card__head p { margin: 0; font-size: .85rem; color: #4a5486; }

.ia-form { padding: 1.5rem 1.75rem 1.75rem; }
.ia-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.ia-form legend, .ia-form label { display: block; margin-bottom: .3rem; padding: 0; font-size: .85rem; font-weight: 500; color: var(--ia-navy); }
.ia-form .req { color: var(--ia-red); }
.ia-form input[type="text"], .ia-form input[type="email"], .ia-form input[type="tel"] {
	width: 100%; padding: .75rem .9rem;
	background: #fff; color: #14183a;
	border: 1px solid rgba(11, 31, 91, .25);
	border-radius: 12px;
	font: inherit; font-size: .95rem;
}
.ia-form input:focus { border-color: var(--ia-navy); box-shadow: 0 0 0 3px rgba(11, 31, 91, .15); outline: 0; }
.ia-form small { display: block; margin-top: .25rem; font-size: .72rem; color: #5a6393; }

.ia-row { display: grid; gap: .9rem; margin-bottom: 1.15rem; }
.ia-row--2 { grid-template-columns: 1fr 1fr; }
.ia-row--flush { margin-bottom: 0; }
fieldset.ia-row { gap: .8rem; }
@media (max-width: 520px) { .ia-row--2 { grid-template-columns: 1fr; } }

.ia-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.ia-file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ia-drop {
	display: flex; flex-direction: column; align-items: center; gap: .15rem;
	padding: 1.2rem 1rem;
	border: 1.5px dashed rgba(11, 31, 91, .4);
	border-radius: 14px; background: rgba(255, 255, 255, .55);
	text-align: center; cursor: pointer; color: var(--ia-navy);
	transition: background .2s, border-color .2s;
}
.ia-drop:hover, .ia-file:focus + .ia-drop { background: #fff; border-color: var(--ia-navy); }
.ia-drop__icon { font-size: 1.5rem; line-height: 1; color: #6b74a3; }
.ia-drop__name { font-size: .75rem; color: #5a6393; word-break: break-all; }

.ia-form-note { font-size: .8rem; color: #4a5486; }
.ia-form-note a { color: var(--ia-red); }
.ia-form-actions { padding-top: 1.1rem; border-top: 1px solid rgba(11, 31, 91, .12); text-align: center; }
.ia-form-card .ia-btn--navy:hover, .ia-form button[type="submit"].ia-btn--navy:hover { background: var(--ia-red); border-color: var(--ia-red); }

.ia-notice { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: 12px; font-size: .9rem; }
.ia-notice--ok  { background: #e1f5e8; color: #14532d; border: 1px solid #9bd6b0; }
.ia-notice--err { background: #fde3e8; color: #86102a; border: 1px solid #f1a3b2; }

/* ==========================================================================
   8. Cards (jobs list, blog)
   ========================================================================== */
.ia-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 1.5rem; }
.ia-card {
	display: flex; flex-direction: column;
	background: var(--ia-surface);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 24px;
	overflow: hidden;
	transition: transform .2s, border-color .2s;
}
.ia-card:hover { transform: translateY(-4px); border-color: rgba(255, 141, 163, .5); }
.ia-card__img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ia-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.6rem; }
.ia-card__body p { font-size: .95rem; opacity: .85; }
.ia-card__body .ia-btn { margin-top: auto; }
.ia-card__title { font-size: 1.7rem; margin-bottom: .5rem; }
.ia-card__title a { color: var(--ia-text); text-decoration: none; }
.ia-card__title a:hover { color: var(--ia-accent); }
.ia-card__meta { margin-bottom: .3rem; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ia-accent); }
.ia-empty { text-align: center; opacity: .8; }

.navigation.pagination { margin-top: 2.5rem; text-align: center; }
.page-numbers { display: inline-block; margin: 0 .15rem; padding: .4rem .9rem; border-radius: 999px; color: var(--ia-text); text-decoration: none; background: var(--ia-surface); }
.page-numbers.current, .page-numbers:hover { background: var(--ia-red); color: #fff; }

.ia-comments { padding-bottom: 3rem; }
.ia-comments input[type="text"], .ia-comments input[type="email"], .ia-comments input[type="url"], .ia-comments textarea {
	width: 100%; padding: .7rem; background: var(--ia-surface); color: var(--ia-text);
	border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; font: inherit;
}
.ia-comments .comment-list { list-style: none; padding: 0; }
.search-form input[type="search"] { padding: .7rem 1rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .25); background: var(--ia-surface); color: var(--ia-text); }

/* ==========================================================================
   9. Footer
   ========================================================================== */
.ia-footer { margin-top: 3rem; background: var(--ia-footer-bg, #050a20); border-top: 1px solid rgba(255, 255, 255, .08); color: var(--ia-text); font-size: .95rem; }
.ia-footer a { color: var(--ia-text); text-decoration: none; }
.ia-footer a:hover { color: var(--ia-accent); }
.ia-footer__widgets { padding-block: 2.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; }
.ia-footer .widget-title { font-size: 1.4rem; }
.ia-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; padding-block: 2.25rem; }
.ia-footer__brand .custom-logo-link { display: block; line-height: 0; }
.ia-footer__brand img { height: 64px; width: auto; border-radius: 50%; }
.ia-footer-menu a, .ia-social a { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.ia-footer__copy { border-top: 1px solid rgba(255, 255, 255, .08); padding-block: 1.1rem; font-size: .8rem; color: color-mix(in srgb, var(--ia-text) 70%, transparent); }
.ia-footer__copy .ia-container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1.5rem; }
.ia-footer__copy p { margin: 0; }
@media (max-width: 700px) {
	.ia-footer__bar { flex-direction: column; text-align: center; }
	.ia-footer-menu, .ia-social { justify-content: center; }
	.ia-footer__copy .ia-container { flex-direction: column; text-align: center; }
}

/* ==========================================================================
   10. Misc
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
	body { background: #fff; color: #000; }
	.ia-header, .ia-footer, .ia-form-section { display: none; }
}
