/*
Theme Name: IPTV Ireland Hub
Theme URI: http://iptvirelandhub.com/
Author: IPTV Ireland Hub
Author URI: http://iptvirelandhub.com/
Description: Production-ready custom WordPress theme for IPTV Ireland Hub. Sports Broadcast Energy design family — dark match-night UI with neon-green accents, scoreboard pricing, and conversion-focused, Ireland-localized content. Mobile-first, accessible, fast, SEO-ready.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iptv-ireland-hub
Tags: custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready
*/

/* =========================================================================
   IPTV IRELAND HUB — DESIGN SYSTEM
   Design family: Sports Broadcast Energy
   Prefix: iih-
   ========================================================================= */

/* ---- 1. Design tokens ---- */
:root {
	--iih-bg: #0c1117;
	--iih-bg-soft: #131c26;
	--iih-bg-elevated: #18232f;
	--iih-bg-light: #f5f8fb;
	--iih-bg-light-soft: #eaf1f6;

	--iih-heading: #f4f7fa;
	--iih-heading-dark: #0f1a24;
	--iih-body: #aebac6;
	--iih-body-dark: #475260;
	--iih-muted: #7c8a98;

	--iih-green: #16b14b;
	--iih-green-bright: #2be06a;
	--iih-green-deep: #0e8d3a;
	--iih-amber: #ffb020;
	--iih-red: #ff4d4d;

	--iih-border: #22303c;
	--iih-border-light: #d8e2ea;
	--iih-wa: #25d366;

	--iih-shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);
	--iih-shadow: 0 18px 50px -20px rgba(0, 0, 0, .65);
	--iih-glow: 0 0 0 1px rgba(43, 224, 106, .35), 0 18px 60px -25px rgba(43, 224, 106, .45);

	--iih-radius: 10px;
	--iih-radius-lg: 18px;
	--iih-radius-pill: 999px;

	--iih-container: 1200px;
	--iih-gap: clamp(1rem, 3vw, 2rem);
	--iih-section-y: clamp(3.5rem, 8vw, 6.5rem);

	--iih-font-display: "Barlow", "Arial Narrow", system-ui, sans-serif;
	--iih-font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--iih-header-h: 76px;
}

/* ---- 2. Reset & base ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	margin: 0;
	font-family: var(--iih-font-body);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--iih-body);
	background: var(--iih-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--iih-green-bright); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--iih-green); }

h1, h2, h3, h4, h5 {
	font-family: var(--iih-font-display);
	color: var(--iih-heading);
	line-height: 1.08;
	margin: 0 0 .5em;
	font-weight: 800;
	letter-spacing: -.01em;
}
h1 { font-size: clamp(2.2rem, 5.5vw, 3.6rem); text-transform: none; }
h2 { font-size: clamp(1.7rem, 4vw, 2.6rem); }
h3 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); }
p { margin: 0 0 1.1rem; }
ul, ol { margin: 0 0 1.1rem; padding-left: 1.25rem; }

/* ---- 3. Layout helpers ---- */
.iih-container { width: min(100% - 2.5rem, var(--iih-container)); margin-inline: auto; }
.iih-section { padding-block: var(--iih-section-y); position: relative; }
.iih-section--soft { background: var(--iih-bg-soft); }
.iih-section--light { background: var(--iih-bg-light); color: var(--iih-body-dark); }
.iih-section--light h1, .iih-section--light h2, .iih-section--light h3 { color: var(--iih-heading-dark); }
.iih-narrow { max-width: 760px; margin-inline: auto; }
.skip-link { position: absolute; left: -999px; top: 0; background: var(--iih-green); color: #062013; padding: .65rem 1.1rem; z-index: 1000; border-radius: 0 0 8px 0; font-weight: 700; }
.skip-link:focus { left: 0; }

/* ---- 4. Section heading ---- */
.iih-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-family: var(--iih-font-display); font-weight: 700;
	text-transform: uppercase; letter-spacing: .14em; font-size: .8rem;
	color: var(--iih-green-bright);
	margin-bottom: .9rem;
}
.iih-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--iih-green); display: inline-block; }
.iih-section--light .iih-eyebrow { color: var(--iih-green-deep); }
.iih-head { max-width: 720px; margin-bottom: clamp(2rem, 4vw, 3rem); }
.iih-head--center { margin-inline: auto; text-align: center; }
.iih-head p { font-size: 1.12rem; color: inherit; opacity: .92; }

