/*
Theme Name: KYE Aerospace - Rene Mouawad Airport
Theme URI: https://kyeinfo.com
Author: KYE Aviation Digital Team
Author URI: https://kyeinfo.com
Description: Super-ready, high-performance, and SEO-optimized WordPress theme for Rene Mouawad International Airport (KYE / OLKA). Features native Cairo Arabic typography, bilingual RTL/LTR engine, Cockpit Day/Night modes, Custom Post Types for Flight Routes and Sky Lounge Careers, Customizer airport controls, Gutenberg block patterns, and Schema.org aviation structured data.
Version: 1.4.2
Requires at least: 6.4
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: kye-aerospace
Domain Path: /languages
Tags: bilingual, rtl-language-support, custom-header, custom-logo, custom-menu, block-patterns, full-site-editing, wide-blocks, threaded-comments, translation-ready, sticky-post, featured-images, theme-options

KYE Aerospace Theme, (C) 2026 KYE Aviation.
This theme is released under the GNU General Public License v2 or later.
*/

/* ==========================================================================
   WordPress Core Required Classes & Accessibility Styles
   ========================================================================== */

/* 1. Screen Reader Accessibility (WCAG 2.2 AA) */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #07142c;
  border-radius: 6px;
  box-shadow: 0 0 4px 2px rgba(245, 158, 11, 0.8);
  clip: auto !important;
  clip-path: none;
  color: #f59e0b;
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  height: auto;
  left: 10px;
  line-height: normal;
  padding: 14px 20px;
  text-decoration: none;
  top: 10px;
  width: auto;
  z-index: 100000;
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 999999;
}

.skip-link:focus {
  top: 16px;
}

/* 2. Standard WordPress Alignments */
.alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}

[dir="rtl"] .alignleft {
  float: right;
  margin-right: 0;
  margin-left: 1.5em;
}

.alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}

