/* ====== Directorio 2.0 · tarjetas estilo guía ====== */
.az-directory-container:not(#ds-z){
  --ds-accent:#1264b0;
  --ds-gold:#f7a600;
  --ds-card:#ffffff;
  --ds-ink:#0b1526;
  --ds-ink-2:#566270;
  --ds-ink-3:#6b7480;
  --ds-edge:#d8e3ee;
  --ds-on:#eaf2fb;
  --ds-on-2:rgba(234,242,251,.72);
  --ds-ctl:rgba(255,255,255,.08);
  --ds-ctl-line:rgba(255,255,255,.2);
  --ds-ctl-hover:rgba(255,255,255,.16);
  --ds-chev:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23eaf2fb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.5L6 6l4.5-4.5'/%3E%3C/svg%3E");
  --ds-star-on:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23f7a600' d='M12 1.2l3.2 6.6 7.2 1-5.2 5.1 1.2 7.2L12 17.7l-6.4 3.4 1.2-7.2L1.6 8.8l7.2-1z'/%3E%3C/svg%3E");
  --ds-star-off:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23d3dbe5' d='M12 1.2l3.2 6.6 7.2 1-5.2 5.1 1.2 7.2L12 17.7l-6.4 3.4 1.2-7.2L1.6 8.8l7.2-1z'/%3E%3C/svg%3E");
  --ds-font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue","Noto Sans","Noto Sans Arabic","Noto Sans Hebrew","Noto Sans Thai",Tahoma,Arial,sans-serif;
  position:relative; display:block; box-sizing:border-box; width:100%; max-width:100%;
  margin-top:0; margin-bottom:32px; padding:26px 26px 30px; border:0; border-radius:18px;
  overflow:hidden; isolation:isolate;
  color:var(--ds-on); font-family:var(--ds-font); font-size:16px; line-height:1.4; text-align:start;
  background-color:#081a2c;
  background-image:
    radial-gradient(1100px 520px at -8% -18%, rgba(46,116,176,.5), transparent 60%),
    radial-gradient(900px 480px at 108% 116%, rgba(30,92,150,.42), transparent 62%),
    linear-gradient(116deg, transparent 0 33%, rgba(140,190,240,.055) 33% 47%, transparent 47% 100%),
    linear-gradient(168deg, #0d2a45 0%, #081a2c 48%, #0a2135 100%);
  box-shadow:0 24px 48px -30px rgba(3,10,22,.9);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
@supports (container-type:inline-size){
  .az-directory-container:not(#ds-z){ container-type:inline-size; container-name:dsbox; }
}
.az-directory-container:not(#ds-z)::before, .az-directory-container:not(#ds-z)::after{ content:none; }
.az-directory-container:not(#ds-z).ds-panel--claro{
  --ds-on:#0b1526; --ds-on-2:#526070; --ds-ctl:#ffffff; --ds-ctl-line:#d3dde9; --ds-ctl-hover:#e9f0f8;
  --ds-chev:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%230b1526' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.5L6 6l4.5-4.5'/%3E%3C/svg%3E");
  background:#eef3f9; border:1px solid #dfe7f1; box-shadow:none;
}
.az-directory-container:not(#ds-z).ds-panel--limpio{
  --ds-on:currentColor; --ds-on-2:currentColor; --ds-ctl:#ffffff; --ds-ctl-line:#d3dde9; --ds-ctl-hover:#e9f0f8;
  --ds-chev:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%230b1526' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.5L6 6l4.5-4.5'/%3E%3C/svg%3E");
  color:inherit; padding:0; border-radius:0; background:none; box-shadow:none; overflow:visible;
}
.az-directory-container:not(#ds-z) *, .az-directory-container:not(#ds-z) *::before, .az-directory-container:not(#ds-z) *::after{ box-sizing:border-box; }
.az-directory-container:not(#ds-z) .ds-sr{
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
  overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important;
}
.az-directory-container:not(#ds-z) .ds-i{ display:inline-block; flex:none; vertical-align:middle; }
.az-directory-container:not(#ds-z) .ds-i--line{ fill:none!important; stroke:currentColor; }

/* ---- Encabezado opcional ---- */
.az-directory-container:not(#ds-z) .ds-title{
  margin:0 0 16px!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important;
  color:var(--ds-on)!important; font:700 clamp(20px,2.3vw,26px)/1.25 var(--ds-font)!important;
  letter-spacing:-.015em!important; text-transform:none!important; text-align:start;
}
.az-directory-container:not(#ds-z) .ds-title::before, .az-directory-container:not(#ds-z) .ds-title::after{ content:none!important; display:none!important; }

/* ---- Buscador, orden y favoritos ---- */
.az-directory-container:not(#ds-z) .ds-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 10px; padding:0; }
.az-directory-container:not(#ds-z) .ds-search{ position:relative; flex:1 1 260px; min-width:0; margin:0; padding:0; }
.az-directory-container:not(#ds-z) .ds-search .ds-i{
  position:absolute; inset-inline-start:14px; top:50%; transform:translateY(-50%);
  width:17px; height:17px; fill:currentColor; color:var(--ds-on); opacity:.6; pointer-events:none;
}
.az-directory-container:not(#ds-z) .ds-search__input{
  display:block; width:100%!important; max-width:none!important; height:44px!important; min-height:0!important; margin:0!important;
  padding:0 14px!important; padding-inline-start:42px!important;
  font:500 15px/1.2 var(--ds-font)!important; color:var(--ds-on)!important;
  background:var(--ds-ctl)!important; border:1px solid var(--ds-ctl-line)!important; border-radius:10px!important;
  box-shadow:none!important; outline:0; -webkit-appearance:none; appearance:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.az-directory-container:not(#ds-z) .ds-search__input::placeholder{ color:var(--ds-on-2); opacity:1; }
.az-directory-container:not(#ds-z) .ds-search__input:focus{ border-color:rgba(255,255,255,.55)!important; box-shadow:0 0 0 3px rgba(96,160,230,.35)!important; }
.az-directory-container:not(#ds-z).ds-panel--claro .ds-search__input:focus, .az-directory-container:not(#ds-z).ds-panel--limpio .ds-search__input:focus{ border-color:var(--ds-accent)!important; box-shadow:0 0 0 3px rgba(18,100,176,.18)!important; }
.az-directory-container:not(#ds-z) .ds-search__input::-webkit-search-cancel-button{ filter:grayscale(1); opacity:.6; }
.az-directory-container:not(#ds-z) .ds-sort{ display:inline-flex; margin:0; padding:0; }
.az-directory-container:not(#ds-z) .ds-sort__select{
  height:44px!important; min-height:0!important; margin:0!important; padding:0 38px 0 14px!important;
  font:600 14px/1.2 var(--ds-font)!important; color:var(--ds-on)!important;
  background-color:var(--ds-ctl)!important; background-image:var(--ds-chev)!important;
  background-repeat:no-repeat!important; background-position:right 14px center!important; background-size:12px 8px!important;
  border:1px solid var(--ds-ctl-line)!important; border-radius:10px!important; box-shadow:none!important;
  cursor:pointer; -webkit-appearance:none; appearance:none; text-transform:none!important;
}
.az-directory-container:not(#ds-z)[dir="rtl"] .ds-sort__select{ padding:0 14px 0 38px!important; background-position:left 14px center!important; }
.az-directory-container:not(#ds-z) .ds-sort__select option{ color:#0b1526; background:#fff; }
.az-directory-container:not(#ds-z) .ds-chip{
  display:inline-flex; align-items:center; justify-content:center; gap:7px; height:44px; min-height:0; margin:0; padding:0 15px;
  font:600 14px/1 var(--ds-font)!important; color:var(--ds-on)!important; text-transform:none!important; letter-spacing:0!important;
  background:var(--ds-ctl)!important; border:1px solid var(--ds-ctl-line)!important; border-radius:10px!important;
  box-shadow:none!important; cursor:pointer; transition:background .2s ease, border-color .2s ease;
}
.az-directory-container:not(#ds-z) .ds-chip:hover{ background:var(--ds-ctl-hover)!important; }
.az-directory-container:not(#ds-z) .ds-chip .ds-i{ width:16px; height:16px; }
.az-directory-container:not(#ds-z) .ds-chip[aria-pressed="true"]{ border-color:#ff6b78!important; background:rgba(255,77,94,.16)!important; }
.az-directory-container:not(#ds-z) .ds-chip[aria-pressed="true"] .ds-i{ fill:#ff4d5e!important; stroke:#ff4d5e; }
.az-directory-container:not(#ds-z) .ds-chip__n{ font-weight:700; font-variant-numeric:tabular-nums; opacity:.8; }
.az-directory-container:not(#ds-z) .ds-count{ margin:0 0 14px!important; padding:0!important; font:500 13px/1.4 var(--ds-font)!important; color:var(--ds-on-2)!important; }
.az-directory-container:not(#ds-z).ds-panel--limpio .ds-count{ opacity:.75; }

/* ---- Rejilla ---- */
.az-directory-container:not(#ds-z) .ds-grid{
  list-style:none!important; margin:0!important; padding:0!important; border:0!important; background:none!important;
  display:grid; gap:18px 16px;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--ds-min,170px)),1fr));
}
.az-directory-container:not(#ds-z) .ds-grid > li{
  list-style:none!important; margin:0!important; padding:0!important; min-width:0;
  background:none!important; border:0!important; box-shadow:none!important;
}
.az-directory-container:not(#ds-z) .ds-grid > li::before, .az-directory-container:not(#ds-z) .ds-grid > li::after{ content:none!important; display:none!important; }
.az-directory-container:not(#ds-z) .ds-grid > li::marker{ content:""!important; }
.az-directory-container:not(#ds-z) .ds-grid > li[hidden]{ display:none!important; }
@supports (container-type:inline-size){
  .az-directory-container:not(#ds-z) .ds-grid{ grid-template-columns:minmax(0,1fr); }
  @container dsbox (min-width:270px){
    .az-directory-container:not(#ds-z) .ds-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @container dsbox (min-width:540px){
    .az-directory-container:not(#ds-z).ds-cols-3 .ds-grid, .az-directory-container:not(#ds-z).ds-cols-4 .ds-grid, .az-directory-container:not(#ds-z).ds-cols-5 .ds-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  }
  @container dsbox (min-width:744px){
    .az-directory-container:not(#ds-z).ds-cols-4 .ds-grid, .az-directory-container:not(#ds-z).ds-cols-5 .ds-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  }
  @container dsbox (min-width:940px){
    .az-directory-container:not(#ds-z).ds-cols-5 .ds-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
  }
}

/* ---- Tarjeta ---- */
.az-directory-container:not(#ds-z) .ds-card{
  position:relative!important; display:flex!important; flex-direction:column; height:100%; min-width:0;
  margin:0!important; padding:4px!important; overflow:hidden;
  background:var(--ds-card)!important; color:var(--ds-ink);
  border:1px solid var(--ds-edge)!important; border-radius:12px!important;
  box-shadow:0 1px 2px rgba(2,10,22,.22), 0 12px 26px -18px rgba(0,8,20,.75)!important;
  font-family:var(--ds-font); text-align:start;
  transition:transform .2s ease, box-shadow .2s ease;
}
.az-directory-container:not(#ds-z).ds-panel--claro .ds-card, .az-directory-container:not(#ds-z).ds-panel--limpio .ds-card{
  box-shadow:0 1px 2px rgba(15,30,50,.08), 0 10px 22px -16px rgba(15,30,50,.35)!important;
}
.az-directory-container:not(#ds-z) .ds-card:hover{
  transform:translateY(-2px);
  box-shadow:0 2px 4px rgba(2,10,22,.24), 0 20px 34px -18px rgba(0,8,20,.85)!important;
}
.az-directory-container:not(#ds-z) .ds-card:focus-within{ outline:2px solid #8cc0ff; outline-offset:2px; }
.az-directory-container:not(#ds-z).ds-panel--claro .ds-card:focus-within, .az-directory-container:not(#ds-z).ds-panel--limpio .ds-card:focus-within{ outline-color:var(--ds-accent); }

/* Foto */
.az-directory-container:not(#ds-z) .ds-card__media{
  position:relative!important; display:block!important; flex:none; width:100%; aspect-ratio:var(--ds-ratio,16/9);
  margin:0!important; padding:0!important; border:0!important; border-radius:9px!important; overflow:hidden;
  background:#dfe6ef!important; box-shadow:none!important;
}
@supports not (container-type:inline-size){
  @media (max-width:600px){ .az-directory-container:not(#ds-z) .ds-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
}
@supports not (aspect-ratio:1/1){
  .az-directory-container:not(#ds-z) .ds-card__media{ height:0; padding-top:56.25%!important; }
}
.az-directory-container:not(#ds-z) .ds-card__media img, .az-directory-container:not(#ds-z) .ds-card__media .ds-card__img{
  position:absolute!important; top:0!important; left:0!important; right:0!important; bottom:0!important;
  display:block!important; width:100%!important; height:100%!important; max-width:none!important; max-height:none!important;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important;
  object-fit:cover!important; opacity:1; transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.az-directory-container:not(#ds-z) .ds-card:hover .ds-card__media img{ transform:scale(1.04); }
.az-directory-container:not(#ds-z) .ds-ph{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(140deg,#1f4b77,#0f2944); color:#fff; font:700 34px/1 var(--ds-font);
}

/* Corazón */
.az-directory-container:not(#ds-z) .ds-fav{
  position:absolute!important; z-index:3; top:8px; inset-inline-end:8px;
  display:flex!important; align-items:center; justify-content:center;
  width:30px!important; height:30px!important; min-width:0!important; min-height:0!important;
  margin:0!important; padding:0!important; border:0!important; border-radius:50%!important;
  background:rgba(14,24,36,.74)!important; color:#fff!important; box-shadow:0 1px 3px rgba(0,0,0,.25)!important;
  font-size:0!important; line-height:1!important; cursor:pointer; text-transform:none!important;
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  transition:background .2s ease, transform .15s ease;
}
.az-directory-container:not(#ds-z) .ds-fav .ds-i{ width:16px; height:16px; stroke:#fff; stroke-width:2; }
.az-directory-container:not(#ds-z) .ds-fav:hover{ background:rgba(14,24,36,.92)!important; transform:scale(1.06); }
.az-directory-container:not(#ds-z) .ds-fav:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.az-directory-container:not(#ds-z) .ds-fav[aria-pressed="true"] .ds-i{ fill:#ff4d5e!important; stroke:#ff4d5e; }

/* Texto */
.az-directory-container:not(#ds-z) .ds-card__body{
  position:static!important; display:flex; flex-direction:column; flex:1 1 auto; min-width:0;
  margin:0!important; padding:12px 10px 8px!important; border:0!important; background:none!important; box-shadow:none!important;
}
.az-directory-container:not(#ds-z) .ds-card__title{
  position:static!important; margin:0 0 6px!important; padding:0!important; border:0!important;
  background:none!important; box-shadow:none!important; text-shadow:none!important;
  font:700 17px/1.28 var(--ds-font)!important; letter-spacing:-.012em!important;
  color:var(--ds-ink)!important; text-transform:none!important;
}
.az-directory-container:not(#ds-z)[dir="rtl"] .ds-card__title, .az-directory-container:not(#ds-z)[dir="rtl"] .ds-meta span{ text-align:right; }
.az-directory-container:not(#ds-z)[dir="ltr"] .ds-card__title, .az-directory-container:not(#ds-z)[dir="ltr"] .ds-meta span{ text-align:left; }
.az-directory-container:not(#ds-z) .ds-card__title::before, .az-directory-container:not(#ds-z) .ds-card__title::after{ content:none!important; display:none!important; }
.az-directory-container:not(#ds-z) .ds-card__link{
  position:static!important; display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  color:inherit!important; font:inherit!important; text-decoration:none!important;
  background:none!important; border:0!important; box-shadow:none!important; outline:0;
}
.az-directory-container:not(#ds-z) .ds-card__link::before{ content:none!important; display:none!important; }
.az-directory-container:not(#ds-z) .ds-card__link::after{
  content:""!important; display:block!important; position:absolute!important; top:0!important; right:0!important; bottom:0!important; left:0!important;
  z-index:1; width:auto!important; height:auto!important; margin:0!important;
  background:none!important; border:0!important; opacity:1!important; transform:none!important;
}

/* Valoración: 4,9 ★★★★★ (388) */
.az-directory-container:not(#ds-z) .ds-rate{
  display:flex; flex-wrap:wrap; align-items:center; gap:3px 7px; margin:0 0 4px!important; padding:0!important;
  font:500 13px/1.2 var(--ds-font)!important; color:var(--ds-ink-3)!important;
}
.az-directory-container:not(#ds-z) .ds-rate__val{ font-weight:700!important; font-size:15px!important; color:var(--ds-ink)!important; font-variant-numeric:tabular-nums; }
.az-directory-container:not(#ds-z) .ds-stars{
  --ds-pct:0%; position:relative!important; display:block!important; flex:none; float:none!important;
  width:80px!important; height:15px!important; min-width:0!important; max-width:none!important; margin:0!important; padding:0!important;
  border:0!important; border-radius:0!important; box-shadow:none!important; font-size:0!important; line-height:0!important; color:transparent!important;
  background:var(--ds-star-off) 0 0 / 16px 15px repeat-x!important;
}
.az-directory-container:not(#ds-z) .ds-stars i{
  position:absolute!important; top:0!important; bottom:0!important; inset-inline-start:0; display:block!important;
  width:var(--ds-pct)!important; height:auto!important; margin:0!important; padding:0!important; overflow:hidden;
  border:0!important; border-radius:0!important; box-shadow:none!important; font-size:0!important; font-style:normal;
  background:var(--ds-star-on) 0 0 / 16px 15px repeat-x!important;
}
.az-directory-container:not(#ds-z) .ds-stars::before, .az-directory-container:not(#ds-z) .ds-stars::after, .az-directory-container:not(#ds-z) .ds-stars i::before, .az-directory-container:not(#ds-z) .ds-stars i::after{ content:none!important; display:none!important; }
.az-directory-container:not(#ds-z)[dir="rtl"] .ds-stars, .az-directory-container:not(#ds-z)[dir="rtl"] .ds-stars i{ background-position:100% 0!important; }
.az-directory-container:not(#ds-z) .ds-rate__count{ color:var(--ds-ink-3)!important; font-variant-numeric:tabular-nums; }

/* Zona + enlace, pegados al pie */
.az-directory-container:not(#ds-z) .ds-card__bottom{ position:static!important; margin:auto 0 0!important; padding:0!important; }
.az-directory-container:not(#ds-z) .ds-meta{
  position:static!important; display:flex; align-items:flex-start; gap:5px; margin:10px 0 0!important; padding:0!important;
  font:400 13px/1.45 var(--ds-font)!important; color:var(--ds-ink-2)!important;
}
.az-directory-container:not(#ds-z) .ds-meta .ds-i{ width:15px; height:15px; margin-top:1px; color:#7a8591; stroke-width:1.8; }
.az-directory-container:not(#ds-z) .ds-meta span{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-width:0; }
.az-directory-container:not(#ds-z) .ds-card__foot{
  position:static!important; display:flex; align-items:center; gap:8px;
  min-height:24px; margin:12px 0 4px!important; padding:0!important;
}
.az-directory-container:not(#ds-z) .ds-more{
  display:inline-flex; align-items:center; gap:7px; min-width:0;
  font:700 14px/1.2 var(--ds-font)!important; color:var(--ds-accent)!important;
}
.az-directory-container:not(#ds-z) .ds-more > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.az-directory-container:not(#ds-z) .ds-more .ds-i{ width:16px; height:16px; stroke-width:2.2; }
.az-directory-container:not(#ds-z)[dir="rtl"] .ds-more .ds-i{ transform:scaleX(-1); }
.az-directory-container:not(#ds-z) .ds-card:hover .ds-more > span{ text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px; }

/* Botón de contacto sobre la foto: círculo del color del canal (WhatsApp, LINE, llamada…) */
.az-directory-container:not(#ds-z) .ds-chat{
  position:absolute!important; z-index:3; bottom:8px; inset-inline-end:8px;
  display:flex!important; align-items:center; justify-content:center;
  width:32px!important; height:32px!important; min-width:0!important; min-height:0!important; margin:0!important; padding:0!important;
  border:2px solid #fff!important; border-radius:50%!important;
  background:var(--ds-chat,#25D366)!important; color:var(--ds-chat-fg,#fff)!important;
  box-shadow:0 2px 6px rgba(0,0,0,.28)!important; text-decoration:none!important;
  transition:transform .15s ease, filter .2s ease;
}
.az-directory-container:not(#ds-z) .ds-chat .ds-i{ width:16px; height:16px; fill:currentColor; }
.az-directory-container:not(#ds-z) .ds-chat:hover{ transform:scale(1.08); filter:brightness(1.06); }
.az-directory-container:not(#ds-z) .ds-chat:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

/* Tarjetas estrechas (2 columnas en el móvil) */
@supports (container-type:inline-size){
  .az-directory-container:not(#ds-z) .ds-grid > li{ container-type:inline-size; }
  @container (max-width:215px){
    .az-directory-container:not(#ds-z) .ds-card__body{ padding:10px 7px 6px!important; }
    .az-directory-container:not(#ds-z) .ds-card__title{ font-size:15px!important; }
    .az-directory-container:not(#ds-z) .ds-rate{ gap:2px 5px; font-size:12px!important; }
    .az-directory-container:not(#ds-z) .ds-rate__val{ font-size:14px!important; }
    .az-directory-container:not(#ds-z) .ds-stars{ width:65px!important; height:12px!important; background-size:13px 12px!important; }
    .az-directory-container:not(#ds-z) .ds-stars i{ background-size:13px 12px!important; }
    .az-directory-container:not(#ds-z) .ds-meta{ font-size:12px!important; }
    .az-directory-container:not(#ds-z) .ds-more{ gap:5px; font-size:13px!important; }
    .az-directory-container:not(#ds-z) .ds-chat{ bottom:6px; inset-inline-end:6px; width:28px!important; height:28px!important; }
    .az-directory-container:not(#ds-z) .ds-chat .ds-i{ width:14px; height:14px; }
    .az-directory-container:not(#ds-z) .ds-fav{ top:6px; inset-inline-end:6px; width:28px!important; height:28px!important; }
  }
  @container (max-width:175px){
    .az-directory-container:not(#ds-z) .ds-card__body{ padding:9px 5px 5px!important; }
    .az-directory-container:not(#ds-z) .ds-card__title{ font-size:14.5px!important; }
    .az-directory-container:not(#ds-z) .ds-rate__val{ font-size:13.5px!important; }
    .az-directory-container:not(#ds-z) .ds-rate{ gap:2px 4px; }
    .az-directory-container:not(#ds-z) .ds-stars{ width:60px!important; height:11px!important; background-size:12px 11px!important; }
    .az-directory-container:not(#ds-z) .ds-stars i{ background-size:12px 11px!important; }
    .az-directory-container:not(#ds-z) .ds-more{ gap:4px; font-size:12.5px!important; }
    .az-directory-container:not(#ds-z) .ds-more .ds-i{ width:14px; height:14px; }
  }
}
@media (max-width:600px){
  .az-directory-container:not(#ds-z){ padding:14px 10px 18px; border-radius:14px; }
  .az-directory-container:not(#ds-z).ds-panel--limpio{ padding:0; }
  .az-directory-container:not(#ds-z) .ds-grid{ gap:12px 10px; }
  .az-directory-container:not(#ds-z) .ds-toolbar{ gap:8px; }
  .az-directory-container:not(#ds-z) .ds-search{ flex-basis:100%; }
  .az-directory-container:not(#ds-z) .ds-sort, .az-directory-container:not(#ds-z) .ds-chip{ flex:1 1 auto; }
  .az-directory-container:not(#ds-z) .ds-sort__select{ width:100%!important; }
  .az-directory-container:not(#ds-z) .ds-card:hover{ transform:none; }
}

/* ---- Sin resultados ---- */
.az-directory-container:not(#ds-z) .ds-empty{
  margin:6px 0 0; padding:32px 20px; text-align:center; color:var(--ds-on);
  background:var(--ds-ctl); border:1px dashed var(--ds-ctl-line); border-radius:14px;
}
.az-directory-container:not(#ds-z) .ds-empty[hidden]{ display:none!important; }
.az-directory-container:not(#ds-z) .ds-empty p{ margin:0 0 12px!important; font:500 15px/1.5 var(--ds-font)!important; color:inherit!important; opacity:.9; }
.az-directory-container:not(#ds-z) .ds-empty__reset{
  margin:0; padding:10px 18px!important; font:700 14px/1 var(--ds-font)!important; color:#0b1526!important;
  background:#fff!important; border:0!important; border-radius:10px!important; box-shadow:none!important;
  cursor:pointer; text-transform:none!important;
}
.az-directory-container:not(#ds-z).ds-panel--claro .ds-empty__reset, .az-directory-container:not(#ds-z).ds-panel--limpio .ds-empty__reset{ color:#fff!important; background:var(--ds-accent)!important; }

/* ---- Paginación ---- */
.az-directory-container:not(#ds-z) .az-pagination{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px; margin:26px 0 0!important; padding:0; }
.az-directory-container:not(#ds-z) .az-pagination a, .az-directory-container:not(#ds-z) .az-pagination span{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; margin:0; padding:0 14px;
  font:600 14px/1 var(--ds-font)!important; text-decoration:none!important; color:var(--ds-on)!important;
  background:var(--ds-ctl)!important; border:1px solid var(--ds-ctl-line)!important; border-radius:10px!important; box-shadow:none!important;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.az-directory-container:not(#ds-z) .az-pagination a:hover{ background:var(--ds-ctl-hover)!important; border-color:rgba(255,255,255,.42)!important; }
.az-directory-container:not(#ds-z) .az-pagination .current{ background:#fff!important; border-color:#fff!important; color:#0b1526!important; }
.az-directory-container:not(#ds-z).ds-panel--claro .az-pagination a:hover, .az-directory-container:not(#ds-z).ds-panel--limpio .az-pagination a:hover{ border-color:var(--ds-accent)!important; }
.az-directory-container:not(#ds-z).ds-panel--claro .az-pagination .current, .az-directory-container:not(#ds-z).ds-panel--limpio .az-pagination .current{ background:var(--ds-accent)!important; border-color:var(--ds-accent)!important; color:#fff!important; }
.az-directory-container:not(#ds-z) .az-pagination .disabled{ opacity:.4; pointer-events:none; }
.az-directory-container:not(#ds-z) .az-pagination .dots{ min-width:0; padding:0 4px; background:none!important; border-color:transparent!important; }

/* ---- Carga AJAX ---- */
.az-directory-container:not(#ds-z).az-loading .ds-grid{ opacity:.35; filter:blur(1px); pointer-events:none; }
.az-directory-container:not(#ds-z).az-loading::after{
  content:attr(data-ds-loading); position:absolute; top:50%; left:50%; z-index:5; transform:translate(-50%,-50%);
  padding:12px 22px; border-radius:12px; background:rgba(6,14,26,.9); color:#fff; font:600 15px/1.2 var(--ds-font);
}

@media (prefers-reduced-motion:reduce){
  .az-directory-container:not(#ds-z) *, .az-directory-container:not(#ds-z) *::before, .az-directory-container:not(#ds-z) *::after{ transition:none!important; animation:none!important; }
  .az-directory-container:not(#ds-z) .ds-card:hover, .az-directory-container:not(#ds-z) .ds-card:hover .ds-card__media img, .az-directory-container:not(#ds-z) .ds-fav:hover{ transform:none!important; }
}

/* ---- Lista de enlaces (compatibilidad) ---- */
.az-links-container .az-links-list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr)); }
.az-links-list .az-link-item{
  display:block; padding:20px 16px; text-align:center; font-weight:600; font-size:15px; color:#fff!important;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:12px; text-decoration:none!important;
}

/* ---- Ficha individual ---- */
.ds-ficha .title{ display:flex; align-items:center; gap:7px; font-size:17px; font-weight:700; color:#18212f; }
.ds-ficha .title .ds-i{ fill:var(--ds-accent,#1264b0); width:16px; height:16px; }
.ds-ficha .ds-rate{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:6px 0 4px; font-size:14px; color:#66728a; }
.ds-ficha .ds-stars{
  --ds-pct:0%; position:relative; display:block; flex:none; width:100px; height:19px;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23d3dbe5' d='M12 1.2l3.2 6.6 7.2 1-5.2 5.1 1.2 7.2L12 17.7l-6.4 3.4 1.2-7.2L1.6 8.8l7.2-1z'/%3E%3C/svg%3E") 0 0 / 20px 19px repeat-x;
}
.ds-ficha .ds-stars i{
  position:absolute; top:0; bottom:0; inset-inline-start:0; width:var(--ds-pct); overflow:hidden;
  background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='%23f7a600' d='M12 1.2l3.2 6.6 7.2 1-5.2 5.1 1.2 7.2L12 17.7l-6.4 3.4 1.2-7.2L1.6 8.8l7.2-1z'/%3E%3C/svg%3E") 0 0 / 20px 19px repeat-x;
}
.ds-ficha[dir="rtl"] .ds-stars, .ds-ficha[dir="rtl"] .ds-stars i{ background-position:100% 0; }
.ds-ficha .ds-rate__val{ font-size:16px; font-weight:700; color:#18212f; }
.ds-ficha .ds-sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ds-ficha__cta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-block-start:14px; }
.ds-ficha__cta .boton-azul{ flex:1 1 180px; margin:0; }
.ds-btn--wa-lg{
  flex:1 1 150px; min-height:46px; font-size:15px; background:var(--ds-chat,#1fa855); color:var(--ds-chat-fg,#fff)!important;
  border:0; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; text-decoration:none!important; box-shadow:0 3px 8px rgba(0,0,0,.24);
}
.ds-btn--wa-lg .ds-i{ fill:currentColor; }
.ds-btn--wa-lg:hover{ filter:brightness(.94); color:var(--ds-chat-fg,#fff)!important; }
.ds-map-fallback{
  display:flex; align-items:center; gap:8px; padding:14px 16px; margin:0 0 14px; border-radius:10px;
  background:#f3f5fa; border:1px solid #e3e7f0; color:#18212f!important; text-decoration:none!important; font-weight:600;
}
.ds-map-fallback .ds-i{ fill:var(--ds-accent,#1264b0); }
.ds-tel{ color:inherit; text-decoration:underline; }
/* ---- 2.2: foco visible y bloque de fichas relacionadas ---- */
.az-directory-container:not(#ds-z):focus{ outline:0; }
.az-directory-container:not(#ds-z) .az-pagination a:focus-visible{ outline:2px solid #8cc0ff; outline-offset:2px; }
.az-directory-container:not(#ds-z).ds-panel--claro .az-pagination a:focus-visible, .az-directory-container:not(#ds-z).ds-panel--limpio .az-pagination a:focus-visible{ outline-color:var(--ds-accent); }
.az-directory-container:not(#ds-z) .ds-related-head{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; margin:0 0 14px; }
.az-directory-container:not(#ds-z) .ds-related-head .ds-title{ margin:0!important; }
.az-directory-container:not(#ds-z) .ds-seeall{ font:700 14px/1.2 var(--ds-font)!important; color:var(--ds-on)!important; text-decoration:underline!important; text-underline-offset:3px; }
.az-directory-container:not(#ds-z).ds-panel--claro .ds-seeall, .az-directory-container:not(#ds-z).ds-panel--limpio .ds-seeall{ color:var(--ds-accent)!important; }
/* ---- 2.3: ficha ampliada, «Abierto ahora», filtros rápidos y destacados ---- */
.ds-ficha .ds-extra__row p{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.ds-ficha .title .ds-i--line{ fill:none!important; stroke:var(--ds-accent,#1264b0); }
.ds-ficha .ds-svc{ display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 14px!important; padding:0!important; list-style:none!important; }
.ds-ficha .ds-svc li{ margin:0!important; padding:4px 10px!important; font-size:13px; line-height:1.3; color:#18212f; background:#eef3f9; border-radius:999px; list-style:none!important; }
.ds-ficha .ds-svc li::before{ content:none!important; }
.ds-ficha .ds-web{ font-weight:700; color:var(--ds-accent,#1264b0); word-break:break-all; }
.ds-open{ display:inline-flex; align-items:center; padding:3px 9px; border-radius:999px; font:700 12px/1.2 var(--ds-font,system-ui,sans-serif); }
.ds-open[hidden]{ display:none!important; }
.ds-open.is-open{ color:#0b6b2f; background:#e3f6e9; }
.ds-open.is-closed{ color:#8a1c1c; background:#fbe9e9; }
.ds-feat{ display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; font:800 12px/1.2 var(--ds-font,system-ui,sans-serif); letter-spacing:.02em; color:#4a3300; background:#ffd766; }
.ds-feat .ds-i{ fill:currentColor; }
.ds-ficha .ds-feat{ margin:0 0 10px; }
.az-directory-container:not(#ds-z) .ds-card__media .ds-feat{ position:absolute; inset-inline-start:8px; top:8px; z-index:2; box-shadow:0 2px 8px rgba(0,0,0,.25); }
.az-directory-container:not(#ds-z) .ds-item--featured .ds-card{ box-shadow:0 0 0 2px #ffcf3f!important; }
.az-directory-container:not(#ds-z) .ds-open--card{ align-self:flex-start; margin:2px 0 4px; }
.az-directory-container:not(#ds-z) .ds-filters{ display:flex; flex-wrap:wrap; gap:8px; flex:1 1 100%; }
.az-directory-container:not(#ds-z) .ds-chip--filter{ height:36px; padding:0 12px; font-size:13px!important; }
.az-directory-container:not(#ds-z) .ds-chip--filter[aria-pressed="true"]{ border-color:var(--ds-accent)!important; background:rgba(18,100,176,.22)!important; }
.az-directory-container:not(#ds-z) .ds-chip--filter[aria-pressed="true"] .ds-i{ fill:none!important; stroke:currentColor; }
