/* ============================================================
   Massalia Tours — homepage 2026 look (scoped: front page only)
   All classes prefixed mx-. Font: Inter (Greek-safe).
   ============================================================ */
body.home{background:#f8fafc;overflow-x:clip}
body.home .mt-hero__dots{bottom:64px}

.mx{
  --mx-navy:#0a1324; --mx-navy-2:#0f1e36;
  --mx-gold:#c59b27; --mx-gold-d:#a3771d; --mx-amber:#f59e0b;
  --mx-ink:#0f172a; --mx-mute:#64748b; --mx-line:#e2e8f0;
  width:100vw; margin-left:calc(50% - 50vw);
  font-family:'Inter',system-ui,sans-serif; color:var(--mx-ink); line-height:1.6;
}
.mx *,.mx *::before,.mx *::after{box-sizing:border-box}
.mx h2,.mx h3,.mx h4{font-family:inherit;color:inherit;margin:0}
.mx a{text-decoration:none}
.mx img{border-radius:0}
.mx svg{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.mx-inner{max-width:1280px;margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.mx-sec{padding:72px 0}
.mx-eyebrow{display:block;margin-bottom:10px;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mx-gold)}
.mx-h2{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--mx-ink)}

/* ---------- Buttons ---------- */
.mx-btn-gold,.mx-btn-ghost,.mx-btn-dark,.mx-btn-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;transition:background .2s,color .2s,box-shadow .25s,border-color .2s}
.mx-btn-gold{padding:15px 26px;border-radius:16px;font-size:15px;font-weight:800;color:var(--mx-navy);background:linear-gradient(90deg,#c59b27,#f59e0b);box-shadow:0 6px 16px rgba(197,155,39,.28)}
.mx-btn-gold:hover{box-shadow:0 0 25px -5px rgba(197,155,39,.6);color:var(--mx-navy)}
.mx-btn-ghost{padding:15px 22px;border-radius:16px;font-size:15px;color:#fff;background:#1e293b;border:1px solid #334155}
.mx-btn-ghost:hover{background:#334155;color:#fff}
.mx-btn-ghost{white-space:nowrap}
.mx-btn-ghost svg{width:18px;height:18px;color:#f8c276}
.mx-btn-dark{padding:11px 16px;border-radius:12px;font-size:13.5px;color:#fff;background:#0f172a;white-space:nowrap}
.mx-btn-dark:hover{background:var(--mx-gold);color:var(--mx-navy)}
.mx-btn-dark svg{width:14px;height:14px}
.mx-btn-line{padding:14px 26px;border-radius:14px;font-size:15px;color:var(--mx-ink);background:#fff;border:1px solid var(--mx-line)}
.mx-btn-line:hover{border-color:var(--mx-gold);color:var(--mx-gold-d)}
.mx-btn-gold svg,.mx-btn-line svg{width:17px;height:17px}

/* ---------- Trust bento (overlaps hero bottom) ---------- */
.mx-trust{position:relative;z-index:20;margin-top:-46px}
.mx-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mx-tcard{display:flex;align-items:center;gap:16px;padding:20px 22px;background:#fff;border:1px solid #f1f5f9;border-radius:18px;box-shadow:0 8px 24px rgba(15,30,54,.09);transition:transform .3s}
.mx-tcard:hover{transform:translateY(-4px)}
.mx-ticon{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:14px}
.mx-ticon svg{width:25px;height:25px}
.mx-ticon--gold{background:#fffbeb;color:var(--mx-gold)}
.mx-ticon--blue{background:#eff6ff;color:#2563eb}
.mx-ticon--green{background:#ecfdf5;color:#059669}
.mx-ticon--rose{background:#fff1f2;color:#e11d48}
.mx-tcard h4{font-size:1rem;font-weight:700;line-height:1.25}
.mx-tcard p{margin:4px 0 0;font-size:.875rem;line-height:1.4;color:var(--mx-mute)}

/* ---------- Tours section ---------- */
.mx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px}
.mx-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.mx-pills::-webkit-scrollbar{display:none}
.mx-pill{flex:none;padding:10px 18px;border-radius:12px;font:inherit;font-size:14px;font-weight:700;color:#334155;background:#fff;border:1px solid var(--mx-line);cursor:pointer;transition:background .2s,color .2s}
.mx-pill:hover{background:#f1f5f9}
.mx-pill.is-active{color:#fff;background:var(--mx-navy);border-color:var(--mx-navy)}

.mx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mx-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 6px 18px rgba(15,30,54,.07);transition:transform .3s,box-shadow .3s}
.mx-card:hover{transform:translateY(-6px);box-shadow:0 22px 38px -12px rgba(15,30,54,.22)}
.mx-card.is-hidden{display:none}
.mx-card__media{position:relative;display:block;height:232px;overflow:hidden;background:var(--mx-navy-2)}
.mx-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.mx-card:hover .mx-card__media img{transform:scale(1.08)}
.mx-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.64),transparent 55%);pointer-events:none}
.mx-badge{position:absolute;z-index:2;top:16px;left:16px;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.mx-badge--one{background:#f59e0b;color:#0f172a}
.mx-badge--multi{background:#4f46e5;color:#fff}
.mx-card__facts{position:absolute;z-index:2;left:16px;right:16px;bottom:12px;display:flex;justify-content:space-between;gap:8px;color:#fff;font-size:13.5px;font-weight:600}
.mx-card__facts span{display:inline-flex;align-items:center;gap:6px}
.mx-card__facts svg{width:15px;height:15px;color:#fbbf24}
.mx-card__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.mx-card__place{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mx-gold)}
.mx-card__place svg{width:15px;height:15px}
.mx-card__title{margin-bottom:18px;font-size:1.2rem;line-height:1.35;font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mx-card__title a{color:var(--mx-ink);transition:color .2s}
.mx-card:hover .mx-card__title a{color:var(--mx-gold-d)}
.mx-card__foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #f1f5f9}
.mx-price small{display:block;font-size:12px;font-weight:500;color:#94a3b8}
.mx-price strong{font-size:1.5rem;font-weight:800;line-height:1.2}
.mx-price span{font-size:13px;color:var(--mx-mute)}
.mx-more{margin-top:40px;text-align:center}

/* ---------- Promo (dark bento carousel) ---------- */
.mx-promo{display:grid;grid-template-columns:7fr 5fr;overflow:hidden;color:#fff;background:var(--mx-navy);border:1px solid #1e293b;border-radius:28px;box-shadow:0 25px 50px -12px rgba(5,10,20,.4)}
.mx-promo__media{position:relative;min-height:440px;background:var(--mx-navy-2)}
.mx-promo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mx-promo__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--mx-navy));pointer-events:none}
.mx-promo__tag{position:absolute;z-index:2;top:24px;left:24px;padding:7px 16px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mx-navy);background:var(--mx-gold);box-shadow:0 6px 16px rgba(0,0,0,.3)}
.mx-promo__body{display:flex;flex-direction:column;justify-content:center;padding:44px}
.mx-promo__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;font-size:13.5px;font-weight:700;color:#f8c276}
.mx-promo__meta span{display:inline-flex;align-items:center;gap:6px}
.mx-promo__meta svg{width:15px;height:15px}
.mx .mx-promo__title{margin:0 0 28px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.22;font-weight:800;color:#fff}
.mx-promo__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-bottom:28px}
.mx-promo__price small{font-size:13px;font-weight:600;color:#94a3b8}
.mx-promo__price strong{font-size:2.5rem;font-weight:800;line-height:1;color:#f8c276}
.mx-promo__price span{font-size:14px;color:#94a3b8}
.mx-promo__actions{display:flex;flex-wrap:wrap;gap:12px}
.mt-promo__dots{margin-top:20px}
.mt-promo__dot{border-color:var(--mx-gold-d)}
.mt-promo__dot.is-active{background:var(--mx-gold-d)}

/* ---------- About ---------- */
.mx-about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mx-about--solo{grid-template-columns:1fr;max-width:820px}
.mx-about p{margin:18px 0 0;font-size:1.05rem;line-height:1.75;color:#475569}
.mx-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.mx-stat{padding:18px 20px;background:#fff;border:1px solid #f1f5f9;border-radius:18px;box-shadow:0 2px 8px rgba(15,30,54,.05)}
.mx-stat strong{display:block;font-size:2rem;font-weight:800;line-height:1.1;color:var(--mx-gold)}
.mx-stat span{font-size:.9rem;font-weight:500;color:var(--mx-mute)}
.mx-about__media{position:relative}
.mx-about__media img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:28px;box-shadow:0 25px 50px -12px rgba(15,30,54,.3)}
.mx-about__card{position:absolute;left:-24px;bottom:-24px;max-width:300px;padding:20px 22px;color:#fff;background:rgba(10,19,36,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);border-radius:22px;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.mx-about__card strong{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:15px;font-weight:800}
.mx-about__card svg{width:22px;height:22px;color:var(--mx-gold)}
.mx-about__card span{font-size:13.5px;line-height:1.5;color:#cbd5e1}

/* ---------- Contact ---------- */
.mx-contact{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:clamp(28px,5vw,60px);color:#fff;background:linear-gradient(135deg,#0a1324,#050a14);border-radius:28px;box-shadow:0 25px 50px -12px rgba(5,10,20,.4)}
.mx-contact .mx-eyebrow{color:#f8c276}
.mx-contact .mx-h2{color:#fff}
.mx-contact p{margin:14px 0 0;font-size:1rem;color:#cbd5e1}
.mx-clist{display:grid;gap:16px;margin-top:30px}
.mx-crow{display:flex;align-items:center;gap:16px}
.mx-crow__icon{flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;color:#f8c276;background:rgba(255,255,255,.1);border-radius:16px}
.mx-crow__icon svg{width:22px;height:22px}
.mx-crow small{display:block;font-size:13px;color:#94a3b8}
.mx-crow a{white-space:nowrap;font-size:1.2rem;font-weight:800;color:#fff}
.mx-crow a:hover{color:#f8c276}
.mx-crow>div{display:flex;flex-wrap:wrap;align-items:baseline}.mx-crow small{flex:0 0 100%}.mx-crow em{font-style:normal;color:#64748b;margin:0 6px}
.mx-contact__cta{padding:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.mx-contact__cta h3{margin-bottom:8px;font-size:1.3rem;font-weight:800;color:#fff}
.mx-contact__cta p{margin:0 0 22px}
.mx-contact__cta .mx-btn-gold{width:100%}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .mx-trust__grid{grid-template-columns:repeat(2,1fr)}
  .mx-grid{grid-template-columns:repeat(2,1fr)}
  .mx-about{gap:36px}
}
@media(max-width:900px){
  .mx-sec{padding:52px 0}
  .mx-promo{grid-template-columns:1fr}
  .mx-promo__media{min-height:260px}
  .mx-promo__media::after{background:linear-gradient(to bottom,transparent 50%,var(--mx-navy))}
  .mx-promo__body{padding:28px 22px 30px}
  .mx-about,.mx-contact{grid-template-columns:1fr}
  .mx-about__card{position:static;max-width:none;margin-top:-40px;margin-inline:16px;position:relative}
}
@media(max-width:640px){
  .mx-trust{margin-top:-28px}
  .mx-trust__grid{grid-template-columns:1fr;gap:12px}
  .mx-grid{grid-template-columns:1fr}
  .mx-card__media{height:210px}
  .mx-head{margin-bottom:24px}
  .mx-promo__actions .mx-btn-gold,.mx-promo__actions .mx-btn-ghost{width:100%}
  .mx-promo__price strong{font-size:2.1rem}
  .mx-contact{padding:26px 20px}
}

.mx-crow__txt{display:block;font-size:1.02rem;font-weight:600;line-height:1.55;color:#fff}
.mx-crow__txt b{font-weight:600;color:#f8c276}
.mx-crow>div{min-width:0}
.mx-crow a[href^="mailto"]{white-space:normal;word-break:break-all}
