/*
Theme Name: Regenere
Theme URI: https://regenere.com.br
Author: Regenere
Description: Tema institucional para assistência domiciliar (Home Care) e clínica multiprofissional, com hero, seções institucionais e páginas hotsite por setor (Home Care, Clínica: Pilates, ABA, Podologia e outras especialidades).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: regenere
*/

:root{
  --rg-accent: #7A3B71;
  --rg-accent-dark: #3E1E39;
  --rg-accent-soft: #B98CAF;
  --rg-accent-light: #D9AECF;
  --rg-bg: #FBF8F7;
  --rg-panel: #F3ECF1;
  --rg-line: #e6dde4;
  --rg-ink: #2b2129;
  --rg-ink-strong: #241c22;
  --rg-ink-soft: #5f5560;
  --rg-tint: color-mix(in oklch, var(--rg-accent) 12%, white);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--rg-bg);color:var(--rg-ink);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;margin:0;}
.rg-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}

/* progress + header */
.rg-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--rg-accent);z-index:70;transition:width .1s linear;}
.rg-header{position:sticky;top:0;z-index:50;background:color-mix(in oklch, var(--rg-bg) 94%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rg-line);transition:box-shadow .3s ease;}
.rg-header.is-scrolled{box-shadow:0 4px 20px rgba(0,0,0,.08);}
.rg-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;}
.rg-logo{display:flex;align-items:center;gap:10px;}
.rg-logo img{height:38px;width:38px;border-radius:8px;object-fit:cover;}
.rg-logo span{font-family:'Fraunces',serif;font-size:25px;font-weight:600;color:var(--rg-accent);}
.rg-nav{display:flex;gap:30px;font-size:14.5px;font-weight:500;}
.rg-nav a:hover{color:var(--rg-accent);}
.rg-btn{background:var(--rg-accent);color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap;display:inline-block;transition:transform .15s ease-out,filter .2s ease;border:none;cursor:pointer;font-family:inherit;}
.rg-btn:hover{filter:brightness(1.08);}
.rg-btn--lg{padding:15px 28px;font-size:16px;}
.rg-btn-outline{border:1.5px solid var(--rg-line);color:var(--rg-ink-strong);padding:15px 28px;border-radius:8px;font-size:16px;font-weight:600;display:inline-block;transition:border-color .2s ease,color .2s ease;}
.rg-btn-outline:hover{border-color:var(--rg-accent);color:var(--rg-accent);}

/* hero */
.rg-hero{position:relative;overflow:hidden;}
.rg-hero__inner{padding:80px 24px 0;text-align:center;display:flex;flex-direction:column;align-items:center;}
.rg-badge{font-size:13.5px;font-weight:600;letter-spacing:.04em;color:var(--rg-accent);background:var(--rg-tint);padding:7px 16px;border-radius:20px;margin-bottom:24px;display:inline-block;}
.rg-hero h1{font-size:52px;line-height:1.1;font-weight:600;letter-spacing:-.01em;color:var(--rg-ink-strong);max-width:760px;text-wrap:pretty;}
.rg-hero p{font-size:18px;line-height:1.6;color:var(--rg-ink-soft);margin:24px 0 0;max-width:560px;}
.rg-hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;justify-content:center;}
.rg-hero-image-wrap{max-width:1200px;margin:56px auto 0;padding:0 24px;width:100%;aspect-ratio:16/6;overflow:hidden;}
.rg-hero-image{width:100%;height:100%;transition:transform .15s ease-out;}
.rg-hero-image img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.rg-specialties{border-top:1px solid var(--rg-line);border-bottom:1px solid var(--rg-line);background:var(--rg-panel);margin-top:56px;padding:20px 24px;}
.rg-specialties__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;font-size:14px;font-weight:600;color:var(--rg-accent);}

/* sections */
.rg-section{padding:80px 24px;}
.rg-section--panel{background:var(--rg-panel);}
.rg-eyebrow{font-size:13.5px;font-weight:600;letter-spacing:.04em;color:var(--rg-accent);text-transform:uppercase;}
.rg-section h2{font-size:34px;font-weight:600;color:var(--rg-ink-strong);margin-top:10px;}
.rg-section .rg-lead{font-size:16.5px;color:var(--rg-ink-soft);margin:12px 0 44px;max-width:620px;}

.rg-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.rg-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.rg-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}

