/*
  Aerotaxi Quito visual system
  LOGO DIRECTION PLACEHOLDERS:
  - White: #FFFFFF
  - Royal Blue: #1F3C88
  - Royal Blue: #1F3C88
  - Map-Centric Navigation Style
  Visual placeholders:
  - VISUAL_STYLE
  - BACKGROUND_STYLE
  - TYPOGRAPHY_STYLE
  - BUTTON_STYLE
  - CARD_STYLE
  - HEADER_STYLE
  - FOOTER_STYLE
*/

:root {
  --brand-50: #f4f8ff;
  --brand-100: #e7efff;
  --brand-200: #c4d6ff;
  --brand-400: #4f7edb;
  --brand-600: #1f3c88;
  --brand-700: #182f6d;
  --brand-900: #0e1838;
  --ink-900: #0f172a;
  --ink-700: #334155;
  --ink-500: #64748b;
  --surface: #ffffff;
  --surface-soft: #f8fbff;
  --line: #d5e1f5;
  --line-strong: #94a3b8;
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 10px;
  --shadow-soft: 0 12px 34px rgba(20, 45, 103, 0.08);
  --shadow-nav: 0 14px 40px rgba(18, 37, 90, 0.14);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body.site-body {
  margin: 0;
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--ink-900);
  background:
    radial-gradient(920px 520px at 88% -12%, rgba(79, 126, 219, 0.18) 0%, rgba(79, 126, 219, 0) 72%),
    radial-gradient(680px 420px at -8% 12%, rgba(31, 60, 136, 0.15) 0%, rgba(31, 60, 136, 0) 76%),
    linear-gradient(180deg, #eef4ff 0%, #f8fbff 24%, #fdfefe 100%);
}

h1,
h2,
h3,
h4 {
  font-family: "Sora", "Manrope", system-ui, sans-serif;
  letter-spacing: -0.01em;
}

a {
  transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

/* ===== Header / Navigation ===== */
.site-nav {
  position: sticky;
  top: 0;
  backdrop-filter: blur(10px);
  background: rgba(247, 251, 255, 0.92);
  border-bottom: 1px solid rgba(31, 60, 136, 0.1);
}

.nav-shell {
  margin: 14px 0;
  border: 1px solid rgba(31, 60, 136, 0.14);
  border-radius: 20px;
  background: linear-gradient(160deg, #ffffff 0%, #f4f8ff 100%);
  box-shadow: var(--shadow-nav);
  padding: 14px 16px;
}

.nav-topline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.nav-brand-wrap {
  min-width: 260px;
}

.nav-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--brand-700);
}

.nav-logo {
  height: 46px;
  width: auto;
  object-fit: contain;
}

.nav-brand-text {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.nav-tagline {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--ink-500);
}

.nav-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-language-select {
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink-700);
  border-radius: var(--radius-sm);
  padding: 9px 10px;
  font-size: 13px;
}

.nav-account-btn,
.nav-auth-btn {
  border-radius: var(--radius-sm);
  border: 1px solid rgba(31, 60, 136, 0.2);
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
}

.nav-account-btn {
  color: var(--brand-700);
  background: #fff;
}

.nav-auth-btn {
  color: #fff;
  background: linear-gradient(145deg, var(--brand-400), var(--brand-600));
}

.nav-account-menu {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  background: #fff;
}

