/* MB+F · capa extra: alineación estable, pie de página y banner de cookies */

/* 1. La cabecera no se mueve entre páginas: reservar siempre el espacio de la barra de desplazamiento */
@media (min-width:841px){ html{overflow-y:scroll} }

/* 2. Personnel: Architects in Training debajo de los socios */
.pw .cols[data-stack]{grid-template-columns:1fr!important}
.pw .cols[data-stack] .col+.col{margin-top:40px}

/* 3. Pie de página con aire */
.mbf-ft{max-width:800px;margin:96px auto 0;padding:22px 0 48px;border-top:1px solid #111;font:11px/1.7 Arial,Helvetica,sans-serif;color:#555;display:grid;grid-template-columns:1fr auto;gap:10px 32px;align-items:start;box-sizing:border-box}
.mbf-ft .wm{font-family:Copperplate,"Copperplate Gothic Light","Marcellus SC",serif;font-size:13px;letter-spacing:1.5px;color:#111}
.mbf-ft .wm b{font-weight:700}
.mbf-ft p{margin:0}
.mbf-ft a{color:#111;text-decoration:none}
.mbf-ft a:hover{color:#9a5a42}
.mbf-ft .lg{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:flex-end;letter-spacing:1.5px;text-transform:uppercase;font-size:10px}
.mbf-ft .lg button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:#111;background:none;border:0;padding:0;cursor:pointer}
.mbf-ft .lg button:hover{color:#9a5a42}
.mbf-ft .cp{grid-column:1/-1;color:#777;font-size:10px;letter-spacing:.5px;margin-top:6px}
@media (max-width:840px){
  .mbf-ft{margin:64px 16px 0;padding:20px 0 40px;grid-template-columns:1fr;font-size:13px}
  .mbf-ft .lg{justify-content:flex-start;font-size:11px;gap:10px 22px}
  .mbf-ft .lg a,.mbf-ft .lg button{padding:6px 0}
}

/* 4. Banner de cookies */
.mbf-ck{position:fixed;left:24px;bottom:24px;z-index:120;width:min(520px,calc(100vw - 32px));background:#fff;border:1px solid #111;box-shadow:0 18px 40px -16px rgba(20,18,12,.35);font:13px/1.55 Arial,Helvetica,sans-serif;color:#111;padding:20px 22px 18px;box-sizing:border-box}
.mbf-ck h2{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:400;margin:0 0 8px;color:#7A6E24}
.mbf-ck p{margin:0 0 14px}
.mbf-ck a{color:#111}
.mbf-ck .bt{display:flex;flex-wrap:wrap;gap:8px}
.mbf-ck button{font:inherit;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:11px 16px;min-height:44px;cursor:pointer;border:1px solid #111;background:#fff;color:#111}
.mbf-ck button.pri{background:#111;color:#fff}
.mbf-ck button.txt{border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding-left:6px;padding-right:6px}
.mbf-ck button:hover{border-color:#9a5a42}
.mbf-ck button.txt:hover{color:#9a5a42}
.mbf-ck button:focus-visible,.mbf-ft a:focus-visible,.mbf-ft button:focus-visible,.mbf-ck input:focus-visible{outline:2px solid #7A6E24;outline-offset:2px}
.mbf-ck fieldset{border:0;margin:0 0 14px;padding:0;border-top:1px solid #e3e3e3}
.mbf-ck label{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:12px 0;border-bottom:1px solid #e3e3e3;cursor:pointer}
.mbf-ck label b{font-weight:700;font-size:12px}
.mbf-ck label span{grid-column:2;color:#555;font-size:12px}
.mbf-ck input{width:18px;height:18px;margin:1px 0 0;accent-color:#111}
@media (max-width:560px){.mbf-ck{left:16px;bottom:16px;padding:18px 16px 14px}.mbf-ck .bt button{flex:1 1 auto}}
@media print{.mbf-ck{display:none}}

/* 5. Páginas legales */
.pw .legal{max-width:640px;margin-top:10px}
.pw .legal h2{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:400;margin:34px 0 10px;padding-top:14px;border-top:1px solid #111}
.pw .legal h3{font-size:12px;margin:18px 0 6px}
.pw .legal p,.pw .legal li{font-size:12px;line-height:1.7;color:#222}
.pw .legal p{margin:0 0 10px}
.pw .legal ul{margin:0 0 12px;padding-left:18px}
.pw .legal table{width:100%;border-collapse:collapse;font-size:11px;margin:6px 0 14px}
.pw .legal th,.pw .legal td{text-align:left;padding:8px 8px 8px 0;border-bottom:1px solid #e3e3e3;vertical-align:top}
.pw .legal th{font-weight:400;letter-spacing:1.5px;text-transform:uppercase;font-size:10px;color:#666}
.pw .upd{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#666;margin:4px 0 0}
.pw [data-lang][hidden]{display:none}
@media (max-width:840px){.pw .legal p,.pw .legal li{font-size:15px}.pw .legal table{font-size:13px}}
.pw #lang{margin-bottom:6px}
.pw #lang a{cursor:pointer}
.pw #lang a.on{color:#7A6E24;border-bottom:1px solid #7A6E24}
.pw .legal a{color:#111;text-decoration:underline;text-underline-offset:2px}
.pw .legal a:hover{color:#9a5a42}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
