/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*********************** LP STYLE *****************************/

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --green:#024b36;
  --green-mid:#106349;
  --cream:#efe8dc;
  --cream-dark:#e4dbd0;
  --gold:#C4862A;
  --gold-light:#D49840;
  --brown:#3D2B1F;
  --brown-light:#5C3D28;
  --white:#FFFFFF;
  --border-green:rgba(239,232,220,0.18);
  --border-cream:rgba(2,75,54,0.15);
  --border-gold:rgba(196,134,42,0.3);
}
body{font-family:'DM Sans',sans-serif;background:var(--green);color:var(--green);line-height:1.6;overflow-x:hidden}

/* NAV */
nav{background:var(--green);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border-green)}
.logo{font-family:'Playfair Display',serif;color:var(--cream);font-size:1.5rem;font-weight:700;letter-spacing:0.02em}
.logo span{color:rgba(239,232,220,0.45);font-size:0.9rem;font-weight:300;display:block;letter-spacing:0.15em;text-transform:uppercase}
.nav-cta{background:var(--gold);color:var(--white);padding:0.6rem 1.4rem;border-radius:2px;font-size:0.85rem;font-weight:600;text-decoration:none;letter-spacing:0.05em;text-transform:uppercase;transition:background 0.2s}
.nav-cta:hover{background:var(--gold-light)}

/* HERO — verde escuro, acento ouro */
.hero{background:var(--green);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;min-height:90vh;display:flex;align-items:center;justify-content:center;flex-direction:column}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center top, rgba(16,99,73,0.4) 0%, transparent 60%);pointer-events:none}
.hero-eyebrow{color:var(--gold);font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;font-weight:500;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';width:40px;height:1px;background:var(--gold);opacity:0.5}
.hero h1{font-family:'Playfair Display',serif;color:var(--cream);font-size:clamp(2.8rem,6vw,5rem);font-weight:900;line-height:1.05;margin-bottom:1.5rem;max-width:800px}
.hero h1 em{color:var(--gold);font-style:normal}
.hero-sub{color:rgba(239,232,220,0.65);font-size:1.1rem;font-weight:300;max-width:560px;margin:0 auto 2.5rem;line-height:1.7}
.hero-tags{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}
.hero-tag{border:1px solid rgba(196,134,42,0.35);color:rgba(239,232,220,0.6);padding:0.35rem 1rem;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;border-radius:2px}
.btn-gold{background:var(--gold);color:var(--white);padding:1rem 2.5rem;font-size:0.9rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;text-decoration:none;display:inline-block;transition:all 0.2s}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px)}
.btn-outline-cream{background:transparent;color:var(--cream);padding:1rem 2.5rem;font-size:0.9rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;text-decoration:none;display:inline-block;border:1px solid rgba(239,232,220,0.25);transition:all 0.2s}
.btn-outline-cream:hover{border-color:rgba(239,232,220,0.55)}
.hero-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

.divider-gold{height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0.5}

/* MISSÃO — creme, linha dourada */
.missao{background:var(--cream);padding:5rem 2rem}
.missao-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.section-label-gold{color:var(--gold);font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;font-weight:600;margin-bottom:0.75rem}
.section-label-cream{color:rgba(239,232,220,0.55);font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;font-weight:600;margin-bottom:0.75rem}
.section-label-green{color:var(--green-mid);font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;font-weight:600;margin-bottom:0.75rem}
.missao-quote{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--brown);line-height:1.4;border-left:3px solid var(--gold);padding-left:1.5rem;font-style:italic}
.missao-text p{margin-bottom:1.2rem;font-size:1.05rem;color:#3a5e4e;line-height:1.8}
.missao-text strong{color:var(--green)}

/* CTA BAND — marrom, texto creme */
.cta-band-brown{background:var(--brown);padding:3rem 2rem;text-align:center}
.cta-band-brown h3{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--cream);margin-bottom:0.75rem;font-weight:700}
.cta-band-brown p{color:rgba(239,232,220,0.6);margin-bottom:1.5rem;font-size:1rem}
.btn-cream-solid{background:var(--cream);color:var(--brown);padding:0.9rem 2.2rem;font-size:0.88rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;text-decoration:none;display:inline-block;transition:all 0.2s}
.btn-cream-solid:hover{background:var(--white)}

