/* ===== Aviso "Sitio web en construcción" (inc/aviso-construccion.php) ===== */

/* z-index bajo #acc-btn (9000) y .acc-menu (9001): el botón de accesibilidad
   queda visible y usable con el aviso abierto. */
.aviso-obra{
  position:fixed; inset:0; z-index:8999;
  display:flex; align-items:center; justify-content:center;
  padding:16px;
}
.aviso-obra[hidden]{ display:none; }

.aviso-obra-overlay{
  position:absolute; inset:0;
  background:rgba(7,24,48,.62);
  animation:aviso-obra-fade .25s ease-out;
}

.aviso-obra-panel{
  position:relative;
  box-sizing:border-box;
  width:100%; max-width:440px;
  max-height:calc(100vh - 32px); overflow-y:auto;
  padding:30px 28px 26px;
  border-top:5px solid var(--gold,#f0c40a);
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 60px rgba(7,24,48,.35);
  text-align:center;
  font-family:"Open Sans",sans-serif;
  color:var(--tx,#1a1a2e);
  animation:aviso-obra-in .3s cubic-bezier(.22,1,.36,1);
}
.aviso-obra-panel:focus{ outline:none; }

.aviso-obra-x{
  position:absolute; top:12px; right:12px;
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:none; background:transparent; color:var(--gray,#6b7a99);
  cursor:pointer;
  transition:background .2s, color .2s;
}
.aviso-obra-x:hover{ background:var(--light,#f0f4ff); color:var(--navy,#0d2b5e); }

.aviso-obra-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; margin-bottom:14px;
  border-radius:50%;
  background:var(--navy,#0d2b5e); color:var(--gold,#f0c40a);
}

.aviso-obra-title{
  margin:0 0 10px;
  font-family:Montserrat,sans-serif; font-weight:800;
  font-size:1.3rem; line-height:1.25;
  color:var(--navy,#0d2b5e);
}

.aviso-obra-text{
  margin:0 0 22px;
  font-size:.95rem; line-height:1.6;
  color:#3d4a63;
}
.aviso-obra-text a{
  color:var(--navy,#0d2b5e); font-weight:700;
  white-space:nowrap;
  text-decoration-color:var(--gold,#f0c40a); text-underline-offset:3px; text-decoration-thickness:2px;
}

.aviso-obra-actions{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
}
.aviso-obra-btn{
  flex:1 1 160px;
  min-height:44px; padding:10px 18px;
  border-radius:10px;
  font-family:Montserrat,sans-serif; font-weight:700; font-size:.85rem;
  cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.aviso-obra-btn--primary{
  border:2px solid var(--navy,#0d2b5e);
  background:var(--navy,#0d2b5e); color:#fff;
}
.aviso-obra-btn--primary:hover{ background:var(--navy2,#1a3f7a); border-color:var(--navy2,#1a3f7a); }
.aviso-obra-btn--ghost{
  border:2px solid var(--lgray,#dde4f0);
  background:#fff; color:var(--navy,#0d2b5e);
}
.aviso-obra-btn--ghost:hover{ border-color:var(--navy,#0d2b5e); }

.aviso-obra-x:focus-visible,
.aviso-obra-btn:focus-visible,
.aviso-obra-text a:focus-visible{
  outline:3px solid var(--gold,#f0c40a); outline-offset:2px;
}

@keyframes aviso-obra-fade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes aviso-obra-in{
  from{ opacity:0; transform:translateY(12px) scale(.97); }
  to{ opacity:1; transform:none; }
}

@media (max-width:420px){
  .aviso-obra-panel{ padding:28px 20px 22px; }
  .aviso-obra-title{ font-size:1.15rem; }
}

@media (prefers-reduced-motion:reduce){
  .aviso-obra-overlay,
  .aviso-obra-panel{ animation:none; }
  .aviso-obra-x,
  .aviso-obra-btn{ transition:none; }
}
