/* ============================================================
   MAHARAJA TRAVEL — Andaman Tour Packages
   style.css  |  Base + Components + Sections
   ============================================================
   00. Font Faces
   01. Design Tokens
   02. Reset & Base
   03. Utilities
   04. Icons
   05. Buttons & Badges
   06. Page Title
   07. Hero + Sidebar
   08. About Card
   09. Packages (tabs, filters, cards)
   10. Romantic Experiences
   11. Destination Expander
   12. Major Cities
   13. Why Choose Us
   14. Video Testimonials & Review Platforms
   15. Video Modal
   16. Gallery Slider
   17. FAQ & Trusted Logos
   18. Scroll To Top
   19. Owl Carousel Overrides
   ============================================================ */


/* ============================================================
00. FONT FACES
============================================================ */

@font-face {
    font-family: 'Bizantheum';
    src: url('./fonts/Bizantheum.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ============================================================
   01. DESIGN TOKENS
============================================================ */
:root{
  /* ---- Brand ---- */
  --primary:        #F5A300;
  --primary-dark:   #E08C00;
  --primary-light:  #FFC93C;
  --secondary:      #2C3742;
  --yellow:         #FDB813;
  --cream:          #FBEBCF;
  --cream-deep:     #F7DFB2;
  --pink:           #EC1B6D;
  --pink-dark:      #C9155A;
  --green:          #25D366;
  --green-dark:     #1EB855;

  /* ---- Neutrals ---- */
  --dark:           #1F2830;
  --body:           #4A4A4A;
  --muted:          #6F6F6F;
  --gray:           #9A9A9A;
  --border:         #E2E2E2;
  --border-soft:    #EFEFEF;
  --light:          #F5F5F5;
  --panel:          #EFEFEF;
  --white:          #FFFFFF;

  /* ---- Type families ---- */
  --font-heading:   'Bizantheum', 'Caveat', 'Segoe Script', cursive;
  --font-body:      'Calibri', 'Carlito', 'Segoe UI', -apple-system, sans-serif;
  --font-button:    'Calibri', 'Carlito', 'Segoe UI', -apple-system, sans-serif;

  /* ---- Type scale (increased throughout) ---- */
  --fs-h1:          58px;
  --fs-h2:          48px;
  --fs-h3:          26px;
  --fs-h4:          22px;
  --fs-h5:          19px;
  --fs-h6:          17px;

  --fs-lg:          21px;   /* lead paragraphs */
  --fs-base:        19px;   /* body copy, list items */
  --fs-sm:          18px;   /* dense UI copy */
  --fs-xs:          17px;   /* meta, captions */
  --fs-xxs:         15px;   /* smallest labels */
  --fs-btn:         16px;   /* button text */
  --fs-btn-sm:      15px;

  /* ---- Icon scale (increased throughout) ---- */
  --icon-xs:        16px;
  --icon-sm:        20px;
  --icon-md:        24px;
  --icon-lg:        30px;
  --icon-xl:        40px;

  /* ---- Radius ---- */
  --r-sm:           6px;
  --r-md:           10px;
  --r-lg:           14px;
  --r-xl:           20px;
  --r-pill:         100px;

  /* ---- Shadow ---- */
  --sh-sm:          0 2px 6px rgba(0,0,0,.06);
  --sh-md:          0 4px 16px rgba(0,0,0,.08);
  --sh-lg:          0 10px 30px rgba(0,0,0,.14);

  /* ---- Layout (spacing preserved from the reference) ---- */
  --container:      1240px;
  --gutter:         20px;
  --section-y:      52px;
  --sticky-top:     20px;

  /* ---- Motion ---- */
  --ease:           cubic-bezier(.25,.8,.35,1);
  --t-fast:         .22s var(--ease);
  --t-base:         .35s var(--ease);
  --t-slow:         .6s var(--ease);
}


/* ============================================================
   02. RESET & BASE
============================================================ */
*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body.page-template-page-honeymoon-new {
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-base);
  font-weight:400;
  line-height:1.6;
  color:var(--body);
  background:var(--white);
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color var(--t-fast); }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 12px; }
button{ font-family:var(--font-button); font-size:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,select,textarea{ font-family:var(--font-body); font-size:inherit; }
del{ text-decoration:line-through; }
ins{ text-decoration:none; }

/* Headings — Bizantheum across H1–H6 */
.honeymoon-landing-page h1,.honeymoon-landing-page h2,.honeymoon-landing-page h3,.honeymoon-landing-page h4,.honeymoon-landing-page h5,.honeymoon-landing-page h6{
  margin:0 0 12px;
  font-family:var(--font-heading);
  font-weight:400;
  line-height:1.2;
  letter-spacing:.4px;
  color:var(--dark);
}
h1{ font-size:var(--fs-h1); }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); }
h4{ font-size:var(--fs-h4); }
h5{ font-size:var(--fs-h5); }
h6{ font-size:var(--fs-h6); }

