/* Scoped additions to the supplied v3 theme. styles.css is preserved unchanged. */

[hidden] { display: none !important; }
.horizontal-experiences, .horizontal-services {
  display: grid; grid-template-columns: none !important; grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 31%); overflow-x: auto; gap: 18px;
  scroll-snap-type: x mandatory; padding-bottom: 16px; scrollbar-width: thin;
}
.horizontal-services { grid-auto-columns: minmax(250px, 80%); }
.horizontal-experiences > *, .horizontal-services > * { min-width: 0; scroll-snap-align: start; }
.horizontal-experiences .service-package-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-weight: 750; }
.dark-card .service-package-link { color: var(--gold-2); }
.signature-layout > *, .reviews-layout > *, .package-shell, .designer-board { min-width: 0; }
.recommendation-panel { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.recommendation-card { display: flex; flex-direction: column; min-width: 0; background: var(--cream); }
.recommendation-card > img { width: 100%; height: 155px; object-fit: cover; }
.recommendation-card > div { flex: 1; display: flex; flex-direction: column; padding: 18px; }
.recommendation-card h3 { font-size: 20px; }
.recommendation-card p { font-size: 14px; }
.recommendation-card a { margin-top: 14px; }
.recommendation-card a:first-of-type { margin-top: auto; padding-top: 18px; }
.review-carousel { display: grid; grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; gap: 18px; padding-bottom: 16px; scrollbar-width: thin; }
.review-carousel > * { scroll-snap-align: start; min-width: 0; }
.review-carousel .review-card { height: auto; }
.starting-price { font-weight: 600; }
.starting-price strong { font-size: 1.35em; }
.starting-price small { font-size: .9em; font-weight: 400; }
.booking-page .section-booking { padding-top: 48px; }
.booking-page .catalog-hero h2 { margin-top: 24px; color: var(--gold-2); font-size: 22px; }
.booking-page [data-whatsapp-booking] { margin-top: 12px; }
.package-card .starting-price { margin: 16px 0; }
@media(max-width: 760px) {
  .horizontal-experiences { grid-auto-columns: 86%; }
  .horizontal-services { grid-auto-columns: 88%; }
  .recommendation-panel { grid-template-columns: minmax(0,1fr); }
  .recommendation-card > img { height: 190px; }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }


/* v3 catalog refinement: original palette, typography and home hero retained. */
svg.lucide, i[data-lucide] { width: 20px; height: 20px; flex-shrink: 0; }
.primary-nav a[aria-current="page"] { color: var(--gold-2); }
.collection-page .catalog-hero { background: var(--navy); padding: 155px 0 44px; }
.collection-page .catalog-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem,4vw,3.7rem); line-height:1.12; }
.collection-page .catalog-hero .section-kicker { color:var(--gold-2); }
.collection-page .section { padding:40px 0 64px; }
.collection-page .package-filters { margin-bottom:20px; }
.collection-page .package-filters a { color:var(--navy); font-size:14px; border-color:var(--line); }
.collection-page .package-filters a.active,.collection-page .package-filters a:hover { background:var(--navy); color:var(--gold-2); }
.collection-count { color:var(--muted); margin:0 0 20px; font-size:14px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.collection-card { display:flex; flex-direction:column; min-width:0; background:var(--white); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.collection-photo { display:block; }
.collection-photo img { width:100%; height:auto; aspect-ratio:1.52; object-fit:cover; }
.collection-copy { display:flex; flex-direction:column; flex:1; padding:24px; }
.collection-label { font-size:13px; font-weight:700; color:var(--teal); margin:0 0 10px; }
.collection-copy h2 { font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.2; margin:0 0 12px; }
.collection-duration { font-size:14px; color:var(--muted); margin:0 0 12px; }
.collection-description { font-size:16px; line-height:1.65; color:var(--muted); margin:0 0 24px; }
.collection-bottom { margin-top:auto; border-top:1px solid var(--line); padding-top:18px; }
.collection-bottom .starting-price { margin:0 0 18px; }
.collection-bottom .starting-price small { display:block; font-size:14px; margin-top:4px; }
.collection-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.collection-actions a { font-size:14px; font-weight:750; min-height:44px; display:inline-flex; align-items:center; padding:10px 12px; border:1px solid var(--navy); border-radius:6px; }
.collection-actions a:last-child { background:var(--navy); color:var(--gold-2); }
.collection-page a:focus-visible,.collection-page button:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
@media(max-width:1100px) { .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .collection-grid { grid-template-columns:minmax(0,1fr); } .collection-page .catalog-hero { padding:130px 0 30px; } .collection-copy { padding:20px; } }

/* Compact v3 layouts: no database or original theme changes. */
.home-page .container { width:min(1120px,calc(100% - 40px)); }
.home-page .hero { grid-template-columns:minmax(0,1fr); min-height:640px; align-items:center; padding:142px max(24px,calc((100vw - 1120px)/2)) 60px; }
.home-page .hero-content { width:100%; max-width:700px; }
.home-page .hero h1 { font-size:clamp(44px,5.2vw,70px); max-width:690px; line-height:1.02; }
.home-page .hero-copy { max-width:600px; font-size:17px; line-height:1.65; margin-top:22px; }
.home-page .hero-actions,.home-page .trust-row { margin-top:24px; }
.home-page .section,.home-page .designer-section { padding-block:52px; }
.home-page .section-heading { margin-bottom:26px; max-width:760px; }
.home-page .section-heading h2,.home-page .signature-copy h2,.home-page .designer-copy h2,.home-page .reviews-copy h2 { font-size:clamp(28px,3vw,40px); line-height:1.12; }
.home-page .horizontal-experiences { grid-auto-columns:minmax(240px,calc((100% - 36px)/3)); }
.home-page .experience-card,.home-page .luxury-feature-grid article { padding:20px; }
.home-page .experience-card h3,.home-page .luxury-feature-grid h3 { font-size:21px; }
.home-page .experience-card p,.home-page .luxury-feature-grid p { font-size:16px; line-height:1.5; }
.home-page .signature-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px; }
.home-page .horizontal-services { grid-auto-columns:calc((100% - 16px)/2); gap:16px; }
.home-page .luxury-feature-grid svg { margin-bottom:12px; }
.home-page .service-package-link svg { margin-bottom:0; }
.home-page .trip-designer { grid-template-columns:minmax(0,1fr); gap:22px; }
.home-page .designer-copy { max-width:680px; }
.home-page .designer-copy p { max-width:none; }
.home-page .designer-board { padding:18px; box-shadow:none; }
.home-page .trip-choice { min-height:48px; padding:10px; }
.home-page .recommendation-card { display:grid; grid-template-columns:36% minmax(0,1fr); }
.home-page .recommendation-card > img { height:100%; min-height:170px; aspect-ratio:auto; }
.home-page .recommendation-card > div { padding:16px; }
.home-page .recommendation-card h3 { font-size:20px; }
.home-page .recommendation-card p { font-size:16px; line-height:1.5; min-height:0; }
.home-page .recommendation-card a { margin-top:10px; }
.home-page #tours .package-grid { gap:20px; }
.home-page #tours .package-card { display:flex; flex-direction:column; min-width:0; transform:none; box-shadow:none; }
.home-page #tours .package-card > img { aspect-ratio:1.85; }
.home-page #tours .package-card > div { padding:20px; flex:1; display:flex; flex-direction:column; }
.home-page #tours .package-card h3 { font-size:22px; }
.home-page #tours .package-card p { min-height:0; font-size:16px; line-height:1.5; }
.home-page #tours .package-card .home-trip-duration { font-size:14px; color:var(--muted); }
.home-page #tours .package-card .starting-price { margin-top:auto; padding-top:16px; }
.home-page .starting-price small { display:block; font-size:14px; }
.home-page .review-card { padding:20px; }
.home-page .reviews-copy { position:static; }
.collection-page .collection-grid { gap:20px; }
.collection-page .collection-photo img { aspect-ratio:1.85; }
.collection-page .collection-copy { padding:18px; }
.collection-page .collection-copy h2 { font-size:23px; }
.collection-page .collection-description { margin-bottom:18px; line-height:1.5; }
.collection-page .collection-bottom { padding-top:14px; }
@media(min-width:1001px) {
 .home-page .reviews-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
 .home-page .reviews-copy { grid-column:1/-1; max-width:700px; }
 .home-page .review-form { grid-column:2; grid-row:2; }
 .home-page .review-carousel { grid-column:1; grid-row:2; }
}
@media(max-width:1000px) {
 .home-page .signature-layout { grid-template-columns:minmax(0,1fr); }
 .home-page .hero { min-height:0; padding-top:138px; padding-bottom:42px; }
 .home-page .recommendation-card { display:flex; }
 .home-page .recommendation-card > img { width:100%; height:160px; min-height:0; }
 .home-page #tours .package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .home-page .container { width:calc(100% - 32px); }
 .home-page .hero { padding:128px 16px 34px; }
 .home-page .hero h1 { font-size:clamp(38px,9vw,48px); }
 .home-page .hero-copy { font-size:16px; }
 .home-page .section,.home-page .designer-section { padding-block:34px; }
 .home-page .horizontal-experiences,.home-page .horizontal-services { grid-auto-columns:min(82%,300px); gap:12px; }
 .home-page .experience-card,.home-page .luxury-feature-grid article { padding:18px; }
 .home-page .recommendation-panel { grid-template-columns:minmax(0,1fr); }
 .home-page .recommendation-card { display:grid; grid-template-columns:30% minmax(0,1fr); }
 .home-page .recommendation-card > img { height:100%; min-height:140px; }
 .home-page .recommendation-card > div { padding:14px; }
 .home-page .recommendation-card h3 { font-size:19px; }
 .home-page #tours .package-grid { grid-template-columns:minmax(0,1fr); }
 .home-page #tours .package-card > img { aspect-ratio:2; }
 .home-page #tours .package-card > div { padding:18px; }
 .collection-page .collection-photo img { aspect-ratio:2; }
 .collection-page .collection-copy h2 { font-size:22px; }
}
@media(max-width:370px) {
 .home-page .recommendation-card { display:flex; }
 .home-page .recommendation-card > img { height:130px; min-height:0; }
}

/* Keep inherited two-row grid rules from wrapping the Culture cards. */
.home-page .horizontal-experiences,
.home-page .horizontal-services,
.home-page .review-carousel {
  grid-template-rows: minmax(0,auto) !important;
  grid-auto-flow: column;
  align-items: stretch;
}
.home-page .horizontal-experiences { margin-top:0; }
.slider-controls { display:flex; justify-content:flex-end; margin-top:8px; }
.slider-controls button { background:transparent; border:1px solid var(--line); border-radius:6px; color:var(--navy); min-height:44px; padding:8px 12px; font:inherit; font-size:14px; cursor:pointer; }
.mobile-slider-controls { display:none; }
.home-page .reviews-layout > .slider-controls { grid-column:1; }
@media(max-width:760px) {
  .mobile-slider-controls { display:flex; }
  .home-page .horizontal-experiences,.home-page .horizontal-services {
    grid-auto-columns:min(82%,300px); overflow-x:auto; scroll-snap-type:x mandatory;
  }
}
@media(prefers-reduced-motion:reduce) { .slider-controls { display:none; } }

/* Search, category filters and social links. */
.catalog-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); align-items:end; gap:24px; margin-bottom:18px; }
.catalog-tools .package-filters { margin:0; }
.catalog-search { position:relative; }
.catalog-search > label { display:block; margin-bottom:7px; color:var(--navy); font-size:13px; font-weight:750; }
.catalog-search > div { display:flex; min-height:48px; }
.catalog-search input { min-width:0; flex:1; border:1px solid var(--line); border-right:0; border-radius:7px 0 0 7px; padding:11px 13px; background:var(--white); color:var(--navy); font:inherit; }
.catalog-search button { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--navy); border-radius:0 7px 7px 0; padding:10px 15px; background:var(--navy); color:var(--gold-2); font:inherit; font-weight:750; cursor:pointer; }
.catalog-search .clear-search { display:inline-block; margin-top:7px; font-size:13px; font-weight:700; }
.footer-social { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
.footer-social a { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:8px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:inherit; font-size:14px; font-weight:700; }
.footer-social a:hover { border-color:var(--gold-2); color:var(--gold-2); text-decoration:none; }
.footer-social svg { width:18px; height:18px; }
.tiktok-mark { display:inline-grid; place-items:center; width:18px; height:18px; font-size:20px; line-height:1; }
.footer-inner > p { grid-column:1/-1; width:100%; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); text-align:center; }
@media(max-width:820px) {
  .catalog-tools { grid-template-columns:minmax(0,1fr); align-items:stretch; gap:18px; }
  .catalog-search { max-width:none; }
}
@media(max-width:460px) {
  .catalog-search button span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .catalog-search button { padding-inline:15px; }
  .footer-social { justify-content:flex-start; }
}
