/* ===========================================================================
   bliss.css — Bliss Tours customisations layered on top of the Trevlo/TripBugs
   theme (trevlo.css). Holds the few styles the shared header/home need on every
   page plus Bliss-specific helpers (download buttons, video thumbs, blog post,
   Veena partnership, tour galleries).
   =========================================================================== */

/* --- Header search box (carried over from the theme's per-page inline CSS) --- */
.search-box { position: relative; margin: 0 15px; }
.search-form { display: flex; align-items: center; }
.search-input {
    width: 200px; padding: 8px 35px 8px 15px; border: 1px solid #e0e0e0;
    border-radius: 25px; font-size: 14px; transition: all .3s ease; background-color: #f8f9fa;
}
.search-input:focus { width: 250px; border-color: #0f5388; outline: none; box-shadow: 0 0 5px rgba(15,83,136,.2); }
.search-button {
    position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
    background: none; border: none; color: #666; cursor: pointer; padding: 0; transition: color .3s ease;
}
.search-button:hover { color: #0f5388; }

/* --- Home "Why choose" benefit cards --- */
.card {
    background: #fff; border-radius: 10px; box-shadow: 0 4px 8px rgba(130,164,49,.5);
    padding: 15px; text-align: center; transition: transform .3s ease; height: 300px;
}
.card:hover { transform: translateY(-10px); }
.card-icon img { width: 75px; height: 75px; margin-bottom: 10px; }
.card-title { font-size: 16px; color: #0f5388; margin-bottom: 10px; }
.card-text { font-size: 14px; color: #555; line-height: 1.5; }

/* --- Destination carousel arrows --- */
.destination-four__carousel .owl-nav {
    position: absolute; top: 50%; transform: translateY(-50%); width: 110%; left: -5%;
    display: flex; justify-content: space-between; pointer-events: none;
}
.destination-four__carousel .owl-nav button.owl-prev,
.destination-four__carousel .owl-nav button.owl-next {
    width: 45px; height: 45px; background: rgb(189,240,189) !important; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; pointer-events: auto; transition: all .3s ease; margin: 0;
}
.destination-four__carousel .owl-nav button.owl-prev:hover,
.destination-four__carousel .owl-nav button.owl-next:hover { background: #0f5388 !important; }
.destination-four__carousel .owl-nav button.owl-prev:hover span,
.destination-four__carousel .owl-nav button.owl-next:hover span { color: #fff; }
.destination-four__carousel .owl-nav button span { font-size: 20px; color: #0f5388; transition: all .3s ease; }

/* --- Download / outline buttons (Yog Tarang, events) --- */
.bliss-download-btn {
    display: inline-block; margin: 6px 8px 6px 0; padding: 12px 26px; border-radius: 6px;
    background: #0f5388; color: #fff !important; font-weight: 600; font-size: 15px;
    text-decoration: none; transition: all .3s ease; border: 2px solid #0f5388;
}
.bliss-download-btn:hover { background: #82a431; border-color: #82a431; color: #fff !important; }
.bliss-download-btn--outline { background: transparent; color: #0f5388 !important; }
.bliss-download-btn--outline:hover { background: #0f5388; color: #fff !important; }

/* --- Video thumbnail with play overlay --- */
.bliss-video { position: relative; border-radius: 12px; overflow: hidden; margin-bottom: 30px; }
.bliss-video img { width: 100%; height: 320px; object-fit: cover; display: block; transition: transform .5s ease; }
.bliss-video:hover img { transform: scale(1.05); }
.bliss-video__play {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(14,58,92,.25); color: #fff; font-size: 26px; text-decoration: none;
}
.bliss-video__play span {
    width: 70px; height: 70px; border-radius: 50%; background: #82a431;
    display: flex; align-items: center; justify-content: center; transition: all .3s ease;
}
.bliss-video__play:hover span { background: #0f5388; transform: scale(1.08); }
.bliss-video__caption { padding: 14px 4px 0; font-weight: 600; color: #0e3a5c; }
/* Title overlaid on the video thumbnail (kept above the play overlay, clicks pass through) */
.bliss-video__label {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; pointer-events: none;
    padding: 40px 24px 18px; color: #fff; font-weight: 700; font-size: 21px; letter-spacing: .01em;
    background: linear-gradient(to top, rgba(11,62,104,.72), rgba(11,62,104,0));
}
@media (max-width: 575px) { .bliss-video__label { font-size: 18px; padding: 32px 18px 14px; } }

/* Video gallery card: thumbnail + titled bar with background (video-gallery.html) */
.bliss-video-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(11, 62, 104, .12);
    margin-bottom: 30px;
    transition: transform .3s ease, box-shadow .3s ease;
}
.bliss-video-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px rgba(11, 62, 104, .2); }
.bliss-video-card .bliss-video { border-radius: 0; margin-bottom: 0; }
.bliss-video-card__body {
    background: linear-gradient(135deg, #82a431 0%, #6a8826 100%);
    padding: 16px 22px;
    text-align: center;
}
.bliss-video-card__title {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
}
@media (max-width: 575px) {
    .bliss-video-card__title { font-size: 17px; }
}

/* --- Veena World partnership badge --- */
.veena-badge {
    display: inline-block; margin-top: 10px; padding: 6px 16px; border-radius: 30px;
    background: #eaf6ef; color: #82a431; font-weight: 600; font-size: 14px;
}
.veena-note { font-size: 14px; color: #777; margin-top: 14px; }

/* ===========================================================================
   About page — intro & story sections (custom Bliss styling)
   =========================================================================== */
.bliss-eyebrow {
    display: inline-block; position: relative;
    font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: #82a431; margin: 0 0 16px; padding-left: 42px;
}
.bliss-eyebrow::before {
    content: ""; position: absolute; left: 0; top: 50%; width: 30px; height: 2px;
    background: #82a431; transform: translateY(-50%);
}

/* --- Intro: Travel with Trust --- */
.bliss-intro__title {
    font-size: 38px; line-height: 1.22; font-weight: 700; color: #0b3e68; margin: 0 0 22px;
}
.bliss-intro__text { color: #555; line-height: 1.85; margin-bottom: 18px; }
.bliss-intro__features { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.bliss-feature {
    flex: 1 1 200px; display: flex; align-items: center; gap: 14px;
    background: #fff; border: 1px solid #eef1f5; border-radius: 14px; padding: 16px 18px;
    box-shadow: 0 10px 30px rgba(15, 83, 136, .06);
    transition: transform .3s ease, box-shadow .3s ease;
}
.bliss-feature:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(15, 83, 136, .12); }
.bliss-feature__icon {
    flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #eaf6ef; color: #82a431; font-size: 26px;
}
.bliss-feature__title { margin: 0; font-size: 16px; font-weight: 700; color: #0b3e68; }
.bliss-intro__gallery {
    display: grid; grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 200px; gap: 18px;
}
.bliss-intro__gallery img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    border-radius: 16px; box-shadow: 0 14px 34px rgba(15, 83, 136, .12); transition: transform .5s ease;
}
.bliss-intro__gallery img:nth-child(1) { grid-row: span 2; }
.bliss-intro__gallery img:nth-child(4) { grid-column: span 2; }
.bliss-intro__gallery img:hover { transform: scale(1.03); }

/* --- Story & Mission --- */
.bliss-story__media { position: relative; padding: 0 30px 30px 0; }
.bliss-story__media-main {
    width: 100%; height: 470px; object-fit: cover; display: block; border-radius: 18px;
    box-shadow: 0 18px 44px rgba(15, 83, 136, .14);
}
.bliss-story__media-sub {
    position: absolute; right: 0; bottom: 0; width: 46%; height: 230px; object-fit: cover; display: block;
    border-radius: 16px; border: 6px solid #fff; box-shadow: 0 16px 36px rgba(15, 83, 136, .18);
}
.bliss-story__badge {
    position: absolute; left: -8px; top: 28px; max-width: 150px;
    background: #0f5388; color: #fff; border-radius: 14px; padding: 14px 18px;
    box-shadow: 0 14px 30px rgba(15, 83, 136, .3);
}
.bliss-story__badge-text { display: block; font-size: 14px; font-weight: 600; line-height: 1.4; }
.bliss-story__content { padding-left: 14px; }
.bliss-story__block { position: relative; padding-left: 22px; margin-bottom: 24px; }
.bliss-story__block::before {
    content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px;
    border-radius: 4px; background: linear-gradient(#82a431, #0f5388);
}
.bliss-story__heading { font-size: 22px; font-weight: 700; color: #0f5388; margin: 0 0 8px; }
.bliss-story__block p { color: #555; line-height: 1.85; margin: 0; }

@media (max-width: 991px) {
    .bliss-intro__gallery { margin-top: 38px; grid-auto-rows: 180px; }
    .bliss-story__media { padding-right: 0; }
    .bliss-story__media-sub { position: static; width: 100%; height: 230px; margin-top: 16px; border: none; }
    .bliss-story__badge { left: 14px; }
    .bliss-story__content { padding-left: 0; margin-top: 50px; }
}
@media (max-width: 575px) {
    .bliss-intro__gallery { grid-template-columns: 1fr; grid-auto-rows: 220px; }
    .bliss-intro__gallery img:nth-child(1) { grid-row: auto; }
    .bliss-intro__gallery img:nth-child(4) { grid-column: auto; }
    .bliss-intro__title { font-size: 30px; }
    .bliss-story__media-main { height: 360px; }
}

/* --- Team: Meet Our Team --- */
.bliss-team__head { text-align: center; margin-bottom: 44px; }
.bliss-team__head .bliss-eyebrow { padding: 0 38px; }
.bliss-team__head .bliss-eyebrow::after {
    content: ""; position: absolute; right: 0; top: 50%; width: 30px; height: 2px;
    background: #82a431; transform: translateY(-50%);
}
.bliss-team__title { font-size: 38px; line-height: 1.2; font-weight: 700; color: #0b3e68; margin: 0; }
.bliss-member {
    background: #fff; border: 1px solid #eef1f5; border-radius: 18px; overflow: hidden;
    margin-bottom: 30px; box-shadow: 0 10px 30px rgba(15, 83, 136, .06);
    transition: transform .35s ease, box-shadow .35s ease;
}
.bliss-member:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(15, 83, 136, .14); }
.bliss-member__photo { position: relative; overflow: hidden; }
.bliss-member__photo img {
    width: 100%; height: 380px; object-fit: cover; object-position: top center; display: block; transition: transform .6s ease;
}
.bliss-member:hover .bliss-member__photo img { transform: scale(1.05); }
.bliss-member__photo::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 45%;
    background: linear-gradient(to top, rgba(11, 62, 104, .35), transparent); pointer-events: none;
}
.bliss-member__info { text-align: center; padding: 20px 18px 24px; }
.bliss-member__name { font-size: 20px; font-weight: 700; color: #0b3e68; margin: 0 0 4px; text-align: center; }
.bliss-member__role { font-size: 14px; font-weight: 600; color: #82a431; margin: 0; text-align: center; }
.bliss-member__social { margin-top: 12px; }
.bliss-member__social a {
    display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 50%; background: #f1f5fb; color: #0f5388; transition: all .3s ease;
}
.bliss-member__social a:hover { background: #0f5388; color: #fff; transform: translateY(-3px); }

@media (max-width: 575px) {
    .bliss-team__title { font-size: 30px; }
    .bliss-member__photo img { height: 420px; }
}

/* --- Tour listing sections (Indian / USA / Wellness packages) --- */
.tour-block { margin-bottom: 55px; }
.tour-block__duration {
    display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 16px;
    color: #82a431; font-weight: 600;
}
.tour-block__duration i { color: #0f5388; }
.tour-block__text { color: #555; line-height: 1.8; margin-bottom: 22px; text-align: justify; }
.tour-gallery .gallery-single { margin-bottom: 24px; }
.tour-gallery .gallery-single__img { width: 100%; height: 230px; object-fit: cover; border-radius: 8px; }

/* --- Single blog post (memoir) --- */
.blog-details__post { max-width: 900px; margin: 0 auto; }
.blog-details__cat {
    display: inline-block; background: #82a431; color: #fff; padding: 5px 16px;
    border-radius: 30px; font-size: 13px; font-weight: 600; margin-bottom: 14px;
}
.blog-details__title { font-size: 38px; line-height: 1.2; color: #0e3a5c; margin-bottom: 16px; }
.blog-details__meta { display: flex; flex-wrap: wrap; gap: 22px; color: #777; font-size: 15px; margin-bottom: 26px; }
.blog-details__meta i { color: #0f5388; margin-right: 6px; }
.blog-details__feature { border-radius: 14px; overflow: hidden; margin-bottom: 34px; }
.blog-details__feature img { width: 100%; height: 420px; object-fit: cover; display: block; }
@media (max-width: 767px) {
    .blog-details__feature img { height: 240px; }
}
.blog-details__body h2 { font-size: 26px; color: #0e3a5c; margin: 30px 0 14px; }
.blog-details__body p { color: #444; line-height: 1.9; margin-bottom: 18px; text-align: justify; }
.blog-details__body .lead { font-size: 19px; color: #0e3a5c; }
.blog-details__figure { margin: 6px 0 18px; }
.blog-details__figure--right { float: right; width: 50%; max-width: 440px; margin-left: 28px; }
.blog-details__figure--left { float: left; width: 50%; max-width: 440px; margin-right: 28px; }
.blog-details__figure img { width: 100%; height: auto; display: block; border-radius: 12px; }
.blog-details__figure figcaption { margin-top: 8px; font-size: 13px; color: #888; font-style: italic; text-align: center; }
@media (max-width: 575px) {
    .blog-details__figure--right, .blog-details__figure--left { float: none; width: 100%; max-width: none; margin: 6px 0 18px; }
}
.blog-details__share { margin-top: 36px; padding-top: 22px; border-top: 1px solid #eee; }
.blog-details__share span.label { font-weight: 600; color: #0e3a5c; margin-right: 14px; }
.blog-details__share a {
    display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 50%; background: #f1f5fb; color: #0f5388; margin-right: 8px; transition: all .3s ease;
}
.blog-details__share a:hover { background: #0f5388; color: #fff; }
.blog-details__back { margin-top: 36px; padding-top: 22px; border-top: 1px solid #eee; }
.blog-details__back a {
    display: inline-flex; align-items: center; gap: 8px;
    color: #0f5388; font-weight: 600; transition: color .3s ease;
}
.blog-details__back a:hover { color: #82a431; }

/* --- Blog listing (cards) --- */
.blog-list__intro { max-width: 640px; margin: 0 auto 50px; }
.blog-list__tagline {
    display: inline-block; color: #82a431; font-weight: 700; font-size: 14px;
    text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px;
}
.blog-list__heading { font-size: 36px; color: #0e3a5c; margin-bottom: 12px; }
.blog-list__sub { color: #666; line-height: 1.8; }
.bliss-bcard {
    background: #fff; border-radius: 14px; overflow: hidden; height: 100%;
    display: flex; flex-direction: column;
    border: 1px solid #eef1f5;
    box-shadow: 0 12px 35px rgba(14, 58, 92, 0.18);
    transition: transform .35s ease, box-shadow .35s ease;
}
.bliss-bcard:hover { transform: translateY(-6px); box-shadow: 0 22px 55px rgba(14, 58, 92, 0.28); }
.bliss-bcard__image { display: block; position: relative; overflow: hidden; }
.bliss-bcard__image img {
    width: 100%; height: 230px; object-fit: cover; display: block;
    transition: transform .5s ease;
}
.bliss-bcard:hover .bliss-bcard__image img { transform: scale(1.06); }
.bliss-bcard__cat {
    position: absolute; left: 16px; bottom: 16px; background: #82a431; color: #fff;
    padding: 5px 14px; border-radius: 30px; font-size: 12px; font-weight: 600;
}
.bliss-bcard__content { padding: 24px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.bliss-bcard__meta { display: flex; flex-wrap: wrap; gap: 18px; color: #888; font-size: 13.5px; margin-bottom: 12px; }
.bliss-bcard__meta i { color: #0f5388; margin-right: 5px; }
.bliss-bcard__title { font-size: 22px; line-height: 1.35; margin-bottom: 10px; }
.bliss-bcard__title a { color: #0e3a5c; transition: color .3s ease; }
.bliss-bcard__title a:hover { color: #82a431; }
.bliss-bcard__excerpt { color: #555; line-height: 1.75; font-size: 15px; margin-bottom: 16px; text-align: left; }
.bliss-bcard__link {
    display: inline-flex; align-items: center; gap: 8px; margin-top: auto;
    color: #0f5388; font-weight: 600; font-size: 14.5px; transition: all .3s ease;
}
.bliss-bcard__link i { transition: transform .3s ease; }
.bliss-bcard__link:hover { color: #82a431; }
.bliss-bcard__link:hover i { transform: translateX(4px); }

@media (max-width: 575px) {
    .blog-list__heading { font-size: 28px; }
}

/* --- Contact info reuse --- */
.contact-info-box .info-item { display: flex; gap: 12px; margin-bottom: 14px; }
.contact-info-box .info-item i { color: #0f5388; font-size: 20px; margin-top: 3px; }

/* --- Events listing --- */
.event-row { margin-bottom: 60px; }
.event-row img.event-img { width: 100%; height: 340px; object-fit: cover; border-radius: 12px; }
.event-row h4 { color: #0e3a5c; }
.event-row .event-date { color: #82a431; font-weight: 600; }
.event-row ul { padding-left: 18px; color: #555; }
.event-row ul li { margin-bottom: 6px; }

/* ===========================================================================
   Centered-logo header — coloured from the Bliss Tours logo (green + navy)
   =========================================================================== */
:root {
    /* --- Logo-derived brand palette (Bliss Tours) --- */
    --bliss-green: #82a431;        /* logo leaf / "Bliss Tours" wordmark */
    --bliss-green-dark: #6a8826;   /* green hover */
    --bliss-blue: #0f5388;         /* logo palms / mountains / plane */
    --bliss-blue-dark: #0b3e68;    /* navy hover */

    /* Legacy "maroon" names remapped to the logo palette so the menu rules
       below render in brand colours (green accents, navy nav text). */
    --bliss-maroon: #82a431;       /* nav hover/active, underline, CTA pill */
    --bliss-maroon-dark: #6a8826;  /* pill hover */
    --bliss-rose: #0f5388;         /* nav default link colour */

    /* Override the Trevlo theme accents site-wide -> logo colours.
       The theme keys every accent off var(--trevlo-base), so this recolours
       buttons, taglines, icons, hovers, etc. across every page. */
    --trevlo-base: #82a431;
    --trevlo-base-rgb: 130, 164, 49;
    --trevlo-primary: #0f5388;
    --trevlo-primary-rgb: 15, 83, 136;
}

/* --- Top bar --- */
.topbar-one { background: var(--bliss-blue) !important; }
.topbar-one::after { display: none !important; }      /* remove theme's two-tone left panel */
.main-header::after { display: none !important; }     /* remove theme's coloured right block */
.topbar-one__info-text, .topbar-one__info-text a { color: #e6f1fa !important; }
.topbar-one__info-icon { color: #9fc6e3 !important; }
.bliss-topsocial { display: flex; align-items: center; justify-content: flex-end; }
.bliss-topsocial a {
    width: 30px; height: 30px; margin-left: 12px; border: 1px solid rgba(255,255,255,.5);
    border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    color: #e6f1fa; font-size: 14px; transition: all .3s ease;
}
.bliss-topsocial a:hover { background: #fff; color: var(--bliss-blue); border-color: #fff; }

/* --- Header: logos --- */
.bliss-mobile-logo { display: none; }
.bliss-mobile-logo img { height: 46px; width: auto; }
.bliss-center-logo img { height: 56px; width: auto; }

/* --- Nav links (rose, uppercase) --- */
.bliss-menu .main-menu__list { margin: 0; padding: 0; list-style: none; }
.bliss-menu .main-menu__list > li { list-style: none; position: relative; padding: 26px 14px; flex-shrink: 0; }
.bliss-menu .main-menu__list > li > a {
    color: var(--bliss-rose); text-transform: uppercase; font-size: 13px; font-weight: 600;
    letter-spacing: .04em; text-decoration: none; white-space: nowrap; position: relative;
    transition: color .25s ease;
}
/* Active / hover underline — grows from the centre, spans the label width */
.bliss-menu .main-menu__list > li > a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px;
    border-radius: 2px; background: var(--bliss-green);
    transform: scaleX(0); transform-origin: center; transition: transform .25s ease;
}
.bliss-menu .main-menu__list > li:hover > a,
.bliss-menu .main-menu__list > li.current > a { color: var(--bliss-green); }
.bliss-menu .main-menu__list > li:hover > a::after,
.bliss-menu .main-menu__list > li.current > a::after { transform: scaleX(1); }
.bliss-menu .main-menu__list > li.current > a { font-weight: 700; }
.bliss-menu .main-menu__list > li.dropdown > a .bliss-caret { font-size: 11px; margin-left: 5px; }

/* --- Book Now pill --- */
.bliss-menu .main-menu__list > li.bliss-booknow-item { padding-left: 22px; }
.bliss-menu .main-menu__list > li.bliss-booknow-item > a::after { display: none; }
.bliss-booknow {
    background: var(--bliss-maroon); color: #fff !important; padding: 11px 24px !important;
    border-radius: 30px; display: inline-block; white-space: nowrap; line-height: 1;
}
.bliss-booknow:hover { background: var(--bliss-maroon-dark); color: #fff !important; }

/* --- Yog Tarang 2027: attention-flashing nav link (kept a text link, not a button) --- */
/* Applies on every device: desktop top nav (.bliss-menu) AND the mobile drawer
   (.mobile-nav__content), which JS clones from the same menu markup. */
.bliss-menu .main-menu__list > li.bliss-menu__flash > a,
.mobile-nav__content .main-menu__list > li.bliss-menu__flash > a {
    color: #fff !important; font-weight: 700;
    padding: 7px 16px !important; border-radius: 18px;
    animation: blissNavFlash 1.1s ease-in-out infinite;
}
/* blink the highlighting BACKGROUND between brand green and brand blue */
@keyframes blissNavFlash {
    0%, 100% { background-color: var(--bliss-green); box-shadow: 0 0 10px rgba(130, 164, 49, .55); }
    50%      { background-color: var(--bliss-blue);  box-shadow: 0 0 10px rgba(15, 83, 136, .55); }
}
/* pause the blink on hover; lock a solid green pill so the hover state reads cleanly */
.bliss-menu .main-menu__list > li.bliss-menu__flash:hover > a,
.mobile-nav__content .main-menu__list > li.bliss-menu__flash:hover > a {
    animation-play-state: paused; background-color: var(--bliss-blue); color: #fff !important;
}
@media (prefers-reduced-motion: reduce) {
    .bliss-menu .main-menu__list > li.bliss-menu__flash > a,
    .mobile-nav__content .main-menu__list > li.bliss-menu__flash > a {
        animation: none; background-color: var(--bliss-green); box-shadow: 0 0 10px rgba(130, 164, 49, .55);
    }
}

/* --- Dropdown submenu recolor --- */
.bliss-menu .main-menu__list li ul li a { text-transform: uppercase; font-size: 12px; letter-spacing: .04em; }

/* --- Desktop: split nav with centered logo (shown only when it fits) --- */
@media (min-width: 1200px) {
    /* Use the full viewport width so all 9 items + the centre logo fit on one line */
    .bliss-header > .container { max-width: 100%; padding-left: 34px; padding-right: 34px; }
    .bliss-header__inner { display: flex; align-items: center; min-height: 94px; }
    .bliss-menu { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; width: 100%; }
    /* Equal-width side lists keep the logo dead-centre and make the links hug it;
       any extra width on big screens becomes margin at the outer edges, not a gap by the logo */
    .bliss-menu .main-menu__list { flex: 1; display: flex; align-items: center; }
    .bliss-menu .bliss-menu__list--left { justify-content: flex-end; }
    .bliss-menu .bliss-menu__list--right { justify-content: flex-start; }
    .bliss-center-logo { flex: 0 0 auto; padding: 0 24px; }
    .bliss-header__mobtoggle { display: none !important; }
}

/* --- Mid widths (1200–1399): tighten spacing so nothing clips --- */
@media (min-width: 1200px) and (max-width: 1399px) {
    .bliss-header > .container { padding-left: 18px; padding-right: 18px; }
    .bliss-menu .main-menu__list > li { padding: 24px 8px; }
    .bliss-menu .main-menu__list > li.bliss-booknow-item { padding-left: 10px; }
    .bliss-menu .main-menu__list > li > a { font-size: 12px; letter-spacing: .01em; }
    .bliss-center-logo { padding: 0 12px; }
    .bliss-center-logo img { height: 46px; }
    .bliss-booknow { padding: 9px 16px !important; }
}

/* --- Mobile / small laptops: hamburger drawer --- */
@media (max-width: 1199px) {
    .bliss-menu { display: none !important; }
    .bliss-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
    .bliss-mobile-logo { display: block; }
    .bliss-header__mobtoggle .mobile-nav__btn span { background: var(--bliss-maroon); }
}
/* hide the desktop centre logo / caret when cloned into the mobile drawer */
.mobile-nav__container .bliss-center-logo { display: none; }
.mobile-nav__container .bliss-caret { display: none; }

/* --- Rounded destination cards (the slider overlapping the banner) --- */
.destination-four__card {
    border-radius: 20px;
    overflow: hidden;
    /* Square 1:1 tiles. Width is capped + centred. */
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 260px;
    margin-inline: auto;
    min-height: 0;
}
.destination-four__card::after {
    border-radius: 20px;
}
/* Veena World promo tiles use tall 9:16 marketing flyers (text + branding).
   Show them in FULL on a brand-navy frame (contain) so they read as deliberate
   "tour offer" cards instead of being cropped like a photo. The mint caption
   bar then neatly covers each flyer's own redundant footer. */
.destination-four__card--poster {
    background-color: #fff;
    background-size: contain;
    background-position: center top;
}
/* hide the green location tag pill on the destination cards
   (keep the list in the layout so the title stays pinned to the bottom) */
.destination-four__card:hover .destination-four__card__list,
.destination-four__card:hover .destination-four__card__list li {
    opacity: 0 !important;
}
/* gap between the destination carousel and the section below it */
.destination-four {
    padding-bottom: 50px;
}
@media (max-width: 767px) {
    .destination-four {
        padding-bottom: 50px;
    }
}

/* ===========================================================================
   About intro — "Discover the World with Bliss Tours"
   Clean two-column layout: copy + feature cards on the left, looping brand
   video with a floating experience badge on the right.
   =========================================================================== */
.bliss-about { position: relative; padding: 50px 0; overflow: hidden; }
@media (max-width: 991px) { .bliss-about { padding: 40px 0; } }

.bliss-about__content { position: relative; }
@media (min-width: 992px) { .bliss-about__content { padding-right: 40px; } }
.bliss-about .sec-title { margin-bottom: 22px; }

.bliss-about__text {
    color: #5b6b7a; font-size: 16px; line-height: 1.95; margin-bottom: 18px;
}

/* --- Feature cards --- */
.bliss-about__features {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
    margin: 32px 0 38px; max-width: 540px;
}
@media (max-width: 575px) { .bliss-about__features { grid-template-columns: 1fr; } }
.bliss-about__feature {
    display: flex; align-items: center; gap: 16px;
    background: #fff; border: 1px solid #eef1f4; border-radius: 16px;
    padding: 18px 20px; box-shadow: 0 12px 30px rgba(15,83,136,.06);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.bliss-about__feature:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 42px rgba(15,83,136,.14);
    border-color: rgba(130,164,49,.45);
}
.bliss-about__feature__icon {
    width: 60px; height: 60px; flex-shrink: 0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 30px; color: var(--bliss-blue); background: #eaf6ef;
    transition: background .35s ease, color .35s ease;
}
.bliss-about__feature:hover .bliss-about__feature__icon {
    background: var(--bliss-green); color: #fff;
}
.bliss-about__feature__title {
    margin: 0; font-size: 17px; line-height: 1.3; font-weight: 700; color: var(--bliss-blue);
}
.bliss-about__feature__title span {
    display: block; margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--bliss-green);
}
.bliss-about__features { margin-bottom: 8px; }

/* --- Video + experience badge --- */
.bliss-about__media { position: relative; padding: 0 0 26px 26px; }
@media (max-width: 575px) { .bliss-about__media { padding: 0 0 22px 0; } }
.bliss-about__video {
    position: relative; border-radius: 24px; overflow: hidden;
    box-shadow: 0 34px 64px rgba(15,58,92,.20);
}
.bliss-about__video::after {            /* subtle navy wash for depth + text contrast */
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(15,58,92,0) 55%, rgba(15,58,92,.28) 100%);
}
.bliss-about__video video {
    display: block; width: 100%; height: 540px; object-fit: cover;
}
@media (max-width: 1199px) { .bliss-about__video video { height: 480px; } }
@media (max-width: 991px)  { .bliss-about__video video { height: 420px; margin-top: 40px; } }
@media (max-width: 575px)  { .bliss-about__video video { height: 300px; } }

.bliss-about__badge {
    position: absolute; left: 0; bottom: 0; z-index: 2;
    display: flex; align-items: center; gap: 14px;
    padding: 20px 28px; border-radius: 18px;
    background: var(--bliss-blue); color: #fff;
    box-shadow: 0 18px 40px rgba(15,58,92,.32);
}
@media (max-width: 575px) { .bliss-about__badge { left: 12px; padding: 16px 20px; gap: 10px; } }
.bliss-about__badge__num {
    font-size: 48px; font-weight: 800; line-height: 1; color: #a8d65c;
}
@media (max-width: 575px) { .bliss-about__badge__num { font-size: 38px; } }
.bliss-about__badge__label { font-size: 15px; font-weight: 600; line-height: 1.25; }

/* ===========================================================================
   Featured Experiences — full-image cards with gradient overlay
   =========================================================================== */
.bliss-featured { padding: 45px 0; }
@media (max-width: 991px) { .bliss-featured { padding: 38px 0; } }

.bliss-featured__head {
    display: flex; align-items: flex-end; justify-content: space-between;
    flex-wrap: wrap; gap: 22px; margin-bottom: 42px;
}
.bliss-featured__head .sec-title { margin-bottom: 0; }
.bliss-featured__head .sec-title__title {
    position: relative; margin-bottom: 0; padding-bottom: 18px;
}
.bliss-featured__head .sec-title__title span { color: var(--bliss-green); }
.bliss-featured__head .sec-title__title::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 46px; height: 3px; border-radius: 3px; background: var(--bliss-green);
}
.bliss-featured__cta {
    display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; margin-bottom: 6px;
    padding: 14px 30px; border-radius: 30px;
    border: 1px solid #dde5ec; background: #fff; color: var(--bliss-blue);
    font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    text-decoration: none; transition: all .3s ease; box-shadow: 0 6px 18px rgba(15,83,136,.06);
}
.bliss-featured__cta i { font-size: 12px; transition: transform .3s ease; }
.bliss-featured__cta:hover { background: var(--bliss-green); border-color: var(--bliss-green); color: #fff; }
.bliss-featured__cta:hover i { transform: translateX(4px); }

.bliss-exp-card {
    position: relative; display: block; height: 300px; border-radius: 18px;
    overflow: hidden; margin-bottom: 30px; text-decoration: none;
    box-shadow: 0 16px 36px rgba(15,58,92,.12);
}
@media (max-width: 575px) { .bliss-exp-card { height: 260px; } }
.bliss-exp-card__img {
    position: absolute; inset: 0; z-index: 0;
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s ease;
}
.bliss-exp-card::before {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(15,58,92,0) 32%, rgba(11,38,60,.88) 100%);
}
.bliss-exp-card:hover { box-shadow: 0 26px 50px rgba(15,58,92,.24); }
.bliss-exp-card:hover .bliss-exp-card__img { transform: scale(1.08); }

.bliss-exp-card__body {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 24px;
}
.bliss-exp-card__tag {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 13px; font-weight: 600; color: #d4e3f0; margin-bottom: 9px;
}
.bliss-exp-card__tag i { color: var(--bliss-green); font-size: 14px; }
.bliss-exp-card__title {
    font-size: 23px; line-height: 1.25; font-weight: 700; color: #fff; margin: 0 0 9px;
    transition: color .3s ease;
}
.bliss-exp-card:hover .bliss-exp-card__title { color: #a8d65c; }
.bliss-exp-card__text {
    font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.85); margin: 0;
}

/* ===========================================================================
   Veena World partnership — benefit cards
   =========================================================================== */
.bliss-partner {
    position: relative; padding: 40px 0;
    background-color: var(--trevlo-white2, #FAF5EE);
}
.bliss-partner__intro {
    color: #5b6b7a; font-size: 16px; line-height: 1.95;
    max-width: 880px; margin: 0 auto 48px;
}
.bliss-partner__cards { margin-bottom: 14px; }
.bliss-partner__card {
    position: relative; height: 100%; background: #fff; border: 1px solid #ece6db;
    border-radius: 18px; padding: 40px 30px 34px; text-align: center; margin-bottom: 30px;
    box-shadow: 0 14px 34px rgba(15,83,136,.06);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.bliss-partner__card::before {           /* accent bar that grows from the top on hover */
    content: ""; position: absolute; left: 50%; top: 0; transform: translateX(-50%);
    width: 0; height: 4px; border-radius: 0 0 4px 4px; background: var(--bliss-green);
    transition: width .35s ease;
}
.bliss-partner__card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(15,83,136,.14);
    border-color: rgba(130,164,49,.45);
}
.bliss-partner__card:hover::before { width: 64px; }
.bliss-partner__card__icon {
    width: 86px; height: 86px; margin: 0 auto 24px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 38px;
    color: var(--bliss-blue); background: #eaf2f8;
    transition: background .35s ease, color .35s ease, transform .35s ease;
}
.bliss-partner__card:hover .bliss-partner__card__icon {
    background: var(--bliss-green); color: #fff; transform: rotate(-6deg) scale(1.06);
}
.bliss-partner__card__title {
    font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--bliss-blue); margin: 0 0 12px;
}
.bliss-partner__card__text { color: #5b6b7a; font-size: 15px; line-height: 1.75; margin: 0; }

.bliss-partner__cta { text-align: center; margin-top: 26px; }

/* ===========================================================================
   Testimonials — modern review-card grid (overrides theme's green-tab cards)
   =========================================================================== */
.bliss-reviews-carousel { margin-top: 14px; }
/* Equal-height slides + breathing room so the hover lift/shadow isn't clipped.
   Stretch chain: owl-stage -> owl-item -> .item -> .bliss-review (all full height) */
.bliss-reviews-carousel .owl-stage { display: flex; }
.bliss-reviews-carousel .owl-item { display: flex; height: auto; }
.bliss-reviews-carousel .item { display: flex; width: 100%; }
.bliss-reviews-carousel .owl-stage-outer { padding: 14px 6px; }

.bliss-review {
    position: relative; width: 100%; height: 100%; display: flex; flex-direction: column;
    background: #fff; border: 1px solid #ece6db; border-radius: 18px;
    padding: 40px 32px 30px; overflow: hidden;
    box-shadow: 0 14px 34px rgba(15,83,136,.06);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.bliss-review::before {           /* accent bar that grows from the top on hover */
    content: ""; position: absolute; left: 0; top: 0;
    width: 0; height: 4px; background: var(--bliss-green);
    transition: width .4s ease;
}
.bliss-review:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 52px rgba(15,83,136,.14);
    border-color: rgba(130,164,49,.45);
}
.bliss-review:hover::before { width: 100%; }

.bliss-review__quoteicon {
    position: absolute; top: 14px; right: 26px;
    font-family: Georgia, "Times New Roman", serif; font-size: 92px; line-height: 1;
    color: rgba(15,83,136,.10); pointer-events: none; user-select: none;
    transition: color .35s ease;
}
.bliss-review:hover .bliss-review__quoteicon { color: rgba(130,164,49,.16); }

.bliss-review__stars {
    position: relative; display: flex; gap: 4px; color: #f5a623;
    font-size: 15px; margin-bottom: 16px;
}

.bliss-review__text {
    position: relative; color: #5b6b7a; font-size: 15.5px; line-height: 1.8;
    margin: 0 0 26px; flex: 1 1 auto;
}

.bliss-review__person {
    display: flex; align-items: center; gap: 14px;
    padding-top: 22px; border-top: 1px solid #f0ece3;
}
.bliss-review__avatar {
    flex: 0 0 auto; width: 50px; height: 50px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 700; letter-spacing: .5px; color: #fff;
    background: var(--av, #0f5388);
    box-shadow: 0 6px 16px rgba(0,0,0,.14);
}
.bliss-review__id { display: flex; flex-direction: column; line-height: 1.35; }
.bliss-review__name { font-size: 16px; font-weight: 700; color: var(--bliss-blue); }
.bliss-review__loc {
    display: none;
}

@media (max-width: 575px) {
    .bliss-review { padding: 34px 24px 26px; }
    .bliss-review__quoteicon { font-size: 76px; top: 10px; right: 20px; }
}
.bliss-partner__cta .bliss-download-btn { margin: 6px 6px; }

/* ===========================================================================
   Footer polish — layered on the shared Trevlo footer markup, so it applies
   to every page. Adds vertical rhythm, accent title bars, chevron quick-links,
   circular contact badges, white social "chips" and a readable bottom bar.
   =========================================================================== */

/* --- Overall rhythm --- */
.main-footer { padding-top: 72px; }
.main-footer .row.gutter-y-40 { padding-bottom: 22px; }

/* --- Widget titles get a short brand-green accent bar --- */
.main-footer .footer-widget__title {
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 22px;
    font-weight: 700;
    letter-spacing: .3px;
}
.main-footer .footer-widget__title::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 46px; height: 3px;
    border-radius: 3px;
    background: var(--bliss-green, #82a431);
}

/* --- Intro / about text --- */
.main-footer__logo-box p { line-height: 1.75; opacity: .92; margin-bottom: 0; }
.main-footer__logo-box p + p { margin-top: 12px; }

/* --- Quick links: chevron bullets + readable green hover --- */
.main-footer .footer-widget__links li + li { margin-top: 11px; }
.main-footer .footer-widget__links a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: none;          /* drop the theme's underline-on-hover trick */
    opacity: .9;
    transition: color .3s ease, opacity .3s ease;
}
.main-footer .footer-widget__links a::before {
    content: "\f105";          /* fa angle-right (Font Awesome is loaded) */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    color: var(--bliss-green, #82a431);
    transition: transform .3s ease;
}
.main-footer .footer-widget__links a:hover {
    color: var(--bliss-green, #82a431);
    opacity: 1;
}
.main-footer .footer-widget__links a:hover::before { transform: translateX(4px); }

/* --- Contact: circular icon badges + tidy rows --- */
.footer-widget--contact { padding-right: 24px; }
@media (min-width: 1200px) { .footer-widget--contact { padding-right: 40px; } }
.main-footer .footer-widget__address { line-height: 1.75; opacity: .92; }
.main-footer .footer-widget__info li { align-items: center; }
.main-footer .footer-widget__info li + li { margin-top: 14px; }
.main-footer .footer-widget__info li i {
    top: 0;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    margin-right: 14px;
    border-radius: 50%;
    font-size: 14px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    transition: background .3s ease, color .3s ease;
}
.main-footer .footer-widget__info li a {
    opacity: .92;
    white-space: nowrap;
    transition: color .3s ease, opacity .3s ease;
}
.main-footer .footer-widget__info li:hover i {
    background: var(--bliss-green, #82a431);
    color: #fff;
}
.main-footer .footer-widget__info li a:hover { color: var(--bliss-green, #82a431); opacity: 1; }

/* --- Social: white circular chips with a hover lift --- */
.main-footer__social { gap: 14px; flex-wrap: wrap; }
.main-footer__social-item + .main-footer__social-item { margin-left: 0; } /* gap handles spacing */
.main-footer__social-item > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    transition: transform .3s ease, box-shadow .3s ease;
}
.main-footer__social-item > a:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .32);
}
.main-footer__social-item > a img { width: 26px !important; height: 26px !important; }

/* --- Bottom bar: readable links + divider, wraps on mobile --- */
.main-footer__bottom {
    margin-top: 44px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    flex-wrap: wrap;
    gap: 6px 18px;
    padding: 16px clamp(16px, 5vw, 60px) !important;
}
.main-footer__bottom span { font-size: 14.5px; opacity: .92; }
.main-footer__bottom a {
    color: var(--bliss-green, #82a431) !important;
    font-weight: 600;
    transition: color .3s ease;
}
.main-footer__bottom a:hover { color: #fff !important; }
@media (max-width: 575px) {
    .main-footer__bottom { justify-content: center !important; text-align: center; }
}

/* ===========================================================================
   Yog Tarang 2027 — Wellness & Music retreat page
   A calm, spa-inspired layer over the brand palette: soft sage/cream grounds,
   a gentle navy->teal gradient, generous whitespace, rounded floating imagery,
   light type, and equal-height hover cards. Content is untouched — this only
   restyles the section markup that used to carry inline styles.
   =========================================================================== */
:root {
    --yog-sage:  #f1f6ea;   /* soft herbal green ground */
    --yog-cream: #faf6ef;   /* warm off-white ground */
    --yog-teal:  #1c7e94;   /* coastal teal for the gradient tail */
    --yog-ink:   #0b3e68;   /* headings (navy from the logo) */
    --yog-muted: #5b6b7a;   /* body copy */
}

/* --- Section shells --- */
.yog-section { position: relative; padding: 56px 0; overflow: hidden; }
@media (max-width: 991px) { .yog-section { padding: 42px 0; } }
.yog-section > .container { position: relative; z-index: 1; }

.yog-section--sage  { background: var(--yog-sage); }
.yog-section--cream { background: var(--yog-cream); }
.yog-section--mist  { background: linear-gradient(180deg, #d4e4f1 0%, #dbe8df 100%); }
.yog-section--gradient {
    background: linear-gradient(135deg, #0b3e68 0%, #0f5388 50%, var(--yog-teal) 100%);
}
.yog-section--gradient::before {        /* faint light orbs for depth */
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(circle at 14% 18%, rgba(255,255,255,.10), transparent 42%),
        radial-gradient(circle at 86% 88%, rgba(168,214,92,.12), transparent 46%);
}

/* --- Eyebrow + headings --- */
.yog-eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
    color: var(--bliss-green); margin: 0 0 18px;
}
.yog-eyebrow::before { content: ""; width: 30px; height: 2px; background: var(--bliss-green); }

.yog-title {
    font-size: 40px; line-height: 1.22; font-weight: 700; letter-spacing: -.4px;
    color: var(--yog-ink); margin: 0 0 24px;
}
.yog-title--light { color: #fff; }
.text-center .yog-title { margin-bottom: 46px; }   /* breathing room under centred titles */
@media (max-width: 575px) { .yog-title { font-size: 30px; } }

.yog-lead { color: var(--yog-muted); font-size: 16.5px; line-height: 1.95; margin-bottom: 18px; }

/* --- Rounded, softly floating media --- */
.yog-media { position: relative; }
.yog-media img {
    width: 100%; display: block; border-radius: 22px;
    box-shadow: 0 30px 64px rgba(11,62,104,.18);
}
.yog-media--tall img { height: 100%; min-height: 380px; object-fit: cover; }

/* --- "Included in this Trip" — frosted card on the gradient --- */
.yog-include {
    background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.20);
    border-radius: 22px; padding: 38px 40px;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.yog-include__title { font-size: 22px; font-weight: 700; color: #fff; margin: 0 0 24px; }

/* Immerse section: image sits left and is cropped to exactly match the height
   of the "Included in this Trip" card. Same fill pattern as the cream section's
   video pairing — the list defines the height, the image fills it. */
.yog-section--gradient .row.align-items-center { align-items: stretch !important; }
.yog-section--gradient .col-lg-6 { display: flex; flex-direction: column; }
.yog-section--gradient .yog-media--tall { position: relative; flex: 1 1 auto; width: 100%; }
.yog-section--gradient .yog-media--tall img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
@media (max-width: 991px) {
    /* stacked on tablet/mobile — give the image a standalone height */
    .yog-section--gradient .yog-media--tall { flex: 0 0 auto; height: 360px; }
}

/* --- "Not Included" — clean card on cream, height-paired with the video --- */
.yog-exclude {
    display: flex; flex-direction: column; justify-content: center;
    min-height: 320px;
    background: #fff; border: 1px solid #e7ddcc; border-radius: 22px; padding: 42px 44px;
    box-shadow: 0 22px 52px rgba(11,62,104,.10);
}
.yog-exclude__title {
    position: relative; font-size: 23px; font-weight: 700; color: var(--yog-ink);
    margin: 0 0 28px; padding-bottom: 16px;
}
.yog-exclude__title::after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px;
    border-radius: 3px; background: var(--bliss-green);
}

/* Equal-height pairing — the card sets the height, the video fills to match.
   Scoped to this section so .bliss-video elsewhere keeps its fixed height. */
.yog-section--cream .col-lg-6 { display: flex; flex-direction: column; }
.yog-section--cream .yog-exclude { flex: 1 1 auto; }
.yog-section--cream .bliss-video { flex: 1 1 auto; margin-bottom: 0; }
.yog-section--cream .bliss-video img { position: absolute; inset: 0; width: 100%; height: 100%; }
@media (max-width: 991px) {
    /* stacked on tablet/mobile — give the video a sensible standalone height */
    .yog-section--cream .bliss-video { flex: 0 0 auto; min-height: 300px; }
}

/* --- Shared check / minus list (replaces the old square bullets) --- */
.yog-list { list-style: none; margin: 0; padding: 0; }
.yog-list li {
    position: relative; padding-left: 36px; margin-bottom: 15px;
    color: rgba(255,255,255,.92); line-height: 1.65;
}
.yog-list li:last-child { margin-bottom: 0; }
.yog-list li::before {
    content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 11px;
    position: absolute; left: 0; top: 1px;
    width: 23px; height: 23px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(168,214,92,.22); color: #a8d65c;
}
.yog-list--dark li { color: var(--yog-muted); }
.yog-list--dark li::before { content: "\f00d"; background: #fbece6; color: #c47a63; }

@media (max-width: 575px) {
    .yog-include, .yog-exclude { padding: 30px 24px; }
}

/* --- Optional add-on retreat cards --- */
.yog-addon {
    display: flex; flex-direction: column; height: 100%; background: #fff;
    border-radius: 24px; overflow: hidden; box-shadow: 0 20px 48px rgba(11,62,104,.12);
    transition: transform .4s ease, box-shadow .4s ease;
}
.yog-addon:hover { transform: translateY(-8px); box-shadow: 0 32px 64px rgba(11,62,104,.20); }
.yog-addon__media { position: relative; overflow: hidden; }
.yog-addon__media img { width: 100%; height: 300px; object-fit: cover; display: block; transition: transform .6s ease; }
.yog-addon:hover .yog-addon__media img { transform: scale(1.06); }
.yog-addon__body { padding: 28px 30px 32px; }
.yog-addon__title { font-size: 23px; font-weight: 700; color: var(--yog-ink); margin: 0 0 12px; }
.yog-addon__date {
    display: inline-block; margin: 0 0 16px; padding: 6px 16px; border-radius: 30px;
    background: #eef4e6; color: var(--bliss-green-dark); font-size: 13.5px; font-weight: 700;
}
.yog-addon__text { color: var(--yog-muted); font-size: 15px; line-height: 1.8; margin: 0; }

/* ===========================================================================
   Interior pages — Tours (Indian / USA / Wellness packages), Events & Contact
   Restyle only: lifts the flat `.tour-block`, `.event-row` and contact markup
   into the elevated brand card system (soft grounds, rounded media, gradient
   accent bars, brand pills, check-lists, polished form). No content changes —
   every rule keys off classes already present in the markup, plus a single
   `.bliss-tourpage` hook on the three tour <section> wrappers.
   =========================================================================== */

/* --- Shared soft ground for the tour & contact pages --- */
.bliss-tourpage,
.contact-page-section {
    background: linear-gradient(180deg, #f4f8fb 0%, #f7faf3 100%);
}

/* --- Tours: intro lead (centred, brand accent rule, refined type) --- */
.bliss-tourintro { max-width: 860px; margin-left: auto; margin-right: auto; }
.bliss-tourintro::before {
    content: ""; display: block; width: 60px; height: 4px; border-radius: 4px;
    margin: 0 auto 26px; background: linear-gradient(90deg, var(--bliss-green), var(--bliss-blue));
}
.bliss-tourintro p {
    margin: 0; color: #4a5b6b; font-size: 18px; line-height: 2;
}
@media (max-width: 767.98px) { .bliss-tourintro::before { margin-left: 0; } }
@media (max-width: 575px) { .bliss-tourintro p { font-size: 16px; line-height: 1.9; } }

/* --- Tours: each itinerary becomes an elevated card --- */
.bliss-tourpage .tour-block {
    position: relative; overflow: hidden;
    background: #fff; border: 1px solid #e9eef4; border-radius: 22px;
    padding: 38px 40px 42px; margin-bottom: 40px;
    box-shadow: 0 18px 44px rgba(15, 83, 136, .07);
    transition: transform .35s ease, box-shadow .35s ease;
}
.bliss-tourpage .tour-block::before {        /* top brand accent bar */
    content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 5px;
    background: linear-gradient(90deg, var(--bliss-green), var(--bliss-blue));
}
.bliss-tourpage .tour-block:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 60px rgba(15, 83, 136, .12);
}
.bliss-tourpage .tour-block .sec-title { margin-bottom: 6px; }
.bliss-tourpage .tour-block .sec-title__title { color: var(--bliss-blue-dark); line-height: 1.3; }

/* Duration → brand pill */
.bliss-tourpage .tour-block__duration {
    display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 20px;
    padding: 7px 16px; border-radius: 30px;
    background: #eef4e6; color: var(--bliss-green-dark); font-weight: 700; font-size: 13.5px;
}
.bliss-tourpage .tour-block__duration i { color: var(--bliss-green-dark); }
.bliss-tourpage .tour-block__text { color: #5b6b7a; }

/* Gallery thumbs → rounded, shadowed, magnify-on-hover */
.bliss-tourpage .tour-gallery .gallery-single__img-box {
    border-radius: 14px; box-shadow: 0 12px 30px rgba(15, 58, 92, .12);
}
.bliss-tourpage .tour-gallery .gallery-single__img { height: 230px; border-radius: 14px; }
.bliss-tourpage .tour-gallery .gallery-single__img-box::after {
    content: "\f00e"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 22px;
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    color: #fff; pointer-events: none; opacity: 0; transition: opacity .4s ease;
    background: linear-gradient(180deg, rgba(11, 38, 60, 0) 38%, rgba(11, 38, 60, .55) 100%);
}
.bliss-tourpage .tour-gallery .gallery-single:hover .gallery-single__img-box::after { opacity: 1; }

/* --- Events: polished media + brand date pills + check-lists --- */
.event-row .event-img {
    border-radius: 20px; box-shadow: 0 22px 50px rgba(15, 58, 92, .16);
    transition: transform .5s ease;
}
.event-row .event-img:hover { transform: scale(1.03); }
.event-row h4 { font-size: 26px; font-weight: 700; color: var(--bliss-blue-dark); line-height: 1.3; margin-bottom: 14px; }
.event-row p { color: #5b6b7a; line-height: 1.9; }
.event-row .event-date {
    display: inline-block; margin-bottom: 14px; padding: 7px 16px; border-radius: 30px;
    background: #eef4e6; color: var(--bliss-green-dark); font-weight: 700; font-size: 13.5px;
}
.event-row ul { list-style: none; padding-left: 0; margin: 16px 0; }
.event-row ul li {
    position: relative; padding-left: 32px; margin-bottom: 12px; color: #5b6b7a; line-height: 1.6;
}
.event-row ul li::before {
    content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 10px;
    position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #eef4e6; color: var(--bliss-green-dark);
}

/* --- Contact: info & form cards --- */
.contact-page-section .contact-info-wrapper,
.contact-page-section .contact-form-wrapper {
    position: relative; overflow: hidden; height: 100%;
    background: #fff; border: 1px solid #e9eef4; border-radius: 22px;
    box-shadow: 0 18px 44px rgba(15, 83, 136, .08);
}
.contact-page-section .contact-info-wrapper { padding: 38px 34px; }
.contact-page-section .contact-form-wrapper { padding: 40px 40px 44px; }
.contact-page-section .contact-info-wrapper::before {
    content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 5px;
    background: linear-gradient(90deg, var(--bliss-green), var(--bliss-blue));
}

/* Info rows → circular gradient icon badges, tidy dividers */
.contact-page-section .contact-info-box { margin-bottom: 22px; padding-bottom: 22px; border-bottom: 1px solid #eef1f5; }
.contact-page-section .contact-info-box:last-of-type { border-bottom: none; padding-bottom: 0; margin-bottom: 8px; }
.contact-page-section .contact-info-box h4 {
    font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 12px;
}
.contact-info-box .info-item { display: flex; align-items: center; gap: 14px; margin-bottom: 0; }
.contact-info-box .info-item i {
    flex: 0 0 auto; width: 46px; height: 46px; margin-top: 0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff;
    background: linear-gradient(135deg, var(--bliss-blue), var(--bliss-green));
}
.contact-info-box .info-item p { margin: 0; color: #5b6b7a; }
.contact-info-box .info-item p a { color: #5b6b7a; transition: color .3s ease; }
.contact-info-box .info-item p a:hover { color: var(--bliss-blue); }

/* Form fields → soft filled inputs with a brand focus ring */
.contact-form .form-group { margin-bottom: 22px; }
.contact-form .form-control {
    width: 100%; border: 1px solid #e3e9f0; background: #f8fafc; border-radius: 12px;
    padding: 14px 18px; font-size: 15px; color: #33414f;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.contact-form .form-control::placeholder { color: #9aa6b2; }
.contact-form .form-control:focus {
    outline: none; border-color: var(--bliss-blue); background: #fff;
    box-shadow: 0 0 0 4px rgba(15, 83, 136, .10);
}
.contact-form textarea.form-control { min-height: 150px; resize: vertical; }
.contact-form .btn-primary { transition: background-color .3s ease, transform .3s ease, box-shadow .3s ease; }
.contact-form .btn-primary:hover {
    background-color: var(--bliss-blue-dark) !important;
    transform: translateY(-2px); box-shadow: 0 14px 30px rgba(15, 83, 136, .28);
}

@media (max-width: 991px) {
    .contact-page-section .contact-info-wrapper { margin-bottom: 30px; }
}
@media (max-width: 575px) {
    .bliss-tourpage .tour-block { padding: 28px 22px 32px; }
    .contact-page-section .contact-info-wrapper { padding: 28px 22px; }
    .contact-page-section .contact-form-wrapper { padding: 28px 22px 32px; }
    .event-row h4 { font-size: 22px; }
}

/* Gallery hub cards (gallery.html) */
.bliss-gallery-card {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(11, 62, 104, .14);
}
.bliss-gallery-card__img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.bliss-gallery-card:hover .bliss-gallery-card__img { transform: scale(1.06); }
.bliss-gallery-card__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    color: #fff;
    background: linear-gradient(180deg, rgba(15, 83, 136, .35) 0%, rgba(11, 62, 104, .82) 100%);
    transition: background .4s ease;
}
.bliss-gallery-card:hover .bliss-gallery-card__overlay {
    background: linear-gradient(180deg, rgba(15, 83, 136, .55) 0%, rgba(11, 62, 104, .9) 100%);
}
.bliss-gallery-card__icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    border: 2px solid rgba(255, 255, 255, .85);
    font-size: 24px;
    margin-bottom: 16px;
    transition: all .3s ease;
}
.bliss-gallery-card:hover .bliss-gallery-card__icon {
    background: #82a431;
    border-color: #82a431;
    transform: scale(1.08);
}
.bliss-gallery-card__title {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 14px;
}
.bliss-gallery-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border-radius: 25px;
    background: #fff;
    color: #0f5388;
    font-weight: 600;
    font-size: 15px;
    transition: all .3s ease;
}
.bliss-gallery-card__btn i { transition: transform .3s ease; }
.bliss-gallery-card:hover .bliss-gallery-card__btn { background: #82a431; color: #fff; }
.bliss-gallery-card:hover .bliss-gallery-card__btn i { transform: translateX(4px); }
@media (max-width: 575px) {
    .bliss-gallery-card__img { height: 280px; }
    .bliss-gallery-card__title { font-size: 22px; }
}

/* --- Floating call button --- */
.bliss-call-btn {
    position: fixed; right: 22px; bottom: 22px; z-index: 999;
    display: flex; align-items: center; justify-content: center;
    background: #82a431; color: #fff;
    padding: 11px; border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.bliss-call-btn:hover {
    background: #0f5388; color: #fff;
    transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0, 0, 0, .3);
}
.bliss-call-btn__number { display: none; }
.bliss-call-btn__icon {
    flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    display: flex; align-items: center; justify-content: center; font-size: 16px;
    animation: bliss-call-ring 2.2s ease-in-out infinite;
}
@keyframes bliss-call-ring {
    0%, 50%, 100% { transform: rotate(0); }
    10% { transform: rotate(-16deg); }
    20% { transform: rotate(12deg); }
    30% { transform: rotate(-8deg); }
    40% { transform: rotate(5deg); }
}
@media (max-width: 575px) {
    .bliss-call-btn { right: 16px; bottom: 16px; }
}

/* --- Hero flying birds (replaces the template cloud strip) --- */
.bliss-birds {
    position: absolute; inset: 0;
    z-index: 1; overflow: hidden; pointer-events: none;
}
.bliss-bird {
    position: absolute; left: 0; width: 36px;
    color: #fff; opacity: 0;
    animation: bliss-bird-fly 40s linear infinite;
}
.bliss-bird svg {
    display: block; width: 100%; height: auto;
    animation: bliss-bird-flap 1.1s ease-in-out infinite;
}
.bliss-bird svg path {
    fill: none; stroke: currentColor;
    stroke-width: 4; stroke-linecap: round;
}
.bliss-bird--1 { top: 16%; width: 42px; animation-duration: 34s; animation-delay: -6s; }
.bliss-bird--2 { top: 25%; width: 26px; animation-duration: 47s; animation-delay: -21s; }
.bliss-bird--2 svg { animation-duration: .9s; }
.bliss-bird--3 { top: 10%; width: 32px; animation-duration: 40s; animation-delay: -33s; }
.bliss-bird--3 svg { animation-duration: 1.05s; }
.bliss-bird--4 { top: 31%; width: 20px; animation-duration: 54s; animation-delay: -14s; }
.bliss-bird--4 svg { animation-duration: .8s; }
.bliss-bird--5 { top: 20%; width: 30px; animation-duration: 43s; animation-delay: -41s; }
.bliss-bird--5 svg { animation-duration: 1s; }
@keyframes bliss-bird-fly {
    0%   { transform: translateX(-6vw) translateY(0); opacity: 0; }
    6%   { opacity: .5; }
    50%  { transform: translateX(48vw) translateY(-30px); }
    86%  { opacity: .5; }
    100% { transform: translateX(106vw) translateY(10px); opacity: 0; }
}
@keyframes bliss-bird-flap {
    0%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(.35); }
}
@media (prefers-reduced-motion: reduce) {
    .bliss-birds { display: none; }
}

/* --- Tighter vertical rhythm: reduce template section padding --- */
.counter-two { padding: 60px 0; }
.offer-one { padding-top: 40px; padding-bottom: 48px; }
.testimonial-one { padding: 25px 0 40px; }

/* --- Feature strip scene: drifting mountains and hot-air balloons --- */
.bliss-feature-scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.bliss-feature-scene__mountains {
    position: absolute; left: 0; right: 0; bottom: -4px; height: 110px;
    background-repeat: repeat-x; background-position: 0 bottom;
    /* tile width is a round multiple of the keyframe travel so the loop is seamless */
    background-size: 232px 110px; opacity: .08;
    filter: grayscale(1);
    animation: bliss-mountains-move 90s linear infinite;
}
@keyframes bliss-mountains-move {
    from { background-position: 0 bottom; }
    to   { background-position: -2320px bottom; }
}
.bliss-feature-scene__balloon {
    position: absolute; bottom: 14px; left: 0;
    animation: bliss-balloon-drift linear infinite;
}
.bliss-feature-scene__balloon svg {
    display: block;
    fill: currentColor; stroke: currentColor;
    stroke-width: 1.5; stroke-linecap: round;
    animation: bliss-balloon-bob ease-in-out infinite;
}
.bliss-feature-scene__balloon--1 { width: 38px; color: rgba(15, 83, 136, .30); animation-duration: 75s; animation-delay: -18s; }
.bliss-feature-scene__balloon--1 svg { animation-duration: 6s; }
.bliss-feature-scene__balloon--2 { width: 24px; bottom: 52px; color: rgba(130, 164, 49, .35); animation-duration: 100s; animation-delay: -62s; }
.bliss-feature-scene__balloon--2 svg { animation-duration: 7.5s; animation-delay: -3s; }
@keyframes bliss-balloon-drift {
    0%   { transform: translateX(-6vw); }
    100% { transform: translateX(104vw); }
}
@keyframes bliss-balloon-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}
@media (prefers-reduced-motion: reduce) {
    .bliss-feature-scene__balloon { display: none; }
    .bliss-feature-scene__mountains { animation: none; }
}

/* --- Counter band scene: paper planes gliding across --- */
.bliss-counter-scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.bliss-plane { position: absolute; left: 0; color: rgba(255, 255, 255, .4); }
.bliss-plane svg { display: block; fill: currentColor; transform: rotate(-6deg); }
.bliss-plane--1 { top: 22%; width: 44px; animation: bliss-plane-fly 38s linear -10s infinite; }
.bliss-plane--2 { top: 58%; width: 28px; color: rgba(255, 255, 255, .28); animation: bliss-plane-fly 55s linear -36s infinite; }
@keyframes bliss-plane-fly {
    0%   { transform: translateX(-6vw) translateY(12px); }
    50%  { transform: translateX(49vw) translateY(-12px); }
    100% { transform: translateX(104vw) translateY(10px); }
}

/* --- Testimonial scene: sailboat on rolling waves --- */
.bliss-testi-scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.bliss-testi-scene__waves {
    position: absolute; left: 0; right: 0; bottom: 10px; height: 16px;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="140" height="16"%3E%3Cpath d="M0 8 Q17.5 0 35 8 T70 8 T105 8 T140 8" fill="none" stroke="%23e8dcc6" stroke-width="3" stroke-linecap="round"/%3E%3C/svg%3E');
    background-repeat: repeat-x; background-position: 0 center;
    animation: bliss-waves-move 30s linear infinite;
}
.bliss-testi-scene__boat {
    position: absolute; bottom: 16px; left: 0; width: 52px;
    color: rgba(15, 83, 136, .22);
    animation: bliss-boat-drift 70s linear -20s infinite;
}
.bliss-testi-scene__boat svg {
    display: block; fill: currentColor; stroke: currentColor; stroke-linecap: round;
    transform-origin: 50% 90%;
    animation: bliss-boat-rock 5s ease-in-out infinite;
}
@keyframes bliss-waves-move {
    from { background-position: 0 center; }
    to   { background-position: -1400px center; }
}
@keyframes bliss-boat-drift {
    0%   { transform: translateX(-6vw); }
    100% { transform: translateX(104vw); }
}
@keyframes bliss-boat-rock {
    0%, 100% { transform: rotate(-3deg) translateY(0); }
    50% { transform: rotate(3deg) translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
    .bliss-plane, .bliss-testi-scene__boat { display: none; }
    .bliss-testi-scene__waves { animation: none; }
}


/* --- Scene host: anchors the absolute scenes inside inner-page sections --- */
.bliss-scene-host { position: relative; }

/* --- Birds in inner page headers (compact flock, reuses hero animation) --- */
.bliss-birds--header .bliss-bird--1 { top: 18%; width: 32px; }
.bliss-birds--header .bliss-bird--3 { top: 42%; width: 22px; }
.bliss-birds--header .bliss-bird--5 { top: 60%; width: 26px; }
