/*
Theme Name: Tevily Child
Theme URI: https://gaviaspreview.com/wp/tevily/
Author URI: https://themeforest.net/user/gavias
Author: Gaviasthemes Team
Description: Child theme for the Tevily theme.
Template: tevily
*/
/* ═══════════════════════════════════════════════════════════════════
   MILAN ETHIOPIA TOURS — Complete Design System
   Option A: Cormorant Garamond (headings) + DM Sans (body) + Cinzel (labels/nav/buttons)
   Colors: Navy #0E2A54 | Gold #D4AF37 | Dark #1E293B | Mid #64748B | Light #F4F6F9
   Version: 2.0 | August 2026
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=DM+Sans:wght@300;400;500;600&family=Cinzel:wght@400;600;700&display=swap');

/* ── CSS VARIABLES ──────────────────────────────────────────────── */
:root {
  --met-navy:   #0E2A54;
  --met-navym:  #1A3A6A;
  --met-gold:   #D4AF37;
  --met-goldl:  #E8C84A;
  --met-cream:  #FBF7EE;
  --met-dark:   #1E293B;
  --met-gray:   #F4F6F9;
  --met-mid:    #64748B;
  --met-light:  #CBD5E1;
  --met-white:  #FFFFFF;
  --met-heading: 'Cormorant Garamond', Georgia, serif;
  --met-body:    'DM Sans', Arial, sans-serif;
  --met-label:   'Cinzel', Georgia, serif;
}

/* ── GLOBAL BODY ────────────────────────────────────────────────── */
body {
  font-family: var(--met-body) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--met-dark) !important;
  -webkit-font-smoothing: antialiased;
}

/* ── HEADINGS: Cormorant Garamond ───────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--met-heading) !important;
  color: var(--met-navy) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

h1, .elementor-heading-title.elementor-size-xxl,
.elementor-heading-title.elementor-size-xl {
  font-size: clamp(30px, 4vw, 52px) !important;
}

h2, .elementor-heading-title.elementor-size-large {
  font-size: clamp(24px, 3vw, 40px) !important;
}

h3, .elementor-heading-title.elementor-size-medium {
  font-size: clamp(19px, 2.4vw, 28px) !important;
}

h4, .elementor-heading-title.elementor-size-small {
  font-size: clamp(16px, 1.8vw, 22px) !important;
  font-weight: 600 !important;
}

/* Section labels: Cinzel small caps */
.elementor-heading-title.elementor-size-xs,
.section-label, .section-tag {
  font-family: var(--met-label) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--met-gold) !important;
}

/* ── BODY TEXT: DM Sans ─────────────────────────────────────────── */
p, li, td, th,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-text-editor {
  font-family: var(--met-body) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--met-dark) !important;
}

/* ── NAVIGATION: Cinzel ─────────────────────────────────────────── */
.main-menu > li > a,
nav .menu-item > a,
.gva-navigation .menu-item > a {
  font-family: var(--met-label) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--met-navy) !important;
  transition: color 0.2s ease !important;
}

.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a,
.main-menu > li.current-menu-ancestor > a {
  color: var(--met-gold) !important;
}

/* Dropdown */
.main-menu .sub-menu,
.main-menu .dropdown-menu,
.mega-menu-content {
  background: #ffffff !important;
  border-top: 2px solid var(--met-gold) !important;
  box-shadow: 0 6px 24px rgba(14,42,84,0.12) !important;
}

.main-menu .sub-menu li a,
.main-menu .dropdown-menu li a,
.mega-menu-content .menu-item a {
  font-family: var(--met-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--met-dark) !important;
  padding: 9px 18px !important;
  transition: all 0.15s ease !important;
}

.main-menu .sub-menu li a:hover,
.main-menu .dropdown-menu li a:hover,
.mega-menu-content .menu-item a:hover {
  color: var(--met-gold) !important;
  background: var(--met-gray) !important;
}

/* ── BUTTONS ────────────────────────────────────────────────────── */
.elementor-button,
.elementor-button-wrapper .elementor-button,
button, .btn, input[type="submit"],
.ba-booking-btn, .babe-btn, a.btn,
a.elementor-button {
  font-family: var(--met-label) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  transition: all 0.2s ease !important;
}