/* ---- 5. Buttons ---- */
.iih-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	font-family: var(--iih-font-display); font-weight: 700; font-size: 1.02rem;
	letter-spacing: .01em; line-height: 1; cursor: pointer;
	padding: .95rem 1.6rem; border-radius: var(--iih-radius);
	border: 1px solid transparent; transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
	text-align: center;
}
.iih-btn svg { width: 1.15em; height: 1.15em; }
.iih-btn:focus-visible { outline: 3px solid var(--iih-green-bright); outline-offset: 2px; }
.iih-btn--primary { background: linear-gradient(135deg, var(--iih-green) 0%, var(--iih-green-bright) 100%); color: #04210f; box-shadow: 0 10px 30px -12px rgba(43, 224, 106, .7); }
.iih-btn--primary:hover { transform: translateY(-2px); color: #04210f; box-shadow: 0 16px 40px -12px rgba(43, 224, 106, .85); }
.iih-btn--ghost { background: rgba(255, 255, 255, .04); color: var(--iih-heading); border-color: var(--iih-border); }
.iih-btn--ghost:hover { border-color: var(--iih-green); color: var(--iih-heading); transform: translateY(-2px); }
.iih-btn--wa { background: var(--iih-wa); color: #06270f; }
.iih-btn--wa:hover { background: #1ebe5a; color: #06270f; transform: translateY(-2px); }
.iih-btn--lg { padding: 1.1rem 2rem; font-size: 1.1rem; }
.iih-btn--block { width: 100%; }
.iih-section--light .iih-btn--ghost { background: #fff; color: var(--iih-heading-dark); border-color: var(--iih-border-light); }

/* ---- 6. Header ---- */
.iih-header {
	position: sticky; top: 0; z-index: 200;
	background: rgba(12, 17, 23, .82);
	backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--iih-border);
}
.iih-header__inner { display: flex; align-items: center; gap: 1.5rem; height: var(--iih-header-h); }
.iih-brand { display: flex; align-items: center; gap: .6rem; margin-right: auto; }
.iih-brand img { height: 46px; width: auto; }
.iih-nav { display: flex; align-items: center; gap: .25rem; }
.iih-nav ul { list-style: none; display: flex; gap: .25rem; margin: 0; padding: 0; }
.iih-nav a {
	display: block; padding: .55rem .85rem; border-radius: 8px;
	color: var(--iih-body); font-family: var(--iih-font-display); font-weight: 600; font-size: .98rem;
}
.iih-nav a:hover, .iih-nav .current-menu-item > a, .iih-nav .current_page_item > a { color: var(--iih-heading); background: rgba(255, 255, 255, .05); }
.iih-header__cta { display: flex; align-items: center; gap: .6rem; }
.iih-burger {
	display: none; width: 46px; height: 46px; border: 1px solid var(--iih-border);
	background: rgba(255, 255, 255, .04); border-radius: 10px; cursor: pointer; padding: 0;
	color: var(--iih-heading); align-items: center; justify-content: center;
}
.iih-burger svg { width: 24px; height: 24px; }

/* ---- 7. Hero (scoreboard) ---- */
.iih-hero { position: relative; padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(3rem, 7vw, 5rem); overflow: hidden; }
.iih-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background:
		radial-gradient(1100px 520px at 78% 18%, rgba(22, 177, 75, .22), transparent 60%),
		radial-gradient(900px 600px at 10% 90%, rgba(43, 224, 106, .10), transparent 60%);
	pointer-events: none;
}
.iih-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.iih-live-badge {
	display: inline-flex; align-items: center; gap: .5rem;
	background: rgba(255, 77, 77, .12); border: 1px solid rgba(255, 77, 77, .4);
	color: #ff8585; font-family: var(--iih-font-display); font-weight: 700; text-transform: uppercase;
	letter-spacing: .12em; font-size: .78rem; padding: .4rem .8rem; border-radius: var(--iih-radius-pill);
	margin-bottom: 1.1rem;
}
.iih-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--iih-red); box-shadow: 0 0 0 0 rgba(255, 77, 77, .6); animation: iih-pulse 1.8s infinite; }
@keyframes iih-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 77, 77, .55); } 70% { box-shadow: 0 0 0 9px rgba(255, 77, 77, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 77, 77, 0); } }
@media (prefers-reduced-motion: reduce) { .iih-live-dot { animation: none; } }
.iih-hero h1 { margin-bottom: .9rem; }
.iih-hero h1 .iih-hl { color: var(--iih-green-bright); }
.iih-hero__lead { font-size: 1.18rem; max-width: 36ch; margin-bottom: 1.6rem; }
.iih-hero__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-bottom: 1.5rem; }
.iih-hero__assure { display: flex; flex-wrap: wrap; gap: 1.2rem; font-size: .95rem; color: var(--iih-muted); }
.iih-hero__assure span { display: inline-flex; align-items: center; gap: .4rem; }
.iih-hero__assure svg { width: 1.05em; height: 1.05em; color: var(--iih-green-bright); }

