*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; scroll-behavior: smooth !important;}

:root {
    --color-green: #215446;
    --color-pink: #FFA0B1;
    --color-yellow: #DEC149;
    --color-white: #FFFFFF;
    --color-black: #000000;
}

body { font-family: 'Montserrat', sans-serif; background: var(--color-white); }
h1 { display: unset; font-size: unset; margin-block: unset; margin-inline: unset; }
h2 { font-size: 2.5em; font-weight: bold; line-height: 1.3; margin-bottom: 1em; }
p, blockquote { line-height: 1.75; margin-bottom: 1.5em; }
html { scroll-behavior: smooth; scroll-padding-top: 3.25em; scroll-behavior: smooth !important; }
a { color: var(--color-white); }

/**********************************************************************************************************************/
/* NAVBAR
/**********************************************************************************************************************/
nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    background: var(--color-green);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2.5em;
    height: 3.5em; /* was 4em */
    transition: transform 0.3s ease;
}
nav .logo { width: 11em; height: auto; }
nav.nav-hidden { transform: translateY(-100%); }

.nav-links { display: flex; align-items: center; gap: 0.5em; list-style: none;}
.nav-links a { color: var(--color-white); text-decoration: none; font-size: 1em; font-weight: 500; border-radius: 1em; transition: background 0.2s, color 0.2s; padding: 0.5em; }
.nav-links a:hover { background: var(--color-pink); color: var(--color-green); }
.hamburger { display: none; flex-direction: column; gap: 0.25em; cursor: pointer; background: none; border: none; }
.hamburger span { display: block; width: 1.5em; height: 0.125em; background: var(--color-white); border-radius: 0.125em; }

/**********************************************************************************************************************/
/* INÍCIO
/**********************************************************************************************************************/
#inicio { padding-top: 3.5em; background: var(--color-green); }
.inicio-container { display: flex; align-items: center; gap: clamp(1.5em, 4vw, 4em); padding: clamp(1.5em, 5vw, 4em); max-width: 1200px; margin: 0 auto; justify-content: center;}
.inicio-ornament img { width: clamp(4em, 8vw, 7em); height: auto; }
.inicio-texto { display: flex; flex-direction: column; justify-content: center; gap: 0.2em; font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900; line-height: 0.9; color: var(--color-yellow); }
.inicio-a, .inicio-no, .inicio-brasil { font-size: clamp(2.5rem, 6vw, 5rem); }
.inicio-wikimedia { font-size: clamp(3rem, 8vw, 6.25rem); font-family: 'Montserrat', sans-serif; font-style: normal; color: var(--color-pink); }
.inicio-linha { display: flex; align-items: center; justify-content: space-between; }
.inicio-subtitulo { display: flex; flex-direction: column; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 600; font-style: normal; font-size: clamp(0.9rem, 2vw, 1.5rem); color: var(--color-pink); }
.inicio-logo { align-self: flex-end; width: clamp(4em, 8vw, 7em); height: auto; }

/**********************************************************************************************************************/
/* LIVRO
/**********************************************************************************************************************/
#livro { display: flex; min-height: 32em; flex-wrap: wrap; }
.livro-left { display: flex; flex: 1; align-items: center; justify-content: center; padding: 4em; background: var(--color-pink); }
.livro-left img { max-width: 32em; width: 100%; height: auto; }
.livro-right { display: flex; flex: 1; align-items:center; justify-content: center; padding: 4em; background: var(--color-white); flex-direction: column; }
.livro-right h2 { color: var(--color-green); }
.livro-right p { color: var(--color-black); }
.livro-right p:last-child { margin-bottom: 0; }

/**********************************************************************************************************************/
/* SOBRE
/**********************************************************************************************************************/
#sobre { background: var(--color-green); padding: 4em; }
.sobre-inner { display: flex; flex-direction: row; gap: 4em; margin: 0 auto; align-items: start; max-width: 66em; }
.sobre-inner h2 { color: var(--color-yellow); }
.sobre-inner p { color: var(--color-white); }
.sobre-inner p:last-child { margin-bottom: 0; }
.sobre-ornament { flex-shrink: 0; }
.sobre-ornament img { width: 7em; height: auto; padding-top: 0.5em; }

/**********************************************************************************************************************/
/* FALAS
/**********************************************************************************************************************/
#falas { color: var(--color-green); }
#falas-titulo { background: var(--color-pink); margin-bottom: 0; padding: 1em; text-align: center; }
.falas-container { display: flex; gap: 4em; justify-content: center; flex-wrap: wrap; padding: 4em; }
.fala-card { display: flex; flex-direction: column; align-items: center; text-align: center; }
.fala-photo-wrap { position: relative; width: 16em; height: 16em; margin-bottom: 3em; flex-shrink: 0; }
.fala-photo-wrap img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center 20%; border: 0.5em solid var(--color-pink);}
.legenda { font-size: small; }
.fala-quote-icon { font-size: 4.5em; font-weight: bold; line-height: 1; }
.fala-text { max-width: 24em; }
.fala-name { font-weight: bold; }