:focus-visible{ outline:2px solid var(--pink); outline-offset:2px; }


/* ============================================================
   03. UTILITIES
============================================================ */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.section{ padding:var(--section-y) 0; }

.honeymoon-landing-page .display-heading{
  font-family:var(--font-heading);
  font-weight:400;
  color:var(--dark);
}

.section-title{
  font-size:var(--fs-h2);
  text-align:center;
  margin:0 0 26px;
}
.section-title--tight{ margin-bottom:4px; }
.section-title--left{ text-align:left; margin-bottom:18px; }

.section-sub{
  text-align:center;
  font-size:var(--fs-sm);
  color:var(--pink);
  margin:0 0 26px;
}

.eyebrow{
  text-align:center;
  font-size:var(--fs-xs);
  color:var(--primary);
  letter-spacing:.4px;
  margin:0 0 2px;
}

.section-more{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}

.linklike{
  color:var(--pink);
  text-decoration:underline;
  padding:0;
  font-size:inherit;
}

.no-results{
  text-align:center;
  padding:38px 10px;
  font-size:var(--fs-base);
  color:var(--muted);
}

.honeymoon-landing-page .stars{ color:var(--primary); font-size:16px; letter-spacing:1.5px; margin:0; }
.stars--sm{ font-size:14px; }

.sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Grid children holding carousels must be allowed to shrink,
   otherwise the Owl stage forces the column wider than its track. */
.hero-main,
.packages-main{ min-width:0; }


/* ============================================================
   04. ICONS
   Every icon carries the .icon class, so the whole set can be
   swapped between Flaticon UIcons and Font Awesome by editing
   only the second class on each element.
============================================================ */
.icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:var(--icon-sm);
  line-height:1;
  flex:0 0 auto;
}
.icon::before{ display:block; line-height:1; }

.icon--xs{ font-size:var(--icon-xs); }
.icon--md{ font-size:var(--icon-md); }
.icon--lg{ font-size:var(--icon-lg); }
.icon--xl{ font-size:var(--icon-xl); }

.icon--chevron{ font-size:var(--icon-sm); color:var(--gray); }


/* ============================================================
   05. BUTTONS & BADGES
============================================================ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 24px;
  font-family:var(--font-button);
  font-size:var(--fs-btn);
  font-weight:700;
  line-height:1;
  border-radius:var(--r-pill);
  border:1px solid transparent;
  white-space:nowrap;
  cursor:pointer;
  transition:background var(--t-fast), color var(--t-fast),
             border-color var(--t-fast), box-shadow var(--t-fast),
             transform var(--t-fast);
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn .icon{ font-size:var(--icon-sm); }

.btn--sm{ padding:10px 20px; font-size:var(--fs-btn-sm); }
.btn--sm .icon{ font-size:var(--icon-xs); }

.btn--pink{ background:var(--pink); color:#fff; }
.btn--pink:hover{ background:var(--pink-dark); box-shadow:0 6px 16px rgba(236,27,109,.28); }

.btn--whatsapp{ background:var(--green); color:#fff; }
.btn--whatsapp:hover{ background:var(--green-dark); box-shadow:0 6px 16px rgba(37,211,102,.3); }

.btn--yellow{ background:var(--primary); color:#fff; }
.btn--yellow:hover{ background:var(--primary-dark); box-shadow:0 6px 16px rgba(245,163,0,.3); }

.btn--outline{ background:#fff; color:var(--dark); border-color:var(--border); }
.btn--outline:hover{ border-color:var(--dark); }

.btn--outline-pink{ background:#fff; color:var(--pink); border-color:var(--pink); }
.btn--outline-pink:hover{ background:var(--pink); color:#fff; }

.btn--outline-dark{ background:transparent; color:var(--dark); border-color:var(--dark); }
.btn--outline-dark:hover{ background:var(--dark); color:#fff; }

.btn--clear{
  width:100%;
  background:#fff;
  color:var(--primary-dark);
  border:1px solid var(--primary);
  border-radius:var(--r-sm);
  padding:10px 14px;
  font-size:var(--fs-sm);
  font-weight:700;
}
.btn--clear:hover{ background:var(--primary); color:#fff; }

.badge{
  position:absolute;
  z-index:3;
  font-family:var(--font-body);
  font-size:var(--fs-xxs);
  font-weight:700;
  line-height:1;
  padding:6px 11px;
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  color:#fff;
}
.badge--seller{ top:10px; left:0; background:var(--pink); }


/* ============================================================
   06. PAGE TITLE
============================================================ */
.page-title-section{ padding:24px 0 14px; }