/* PROGRAMAS — verde escuro, nome ouro */
.programas-bg{background:var(--green);padding:5rem 2rem}
.wrap{max-width:1100px;margin:0 auto}
.section-title-cream{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1.5rem;color:var(--cream)}
.section-title-green{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1.5rem;color:var(--green)}
.section-title-brown{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1.5rem;color:var(--brown)}
.programas-grid{max-width:1100px;margin:2.5rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;padding:0 2rem}
.prog-card{background:rgba(239,232,220,0.05);border:1px solid rgba(239,232,220,0.15);padding:2rem 1.5rem;border-radius:2px;transition:border-color 0.25s,background 0.25s}
.prog-card:hover{border-color:rgba(196,134,42,0.5);background:rgba(239,232,220,0.07)}
.prog-age{color:rgba(239,232,220,0.45);font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;margin-bottom:0.5rem}
.prog-name{font-family:'Playfair Display',serif;color:var(--cream);font-size:1.4rem;font-weight:700;margin-bottom:1rem}
.prog-desc{color:rgba(239,232,220,0.58);font-size:0.9rem;line-height:1.7}
.prog-badge{display:inline-block;background:rgba(196,134,42,0.15);color:var(--gold);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.25rem 0.75rem;border-radius:2px;margin-top:1rem;border:1px solid rgba(196,134,42,0.2)}

/* AULAS — creme */
.aulas-bg{background:var(--cream);padding:5rem 2rem}
.aulas-inner{max-width:1100px;margin:0 auto}
.aulas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}
.aula-item{background:var(--white);border:1px solid var(--border-cream);padding:1.75rem 1.5rem;border-radius:2px;border-top:3px solid var(--gold)}
.aula-icon{font-size:1.3rem;margin-bottom:1rem;color:var(--gold)}
.aula-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--brown);font-weight:700;margin-bottom:0.5rem}
.aula-text{font-size:0.88rem;color:#3a5e4e;line-height:1.65}

/* BENEFÍCIOS — verde médio, números dourados */
.beneficios-bg{background:var(--green-mid);padding:5rem 2rem}
.beneficios-inner{max-width:1100px;margin:0 auto}
.bene-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:2.5rem}
.bene-item{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;background:rgba(239,232,220,0.06);border:1px solid rgba(239,232,220,0.12);border-radius:2px}
.bene-num{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold);font-weight:700;line-height:1;min-width:2rem}
.bene-text strong{display:block;color:var(--cream);font-size:0.95rem;font-weight:600;margin-bottom:0.2rem}
.bene-text span{font-size:0.85rem;color:rgba(239,232,220,0.58)}

/* CTA 2 — ouro sólido */
.cta-band-gold{background:var(--gold);padding:3rem 2rem;text-align:center}
.cta-band-gold h3{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--white);margin-bottom:0.75rem;font-weight:700}
.cta-band-gold p{color:rgba(255,255,255,0.75);margin-bottom:1.5rem;font-size:1rem}
.btn-green-solid{background:var(--green);color:var(--cream);padding:0.9rem 2.2rem;font-size:0.88rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;text-decoration:none;display:inline-block;transition:all 0.2s}
.btn-green-solid:hover{background:var(--green-mid)}

