/*
Theme Name: ITPE Transformar
Theme URI: https://itpe.com.br/
Author: Maykon Silveira
Description: Tema WordPress institucional para Instituto Transformar Pelo Esporte, baseado no layout fornecido. Estrutura dinâmica com CPTs, taxonomias e Customizer.
Version: 1.2.0
Requires at least: 6.6
Tested up to: 7.1.2.2
Requires PHP: 8.1
Text Domain: itpe-transformar
*/
:root{--itpe-navy:#0A1B3A;--itpe-blue:#0047FF;--itpe-yellow:#FFC700;--itpe-light:#F5F7FA;--itpe-card:#13284C;--itpe-dark:#0F172A}
html{scroll-behavior:smooth}body{margin:0;background:var(--itpe-light);color:#1e293b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}
.itpe-container{width:min(1120px,calc(100% - 32px));margin:auto}.itpe-section{padding:80px 0}.itpe-eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--itpe-blue)}.itpe-title{font-size:clamp(30px,4vw,48px);line-height:1.05;font-weight:900;margin:8px 0 16px;color:#0f172a}.itpe-copy{color:#64748b;line-height:1.75}.itpe-grid{display:grid;gap:24px}.itpe-grid-4{grid-template-columns:repeat(4,1fr)}.itpe-grid-3{grid-template-columns:repeat(3,1fr)}.itpe-grid-2{grid-template-columns:repeat(2,1fr)}
.itpe-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;box-shadow:0 4px 18px rgba(15,23,42,.04)}.itpe-card-body{padding:24px}.itpe-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;text-decoration:none;font-weight:800}.itpe-btn-primary{background:var(--itpe-yellow);color:#0f172a}.itpe-btn-dark{background:var(--itpe-navy);color:#fff}.itpe-btn-outline{border:2px solid #cbd5e1;color:#0f172a}
.itpe-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0}.itpe-nav{height:80px;display:flex;align-items:center;gap:24px}.itpe-nav>.itpe-logo{flex:0 0 auto}.itpe-menu{flex:1;justify-content:center}.itpe-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.itpe-logo-mark{width:42px;height:42px;border-radius:12px;background:var(--itpe-navy);color:var(--itpe-yellow);display:grid;place-items:center;font-weight:900}.itpe-logo strong{display:block;font-size:20px;color:var(--itpe-navy);line-height:1}.itpe-logo small{font-size:10px;color:#64748b;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.itpe-menu{display:flex;align-items:center;gap:22px}.itpe-menu ul,.itpe-mobile-nav,.itpe-footer-nav{list-style:none!important;list-style-type:none!important;margin:0!important;padding:0!important}.itpe-menu li,.itpe-mobile-nav li,.itpe-footer-nav li{list-style:none!important}.itpe-menu li::marker,.itpe-mobile-nav li::marker,.itpe-footer-nav li::marker{content:""}.itpe-header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.itpe-accessibility-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#334155;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.itpe-accessibility-btn:hover{border-color:#94a3b8;background:#f8fafc}.itpe-accessibility-btn[aria-pressed="true"]{background:#0f172a;color:#fff;border-color:#0f172a}.itpe-accessibility-mobile{display:none;width:100%;margin-top:12px}.itpe-mobile-menu .itpe-mobile-nav{list-style:none!important}.itpe-mobile-menu .itpe-mobile-nav>li{list-style:none!important}.itpe-mobile-menu .itpe-mobile-nav>li::marker{content:""}.itpe-apoie-btn{display:inline-flex;align-items:center;justify-content:center;min-width:80px;padding:13px 20px;border-radius:12px;background:var(--itpe-blue);color:#fff!important;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 5px 14px rgba(0,71,255,.18);transition:transform .2s ease,background .2s ease}.itpe-apoie-btn:hover{background:#0038cc;transform:translateY(-1px)}.itpe-menu a{color:#334155;text-decoration:none;font-size:14px;font-weight:700}.itpe-menu a:hover{color:var(--itpe-blue)}.itpe-mobile{display:none;border:0;background:#f1f5f9;color:var(--itpe-navy);width:42px;height:42px;border-radius:12px;cursor:pointer}.itpe-apoie-mobile{display:none;width:100%;margin-top:14px}
.itpe-hero{position:relative;background:var(--itpe-navy);color:#fff;overflow:hidden;padding:110px 0}.itpe-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28}.itpe-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0A1B3A 0%,rgba(10, 27, 58, 0.308) 50%,rgba(10,27,58,.55) 100%)}.itpe-hero-inner{position:relative;z-index:2}.itpe-hero h1{font-size:clamp(44px,6vw,72px);line-height:.98;text-transform:uppercase;margin:16px 0;font-weight:900}.itpe-yellow{color:var(--itpe-yellow)}.itpe-hero p{max-width:680px;color:#cbd5e1;font-size:19px;line-height:1.7}.itpe-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.itpe-feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:70px;padding-top:30px;border-top:1px solid rgba(255,255,255,.15)}.itpe-feature{padding:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:18px}.itpe-feature h4{margin:10px 0 5px}.itpe-feature p{font-size:12px;margin:0;color:#cbd5e1}
.itpe-dark-section{background:var(--itpe-navy);color:#fff}.itpe-dark-section .itpe-title{color:#fff}.itpe-dark-section .itpe-copy{color:#cbd5e1}.itpe-dark-card{background:var(--itpe-card);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:24px;padding:24px}.itpe-dark-card h3{margin:12px 0 8px}.itpe-dark-card p{color:#cbd5e1;font-size:14px;line-height:1.7}
.itpe-icon{font-size:24px;color:var(--itpe-blue)}.itpe-dark-card .itpe-icon{color:var(--itpe-yellow)}
.itpe-image{width:100%;height:230px;object-fit:cover;display:block}.itpe-project-meta,.itpe-person-meta{font-size:13px;color:#64748b;line-height:1.7}.itpe-project-meta strong{color:#0f172a}.itpe-tag{display:inline-block;background:var(--itpe-navy);color:#fff;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800}.itpe-card-image{position:relative}.itpe-card-image .itpe-tag{position:absolute;left:16px;top:16px;background:var(--itpe-yellow);color:#0f172a}
.itpe-stats{background:#0f172a;color:#fff;padding:64px 0}.itpe-stat strong{display:block;color:var(--itpe-yellow);font-size:48px;line-height:1;font-weight:900}.itpe-stat span{display:block;margin-top:8px;color:#94a3b8;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.itpe-filters{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.itpe-filter{border:0;background:#f1f5f9;color:#334155;padding:9px 15px;border-radius:999px;font-weight:800;cursor:pointer}.itpe-filter.active{background:var(--itpe-navy);color:#fff}.itpe-gallery img{height:250px;object-fit:cover;border-radius:16px;width:100%}
.itpe-donation{background:var(--itpe-navy);color:#fff}.itpe-pix{background:#fff;color:#0f172a;border-radius:28px;padding:32px}.itpe-pix-key{display:flex;gap:8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;padding:8px}.itpe-pix-key input{border:0;background:transparent;flex:1;padding:10px;font-weight:700}.itpe-pix-key button{border:0;background:var(--itpe-navy);color:#fff;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.itpe-qr{display:block;width:180px;height:180px;margin:18px auto}
.itpe-footer{background:#071329;color:#94a3b8;padding:60px 0 24px}.itpe-footer h4{color:var(--itpe-yellow);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.itpe-footer a{color:#fff;text-decoration:none}.itpe-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.itpe-footer-bottom{border-top:1px solid #17233a;margin-top:40px;padding-top:24px;font-size:12px;display:flex;justify-content:space-between}
.itpe-form input,.itpe-form textarea,.itpe-form select{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.itpe-form label{display:block;font-weight:800;font-size:13px;margin-bottom:6px}.itpe-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.itpe-form textarea{min-height:140px}
.bw-mode{filter:grayscale(1) contrast(1.15)}@media(max-width:900px){.itpe-menu{display:none}.itpe-header-actions{margin-left:auto}.itpe-header-actions>.itpe-apoie-btn,.itpe-header-actions>.itpe-accessibility-btn{display:none}.itpe-mobile{display:grid;place-items:center}.itpe-accessibility-mobile{display:flex}.itpe-apoie-mobile{display:flex}.itpe-feature-row,.itpe-grid-4{grid-template-columns:repeat(2,1fr)}.itpe-grid-3{grid-template-columns:1fr 1fr}.itpe-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.itpe-section{padding:60px 0}.itpe-hero{padding:80px 0}.itpe-feature-row,.itpe-grid-4,.itpe-grid-3,.itpe-grid-2,.itpe-footer-grid{grid-template-columns:1fr}.itpe-footer-bottom{flex-direction:column}.itpe-form .row{grid-template-columns:1fr}}

/* Navegação WordPress */
.itpe-menu ul{display:flex;align-items:center;justify-content:center;gap:22px}.itpe-menu li{margin:0!important;padding:0!important}.itpe-menu li a{display:block}.itpe-mobile-menu{display:none;background:#fff;border-top:1px solid #e2e8f0;padding:16px}.itpe-mobile-menu.active{display:block}.itpe-mobile-nav li{border-bottom:1px solid #e2e8f0}.itpe-mobile-nav li:last-child{border-bottom:0}.itpe-mobile-nav a{display:block;padding:12px 0;color:#334155;text-decoration:none;font-weight:800}.itpe-footer-nav li{margin:0 0 8px}.itpe-footer-nav a{color:#fff;text-decoration:none}.itpe-footer-nav a:hover{color:var(--itpe-yellow)}
/* Galeria / Lightbox */
.itpe-gallery-item{position:relative;border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:16px}.itpe-gallery-item img{display:block;transition:transform .35s ease}.itpe-gallery-item:hover img{transform:scale(1.05)}.itpe-gallery-zoom{position:absolute;inset:auto 12px 12px auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(10,27,58,.85);color:#fff;opacity:0;transition:opacity .25s}.itpe-gallery-item:hover .itpe-gallery-zoom{opacity:1}.itpe-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:30px}.itpe-lightbox.is-open{display:flex}.itpe-lightbox-content{max-width:min(1100px,88vw);max-height:90vh;text-align:center}.itpe-lightbox-content img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:8px}.itpe-lightbox-content p{color:#fff;margin:12px 0 0;font-weight:700}.itpe-lightbox-close,.itpe-lightbox-prev,.itpe-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:50%;width:48px;height:48px;font-size:20px}.itpe-lightbox-close{top:22px;right:22px;font-size:32px;line-height:1}.itpe-lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}.itpe-lightbox-next{right:24px;top:50%;transform:translateY(-50%)}.itpe-lightbox-close:hover,.itpe-lightbox-prev:hover,.itpe-lightbox-next:hover{background:rgba(255,255,255,.25)}
@media(max-width:900px){.itpe-menu ul{display:block}.itpe-mobile-menu.active{display:block}.itpe-mobile-menu .itpe-container{width:min(1120px,calc(100% - 32px))}.itpe-lightbox{padding:20px}.itpe-lightbox-prev{left:10px}.itpe-lightbox-next{right:10px}}
.itpe-pagination{margin-top:36px}.itpe-pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.itpe-pagination a,.itpe-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:12px;border:1px solid #dbe3ee;background:#fff;color:#0f172a;text-decoration:none;font-weight:800}.itpe-pagination .current{background:var(--itpe-navy);border-color:var(--itpe-navy);color:#fff}.itpe-card h2 a:hover{color:var(--itpe-blue)!important}.itpe-card .itpe-image{transition:transform .35s ease}.itpe-card:hover .itpe-image{transform:scale(1.02)}

/* =========================================================
   RESPONSIVIDADE REFORCADA — ITPE
   Evita overflow horizontal e melhora header/mobile/cards.
   ========================================================= */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; }
button, input, textarea, select { max-width: 100%; }

.itpe-nav { min-width: 0; }
.itpe-logo { min-width: 0; max-width: 100%; }
.itpe-logo > span:last-child { min-width: 0; }
.itpe-logo strong, .itpe-logo small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.itpe-menu { min-width: 0; }
.itpe-menu ul { min-width: 0; }
.itpe-menu a { white-space: nowrap; }
.itpe-header-actions { min-width: 0; }
.itpe-mobile-menu { width: 100%; max-width: 100%; overflow: hidden; }
.itpe-mobile-menu .itpe-container { width: min(1120px, calc(100% - 32px)); max-width: 100%; }
.itpe-mobile-nav { width: 100%; }
.itpe-mobile-nav li, .itpe-mobile-nav a { max-width: 100%; }
.itpe-mobile-nav a { overflow-wrap: anywhere; }

@media (max-width: 1180px) {
  .itpe-container { width: min(100% - 32px, 1080px); }
  .itpe-nav { gap: 14px; }
  .itpe-menu ul { gap: 14px; }
  .itpe-menu a { font-size: 13px; }
  .itpe-accessibility-btn { padding: 0 10px; }
  .itpe-apoie-btn { padding-left: 16px; padding-right: 16px; }
}

@media (max-width: 1020px) {
  .itpe-nav { height: 72px; }
  .itpe-menu { display: none; }
  .itpe-header-actions { margin-left: auto; }
  .itpe-header-actions > .itpe-accessibility-btn,
  .itpe-header-actions > .itpe-apoie-btn { display: none; }
  .itpe-mobile { display: grid; place-items: center; flex: 0 0 42px; }
  .itpe-mobile-menu { display: none; }
  .itpe-mobile-menu.active { display: block; }
  .itpe-mobile-nav { display: block !important; }
  .itpe-mobile-nav li { display: block; width: 100%; }
  .itpe-mobile-nav a { padding: 13px 4px; }
  .itpe-accessibility-mobile, .itpe-apoie-mobile { display: flex; width: 100%; }

  .itpe-hero { padding: 88px 0; }
  .itpe-feature-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itpe-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itpe-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itpe-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .itpe-container { width: calc(100% - 28px); }
  .itpe-section { padding: 56px 0; }
  .itpe-nav { height: 68px; gap: 10px; }
  .itpe-logo { gap: 8px; }
  .itpe-logo-mark { width: 38px; height: 38px; border-radius: 10px; flex: 0 0 38px; }
  .itpe-logo strong { font-size: 17px; }
  .itpe-logo small { display: block; max-width: 190px; font-size: 8px; }
  .itpe-mobile { width: 40px; height: 40px; flex-basis: 40px; }

  .itpe-hero { padding: 70px 0; }
  .itpe-hero h1 { font-size: clamp(34px, 10vw, 54px); line-height: 1.02; overflow-wrap: anywhere; }
  .itpe-hero p { font-size: 16px; }
  .itpe-actions { flex-direction: column; align-items: stretch; }
  .itpe-actions .itpe-btn { width: 100%; justify-content: center; }

  .itpe-feature-row,
  .itpe-grid-4,
  .itpe-grid-3,
  .itpe-grid-2,
  .itpe-footer-grid { grid-template-columns: minmax(0, 1fr); }

  .itpe-title { font-size: clamp(28px, 8vw, 40px); overflow-wrap: anywhere; }
  .itpe-card-body, .itpe-dark-card { padding: 20px; }
  .itpe-image { height: 210px; }
  .itpe-gallery img { height: 220px; }
  .itpe-footer { padding-top: 48px; }
  .itpe-footer-bottom { gap: 12px; flex-direction: column; align-items: flex-start; }

  .itpe-pix { padding: 22px; border-radius: 22px; }
  .itpe-pix-key { flex-direction: column; }
  .itpe-pix-key input { min-width: 0; width: 100%; }
  .itpe-pix-key button { width: 100%; }

  .itpe-form .row { grid-template-columns: minmax(0, 1fr); }
  .itpe-filters { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; scrollbar-width: thin; }
  .itpe-filter { flex: 0 0 auto; white-space: nowrap; }

  .itpe-lightbox { padding: 64px 12px 24px; }
  .itpe-lightbox-content { max-width: calc(100vw - 24px); max-height: 82vh; }
  .itpe-lightbox-content img { max-width: calc(100vw - 24px); max-height: 68vh; }
  .itpe-lightbox-close { top: 12px; right: 12px; width: 42px; height: 42px; }
  .itpe-lightbox-prev, .itpe-lightbox-next { width: 42px; height: 42px; top: auto; bottom: 16px; transform: none; }
  .itpe-lightbox-prev { left: 18px; }
  .itpe-lightbox-next { right: 18px; }
}

@media (max-width: 420px) {
  .itpe-container { width: calc(100% - 22px); }
  .itpe-logo small { display: none; }
  .itpe-logo strong { font-size: 16px; }
  .itpe-hero { padding: 58px 0; }
  .itpe-hero h1 { font-size: clamp(31px, 11vw, 46px); }
  .itpe-section { padding: 48px 0; }
  .itpe-card-body, .itpe-dark-card { padding: 17px; }
  .itpe-image { height: 190px; }
  .itpe-gallery img { height: 190px; }
  .itpe-pagination a, .itpe-pagination span { min-width: 38px; height: 38px; padding: 0 10px; }
}

/* Ajuste final responsivo — seção Números */
.itpe-stats,
.itpe-stats .itpe-container,
.itpe-stats .itpe-grid,
.itpe-stats .itpe-stat { min-width: 0; }
.itpe-stats { overflow: hidden; }
.itpe-stats .itpe-grid {
  width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.itpe-stats .itpe-stat {
  width: 100%;
  max-width: 100%;
  text-align: center;
  overflow: hidden;
}
.itpe-stats .itpe-stat strong {
  display: block;
  max-width: 100%;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.itpe-stats .itpe-stat span {
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 1020px) {
  .itpe-stats .itpe-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  .itpe-stats { padding: 48px 0; }
  .itpe-stats .itpe-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 16px;
    margin-top: 22px !important;
  }
  .itpe-stats .itpe-stat strong { font-size: clamp(28px, 9vw, 40px); }
  .itpe-stats .itpe-stat span { font-size: 10px; line-height: 1.35; }
}
@media (max-width: 420px) {
  .itpe-stats .itpe-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 10px;
  }
  .itpe-stats .itpe-stat strong { font-size: clamp(25px, 10vw, 34px); }
}
