/*
Theme Name: ACP Campinas | Azul Oficial
Theme URI: https://campinasparkinson.org.br/
Author: Projeto ACP
Description: Tema institucional acessível e responsivo para Associação Campinas Parkinson.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: acp-campinas
*/
:root{--blue:#1486cc;--deep:#163f61;--mint:#e4f3ff;--soft:#f6fbff;--ink:#21394d;--muted:#54748b;--line:#d5e7f3;--red:#e63839}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.65}body.big-type{font-size:21px}a{color:var(--blue)}a:focus-visible,button:focus-visible{outline:3px solid #b51f29;outline-offset:4px}img{max-width:100%;height:auto}.container{max-width:1180px;margin:auto;padding:0 26px}.skip{position:absolute;left:-9999px;top:10px;background:white;padding:12px;z-index:100}.skip:focus{left:10px}.site-header{position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(12px);z-index:99;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-logo{width:72px;height:72px;object-fit:contain;border-radius:50%;flex-shrink:0;background:#fff;filter:drop-shadow(0 2px 5px #16446b13)}.brand strong{display:block;color:var(--deep);font-size:18px;line-height:1.12}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:17px}.nav a{font-size:15px;text-decoration:none;color:var(--deep);font-weight:650}.nav a:hover{text-decoration:underline}.nav .nav-cta{color:white;background:var(--blue);padding:11px 18px;border-radius:12px}.header-tools{display:flex;gap:8px;align-items:center}.font-button,.menu-button{background:#eef7ff;border:1px solid var(--line);border-radius:10px;color:var(--deep);padding:9px 12px;font:inherit;cursor:pointer}.menu-button{display:none}.hero{background:linear-gradient(118deg,#e8f6ff 0%,#f9fcff 72%);padding:78px 0 72px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-weight:800;font-size:13px}.hero h1{font-size:clamp(41px,4.4vw,65px);line-height:1.13;letter-spacing:-.045em;color:var(--deep);margin:20px 0 24px}.hero h1 span{color:var(--blue)}.hero p{color:#516f84;max-width:565px;font-size:20px;margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border-radius:12px;background:var(--blue);color:#fff;text-decoration:none;font-weight:750;border:2px solid var(--blue);font-size:16px}.button:hover{background:#0c669f;color:#fff}.button.secondary{background:transparent;color:var(--deep)}.button.secondary:hover{background:#e0f1ff}.hero-art{position:relative;max-width:520px;margin:0 auto;width:100%;filter:drop-shadow(0 20px 30px #2986bf22)}.hero-art svg{width:100%;display:block}.trustline{display:flex;gap:13px;align-items:center;margin-top:30px;font-size:14px;color:var(--muted)}.trustline b{background:#d9efff;color:var(--blue);padding:8px 12px;border-radius:30px}.features{margin-top:-24px;position:relative;z-index:2}.feature-grid,.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{background:white;border:1px solid var(--line);box-shadow:0 12px 32px #0d3e6412;border-radius:20px;padding:24px}.feature-icon,.tile-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--mint);font-size:25px;margin-bottom:16px}.feature h3,.tile h3{font-size:21px;line-height:1.25;color:var(--deep);margin:0 0 8px}.feature p,.tile p{font-size:16px;color:var(--muted);margin:0}.section{padding:94px 0}.section.alt{background:var(--soft)}.section-heading{max-width:700px;margin-bottom:35px}.section h2{color:var(--deep);font-size:clamp(30px,3.1vw,43px);line-height:1.18;letter-spacing:-.035em;margin:12px 0 17px}.section-heading p,.about-copy p,.contact-copy p{color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-visual{background:#e1f3ff;border-radius:28px;padding:26px;min-height:360px;display:flex;align-items:center;justify-content:center;position:relative}.about-visual .big-year{font-size:clamp(90px,12vw,166px);font-weight:850;letter-spacing:-.09em;color:#1486cc;line-height:1}.about-visual span{position:absolute;bottom:26px;right:27px;background:white;color:var(--deep);padding:12px 18px;border-radius:14px;font-weight:700;box-shadow:0 5px 18px #0d47751a}.about-copy p{margin-bottom:18px}.about-copy .button{margin-top:10px}.tile{border:1px solid var(--line);border-radius:20px;background:#fff;padding:27px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.tile a{margin-top:18px;font-weight:750;text-decoration:none}.tile a:hover{text-decoration:underline}.soft-banner{background:var(--deep);border-radius:28px;color:#fff;padding:48px;display:flex;gap:20px;align-items:center;justify-content:space-between}.soft-banner h2{color:white;margin:0 0 10px}.soft-banner p{color:#e8f4ff;margin:0;max-width:610px}.soft-banner .button{background:white;border-color:white;color:var(--deep);flex-shrink:0}.soft-banner .button:hover{background:#e7f6ff}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.news-pic{height:115px;background:linear-gradient(135deg,#e0f2ff,#f2faff);display:flex;align-items:center;justify-content:center;color:#147fbd;font-size:38px}.news-body{padding:24px}.news-body time{font-size:13px;color:var(--muted)}.news-body h3{font-size:20px;line-height:1.35;margin:12px 0;color:var(--deep)}.news-body a{text-decoration:none;font-weight:750}.empty-note{grid-column:1/-1;background:#e8f6ff;border-radius:16px;padding:24px;color:var(--deep)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contact-panel{background:#e4f3ff;border-radius:24px;padding:34px}.contact-panel strong{display:block;color:var(--deep);margin:16px 0 4px}.contact-panel a{word-break:break-word}.footer{background:#133b58;color:#d2eafa;padding:50px 0 25px}.footer-inner{display:flex;justify-content:space-between;gap:40px}.footer a{color:#fff}.footer strong{color:white}.footer-bottom{border-top:1px solid #ffffff30;margin-top:35px;padding-top:20px;font-size:13px}.floating-wa{position:fixed;right:20px;bottom:20px;background:#1486cc;color:white;text-decoration:none;border-radius:99px;padding:12px 20px;box-shadow:0 8px 25px #0002;z-index:80;font-size:15px;font-weight:800}.page-content{min-height:60vh;padding:75px 0}.page-content h1{color:var(--deep)}@media(max-width:920px){.nav{display:none;position:absolute;top:100px;left:0;right:0;background:white;padding:20px 26px;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-button{display:block}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.hero-art{max-width:450px}.hero{padding-top:55px}.feature-grid,.three-grid,.news-grid{grid-template-columns:repeat(2,1fr)}.soft-banner{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.container{padding:0 19px}.header-inner{min-height:80px}.brand strong{font-size:16px}.brand small{font-size:9px}.brand-logo{width:54px;height:54px}.nav{top:80px}.hero{padding:48px 0 65px}.hero h1{font-size:39px}.hero p{font-size:18px}.section{padding:64px 0}.feature-grid,.three-grid,.news-grid{grid-template-columns:1fr}.features{margin-top:-18px}.about-visual{min-height:240px}.about-visual .big-year{font-size:104px}.soft-banner{padding:30px 24px}.footer-inner{flex-direction:column}.header-tools{gap:4px}.font-button{font-size:14px;padding:7px}.floating-wa{right:12px;bottom:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ACP 1.1: acessibilidade e funcionamento do controle A+ */
body.big-type p,body.big-type li,body.big-type .tile p,body.big-type .feature p,body.big-type .hero p,body.big-type .nav a,body.big-type .news-body,body.big-type .contact-panel,body.big-type .footer {font-size:1.15em;}
body.big-type .button,body.big-type .tile a,body.big-type .news-body a {font-size:1.06em;}
section[id]{scroll-margin-top:105px;}
@media(max-width:640px){section[id]{scroll-margin-top:90px}}

/* Versão 1.2: paleta azul da logomarca oficial ACP (#1486CC) */
:root{--acp-azul-logo:#1486cc;--acp-vermelho-flor:#e63839}
.site-header{background:#fffffffa}
.site-header::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--acp-azul-logo) 0 91%,var(--acp-vermelho-flor) 91% 100%)}
.brand{min-width:0;flex-shrink:0}
.brand-text{display:block;min-width:0}
.brand-logo{display:block}
.nav a:hover{color:var(--blue)}
.nav .nav-cta:hover{background:#0b67a2;color:white;text-decoration:none}
.about-visual{background:linear-gradient(140deg,#e9f7ff,#d8effe);overflow:hidden;min-height:400px}
.about-logo{display:block;width:min(100%,330px);height:auto;max-width:330px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 10px 25px #3b89bd15);margin:0 auto 18px}
.about-visual span{bottom:20px;left:25px;right:25px;text-align:center;white-space:normal}
.soft-banner{background:linear-gradient(120deg,#154665,#126da9)}
.banner-eyebrow{color:#c5ebff}
.tile-icon,.feature-icon{color:var(--blue)}
.feature:nth-child(3) .feature-icon,.tile:nth-child(3) .tile-icon{color:#ca3b45;background:#fff0f1}
.news-pic{color:var(--blue)}
.contact-panel{background:linear-gradient(145deg,#e7f6ff,#f3fbff)}
.floating-wa{background:#1486cc}
.floating-wa:hover{background:#0a6098;color:#fff}
.admin-bar .site-header{top:32px}
@media(max-width:1100px){.nav{gap:12px}.nav a{font-size:14px}.brand strong{font-size:17px}}
@media(max-width:920px){.nav{gap:0}.nav a{padding:10px 0;font-size:16px}.nav .nav-cta{text-align:center;padding:12px 14px}.brand-logo{width:62px;height:62px}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:640px){.brand-logo{width:52px;height:52px}.brand strong{font-size:16px}.brand small{font-size:10px}.about-visual{min-height:340px;padding:18px}.about-logo{max-width:250px;margin-bottom:36px}.about-visual span{font-size:13px;bottom:13px;left:14px;right:14px}}

/* Controles acessíveis em qualquer instalação WordPress */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.screen-reader-text:focus{clip:auto!important;width:auto!important;height:auto!important;padding:12px!important;margin:0!important;background:white;color:var(--deep);z-index:9999}
.menu-button{min-height:44px;min-width:44px;font-size:20px;line-height:1}
.trustline b{white-space:nowrap}
@media(max-width:420px){.site-header .container{padding-left:12px;padding-right:12px}.header-inner{gap:8px}.brand{gap:8px}.brand strong{font-size:14px}.brand small{font-size:8px}.brand-logo{width:45px;height:45px}.header-tools{gap:4px}.menu-button,.font-button{min-width:37px;min-height:40px;padding:7px 8px}.trustline{align-items:center}}


/* ACP 1.4 – carrossel de publicações do Pro Event Calendar. */
.acp-events-section{background:linear-gradient(180deg,#f2faff 0%,#fff 95%);overflow:hidden}
.acp-gallery-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}
.acp-gallery-header h2{margin-bottom:12px}
.acp-gallery-header p{max-width:630px;color:var(--muted);margin:0}
.acp-gallery-controls{display:flex;align-items:center;gap:10px;white-space:nowrap;padding-bottom:5px}
.acp-gallery-arrow{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:white;border:1px solid #b4d9ee;color:var(--deep);font-size:23px;line-height:1;cursor:pointer;transition:background .18s ease}
.acp-gallery-arrow:hover{background:#dcf1ff}
.acp-gallery-count{font-size:14px;color:var(--muted);font-weight:700;min-width:53px;text-align:center;font-variant-numeric:tabular-nums}
.acp-carousel{margin:0 -10px}
.acp-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px) / 3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:10px;scrollbar-width:thin;scrollbar-color:#afd7ef transparent;padding:9px 10px 20px;overscroll-behavior-inline:contain}
.acp-event-card{scroll-snap-align:start;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 28px #1c5a8720;display:flex;flex-direction:column;min-width:0}
.acp-event-cover{display:block;height:205px;background:linear-gradient(135deg,#d5eeff,#f0f9ff);overflow:hidden;flex-shrink:0}
.acp-event-cover>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.acp-event-card:hover .acp-event-cover>img{transform:scale(1.035)}
.acp-event-no-photo{height:100%;display:flex;gap:10px;align-items:center;justify-content:center;flex-direction:column;font-size:14px;font-weight:700;color:var(--deep)}
.acp-event-no-photo img{max-width:92px;max-height:92px;object-fit:contain}
.acp-event-content{padding:22px 23px 24px;display:flex;flex-direction:column;flex-grow:1;align-items:flex-start}
.acp-event-label{display:inline-block;border-radius:30px;background:#e5f5ff;color:#0969a1;font-size:11px;line-height:1.4;padding:5px 11px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;margin-bottom:13px}
.acp-event-date{font-size:13px;color:var(--muted)}
.acp-event-content h3{font-size:20px;line-height:1.32;margin:10px 0;color:var(--deep);letter-spacing:-.015em}
.acp-event-content h3 a{color:inherit;text-decoration:none}
.acp-event-content h3 a:hover{color:var(--blue);text-decoration:underline}
.acp-event-content p{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 15px}
.acp-event-link{margin-top:auto;font-size:15px;font-weight:800;text-decoration:none;color:#116b9e}
.acp-event-link:hover{text-decoration:underline}
.acp-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px}
.acp-gallery-bottom>span{color:var(--muted);font-size:13px}
.acp-gallery-admin-note{margin-top:24px;margin-bottom:24px;border-left:4px solid #1685c4;background:#e8f6ff;padding:16px 22px;color:var(--deep);font-size:14px}
body.big-type .acp-event-content p{font-size:1.04em}
@media(max-width:990px){.acp-carousel-track{grid-auto-columns:calc((100% - 20px) / 2)}}
@media(max-width:640px){.acp-gallery-header{gap:18px;align-items:flex-start;flex-direction:column}.acp-gallery-controls{padding-bottom:0}.acp-carousel-track{grid-auto-columns:86%;gap:14px}.acp-gallery-bottom{align-items:flex-start;flex-direction:column}.acp-event-cover{height:198px}.acp-event-content{padding:19px 20px}}
@media(prefers-reduced-motion:reduce){.acp-event-card:hover .acp-event-cover>img{transform:none}.acp-carousel-track{scroll-behavior:auto}}
