@charset "utf-8";
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('../fonts/lato-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('../fonts/lato-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('../fonts/lato-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--bm-primary:#002B76;--bm-secondary:#03ABF7;--bm-text:#222;--bm-muted:#667085;--bm-page:#F7F9FC;--bm-surface:#fff;--bm-soft:#F0F7FF;--bm-border:#E2E8F0;--bm-danger:#D92D20;--bm-success:#15803D;--bm-shadow:0 12px 36px rgba(15,23,42,.08);--bm-r-sm:10px;--bm-r:18px;--bm-r-lg:28px;--bm-max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bm-page);color:var(--bm-text);font-family:Lato,Arial,sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:var(--bm-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;line-height:1.12;letter-spacing:-.025em;margin:0 0 .75rem}h1{font-size:clamp(2rem,6vw,3.6rem)}h2{font-size:clamp(1.5rem,4vw,2.35rem)}h3{font-size:1.1rem}p{margin:.5rem 0 1rem}.bm-container{width:min(calc(100% - 32px),var(--bm-max));margin-inline:auto}.bm-narrow{max-width:820px}.bm-center{text-align:center}.bm-lead{font-size:1.08rem;color:var(--bm-muted)}.bm-kicker{display:inline-block;color:#0077B6;font:700 .8rem/1.2 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.75rem}.bm-brand img{height:42px;width:auto}.bm-button{min-height:46px;border:1px solid transparent;border-radius:999px;padding:.78rem 1.25rem;display:inline-flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-weight:700;text-decoration:none;transition:.18s ease;background:none}.bm-button:hover{text-decoration:none;transform:translateY(-1px)}.bm-button--primary{background:var(--bm-primary);color:white}.bm-button--primary:hover{background:var(--bm-secondary);color:white}.bm-button--secondary{background:white;border-color:var(--bm-border);color:var(--bm-primary)}.bm-button--danger{background:#fff1f0;border-color:#fda29b;color:var(--bm-danger)}.bm-button--small{min-height:38px;padding:.55rem 1rem}.bm-button--full{width:100%}.bm-actions{display:flex;gap:.75rem;flex-wrap:wrap}.bm-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .8rem;border:1px solid var(--bm-border);border-radius:999px;background:white;color:#475467;font-size:.88rem;text-decoration:none}.bm-chip:hover,.bm-chip.is-active{border-color:var(--bm-secondary);background:#edfaff;color:var(--bm-primary);text-decoration:none}.bm-chip--danger{background:#fff1f0;color:var(--bm-danger)}.bm-card{background:white;border:1px solid var(--bm-border);border-radius:var(--bm-r);box-shadow:0 4px 18px rgba(15,23,42,.04);padding:clamp(1rem,3vw,1.6rem)}.bm-alert{padding:.85rem 1rem;border-radius:12px;margin-bottom:1rem}.bm-alert--success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.bm-alert--danger{background:#fff1f0;color:#991b1b;border:1px solid #fecaca}.bm-public-header,.bm-app-header{background:white;border-bottom:1px solid var(--bm-border);position:sticky;top:0;z-index:20}.bm-public-header__inner,.bm-app-header__inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.bm-public-nav,.bm-app-nav{display:flex;align-items:center;gap:1rem}.bm-app-nav{margin-left:auto}.bm-link-button{border:0;background:transparent;color:var(--bm-muted);padding:.5rem}.bm-footer{background:#081c3a;color:#dbeafe;padding:2.5rem 0;margin-top:4rem}.bm-footer__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.bm-footer__brand{height:34px;width:auto;margin-bottom:.5rem}.bm-footer p{margin:0;color:#b8cae4}.bm-hero{background:radial-gradient(circle at 15% 10%,rgba(3,171,247,.16),transparent 28rem),linear-gradient(180deg,#fff,#f7f9fc);padding:4rem 0 5rem}.bm-hero__grid{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(320px,1.5fr) minmax(160px,.65fr);align-items:center;gap:2rem}.bm-hero__content{text-align:center}.bm-hero__content p{font-size:1.16rem;color:var(--bm-muted);max-width:720px;margin:1rem auto 1.5rem}.bm-hero__content .bm-actions,.bm-pills{justify-content:center}.bm-hero__visual img{width:100%;max-height:330px;object-fit:contain}.bm-pills{display:flex;gap:.55rem;flex-wrap:wrap;list-style:none;padding:0;margin:1.3rem 0 0}.bm-pills li{background:white;border:1px solid var(--bm-border);border-radius:999px;padding:.45rem .75rem;color:var(--bm-muted);font-size:.85rem}.bm-section{padding:clamp(3rem,7vw,5.5rem) 0;background:white}.bm-section--soft{background:var(--bm-page)}.bm-section-head{text-align:center;max-width:760px;margin:0 auto 2rem}.bm-interest-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}.bm-interest-card{background:white;border:1px solid var(--bm-border);border-radius:16px;padding:1.2rem .8rem;text-align:center;display:grid;gap:.55rem}.bm-interest-card span{font-size:2rem}.bm-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.bm-step{background:white;border:1px solid var(--bm-border);border-radius:var(--bm-r);padding:1.4rem}.bm-step>span{color:#0077B6;font:700 1rem Montserrat,sans-serif}.bm-step p{color:var(--bm-muted);margin-bottom:0}.bm-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem)}.bm-feature picture img{max-height:430px;margin:auto;object-fit:contain}.bm-auth-page{min-height:100vh;background:radial-gradient(circle at top,rgba(3,171,247,.12),transparent 35rem),var(--bm-page)}.bm-auth-shell{width:min(calc(100% - 28px),480px);margin:0 auto;padding:3rem 0}.bm-auth-brand{display:flex;justify-content:center;margin-bottom:1.5rem}.bm-auth-card{background:white;border:1px solid var(--bm-border);border-radius:24px;box-shadow:var(--bm-shadow);padding:clamp(1.3rem,5vw,2rem)}.bm-auth-card h1{font-size:2rem}.bm-auth-card>p{color:var(--bm-muted)}.bm-auth-switch{text-align:center;margin-top:1.25rem}.bm-form{display:grid;gap:1rem}.bm-form--wide{max-width:840px;margin:0 auto}.bm-form--compact{margin-top:1rem}.bm-field{display:grid;gap:.4rem}.bm-field>span,.bm-fieldset>legend{font-family:Montserrat,sans-serif;font-weight:700;font-size:.9rem}.bm-field input,.bm-field select,.bm-field textarea{width:100%;border:1px solid #cfd8e3;border-radius:12px;background:white;padding:.78rem .9rem;color:var(--bm-text);outline:none}.bm-field input:focus,.bm-field select:focus,.bm-field textarea:focus{border-color:var(--bm-secondary);box-shadow:0 0 0 3px rgba(3,171,247,.12)}.bm-field small{color:var(--bm-muted)}.bm-error{color:var(--bm-danger)!important;font-weight:700}.bm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bm-fieldset{border:0;padding:0;margin:0}.bm-interest-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.7rem}.bm-interest-choice label{cursor:pointer}.bm-interest-choice input{position:absolute;opacity:0;pointer-events:none}.bm-choice-card{min-height:78px;border:1px solid var(--bm-border);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;text-align:center;padding:.6rem}.bm-choice-card b{font-size:1.5rem}.bm-interest-choice input:checked+.bm-choice-card{border-color:var(--bm-secondary);background:#edfaff;color:var(--bm-primary);box-shadow:0 0 0 2px rgba(3,171,247,.15)}.bm-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bm-app-main{padding:2rem 0 5.5rem}.bm-page-head{margin-bottom:1.5rem}.bm-page-head h1{font-size:clamp(2rem,5vw,3rem)}.bm-page-head p{color:var(--bm-muted)}.bm-page-head--actions{display:flex;justify-content:space-between;align-items:end;gap:1rem}.bm-filter-row{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 1.2rem;scrollbar-width:none}.bm-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.bm-plan-card{background:white;border:1px solid var(--bm-border);border-radius:var(--bm-r);padding:1.25rem;box-shadow:0 4px 18px rgba(15,23,42,.035);display:flex;flex-direction:column}.bm-plan-card__top{display:flex;align-items:center;gap:.55rem;margin-bottom:.8rem}.bm-plan-card__icon{font-size:1.7rem}.bm-plan-card h2{font-size:1.25rem}.bm-plan-card h2 a{color:var(--bm-text)}.bm-plan-card__desc{color:var(--bm-muted);flex:1}.bm-plan-meta{display:grid;gap:.65rem;margin:1rem 0}.bm-plan-meta div{display:grid;grid-template-columns:72px 1fr;gap:.5rem}.bm-plan-meta dt{color:var(--bm-muted);font-size:.82rem}.bm-plan-meta dd{margin:0;font-weight:700}.bm-plan-card__footer{border-top:1px solid var(--bm-border);padding-top:.8rem;margin-top:auto;display:flex;justify-content:space-between;gap:.5rem;font-size:.86rem;color:var(--bm-muted)}.bm-empty{text-align:center;background:white;border:1px dashed #b8c5d6;border-radius:var(--bm-r);padding:4rem 1rem}.bm-empty__icon{font-size:3rem}.bm-back{display:inline-flex;margin-bottom:1rem;color:var(--bm-muted)}.bm-safety-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:.9rem;color:#075985}.bm-plan-detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.bm-plan-detail__main{display:grid;gap:1rem}.bm-plan-detail__side{display:grid;gap:1rem;position:sticky;top:90px}.bm-plan-detail__main h1{font-size:clamp(2rem,5vw,3rem)}.bm-plan-meta--detail{grid-template-columns:repeat(3,1fr)}.bm-plan-meta--detail div{display:block;background:var(--bm-page);border-radius:12px;padding:.9rem}.bm-plan-meta--detail dt{margin-bottom:.25rem}.bm-section-title-row{display:flex;justify-content:space-between;align-items:start;gap:1rem}.bm-section-title-row h2{font-size:1.35rem}.bm-section-title-row p{margin:0;color:var(--bm-muted)}.bm-participant-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.bm-person{display:flex;align-items:center;gap:.75rem;border:1px solid var(--bm-border);border-radius:14px;padding:.7rem;color:var(--bm-text)}.bm-person:hover{text-decoration:none;border-color:#b9d9f5}.bm-person span:last-child{display:grid}.bm-person small{color:var(--bm-muted)}.bm-avatar{width:42px;height:42px;border-radius:50%;background:#e6f5ff;color:var(--bm-primary);display:inline-flex;align-items:center;justify-content:center;font:700 1rem Montserrat;overflow:hidden;flex:0 0 auto}.bm-avatar img{width:100%;height:100%;object-fit:cover}.bm-avatar--large{width:68px;height:68px;font-size:1.5rem}.bm-avatar--xl{width:110px;height:110px;font-size:2.2rem}.bm-organizer>a{display:flex;align-items:center;gap:.8rem;color:var(--bm-text)}.bm-organizer>a:hover{text-decoration:none}.bm-report summary{cursor:pointer;font-family:Montserrat;font-weight:700}.bm-chat{display:flex;flex-direction:column;gap:.65rem;max-height:420px;overflow:auto;padding:.75rem 0}.bm-message{max-width:78%;align-self:flex-start;background:var(--bm-page);border-radius:14px;padding:.65rem .8rem}.bm-message.is-mine{align-self:flex-end;background:#e6f5ff}.bm-message strong{font-size:.82rem}.bm-message p{margin:.2rem 0;white-space:normal}.bm-message time{font-size:.7rem;color:var(--bm-muted)}.bm-chat-form{display:grid;grid-template-columns:1fr auto;gap:.6rem}.bm-chat-form input{border:1px solid var(--bm-border);border-radius:999px;padding:.75rem 1rem}.bm-profile{display:grid;gap:1rem;max-width:840px;margin:auto}.bm-profile-card{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start}.bm-tag-list{display:flex;gap:.5rem;flex-wrap:wrap}.bm-error-page{text-align:center;padding:7rem 1rem}.bm-error-page>span{font:700 5rem Montserrat;color:#dbeafe}.bm-mobile-nav{display:none}.bm-body .bm-app-header form{margin:0}
@media(max-width:980px){.bm-interest-grid{grid-template-columns:repeat(4,1fr)}.bm-step-grid{grid-template-columns:repeat(2,1fr)}.bm-plan-grid{grid-template-columns:repeat(2,1fr)}.bm-plan-detail{grid-template-columns:1fr}.bm-plan-detail__side{position:static}.bm-hero__grid{grid-template-columns:1fr 1fr}.bm-hero__content{grid-column:1/-1;order:-1}.bm-hero__visual{max-width:320px;margin:auto}}
@media(max-width:720px){.bm-container{width:min(calc(100% - 24px),var(--bm-max))}.bm-public-header__inner,.bm-app-header__inner{min-height:62px}.bm-brand img{height:34px}.bm-public-nav>a:not(.bm-button){display:none}.bm-app-nav{display:none}.bm-app-header form{margin-left:auto}.bm-hero{padding:2.4rem 0 3rem}.bm-hero__grid{gap:.6rem}.bm-hero__content p{font-size:1rem}.bm-actions{flex-direction:column}.bm-actions .bm-button{width:100%}.bm-interest-grid{grid-template-columns:repeat(3,1fr)}.bm-interest-card{padding:.9rem .4rem}.bm-feature{grid-template-columns:1fr}.bm-feature picture{order:2}.bm-footer__inner{align-items:start;flex-direction:column}.bm-form-grid{grid-template-columns:1fr}.bm-interest-choice{grid-template-columns:repeat(2,1fr)}.bm-page-head--actions{align-items:stretch;flex-direction:column}.bm-page-head--actions .bm-button{width:100%}.bm-plan-grid{grid-template-columns:1fr}.bm-plan-meta--detail{grid-template-columns:1fr}.bm-participant-list{grid-template-columns:1fr}.bm-chat-form{grid-template-columns:1fr}.bm-chat-form .bm-button{width:100%}.bm-profile-card{grid-template-columns:1fr;text-align:center}.bm-profile-card>.bm-avatar{margin:auto}.bm-tag-list{justify-content:center}.bm-mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--bm-border);z-index:30;padding:.4rem max(.4rem,env(safe-area-inset-bottom));}.bm-mobile-nav a{text-align:center;padding:.65rem .2rem;font-family:Montserrat;font-weight:700;font-size:.82rem}.bm-app-main{padding-bottom:6rem}}
@media(max-width:480px){.bm-interest-grid{grid-template-columns:repeat(2,1fr)}.bm-step-grid{grid-template-columns:1fr}.bm-hero__visual img{max-height:190px}.bm-plan-meta div{grid-template-columns:64px 1fr}.bm-auth-shell{padding:1.5rem 0}.bm-auth-card{border-radius:18px}.bm-avatar--xl{width:90px;height:90px}}

