/*
Theme Name: FIAC 2026
Theme URI: https://fiacbahia.com.br/2026/
Description: Tema de página única para a 17ª edição do FIAC Bahia.
Version: 2.5.2
Author: FIAC Bahia
License: GPL-2.0-or-later
Text Domain: fiac-2026
*/

:root {
    --fiac-background: #ffffff;
    --fiac-text: #000000;
    --fiac-title: #000000;
    --fiac-link: #000000;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    background: var(--fiac-background);
    color: var(--fiac-text);
    font-family: "Roboto", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.42;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--fiac-link); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--fiac-link); outline-offset: 5px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(34px, 5vw, 78px) 0 clamp(56px, 8vw, 120px);
}
.site-logo { display: block; width: 100%; text-decoration: none; }
.site-logo img { width: 100%; height: auto; object-fit: contain; object-position: center; }
.site-logo__image--padded {
    height: clamp(72px, 7vw, 100px);
    object-fit: cover;
    object-position: center 38%;
}
.site-logo__default {
    display: block;
    width: 100%;
    aspect-ratio: 1214 / 29;
    background: var(--fiac-text);
    -webkit-mask: url("assets/images/logo.svg") center / contain no-repeat;
    mask: url("assets/images/logo.svg") center / contain no-repeat;
}

.site-content {
    width: min(980px, calc(100% - 48px));
    margin: 0 auto;
}
.content-block {
    display: grid;
    grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
    gap: clamp(42px, 6vw, 90px);
    padding: clamp(52px, 7vw, 92px) 0;
    border-top: 1px solid color-mix(in srgb, var(--fiac-text) 38%, transparent);
}
.content-block:first-child { border-top: 0; padding-top: 0; }
.content-block__title {
    margin: 0;
    color: var(--fiac-title);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(32px, 3.2vw, 32px);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: .95;
    text-transform: uppercase;
}
.content-block__text { min-width: 0; padding-top: 3px; }
.rich-text { overflow-wrap: anywhere; }
.rich-text p { margin: 0 0 1.55em; }
.rich-text p:last-child { margin-bottom: 0; }
.sheet-link { display: inline-block; color: var(--fiac-link); font-weight: 700; }

.site-footer {
    width: min(720px, calc(100% - 48px));
    margin: clamp(40px, 6vw, 80px) auto 0;
    padding: clamp(46px, 6vw, 78px) 0 clamp(42px, 6vw, 72px);
    border-top: 1px solid color-mix(in srgb, var(--fiac-text) 38%, transparent);
}
.site-footer img { width: 100%; max-height: 150px; object-fit: contain; object-position: center; }

@media (max-width: 700px) {
    body { font-size: 16px; }
    .site-header { width: min(100% - 32px, 1320px); padding: 30px 0 70px; }
    .site-content { width: min(100% - 40px, 980px); }
    .content-block { grid-template-columns: 1fr; gap: 24px; padding: 54px 0; }
    .content-block__title { font-size: clamp(28px, 8vw, 38px); overflow-wrap: anywhere; }
    .content-block__text { padding-top: 0; }
    .site-footer { width: min(100% - 40px, 720px); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
