/**
 * Shared front-end overrides (loads after theme + plugin styles where applicable).
 */

/* ─── LENIA SANS — global self-hosted font ───────────────────────
   Declared here so every page (blog, case study, contact, etc.)
   can render Lenia Sans correctly. Offerings page also loads this
   via its dependency on viitorx-common.
──────────────────────────────────────────────────────────────── */
/* WOFF2 preferred (~45% smaller than TTF); TTF fallback for any browser that doesn't support WOFF2. */
@font-face { font-family:'Lenia Sans'; font-weight:400; font-style:normal;  font-display:swap; src:url('../fonts/lenia-sans/LeniaSans-Regular.woff2')   format('woff2'), url('../fonts/lenia-sans/LeniaSans-Regular.ttf')   format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:400; font-style:italic;  font-display:swap; src:url('../fonts/lenia-sans/LeniaSans-Italic.woff2')     format('woff2'), url('../fonts/lenia-sans/LeniaSans-Italic.ttf')     format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:500; font-display:swap;  src:url('../fonts/lenia-sans/LeniaSans-Medium.woff2')   format('woff2'), url('../fonts/lenia-sans/LeniaSans-Medium.ttf')   format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:600; font-display:swap;  src:url('../fonts/lenia-sans/LeniaSans-SemiBold.woff2') format('woff2'), url('../fonts/lenia-sans/LeniaSans-SemiBold.ttf') format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:700; font-style:normal;  font-display:swap; src:url('../fonts/lenia-sans/LeniaSans-Bold.woff2')       format('woff2'), url('../fonts/lenia-sans/LeniaSans-Bold.ttf')       format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:700; font-style:italic;  font-display:swap; src:url('../fonts/lenia-sans/LeniaSans-BoldItalic.woff2') format('woff2'), url('../fonts/lenia-sans/LeniaSans-BoldItalic.ttf') format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:800; font-display:swap;  src:url('../fonts/lenia-sans/LeniaSans-ExtraBold.woff2') format('woff2'), url('../fonts/lenia-sans/LeniaSans-ExtraBold.ttf') format('truetype'); }
@font-face { font-family:'Lenia Sans'; font-weight:900; font-display:swap;  src:url('../fonts/lenia-sans/LeniaSans-Black.woff2')    format('woff2'), url('../fonts/lenia-sans/LeniaSans-Black.ttf')    format('truetype'); }

/* intl-tel-input — Smart Phone Field / Contact Form 7 (IDs like iti-0__… change per instance) */
.iti__dropdown-content {
	overscroll-behavior: contain;
}

ul.iti__country-list {
	background: #161616;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

input.iti__search-input {
	color: #161616;
	padding: 10px
}

input.iti__search-input::placeholder {
	color: #161616;
	opacity: 1;
}

input.iti__search-input::-webkit-input-placeholder {
	color: #161616;
}

input.iti__search-input::-moz-placeholder {
	color: #161616;
	opacity: 1;
}
.footer-bottom-left a {
    color: #fff;
    text-decoration: none;
}

/* CF7 — hide the internal hidden-fields fieldset from visual rendering */
.wpcf7 .hidden-fields-container {
    display: none;
}

/* CF7 — screen-reader-response is an ARIA live region for assistive tech.
   Visually hidden but kept in the DOM so screen readers still announce it. */
.wpcf7 .screen-reader-response {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ─── GLOBAL CONTACT SECTION ──────────────────────────────────
   Reusable across any page via template-parts/contact-form-section.php
   Variables fall back gracefully if --color-text / --space-* are undefined.
────────────────────────────────────────────────────────────── */
.viitorx-contact-section {
    padding-block: clamp(56px, 8vw, 100px);
    background: #131313;
    box-sizing: border-box;
}

.viitorx-contact-section .contact__inner {
    display: grid;
    gap: 48px;
}

@media (min-width: 768px) {
    .viitorx-contact-section .contact__inner {
        grid-template-columns: 1fr 1fr;
        align-items: start;
        gap: 27px;
    }
}

.viitorx-contact-section .contact__left {
    display: grid;
    gap: 24px;
}

.viitorx-contact-section .contact__headline {
    font-family: 'Lenia Sans', var(--font-heading, sans-serif);
    font-weight: 800;
    font-size: clamp(28px, 4.5vw + 0.5rem, 64px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #f0f0e5;
    max-width: 18ch;
    margin: 0;
}

.viitorx-contact-section .contact__email {
    display: flex;
    align-items: center;
    gap: 10px;
}

.viitorx-contact-section .contact__email-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
}

.viitorx-contact-section .contact__email-icon-img {
    width: 32px;
    height: 32px;
}

.viitorx-contact-section .contact__email-link {
    font-family: 'Archivo', var(--font-main, sans-serif);
    font-weight: 400;
    font-size: clamp(16px, 2.4vw, 22px);
    line-height: 1.35;
    letter-spacing: -0.01em;
    color: #f0f0e5;
    text-decoration: none;
}

.viitorx-contact-section .contact__email-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.viitorx-contact-section .contact__right {
    display: grid;
    gap: 24px;
}

.viitorx-contact-section .contact__desc {
    font-family: 'Archivo', var(--font-main, sans-serif);
    font-weight: 400;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.5;
    color: rgba(240, 240, 229, 0.75);
    margin: 0;
}