/*
Theme Name: Equipment Under Construction
Author: RCME S.L.
Description: Responsive under-construction theme with 4FLUID-inspired ocean blue, dark-blue typography, white space and pale-blue accents. Includes optional header, navigation, page title, page content and footer controls.
Version: 1.1.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: equipment-under-construction
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, custom-logo, custom-menu, custom-colors, accessibility-ready
*/

:root {
    --euc-bg: #ffffff;
    --euc-fg: #014381;
    --euc-accent: #0182ca;
    --euc-muted: #587b99;
    --euc-pale: #e7f6ff;
    --euc-ocean: #015f8c;
    --euc-top-band-height: clamp(58px, 7.5vw, 104px);
    --euc-bottom-band-height: clamp(78px, 13vh, 142px);
    --euc-font-max: 88px;
}

*, *::before, *::after { box-sizing: border-box; }
html { margin: 0; min-height: 100%; }
body {
    margin: 0;
    min-width: 0;
    min-height: 100vh;
    background: var(--euc-bg);
    color: var(--euc-fg);
    font-family: "Lato", "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.euc-site {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
}
/* A restrained ocean-blue top band and a pale-blue lower panel echo the 4FLUID site.
   Each can be disabled independently in Appearance > Customize. */
.euc-site::before, .euc-site::after { content: ""; width: 100%; flex: 0 0 auto; }
.euc-site::before {
    height: var(--euc-top-band-height);
    background:
        radial-gradient(ellipse at 76% -15%, rgba(87, 183, 210, .22), transparent 56%),
        radial-gradient(ellipse at 15% 115%, rgba(0, 41, 85, .35), transparent 68%),
        linear-gradient(100deg, #014d76 0%, var(--euc-ocean) 55%, #00719d 100%);
}
.euc-site::after { height: var(--euc-bottom-band-height); background: var(--euc-pale); }
.euc-header, .euc-footer { width: 100%; flex: 0 0 auto; }
.euc-header {
    padding: clamp(14px, 2vw, 28px) clamp(18px, 4vw, 64px);
    border-bottom: 1px solid var(--euc-pale);
    background: var(--euc-bg);
}
.euc-header-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    width: 100%;
}
.euc-brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; font-size: 1.1rem; }
.euc-brand a, .euc-nav a { color: var(--euc-fg); text-decoration: none; }
.euc-brand img { max-height: 60px; width: auto; max-width: min(220px, 75vw); object-fit: contain; }
.euc-nav ul {
    display: flex; flex-wrap: wrap; gap: 10px 22px;
    list-style: none; margin: 0; padding: 0;
}
.euc-nav a { padding: 4px 0; }
.euc-nav a:hover, .euc-nav a:focus-visible { color: var(--euc-accent); text-decoration: underline; }
.euc-main {
    flex: 1 0 auto;
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 0;
    padding: clamp(24px, 5vw, 80px) clamp(16px, 4vw, 64px);
}
.euc-center {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    text-align: center;
    overflow-wrap: anywhere;
}
.euc-message {
    font-size: clamp(2.2rem, 8vw, var(--euc-font-max));
    font-weight: 600;
    line-height: 1.14;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    margin: 0;
    overflow-wrap: anywhere;
    text-wrap: balance;
    white-space: pre-line;
}
.euc-page-title {
    font-weight: 600;
    font-size: clamp(1.1rem, 2.3vw, 1.65rem);
    line-height: 1.35;
    margin: 0 0 clamp(16px, 3vw, 32px);
    overflow-wrap: anywhere;
}
.euc-subtitle {
    font-size: clamp(1rem, 2.2vw, 1.4rem);
    line-height: 1.5;
    margin: clamp(16px, 3vw, 28px) auto 0;
    max-width: 60ch;
    color: var(--euc-muted);
    white-space: pre-line;
}
.euc-content {
    max-width: min(100%, 840px);
    margin: 28px auto 0;
    overflow-wrap: anywhere;
    line-height: 1.65;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    text-align: start;
}
.euc-content img, .euc-content video, .euc-content iframe { max-width: 100%; height: auto; }
.euc-content .wp-block-image img { height: auto; }
.euc-content a { color: var(--euc-accent); }
.euc-content a:hover, .euc-content a:focus-visible { color: var(--euc-fg); }
.euc-footer {
    text-align: center;
    padding: 16px clamp(18px, 4vw, 64px);
    font-size: 0.9rem;
    background: var(--euc-pale);
    color: var(--euc-fg);
}
.euc-footer p { margin: 0; }
.euc-skip-link {
    position: absolute;
    left: 12px;
    top: -120px;
    z-index: 99999;
    padding: 10px 14px;
    background: var(--euc-fg);
    color: var(--euc-bg);
}
.euc-skip-link:focus { top: 12px; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 640px) {
    .euc-header-inner { justify-content: center; }
    .euc-nav ul { justify-content: center; }
    .euc-message { font-size: clamp(2.2rem, 9vw, var(--euc-font-max)); }
    .euc-main { padding-inline: 16px; }
    .euc-site::before { height: min(64px, var(--euc-top-band-height)); }
    .euc-site::after { height: min(92px, var(--euc-bottom-band-height)); }
}
@media (max-width: 360px) {
    .euc-main { padding-inline: 12px; }
    .euc-message { letter-spacing: -0.055em; }
}

/* Front Office: render the full Polish Management Portal instead of the
   construction heading. Keep the shared blue bands, fonts and theme colors.
   The portal's own responsive tables and controls need more than 840px. */
.euc-front-office .euc-main {
    display: block;
    padding: clamp(24px, 4vw, 64px) clamp(16px, 4vw, 64px);
}
.euc-front-office .euc-center {
    text-align: start;
}
.euc-front-office .euc-content {
    max-width: 100%;
    margin: 0 auto;
    overflow-wrap: normal;
    line-height: normal;
    font-size: inherit;
    text-align: start;
}
.euc-front-office .euc-content .aiecmp-shell {
    width: 100%;
    max-width: 100%;
}
