/* Atlas de Ibiza — ajustes de móvil de las secciones que no tienen hoja propia: índice de operadores, mapa y páginas legales.
   Solo tokens de site.css (modo claro/oscuro incluido). Se carga con MOVIL_HEAD (src/templates/movil.mjs). */

/* ——— índice de operadores: 346 fichas → filas compactas en móvil + índice A–Z ——— */
.op-az{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 1.4rem}
.op-az a{display:grid;place-items:center;min-inline-size:44px;min-block-size:44px;padding:0 .4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font:600 .9rem var(--ff-mono);text-decoration:none;color:var(--ink)}
.op-az a:hover{border-color:var(--ink)}
@media (max-width:640px){
  .op-az{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;margin-inline:calc(-1*clamp(16px,4vw,44px));padding-inline:clamp(16px,4vw,44px);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-inline-end:2.5rem}
  .op-az a{flex:none}
  .op-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-block-end:2rem;border-block-start:1px solid var(--line)}
  .op-grid .op-card{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"ini name cnt" "ini town cnt";align-items:center;column-gap:.9rem;row-gap:.05rem;min-block-size:68px;padding:.7rem .15rem;border:0;border-block-end:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
  .op-grid .op-card:hover{transform:none;box-shadow:none;background:var(--accent-soft)}
  .op-grid .op-ini{grid-area:ini;margin:0}
  .op-grid .op-card strong{grid-area:name;font-size:1.02rem;overflow-wrap:anywhere}
  .op-grid .op-card .muted{grid-area:town;font-size:.85rem}
  .op-grid .op-card em{grid-area:cnt;white-space:nowrap;font-size:.76rem}
}

/* ——— mapa en móvil ——— */
@media (max-width:899px){
  /* con la hoja abierta (lista o ficha) el mapa solo asoma ~120 px: sus botones quedarían tapados por la hoja y por «Ver mapa» */
  .amap:has(.amap-panel.open) .maplibregl-ctrl-top-right{display:none}
  .amap .maplibregl-ctrl-group button{inline-size:44px;block-size:44px}
  .amap-sheet-toggle{min-block-size:44px}
  /* categorías, interruptores y zona: dos filas de una línea con objetivos de 44 px (antes tres filas de 22–34 px que se comían la hoja) */
  .amap-head{gap:.4rem}
  .amap-search{min-block-size:46px}
  .amap-cats,.amap-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;margin-inline:-.9rem;padding-inline:.9rem;padding-block-end:0}
  .amap-cats,.amap-filters{padding-inline-end:2.2rem;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .amap-cats>*,.amap-filters>*{flex:none}
  .amap-cat{min-block-size:44px;padding-inline:.9rem;font-size:.86rem}
  .amap-tog{min-block-size:44px;padding:0 .9rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:500}
  .amap-tog:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:600}
  .amap-tog input{inline-size:18px;block-size:18px;margin:0}
  .amap-filters select{min-block-size:44px;padding:.3rem 2rem .3rem .9rem;border-radius:999px;font-size:.86rem}
  .amap-filters .linklike{min-block-size:44px;padding-inline:.6rem}
  .amap-count{margin:0}
}

/* ——— páginas legales: sin partir las palabras españolas/inglesas a cada línea (en alemán sí, por las palabras largas) ——— */
.legal-body:lang(es),.legal-body:lang(en),.prose:lang(es),.prose:lang(en){hyphens:manual}
main h1:lang(es),main h2:lang(es),main h3:lang(es),main h1:lang(en),main h2:lang(en),main h3:lang(en){hyphens:manual}
