/* =========================================================
   MUGUI — Banner y preferencias de cookies (esquinas rectas, negro y amarillo)
   ========================================================= */
.mgc-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  display:flex; align-items:center; justify-content:space-between; gap:1.4rem; flex-wrap:wrap;
  padding:1.1rem clamp(1rem,3vw,2.2rem);
  background:#000; color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
  font-family:var(--f-body,'Montserrat',sans-serif);
  transform:translateY(100%); transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.mgc-banner.is-open{ transform:none; }
.mgc-text{ flex:1 1 420px; min-width:0; }
.mgc-text p{ margin:0; font-size:.86rem; line-height:1.55; color:rgba(255,255,255,.86); }
.mgc-text strong{ color:#fff; font-weight:600; }
.mgc-text a, .mgc-more a{ color:#ffc200; text-decoration:underline; text-underline-offset:2px; }
.mgc-actions{ display:flex; gap:.6rem; flex-wrap:wrap; }

.mgc-btn{
  appearance:none; cursor:pointer; border-radius:0 !important;
  font:600 .82rem/1 var(--f-body,'Montserrat',sans-serif); letter-spacing:.01em;
  padding:.8rem 1.15rem; border:1px solid transparent;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.mgc-btn-main{ background:#ffc200; border-color:#ffc200; color:#000; }
.mgc-btn-main:hover{ background:#ffd23d; border-color:#ffd23d; }
.mgc-btn-light{ background:#fff; border-color:#fff; color:#000; }
.mgc-btn-light:hover{ background:#e9e9e9; border-color:#e9e9e9; }
.mgc-btn-line{ background:transparent; border-color:rgba(255,255,255,.4); color:#fff; }
.mgc-btn-line:hover{ border-color:#fff; }
.mgc-btn:focus-visible, .mgc-x:focus-visible{ outline:2px solid #ffc200; outline-offset:2px; }

/* Ventana de preferencias */
.mgc-overlay{
  position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:1.2rem;
  background:rgba(0,0,0,.66); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s linear .3s;
}
.mgc-overlay.is-open{ opacity:1; visibility:visible; transition:opacity .3s ease; }
.mgc-modal{
  position:relative; width:min(640px,100%); max-height:calc(100vh - 2.4rem); overflow-y:auto;
  background:#fff; color:#000; border-radius:0;
  padding:clamp(1.5rem,4vw,2.3rem); box-shadow:0 30px 80px rgba(0,0,0,.5);
  font-family:var(--f-body,'Montserrat',sans-serif);
  transform:translateY(14px); transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.mgc-overlay.is-open .mgc-modal{ transform:none; }
.mgc-modal:focus{ outline:none; }
.mgc-modal h2{ font-family:var(--f-display,'Playfair Display',Georgia,serif); font-size:1.6rem; font-weight:600; margin:0 2rem .6rem 0; letter-spacing:-.01em; }
.mgc-lead{ margin:0 0 1.2rem; font-size:.9rem; line-height:1.6; color:rgba(0,0,0,.68); }
.mgc-x{
  position:absolute; top:.8rem; right:.8rem; width:36px; height:36px; padding:0; border-radius:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#000; border:1px solid rgba(0,0,0,.14);
}
.mgc-x:hover{ background:#ffc200; }
.mgc-x svg{ width:16px; height:16px; }
.mgc-cat{ border:1px solid rgba(0,0,0,.12); padding:1rem 1.1rem; margin-bottom:.8rem; }
.mgc-cat-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.4rem; }
.mgc-cat-head strong{ font-size:.95rem; font-weight:600; }
.mgc-cat p{ margin:0; font-size:.82rem; line-height:1.55; color:rgba(0,0,0,.66); }
.mgc-always{ font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:#000; color:#ffc200; padding:.25rem .55rem; }
.mgc-switch{ position:relative; display:inline-block; width:44px; height:24px; flex:none; cursor:pointer; }
.mgc-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; z-index:1; }
.mgc-track{ position:absolute; inset:0; background:#c9c9c9; transition:background .2s ease; }
.mgc-track::before{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; background:#fff; transition:transform .2s ease; }
.mgc-switch input:checked + .mgc-track{ background:#000; }
.mgc-switch input:checked + .mgc-track::before{ transform:translateX(20px); background:#ffc200; }
.mgc-switch input:focus-visible + .mgc-track{ outline:2px solid #ffc200; outline-offset:2px; }
.mgc-modal-actions{ display:flex; gap:.6rem; flex-wrap:nowrap; margin-top:1.2rem; }
.mgc-modal-actions .mgc-btn{ flex:1 1 0; white-space:nowrap; padding:.85rem .5rem; font-size:.8rem; }
.mgc-modal-actions .mgc-btn-line{ border-color:rgba(0,0,0,.35); color:#000; }
.mgc-modal-actions .mgc-btn-line:hover{ border-color:#000; }
.mgc-modal-actions .mgc-btn-light{ background:#000; border-color:#000; color:#fff; }
.mgc-modal-actions .mgc-btn-light:hover{ background:#222; border-color:#222; }
.mgc-more{ margin:1rem 0 0; font-size:.76rem; color:rgba(0,0,0,.55); }
.mgc-more a{ color:#000; }
body.mgc-lock{ overflow:hidden; }

/* El botón del pie de página que reabre las preferencias se ve como un enlace más */
button[data-cookie-settings]{
  background:none; border:0; padding:0; margin:0; cursor:pointer; text-align:left;
  font:inherit; color:inherit; letter-spacing:inherit;
}
@media (max-width:620px){
  .mgc-actions{ width:100%; }
  .mgc-actions .mgc-btn{ flex:1 1 auto; }
  .mgc-modal-actions{ flex-wrap:wrap; }
  .mgc-modal-actions .mgc-btn{ flex:1 1 100%; }
}
@media (prefers-reduced-motion:reduce){ .mgc-banner, .mgc-overlay, .mgc-modal{ transition:none !important; } }
