/* ==========================================================
   Sdílená základna pro SVĚTLÉ směry (B, C)
   Šablony jsou psané pro tmavý web; tady se překlopí povrchy,
   které by na světlém podkladu zůstaly černé.
   Barvy samotné nastavuje theme.css konkrétního směru.
   ========================================================== */

/* Tmavé plochy → světlé povrchy */
.bg-ink,
.bg-ink\/90 { background-color: rgb(var(--c-surface)); }

/* Navigace: světlá lišta s jemnou linkou */
#navbar {
    background-color: rgb(var(--c-base) / 0.92);
    border-bottom-color: rgb(var(--c-line));
}
#mobile-menu { background-color: rgb(var(--c-surface)); }

/* Logo je bílé (brightness-0 invert) — na světlém musí být tmavé */
img.invert { filter: brightness(0) !important; }

/* Lightboxy a fotogalerie zůstávají tmavé (fotka potřebuje tmavé pozadí) */
#image-modal,
#technical-modal { background-color: rgb(15 13 10 / 0.94) !important; }
#technical-modal [class*="col-span-7"] { background-color: #14120F !important; }
#image-modal #modal-content { background-color: #14120F !important; }
#image-modal #modal-content > div:last-child { background-color: #14120F !important; }
#image-modal #modal-title { color: #F5F0E8 !important; }
#technical-modal #modal-project-location,
#technical-modal #modal-project-number { color: #C9C2B4 !important; }

/* Cookie lišta a modal na světlém */
#cookie-consent-banner { background-color: rgb(var(--c-surface)); }
#cookie-settings-modal .cookie-modal-content { background-color: rgb(var(--c-base)); }
.cookie-toggle .toggle-slider { background: rgb(var(--c-line)); border-color: rgb(var(--c-line)); }

