/* ==========================================================================
   Makkah Madinah Rides — Elementor design layer
   Paste into Elementor → Site Settings → Custom CSS (Pro),
   or Appearance → Customize → Additional CSS (free).
   Every rule targets a class already attached to a native Elementor widget.
   ========================================================================== */

:root{
  --mmr-emerald:#0d4c3b;
  --mmr-deep:#07372b;
  --mmr-gold:#80601f;        /* AA contrast with white button text */
  --mmr-gold-light:#e2ca95;
  --mmr-ivory:#f8f4ea;
  --mmr-paper:#fffdf8;
  --mmr-ink:#14221d;
  --mmr-muted:#57635d;
  --mmr-quiet:#68746e;
  --mmr-line:rgba(20,34,29,.13);
  --mmr-serif:Georgia,"Times New Roman",serif;
}

/* ---------------------------------------------------------------- basics */
body{background:var(--mmr-paper);color:var(--mmr-ink)}

.mmr-section{padding:104px 0}
.mmr-section > .e-con-inner{width:min(1180px,calc(100% - 48px));margin-inline:auto}

.mmr-section h2,.mmr-section h1{font-family:var(--mmr-serif);font-weight:400;letter-spacing:-.035em}
.mmr-h1 .elementor-heading-title{max-width:740px;margin:0 0 24px;
  font-size:clamp(46px,5.2vw,74px);line-height:1;color:#fff}
.mmr-h1 em{color:var(--mmr-gold-light);font-style:normal}
.mmr-hero .mmr-h1{width:100%}
.mmr-section h2{font-size:clamp(36px,4vw,54px);line-height:1.08}

.mmr-eyebrow .elementor-heading-title{margin:0 0 18px;color:var(--mmr-emerald);
  font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  font-family:Arial,Helvetica,sans-serif}
.mmr-eyebrow--light .elementor-heading-title{color:var(--mmr-gold-light)}

.mmr-lead p{max-width:640px;margin:0;color:rgba(255,255,255,.92);
  font-size:18px;line-height:1.75}
.mmr-note p{margin:20px 0 0;color:var(--mmr-quiet);font-size:12px;text-align:center}
.mmr-rule{--divider-color:var(--mmr-line)}

/* keyboard focus — do not remove */
.mmr-btn a:focus-visible,.mmr-link a:focus-visible,.mmr-textlink a:focus-visible,
.mmr-nav a:focus-visible,.mmr-foot__links a:focus-visible{
  outline:3px solid var(--mmr-gold);outline-offset:3px}

/* --------------------------------------------------------------- buttons */
.mmr-btn .elementor-button{min-height:50px;padding:0 22px;display:inline-flex;
  align-items:center;justify-content:center;gap:10px;border:1px solid transparent;
  border-radius:3px;font-size:13px;font-weight:800;letter-spacing:.03em;
  transition:transform .2s ease,background .2s ease}
.mmr-btn .elementor-button:hover{transform:translateY(-2px)}
.mmr-btn--dark .elementor-button{background:var(--mmr-emerald);color:#fff}
.mmr-btn--gold .elementor-button{background:var(--mmr-gold);color:#fff}
.mmr-btn--outline .elementor-button{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.mmr-btn--ghost .elementor-button{background:transparent;border-color:rgba(13,76,59,.3);color:var(--mmr-emerald)}
.mmr-btn--block{width:100%}
.mmr-btn--block .elementor-button{width:100%}

.mmr-link .elementor-button{padding:0;background:none;color:var(--mmr-emerald);
  font-size:12px;font-weight:800}
.mmr-textlink .elementor-button{padding:0 0 5px;background:none;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.55);border-radius:0;font-size:13px;font-weight:800}

.mmr-actions{gap:22px;flex-wrap:wrap;align-items:center;margin-top:32px}

/* ------------------------------------------------------------------ hero */
.mmr-hero{position:relative;min-height:700px;padding:84px 0;background-color:var(--mmr-deep)}
.mmr-hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,28,22,.97),rgba(6,45,34,.9) 46%,
    rgba(6,45,34,.5) 74%,rgba(4,31,24,.55))}
.mmr-hero > .e-con-inner{position:relative;z-index:2}
.mmr-hero--slim{min-height:auto;padding:88px 0 76px;text-align:center}
.mmr-hero--slim::before{background:none}
.mmr-hero__grid{gap:70px;align-items:center}
.mmr-hero__copy{flex:1 1 58%}
.mmr-hero__copy--center{align-items:center;text-align:center}
.mmr-hero__copy--center .mmr-h1,.mmr-hero__copy--center .mmr-lead{margin-inline:auto}