.nav-bottomline {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(31, 60, 136, 0.2);
  display: grid;
  grid-template-columns: 1fr minmax(260px, 420px);
  gap: 14px;
  align-items: center;
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.nav-links a {
  text-decoration: none;
  color: var(--brand-700);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.01em;
  border: 1px solid rgba(31, 60, 136, 0.12);
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
}

.nav-links a:hover {
  color: #fff;
  background: var(--brand-600);
}

.nav-search-wrap {
  position: relative;
}

.nav-search-input {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
  padding: 11px 14px;
  font-size: 13px;
}

.nav-search-input:focus {
  outline: 2px solid var(--brand-200);
  border-color: var(--brand-400);
}

/* ===== Generic content styles ===== */
.site-eyebrow {
  margin: 0 0 8px;
  color: var(--brand-600);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}

.site-hero-fallback {
  border: 1px solid rgba(31, 60, 136, 0.16);
  border-radius: var(--radius-lg);
  background: linear-gradient(165deg, #ffffff 0%, #ecf4ff 100%);
  box-shadow: var(--shadow-soft);
}

.feature-card {
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.feature-card:hover {
  transform: translateY(-2px);
  border-color: var(--brand-200);
}

.feature-icon-wrap {
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #dbe9ff 0%, #edf4ff 55%, #ffffff 100%);
}

.content-card {
  border-color: var(--line);
  box-shadow: var(--shadow-soft);
}

.page-breadcrumbs {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 14px;
  font-size: 12px;
  color: var(--ink-500);
}

.page-breadcrumbs a {
  color: var(--brand-600);
  text-decoration: none;
}

.page-breadcrumbs a:hover {
  color: var(--brand-700);
  text-decoration: underline;
}

.map-frame {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-soft);
}

/* ===== Footer ===== */
.site-footer {
  color: #e6efff;
  background:
    radial-gradient(960px 540px at 84% -12%, rgba(79, 126, 219, 0.25), rgba(79, 126, 219, 0)),
    linear-gradient(180deg, #162e69 0%, #11265a 50%, #0c1b42 100%);
}

.footer-top-grid {
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1.2fr;
  gap: 26px;
}

.footer-brand-card {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-lg);
  padding: 18px;
  background: rgba(255, 255, 255, 0.05);
}

.footer-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  text-decoration: none;
}

.footer-logo {
  height: 36px;
  width: auto;
  object-fit: contain;
}

.footer-brand-name {
  font-size: 18px;
  font-weight: 800;
}

.footer-brand-copy {
  margin-top: 10px;
  color: #d0def7;
  line-height: 1.6;
  font-size: 14px;
}

.footer-title {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-link-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.footer-link-list a {
  color: #d9e7ff;
  text-decoration: none;
  font-size: 14px;
}

.footer-link-list a:hover {
  color: #ffffff;
}

.footer-link-meta {
  color: #d9e7ff;
  font-size: 14px;
  line-height: 1.5;
}

.footer-newsletter-form {
  display: flex;
  gap: 8px;
}

.footer-newsletter-input {
  width: 100%;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 14px;
  padding: 10px 12px;
}

.footer-newsletter-input::placeholder {
  color: #d7e7ff;
}

.footer-newsletter-btn {
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: #ffffff;
  color: var(--brand-700);
  font-weight: 800;
  font-size: 13px;
  padding: 10px 14px;
  white-space: nowrap;
}

.footer-social-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.footer-social-pill {
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  font-size: 12px;
  padding: 6px 11px;
}

.footer-bottom-row {
  margin-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding-top: 18px;
}

.footer-bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 8px;
}

.footer-bottom-links a {
  font-size: 12px;
  color: #d6e6ff;
  text-decoration: none;
}

.footer-bottom-links a:hover {
  color: #fff;
}

.footer-copyright {
  margin: 0;
  font-size: 12px;
  color: #c0d4f7;
}

/* Better default buttons/forms in content sections */
button,
[type="submit"] {
  cursor: pointer;
}

input,
select,
textarea {
  border-radius: var(--radius-sm);
}

/* ===== Responsive ===== */
@media (max-width: 1100px) {
  .footer-top-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .nav-topline {
    flex-direction: column;
    align-items: flex-start;
  }

  .nav-controls {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .nav-bottomline {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .nav-shell {
    border-radius: 14px;
    padding: 12px;
  }

  .nav-brand-text {
    font-size: 17px;
  }

  .footer-top-grid {
    grid-template-columns: 1fr;
  }

  .footer-newsletter-form {
    flex-direction: column;
  }

  .footer-newsletter-btn {
    width: 100%;
  }
}

/* === DOMAIN VISUAL OVERRIDES V2 START ===
   Generated by fix_style_and_remove_na_locations_v2.py
   Domain: airtaxirome.it
   Website: Airtaxi Rome
   Location used: Rome
   Primary: #E76F51 -> #E76F51
   Secondary: Royal Blue #1F3C88 -> #1F3C88
   Third: Metallic Gold — #C8A951 -> #C8A951
   ========================================================================== */

:root {
  --domain-primary: #E76F51;
  --domain-primary-dark: #BA3A1A;
  --domain-primary-darker: #732410;
  --domain-primary-light: #F5C3B6;
  --domain-primary-soft: #FCEBE7;

  --domain-secondary: #1F3C88;
  --domain-secondary-dark: #162A5F;
  --domain-secondary-darker: #0E1B3D;
  --domain-secondary-light: #95ABE7;
  --domain-secondary-soft: #DDE5F7;

  --domain-third: #C8A951;
  --domain-third-dark: #957B2F;
  --domain-third-light: #EADEBD;
  --domain-third-soft: #F8F5EA;

  --domain-ink: #0F172A;
  --domain-ink-soft: #334155;
  --domain-muted: #64748B;
  --domain-line: #E2E8F0;
  --domain-body-bg: #F7FAFC;

  --primary: var(--domain-primary);
  --primary-hover: var(--domain-primary-dark);
  --secondary: var(--domain-secondary);
  --secondary-hover: var(--domain-secondary-dark);
  --accent: var(--domain-third);

  --aqua: var(--domain-primary);
  --aqua-dark: var(--domain-primary-dark);
  --aqua-light: var(--domain-primary-soft);
  --emerald: var(--domain-secondary);
  --emerald-dark: var(--domain-secondary-dark);
  --emerald-light: var(--domain-secondary-soft);

  --avp-brand: var(--domain-primary);
  --avp-brand-2: var(--domain-secondary);
  --avp-accent: var(--domain-third);

  --accent-700: var(--domain-primary-dark);
  --accent-600: var(--domain-primary);
  --accent-500: var(--domain-secondary);

  --ink: var(--domain-ink);
  --ink-soft: var(--domain-ink-soft);
  --muted: var(--domain-muted);
  --line: var(--domain-line);
  --line-soft: var(--domain-primary-soft);
  --line-mid: var(--domain-primary-light);
  --bg: var(--domain-body-bg);
  --bg-dark: var(--domain-primary-darker);
  --bg-dark-2: var(--domain-secondary-darker);

  --focus-ring: 0 0 0 3px rgba(231, 111, 81, 0.24);
}

html,
body,
body.site-body {
  background:
    radial-gradient(circle at 8% -10%, rgba(245, 195, 182, 0.72) 0%, transparent 34%),
    radial-gradient(circle at 92% -8%, rgba(149, 171, 231, 0.62) 0%, transparent 36%),
    linear-gradient(180deg, #F7FAFC 0%, #ffffff 100%) !important;
  color: var(--domain-ink) !important;
}

a { color: var(--domain-primary-dark) !important; }
a:hover { color: var(--domain-secondary-dark) !important; }

.site-header,
.site-header__bar,
.site-header__wrap,
.avp-header-shell {
  background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(252, 235, 231, 0.92) 100%) !important;
  border-color: rgba(231, 111, 81, 0.26) !important;
  box-shadow: 0 8px 28px rgba(186, 58, 26, 0.09) !important;
}

.site-nav__link.active,
.site-nav-link:hover,
.site-nav__link:hover,
.avp-nav-link:hover {
  color: var(--domain-primary-dark) !important;
  background: rgba(231, 111, 81, 0.12) !important;
}

button,
input[type="submit"],
.site-btn,
.site-login-btn,
.site-auth-btn,
.site-header__btn--register,
.avp-auth-btn,
.avp-btn,
.btn-h2o,
.btn-h2o--primary,
.site-footer__btn,
.site-btn--primary,
.site-btn--accent {
  background: linear-gradient(135deg, var(--domain-primary) 0%, var(--domain-secondary) 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(186, 58, 26, 0.26) !important;
}

.card,
.feature-card,
.h2o-feature-card,
.h2o-card,
.avp-card,
.hero-panel,
.page-header-panel,
.premium-surface,
.article-panel,
.block-card,
.poi-card,
.restaurant-card,
.list-item-card,
.tags-page {
  border-color: rgba(231, 111, 81, 0.24) !important;
  box-shadow: 0 18px 46px rgba(186, 58, 26, 0.12) !important;
}

.feature-card__icon,
.h2o-feature-card__icon,
.site-footer__logo,
.site-header__logo-link,
.site-brand__mark,
.avp-logo-wrap {
  background: radial-gradient(circle at 30% 30%, #FCEBE7, #DDE5F7) !important;
  color: var(--domain-primary-dark) !important;
  border-color: rgba(231, 111, 81, 0.25) !important;
}

.feature-card__icon svg,
.h2o-feature-card__icon svg,
.feature-card__icon-svg,
.site-search__icon {
  color: var(--domain-primary) !important;
  stroke: var(--domain-primary) !important;
}

.page-hero,
.site-page-intro,
.hero-section,
.home-hero {
  background:
    radial-gradient(circle at 15% 18%, rgba(31, 60, 136, 0.34) 0%, transparent 34%),
    linear-gradient(135deg, var(--domain-primary-darker) 0%, var(--domain-primary-dark) 42%, var(--domain-secondary-dark) 100%) !important;
}

.page-hero h1,
.site-page-intro h1,
.hero-section h1,
.home-hero h1 {
  color: #ffffff !important;
}

.site-footer,
.site-footer.mega-footer,
.mega-footer,
.avp-footer {
  background:
    radial-gradient(circle at 16% -8%, rgba(31, 60, 136, 0.40) 0%, transparent 36%),
    linear-gradient(135deg, var(--domain-primary-darker) 0%, var(--domain-primary-dark) 50%, var(--domain-secondary-darker) 100%) !important;
  color: #ffffff !important;
}

.site-footer__top,
.mega-footer__bottom-strip {
  background: linear-gradient(135deg, rgba(252, 235, 231, 0.96) 0%, rgba(255,255,255,0.98) 100%) !important;
}

.site-footer h3,
.site-footer h4,
.site-footer__heading,
.site-footer__brand,
.site-footer__label,
.site-footer__group h4,
.site-footer__col h4 {
  color: var(--domain-primary-dark) !important;
}

.site-footer__brandbar,
.site-footer__bottom,
.site-footer__legalbar {
  background: linear-gradient(135deg, var(--domain-primary) 0%, var(--domain-secondary) 100%) !important;
  color: #ffffff !important;
}

.site-footer__brandbar *,
.site-footer__bottom *,
.site-footer__legalbar * {
  color: #ffffff !important;
}

input:focus,
select:focus,
textarea:focus,
.site-search input:focus,
.site-search-input:focus,
.site-search__input:focus {
  border-color: var(--domain-primary) !important;
  box-shadow: var(--focus-ring) !important;
}

::selection { background: rgba(231, 111, 81, 0.28); }

/* === DOMAIN VISUAL OVERRIDES V2 END === */

