/* Start custom CSS *//* Hide the theme's category banner; the Elementor hero sits under the nav instead */
body.term-160 #hero { display: none; }

/* One full-width row per tour date */
.elementor-9540 [data-id="68fe1c55"] { display: grid !important; grid-template-columns: 1fr !important; grid-auto-rows: auto !important; gap: 0 !important; }

/* Keep the gift voucher (own banner) and the internal TEST tour out of the dates list */
.elementor-9540 [data-id="7d09e09f"]:has(a[href*="add-to-cart=7573"]),
.elementor-9540 [data-id="7d09e09f"]:has(a[href*="add-to-cart=9217"]) { display: none !important; }

/* The dates list and month filter stay invisible until the Tour quantity box code has laid them out (no jump on load); they show after 3s regardless */
.elementor-9540:not(.sl-tour-ready) [data-id="4b7c0cfe"], .elementor-9540:not(.sl-tour-ready) [data-id="898fe31"] { visibility: hidden; animation: sl-tour-reveal 0s 3s forwards; }
@keyframes sl-tour-reveal { to { visibility: visible; } }

html { scroll-behavior: smooth; }
.elementor-9540 #tour-dates, .elementor-9540 #tour-bespoke, .elementor-9540 #tour-voucher { scroll-margin-top: 120px; }

/* What you'll see: same look as the tour product page (white background, tall photos with a red underline, text below) */
.elementor-9540 [data-id="4bab55f3"] { background: #fff !important; padding: 112px 24px 48px !important; }
.elementor-9540 [data-id="792db7b3"] { max-width: 1140px !important; }
.elementor-9540 [data-id="7c642ebf"] { text-align: left !important; font-size: 44px !important; line-height: 1.1 !important; }
.elementor-9540 [data-id="6ce524c6"] { gap: 28px !important; }
.elementor-9540 [data-id="6ce524c6"] > div { background: transparent !important; display: flex !important; flex-direction: column !important; gap: 14px !important; }
.elementor-9540 [data-id="6ce524c6"] img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5 !important; object-fit: cover !important; border-bottom: 3px solid #E41B24 !important; }
.elementor-9540 [data-id="7fec1f96"], .elementor-9540 [data-id="7510a67a"], .elementor-9540 [data-id="39a16238"], .elementor-9540 [data-id="5749686d"] { padding: 0 !important; gap: 8px !important; }
.elementor-9540 [data-id="6ce524c6"] h3 { font-size: 20px !important; line-height: 1.25 !important; letter-spacing: .04em !important; }
.elementor-9540 [data-id="6ce524c6"] p { font-size: 16px !important; line-height: 1.6 !important; color: #454545 !important; }
@media (max-width: 767px) {
  .elementor-9540 [data-id="4bab55f3"] { padding: 56px 16px 40px !important; }
  .elementor-9540 [data-id="7c642ebf"] { font-size: 30px !important; }
  .elementor-9540 [data-id="6ce524c6"] { grid-template-columns: 1fr 1fr !important; gap: 24px 14px !important; }
  .elementor-9540 [data-id="6ce524c6"] > div { gap: 10px !important; }
  .elementor-9540 [data-id="6ce524c6"] h3 { font-size: 15px !important; }
  .elementor-9540 [data-id="6ce524c6"] p { font-size: 14px !important; line-height: 1.45 !important; }
}/* End custom CSS */