/* Gold primary button */
.elementor-button-primary,
.btn-primary, .babe-btn-primary,
.gva-booking a, .btn-booking,
.header-booking a, a.btn-book,
.book-now-btn {
  background-color: var(--met-gold) !important;
  color: var(--met-navy) !important;
  border: 2px solid var(--met-gold) !important;
}

.elementor-button-primary:hover,
.btn-primary:hover,
.gva-booking a:hover {
  background-color: var(--met-goldl) !important;
  border-color: var(--met-goldl) !important;
  color: var(--met-navy) !important;
}

/* Navy secondary button */
.elementor-button-secondary,
.btn-secondary {
  background-color: var(--met-navy) !important;
  color: #ffffff !important;
  border: 2px solid var(--met-navy) !important;
}

.elementor-button-secondary:hover,
.btn-secondary:hover {
  background-color: var(--met-navym) !important;
  border-color: var(--met-navym) !important;
}

/* ── WHITE TEXT ON DARK BACKGROUNDS ────────────────────────────── */
/* HTML page navy sections */
div[style*="background:#0E2A54"] h1,
div[style*="background:#0E2A54"] h2,
div[style*="background:#0E2A54"] h3,
div[style*="background:#0E2A54"] h4,
div[style*="background:#0E2A54"] p,
div[style*="background:#0E2A54"] li,
div[style*="background:#0E2A54"] a,
div[style*="background:#0E2A54"] span,
div[style*="background:#0E2A54"] td,
div[style*="background: #0E2A54"] h1,
div[style*="background: #0E2A54"] h2,
div[style*="background: #0E2A54"] h3,
div[style*="background: #0E2A54"] p,
div[style*="background: #0E2A54"] a,
section[style*="background:#0E2A54"] *,
section[style*="background-color:#0E2A54"] * {
  color: #ffffff !important;
}

/* Elementor dark sections */
.elementor-section[data-settings*='"background_color":"#7D1235"'] *,
.elementor-section[data-settings*='"background_color":"#AB4E10"'] *,
.elementor-section[data-settings*='"background_color":"#141210"'] *,
.elementor-section[data-settings*='"background_color":"#060607"'] *,
.elementor-section[data-settings*='"background_color":"#010102"'] *,
.elementor-section[data-settings*='"background_color":"#313041"'] * {
  color: rgba(255,255,255,0.88) !important;
}

/* Slider Revolution and hero captions */
.tp-caption, .tp-caption h1, .tp-caption h2,
.tp-caption h3, .tp-caption p, .tp-caption span,
.rev_slider .tp-caption, .hero-content h1,
.hero-content h2, .hero-content p,
.banner-content h1, .banner-content p,
.gva-hero h1, .gva-hero p {
  color: #ffffff !important;
}

/* ── FOOTER ─────────────────────────────────────────────────────── */
footer, .site-footer, .gva-footer,
.footer-main, .footer-area,
footer .elementor-section,
footer .elementor-widget-container {
  color: rgba(255,255,255,0.80) !important;
}

footer h1, footer h2, footer h3, footer h4,
.site-footer h3, .site-footer h4,
.gva-footer h3, .gva-footer h4,
footer .elementor-heading-title,
.gva-footer .elementor-heading-title {
  font-family: var(--met-label) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--met-gold) !important;
}

footer p, footer li,
.site-footer p, .gva-footer p,
.footer-area p {
  font-family: var(--met-body) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.75) !important;
}

footer a, .site-footer a,
.gva-footer a, .footer-area a {
  font-family: var(--met-body) !important;
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
}

footer a:hover, .site-footer a:hover,
.gva-footer a:hover {
  color: var(--met-gold) !important;
}

.footer-bottom, .footer-copyright,
.gva-footer-bottom {
  font-family: var(--met-body) !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.50) !important;
}

/* ── TOUR CARDS ─────────────────────────────────────────────────── */
.babe-item-title, .booking-title,
.babe-grid-item h3, .babe-grid-item h2,
.babe-item-name {
  font-family: var(--met-heading) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--met-navy) !important;
  line-height: 1.25 !important;
}

.babe-grid-item, .babe-item-wrap {
  border-radius: 6px !important;
  overflow: hidden !important;
  transition: box-shadow 0.25s ease !important;
}

