/*
 * Makkas Travel 1.5.0 — Elementor frontend/editor compatibility layer.
 * Loaded after Elementor and theme.css; the unique filename bypasses old CDN
 * copies from earlier packages.
 */

.makkas-site,
.makkas-site .elementor,
.makkas-site .elementor-element,
.makkas-site .elementor-widget-container,
.makkas-elementor-template-canvas,
.makkas-elementor-template-canvas .elementor,
.makkas-elementor-template-canvas .elementor-element,
.makkas-elementor-template-canvas .elementor-widget-container {
  font-family: "Manrope", Arial, sans-serif;
}

.makkas-site.elementor-page .site-main,
.makkas-site.elementor-page .site-main > .elementor,
.makkas-site.elementor-page .site-main > .elementor > .elementor-element,
.makkas-site.elementor-page .site-main > .elementor > .e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.makkas-site .elementor-element.site-header,
.makkas-elementor-template-canvas .elementor-element.site-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  color: #fff !important;
  z-index: 1000 !important;
}

.makkas-site .elementor-element.header-shell,
.makkas-elementor-template-canvas .elementor-element.header-shell {
  width: min(1420px, calc(100% - 48px)) !important;
  max-width: none !important;
  min-height: 94px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 38px !important;
  position: relative !important;
}

.makkas-site .elementor-element.main-nav,
.makkas-elementor-template-canvas .elementor-element.main-nav {
  position: absolute !important;
  left: 50% !important;
  width: max-content !important;
  max-width: calc(100% - 570px) !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
}

.makkas-site .main-nav .makkas-menu,
.makkas-site .main-nav ul,
.makkas-elementor-template-canvas .main-nav .makkas-menu,
.makkas-elementor-template-canvas .main-nav ul {
  display: flex !important;
  flex-flow: row nowrap !important;
  white-space: nowrap !important;
}