.page-title-inner{
  display:flex;
  align-items:center;
  gap:18px;
}

.count-badge{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:86px;
  padding:8px 12px 10px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:#fff;
  box-shadow:var(--sh-sm);
}
.honeymoon-landing-page .count-badge__num{
  font-family:var(--font-heading);
  font-size:42px;
  line-height:1;
  color:var(--primary);
}
.count-badge__label{
  font-size:var(--fs-xxs);
  color:var(--muted);
  white-space:nowrap;
}

.page-title{
  font-size:var(--fs-h1);
  margin:0;
}


/* ============================================================
   07. HERO + SIDEBAR
============================================================ */
.hero-section{ padding-top:0; padding-bottom:20px; }

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:26px;
  align-items:start;
}

.hero-slider-wrap{ position:relative; }

.hero-slide{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
}
.hero-slide__img{
  width:100%;
  height:340px;
  object-fit:cover;
}
.hero-slide__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.38) 100%);
}

.hero-usp{
  position:absolute;
  top:50%;
  right:26px;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:14px;
  z-index:2;
}
.hero-usp__item{
  display:flex;
  align-items:center;
  gap:11px;
}
.hero-usp__label{
  font-size:var(--fs-sm);
  font-weight:700;
  color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.45);
}
.hero-usp__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--pink);
  box-shadow:var(--sh-sm);
}
.hero-usp__icon .icon{ font-size:var(--icon-md); }

.hero-cta{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:12px;
  z-index:4;
}

/* Sidebar */
.hero-aside{ display:flex; flex-direction:column; gap:14px; }

.aside-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.sticky-sidebar{
  position:sticky;
  top:var(--sticky-top);
  display:flex;
  flex-direction:column;
  gap:14px;
}

.info-panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:16px 14px;
}
.info-panel__title{
  font-size:var(--fs-h4);
  text-align:center;
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
  line-height:1.3;
}

.info-list__item,
.tips-list__item{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:10px 0;
  border-bottom:1px dashed var(--border);
}
.info-list__item:last-child,
.tips-list__item:last-child{ border-bottom:0; }

.info-list__icon,
.tips-list__icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  color:var(--pink);
  box-shadow:var(--sh-sm);
}
.info-list__icon .icon,
.tips-list__icon .icon{ font-size:var(--icon-sm); }

.info-list__text{ display:flex; flex-direction:column; }
.info-list__text strong{ font-size:var(--fs-sm); font-weight:700; color:var(--dark); }
.info-list__text small{ font-size:var(--fs-xxs); color:var(--muted); line-height:1.45; }

.tips-list__text{ font-size:var(--fs-xs); color:var(--body); line-height:1.5; }


/* ============================================================
   08. ABOUT CARD
============================================================ */
.about-card{
  position:relative;
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:26px;
  padding:22px 26px 22px 0;
  background:linear-gradient(180deg,var(--cream) 0%,var(--cream-deep) 100%);
  border-radius:var(--r-lg);
}
.about-card__media{
  margin-top:-70px;
  align-self:end;
}
.about-card__media img{
  width:100%;
  max-width:260px;
  margin-inline:auto;
  border-radius:var(--r-md);
}
.about-card__title{
  font-size:var(--fs-h2);
  margin:0 0 10px;
}
.about-card__text{
  font-size:var(--fs-sm);
  line-height:1.7;
  color:#5A4A2E;
  margin:0 0 14px;
}
.about-card__btn{ float:right; }


