/* Capa del CMS: botones flotantes, banner de cookies, consentimiento en formularios y fichas de profesionales. */
.csm-fab{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:flex;flex-direction:column;gap:10px;transition:transform .3s,opacity .3s}
.csm-fab[data-pos=right]{right:max(16px,env(safe-area-inset-right));align-items:flex-end}
.csm-fab[data-pos=left]{left:max(16px,env(safe-area-inset-left));align-items:flex-start}
.csm-fab[hidden]{display:none}
.csm-fab.is-away{opacity:0;pointer-events:none;transform:translateY(20px)}
.csm-fab-btn{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;border-radius:999px;padding:12px 18px 12px 14px;font:600 15px/1.1 var(--font-body,system-ui);box-shadow:0 12px 30px rgba(14,28,42,.3);min-height:48px;transition:transform .2s,filter .2s}
.csm-fab-wa{background:var(--fab-wa,#128c4a)}.csm-fab-tel{background:var(--fab-tel,#16314f)}
.csm-fab-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.csm-fab-btn:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #2b5a78}
.csm-fab-btn span{display:flex;flex-direction:column}.csm-fab-btn small{font-weight:500;font-size:11px;opacity:.85;letter-spacing:.04em}
.csm-fab-btn[aria-busy=true]{opacity:.7}
html.csm-banner-on .csm-fab{bottom:calc(var(--csm-banner-h,0px) + 16px)}
@media(max-width:560px){.csm-fab-btn{padding:12px;width:52px;height:52px;justify-content:center}.csm-fab-btn span{display:none}}
@media(prefers-reduced-motion:reduce){.csm-fab,.csm-fab-btn{transition:none}.csm-fab-btn:hover{transform:none}}

.csm-cookie{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:95;width:min(440px,calc(100vw - 24px));background:#fff;color:#2c3a47;border:1px solid #e3d9c7;border-radius:16px;box-shadow:0 20px 60px rgba(14,28,42,.28);padding:18px 18px 14px;font:14px/1.5 var(--font-body,system-ui)}
.csm-cookie h2{font:600 17px/1.2 var(--font-display,Georgia,serif);margin:0 0 6px;color:#0e1c2a}
.csm-cookie p{margin:0 0 12px}
.csm-cookie a{color:#2b5a78}
.csm-ck-actions{display:flex;flex-wrap:wrap;gap:8px}
.csm-ck-btn{font:600 14px/1 var(--font-body,system-ui);border-radius:999px;padding:11px 16px;cursor:pointer;min-height:44px;border:2px solid #0e1c2a}
.csm-ck-main{background:#0e1c2a;color:#fff}.csm-ck-main:hover{background:#2b5a78;border-color:#2b5a78}
.csm-ck-link{background:transparent;color:#0e1c2a;border-color:transparent;text-decoration:underline}
.csm-ck-panel{margin:0 0 12px;display:grid;gap:8px}.csm-ck-panel[hidden]{display:none}
.csm-ck-panel label{display:flex;gap:8px;align-items:center}
.csm-ck-btn:focus-visible,.csm-cookie a:focus-visible{outline:3px solid #2b5a78;outline-offset:2px}
@media(max-width:560px){.csm-cookie{left:8px;right:8px;width:auto;bottom:8px;padding:14px}}
.csm-cookie-link{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}

.csm-consent{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.45;margin:6px 0 14px}
.csm-consent input{margin-top:3px;flex:none}
.csm-profs{list-style:none;padding:0;margin:1em 0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.csm-prof{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #e3d9c7;border-radius:12px;padding:12px}
.csm-prof img{border-radius:50%;object-fit:cover}.csm-prof span,.csm-prof small{display:block;color:#5f6e7b}

/* Primera capa informativa de protección de datos y casilla comercial (formularios) */
.csm-fl{background:#f6f1e8;border:1px solid #e3d9c8;border-radius:10px;padding:10px 14px;margin:8px 0 10px;font-size:12.5px;line-height:1.5;color:#33424f}
.csm-fl p{margin:0}.csm-fl .csm-fl-t{margin-bottom:4px}
.csm-fl a{color:#7a5f38;text-decoration:underline}
.csm-marketing small{display:block;color:#4d5b68;font-size:12px;margin-top:2px}
.csm-form .csm-fl-warn{font-size:12.5px;color:#7a5f38;margin:4px 0 0}
.ct-formel .csm-fl,.ct-formel .csm-marketing{grid-column:1/-1}
