/* Start custom CSS *//* Factory Tour product template: targets elements by their Elementor data-id */

/* Hide the theme's product-page CTA banner (and its 15px wrapper margin) */
body.elementor-page-9449 .cta-boxes-wrap { display: none; }

/* Transparent header over the hero, like the homepage: drop the textured nav strip and
   cancel the page offset the theme's script sets inline, then pad the hero to clear the nav */
body.elementor-page-9449.no-banner .site-header .header-main { background: none; }
body.elementor-page-9449 #page { padding-top: 0 !important; }
body.elementor-page-9449 [data-id="6970ddab"] { min-height: 92vh; padding-top: 200px; }
@media (max-width: 1027px) { body.elementor-page-9449 [data-id="6970ddab"] { min-height: 0; padding-top: 180px; } }
@media (max-width: 772px) { body.elementor-page-9449 [data-id="6970ddab"] { min-height: 92vh; padding-top: 176px; } }

/* Booking checklist: the browser lifts the <ul> out of its paragraph, so style it from the column */
body.elementor-page-9449 [data-id="4fe6bb29"] > ul { margin: 0; padding-left: 1.1em; list-style: square; color: #454545; }
body.elementor-page-9449 [data-id="4fe6bb29"] > ul li::marker { color: #E41B24; }

/* Booking buttons stay invisible until the Tour quantity box code has added the - / + boxes (no jump on load); they show after 3s regardless */
.elementor-9449.product_cat-factory-tour-product-page:not(.sl-tour-ready) a[href*="add-to-cart="] { visibility: hidden; animation: sl-tour-reveal 0s 3s forwards; }
@keyframes sl-tour-reveal { to { visibility: visible; } }

/* Tablet: sections are pulled 12px past the theme padding, so widen their side padding to keep a 24px gutter */
@media (max-width: 1024px) {
	body.elementor-page-9449 .elementor-9449 > .e-con:not([data-id="69410cf3"]) { padding-left: 36px; padding-right: 36px; }
}

@media (max-width: 767px) {
	/* 20px gutter on phones */
	body.elementor-page-9449 .elementor-9449 > .e-con:not([data-id="69410cf3"]) { padding-left: 32px; padding-right: 32px; }

	/* Keep the fixed booking bar from covering the end of the footer */
	body.elementor-page-9449 { padding-bottom: 80px; }

	/* Hero: stack price and full-width buttons */
	body.elementor-page-9449 [data-id="3c6db8d8"] { font-size: 16px; }
	body.elementor-page-9449 [data-id="37f58a65"] { flex-direction: column; align-items: stretch; gap: 12px; }
	body.elementor-page-9449 [data-id="e1d5d02"] { margin-bottom: 8px; }
	body.elementor-page-9449 [data-id="2d24da93"], body.elementor-page-9449 [data-id="25dc8f8d"] { text-align: center; }

	/* What you'll see: 2-up square cards instead of four full-width portraits */
	body.elementor-page-9449 [data-id="47e4c7d1"] { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto; gap: 24px 14px; }
	body.elementor-page-9449 [data-id="1ad70924"], body.elementor-page-9449 [data-id="58a6e232"], body.elementor-page-9449 [data-id="32dee9f0"], body.elementor-page-9449 [data-id="4a915779"] { gap: 8px; }
	body.elementor-page-9449 [data-id="5974a4ff"], body.elementor-page-9449 [data-id="15441e3b"], body.elementor-page-9449 [data-id="2a7b7ae2"], body.elementor-page-9449 [data-id="71d0e996"] { aspect-ratio: 1 / 1; }
	body.elementor-page-9449 [data-id="5e620e6b"], body.elementor-page-9449 [data-id="24e43f3b"], body.elementor-page-9449 [data-id="972565f"], body.elementor-page-9449 [data-id="3319314d"] { font-size: 15px; letter-spacing: 0.02em; }
	body.elementor-page-9449 [data-id="1bbb118c"], body.elementor-page-9449 [data-id="255a8b1e"], body.elementor-page-9449 [data-id="33f7f771"], body.elementor-page-9449 [data-id="195079e3"] { font-size: 14px; line-height: 1.45; }

	/* Booking card date heading */
	body.elementor-page-9449 [data-id="28cadc9a"] { font-size: 20px; }
}/* End custom CSS */