
/* FAQ RAFFAEL - Front */
/* Hard overrides to prevent theme hover/focus colors (e.g., pink/blue) */
.faq-raffael-wrap .faq-raffael-toggle,
.faq-raffael-wrap .faq-raffael-toggle:hover,
.faq-raffael-wrap .faq-raffael-toggle:focus,
.faq-raffael-wrap .faq-raffael-toggle:focus-visible,
.faq-raffael-wrap .faq-raffael-toggle:active{
  background-color: #ffffff !important;
  background-image: none !important;
  color: rgba(0,0,0,.86) !important;
  -webkit-appearance: none;
  appearance: none;
}

.faq-raffael-wrap{
  --fr-primary:#2F4F3E;
  --fr-mid:#6B8F7A;
  --fr-gold:#C8B15A;
  --fr-light:#AFC38A;
  --fr-black:#000;
  --fr-white:#fff;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  width: 100%;
  margin: 0;
}

.faq-raffael-card{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  background: linear-gradient(180deg, rgba(47,79,62,.06), rgba(107,143,122,.03));
  border: 1px solid rgba(47,79,62,.18);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.faq-raffael-head{
  padding: 26px 26px 18px 26px;
  background: radial-gradient(1200px 400px at 20% 0%, rgba(200,177,90,.22), transparent 60%),
              radial-gradient(1200px 420px at 85% 0%, rgba(175,195,138,.20), transparent 60%);
  border-bottom: 1px solid rgba(47,79,62,.14);
}

.faq-raffael-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--fr-primary);
  background: rgba(47,79,62,.10);
  border: 1px solid rgba(47,79,62,.14);
  padding: 7px 10px;
  border-radius: 999px;
}

.faq-raffael-title{
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: clamp(26px, 3.2vw, 40px);
  line-height: 1.1;
  color: var(--fr-black);
  margin: 12px 0 10px 0;
}

.faq-raffael-subtitle{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(0,0,0,.72);
  max-width: 72ch;
}

.faq-raffael-tree{
  padding: 22px 22px 8px 22px;
}

.faq-raffael-list{
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.faq-raffael-item{
  isolation: isolate;
  position: relative;
  padding-left: 0;
  margin-bottom: 14px;
}

.faq-raffael-item:last-child{
  margin-bottom: 0;
}

.faq-raffael-item:before{
  content:"";
  position: absolute;
  left: 17px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(var(--fr-mid), rgba(107,143,122,.2));
}

.faq-raffael-item:last-child:before{
  bottom: 18px;
}

.faq-raffael-toggle{
  width: 100%;
  text-align: left;
  border: 1px solid rgba(47,79,62,.16);
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-radius: 16px;
  padding: 16px 14px 16px 14px;
  display: grid;
  grid-template-columns: 34px 1fr 28px;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  position: relative;
  z-index: 0;
  color: rgba(0,0,0,.86);
  transition: box-shadow .12s ease, background .12s ease, border-color .12s ease;
}

.faq-raffael-toggle:hover{
  background: #ffffff !important;
  background-color: #ffffff !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.07);
  border-color: rgba(47,79,62,.22);
}

.faq-raffael-toggle:focus,
.faq-raffael-toggle:active{
  outline: none;
  background: #ffffff !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(200,177,90,.35), 0 10px 26px rgba(0,0,0,.07);
}

.faq-raffael-node{
  pointer-events: none;
  z-index: 0;
  position: relative;
  left: auto;
  top: auto;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(47,79,62,.14), rgba(107,143,122,.10));
  border: 1px solid rgba(47,79,62,.18);
  display: grid;
  place-items: center;
}

.faq-raffael-num{
  font-weight: 800;
  font-size: 13px;
  color: var(--fr-primary);
}

.faq-raffael-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--fr-gold);
  box-shadow: 0 0 0 4px rgba(200,177,90,.20);
}

.faq-raffael-text{
  display: grid;
  gap: 4px;
  padding-left: 0;
}

.faq-raffael-step-title{
  font-weight: 700;
  font-size: 16px;
  color: rgba(0,0,0,.86);
}

.faq-raffael-step-summary{
  font-size: 13px;
  color: rgba(0,0,0,.62);
}

.faq-raffael-icon{
  color: var(--fr-primary);
  display: grid;
  place-items: center;
  transition: transform .18s ease;
}

.faq-raffael-toggle[aria-expanded="true"] .faq-raffael-icon{
  transform: rotate(180deg);
}

.faq-raffael-panel{
  padding-left: 0;
  margin: 10px 0 0 0;
}

.faq-raffael-panel-inner{
  border-left: 3px solid rgba(200,177,90,.6);
  background: rgba(255,255,255,.62);
  border-radius: 14px;
  padding: 14px 14px 14px 14px;
  border: 1px solid rgba(47,79,62,.12);
}

