/* Main styles */
*{box-sizing:border-box} html,body{margin:0;padding:0} img{max-width:100%;height:auto;display:block}
body{font-family:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:#222;background:#fff}
a{color:var(--mp-secondary);text-decoration:none} a:hover{opacity:.9}
.mp-container{width:min(1140px,92%);margin:0 auto}

.btn{display:inline-block;padding:.75rem 1.15rem;border-radius:999px;border:2px solid transparent;font-weight:600;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)} .btn-primary{background:var(--mp-primary);color:#fff}
.btn-accent{background:var(--mp-accent);color:#111} .btn-outline{border-color:var(--mp-primary);color:var(--mp-primary);background:transparent}
.btn-lg{padding:1rem 1.5rem;font-size:1.05rem}
/* Button hover states */
.btn-primary:hover{background:#d76f8e;color:#fff;transform:translateY(-2px) scale(1.02)}
.btn-accent:hover{background:var(--mp-primary);color:#fff;transform:translateY(-2px) scale(1.02)}
.btn-outline:hover{background:var(--mp-primary);color:#fff;transform:translateY(-2px) scale(1.02)}

/* Header & nav */
.mp-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.mp-header-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.mp-branding .site-title{font-family:'Dancing Script',cursive;font-size:1.75rem;color:var(--mp-primary)}
.mp-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem} .mp-nav a{padding:.5rem .75rem;border-radius:12px}
.mp-nav a:hover{background:rgba(0,0,0,.04)} .mp-cta .btn-accent{box-shadow:0 8px 20px rgba(0,0,0,.1)}

/* Hero */
.mp-hero{position:relative;min-height:72vh;display:grid;place-items:center;background-size:cover;background-position:center}
.mp-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,8,25,.35), rgba(10,8,25,.15))}
.mp-hero-inner{position:relative;text-align:center;color:#fff;padding:4rem 0}
.mp-hero-title{font-family:'Dancing Script',cursive;font-size:clamp(2.2rem,5vw,4rem);margin:0 0 .5rem}
.mp-hero-sub{font-size:1.15rem;max-width:780px;margin:.5rem auto 1.25rem}
#mp-sparkles{position:absolute;inset:0;pointer-events:none}

/* Sections */
.mp-section{padding:3.5rem 0} .mp-section-title{text-align:center;font-size:1.75rem;margin:0 0 2rem}
.mp-grid{display:grid;gap:1.25rem} .mp-grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.mp-grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.mp-grid-3{grid-template-columns:1fr}}
.mp-card{background:#fff;border-radius:18px;padding:1rem;box-shadow:0 6px 20px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.5rem}
.mp-card h3{margin:.25rem 0}

/* Why */
.mp-why{background:linear-gradient(135deg, var(--mp-soft), var(--mp-accent))}
.mp-why-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
@media (max-width:900px){.mp-why-inner{grid-template-columns:1fr}} .mp-list{margin:0;padding-left:1.1rem} .mp-list li{margin:.4rem 0}

/* Destinations */
.mp-scroll{display:flex;gap:1rem;overflow:auto;padding-bottom:.5rem} .mp-destination-card{min-width:220px;height:140px;border-radius:16px;background:#f2f2f2;display:flex;align-items:end;padding:.75rem;font-weight:600;color:#111;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.mp-destination-card span{background:rgba(255,255,255,.85);padding:.25rem .5rem;border-radius:10px}

/* Quotes */
.mp-quote{margin:0;background:radial-gradient(1200px 400px at 20% -10%, rgba(255,215,0,.15), transparent);border-radius:18px}
.mp-quote-inner{padding:1rem 1.25rem} .mp-quote p{margin:0 0 .5rem}

/* CTA banner */
.mp-cta-banner{background:linear-gradient(180deg, var(--mp-secondary), #3a2634);color:#fff;text-align:center;padding:3rem 0}
.mp-cta-banner h2{margin:0 0 1rem;font-size:2rem}

/* Footer */
.mp-footer{background:#0f1229;color:#cfd8ff;margin-top:2rem} .mp-footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding:2rem 0}
@media (max-width:900px){.mp-footer-inner{grid-template-columns:1fr}}
.mp-footer h4{margin:.25rem 0 1rem;color:#fff} .mp-footer a{color:#cfd8ff}
.mp-footer-menu{list-style:none;margin:0;padding:0} .mp-footer-menu li{margin:.35rem 0}
.mp-newsletter{display:flex;gap:.5rem} .mp-newsletter input{flex:1;border-radius:12px;border:1px solid #444;padding:.6rem .75rem;background:#15183a;color:#fff}
.mp-footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0;text-align:center}

/* Main content */
.mp-main{padding:2rem 0} .mp-page-title{font-size:2rem;margin:0 0 1rem} .mp-meta{opacity:.7;margin-bottom:1rem}

/* Mobile menu */
@media (max-width:900px){
  .mp-header-inner{gap:.5rem}
  .mp-burger{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff;margin-right:.25rem}
  .mp-burger span{display:block;width:22px;height:2px;background:#111;margin:3px 0;transition:transform .2s,opacity .2s}
  .mp-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:#fff;box-shadow:-8px 0 24px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .25s;padding:4.5rem 1.25rem 1.25rem;z-index:60}
  .mp-nav .mp-menu{flex-direction:column;gap:.5rem}
  body.mp-menu-open .mp-nav{transform:translateX(0)}
  body.mp-menu-open{overflow:hidden}
  body.mp-menu-open .mp-burger span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  body.mp-menu-open .mp-burger span:nth-child(2){opacity:0}
  body.mp-menu-open .mp-burger span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
}
@media (max-width:600px){
  .mp-hero{min-height:64vh}
  .mp-hero-inner{padding:3rem 0}
  .mp-hero-sub{font-size:1rem}
  .mp-footer-inner{grid-template-columns:1fr}
  .mp-page-title{font-size:1.6rem}
  .mp-why-inner{grid-template-columns:1fr}
  .mp-quote-inner{padding:.9rem 1rem}
  .mp-cta-banner h2{font-size:1.6rem}
}

/* Carousel */
.mp-carousel{position:relative}
.mp-carousel-track{display:flex;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:.25rem 2.25rem}
.mp-carousel-track::-webkit-scrollbar{display:none}
.mp-carousel-item{flex:0 0 auto;scroll-snap-align:start;max-width:100%}
.mp-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.9);box-shadow:0 6px 16px rgba(0,0,0,.15);width:38px;height:38px;border-radius:999px;cursor:pointer}
.mp-carousel-prev{left:.25rem}
.mp-carousel-next{right:.25rem}
.mp-carousel-btn:hover{background:#fff}
.mp-carousel-track{scroll-snap-type:x mandatory}
@media (max-width:640px){.mp-carousel-btn{display:none} .mp-carousel-track{padding-left:8px;padding-right:8px}}

/* Contact form + plugin compatibility */
.mp-contact{background:linear-gradient(180deg,#f7f3ff,#eef5ff)}
.mp-form{max-width:860px;margin:0 auto;display:block}
.mp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.mp-form-grid label{display:flex;flex-direction:column;gap:.4rem;font-weight:600}
.mp-form-grid input,.mp-form-grid textarea{border:1px solid #f1bfd0;border-radius:12px;padding:.7rem .9rem;font:inherit;background:#fff}
.mp-form-grid textarea{resize:vertical}
.mp-form-full{grid-column:1 / -1}
@media (max-width:800px){.mp-form-grid{grid-template-columns:1fr}}
.mp-alert{border-radius:12px;padding:.75rem 1rem;margin:0 0 1rem}
.mp-alert-success{background:#e6ffef;border:1px solid #a6f4c5;color:#065f46}
.mp-alert-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.mp-form-note{opacity:.8;font-size:.95rem;margin-top:.75rem}
.mp-contact-embed{max-width:860px;margin:0 auto}
.mp-contact-embed > *{width:100%}

/* Plugin messages (pink) */
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7-not-valid-tip{background:#fff1f5;border:1px solid #ffc2d4;color:#9a2148;border-radius:12px;padding:.6rem .8rem}
.wpcf7 form.sent .wpcf7-response-output{background:#eafff3;border:1px solid #b7f7d2;color:#0f5132;border-radius:12px}
.wpforms-error{background:#fff1f5;border:1px solid #ffc2d4;color:#9a2148;padding:.6rem .8rem;border-radius:12px}
.wpforms-confirmation-container,.wpforms-confirmation-scroll{background:#eafff3 !important;border:1px solid #b7f7d2 !important;color:#0f5132 !important;border-radius:12px;padding:.75rem 1rem}
.gform_validation_errors,.gfield_validation_message{background:#fff1f5;border:1px solid #ffc2d4;color:#9a2148;border-radius:12px;padding:.6rem .8rem}
.gform_confirmation_message{background:#eafff3;border:1px solid #b7f7d2;color:#0f5132;border-radius:12px;padding:.75rem 1rem}
.nf-error-msg,.nf-error-field-errors{background:#fff1f5;border:1px solid #ffc2d4;color:#9a2148;border-radius:12px;padding:.6rem .8rem}
.nf-response-msg{background:#eafff3;border:1px solid #b7f7d2;color:#0f5132;border-radius:12px;padding:.75rem 1rem}

/* Smooth anchor scroll */
html{scroll-behavior:smooth}
#contact{scroll-margin-top:84px}
@media (max-width:600px){#contact{scroll-margin-top:74px}}


/* Why image: maintain aspect and cover nicely */
.mp-why-image{position:relative; aspect-ratio: 3 / 2; overflow:hidden; border-radius:18px}
.mp-why-image img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
@media (max-width:900px){ .mp-why-image{aspect-ratio: 16 / 9} }
