/* mejorando.es -- Verzeichnis, Fassung 2 (NW-ZDS 13.11.2026, #1674).
   Anlass Manuel 13.11.: „bissl minimalistische Infos“ und „Sieht zu gleich aus“.
   Liegt auf estilos.css + directorio.css. Drei Kartenstufen je nach Datenlage
   (gross: Logo + Text der eigenen Web, mittel: Monogramm + Habilitaciones,
   kompakt: nur Register), Merkmalzeile je Firma verschieden, Adresse sichtbar. */

:root{
  /* Gewerksfarben fuer Monogramme. Gedeckt, damit sie neben dem Markengelb
     nicht laut werden; jede traegt weissen Text mit mindestens 4.5:1. */
  --g-electricistas:#2b3a42; --g-climatizacion:#2f6670; --g-gas:#80521b;
  --g-incendios:#8a2f2a; --g-fontaneros:#2d5a86; --g-otros:#5b5750;
}

/* --- Kartenstufen ------------------------------------------------- */
.empresas2{display:grid; gap:14px; list-style:none; margin:0; padding:0}
.ficha{background:var(--flaeche); border:1px solid var(--linie); border-radius:var(--radius);
  display:grid; grid-template-columns:auto 1fr auto; gap:6px 20px; padding:20px 22px; align-items:start}
.ficha:hover{border-color:#cfcac0}
.ficha h3{font-size:1.08rem; line-height:1.25}
.ficha h3 a{text-decoration:none}
.ficha h3 a:hover{text-decoration:underline}
.ficha__cuerpo{min-width:0}
.ficha__acciones{display:flex; flex-direction:column; gap:8px; align-items:stretch; min-width:158px}
.ficha__acciones .boton{padding:9px 16px; font-size:.9rem}

/* Bildmarke: Logo, Monogramm oder Sechseck */
.ficha__marca{width:132px; height:76px; border:1px solid var(--linie); border-radius:var(--radius);
  background:#fff; display:grid; place-items:center; padding:8px; overflow:hidden}
.ficha__marca img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain}
.ficha__marca--oscuro{background:var(--zweit); border-color:var(--zweit)}
.monograma{width:76px; height:76px; margin-inline:28px; border-radius:var(--radius); display:grid; place-items:center;
  color:#fff; font-weight:800; font-size:1.3rem; letter-spacing:.02em; background:var(--g-otros);
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.18)}
.monograma[data-g="electricistas"]{background:var(--g-electricistas)}
.monograma[data-g="climatizacion"]{background:var(--g-climatizacion)}
.monograma[data-g="instaladores-de-gas"]{background:var(--g-gas)}
.monograma[data-g="proteccion-contra-incendios"]{background:var(--g-incendios)}
.monograma[data-g="fontaneros"]{background:var(--g-fontaneros)}