[dir="rtl"] .alignright {
  float: left;
  margin-left: 0;
  margin-right: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

.alignwide {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  max-width: 100vw;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* 3. Captions & Galleries */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
  text-align: center;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption-text {
  font-size: 0.85rem;
  color: var(--text-dim, #64748b);
  margin-top: 0.5em;
  font-style: italic;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-icon img {
  border-radius: var(--radius-sm, 6px);
  width: 100%;
  height: auto;
  transition: transform 0.25s ease;
}

.gallery-icon img:hover {
  transform: scale(1.02);
}

.gallery-caption {
  font-size: 0.8rem;
  color: var(--text-dim, #64748b);
  margin-top: 6px;
}

/* 4. Sticky Post & Author Badge */
.sticky {
  position: relative;
  border-inline-start: 4px solid var(--amber-400, #f59e0b) !important;
}

.bypostauthor {
  position: relative;
}

/* 5. WordPress Comments Styling */
.comments-area {
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.comments-title {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 24px;
  color: var(--text-main, #f8fafc);
}

.comment-list,
.comment-list .children {
  list-style: none;
  padding: 0;
  margin: 0;
}

.comment-list .children {
  margin-inline-start: clamp(16px, 3vw, 36px);
}

.comment-body {
  background: var(--bg-card, #0c1a32);
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  border-radius: var(--radius-md, 12px);
  padding: 20px;
  margin-bottom: 20px;
  transition: border-color var(--transition-fast, 0.2s);
}

.comment-body:hover {
  border-color: rgba(245, 158, 11, 0.3);
}

.comment-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

.comment-author .avatar {
  border-radius: 50%;
  border: 2px solid var(--amber-400, #f59e0b);
}

.comment-author .fn {
  font-weight: 700;
  color: var(--text-main, #f8fafc);
  font-style: normal;
}

.comment-metadata a {
  font-size: 0.82rem;
  color: var(--text-dim, #64748b);
  text-decoration: none;
}

.comment-content {
  font-size: 0.96rem;
  line-height: 1.65;
  color: var(--text-muted, #94a3b8);
}

.comment-content p:last-child {
  margin-bottom: 0;
}

.reply {
  margin-top: 12px;
  text-align: end;
}

.comment-reply-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: rgba(245, 158, 11, 0.1);
  color: var(--amber-400, #f59e0b);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: var(--radius-sm, 6px);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.comment-reply-link:hover {
  background: var(--amber-500, #d97706);
  color: #030814;
}

/* 6. Comment Form */
.comment-respond {
  margin-top: 40px;
  background: var(--bg-card, #0c1a32);
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  border-radius: var(--radius-lg, 16px);
  padding: clamp(20px, 3.5vw, 32px);
}

.comment-reply-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--text-main, #f8fafc);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.comment-form p {
  margin-bottom: 16px;
}

.comment-form label {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-muted, #94a3b8);
  margin-bottom: 6px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  background: var(--bg-primary, #040915);
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.12));
  border-radius: var(--radius-sm, 6px);
  padding: 12px 14px;
  color: var(--text-main, #f8fafc);
  font-family: inherit;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.comment-form input:focus,
.comment-form textarea:focus {
  outline: none;
  border-color: var(--amber-400, #f59e0b);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

.comment-form .form-submit input[type="submit"] {
  background: var(--gradient-amber, linear-gradient(135deg, #f59e0b 0%, #d97706 100%));
  color: #030814;
  border: none;
  font-weight: 800;
  font-size: 0.92rem;
  padding: 12px 28px;
  border-radius: var(--radius-sm, 6px);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.comment-form .form-submit input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.35);
}

/* 7. Pagination Navigation */
.pagination,
.posts-pagination,
.post-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: var(--radius-sm, 6px);
  background: var(--bg-card, #0c1a32);
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  color: var(--text-main, #f8fafc);
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.page-numbers:hover,
.page-numbers.current {
  background: var(--amber-400, #f59e0b);
  color: #030814;
  border-color: var(--amber-400, #f59e0b);
}

.post-navigation {
  justify-content: space-between;
  border-top: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  padding-top: 28px;
}

.nav-links a {
  color: var(--azure-400, #38bdf8);
  font-weight: 700;
  text-decoration: none;
}

.nav-links a:hover {
  color: var(--amber-400, #f59e0b);
}

/* ==========================================================================
   8. WordPress Entry Content & Gutenberg Core Blocks System
   ========================================================================== */
.entry-content {
  font-family: inherit;
  color: var(--text-main, #f8fafc);
  line-height: 1.8;
  word-wrap: break-word;
}

[data-theme="day"] .entry-content {
  color: #0f172a;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: var(--font-display, 'Cairo', sans-serif);
  font-weight: 800;
  color: var(--text-main, #f8fafc);
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.3;
}

[data-theme="day"] .entry-content h1,
[data-theme="day"] .entry-content h2,
[data-theme="day"] .entry-content h3,
[data-theme="day"] .entry-content h4 {
  color: #030814;
}

.entry-content h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.entry-content h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); color: var(--amber-400, #f59e0b); }
.entry-content h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); }
.entry-content h4 { font-size: 1.2rem; }

.entry-content p {
  margin-bottom: 1.5em;
  font-size: 1.05rem;
  color: var(--text-muted, #94a3b8);
}

[data-theme="day"] .entry-content p {
  color: #334155;
}

.entry-content a:not(.btn-cta):not(.btn-secondary) {
  color: var(--azure-400, #38bdf8);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color var(--transition-fast, 0.2s);
}

.entry-content a:not(.btn-cta):not(.btn-secondary):hover {
  color: var(--amber-400, #f59e0b);
}

.entry-content .btn-cta { padding-inline:16px; line-height:1.65; }

.entry-content ul,
.entry-content ol {
  margin-bottom: 1.5em;
  padding-inline-start: 1.8em;
  color: var(--text-muted, #94a3b8);
}

[data-theme="day"] .entry-content ul,
[data-theme="day"] .entry-content ol {
  color: #334155;
}

.entry-content li {
  margin-bottom: 0.5em;
  line-height: 1.7;
}

.entry-content blockquote {
  margin: 2em 0;
  padding: 18px 24px;
  border-inline-start: 4px solid var(--amber-400, #f59e0b);
  background: rgba(245, 158, 11, 0.05);
  border-radius: var(--radius-sm, 6px);
  font-style: italic;
  color: var(--text-main, #f8fafc);
}

.entry-content blockquote p:last-child {
  margin-bottom: 0;
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2em;
  background: var(--bg-card, #0c1a32);
  border-radius: var(--radius-sm, 6px);
  overflow: hidden;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.entry-content th,
.entry-content td {
  padding: 12px 16px;
  text-align: start;
  border-bottom: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.entry-content th {
  background: rgba(255, 255, 255, 0.04);
  font-weight: 700;
  color: var(--amber-400, #f59e0b);
}

.entry-content hr {
  border: 0;
  height: 1px;
  background: var(--border-subtle, rgba(255, 255, 255, 0.1));
  margin: 2.5em 0;
}

.entry-content pre {
  background: #020617;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-sm, 6px);
  padding: 16px 20px;
  overflow-x: auto;
  font-family: var(--font-mono, monospace);
  font-size: 0.9rem;
  color: var(--azure-400, #38bdf8);
  margin-bottom: 1.5em;
}

.entry-content code {
  font-family: var(--font-mono, monospace);
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.88em;
  color: var(--amber-400, #f59e0b);
}

.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-sm, 6px);
}

/* Gutenberg Blocks Enhancements */
.wp-block-button__link {
  background: linear-gradient(135deg, var(--amber-500, #f59e0b) 0%, var(--amber-600, #d97706) 100%) !important;
  color: #030814 !important;
  font-weight: 800 !important;
  padding: 12px 28px !important;
  border-radius: var(--radius-sm, 6px) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.4);
}

.wp-block-columns {
  margin-bottom: 2em;
}

/* ==========================================================================
   9. WordPress Standard Widgets & Sidebars System
   ========================================================================== */
.widget {
  margin-bottom: 28px;
}

.widget-title,
.widget h2,
.widget h3 {
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 16px;
  color: var(--text-main, #f8fafc);
  display: flex;
  align-items: center;
  gap: 8px;
}

.widget-title::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 14px;
  background: var(--amber-400, #f59e0b);
  border-radius: 2px;
}

.widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: var(--radius-sm, 6px);
  font-size: 0.92rem;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}

.widget ul li:hover {
  background: rgba(14, 165, 233, 0.08);
  border-color: rgba(56, 189, 248, 0.2);
}

.widget ul li a {
  color: var(--text-muted, #94a3b8);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.widget ul li a:hover {
  color: var(--amber-400, #f59e0b);
}

/* Tag Cloud Widget */
.widget_tag_cloud .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.widget_tag_cloud a {
  display: inline-block;
  padding: 4px 10px;
  background: rgba(14, 165, 233, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 4px;
  color: var(--azure-400, #38bdf8);
  font-size: 0.82rem !important;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.widget_tag_cloud a:hover {
  background: var(--amber-400, #f59e0b);
  border-color: var(--amber-400, #f59e0b);
  color: #030814;
}

/* Search Widget */
.widget_search .search-form {
  width: 100%;
}

/* Keep the closed navigation drawer outside the page scroll area. */
html, body { overflow-x: clip; }
.mobile-nav-drawer { visibility: hidden; }
.mobile-nav-drawer.open { visibility: visible; }

/* Keep the site identity and menu reachable at narrow widths. */
.header-inner { min-width: 0; }
.header-inner .brand { min-width: 0; max-width: 320px; flex-shrink: 1; }
.brand-text { min-width: 0; }
.brand-title, .brand-subtitle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brand-title { font-size: 16px; }
.brand-subtitle { max-width: 36ch; }
.header-actions { flex-shrink: 0; }
@media(max-width:1200px) { .nav-desktop, .btn-cta-desktop { display:none !important; } .header-actions .mobile-menu-btn { display: inline-flex; } }
@media(max-width:600px) { .header-actions > :not(#mobileMenuToggle) { display:none !important; } .header-inner { gap:12px; } .header-inner .brand { max-width: calc(100% - 60px); gap:8px; } .brand-title { font-size:12px; } .brand-crest { width:36px; height:36px; flex-shrink:0; } #mobileMenuToggle { display:inline-flex; min-width:44px; min-height:44px; } }

/* Readable bilingual identity, independent from the long SEO title. */
.site-header .header-inner { display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr) auto;gap:24px; }
.header-inner .brand.kye-wordmark { max-width:none;min-width:0;gap:12px; }
.kye-wordmark .brand-text { display:flex;flex-direction:column;gap:3px;min-width:0; }
.kye-code-mark { display:inline-grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:4px;background:var(--amber-400);color:var(--bg-primary);font:800 19px var(--font-en,sans-serif); }
.kye-custom-mark { width:48px;height:48px;object-fit:contain;flex-shrink:0; }
.kye-brand-name { display:block;font-size:17px;line-height:1.5;font-weight:800;white-space:normal;overflow:visible; }
.kye-brand-caption { font-size:12px;line-height:1.5;color:var(--text-muted);white-space:normal; }
.site-header .nav-links { gap:18px;justify-content:center; }
.site-header .nav-link { font-size:13px;white-space:nowrap; }
.site-header .header-actions { gap:8px; }
.site-header .btn-cta-desktop { padding-inline:16px;white-space:nowrap; }
.kye-footer-brand { display:flex;align-items:center;gap:12px;margin-bottom:20px; }
.hub-share-links { display:flex;flex-wrap:wrap;gap:24px;padding-top:24px;font-size:13px; }
.guide-editorial { margin-block:40px;max-width:860px; }
.guide-editorial section { margin-block:32px;padding:24px 0 0;border-top:1px solid var(--border-subtle); }
.guide-editorial h2 { font-size:24px;line-height:1.6;margin-bottom:16px; }
.guide-editorial p { font-size:16px;line-height:1.9;color:var(--text-muted); }
.guide-reviewed { font-size:13px!important;color:var(--text-dim)!important; }
.guide-sources ul { padding-inline-start:24px; }
.guide-sources li { margin-bottom:12px;font-size:14px; }
.guide-sources a,.guide-related a { color:var(--azure-400);text-decoration:underline;text-underline-offset:4px; }
.guide-related { display:flex;flex-wrap:wrap;gap:16px 24px; }
.guide-related h2 { flex-basis:100%; }
.travel-hub-section { padding:64px 0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle); }
.travel-hub-heading { display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px; }
.travel-hub-heading h2 { font-size:30px;line-height:1.5; }
.travel-hub-heading p,.hub-category p,.hub-guide-grid p,.hub-provider p,.hub-lead { color:var(--text-muted);line-height:1.8; }
.hub-category-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.hub-category { display:block;border-top:1px solid var(--border-subtle);padding:24px 0;min-width:0; }
.hub-category svg { width:26px;height:26px;color:var(--amber-400);margin-bottom:16px; }
.hub-category h3 { font-size:19px;margin:0 0 8px; }
.hub-category p { font-size:14px;margin:0; }
.hub-category:hover h3,.hub-text-link { color:var(--amber-400); }
.hub-text-link { text-decoration:underline;text-underline-offset:5px; }
.hub-editorial-note { margin-top:32px;font-size:13px;color:var(--text-dim);line-height:1.8; }
.hub-page { padding:40px 0 72px;min-height:70vh; }
.hub-page>.container { max-width:1100px; }
.hub-breadcrumb { display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-bottom:40px; }
.hub-page-heading { max-width:800px;margin-bottom:40px; }
.hub-page-heading h1 { font-size:40px;line-height:1.5;overflow-wrap:break-word; }
.hub-page-heading p,.hub-lead { font-size:18px;line-height:1.8;margin-top:16px; }
.hub-guide-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:32px 0 48px; }
.hub-guide-grid section { padding-top:24px;border-top:1px solid var(--border-subtle); }
.hub-guide-grid h2 { font-size:21px;margin-bottom:12px; }
.hub-guide-grid p { font-size:15px;margin:0; }
.hub-business-invite { padding:32px 0;border-block:1px solid var(--border-subtle);margin-top:24px; }
.hub-business-invite h2,.hub-resources h2 { font-size:25px;line-height:1.6; }
.hub-business-invite p { max-width:750px;margin:12px 0 24px;color:var(--text-muted);line-height:1.8; }
.hub-provider-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px; }
.hub-provider { padding:24px;border:1px solid var(--border-subtle);border-radius:4px; }
.hub-provider h3 { font-size:20px;margin:12px 0; }
.hub-provider p { margin-bottom:16px; }
.hub-sponsored { display:block;color:var(--text-dim);font-size:12px;margin-bottom:12px; }
.hub-partner-action { padding:32px;background:var(--bg-secondary);margin:32px 0; }
.hub-partner-action p { margin-top:16px;font-size:13px;color:var(--text-muted); }
.hub-resources { margin-top:40px;display:grid;gap:16px; }
.hub-resources a { color:var(--azure-400);text-decoration:underline;text-underline-offset:4px; }
.hub-page a:focus-visible,.travel-hub-section a:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible { outline:2px solid var(--amber-400);outline-offset:5px; }
@media(max-width:1240px) {
 .site-header .header-inner { grid-template-columns:minmax(0,1fr) auto; }
 .site-header .nav-desktop,.site-header .btn-cta-desktop { display:none!important; }
 .site-header #mobileMenuToggle { display:inline-flex; }
}
@media(max-width:700px) {
 .site-header .header-inner { gap:12px; }
 .header-inner .brand.kye-wordmark { gap:8px; }
 .kye-code-mark { width:40px;height:40px;flex-basis:40px;font-size:16px; }
 .kye-brand-name { font-size:15px; }
 .kye-brand-caption { font-size:10px; }
 .site-header .header-actions #langToggleBtn { display:inline-flex!important;padding-inline:10px;min-height:42px;font-size:12px; }
 .site-header #themeToggleBtn { display:none!important; }
 .site-header .header-actions { gap:4px; }
 .hub-category-grid,.hub-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hub-page-heading h1 { font-size:30px; }
 .travel-hub-heading { align-items:start;flex-direction:column; }
}
@media(max-width:460px) {
 .site-header .container { width:calc(100% - 24px); }
 .kye-brand-name { font-size:13px; }
 .kye-brand-caption { font-size:10px; }
 .kye-code-mark { width:36px;height:42px;flex-basis:36px;font-size:15px; }
 .site-header #mobileMenuToggle { min-width:38px;width:38px; }
 .hub-category-grid,.hub-guide-grid,.hub-provider-grid { grid-template-columns:minmax(0,1fr); }
 .hub-guide-grid { gap:24px; }
 .hub-page-heading p,.hub-lead { font-size:16px; }
}

/* Native WordPress menus and database-backed editorial content. */
.nav-links { flex-wrap:wrap; }
.nav-links li { position:relative; }
.nav-links .sub-menu { display:none; position:absolute; inset-block-start:100%; inset-inline-start:0; min-width:210px; padding:10px; list-style:none; background:var(--bg-secondary); border:1px solid var(--border-subtle); z-index:60; }
.nav-links li:hover > .sub-menu,.nav-links li:focus-within > .sub-menu { display:block; }
.nav-links .sub-menu .sub-menu { inset-inline-start:100%; inset-block-start:0; }
.nav-links .sub-menu a { display:block; white-space:normal; padding:10px; }
.kye-mobile-menu,.kye-mobile-menu .sub-menu { list-style:none; padding:0; margin:0; }
.kye-mobile-menu .sub-menu { padding-inline-start:18px; }
.kye-mobile-menu .nav-link { display:block; }
.footer-links .sub-menu { padding-inline-start:18px; list-style:none; }
.footer-links a { overflow-wrap:anywhere; }
.kye-editable-content { font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.kye-editable-content img,.kye-editable-content video,.kye-editable-content iframe { max-width:100%; }
.kye-page-image { width:100%; height:auto; aspect-ratio:16 / 9; max-height:480px; object-fit:cover; margin-block:0 28px; }
.kye-editable-home .hero-media-backdrop img.kye-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kye-editable-content h2,.kye-editable-content h3 { margin-block:24px 12px; line-height:1.5; }
.kye-editable-content p { margin-block:0 16px; }
.kye-editable-content table { display:block; max-width:100%; overflow-x:auto; }
