/* Shared CTA components. Loaded last on the main page and existing legal pages.
   .btn-primary / .btn-whatsapp own their geometry; .cta-actions owns grouping.
   .cta-band--plain is the border-only variant for dark sections. */
:root{--cta-gold:#C9A45C;--cta-ink:#070D1A;--cta-ivory:#F5F1E8;--cta-green:#25D366}
.btn-primary,.btn-whatsapp{
  display:inline-flex;align-items:center;justify-content:space-between;gap:14px;
  height:52px;min-height:52px;max-width:100%;flex-shrink:0;box-sizing:border-box;
  border:0;border-radius:999px;text-decoration:none;
  font-family:'Manrope',sans-serif;font-size:15px;font-weight:500;line-height:1.25;
  cursor:pointer;vertical-align:middle;
  transition:transform .23s ease,background-color .23s ease,color .23s ease;
}
.btn-primary{padding:0 8px 0 24px;background:var(--cta-gold);color:var(--cta-ink)}
.btn-whatsapp{padding:0 24px 0 8px;background:var(--cta-ivory);color:var(--cta-ink)}
.cta-label{display:block;text-align:center;white-space:nowrap}
.cta-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%}
.cta-icon--arrow{background:var(--cta-ink);color:var(--cta-gold)}
.cta-icon--arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .23s ease}
.cta-icon--whatsapp{background:var(--cta-green);color:white}
.cta-wa-logo{display:block;width:21px;height:21px;fill:currentColor;stroke:none}
.btn-primary:focus-visible,.btn-whatsapp:focus-visible,.header-whatsapp:focus-visible,.whatsapp-float:focus-visible,.diagnostic-form-link:focus-visible{
  outline:3px solid var(--cta-gold);outline-offset:5px;box-shadow:0 0 0 2px var(--cta-ink);
}
@media(hover:hover){
  .btn-primary:hover,.btn-whatsapp:hover{transform:translateY(-2px)}
  .btn-primary:hover .cta-icon--arrow svg{transform:translate(1px,-1px) rotate(-45deg)}
  .btn-whatsapp:hover{background:var(--cta-green);color:white}
}
.btn-primary:active,.btn-whatsapp:active{transform:none}
.cta-actions{display:flex;flex-flow:row nowrap;align-items:center;gap:12px}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:36px;padding:30px 32px;border-radius:20px;background:var(--cta-ink);color:var(--cta-ivory)}
.cta-band-copy{flex:1 1 290px;min-width:0;max-width:470px}
.cta-band .cta-kicker{margin:0 0 10px;color:var(--cta-gold);font:500 10px/1.6 'Manrope',sans-serif;letter-spacing:.13em;text-transform:uppercase}
.cta-band .cta-title{margin:0;font:500 clamp(20px,1.7vw,26px)/1.3 'Manrope',sans-serif;letter-spacing:-.025em;color:var(--cta-ivory)}
.cta-band .cta-note{margin:12px 0 0;color:#B9B4AA;font:400 12px/1.6 'Manrope',sans-serif}
.cta-band .cta-actions{flex:0 0 auto}
.cta-band--plain{border-radius:0;background:transparent;border-top:1px solid #ffffff26;padding:30px 0 0}
#problema,#diagnostico,#forma{padding-bottom:96px}
.hero-actions-v2{display:flex;flex-flow:row wrap;align-items:center;justify-content:center;gap:12px}
.hero-actions-v2 .personal-promise{flex:0 0 100%;margin-top:5px;text-align:center}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.btn-primary.btn-compact{height:40px;min-height:40px;padding:0 5px 0 18px;font-size:13px;gap:10px}
.btn-compact .cta-icon{flex-basis:30px;width:30px;height:30px}
.btn-compact .cta-icon svg{width:17px;height:17px}
.cta-label-short{display:none}
.header-whatsapp{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #25D36666;border-radius:50%;background:transparent;color:var(--cta-green);transition:background-color .23s ease,transform .23s ease}
.header-whatsapp .cta-wa-logo{width:21px;height:21px}
@media(hover:hover){.header-whatsapp:hover{background:#25D36618;transform:translateY(-2px)}}
.menu-bottom .btn-primary,.menu-bottom .btn-whatsapp{text-decoration:none}
.contact-details .btn-whatsapp,.footer-contact .btn-whatsapp{align-self:flex-start;justify-self:start;font-size:15px;text-decoration:none}
.contacto form .btn-whatsapp{width:100%;height:56px;min-height:56px;margin:0 0 14px;padding:0 16px;justify-content:center;gap:12px;background:#25D366;color:#fff}
.contacto form .btn-whatsapp .cta-icon{position:static;background:transparent;color:#fff}
.contacto form .btn-whatsapp .cta-label{padding:0}
@media(hover:hover){.contacto form .btn-whatsapp:hover{background:#1EBE5A;transform:translateY(-2px)}}
.capacity-v2{background:var(--cta-ivory);color:var(--cta-ink)}
.capacity-cta{align-self:center}
.diagnostic-form-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:6px 0;border-bottom:1px solid currentColor;color:var(--cta-gold);font:500 14px/1.4 'Manrope',sans-serif}
.diagnostic-form-link span{display:inline-block;transition:transform .23s ease}
@media(hover:hover){.diagnostic-form-link:hover span{transform:translateX(3px)}}
.whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--cta-green);color:white;box-shadow:0 8px 28px #070d1a33;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .23s ease,visibility .23s ease}
.whatsapp-float.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.whatsapp-float .cta-wa-logo{width:28px;height:28px}
.whatsapp-float-label{position:absolute;right:calc(100% + 12px);width:max-content;max-width:260px;padding:10px 14px;border:1px solid #ffffff26;border-radius:10px;background:var(--cta-ink);color:var(--cta-ivory);font:400 12px/1.5 'Manrope',sans-serif;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .23s ease,visibility .23s ease}
@media(min-width:640px){.whatsapp-float:hover .whatsapp-float-label,.whatsapp-float:focus-visible .whatsapp-float-label{opacity:1;visibility:visible}}
@media(min-width:1080px){#site-header .desktop-nav{margin-left:auto;margin-right:auto}.header-actions{margin-left:0}}
@media(min-width:640px) and (max-width:1150px){
  .cta-band{flex-direction:column;align-items:flex-start;gap:24px}
  .cta-band-copy{flex-basis:auto;max-width:600px}
  .cta-band .cta-actions{align-self:flex-start}
}
@media(max-width:1079px){.capacity-cta{align-self:flex-start}}
@media(max-width:639px){
  .btn-primary,.btn-whatsapp{justify-content:center;gap:12px;padding-left:12px;padding-right:12px}
  .cta-band{flex-direction:column;align-items:stretch;padding:26px 20px;gap:24px}
  .cta-band--plain{padding:26px 0 0}
  .cta-band-copy{flex-basis:auto;max-width:none}
  .cta-band .cta-title{font-size:23px}
  .cta-actions{flex-direction:column;align-items:stretch;gap:12px;width:100%}
  .cta-actions .btn-primary,.cta-actions .btn-whatsapp{width:100%}
  .cta-actions .cta-label{white-space:normal}
  .hero-actions-v2{width:100%;flex-direction:column;align-items:stretch}
  .hero-actions-v2 .personal-promise{flex-basis:auto;text-align:left;max-width:none}
  .capacity-cta{width:100%}
  #problema,#diagnostico,#forma{padding-bottom:64px}
  #site-header{gap:10px}
  #site-header .brand>span{display:none}
  #site-header .header-actions{display:flex}
  #site-header .btn-compact .cta-label{display:none}
  #site-header .cta-label-short{display:block}
  #menu-toggle{padding:10px 0;min-height:40px}
  .whatsapp-float{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
  .whatsapp-float-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .btn-primary,.btn-whatsapp,.header-whatsapp,.cta-icon--arrow svg,.diagnostic-form-link span,.whatsapp-float,.whatsapp-float-label{transition:none!important}
  .btn-primary:hover,.btn-whatsapp:hover,.contacto form .btn-whatsapp:hover,.header-whatsapp:hover,.btn-primary:hover .cta-icon--arrow svg,.diagnostic-form-link:hover span{transform:none!important}
}
