/*
Theme Name: IBISEC Home
Theme URI: https://ibisec.org.br
Author: IBISEC
Description: Página inicial com projetos Estágios, Cursos EaD e Jovem Aprendiz.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ibisec-home
*/
html { scroll-behavior:smooth; } body { margin:0; } button,input { font:inherit; } button { cursor:pointer; } [hidden] { display:none!important; } .ibisec-site button { display:inline-flex;align-items:center;justify-content:center; } .ibisec-site button svg { width:18px;height:18px; } .ibisec-site .search-toggle,.ibisec-site .mobile-menu-toggle { background:var(--paper); } .ibisec-site .mobile-menu-toggle { border:0;width:40px;height:40px;color:var(--brand-blue); } .search-submit { width:42px; } .content-page { padding:45px 0;min-height:55vh; } .content-page h1 { margin-bottom:25px; } .content-page article { margin:25px 0; } .content-page article h2 { font-size:25px;margin-bottom:10px; } .content-page article a { text-decoration:underline; } .content-page img { max-width:100%;height:auto; } .content-page .post-date { font-size:13px; } .content-page .pagination { margin-top:25px; }
.ibisec-site { --brand-blue: oklch(.43 .17 258); --brand-green: oklch(.49 .15 155); --brand-teal: oklch(.47 .10 211); --lime: oklch(.79 .21 132); --ink: oklch(.32 .09 250); --paper: oklch(1 0 0); --wash: oklch(.976 .012 225); --subtle: oklch(.95 .026 235); --footer: oklch(.29 .085 250); --on-dark: oklch(.99 .002 240); --hero-shade: linear-gradient(90deg, oklch(.32 .10 250 / .99) 0%, oklch(.32 .10 250 / .94) 31%, oklch(.32 .10 250 / .25) 58%, transparent 76%); --commitment-shade: linear-gradient(90deg, transparent 0%, oklch(.97 .02 225 / .4) 25%, oklch(.97 .02 225 / .98) 43%, oklch(.97 .02 225) 100%); --card-shadow: 0 3px 9px oklch(.50 .09 220 / .13); font-family: 'Nunito Sans', Arial, sans-serif; color:var(--ink); background:var(--paper); font-size:15px; line-height:1.55; }
.ibisec-site * { box-sizing:border-box; }
.ibisec-site a { color:inherit; text-decoration:none; }
.ibisec-site h1,.ibisec-site h2,.ibisec-site h3,.ibisec-site p { margin:0; letter-spacing:0; }
.site-width { width:calc(100% - 88px); max-width:1180px; margin:auto; }
.site-header { height:116px; background:var(--paper); position:relative; z-index:10; }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.brand img { width:104px; height:104px; object-fit:contain; display:block; }
.main-nav { display:flex; align-items:center; gap:38px; }
.nav-link { font-size:15px; font-weight:650; padding:15px 0; position:relative; }
.nav-link.active::after { content:''; position:absolute; height:3px; background:var(--brand-green); left:0; right:0; bottom:6px; }
.nav-projects { position:relative; }
.nav-projects summary { display:flex; gap:8px; align-items:center; cursor:pointer; list-style:none; }
.nav-projects summary::-webkit-details-marker { display:none; }
.nav-dropdown { position:absolute; top:52px; left:-20px; width:210px; background:var(--paper); box-shadow:var(--card-shadow); border:1px solid var(--subtle); padding:10px; border-radius:6px; }
.nav-dropdown a { display:block; padding:9px; }
.nav-dropdown a:hover { background:var(--wash); }
.search-toggle { border:1px solid var(--subtle); border-radius:50%; width:43px; height:43px; color:var(--brand-blue); }
.mobile-menu-toggle { display:none; }
.home-hero { height:355px; position:relative; overflow:hidden; color:var(--on-dark); }
.hero-image { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.hero-shade { position:absolute; inset:0; background:var(--hero-shade); }
.hero-content { position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.hero-content h1 { font-size:43px; font-weight:850; line-height:1.14; max-width:590px; }
.hero-content h1 span { color:var(--lime); }
.hero-content p { max-width:470px; font-size:15px; margin-top:18px; line-height:1.55; }
.hero-bars { display:flex; gap:10px; margin-top:20px; }
.hero-bars i { display:block; width:36px; height:5px; border-radius:3px; background:var(--brand-teal); }
.hero-bars i:nth-child(2) { background:var(--lime); }
.hero-bars i:nth-child(3) { background:var(--brand-green); }
.hero-ribbon { position:absolute; bottom:-18px; right:-18px; width:240px; height:50px; background:var(--brand-green); transform:rotate(-17deg); border-top:14px solid var(--lime); }
.projects-section { background:var(--wash); padding:30px 0 36px; }
.section-heading { text-align:center; margin-bottom:23px; }
.eyebrow { font-size:15px; font-weight:850; color:var(--brand-green); display:flex; align-items:center; justify-content:center; gap:18px; letter-spacing:2px; }
.eyebrow::before,.eyebrow::after { content:''; width:28px; height:2px; background:var(--brand-green); }
.section-heading h2 { font-size:29px; line-height:1.2; font-weight:850; margin-top:5px; }
.section-heading p { font-size:17px; color:var(--brand-blue); margin-top:4px; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.project-card { --project-color:var(--brand-blue); --project-wash:oklch(.953 .024 250); border-radius:8px; overflow:hidden; background:var(--paper); box-shadow:var(--card-shadow); border:1px solid var(--subtle); display:flex; flex-direction:column; transition:transform .2s; }
.project-card:hover { transform:translateY(-3px); }
.project-card.courses { --project-color:var(--brand-green); --project-wash:oklch(.953 .028 165); }
.project-card.apprentice { --project-color:var(--brand-teal); --project-wash:oklch(.953 .028 210); }
.project-photo { width:100%; height:172px; object-fit:cover; object-position:center 36%; }
.apprentice .project-photo { object-position:33% 30%; }
.project-content { padding:0 19px 18px; display:flex; flex-direction:column; flex:1; }
.project-icon { width:78px; height:78px; border-radius:50%; background:var(--project-color); border:4px solid var(--paper); display:grid; place-items:center; color:var(--on-dark); margin:-42px auto 5px; position:relative; }
.project-icon svg { width:44px; height:44px; stroke-width:1.8; }
.project-title { text-align:center; color:var(--project-color); }
.project-title small { display:block; font-size:15px; font-weight:850; letter-spacing:2px; }
.project-title h3 { font-size:29px; line-height:1.1; font-weight:900; }
.project-title p { font-size:17px; font-weight:800; line-height:1.25; margin:9px auto 17px; min-height:43px; max-width:280px; }
.project-description { font-size:14px; line-height:1.55; margin-bottom:17px !important; flex:1; }
.project-benefit { display:flex; gap:15px; align-items:center; background:var(--project-wash); color:var(--project-color); border-radius:7px; padding:12px 13px; min-height:74px; margin-bottom:12px; }
.project-benefit svg { width:35px; height:35px; flex-shrink:0; }
.project-benefit p { font-size:12px; font-weight:700; line-height:1.4; }
.project-cta { display:flex; align-items:center; justify-content:center; gap:17px; background:var(--project-color); color:var(--on-dark) !important; min-height:42px; border-radius:24px; font-size:14px; font-weight:850; transition:filter .2s; }
.project-cta:hover { filter:brightness(1.08); }
.project-cta svg { width:19px; height:19px; }
.commitment-section { position:relative; min-height:270px; overflow:hidden; background:var(--wash); }
.commitment-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left 55%; }
.commitment-shade { position:absolute; inset:0; background:var(--commitment-shade); }
.commitment-inner { position:relative; padding:26px 0 25px 31%; }
.commitment-inner .eyebrow { justify-content:flex-start; font-size:13px; letter-spacing:1px; gap:14px; }
.commitment-inner .eyebrow::after { display:none; }
.commitment-inner h2 { font-size:27px; line-height:1.15; font-weight:850; color:var(--brand-blue); margin:8px 0 13px; }
.commitment-inner p { font-size:14px; line-height:1.4; }
.commitment-signature { margin-top:11px !important; color:var(--brand-blue); font-style:italic; font-size:19px !important; }
.site-footer { background:var(--footer); color:var(--on-dark); padding:25px 0; }
.footer-grid { display:grid; grid-template-columns:1.25fr .7fr 1.25fr .85fr; gap:30px; }
.footer-brand { display:flex; gap:10px; align-items:center; }
.footer-mark { width:64px; height:64px; flex-shrink:0; background:var(--paper); border-radius:12px; padding:7px; object-fit:contain; display:block; }
.footer-brand strong { font-size:33px; line-height:1; }
.footer-brand p { font-size:9px; line-height:1.3; margin-top:6px; max-width:180px; }
.footer-links { display:flex; flex-direction:column; gap:3px; font-size:11px; }
.footer-contact h3,.footer-social h3 { font-size:12px; margin-bottom:10px; font-weight:800; }
.footer-contact a,.footer-contact p { display:flex; align-items:flex-start; gap:11px; font-size:11px; margin:6px 0; }
.footer-contact svg { width:16px; height:16px; flex-shrink:0; }
.social-links { display:flex; gap:12px; }
.social-links a { width:23px; height:23px; display:grid; place-items:center; border:1px solid var(--on-dark); border-radius:50%; }
.social-links svg { width:13px; height:13px; }
.footer-signature { font-style:italic; font-size:17px; line-height:1.2; margin-top:14px !important; }
.legal-bar { font-size:9px; padding:13px 0; color:var(--brand-blue); }
.legal-inner { display:flex; gap:15px; justify-content:space-between; }
.legal-links { display:flex; gap:20px; }
.search-panel { position:absolute; top:100%; right:44px; padding:18px; background:var(--paper); box-shadow:var(--card-shadow); border:1px solid var(--subtle); border-radius:6px; width:330px; }
.search-panel label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
.search-field { display:flex; border:1px solid var(--subtle); border-radius:5px; overflow:hidden; }
.search-field input { min-width:0; width:100%; padding:10px; font:inherit; color:var(--ink); background:var(--paper); border:0; }
.search-submit { background:var(--brand-blue); color:var(--on-dark); border:0; border-radius:0; height:auto; }
.ibisec-site a:focus-visible,.ibisec-site summary:focus-visible { outline:2px solid var(--brand-green); outline-offset:4px; }
@media(min-width:1500px) { .home-hero { height:410px; } }
@media(max-width:1000px) { .main-nav { gap:24px; } .site-width { width:calc(100% - 48px); } .hero-content h1 { font-size:36px; max-width:510px; } .hero-content p { max-width:410px; } .project-title h3 { font-size:24px; } .project-title p { font-size:15px; } .project-content { padding-left:15px; padding-right:15px; } .footer-grid { gap:20px; } }
@media(max-width:700px) { .site-header { height:90px; } .site-width { width:calc(100% - 36px); } .brand img { width:88px; height:88px; } .header-inner { gap:15px; } .header-tools { display:flex; gap:10px; } .mobile-menu-toggle { display:inline-flex; } .main-nav { display:none; position:absolute; top:90px; left:0; right:0; background:var(--paper); padding:20px; border-bottom:1px solid var(--subtle); align-items:flex-start; gap:8px; flex-direction:column; } .main-nav.is-open { display:flex; } .nav-dropdown { position:static; box-shadow:none; margin-top:5px; } .home-hero { height:430px; } .hero-image { object-position:65% center; } .hero-shade { background:linear-gradient(90deg,oklch(.32 .10 250 / .94),oklch(.32 .10 250 / .65)); } .hero-content h1 { font-size:34px; max-width:380px; } .hero-content p { max-width:340px; font-size:14px; } .projects-section { padding:26px 0 30px; } .eyebrow { font-size:13px; } .section-heading h2 { font-size:25px; max-width:330px; margin:8px auto 0; } .section-heading p { font-size:14px; } .project-grid { grid-template-columns:1fr; max-width:420px; margin:auto; gap:25px; } .project-photo { height:200px; } .project-content { padding-left:21px; padding-right:21px; } .project-title h3 { font-size:29px; } .project-title p { font-size:17px; } .project-description { font-size:15px; } .commitment-section { padding-top:155px; } .commitment-image { height:225px; object-position:left center; } .commitment-shade { background:linear-gradient(180deg, transparent 100px,var(--wash) 210px); } .commitment-inner { padding:20px 0 28px; } .commitment-inner h2 { font-size:24px; } .commitment-inner p { font-size:14px; } .footer-grid { grid-template-columns:1fr 1fr; gap:25px 20px; } .footer-brand { grid-column:1/-1; } .footer-social { grid-column:1/-1; } .footer-signature { max-width:none; } .legal-inner { flex-direction:column; } .search-panel { right:18px; width:calc(100% - 36px); max-width:360px; } }
@media(prefers-reduced-motion:reduce) { .ibisec-site * { transition:none !important; scroll-behavior:auto !important; } }
@media(min-width:701px){.ibisec-site .mobile-menu-toggle{display:none;}}

/* Menus editáveis (Aparência > Menus) */
.main-nav ul.menu { display:flex; align-items:center; gap:38px; list-style:none; margin:0; padding:0; }
.main-nav li { position:relative; }
.main-nav .sub-menu { display:none; position:absolute; top:100%; left:-20px; width:210px; background:var(--paper); box-shadow:var(--card-shadow); border:1px solid var(--subtle); padding:10px; border-radius:6px; list-style:none; margin:0; z-index:20; }
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display:block; }
.main-nav .sub-menu a { display:block; padding:9px; }
.main-nav .sub-menu a:hover { background:var(--wash); }
.main-nav .current-menu-item > a::after, .main-nav .current_page_item > a::after { content:''; position:absolute; height:3px; background:var(--brand-green); left:0; right:0; bottom:6px; }
.footer-links ul.menu { display:flex; flex-direction:column; gap:3px; list-style:none; margin:0; padding:0; }
@media(max-width:1000px) { .main-nav ul.menu { gap:24px; } }
@media(max-width:700px) { .main-nav ul.menu { flex-direction:column; align-items:flex-start; gap:8px; } .main-nav .sub-menu { position:static; box-shadow:none; margin-top:5px; } }
