:root{--primary:#65e572;--dark:#0c1110;--card:#151c1a;--muted:#93a49f;--line:#27312f;--bg:#0f1513;--danger:#ff6262;--warning:#ffc857}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f7f6;color:#14201d}.public-body{background:#08100e;color:#fff}.hero{min-height:92vh;background:radial-gradient(circle at 80% 20%,rgba(101,229,114,.22),transparent 30%),linear-gradient(145deg,#07100d,#101a17 65%,#0b1711);position:relative;overflow:hidden}.nav-public{max-width:1180px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:800;font-size:20px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--primary);color:#0b110e;border-radius:12px}.hero-inner{max-width:1180px;margin:auto;padding:90px 24px 120px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.badge-soft{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid rgba(101,229,114,.3);background:rgba(101,229,114,.08);border-radius:999px;color:#9ef3a6;font-size:13px}.hero h1{font-size:clamp(44px,6vw,76px);line-height:.96;letter-spacing:-3px;margin:24px 0}.hero p{color:#b7c4c0;font-size:19px;max-width:650px}.hero-card{background:linear-gradient(160deg,#17211e,#0f1715);border:1px solid #283631;padding:24px;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat-mini{background:#111a17;border:1px solid #25322e;border-radius:18px;padding:18px}.stat-mini b{font-size:28px;display:block;color:var(--primary)}.section-public{max-width:1180px;margin:auto;padding:90px 24px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{background:#101815;border:1px solid #22302b;padding:26px;border-radius:22px}.feature i{font-size:28px;color:var(--primary)}.feature p{color:#9eafa9}.btn-lime{background:var(--primary);border-color:var(--primary);color:#08100e;font-weight:800}.btn-lime:hover{background:#88ee91;border-color:#88ee91;color:#08100e}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 15%,rgba(101,229,114,.16),transparent 28%),#0b1210;padding:24px}.auth-card{width:min(460px,100%);background:#fff;border-radius:24px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.app-body{margin:0;background:#f3f6f5}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#0d1513;color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:1040}.sidebar .brand{padding:0 8px 28px}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.sidebar-logout{display:flex;gap:12px;align-items:center;color:#a8b7b2;text-decoration:none;padding:12px 14px;border-radius:12px}.sidebar nav a:hover,.sidebar-logout:hover{background:#18231f;color:#fff}.sidebar nav i{color:var(--primary)}.sidebar-logout{margin-top:auto}.main{margin-left:260px;min-height:100vh}.topbar{height:92px;background:#fff;border-bottom:1px solid #e2e8e6;display:flex;align-items:center;justify-content:space-between;padding:16px 30px;position:sticky;top:0;z-index:1020}.topbar h1{font-size:24px;margin:0}.page-kicker{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:#7b8c87}.user-chip{display:flex;gap:10px;align-items:center}.user-chip small{display:block;color:#7c8b86}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e5fbe7;color:#147421;font-weight:900}.menu-btn{display:none;border:0;background:transparent;font-size:28px}.content{padding:28px 30px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric-card,.card-clean{background:#fff;border:1px solid #e1e8e5;border-radius:20px;padding:22px;box-shadow:0 8px 28px rgba(22,44,36,.04)}.metric-card small{color:#778984}.metric-card strong{font-size:29px;display:block;margin-top:8px}.metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#e8fbea;color:#21802b;font-size:21px}.grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.status-paid,.status-active{background:#e5f9e8;color:#1c7828}.status-pending,.status-warning{background:#fff5d9;color:#8c6711}.status-failed,.status-canceled,.status-expired{background:#ffe6e6;color:#aa2525}.table-clean{--bs-table-bg:transparent;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.progress-photo{position:relative;border-radius:18px;overflow:hidden;background:#ddd;aspect-ratio:4/5}.progress-photo img{width:100%;height:100%;object-fit:cover}.progress-photo .caption{position:absolute;left:0;right:0;bottom:0;padding:20px 12px 10px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}.workout-day{border:1px solid #e2e8e6;border-radius:16px;padding:18px;margin-bottom:12px}.pix-box{max-width:620px;margin:auto;text-align:center}.pix-qr{max-width:270px;width:100%;border:10px solid #fff;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.copy-field{display:flex;gap:8px}.copy-field input{font-family:monospace;font-size:12px}.form-control,.form-select{border-radius:12px;padding:11px 13px}.btn{border-radius:12px;padding:10px 16px}.login-hint{font-size:12px;color:#71827d;background:#f2f5f4;border-radius:12px;padding:12px}.logo-preview{max-height:70px;max-width:220px}.membership-banner{background:linear-gradient(120deg,#0d1713,#183122);color:#fff;border-radius:22px;padding:24px;display:flex;justify-content:space-between;align-items:center}.membership-banner .accent{color:var(--primary)}@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.hero-inner{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.main{margin-left:0}.menu-btn{display:block}.topbar{padding:14px 18px}.topbar .user-chip div:last-child{display:none}.content{padding:18px}.metric-grid{grid-template-columns:1fr 1fr;gap:12px}.metric-card{padding:16px}.metric-card strong{font-size:23px}.features{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.hero-inner{padding-top:55px}.hero h1{letter-spacing:-2px}.membership-banner{align-items:flex-start;gap:18px;flex-direction:column}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.nav-public{padding:18px}.hero-inner,.section-public{padding-left:18px;padding-right:18px}}
.hero-photo{width:100%;max-width:370px;margin-left:auto;border-radius:24px;overflow:hidden;border:1px solid #283631;box-shadow:0 24px 60px rgba(0,0,0,.32);background:#101815}.hero-photo img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain}.about-public{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-copy p,.public-muted{color:#9eafa9;font-size:18px;line-height:1.7}.about-photo{width:100%;max-height:520px;object-fit:cover;border-radius:28px;border:1px solid #22302b}.about-placeholder{min-height:380px;border-radius:28px;border:1px dashed #33433e;display:grid;place-items:center;color:#62726d;font-size:60px;background:#101815}.front-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.front-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:1px solid #22302b}.gallery-empty{border:1px dashed #33433e;border-radius:20px;padding:40px;text-align:center;color:#7f918b;background:#101815}.admin-site-preview{width:100%;max-height:220px;object-fit:cover;border-radius:14px;border:1px solid #e1e8e5}.upload-placeholder{height:150px;border:1px dashed #ccd7d3;border-radius:14px;display:grid;place-items:center;align-content:center;gap:8px;color:#80908b;background:#f8faf9}.upload-placeholder i{font-size:32px}@media(max-width:1000px){.about-public{grid-template-columns:1fr}.front-gallery{grid-template-columns:repeat(2,1fr)}.hero-photo{max-width:350px;margin:10px auto 0}}@media(max-width:600px){.front-gallery{grid-template-columns:1fr}.hero-photo{max-width:310px;margin:8px auto 0}.hero-photo img{max-height:390px}}

/* AcademiaPro v3 - front-end e painel */
.public-logo{max-height:52px;max-width:210px;object-fit:contain}.public-nav-actions{display:flex;gap:10px}.hero-copy h1 span{color:var(--primary)}.hero-tagline{display:inline-flex;gap:8px;align-items:center;margin-top:22px;color:#a7b7b1}.section-heading{max-width:760px;margin-bottom:38px}.section-heading h2,.about-copy h2,.contact-public h2{font-size:clamp(34px,5vw,58px);font-weight:850;letter-spacing:-2px;margin:16px 0}.section-heading p{color:#9eafa9;font-size:18px}.section-dark-alt{background:#0f1715;border-top:1px solid #1d2925;border-bottom:1px solid #1d2925}.about-placeholder{gap:12px}.about-placeholder small{font-size:14px;display:block}.about-points{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.about-points span{display:flex;gap:7px;align-items:center;color:#c2cec9}.about-points i{color:var(--primary)}.front-gallery figure{margin:0;position:relative;border-radius:20px;overflow:hidden}.front-gallery figure img{border-radius:20px;transition:transform .25s ease}.front-gallery figure:hover img{transform:scale(1.025)}.front-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.84))}.gallery-empty{display:grid;gap:8px;place-items:center;min-height:220px}.gallery-empty i{font-size:45px;color:var(--primary)}.gallery-empty strong{color:#fff;font-size:18px}.contact-public{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.contact-public p{color:#9eafa9;font-size:18px}.contact-lines{display:grid;gap:10px;margin-top:22px;color:#c0ccc7}.contact-lines span{display:flex;gap:10px;align-items:center}.contact-lines i{color:var(--primary)}.contact-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}.public-footer{max-width:1180px;margin:auto;padding:34px 24px 44px;display:flex;justify-content:space-between;gap:20px;color:#7e8f89;border-top:1px solid #1e2a26}.public-footer div:first-child{display:flex;gap:10px;flex-direction:column}.public-footer strong{color:#fff}.front-media-preview{width:100%;height:310px;object-fit:cover;border-radius:18px;border:1px solid #e0e7e4}.front-media-empty{min-height:210px;border:1px dashed #cbd7d2;background:#f8faf9;border-radius:18px;color:#72837d;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;padding:20px}.front-media-empty i{font-size:44px;color:#95a69f}.gallery-add-box{background:#f7faf8;border:1px solid #e1e8e5;border-radius:18px;padding:18px}.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-gallery-card{border:1px solid #e1e8e5;border-radius:18px;overflow:hidden;background:#fff}.admin-gallery-card>img{width:100%;height:190px;object-fit:cover}.favicon-preview{width:48px;height:48px;object-fit:contain;border:1px solid #e0e7e4;border-radius:10px;background:#fff}.mp-config-card{position:sticky;top:115px}.credential-check{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;background:#f7faf8;border:1px solid #e1e8e5;border-radius:14px}.credential-check div{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.empty-state{padding:36px;text-align:center;color:#75857f;border:1px dashed #d4ded9;border-radius:18px;background:#f8faf9}.empty-state i{display:block;font-size:40px;margin-bottom:10px;color:#8ea098}.workout-selector{background:#f8faf9;border:1px solid #e1e8e5;border-radius:16px;padding:16px}.student-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.student-tabs a{display:inline-flex;align-items:center;gap:7px;border:1px solid #dde6e2;border-radius:12px;padding:9px 12px;color:#263630;text-decoration:none;background:#fff}.student-tabs a:hover{background:#f3f7f5}.mini-photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini-photo-strip img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-box{padding:13px;background:#f7faf8;border-radius:14px}.metric-box small{display:block;color:#7b8c86}.metric-box strong{font-size:18px}.text-break-all{word-break:break-all}
@media(max-width:1000px){.contact-public{grid-template-columns:1fr}.admin-gallery-grid{grid-template-columns:repeat(2,1fr)}.mp-config-card{position:static}.metric-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.public-nav-actions .btn:first-child{display:none}.public-logo{max-width:150px}.admin-gallery-grid{grid-template-columns:1fr}.credential-check{grid-template-columns:1fr}.public-footer{flex-direction:column}.mini-photo-strip{grid-template-columns:repeat(2,1fr)}.metric-row{grid-template-columns:1fr 1fr}.front-media-preview{height:240px}}


/* AcademiaPro v3.2 - cabeçalho informativo */
.header-info-bar{border-bottom:1px solid rgba(255,255,255,.08);background:rgba(4,10,8,.72);backdrop-filter:blur(10px)}
.header-info-inner{max-width:1180px;margin:auto;padding:9px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9fb0aa;font-size:12.5px}
.header-info-group{display:flex;align-items:center;gap:18px;min-width:0}
.header-info-group a,.header-info-group span{display:inline-flex;align-items:center;gap:7px;color:#aebdb8;text-decoration:none;white-space:nowrap}
.header-info-group a:hover{color:var(--primary)}
.header-info-group i{color:var(--primary)}
.header-info-right{justify-content:flex-end;overflow:hidden}
.header-address{max-width:320px;overflow:hidden;text-overflow:ellipsis}
.nav-public{gap:24px;border-bottom:1px solid rgba(255,255,255,.06)}
.public-nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}
.public-nav-links a{position:relative;color:#c1cec9;text-decoration:none;font-size:14px;font-weight:700;padding:10px 0}
.public-nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--primary);transition:.2s}
.public-nav-links a:hover{color:#fff}.public-nav-links a:hover:after{right:0}
.public-nav-actions{margin-left:6px;flex-shrink:0}
.public-mobile-menu{display:none;position:relative;margin:0}
.public-mobile-menu summary{list-style:none;width:44px;height:44px;border:1px solid #35423e;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:25px;cursor:pointer;background:#111a17}
.public-mobile-menu summary::-webkit-details-marker{display:none}
.public-mobile-dropdown{position:absolute;right:0;top:52px;width:min(280px,calc(100vw - 36px));padding:12px;background:#101815;border:1px solid #2b3934;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.45);z-index:50}
.public-mobile-dropdown a{display:flex;padding:11px 12px;border-radius:10px;color:#c9d5d1;text-decoration:none;font-weight:700}
.public-mobile-dropdown a:hover{background:#18231f;color:#fff}.public-mobile-dropdown hr{border-color:#34413d;margin:8px 0}.public-mobile-dropdown .mobile-cta{background:var(--primary);color:#07100d;margin-top:5px}
.hero-inner{padding-top:76px}
@media(max-width:1080px){.public-nav-links{gap:16px}.public-nav-links a{font-size:13px}.header-address{display:none}}
@media(max-width:900px){.public-nav-links,.public-nav-actions{display:none}.public-mobile-menu{display:block;margin-left:auto}.nav-public{padding-top:16px;padding-bottom:16px}.header-email{display:none}.header-info-inner{padding-top:8px;padding-bottom:8px}.hero-inner{padding-top:55px}}
@media(max-width:650px){.header-info-inner{padding-left:18px;padding-right:18px}.header-info-right{margin-left:auto}.header-info-right span:not(:first-child){display:none}.header-info-group{gap:11px}.header-info-group a,.header-info-group span{font-size:11.5px}.header-info-group a[href^="tel:"]{display:none}.public-logo{max-height:46px;max-width:160px}}
@media(max-width:420px){.header-info-right{display:none}.header-info-inner{justify-content:flex-start}.header-info-group{width:100%;justify-content:space-between}}

/* AcademiaPro v3.3 — identidade visual menos genérica e mais editorial */
.public-v33{background:#0a0f0d;color:#f4f7f5}
.public-v33 .site-header{position:relative;z-index:20;background:#0a0f0d}
.public-v33 .header-info-bar{background:#0a0f0d;border-bottom:1px solid #202824;backdrop-filter:none}
.public-v33 .header-info-inner{max-width:1260px;padding:10px 28px;color:#8f9c97;font-size:12px}
.public-v33 .header-info-group a,.public-v33 .header-info-group span{color:#8f9c97;font-weight:500}
.public-v33 .header-info-group i{color:#6f7c77}
.public-v33 .nav-public{max-width:1260px;padding:20px 28px;border-bottom:0}
.public-v33 .public-nav-links{gap:30px}
.public-v33 .public-nav-links a{font-weight:600;font-size:13px;color:#aeb8b4;letter-spacing:.01em}
.public-v33 .public-nav-links a:after{height:1px;bottom:2px}
.public-v33 .nav-login-link{display:inline-flex;align-items:center;color:#d4dbd8;text-decoration:none;font-size:13px;font-weight:650;padding:10px 4px}
.public-v33 .nav-login-link:hover{color:#fff}
.public-v33 .btn{border-radius:4px}
.public-v33 .btn-lime{background:#77e880;border-color:#77e880;color:#08100d;font-weight:750}
.public-v33 .btn-lime:hover{background:#8bec93;border-color:#8bec93}
.public-v33 .hero-v33{min-height:auto;background:#0a0f0d;border-top:1px solid #151c19;border-bottom:1px solid #202824;overflow:hidden}
.public-v33 .hero-inner{max-width:1260px;padding:92px 28px 104px;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:88px}
.public-v33 .eyebrow,.public-v33 .section-label{display:flex;align-items:center;gap:14px;color:#8f9c97;font-size:11px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.public-v33 .eyebrow>span{width:40px;height:1px;background:#77e880}
.public-v33 .hero h1{font-size:clamp(48px,6.2vw,84px);line-height:.98;letter-spacing:-.055em;margin:26px 0 28px;max-width:820px;font-weight:760}
.public-v33 .hero h1 em{font-style:normal;color:#77e880;font-weight:650}
.public-v33 .hero p{font-size:18px;line-height:1.7;color:#9da9a4;max-width:620px;margin:0}
.public-v33 .hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}
.public-v33 .text-action{display:inline-flex;align-items:center;gap:9px;color:#d7dfdc;text-decoration:none;font-weight:650;font-size:14px;border-bottom:1px solid #3b4541;padding:8px 0 6px}
.public-v33 .text-action:hover{color:#fff;border-color:#77e880}
.public-v33 .hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:48px;padding-top:22px;border-top:1px solid #202824;color:#6f7c77;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.public-v33 .hero-meta span+span:before{content:"/";margin-right:22px;color:#39433f}
.public-v33 .hero-visual{position:relative}
.public-v33 .hero-photo{max-width:410px;margin-left:auto;border:0;border-radius:2px;background:#111;box-shadow:none;position:relative}
.public-v33 .hero-photo:before{content:"";position:absolute;left:-18px;bottom:-18px;width:42%;height:52%;border-left:1px solid #77e880;border-bottom:1px solid #77e880;z-index:2;pointer-events:none}
.public-v33 .hero-photo img{max-height:520px;object-fit:cover;aspect-ratio:4/5;filter:saturate(.9) contrast(1.03)}
.public-v33 .hero-no-photo{min-height:450px;max-width:410px;margin-left:auto;border:1px solid #28302d;background:#0f1512;display:flex;align-items:flex-end;padding:28px}
.public-v33 .hero-no-photo small{display:block;color:#71807a;font-size:11px;letter-spacing:.16em;margin-bottom:10px}
.public-v33 .hero-no-photo strong{display:block;font-size:30px;line-height:1.1;max-width:300px}
.public-v33 .section-public{max-width:1260px;padding:108px 28px}
.public-v33 .section-experience{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.public-v33 .experience-heading{position:sticky;top:38px}
.public-v33 .experience-heading h2{font-size:clamp(36px,4.8vw,62px);line-height:1.03;letter-spacing:-.045em;margin:22px 0 24px;max-width:520px;font-weight:720}
.public-v33 .experience-heading p{color:#87948f;font-size:16px;line-height:1.7;max-width:430px}
.public-v33 .feature-lines{border-top:1px solid #2b3430}
.public-v33 .feature-lines article{display:grid;grid-template-columns:1fr 24px;gap:20px;align-items:start;padding:26px 0;border-bottom:1px solid #2b3430}
.public-v33 .feature-lines h3{font-size:21px;margin:0 0 7px;font-weight:670;letter-spacing:-.02em}
.public-v33 .feature-lines p{color:#7e8b85;line-height:1.65;margin:0;max-width:570px;font-size:15px}
.public-v33 .feature-lines article>i{color:#58645f;font-size:18px;margin-top:3px}
.public-v33 .feature-lines article:hover>i{color:#77e880}
.public-v33 .section-wide{border-top:1px solid #202824;border-bottom:1px solid #202824;background:#0d1311}
.public-v33 .section-about-v33 .about-public{max-width:1260px;margin:auto;padding:112px 28px;grid-template-columns:.95fr 1.05fr;gap:92px}
.public-v33 .about-media{position:relative;max-width:540px}
.public-v33 .about-photo{border:0;border-radius:2px;max-height:620px;aspect-ratio:4/5;object-fit:cover}
.public-v33 .clean-placeholder{border:1px solid #2a3430;border-radius:2px;background:#101613;min-height:520px;color:#5f6d67;font-size:14px;display:grid;place-items:center}
.public-v33 .about-copy h2{font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.05em;margin:24px 0 26px;font-weight:720}
.public-v33 .about-copy p{color:#8c9994;font-size:17px;line-height:1.75;max-width:610px}
.public-v33 .about-list{margin-top:34px;border-top:1px solid #2a3430}
.public-v33 .about-list>div{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #2a3430;color:#c8d0cd}
.public-v33 .about-list i{color:#77e880;font-size:17px;line-height:1.2}
.public-v33 .gallery-section-v33{padding-top:112px;padding-bottom:118px}
.public-v33 .gallery-head-v33{display:grid;grid-template-columns:1fr .65fr;gap:80px;align-items:end;margin-bottom:42px}
.public-v33 .gallery-head-v33 h2{font-size:clamp(38px,5vw,66px);line-height:1;letter-spacing:-.05em;margin:20px 0 0;font-weight:720}
.public-v33 .gallery-head-v33 p{color:#87948f;line-height:1.7;margin:0 0 4px;font-size:16px}
.public-v33 .editorial-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.public-v33 .editorial-gallery figure,.public-v33 .editorial-gallery figure:nth-child(n){position:relative;grid-column:auto;border-radius:2px;overflow:hidden;aspect-ratio:4/3;margin:0;background:#111714}
.public-v33 .editorial-gallery img,.public-v33 .editorial-gallery figure:nth-child(n) img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:2px;object-fit:cover;object-position:center;filter:saturate(.9)}
.public-v33 .editorial-gallery figcaption{padding:36px 16px 14px;font-size:13px;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.public-v33 .gallery-empty-v33{border-radius:2px;border:1px solid #29332f;background:transparent;color:#69756f;min-height:160px}
.public-v33 .contact-section-v33{background:#111714}
.public-v33 .contact-v33{max-width:1260px;margin:auto;padding:104px 28px;grid-template-columns:1fr 1fr .55fr;gap:70px;align-items:start}
.public-v33 .contact-v33 h2{font-size:clamp(38px,4.5vw,60px);line-height:1.02;letter-spacing:-.05em;margin:22px 0 22px;font-weight:720}
.public-v33 .contact-v33 p{color:#87948f;line-height:1.7;max-width:480px;font-size:16px}
.public-v33 .contact-details-v33{border-top:1px solid #2a3430}
.public-v33 .contact-details-v33>a,.public-v33 .contact-details-v33>div{display:block;padding:15px 0 17px;border-bottom:1px solid #2a3430;text-decoration:none}
.public-v33 .contact-details-v33 small{display:block;color:#65716c;font-size:10px;letter-spacing:.14em;margin-bottom:5px}
.public-v33 .contact-details-v33 strong{display:block;color:#d2d9d6;font-size:14px;font-weight:600;line-height:1.45}
.public-v33 .contact-actions-v33{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.public-v33 .footer-v33{max-width:1260px;padding:34px 28px 44px;border-top:0;color:#69756f;font-size:12px}
.public-v33 .footer-v33 strong{font-weight:650}
@media(max-width:1000px){
  .public-v33 .hero-inner{grid-template-columns:1fr;gap:54px;padding-top:72px}
  .public-v33 .hero-photo,.public-v33 .hero-no-photo{margin:0;max-width:430px}
  .public-v33 .section-experience{grid-template-columns:1fr;gap:48px}.public-v33 .experience-heading{position:static}
  .public-v33 .section-about-v33 .about-public{grid-template-columns:1fr;gap:60px}
  .public-v33 .gallery-head-v33{grid-template-columns:1fr;gap:20px}.public-v33 .contact-v33{grid-template-columns:1fr 1fr}.public-v33 .contact-actions-v33{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center}
}
@media(max-width:700px){
  .public-v33 .header-info-inner,.public-v33 .nav-public{padding-left:18px;padding-right:18px}.public-v33 .hero-inner,.public-v33 .section-public{padding-left:20px;padding-right:20px}
  .public-v33 .hero-inner{padding-top:58px;padding-bottom:72px}.public-v33 .hero h1{font-size:clamp(43px,13vw,62px);letter-spacing:-.055em}.public-v33 .hero p{font-size:16px}
  .public-v33 .hero-meta{gap:10px 16px}.public-v33 .hero-meta span+span:before{display:none}
  .public-v33 .section-public{padding-top:78px;padding-bottom:78px}.public-v33 .feature-lines article{grid-template-columns:38px 1fr;gap:14px}.public-v33 .feature-lines article>i{display:none}
  .public-v33 .section-about-v33 .about-public,.public-v33 .contact-v33{padding:78px 20px}.public-v33 .about-copy h2,.public-v33 .gallery-head-v33 h2,.public-v33 .contact-v33 h2{letter-spacing:-.045em}
  .public-v33 .editorial-gallery{display:grid;grid-template-columns:1fr}.public-v33 .editorial-gallery figure,.public-v33 .editorial-gallery figure:nth-child(n){grid-column:auto}.public-v33 .editorial-gallery img,.public-v33 .editorial-gallery figure:nth-child(1) img,.public-v33 .editorial-gallery figure:nth-child(4) img{aspect-ratio:4/3}
  .public-v33 .contact-v33{grid-template-columns:1fr;gap:42px}.public-v33 .contact-actions-v33{grid-column:auto;flex-direction:column;align-items:flex-start}
  .public-v33 .footer-v33{padding-left:20px;padding-right:20px}
}

/* Comunidade e avaliações */
.avatar-photo{overflow:hidden;padding:0}.avatar-photo img{width:100%;height:100%;object-fit:cover}.community-wrap{max-width:720px;margin:0 auto}.community-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.social-post{background:#fff;border:1px solid #e5ebe8;margin-bottom:24px;overflow:hidden}.social-post-head{display:flex;align-items:center;gap:12px;padding:14px 16px}.social-avatar,.comment-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#edf2ef;font-weight:800;flex:0 0 auto}.social-avatar img,.comment-avatar img{width:100%;height:100%;object-fit:cover}.brand-avatar span{display:grid;place-items:center;width:100%;height:100%;background:#101714;color:#77e880}.social-post-head strong{display:block;font-size:14px}.social-post-head small{display:block;color:#77847f;font-size:11px;margin-top:2px}.notice-label{font-size:10px;letter-spacing:.12em;font-weight:800;color:#6b7772}.social-photo{background:#0c1110}.social-photo img{display:block;width:100%;max-height:720px;object-fit:cover}.social-post-body{padding:14px 16px 16px}.social-actions{display:flex;gap:14px;align-items:center;margin-bottom:8px}.social-actions form{margin:0}.social-icon-btn{border:0;background:transparent;padding:0;color:#18201e;font-size:24px;line-height:1}.social-icon-btn.liked{color:#d63c53}.social-likes{font-size:13px;font-weight:750;margin-bottom:9px}.social-copy{font-size:14px;line-height:1.55;margin-bottom:14px}.social-copy strong{margin-right:5px}.social-comments{display:flex;flex-direction:column;gap:10px}.social-comment{display:flex;align-items:flex-start;gap:9px}.comment-avatar{width:30px;height:30px;font-size:11px}.comment-bubble{flex:1;font-size:13px;line-height:1.45}.comment-bubble strong{margin-right:4px}.comment-bubble small{display:block;color:#8a9692;font-size:10px;margin-top:2px}.comment-delete{border:0;background:transparent;color:#9aa49f;padding:2px}.social-comment-form{display:flex;align-items:center;border-top:1px solid #edf0ee;margin-top:14px;padding-top:12px}.social-comment-form .form-control{border:0;box-shadow:none;padding-left:0;background:transparent;font-size:13px}.social-comment-form button{border:0;background:transparent;color:#147d3d;font-weight:750;font-size:13px}.admin-post-list{display:grid;gap:18px}.social-admin-card{padding:18px}.social-admin-image{width:100%;max-height:460px;object-fit:cover;border-radius:8px}.social-caption{white-space:normal;line-height:1.6}.social-admin-meta{display:flex;gap:18px;color:#6f7d77;font-size:12px}.sticky-card{position:sticky;top:24px}.review-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-person{display:flex;align-items:center;gap:10px}.review-person>img,.review-person>span{width:42px;height:42px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#edf2ef;font-weight:800}.review-person strong,.review-person small{display:block}.review-person small{color:#7d8984;font-size:11px}.review-stars,.public-review-stars{color:#e8aa2f;display:flex;gap:3px}.review-text{font-size:15px;line-height:1.6}.review-form-wrap{max-width:760px}.rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px}.rating-input input{display:none}.rating-input label{cursor:pointer;font-size:31px;color:#cdd4d1}.rating-input input:checked~label,.rating-input label:hover,.rating-input label:hover~label{color:#e8aa2f}.academy-reply{border-left:3px solid #77e880;padding:13px 16px;background:#f6f8f7}.academy-reply small{display:block;font-size:10px;letter-spacing:.12em;color:#66736e;margin-bottom:5px}.profile-avatar-editor{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}.profile-avatar-editor>img,.profile-avatar-empty{width:96px;height:96px;border-radius:50%;object-fit:cover}.profile-avatar-empty{display:grid;place-items:center;background:#111a17;color:#77e880;font-size:32px;font-weight:800}

.public-v33 .reviews-section-v38{background:#0b100e;border-top:1px solid #202824;border-bottom:1px solid #202824}.public-v33 .reviews-public-v38{max-width:1260px;margin:auto;padding:104px 28px}.public-v33 .reviews-head-v38{display:grid;grid-template-columns:1fr .8fr;gap:18px 70px;align-items:end;margin-bottom:42px}.public-v33 .reviews-head-v38 .section-label{grid-column:1/-1}.public-v33 .reviews-head-v38 h2{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.05em;margin:0;font-weight:720}.public-v33 .reviews-head-v38>p{color:#87948f;line-height:1.7;margin:0}.public-v33 .reviews-grid-v38{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-v33 .public-review-card{border:1px solid #29312e;background:#0e1512;padding:26px;min-height:250px;display:flex;flex-direction:column}.public-v33 .public-review-stars{margin-bottom:20px;font-size:13px}.public-v33 .public-review-card>p{color:#ccd4d1;line-height:1.7;font-size:15px;flex:1}.public-v33 .public-review-person{display:flex;align-items:center;gap:11px;margin-top:22px}.public-v33 .public-review-person img,.public-v33 .public-review-person>span{width:42px;height:42px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#1d2824;color:#77e880;font-weight:800}.public-v33 .public-review-person strong,.public-v33 .public-review-person small{display:block}.public-v33 .public-review-person small{color:#6f7c77;font-size:11px;margin-top:2px}.public-v33 .public-review-reply{margin-top:20px;padding-top:16px;border-top:1px solid #26302c}.public-v33 .public-review-reply small{color:#68756f;font-size:9px;letter-spacing:.13em}.public-v33 .public-review-reply p{color:#9da8a3;font-size:12px;margin:5px 0 0;line-height:1.55}
@media(max-width:950px){.review-admin-grid{grid-template-columns:1fr}.public-v33 .reviews-grid-v38{grid-template-columns:repeat(2,minmax(0,1fr))}.public-v33 .reviews-head-v38{grid-template-columns:1fr;gap:18px}.sticky-card{position:static}}
@media(max-width:650px){.community-intro{align-items:flex-start;flex-direction:column}.social-post{margin-left:-8px;margin-right:-8px}.review-admin-grid{grid-template-columns:1fr}.profile-avatar-editor{grid-template-columns:72px 1fr}.profile-avatar-editor>img,.profile-avatar-empty{width:72px;height:72px}.public-v33 .reviews-public-v38{padding:78px 20px}.public-v33 .reviews-grid-v38{grid-template-columns:1fr}.public-v33 .public-review-card{min-height:auto}}

/* Comunidade pública - v3.9 */
.public-v33 .community-home-v39{padding-top:96px;padding-bottom:104px}
.public-v33 .community-home-head-v39{display:grid;grid-template-columns:1.1fr .9fr;gap:30px 80px;align-items:end;margin-bottom:38px}
.public-v33 .community-home-head-v39 h2{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.05em;margin:8px 0 0;font-weight:720}
.public-v33 .community-home-head-v39 p{color:#6f7c77;line-height:1.7;margin:0 0 14px;max-width:520px}
.public-v33 .community-home-grid-v39{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.public-v33 .community-home-card-v39{background:#fff;border:1px solid #e1e7e4;overflow:hidden}
.public-v33 .community-home-card-v39>a{display:block;background:#101714;overflow:hidden}
.public-v33 .community-home-card-v39 img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;transition:transform .35s ease}
.public-v33 .community-home-card-v39:hover img{transform:scale(1.025)}
.public-v33 .community-home-card-copy-v39{padding:14px 15px 16px}
.public-v33 .community-home-card-copy-v39 small{display:block;color:#87928d;font-size:10px;letter-spacing:.08em;margin-bottom:7px}
.public-v33 .community-home-card-copy-v39 p{margin:0;color:#26302c;font-size:13px;line-height:1.5}
@media(max-width:900px){.public-v33 .community-home-head-v39{grid-template-columns:1fr;gap:18px}.public-v33 .community-home-grid-v39{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.public-v33 .community-home-v39{padding-top:76px;padding-bottom:80px}.public-v33 .community-home-grid-v39{grid-template-columns:1fr 1fr;gap:8px}.public-v33 .community-home-card-copy-v39{padding:10px}.public-v33 .community-home-card-copy-v39 p{font-size:12px}.public-v33 .community-home-card-v39 img{aspect-ratio:1/1}}

/* AcademiaPro v3.9 — mobile-first polish */
.sidebar-overlay,.sidebar-close{display:none}
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px}

  /* Site público */
  .public-v33 .header-info-bar{display:none}
  .public-v33 .site-header{position:sticky;top:0;z-index:1050;border-bottom:1px solid #202824}
  .public-v33 .nav-public{height:68px;padding:10px 16px;gap:12px;background:#0a0f0d}
  .public-v33 .brand{min-width:0}
  .public-v33 .public-logo{max-height:40px;max-width:145px}
  .public-v33 .brand-mark{width:36px;height:36px;border-radius:8px}
  .public-v33 .public-mobile-menu summary{width:42px;height:42px;border-radius:8px;background:#101714;border-color:#2a3430}
  .public-v33 .public-mobile-dropdown{position:fixed;top:76px;left:12px;right:12px;width:auto;max-height:calc(100svh - 90px);overflow:auto;padding:10px;border-radius:12px;background:#101714;box-shadow:0 18px 55px rgba(0,0,0,.55)}
  .public-v33 .public-mobile-dropdown a{padding:13px 12px;border-radius:8px;font-size:14px}

  .public-v33 .hero-inner{padding:42px 16px 54px;gap:30px;display:grid}
  .public-v33 .eyebrow,.public-v33 .section-label{font-size:9.5px;letter-spacing:.14em;gap:9px}
  .public-v33 .eyebrow>span{width:24px}
  .public-v33 .hero h1{font-size:clamp(36px,10.8vw,48px);line-height:1.01;letter-spacing:-.045em;margin:18px 0 18px}
  .public-v33 .hero p{font-size:15.5px;line-height:1.6}
  .public-v33 .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
  .public-v33 .hero-actions .btn{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center}
  .public-v33 .hero-actions .text-action{width:max-content;max-width:100%;font-size:13px}
  .public-v33 .hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin-top:28px;padding-top:16px;font-size:10px}
  .public-v33 .hero-meta span+span:before{display:none}
  .public-v33 .hero-visual{width:100%}
  .public-v33 .hero-photo,.public-v33 .hero-no-photo{width:100%;max-width:none;margin:0;border-radius:0}
  .public-v33 .hero-photo:before{display:none}
  .public-v33 .hero-photo img{width:100%;height:auto;max-height:350px;aspect-ratio:16/10;object-fit:cover}
  .public-v33 .hero-no-photo{min-height:240px;padding:20px}
  .public-v33 .hero-no-photo strong{font-size:24px}

  .public-v33 .section-public{padding:56px 16px}
  .public-v33 .section-experience{gap:30px}
  .public-v33 .experience-heading h2{font-size:34px;line-height:1.05;letter-spacing:-.035em;margin:15px 0 16px}
  .public-v33 .experience-heading p{font-size:15px;line-height:1.6}
  .public-v33 .feature-lines article{display:grid;grid-template-columns:1fr;padding:19px 0;gap:6px}
  .public-v33 .feature-lines article>i{display:none}
  .public-v33 .feature-lines h3{font-size:18px;margin-bottom:5px}
  .public-v33 .feature-lines p{font-size:14px;line-height:1.55}

  .public-v33 .section-about-v33 .about-public{padding:56px 16px;gap:28px}
  .public-v33 .about-media{max-width:none;width:100%}
  .public-v33 .about-photo{width:100%;max-height:330px;aspect-ratio:16/10;object-fit:cover}
  .public-v33 .clean-placeholder{min-height:230px}
  .public-v33 .about-copy h2,.public-v33 .gallery-head-v33 h2,.public-v33 .contact-v33 h2,.public-v33 .reviews-head-v38 h2,.public-v33 .community-home-head-v39 h2{font-size:34px;line-height:1.05;letter-spacing:-.035em;margin-top:15px}
  .public-v33 .about-copy p{font-size:15px;line-height:1.65}
  .public-v33 .about-list{margin-top:22px}
  .public-v33 .about-list>div{padding:13px 0;font-size:14px}

  .public-v33 .gallery-section-v33{padding:56px 16px}
  .public-v33 .gallery-head-v33{gap:12px;margin-bottom:24px}
  .public-v33 .gallery-head-v33 p{font-size:14px;line-height:1.6}
  .public-v33 .editorial-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .public-v33 .editorial-gallery figure,.public-v33 .editorial-gallery figure:nth-child(n){grid-column:auto;aspect-ratio:4/3}
  .public-v33 .editorial-gallery img,.public-v33 .editorial-gallery figure:nth-child(n) img{width:100%;height:100%;object-fit:cover;object-position:center}
  .public-v33 .editorial-gallery figcaption{padding:24px 10px 9px;font-size:11px}

  /* Comunidade pública: feed real, uma publicação por linha */
  .public-v33 .community-home-v39{padding:56px 16px 60px}
  .public-v33 .community-home-head-v39{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}
  .public-v33 .community-home-head-v39 p{font-size:14px;line-height:1.6;margin-bottom:8px}
  .public-v33 .community-home-grid-v39{display:grid;grid-template-columns:1fr;gap:18px}
  .public-v33 .community-home-card-v39{border-radius:10px;overflow:hidden}
  .public-v33 .community-home-card-v39 img{width:100%;height:auto;max-height:520px;aspect-ratio:4/5;object-fit:cover}
  .public-v33 .community-home-card-copy-v39{padding:12px 13px 14px}
  .public-v33 .community-home-card-copy-v39 p{font-size:13px;line-height:1.5}

  /* Avaliações em carrossel horizontal no celular */
  .public-v33 .reviews-public-v38{padding:56px 16px 60px}
  .public-v33 .reviews-head-v38{gap:12px;margin-bottom:24px}
  .public-v33 .reviews-head-v38>p{font-size:14px;line-height:1.6}
  .public-v33 .reviews-grid-v38{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
  .public-v33 .reviews-grid-v38::-webkit-scrollbar{display:none}
  .public-v33 .public-review-card{scroll-snap-align:start;min-height:auto;padding:20px;border-radius:8px}
  .public-v33 .public-review-card>p{font-size:14px}

  .public-v33 .contact-v33{padding:56px 16px;gap:28px}
  .public-v33 .contact-v33 p{font-size:14px;line-height:1.6}
  .public-v33 .contact-details-v33 strong{overflow-wrap:anywhere}
  .public-v33 .contact-actions-v33{gap:12px;width:100%}
  .public-v33 .contact-actions-v33 .btn{width:100%;justify-content:center;min-height:48px}
  .public-v33 .footer-v33{padding:28px 16px 34px;gap:10px;font-size:11px}

  /* Painel do aluno e administrador */
  .app-body{background:#f4f6f5}
  .sidebar{width:min(86vw,320px);padding:20px 16px 16px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 55px rgba(0,0,0,.22);overflow-y:auto}
  .sidebar-open .sidebar{transform:translateX(0)}
  .sidebar .brand{padding:2px 44px 20px 6px;min-height:48px}
  .sidebar nav a,.sidebar-logout{padding:12px;border-radius:10px;font-size:14px}
  .sidebar-close{display:grid;place-items:center;position:absolute;top:16px;right:14px;width:38px;height:38px;border:0;border-radius:9px;background:#17211e;color:#fff;font-size:18px;z-index:2}
  .sidebar-overlay{display:block;position:fixed;inset:0;border:0;background:rgba(5,10,8,.55);z-index:1035;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
  .sidebar-open .sidebar-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .main{margin-left:0;min-width:0}
  .topbar{height:68px;padding:9px 14px;gap:10px}
  .menu-btn{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border-radius:10px;background:#f2f5f3;font-size:24px}
  .topbar-title{min-width:0;flex:1}
  .page-kicker{display:none}
  .topbar h1{font-size:17px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .user-chip{flex:0 0 auto}
  .user-chip .avatar{width:36px;height:36px;font-size:13px}
  .topbar .user-chip>div:last-child{display:none}
  .content{padding:14px}
  .alert{font-size:13px;padding:11px 12px;margin-bottom:12px}
  .card-clean,.metric-card{border-radius:14px;padding:16px;box-shadow:none}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .metric-card{min-width:0}
  .metric-card small{font-size:11px;line-height:1.25}
  .metric-card strong{font-size:19px;line-height:1.15;overflow-wrap:anywhere}
  .metric-icon{width:38px;height:38px;border-radius:10px;font-size:17px;margin-bottom:8px}
  .grid-2{grid-template-columns:1fr;gap:14px}
  .membership-banner{padding:17px;border-radius:14px;gap:14px}
  .status-pill{font-size:10px;padding:5px 8px}
  .table-responsive{margin-left:-2px;margin-right:-2px;border-radius:8px}
  .table-clean{min-width:620px;font-size:12px}
  .table-clean th,.table-clean td{padding:10px 9px;vertical-align:middle}
  .workout-day{padding:13px;border-radius:12px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .progress-photo{border-radius:12px}
  .mini-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .copy-field{flex-direction:column}
  .copy-field .btn{width:100%}
  .pix-box{width:100%}
  .pix-qr{max-width:230px;border-width:7px;border-radius:14px}
  .form-control,.form-select{font-size:16px;padding:11px 12px;border-radius:10px}
  textarea.form-control{font-size:15px}
  .btn{min-height:42px;border-radius:10px}
  .auth-wrap{padding:14px;align-items:center}
  .auth-card{padding:22px 18px;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.28)}

  /* Comunidade logada */
  .community-wrap{width:100%;max-width:none}
  .community-intro{margin-bottom:14px;gap:10px}
  .community-intro h4{font-size:19px}
  .social-post{margin:0 0 16px;border-radius:14px;overflow:hidden}
  .social-post-head{padding:12px}
  .social-avatar{width:36px;height:36px}
  .social-photo{display:flex;align-items:center;justify-content:center;min-height:180px;background:#0c1110}
  .social-photo img{width:100%;height:auto;max-height:72svh;object-fit:contain}
  .social-post-body{padding:12px}
  .social-copy{font-size:13.5px}
  .social-comment-form{gap:8px}
  .social-comment-form .form-control{font-size:14px;min-width:0}
  .social-comment-form button{font-size:12px;flex:0 0 auto}
  .profile-avatar-editor{grid-template-columns:68px 1fr;gap:14px}
  .profile-avatar-editor>img,.profile-avatar-empty{width:68px;height:68px}
  .review-form-wrap{max-width:none}
  .rating-input label{font-size:29px}

  /* Admin */
  .admin-gallery-grid{grid-template-columns:1fr}
  .admin-gallery-card>img{height:210px}
  .front-media-preview{height:210px}
  .credential-check{grid-template-columns:1fr}
  .social-admin-card{padding:14px}
  .social-admin-image{max-height:430px;object-fit:contain;background:#111}
  .social-admin-meta{gap:12px;flex-wrap:wrap}
  .sticky-card{position:static}
}

@media(max-width:390px){
  .public-v33 .hero h1{font-size:35px}
  .public-v33 .hero-meta{grid-template-columns:1fr 1fr}
  .public-v33 .about-copy h2,.public-v33 .gallery-head-v33 h2,.public-v33 .contact-v33 h2,.public-v33 .reviews-head-v38 h2,.public-v33 .community-home-head-v39 h2,.public-v33 .experience-heading h2{font-size:30px}
  .metric-grid{gap:8px}
  .metric-card{padding:13px}
  .metric-card strong{font-size:17px}
  .content{padding:11px}
}

/* AcademiaPro v4.0 — planos, hero alinhado, rodapé completo e demonstrações de treino */
.public-v40 .hero-inner{align-items:start}
.public-v40 .hero-copy,.public-v40 .hero-visual{align-self:start}
.public-v40 .hero-visual{padding-top:0;margin-top:0}
.public-v40 .hero-photo{margin-top:0}

.public-v40 .plans-section-v40{background:#0b100e;color:#fff;border-top:1px solid #202824;border-bottom:1px solid #202824}
.public-v40 .plans-public-v40{max-width:1260px;margin:auto;padding:92px 28px 100px}
.public-v40 .plans-head-v40{display:grid;grid-template-columns:1.08fr .92fr;gap:30px 80px;align-items:end;margin-bottom:38px}
.public-v40 .plans-head-v40 h2{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.05em;margin:12px 0 0;font-weight:720;color:#f4f8f6}
.public-v40 .plans-head-v40 p{margin:0;max-width:520px;color:#87948f;line-height:1.7}
.public-v40 .plans-section-v40 .section-label{color:#77e880}
.public-v40 .plans-grid-v40{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.public-v40 .plan-card-v40{background:#101714;color:#fff;border:1px solid #29322e;padding:28px 26px;display:flex;flex-direction:column;min-height:440px;position:relative;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.public-v40 .plan-card-v40:hover{border-color:#3b4842;background:#121b17}
.public-v40 .plan-card-v40.is-featured{background:#132018;color:#fff;border-color:#65e572;box-shadow:0 0 0 1px rgba(101,229,114,.08),0 20px 60px rgba(0,0,0,.22);transform:translateY(-8px)}
.public-v40 .plan-card-v40.is-featured:hover{background:#15241b;border-color:#77e880}
.public-v40 .plan-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.public-v40 .plan-card-top small{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#7f8c86}
.public-v40 .plan-card-top h3{font-size:25px;letter-spacing:-.03em;margin:5px 0 0;font-weight:720;color:#f5f8f6}
.public-v40 .plan-card-top>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:#77e880;color:#0b130f;padding:7px 9px;white-space:nowrap}
.public-v40 .plan-description-v40{color:#929f99;line-height:1.6;font-size:14px;margin:22px 0 0;min-height:44px}
.public-v40 .is-featured .plan-description-v40{color:#aab6b0}
.public-v40 .plan-price-v40{display:flex;align-items:flex-start;gap:7px;margin:28px 0 24px;padding-bottom:22px;border-bottom:1px solid #2a3530}
.public-v40 .is-featured .plan-price-v40{border-color:#38503f}
.public-v40 .plan-price-v40 small{font-size:13px;font-weight:700;padding-top:8px;color:#93a099}
.public-v40 .is-featured .plan-price-v40 small{color:#a8b7b0}
.public-v40 .plan-price-v40 strong{font-size:42px;line-height:1;letter-spacing:-.05em;color:#fff}
.public-v40 .is-featured .plan-price-v40 strong{color:#8bed94}
.public-v40 .plan-card-v40 ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:11px}
.public-v40 .plan-card-v40 li{display:flex;gap:9px;align-items:flex-start;color:#b3beb9;font-size:13px;line-height:1.45}
.public-v40 .is-featured li{color:#c9d3ce}
.public-v40 .plan-card-v40 li i{color:#65e572;margin-top:1px}
.public-v40 .is-featured li i{color:#8bed94}
.public-v40 .plan-cta-v40{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0 2px;border-top:1px solid #2a3530;color:#f0f5f2;text-decoration:none;font-size:13px;font-weight:750}
.public-v40 .is-featured .plan-cta-v40{border-color:#38503f;color:#8bed94}
.public-v40 .plan-cta-v40:hover{color:#77e880}
.public-v40 .plan-cta-v40 i{transition:transform .2s}
.public-v40 .plan-cta-v40:hover i{transform:translateX(4px)}

.public-footer-v40{background:#090f0d;color:#fff;border-top:1px solid #202824}
.public-footer-v40 .footer-main-v40{max-width:1260px;margin:auto;padding:64px 28px 50px;display:grid;grid-template-columns:1.4fr .8fr .9fr 1.1fr;gap:50px}
.public-footer-v40 .footer-brand-v40 p{color:#7c8983;max-width:300px;line-height:1.65;font-size:13px;margin:20px 0}
.public-footer-v40 .footer-social-v40{display:inline-flex;align-items:center;gap:8px;color:#a9b4af;text-decoration:none;font-size:13px}
.public-footer-v40 .footer-social-v40:hover{color:#77e880}
.public-footer-v40 .footer-col-v40{display:grid;align-content:start;gap:10px}
.public-footer-v40 .footer-col-v40>strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e6ece9;margin-bottom:8px}
.public-footer-v40 .footer-col-v40 a,.public-footer-v40 .footer-col-v40 span{color:#78857f;text-decoration:none;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.public-footer-v40 .footer-col-v40 a:hover{color:#fff}
.public-footer-v40 .footer-bottom-v40{max-width:1260px;margin:auto;padding:22px 28px 30px;border-top:1px solid #1e2824;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#626f69;font-size:11px}
.public-footer-v40 .footer-bottom-v40 a{color:#7d8a84;text-decoration:none}

.community-home-card-v39>a{position:relative}
.public-v40 .community-home-video-v40{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;background:#0d1411}
.public-v40 .video-play-mark{position:absolute;left:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(7,12,10,.82);color:#fff;font-size:22px;border:1px solid rgba(255,255,255,.2)}
.social-video video{width:100%;height:auto;max-height:74vh;object-fit:contain;background:#0c1110}

/* Treinos com mídia demonstrativa */
.exercise-admin-item{border:1px solid #e1e7e4;border-radius:14px;padding:12px;background:#fbfcfb}
.exercise-admin-summary{display:flex;align-items:center;gap:12px}
.exercise-admin-demo{width:86px;height:64px;flex:0 0 86px;border-radius:10px;background:#101714;overflow:hidden;display:grid;place-items:center}
.exercise-admin-demo img,.exercise-admin-demo video{width:100%;height:100%;object-fit:cover}
.exercise-media-empty,.exercise-media-badge{display:grid;place-items:center;color:#81908a;font-size:20px;text-align:center}
.exercise-media-badge span{font-size:9px;margin-top:2px;text-transform:uppercase;letter-spacing:.08em}
.exercise-edit-box,.exercise-add-box{background:#f6f8f7;border:1px solid #dfe6e3;border-radius:14px;padding:14px}
.student-workout-day{margin-top:24px}
.student-workout-day-head{display:flex;justify-content:space-between;align-items:end;gap:12px;padding-bottom:10px;border-bottom:1px solid #dfe6e3;margin-bottom:12px}
.student-workout-day-head h5{font-size:18px;font-weight:750;margin:0}
.student-workout-day-head span{font-size:11px;color:#7a8983}
.exercise-list{display:grid;gap:12px}
.student-exercise-card{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);border:1px solid #e0e6e3;border-radius:16px;background:#fff;overflow:hidden;min-height:180px}
.student-exercise-card.no-demo{grid-template-columns:1fr;min-height:auto}
.exercise-demo{background:#0e1412;min-height:180px;display:grid;place-items:center;overflow:hidden}
.exercise-demo>img,.exercise-demo>video{width:100%;height:100%;max-height:250px;object-fit:contain;background:#0b100e}
.exercise-video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#0b100e}
.exercise-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.exercise-info{padding:20px 22px;align-self:center}
.exercise-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}
.exercise-title-row h6{font-size:20px;font-weight:760;letter-spacing:-.02em;margin:0}
.exercise-demo-label{font-size:10px;color:#477d51;background:#e9f7eb;border-radius:999px;padding:5px 8px;white-space:nowrap}
.exercise-prescription{display:flex;gap:26px;flex-wrap:wrap}
.exercise-prescription>div{display:grid;gap:2px}
.exercise-prescription small{font-size:10px;color:#7b8983;text-transform:uppercase;letter-spacing:.08em}
.exercise-prescription strong{font-size:15px}
.exercise-note{margin:18px 0 0;padding-top:14px;border-top:1px solid #edf0ee;color:#66736d;font-size:13px;line-height:1.55}
.exercise-note i{margin-right:5px}
.selected-plan-auth{border:1px solid #dce4e0;background:#f5f8f6;padding:14px 15px;margin:16px 0 20px}
.selected-plan-auth>small{display:block;font-size:9px;letter-spacing:.12em;color:#74817b;margin-bottom:5px}
.selected-plan-auth>div{display:flex;justify-content:space-between;gap:10px;align-items:center}
.selected-plan-auth span{font-size:12px;color:#66736d;text-align:right}
.selected-plan-card{outline:2px solid #65e572;outline-offset:2px}

@media(max-width:1050px){
  .public-v40 .plans-grid-v40{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-v40 .plan-card-v40.is-featured{transform:none}
  .public-footer-v40 .footer-main-v40{grid-template-columns:1.2fr 1fr 1fr;gap:36px}
  .public-footer-v40 .footer-contact-v40{grid-column:2/4}
}
@media(max-width:768px){
  .public-v40 .hero-inner{align-items:stretch}
  .public-v40 .plans-public-v40{padding:56px 16px 62px}
  .public-v40 .plans-head-v40{grid-template-columns:1fr;gap:12px;margin-bottom:24px}
  .public-v40 .plans-head-v40 h2{font-size:34px;line-height:1.05;letter-spacing:-.035em;margin-top:14px}
  .public-v40 .plans-head-v40 p{font-size:14px;line-height:1.6}
  .public-v40 .plans-grid-v40{grid-template-columns:1fr;gap:12px}
  .public-v40 .plan-card-v40{min-height:0;padding:22px 20px}
  .public-v40 .plan-price-v40{margin:22px 0 18px}
  .public-v40 .plan-price-v40 strong{font-size:36px}
  .public-footer-v40 .footer-main-v40{padding:44px 16px 34px;grid-template-columns:1fr 1fr;gap:32px 22px}
  .public-footer-v40 .footer-brand-v40{grid-column:1/-1}
  .public-footer-v40 .footer-contact-v40{grid-column:auto}
  .public-footer-v40 .footer-bottom-v40{padding:20px 16px 26px;display:grid;gap:8px}
  .public-v40 .community-home-video-v40{aspect-ratio:4/5}
  .student-exercise-card{grid-template-columns:1fr}
  .exercise-demo{min-height:0}
  .exercise-demo>img,.exercise-demo>video{height:auto;max-height:60svh;aspect-ratio:16/10;object-fit:contain}
  .exercise-info{padding:16px}
  .exercise-title-row{margin-bottom:14px}
  .exercise-title-row h6{font-size:18px}
  .exercise-prescription{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .exercise-prescription>div{background:#f4f7f5;border-radius:9px;padding:9px}
  .exercise-prescription strong{font-size:13px}
  .exercise-admin-summary{align-items:flex-start}
  .exercise-admin-demo{width:64px;height:54px;flex-basis:64px}
}
@media(max-width:480px){
  .public-footer-v40 .footer-main-v40{grid-template-columns:1fr;gap:28px}
  .public-footer-v40 .footer-brand-v40,.public-footer-v40 .footer-contact-v40{grid-column:auto}
  .public-v40 .plan-card-top{align-items:center}
  .exercise-title-row{display:grid;gap:7px}
  .exercise-demo-label{width:max-content}
  .exercise-prescription{grid-template-columns:1fr 1fr 1fr}
  .selected-plan-auth>div{display:grid}
  .selected-plan-auth span{text-align:left}
}
@media(max-width:1120px) and (min-width:901px){
  .public-v40 .public-nav-links{gap:16px}
  .public-v40 .public-nav-links a{font-size:12px}
  .public-v40 .nav-public{gap:16px}
}
.plan-benefits-panel{list-style:none;padding:0;margin:14px 0 4px;display:grid;gap:7px;color:#65736d;font-size:12px}.plan-benefits-panel li{display:flex;gap:7px;align-items:flex-start}.plan-benefits-panel i{color:#248334;margin-top:1px}

/* v4.2 - Galeria alinhada: todas as fotos usam o mesmo quadro e recorte central */
@media(max-width:480px){
  .public-v33 .editorial-gallery{grid-template-columns:1fr;gap:10px}
  .public-v33 .editorial-gallery figure,.public-v33 .editorial-gallery figure:nth-child(n){aspect-ratio:4/3}
}

/* v4.3 - Galeria realmente responsiva no celular */
@media (max-width:768px){
  .public-v33 .gallery-section-v33{
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
    overflow:hidden;
  }
  .public-v33 .gallery-head-v33,
  .public-v33 .editorial-gallery{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .public-v33 .editorial-gallery{
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px;
  }
  .public-v33 .editorial-gallery figure,
  .public-v33 .editorial-gallery figure:nth-child(n){
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    aspect-ratio:4/3;
    overflow:hidden;
    margin:0;
  }
  .public-v33 .editorial-gallery img,
  .public-v33 .editorial-gallery figure:nth-child(n) img{
    display:block;
    position:absolute;
    inset:0;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-width:0;
    object-fit:cover;
    object-position:center;
  }
  .public-v33 .editorial-gallery figcaption{
    left:0;
    right:0;
    bottom:0;
    max-width:100%;
  }
}
@media (max-width:420px){
  .public-v33 .gallery-section-v33{padding-left:14px;padding-right:14px}
  .public-v33 .editorial-gallery{gap:10px}
  .public-v33 .editorial-gallery figure,
  .public-v33 .editorial-gallery figure:nth-child(n){aspect-ratio:4/3}
}

/* v4.4 - Moldura discreta nas fotos da galeria */
.public-v33 .editorial-gallery figure,
.public-v33 .editorial-gallery figure:nth-child(n){
  border:1px solid #31423b;
  border-radius:10px;
  background:#101714;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.public-v33 .editorial-gallery img,
.public-v33 .editorial-gallery figure:nth-child(n) img{
  border-radius:9px;
}
@media(max-width:768px){
  .public-v33 .editorial-gallery figure,
  .public-v33 .editorial-gallery figure:nth-child(n){
    border-radius:9px;
    box-shadow:0 8px 22px rgba(0,0,0,.16);
  }
  .public-v33 .editorial-gallery img,
  .public-v33 .editorial-gallery figure:nth-child(n) img{
    border-radius:8px;
  }
}

/* v4.5 - Bordas consistentes nas fotos do front-end */
.public-v33 .hero-photo,
.public-v33 .about-media,
.public-v33 .editorial-gallery figure,
.public-v33 .community-home-card-v39>a{
  border:1px solid #31423b;
  background:#101714;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  overflow:hidden;
}
.public-v33 .hero-photo{border-radius:10px}
.public-v33 .hero-photo img{border-radius:9px}
.public-v33 .about-media{border-radius:10px}
.public-v33 .about-photo{display:block;width:100%;border-radius:9px}
.public-v33 .community-home-card-v39>a{border-radius:10px}
.public-v33 .community-home-card-v39 img,
.public-v40 .community-home-video-v40{border-radius:9px}

@media(max-width:768px){
  .public-v33 .hero-photo,
  .public-v33 .about-media,
  .public-v33 .editorial-gallery figure,
  .public-v33 .community-home-card-v39>a{
    border-radius:9px;
    box-shadow:0 8px 22px rgba(0,0,0,.16);
  }
  .public-v33 .hero-photo img,
  .public-v33 .about-photo,
  .public-v33 .editorial-gallery img,
  .public-v33 .community-home-card-v39 img,
  .public-v40 .community-home-video-v40{
    border-radius:8px;
  }
}

/* v4.6 - Molduras visíveis nas mídias do front-end */
.public-v33 .hero-photo,
.public-v33 .about-media,
.public-v33 .editorial-gallery figure,
.public-v33 .community-home-card-v39>a{
  border:2px solid rgba(101,229,114,.38) !important;
  background:#0d1512;
  padding:5px;
  border-radius:14px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.28) !important;
}
.public-v33 .hero-photo img,
.public-v33 .about-photo,
.public-v33 .editorial-gallery img,
.public-v33 .community-home-card-v39 img,
.public-v40 .community-home-video-v40{
  display:block;
  border-radius:9px !important;
}
.public-v33 .editorial-gallery figure figcaption{
  left:5px;
  right:5px;
  bottom:5px;
  border-radius:0 0 9px 9px;
}
@media(max-width:768px){
  .public-v33 .hero-photo,
  .public-v33 .about-media,
  .public-v33 .editorial-gallery figure,
  .public-v33 .community-home-card-v39>a{
    border-width:2px !important;
    padding:4px;
    border-radius:12px !important;
  }
  .public-v33 .hero-photo img,
  .public-v33 .about-photo,
  .public-v33 .editorial-gallery img,
  .public-v33 .community-home-card-v39 img,
  .public-v40 .community-home-video-v40{
    border-radius:7px !important;
  }
}

/* AcademiaPro v4.8 — bordas realmente visíveis + imagens completas no mobile */
.public-v33 .hero-photo,
.public-v33 .about-media,
.public-v33 .editorial-gallery figure,
.public-v33 .community-home-card-v39 > a{
  border:2px solid #65e572 !important;
  outline:1px solid rgba(101,229,114,.22);
  outline-offset:3px;
  background:#0b110f !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.045),0 14px 34px rgba(0,0,0,.35) !important;
}
.public-v33 .hero-photo,
.public-v33 .about-media{
  padding:6px !important;
}
.public-v33 .editorial-gallery figure,
.public-v33 .community-home-card-v39 > a{
  padding:4px !important;
}

@media (max-width:768px){
  /* Hero: mostra a imagem inteira, sem cortar braços, texto ou arte */
  .public-v33 .hero-photo{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    overflow:visible !important;
    padding:5px !important;
    margin:0 auto !important;
  }
  .public-v33 .hero-photo img{
    position:static !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  /* Sobre: mantém a proporção original da foto */
  .public-v33 .about-media{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }
  .public-v33 .about-photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  /* Galeria: quadros continuam alinhados, mas nenhuma foto é cortada */
  .public-v33 .editorial-gallery{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .public-v33 .editorial-gallery figure,
  .public-v33 .editorial-gallery figure:nth-child(n){
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:4/3 !important;
    overflow:hidden !important;
    background:#070d0b !important;
    padding:5px !important;
  }
  .public-v33 .editorial-gallery img,
  .public-v33 .editorial-gallery figure:nth-child(n) img{
    position:absolute !important;
    inset:5px !important;
    width:calc(100% - 10px) !important;
    height:calc(100% - 10px) !important;
    max-width:none !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#070d0b !important;
  }

  /* Comunidade pública: não corta foto ou vídeo no telefone */
  .public-v33 .community-home-card-v39 > a{
    height:auto !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }
  .public-v33 .community-home-card-v39 img,
  .public-v40 .community-home-video-v40{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:72svh !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#070d0b !important;
  }
}

@media (max-width:420px){
  .public-v33 .hero-inner,
  .public-v33 .section-public,
  .public-v33 .gallery-section-v33{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .public-v33 .hero-photo,
  .public-v33 .about-media,
  .public-v33 .editorial-gallery figure,
  .public-v33 .community-home-card-v39 > a{
    outline-offset:2px;
  }
}

/* AcademiaPro v4.9 — redes sociais no topo + calculadora de IMC */
.public-v33 .header-social-top{display:flex;align-items:center;gap:7px;flex-shrink:0}
.public-v33 .header-social-top a{display:grid;place-items:center;text-decoration:none}
.public-v33 .social-top-icon{width:29px;height:29px;border:1px solid #2a3430;border-radius:50%;color:#aab6b1!important;background:#0e1512;transition:.2s}
.public-v33 .social-top-icon i{color:inherit!important;font-size:13px}
.public-v33 .social-top-icon:hover{color:#77e880!important;border-color:rgba(119,232,128,.55);transform:translateY(-1px)}
.public-v33 .social-whatsapp-top{min-height:30px;padding:0 11px;border-radius:999px;background:#1fbd63;color:#06140c!important;font-weight:750!important;font-size:11px!important;gap:6px!important}
.public-v33 .social-whatsapp-top i{color:#06140c!important;font-size:14px}
.public-v33 .social-whatsapp-top:hover{background:#31d475;color:#06140c!important}
.public-v33 .mobile-social-links{display:flex;align-items:center;gap:8px;padding:8px 8px 3px}
.public-v33 .mobile-social-links a{width:38px;height:38px;display:grid!important;place-items:center;padding:0!important;border:1px solid #2b3934;border-radius:50%!important;font-size:17px!important}
.public-v33 .mobile-social-links a:hover{border-color:#77e880;background:#152019!important}

.public-v33 .bmi-section-v49{background:#0d1311}
.public-v33 .bmi-inner-v49{max-width:1260px;margin:auto;padding:96px 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:86px;align-items:center}
.public-v33 .bmi-copy-v49 h2{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.05em;margin:20px 0 22px;font-weight:720}
.public-v33 .bmi-copy-v49 p{max-width:520px;color:#8c9994;font-size:16px;line-height:1.7;margin-bottom:16px}
.public-v33 .bmi-copy-v49>small{display:block;max-width:530px;color:#65716c;font-size:12px;line-height:1.6}
.public-v33 .bmi-card-v49{border:1px solid #2a3430;background:#0a0f0d;padding:30px;border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.public-v33 .bmi-fields-v49{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.public-v33 .bmi-fields-v49 label>span{display:block;color:#86938e;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.public-v33 .bmi-input-wrap{display:flex;align-items:center;border:1px solid #2b3531;background:#101714;border-radius:7px;overflow:hidden}
.public-v33 .bmi-input-wrap:focus-within{border-color:#77e880;box-shadow:0 0 0 2px rgba(119,232,128,.08)}
.public-v33 .bmi-input-wrap input{min-width:0;width:100%;height:52px;border:0;outline:0;background:transparent;color:#f3f7f5;padding:0 14px;font-size:17px}
.public-v33 .bmi-input-wrap input::placeholder{color:#53605b}
.public-v33 .bmi-input-wrap b{padding:0 14px;color:#6f7c77;font-size:12px;font-weight:700}
.public-v33 .bmi-button-v49{width:100%;min-height:50px;margin-bottom:14px}
.public-v33 .bmi-result-v49{min-height:88px;border-top:1px solid #26302c;padding-top:18px;display:flex;align-items:center;gap:14px;color:#77847f}
.public-v33 .bmi-result-v49>small{line-height:1.5}
.public-v33 .bmi-result-v49.has-result{display:grid;grid-template-columns:auto 1fr;grid-template-areas:'label label' 'number status';gap:2px 18px;align-items:end}
.public-v33 .bmi-result-v49.has-result span{grid-area:label;color:#6f7c77;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.public-v33 .bmi-result-v49.has-result strong{grid-area:number;color:#77e880;font-size:46px;line-height:1;font-weight:720;letter-spacing:-.05em}
.public-v33 .bmi-result-v49.has-result b{grid-area:status;color:#dbe2df;font-size:14px;font-weight:600;padding-bottom:4px}
.public-footer-v40 .footer-social-list-v49{display:flex;align-items:center;gap:8px;margin-top:18px}
.public-footer-v40 .footer-social-list-v49 a{width:36px;height:36px;border:1px solid #28332f;border-radius:50%;display:grid;place-items:center;color:#89968f;text-decoration:none}
.public-footer-v40 .footer-social-list-v49 a:hover{color:#77e880;border-color:#77e880}

@media(max-width:1080px){
  .public-v33 .header-hours{display:none!important}
  .public-v33 .bmi-inner-v49{gap:48px}
}
@media(max-width:900px){
  .public-v33 .bmi-inner-v49{grid-template-columns:1fr;gap:34px}
}
@media(max-width:768px){
  /* Redes continuam realmente no topo também no celular */
  .public-v33 .header-info-bar{display:block!important}
  .public-v33 .header-info-inner{min-height:40px;padding:5px 14px!important;justify-content:flex-end!important}
  .public-v33 .header-info-inner>.header-info-group:first-child{display:none!important}
  .public-v33 .header-info-right{display:flex!important;margin-left:auto!important;overflow:visible!important}
  .public-v33 .header-info-right>.header-hours{display:none!important}
  .public-v33 .header-social-top{width:100%;justify-content:flex-end;gap:6px}
  .public-v33 .social-top-icon{width:28px;height:28px}
  .public-v33 .social-whatsapp-top{min-height:28px;padding:0 10px}
  .public-v33 .public-mobile-dropdown{top:112px}
  .public-v33 .bmi-inner-v49{padding:58px 16px;gap:28px}
  .public-v33 .bmi-copy-v49 h2{font-size:34px;letter-spacing:-.035em;margin-top:15px}
  .public-v33 .bmi-copy-v49 p{font-size:14px;line-height:1.6}
  .public-v33 .bmi-card-v49{padding:18px;border-radius:9px}
  .public-v33 .bmi-fields-v49{grid-template-columns:1fr;gap:12px}
}
@media(max-width:390px){
  .public-v33 .social-top-icon{width:27px;height:27px}
  .public-v33 .social-whatsapp-top span{display:none}
  .public-v33 .social-whatsapp-top{width:30px;padding:0;place-items:center}
  .public-v33 .bmi-result-v49.has-result strong{font-size:40px}
}


@media(max-width:1120px) and (min-width:769px){
  .public-v33 .public-nav-links,.public-v33 .public-nav-actions{display:none}
  .public-v33 .public-mobile-menu{display:block;margin-left:auto}
}


/* AcademiaPro v5.0 — Comunidade sem cortes + Texto/Aviso com mídia opcional */
.community-media-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:120px;
  max-height:420px;
  overflow:hidden;
  padding:8px;
  border:1px dashed #cbd5d0;
  border-radius:10px;
  background:#f6f8f7;
}
.community-media-preview img,
.community-media-preview video{
  display:block;
  max-width:100%;
  max-height:400px;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:7px;
}

/* Feed da Comunidade: preservar sempre a proporção real da imagem. */
.social-photo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  background:#0c1110;
  overflow:hidden;
}
.social-photo img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:85vh!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
.social-video video{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:85vh!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  background:#0c1110;
}

/* Prévia no admin também sem recorte. */
.social-admin-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:8px;
  background:#0d1210;
  border:1px solid #dfe6e2;
  border-radius:10px;
  overflow:hidden;
}
.social-admin-image{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:640px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  border-radius:7px!important;
}

/* Avisos ficam identificados sem parecer um card genérico. */
.social-post-type-notice{
  border-top:3px solid #e8aa2f;
}
.social-post-type-notice .social-copy{
  font-weight:550;
}
.social-admin-card.social-post-type-notice{
  border-left:3px solid #e8aa2f;
}

/* Home: quadros continuam alinhados, mas a mídia inteira fica visível. */
.public-v33 .community-home-card-v39>a{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/5!important;
  height:auto!important;
  background:#070d0b!important;
  overflow:hidden!important;
}
.public-v33 .community-home-card-v39 img,
.public-v40 .community-home-video-v40{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#070d0b!important;
}
.public-v33 .community-home-card-v39:hover img{transform:none!important}

@media(max-width:768px){
  /* No telefone a publicação mostra a foto inteira na proporção original. */
  .social-photo img,
  .social-video video{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .social-post{
    overflow:hidden;
  }
  .public-v33 .community-home-card-v39>a{
    aspect-ratio:auto!important;
    min-height:220px;
    padding:4px!important;
  }
  .public-v33 .community-home-card-v39 img,
  .public-v40 .community-home-video-v40{
    width:100%!important;
    height:auto!important;
    max-height:72svh!important;
    object-fit:contain!important;
  }
  .community-media-preview{max-height:360px}
  .community-media-preview img,.community-media-preview video{max-height:340px}
}


/* v5.1 - formatação segura de Texto/Aviso na Comunidade */
.community-text-toolbar{display:flex;align-items:center;gap:6px}
.community-format-btn{width:34px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd5d2;background:#fff;color:#17201d;border-radius:7px;cursor:pointer;font-size:15px;line-height:1;transition:.15s ease}
.community-format-btn:hover,.community-format-btn:focus-visible{border-color:#7aa692;background:#f1f7f4;outline:none;box-shadow:0 0 0 3px rgba(93,155,126,.12)}
.community-format-btn:active{transform:translateY(1px)}
.community-format-btn strong{font-weight:800}
.social-caption strong,.social-copy strong{font-weight:800}
@media(max-width:575.98px){.community-format-btn{width:38px;height:36px}}

.community-rich-editor{min-height:172px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;cursor:text}
.community-rich-editor:empty:before{content:attr(data-placeholder);color:#8b9490;pointer-events:none}
.community-rich-editor:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.community-rich-editor strong,.community-rich-editor b{font-weight:800}