/* ============================================================
   BayMeet · Responsive patch v01
   - Filtros: no se deforman ni se recortan en móvil.
   - CTA del estado vacío: no queda debajo de la navegación fija.
   - Marca: isotipo + nombre BayMeet en el header privado.
============================================================ */
.bm-brand{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    flex:0 0 auto;
    color:var(--bm-primary);
    text-decoration:none;
}
.bm-brand:hover{ text-decoration:none; }
.bm-brand__word{
    font-family:Montserrat,Arial,sans-serif;
    font-size:1.18rem;
    line-height:1;
    font-weight:800;
    letter-spacing:-.025em;
    white-space:nowrap;
}
.bm-brand__meet{color:#2D8CFF;}

/* No permitir que los filtros se compriman hasta quedar ovalados. */
.bm-filter-row .bm-chip{
    flex:0 0 auto;
    min-height:44px;
    border-radius:14px;
    white-space:nowrap;
    justify-content:center;
}
.bm-filter-row::-webkit-scrollbar{ display:none; }

@media (max-width:720px){
    /* En móvil se muestran TODOS los filtros en una grilla estable. */
    .bm-filter-row{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.6rem;
        overflow:visible;
        padding:.25rem 0 1.25rem;
    }
    .bm-filter-row .bm-chip{
        width:100%;
        min-width:0;
        min-height:46px;
        padding:.62rem .7rem;
        border-radius:12px;
        white-space:normal;
        line-height:1.2;
        text-align:center;
    }

    /* Reserva real para la barra inferior fija. */
    .bm-app-main{
        padding-bottom:calc(8rem + env(safe-area-inset-bottom));
    }
    .bm-empty{
        padding:2.5rem 1rem 3rem;
        margin-bottom:1rem;
    }
    .bm-empty .bm-button{
        width:min(100%,220px);
        min-width:0;
        margin-inline:auto;
    }
    .bm-mobile-nav{
        padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));
    }
}

@media (max-width:380px){
    .bm-brand{ gap:.45rem; }
    .bm-brand img{ height:30px; }
    .bm-brand__word{ font-size:1rem; }
    .bm-filter-row{ grid-template-columns:1fr 1fr; gap:.5rem; }
    .bm-filter-row .bm-chip{ font-size:.82rem; padding:.58rem .55rem; }
}

/* ============================================================
   BayMeet · Brand + Footer patch v01
   - Marca completa (isotipo + BayMeet) en header público.
   - Footer público con estructura profesional y responsive.
============================================================ */
.bm-public-header .bm-brand__word{
    color:var(--bm-primary);
    font-size:1.22rem;
}

.bm-footer{
    background:#061f45;
    color:#fff;
    padding:3.4rem 0 1.25rem;
    margin-top:0;
    border-top:1px solid rgba(255,255,255,.08);
}
.bm-footer__inner{
    display:grid;
    grid-template-columns:minmax(260px,1.35fr) minmax(160px,.7fr) minmax(160px,.7fr);
    gap:clamp(2rem,5vw,5rem);
    align-items:start;
}
.bm-footer__identity{
    display:grid;
    justify-items:start;
    gap:.8rem;
}
.bm-footer__logo{
    display:inline-flex;
    align-items:center;
    gap:.75rem;
    color:#fff;
    text-decoration:none;
    font-family:Montserrat,Arial,sans-serif;
    font-size:1.45rem;
    line-height:1;
    font-weight:800;
    letter-spacing:-.025em;
}
.bm-footer__logo:hover{
    color:#fff;
    text-decoration:none;
}
.bm-footer__logo img{
    width:auto;
    height:38px;
}
.bm-footer__identity p{
    margin:0;
    max-width:330px;
    color:#c9d8ee;
    line-height:1.55;
}
.bm-footer__city{
    display:inline-flex;
    padding:.36rem .65rem;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    color:#d9e8fa;
    background:rgba(255,255,255,.055);
    font-size:.82rem;
}
.bm-footer__nav{
    display:grid;
    align-content:start;
    gap:.62rem;
}
.bm-footer__nav strong{
    margin-bottom:.15rem;
    color:#fff;
    font-family:Montserrat,Arial,sans-serif;
    font-size:.9rem;
}
.bm-footer__nav a{
    width:max-content;
    max-width:100%;
    color:#c9d8ee;
    text-decoration:none;
}
.bm-footer__nav a:hover{
    color:#fff;
    text-decoration:none;
}
.bm-footer__bottom{
    margin-top:2.5rem;
    padding-top:1.15rem;
    border-top:1px solid rgba(255,255,255,.10);
    display:flex;
    justify-content:space-between;
    gap:1rem;
    color:#8fa8c9;
    font-size:.82rem;
}

@media(max-width:720px){
    .bm-public-header .bm-brand__word{font-size:1.05rem}
    .bm-footer{padding:2.6rem 0 1.1rem}
    .bm-footer__inner{
        grid-template-columns:1fr 1fr;
        gap:2rem 1.5rem;
    }
    .bm-footer__identity{grid-column:1/-1}
    .bm-footer__bottom{
        margin-top:2rem;
        flex-direction:column;
        gap:.35rem;
    }
}

@media(max-width:420px){
    .bm-public-header .bm-brand{gap:.45rem}
    .bm-public-header .bm-brand img{height:30px}
    .bm-public-header .bm-brand__word{font-size:.98rem}
    .bm-public-nav .bm-button{padding:.62rem .85rem;min-height:40px}
    .bm-footer__inner{grid-template-columns:1fr}
    .bm-footer__identity{grid-column:auto}
}

/* ============================================================
   BayMeet · Filtros desktop patch v01
   En escritorio los filtros deben envolver en varias filas en
   lugar de desbordarse y quedar cortados al final del contenedor.
============================================================ */
@media (min-width:721px){
    .bm-filter-row{
        display:flex;
        flex-wrap:wrap;
        overflow:visible;
        gap:.5rem;
        padding:.25rem 0 1.2rem;
    }
    .bm-filter-row .bm-chip{
        flex:0 0 auto;
        max-width:100%;
    }
}

/* ============================================================
   BayMeet · Production UI v1.0
============================================================ */
:root{
    --bm-focus:0 0 0 4px rgba(3,171,247,.18);
    --bm-shadow-hover:0 16px 38px rgba(15,23,42,.11);
}

html{scroll-padding-top:86px}
body{min-height:100vh}
::selection{background:rgba(3,171,247,.22);color:var(--bm-primary)}

