/* Small own additions on top of the migrated WordPress/Elementor theme CSS:
   the honeypot field, the consent banner, the language switch, the lightbox,
   the contact-form status messages and the consent-gated map placeholder. */

/* Honeypot: invisible for humans, present for bots. */
.prgv-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

/* Cookie-consent banner (self-hosted; the old site used Cookiebot). */
.prgv-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    background: #14172c;
    color: #ffffff;
    padding: 16px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: center;
    font-family: Roboto, sans-serif;
    font-size: 15px;
}

.prgv-consent p {
    margin: 0;
}

.prgv-consent__buttons {
    display: flex;
    gap: 8px;
}

.prgv-consent__buttons button {
    border: 0;
    border-radius: 4px;
    padding: 10px 22px;
    font-size: 15px;
    cursor: pointer;
    background: #3bbfc1;
    color: #14172c;
}

.prgv-consent__buttons #prgv-consent-decline {
    background: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
}

/* Contact-form status messages (Elementor's own classes, restyled minimally). */
.elementor-message {
    margin: 0 0 15px;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 15px;
}

.elementor-message-success {
    background: #e7f6ec;
    color: #1d6f42;
}

.elementor-message-danger {
    background: #fdecea;
    color: #b3261e;
}

/* Lightbox for the gallery photos (behaviour of the old Elementor lightbox). */
.prgv-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
}

.prgv-lightbox[hidden] {
    display: none;
}

.prgv-lightbox figure {
    margin: 0;
    max-width: 90vw;
    max-height: 90vh;
    text-align: center;
}

.prgv-lightbox img {
    max-width: 90vw;
    max-height: 82vh;
    object-fit: contain;
}

.prgv-lightbox figcaption {
    color: #ffffff;
    padding-top: 10px;
    font-family: Roboto, sans-serif;
    font-size: 14px;
}

.prgv-lightbox button {
    position: absolute;
    background: transparent;
    border: 0;
    color: #ffffff;
    font-size: 42px;
    line-height: 1;
    cursor: pointer;
    padding: 12px;
    min-width: 48px;
    min-height: 48px;
}

.prgv-lightbox__close {
    top: 12px;
    right: 16px;
}

.prgv-lightbox__prev {
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
}

.prgv-lightbox__next {
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
}

body.prgv-lightbox-open {
    overflow: hidden;
}

/* Consent-gated Google Maps embed: the click-to-load note before consent. */
.elementor-custom-embed {
    position: relative;
}

.prgv-embed-note {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 1px dashed #9aa0a6;
    background: #f4f5f7;
    color: #14172c;
    cursor: pointer;
    font-family: Roboto, sans-serif;
    font-size: 15px;
    padding: 12px;
}

/* The added language switch in the menu: slightly separated from the page links. */
.prgv-lang-switch {
    margin-left: 12px;
}

.prgv-lang-switch > a {
    opacity: 0.75;
}

/* While the consent banner is open, the WhatsApp button moves above it. */
body.prgv-consent-open .joinchat {
    bottom: 110px;
}

/* The consent note sits inside the video embed's own aspect box. */
.wp-block-embed__wrapper {
    position: relative;
}