.iih-hero__media { position: relative; }
.iih-hero__media img { width: 100%; border-radius: var(--iih-radius-lg); border: 1px solid var(--iih-border); box-shadow: var(--iih-shadow); }
.iih-fixture-card {
	position: absolute; left: -1.2rem; bottom: -1.2rem;
	background: rgba(18, 28, 38, .92); backdrop-filter: blur(8px);
	border: 1px solid var(--iih-border); border-radius: var(--iih-radius);
	padding: .9rem 1.05rem; box-shadow: var(--iih-shadow); min-width: 220px;
}
.iih-fixture-card__label { font-family: var(--iih-font-display); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; color: var(--iih-green-bright); margin-bottom: .4rem; }
.iih-fixture-row { display: flex; align-items: center; justify-content: space-between; font-weight: 700; color: var(--iih-heading); font-size: .95rem; }
.iih-fixture-row span:last-child { color: var(--iih-green-bright); font-family: var(--iih-font-display); }

/* ---- 8. Stat strip ---- */
.iih-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--iih-border); border: 1px solid var(--iih-border); border-radius: var(--iih-radius-lg); overflow: hidden; }
.iih-stat { background: var(--iih-bg-soft); padding: 1.4rem 1.1rem; text-align: center; }
.iih-stat__num { font-family: var(--iih-font-display); font-weight: 800; font-size: clamp(1.6rem, 3.6vw, 2.4rem); color: var(--iih-green-bright); line-height: 1; }
.iih-stat__label { font-size: .9rem; color: var(--iih-muted); margin-top: .35rem; }

