/* Área de membresía · usa las variables de /style.css */
body.m{background:var(--paper)}
.m .site-header .wrap{display:flex;align-items:center;justify-content:space-between}
.m-salir{color:var(--gold-light);font:500 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:12px 0}
.m-nav{background:var(--black);border-top:1px solid var(--line-dark)}
.m-nav .wrap{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none}
.m-nav a{flex:none;padding:15px 0 13px;color:var(--muted-dark);font:500 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid transparent}
.m-nav a:hover{color:var(--white)}
.m-nav a[aria-current]{color:var(--white);border-bottom-color:var(--gold)}
.m-main .section{padding-block:clamp(40px,6vw,72px)}
.m-narrow{max-width:760px}
.m-h1{font-family:var(--display);font-weight:400;font-size:clamp(36px,5vw,52px);line-height:1.05;margin:6px 0 16px}
.m h2{font-family:var(--display);font-weight:500;font-size:clamp(26px,3vw,32px);line-height:1.1;margin:0 0 16px}
.m h3{font-family:var(--body);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:22px 0 6px}
.m-mt{margin-top:44px!important}
.m-muted,.m-small{color:var(--muted)}
.m-small{font-size:14px}
.m-ok,.m-err,.m-alerta{padding:14px 18px;margin:0 0 20px;font-size:15px}
.m-ok{background:#eef3ea;border:1px solid #c7d6bd;color:#2f4a24}
.m-err{background:#f7e9e6;border:1px solid #e3c2ba;color:#7a2617}
.m-alerta{background:var(--black);color:var(--white)}
.m-alerta a{color:var(--gold-light)}
.m-card{background:var(--white);border:1px solid var(--line);padding:clamp(18px,3vw,28px)}
.m-hp{position:absolute;left:-9999px}
.m-oculto{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.m-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.btn.dark{background:var(--black);border-color:var(--black)}
.btn.dark:hover{background:transparent;color:var(--ink)}
.btn{cursor:pointer;min-height:48px;justify-content:center}
.m-btns{display:flex;flex-wrap:wrap;gap:12px}
/* Formularios */
.m-form{display:grid;gap:18px}
.m-form fieldset{border:0;margin:0 0 10px;padding:0;display:grid;gap:16px}
.m-form legend{font-family:var(--display);font-size:28px;font-weight:500;padding:0;margin-bottom:14px}
.m-form label{display:grid;gap:7px;font-size:14px;color:#4a463f}
.m-form input:not([type=checkbox]):not([type=radio]),.m-form select,.m-form textarea{font:400 16px/1.5 var(--body);color:var(--ink);background:var(--white);border:1px solid #c9c3b8;border-radius:0;padding:11px 13px;width:100%;box-sizing:border-box;min-height:48px}
.m-form textarea{resize:vertical}
.m-form input:focus,.m-form select:focus,.m-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.m-form textarea[readonly]{background:var(--paper)}
.m-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.m-opt,.m-check{display:flex!important;gap:12px;align-items:flex-start;font-size:15px!important;color:var(--ink)!important;line-height:1.5}
.m-opt{background:var(--white);border:1px solid #c9c3b8;padding:14px}
.m-opt:has(input:checked){border-color:var(--gold)}
.m-opt input,.m-check input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--gold)}
.m-q{display:grid;gap:10px;font-size:15px;line-height:1.5}
.m-inline{display:flex;flex-wrap:wrap;gap:22px}
.m-inline label{display:flex;gap:8px;align-items:center;font-size:15px;color:var(--ink)}
.m-det{border:1px solid var(--line);background:var(--white);padding:0 18px}
.m-det summary{cursor:pointer;padding:14px 0;font-weight:500}
.m-det[open]{padding-bottom:18px}
.m-acepta{display:grid;gap:14px}
.m-foto{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.m-foto img,.m-foto-vacia{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:none}
.m-foto-vacia{background:var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center}
.m-foto-btns{display:grid;gap:10px;flex:1;min-width:200px}
.m-foto-btns .btn{min-height:48px}
/* Persona y tarjetas */
.m-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;background:var(--line);display:inline-block}
.m-avatar.grande{width:120px;height:120px}
.m-avatar.vacio{background:var(--line)}
.m-hero-persona .wrap{grid-template-columns:auto 1fr;align-items:center;gap:24px}
.m-hero-persona .m-avatar{width:88px;height:88px;border:2px solid var(--gold)}
.m-hero-persona h1{font-size:clamp(36px,6vw,64px)}
.m-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(28px,5vw,64px);align-items:start}
.m-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.m-head h2{margin:0}
.m-bar{height:6px;background:var(--line);margin-bottom:8px}
.m-bar span{display:block;height:6px;background:var(--gold)}
.m-pasos{list-style:none;margin:0 0 14px;padding:0}
.m-pasos li{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.m-pasos li.hecho{color:var(--ink)}
.m-pasos small{display:block;color:var(--muted);font-size:13px}
.m-dot{width:24px;height:24px;border-radius:50%;border:2px solid #c9c3b8;box-sizing:border-box;flex:none}
.hecho .m-dot{background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--gold)}
.m-clase{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;margin-bottom:10px;background:var(--white);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.m-clase small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.m-clase strong{font-family:var(--display);font-weight:500;font-size:22px}
.m-clase>span:last-child{font-size:13px;color:var(--muted);text-align:right}
.m-clase.sig{background:var(--black);color:var(--white);border-color:var(--black)}
.m-clase.sig small,.m-clase.sig>span:last-child{color:var(--gold-light)}
.m-clase.bloq{border-style:dashed;color:var(--muted);background:transparent}
.m-lista{list-style:none;margin:0;padding:0}
.m-lista li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.m-lista li span{font-size:13px;color:var(--gold)}
.m-cards{display:grid;gap:10px;align-content:start}
.m-fila{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--ink)}
.m-fila small{display:block;color:var(--muted);font-size:13px}
.m-fila:hover{border-color:var(--gold)}
.m-n{font-family:var(--display);font-size:26px;color:var(--gold);line-height:1;min-width:24px}
.m-cand{margin-bottom:20px}
.m-cand header{display:flex;gap:18px;align-items:center;margin-bottom:6px}
.m-cand header .m-avatar{width:80px;height:80px}
.m-cand h2{margin:0}
.m-cand p{line-height:1.75;margin:0}
.m-orar{margin-top:20px}
/* Clase */
.m-video{position:relative;aspect-ratio:16/9;background:#000;margin:8px 0}
.m-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.m-audio{width:100%;margin:8px 0}
.m-preg{display:grid;gap:10px}
.m-preg>span,.m-preg legend{display:flex;gap:12px;line-height:1.5;font-size:16px;color:var(--ink)}
.m-resp{padding-left:20px}
.m-resp li{margin-bottom:16px}
.m-resp p{margin:6px 0 0;white-space:pre-line}
.m-parte small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.m-parte strong{font-family:var(--display);font-weight:500;font-size:26px;color:var(--ink)}
.m-nota{border-color:var(--gold);margin-bottom:20px}
/* Panel */
.m-tabla{overflow-x:auto;background:var(--white);border:1px solid var(--line)}
.m-tabla table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}
.m-tabla th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line)}
.m-tabla td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.m-tabla td a{color:var(--ink);font-weight:500}
.m-tabla td small{display:block;color:var(--gold);font-size:12px}
.m-tabla tr.listo{background:#faf6ec}
.m-mini{display:inline-block;width:80px;height:6px;background:var(--line);vertical-align:middle}
.m-mini span{display:block;height:6px;background:var(--gold)}
.m-persona{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.m-persona .m-h1{margin:4px 0 6px}
.m-persona p{margin:0}
.m-acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:36px}
.m-acciones form{margin:0}
.m-acciones .m-small{flex-basis:100%;margin:0}
.m-cred{border-color:var(--gold);margin-bottom:24px}
.m-cred code{font-size:17px;background:var(--paper);padding:2px 8px}
.m-dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:10px 16px;margin:0 0 24px;font-size:15px}
.m-dl dt{color:var(--muted)}
.m-dl dd{margin:0;white-space:normal}
.m-confid{background:#faf6ec;border-color:#e3d6b8}
.m-confid h3{margin-top:0}
.m-peligro{margin-top:24px}
.m-doc{line-height:1.75}
.m-doc h2{margin-top:32px}
.m-doc ul{padding-left:22px}
.m-doc ul.sub{margin-top:8px}
.m-doc li{margin-bottom:8px}
.m-doc blockquote{margin:28px 0;font-family:var(--display);font-style:italic;font-size:22px;color:var(--ink)}
@media (max-width:600px){.m-dl{grid-template-columns:1fr}.m-dl dt{margin-top:8px}.m-hero-persona .wrap{grid-template-columns:1fr}}
.m-form .m-oculto{width:1px!important;min-height:0!important;padding:0!important;border:0!important}
/* Reuniones y calendario */
.m-prox{display:flex;gap:20px;align-items:center;text-decoration:none;color:var(--ink)}
.m-prox:hover{border-color:var(--gold)}
.m-prox small{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.m-prox strong{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2}
.m-fecha{width:76px;flex:none;text-align:center;background:var(--black);color:var(--white);padding:10px 0}
.m-fecha span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light)}
.m-fecha strong{display:block;font-family:var(--display);font-size:38px;line-height:1;color:var(--white)}
.m-agenda{line-height:1.8}
.m-asist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px}
.m-asist .m-check{padding:8px 0;border-bottom:1px solid var(--line)}
.m-leyenda{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--muted)}
.m-leyenda li{display:flex;align-items:center;gap:8px}
.m-tipo{width:12px;height:12px;display:inline-block}
.m-mes{margin-top:32px!important;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.m-eventos{list-style:none;margin:0;padding:0}
.m-eventos li{display:flex;gap:16px;align-items:center;padding:14px 0 14px 14px;border-bottom:1px solid var(--line);border-left:4px solid var(--line)}
.m-eventos li.pasado{opacity:.55}
.m-dia{width:48px;flex:none;text-align:center}
.m-dia small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.m-dia strong{display:block;font-family:var(--display);font-size:30px;line-height:1}
.m-ev{flex:1;min-width:0}
.m-ev strong{display:block;font-weight:500}
.m-ev small{display:block;color:var(--muted);font-size:13px}
.m-ev-acc{font-size:13px;padding:10px 4px}
.t-cena{border-left-color:var(--gold)!important}.m-tipo.t-cena{background:var(--gold)}
.t-negocios{border-left-color:var(--ink)!important}.m-tipo.t-negocios{background:var(--ink)}
.t-pastor{border-left-color:#5d7184!important}.m-tipo.t-pastor{background:#5d7184}
.t-especial{border-left-color:#cfb27a!important}.m-tipo.t-especial{background:#cfb27a}
.t-otro{border-left-color:#c9c3b8!important}
.m-tablero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.m-tile{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);min-height:150px}
.m-tile:hover{border-color:var(--gold)}
.m-tile small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.m-tile strong{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;flex:1}
.m-tile span{font-size:13px;color:var(--muted)}
/* Enlaces de acceso */
.m-link{display:block;word-break:break-all;font-size:14px!important}
.m-pend{list-style:none;margin:12px 0 0;padding:0}
.m-pend li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.m-pend li>span{min-width:0}
.m-pend small{display:block;color:var(--muted);font-size:13px}
.m-pend .btn{flex:none;padding:10px 16px}
.m-pend form{flex:none;margin:0}
/* Calendario mensual */
.m-cal{border:1px solid var(--line);background:var(--white);padding:18px;margin-bottom:8px}
.m-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.m-cal-top strong{font-family:var(--display);font-weight:500;font-size:24px}
.m-cal-top a{font-size:26px;line-height:1;text-decoration:none;color:var(--ink);padding:6px 14px}
.m-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.m-cal-sem{font-size:11px;letter-spacing:.14em;color:var(--muted);padding:4px 0}
.m-cal-dia{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-height:48px;padding:7px 0 5px;font-size:15px;color:var(--ink);text-decoration:none;border:1px solid transparent}
.m-cal-dia.con{background:var(--paper);font-weight:500}
a.m-cal-dia:hover{border-color:var(--gold)}
.m-cal-dia.hoy{border-color:var(--ink)}
.m-cal-marcas{display:flex;gap:3px}
.m-cal-marcas .m-tipo{width:8px;height:8px;border-radius:50%}
.m-cal-lista{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--line)}
.m-cal-lista li{display:flex;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.m-cal-lista li .m-tipo{flex:none;width:10px;height:10px;border-radius:50%}
.m-cal-lista li:target{background:var(--paper)}
.m-tipo.t-otro{background:#c9c3b8}
.m-cal-caja{max-width:560px}
/* Novedades */
.m-nov{border:1px solid var(--gold);border-left:4px solid var(--gold);background:#fbf7ef;padding:16px 20px;margin-bottom:28px}
.m-nov strong{display:block;font-weight:500;margin-bottom:6px}
.m-nov ul{margin:0;padding-left:20px}
.m-nov li{padding:4px 0}
