/* Decorative layers for Elementor sections that use these global class names */
.cp-embed{width:100%}
.cp-band-dark,.cp-mist,.cp-strip,.cp-hero{position:relative;isolation:isolate;overflow:hidden}
.cp-band-dark>*,.cp-mist>*,.cp-hero>*{position:relative;z-index:1}

/* Dark loch bands: contour lines + the logo's layered hills */
.cp-band-dark::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(img/contour-dark.svg) left -200px center/1200px auto no-repeat;opacity:.08}
.cp-band-dark::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:0;pointer-events:none;background:url(img/hills-dark.svg) bottom/100% 100% no-repeat}

/* Light mist sections: faint contour lines in one corner */
.cp-mist::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(img/contour-light.svg) right -180px top -120px/1100px auto no-repeat}

/* Stat strips: green, blue and yellow accent line */
.cp-strip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#3f9a34,#1271bd 60%,#f6c518)}

/* Page heroes: darkening gradient over the photo */
.cp-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,29,58,.88) 0%,rgba(6,29,58,.6) 45%,rgba(6,29,58,.15) 100%),linear-gradient(0deg,rgba(6,29,58,.45),transparent 40%)}
@media (max-width:767px){.cp-hero::before{background:linear-gradient(0deg,rgba(6,29,58,.9) 0%,rgba(6,29,58,.65) 60%,rgba(6,29,58,.35) 100%)}}

/* Shortcode components placed inside Elementor sections sit flush */
.cp-embed>.cp>.park-stage-wrap,.cp-embed>.cp>.enquiry{margin:0}
.cp-embed .cp .section{padding:0;background:none}
.cp-embed .cp .faq-wrap{display:block}

