/* ARQORA México — opt-in WhatsApp contact, layered over existing design. */
:root{--wa:#25d366;--wa-dark:#0e271b}
.wa-btn,.wa-contact-btn,.wa-floating,.wa-sticky-call,.wa-footer-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}
.wa-btn svg,.wa-contact-btn svg,.wa-floating svg,.wa-sticky-call svg,.wa-footer-link svg{width:22px;height:22px;flex:none}
.wa-btn{background:var(--wa);border:1px solid var(--wa);color:var(--wa-dark);font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:background-color .2s,box-shadow .2s}
.wa-btn:hover,.wa-contact-btn:hover{background:#41e67d;color:#081c12;box-shadow:0 8px 25px rgba(37,211,102,.2)}
.wa-btn:focus-visible,.wa-contact-btn:focus-visible,.wa-floating:focus-visible,.wa-sticky-call:focus-visible,.wa-footer-link:focus-visible{outline:3px solid white;outline-offset:4px}
.wa-hero-btn{white-space:normal;min-height:54px;text-align:center}
.wa-menu-btn{width:100%;min-height:52px}
.wa-contact-choice{margin:18px 0 3px;max-width:510px}
.wa-contact-btn{width:100%;min-height:54px;padding:12px 18px;background:var(--wa);border:1px solid #1f9f50;color:#10251a;font:800 17px/1.2 var(--display);text-transform:uppercase;letter-spacing:.015em;transition:background-color .2s,box-shadow .2s}
.wa-contact-choice>p{font-size:12px!important;line-height:1.5;color:#57544c;margin:9px 0 0}
.contact-alt a[data-track="whatsapp_click"]{background:#d9f6e4}.contact-alt a[data-track="whatsapp_click"] b{color:#176c36}
.wa-footer-link{justify-content:flex-start;color:var(--wa)!important}.wa-footer-link svg{width:18px;height:18px}
.wa-floating{position:fixed;right:clamp(14px,2vw,28px);bottom:calc(20px + var(--safe-bottom));z-index:840;min-height:58px;padding:0 18px;border:1px solid #56e38c;border-radius:50px;color:#092113;background:var(--wa);font:800 15px/1.1 var(--body);box-shadow:0 9px 28px rgba(0,0,0,.38);transition:transform .2s,box-shadow .2s}
.wa-floating:hover{transform:translateY(-3px);box-shadow:0 13px 32px rgba(0,0,0,.45)}
.wa-floating svg{width:26px;height:26px}
.wa-sticky-call{background:var(--wa)!important;color:#092113!important;border-color:#1d9e50!important;flex:none}
.wa-sticky-call svg{width:27px;height:27px}
.wa-sticky-call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:980px){.wa-floating{right:14px;bottom:calc(16px + var(--safe-bottom))}}
@media(max-width:700px){
  .wa-floating{
    display:inline-flex;
    right:max(12px,env(safe-area-inset-right,0px));
    bottom:calc(78px + var(--safe-bottom));
    min-height:52px;
    max-width:calc(100vw - 24px);
    padding:0 14px;
    font-size:13px;
    z-index:920;
  }
  .wa-floating svg{width:24px;height:24px}
  .wa-floating span{display:inline}
  .wa-hero-btn{width:100%}
  .wa-contact-choice{margin-top:16px}
  .wa-sticky-call{position:relative}
  .wa-sticky-call svg{display:block}
}
@media(max-width:390px){
  .wa-floating{width:52px;min-width:52px;padding:0;border-radius:50%;bottom:calc(72px + var(--safe-bottom))}
  .wa-floating span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media(max-width:390px){.wa-hero-btn{font-size:14px}.wa-contact-btn{font-size:16px}}
@media(prefers-reduced-motion:reduce){.wa-btn,.wa-contact-btn,.wa-floating{transition:none}}
/* Prevent the two CTA labels from stretching the one-column hero grid on narrow phones. */
@media (max-width:700px){
  .hero-copy,.hero-buttons{min-width:0;max-width:100%}
  .hero-buttons{grid-template-columns:minmax(0,1fr)}
  .hero-buttons .btn{box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
}
@media (max-width:700px){
  .hero-inner{grid-template-columns:minmax(0,1fr)}
  .hero-inner>.hero-copy{min-width:0;max-width:100%}
}

/* v4: WhatsApp must remain visually present on all supported phone widths. */
.wa-floating{box-sizing:border-box;visibility:visible;opacity:1;pointer-events:auto}
@media(max-width:700px){body{padding-bottom:max(0px,var(--safe-bottom))}}