.makkas-site .main-nav li,
.makkas-site .main-nav a,
.makkas-elementor-template-canvas .main-nav li,
.makkas-elementor-template-canvas .main-nav a {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.makkas-site .elementor-element.header-cta,
.makkas-elementor-template-canvas .elementor-element.header-cta {
  margin-left: auto !important;
}

.makkas-site .site-header .mobile-panel,
.makkas-elementor-template-canvas .site-header .mobile-panel { display: none !important; }

.makkas-site .site-header .mobile-panel.is-open {
  display: block !important;
  position: fixed !important;
  inset: 94px 0 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 36px 24px !important;
  background: var(--navy) !important;
}

.makkas-site .elementor-element.hero {
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  color: #fff !important;
  background: var(--navy) url("../img/makkas-hero.webp") center center / cover no-repeat !important;
}

.makkas-site .elementor-element.hero-inner {
  width: min(1420px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 190px 0 80px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.makkas-site .elementor-element.wrap {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

.makkas-site .elementor-element.intro { padding: 125px 0 110px !important; background: var(--ivory) !important; }
.makkas-site .elementor-element.services { padding: 115px 0 !important; background: var(--navy) !important; color: #fff !important; }
.makkas-site .elementor-element.fleet { padding: 120px 0 !important; background: #fff !important; }
.makkas-site .elementor-element.routes { padding: 120px 0 !important; background: #ece8df !important; }
.makkas-site .elementor-element.content-section { padding: 110px 0 !important; }
.makkas-site .elementor-element.big-cta { padding: 115px 0 !important; background: var(--ivory) !important; }

.makkas-site .elementor-element.page-hero {
  width: 100% !important;
  max-width: none !important;
  min-height: 620px !important;
  padding: 200px 0 90px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  color: #fff !important;
  background: var(--navy) url("../img/makkas-hero.webp") center / cover !important;
}

.makkas-site .elementor-heading-title,
.makkas-site .elementor-widget-text-editor,
.makkas-site .elementor-widget-text-editor p,
.makkas-elementor-template-canvas .elementor-heading-title,
.makkas-elementor-template-canvas .elementor-widget-text-editor,
.makkas-elementor-template-canvas .elementor-widget-text-editor p {
  color: inherit;
  font-family: "Manrope", Arial, sans-serif;
}

.makkas-site .elementor-element.site-footer,
.makkas-elementor-template-canvas .elementor-element.site-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #050c15 !important;
  color: #fff !important;
}

/* Elementor's editor does not reliably run the frontend IntersectionObserver.
   Keep animation targets visible and editable inside its iframe. */
body.elementor-editor-active .reveal,
body.elementor-editor-preview .reveal,
body.makkas-elementor-template-canvas .reveal,
.elementor-editor-active .reveal,
.elementor-editor-preview .reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.makkas-elementor-template-canvas {
  margin: 0;
  min-height: 100vh;
  background: var(--ivory);
}

.makkas-elementor-template-canvas .makkas-template-editor-content {
  min-height: 100vh;
  overflow: visible;
}

@media (max-width: 1120px) {
  .makkas-site .elementor-element.main-nav,
  .makkas-elementor-template-canvas .elementor-element.main-nav { display: none !important; }
}

@media (max-width: 820px) {
  .makkas-site .elementor-element.header-shell,
  .makkas-elementor-template-canvas .elementor-element.header-shell { width: calc(100% - 30px) !important; min-height: 78px !important; gap: 10px !important; }
  .makkas-site .site-header .mobile-panel.is-open { inset: 78px 0 0 !important; }
  .makkas-site .elementor-element.hero { min-height: 820px !important; background-position: 61% center !important; }
  .makkas-site .elementor-element.hero-inner { width: calc(100% - 36px) !important; padding: 150px 0 45px !important; }
  .makkas-site .elementor-element.intro,
  .makkas-site .elementor-element.services,
  .makkas-site .elementor-element.fleet,
  .makkas-site .elementor-element.routes,
  .makkas-site .elementor-element.content-section,
  .makkas-site .elementor-element.big-cta { padding-block: 80px !important; }
}

/* Makkas Travel 1.5.0 — refined scale, imagery, rounded UI and nested menus. */
body,
.makkas-site,
.makkas-elementor-template-canvas { font-size: 16px; line-height: 1.58; }

.makkas-site :where(p, li, .elementor-widget-text-editor),
.makkas-elementor-template-canvas :where(p, li, .elementor-widget-text-editor) { line-height: 1.58; }

.makkas-site :where(h1, h2),
.makkas-elementor-template-canvas :where(h1, h2) { line-height: 1.08 !important; letter-spacing: -.022em; overflow-wrap: anywhere; }

.makkas-site .hero h1 { max-width: 760px; font-size: clamp(50px, 5.8vw, 82px) !important; line-height: 1.03 !important; }
.makkas-site h2 { font-size: clamp(36px, 4vw, 58px) !important; }
.makkas-site h3 { line-height: 1.18 !important; }
.makkas-site .intro-main > .elementor-widget-text-editor,
.makkas-site .intro-main > p { font-size: 16px; line-height: 1.65; }

/* A clear page name is always the primary heading; the editorial line is secondary. */
.makkas-site .elementor-element.page-hero { min-height: 530px !important; padding: 175px 0 72px !important; }
.makkas-site .page-hero h1 { max-width: 920px; margin: 18px 0 12px; font-size: clamp(54px, 6.6vw, 88px) !important; line-height: 1.02 !important; }
.makkas-site .page-hero-tagline { max-width: 800px; margin: 0 0 18px; color: #fff; font-size: clamp(28px, 3.5vw, 48px) !important; line-height: 1.12 !important; }
.makkas-site .page-hero-tagline em { color: var(--gold-light); }
.makkas-site .page-hero p { font-size: 15px; line-height: 1.6; }

/* Rounded visual language. */
.makkas-site :where(.btn, .header-cta, .menu-toggle, .service-card, .service-icon, .service-card > div + a, .fleet-showcase, .fleet-visual, .route-map, .route-photo, .intro-image, .fleet-gallery, .quote-panel, .value-card, .detail-card, .step, .vehicle-row, .vehicle-icon, .contact-form-box, .contact-list a, .contact-list > div, .post-card, .route-pills span, .fleet-tags span, .form-field input, .form-field select, .form-field textarea, .wpcf7-form input, .wpcf7-form select, .wpcf7-form textarea),
.makkas-elementor-template-canvas :where(.btn, .header-cta, .menu-toggle, .service-card, .service-icon, .service-card > div + a, .fleet-showcase, .fleet-visual, .route-map, .route-photo, .intro-image, .fleet-gallery, .quote-panel, .value-card, .detail-card, .step, .vehicle-row, .vehicle-icon, .contact-form-box, .route-pills span, .fleet-tags span) { border-radius: 14px !important; }
.makkas-site .elementor-widget-button .elementor-button { border-radius: 14px !important; }
.makkas-site .header-cta i { border-radius: 10px; }
.makkas-site .fleet-showcase { overflow: hidden; }
.makkas-site .fleet-tags span,
.makkas-site .route-pills span { border-radius: 999px !important; }

/* New project imagery. */
.makkas-site .intro-image { min-height: 285px; margin-top: 38px; background: url("../img/airport-premium.webp") center / cover no-repeat; box-shadow: var(--shadow); }
.makkas-site .fleet-visual { background: url("../img/fleet-lineup.webp") center / cover no-repeat !important; }
.makkas-site .fleet-gallery { min-height: 460px; margin-bottom: 68px; background: url("../img/fleet-lineup.webp") center 55% / cover no-repeat; box-shadow: var(--shadow); }
.makkas-site .route-photo { min-height: 590px; position: relative; overflow: hidden; background: url("../img/destination-vclass.webp") center / cover no-repeat; box-shadow: var(--shadow); }
.makkas-site .route-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,12,22,.72), transparent 52%); pointer-events: none; }
.makkas-site .photo-caption { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 28px; display: flex; align-items: end; justify-content: space-between; gap: 20px; color: #fff; }
.makkas-site .photo-caption span { color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.makkas-site .photo-caption strong { font-size: 14px; }

/* Keep the fleet heading comfortably inside its column. */
.makkas-site .fleet-content { min-width: 0; padding: 56px 48px; overflow: visible; }
.makkas-site .fleet-content h2 { max-width: 100%; font-size: clamp(38px, 3.6vw, 55px) !important; line-height: 1.08 !important; overflow-wrap: normal; word-break: normal; }

/* Desktop dropdown menu with keyboard support. */
@media (min-width: 1121px) {
  .makkas-site .main-nav .menu-item-has-children { position: relative; }
  .makkas-site .main-nav .sub-menu { position: absolute; top: calc(100% - 16px); left: 50%; z-index: 20; min-width: 230px; padding: 10px !important; display: grid !important; gap: 2px !important; opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 10px); border: 1px solid rgba(213,173,104,.2); border-radius: 14px; background: rgba(7,17,31,.98); box-shadow: 0 20px 60px rgba(0,0,0,.28); transition: .22s ease; }
  .makkas-site .main-nav .menu-item-has-children:hover > .sub-menu,
  .makkas-site .main-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
  .makkas-site .main-nav .sub-menu li { width: 100%; }
  .makkas-site .main-nav .sub-menu a { padding: 11px 14px; border-radius: 9px; font-size: 12px; }
  .makkas-site .main-nav .sub-menu a::after { display: none; }
  .makkas-site .main-nav .sub-menu a:hover,
  .makkas-site .main-nav .sub-menu a:focus { background: rgba(213,173,104,.12); color: var(--gold-light); }
  .makkas-site .main-nav .menu-item-has-children > a::before { content: "⌄"; position: absolute; right: -14px; top: 50%; transform: translateY(-58%); color: var(--gold-light); font-size: 11px; }
}

/* Nested items remain obvious and usable in the mobile panel. */
.makkas-site .mobile-panel .sub-menu { margin: 0 0 10px 14px; padding: 0 0 0 16px; display: block; border-left: 1px solid rgba(213,173,104,.32); list-style: none; }
.makkas-site .mobile-panel .sub-menu li { border-bottom: 0; }
.makkas-site .mobile-panel .sub-menu a { padding: 10px 0; color: rgba(255,255,255,.7); font-size: 18px; }

@media (max-width: 1120px) {
  .makkas-site .fleet-showcase { grid-template-columns: 1fr; }
  .makkas-site .fleet-visual { min-height: 440px; }
  .makkas-site .fleet-content h2 { font-size: clamp(38px, 7vw, 54px) !important; }
}

@media (max-width: 820px) {
  .makkas-site .hero h1 { font-size: clamp(44px, 13vw, 64px) !important; }
  .makkas-site h2 { font-size: clamp(32px, 9.5vw, 46px) !important; }
  .makkas-site .elementor-element.page-hero { min-height: 460px !important; padding: 145px 0 58px !important; }
  .makkas-site .page-hero h1 { font-size: clamp(45px, 13vw, 66px) !important; }
  .makkas-site .page-hero-tagline { font-size: clamp(26px, 7.5vw, 37px) !important; }
  .makkas-site .intro-image { min-height: 250px; }
  .makkas-site .fleet-gallery { min-height: 300px; margin-bottom: 48px; }
  .makkas-site .route-photo { min-height: 440px; }
  .makkas-site .fleet-content { padding: 42px 26px; }
  .makkas-site .fleet-content h2 { font-size: clamp(34px, 10vw, 46px) !important; }
  .makkas-site .photo-caption { left: 20px; right: 20px; bottom: 20px; flex-direction: column; align-items: flex-start; }
}