.babe-grid-item:hover, .babe-item-wrap:hover {
  box-shadow: 0 8px 32px rgba(14,42,84,0.14) !important;
}

/* Tour price */
.babe-price, .price-from,
.babe-item-price, .item-price {
  font-family: var(--met-heading) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--met-navy) !important;
}

/* ── BOOKING SINGLE PAGE ────────────────────────────────────────── */
.babe-single-wrap h1, .babe-single-wrap h2,
.babe-single-wrap h3, .booking-single h1,
.booking-single h2 {
  font-family: var(--met-heading) !important;
  color: var(--met-navy) !important;
}

.babe-single-wrap p, .babe-single-wrap li,
.booking-single p {
  font-family: var(--met-body) !important;
  font-size: 16px !important;
  color: var(--met-dark) !important;
  line-height: 1.75 !important;
}

/* ── SIDEBAR ────────────────────────────────────────────────────── */
.widget-title, .widgettitle {
  font-family: var(--met-label) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--met-navy) !important;
  border-bottom: 2px solid var(--met-gold) !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

.widget p, .widget li, .widget a {
  font-family: var(--met-body) !important;
  font-size: 14px !important;
  color: var(--met-dark) !important;
}

.widget a:hover {
  color: var(--met-gold) !important;
}

/* ── BLOG ───────────────────────────────────────────────────────── */
.entry-title, .post-title {
  font-family: var(--met-heading) !important;
  color: var(--met-navy) !important;
}

.entry-content h2, .entry-content h3,
.entry-content h4 {
  font-family: var(--met-heading) !important;
  color: var(--met-navy) !important;
}

.entry-content p, .entry-content li {
  font-family: var(--met-body) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--met-dark) !important;
}

.entry-content h2 {
  border-left: 3px solid var(--met-gold) !important;
  padding-left: 14px !important;
}

/* ── PAGE TITLES ────────────────────────────────────────────────── */
.gva-page-title h1, .page-title h1,
.entry-header h1, .post-header h1 {
  font-family: var(--met-heading) !important;
  color: var(--met-navy) !important;
}

/* ── BREADCRUMBS ────────────────────────────────────────────────── */
.breadcrumb, .breadcrumbs,
.breadcrumb *, .breadcrumbs *,
.gva-breadcrumb * {
  font-family: var(--met-body) !important;
  font-size: 12px !important;
  color: var(--met-mid) !important;
}

.breadcrumb a:hover, .breadcrumbs a:hover {
  color: var(--met-gold) !important;
}

/* ── STAR RATINGS ───────────────────────────────────────────────── */
.babe-stars i, .star-rating i,
.babe-rating i, .review-star i,
.fa-star, .fas.fa-star, .far.fa-star {
  color: var(--met-gold) !important;
}

/* ── FORMS ──────────────────────────────────────────────────────── */
label, .elementor-field-label {
  font-family: var(--met-label) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--met-dark) !important;
}

input, textarea, select,
.elementor-field-type-text input,
.elementor-field-type-email input,
.elementor-field-type-textarea textarea {
  font-family: var(--met-body) !important;
  font-size: 15px !important;
  border: 1px solid var(--met-light) !important;
  border-radius: 3px !important;
  padding: 10px 14px !important;
  color: var(--met-dark) !important;
  background: #ffffff !important;
  transition: border-color 0.2s ease !important;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--met-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.14) !important;
}

/* ── LINKS ──────────────────────────────────────────────────────── */
a {
  color: var(--met-navy) !important;
  transition: color 0.2s ease !important;
}

a:hover {
  color: var(--met-gold) !important;
}

/* ── MOBILE MENU ────────────────────────────────────────────────── */
.mobile-menu li a, .menu-mobile li a,
.gva-menu-mobile li a,
.menu-mobile-content a {
  font-family: var(--met-label) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  color: var(--met-navy) !important;
}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  body { font-size: 15px !important; }
  h1 { font-size: 30px !important; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 19px !important; }
  .babe-item-title { font-size: 17px !important; }
  .babe-price { font-size: 20px !important; }
  .main-menu > li > a { font-size: 11px !important; }
}
/* Hide Tevily theme duplicate copyright bar */
.gva-copyright,
.site-info,
.footer-copyright-bar,
#footer-bottom .gva-copyright,
.tevily-copyright,
p.copyright {
  display: none !important;
}