/* ---------- Icons: add class cp-ic-<name> to a cp-stat, cp-contact-box or any element with cp-ic ---------- */
.cp-ic-pin{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.5%22/%3E%3C/svg%3E")}
.cp-ic-phone{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
.cp-ic-mail{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22m22 6-10 7L2 6%22/%3E%3C/svg%3E")}
.cp-ic-home{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 21h18M5 21V10l7-6 7 6v11%22/%3E%3Cpath d=%22M10 21v-6h4v6%22/%3E%3C/svg%3E")}
.cp-ic-key{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2215%22 r=%224%22/%3E%3Cpath d=%22m11 12 9-9M17 6l3 3M15 8l2 2%22/%3E%3C/svg%3E")}
.cp-ic-plug{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0z%22/%3E%3Cpath d=%22M12 18v4%22/%3E%3C/svg%3E")}
.cp-ic-heart{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8z%22/%3E%3C/svg%3E")}
.cp-ic-sun{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224%22/%3E%3Cpath d=%22M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4%22/%3E%3C/svg%3E")}
.cp-ic-wave{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 12c2.5-2 5-2 7.5 0s5 2 7.5 0 5-2 5 0%22/%3E%3Cpath d=%22M2 17c2.5-2 5-2 7.5 0s5 2 7.5 0 5-2 5 0%22/%3E%3Cpath d=%22M2 7c2.5-2 5-2 7.5 0s5 2 7.5 0 5-2 5 0%22/%3E%3C/svg%3E")}
.cp-ic-paw{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%225.5%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%229.5%22 cy=%225.5%22 r=%222%22/%3E%3Ccircle cx=%2214.5%22 cy=%225.5%22 r=%222%22/%3E%3Ccircle cx=%2218.5%22 cy=%2210%22 r=%222%22/%3E%3Cpath d=%22M8 17c0-2.8 1.8-5 4-5s4 2.2 4 5-1.8 3-4 3-4-.2-4-3z%22/%3E%3C/svg%3E")}
.cp-ic-cal{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22M3 10h18M8 3v4M16 3v4%22/%3E%3C/svg%3E")}
.cp-ic-tree{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2 5 12h4l-3 5h12l-3-5h4z%22/%3E%3Cpath d=%22M12 17v5%22/%3E%3C/svg%3E")}
.cp-ic-ferry{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 17l2 4h14l2-4z%22/%3E%3Cpath d=%22M6 17V11h12v6M9 11V7h6v4M12 3v4%22/%3E%3C/svg%3E")}
.cp-ic-users{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223.5%22/%3E%3Cpath d=%22M2 20c0-3.3 3.1-6 7-6s7 2.7 7 6%22/%3E%3Cpath d=%22M16 4.5a3.5 3.5 0 0 1 0 7M22 20c0-2.6-1.8-4.8-4.4-5.6%22/%3E%3C/svg%3E")}
.cp-ic-bell{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9%22/%3E%3Cpath d=%22M10.3 21a1.9 1.9 0 0 0 3.4 0%22/%3E%3C/svg%3E")}
.cp-ic-van{--cp-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23f6c518%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%227%22 width=%2215%22 height=%2210%22 rx=%222%22/%3E%3Cpath d=%22M17 12h3l2 3v2h-5%22/%3E%3Ccircle cx=%227%22 cy=%2218%22 r=%222%22/%3E%3C/svg%3E")}

.cp-stat{position:relative;border-left:0!important}
.cp-stat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#0e4c8f var(--cp-ic,none) center/24px no-repeat}
.cp-contact-box{position:relative;padding-left:96px!important}
.cp-contact-box::before{content:"";position:absolute;left:26px;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:#0e4c8f var(--cp-ic,none) center/24px no-repeat}
.cp-ic{display:inline-flex;align-items:center;gap:10px}
.cp-ic::before{content:"";flex:none;width:36px;height:36px;border-radius:50%;background:#0e4c8f var(--cp-ic,none) center/18px no-repeat}

/* ---------- Faded section photos: add cp-fade + one style class; set the photo with the class cp-photo-<name> ---------- */
.cp-fade{position:relative;isolation:isolate}
.cp-fade>*{position:relative;z-index:1}
.cp-fade::after{content:"";position:absolute;z-index:0;pointer-events:none;background:var(--cp-fade) var(--cp-fade-pos,center)/cover no-repeat;inset:0;opacity:.09}
.cp-fade-corner::after{inset:0 0 auto auto;width:min(62%,860px);height:92%;opacity:.22;-webkit-mask-image:radial-gradient(115% 105% at 100% 0%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%);mask-image:radial-gradient(115% 105% at 100% 0%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%)}
.cp-fade-corner-bl::after{inset:auto auto 0 0;width:min(58%,800px);height:88%;opacity:.2;-webkit-mask-image:radial-gradient(115% 105% at 0% 100%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%);mask-image:radial-gradient(115% 105% at 0% 100%,#000 0%,rgba(0,0,0,.55) 38%,transparent 70%)}
.cp-fade-horizon::after{inset:auto 0 0 0;height:78%;opacity:.22;background-position:var(--cp-fade-pos,center bottom);-webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 30%,transparent 100%);mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 30%,transparent 100%)}
.cp-fade-side::after{inset:0 0 0 auto;width:60%;opacity:.2;-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.cp-fade-side-left::after{inset:0 auto 0 0;width:60%;opacity:.2;-webkit-mask-image:linear-gradient(270deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(270deg,transparent,rgba(0,0,0,.45) 40%,#000),linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.cp-fade-diagonal::after{opacity:.2;-webkit-mask-image:linear-gradient(125deg,transparent 35%,rgba(0,0,0,.55) 62%,#000 100%);mask-image:linear-gradient(125deg,transparent 35%,rgba(0,0,0,.55) 62%,#000 100%)}
.cp-fade-mono::after{opacity:.11;filter:grayscale(1) contrast(1.05);-webkit-mask-image:linear-gradient(180deg,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(180deg,transparent,#000 25%,#000 75%,transparent)}
@media (max-width:900px){.cp-fade-corner::after,.cp-fade-corner-bl::after{width:100%;height:55%}.cp-fade-side::after,.cp-fade-side-left::after{width:100%;opacity:.15}}

.cp-photo-holy-loch{--cp-fade:url(img/holy-loch.jpg.webp)}
.cp-photo-countryside{--cp-fade:url(img/countryside.jpg.webp)}
.cp-photo-misty-hills{--cp-fade:url(img/misty-hills.jpg.webp)}
.cp-photo-loch-sunset{--cp-fade:url(img/loch-sunset.jpg.webp)}
.cp-photo-cayton-bay{--cp-fade:url(img/cayton-bay.jpg.webp)}
.cp-photo-scarborough-beach{--cp-fade:url(img/scarborough-beach.jpg.webp)}
.cp-photo-scarborough-castle{--cp-fade:url(img/scarborough-castle.jpg.webp)}
.cp-photo-cullen-viaduct{--cp-fade:url(img/cullen-viaduct.jpg.webp)}
.cp-photo-bow-fiddle-rock{--cp-fade:url(img/bow-fiddle-rock.jpg.webp)}
.cp-photo-cullen-bay{--cp-fade:url(img/cullen-bay.jpg.webp)}
.cp-photo-cullen-harbour{--cp-fade:url(img/cullen-harbour.jpg.webp)}
.cp-photo-dog-beach{--cp-fade:url(img/dog-beach.jpg.webp)}
.cp-photo-lodges-lake{--cp-fade:url(img/lodges-lake.jpg.webp)}
.cp-photo-static-park{--cp-fade:url(img/static-park.jpg.webp)}

/* Welcome image with inset photo */
.cp-inset-wrap{position:relative}
.cp-inset{position:absolute;right:-24px;bottom:-34px;width:42%;border:6px solid #fff;border-radius:18px;box-shadow:0 18px 40px rgba(8,30,62,.25);aspect-ratio:4/3;object-fit:cover}
@media (max-width:767px){.cp-inset{right:-8px;bottom:-24px;width:46%}}
