/*
 Copyright © 1999-2026 Francesco Doni. All Rights Reserved.
 YOU MAY NOT MODIFY, ADAPT, TRANSLATE, RENT, LEASE, LOAN, RESELL FOR PROFIT,
 DISTRIBUTE, NETWORK OR CREATE DERIVATIVE WORKS BASED UPON THIS SOFTWARE OR
 ANY PART THEREOF.
*/

:root {
    /* Tavolozza Colori Istituzionale Storica e Moderata */
    --brand-cyan: #004A5A;      /* Dominante istituzionale e tipografica */
    --brand-teal: #336666;      /* Intestazioni e sfondi secondari */
    --brand-cream: #faf8f5;     /* Modernizzazione del giallo #ffffcc (sfondi sidebar) */
    --brand-accent: #ff3900;    /* Rosso vibrante per hover, focus e stati attivi */
    --text-dark: #1c2826;       /* Testo principale ad alta leggibilità */
    --text-light: #ffffff;      /* Testo su fondi scuri */
    --bg-pure: #ffffff;         /* Sfondo globale pulito ereditato da .bw */
    --console-bg: #0d0d0d;      /* Sfondo terminale nero cibernetico */
    --console-green: #39ff14;   /* Prompt verde fosforo */

}

* { box-sizing: border-box; margin: 0; padding: 0; }

body.bw {
    background-color: var(--bg-pure);
    color: var(--text-dark);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    min-height: 100vh;
}

h1, h2, h3 { font-family: "Century Schoolbook", "Georgia", serif; font-weight: normal; color: var(--brand-cyan); }

/* STRUCTURE */
.grid-layout { display: flex; flex-direction: column; height: 100vh; }
.top-bar { background-color: var(--brand-teal); color: var(--text-light); display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; font-size: 12px; border-bottom: 2px solid var(--brand-cyan); }
.logo-text { font-family: "Century Schoolbook", serif; font-size: 16px; font-weight: bold; }
.sys-status { display: flex; align-items: center; font-weight: 600; }
.status-indicator-green { width: 8px; height: 8px; background-color: var(--console-green); border-radius: 50%; display: inline-block; margin-right: 8px; box-shadow: 0 0 6px var(--console-green); }
.clock-ticker { font-family: monospace; }
.main-container { display: flex; flex: 1; overflow: hidden; }