.mmr-hero-points{margin-top:38px}
.mmr-hero-points .elementor-icon-list-items{gap:14px 25px;flex-wrap:wrap}
.mmr-hero-points .elementor-icon-list-text{color:rgba(255,255,255,.9);font-size:12px}
.mmr-hero-points .elementor-icon-list-item::before{content:"✓";margin-right:7px;
  color:var(--mmr-gold-light);font-weight:700}

/* ---------------------------------------------------------- booking card */
.mmr-booking{flex:0 0 34%;padding:28px;gap:0;
  background:rgba(255,253,248,.97);box-shadow:0 28px 80px rgba(1,23,17,.3)}
.mmr-booking__head{justify-content:space-between;align-items:center;gap:14px;
  padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--mmr-line)}
.mmr-booking__head small{color:var(--mmr-emerald);font-size:10px;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase}
.mmr-booking__title .elementor-heading-title{margin:5px 0 0;
  font-family:var(--mmr-serif);font-size:29px;font-weight:400}
.mmr-booking__badge span{color:var(--mmr-emerald);font-size:11px;font-weight:800;white-space:nowrap}
.mmr-booking__body p{color:var(--mmr-muted);font-size:14px;line-height:1.7;margin-bottom:18px}
.mmr-booking .mmr-btn{margin-bottom:10px}
.mmr-form-note p{margin:8px 0 0;color:var(--mmr-quiet);font-size:11px;line-height:1.6;text-align:center}

/* ------------------------------------------------------------ trust strip */
.mmr-trust{padding:0;background:var(--mmr-ivory);border-bottom:1px solid rgba(13,76,59,.1)}
.mmr-trust__grid{gap:0}
.mmr-trust__cell{flex:1 1 25%;gap:5px;padding:24px 28px;border-right:1px solid rgba(13,76,59,.12)}
.mmr-trust__cell:first-child{border-left:1px solid rgba(13,76,59,.12)}
.mmr-trust__cell h3{margin:0;color:var(--mmr-emerald);font:400 21px var(--mmr-serif)}
.mmr-trust__cell span{color:var(--mmr-muted);font-size:11px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase}

/* --------------------------------------------------------- heading rows */
.mmr-heading-row{gap:80px;align-items:flex-end;margin-bottom:44px}
.mmr-hr__left{flex:1 1 62%}
.mmr-hr__right{flex:1 1 38%}
.mmr-hr__right p{margin:0;color:var(--mmr-muted);font-size:15px;line-height:1.8}
.mmr-centered{max-width:700px;margin:0 auto 44px;text-align:center;align-items:center}
.mmr-centered p{color:var(--mmr-muted);font-size:15px;line-height:1.8}

/* ------------------------------------------------------------ route grid */
.mmr-route-grid{flex-wrap:wrap;gap:0;
  border-top:1px solid var(--mmr-line);border-left:1px solid var(--mmr-line)}
.mmr-route{flex:1 1 calc(33.333% - 1px);min-width:280px;min-height:262px;padding:28px;
  gap:0;background:#fff;border-right:1px solid var(--mmr-line);
  border-bottom:1px solid var(--mmr-line);transition:background .2s ease,transform .2s ease}
.mmr-route:hover{background:var(--mmr-ivory);transform:translateY(-4px)}
.mmr-route__top{justify-content:space-between;gap:12px}
.mmr-route__kind span{color:var(--mmr-emerald);font-size:10px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase}
.mmr-route__meta span{color:var(--mmr-muted);font-size:10px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase}
.mmr-route__places .elementor-heading-title{margin:26px 0 0;
  font:400 20px/1.3 var(--mmr-serif)}
.mmr-route__places em{display:inline-block;margin:0 8px;color:var(--mmr-gold);font-style:normal}
.mmr-route__body p{margin:18px 0;color:var(--mmr-muted);font-size:13px;line-height:1.6}
.mmr-route .mmr-link{margin-top:auto}

/* ------------------------------------------------------------ fare table */
.mmr-fares{background:var(--mmr-ivory)}
.mmr-table-wrap{margin-top:36px}
.mmr-fare-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--mmr-line)}
.mmr-fare-table caption{margin-bottom:14px;color:var(--mmr-muted);font-size:13px;
  line-height:1.7;text-align:left}
.mmr-fare-table th,.mmr-fare-table td{padding:16px 18px;border-bottom:1px solid var(--mmr-line);
  text-align:left;font-size:14px}
