/* Peenics Enterprises – additions on top of the exported theme styles. */

/* Content must never stay hidden if JavaScript is unavailable. */
.no-js .elementor-invisible { visibility: visible; }

/* Hero background slideshow */
.pe-slideshow { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.pe-slideshow__slide {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	opacity: 0; transition: opacity .8s ease;
}
.pe-slideshow__slide.is-active { opacity: 1; }
.pe-slideshow--kenburns .pe-slideshow__slide.is-active { animation: pe-kenburns 7s ease-out both; }
@keyframes pe-kenburns { from { transform: scale(1); } to { transform: scale(1.12); } }

/* Step numbers (replaces a 245 KB icon font used for three glyphs) */
.pe-step-num {
	position: relative; display: inline-block;
	width: 1em; height: 1em; border-radius: 50%;
	background: currentColor; font-style: normal; vertical-align: middle;
}
.pe-step-num::before {
	content: attr(data-n);
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font: 700 .58em/1 Arial, Helvetica, sans-serif;
}

/* Links inside contact details keep the surrounding text colour */
a.pe-plain, a.pe-plain:hover { color: inherit; text-decoration: none; }
a.pe-plain:hover { text-decoration: underline; }

/* Enquiry forms */
.pe-form .pe-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pe-form__status { width: 100%; margin: 14px 5px 0; padding: 0; font-size: 15px; line-height: 1.5; outline: 0; }
.pe-form__status:empty { display: none; }
.pe-form__status.is-ok, .pe-form__status.is-error { padding: 12px 16px; border-radius: 4px; border: 1px solid; }
.pe-form__status.is-ok { color: #14532d; background: #e8f6ec; border-color: #9ed3ad; }
.pe-form__status.is-error { color: #7f1d1d; background: #fdecec; border-color: #f0a8a8; }
.pe-form button.is-busy { opacity: .65; cursor: progress; }

/* Visible keyboard focus */
a:focus-visible, button:focus-visible, .elementor-menu-toggle:focus-visible,
.pe-form input:focus-visible, .pe-form textarea:focus-visible {
	outline: 2px solid #ee2a62; outline-offset: 2px;
}

.pe-skip { position: absolute; left: -9999px; top: 0; z-index: 10000; padding: 10px 16px; background: #fff; color: #1a1a1a; }
.pe-skip:focus { left: 8px; top: 8px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* 404 page */
.pe-404 { max-width: 640px; margin: 0 auto; padding: 110px 20px; text-align: center; }
.pe-404 h1 { font-size: 44px; margin: 0 0 12px; }
.pe-404 p { margin: 0 0 26px; }