/* ============================================================
   09. PACKAGES
============================================================ */
.packages-layout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:22px;
  align-items:start;
}

/* --- Filter panel --- */
.honeymoon-landing-page .filter-panel{
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:#fff;
  padding:14px;
  position:sticky;
  top:var(--sticky-top);
}
.honeymoon-landing-page .filter-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:10px;
  margin-bottom:6px;
  border-bottom:1px solid var(--border);
}
.honeymoon-landing-page .filter-panel__heading{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--dark);
}
.honeymoon-landing-page .filter-panel__toggle{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--border);
  color:var(--dark);
  transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.honeymoon-landing-page .filter-panel__toggle:hover{ background:var(--primary); color:#fff; border-color:var(--primary); }

.honeymoon-landing-page .filter-options li{ padding:5px 0; }
.honeymoon-landing-page .filter-option{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:var(--fs-xs);
  color:var(--body);
  cursor:pointer;
}
.honeymoon-landing-page .filter-option input{ accent-color:var(--pink); width:17px; height:17px; }

/* --- Accordion (filters + FAQ) --- */
.honeymoon-landing-page .accordion-item{ border-bottom:1px solid var(--border-soft) !important; }
.honeymoon-landing-page .accordion--filter .accordion-item:last-child{ border-bottom:0; margin-bottom:10px; }

.honeymoon-landing-page .accordion-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:12px 0;
  text-align:left;
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  font-weight:700;
  color:var(--dark);
  transition:color var(--t-fast);
}
.honeymoon-landing-page .accordion-head:hover{ color:var(--pink); }
.honeymoon-landing-page .accordion-head .icon--chevron{ transition:transform var(--t-base); }
.honeymoon-landing-page .accordion-head[aria-expanded="true"] .icon--chevron{ transform:rotate(180deg); }

.honeymoon-landing-page .accordion-body{
  overflow:hidden;
  height:0;
  transition:height var(--t-base);
}
.honeymoon-landing-page .accordion-body > *:first-child{ margin-top:0; }
.honeymoon-landing-page .accordion--filter .accordion-body ul{ padding-bottom:8px; }

.honeymoon-landing-page .accordion--faq .accordion-item{
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  margin-bottom:7px;
  background:#fff;
}
.honeymoon-landing-page .accordion--faq .accordion-head{ padding:11px 14px; font-size:var(--fs-sm); }
.honeymoon-landing-page .accordion--faq .accordion-body p{
  padding:0 14px 13px;
  font-size:var(--fs-xs);
  line-height:1.7;
  color:var(--muted);
  margin:0;
}

/* --- Tabs --- */
.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  border-bottom:1px solid var(--border);
  margin-bottom:16px;
}
.tab{
  position:relative;
  padding:8px 2px 12px;
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  font-weight:700;
  color:var(--muted);
  transition:color var(--t-fast);
}
.tab span{ font-weight:400; }
.tab::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:var(--primary);
  transform:scaleX(0);
  transition:transform var(--t-fast);
}
.tab:hover{ color:var(--dark); }
.tab.is-active{ color:var(--pink); }
.tab.is-active::after{ transform:scaleX(1); }

/* --- Package card --- */
.package-card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  overflow:hidden;
  transition:box-shadow var(--t-base), transform var(--t-base), border-color var(--t-base);
}
.package-card:hover{
  box-shadow:var(--sh-md);
  transform:translateY(-3px);
  border-color:#D9D9D9;
}

.package-card__media{ position:relative; overflow:hidden; }
.package-card__media img{
  width:100%;
  height:140px;
  object-fit:cover;
  transition:transform var(--t-slow);
}
.package-card:hover .package-card__media img{ transform:scale(1.06); }

.wishlist{
  position:absolute;
  top:9px; right:9px;
  z-index:3;
  display:grid;
  place-items:center;
  width:36px; height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--pink);
  box-shadow:var(--sh-sm);
  transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.wishlist .icon{ font-size:var(--icon-sm); }
