@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500&display=swap');
.aam-app{min-height:100vh;background:#fff;color:#545454;font-family:'Jost',sans-serif;font-size:15px}.aam-app *{box-sizing:border-box}.aam-container{width:min(1000px,100%);min-width:360px;margin:0 auto;padding:0 20px}.aam-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:2px solid #00a0c6}.aam-language-bar{height:30px;background:#e6e6e6}.aam-languages{height:30px;display:flex;justify-content:flex-end;align-items:center;gap:8px}.aam-languages button,.aam-logo,.aam-navbar nav button,.aam-option,.aam-two-blocks button,.aam-footer button{border:0;background:none;padding:0;cursor:pointer;font:inherit}.aam-languages img{height:18px;opacity:.55}.aam-languages img.active{opacity:1;outline:1px solid #00a0c6}.aam-navbar{height:88px;display:flex;align-items:center;justify-content:space-between}.aam-logo img{width:245px;display:block}.aam-navbar nav{display:flex;align-items:center;gap:8px}.aam-navbar nav>button,.aam-dropdown>button{padding:25px 17px;color:#696969;font-size:16px;white-space:nowrap}.aam-navbar nav button:hover,.aam-navbar nav button.active{color:#00a0c6}.aam-dropdown{position:relative}.aam-dropdown>button.utility{background:#3ca5eb;color:white;border-radius:4px;padding:8px 16px}.aam-dropdown-menu{position:absolute;right:0;top:48px;width:170px;background:#fff;border:1px solid #ddd;box-shadow:0 5px 15px rgba(0,0,0,.12);padding:6px 0}.aam-dropdown-menu button{display:block;width:100%;text-align:left;padding:9px 14px!important;color:#696969!important}.aam-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:34px;padding-bottom:50px}.aam-option{height:450px;background-position:center;background-size:cover;position:relative;overflow:hidden}.aam-option.opcion1{background-image:url('/andaraomar/img/fondo1_andaromar.jpg')}.aam-option.opcion2{background-image:url('/andaraomar/img/fondo2_caseta.jpg')}.aam-option.opcion3{background-image:url('/andaraomar/img/fondo3_caminos.jpg')}.aam-option.opcion4{background-image:url('/andaraomar/img/fondo4_acceso_dixital.jpg')}.aam-option>span{position:absolute;left:0;right:0;bottom:0;height:75px;background:rgba(220,220,220,.75);display:flex;align-items:center;justify-content:center;padding:10px;transition:height .8s}.aam-option:hover>span{height:100%}.aam-option img{width:100%;max-width:189px}.aam-ribete{text-align:center}.aam-ribete img{max-width:100%}.aam-two-blocks{display:grid;grid-template-columns:1fr 1fr;gap:0;justify-content:center;margin-top:50px;margin-bottom:50px}.aam-gallery-block,.aam-links-block{min-height:200px;background-position:center;background-size:cover!important;display:flex;align-items:center;justify-content:center}.aam-gallery-block{background:url('/andaraomar/img/fondogaleria.jpg')}.aam-links-block{background:url('/andaraomar/img/fondo_descargas.jpg')}.aam-two-blocks button>span{width:130px;height:88px;background:rgba(255,255,255,.22);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .8s}.aam-two-blocks button:hover>span{width:100%;height:100%}.aam-lower-blocks{display:grid;grid-template-columns:1fr 1fr;padding-bottom:55px}.aam-faros,.aam-turismo{min-height:140px;background-position:center;background-size:100% 100%;display:flex;align-items:center;justify-content:center;transition:background-size .5s}.aam-faros{background-image:url('/andaraomar/img/fondo_faros.jpg')}.aam-faros img{width:80%;max-width:227px}.aam-turismo{background-image:url('/andaraomar/img/fondo_carnota_turismo.jpg')}.aam-faros:hover,.aam-turismo:hover{background-size:120% 120%}.aam-footer{background:#e6e6e6;padding:28px 0 12px;color:#999}.aam-logos{display:flex;align-items:center;justify-content:center;gap:23px;flex-wrap:wrap;margin-bottom:24px}.aam-logos img{max-height:55px;max-width:175px;filter:grayscale(1);opacity:.7}.aam-footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:16px}.aam-footer-bottom>div{display:flex;align-items:center;gap:16px}.aam-footer-bottom button{color:#999;font-size:16px}.aam-footer-bottom img{height:30px;opacity:.65}.aam-caseta{min-height:525px;text-align:center;padding-top:52px;padding-bottom:75px}.aam-caseta-logo{width:220px;max-width:80%}.aam-caseta h1{font-weight:400;font-size:32px;margin:35px 0 18px}.aam-bluebar{width:450px;max-width:70%;height:22px}.aam-out-service{color:red;font-size:25px;line-height:1.35;margin:70px auto 0;max-width:850px}.aam-content-page{padding-top:48px;padding-bottom:60px;min-height:520px}.aam-content-page h1{font-size:28px;font-weight:400}.aam-content-page h1 img{vertical-align:middle}.aam-hero-content{width:100%;max-height:360px;object-fit:cover;margin:15px 0 25px}.aam-text-content{font-size:17px;line-height:1.65}.aam-route-card{display:grid;grid-template-columns:280px 1fr;gap:25px;margin-top:30px}.aam-route-card img{width:100%}.aam-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.aam-gallery-grid img{width:100%;height:210px;object-fit:cover}.aam-link-list{display:flex;flex-direction:column;gap:16px;margin-top:35px}.aam-link-list a{color:#00a0c6;font-size:18px}
@media(max-width:880px){.aam-navbar{height:auto;min-height:88px;flex-direction:column;align-items:flex-start;padding-top:12px;padding-bottom:12px}.aam-navbar nav{width:100%;flex-wrap:wrap}.aam-navbar nav>button,.aam-dropdown>button{padding:10px}.aam-options{grid-template-columns:repeat(2,1fr)}.aam-option{height:360px}.aam-header{position:relative}}
@media(max-width:650px){.aam-container{min-width:0}.aam-logo img{width:210px}.aam-options{gap:8px}.aam-option{height:300px}.aam-two-blocks,.aam-lower-blocks{grid-template-columns:1fr}.aam-footer-bottom{flex-direction:column;gap:18px;text-align:center}.aam-footer-bottom>div{flex-wrap:wrap;justify-content:center}.aam-gallery-grid{grid-template-columns:1fr 1fr}.aam-route-card{grid-template-columns:1fr}.aam-out-service{font-size:20px;margin-top:50px}}


/* Reserva pública de acceso */
.aam-reserva{margin:48px auto 0;max-width:960px;text-align:left;color:#545454}
.aam-reserva>h2{text-align:center;color:#00a0c6;font-size:24px;font-weight:500;margin:0 0 10px}
.aam-reserva-ayuda{text-align:center;font-size:18px;margin:24px 0 14px}
.aam-calendario-publico{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px}
.aam-dia-publico{min-height:92px;border-radius:7px;padding:9px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;font:inherit}
.aam-dia-publico span{text-transform:capitalize;font-size:12px}
.aam-dia-publico strong{font-size:24px}
.aam-dia-publico small{font-size:11px}
.aam-dia-publico.disponible{background:#e1f3e8;color:#17653a;border:1px solid #b7dfc6;cursor:pointer}
.aam-dia-publico.cerrado{background:#f1f1f1;color:#929292;border:1px solid #ddd}
.aam-dia-publico.completo{background:#fff1cf;color:#8a5d08;border:1px solid #e5c26b}
.aam-dia-publico.seleccionado{outline:3px solid #00a0c6;outline-offset:1px}
.aam-horas-publicas{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.aam-horas-publicas button{min-width:112px;border:1px solid #00a0c6;background:#fff;color:#006e8a;border-radius:6px;padding:10px 12px;cursor:pointer;font:inherit}
.aam-horas-publicas button small{display:block;font-size:10px;margin-top:3px}
.aam-horas-publicas button.seleccionado{background:#00a0c6;color:#fff}
.aam-horas-publicas button:disabled{border-color:#ccc;color:#999;background:#eee;cursor:not-allowed}
.aam-form-reserva{margin:30px auto 0;max-width:760px;border:1px solid #ddd;border-radius:8px;padding:24px;background:#fafafa}
.aam-form-reserva h3{text-align:center;font-size:20px;font-weight:500;margin:0 0 20px}
.aam-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.aam-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:13px}
.aam-form-grid label.ancho{grid-column:1/-1}
.aam-form-grid input,.aam-form-grid textarea{border:1px solid #bbb;border-radius:5px;padding:10px;font:inherit;background:#fff}
.aam-rgpd{display:flex;align-items:center;gap:8px;margin:18px 0;font-size:13px}
.aam-enviar-reserva{display:block;margin-left:auto;border:0;background:#00a0c6;color:#fff;border-radius:6px;padding:12px 24px;font:inherit;cursor:pointer}
.aam-enviar-reserva:disabled{opacity:.6;cursor:wait}
.aam-error-publico{background:#fbe7e7;color:#9a2b2b;padding:10px 12px;border-radius:5px;margin-bottom:12px}
.aam-reserva-confirmacion{margin:55px auto 0;max-width:650px;border:1px solid #b7dfc6;background:#e1f3e8;color:#17653a;border-radius:8px;padding:28px;text-align:center}
.aam-reserva-confirmacion h2{margin-top:0}
.aam-codigo-qr{display:inline-block;background:#fff;border:2px dashed #17653a;border-radius:6px;padding:12px 18px;font-family:monospace;font-size:17px;font-weight:bold;margin:8px 0}
@media(max-width:760px){.aam-calendario-publico{grid-template-columns:repeat(4,1fr)}.aam-form-grid{grid-template-columns:1fr}.aam-form-grid label.ancho{grid-column:auto}}
@media(max-width:480px){.aam-calendario-publico{grid-template-columns:repeat(3,1fr)}.aam-dia-publico{min-height:82px}}


.aam-aforo-publico{
  margin:8px auto 22px;
  text-align:center;
  color:#545454;
  font-size:16px;
}
.aam-dia-hueco{
  min-height:92px;
}
.aam-dia-publico span{
  text-transform:capitalize;
  font-size:12px;
  text-align:center;
}


/* Ajustes de reservas: franjas ocupadas y uso móvil */
.aam-horas-publicas button {
  min-height: 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.aam-horas-publicas button small {
  display: block;
  font-size: 12px;
  line-height: 1;
}

.aam-horas-publicas button.ocupado,
.aam-horas-publicas button.ocupado:disabled {
  background: #fde8e8;
  border-color: #e6a8a8;
  color: #9f2f2f;
  opacity: 1;
  cursor: not-allowed;
}

.aam-form-grid select {
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid #c9d0d6;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  font: inherit;
}

@media (max-width: 700px) {
  .aam-horas-publicas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aam-horas-publicas button {
    min-height: 68px;
    font-size: 18px;
  }

  .aam-form-grid select {
    min-height: 56px;
    font-size: 18px;
  }
}


/* Política de privacidad en modal */
.aam-rgpd { display:flex; align-items:flex-start; gap:10px; }
.aam-rgpd input { flex:0 0 auto; margin-top:3px; }
.aam-enlace-privacidad { display:inline; padding:0; border:0; background:transparent; color:#008fb5; font:inherit; text-decoration:underline; cursor:pointer; }
.aam-modal-fondo { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.5); }
.aam-modal-privacidad { width:min(760px,100%); max-height:min(86vh,820px); display:flex; flex-direction:column; overflow:hidden; border-radius:12px; background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.aam-modal-cabecera { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid #e3e7ea; }
.aam-modal-cabecera h2 { margin:0; font-size:22px; }
.aam-modal-cabecera button { width:42px; height:42px; border:0; border-radius:50%; background:#f1f3f5; font-size:28px; line-height:1; cursor:pointer; }
.aam-modal-contenido { overflow-y:auto; padding:20px 22px; color:#35424e; line-height:1.55; }
.aam-modal-contenido p { margin:0 0 12px; }
.aam-modal-separador { height:8px; }
.aam-modal-pie { padding:16px 22px; border-top:1px solid #e3e7ea; text-align:right; }
.aam-modal-pie button { min-width:120px; min-height:48px; border:0; border-radius:8px; background:#06a3c7; color:#fff; font-size:16px; cursor:pointer; }
@media (max-width:700px) {
  .aam-modal-fondo { align-items:flex-end; padding:0; }
  .aam-modal-privacidad { width:100%; max-height:92vh; border-radius:16px 16px 0 0; }
  .aam-modal-cabecera,.aam-modal-contenido,.aam-modal-pie { padding-left:18px; padding-right:18px; }
  .aam-modal-pie button { width:100%; min-height:54px; font-size:18px; }
}

/* Adaptación estática Next + acceso inmediato */
[hidden]{display:none!important}.aam-page{display:none}.aam-page.active{display:block}.aam-dropdown-menu[hidden]{display:none}.aam-navbar a,.aam-navbar button{text-decoration:none}.aam-caseta .status{max-width:760px;margin:28px auto 0;padding:18px;border-radius:8px;font-size:18px}.status.available{background:#e1f3e8;color:#17653a;border:1px solid #b7dfc6}.status.unavailable{background:#fff1cf;color:#8a5d08;border:1px solid #e5c26b}.status.error{background:#fbe7e7;color:#9a2b2b}.status.loading{background:#f1f1f1;color:#666}.today-hours{margin-top:8px;font-size:14px}.aam-access-flow{max-width:760px;margin:28px auto 0;text-align:left}.aam-access-form{border:1px solid #ddd;border-radius:8px;padding:24px;background:#fafafa}.aam-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.aam-access-grid label{display:flex;flex-direction:column;gap:5px;font-size:13px}.aam-access-grid input,.aam-access-grid select{border:1px solid #bbb;border-radius:5px;padding:10px;font:inherit;background:#fff}.aam-checks{display:grid;gap:10px;margin:18px 0}.aam-checks label{display:flex;align-items:flex-start;gap:9px;font-size:13px}.aam-language-choice{display:flex;align-items:center;justify-content:center;gap:18px;border:0;margin:20px 0}.aam-language-choice legend{text-align:center;margin-bottom:10px}.aam-language-choice label{display:flex;align-items:center;gap:5px}.aam-language-choice img{height:24px}.aam-primary{display:block;margin:18px auto 0;border:0;background:#00a0c6;color:#fff;border-radius:6px;padding:12px 24px;font:inherit;cursor:pointer}.aam-secondary{display:block;margin:12px auto 0;border:1px solid #00a0c6;background:#fff;color:#006e8a;border-radius:6px;padding:10px 18px;font:inherit;cursor:pointer}.aam-visit-progress{text-align:center;padding:24px;border:1px solid #ddd;border-radius:8px}.aam-visit-progress img{max-width:110px}.aam-site-modal{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px}.aam-site-modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:12px;padding:28px;text-align:center}.aam-site-modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:28px;cursor:pointer}.aam-content-page p{max-width:850px}.aam-utility-trigger{position:relative}.aam-utility-trigger .aam-dropdown-menu{z-index:20}.aam-mobile-menu{display:none}
@media(max-width:760px){.aam-access-grid{grid-template-columns:1fr}.aam-navbar{height:auto;min-height:88px;align-items:flex-start;padding-top:15px;padding-bottom:15px}.aam-navbar nav{flex-wrap:wrap;justify-content:flex-end}.aam-navbar nav>button,.aam-dropdown>button{padding:9px 10px}.aam-options{grid-template-columns:1fr 1fr}.aam-option{height:270px}.aam-caseta{padding-top:35px}.aam-language-choice{flex-wrap:wrap}}

/* Paridade funcional: rutas, descargas e galería completa */
.aam-downloads-main{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 28px}.aam-downloads-main a,.aam-route-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #00a0c6;border-radius:6px;padding:9px 12px;color:#006e8a;text-decoration:none;background:#fff}.aam-downloads-main a:hover,.aam-route-links a:hover{background:#00a0c6;color:#fff}.aam-routes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.aam-route-item{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff}.aam-route-item>img{display:block;width:100%;height:170px;object-fit:cover}.aam-route-item>div{padding:14px}.aam-route-item h3{margin:0 0 12px}.aam-route-links{display:flex;flex-wrap:wrap;gap:7px}.aam-route-links a{font-size:12px;padding:6px 8px}.aam-gallery-grid{grid-template-columns:repeat(4,1fr)}.aam-site-modal-card{max-height:86vh;overflow:auto}.aam-site-modal-card h2{margin-top:0}.aam-site-modal-card p{text-align:left;line-height:1.55}@media(max-width:800px){.aam-routes-grid{grid-template-columns:repeat(2,1fr)}.aam-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.aam-routes-grid{grid-template-columns:1fr}.aam-downloads-main{flex-direction:column}.aam-downloads-main a{width:100%}}

/* Corrección portada Galería/Enlaces y modales extensos */
.aam-two-blocks{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:200px!important}
.aam-two-blocks>.aam-gallery-block,.aam-two-blocks>.aam-links-block{display:flex!important;min-height:200px!important;width:100%!important;border:0!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
.aam-two-blocks>.aam-gallery-block{background-image:url('/andaraomar/img/fondogaleria.jpg')!important}
.aam-two-blocks>.aam-links-block{background-image:url('/andaraomar/img/fondo_descargas.jpg')!important}
.aam-site-modal-card{max-width:1000px!important;max-height:90vh!important;overflow-y:auto!important}
.aam-site-modal-card #siteModalText{text-align:left!important;line-height:1.45!important}
@media(max-width:700px){.aam-two-blocks{grid-template-columns:1fr!important}}

/* Ajustes de paridad funcional */
.aam-site-modal-card{width:min(900px,calc(100vw - 40px))!important;max-width:900px!important;text-align:left!important}
.aam-site-modal-card #siteModalText{padding-right:8px}
#page-quensomos .aam-text-content{max-width:1100px}
#page-quensomos .aam-text-content p{max-width:none}

/* Ajuste final: modal legal ancho y legible */
.aam-site-modal-card{width:min(1120px,calc(100vw - 32px))!important;max-width:1120px!important;padding:32px 38px!important}
@media(max-width:700px){.aam-site-modal-card{padding:24px 18px!important}}