/**********************************************************************************************************************/
/* MÍDIA
/**********************************************************************************************************************/
#midia-titulo { background: var(--color-green); color: var(--color-yellow); margin-bottom: 0; padding: 1em; text-align: center; }
.midia-body { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4em; padding: 4em; background: var(--color-pink); }
.midia-body > img { max-width: 30em; width: 100%; height: auto; flex-shrink: 0; }

.midia-container { display: flex; gap: 4em; width: 30em; }
.midia-ornament { width: 4em; flex-shrink: 0; }
.midia-ornament img { width: 100%; height: auto; }
.midia-links { display: flex; flex-direction: column; gap: 1.5em; flex: 1; }
.midia-links a { color: var(--color-green); text-decoration: underline; text-underline-offset: 0.25em; transition: opacity 0.2s; }
.midia-links a:hover { font-weight: bold; }

/**********************************************************************************************************************/
/* AGENDA
/**********************************************************************************************************************/
#agenda-titulo { background: var(--color-white); color: var(--color-green); margin-bottom: 0; padding: 1em; text-align: center; }
.agenda-body { background: var(--color-green); padding: 4em; }
.agenda-items { width: 66em; margin: 0 auto; }
.agenda-item { display: flex; gap: 4em; justify-content: center; padding: 2em; border-bottom: 1px solid var(--color-white); }
.agenda-item:first-child { padding-top: 0; }
.agenda-item:last-child { padding-bottom: 0; border-bottom: none; }
.agenda-date { flex: 1; font-size: 3em; font-weight: bold; color: var(--color-white); text-align: center; margin: auto; }
.agenda-info { flex: 1; color: var(--color-white); font-size: 1.25em; text-align: center; line-height: 1.5; margin-bottom: 0; }

#toTop { position: fixed; bottom: 1.5em; right: 1.5em; z-index: 1000; display: none; align-items: center; justify-content: center; width: 2.5em; height: 2.5em; background: var(--color-pink); color: var(--color-green); border: none; border-radius: 50%; cursor: pointer; font-size: 1.25em; font-weight: bold; box-shadow: 0 4px 10px rgba(0,0,0,0.15); transition: opacity 0.2s, transform 0.2s; }
#toTop:hover { transform: translateY(-2px); }
#toTop.show { display: flex; }

/**********************************************************************************************************************/
/* ACESSO
/**********************************************************************************************************************/
#acesso-titulo { background: var(--color-white); color: var(--color-green); margin-bottom: 0; padding: 1em; text-align: center; }
.acesso-outer { background: var(--color-green); padding: 0 4em; }
.acesso-body { display: grid; grid-template-columns: 1fr 1px 1fr; max-width: 52em; margin: 0 auto; width: 60%; }
.acesso-divider { background: rgba(255,255,255,0.4); margin: 2em 0; }
.acesso-item { display: flex; align-items: center; gap: 1em; text-decoration: none; color: var(--color-white); font-size: 1.15em; font-weight: 500; padding: 4em 2em; transition: opacity 0.2s; }
.acesso-item:hover { opacity: 0.75; }
.acesso-item img { width: 2.5em; height: 2.5em; object-fit: contain; flex-shrink: 0; }
.acesso-item img[alt="Ícone livro físico"] { width: 2em; height: 2em; }
.acesso-item:nth-child(1), .acesso-item:nth-child(3) { border-bottom: 1px solid rgba(255,255,255,0.4); }



@media (max-width: 600px) {
    nav { padding: 0 1em; }
    .nav-links { display: none; flex-direction: column; position: absolute; top: 3.25em; left: 0; right: 0; background: var(--color-green); padding: 1em; gap: 1em; }
    .nav-links.open, .hamburger { display: flex; }
    #livro { flex-direction: column; }
    .livro-right { padding: 40px 20px; }
    #sobre { padding: 1em 0; }
    .sobre-inner { padding: 0 20px; gap: 1em; }
    .falas-container { padding: 1em; }
    .fala-photo-wrap { width: 200px; height: 200px; }
    .fala-text { max-width: unset; text-align: left; }
    .fala-quote-icon { align-self: start; }
    .fala-name { align-self: end; }
    .midia-body { flex-direction: column; padding: 1em; }
    .midia-container { width: 100%; }
    .agenda-body { padding: 1em; }
    .agenda-items { width: unset; }
    .agenda-item { gap: 1em; padding: 1em; }
    .inicio-container { align-items: flex-start; }
    .inicio-linha { flex-direction: column; align-items: flex-start; gap: 0.25em; }
    .acesso-outer { padding: 0 1.5em; }
	.acesso-body { grid-template-columns: 1fr; width: 100%; }
	.acesso-divider { display: none; }
	.acesso-item { padding: 1.5em 0; border-bottom: 1px solid rgba(255,255,255,0.4); }
	.acesso-item:last-child { border-bottom: none; }
}