/* ---- 9. Generic cards & grids ---- */
.iih-grid { display: grid; gap: 1.25rem; }
.iih-grid--2 { grid-template-columns: repeat(2, 1fr); }
.iih-grid--3 { grid-template-columns: repeat(3, 1fr); }
.iih-grid--4 { grid-template-columns: repeat(4, 1fr); }
.iih-card {
	background: var(--iih-bg-soft); border: 1px solid var(--iih-border);
	border-radius: var(--iih-radius); padding: 1.5rem; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.iih-card:hover { transform: translateY(-4px); border-color: rgba(43, 224, 106, .45); box-shadow: var(--iih-shadow-sm); }
.iih-card__icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; background: rgba(22, 177, 75, .12); color: var(--iih-green-bright); margin-bottom: 1rem; }
.iih-card__icon svg { width: 26px; height: 26px; }
.iih-card h3 { margin-bottom: .45rem; }
.iih-card p:last-child { margin-bottom: 0; }
.iih-section--light .iih-card { background: #fff; border-color: var(--iih-border-light); }
.iih-section--light .iih-card p { color: var(--iih-body-dark); }

/* media card (image + text) */
.iih-feature { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.iih-feature--reverse .iih-feature__media { order: 2; }
.iih-feature__media img { border-radius: var(--iih-radius-lg); border: 1px solid var(--iih-border); box-shadow: var(--iih-shadow); width: 100%; }
.iih-feature__list { list-style: none; padding: 0; margin: 1.2rem 0 1.6rem; }
.iih-feature__list li { position: relative; padding-left: 1.9rem; margin-bottom: .7rem; }
.iih-feature__list li::before { content: ""; position: absolute; left: 0; top: .35rem; width: 18px; height: 18px; border-radius: 50%; background: rgba(22,177,75,.15); }
.iih-feature__list li::after { content: ""; position: absolute; left: 6px; top: .6rem; width: 6px; height: 10px; border-right: 2px solid var(--iih-green-bright); border-bottom: 2px solid var(--iih-green-bright); transform: rotate(45deg); }

/* ---- 10. Pricing (scoreboard) ---- */
.iih-pricing { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; align-items: stretch; }
.iih-plan {
	position: relative; background: var(--iih-bg-soft); border: 1px solid var(--iih-border);
	border-radius: var(--iih-radius-lg); padding: 1.6rem 1.35rem; display: flex; flex-direction: column;
	transition: transform .18s ease, box-shadow .2s ease;
}
.iih-plan:hover { transform: translateY(-5px); }
.iih-plan--featured { border-color: rgba(43, 224, 106, .6); box-shadow: var(--iih-glow); background: linear-gradient(180deg, rgba(22,177,75,.10), var(--iih-bg-soft) 38%); }
.iih-plan__tag { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--iih-green); color: #04210f; font-family: var(--iih-font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; padding: .35rem .8rem; border-radius: var(--iih-radius-pill); white-space: nowrap; }
.iih-plan__name { font-family: var(--iih-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--iih-muted); font-size: .9rem; }
.iih-plan__price { font-family: var(--iih-font-display); font-weight: 800; font-size: 2.8rem; color: var(--iih-heading); line-height: 1; margin: .5rem 0 .15rem; }
.iih-plan__price small { font-size: 1.1rem; color: var(--iih-muted); font-weight: 600; }
.iih-plan__per { font-size: .9rem; color: var(--iih-green-bright); font-weight: 600; margin-bottom: 1rem; }
.iih-plan__features { list-style: none; padding: 0; margin: 0 0 1.4rem; font-size: .96rem; }
.iih-plan__features li { padding: .42rem 0 .42rem 1.6rem; position: relative; border-bottom: 1px dashed var(--iih-border); }
.iih-plan__features li:last-child { border-bottom: 0; }
.iih-plan__features li::before { content: ""; position: absolute; left: 0; top: .78rem; width: 6px; height: 11px; border-right: 2px solid var(--iih-green-bright); border-bottom: 2px solid var(--iih-green-bright); transform: rotate(45deg); }
.iih-plan .iih-btn { margin-top: auto; }

/* ---- 11. Steps ---- */
.iih-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; counter-reset: step; }
.iih-step { background: var(--iih-bg-soft); border: 1px solid var(--iih-border); border-radius: var(--iih-radius); padding: 1.6rem 1.4rem; position: relative; }
.iih-step::before { counter-increment: step; content: "0" counter(step); font-family: var(--iih-font-display); font-weight: 800; font-size: 2.4rem; color: rgba(43, 224, 106, .25); line-height: 1; display: block; margin-bottom: .6rem; }
.iih-step h3 { font-size: 1.2rem; }

/* ---- 12. FAQ accordion ---- */
.iih-faq { max-width: 820px; margin-inline: auto; }
.iih-faq__item { border: 1px solid var(--iih-border); border-radius: var(--iih-radius); margin-bottom: .75rem; background: var(--iih-bg-soft); overflow: hidden; }
.iih-faq__q { width: 100%; text-align: left; background: none; border: 0; cursor: pointer; padding: 1.1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-family: var(--iih-font-display); font-weight: 700; font-size: 1.08rem; color: var(--iih-heading); }
.iih-faq__q:focus-visible { outline: 3px solid var(--iih-green-bright); outline-offset: -3px; }
.iih-faq__icon { flex: none; width: 24px; height: 24px; position: relative; transition: transform .25s ease; }
.iih-faq__icon::before, .iih-faq__icon::after { content: ""; position: absolute; background: var(--iih-green-bright); border-radius: 2px; }
.iih-faq__icon::before { top: 11px; left: 4px; right: 4px; height: 2px; }
.iih-faq__icon::after { left: 11px; top: 4px; bottom: 4px; width: 2px; transition: transform .25s ease; }
.iih-faq__q[aria-expanded="true"] .iih-faq__icon::after { transform: scaleY(0); }
.iih-faq__a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.iih-faq__a-inner { padding: 0 1.25rem 1.2rem; color: var(--iih-body); }
.iih-section--light .iih-faq__item { background: #fff; border-color: var(--iih-border-light); }
.iih-section--light .iih-faq__a-inner { color: var(--iih-body-dark); }

/* ---- 13. Scenario / testimonial cards ---- */
.iih-quote { background: var(--iih-bg-soft); border: 1px solid var(--iih-border); border-left: 3px solid var(--iih-green); border-radius: var(--iih-radius); padding: 1.5rem; }
.iih-quote p { font-size: 1.05rem; color: var(--iih-heading); }
.iih-quote__meta { display: flex; align-items: center; gap: .7rem; margin-top: 1rem; }
.iih-quote__avatar { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, var(--iih-green), var(--iih-green-bright)); display: grid; place-items: center; font-family: var(--iih-font-display); font-weight: 800; color: #04210f; }
.iih-quote__name { font-weight: 700; color: var(--iih-heading); font-size: .95rem; }
.iih-quote__role { font-size: .85rem; color: var(--iih-muted); }
.iih-badge-note { font-size: .82rem; color: var(--iih-muted); text-align: center; margin-top: 1rem; }

/* ---- 14. Comparison / responsive table ---- */
.iih-table-wrap { overflow-x: auto; border: 1px solid var(--iih-border); border-radius: var(--iih-radius-lg); }
table.iih-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.iih-table th, .iih-table td { padding: .95rem 1.1rem; text-align: left; border-bottom: 1px solid var(--iih-border); }
.iih-table thead th { font-family: var(--iih-font-display); text-transform: uppercase; letter-spacing: .06em; font-size: .82rem; color: var(--iih-green-bright); background: var(--iih-bg-elevated); }
.iih-table tbody tr:last-child td { border-bottom: 0; }
.iih-table .yes { color: var(--iih-green-bright); font-weight: 700; }
.iih-table .no { color: var(--iih-muted); }

/* ---- 15. Channel / category chips ---- */
.iih-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.iih-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: var(--iih-radius-pill); border: 1px solid var(--iih-border); background: var(--iih-bg-soft); font-weight: 600; font-size: .95rem; color: var(--iih-heading); }
.iih-chip svg { width: 1.05em; height: 1.05em; color: var(--iih-green-bright); }

/* ---- 16. CTA banner ---- */
.iih-cta {
	position: relative; overflow: hidden; border-radius: var(--iih-radius-lg);
	background: linear-gradient(120deg, #0b2a17, #0c1117 70%);
	border: 1px solid rgba(43, 224, 106, .35); padding: clamp(2rem, 5vw, 3.5rem); text-align: center;
}
.iih-cta::after { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 300px at 80% 0%, rgba(43, 224, 106, .25), transparent 60%); pointer-events: none; }
.iih-cta > * { position: relative; }
.iih-cta h2 { margin-bottom: .6rem; }
.iih-cta p { max-width: 56ch; margin-inline: auto; margin-bottom: 1.6rem; font-size: 1.1rem; }
.iih-cta__actions { display: flex; gap: .85rem; justify-content: center; flex-wrap: wrap; }

/* ---- 17. Breadcrumbs & page hero ---- */
.iih-pagehead { padding-block: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 2.5rem); position: relative; border-bottom: 1px solid var(--iih-border); }
.iih-pagehead::before { content: ""; position: absolute; inset: 0; background: radial-gradient(800px 300px at 85% -10%, rgba(22,177,75,.18), transparent 60%); }
.iih-pagehead__inner { position: relative; }
.iih-crumbs { font-size: .9rem; color: var(--iih-muted); margin-bottom: .9rem; }
.iih-crumbs a { color: var(--iih-muted); }
.iih-crumbs a:hover { color: var(--iih-green-bright); }
.iih-crumbs span[aria-current] { color: var(--iih-body); }
.iih-pagehead h1 { margin-bottom: .4rem; }
.iih-pagehead p { max-width: 60ch; }

