/* REDBLACK V8 | Fotos originais sem recorte de rosto + CTAs com assinatura da marca.
   CSS complementar; mantém rotas, formulário e identidade RedBlack da V7. */
:root{--rb8-accent:#f5223d;--rb8-line:rgba(255,77,103,.55)}

/* O rosto inteiro fica visível: fotos verticais originais com topo preservado.
   Nunca aplicar máscara/clip-path nos retratos. */
.specialist-photo{background:#050505!important;overflow:hidden;isolation:isolate}
.specialist-photo img{
  width:100%;height:100%;display:block;object-fit:cover!important;
  object-position:center top!important;transform:none!important;
  filter:none!important;clip-path:none!important;mask:none!important;
}
.specialist-photo::after{
  background:linear-gradient(0deg,rgba(10,6,10,.34),transparent 17%)!important;
  opacity:.7!important;
}
.specialist-card{border:1px solid rgba(198,46,72,.35)!important;box-shadow:0 26px 60px #0006,0 0 0 1px #ffffff08 inset}
.specialist-details{background:linear-gradient(152deg,#201218 0%,#110e13 52%,#0b0b0e 100%)}
.specialist-action{
  border-radius:2px 13px 2px 13px!important;
  border:1px solid #b12a45!important;
  background:linear-gradient(120deg,#791127,#2a111a 82%)!important;
  min-height:52px;letter-spacing:.01em;box-shadow:inset 3px 0 #ed314c;
  text-decoration:none;transition:background .2s,transform .2s,border-color .2s;
}
.specialist-action:hover{background:linear-gradient(110deg,#bb2139,#4a1423)!important;border-color:#ff6074!important}
.specialist-action span{font-size:24px!important;color:#fff!important;line-height:1}
.specialist-action:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Botões RedBlack: marca real + tipografia de campanha + canto diagonal.
   Nenhum ícone do WhatsApp ou outro aplicativo é incorporado. */
.contact-actions-v7{gap:12px!important;align-items:stretch!important;max-width:740px!important}
.contact-actions-v7 .cta-brand{
  appearance:none;box-sizing:border-box;position:relative;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  min-height:82px!important;padding:14px 19px!important;gap:13px!important;
  border-radius:0!important;white-space:normal!important;
  clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,0 100%);
  text-decoration:none!important;text-transform:none;text-align:left!important;
  box-shadow:none!important;backdrop-filter:none;filter:none!important;
  transition:transform .24s ease,background-color .24s ease,filter .24s ease;
}
.contact-actions-v7 .cta-brand::after{display:none!important}
.contact-actions-v7 .cta-brand::before{
  content:'';position:absolute;z-index:0;inset:0;pointer-events:none;
  background:linear-gradient(103deg,transparent 55%,#ffffff19 72%,transparent 74%);
  opacity:.7;transition:opacity .25s;
}
.contact-actions-v7 .cta-brand-primary{
  color:#fff!important;border:1px solid #ff6075!important;
  background:linear-gradient(110deg,#b8112c 0%,#e52341 52%,#ac102c 100%)!important;
}
.contact-actions-v7 .cta-brand-outline{
  color:#fff!important;border:1px solid #9c344a!important;
  background:linear-gradient(110deg,#20151c 0%,#110f14 55%,#26101a 100%)!important;
}
.contact-actions-v7 .cta-edge-mark{
  position:relative;z-index:1;display:flex!important;align-items:center;justify-content:center;
  flex:0 0 48px!important;width:48px!important;height:48px!important;
  background:rgba(19,4,12,.13)!important;
  border:1px solid #ffffff57!important;border-radius:2px 11px 2px 11px!important;
  box-shadow:inset 0 0 0 1px #ffffff0c!important;
}
.contact-actions-v7 .cta-edge-outline{background:#f8263c0c!important;border-color:#ce3c5680!important}
.contact-actions-v7 .cta-edge-mark img{display:block;width:42px;height:42px;object-fit:contain!important}
.contact-actions-v7 .cta-copy{z-index:1;display:flex;flex-direction:column;min-width:0;gap:5px!important;flex:1 1 auto}
.contact-actions-v7 .cta-copy small{
  color:#ffedf1!important;font:800 9px/1.2 'Manrope',sans-serif!important;
  letter-spacing:.16em!important;opacity:.86!important;
}
.contact-actions-v7 .cta-brand-outline .cta-copy small{color:#fa7184!important}
.contact-actions-v7 .cta-copy strong{
  font:800 clamp(14px,1.25vw,17px)/1.22 'Manrope',sans-serif!important;
  letter-spacing:-.035em!important;color:#fff!important;
}
.contact-actions-v7 .cta-end{
  z-index:1;display:grid;place-items:center;flex:0 0 30px!important;
  width:30px!important;height:37px!important;
  background:none!important;border:none!important;border-left:1px solid #ffffff64!important;
  border-radius:0!important;padding-left:9px;
  font:500 27px/1 'DM Sans',sans-serif!important;color:#fff!important;
  box-sizing:content-box;transition:transform .22s!important;
}
.contact-actions-v7 .cta-brand-outline .cta-end{border-left-color:#b34a60!important;color:#ff7186!important}
.contact-actions-v7 .cta-brand:is(:hover,:focus-visible){transform:translateY(-3px);filter:brightness(1.08)!important}
.contact-actions-v7 .cta-brand:hover .cta-end{transform:translate(3px,-2px)!important;background:none!important}
.contact-actions-v7 .cta-brand:active{transform:translateY(0) scale(.991)}
.contact-actions-v7 .cta-brand:focus-visible{outline:3px solid #fff!important;outline-offset:4px}
.low-banner .contact-actions-v7{width:min(100%,354px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
.low-banner .contact-actions-v7 .cta-brand{width:100%!important;max-width:100%!important;flex:0 0 auto!important;height:auto!important;min-height:82px!important}

/* Consistency for the final step inside the appointment wizard */
#wizard-submit,.wizard-actions .wizard-next{
  border-radius:3px 11px 3px 11px!important;
  background:linear-gradient(110deg,#b4132d,#eb2b45)!important;
  border:1px solid #fa6a7a!important;
  box-shadow:inset 3px 0 #ff99a5,0 9px 24px #ee2b4130!important;
}
#wizard-submit:focus-visible,.wizard-actions .wizard-next:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media(min-width:1101px){
 .specialist-photo{min-height:480px!important}
 .specialist-photo img{object-position:50% 0%!important}
 .contact-actions-v7 .cta-brand{flex:1 1 310px!important;max-width:365px!important}
}
@media(min-width:751px) and (max-width:1100px){
 .specialist-photo{height:400px!important;min-height:0!important}
 .specialist-photo img{object-position:center top!important}
 .contact-actions-v7 .cta-brand{flex:1 1 300px!important}
}
@media(max-width:750px){
 .specialist-card{grid-template-columns:1fr!important}
 .specialist-photo{
   height:auto!important;min-height:0!important;
   aspect-ratio:4 / 3.95!important;
 }
 .specialist-photo img{object-fit:cover!important;object-position:center top!important}
 .specialist-details{min-height:0!important}
 .contact-actions-v7 .cta-brand{width:100%!important;min-height:79px!important;padding:13px 17px!important}
 .contact-actions-v7 .cta-edge-mark{width:43px!important;height:43px!important;flex-basis:43px!important}
 .contact-actions-v7 .cta-edge-mark img{width:39px;height:39px}
 .contact-actions-v7 .cta-copy strong{font-size:15px!important}
 .low-banner .contact-actions-v7{max-width:none!important;width:100%!important}
}
@media(max-width:380px){
 .contact-actions-v7 .cta-brand{gap:9px!important;padding:11px 12px!important}
 .contact-actions-v7 .cta-copy small{font-size:7.4px!important;letter-spacing:.1em!important}
 .contact-actions-v7 .cta-copy strong{font-size:13.5px!important}
 .contact-actions-v7 .cta-end{flex-basis:22px!important;width:22px!important;font-size:22px!important}
}
@media(prefers-reduced-motion:reduce){
 .contact-actions-v7 .cta-brand,.specialist-action{transition:none!important}
}

/* V8.1 - correção final das fotos: nenhuma máscara e nenhum corte automático. */
.specialist-photo{position:relative!important;background:#050505!important;overflow:hidden!important}
.specialist-photo img{position:relative!important;z-index:1!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center top!important;filter:none!important;clip-path:none!important;transform:none!important}
.specialist-photo::before,.specialist-photo::after{display:none!important}
@media(max-width:750px){
  .specialist-photo{aspect-ratio:auto!important;height:390px!important;min-height:0!important}
  .specialist-photo img{object-fit:contain!important;object-position:center top!important}
}
@media(max-width:350px){.specialist-photo{height:335px!important}}