.mmr-fare-table thead th{background:var(--mmr-emerald);color:#fff;font-size:10px;
  font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.mmr-fare-table tbody th{font:400 17px var(--mmr-serif)}
.mmr-fare-table .from{color:var(--mmr-emerald);font-weight:800;white-space:nowrap}
.mmr-fare-table tbody tr:last-child th,.mmr-fare-table tbody tr:last-child td{border-bottom:none}
.mmr-fare-note p{margin:18px 0 0;max-width:760px;color:var(--mmr-muted);font-size:13px;line-height:1.8}
.mmr-fares .mmr-btn{margin-top:18px;align-self:flex-start}

/* ---------------------------------------------------------- service band */
.mmr-service{background:var(--mmr-emerald);color:#fff}
.mmr-service h2,.mmr-service h3{color:#fff}
.mmr-service__grid{gap:86px;align-items:center}
.mmr-service__copy{flex:1 1 42%}
.mmr-service__copy p{color:rgba(255,255,255,.86);font-size:16px;line-height:1.8}
.mmr-service__list{flex:1 1 58%;gap:0;border-top:1px solid rgba(255,255,255,.22)}
.mmr-service__item{gap:8px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.mmr-service__item h3{margin:0;font:400 24px var(--mmr-serif)}
.mmr-service__item p{margin:0;color:rgba(255,255,255,.8);font-size:13px;line-height:1.7}

/* ------------------------------------------------------------ card grid */
.mmr-card-grid{gap:18px;flex-wrap:wrap}
.mmr-card{flex:1 1 300px;padding:30px;border:1px solid var(--mmr-line);background:#fff}
.mmr-card h3{margin:0 0 12px;color:var(--mmr-emerald);font:400 26px/1.15 var(--mmr-serif)}
.mmr-card p{margin:0;color:var(--mmr-muted);font-size:14px;line-height:1.8}

/* ---------------------------------------------------------------- prose */
.mmr-prose{max-width:900px;margin-inline:auto;margin-top:44px;color:var(--mmr-muted);
  font-size:15px;line-height:1.9}
.mmr-prose h2,.mmr-prose h3{margin:32px 0 12px;color:var(--mmr-ink);
  font-family:var(--mmr-serif);font-weight:400}
.mmr-prose h2{font-size:34px;line-height:1.2}
.mmr-prose h3{font-size:26px;line-height:1.25}
.mmr-prose p{margin:0 0 18px}
.mmr-prose ul{margin:0 0 18px;padding-left:20px}
.mmr-prose li{margin-bottom:10px}
.mmr-prose a{color:var(--mmr-emerald);font-weight:700;border-bottom:1px solid var(--mmr-line)}
.mmr-prose .mmr-btn{align-self:flex-start;margin-top:8px}
.mmr-site{gap:4px;padding:18px 0;border-bottom:1px solid var(--mmr-line)}
.mmr-site h3{margin:0;font-size:22px}
.mmr-site p{margin:6px 0 0;font-size:14px}

/* ---------------------------------------------------------------- fleet */
.mmr-fleet-grid{gap:18px;flex-wrap:wrap}
.mmr-fleet-card{flex:1 1 300px;padding:28px;border:1px solid rgba(13,76,59,.14);
  background:var(--mmr-ivory)}
.mmr-capacity{min-height:112px;margin-bottom:26px;padding:22px;justify-content:flex-end;
  gap:7px;background:linear-gradient(135deg,var(--mmr-emerald),var(--mmr-deep))}
.mmr-capacity__n .elementor-heading-title{margin:0;color:#fff;
  font:400 32px var(--mmr-serif)}
.mmr-capacity span{color:rgba(255,255,255,.82);font-size:9px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase}
.mmr-fleet__name .elementor-heading-title{margin:0 0 20px;
  font:400 27px var(--mmr-serif)}
.mmr-spec-list .elementor-icon-list-item{padding:12px 0;border-bottom:1px solid var(--mmr-line);
  font-size:12px;color:var(--mmr-muted)}
.mmr-spec-list{margin-bottom:22px}

/* -------------------------------------------------------------- ziyarat */
.mmr-dest-grid{gap:18px;flex-wrap:wrap}
.mmr-dest{flex:1 1 420px;position:relative;min-height:460px;overflow:hidden;
  justify-content:flex-end;padding:0}
.mmr-dest__img{position:absolute;inset:0}
.mmr-dest__img img{width:100%;height:100%;object-fit:cover}
.mmr-dest::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(3,31,24,.95),rgba(3,31,24,.1) 74%)}
.mmr-dest__copy{position:relative;z-index:2;padding:0 34px 34px;gap:8px}
.mmr-dest__copy h3{margin:0;color:#fff;font:400 36px var(--mmr-serif)}
.mmr-dest__copy p{margin:0;max-width:380px;color:rgba(255,255,255,.88);font-size:13px;line-height:1.7}
.mmr-dest__label span{color:var(--mmr-gold-light);font-size:10px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase}
.mmr-dest .mmr-link .elementor-button{color:#fff}

.mmr-hub{margin-top:22px;padding:26px 28px;border:1px solid var(--mmr-line);background:#fff}
.mmr-hub h3{margin:0 0 6px;font:400 22px var(--mmr-serif)}
.mmr-hub p{margin:0 0 16px;color:var(--mmr-muted);font-size:13px;line-height:1.7}
.mmr-hub-links .elementor-icon-list-items{gap:10px;flex-wrap:wrap}
.mmr-hub-links .elementor-icon-list-item{padding:10px 14px;border:1px solid var(--mmr-line);
  background:var(--mmr-ivory)}
.mmr-hub-links .elementor-icon-list-text{color:var(--mmr-emerald);font-size:12px;font-weight:800}

/* ---------------------------------------------------------------- steps */
.mmr-steps{background:var(--mmr-ivory)}
.mmr-steps__grid{gap:96px}
.mmr-steps__head{flex:1 1 40%}
.mmr-steps__list{flex:1 1 60%;counter-reset:mmrstep;gap:0;border-top:1px solid var(--mmr-line)}
.mmr-step{position:relative;padding:26px 0 26px 64px;gap:7px;border-bottom:1px solid var(--mmr-line)}
.mmr-step::before{counter-increment:mmrstep;content:counter(mmrstep,decimal-leading-zero);
  position:absolute;left:0;top:26px;color:var(--mmr-gold);font:400 20px var(--mmr-serif)}
.mmr-step h3{margin:0;font:400 23px var(--mmr-serif)}
.mmr-step p{margin:0;color:var(--mmr-muted);font-size:13px;line-height:1.6}

/* ------------------------------------------------------------------ FAQ */
.mmr-faq__grid{gap:96px}
.mmr-faq__copy{flex:1 1 38%}
.mmr-faq__copy p{margin-top:22px;color:var(--mmr-muted);font-size:14px;line-height:1.8}
.mmr-faq__list{flex:1 1 62%}
.mmr-faq .elementor-accordion-item{border:none;border-bottom:1px solid var(--mmr-line)}
.mmr-faq .elementor-tab-title{padding:22px 0;background:none;font:400 21px var(--mmr-serif)}
.mmr-faq .elementor-tab-title a{color:var(--mmr-ink)}
.mmr-faq .elementor-tab-content{padding:0 40px 22px 0;background:none;border:none;
  color:var(--mmr-muted);font-size:13px;line-height:1.75}
.mmr-faq .elementor-accordion-icon{color:var(--mmr-gold)}

/* --------------------------------------------------------- closing band */
.mmr-closing{background:var(--mmr-emerald);color:#fff;text-align:center;padding:96px 0}
.mmr-closing h2{color:#fff}
.mmr-closing p{color:rgba(255,255,255,.85)}
.mmr-closing .mmr-centered{max-width:800px}
.mmr-closing .mmr-actions{justify-content:center;gap:12px}

/* ------------------------------------------------------------- contact */
.mmr-contact__grid{gap:64px;flex-wrap:wrap}
.mmr-contact__col{flex:1 1 380px;gap:14px}
.mmr-contact__col h2{margin-bottom:6px}
.mmr-contact__col .mmr-btn{align-self:flex-start}

/* ------------------------------------------------------- header / footer */
.mmr-announce{padding:0;background:var(--mmr-deep)}
.mmr-announce__row{min-height:36px;align-items:center;justify-content:space-between;
  gap:16px;width:min(1180px,calc(100% - 48px));margin-inline:auto}
.mmr-announce span,.mmr-announce a{color:rgba(255,255,255,.86);font-size:12px}
.mmr-announce a{color:var(--mmr-gold-light);font-weight:700;
  border-bottom:1px solid rgba(226,202,149,.5)}

.mmr-header{position:sticky;top:0;z-index:40;padding:0;
  background:rgba(255,253,248,.98);border-bottom:1px solid rgba(13,76,59,.1)}
.mmr-nav__row{min-height:82px;align-items:center;justify-content:space-between;gap:24px;
  width:min(1180px,calc(100% - 48px));margin-inline:auto}
.mmr-logo{flex:0 0 auto}
.mmr-logo img{height:46px;width:auto}
.mmr-nav .elementor-icon-list-items{gap:28px}
.mmr-nav .elementor-icon-list-text{color:#33403b;font-size:14px;font-weight:700}
.mmr-nav .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--mmr-emerald)}

.mmr-footer{padding:72px 0 28px;background:#052a21;color:rgba(255,255,255,.82)}
.mmr-footer > .e-con-inner{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.mmr-foot__grid{gap:64px;flex-wrap:wrap}
.mmr-foot__brand{flex:1 1 320px}
.mmr-foot__brand p{max-width:340px;margin-top:22px;font-size:12px;line-height:1.8}
.mmr-foot__col{flex:1 1 180px}
.mmr-footer h3{margin:0 0 18px;color:var(--mmr-gold-light);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase}
.mmr-foot__links .elementor-icon-list-item{margin:11px 0}
.mmr-foot__links .elementor-icon-list-text,.mmr-footer p,.mmr-footer a{
  color:rgba(255,255,255,.82);font-size:12px}
.mmr-footer a{font-weight:700}
.mmr-foot__bottom{margin-top:56px;padding-top:24px;justify-content:space-between;gap:26px;
  flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14)}
.mmr-foot__bottom span,.mmr-foot__bottom a{color:rgba(255,255,255,.68);font-size:11px}
.mmr-logo--footer img{height:44px}

/* -------------------------------------------------------------- tablet */
@media(max-width:1024px){
  .mmr-hero__grid{gap:36px}
  .mmr-route{flex:1 1 calc(50% - 1px)}
  .mmr-service__grid,.mmr-steps__grid,.mmr-faq__grid{gap:52px}
  .mmr-heading-row{gap:40px}
  .mmr-nav .elementor-icon-list-items{gap:18px}
}

/* -------------------------------------------------------------- mobile */
@media(max-width:767px){
  .mmr-section{padding:76px 0}
  .mmr-section > .e-con-inner{width:calc(100% - 32px)}
  .mmr-hero{min-height:auto;padding:64px 0 48px}
  .mmr-hero__grid,.mmr-heading-row,.mmr-service__grid,.mmr-steps__grid,
  .mmr-faq__grid,.mmr-contact__grid{flex-direction:column;gap:32px}
  .mmr-h1 .elementor-heading-title{font-size:42px}
  .mmr-booking{flex:1 1 100%;margin-top:12px}
  .mmr-trust__cell{flex:1 1 50%}
  .mmr-route,.mmr-card,.mmr-fleet-card,.mmr-dest{flex:1 1 100%}
  .mmr-dest{min-height:400px}
  .mmr-actions{flex-direction:column;align-items:stretch}
  .mmr-announce__row{justify-content:center}
  .mmr-nav{display:none}

  /* fare table reflows to stacked cards */
  .mmr-fare-table thead{position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0)}
  .mmr-fare-table tbody tr{display:block;border-bottom:1px solid var(--mmr-line)}
  .mmr-fare-table tbody th,.mmr-fare-table tbody td{display:block;padding:10px 18px;
    border-bottom:none}
  .mmr-fare-table tbody th{padding-top:20px;font-size:20px}
  .mmr-fare-table tbody td::before{content:attr(data-label) " — ";
    color:var(--mmr-muted);font-weight:700}

  /* sticky call / quote bar */
  body{padding-bottom:76px}
  .mmr-mobile-bar{display:flex!important}
}

/* sticky mobile action bar — markup added by the snippet in BUILD-NOTES */
.mmr-mobile-bar{display:none;position:fixed;z-index:50;left:0;right:0;bottom:0;
  padding:10px 12px;gap:10px;background:rgba(255,253,248,.98);
  border-top:1px solid rgba(13,76,59,.16);box-shadow:0 -8px 24px rgba(1,23,17,.1)}
.mmr-mobile-bar a{flex:1;min-height:48px;display:flex;align-items:center;
  justify-content:center;border-radius:3px;font-size:13px;font-weight:800;
  text-decoration:none}
.mmr-mobile-bar .call{border:1px solid rgba(13,76,59,.3);color:var(--mmr-emerald)}
.mmr-mobile-bar .quote{background:var(--mmr-emerald);color:#fff}

/* -------------------------------------------------------- mobile menu */
.mmr-mobile-menu-widget{display:none}
.mmr-mobile-menu-toggle{min-height:44px;padding:0 15px;border:1px solid rgba(13,76,59,.28);
  border-radius:3px;background:#fffdf8;color:var(--mmr-emerald);font-size:13px;
  font-weight:800;cursor:pointer}
.mmr-mobile-menu-toggle:focus-visible{outline:3px solid var(--mmr-gold);outline-offset:3px}
.mmr-mobile-menu{position:absolute;top:64px;left:0;right:0;z-index:55;padding:10px;
  background:#fffdf8;border:1px solid rgba(13,76,59,.14);
  box-shadow:0 18px 42px rgba(1,23,17,.16)}
.mmr-mobile-menu[hidden]{display:none}
.mmr-mobile-menu a{display:block;padding:13px 12px;border-bottom:1px solid var(--mmr-line);
  color:var(--mmr-ink);font-size:14px;font-weight:700}
.mmr-mobile-menu a:last-child{border-bottom:0;background:var(--mmr-emerald);color:#fff}

/* ------------------------------------------------------ reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .mmr-btn .elementor-button:hover,.mmr-route:hover{transform:none}
}

/* =====================================================================
   Elementor compatibility layer
   Elementor's per-page/global rules use generated element IDs and can
   otherwise override the design classes in both the editor and frontend.
   ===================================================================== */

body .mmr-section{
  padding:104px 0!important;
  overflow:hidden;
}
body .mmr-hero{padding:84px 0!important}
body .mmr-hero--slim{padding:88px 0 76px!important}
body .mmr-trust{padding:0!important}
body .mmr-closing{padding:96px 0!important}

body .mmr-section > .e-con,
body .mmr-section > .e-con-inner,
body .mmr-section > .elementor-widget,
body .mmr-footer > .e-con,
body .mmr-footer > .e-con-inner{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}

body .mmr-announce__row,
body .mmr-nav__row{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}

body .mmr-hero > .e-con,
body .mmr-hero > .e-con-inner{position:relative;z-index:2}

body .mmr-hero__grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr)!important;
  gap:70px!important;
  align-items:center!important;
}
body .mmr-trust__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body .mmr-heading-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)!important;
  gap:80px!important;
  align-items:end!important;
}
body .mmr-route-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
}
body .mmr-service__grid{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(0,1fr)!important;
  gap:86px!important;
  align-items:center!important;
}
body .mmr-card-grid,
body .mmr-fleet-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
body .mmr-dest-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
body .mmr-steps__grid,
body .mmr-faq__grid{
  display:grid!important;
  grid-template-columns:minmax(0,.68fr) minmax(0,1fr)!important;
  gap:96px!important;
}
body .mmr-contact__grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:64px!important;
}
body .mmr-foot__grid{
  display:grid!important;
  grid-template-columns:minmax(280px,2fr) repeat(3,minmax(140px,1fr))!important;
  gap:48px!important;
}

body .mmr-hero__grid > *,
body .mmr-trust__grid > *,
body .mmr-heading-row > *,
body .mmr-route-grid > *,
body .mmr-service__grid > *,
body .mmr-card-grid > *,
body .mmr-fleet-grid > *,
body .mmr-dest-grid > *,
body .mmr-steps__grid > *,
body .mmr-faq__grid > *,
body .mmr-contact__grid > *,
body .mmr-foot__grid > *{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
}

body .mmr-route__top,
body .mmr-booking__head,
body .mmr-actions,
body .mmr-foot__bottom,
body .mmr-announce__row,
body .mmr-nav__row{
  display:flex!important;
}

body .mmr-route,
body .mmr-booking,
body .mmr-service__list,
body .mmr-service__item,
body .mmr-steps__list,
body .mmr-step{gap:0!important}

body .mmr-section .elementor-widget-heading .elementor-heading-title{
  color:var(--mmr-ink)!important;
  font-family:var(--mmr-serif)!important;
  font-weight:400!important;
}
body .mmr-section .elementor-widget-heading h2{
  font-size:clamp(36px,4vw,54px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
body .mmr-section .elementor-widget-heading h3{
  font-size:26px!important;
  line-height:1.2!important;
}
body .mmr-section .mmr-h1 .elementor-heading-title{
  color:#fff!important;
  font-size:clamp(46px,5.2vw,74px)!important;
  line-height:1!important;
}
body .mmr-section .mmr-eyebrow .elementor-heading-title{
  color:var(--mmr-emerald)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.4!important;
  letter-spacing:.2em!important;
}
body .mmr-section .mmr-eyebrow--light .elementor-heading-title{color:var(--mmr-gold-light)!important}
body .mmr-section .mmr-booking__title .elementor-heading-title{font-size:29px!important;line-height:1.15!important}
body .mmr-section .mmr-trust__cell .elementor-heading-title{color:var(--mmr-emerald)!important;font-size:21px!important}
body .mmr-section .mmr-route__places .elementor-heading-title{font-size:20px!important;line-height:1.3!important}
body .mmr-section .mmr-service__item .elementor-heading-title{color:#fff!important;font-size:24px!important}
body .mmr-section .mmr-card .elementor-heading-title{color:var(--mmr-emerald)!important;font-size:26px!important}
body .mmr-section .mmr-fleet__name .elementor-heading-title{font-size:27px!important}
body .mmr-section .mmr-dest__copy .elementor-heading-title{color:#fff!important;font-size:36px!important}
body .mmr-section .mmr-step .elementor-heading-title{font-size:23px!important}
body .mmr-section .mmr-capacity__n .elementor-heading-title{color:#fff!important;font-size:32px!important}
body .mmr-service .elementor-widget-heading .elementor-heading-title,
body .mmr-closing .elementor-widget-heading .elementor-heading-title{color:#fff!important}

body .mmr-section .elementor-widget-text-editor,
body .mmr-section .elementor-widget-text-editor p{
  color:var(--mmr-muted)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:1.75!important;
}
body .mmr-section .mmr-lead p{color:rgba(255,255,255,.92)!important;font-size:18px!important}
body .mmr-section .mmr-booking__body p{font-size:14px!important;line-height:1.7!important}
body .mmr-section .mmr-form-note p{font-size:11px!important;line-height:1.6!important;text-align:center!important}
body .mmr-section .mmr-hr__right p,
body .mmr-section .mmr-centered p{font-size:15px!important;line-height:1.8!important}
body .mmr-section .mmr-route__body p{font-size:13px!important;line-height:1.6!important}
body .mmr-section .mmr-fare-note p{font-size:13px!important;line-height:1.8!important}
body .mmr-section .mmr-service__copy p{color:rgba(255,255,255,.86)!important;font-size:16px!important;line-height:1.8!important}
body .mmr-section .mmr-service__item p{color:rgba(255,255,255,.8)!important;font-size:13px!important;line-height:1.7!important}
body .mmr-section .mmr-card p,
body .mmr-section .mmr-fleet-card p{font-size:14px!important;line-height:1.8!important}
body .mmr-section .mmr-step p{font-size:13px!important;line-height:1.6!important}
body .mmr-section .mmr-dest__copy p{color:rgba(255,255,255,.88)!important;font-size:13px!important;line-height:1.7!important}

body .mmr-section .mmr-route__kind span,
body .mmr-section .mmr-route__meta span,
body .mmr-section .mmr-dest__label span,
body .mmr-section .mmr-capacity span{
  font-size:10px!important;
  line-height:1.4!important;
}
body .mmr-section .mmr-trust__cell span{font-size:11px!important;line-height:1.4!important}

body .mmr-btn .elementor-button{
  min-height:50px!important;
  padding:0 22px!important;
  border-radius:3px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
}
body .mmr-btn--dark .elementor-button{background:var(--mmr-emerald)!important;color:#fff!important}
body .mmr-btn--gold .elementor-button{background:var(--mmr-gold)!important;color:#fff!important}
body .mmr-btn--outline .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
body .mmr-btn--ghost .elementor-button{background:transparent!important;border-color:rgba(13,76,59,.3)!important;color:var(--mmr-emerald)!important}
body .mmr-link .elementor-button{min-height:0!important;padding:0!important;background:transparent!important;color:var(--mmr-emerald)!important;font-size:12px!important}
body .mmr-textlink .elementor-button{min-height:0!important;padding:0 0 5px!important;background:transparent!important;color:#fff!important;font-size:13px!important}

body .mmr-footer .elementor-heading-title{color:var(--mmr-gold-light)!important;font-family:Arial,Helvetica,sans-serif!important}
body .mmr-footer .elementor-widget-text-editor,
body .mmr-footer .elementor-widget-text-editor p,
body .mmr-footer .elementor-icon-list-text{color:rgba(255,255,255,.82)!important;font-size:12px!important;line-height:1.8!important}

@media(max-width:1024px){
  body .mmr-hero__grid,
  body .mmr-service__grid,
  body .mmr-steps__grid,
  body .mmr-faq__grid{grid-template-columns:1fr!important;gap:48px!important}
  body .mmr-route-grid,
  body .mmr-card-grid,
  body .mmr-fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .mmr-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .mmr-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:767px){
  body .mmr-section > .e-con,
  body .mmr-section > .e-con-inner,
  body .mmr-section > .elementor-widget,
  body .mmr-footer > .e-con,
  body .mmr-footer > .e-con-inner,
  body .mmr-announce__row,
  body .mmr-nav__row{width:calc(100% - 32px)!important}
  body .mmr-heading-row,
  body .mmr-route-grid,
  body .mmr-card-grid,
  body .mmr-fleet-grid,
  body .mmr-dest-grid,
  body .mmr-contact__grid,
  body .mmr-foot__grid{grid-template-columns:1fr!important;gap:32px!important}
  body .mmr-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .mmr-section .mmr-h1 .elementor-heading-title{font-size:42px!important}
}


/* ---- Elementor markup adjustments (widget class sits on the wrapper) ---- */
.mmr-section .elementor-widget-heading h1,
.mmr-section .elementor-widget-heading h2,
.mmr-section .elementor-widget-heading h3{font-family:var(--mmr-serif);font-weight:400}
.mmr-hero .elementor-widget-heading h1{color:#fff}
.mmr-service .elementor-widget-heading h2,
.mmr-service .elementor-widget-heading h3,
.mmr-closing .elementor-widget-heading h2{color:#fff}
.mmr-dest__copy .elementor-widget-heading h3{color:#fff}
.mmr-link .elementor-button-wrapper,
.mmr-textlink .elementor-button-wrapper{display:inline-flex}
.mmr-route .mmr-link,.mmr-fleet-card .mmr-link,.mmr-site .mmr-link{margin-top:auto;width:auto}
.mmr-hero-points .elementor-icon-list-item{align-items:baseline}
.mmr-trust__cell .elementor-widget-heading h3{margin:0}
.mmr-step .elementor-widget-heading h3{margin:0}
.mmr-service__item .elementor-widget-heading h3{margin:0}
.mmr-card .elementor-widget-heading h3{margin:0 0 12px}
.mmr-hub .elementor-widget-heading h3{margin:0 0 6px}
.mmr-site .elementor-widget-heading h2,
.mmr-site .elementor-widget-heading h3{margin:0}
.mmr-footer .elementor-widget-heading h3{margin:0 0 18px;font-family:Arial,Helvetica,sans-serif}
.mmr-index .elementor-heading-title{font-size:inherit}


/* =====================================================================
   Layout hardening — applies in Elementor too, not just the preview.
   Row containers must not let child widgets claim full width.
   ===================================================================== */

.mmr-nav__row,.mmr-announce__row,.mmr-route__top,.mmr-booking__head,
.mmr-actions,.mmr-foot__bottom,.mmr-trust__grid,.mmr-hero__grid,
.mmr-heading-row,.mmr-service__grid,.mmr-steps__grid,.mmr-faq__grid,
.mmr-route-grid,.mmr-card-grid,.mmr-fleet-grid,.mmr-dest-grid,
.mmr-contact__grid,.mmr-foot__grid{flex-wrap:wrap}

.mmr-nav__row > .elementor-widget,
.mmr-announce__row > .elementor-widget,
.mmr-route__top > .elementor-widget,
.mmr-actions > .elementor-widget,
.mmr-foot__bottom > .elementor-widget,
.mmr-booking__head > .elementor-widget{width:auto;flex:0 1 auto}

/* header must stay one row and one height, or sticky covers the page */
.mmr-nav__row{flex-wrap:nowrap}
.mmr-nav .elementor-icon-list-items{flex-direction:row;flex-wrap:nowrap;
  align-items:center;gap:28px;margin:0}
.mmr-nav .elementor-icon-list-item{white-space:nowrap}
.mmr-header .mmr-btn .elementor-button{white-space:nowrap}
.mmr-logo{flex:0 0 auto}

/* hero and booking card share the row cleanly */
.mmr-hero__grid > .mmr-hero__copy{flex:1 1 56%;min-width:0}
.mmr-hero__grid > .mmr-booking{flex:0 1 380px;min-width:320px}

/* inline icon lists elsewhere */
.mmr-hero-points .elementor-icon-list-items,
.mmr-hub-links .elementor-icon-list-items{flex-direction:row;flex-wrap:wrap;margin:0}

/* announcement + footer bottom stay on one line where there is room */
.mmr-announce__row{flex-wrap:nowrap;justify-content:space-between}

@media(max-width:1024px){
  .mmr-nav .elementor-icon-list-items{gap:18px}
  .mmr-hero__grid > .mmr-hero__copy{flex:1 1 100%}
  .mmr-hero__grid > .mmr-booking{flex:1 1 100%}
}
@media(max-width:767px){
  .mmr-nav__row{flex-wrap:wrap;min-height:64px}
  .mmr-nav{display:none}
  .mmr-header .mmr-btn{display:none}
  .mmr-mobile-menu-widget{display:block;margin-left:auto;width:auto!important;position:static}
  .mmr-nav__row{position:relative}
  .mmr-announce__row{flex-wrap:wrap;justify-content:center;text-align:center}
}