/* ---- 18. Forms ---- */
.iih-field { margin-bottom: 1.1rem; }
.iih-field label { display: block; font-weight: 600; color: var(--iih-heading); margin-bottom: .4rem; }
.iih-field input, .iih-field textarea, .iih-field select {
	width: 100%; padding: .9rem 1rem; font: inherit; color: var(--iih-heading);
	background: var(--iih-bg-elevated); border: 1px solid var(--iih-border); border-radius: var(--iih-radius);
}
.iih-field input:focus, .iih-field textarea:focus, .iih-field select:focus { outline: none; border-color: var(--iih-green); box-shadow: 0 0 0 3px rgba(22, 177, 75, .2); }
.iih-field textarea { min-height: 150px; resize: vertical; }
.iih-form-card { background: var(--iih-bg-soft); border: 1px solid var(--iih-border); border-radius: var(--iih-radius-lg); padding: clamp(1.5rem, 4vw, 2.5rem); }

/* ---- 19. Blog ---- */
.iih-postcard { background: var(--iih-bg-soft); border: 1px solid var(--iih-border); border-radius: var(--iih-radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: transform .18s ease, border-color .18s ease; }
.iih-postcard:hover { transform: translateY(-4px); border-color: rgba(43, 224, 106, .4); }
.iih-postcard__thumb { aspect-ratio: 16/9; background: var(--iih-bg-elevated); overflow: hidden; }
.iih-postcard__thumb img { width: 100%; height: 100%; object-fit: cover; }
.iih-postcard__body { padding: 1.3rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.iih-postcard__meta { font-size: .82rem; color: var(--iih-muted); margin-bottom: .5rem; text-transform: uppercase; letter-spacing: .05em; }
.iih-postcard h3 { font-size: 1.25rem; margin-bottom: .5rem; }
.iih-postcard h3 a { color: var(--iih-heading); }
.iih-postcard h3 a:hover { color: var(--iih-green-bright); }
.iih-postcard__more { margin-top: auto; padding-top: .9rem; font-family: var(--iih-font-display); font-weight: 700; color: var(--iih-green-bright); }

.iih-article { max-width: 760px; margin-inline: auto; }
.iih-article img { border-radius: var(--iih-radius); margin-block: 1.5rem; }
.iih-article h2, .iih-article h3 { margin-top: 1.8rem; }
.iih-article blockquote { border-left: 3px solid var(--iih-green); padding-left: 1.2rem; margin-left: 0; color: var(--iih-heading); font-size: 1.15rem; }
.iih-postmeta { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; color: var(--iih-muted); font-size: .92rem; margin-bottom: 1.5rem; }

/* ---- 20. Pagination ---- */
.iih-pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 2.5rem; flex-wrap: wrap; }
.iih-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .5rem; border: 1px solid var(--iih-border); border-radius: 8px; color: var(--iih-body); font-weight: 700; }
.iih-pagination .page-numbers.current { background: var(--iih-green); color: #04210f; border-color: var(--iih-green); }
.iih-pagination a.page-numbers:hover { border-color: var(--iih-green); color: var(--iih-heading); }

/* ---- 21. Footer ---- */
.iih-footer { background: #080c11; border-top: 1px solid var(--iih-border); padding-block: clamp(3rem, 6vw, 4.5rem) 1.5rem; }
.iih-footer__top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 2rem; }
.iih-footer__brand img { height: 48px; margin-bottom: 1rem; }
.iih-footer__brand p { color: var(--iih-muted); max-width: 34ch; }
.iih-footer h4 { font-size: .95rem; text-transform: uppercase; letter-spacing: .1em; color: var(--iih-heading); margin-bottom: 1rem; }
.iih-footer ul { list-style: none; padding: 0; margin: 0; }
.iih-footer li { margin-bottom: .55rem; }
.iih-footer a { color: var(--iih-body); font-size: .96rem; }
.iih-footer a:hover { color: var(--iih-green-bright); }
.iih-footer__contact a { display: inline-flex; align-items: center; gap: .5rem; }
.iih-footer__contact svg { width: 1.1em; height: 1.1em; color: var(--iih-green-bright); }
.iih-footer__bottom { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--iih-border); color: var(--iih-muted); font-size: .88rem; }
.iih-footer__legal { display: flex; flex-wrap: wrap; gap: .25rem 1.1rem; }
.iih-disclaimer { font-size: .82rem; color: #6b7884; max-width: 80ch; margin-top: 1rem; line-height: 1.6; }

/* ---- 22. Sticky mobile CTA ---- */
.iih-mobilebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 180; display: none; gap: .6rem; padding: .6rem; background: rgba(8, 12, 17, .96); backdrop-filter: blur(10px); border-top: 1px solid var(--iih-border); }
.iih-mobilebar .iih-btn { flex: 1; padding: .85rem 1rem; }

