/* Widgets compartidos para páginas que tienen estilos propios (gaming). */
.cm-shared-contact,
.cm-shared-contact * { box-sizing:border-box; }
.cm-shared-contact { padding:96px 0 104px; background:linear-gradient(180deg,#0c1c34 0%,#0a1728 100%); color:#f0f6ff; }
.cm-shared-contact .wrap { width:100%; max-width:1180px; margin:0 auto; padding:0 28px; }
.cm-shared-contact .sec-hdr { margin-bottom:48px; text-align:center; }
.cm-shared-contact .s-label { color:#22d3ee; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px; }
.cm-shared-contact .s-title { color:#fff; font:700 clamp(28px,4vw,44px)/1.1 'Syne',sans-serif; margin:0 0 12px; }
.cm-shared-contact .sec-hdr p { max-width:620px; margin:0 auto; color:rgba(255,255,255,.68); font:400 16px/1.6 'DM Sans',sans-serif; }
.cm-shared-contact .ct-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:64px; align-items:start; }
.cm-shared-contact .rv { opacity:1; transform:none; }
.cm-shared-contact .rv h3 { color:#fff; font:700 22px/1.2 'Syne',sans-serif; margin:0 0 8px; }
.cm-shared-contact .rv > p { color:rgba(255,255,255,.68); font:400 15px/1.6 'DM Sans',sans-serif; margin:0 0 40px; }
.cm-shared-contact .ct-items { display:flex; flex-direction:column; gap:22px; margin-bottom:40px; }
.cm-shared-contact .ct-item { display:flex; gap:16px; align-items:flex-start; }
.cm-shared-contact .ct-item-ico { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; background:#2563eb; border-radius:11px; }
.cm-shared-contact .ct-item-ico svg { width:20px; height:20px; display:block; color:#fff; }
.cm-shared-contact .ct-lbl { color:rgba(255,255,255,.55); font:700 11px/1.2 'DM Sans',sans-serif; letter-spacing:.1em; text-transform:uppercase; margin:0 0 4px; }
.cm-shared-contact .ct-val { color:rgba(255,255,255,.9); font:500 15px/1.55 'DM Sans',sans-serif; overflow-wrap:anywhere; }
.cm-shared-contact .ct-val a { color:#8ab4ff; text-decoration:none; }
.cm-shared-contact .map-box { height:210px; position:relative; overflow:hidden; border:2px solid #e2e8f0; border-radius:20px; background:#1a2535; }
.cm-shared-contact .map-box iframe { width:100%; height:100%; border:0; display:block; position:relative; z-index:1; }
.cm-shared-contact .map-consent { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:28px; text-align:center; background:linear-gradient(145deg,#eaf1fa,#dbe8f7); color:#07111f; font:400 14px/1.4 'DM Sans',sans-serif; }
.cm-shared-contact .map-consent p { margin:0; color:#64748b; }
.cm-shared-contact .map-consent button { border:0; border-radius:999px; padding:11px 18px; background:#2563eb; color:#fff; font:700 14px 'DM Sans',sans-serif; cursor:pointer; }
.cm-shared-contact .map-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.cm-shared-contact .map-btn { flex:1 1 auto; min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border:2px solid #e2e8f0; border-radius:12px; background:#fff; color:#07111f; font:700 14px/1 'DM Sans',sans-serif; text-decoration:none; }
.cm-shared-contact .map-btn svg { width:18px; height:18px; flex-shrink:0; }
.cm-shared-contact .map-btn-primary { flex:1 1 100%; background:#2563eb; border-color:#2563eb; color:#fff; }
.cm-shared-contact .form-box { padding:44px; border:1.5px solid #e2e8f0; border-radius:28px; background:#f8fafc; color:#07111f; }
.cm-shared-contact .form-box h3 { color:#07111f; font:700 22px/1.2 'Syne',sans-serif; margin:0 0 6px; }
.cm-shared-contact .f-sub { color:#64748b; font:400 14px/1.5 'DM Sans',sans-serif; margin:0 0 34px; }
.cm-shared-contact .f-group { margin-bottom:20px; }
.cm-shared-contact .f-group label { display:block; color:#07111f; font:600 13px/1.2 'DM Sans',sans-serif; margin-bottom:8px; }
.cm-shared-contact .f-group input,.cm-shared-contact .f-group textarea { width:100%; padding:12px 16px; border:2px solid #e2e8f0; border-radius:12px; background:#fff; color:#07111f; font:400 15px/1.4 'DM Sans',sans-serif; }
.cm-shared-contact .f-group textarea { min-height:115px; resize:vertical; }
.cm-shared-contact .privacy-check { display:flex; align-items:flex-start; gap:9px; margin:4px 0 15px; color:#64748b; font:400 12.5px/1.45 'DM Sans',sans-serif; }
.cm-shared-contact .privacy-check input { width:17px; height:17px; flex:0 0 auto; margin-top:1px; accent-color:#2563eb; }
.cm-shared-contact .privacy-check a { color:#2563eb; text-decoration:underline; }
.cm-shared-contact .f-submit { width:100%; padding:15px; display:flex; align-items:center; justify-content:center; border:0; border-radius:12px; background:#2563eb; color:#fff; font:600 15px 'DM Sans',sans-serif; cursor:pointer; }
.cm-shared-contact .f-submit:disabled { opacity:.65; cursor:wait; }
.cm-shared-contact .cm-form-status { min-height:20px; margin:12px 0 0; color:#64748b; font:400 13px/1.4 'DM Sans',sans-serif; }
.cm-shared-contact .cm-form-status.is-ok { color:#059669; }
.cm-shared-contact .cm-form-status.is-error { color:#b91c1c; }
.cm-shared-contact .cm-form-status a { color:inherit; font-weight:700; text-decoration:underline; }

#wa-float { position:fixed; right:30px; bottom:30px; z-index:999; opacity:0; transform:scale(.75) translateY(10px); pointer-events:none; transition:opacity .3s ease,transform .3s ease; font-family:'DM Sans',sans-serif; }
#wa-float.show { opacity:1; transform:none; pointer-events:auto; }
#wa-float .wa-fab { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:#25d366; box-shadow:0 6px 28px rgba(37,211,102,.45); cursor:pointer; }
#wa-float .wa-fab svg { width:33px; height:33px; }
#wa-float .wa-fab-icon-close { display:none; }
#wa-float.chat-open .wa-fab-icon-chat { display:none; }
#wa-float.chat-open .wa-fab-icon-close { display:block; width:30px; height:30px; }
#wa-float .wa-bubble { position:absolute; right:72px; bottom:0; width:330px; overflow:hidden; border-radius:16px 16px 4px 16px; background:#fff; box-shadow:0 12px 44px rgba(0,0,0,.28); opacity:0; transform:scale(.85) translateX(8px); pointer-events:none; transition:opacity .25s ease,transform .25s ease; }
#wa-float .wa-bubble.visible { opacity:1; transform:none; pointer-events:auto; }
#wa-float .wa-bubble-head { display:flex; align-items:center; gap:9px; padding:9px 34px 8px 12px; background:#25d366; }
#wa-float .wa-bubble-head-avatar { width:46px; height:34px; display:flex; align-items:center; justify-content:center; flex:0 0 46px; overflow:hidden; border-radius:7px; background:#fff; padding:3px; }
#wa-float .wa-bubble-head-avatar img { max-width:100%; max-height:100%; object-fit:contain; }
#wa-float .wa-bubble-head-info { min-width:0; }
#wa-float .wa-bubble-head-name { color:#fff; font:700 13px/1.2 'DM Sans',sans-serif; }
#wa-float .wa-bubble-head-status { color:rgba(255,255,255,.85); font:400 11px/1.4 'DM Sans',sans-serif; }
#wa-float .wa-bubble-close { position:absolute; top:8px; right:9px; border:0; background:none; color:rgba(255,255,255,.75); font-size:18px; cursor:pointer; }
#wa-float .cm-chat-msgs { height:300px; max-height:46vh; overflow-y:auto; display:flex; flex-direction:column; gap:7px; padding:13px 12px 6px; background:#efe7df; }
#wa-float .cm-msg { max-width:86%; padding:8px 11px; border-radius:12px 12px 12px 4px; background:#fff; color:#1a1a1a; font:400 13px/1.45 'DM Sans',sans-serif; }
#wa-float .cm-msg.user { align-self:flex-end; border-radius:12px 12px 4px 12px; background:#d6f3c4; }
#wa-float .cm-chat-quick { display:flex; flex-wrap:wrap; gap:6px; padding:9px 11px; background:#f6f3ef; }
#wa-float .cm-qbtn { padding:7px 11px; border:1.5px solid #25d366; border-radius:16px; background:#fff; color:#0a7d34; font:600 12px 'DM Sans',sans-serif; cursor:pointer; }
#wa-float .cm-chat-input-bar { display:flex; gap:8px; padding:8px 10px; background:#f0f0f0; }
#wa-float .cm-chat-input-bar input { flex:1; min-width:0; padding:9px 12px; border:0; border-radius:20px; background:#fff; font:400 13px 'DM Sans',sans-serif; }
#wa-float .cm-chat-input-bar button { width:36px; height:36px; border:0; border-radius:50%; background:#25d366; color:#fff; cursor:pointer; }
#wa-float .cm-cta { display:inline-flex; align-self:flex-start; margin-top:7px; padding:9px 14px; border-radius:18px; background:#25d366; color:#fff; font:700 12.5px 'DM Sans',sans-serif; text-decoration:none; }
@media(max-width:860px){ .cm-shared-contact{padding:76px 0 86px}.cm-shared-contact .ct-grid{grid-template-columns:1fr;gap:44px}.cm-shared-contact .form-box{padding:30px 22px} }
@media(max-width:480px){ #wa-float{right:20px;bottom:20px} #wa-float .wa-bubble{right:0;bottom:70px;width:calc(100vw - 40px);border-radius:16px}.cm-shared-contact .wrap{padding:0 18px}.cm-shared-contact .map-btn{flex:1 1 100%} }
