/*
Theme Name: Aviation Corporate
Description: Dark, minimal business-aviation child theme for Twenty Twenty-Five, built for a paid aviation market-intelligence newsletter. Jet black and charcoal, off-white type, silver secondary text and a restrained champagne accent. Self-hosted Inter.
Author: Aviation Pulse
Template: twentytwentyfive
Version: 2.0.1
Requires at least: 6.7
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: aviation-corporate
*/

:root {
	--av-bg: #0A0C10;
	--av-surface: #111418;
	--av-raised: #181C22;
	--av-line: rgba(255,255,255,.09);
	--av-line-2: rgba(255,255,255,.16);
	--av-text: #E8E6E1;
	--av-ivory: #F5F3EE;
	--av-silver: #8A9099;
	--av-gold: #C8A96A;
	--av-gutter: clamp(1.25rem, 4vw, 3rem);
}
html { background: var(--av-bg); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background: var(--av-bg); }
::selection { background: var(--av-gold); color: var(--av-bg); }

/* ---------- Labels ---------- */
.av-label {
	font-size: .6875rem !important; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
	color: var(--av-silver); margin: 0;
	display: inline-flex; align-items: center; gap: .9rem;
}
.av-label::before { content: ""; width: 32px; height: 1px; background: var(--av-gold); display: inline-block; }
.av-label.no-rule::before { display: none; }

/* ---------- Header ---------- */
.av-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(10,12,16,.78);
	-webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px);
	border-bottom: 1px solid var(--av-line);
	padding: 0 var(--av-gutter) !important;
}
.admin-bar .av-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .av-header { top: 46px; } }
.av-header-inner { height: 60px; gap: 2rem; }
.av-brand { gap: .7rem; align-items: center; }
.av-logo { display: inline-flex; line-height: 0; color: var(--av-gold); }
.av-logo svg { width: 22px; height: 22px; }
.av-header .wp-block-site-title { font-size: .8125rem; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; margin: 0; white-space: nowrap; }
.av-header .wp-block-site-title a { color: var(--av-ivory); text-decoration: none; }
.av-nav-wrap { gap: 2.25rem; align-items: center; }
.av-header .wp-block-navigation { font-size: .6875rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; gap: 2.25rem; }
.av-header .wp-block-navigation a { color: #B9BDC4; text-decoration: none; transition: color .15s; }
.av-header .wp-block-navigation a:hover, .av-header .wp-block-navigation .current-menu-item > a { color: var(--av-ivory); }
.av-header .wp-block-navigation__responsive-container-open, .av-header .wp-block-navigation__responsive-container-close { color: var(--av-ivory); }
.av-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--av-bg) !important; color: var(--av-ivory) !important; padding: 1.5rem var(--av-gutter); }
.av-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.75rem; font-size: .875rem; }
.av-header .av-subscribe .wp-block-button__link {
	background: transparent !important; color: var(--av-gold) !important;
	border: 1px solid rgba(200,169,106,.6) !important; padding: .55rem 1.1rem !important;
	font-size: .65rem !important; letter-spacing: .22em; line-height: 1.2;
}
.av-header .av-subscribe .wp-block-button__link:hover { background: var(--av-gold) !important; color: var(--av-bg) !important; }
@media (max-width: 600px) {
	.av-header-inner { gap: .75rem; }
	.av-header .wp-block-site-title { letter-spacing: .18em; font-size: .75rem; }
	.av-nav-wrap { gap: 1rem; flex-direction: row-reverse; }
}

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link { border-radius: 2px; padding: 1rem 1.75rem; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; transition: all .2s ease; }
.av-btn-gold .wp-block-button__link { background: var(--av-gold) !important; color: var(--av-bg) !important; border: 1px solid var(--av-gold) !important; }
.av-btn-gold .wp-block-button__link:hover { background: var(--av-ivory) !important; border-color: var(--av-ivory) !important; }
.av-btn-line .wp-block-button__link { background: transparent !important; color: var(--av-ivory) !important; border: 1px solid var(--av-line-2) !important; }
.av-btn-line .wp-block-button__link:hover { border-color: var(--av-ivory) !important; }

.av-arrow a, a.av-arrow { color: var(--av-gold); font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; text-decoration: none; }
.av-arrow a::after { content: "  \2192"; }
.av-arrow a:hover { color: var(--av-ivory); }