/* SIDEBAR REWRITE */
.info-sidebar { width: 35%; background-color: var(--brand-cream); border-right: 1px solid #e0dacb; padding: 40px; overflow-y: auto; }
.sidebar-content h1 { font-size: 26px; margin-bottom: 5px; }
.sidebar-content h2 { font-size: 13px; color: var(--brand-teal); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; }
.geo-divider { height: 3px; width: 60px; background-color: var(--brand-cyan); margin-bottom: 25px; }
.abstract { font-size: 14px; text-align: justify; color: #404a48; }
.institutional-credo { margin-top: 40px; padding-top: 20px; border-top: 1px dashed #c8bfa7; }
.institutional-credo blockquote { font-family: "Century Schoolbook", serif; font-style: italic; font-size: 14px; color: var(--brand-cyan); }

/* COVER VIEWPORT CORE SYSTEM */
.cover-viewport { width: 65%; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #f0f2f1; padding: 20px; position: relative; }
.cover-viewport.homepage-standalone { width: 100%; height: 100vh; background-color: #ffffff; }
.cover-wrapper { position: relative; width: 100%; max-width: 567px; aspect-ratio: 1 / 1; border: 1px solid #e0e0e0; }
.base-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.interactive-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }

/* HOTSPOTS GEOMETRY */
.grid-zone { position: relative; text-decoration: none; display: flex; align-items: center; justify-content: center; z-index: 1; }
.grid-zone:hover { background-color: rgba(0, 74, 90, 0.03); }
.zone-label { background-color: rgba(255, 255, 255, 0.92); color: var(--brand-cyan); font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; padding: 5px 10px; border: 1px solid var(--brand-teal); pointer-events: none; transition: all 0.2s ease; }
.grid-zone:hover .zone-label { color: var(--text-light); background-color: var(--brand-accent); border-color: var(--brand-accent); }

.top-left { justify-content: flex-start; align-items: flex-start; padding: 85px 20px 20px 175px; }
.top-right { justify-content: flex-end; align-items: flex-start; padding: 85px 20px 20px 20px; }
.bottom-left { justify-content: flex-start; align-items: flex-end; padding: 20px 20px 115px 175px; }
.bottom-right { justify-content: flex-end; align-items: flex-end; padding: 20px 20px 115px 20px; }

/* CENTER CORE & MOTTO */
.center-core, .center-core-home { grid-column: 1 / span 2; grid-row: 1 / span 2; position: absolute; top: 35%; left: 38%; width: 45%; height: 26%; z-index: 2; background: transparent; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.center-core { background: #ffffff; border: 1px solid var(--brand-cyan); left: 30%; width: 40%; height: 30%; }
.core-target { text-align: center; }
.core-title { display: block; font-size: 14px; font-weight: bold; }
.core-subtitle { display: block; font-size: 10px; color: var(--brand-teal); text-transform: uppercase; }

/* HOVER OVERLAYS CORNICE "C" STRIPS */
.header-overlay-strip { position: absolute; top: 15px; right: 20px; text-align: right; z-index: 5; }
.legacy-company-title { display: block; font-family: "Century Schoolbook", serif; font-size: 40px; font-weight: bold; font-style: italic; color: var(--brand-cyan); }
.clock-ticker-overlay { display: block; font-family: monospace; font-size: 11px; color: #555555; margin-top: 2px; }
.footer-overlay-strip { position: absolute; bottom: 25px; left: 175px; display: flex; align-items: center; z-index: 5; }
.gold-arrow-icon { margin-right: 8px; width: 16px; height: 16px; object-fit: contain; }
.legacy-copyright-notice { font-size: 11px; color: #ffffff; font-family: Arial, sans-serif; }

/* PLACEMENT SPECIALI HOMEPAGE */
.frost-motto { font-family: "Century Schoolbook", serif; font-style: italic; font-size: 11px; color: #004A5A; text-align: center; line-height: 1.4; }
.global-gate-link { position: absolute; top: 62%; left: 38%; width: 45%; text-align: center; z-index: 10; text-decoration: none; }
.gate-text { display: inline-block; padding: 6px 14px; background-color: var(--brand-cyan); color: #ffffff; font-size: 11px; font-weight: bold; border-radius: 3px; border: 1px solid var(--brand-teal); letter-spacing: 1px; }
.global-gate-link:hover .gate-text { background-color: var(--brand-accent); border-color: var(--brand-accent); }
.language-flags-cluster { position: absolute; bottom: 25px; left: 55px; z-index: 10; display: flex; gap: 8px; }
.flag-trigger { text-decoration: none; font-size: 10px; font-weight: bold; color: #ffffff; background: rgba(0,0,0,0.4); padding: 4px 6px; border-radius: 2px; border: 1px solid rgba(255,255,255,0.2); }
.flag-trigger:hover { background: var(--brand-accent); color: #ffffff; }

/* SYSTEM CONSOLE TERMINAL */
.system-console { width: 100%; max-width: 567px; background-color: var(--console-bg); border-left: 3px solid var(--brand-cyan); padding: 10px 15px; margin-top: 20px; font-family: monospace; font-size: 12px; color: var(--text-light); display: flex; }
.system-console.home-console-spec { position: absolute; bottom: -50px; left: 0; background: transparent; border-left: none; color: var(--brand-cyan); width: 100%; max-width: 100%; padding: 5px 0; }
.system-console.home-console-spec .console-prompt { color: var(--brand-accent); }
.console-prompt { color: var(--console-green); font-weight: bold; margin-right: 10px; }
.console-stream { transition: opacity 0.15s ease; }
.system-footer { background-color: #f4f4f4; border-top: 1px solid #e0e0e0; padding: 10px 20px; font-size: 11px; color: #666666; display: flex; justify-content: space-between; align-items: center; }
.r-d-easteregg { font-family: monospace; font-size: 10px; color: #cccccc; font-style: italic; }

@media (max-width: 768px) {
    .main-container { flex-direction: column; }
    .info-sidebar { width: 100%; }
    .cover-viewport { width: 100%; padding: 40px 15px; }
    .center-core { left: 25%; width: 50%; }
    .top-left, .top-right, .bottom-left, .bottom-right { padding: 20px; justify-content: center; align-items: center; }
    .footer-overlay-strip, .language-flags-cluster { position: relative; left: 0; bottom: 0; margin-top: 10px; }
}
