/* Adventure tours – shared styles. Colours/fonts follow the Elementor kit (post-5). */
.cl-tours{
	--cl-primary:var(--e-global-color-primary,#70342E);
	--cl-dark:var(--e-global-color-secondary,#3C3028);
	--cl-teal:var(--e-global-color-6e5b58f,#00A3A0);
	--cl-sand:#f7f2ec;
	--cl-line:#e8dfd5;
	margin:0 -10px;           /* cancel the 10px column padding so edges match the intro text (0 inset on desktop) */
	color:var(--cl-dark);
	line-height:1.65;
}
/* Intro column gets 20px padding at ≤1024px (post-99), so match it */
@media(max-width:1024px){.cl-tours{margin:0;padding:0 10px}}

/* Carousel – same size for every slide */
.elementor-99 .elementor-element-fa39201 .swiper-slide-image{width:100%;height:320px;object-fit:cover;display:block}
@media(max-width:767px){.elementor-99 .elementor-element-fa39201 .swiper-slide-image{height:240px}}

/* Tighten the gap between the intro section and the tour content */
.elementor-99 .elementor-element.elementor-element-878f684{margin-bottom:0}

/* Intro (under the page title) */
.elementor-99 .elementor-element-52db7b2 .elementor-widget-container{text-align:center}
.elementor-99 .elementor-element-52db7b2 .elementor-widget-container p{text-align:left}
.cl-tag{font-size:1.15em;font-style:italic;color:var(--e-global-color-secondary,#3C3028);margin:0 auto 10px}

/* Headings */
.cl-tours h2{
	font-family:"Caveat Brush",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;
	font-size:1.9rem;line-height:1.2;color:var(--cl-dark);margin:50px 0 18px;
}
.cl-tours h2::after{content:"";display:block;width:56px;height:3px;background:var(--cl-accent,var(--cl-teal));margin-top:8px;border-radius:2px}
.cl-tours > h2:first-child{margin-top:10px}
.cl-tours h3{font-size:1.3em;font-weight:600;color:var(--cl-primary);margin:28px 0 10px}
.cl-tours h4{font-weight:600;margin:18px 0 6px}
.cl-tours ul{padding-left:1.2em}
.cl-tours li{margin:5px 0}

/* Content links */
.cl-tours p a,.cl-tours li a{color:var(--cl-primary);text-decoration:underline;text-decoration-color:rgba(112,52,46,.35);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.cl-tours p a:hover,.cl-tours li a:hover{color:var(--cl-teal);text-decoration-color:currentColor}

/* Back link */
.cl-back{
	display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;
	font-size:.85em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
	color:var(--e-global-color-6e5b58f,#00A3A0)!important;text-decoration:none;
}
.cl-back:hover{color:var(--e-global-color-secondary,#3C3028)!important}
.cl-tours > .cl-back{margin:30px 0 10px}

/* Two-column blocks */
.cl-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}

/* Facts box */
.cl-facts{list-style:none;margin:22px 0;padding:18px 22px!important;background:var(--cl-sand);border-radius:8px;border:1px solid var(--cl-line)}
.cl-facts li{margin:8px 0;padding-left:26px;position:relative}
.cl-facts li::before{content:"";position:absolute;left:4px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--cl-teal)}
.cl-facts strong:first-child{color:var(--cl-primary)}

/* Price table */
.cl-prices{border-collapse:separate;border-spacing:0;margin:18px 0 24px;min-width:340px;width:auto;border:1px solid var(--cl-line);border-radius:8px;overflow:hidden;font-size:.97em}
.cl-prices th,.cl-prices td{border:0;border-bottom:1px solid var(--cl-line);padding:10px 18px;text-align:left}
.cl-tours .cl-prices tr th{background:var(--cl-primary);color:#fff;font-weight:600;letter-spacing:.03em}
.cl-tours .cl-prices tr td{background:#fff}
.cl-tours .cl-prices tr:nth-child(even) td{background:var(--cl-sand)}
.cl-prices tr:last-child td{border-bottom:0}
.cl-prices td:last-child{font-weight:600;white-space:nowrap}

/* Note / callout */
.cl-note{background:var(--cl-sand);padding:16px 20px;border-left:4px solid var(--cl-teal);border-radius:0 8px 8px 0;margin:22px 0}

/* Call to action */
.cl-cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.cl-btn{
	display:inline-block;padding:12px 26px;border-radius:4px;background:var(--cl-teal);
	color:#fff!important;text-decoration:none!important;font-weight:500;letter-spacing:.03em;transition:background .2s,transform .2s;
}
.cl-btn:hover{background:var(--cl-primary);transform:translateY(-1px)}

/* Images */
.cl-hero{display:block;width:100%;height:460px;object-fit:cover}
.cl-lead{width:100%;aspect-ratio:3/2;max-height:420px;object-fit:cover;border-radius:8px;margin:10px 0 18px;display:block}
.cl-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:26px 0}
.cl-gallery img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:6px;display:block;cursor:zoom-in;transition:transform .3s,box-shadow .3s}
.cl-gallery img:hover{transform:scale(1.02);box-shadow:0 6px 18px rgba(60,48,40,.2)}

/* Tour cards */
.cl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin:20px 0 40px}
.cl-card{
	display:flex;flex-direction:column;background:#fff;border:1px solid var(--cl-line);border-radius:8px;overflow:hidden;
	color:var(--cl-dark)!important;text-decoration:none;transition:box-shadow .25s,transform .25s;
}
.cl-card:hover,.cl-card:focus-visible{box-shadow:0 10px 28px rgba(60,48,40,.16);transform:translateY(-3px)}
.cl-card > img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block;transition:transform .4s}
.cl-card:hover > img{transform:scale(1.04)}
.cl-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;background:#fff;position:relative}
.cl-card-body h3{margin:0 0 8px;font-size:1.2em;line-height:1.3;color:var(--cl-primary)}
.cl-card-body p{margin:0 0 14px;font-size:.95em;color:#5b4f46}
.cl-card-price{margin-top:auto;align-self:flex-start;background:var(--cl-sand);color:var(--cl-primary);font-weight:600;font-size:.9em;padding:4px 12px;border-radius:20px}
.cl-card-more{margin-top:14px;font-size:.85em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--cl-teal)}
.cl-card-price + .cl-card-more{margin-top:12px}
.cl-card-body p + .cl-card-more{margin-top:auto}

/* Lightbox (tours.js) */
.cl-lightbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh;overflow:visible}
.cl-lightbox::backdrop{background:rgba(20,15,12,.88)}
.cl-lightbox img{display:block;max-width:92vw;max-height:88vh;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.cl-lightbox button{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;color:#3C3028;font-size:22px;line-height:36px;padding:0;cursor:pointer}

/* Section colours – headings and links (body class set per section) */
body.cl-caving{--cl-accent:#3C3028;--cl-accent-hover:#70342E}
body.cl-trekking{--cl-accent:#235748;--cl-accent-hover:#3C3028}
body.cl-kayaking{--cl-accent:#00A3A0;--cl-accent-hover:#3C3028}
body.cl-section .elementor-99 .elementor-element-b0afc88 .elementor-heading-title,
body.cl-section .cl-tours h2,
body.cl-section .cl-tours h3,
body.cl-section .cl-card-body h3,
body.cl-section .cl-facts strong:first-child,
body.cl-section .cl-tours p a,
body.cl-section .cl-tours li a,
body.cl-section .cl-card-more{color:var(--cl-accent)}
body.cl-section .cl-back{color:var(--cl-accent)!important}
body.cl-section .cl-tours p a,
body.cl-section .cl-tours li a{text-decoration-color:color-mix(in srgb,var(--cl-accent) 40%,transparent)}
body.cl-section .cl-tours p a:hover,
body.cl-section .cl-tours li a:hover{color:var(--cl-accent-hover)}
body.cl-section .cl-back:hover{color:var(--cl-accent-hover)!important}

@media(max-width:767px){
	.cl-cols{grid-template-columns:1fr;gap:0}
	.cl-hero{height:260px}
	.cl-tours h2{font-size:1.6rem;margin-top:36px}
	.cl-prices{min-width:0;width:100%}
	.cl-prices th,.cl-prices td{padding:9px 12px}
	.cl-gallery{grid-template-columns:repeat(2,1fr);gap:8px}
}