.wishlist:hover{ transform:scale(1.1); }
.wishlist.is-active{ background:var(--pink); color:#fff; }

.package-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:11px 13px 13px;
}
.package-card__route{
  font-size:var(--fs-xxs);
  color:var(--muted);
  margin:0 0 2px;
}
.package-card__title{
  font-size:var(--fs-h3);
  margin:0 0 2px;
}
.package-card__meta{
  font-size:var(--fs-xxs);
  font-weight:700;
  color:var(--pink);
  margin:0 0 8px;
}
.package-card__list{
  flex:1 1 auto;
  margin:0 0 10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border-soft);
}
.package-card__list li{
  font-size:var(--fs-xxs);
  line-height:1.75;
  color:var(--body);
}

.package-card__footer{ margin-top:auto; }
.offer-label{
  display:inline-block;
  font-size:var(--fs-xxs);
  color:var(--muted);
  margin-bottom:2px;
}
.package-card__price{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin:0;
}
.package-card__price del{ font-size:var(--fs-xs); color:var(--gray); }
.honeymoon-landing-page .package-card__price ins{
  font-family:var(--font-heading);
  font-size:32px;
  line-height:1;
  color:var(--pink);
}
.package-card__price span{ font-size:var(--fs-xxs); color:var(--muted); }


/* ============================================================
   10. ROMANTIC EXPERIENCES
============================================================ */
.experience-card{ text-align:center; }

.experience-card__media{
  position:relative;
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--sh-sm);
}
.experience-card__media img{
  width:100%;
  height:150px;
  object-fit:cover;
  transition:transform var(--t-slow);
}
.experience-card:hover .experience-card__media img{ transform:scale(1.07); }

.add-btn{
  position:absolute;
  top:8px; right:8px;
  z-index:3;
  display:flex;
  align-items:center;
  height:32px;
  padding:0 9px;
  border-radius:var(--r-sm);
  background:var(--pink);
  color:#fff;
  overflow:hidden;
  transition:background var(--t-fast);
}
.add-btn .icon{ font-size:var(--icon-sm); }
.add-btn__tip{
  max-width:0;
  opacity:0;
  white-space:nowrap;
  font-size:var(--fs-xxs);
  font-weight:700;
  transition:max-width var(--t-base), opacity var(--t-base), margin var(--t-base);
}
.experience-card:hover .add-btn__tip,
.add-btn:hover .add-btn__tip,
.add-btn:focus-visible .add-btn__tip{
  max-width:100px;
  opacity:1;
  margin-left:7px;
}

.experience-card__title{
  font-size:var(--fs-h5);
  margin:10px 0 0;
  line-height:1.35;
}


/* ============================================================
   11. DESTINATION EXPANDER
============================================================ */
.destination-expander{
  display:flex;
  gap:12px;
  height:400px;
}

.destination-card{
  position:relative;
  flex:1 1 0;
  min-width:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  cursor:pointer;
  transition:flex-grow var(--t-slow);
}
.destination-card.is-active{ flex-grow:3.4; }

.destination-card__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1.2s var(--ease);
}
.destination-card.is-active .destination-card__img{ transform:scale(1.06); }

.destination-card__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 35%,rgba(0,0,0,.74) 100%);
  opacity:.85;
  transition:opacity var(--t-base);
}
.destination-card.is-active .destination-card__shade{ opacity:1; }

.honeymoon-landing-page .destination-card__vtitle{
  position:absolute;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  margin:0;
  writing-mode:vertical-rl;
  font-size:38px;
  color:#fff;
  white-space:nowrap;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
  opacity:1;
  transition:opacity var(--t-fast);
}
.destination-card.is-active .destination-card__vtitle{
  opacity:0;
  pointer-events:none;
  transition:opacity .18s var(--ease);
}