/* PROFESSOR — creme escuro, acento marrom/ouro */
.prof-bg{background:var(--cream-dark);padding:5rem 2rem}
.prof-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:3rem;align-items:start}
.prof-avatar{width:300px;height:200px;border-radius:2px;background:rgba(61,43,31,0.08);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:4rem;color:var(--brown);flex-shrink:0}
.prof-name{font-family:'Playfair Display',serif;color:var(--brown);font-size:2.2rem;font-weight:700;margin-bottom:0.25rem}
.prof-title{color:var(--gold);font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:1.5rem}
.prof-bio{color:#3a5e4e;font-size:1rem;line-height:1.8;margin-bottom:1.2rem;max-width:580px}
.prof-tags{display:flex;flex-wrap:wrap;gap:0.6rem}
.prof-tag{border:1px solid var(--border-gold);color:var(--brown-light);padding:0.3rem 0.9rem;font-size:0.78rem;letter-spacing:0.08em;border-radius:2px}

/* HORÁRIOS — verde escuro */
.horarios-bg{background:var(--green);padding:5rem 2rem}
.horarios-inner{max-width:1100px;margin:0 auto}
.tabela-horarios{width:100%;border-collapse:collapse;margin-top:2rem;font-size:0.9rem}
.tabela-horarios th{background:rgba(239,232,220,0.06);color:var(--gold);padding:0.85rem 1rem;text-align:left;font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--border-gold)}
.tabela-horarios td{padding:0.85rem 1rem;border-bottom:1px solid var(--border-green);color:rgba(239,232,220,0.65)}
.tabela-horarios tr:hover td{background:rgba(196,134,42,0.05)}
.tabela-horarios td:first-child{font-weight:600;color:var(--cream)}
.horarios-note{color:rgba(239,232,220,0.35);font-size:0.88rem;margin-top:1.5rem;font-style:italic}
.badge-prog{background:rgba(196,134,42,0.12);color:var(--gold);padding:0.2rem 0.5rem;border-radius:2px;font-size:0.75rem;margin-right:0.3rem;display:inline-block;border:1px solid rgba(196,134,42,0.2)}

/* CTA FINAL — creme */
.cta-final{background:var(--cream);padding:5rem 2rem;text-align:center}
.cta-final h2{font-family:'Playfair Display',serif;color:var(--brown);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;margin-bottom:1rem;max-width:700px;margin-left:auto;margin-right:auto}
.cta-final p{color:#3a5e4e;font-size:1.05rem;margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto}
.cta-final-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-wa{background:#25D366;color:var(--white);padding:1rem 2.2rem;font-size:0.88rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;border-radius:2px;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;transition:all 0.2s}
.btn-wa:hover{background:#20C35E}
.btn-outline-brown{background:transparent;color:var(--brown);padding:1rem 2.2rem;font-size:0.88rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;border-radius:2px;text-decoration:none;display:inline-block;border:1px solid rgba(61,43,31,0.3);transition:all 0.2s}
.btn-outline-brown:hover{border-color:var(--brown)}

/* LOCALIZAÇÃO — verde médio */
.local-bg{background:var(--green-mid);padding:5rem 2rem}
.local-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.local-title{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--cream);margin-bottom:1.5rem}
.local-item{display:flex;gap:0.75rem;margin-bottom:1.25rem;align-items:flex-start}
.local-icon{color:var(--gold);font-size:1.1rem;margin-top:0.1rem;min-width:1.5rem}
.local-item-text strong{display:block;color:rgba(239,232,220,0.45);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.2rem}
.local-item-text span{color:rgba(239,232,220,0.85);font-size:0.95rem}
.local-item-text a{color:var(--cream);text-decoration:none;font-size:0.95rem;opacity:0.9}
.local-item-text a:hover{opacity:1;text-decoration:underline}
.map-placeholder{background:rgba(239,232,220,0.07);border:1px solid rgba(196,134,42,0.25);border-radius:2px;height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.75rem}
.map-placeholder p{color:rgba(239,232,220,0.5);font-size:0.9rem;text-align:center;line-height:1.6}
.map-link{background:var(--gold);color:var(--white);padding:0.7rem 1.5rem;font-size:0.82rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;text-decoration:none}
.map-link:hover{background:var(--gold-light)}

footer{background:var(--green);padding:3rem 2rem;text-align:center;border-top:1px solid rgba(196,134,42,0.2)}
.footer-logo{font-family:'Playfair Display',serif;color:var(--cream);font-size:1.6rem;font-weight:700;margin-bottom:0.5rem}
.footer-tagline{color:rgba(239,232,220,0.28);font-size:0.82rem;letter-spacing:0.15em;text-transform:uppercase;margin-bottom:1.5rem}
.footer-links{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.footer-links a{color:rgba(239,232,220,0.35);font-size:0.85rem;text-decoration:none;letter-spacing:0.05em;transition:color 0.2s}
.footer-links a:hover{color:var(--gold)}
.footer-copy{color:rgba(239,232,220,0.18);font-size:0.78rem}

@media(max-width:700px){
  .missao-inner,.prof-inner,.local-inner{grid-template-columns:1fr}
  .prof-avatar{width:120px;height:120px;font-size:2.5rem}
}