/* Homepage polish (2026-11-12): same structure as before, refined look.
   Loaded after css/home-showcase.css by partials/home-showcase.php. */
.page-main--home { --hp-navy: #0f2d4a; --hp-teal: #13b3b6; --hp-coral: #f0603f; --hp-line: #e3eaf2; --hp-shadow: 0 16px 34px -20px rgba(15, 45, 74, .45); }

/* Intro hotel slider (under the hero) */
.page-main--home .trv-home-intro-hotels { background: linear-gradient(120deg, #e6f7f8 0%, #eef4fb 50%, #fff3e6 100%) !important; }
.page-main--home .trv-home-intro-hotels .card-intro { border-radius: 16px !important; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.page-main--home .trv-home-intro-hotels .card-intro:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -18px rgba(14, 56, 79, .55) !important; }
.page-main--home .trv-home-intro-hotels .card-price { border-radius: 999px !important; padding: 7px 13px !important; backdrop-filter: blur(6px); }
.page-main--home .intro__hotels-controls .btn-nav { border-radius: 50% !important; box-shadow: 0 8px 18px -8px rgba(15, 45, 74, .55); }

/* Section headings */
.trv-showcase { padding-top: 48px; }
.trv-showcase-heading { margin-bottom: 18px; }
.trv-showcase-heading h2 { position: relative; padding-left: 14px; font-size: 24px; font-weight: 800; color: var(--hp-navy); letter-spacing: -.01em; }
.trv-showcase-heading h2::before { content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--hp-teal), #1f7fd6); }
.trv-showcase-heading__intro { font-size: 13px; padding-left: 14px; }
.trv-showcase-section { margin: 40px 0; }

/* Big campaign slider + teaser */
.trv-showcase-hero { gap: 22px; }
.trv-showcase-teaser, .trv-showcase-slider, .trv-showcase-slide { border-radius: 18px !important; }
.trv-showcase-teaser { box-shadow: var(--hp-shadow); }
.trv-showcase-slider { box-shadow: var(--hp-shadow); }
.trv-showcase-teaser img, .trv-showcase-slide img { transition: transform .6s ease; }
.trv-showcase-teaser:hover img, .trv-showcase-slide:hover img { transform: scale(1.04); }
.trv-showcase-teaser > span { background: linear-gradient(180deg, transparent 30%, rgba(10, 32, 56, .88)); }
.trv-showcase-teaser strong { font-size: 24px; font-weight: 800; }
.trv-showcase-slide__copy { background: linear-gradient(90deg, rgba(9, 34, 64, .86) 0%, rgba(9, 34, 64, .35) 60%, transparent 100%); }
.trv-showcase-slide__copy b { background: var(--hp-coral); color: #fff; padding: 10px 20px; border-radius: 999px; font-weight: 800; box-shadow: 0 10px 22px -10px rgba(240, 96, 63, .8); }

/* Campaign cards (4 across) */
.trv-showcase-campaigns, .trv-showcase-deals { gap: 20px; }
.trv-showcase-campaign { display: flex; flex-direction: column; border: 1px solid var(--hp-line); border-radius: 16px; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s; }
.trv-showcase-campaign:hover { transform: translateY(-4px); border-color: transparent; box-shadow: var(--hp-shadow); }
.trv-showcase-campaign > img { height: 160px; }
.trv-showcase-campaign > div { display: flex; flex: 1; flex-direction: column; padding: 14px 16px 16px; }
.trv-showcase-campaign h3 { font-size: 16px; font-weight: 800; color: var(--hp-navy); }
.trv-showcase-campaign p { font-size: 13px; margin-bottom: 10px; }
.trv-showcase-campaign small { margin-top: auto; font-size: 12px; font-weight: 800; color: var(--hp-teal); }

/* Hotel rail */
.trv-showcase-hotel { border-radius: 16px; transition: transform .25s ease, box-shadow .25s ease; }
.trv-showcase-hotel:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -18px rgba(14, 56, 79, .6); }
.trv-showcase-hotel img { filter: none; }
.trv-showcase-hotel__price { border-radius: 999px; padding: 6px 11px; backdrop-filter: blur(6px); }
.trv-showcase-hotel__price strong { color: #5fe3e6; }
.trv-showcase-rail-controls button { width: 36px; height: 36px; border-radius: 50% !important; background: var(--hp-navy); font-size: 22px; line-height: 22px; transition: background .2s; }
.trv-showcase-rail-controls button:hover { background: var(--hp-teal); }

/* Destination banners (2 across) */
.trv-showcase-banners { gap: 22px; }
.trv-showcase-banners > a { position: relative; display: block; min-height: 220px; border: 0; border-radius: 18px; overflow: hidden; box-shadow: var(--hp-shadow); }
.trv-showcase-banners > a > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.trv-showcase-banners > a:hover > img { transform: scale(1.05); }
.trv-showcase-banners > a > div { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-height: 220px; padding: 24px 26px; background: linear-gradient(90deg, rgba(9, 34, 64, .88) 0%, rgba(9, 34, 64, .25) 75%); color: #fff; }
.trv-showcase-banners small { color: #7fe3e5; letter-spacing: 2px; font-weight: 700; }
.trv-showcase-banners h3 { margin: 6px 0 6px; color: #fff; font-size: 26px; font-weight: 800; }
.trv-showcase-banners p { max-width: 70%; margin: 0 0 12px; color: rgba(255, 255, 255, .85); font-size: 14px; }
.trv-showcase-banners span { align-self: flex-start; padding: 8px 16px; border-radius: 999px; background: #fff; color: var(--hp-navy); font-size: 12px; font-weight: 800; }

/* Deal cards */
.trv-showcase-deal { border: 0; border-radius: 18px; background: linear-gradient(160deg, #eaf7f8, #f4f8fd); box-shadow: 0 10px 26px -20px rgba(15, 45, 74, .5); transition: transform .25s ease, box-shadow .25s ease; }
.trv-showcase-deal:nth-child(2n) { background: linear-gradient(160deg, #fff1e8, #fdf7f2); }
.trv-showcase-deal:hover { transform: translateY(-4px); box-shadow: var(--hp-shadow); }
.trv-showcase-deal small { color: var(--hp-coral); font-weight: 700; letter-spacing: 1.5px; }
.trv-showcase-deal h3 { color: var(--hp-navy); font-size: 20px; font-weight: 800; }
.trv-showcase-deal p { margin: 0 0 10px; color: #5f7487; font-size: 13px; line-height: 1.45; }
.trv-showcase-deal span { font-weight: 800; color: var(--hp-teal); }
.trv-showcase-deal img { border-radius: 14px 14px 0 0; }

@media (max-width: 600px) {
  .trv-showcase-heading h2 { font-size: 19px; }
  .trv-showcase-banners > a, .trv-showcase-banners > a > div { min-height: 180px; }
  .trv-showcase-banners h3 { font-size: 21px; }
  .trv-showcase-banners p { max-width: 100%; }
  .trv-showcase-campaign > img { height: 120px; }
}

/* Deal slider under the hero (partials/home-hero.php) */
.page-main--home .trv-home-intro-hotels { padding-top: 26px !important; }
.trv-intro-deals-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; max-width: 1170px; margin: 0 auto 16px; padding: 0 18px; }
.trv-intro-deals-head span { display: block; color: #0c8f92; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.trv-intro-deals-head h2 { margin: 2px 0 0; color: #0f2d4a; font-size: 26px; font-weight: 800; letter-spacing: -.01em; }
.trv-intro-deals-head a { padding: 9px 16px; border-radius: 999px; background: #0f2d4a; color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background .2s; }
.trv-intro-deals-head a:hover { background: #13b3b6; color: #fff; }
.page-main--home .trv-deal-card { position: relative; display: block; height: 300px !important; overflow: hidden; border-radius: 18px !important; background-size: cover; background-position: center; color: #fff; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.page-main--home .trv-deal-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8, 26, 46, .05) 25%, rgba(8, 26, 46, .55) 55%, rgba(8, 26, 46, .95) 100%) !important; }
.page-main--home .trv-deal-card::after { display: none !important; }
.page-main--home .trv-deal-card:hover { transform: translateY(-5px); box-shadow: 0 24px 40px -20px rgba(8, 26, 46, .75); color: #fff; }
.trv-deal-card__badge { position: absolute; z-index: 3; top: 14px; left: 14px; padding: 5px 11px; border-radius: 999px; background: #13b3b6; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .03em; box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .5); }
.trv-deal-card__badge.is-hot { background: #f0603f; }
.page-main--home .trv-deal-card .trv-deal-card__price { position: absolute; z-index: 3; top: 12px !important; right: 12px !important; left: auto !important; display: flex !important; flex-direction: column; align-items: flex-end; gap: 0; padding: 6px 12px !important; border-radius: 14px !important; background: rgba(255, 255, 255, .95) !important; border: 0 !important; color: #0f2d4a !important; line-height: 1.1; }
.trv-deal-card__price small { color: #64748b; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.trv-deal-card__price strong { color: #0f2d4a; font-size: 17px; font-weight: 900; }
.trv-deal-card__price .trv-currency-icon { color: #f0603f !important; }
.trv-deal-card__body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 5px; padding: 16px 16px 18px; }
.trv-deal-card__stars { color: #ffc94a; font-size: 12px; letter-spacing: 2px; }
.trv-deal-card__title { color: #fff; font-size: 17px; font-weight: 800; line-height: 1.25; text-shadow: 0 1px 3px rgba(0, 0, 0, .35); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.trv-deal-card__place { color: rgba(255, 255, 255, .88); font-size: 12px; }
.trv-deal-card__concept { align-self: flex-start; padding: 2px 9px; border-radius: 999px; background: rgba(255, 255, 255, .18); color: #fff; font-size: 11px; font-weight: 700; backdrop-filter: blur(4px); }
.trv-deal-card__cta { max-height: 0; overflow: hidden; color: #7fe3e5; font-size: 13px; font-weight: 800; transition: max-height .25s ease, margin .25s ease; }
.trv-deal-card:hover .trv-deal-card__cta, .trv-deal-card:focus .trv-deal-card__cta { max-height: 24px; margin-top: 4px; }
@media (max-width: 767px) {
  .trv-intro-deals-head { padding: 0 8px; }
  .trv-intro-deals-head h2 { font-size: 21px; }
  .page-main--home .trv-deal-card { height: 260px !important; }
  .trv-deal-card__cta { max-height: 24px; margin-top: 4px; }
}