/* ---- 23. Utilities ---- */
.iih-center { text-align: center; }
.iih-mt-2 { margin-top: 1.5rem; } .iih-mt-3 { margin-top: 2.5rem; }
.iih-reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.iih-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .iih-reveal { opacity: 1 !important; transform: none !important; transition: none; } }
.iih-prose > * + * { margin-top: 1.1rem; }
.iih-updated { display: inline-block; background: var(--iih-bg-elevated); border: 1px solid var(--iih-border); border-radius: var(--iih-radius-pill); padding: .35rem .9rem; font-size: .85rem; color: var(--iih-muted); margin-bottom: 1.5rem; }

/* ---- 24. Mobile menu panel ---- */
.iih-mobilenav { position: fixed; inset: var(--iih-header-h) 0 0; background: var(--iih-bg); z-index: 150; transform: translateX(100%); transition: transform .3s ease; padding: 1.5rem; overflow-y: auto; display: none; }
.iih-mobilenav.is-open { transform: none; }
.iih-mobilenav ul { list-style: none; padding: 0; margin: 0; }
.iih-mobilenav a { display: block; padding: .95rem .5rem; font-family: var(--iih-font-display); font-weight: 700; font-size: 1.15rem; color: var(--iih-heading); border-bottom: 1px solid var(--iih-border); }
.iih-mobilenav .iih-btn { margin-top: 1.3rem; }

