/* Phase 3 — approved Lankan Travel homepage. Scoped to .page-home. */
.page-home .lux-hero { min-height: 720px; padding-bottom: 78px; background: #dcecff; }
.page-home .lux-hero .hero__slides { height: 642px; min-height: 642px; }
.page-home .lux-hero__slide { top: 0; right: 0; bottom: auto; left: 0; height: 642px; min-height: 642px; }
.page-home .lux-hero__slide.is-active { display: block !important; visibility: visible !important; opacity: 1 !important; }
.page-home .lux-hero__slide { background-position: center 46%; background-repeat: no-repeat; background-size: cover; }
.page-home .lux-hero__media::after {
    position: absolute; inset: 25% 38% 0 0; content: '';
    background: linear-gradient(90deg, rgba(2,19,45,.76) 0%, rgba(2,19,45,.42) 55%, transparent 100%);
    pointer-events: none;
}
.page-home .lux-hero__image { object-position: center 46%; }
.page-home .lux-hero__container { align-items: flex-end; min-height: 642px; padding-top: 0; padding-bottom: 5.4rem; }
.page-home .lux-hero__panel { width: min(650px,55%); padding: 0; border: 0; background: transparent; box-shadow: none; color: #fff; }
.page-home .lux-eyebrow { margin: 0 0 .7rem; color: #f1cd72; font-size: .72rem; font-weight: 850; letter-spacing: .2em; }
.page-home .lux-hero__panel h1 { max-width: 620px; margin-bottom: 1rem; color: #fff; font-size: clamp(3rem,5.3vw,5.4rem); line-height: .98; text-shadow: 0 3px 22px rgba(0,14,36,.35); }
.page-home .lux-hero__supporting { max-width: 570px; color: #f3f7fd; font-size: 1.08rem; text-shadow: 0 2px 12px rgba(0,14,36,.45); }
.page-home .lux-hero__actions .lux-text-link { color: #fff; }
.page-home .lux-hero__trust { max-width: 620px; border-color: rgba(255,255,255,.35); color: #fff; }
.page-home .lux-hero__trust span { border-color: rgba(255,255,255,.25); }
.page-home .lux-finder { bottom: 0; min-height: 100px; border-radius: 10px 10px 0 0; background: #062653; box-shadow: 0 18px 44px rgba(4,23,51,.28); }
.page-home .lux-finder { display: flex; }
.page-home .lux-finder__intro { flex: 1.12 1 0; }
.page-home .lux-finder label { flex: 1 1 0; }
.page-home .lux-finder .lux-btn { flex: .85 1 0; }
.page-home .lux-finder__intro strong { font-size: 1.25rem; }
.page-home .lux-finder label { background: #fff; }
.page-home .lux-finder input,
.page-home .lux-finder select { color: #334b6e; }

@media (min-width: 1001px) {
    .page-home .lux-hero__media picture,
    .page-home .lux-hero__media img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; width: 100%; height: 100%; min-width: 100%; object-fit: cover; }
    .page-home .lux-hero__container { position: absolute; z-index: 3; top: 0; right: 0; bottom: 0; left: 0; width: min(calc(100% - 2.5rem),1240px); margin: auto; }
    .page-home .lux-hero__panel { position: absolute; bottom: 5.2rem; left: 0; }
}

.page-home .lux-explore { padding-block: 4rem; background: #edf5ff; }
.page-home .lux-explore::before { display: none; }
.page-home .lux-explore .lux-section-heading::before { color: #9a6e17; }
.page-home .lux-explore .lux-section-heading h2 { color: #071f49; }
.page-home .lux-explore .lux-section-heading p { color: #5c6c84; }
.page-home .lux-explore__grid { display: flex; flex-wrap: wrap; gap: 20px; }
.page-home .lux-explore__card { flex: 1 1 calc(20% - 20px); min-width: 170px; min-height: 205px; border: 1px solid #d7e3f2; border-radius: 12px; box-shadow: 0 12px 30px rgba(7,31,73,.1); }

.page-home .lux-section,
.page-home .lux-experiences { padding-block: clamp(3.5rem,5vw,4.375rem); }
.page-home .lux-destinations,
.page-home .home-comfort,
.page-home .lux-reviews { background: #fff; }
.page-home .lux-journeys,
.page-home .home-about { background: #f2f7ff; }
.page-home .lux-experiences { background: #071f49; }
.page-home .lux-section-heading { margin-bottom: 2rem; }
.page-home .lux-section-heading h2 { font-size: clamp(2.35rem,3.5vw,3.65rem); }
.page-home .lux-carousel { position: relative; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 16px; padding-bottom: 2.3rem; }
.page-home .lux-carousel .home-feature-carousel__track { gap: 24px; }
.page-home .lux-carousel .home-feature-carousel__slide { flex: 0 0 calc((100% - 48px)/3); border: 1px solid #d9e3f1; border-radius: 13px; background: #fff; box-shadow: 0 12px 30px rgba(7,31,73,.1); }
.page-home .lux-destination-card,
.page-home .lux-experience { min-height: 390px; }
.page-home .lux-destination-card img,
.page-home .lux-experience img,
.page-home .lux-destination-card .lux-photo-fallback,
.page-home .lux-experience .lux-photo-fallback { display: block; width: 100%; height: 100%; aspect-ratio: 4/5; object-fit: cover; }
.page-home .lux-destination-card::after,
.page-home .lux-experience::after { inset: 43% 0 0; border-radius: 0 0 12px 12px; }
.page-home .lux-card-overlay,
.page-home .lux-experience > span:last-child { z-index: 3; }
.page-home .lux-experience { position: relative; overflow: hidden; color: #fff; text-decoration: none; }
.page-home .lux-experience > span:last-child { position: absolute; right: 1.25rem; bottom: 1.15rem; left: 1.25rem; }
.page-home .lux-experience strong { display: block; color: #fff; font: 700 1.25rem/1.2 var(--lt-heading); }
.page-home .lux-experience small { display: block; margin-top: .45rem; color: #e7eefb; line-height: 1.45; }
.page-home .lux-journey-card { overflow: hidden; }
.page-home .lux-journey-card > img,
.page-home .lux-journey-card > .lux-photo-fallback { display: block; width: 100%; height: 235px; object-fit: cover; }
.page-home .lux-journey-card > div { padding: 1.35rem; }
.page-home .lux-card-meta { color: #9a6e17; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.page-home .home-carousel-dots { position: absolute; right: 52px; bottom: 0; left: 52px; display: flex; justify-content: center; gap: .5rem; }
.page-home .home-carousel-dot { width: 9px; height: 9px; padding: 0; border: 1px solid #0b4fc4; border-radius: 50%; background: transparent; cursor: pointer; }
.page-home .home-carousel-dot.is-active { background: #0b4fc4; transform: scale(1.2); }
.page-home .lux-carousel-status { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); }

.page-home .home-about__grid { display: flex; gap: clamp(2rem,5vw,5rem); align-items: center; }
.page-home .home-about__photo,
.page-home .home-about__copy { flex: 1 1 0; min-width: 0; }
.page-home .home-about__photo { min-height: 450px; overflow: hidden; border-radius: 15px; box-shadow: var(--lt-shadow); }
.page-home .home-about__photo img,
.page-home .home-about__photo .lux-photo-fallback { display: block; width: 100%; height: 100%; min-height: 450px; object-fit: cover; }
.page-home .home-about__copy h2 { margin: .4rem 0 1rem; font-size: clamp(2.4rem,4vw,4rem); }
.page-home .home-about__copy ul { display: grid; gap: .6rem; margin: 1.3rem 0 1.5rem; padding: 0; list-style: none; }
.page-home .home-about__copy li::before { margin-right: .6rem; color: #d5aa45; content: '✓'; }

.page-home .lux-why { min-height: 590px; background: #071f49; }
.page-home .lux-why__content h2,
.page-home .lux-why__item h3 { color: #fff; }
.page-home .lux-why__content > p,
.page-home .lux-why__item p { color: #c4d2e6; }

.page-home .home-comfort__grid { display: flex; flex-wrap: wrap; gap: 24px; }
.page-home .home-comfort__card { flex: 1 1 calc(33.333% - 24px); overflow: hidden; border: 1px solid #d9e3f1; border-radius: 13px; background: #fff; box-shadow: var(--lt-shadow); }
.page-home .home-comfort__card > img,
.page-home .home-comfort__card > .lux-photo-fallback { display: block; width: 100%; height: 230px; object-fit: cover; }
.page-home .home-comfort__card > div { padding: 1.3rem; }
.page-home .home-comfort__card h3 { margin: 0 0 .55rem; }
.page-home .home-comfort__promise { grid-column: 1/-1; display: flex; align-items: center; min-height: 210px; padding: 2rem; background: #edf5ff; }
.page-home .home-comfort__promise > span { color: #d5aa45; font-size: 3rem; }

.page-home .home-reviews { display: flex; gap: 24px; }
.page-home .home-reviews .lux-review { flex: 1 1 0; min-width: 0; border: 1px solid #d9e3f1; border-radius: 13px; box-shadow: var(--lt-shadow); }
.page-home .lux-review-actions { margin-top: 1.6rem; }

.page-home .lux-gallery__grid { display: grid; grid-template-columns: repeat(4,1fr); grid-template-rows: repeat(2,240px); }
.page-home .lux-gallery__item:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.page-home .lux-gallery__item:nth-child(2) { grid-column: 2; grid-row: 1; }
.page-home .lux-gallery__item:nth-child(3) { grid-column: 3; grid-row: 1; }
.page-home .lux-gallery__item:nth-child(4) { grid-column: 4; grid-row: 1; }
.page-home .lux-gallery__item:nth-child(5) { grid-column: 2; grid-row: 2; }
.page-home .lux-gallery__item:nth-child(6) { grid-column: 4; grid-row: 2; }
.page-home .lux-gallery__item img { width: 100%; height: 100%; object-fit: cover; }
.page-home .lux-gallery__title { grid-column: 2/4; grid-row: 2; }
.page-home .lux-final-cta { margin: 0; min-height: 480px; }

@media (max-width: 1000px) {
    .page-home .lux-hero { min-height: 0; padding-bottom: 0; }
    .page-home .lux-hero .hero__slides,
    .page-home .lux-hero__slide { height: auto; min-height: 0; }
    .page-home .lux-hero__slide { inset: auto; }
    .page-home .lux-hero__slide { background-image: none !important; }
    .page-home .lux-hero__container { min-height: 0; margin-top: 0; padding: 2.2rem 1rem; background: #fff; }
    .page-home .lux-hero__panel { width: 100%; color: #1e304e; }
    .page-home .lux-hero__panel h1 { color: #071f49; text-shadow: none; }
    .page-home .lux-hero__supporting { color: #5c6c84; text-shadow: none; }
    .page-home .lux-hero__actions .lux-text-link { color: #0b4fc4; }
    .page-home .lux-hero__trust { color: #071f49; border-color: #d9e3f1; }
    .page-home .lux-hero__trust span { border-color: #d9e3f1; }
    .page-home .lux-finder { border-radius: 10px; }
    .page-home .lux-finder { display: grid; }
    .page-home .lux-carousel .home-feature-carousel__slide { flex-basis: calc((100% - 24px)/2); }
    .page-home .home-about__grid { flex-direction: column; }
    .page-home .home-comfort__grid,
    .page-home .home-reviews { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
    .page-home .lux-hero__media::after { display: none; }
    .page-home .lux-hero__container { width: 100%; padding: 1.7rem 1rem 1.4rem; }
    .page-home .lux-hero__panel { text-align: left; }
    .page-home .lux-hero__panel h1 { font-size: clamp(2.35rem,11vw,3.25rem); }
    .page-home .lux-hero__actions { align-items: stretch; }
    .page-home .lux-hero__trust { grid-template-columns: 1fr; }
    .page-home .lux-hero__trust span:last-child { grid-column: auto; justify-content: flex-start; }
    .page-home .lux-finder { width: min(100% - 1.5rem,1240px); }
    .page-home .lux-explore__grid { grid-template-columns: 1fr 1fr; }
    .page-home .lux-explore__card { min-height: 145px; }
    .page-home .lux-carousel { grid-template-columns: 34px minmax(0,1fr) 34px; gap: 6px; }
    .page-home .lux-carousel .home-feature-carousel__track { gap: 0; }
    .page-home .lux-carousel .home-feature-carousel__slide { flex-basis: 100%; }
    .page-home .lux-destination-card,
    .page-home .lux-experience { min-height: 410px; }
    .page-home .home-about__photo,
    .page-home .home-about__photo img,
    .page-home .home-about__photo .lux-photo-fallback { min-height: 300px; }
    .page-home .home-comfort__grid,
    .page-home .home-reviews { flex-direction: column; }
    .page-home .lux-gallery__grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4,190px); }
    .page-home .lux-gallery__item:nth-child(n) { grid-column: auto; grid-row: auto; }
    .page-home .lux-gallery__title { grid-column: 1/-1; grid-row: 3; }
}

@media (prefers-reduced-motion: reduce) {
    .page-home .home-feature-carousel__track { transition: none !important; }
}

/* V7 — compact, ordered luxury homepage for phones. Content is retained. */
@media (max-width: 640px) {
    .page-home #main-content > section { width: 100%; }
    .page-home .lux-section,
    .page-home .lux-explore,
    .page-home .lux-experiences { padding: 2.15rem 0; }
    .page-home .lux-section-heading { gap: .55rem; margin-bottom: 1rem; }
    .page-home .lux-section-heading h2 { font-size: 1.78rem; line-height: 1.06; letter-spacing: -.025em; }
    .page-home .lux-section-heading p { font-size: .84rem; line-height: 1.5; }
    .page-home .lux-section-heading .lux-outline-link { min-height: 38px; padding: .48rem .75rem; font-size: .76rem; }

    .page-home .lux-hero__media { height: 230px; min-height: 230px; max-height: 230px; }
    .page-home .lux-hero__media picture,
    .page-home .lux-hero__media img { display: block; width: 100%; height: 230px; object-fit: cover; }
    .page-home .lux-hero__container { padding: 1rem .9rem .9rem; }
    .page-home .lux-eyebrow { margin-bottom: .35rem; font-size: .56rem; letter-spacing: .15em; }
    .page-home .lux-hero__panel h1 { margin-bottom: .55rem; font-size: 2.08rem; line-height: .98; }
    .page-home .lux-hero__supporting { margin: 0; font-size: .84rem; line-height: 1.48; }
    .page-home .lux-hero__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: .75rem; }
    .page-home .lux-hero__actions .lux-btn,
    .page-home .lux-hero__actions .lux-text-link { width: 100%; min-height: 40px; padding: .48rem .55rem; font-size: .72rem; text-align: center; }
    .page-home .lux-hero__trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; margin-top: .7rem; padding-top: .65rem; }
    .page-home .lux-hero__trust span,
    .page-home .lux-hero__trust span:last-child { grid-column: auto; justify-content: center; padding: .35rem .2rem; border: 1px solid #dbe5f2; border-radius: 7px; font-size: .57rem; line-height: 1.25; text-align: center; }

    .page-home .lux-finder { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; width: calc(100% - 1.5rem); margin: .65rem auto 0; overflow: hidden; border: 1px solid #d6e1ef; border-radius: 12px; box-shadow: 0 10px 28px rgba(4,33,73,.13); }
    .page-home .lux-finder__intro { grid-column: 1/-1; padding: .75rem 1rem; text-align: left; }
    .page-home .lux-finder__intro strong { font-size: .98rem; }
    .page-home .lux-finder__intro span { font-size: .7rem; }
    .page-home .lux-finder label { min-width: 0; padding: .5rem .7rem; }
    .page-home .lux-finder label > span { font-size: .65rem; }
    .page-home .lux-finder label:nth-of-type(3) { grid-column: 1/-1; }
    .page-home .lux-finder input,
    .page-home .lux-finder select { width: 100%; min-height: 34px; font-size: 16px; }
    .page-home .lux-finder .lux-btn { grid-column: 1/-1; min-height: 42px; margin: 7px; }

    .page-home .lux-explore .lux-section-heading { margin-bottom: .9rem; }
    .page-home .lux-explore__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
    .page-home .lux-explore__card { min-width: 0; min-height: 100px; border-radius: 8px; }
    .page-home .lux-explore__card:last-child { grid-column: 1/-1; min-height: 84px; }
    .page-home .lux-explore__card strong { right: 10px; bottom: 9px; left: 10px; font-size: .82rem; }

    .page-home .lux-carousel { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; padding: 0 0 1.65rem; }
    .page-home .lux-carousel .home-feature-carousel__viewport { width: 100%; }
    .page-home .lux-carousel .home-feature-carousel__arrow { position: absolute; z-index: 8; top: 43%; width: 34px; height: 34px; border-color: rgba(255,255,255,.7); background: rgba(3,30,70,.82); color: #fff; box-shadow: 0 7px 18px rgba(0,0,0,.2); transform: translateY(-50%); }
    .page-home .lux-carousel .home-feature-carousel__arrow--prev { left: 8px; }
    .page-home .lux-carousel .home-feature-carousel__arrow--next { right: 8px; }
    .page-home .lux-carousel .home-feature-carousel__track { gap: 0; }
    .page-home .lux-carousel .home-feature-carousel__slide { flex: 0 0 100%; border-radius: 10px; }
    .page-home .lux-destination-card,
    .page-home .lux-experience { min-height: 290px; height: 290px; }
    .page-home .lux-card-overlay { padding: 1rem; }
    .page-home .lux-card-overlay strong,
    .page-home .lux-experience strong { font-size: 1.25rem; }
    .page-home .lux-card-overlay small,
    .page-home .lux-experience small { font-size: .73rem; line-height: 1.4; }
    .page-home .lux-journey-card > img,
    .page-home .lux-journey-card > .lux-photo-fallback { height: 165px; }
    .page-home .lux-journey-card > div { padding: 1rem; }
    .page-home .lux-journey-card h3 { margin: .3rem 0; font-size: 1.25rem; }
    .page-home .lux-journey-card p { margin: .35rem 0 .7rem; font-size: .8rem; line-height: 1.45; }
    .page-home .lux-card-actions { gap: .45rem; }
    .page-home .lux-mini-btn { min-height: 38px; padding: .45rem .65rem; font-size: .72rem; }
    .page-home .home-carousel-dots { right: 0; bottom: .25rem; left: 0; }

    .page-home .home-about__grid { gap: 1.25rem; }
    .page-home .home-about__photo,
    .page-home .home-about__photo img,
    .page-home .home-about__photo .lux-photo-fallback { min-height: 190px; height: 190px; border-radius: 10px; }
    .page-home .home-about__copy h2 { margin: .25rem 0 .65rem; font-size: 1.85rem; }
    .page-home .home-about__copy p { margin: 0; font-size: .84rem; line-height: 1.55; }
    .page-home .home-about__copy ul { grid-template-columns: 1fr 1fr; gap: .45rem; margin: .8rem 0 1rem; }
    .page-home .home-about__copy li { font-size: .74rem; }

    .page-home .lux-why { display: grid; grid-template-columns: 1fr; min-height: 0; }
    .page-home .lux-why__photo,
    .page-home .lux-why__photo img,
    .page-home .lux-why__photo .lux-photo-fallback { min-height: 185px; height: 185px; }
    .page-home .lux-why__content { padding: 1.55rem .9rem; }
    .page-home .lux-why__content > h2 { margin-bottom: .6rem; font-size: 1.85rem; }
    .page-home .lux-why__content > p { margin-bottom: .9rem; font-size: .82rem; line-height: 1.5; }
    .page-home .lux-why__grid { grid-template-columns: 1fr 1fr; gap: 7px; }
    .page-home .lux-why__item { align-items: flex-start; gap: .45rem; padding: .65rem; }
    .page-home .lux-why__item h3 { margin: 0 0 .2rem; font-size: .78rem; }
    .page-home .lux-why__item p { margin: 0; font-size: .65rem; line-height: 1.35; }

    .page-home .home-comfort__grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
    .page-home .home-comfort__card { display: grid; grid-template-columns: 118px minmax(0,1fr); min-height: 118px; border-radius: 10px; }
    .page-home .home-comfort__card > img,
    .page-home .home-comfort__card > .lux-photo-fallback { width: 118px; height: 100%; min-height: 118px; object-fit: cover; }
    .page-home .home-comfort__card > div { padding: .75rem; }
    .page-home .home-comfort__card h3 { margin-bottom: .25rem; font-size: 1rem; }
    .page-home .home-comfort__card p { margin: 0 0 .35rem; font-size: .7rem; line-height: 1.35; }
    .page-home .home-comfort__card a { font-size: .7rem; }

    .page-home .home-reviews { display: flex; flex-direction: row; gap: 10px; overflow-x: auto; padding: 0 14% .8rem 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .page-home .home-reviews::-webkit-scrollbar { display: none; }
    .page-home .home-reviews .lux-review { flex: 0 0 86%; min-height: 225px; padding: 1rem; scroll-snap-align: start; }
    .page-home .lux-review h3 { font-size: 1.05rem; }
    .page-home .lux-review p { font-size: .82rem; line-height: 1.5; }
    .page-home .lux-review-actions { margin-top: .8rem; }

    .page-home .lux-gallery__grid { position: relative; height: 348px; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3,116px); gap: 3px; padding: 3px; }
    .page-home .lux-gallery__item:nth-child(n) { grid-column: auto; grid-row: auto; }
    .page-home .lux-gallery__title { position: absolute; z-index: 4; right: 12px; bottom: 12px; left: 12px; width: auto; padding: .85rem; border-radius: 8px; }
    .page-home .lux-gallery__title h2 { margin: .3rem 0; font-size: 1.45rem; }
    .page-home .lux-gallery__title p { margin: 0 0 .55rem; font-size: .72rem; }

    .page-home .lux-final-cta,
    .page-home .lux-final-cta__inner { min-height: 350px; }
    .page-home .lux-final-cta__inner { align-items: flex-end; padding: 12px; }
    .page-home .lux-final-cta__panel { width: 100%; max-width: none; padding: 1.05rem .9rem; border-top-width: 3px; border-left: 0; border-radius: 9px; background: rgba(3,35,78,.94); }
    .page-home .lux-final-cta h2 { margin-bottom: .5rem; font-size: 1.65rem; line-height: 1.02; }
    .page-home .lux-final-cta p { font-size: .82rem; line-height: 1.5; }
    .page-home .lux-final-cta__panel > div { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
    .page-home .lux-final-cta__panel .lux-btn { width: 100%; min-height: 42px; padding:.55rem .5rem; font-size:.74rem; }
}