.bm-skip-link{
    position:fixed;
    left:1rem;
    top:1rem;
    transform:translateY(-160%);
    z-index:9999;
    background:#fff;
    color:var(--bm-primary);
    border:2px solid var(--bm-secondary);
    border-radius:10px;
    padding:.7rem 1rem;
    font-family:Montserrat,Arial,sans-serif;
    font-weight:700;
    box-shadow:var(--bm-shadow);
}
.bm-skip-link:focus{transform:translateY(0)}

:where(a,button,input,select,textarea,summary):focus-visible{
    outline:3px solid var(--bm-secondary);
    outline-offset:3px;
}

.bm-button{
    box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.bm-button--primary{
    box-shadow:0 8px 20px rgba(0,43,118,.18);
}
.bm-button--primary:hover{
    box-shadow:0 10px 24px rgba(3,171,247,.22);
}
.bm-card,.bm-plan-card,.bm-interest-card,.bm-step{
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.bm-plan-card:hover,.bm-interest-card:hover,.bm-step:hover{
    border-color:#c9d8ea;
    box-shadow:var(--bm-shadow-hover);
    transform:translateY(-2px);
}

.bm-public-nav a,.bm-app-nav a{
    font-family:Montserrat,Arial,sans-serif;
    font-size:.9rem;
    font-weight:600;
}
.bm-app-nav a{
    color:#475467;
    padding:.55rem .15rem;
    border-bottom:2px solid transparent;
}
.bm-app-nav a:hover,.bm-app-nav a.is-active{
    color:var(--bm-primary);
    border-bottom-color:var(--bm-secondary);
    text-decoration:none;
}
.bm-mobile-nav a{color:#667085}
.bm-mobile-nav a.is-active{color:var(--bm-primary);background:#f0f7ff;border-radius:10px}

.bm-hero__content h1{max-width:780px;margin-inline:auto}
.bm-hero__content p{max-width:680px}

.bm-trust-strip{
    background:#fff;
    border-top:1px solid var(--bm-border);
    border-bottom:1px solid var(--bm-border);
}
.bm-trust-strip__grid{
    min-height:86px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:center;
}
.bm-trust-strip__grid span{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    padding:.7rem 1rem;
    color:#475467;
    font-family:Montserrat,Arial,sans-serif;
    font-size:.86rem;
    font-weight:600;
    text-align:center;
    border-right:1px solid var(--bm-border);
}
.bm-trust-strip__grid span:last-child{border-right:0}
.bm-trust-strip__grid strong{color:var(--bm-secondary);font-size:.76rem;letter-spacing:.08em}

.bm-safety-section{
    background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
}
.bm-safety-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
}
.bm-safety-card{
    background:#fff;
    border:1px solid var(--bm-border);
    border-radius:20px;
    padding:1.55rem;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.bm-safety-card>span{
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    margin-bottom:1rem;
    background:#eaf7ff;
    color:var(--bm-primary);
    font:800 .9rem/1 Montserrat,Arial,sans-serif;
}
.bm-safety-card h3{font-size:1.08rem}
.bm-safety-card p{margin-bottom:0;color:var(--bm-muted)}

.bm-final-cta{
    background:linear-gradient(135deg,#06204a 0%,#002b76 60%,#004a9f 100%);
    color:#fff;
    padding:clamp(2.8rem,7vw,5rem) 0;
}
.bm-final-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
}
.bm-final-cta .bm-kicker{color:#79d8ff}
.bm-final-cta h2{max-width:680px}
.bm-final-cta p{color:#d9e8fa;max-width:720px;margin-bottom:0}
.bm-final-cta .bm-button--primary{
    flex:0 0 auto;
    background:#fff;
    color:var(--bm-primary);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.bm-final-cta .bm-button--primary:hover{background:#eaf7ff;color:var(--bm-primary)}

.bm-auth-card{
    box-shadow:0 18px 48px rgba(15,23,42,.10);
}
.bm-register-legal{
    margin:.15rem 0 0;
    color:var(--bm-muted);
    font-size:.78rem;
    line-height:1.55;
    text-align:center;
}

.bm-field input:focus-visible,.bm-field select:focus-visible,.bm-field textarea:focus-visible{
    outline:none;
    border-color:var(--bm-secondary);
    box-shadow:var(--bm-focus);
}

.bm-error-page p{color:var(--bm-muted);max-width:560px;margin:0 auto 1.5rem}

@media(max-width:900px){
    .bm-trust-strip__grid{grid-template-columns:repeat(2,1fr)}
    .bm-trust-strip__grid span:nth-child(2){border-right:0}
    .bm-trust-strip__grid span:nth-child(-n+2){border-bottom:1px solid var(--bm-border)}
    .bm-safety-grid{grid-template-columns:1fr 1fr}
    .bm-safety-card:last-child{grid-column:1/-1}
    .bm-final-cta__inner{align-items:flex-start;flex-direction:column}
}

@media(max-width:620px){
    .bm-trust-strip__grid span{font-size:.78rem;padding:.7rem .55rem}
    .bm-safety-grid{grid-template-columns:1fr}
    .bm-safety-card:last-child{grid-column:auto}
    .bm-final-cta .bm-button{width:100%}
    .bm-hero__content h1{font-size:clamp(2.05rem,11vw,3rem)}
}

@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


.bm-profile-photo-note{padding:1rem;margin:0;background:var(--bm-page)}
.bm-profile-photo-note p{margin:.35rem 0 .8rem;color:var(--bm-muted)}

/* ============================================================
   BayMeet · Páginas legales v1.0
   Términos de uso / Política de Privacidad
============================================================ */
.bm-legal-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(3.25rem,7vw,5.25rem) 0 clamp(4.25rem,8vw,6rem);
    background:
        radial-gradient(circle at 12% 12%,rgba(3,171,247,.18),transparent 24rem),
        radial-gradient(circle at 88% 5%,rgba(0,43,118,.09),transparent 28rem),
        linear-gradient(180deg,#fff 0%,#f3f8fe 100%);
    border-bottom:1px solid #dfe8f2;
}
.bm-legal-wrap{
    width:min(calc(100% - 32px),900px);
    margin-inline:auto;
}
.bm-legal-hero .bm-kicker{
    margin-bottom:.8rem;
}
.bm-legal-hero h1{
    max-width:760px;
    margin-bottom:.9rem;
    color:#10233f;
    font-size:clamp(2.25rem,6vw,3.65rem);
}
.bm-legal-lead{
    max-width:720px;
    margin:.15rem 0 1.1rem;
    color:#52637a;
    font-size:clamp(1.12rem,2.4vw,1.3rem);
    line-height:1.65;
}
.bm-legal-updated{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    margin:0;
    padding:.38rem .72rem;
    border:1px solid #dce8f4;
    border-radius:999px;
    background:rgba(255,255,255,.82);
    color:#667085;
    font-size:1rem;
    box-shadow:0 3px 12px rgba(15,23,42,.035);
}
.bm-legal-section{
    position:relative;
    z-index:2;
    margin-top:-2.3rem;
    padding:0 0 clamp(4rem,8vw,6.5rem);
}
.bm-legal-card{
    background:#fff;
    border:1px solid #dde6f0;
    border-radius:24px;
    padding:clamp(1.4rem,4vw,2.8rem);
    box-shadow:0 18px 52px rgba(15,23,42,.09);
}
.bm-legal-card h2{
    margin:0 0 .72rem;
    color:#10233f;
    font-size:clamp(1.35rem,2.4vw,1.55rem);
    line-height:1.35;
    letter-spacing:-.012em;
}
.bm-legal-card h2:not(:first-child){
    margin-top:2rem;
    padding-top:1.9rem;
    border-top:1px solid #edf1f5;
}
.bm-legal-card p{
    margin:.3rem 0 0;
    color:#4f5f73;
    font-size:1.125rem;
    line-height:1.7;
}
.bm-legal-card a:not(.bm-button){
    color:#006fbd;
    font-weight:700;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.bm-legal-card a:not(.bm-button):hover{
    color:var(--bm-primary);
}
.bm-legal-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:2.35rem;
    padding-top:2rem;
    border-top:1px solid #e5ebf2;
}

@media(max-width:620px){
    .bm-legal-hero{
        padding:2.7rem 0 4.25rem;
    }
    .bm-legal-section{
        margin-top:-1.7rem;
        padding-bottom:4rem;
    }
    .bm-legal-card{
        border-radius:19px;
        padding:1.25rem 1.15rem 1.4rem;
        box-shadow:0 12px 34px rgba(15,23,42,.08);
    }
    .bm-legal-card h2:not(:first-child){
        margin-top:1.55rem;
        padding-top:1.45rem;
    }
    .bm-legal-card p{
        font-size:1.125rem;
        line-height:1.65;
    }
    .bm-legal-actions{
        display:grid;
        grid-template-columns:1fr;
        margin-top:1.8rem;
        padding-top:1.5rem;
    }
    .bm-legal-actions .bm-button{
        width:100%;
    }
}

/* BayMeet v1.0.4 · cuenta y recuperación */
.bm-auth-help{text-align:right;margin-top:-.35rem;font-size:.9rem}.bm-auth-help a{font-weight:700}.bm-account-settings{max-width:840px;margin:1rem auto 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-color:#fecaca}.bm-account-settings h2{font-size:1.25rem;margin-bottom:.35rem}.bm-account-settings p{margin:0;color:var(--bm-muted);max-width:610px}.bm-danger-zone{max-width:760px;margin:0 auto;border-color:#fecaca}.bm-danger-zone h2{color:#991b1b}.bm-danger-zone ul{padding-left:1.3rem;color:#475467}.bm-danger-zone li{margin:.35rem 0}.bm-danger-form{margin-top:1.25rem;max-width:none}.bm-danger-form .bm-button--danger{font-weight:800}@media(max-width:720px){.bm-account-settings{align-items:flex-start;flex-direction:column}.bm-account-settings .bm-button{width:100%}}


/* ============================================================
   BayMeet v1.0.6 · instalación PWA móvil
============================================================ */
.bm-pwa-install[hidden]{display:none!important}
.bm-pwa-install{
    position:fixed;
    z-index:1200;
    left:50%;
    bottom:max(18px,env(safe-area-inset-bottom));
    width:min(calc(100% - 28px),520px);
    transform:translateX(-50%);
    display:flex;
    gap:1rem;
    align-items:flex-start;
    padding:1rem;
    border:1px solid #dbe7f3;
    border-radius:20px;
    background:#fff;
    box-shadow:0 22px 60px rgba(15,35,64,.22);
}
.bm-pwa-install__icon{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#002B76;
    color:#fff;
    font:800 1.4rem/1 Montserrat,Arial,sans-serif;
}
.bm-pwa-install__content{min-width:0;flex:1}
.bm-pwa-install__content strong{display:block;color:#10233f;font-size:1.02rem;line-height:1.3}
.bm-pwa-install__content p{margin:.32rem 0 .85rem;color:#667085;font-size:.9rem;line-height:1.45}
.bm-pwa-install__actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.bm-pwa-install__actions .bm-button{min-height:42px;padding:.65rem 1rem}
.bm-pwa-install__later{
    border:0;
    padding:.55rem .15rem;
    background:transparent;
    color:#52637a;
    font:700 .9rem/1.2 Arial,sans-serif;
    cursor:pointer;
}
.bm-pwa-install__later:hover{color:#002B76}
.bm-push-optin__icon svg{width:25px;height:25px}
.bm-push-optin .bm-button[disabled]{opacity:.7;cursor:wait}
@media(max-width:520px){
    .bm-pwa-install{bottom:max(12px,env(safe-area-inset-bottom));gap:.8rem;padding:.9rem;border-radius:18px}
    .bm-push-optin{bottom:max(90px,calc(env(safe-area-inset-bottom) + 78px))}
    .bm-pwa-install__icon{flex-basis:42px;width:42px;height:42px;border-radius:12px}
    .bm-pwa-install__actions{display:grid;grid-template-columns:1fr auto;width:100%}
    .bm-pwa-install__actions .bm-button{width:100%}
}

/* ============================================================
   BayMeet v1.0.7 · Mobile UI
   Más presencia visual en teléfono sin alterar escritorio.
============================================================ */
@media (max-width:720px){
    /* Escala general: lectura cómoda en teléfono. */
    .bm-app-page{
        font-size:17px;
        line-height:1.5;
    }

    /* El contenido principal aprovecha más el ancho del display. */
    .bm-app-main > .bm-container{
        width:calc(100% - 12px);
        max-width:none;
    }

    /* Header privado: proporciones más cercanas a una app móvil. */
    .bm-app-header__inner{
        min-height:68px;
    }
    .bm-app-header .bm-brand{
        gap:.58rem;
    }
    .bm-app-header .bm-brand img{
        height:40px;
        width:auto;
    }
    .bm-app-header .bm-brand__word{
        font-size:1.28rem;
    }
    .bm-app-header .bm-link-button{
        min-height:44px;
        padding:.55rem .45rem;
        font-size:1rem;
    }

    /* Cabeceras de sección. */
    .bm-page-head{
        margin-bottom:1.25rem;
        padding-inline:6px;
    }
    .bm-page-head h1{
        font-size:1.75rem;
        line-height:1.16;
    }
    .bm-page-head p{
        font-size:1.04rem;
        line-height:1.5;
    }

    /* Filtros: más fáciles de tocar y leer. */
    .bm-filter-row{
        gap:.55rem;
        padding:.2rem 6px 1.1rem;
    }
    .bm-filter-row .bm-chip{
        min-height:48px;
        padding:.68rem .7rem;
        font-size:.94rem;
    }

    /* Tarjetas de planes: casi de borde a borde y con menos aire lateral. */
    .bm-plan-grid{
        gap:.8rem;
    }
    .bm-plan-card{
        border-radius:20px;
        padding:1.2rem 1rem 1.05rem;
        box-shadow:0 4px 16px rgba(15,23,42,.045);
    }
    .bm-plan-card__top{
        gap:.6rem;
        margin-bottom:.9rem;
    }
    .bm-plan-card__icon{
        font-size:1.9rem;
        line-height:1;
    }
    .bm-plan-card__top .bm-chip{
        min-height:42px;
        padding:.55rem .82rem;
        font-size:.96rem;
    }
    .bm-plan-card h2{
        margin-bottom:.9rem;
        font-size:1.48rem;
        line-height:1.18;
        letter-spacing:-.022em;
    }
    .bm-plan-card__desc{
        margin:.2rem 0 .85rem;
        font-size:1.08rem;
        line-height:1.56;
    }

    /* Datos del plan: etiquetas y valores con jerarquía más clara. */
    .bm-plan-meta{
        gap:.7rem;
        margin:1rem 0 1.15rem;
    }
    .bm-plan-meta div{
        grid-template-columns:92px minmax(0,1fr);
        gap:.45rem;
        align-items:start;
    }
    .bm-plan-meta dt{
        font-size:.96rem;
        line-height:1.4;
    }
    .bm-plan-meta dd{
        font-size:1.08rem;
        line-height:1.4;
        font-weight:700;
        overflow-wrap:anywhere;
    }
    .bm-plan-card__footer{
        align-items:center;
        padding-top:.9rem;
        font-size:.95rem;
        line-height:1.35;
    }
    .bm-plan-card__footer a{
        flex:0 0 auto;
        min-height:40px;
        display:inline-flex;
        align-items:center;
        padding-inline:.2rem;
        font-weight:700;
    }

    /* Controles táctiles dentro de la app. */
    .bm-app-page .bm-button{
        min-height:48px;
    }
    .bm-app-page .bm-field input,
    .bm-app-page .bm-field select,
    .bm-app-page .bm-field textarea{
        min-height:48px;
        font-size:1rem;
    }

    /* Navegación inferior: icono + etiqueta, como una aplicación. */
    .bm-mobile-nav{
        min-height:72px;
        grid-template-columns:repeat(3,1fr);
        gap:.25rem;
        padding:.35rem .45rem calc(.35rem + env(safe-area-inset-bottom));
        box-shadow:0 -5px 18px rgba(15,23,42,.055);
    }
    .bm-mobile-nav a{
        min-height:58px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:.2rem;
        padding:.4rem .2rem;
        border-radius:12px;
        font-size:.86rem;
        line-height:1.05;
        text-decoration:none;
    }
    .bm-mobile-nav__icon{
        width:23px;
        height:23px;
        display:block;
        flex:0 0 auto;
    }
    .bm-mobile-nav__label{
        display:block;
        white-space:nowrap;
    }

    /* Más espacio real para que la barra fija no tape contenido. */
    .bm-app-main{
        padding-top:1.35rem;
        padding-bottom:calc(7.2rem + env(safe-area-inset-bottom));
    }
}

@media (max-width:380px){
    .bm-app-page{font-size:16.5px}
    .bm-app-main > .bm-container{width:calc(100% - 10px)}
    .bm-app-header .bm-brand img{height:36px}
    .bm-app-header .bm-brand__word{font-size:1.18rem}
    .bm-plan-card{padding:1.1rem .92rem 1rem}
    .bm-plan-card h2{font-size:1.38rem}
    .bm-plan-meta div{grid-template-columns:82px minmax(0,1fr)}
    .bm-plan-card__footer{font-size:.9rem}
    .bm-mobile-nav a{font-size:.82rem}
}

/* ============================================================
   BayMeet 1.1 · Growth, compartir, confianza y retención
============================================================ */
.bm-share-box{
    margin:1.25rem 0;
    padding:1rem;
    border:1px solid #dbe5f1;
    border-radius:16px;
    background:#f8fbff;
}
.bm-share-box > strong{display:block;margin-bottom:.25rem;color:#12233f}
.bm-share-box > p{margin:.2rem 0 .75rem;color:#5d6b80;font-size:.94rem}
.bm-share-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}
.bm-share-actions .bm-button{min-height:42px;padding:.65rem .9rem}

.bm-my-plans{
    margin:0 0 1.35rem;
    padding:1rem;
    border:1px solid #dbe5f1;
    border-radius:20px;
    background:linear-gradient(180deg,#f8fbff,#fff);
}
.bm-my-plans h2{margin:.1rem 0 .75rem;font-size:1.35rem}
.bm-my-plans__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}
.bm-my-plan{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:.7rem;
    align-items:center;
    padding:.85rem;
    border:1px solid #e3eaf3;
    border-radius:14px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}
.bm-my-plan:hover{border-color:#a8c6ea;box-shadow:0 8px 20px rgba(15,45,85,.07)}
.bm-my-plan__icon{font-size:1.45rem}
.bm-my-plan strong,.bm-my-plan small{display:block}
.bm-my-plan small{margin-top:.18rem;color:#66758a;line-height:1.35}

.bm-empty--growth{max-width:820px;margin-inline:auto}
.bm-actions--center{justify-content:center}
.bm-starter-ideas{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin-top:1rem;color:#677489;font-size:.93rem}
.bm-starter-ideas a{padding:.45rem .7rem;border:1px solid #dce5ef;border-radius:999px;background:#fff;text-decoration:none;color:#27415f}
.bm-starter-ideas a:hover{border-color:#9bbde1}

.bm-safety-actions{
    display:flex;
    gap:1rem;
    justify-content:space-between;
    align-items:center;
    margin-top:1rem;
}
.bm-safety-actions p{margin:.25rem 0 0;color:#68758a}

.bm-shared-plan-hero{padding:3rem 0 4rem;background:linear-gradient(180deg,#f4f8fd,#fff)}
.bm-shared-plan-wrap{max-width:820px}
.bm-shared-plan-card{margin-top:1rem;padding:1.5rem}
.bm-shared-plan-card h1{margin:.7rem 0;font-size:clamp(2rem,5vw,3rem);line-height:1.05}
.bm-shared-plan-note{padding:.8rem 1rem;border-radius:12px;background:#fff8e8;color:#65501d;font-size:.94rem}
.bm-shared-plan-cta{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.2rem}
.bm-shared-plan-cta p{width:100%;margin:0;color:#667085}

.bm-consent{
    position:fixed;
    left:50%;
    bottom:18px;
    z-index:9999;
    width:min(720px,calc(100% - 24px));
    transform:translateX(-50%);
    display:flex;
    gap:1rem;
    align-items:center;
    justify-content:space-between;
    padding:1rem 1.1rem;
    border:1px solid #cfdceb;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 48px rgba(16,38,70,.2);
}
.bm-consent strong{display:block;margin-bottom:.2rem;color:#12233f}
.bm-consent p{margin:0;color:#5d6b80;font-size:.9rem;line-height:1.45}
.bm-consent__actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end;flex:0 0 auto}
.bm-consent__actions .bm-button{min-height:40px;padding:.55rem .8rem}
.bm-consent__actions a{font-size:.86rem}

@media (max-width:680px){
    .bm-share-actions{display:grid;grid-template-columns:1fr 1fr}
    .bm-share-actions .bm-button{width:100%}
    .bm-safety-actions{align-items:flex-start;flex-direction:column}
    .bm-safety-actions form,.bm-safety-actions .bm-button{width:100%}
    .bm-consent{align-items:stretch;flex-direction:column}
    .bm-consent__actions{justify-content:flex-start}
    .bm-shared-plan-hero{padding:1.5rem 0 3rem}
}

/* ============================================================
   BayMeet v1.1.1 · ajuste escritorio — botón eliminar cuenta
   Evita que el CTA se comprima y corte el texto en dos líneas.
============================================================ */
.bm-account-settings > div{
    flex:1 1 auto;
    min-width:0;
}
.bm-account-settings .bm-button--danger{
    flex:0 0 auto;
    white-space:nowrap;
    min-width:190px;
}
@media(max-width:720px){
    .bm-account-settings .bm-button--danger{
        width:100%;
        min-width:0;
    }
}

/* ============================================================
   BayMeet v1.1.2 · Mobile legibility
   - Tipografía y controles más grandes en la app móvil.
   - Textos secundarios pasan de gris claro a negro/gris muy oscuro.
   - Escritorio y sitio público permanecen sin cambios.
============================================================ */
@media (max-width:720px){
    .bm-app-page{
        --bm-muted:#111827;
        color:#111111;
        font-size:18px;
        line-height:1.58;
    }

    .bm-app-main > .bm-container{
        width:calc(100% - 10px);
    }

    .bm-app-header__inner{
        min-height:72px;
    }
    .bm-app-header .bm-brand img{
        height:42px;
    }
    .bm-app-header .bm-brand__word{
        font-size:1.34rem;
    }
    .bm-app-header .bm-link-button{
        min-height:48px;
        padding:.6rem .5rem;
        color:#111111;
        font-size:1.04rem;
        font-weight:700;
    }

    .bm-page-head{
        margin-bottom:1.35rem;
        padding-inline:6px;
    }
    .bm-page-head h1{
        font-size:2rem;
        line-height:1.14;
    }
    .bm-page-head p,
    .bm-lead{
        color:#111111;
        font-size:1.12rem;
        line-height:1.55;
    }

    .bm-app-page .bm-card{
        padding:1.2rem 1.05rem;
    }

    .bm-app-page .bm-button{
        min-height:52px;
        padding:.82rem 1.15rem;
        font-size:1.03rem;
        line-height:1.2;
    }
    .bm-app-page .bm-button--small{
        min-height:46px;
        padding:.68rem .95rem;
        font-size:1rem;
    }

    .bm-filter-row .bm-chip,
    .bm-app-page .bm-chip{
        color:#111111;
        font-size:1rem;
    }
    .bm-filter-row .bm-chip{
        min-height:50px;
        padding:.72rem .72rem;
    }

    .bm-plan-grid{
        gap:.9rem;
    }
    .bm-plan-card{
        padding:1.28rem 1.05rem 1.12rem;
    }
    .bm-plan-card__icon{
        font-size:2rem;
    }
    .bm-plan-card h2{
        font-size:1.58rem;
        line-height:1.18;
    }
    .bm-plan-card__desc{
        color:#111111;
        font-size:1.12rem;
        line-height:1.58;
    }
    .bm-plan-meta div{
        grid-template-columns:98px minmax(0,1fr);
    }
    .bm-plan-meta dt{
        color:#111111;
        font-size:1rem;
        font-weight:700;
    }
    .bm-plan-meta dd{
        color:#111111;
        font-size:1.12rem;
    }
    .bm-plan-card__footer{
        color:#111111;
        font-size:1rem;
    }

    .bm-app-page .bm-field{
        gap:.48rem;
    }
    .bm-app-page .bm-field > span,
    .bm-app-page .bm-fieldset > legend{
        color:#111111;
        font-size:1.02rem;
    }
    .bm-app-page .bm-field input,
    .bm-app-page .bm-field select,
    .bm-app-page .bm-field textarea{
        min-height:52px;
        padding:.82rem .95rem;
        color:#111111;
        font-size:1.06rem;
    }
    .bm-app-page .bm-field textarea{
        min-height:120px;
    }
    .bm-app-page .bm-field small{
        color:#111111;
        font-size:.96rem;
        line-height:1.45;
    }

    .bm-section-title-row p,
    .bm-person small,
    .bm-back,
    .bm-message time,
    .bm-account-settings p,
    .bm-danger-zone ul,
    .bm-pwa-install__content p,
    .bm-share-box > p,
    .bm-my-plan small,
    .bm-starter-ideas,
    .bm-safety-actions p,
    .bm-shared-plan-cta p,
    .bm-consent p{
        color:#111111;
    }

    .bm-person{
        padding:.85rem;
    }
    .bm-person small{
        font-size:.95rem;
    }

    .bm-message{
        padding:.78rem .9rem;
        font-size:1rem;
    }
    .bm-message strong{
        font-size:.9rem;
    }
    .bm-message time{
        font-size:.82rem;
    }
    .bm-chat-form input{
        min-height:52px;
        padding:.82rem 1rem;
        color:#111111;
        font-size:1.04rem;
    }

    .bm-mobile-nav{
        min-height:80px;
        padding:.4rem .45rem calc(.4rem + env(safe-area-inset-bottom));
    }
    .bm-mobile-nav a{
        min-height:64px;
        color:#111111;
        font-size:.95rem;
        line-height:1.08;
    }
    .bm-mobile-nav__icon{
        width:27px;
        height:27px;
    }

    .bm-app-main{
        padding-top:1.4rem;
        padding-bottom:calc(8rem + env(safe-area-inset-bottom));
    }
}

@media (max-width:380px){
    .bm-app-page{font-size:17.5px}
    .bm-app-header .bm-brand img{height:40px}
    .bm-app-header .bm-brand__word{font-size:1.28rem}
    .bm-page-head h1{font-size:1.88rem}
    .bm-plan-card h2{font-size:1.5rem}
    .bm-plan-meta div{grid-template-columns:92px minmax(0,1fr)}
    .bm-mobile-nav a{font-size:.92rem}
}


/* ============================================================
   BayMeet · Header público móvil v1.2.6
   - Mantiene "Iniciar sesión" visible en el primer pantallazo.
   - Oculta en móvil solo los enlaces secundarios de navegación.
   - Conserva "Crear cuenta" como CTA principal.
============================================================ */
@media (max-width:720px){
    .bm-public-header__inner{
        gap:.65rem;
    }
    .bm-public-nav{
        margin-left:auto;
        gap:.45rem;
        flex:0 0 auto;
    }
    .bm-public-nav>a:not(.bm-button):not(.bm-public-nav__login){
        display:none;
    }
    .bm-public-nav__login{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:40px;
        padding:.45rem .3rem;
        color:var(--bm-primary);
        font-family:Montserrat,Arial,sans-serif;
        font-size:.88rem;
        font-weight:700;
        line-height:1;
        white-space:nowrap;
        text-decoration:none;
    }
    .bm-public-nav__login:hover{
        color:var(--bm-secondary);
        text-decoration:none;
    }
    .bm-public-nav .bm-button{
        min-height:40px;
        padding:.58rem .82rem;
        font-size:.86rem;
        white-space:nowrap;
    }
}

@media (max-width:420px){
    .bm-public-header__inner{gap:.45rem}
    .bm-public-header .bm-brand{gap:.35rem}
    .bm-public-header .bm-brand img{height:28px}
    .bm-public-header .bm-brand__word{font-size:.9rem}
    .bm-public-nav{gap:.3rem}
    .bm-public-nav__login{
        min-height:38px;
        padding:.4rem .2rem;
        font-size:.8rem;
    }
    .bm-public-nav .bm-button{
        min-height:38px;
        padding:.52rem .65rem;
        font-size:.8rem;
    }
}

@media (max-width:350px){
    .bm-public-header .bm-brand__word{display:none}
    .bm-public-header .bm-brand img{height:30px}
}

/* ============================================================
   BayMeet · Selector regional de localidad v1.3.0
============================================================ */
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
html.bm-modal-open,
html.bm-modal-open body{
    overflow:hidden;
}
.bm-locality-field{
    position:relative;
}
.bm-locality-trigger{
    width:100%;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.8rem 1rem;
    border:1px solid #cfd8e3;
    border-radius:12px;
    background:#fff;
    color:#667085;
    font:600 1rem Montserrat,Arial,sans-serif;
    text-align:left;
    cursor:pointer;
}
.bm-locality-trigger:hover,
.bm-locality-trigger:focus-visible{
    border-color:var(--bm-secondary);
    box-shadow:0 0 0 3px rgba(3,171,247,.12);
    outline:0;
}
.bm-locality-trigger [data-locality-current].has-value{
    color:#111;
}
.bm-locality-trigger__arrow{
    color:var(--bm-primary);
    font-size:1.65rem;
    line-height:1;
}
.bm-locality-modal[hidden]{display:none!important}
.bm-locality-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:grid;
    place-items:center;
    padding:18px;
}
.bm-locality-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(5,20,45,.55);
    cursor:default;
}
.bm-locality-panel{
    position:relative;
    z-index:1;
    width:min(680px,100%);
    max-height:min(780px,calc(100vh - 36px));
    overflow:auto;
    padding:1.35rem;
    border-radius:24px;
    background:#fff;
    box-shadow:0 24px 70px rgba(7,24,50,.28);
}
.bm-locality-panel__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.bm-locality-panel__header h2{
    margin:.2rem 0 0;
    font-size:1.65rem;
}
.bm-locality-close{
    width:42px;
    height:42px;
    flex:0 0 auto;
    border:1px solid var(--bm-border);
    border-radius:50%;
    background:#fff;
    color:#111;
    font-size:1.7rem;
    line-height:1;
    cursor:pointer;
}
.bm-locality-search input{
    width:100%;
    min-height:52px;
    padding:.8rem 1rem;
    border:1px solid #cfd8e3;
    border-radius:14px;
    background:#f9fbfd;
    color:#111;
    font-size:1rem;
    outline:0;
}
.bm-locality-search input:focus{
    border-color:var(--bm-secondary);
    box-shadow:0 0 0 3px rgba(3,171,247,.12);
}
.bm-locality-quick{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    margin:1rem 0 1.2rem;
}
.bm-locality-quick button{
    min-height:42px;
    padding:.55rem .85rem;
    border:1px solid #b8d9f5;
    border-radius:999px;
    background:#eef8ff;
    color:var(--bm-primary);
    font-weight:700;
    cursor:pointer;
}
.bm-locality-group{
    margin-top:1.15rem;
}
.bm-locality-group h3{
    margin:0 0 .5rem;
    color:#344054;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.bm-locality-options{
    overflow:hidden;
    border:1px solid var(--bm-border);
    border-radius:14px;
    background:#fff;
}
.bm-locality-options button{
    width:100%;
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.75rem .9rem;
    border:0;
    border-bottom:1px solid var(--bm-border);
    background:#fff;
    color:#111;
    font-size:1rem;
    text-align:left;
    cursor:pointer;
}
.bm-locality-options button:last-child{
    border-bottom:0;
}
.bm-locality-options button:hover,
.bm-locality-options button:focus-visible,
.bm-locality-options button.is-selected{
    background:#eef8ff;
    color:var(--bm-primary);
    outline:0;
}
.bm-locality-options button.is-selected{
    font-weight:700;
}
.bm-locality-empty{
    margin:1.5rem 0 .3rem;
    padding:1rem;
    border-radius:12px;
    background:#fff7ed;
    color:#9a3412;
    font-weight:700;
    text-align:center;
}

@media (max-width:720px){
    .bm-locality-modal{
        place-items:end stretch;
        padding:0;
    }
    .bm-locality-panel{
        width:100%;
        max-height:92dvh;
        padding:1.15rem 1rem calc(1.15rem + env(safe-area-inset-bottom));
        border-radius:24px 24px 0 0;
    }
    .bm-locality-panel__header h2{
        font-size:1.45rem;
    }
    .bm-locality-search input,
    .bm-locality-options button{
        font-size:1.04rem;
    }
    .bm-locality-options button{
        min-height:54px;
    }
}

/* ============================================================
   BayMeet v1.5.0 · Navegación principal con Personas
============================================================ */
@media(max-width:720px){
    .bm-mobile-nav{grid-template-columns:repeat(4,1fr)}
    .bm-mobile-nav a{font-size:.86rem}
}
@media(max-width:380px){
    .bm-mobile-nav a{font-size:.78rem}
    .bm-mobile-nav__icon{width:24px;height:24px}
}


/* ============================================================
   BayMeet · Privacidad y microinteracciones 2026-09-23
============================================================ */
.bm-privacy-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid #dbe7f2;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fff)}
.bm-privacy-choice__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf5ff;color:#075d96;font:800 1.5rem/1 Montserrat,Arial,sans-serif}
.bm-privacy-choice__copy strong{display:block;color:#172033}.bm-privacy-choice__copy p{margin:.25rem 0;color:#475467}.bm-privacy-choice__copy small{color:#667085}
.bm-switch{display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer}.bm-switch input{position:absolute;opacity:0;pointer-events:none}.bm-switch__track{position:relative;width:54px;height:30px;border-radius:999px;background:#cbd5e1;transition:.2s ease}.bm-switch__track span{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.22);transition:.2s ease}.bm-switch input:checked+.bm-switch__track{background:#0876b9}.bm-switch input:checked+.bm-switch__track span{transform:translateX(24px)}.bm-switch input:focus-visible+.bm-switch__track{outline:3px solid rgba(8,118,185,.2);outline-offset:3px}.bm-switch__label{font-size:.78rem;font-weight:800;color:#475467;white-space:nowrap}
.bm-home-privacy{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;margin:.8rem 0;padding:.78rem .9rem;border:1px solid #d8e8f5;border-radius:16px;background:#f7fbff}.bm-home-privacy__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e5f3ff;color:#075d96;font-weight:900}.bm-home-privacy strong{display:block;color:#173454}.bm-home-privacy p{margin:.12rem 0 0;color:#667085;font-size:.82rem}.bm-home-privacy>a{color:#075d96;font-size:.8rem;font-weight:800;text-decoration:none}
.bm-plan-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.bm-plan-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.08)}.bm-plan-card__icon--visual{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#eaf6ff,#f4ecff);font-size:1.55rem;box-shadow:inset 0 0 0 1px rgba(7,93,150,.08)}.bm-plan-card__cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.48rem .72rem;border-radius:999px;background:#075d96;color:#fff!important;font-weight:800;text-decoration:none!important}
@media(max-width:720px){.bm-privacy-choice{grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.9rem}.bm-privacy-choice .bm-switch{grid-column:1/-1;flex-direction:row;justify-content:space-between;padding-top:.7rem;border-top:1px solid #e5edf4}.bm-home-privacy{grid-template-columns:auto minmax(0,1fr)}.bm-home-privacy>a{grid-column:1/-1;padding-left:46px}.bm-plan-card:active{transform:scale(.99)}}


/* ============================================================
   BayMeet · Planes responsive limpio 2026-09-24
   Separa alcance geográfico de intereses y evita overrides
   contradictorios sobre el CTA de las tarjetas.
============================================================ */
.bm-plan-card__footer .bm-plan-card__cta{
    flex:0 0 auto;
    min-height:42px;
    padding:.58rem .95rem;
    font-size:1rem;
    line-height:1.2;
    white-space:nowrap;
}

@media (max-width:720px){
    .bm-plan-meta div{
        grid-template-columns:82px minmax(0,1fr);
    }

    .bm-plan-card__footer{
        align-items:center;
        gap:.7rem;
    }

    .bm-plan-card__footer > span{
        min-width:0;
        flex:1 1 auto;
    }

    .bm-plan-card__footer .bm-plan-card__cta{
        padding:.58rem .9rem;
    }
}

@media (max-width:600px){
    .bm-filter-row--scope{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:.5rem;
        overflow:visible;
    }

    .bm-filter-row--scope .bm-chip{
        width:100%;
        min-width:0;
        justify-content:center;
        text-align:center;
        white-space:normal;
        line-height:1.2;
    }

    .bm-filter-row--interests{
        display:flex;
        overflow-x:auto;
    }
}

@media (max-width:420px){
    .bm-plan-meta div{
        grid-template-columns:78px minmax(0,1fr);
        gap:.45rem;
    }

    .bm-plan-card__footer{
        gap:.5rem;
    }

    .bm-plan-card__footer .bm-plan-card__cta{
        padding:.56rem .78rem;
    }
}

/* ============================================================
   BayMeet · acabado móvil público 2026-09-24
   Landing, registro y páginas legales.
============================================================ */
@media(max-width:720px){
    body:not(.bm-app-page){
        font-size:17px;
        -webkit-text-size-adjust:100%;
        -webkit-tap-highlight-color:transparent;
    }

    .bm-public-header{
        background:rgba(255,255,255,.97);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    .bm-public-header__inner{
        min-height:64px;
    }

    .bm-public-nav .bm-button{
        min-height:44px;
        padding:.58rem .88rem;
    }

    .bm-hero{
        padding:2rem 0 2.5rem;
    }

    .bm-hero__grid{
        gap:1rem .75rem;
    }

    .bm-hero__content h1{
        font-size:clamp(2.05rem,10vw,2.8rem);
        line-height:1.06;
        letter-spacing:-.04em;
    }

    .bm-hero__content p{
        margin:.85rem auto 1.2rem;
        font-size:1.06rem;
        line-height:1.52;
    }

    .bm-hero__content .bm-actions{
        gap:.6rem;
    }

    .bm-hero__content .bm-button{
        min-height:52px;
        font-size:1rem;
    }

    .bm-pills{
        gap:.4rem;
        margin-top:1rem;
    }

    .bm-pills li{
        padding:.4rem .62rem;
        font-size:.78rem;
    }

    .bm-section{
        padding:2.7rem 0;
    }

    .bm-section-head{
        margin-bottom:1.35rem;
    }

    .bm-section-head h2,
    .bm-feature h2,
    .bm-final-cta h2{
        font-size:1.7rem;
        line-height:1.14;
    }

    .bm-lead{
        font-size:1.03rem;
        line-height:1.55;
    }

    .bm-safety-grid{
        gap:.75rem;
    }

    .bm-safety-card{
        padding:1.1rem;
        border-radius:17px;
        box-shadow:none;
    }

    .bm-safety-card>span{
        width:42px;
        height:42px;
        margin-bottom:.7rem;
    }

    .bm-interest-grid{
        gap:.6rem;
    }

    .bm-interest-card{
        min-height:92px;
        border-radius:15px;
    }

    .bm-final-cta{
        padding:2.8rem 0 calc(2.8rem + env(safe-area-inset-bottom));
    }

    .bm-auth-shell{
        width:min(calc(100% - 20px),480px);
        padding:1.25rem 0 2rem;
    }

    .bm-auth-brand{
        margin-bottom:.9rem;
    }

    .bm-auth-card{
        padding:1.15rem;
        border-radius:20px;
        box-shadow:0 10px 28px rgba(15,23,42,.07);
    }

    .bm-auth-card h1{
        font-size:1.8rem;
    }

    .bm-field input,
    .bm-field select,
    .bm-field textarea{
        min-height:50px;
        padding:.78rem .85rem;
        font-size:17px;
    }

    .bm-auth-card .bm-button{
        min-height:52px;
    }

    .bm-register-legal,
    .bm-auth-legal{
        font-size:.82rem;
        line-height:1.5;
    }

    .bm-legal-hero{
        padding:2.4rem 0 3rem;
    }

    .bm-legal-hero h1{
        font-size:2rem;
    }

    .bm-legal-section{
        padding:0 0 2.7rem;
    }

    .bm-legal-card{
        padding:1.15rem;
        border-radius:18px;
        box-shadow:none;
    }

    .bm-footer__nav a{
        min-height:38px;
        display:flex;
        align-items:center;
    }

    .bm-section,
    .bm-footer{
        content-visibility:auto;
        contain-intrinsic-size:auto 720px;
    }
}


/* BayMeet · Detalle de plan · ilustración protagonista + acciones simples · 2026-10-07 */
.bm-plan-detail__main > .bm-card:first-child{overflow:hidden}
.bm-plan-detail__visual{
    margin:calc(clamp(1rem,3vw,1.6rem) * -1) calc(clamp(1rem,3vw,1.6rem) * -1) 1.15rem;
    background:#f7f9fc;
    border-bottom:1px solid var(--bm-border);
}
.bm-plan-detail__visual img{
    display:block;
    width:100%;
    height:clamp(260px,32vw,430px);
    object-fit:cover;
    object-position:center;
}
.bm-plan-card__top--detail{
    margin-bottom:.7rem;
}
.bm-plan-detail__main > .bm-card:first-child > h1{
    margin-bottom:1rem;
}
.bm-safety-note{
    margin-top:.2rem;
    padding:1rem 1.05rem;
    background:#f3fbff;
    border-color:#c6e8f8;
    color:#075985;
    line-height:1.5;
}
.bm-safety-note strong{
    display:block;
    margin-bottom:.2rem;
    color:#075985;
}
.bm-invite-community{
    margin:16px 0 4px;
}
.bm-invite-community .bm-button{
    min-height:42px;
    padding:.65rem 1rem;
}
@media(max-width:980px){
    .bm-plan-detail__visual img{
        height:clamp(240px,45vw,390px);
    }
}
@media(max-width:720px){
    .bm-plan-detail__visual{
        margin:-1rem -1rem .9rem;
    }
    .bm-plan-detail__visual img{
        height:auto;
        aspect-ratio:4/3;
        object-fit:cover;
    }
    .bm-plan-card__top--detail{
        margin-bottom:.55rem;
    }
    .bm-plan-detail__main > .bm-card:first-child > h1{
        font-size:clamp(1.65rem,7vw,2.15rem);
        margin-bottom:.8rem;
    }
    .bm-plan-meta--detail{
        grid-template-columns:1fr;
        gap:.5rem;
    }
    .bm-plan-meta--detail div{
        padding:.72rem .8rem;
    }
    .bm-safety-note{
        padding:.85rem .9rem;
        font-size:.92rem;
    }
    .bm-invite-community{
        margin:13px 0 2px;
    }
    .bm-invite-community .bm-button{
        width:100%;
    }
}


/* BayMeet · Detalle de plan · hero en dos columnas · 2026-10-07 */
.bm-plan-detail__hero{
    display:grid;
    grid-template-columns:minmax(280px,360px) minmax(0,1fr);
    gap:1.35rem;
    align-items:center;
    margin-bottom:1.15rem;
}
.bm-plan-detail__hero .bm-plan-detail__visual{
    margin:0;
    border:0;
    border-radius:16px;
    overflow:hidden;
    background:#f7f9fc;
}
.bm-plan-detail__hero .bm-plan-detail__visual img{
    width:100%;
    height:240px;
    object-fit:cover;
    object-position:center;
}
.bm-plan-detail__intro{
    min-width:0;
}
.bm-plan-detail__intro h1{
    margin:0 0 .65rem;
}
.bm-plan-detail__intro-text{
    margin:0 0 1rem;
    max-width:42rem;
    color:#5f6b7c;
    font-size:1rem;
    line-height:1.55;
}

@media(max-width:900px){
    .bm-plan-detail__hero{
        grid-template-columns:1fr;
        gap:.9rem;
    }
    .bm-plan-detail__hero .bm-plan-detail__visual{
        max-width:520px;
    }
    .bm-plan-detail__hero .bm-plan-detail__visual img{
        height:auto;
        aspect-ratio:16/10;
    }
}
@media(max-width:720px){
    .bm-plan-detail__hero{
        margin-bottom:.9rem;
    }
    .bm-plan-detail__hero .bm-plan-detail__visual{
        max-width:none;
        border-radius:12px;
    }
    .bm-plan-detail__hero .bm-plan-detail__visual img{
        aspect-ratio:4/3;
    }
    .bm-plan-detail__intro-text{
        font-size:.94rem;
    }
    
}


/* BayMeet · cancelar plan más discreto · 2026-10-07 */
.bm-invite-community{
    margin-top:22px;
    margin-bottom:8px;
}
.bm-plan-cancel{
    margin-top:18px;
}
.bm-plan-cancel .bm-button--danger{
    min-height:36px;
    padding:.5rem .85rem;
    font-size:.88rem;
    font-weight:700;
    background:transparent;
    border-color:#f6b4ae;
    color:#c53a31;
    box-shadow:none;
}
.bm-plan-cancel .bm-button--danger:hover{
    background:#fff7f6;
    border-color:#ee928a;
    color:#a92f28;
}
@media(max-width:720px){
    .bm-invite-community{
        margin-top:20px;
    }
    .bm-plan-cancel{
        margin-top:16px;
    }
    .bm-plan-cancel .bm-button--danger{
        width:auto;
        min-height:34px;
        padding:.45rem .75rem;
        font-size:.84rem;
    }
}


.bm-plan-detail__intro-text{
    font-size:1.04rem;
    line-height:1.62;
    color:#4f5f70;
    margin-bottom:1.05rem;
}
@media(max-width:720px){
    
    .bm-plan-detail__intro-text{
        font-size:1rem;
        line-height:1.58;
    }
}


/* BayMeet · móvil: texto del plan más legible + WhatsApp compacto · 2026-10-07 */
@media(max-width:720px){
    .bm-plan-detail__intro-text{
        color:#111111;
        font-size:1.1rem;
        line-height:1.62;
        font-weight:500;
    }
    .bm-button--whatsapp{
        justify-self:start;
    }
}


/* BayMeet · WhatsApp profesional y discreto · 2026-10-07 */
.bm-button--whatsapp{
    width:auto;
    min-height:36px;
    padding:.48rem .78rem;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:#ffffff;
    border:1px solid #d9e2e8;
    color:#26384b;
    font-size:.86rem;
    font-weight:700;
    box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.bm-button--whatsapp:hover{
    background:#f8fbf9;
    border-color:#b9d8c2;
    color:#1f2f3d;
}
.bm-whatsapp-mark{
    width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:#25D366;
}
.bm-whatsapp-mark svg{
    width:20px;
    height:20px;
    display:block;
    fill:currentColor;
}
@media(max-width:720px){
    .bm-button--whatsapp{
        width:auto !important;
        min-height:35px;
        padding:.46rem .72rem;
        font-size:.84rem;
    }
}

/* Identidad BayMeet: palabra completa en azul oscuro en cabecera publica y privada. */
.bm-public-header .bm-brand__word .bm-brand__meet,
.bm-app-header .bm-brand__word .bm-brand__meet { color:#223a77; }

/* Separación uniforme de acciones bajo la nota de seguridad. */
.bm-plan-detail .bm-plan-leave,
.bm-plan-detail .bm-plan-join{
    margin:24px 0 0;
}
 
/* Participar · escritorio y tablet · ajuste de jerarquía y márgenes.
   Exclusivamente sobre el bloque .bm-match-wrap; no modifica Planes ni Descubrir. */
.bm-app-page .bm-match-wrap{
    width:100%;
    max-width:1160px;
    min-width:0;
    margin:0 auto 3rem;
    padding:12px 8px 38px;
    gap:17px;
    font-size:16px;
    line-height:1.48;
}
.bm-app-page .bm-match-wrap :is(.bm-host-section,.bm-suggest-section){
    min-width:0;
}
.bm-app-page .bm-match-wrap .bm-match-header{
    padding:4px 2px 0;
}
.bm-app-page .bm-match-wrap .bm-match-header p{
    max-width:850px;
    font-size:16px;
    line-height:1.48;
    color:#4a5e70;
}
.bm-app-page .bm-match-wrap .bm-match-intro-line{
    margin-top:10px;
    gap:9px 16px;
}
.bm-app-page .bm-match-wrap .bm-match-settings-link{
    border:1px solid #c5d9e5;
    border-radius:8px;
    background:#fff;
    padding:7px 12px;
    font-size:15px;
    line-height:1.35;
    text-decoration:none;
    color:#125d7c;
}
.bm-app-page .bm-match-wrap .bm-participar-help-details{
    font-size:15px;
}
.bm-app-page .bm-match-wrap .bm-host-section > h2,
.bm-app-page .bm-match-wrap .bm-suggest-section > h2{
    margin:0 0 12px;
    font-size:23px;
    font-weight:750;
    line-height:1.22;
    color:#142b3f;
}
.bm-app-page .bm-match-wrap .bm-reg-draft__intro,
.bm-app-page .bm-match-wrap .bm-suggest-intro{
    margin:0 0 13px;
    font-size:16px;
    line-height:1.4;
    color:#526579;
}
.bm-app-page .bm-match-wrap .bm-unified-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.bm-app-page .bm-match-wrap .bm-match-box{
    border:1px solid #dce5ed;
    border-radius:15px;
    box-shadow:0 3px 14px rgba(20,47,73,.045);
}
.bm-app-page .bm-match-wrap .bm-unified-card{
    min-width:0;
    overflow:hidden;
    gap:11px;
    padding:18px 20px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__top{
    display:flex;
    align-items:flex-start;
    min-width:0;
    gap:16px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__info{
    min-width:0;
    flex:1 1 0;
    gap:6px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__state{
    justify-self:start;
    width:fit-content;
    max-width:100%;
    padding:3px 8px;
    border-radius:6px;
    background:#eef5fc;
    color:#174e7c;
    font-size:14px;
    line-height:1.3;
    font-weight:750;
}
.bm-app-page .bm-match-wrap .bm-unified-card__top h3{
    margin:2px 0 0;
    font-size:20px;
    line-height:1.25;
    color:#183044;
    font-weight:800;
    overflow-wrap:break-word;
}
.bm-app-page .bm-match-wrap .bm-unified-card__interest{
    font-size:15px;
    line-height:1.35;
    color:#587085;
}
.bm-app-page .bm-match-wrap .bm-unified-card__picture{
    flex:0 0 112px;
    width:112px;
    height:112px;
    border-radius:11px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__stats{
    display:flex;
    flex-wrap:wrap;
    align-content:start;
    gap:6px;
    margin-top:9px;
    font-size:13px;
    line-height:1.32;
    color:#365469;
}
.bm-app-page .bm-match-wrap .bm-unified-card__stats span{
    display:inline-flex;
    align-items:center;
    min-width:0;
    max-width:100%;
    width:auto;
    padding:5px 8px;
    border:1px solid #e3eaf0;
    border-radius:6px;
    background:#f5f8fb;
    overflow-wrap:anywhere;
}
.bm-app-page .bm-match-wrap .bm-unified-card__manage{
    min-width:0;
    gap:9px;
    margin-top:auto;
}
.bm-app-page .bm-match-wrap .bm-unified-card__form{
    min-width:0;
    gap:7px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__form label{
    font-size:15px;
    line-height:1.35;
    font-weight:700;
    color:#395668;
}
.bm-app-page .bm-match-wrap .bm-unified-card__date-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content;
    align-items:stretch;
    min-width:0;
    gap:9px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__date-row input{
    display:block;
    width:100%;
    min-width:0;
    min-height:44px;
    padding:8px 11px;
    border-radius:8px;
    font-size:15px;
    line-height:1.3;
}
.bm-app-page .bm-match-wrap .bm-unified-card__date-row button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:0;
    min-height:44px;
    padding:8px 13px;
    font-size:15px;
    line-height:1.2;
    white-space:nowrap;
    border-radius:8px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__links{
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px 18px;
}
.bm-app-page .bm-match-wrap .bm-unified-card__links a,
.bm-app-page .bm-match-wrap .bm-unified-card__withdraw button,
.bm-app-page .bm-match-wrap .bm-unified-card__suggest{
    font-size:14px;
    line-height:1.42;
    white-space:normal;
    text-align:left;
}
.bm-app-page .bm-match-wrap .bm-unified-card__small,
.bm-app-page .bm-match-wrap .bm-unified-card__notice,
.bm-app-page .bm-match-wrap .bm-unified-card__feedback,
.bm-app-page .bm-match-wrap .bm-unified-card__date{
    font-size:15px;
    line-height:1.42;
    overflow-wrap:anywhere;
}
.bm-app-page .bm-match-wrap .bm-host-footer{
    margin:9px 1px 0;
    font-size:14px;
    line-height:1.4;
}
.bm-app-page .bm-match-wrap .bm-suggest-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    min-width:0;
}
.bm-app-page .bm-match-wrap .bm-suggest-card{
    display:flex;
    align-items:flex-start;
    min-width:0;
    padding:18px 20px;
    gap:16px;
    overflow:hidden;
}
.bm-app-page .bm-match-wrap .bm-suggest-card[hidden]{
    display:none!important;
}
.bm-app-page .bm-match-wrap .bm-suggest-details{
    flex:1 1 0;
    min-width:0;
    gap:6px;
}
.bm-app-page .bm-match-wrap .bm-suggest-details h3{
    margin:0;
    font-size:22px;
    line-height:1.26;
    font-weight:800;
    color:#172e43;
    overflow-wrap:anywhere;
}
.bm-app-page .bm-match-wrap .bm-suggest-details p{
    font-size:18px;
    line-height:1.4;
    color:#4a6071;
    overflow-wrap:anywhere;
}
.bm-app-page .bm-match-wrap .bm-suggest-reason{
    font-size:17px!important;
    font-weight:750;
    color:#12718a!important;
    line-height:1.35;
}
.bm-app-page .bm-match-wrap .bm-suggest-picture{
    flex:0 0 126px;
    width:126px;
    height:126px;
    border-radius:11px;
}
.bm-app-page .bm-match-wrap .bm-suggest-action{
    width:auto;
    max-width:100%;
    min-height:42px;
    margin-top:5px;
    padding:9px 14px;
    border:1px solid #9fc6d7;
    border-radius:7px;
    background:#f8fbfe;
    color:#076b86;
    font-family:inherit;
    font-size:18px;
    line-height:1.3;
    font-weight:750;
    white-space:normal;
    text-align:center;
    cursor:pointer;
}
.bm-app-page .bm-match-wrap .bm-suggest-action:hover,
.bm-app-page .bm-match-wrap .bm-suggest-action:focus-visible{
    background:#e8f4f9;
    border-color:#6aa9c1;
}
@media(min-width:1100px) and (max-width:1250px){
    .bm-app-page .bm-match-wrap .bm-unified-card{padding:19px}
    .bm-app-page .bm-match-wrap .bm-unified-card__picture{flex-basis:98px;width:98px;height:98px}
    .bm-app-page .bm-match-wrap .bm-unified-card__date-row{
        grid-template-columns:1fr;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__date-row button{
        justify-self:start;
    }
}
@media(max-width:1099px){
    .bm-app-page .bm-match-wrap{
        max-width:880px;
        padding:10px 14px 36px;
        gap:17px;
    }
    .bm-app-page .bm-match-wrap .bm-unified-grid,
    .bm-app-page .bm-match-wrap .bm-suggest-list{
        grid-template-columns:minmax(0,1fr);
        gap:15px;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__picture{
        width:128px;
        height:128px;
        flex-basis:128px;
    }
    .bm-app-page .bm-match-wrap .bm-suggest-picture{
        width:136px;
        height:136px;
        flex-basis:136px;
    }
}
@media(max-width:720px){
    .bm-app-page .bm-match-wrap{
        font-size:18px;
        padding:4px 8px 38px;
        gap:16px;
    }
    .bm-app-page .bm-match-wrap .bm-host-section > h2,
    .bm-app-page .bm-match-wrap .bm-suggest-section > h2{
        font-size:22px;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card,
    .bm-app-page .bm-match-wrap .bm-suggest-card{
        padding:16px;
        gap:12px;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__picture{
        width:96px;
        height:96px;
        flex-basis:96px;
    }
    .bm-app-page .bm-match-wrap .bm-suggest-picture{
        width:125px;
        height:125px;
        flex-basis:125px;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__top h3{font-size:19px}
    .bm-app-page .bm-match-wrap .bm-match-header p{font-size:17px}
    .bm-app-page .bm-match-wrap .bm-unified-card__form label{font-size:16px}
    .bm-app-page .bm-match-wrap .bm-suggest-details p{font-size:18px}
    .bm-app-page .bm-match-wrap .bm-unified-card__date-row input,
    .bm-app-page .bm-match-wrap .bm-unified-card__date-row button{
        min-height:44px;
        font-size:15px;
    }
}
@media(max-width:420px){
    .bm-app-page .bm-match-wrap{padding-inline:4px}
    .bm-app-page .bm-match-wrap .bm-unified-card__date-row{
        grid-template-columns:minmax(0,1fr);
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__date-row button{
        justify-self:start;
        width:auto;
        max-width:100%;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__stats{
        font-size:12.5px;
        gap:5px;
    }
    .bm-app-page .bm-match-wrap .bm-unified-card__stats span{padding:4px 6px}
    .bm-app-page .bm-match-wrap .bm-unified-card__top{gap:10px}
    .bm-app-page .bm-match-wrap .bm-unified-card__picture{flex-basis:88px;width:88px;height:88px}
    .bm-app-page .bm-match-wrap .bm-suggest-picture{flex-basis:108px;width:108px;height:108px}
    .bm-app-page .bm-match-wrap .bm-suggest-card{align-items:flex-start}
}

/* Participar: identidad del organizador discreta y vinculada al perfil. */
.bm-app-page .bm-match-wrap .bm-suggest-organizer{
    display:inline-flex;
    align-items:center;
    align-self:start;
    gap:10px;
    min-width:0;
    max-width:100%;
    margin:5px 0 1px;
    padding:2px 8px 2px 0;
    border-radius:9px;
    color:#243d52;
    text-decoration:none;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer__avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 45px;
    width:45px;
    height:45px;
    overflow:hidden;
    border:1px solid #d5e2eb;
    border-radius:50%;
    background:#e9f1f7;
    color:#1e577b;
    font-size:18px;
    font-weight:750;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer__avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer__name{
    display:flex;
    flex-direction:column;
    min-width:0;
    gap:0;
    line-height:1.23;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer__name small{
    color:#677c8b;
    font-size:15px;
    font-weight:500;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer__name strong{
    color:#076b8c;
    font-size:18px;
    font-weight:800;
    line-height:1.32;
    overflow-wrap:anywhere;
    text-decoration:underline;
    text-decoration-color:#87b9cf;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer:hover .bm-suggest-organizer__name strong,
.bm-app-page .bm-match-wrap .bm-suggest-organizer:focus-visible .bm-suggest-organizer__name strong{
    color:#066b96;
    text-decoration:underline;
    text-underline-offset:3px;
}
.bm-app-page .bm-match-wrap .bm-suggest-organizer:focus-visible{
    outline:2px solid #087d9e;
    outline-offset:3px;
}
@media(max-width:480px){
    .bm-app-page .bm-match-wrap .bm-suggest-organizer__avatar{
        flex-basis:43px;
        width:43px;
        height:43px;
    }
    .bm-app-page .bm-match-wrap .bm-suggest-organizer__name strong{
        font-size:18px;
    }
}

/* Encuesta breve y voluntaria BayMeet 2026 */
.bm-motivation-dialog{position:fixed;box-sizing:border-box;width:min(94vw,590px);max-height:88dvh;overflow-y:auto;padding:clamp(18px,3vw,26px);background:#fff;color:#1b3448;border:1px solid #d8e5ef;border-radius:20px;box-shadow:0 24px 65px #172e4657;font-family:Montserrat,Arial,sans-serif}
.bm-motivation-dialog::backdrop{background:rgba(10,28,44,.56)}
.bm-motivation-dialog__brand{font-size:.86rem;letter-spacing:.06em;font-weight:800;color:#076da6;text-transform:uppercase}
.bm-motivation-dialog h2{font-size:clamp(1.28rem,3.5vw,1.7rem);line-height:1.2;margin:.45rem 0 .4rem;color:#18354b}
.bm-motivation-dialog__help{color:#506a7f;font-size:.95rem;line-height:1.4;margin:0 0 1rem}
.bm-motivation-dialog__question{display:block;font-size:1rem;font-weight:750;margin:0 0 .55rem;color:#18354b}
.bm-motivation-dialog__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:1rem}
.bm-motivation-dialog__option{display:flex;align-items:center;gap:8px;min-height:48px;box-sizing:border-box;padding:9px 10px;border:1px solid #d4e2ea;border-radius:10px;background:#fafdff;color:#24445b;font-size:.94rem;line-height:1.24;cursor:pointer}
.bm-motivation-dialog__option:has(input:checked){background:#eaf5ff;border-color:#0877ba}
.bm-motivation-dialog__option input{width:17px;height:17px;flex:none;accent-color:#075f9c}
.bm-motivation-dialog textarea{display:block;width:100%;min-height:68px;resize:vertical;box-sizing:border-box;margin:0 0 1rem;padding:10px 12px;border:1px solid #a8bfce;border-radius:10px;font:400 1rem/1.4 Montserrat,Arial,sans-serif;color:#172f44;background:#fff}
.bm-motivation-dialog__actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.bm-motivation-dialog__actions button{min-height:44px;padding:.65rem 1rem;border-radius:10px;font:700 1rem/1.25 Montserrat,Arial,sans-serif;cursor:pointer}
.bm-motivation-dialog__send{border:1px solid #075f9c;background:#075f9c;color:#fff}
.bm-motivation-dialog__skip{border:1px solid #d5e1e8;background:#fff;color:#3e5e74}
@media(max-width:540px){.bm-motivation-dialog{max-height:88dvh;padding:16px;border-radius:15px}.bm-motivation-dialog__options{grid-template-columns:1fr;gap:5px}.bm-motivation-dialog__option{min-height:40px;padding:7px 9px;font-size:.91rem}.bm-motivation-dialog__help{font-size:.88rem;margin-bottom:.7rem}.bm-motivation-dialog textarea{min-height:60px;margin-bottom:.75rem}}

/* Insignias pausadas: ocultar solo los reconocimientos, sin borrar su historial. */
[title="Creador de grupos"],
[title="Organiza grupos"],
[title="Administra este grupo"],
[title="Encuentros confirmados que organizó"],
[title="Encuentros a los que asistió"]{
    display:none!important;
}