/* Karusel realizací: tmavý pás jako „výstavní síň" i ve světlém webu */
.projector-slide { background: #14120F; }

/* Vrstvy podloží — světlé směry je používají jen jako jemné odstíny */
.strata-surface { background: rgb(var(--c-base)); }
.strata-ornice  { background: rgb(var(--c-surface)); }
.strata-jil     { background: rgb(var(--c-base)); }
.strata-sterk   { background: rgb(var(--c-surface)); }
.strata-skala   { background: rgb(var(--c-base)); }
.strata-bedrock { background: rgb(var(--c-surface)); }
.strata::before { display: none; }

/* Mřížka na světlém musí být tmavá, ne světlá */
.bg-grid {
    background-image:
        linear-gradient(to right, rgb(var(--c-cream) / 0.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgb(var(--c-cream) / 0.06) 1px, transparent 1px);
}

/* Tvrdé stíny jsou na světlém příliš agresivní — jemnější linka */
.hard-shadow { box-shadow: 3px 3px 0 0 rgb(var(--c-line)); }
.hard-shadow-lg { box-shadow: 6px 6px 0 0 rgb(var(--c-line)); }
.hard-shadow-hover:hover { box-shadow: 4px 4px 0 0 rgb(var(--c-accent-soft)); transform: translate(-2px, -2px); }

/* Hloubková lišta se ve světlých směrech nepoužívá */
.depth-rail, .depth-rail-mini { display: none !important; }

/* ----------------------------------------------------------
   Kontrast na světlém podkladu (WCAG AA)
   ---------------------------------------------------------- */

/* Tmavý text na sytém akcentu neprojde — tlačítka a štítky dostanou bílou */
[class*="bg-copper"].text-ink,
[class*="bg-copper"] .text-ink,
.filter-btn.active,
button[class*="bg-copper"],
a[class*="bg-copper"] { color: #FFFFFF !important; }

/* Světlý odstín akcentu je na papíře nečitelný — použijeme tmavý */
.text-copper-light { color: rgb(var(--c-copper-dark)); }
.border-copper-light { border-color: rgb(var(--c-copper-dark)); }

/* ==========================================================
   Směr C — Inženýrský výkres
   Rýsovací papír, navy inkoust, technická červená.
   ========================================================== */

:root {
    --c-base: 237 233 223;      /* #EDE9DF rýsovací papír */
    --c-cream: 23 35 58;        /* #17233A navy inkoust (text) */
    --c-ink: 12 18 30;

    --c-copper: 163 50 36;      /* #A33224 technická červená (kontrast AA na papíře i s bílým textem) */
    --c-copper-light: 224 92 74;
    --c-copper-dark: 118 34 24;

    --c-surface: 227 222 210;   /* #E3DED2 */
    --c-line: 201 194 178;      /* #C9C2B2 */
    --c-accent-soft: 201 64 47;

    --c-sand-100: 40 54 82;
    --c-sand-200: 62 78 108;
    --c-sand-300: 70 84 110;
    --c-sand-500: 130 140 160;
    --c-sand-700: 201 194 178;
    --c-sand-800: 227 222 210;
    --c-sand-900: 231 227 217;

    --font-display: 'IBM Plex Mono';
    --font-body: 'Archivo';
    --font-tech: 'IBM Plex Mono';
}

h1, h2, h3, h4 {
    font-family: var(--font-display), ui-monospace, Menlo, monospace;
    font-weight: 600;
    letter-spacing: -0.02em;
}
h1 { line-height: 1.02; }

.font-mono { font-family: var(--font-tech), ui-monospace, Menlo, monospace; }

/* Modrotisková mřížka rýsovacího papíru */
.cad-grid {
    background-image:
        linear-gradient(to right, rgb(var(--c-cream) / 0.07) 1px, transparent 1px),
        linear-gradient(to bottom, rgb(var(--c-cream) / 0.07) 1px, transparent 1px),
        linear-gradient(to right, rgb(var(--c-cream) / 0.13) 1px, transparent 1px),
        linear-gradient(to bottom, rgb(var(--c-cream) / 0.13) 1px, transparent 1px);
    background-size: 12px 12px, 12px 12px, 60px 60px, 60px 60px;
}

/* Výkresový rám s rohovými značkami */
.cad-frame { position: relative; border: 1px solid rgb(var(--c-cream) / 0.35); }
.cad-frame::before, .cad-frame::after {
    content: ""; position: absolute; width: 10px; height: 10px;
    border: 1px solid rgb(var(--c-copper));
}
.cad-frame::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.cad-frame::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }

/* Popisové pole (title block) */
.cad-titleblock { border: 1px solid rgb(var(--c-cream) / 0.4); }
.cad-titleblock > div { border-right: 1px solid rgb(var(--c-cream) / 0.2); }
.cad-titleblock > div:last-child { border-right: 0; }
.cad-field-label {
    font-family: var(--font-tech), monospace; font-size: 9px; letter-spacing: 0.18em;
    text-transform: uppercase; color: rgb(var(--c-sand-300)); display: block; margin-bottom: 3px;
}
.cad-field-value { font-family: var(--font-tech), monospace; font-size: 13px; font-weight: 600; }

/* Kótovací čára */
.cad-dim { position: relative; padding-left: 22px; }
.cad-dim::before {
    content: ""; position: absolute; left: 6px; top: 4px; bottom: 4px;
    width: 1px; background: rgb(var(--c-copper));
}
.cad-dim::after {
    content: ""; position: absolute; left: 2px; top: 4px; width: 9px; height: 1px;
    background: rgb(var(--c-copper));
}

/* Technická tabulka */
.cad-table { width: 100%; border-collapse: collapse; font-family: var(--font-tech), monospace; font-size: 13px; }
.cad-table th, .cad-table td { border: 1px solid rgb(var(--c-line)); padding: 9px 12px; text-align: left; }
.cad-table th {
    background: rgb(var(--c-surface)); font-size: 10px; letter-spacing: 0.16em;
    text-transform: uppercase; color: rgb(var(--c-sand-300)); font-weight: 600;
}

/* Tlačítka: ostrá, technická */
a[class*="bg-copper"], button[class*="bg-copper"] { border-radius: 0; }

/* Karty realizací jako výkresové listy */
.project-card-wrapper article { border-radius: 0; }

/* ==========================================================
   TVAROSLOVÍ — VÝKRESOVÝ LIST
   Absolutně ostré hrany, vlasové rámy, šrafura místo výplně.
   Tvar nese informaci: co je „řez", je vyšrafované.
   ========================================================== */

.project-card-wrapper article,
a[class*="bg-copper"], button[class*="bg-copper"],
.filter-btn, input, textarea, select,
figure, #ba-container, iframe { border-radius: 0; }

/* Karty realizací = výkresové listy s vlasovým rámem a rohovou značkou */
.project-card-wrapper article {
    border-width: 1px;
    border-color: rgb(var(--c-cream) / 0.35);
    position: relative;
}
.project-card-wrapper article::after {
    content: "";
    position: absolute;
    top: 5px; right: 5px;
    width: 9px; height: 9px;
    border-top: 1px solid rgb(var(--c-copper));
    border-right: 1px solid rgb(var(--c-copper));
    pointer-events: none;
}

/* Šrafura — plocha „materiálu" v řezu */
.cad-hatch {
    background-image: repeating-linear-gradient(45deg,
        rgb(var(--c-cream) / 0.10) 0, rgb(var(--c-cream) / 0.10) 1px,
        transparent 1px, transparent 7px);
}

/* Vstupy: jen kótovací linka pod textem, žádný box */
input, textarea, select {
    border-width: 0 0 1px 0;
    border-bottom-color: rgb(var(--c-cream) / 0.45);
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
}
input:focus, textarea:focus, select:focus {
    border-bottom-color: rgb(var(--c-copper));
    box-shadow: 0 1px 0 0 rgb(var(--c-copper));
}

/* Tlačítka: ostrý obdélník s vlasovým rámem, žádný stín */
a[class*="bg-copper"], button[class*="bg-copper"], button[type="submit"] {
    box-shadow: none;
    border: 1px solid rgb(var(--c-copper-dark));
}

/* Žádné měkké stíny — výkres je plochý */
.hard-shadow, .hard-shadow-lg { box-shadow: none; border: 1px solid rgb(var(--c-line)); }
.hard-shadow-hover:hover { box-shadow: none; transform: none; border-color: rgb(var(--c-copper)); }

/* Vstupy: jen kótovací linka, žádný box */
#contact-form input, #contact-form textarea {
    border-radius: 0;
    border-width: 0 0 1px 0;
    border-bottom-color: rgb(var(--c-cream) / 0.45);
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
}
#contact-form input:focus, #contact-form textarea:focus {
    border-bottom-color: rgb(var(--c-copper));
    box-shadow: 0 1px 0 0 rgb(var(--c-copper));
}