.faq-raffael-details{
  font-size: 14px;
  line-height: 1.65;
  color: rgba(0,0,0,.74);
}

.faq-raffael-details p{ margin: 0 0 10px 0; }
.faq-raffael-details p:last-child{ margin-bottom: 0; }

.faq-raffael-foot{
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px 22px 22px;
  border-top: 1px solid rgba(47,79,62,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.92));
  flex-wrap: wrap;
}

.faq-raffael-note{
  font-size: 13px;
  color: rgba(0,0,0,.62);
  max-width: 75ch;
}

.faq-raffael-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(47,79,62,.18);
  background: linear-gradient(180deg, var(--fr-primary), #254031);
  color: var(--fr-white);
  font-weight: 700;
  transition: transform .08s ease, box-shadow .12s ease;
}

.faq-raffael-cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
}



@media (max-width: 640px){
  .faq-raffael-head{ padding: 22px 16px 14px 16px; }
  .faq-raffael-tree{ padding: 18px 14px 6px 14px; }
  .faq-raffael-toggle{
    grid-template-columns: 34px 1fr 28px;
    gap: 10px;
    padding: 14px 12px;
  }
  .faq-raffael-text{ padding-left: 0; }
  .faq-raffael-foot{ padding: 16px 14px 18px 14px; }
}


