
/* ==========================================================
   Transformando Alegria — SITE OFICIAL V1.1
   Visual institucional / premium / pronto para publicação
   ========================================================== */
:root{
  --web-bg:#07111d;
  --web-bg2:#0b1d2d;
  --web-gold:#d9ae5e;
  --web-gold2:#f2d48d;
  --web-cream:#fbf6e9;
  --web-paper:#f7f3ea;
  --web-ink:#111a25;
  --web-muted:#66717c;
  --web-line:rgba(217,174,94,.22);
}
html{scroll-behavior:smooth}
body{background:var(--web-bg);color:#fff}
.siteHeader{
  position:absolute;
  top:34px;
  height:82px;
  background:rgba(5,13,22,.64);
  backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(217,174,94,.18)
}
.webTopbar{
  height:34px;background:#030a12;color:#b8c1c9;
  font-size:10px;letter-spacing:.05em
}
.webTopbar .container{height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.webTopbar a{color:#d9cba9;text-decoration:none}
.desktopNav a{font-size:10px;letter-spacing:.12em}
.navCta{background:linear-gradient(135deg,#f0cf87,#c99743);color:#171006;border:0;padding:11px 18px}
.homeHero{min-height:790px}
.homeHeroBg{background-image:url('assets/site/home-hero.jpg');background-position:center 35%}
.homeHeroShade{
  background:
    linear-gradient(90deg,rgba(2,8,15,.97) 0%,rgba(2,8,15,.82) 40%,rgba(2,8,15,.33) 73%,rgba(2,8,15,.18) 100%),
    linear-gradient(0deg,rgba(2,8,15,.78),transparent 50%)
}
.heroContent{padding-top:150px}
.heroText{max-width:710px}
.heroText h1{font-size:78px;max-width:700px}
.heroText p{max-width:625px;font-size:21px}
.webHeroBadge{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(217,174,94,.28);
  background:rgba(7,17,29,.55);backdrop-filter:blur(8px);
  border-radius:999px;padding:8px 11px;color:#f4dfae;
  font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase
}
.webHeroBadge i{width:7px;height:7px;border-radius:50%;background:#78d5a8;box-shadow:0 0 0 4px rgba(120,213,168,.1)}
.webHeroNote{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:#c9d0d6;font-size:11px}
.webHeroNote span:before{content:"✓";color:#f0cf87;margin-right:7px}
.webTrust{
  background:var(--web-paper);color:var(--web-ink);border-bottom:1px solid #e3ddd2
}
.webTrustGrid{display:grid;grid-template-columns:repeat(4,1fr)}
.webTrustItem{padding:24px 20px;border-right:1px solid #e3ddd2;display:flex;gap:12px;align-items:center}
.webTrustItem:last-child{border-right:0}
.webTrustIcon{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid #e3ddd2;color:#a87628;font-weight:950
}
.webTrustItem strong{display:block;font-size:12px;color:#1b2430}
.webTrustItem small{display:block;color:#7a838d;font-size:10px;margin-top:3px}
.webSectionLight{background:var(--web-paper);color:var(--web-ink);padding:90px 0}
.webSectionLight .sectionKicker{color:#a87628}
.webSectionLight h2{color:#14202c}
.webSectionLight p{color:#6d7781}
.webIntro{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.webIntroMedia{position:relative;min-height:540px}
.webIntroMedia img{width:100%;height:540px;object-fit:cover;border-radius:6px}
.webIntroCard{
  position:absolute;right:-20px;bottom:35px;width:230px;padding:22px;
  background:#071421;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.23)
}
.webIntroCard b{display:block;font-family:Georgia,serif;color:#f1d49a;font-size:28px;margin-bottom:5px}
.webIntroCard span{font-size:11px;line-height:1.5;color:#c9d1d8}
.webIntroCopy h2{
  font-family:Georgia,serif;font-size:48px;line-height:1.05;letter-spacing:-.03em;margin:10px 0 18px
}
.webIntroCopy p{font-size:15px;line-height:1.8}
.webCheckList{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.webCheckList span{
  padding:12px 13px;border:1px solid #dfd8cc;background:#fff;
  border-radius:8px;font-size:11px;font-weight:800;color:#313c47
}
.webCheckList span:before{content:"✓";color:#a87628;margin-right:8px}
.webSectionDark{padding:90px 0;background:#071421}
.webSectionDarker{padding:90px 0;background:#030b13}
.webHead{max-width:760px;margin:0 auto 38px;text-align:center}
.webHead.left{margin-left:0;text-align:left}
.webHead h2{font-family:Georgia,serif;font-size:48px;line-height:1.05;margin:10px 0;color:#f7edd9}
.webHead p{color:#9da8b2;line-height:1.7}
.webCharacterGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.webCharacterCard{
  background:#0a1b2b;border:1px solid rgba(217,174,94,.19);border-radius:5px;
  overflow:hidden;text-decoration:none;transition:.2s
}
.webCharacterCard:hover{transform:translateY(-4px);border-color:rgba(217,174,94,.5)}
.webCharacterCard img{width:100%;height:330px;object-fit:cover;background:#fff;display:block}
.webCharacterBody{padding:17px}
.webCharacterBody small{color:#c99844;letter-spacing:.12em;font-weight:900}
.webCharacterBody h3{font-size:26px;margin:5px 0 7px}
.webCharacterBody p{font-size:12px;color:#8f9ca7;line-height:1.5;min-height:54px}
.webCharacterBody span{display:block;border-top:1px solid rgba(217,174,94,.13);padding-top:12px;color:#f0cf87;font-size:11px;font-weight:900}
.webProcess{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--web-line)}
.webStep{padding:30px 24px;background:#0a1928;border-right:1px solid var(--web-line)}
.webStep:last-child{border-right:0}
.webStep em{font-family:Georgia,serif;font-style:normal;color:#f0cf87;font-size:36px}
.webStep h3{font-size:23px;margin:11px 0 7px}
.webStep p{color:#91a0ac;font-size:12px;line-height:1.55;margin:0}
.webShowcase{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;min-height:570px}
.webShowcaseMain,.webShowcaseSide a{position:relative;overflow:hidden;border-radius:5px}
.webShowcaseMain img,.webShowcaseSide img{width:100%;height:100%;object-fit:cover}
.webShowcaseSide{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.webShowcaseLabel{
  position:absolute;left:18px;bottom:17px;padding:8px 11px;background:rgba(4,12,21,.78);
  backdrop-filter:blur(6px);border:1px solid rgba(217,174,94,.24);color:#f5e2b6;font-size:10px;font-weight:900
}
.webQuoteWrap{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:start
}
.webQuoteCopy h2{font-family:Georgia,serif;font-size:46px;line-height:1.07;margin:10px 0 16px}
.webQuoteCopy p{color:#98a5b0;line-height:1.75}
.webQuoteCard{
  border:1px solid rgba(217,174,94,.28);background:linear-gradient(145deg,#10243a,#091725);
  padding:28px;border-radius:8px
}
.webQuoteForm{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.webQuoteForm label>span{display:block;font-size:10px;font-weight:900;color:#d9dde0;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.webQuoteForm .full{grid-column:1/-1}
.webQuoteCharacters{display:flex;flex-wrap:wrap;gap:7px}
.webQuoteCharacters label{position:relative}
.webQuoteCharacters input{position:absolute;opacity:0;pointer-events:none}
.webQuoteCharacters span{
  display:block;border:1px solid rgba(217,174,94,.2);border-radius:999px;padding:9px 11px;
  color:#b6c0c8;font-size:10px;font-weight:800;cursor:pointer
}
.webQuoteCharacters label:has(input:checked) span{background:#d9ae5e;color:#171006;border-color:#d9ae5e}
.webQuoteError{min-height:15px;color:#ff9cab;font-size:10px;margin-top:5px}
.webFaq{max-width:880px;margin:0 auto;display:grid;gap:9px}
.webFaq details{border-bottom:1px solid rgba(217,174,94,.18);padding:0}
.webFaq summary{
  list-style:none;cursor:pointer;padding:18px 0;color:#f2eadc;font-weight:800;
  display:flex;justify-content:space-between;gap:20px
}
.webFaq summary::-webkit-details-marker{display:none}
.webFaq summary:after{content:"+";color:#f0cf87;font-size:19px}
.webFaq details[open] summary:after{content:"−"}
.webFaq p{margin:0;padding:0 0 18px;color:#99a5ae;line-height:1.7;font-size:12px}
.webFinalCta{
  padding:75px 0;background:linear-gradient(90deg,#142a42,#071421);border-top:1px solid rgba(217,174,94,.2)
}
.webFinalCta .container{display:flex;justify-content:space-between;align-items:center;gap:34px}
.webFinalCta h2{font-family:Georgia,serif;font-size:43px;line-height:1.05;margin:8px 0}
.webFinalCta p{color:#a6b0b9;margin:0}
.siteFooter{background:#02080e;padding-top:65px}
.footerBottom{border-top:1px solid rgba(217,174,94,.11)}
/* páginas internas */
.pageHero{min-height:500px;padding-top:165px}
.pageHero h1{font-size:66px}
.catalogCard,.galleryCardV05,.packageV04,.panel{border-radius:6px}
.catalogImage{height:370px}
.catalogBody h2{font-size:28px}
/* botão flutuante */
.v09FloatWhats{bottom:18px;right:18px}
@media(max-width:980px){
  .webIntro{grid-template-columns:1fr;gap:34px}
  .webIntroMedia{max-width:720px}
  .webIntroCard{right:18px}
  .webCharacterGrid{grid-template-columns:repeat(2,1fr)}
  .webProcess{grid-template-columns:repeat(2,1fr)}
  .webStep:nth-child(2){border-right:0}
  .webStep:nth-child(-n+2){border-bottom:1px solid var(--web-line)}
  .webQuoteWrap{grid-template-columns:1fr}
}
@media(max-width:760px){
  .webTopbar{display:none}
  .siteHeader{top:0}
  .homeHero{min-height:720px}
  .heroContent{padding-top:110px}
  .heroText h1{font-size:58px}
  .webTrustGrid{grid-template-columns:1fr 1fr}
  .webTrustItem:nth-child(2){border-right:0}
  .webTrustItem:nth-child(-n+2){border-bottom:1px solid #e3ddd2}
  .webIntroMedia,.webIntroMedia img{min-height:0;height:420px}
  .webIntroCard{position:relative;right:auto;bottom:auto;width:auto;margin:-52px 15px 0}
  .webIntroCopy h2,.webHead h2,.webQuoteCopy h2{font-size:37px}
  .webShowcase{grid-template-columns:1fr;min-height:0}
  .webShowcaseMain{height:380px}
  .webShowcaseSide{grid-template-columns:1fr 1fr;grid-template-rows:210px}
  .webFinalCta .container{display:grid}
}
@media(max-width:560px){
  .homeHero{min-height:660px}
  .heroText h1{font-size:46px}
  .heroText p{font-size:17px}
  .webHeroNote{display:grid;gap:8px}
  .webTrustItem{padding:14px 10px}
  .webTrustIcon{width:35px;height:35px;flex:0 0 35px}
  .webSectionLight,.webSectionDark,.webSectionDarker{padding:58px 0}
  .webCharacterGrid{grid-template-columns:1fr 1fr;gap:8px}
  .webCharacterCard img{height:230px}
  .webCharacterBody{padding:11px}
  .webCharacterBody h3{font-size:20px}
  .webCharacterBody p{display:none}
  .webProcess{grid-template-columns:1fr}
  .webStep{border-right:0;border-bottom:1px solid var(--web-line)!important}
  .webStep:last-child{border-bottom:0!important}
  .webShowcaseMain{height:300px}
  .webShowcaseSide{grid-template-rows:150px}
  .webQuoteForm{grid-template-columns:1fr}
  .webQuoteForm .full{grid-column:auto}
  .webFinalCta h2{font-size:34px}
}


/* ==========================================================
   V1.2 — apresentação da empresa + correções mobile
   ========================================================== */
body.homeOfficial .siteHeader{top:34px}
body:not(.homeOfficial) .siteHeader{top:0}
.webIntro{align-items:start}
.webIntroMedia{min-height:0;position:relative;display:flex;flex-direction:column;gap:0}
.webIntroVideoFrame{
  position:relative;width:100%;max-width:430px;margin:0 auto;
  background:#050b12;border:1px solid #ddd4c4;border-radius:10px;
  overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.18)
}
.webIntroVideoFrame video{
  display:block;width:100%;aspect-ratio:9/16;max-height:620px;
  object-fit:cover;background:#000
}
.webVideoBadge{
  position:absolute;left:14px;top:14px;z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(3,10,18,.78);backdrop-filter:blur(8px);
  border:1px solid rgba(242,212,141,.34);color:#f5e3b7;
  padding:8px 10px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em
}
.webIntroCard{
  right:-22px;bottom:28px;width:250px;padding:22px;
  border:1px solid rgba(217,174,94,.24)
}
.webIntroCopy{padding-top:28px}
.webIntroCopy h2{font-size:46px;max-width:640px}
.webIntroCopy .webIntroLead{font-size:16px;line-height:1.8;color:#606c77}
.webCompanyMiniTrust{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0 26px}
.webCompanyMiniTrust div{
  padding:13px 14px;background:#fff;border:1px solid #dfd8cc;border-radius:8px
}
.webCompanyMiniTrust strong{display:block;color:#1e2933;font-size:11px}
.webCompanyMiniTrust small{display:block;color:#7a858e;font-size:10px;margin-top:3px;line-height:1.35}
.webIntroActions{display:flex;gap:10px;flex-wrap:wrap}
.webIntroActions .outlineBtn{color:#8c6326;border-color:#c8aa78}

/* página Sobre com vídeo institucional */
.aboutCompanyVideo{
  width:100%;background:#050b12;border:1px solid rgba(217,174,94,.26);
  border-radius:10px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.18)
}
.aboutCompanyVideo video{display:block;width:100%;aspect-ratio:9/16;max-height:700px;object-fit:cover;background:#000}
.aboutVideoNote{padding:12px 14px;background:#081725;color:#b9c3cb;font-size:11px;border-top:1px solid rgba(217,174,94,.15)}

@media(max-width:760px){
  body.homeOfficial .siteHeader{top:0}
  .webIntro{gap:34px}
  .webIntroMedia{display:block;min-height:0;height:auto}
  .webIntroVideoFrame{max-width:100%;border-radius:8px}
  .webIntroVideoFrame video{height:auto;max-height:none;aspect-ratio:9/16;object-fit:cover}
  .webIntroCard{
    position:relative;right:auto;bottom:auto;width:calc(100% - 24px);
    margin:-1px 12px 0;padding:19px 18px;border-radius:0 0 8px 8px;
    box-shadow:0 16px 35px rgba(0,0,0,.15)
  }
  .webIntroCard b{font-size:25px}
  .webIntroCopy{padding-top:0}
  .webIntroCopy h2{font-size:38px;line-height:1.08;margin-top:10px}
  .webIntroCopy .webIntroLead{font-size:15px;line-height:1.72}
  .webCompanyMiniTrust{grid-template-columns:1fr 1fr}
  .webIntroActions{display:grid}
  .webIntroActions .goldBtn,.webIntroActions .outlineBtn{width:100%}
}
@media(max-width:520px){
  .webSectionLight{padding:54px 0}
  .webIntro{gap:28px}
  .webIntroVideoFrame{width:100%}
  .webIntroCard{width:calc(100% - 16px);margin:0 8px;padding:17px 16px}
  .webIntroCard b{font-size:22px;line-height:1.05}
  .webIntroCard span{font-size:10px}
  .webIntroCopy h2{font-size:35px;line-height:1.07;margin-bottom:15px}
  .webIntroCopy .webIntroLead{font-size:14px}
  .webCompanyMiniTrust{grid-template-columns:1fr;gap:7px}
  .webCheckList{grid-template-columns:1fr 1fr;gap:7px}
  .webCheckList span{padding:10px;font-size:10px}
}


/* V1.3.1 — Instagram + TikTok + YouTube */
.webSocialSection{
  padding:78px 0;
  background:#f7f3ea;
  color:#111a25;
  border-top:1px solid #e2dbcf;
  border-bottom:1px solid #e2dbcf
}
.webSocialIntro{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:28px
}
.webSocialIntro>div{max-width:720px}
.webSocialIntro h2{
  font-family:Georgia,"Times New Roman",serif;
  color:#14202c;
  font-size:43px;
  line-height:1.05;
  margin:9px 0
}
.webSocialIntro p{color:#6d7781;line-height:1.65;margin:0}
.webSocialGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px
}
.webSocialCard{
  min-height:160px;
  padding:22px 18px;
  border:1px solid #ded6c9;
  background:#fff;
  border-radius:9px;
  text-decoration:none;
  color:#111a25;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.2s;
  box-shadow:0 12px 35px rgba(17,26,37,.05)
}
.webSocialCard:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(17,26,37,.10)}
.webSocialIcon{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  background:#071421;color:#f2d48d;
  font-weight:950;font-size:12px
}
.webSocialCard strong{
  font-family:Georgia,serif;
  font-size:23px;
  color:#18232f;
  margin-top:14px
}
.webSocialCard small{
  display:block;color:#77818b;margin-top:5px;
  font-size:11px;line-height:1.4
}
.webSocialCard b{
  color:#a87628;font-size:10px;margin-top:13px
}
.contactSocialGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:15px
}
.contactSocialGrid a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(215,173,93,.22);
  background:#071522;
  color:#f2e7d1;
  border-radius:10px;
  padding:12px 13px;
  text-decoration:none;
  font-size:11px;
  font-weight:850
}
.contactSocialGrid a span{color:#f0cf87}
@media(max-width:850px){
  .webSocialGrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .webSocialSection{padding:55px 0}
  .webSocialIntro{display:block}
  .webSocialIntro h2{font-size:34px}
  .webSocialGrid{grid-template-columns:1fr 1fr;gap:8px}
  .webSocialCard{min-height:135px;padding:16px 13px}
  .webSocialCard strong{font-size:19px}
  .webSocialIcon{width:38px;height:38px}
  .contactSocialGrid{grid-template-columns:1fr}
}


/* V1.3.2 — Itapetininga e região */
.localAreaSection{
  padding:78px 0;
  background:#071421;
  color:#fff;
  border-top:1px solid rgba(217,174,94,.16);
  border-bottom:1px solid rgba(217,174,94,.16)
}
.localAreaHead{max-width:760px;margin-bottom:28px}
.localAreaHead h2{
  font-family:Georgia,"Times New Roman",serif;
  color:#f7ecd4;
  font-size:44px;
  line-height:1.05;
  margin:9px 0
}
.localAreaHead p{color:#9ca8b2;line-height:1.7;margin:0}
.localAreaGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.localAreaCard{
  min-height:175px;
  padding:22px;
  border:1px solid rgba(217,174,94,.2);
  background:#0a1b2b;
  border-radius:10px
}
.localAreaCard em{
  display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:#d9ae5e;color:#171006;font-style:normal;font-weight:950
}
.localAreaCard h3{font-family:Georgia,serif;font-size:24px;margin:14px 0 7px;color:#f3eadb}
.localAreaCard p{color:#9ca7b1;line-height:1.6;font-size:12px;margin:0}
.localAreaActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.localSeoLight{padding:72px 0;background:#f7f3ea;color:#14202c}
.localSeoGrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.localSeoGrid h2{font-family:Georgia,serif;font-size:42px;line-height:1.05;margin:8px 0}
.localSeoGrid p{color:#69747e;line-height:1.75}
.localSeoList{display:grid;gap:10px}
.localSeoList div{padding:15px 16px;border:1px solid #dfd7ca;background:#fff;border-radius:9px}
.localSeoList b{display:block;color:#18232f;margin-bottom:4px}
.localSeoList span{color:#77818b;font-size:11px;line-height:1.5}
.localNote{
  margin-top:22px;padding:14px 16px;border-left:3px solid #d9ae5e;
  background:#fff8e9;color:#594a32;font-size:12px;line-height:1.6
}
@media(max-width:780px){
  .localAreaSection{padding:56px 0}
  .localAreaHead h2{font-size:35px}
  .localAreaGrid{grid-template-columns:1fr}
  .localAreaCard{min-height:0}
  .localSeoGrid{grid-template-columns:1fr}
  .localSeoGrid h2{font-size:34px}
}

/* V1.3.4 — fundo principal restaurado para a foto original enviada */
.homeHeroBg{
  background-image:url('assets/site/home-hero.jpg') !important;
  background-position:center 43% !important;
}
@media(max-width:760px){
  .homeHeroBg{background-position:center 38% !important}
}


/* V1.3.5 — correções móveis e prévia */
@media(max-width:760px){
  .homeHero{min-height:760px}
  .heroContent{padding-top:105px;padding-bottom:55px}
  .heroText h1{font-size:58px;line-height:.93}
  .heroText p{font-size:18px;line-height:1.48}
  .webIntroVideoFrame video{height:auto!important;max-height:72vh;object-fit:contain!important;background:#000}
  .webIntroMedia{height:auto!important;min-height:0!important}
  .webIntroCard{position:static!important;width:100%!important;margin:0!important;border-radius:0 0 8px 8px}
  .webShowcase{display:grid!important;grid-template-columns:1fr!important;gap:10px}
  .webShowcaseMain,.webShowcaseSide a{min-height:0!important;height:auto!important}
  .webShowcaseMain img,.webShowcaseSide img{display:block!important;width:100%!important;height:auto!important;min-height:230px;object-fit:cover}
  .webShowcaseSide{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px}
}
@media(max-width:520px){
  .heroText h1{font-size:52px}
  .webShowcaseSide{grid-template-columns:1fr!important}
  .webShowcaseSide img{min-height:220px}
}