.destination-card__content{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:20px 22px 22px;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity var(--t-base) .12s, transform var(--t-base) .12s;
}
.destination-card.is-active .destination-card__content{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.honeymoon-landing-page .destination-card__title{
  font-size:var(--fs-h3);
  color:#fff;
  margin:0 0 6px;
}
.destination-card__text{
  font-size:var(--fs-xs);
  line-height:1.6;
  color:rgba(255,255,255,.92);
  margin:0 0 10px;
  max-width:440px;
}
.destination-card__cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:var(--fs-xs);
  font-weight:700;
  color:var(--pink);
  background:#fff;
  padding:9px 16px;
  border-radius:var(--r-pill);
  transition:background var(--t-fast), color var(--t-fast), gap var(--t-fast);
}
.destination-card__cta .icon{ font-size:var(--icon-xs); }
.destination-card__cta:hover{ background:var(--pink); color:#fff; gap:11px; }

/* Mobile: becomes an Owl carousel — fixed height released */
.destination-expander.owl-carousel{ display:block; height:auto; }
.destination-expander.owl-carousel .destination-card{ height:360px; }
.destination-expander.owl-carousel .destination-card__vtitle{ display:none; }
.destination-expander.owl-carousel .destination-card__content{
  opacity:1;
  transform:none;
  pointer-events:auto;
}


/* ============================================================
   12. MAJOR CITIES
============================================================ */
.city-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.city-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:12px;
  transition:box-shadow var(--t-base), transform var(--t-base);
}
.city-card:hover{ box-shadow:var(--sh-md); transform:translateY(-3px); }

.city-card__media{
  border-radius:var(--r-sm);
  overflow:hidden;
  margin-bottom:10px;
}
.city-card__media img{
  width:100%;
  height:120px;
  object-fit:cover;
  transition:transform var(--t-slow);
}
.city-card:hover .city-card__media img{ transform:scale(1.07); }

.city-card__body{ display:flex; flex-direction:column; flex:1 1 auto; }
.city-card__eyebrow{
  font-size:var(--fs-xxs);
  color:var(--primary);
  margin:0 0 2px;
}
.city-card__title{
  font-size:var(--fs-h4);
  margin:0 0 8px;
}
.city-card__list{ flex:1 1 auto; margin:0 0 10px; }
.city-card__list li{
  position:relative;
  padding-left:14px;
  font-size:var(--fs-xxs);
  line-height:1.85;
  color:var(--body);
}
.city-card__list li::before{
  content:"";
  position:absolute;
  left:0; top:10px;
  width:5px; height:5px;
  border-radius:50%;
  background:var(--pink);
}
.city-card__cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  font-size:var(--fs-xs);
  font-weight:700;
  color:var(--pink);
  transition:gap var(--t-fast);
}
.city-card__cta .icon{ font-size:var(--icon-xs); }
.city-card__cta:hover{ gap:11px; }


/* ============================================================
   13. WHY CHOOSE US
============================================================ */
.why-strip{
  display:flex;
  flex-wrap:wrap;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  overflow:hidden;
  background:#fff;
}
.why-item{
  flex:1 1 0;
  min-width:170px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:15px 16px;
  border-right:1px solid var(--border-soft);
  transition:background var(--t-fast);
}
.why-item:last-child{ border-right:0; }
.why-item:hover{ background:#FFF8EC; }

.why-item__icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:46px; height:46px;
  border-radius:50%;
  border:1px solid var(--border);
  color:var(--pink);
  transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.why-item__icon .icon{ font-size:var(--icon-md); }
.why-item:hover .why-item__icon{ background:var(--pink); color:#fff; border-color:var(--pink); }

.why-item__label{
  font-size:var(--fs-xs);
  font-weight:700;
  color:var(--dark);
  line-height:1.4;
}


/* ============================================================
   14. VIDEO TESTIMONIALS & REVIEW PLATFORMS
============================================================ */
.testimonial-card{
  display:flex;
  flex-direction:column;
  background:var(--secondary);
  border-radius:var(--r-lg);
  overflow:hidden;
  color:#fff;
  height:100%;
  transition:transform var(--t-base), box-shadow var(--t-base);
}
.testimonial-slider .center .testimonial-card{ box-shadow:var(--sh-lg); }

/* --- Video thumbnail --- */
.video-thumb{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  overflow:hidden;
  cursor:pointer;
  background:#000;
}
.video-thumb img{
  width:100%;
  height:190px;
  object-fit:cover;
  transition:transform var(--t-slow), opacity var(--t-base);
}
.video-thumb:hover img{ transform:scale(1.06); opacity:.85; }

.video-thumb__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.1) 40%,rgba(0,0,0,.55) 100%);
}