.rg-card{background:var(--rg-panel);border-radius:14px;padding:28px 24px;transition:box-shadow .25s ease,translate .25s ease;}
.rg-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);translate:0 -4px;}
.rg-card h3{font-size:18px;font-weight:600;color:var(--rg-ink-strong);margin-bottom:10px;}
.rg-card p{font-size:14.5px;color:var(--rg-ink-soft);line-height:1.55;margin:0;}
.rg-card--pillar{padding:28px;}
.rg-card--pillar .rg-num{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--rg-accent-soft);margin-bottom:14px;}
.rg-card--pillar h3{font-size:20px;}
.rg-card--pillar p{font-size:15px;line-height:1.6;}

.rg-image-frame{width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;}
.rg-image-frame img{width:100%;height:100%;object-fit:cover;}
.rg-split-text h2{font-size:32px;}
.rg-split-text p{font-size:16.5px;line-height:1.65;color:var(--rg-ink-soft);margin:18px 0 0;}

.rg-para-quem{background:var(--rg-accent-dark);padding:80px 24px;}
.rg-para-quem .rg-eyebrow{color:var(--rg-accent-light);}
.rg-para-quem h2{color:#fff;}
.rg-para-quem-card{background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;padding:30px;transition:background .25s ease;}
.rg-para-quem-card:hover{background:#ffffff22;}
.rg-para-quem-card h3{font-size:19px;font-weight:600;color:#fff;margin-bottom:10px;}
.rg-para-quem-card p{font-size:15px;color:#ffffffcc;line-height:1.55;margin:0;}

.rg-team-photo{width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;margin-bottom:14px;}
.rg-team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.rg-team-photo:hover img{transform:scale(1.06);}
.rg-team-grid h3{font-size:16px;font-weight:600;color:var(--rg-ink-strong);margin-bottom:2px;}
.rg-team-grid p{font-size:13.5px;color:var(--rg-ink-soft);margin:0;}

.rg-contact-info a{font-weight:600;color:var(--rg-accent);}
.rg-contact-info span{color:var(--rg-ink-soft);}
.rg-form{background:var(--rg-bg);border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:14px;}
.rg-form input,.rg-form select,.rg-form textarea{padding:13px 14px;border:1px solid var(--rg-line);border-radius:8px;font-size:15px;font-family:inherit;color:var(--rg-ink);}
.rg-form select{color:var(--rg-ink-soft);}
.rg-form textarea{resize:vertical;}
.rg-form-success{padding:20px 0;text-align:center;color:var(--rg-ink-strong);font-size:16px;font-weight:600;}

.rg-footer{padding:48px 24px 28px;background:var(--rg-accent-dark);color:#ffffffcc;}
.rg-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;}
.rg-footer h4{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--rg-accent-light);margin-bottom:12px;font-weight:600;}
.rg-footer .rg-logo span{color:#fff;font-size:22px;}
.rg-footer a{color:#fff;}
.rg-footer-links{display:flex;flex-direction:column;gap:8px;font-size:14px;}
.rg-footer-about{font-size:14px;line-height:1.6;margin:12px 0 0;max-width:280px;}
.rg-footer-bottom{max-width:1200px;margin:36px auto 0;padding-top:20px;border-top:1px solid #ffffff26;font-size:12.5px;line-height:1.6;color:#ffffff99;}

/* hotsite / sector pages */
.rg-hotsite-hero{position:relative;padding:120px 24px;background-size:cover;background-position:center;color:#fff;text-align:center;}
.rg-hotsite-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, color-mix(in oklch, var(--rg-accent-dark) 78%, transparent), color-mix(in oklch, var(--rg-accent-dark) 92%, transparent));}
.rg-hotsite-hero__inner{position:relative;max-width:820px;margin:0 auto;}
.rg-hotsite-hero .rg-eyebrow{color:var(--rg-accent-light);}
.rg-hotsite-hero h1{color:#fff;font-size:46px;margin-top:12px;text-wrap:pretty;}
.rg-hotsite-hero p{color:#ffffffdd;font-size:17px;line-height:1.6;margin-top:18px;max-width:600px;margin-left:auto;margin-right:auto;}
.rg-breadcrumb{font-size:13.5px;color:var(--rg-ink-soft);margin-bottom:18px;}
.rg-breadcrumb a{color:var(--rg-accent);font-weight:600;}
.rg-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;list-style:none;padding:0;margin:0;}
.rg-benefits li{display:flex;gap:10px;font-size:15.5px;color:var(--rg-ink-soft);line-height:1.5;}
.rg-benefits li::before{content:"✓";color:var(--rg-accent);font-weight:700;flex-shrink:0;}
.rg-cta-band{background:var(--rg-accent);padding:56px 24px;text-align:center;}
.rg-cta-band h2{color:#fff;font-size:28px;}
.rg-cta-band p{color:#ffffffdd;margin-top:10px;}
.rg-cta-band .rg-btn{background:#fff;color:var(--rg-accent);margin-top:22px;}
.rg-specialty-card{display:block;background:var(--rg-panel);border-radius:14px;overflow:hidden;transition:box-shadow .25s ease,translate .25s ease;}
.rg-specialty-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);translate:0 -4px;}
.rg-specialty-card__img{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--rg-line);}
.rg-specialty-card__img img{width:100%;height:100%;object-fit:cover;}
.rg-specialty-card__body{padding:20px;}
.rg-specialty-card__body h3{font-size:18px;color:var(--rg-ink-strong);margin-bottom:6px;}
.rg-specialty-card__body p{font-size:14px;color:var(--rg-ink-soft);margin:0;line-height:1.5;}
.rg-content{font-size:16px;line-height:1.7;color:var(--rg-ink-soft);}
.rg-content p{margin:0 0 16px;}

/* reveal / tilt */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
[data-tilt]{transition:transform .2s ease;}
[data-magnetic]{transition:transform .15s ease-out;}

@media (max-width:900px){
  .rg-nav{display:none;}
  .rg-grid-2,.rg-grid-3,.rg-grid-4,.rg-footer-grid,.rg-benefits{grid-template-columns:1fr !important;}
  .rg-split-order-2{order:2;}
  .rg-split-order-1{order:1;}
  .rg-hero h1{font-size:38px;}
  .rg-hotsite-hero h1{font-size:32px;}
}

/* banner de aviso */
.rg-topbanner{padding:9px 24px;text-align:center;font-size:13.5px;font-weight:600;color:#fff;}
.rg-topbanner a{color:#fff;text-decoration:underline;}

/* cards com imagem */
.rg-card--img{padding:0;overflow:hidden;display:block;}
.rg-card__img{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--rg-line);}
.rg-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.rg-card--img:hover .rg-card__img img{transform:scale(1.05);}
.rg-card--img .rg-card__body{padding:22px 22px 26px;}

/* unidades */
.rg-unidades{background-color:var(--rg-bg);}
.rg-unit-card{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s ease,translate .25s ease;}
.rg-unit-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);translate:0 -4px;}
.rg-unit-card__img{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--rg-line);}
.rg-unit-card__img img{width:100%;height:100%;object-fit:cover;}
.rg-unit-card__body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.rg-unit-card__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rg-unit-card__top h3{font-size:21px;font-weight:600;color:var(--rg-ink-strong);}
.rg-tag{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--rg-accent);background:var(--rg-tint);padding:4px 10px;border-radius:20px;}
.rg-unit-card__addr{font-size:14.5px;line-height:1.55;color:var(--rg-ink-soft);margin:0;}
.rg-unit-card__meta{font-size:13.5px;color:var(--rg-ink-soft);margin:0;}
.rg-unit-card__servs{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.rg-unit-card__servs span{font-size:12px;font-weight:600;color:var(--rg-accent);border:1px solid var(--rg-accent-light);padding:3px 9px;border-radius:20px;}
.rg-unit-card__links{display:flex;gap:18px;margin-top:auto;padding-top:12px;font-size:14px;font-weight:600;}
.rg-unit-card__links a{color:var(--rg-accent);}
.rg-unit-facts{display:flex;flex-direction:column;gap:22px;background:var(--rg-panel);border-radius:14px;padding:28px;}
.rg-unit-facts h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--rg-accent);margin:0 0 6px;font-weight:700;}
.rg-unit-facts p{font-size:15px;line-height:1.6;color:var(--rg-ink-soft);margin:0;}
.rg-unit-facts a{color:var(--rg-accent);font-weight:600;}

/* convênios / logos */
.rg-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px;}
.rg-logos__item{background:var(--rg-bg);border:1px solid var(--rg-line);border-radius:12px;height:96px;display:flex;align-items:center;justify-content:center;padding:16px;}
.rg-logos__item img{max-height:100%;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .25s ease,opacity .25s ease;}
.rg-logos__item:hover img{filter:none;opacity:1;}
.rg-logos__item span{font-size:14px;font-weight:600;color:var(--rg-ink-soft);text-align:center;}

/* redes sociais no rodapé */
.rg-footer-social{display:flex;gap:16px;margin-top:16px;font-size:13.5px;font-weight:600;}
.rg-footer-social a{color:#fff;}
.rg-footer-links span{display:block;line-height:1.5;}

/* grade adaptativa — funciona com 1, 4, 5, 8+ cards */
.rg-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--min,250px),1fr));gap:24px;align-items:stretch;}
.rg-grid-auto > *{display:flex;flex-direction:column;}
.rg-grid-auto .rg-card__body{flex:1;}
@media (max-width:640px){.rg-grid-auto{grid-template-columns:1fr;}}