/* Professionals Recommended */
.faq-raffael-pros .fr-pros-grid{
  padding: 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.faq-raffael-pros .fr-pros-card{
  background: #ffffff;
  border: 1px solid rgba(47,79,62,.16);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
  display: grid;
  gap: 12px;
}

.faq-raffael-pros .fr-pros-top{
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: center;
}

.faq-raffael-pros .fr-pros-media{
  width: 64px;
  height: 64px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(47,79,62,.16);
  background: linear-gradient(180deg, rgba(47,79,62,.10), rgba(107,143,122,.06));
  display: grid;
  place-items: center;
}

.faq-raffael-pros .fr-pros-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.faq-raffael-pros .fr-pros-placeholder{
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: var(--fr-primary);
  font-size: 16px;
}

.faq-raffael-pros .fr-pros-name{
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: rgba(0,0,0,.86);
}

.faq-raffael-pros .fr-pros-spec{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(0,0,0,.68);
}

.faq-raffael-pros .fr-pros-loc{
  margin-top: 4px;
  font-size: 13px;
  color: rgba(0,0,0,.62);
}

.faq-raffael-pros .fr-pros-desc{
  margin-top: 6px;
  font-size: 13px;
  color: rgba(0,0,0,.66);
  line-height: 1.4;
 }

.faq-raffael-pros .fr-pros-actions{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.faq-raffael-pros .fr-pros-name a{ color: inherit; text-decoration: none; }
.faq-raffael-pros .fr-pros-name a:hover{ text-decoration: underline; }

.faq-raffael-pros .fr-pros-btn--ghost{
  background: transparent !important;
  color: var(--fr-primary) !important;
  border-color: rgba(47,79,62,.24) !important;
 }

.faq-raffael-pros .fr-pros-btn--ghost:hover,
.faq-raffael-pros .fr-pros-btn--ghost:focus,
.faq-raffael-pros .fr-pros-btn--ghost:focus-visible{
  background: rgba(47,79,62,.06) !important;
  color: var(--fr-primary) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.08);
 }


/* Single profile page */
.fr-pro-single .fr-breadcrumb{
  padding: 16px 22px 0 22px;
 }
.fr-pro-single .fr-breadcrumb a{
  text-decoration: none;
  color: rgba(0,0,0,.7);
  font-weight: 800;
 }
.fr-pro-single .fr-breadcrumb a:hover{ color: var(--fr-primary); }

.fr-pro-single .fr-pro-hero{
  padding: 18px 22px 18px 22px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 18px;
  align-items: start;
 }

.fr-pro-single .fr-pro-hero-media{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(47,79,62,.16);
  background: linear-gradient(180deg, rgba(47,79,62,.10), rgba(107,143,122,.06));
 }
.fr-pro-single .fr-pro-hero-img{
  width: 100%;
  height: auto;
  display: block;
 }
.fr-pro-single .fr-pro-hero-placeholder{
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: var(--fr-primary);
  font-size: 42px;
 }

.fr-pro-single .fr-pro-socials{
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
 }

.fr-pro-single .fr-pro-social{
  display: inline-flex;
  gap: 10px;
  align-items: center;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(47,79,62,.16);
  background: #ffffff;
  color: rgba(0,0,0,.78);
  font-weight: 800;
 }
.fr-pro-single .fr-pro-social:hover{
  border-color: rgba(47,79,62,.28);
  box-shadow: 0 12px 26px rgba(0,0,0,.08);
  transform: translateY(-1px);
 }
.fr-pro-single .fr-pro-social-ic{ color: var(--fr-primary); display:inline-flex; }
.fr-pro-single .fr-pro-social-tx{ font-size: 13px; }

.fr-pro-single .fr-pro-content{
  padding: 0 22px 22px 22px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
 }

.fr-pro-single .fr-h2{
  margin: 0 0 10px 0;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 24px;
 }
.fr-pro-single .fr-h3{
  margin: 0 0 10px 0;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(0,0,0,.68);
 }

.fr-pro-single .fr-pro-entry{
  color: rgba(0,0,0,.78);
  line-height: 1.7;
 }

.fr-pro-single .fr-box{
  background: #ffffff;
  border: 1px solid rgba(47,79,62,.16);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
  margin-bottom: 12px;
 }

.fr-pro-single .fr-list{ color: rgba(0,0,0,.74); line-height: 1.7; }

.fr-pro-single .fr-pro-gallery-block{ padding: 0 22px 24px 22px; }
.fr-pro-single .fr-pro-gallery{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
 }
.fr-pro-single .fr-pro-gallery-item{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(47,79,62,.16);
  display: block;
 }
.fr-pro-single .fr-pro-gallery-item img{ width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 1024px){
  .fr-pro-single .fr-pro-hero{ grid-template-columns: 1fr; }
  .fr-pro-single .fr-pro-content{ grid-template-columns: 1fr; }
  .fr-pro-single .fr-pro-gallery{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .fr-pro-single .fr-pro-hero, .fr-pro-single .fr-pro-content, .fr-pro-single .fr-pro-gallery-block{ padding-left: 16px; padding-right: 16px; }
  .fr-pro-single .fr-pro-gallery{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.faq-raffael-pros .fr-pros-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid rgba(47,79,62,.18);
  background: linear-gradient(180deg, var(--fr-primary), #254031);
  color: var(--fr-white) !important;
  font-weight: 800;
  transition: box-shadow .12s ease, transform .08s ease, background .12s ease;
  background-image: none !important;
}

.faq-raffael-pros .fr-pros-btn:hover,
.faq-raffael-pros .fr-pros-btn:focus,
.faq-raffael-pros .fr-pros-btn:focus-visible,
.faq-raffael-pros .fr-pros-btn:active{
  color: var(--fr-white) !important;
  background-image: none !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
  transform: translateY(-1px);
}

.faq-raffael-pros .fr-pros-muted{
  font-size: 13px;
  color: rgba(0,0,0,.55);
}

@media (max-width: 1024px){
  .faq-raffael-pros .fr-pros-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .faq-raffael-pros .fr-pros-grid{ grid-template-columns: 1fr; padding: 16px; }
}


/* FIX CTA visibility - force brand colors */
.faq-raffael-pros .fr-pros-btn{
  background-color: var(--fr-primary) !important;
  background-image: none !important;
  color: var(--fr-white) !important;
  border-color: var(--fr-primary) !important;
}

.faq-raffael-pros .fr-pros-btn:hover,
.faq-raffael-pros .fr-pros-btn:focus,
.faq-raffael-pros .fr-pros-btn:focus-visible,
.faq-raffael-pros .fr-pros-btn:active{
  background-color: #254031 !important;
  color: var(--fr-white) !important;
}


/* FAQ Cards Layout (style similar to reference) */
.faq-raffael-cards .fr-cards-list{
  padding: 18px 22px 6px 22px;
  display: grid;
  gap: 12px;
}

.faq-raffael-cards .fr-card-step{
  background: #ffffff;
  border: 1px solid rgba(47,79,62,.16);
  border-radius: 16px;
  padding: 14px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: flex-start;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

.faq-raffael-cards .fr-card-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(47,79,62,.12), rgba(107,143,122,.06));
  border: 1px solid rgba(47,79,62,.16);
  display: grid;
  place-items: center;
  color: var(--fr-primary);
}

.faq-raffael-cards .fr-card-title{
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: rgba(0,0,0,.86);
}

.faq-raffael-cards .fr-card-num{
  color: var(--fr-primary);
  margin-right: 6px;
  font-weight: 900;
}

.faq-raffael-cards .fr-card-summary{
  margin: 6px 0 0 0;
  font-size: 13px;
  color: rgba(0,0,0,.62);
  line-height: 1.55;
}

.faq-raffael-cards .fr-card-details{
  margin-top: 8px;
  font-size: 13px;
  color: rgba(0,0,0,.70);
  line-height: 1.65;
}

.faq-raffael-cards .fr-card-details a{
  color: var(--fr-primary) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.faq-raffael-cards .fr-card-details a:hover,
.faq-raffael-cards .fr-card-details a:focus{
  color: var(--fr-primary) !important;
  background: rgba(200,177,90,.18);
  border-radius: 6px;
  text-decoration: none;
}

/* Mobile spacing */
@media (max-width: 640px){
  .faq-raffael-cards .fr-cards-list{ padding: 16px 14px 6px 14px; }
  .faq-raffael-cards .fr-card-step{ grid-template-columns: 40px 1fr; padding: 12px; }
  .faq-raffael-cards .fr-card-icon{ width: 40px; height: 40px; border-radius: 12px; }
}


/* Perguntas Frequentes - Accordion */
.faq-raffael-qa .fr-qa-accordion{
  padding: 18px 22px 22px 22px;
}

.faq-raffael-qa .fr-qa-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.faq-raffael-qa .fr-qa-item{
  background: #ffffff;
  border: 1px solid rgba(47,79,62,.16);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

.faq-raffael-qa .fr-qa-toggle{
  width: 100%;
  text-align: left;
  background-color: #ffffff !important;
  background-image: none !important;
  color: rgba(0,0,0,.86) !important;
  border: 0;
  padding: 14px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.faq-raffael-qa .fr-qa-toggle:hover,
.faq-raffael-qa .fr-qa-toggle:focus,
.faq-raffael-qa .fr-qa-toggle:focus-visible,
.faq-raffael-qa .fr-qa-toggle:active{
  background-color: #ffffff !important;
  outline: none;
}

.faq-raffael-qa .fr-qa-q{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.35;
}

.faq-raffael-qa .fr-qa-num{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(47,79,62,.10);
  border: 1px solid rgba(47,79,62,.16);
  color: var(--fr-primary);
  font-weight: 900;
  flex: 0 0 auto;
}

.faq-raffael-qa .fr-qa-icon{
  color: var(--fr-primary);
  display: grid;
  place-items: center;
  transition: transform .18s ease;
  flex: 0 0 auto;
}

.faq-raffael-qa .fr-qa-toggle[aria-expanded="true"] .fr-qa-icon{
  transform: rotate(180deg);
}

.faq-raffael-qa .fr-qa-panel{
  border-top: 1px solid rgba(47,79,62,.12);
}

.faq-raffael-qa .fr-qa-panel-inner{
  padding: 12px 14px 14px 14px;
  font-size: 13px;
  line-height: 1.7;
  color: rgba(0,0,0,.70);
}

.faq-raffael-qa .fr-qa-panel-inner p{ margin: 0 0 10px 0; }
.faq-raffael-qa .fr-qa-panel-inner p:last-child{ margin-bottom: 0; }

@media (max-width: 640px){
  .faq-raffael-qa .fr-qa-accordion{ padding: 16px 14px 18px 14px; }
}


/* Condições tratadas - Brand section */
.fr-conditions .fr-conditions-body{
  padding: 18px 22px 22px 22px;
}

.fr-conditions .fr-conditions-intro{
  background: linear-gradient(180deg, rgba(47,79,62,.06), rgba(107,143,122,.04));
  border: 1px solid rgba(47,79,62,.14);
  border-radius: 16px;
  padding: 14px;
  color: rgba(0,0,0,.72);
  font-size: 13px;
  line-height: 1.7;
}

.fr-conditions .fr-conditions-intro p{ margin: 0 0 10px 0; }
.fr-conditions .fr-conditions-intro p:last-child{ margin-bottom: 0; }

.fr-conditions .fr-conditions-grid{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fr-conditions .fr-cond-card{
  background: #ffffff;
  border: 1px solid rgba(47,79,62,.16);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

.fr-conditions .fr-cond-head{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.fr-conditions .fr-cond-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--fr-gold);
  box-shadow: 0 0 0 4px rgba(200,177,90,.18);
  flex: 0 0 auto;
}

.fr-conditions .fr-cond-title{
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: rgba(0,0,0,.86);
}

.fr-conditions .fr-cond-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.fr-conditions .fr-cond-item{
  border-radius: 14px;
  padding: 10px 10px;
  border: 1px solid rgba(47,79,62,.10);
  background: rgba(175,195,138,.10);
}

.fr-conditions .fr-cond-name{
  font-weight: 800;
  color: rgba(0,0,0,.84);
  font-size: 13px;
}

.fr-conditions .fr-cond-desc{
  margin-top: 4px;
  color: rgba(0,0,0,.64);
  font-size: 12.6px;
  line-height: 1.55;
}

@media (max-width: 1024px){
  .fr-conditions .fr-conditions-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .fr-conditions .fr-conditions-body{ padding: 16px 14px 18px 14px; }
}