.video-thumb__play{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:62px; height:62px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--pink);
  box-shadow:0 4px 18px rgba(0,0,0,.3);
  transition:transform var(--t-base), background var(--t-fast), color var(--t-fast);
}
.video-thumb__play .icon{ font-size:var(--icon-lg); margin-left:3px; }
.video-thumb:hover .video-thumb__play,
.video-thumb:focus-visible .video-thumb__play{
  transform:translate(-50%,-50%) scale(1.1);
  background:var(--pink);
  color:#fff;
}

/* Soft pulse ring on the play button */
.video-thumb__play::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.55);
  opacity:0;
  animation:playPulse 2.6s var(--ease) infinite;
}
@keyframes playPulse{
  0%   { transform:scale(.85); opacity:.75; }
  70%  { transform:scale(1.18); opacity:0; }
  100% { transform:scale(1.18); opacity:0; }
}

.video-thumb__duration{
  position:absolute;
  right:10px; bottom:10px;
  padding:4px 9px;
  border-radius:var(--r-sm);
  background:rgba(0,0,0,.7);
  color:#fff;
  font-size:var(--fs-xxs);
  font-weight:700;
  line-height:1;
}

.testimonial-card__body{ padding:15px 17px 19px; }
.honeymoon-landing-page .testimonial-card__text{
  font-size:var(--fs-xs);
  line-height:1.7;
  color:rgba(255,255,255,.88);
  margin:0 0 10px;
}
.honeymoon-landing-page .testimonial-card__name{
  font-family:var(--font-heading);
  font-size:var(--fs-h5);
  color:#fff;
  margin:0;
}
.honeymoon-landing-page .testimonial-card__loc{
  font-size:var(--fs-xxs);
  color:rgba(255,255,255,.65);
  margin:0 0 6px;
}

/* --- Review platform strip --- */
.review-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:40px;
  margin-top:34px;
}
.review-platforms{
  display:flex;
  flex-wrap:wrap;
  gap:34px;
}
.review-platform{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  text-align:center;
}
.review-platform img{ height:44px; width:44px; object-fit:contain; margin-bottom:5px; }
.review-platform__name{ font-size:var(--fs-xs); color:var(--body); }
.honeymoon-landing-page .review-platform__score{
  font-family:var(--font-heading);
  font-size:30px;
  color:var(--dark);
  line-height:1.2;
}

.travellers-count{
  display:flex;
  align-items:center;
  gap:13px;
}
.travellers-count__icon{ color:var(--dark); }
.travellers-count__icon .icon{ font-size:var(--icon-xl); }
.travellers-count__text{ display:flex; flex-direction:column; line-height:1; }
.honeymoon-landing-page .travellers-count__text strong{
  font-family:var(--font-heading);
  font-size:46px;
  font-weight:400;
  color:var(--dark);
}
.travellers-count__text small{
  font-size:var(--fs-xs);
  font-weight:700;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--muted);
}


/* ============================================================
   15. VIDEO MODAL
============================================================ */
.video-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
}
.video-modal[hidden]{ display:none; }

.video-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,14,18,.88);
  animation:fadeIn .25s var(--ease);
}
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }

.video-modal__dialog{
  position:relative;
  width:min(960px,100%);
  animation:modalIn .3s var(--ease);
}
@keyframes modalIn{
  from{ opacity:0; transform:translateY(18px) scale(.98); }
  to  { opacity:1; transform:none; }
}

.video-modal__frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh-lg);
}
.video-modal__frame iframe,
.video-modal__frame video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.video-modal__close{
  position:absolute;
  top:-52px; right:0;
  display:grid;
  place-items:center;
  width:44px; height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  color:#fff;
  transition:background var(--t-fast), transform var(--t-fast);
}
.video-modal__close .icon{ font-size:var(--icon-md); }
.video-modal__close:hover{ background:var(--pink); transform:rotate(90deg); }

body.is-modal-open{ overflow:hidden; }


/* ============================================================
   16. GALLERY SLIDER  ("Memories from Our Happy Guests")
   Centre slide is raised and enlarged to match the reference.
============================================================ */
.insta-card{
  position:relative;
  display:block;
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--sh-sm);
  transform:scale(.9);
  transition:transform var(--t-base), box-shadow var(--t-base);
}
.instagram-slider .center .insta-card{
  transform:scale(1.06);
  box-shadow:var(--sh-lg);
  z-index:2;
}
.insta-card img{
  width:100%;
  height:160px;
  object-fit:cover;
  transition:transform var(--t-slow);
}
.insta-card:hover img{ transform:scale(1.08); }