/* ---------- Landing ---------- */
.av-landing .wp-block-post-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.av-section { padding: clamp(5rem, 10vw, 8.5rem) var(--av-gutter) !important; }
.av-section + .av-section { border-top: 1px solid var(--av-line); }
.av-section h2 { font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 300; margin: 1.25rem 0 0; }
.av-head { margin-bottom: clamp(3rem, 6vw, 4.5rem) !important; gap: 2rem; }
.av-head .av-lead { max-width: 440px; }
.av-lead { color: var(--av-silver); font-size: 1.0625rem; line-height: 1.75; font-weight: 300; }

/* Hero */
.av-hero { padding: 0 var(--av-gutter) !important; margin-top: -61px !important; }
.av-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(10,12,16,.92) 0%, rgba(10,12,16,.6) 45%, rgba(10,12,16,.05) 100%), linear-gradient(0deg, rgba(10,12,16,1) 0%, rgba(10,12,16,0) 30%) !important; opacity: 1 !important; }
.av-hero .wp-block-cover__inner-container { width: 100% !important; max-width: 1240px !important; margin: 0 auto !important; }
.av-hero-copy { max-width: 660px; padding-top: 61px; }
.av-hero h1 { color: var(--av-ivory); font-size: clamp(2.5rem, 5.6vw, 4.75rem); font-weight: 200; line-height: 1.04; letter-spacing: -0.03em; margin: 1.75rem 0 1.75rem; }
.av-hero h1 em { font-style: normal; color: var(--av-gold); }
.av-hero .av-hero-sub { color: #A9AEB6; font-size: clamp(1rem, 1.4vw, 1.125rem); font-weight: 300; line-height: 1.75; max-width: 520px; margin: 0; }
.av-hero .wp-block-buttons { margin-top: 2.75rem; gap: 1rem; }
.av-hero-foot { position: absolute; left: 0; right: 0; bottom: 2.25rem; }
.av-ticker { border-top: 1px solid var(--av-line); padding: 1.25rem var(--av-gutter) !important; }
.av-ticker .av-ticker-row { max-width: 1240px; margin: 0 auto !important; gap: 1rem 3rem; }
.av-ticker p { margin: 0; font-size: .6875rem; letter-spacing: .24em; text-transform: uppercase; color: var(--av-silver); }
.av-ticker p span { color: var(--av-gold); margin-right: .6rem; }

/* What you get */
.av-features { gap: 0 !important; border-top: 1px solid var(--av-line); }
.av-feature { padding: 2.5rem 2rem 0 0 !important; }
.av-features > .wp-block-column + .wp-block-column .av-feature { padding-left: 2rem !important; border-left: 1px solid var(--av-line); }
.av-feature .av-icon svg { width: 34px; height: 34px; stroke: var(--av-gold); fill: none; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.av-feature h3 { font-size: 1.125rem; font-weight: 400; letter-spacing: -0.005em; color: var(--av-ivory); margin: 1.75rem 0 .75rem; }
.av-feature p { color: var(--av-silver); font-size: .9375rem; line-height: 1.7; margin: 0; }
.av-feature .av-num { font-size: .6875rem; letter-spacing: .24em; color: #5E646D; margin: 0 0 1.75rem; }
@media (max-width: 781px) {
	.av-feature, .av-features > .wp-block-column + .wp-block-column .av-feature { padding: 2rem 0 2rem !important; border-left: 0 !important; border-bottom: 1px solid var(--av-line); }
}

/* Briefings query */
.av-briefs .wp-block-post-template { gap: 0 !important; border-top: 1px solid var(--av-line); }
.av-brief { padding: 2.25rem 2rem 2.5rem 0 !important; height: 100%; box-sizing: border-box; }
.av-briefs .wp-block-post-template > li + li .av-brief { padding-left: 2rem !important; border-left: 1px solid var(--av-line); }
.av-brief-meta { gap: 1rem; font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; color: var(--av-silver); }
.av-brief-meta a { color: var(--av-gold); }
.av-brief-meta .wp-block-post-date { color: var(--av-silver); }
.av-brief .wp-block-post-title { font-size: 1.375rem; font-weight: 300; line-height: 1.3; margin: 1.5rem 0 1rem; }
.av-brief .wp-block-post-title a { color: var(--av-ivory); text-decoration: none; }
.av-brief .wp-block-post-title a:hover { color: var(--av-gold); }
.av-brief .wp-block-post-excerpt { color: var(--av-silver); font-size: .9375rem; line-height: 1.7; }
.av-brief .wp-block-post-excerpt__more-text { display: none; }
.av-brief .wp-block-read-more { color: var(--av-gold); font-size: .6875rem; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; margin-top: 1.25rem; display: inline-block; }
.av-brief .wp-block-read-more::after { content: "  \2192"; }
@media (max-width: 781px) {
	.av-briefs .wp-block-post-template { grid-template-columns: 1fr !important; }
	.av-brief, .av-briefs .wp-block-post-template > li + li .av-brief { padding: 2rem 0 !important; border-left: 0 !important; border-bottom: 1px solid var(--av-line); }
}
.av-briefs-page .wp-block-query-pagination { margin-top: 3rem; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; }

/* Plans */
.av-plans-band { position: relative; }
.av-plans-band .wp-block-cover__background { background: linear-gradient(180deg, rgba(10,12,16,1) 0%, rgba(10,12,16,.55) 35%, rgba(10,12,16,.55) 65%, rgba(10,12,16,1) 100%) !important; opacity: 1 !important; }
.av-plans-band .wp-block-cover__inner-container { width: 100% !important; max-width: 1240px !important; margin: 0 auto !important; }
.av-plans { gap: 1.5rem !important; }
.av-plan {
	background: rgba(17,20,24,.82); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	border: 1px solid var(--av-line); padding: 2.75rem 2.25rem !important; height: 100%; box-sizing: border-box;
	display: flex; flex-direction: column;
}
.av-plan.is-featured { border-color: rgba(200,169,106,.55); }
.av-plan h3 { font-size: .75rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--av-silver); margin: 0; }
.av-plan.is-featured h3 { color: var(--av-gold); }
.av-price { font-size: clamp(2.25rem, 3.5vw, 3rem) !important; font-weight: 200; color: var(--av-ivory); letter-spacing: -0.02em; margin: 1.5rem 0 0 !important; line-height: 1; }
.av-price span { font-size: .875rem; color: var(--av-silver); letter-spacing: 0; margin-left: .35rem; font-weight: 300; }
.av-plan .av-plan-note { color: var(--av-silver); font-size: .875rem; margin: .75rem 0 0; }
.av-plan ul { list-style: none; padding: 1.75rem 0 0; margin: 1.75rem 0 2.25rem; border-top: 1px solid var(--av-line); flex: 1; }
.av-plan li { color: #C3C6CB; font-size: .9375rem; padding: .45rem 0 .45rem 1.5rem; position: relative; font-weight: 300; }
.av-plan li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 10px; height: 1px; background: var(--av-gold); }
.av-plan .wp-block-buttons, .av-plan .wp-block-button, .av-plan .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
.av-fineprint { color: #5E646D; font-size: .8125rem; margin-top: 2.5rem !important; text-align: center; }

/* Closing CTA */
.av-closing { text-align: center; }
.av-closing h2 { font-size: clamp(2.25rem, 4.5vw, 3.75rem) !important; font-weight: 200; }
.av-closing .av-lead { margin: 1.25rem auto 0; max-width: 520px; }
.av-closing .wp-block-buttons { margin-top: 2.5rem; }

/* ---------- Interior pages ---------- */
.av-page-hero { padding: clamp(5rem, 9vw, 7.5rem) var(--av-gutter) clamp(3rem, 5vw, 4rem) !important; border-bottom: 1px solid var(--av-line); margin-top: 0 !important; }
.av-page-hero .wp-block-post-title, .av-page-hero h1 { color: var(--av-ivory); font-size: clamp(2.5rem, 5vw, 4.25rem); font-weight: 200; letter-spacing: -0.03em; margin: 1.5rem 0 0; }
.av-page-main { padding: clamp(3.5rem, 7vw, 6rem) var(--av-gutter) !important; }
.av-page-main .wp-block-post-content > :is(p, h2, h3, ul, ol, .wp-block-group:not(.alignwide)) { max-width: 720px; }
.av-page-main h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 300; margin: 3.5rem 0 1rem; }
.av-page-main p, .av-page-main li { color: #BFC3C9; font-weight: 300; }
.av-page-main .av-lead { font-size: 1.1875rem; color: #C9CCD1; }
.av-page-main .wp-block-columns { margin: 3rem 0 !important; }
.av-cell { border-top: 1px solid var(--av-line); padding-top: 1.5rem !important; }
.av-cell h3 { font-size: .75rem; letter-spacing: .24em; text-transform: uppercase; color: var(--av-silver); font-weight: 500; margin: 0 0 .75rem; }
.av-cell p { margin: 0; color: var(--av-ivory) !important; }
.av-notice { border: 1px solid rgba(200,169,106,.35); padding: 1.25rem 1.5rem !important; color: #C9CCD1; font-size: .9375rem; }
.av-notice p { margin: 0; }

/* Single briefing */
.av-single .wp-block-post-title { font-size: clamp(2rem, 4vw, 3.25rem) !important; }
.av-single-meta { gap: 1.25rem; font-size: .6875rem; letter-spacing: .22em; text-transform: uppercase; color: var(--av-silver); }
.av-single-meta a { color: var(--av-gold); }
.av-article { padding: clamp(3rem, 6vw, 5rem) var(--av-gutter) !important; }
.av-article .wp-block-post-content p, .av-article .wp-block-post-content li { color: #C3C6CB; font-weight: 300; font-size: 1.0625rem; line-height: 1.85; }
.av-article .wp-block-post-content h2 { font-size: 1.5rem; font-weight: 300; margin-top: 3rem; }
.av-article table { border-collapse: collapse; width: 100%; font-size: .9375rem; }
.av-article td, .av-article th { border: 0; border-bottom: 1px solid var(--av-line); padding: .85rem .5rem; text-align: left; color: #C3C6CB; font-weight: 300; }
.av-article th { color: var(--av-silver); font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; }

/* ---------- Footer ---------- */
.av-footer { border-top: 1px solid var(--av-line); padding: clamp(3.5rem, 6vw, 5rem) var(--av-gutter) 2rem !important; margin-top: 0 !important; font-size: .875rem; color: var(--av-silver); }
.av-footer-top { gap: 2rem; align-items: flex-start; }
.av-footer .wp-block-site-title { font-size: .8125rem; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; margin: 0; }
.av-footer .wp-block-site-title a { color: var(--av-ivory); text-decoration: none; }
.av-footer-brand p { margin: 1rem 0 0; max-width: 340px; line-height: 1.7; font-weight: 300; }
.av-footer-links { gap: 2.25rem; font-size: .6875rem; letter-spacing: .22em; text-transform: uppercase; }
.av-footer-links p { margin: 0; }
.av-footer a { color: #B9BDC4; text-decoration: none; }
.av-footer a:hover { color: var(--av-gold); }
.av-footer-bottom { border-top: 1px solid var(--av-line); margin-top: 3.5rem !important; padding-top: 1.5rem; font-size: .75rem; color: #5E646D; gap: 1rem; }
.av-footer-bottom p { margin: 0; }
.av-landing .wp-block-post-content > .av-hero { margin-top: -61px !important; }

/* ---------- Refinements ---------- */
.av-label { display: flex; }
.av-closing .av-label { justify-content: center; }
.av-closing .wp-block-buttons { justify-content: center; }
.av-page-main h3 { font-size: 1.0625rem; font-weight: 400; color: var(--av-ivory); margin: 2.25rem 0 .5rem !important; }
.av-page-main .av-plan h3 { font-size: .75rem; font-weight: 500; color: var(--av-silver); margin: 0 !important; }
.av-page-main .av-plan.is-featured h3 { color: var(--av-gold); }
.av-page-main .av-cell h3 { font-size: .75rem; font-weight: 500; color: var(--av-silver); margin: 0 0 .75rem !important; }
.av-page-main .av-plans { margin: 3rem 0 5rem !important; }
.av-page-main .av-plan li { color: #C3C6CB; }
.av-page-main .av-notice { margin-bottom: 2.5rem !important; }
@media (max-width: 781px) {
	.av-ticker .av-ticker-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; }
	.av-hero { min-height: 640px !important; }
	.av-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(10,12,16,.55) 0%, rgba(10,12,16,.85) 55%, rgba(10,12,16,1) 100%) !important; }
	.av-hero .wp-block-cover__image-background { object-position: 62% 30% !important; }
}