.direccion{display:flex; gap:6px; align-items:flex-start; color:var(--leise); font-size:.88rem; margin-top:5px}
.direccion svg{width:15px; height:15px; flex:none; margin-top:3px}
.cita{margin-top:10px; font-size:.93rem; color:var(--text); max-width:70ch;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.cita::before{content:"«"; color:var(--leise)} .cita::after{content:"»"; color:var(--leise)}
.cita-origen{font-size:.78rem; color:var(--leise); margin-top:3px}

/* Merkmalzeile: wechselt je Firma, deshalb Symbol + kurzer Text */
.rasgos{display:flex; flex-wrap:wrap; gap:6px 16px; margin:11px 0 0; padding:0; list-style:none}
.rasgos li{display:flex; gap:6px; align-items:center; font-size:.85rem; font-weight:600; color:var(--tief)}
.rasgos svg{width:16px; height:16px; flex:none; color:var(--zweit)}
.rasgos li.oficial-r svg{color:#b8920a}

.servicios-chips{display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 0; padding:0; list-style:none}
.servicios-chips li{font-size:.8rem; padding:4px 11px; border-radius:999px; background:var(--grund);
  border:1px solid var(--linie)}
.servicios-chips li.mas{background:transparent; color:var(--leise)}
.servicios-chips--fuerte li{background:#fff8d6; border-color:#efd77a; color:var(--tief); font-weight:600}

/* Stufe gross: gelbe Kante links, damit die Datenlage auf einen Blick lesbar ist */
.ficha--grande{border-left:3px solid var(--akzent); padding-left:20px}
/* Stufe kompakt: eine Zeile, kein Bild */
.ficha--compacta{grid-template-columns:auto 1fr auto; padding:13px 18px; align-items:center; background:transparent}
.ficha--compacta h3{font-size:.98rem}
.ficha--compacta .direccion{margin-top:2px; font-size:.84rem}
.ficha--compacta .ficha__acciones{flex-direction:row; min-width:0}
.ficha--compacta .hex{--g:26px}
.registro-n{font-size:.8rem; color:var(--zweit); font-weight:700; white-space:nowrap}

@media(max-width:700px){
  .ficha{grid-template-columns:auto 1fr; padding:16px}
  .ficha__acciones{grid-column:1 / -1; flex-direction:row; min-width:0; margin-top:10px}
  .ficha__acciones .boton{flex:1}
  .ficha__marca{width:72px; height:56px}
  .monograma{width:52px; height:52px; font-size:1.05rem; margin-inline:0}
  .ficha--compacta .ficha__acciones{grid-column:auto; margin-top:0}
  .ficha--compacta .ficha__acciones .boton{flex:none}
}

/* Ueberschrift der Liste: kurze Zusammenfassung der Datenlage */
.resumen{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:20px; font-size:.9rem; color:var(--leise)}
.resumen b{color:var(--tief)}

/* --- Profil, Fassung 2 ------------------------------------------- */
.cabeza-ficha{display:grid; grid-template-columns:auto 1fr; gap:22px 28px; align-items:center}
.cabeza-ficha .ficha__marca{width:150px; height:110px; padding:14px}
@media(max-width:700px){.cabeza-ficha{grid-template-columns:1fr} .cabeza-ficha .ficha__marca{width:120px; height:88px}}
.sello-registro{display:inline-flex; align-items:center; gap:12px; margin-top:16px; padding:10px 16px 10px 10px;
  background:var(--grund); border:1px solid var(--linie); border-radius:var(--radius)}
.sello-registro .txt b{display:block; font-size:.92rem; color:var(--tief)}
.sello-registro .txt small{display:block; font-size:.78rem; color:var(--leise)}
.cita--grande{-webkit-line-clamp:unset; font-size:1.04rem; margin-top:22px}

.servicios-hab{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px}
.servicio-hab{border:1px solid var(--linie); border-radius:var(--radius); padding:16px 16px 15px; background:var(--grund)}
.servicio-hab b{display:flex; gap:9px; align-items:center; color:var(--tief); font-size:.95rem; line-height:1.3}
.servicio-hab b .hex{--g:20px}
.servicio-hab p{color:var(--leise); font-size:.87rem; margin-top:7px; line-height:1.5}

.mapa{border:1px solid var(--linie); border-radius:var(--radius); overflow:hidden; background:#e9e6df}
.mapa iframe{display:block; width:100%; height:260px; border:0}
.mapa__pie{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 14px;
  font-size:.8rem; color:var(--leise); background:var(--flaeche); border-top:1px solid var(--linie)}
.mapa__pie a{color:var(--zweit); font-weight:600}
.zona{margin-top:16px; display:grid; gap:10px}
.zona p{font-size:.93rem}
.zona-links{display:flex; flex-wrap:wrap; gap:7px}
.zona-links a{font-size:.85rem; padding:5px 12px; border:1px solid var(--linie); border-radius:999px;
  text-decoration:none; background:var(--flaeche); font-weight:600}
.zona-links a:hover{border-color:var(--tief)}

.cercanas{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.cercanas a{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; padding:12px;
  border:1px solid var(--linie); border-radius:var(--radius); background:var(--flaeche); text-decoration:none}
.cercanas a:hover{border-color:var(--tief)}
.cercanas .monograma{width:40px; height:40px; font-size:.82rem; margin-inline:0}
.cercanas .txt b{display:block; font-size:.9rem; color:var(--tief); line-height:1.3}
.cercanas .txt small{display:block; font-size:.8rem; color:var(--leise)}

.perfil__bloque .faq{margin-top:0; border-top:0}
.perfil__bloque .faq details:first-child{border-top:1px solid var(--linie)}
/* Handy: Die Registernummer bricht nicht um und schob die kompakte Karte
   16 px ueber den Rand (gemessen 390 px). Darf dort umbrechen. */
@media(max-width:700px){.registro-n{white-space:normal; overflow-wrap:anywhere}.ficha__cuerpo,.direccion{min-width:0}}

/* --- Bewertungen (13.11., Manuel: „Bewertungen wie bei Amazon und nach Tags“) ---
   Sterne als zwei uebereinanderliegende Zeichenreihen; die obere wird ueber
   --v (0..5) beschnitten. So geht auch 4,3 ohne Halbstern-Grafiken. */
.estrellas{position:relative; display:inline-block; font-size:1rem; line-height:1; letter-spacing:2px; color:#d8d3c8}
.estrellas::before{content:"★★★★★"}
.estrellas::after{content:"★★★★★"; position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap;
  width:calc(var(--v) / 5 * 100%); color:#e3b505}
.estrellas--grande{font-size:1.5rem}
.valoracion-mini{display:flex; align-items:center; gap:8px; margin-top:8px; font-size:.86rem; color:var(--leise)}
.valoracion-mini b{color:var(--tief)}
.ejemplo{display:inline-block; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:2px 7px; border-radius:3px; background:#fdecc8; color:#7a5300; border:1px solid #f0d08a}
.aviso-ejemplo{display:flex; gap:10px; align-items:flex-start; padding:10px 14px; margin-bottom:18px;
  border:1px dashed #e4c56b; background:#fffaf0; border-radius:var(--radius); font-size:.86rem; color:#6b5a2c}

.opiniones{display:grid; grid-template-columns:260px 1fr; gap:clamp(20px,3vw,36px)}
@media(max-width:760px){.opiniones{grid-template-columns:1fr}}
.nota{display:flex; align-items:baseline; gap:12px}
.nota b{font-size:3rem; font-weight:800; color:var(--tief); letter-spacing:-.03em; line-height:1}
.nota-total{color:var(--leise); font-size:.88rem; margin-top:6px}
.barras{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:7px}
.barras button{all:unset; box-sizing:border-box; cursor:pointer; width:100%; display:grid;
  grid-template-columns:58px 1fr 30px; gap:10px; align-items:center; font-size:.86rem; color:var(--zweit); border-radius:3px}
.barras button:hover span:first-child,.barras button[aria-pressed="true"] span:first-child{text-decoration:underline; font-weight:700}
.barras button:focus-visible{outline:2px solid var(--zweit); outline-offset:2px}
.barra{height:12px; border-radius:6px; background:var(--grund); border:1px solid var(--linie); overflow:hidden}
.barra i{display:block; height:100%; background:#e3b505; width:var(--p)}
.barras small{color:var(--leise); text-align:right}

.etiquetas-op{display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none}
.etiquetas-op button{all:unset; cursor:pointer; font-size:.84rem; padding:6px 12px; border-radius:999px;
  border:1px solid var(--linie); background:var(--flaeche); color:var(--tief); font-weight:600}
.etiquetas-op button b{font-weight:800; color:var(--leise); margin-left:5px}
.etiquetas-op button:hover{border-color:var(--tief)}
.etiquetas-op button[aria-pressed="true"]{background:var(--tief); color:#fff; border-color:var(--tief)}
.etiquetas-op button[aria-pressed="true"] b{color:var(--akzent)}
.etiquetas-op .neg{border-style:dashed}
.etiquetas-op button:focus-visible{outline:2px solid var(--zweit); outline-offset:2px}

.resumen-ia{margin-top:18px; padding:16px 18px; border-radius:var(--radius); background:var(--grund);
  border:1px solid var(--linie); border-left:3px solid var(--zweit)}
.resumen-ia h3{font-size:.95rem; display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.resumen-ia h3 svg{width:18px; height:18px; color:var(--zweit)}
.resumen-ia p{margin-top:8px; font-size:.95rem}
.resumen-ia small{display:block; margin-top:8px; font-size:.78rem; color:var(--leise)}

.lista-op{list-style:none; margin:20px 0 0; padding:0; display:grid; gap:0}
.op{padding:18px 0; border-top:1px solid var(--linie)}
.op[hidden]{display:none}
.op__cab{display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center}
.op__autor{font-weight:700; color:var(--tief)}
.op__fecha,.op__obra{font-size:.84rem; color:var(--leise)}
.op p{margin-top:8px; font-size:.95rem; max-width:72ch}
.op__tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:9px}
.op__tags span{font-size:.76rem; padding:2px 9px; border-radius:999px; background:var(--grund); border:1px solid var(--linie)}
.op__pie{margin-top:9px; font-size:.8rem; color:var(--leise); display:flex; gap:14px}
.op__pie button{all:unset; cursor:pointer; color:var(--zweit); font-weight:700}
.filtro-activo{margin-top:16px; font-size:.86rem; color:var(--leise); display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.filtro-activo button{all:unset; cursor:pointer; color:var(--zweit); font-weight:700; text-decoration:underline}

.sin-opiniones{text-align:center; padding:30px 20px; border:1px dashed var(--linie); border-radius:var(--radius); background:var(--grund)}
.sin-opiniones .estrellas{font-size:1.8rem}
.sin-opiniones h3{margin-top:12px}
.sin-opiniones p{color:var(--leise); margin:8px auto 18px; max-width:46ch; font-size:.94rem}

.mapa img{display:block; width:100%; height:260px; object-fit:cover; filter:saturate(.75)}
.barras button{grid-template-columns:82px 1fr 34px}
.barras button span:first-child{white-space:nowrap}
.filtro-activo[hidden]{display:none}
.valoracion-mini{flex-wrap:wrap}