.insta-card__overlay{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(236,27,109,.55);
  color:#fff;
  opacity:0;
  transition:opacity var(--t-base);
}
.insta-card__overlay .icon{ font-size:var(--icon-xl); }
.insta-card:hover .insta-card__overlay,
.insta-card:focus-visible .insta-card__overlay{ opacity:1; }

.instagram-slider .owl-stage{ align-items:center; padding-block:14px; }
.instagram-section .section-more{ justify-content:center; }


/* ============================================================
   17. FAQ & TRUSTED LOGOS
============================================================ */
.faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-items:start;
}

.logo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  padding:16px;
}
.logo-grid__item{
  display:grid;
  place-items:center;
  padding:10px;
  min-height:78px;
}
.logo-grid__item img{
  max-height:54px;
  width:auto;
  filter:grayscale(1);
  opacity:.72;
  transition:filter var(--t-base), opacity var(--t-base), transform var(--t-base);
}
.logo-grid__item:hover img{ filter:grayscale(0); opacity:1; transform:scale(1.05); }


/* ============================================================
   18. SCROLL TO TOP
============================================================ */
.scroll-top{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:800;
  display:grid;
  place-items:center;
  width:50px; height:50px;
  border-radius:50%;
  background:var(--pink);
  color:#fff;
  box-shadow:var(--sh-md);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity var(--t-base), transform var(--t-base), visibility var(--t-base), background var(--t-fast);
}
.scroll-top .icon{ font-size:var(--icon-md); }
.scroll-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover{ background:var(--pink-dark); }


/* ============================================================
   19. OWL CAROUSEL OVERRIDES
============================================================ */
.honeymoon-landing-page .owl-carousel .owl-stage{ display:flex; }        /* equal height cards */
.honeymoon-landing-page .owl-carousel .owl-item{ display:flex; }
.honeymoon-landing-page .owl-carousel .owl-item > *{ width:100%; }

.honeymoon-landing-page .owl-carousel .owl-nav button.owl-prev,
.honeymoon-landing-page .owl-carousel .owl-nav button.owl-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:40px; height:40px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  line-height:1;
  box-shadow:var(--sh-sm);
  transition:background var(--t-fast), transform var(--t-fast);
}
.honeymoon-landing-page .owl-carousel .owl-nav button .icon{ font-size:var(--icon-sm); }
.honeymoon-landing-page .owl-carousel .owl-nav button.owl-prev:hover,
.honeymoon-landing-page .owl-carousel .owl-nav button.owl-next:hover{
  background:var(--pink);
  transform:translateY(-50%) scale(1.08);
}
.honeymoon-landing-page .owl-carousel .owl-nav button.owl-prev{ left:-18px; }
.honeymoon-landing-page .owl-carousel .owl-nav button.owl-next{ right:-18px; }
.honeymoon-landing-page .owl-carousel .owl-nav.disabled{ display:none; }

.honeymoon-landing-page .owl-carousel .owl-dots{ margin-top:14px; text-align:center; }
.honeymoon-landing-page .owl-carousel .owl-dots .owl-dot span{
  width:9px; height:9px;
  margin:0 4px;
  background:#CFCFCF;
  border-radius:50%;
  transition:background var(--t-fast), width var(--t-fast);
}
.honeymoon-landing-page .owl-carousel .owl-dots .owl-dot.active span{ background:var(--primary); width:22px; border-radius:5px; }

/* Hero slider */
.hero-slider .owl-dots{
  position:absolute;
  left:50%;
  bottom:60px;
  transform:translateX(-50%);
  margin:0;
  z-index:3;
}
.hero-slider .owl-dots .owl-dot span{ background:rgba(255,255,255,.55); }
.hero-slider .owl-dots .owl-dot.active span{ background:#fff; }

/* Gallery slider needs room for the raised centre slide */
.instagram-slider .owl-nav button.owl-prev{ left:-20px; }
.instagram-slider .owl-nav button.owl-next{ right:-20px; }


/* ============================================================
   REDUCED MOTION
============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