/* ---- 25. Responsive ---- */
@media (max-width: 1024px) {
	.iih-footer__top { grid-template-columns: 1fr 1fr; }
	.iih-pricing { grid-template-columns: repeat(2, 1fr); }
	.iih-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	.iih-nav, .iih-header__cta .iih-btn { display: none; }
	.iih-burger { display: inline-flex; }
	.iih-mobilenav { display: block; }
	.iih-hero__grid { grid-template-columns: 1fr; }
	.iih-hero__media { order: -1; max-width: 540px; }
	.iih-feature, .iih-feature--reverse { grid-template-columns: 1fr; }
	.iih-feature--reverse .iih-feature__media { order: -1; }
	.iih-stats { grid-template-columns: repeat(2, 1fr); }
	.iih-steps { grid-template-columns: 1fr; }
	.iih-grid--3, .iih-grid--2 { grid-template-columns: 1fr; }
	.iih-mobilebar { display: flex; }
	body.iih-has-mobilebar { padding-bottom: 76px; }
}
@media (max-width: 560px) {
	.iih-pricing, .iih-grid--4 { grid-template-columns: 1fr; }
	.iih-fixture-card { position: static; margin-top: 1rem; left: 0; }
	h1 { font-size: clamp(1.9rem, 8vw, 2.4rem); }
}

/* WordPress core alignment & a11y classes */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption-text { font-size: .85rem; color: var(--iih-muted); }
