/*
 Theme Name:   Astra Child
 Theme URI:    https://wpastra.com/
 Description:  Child theme de Astra
 Author:       Osdop
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/satoshi/Satoshi-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/satoshi/Satoshi-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/satoshi/Satoshi-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  color-scheme: light;
}
.delegaciones-hidden {
  display: none;
}

/* ── Buscador de delegaciones ── */
.buscador-delegaciones {
  width: 100%;
  max-width: 1140px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: end;
  gap: 12px;
}
.buscador-delegaciones .elementor-widget-container {
  width: 100%;
}
.buscador-delegaciones div.campo-buscador.campo-texto,
.buscador-delegaciones div.campo-buscador.campo-select {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.buscador-delegaciones label {
  position: absolute;
  top: -8px;
  left: 12px;
  background: #fff;
  padding: 0 4px;
  font-size: 10px;
  color: #bbb;
  z-index: 1;
  pointer-events: none;
}
.buscador-delegaciones #provincia,
.buscador-delegaciones #buscar {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  font-size: 13px;
  color: #1E1E24;
  background: #fafafa;
  height: auto;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .2s;
}
.buscador-delegaciones #provincia:focus,
.buscador-delegaciones #buscar:focus {
  border-color: #FFA69C;
  background: #fff;
  outline: none;
}
.buscador-delegaciones #btnBuscar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 28px;
  background: #FFA69C;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  height: 44px;
  transition: opacity .2s;
  white-space: nowrap;
}
.buscador-delegaciones #btnBuscar:hover {
  opacity: .9;
  background-color: #FFA69C;
}
@media (max-width: 767px) {
  .buscador-delegaciones {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .buscador-delegaciones #btnBuscar {
    width: 100%;
    justify-content: center;
  }
}

/* ── Cards de delegaciones ── */
.delegaciones-grid {
  gap: 12px !important;
}
 
/* Article container */
.elementor-post.type-delegaciones {
  background: #fff;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.07);
  position: relative;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  box-shadow: none;
}
.elementor-post.type-delegaciones:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  border-color: rgba(255,166,156,.3);
}
 
/* Borde izquierdo salmón */
.elementor-post.type-delegaciones::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  border-radius: 14px 0 0 14px;
  background: var(--cc, #FFA69C);
  z-index: 1;
}
 
/* Hover fill desde esquina inferior derecha */
.elementor-post.type-delegaciones::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 100%; height: 100%;
  background: var(--cc, #FFA69C);
  border-radius: inherit;
  transform: scale(0);
  transform-origin: bottom right;
  transition: transform .45s cubic-bezier(.4,0,.2,1),
              border-radius .45s cubic-bezier(.4,0,.2,1),
              filter .3s ease-out;
  filter: blur(10px);
  z-index: 0;
  pointer-events: none;
}
.elementor-post.type-delegaciones:hover::after {
  transform: scale(1);
  border-radius: inherit;
  filter: blur(0);
}
 
/* Card content por encima del hover fill */
.card_delegacion {
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  z-index: 1;
}
.card_delegacion > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 0;
}
 
/* Título */
.card_delegacion h3 {
  margin: 0 0 4px;
}
.card_delegacion h3 a {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  line-height: 1.35;
  display: block;
  transition: color .3s;
}
.elementor-post.type-delegaciones:hover .card_delegacion h3 a {
  color: #fff !important;
}
 
/* Link "Ver más" */
.elementor-post__read-more {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  color: #FFA69C;
  text-decoration: none;
  transition: color .3s;
}
.elementor-post__read-more:hover {
  text-decoration: underline;
}
.elementor-post.type-delegaciones:hover .elementor-post__read-more {
  color: rgba(255,255,255,.9) !important;
}
 
/* Datos (tel, mail, horario) */
.dato-delegacion {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  color: #555;
  margin-bottom: 6px;
  transition: color .3s;
}
.dato-delegacion:last-of-type {
  margin-bottom: 0;
}
.dato-delegacion .material-symbols-outlined {
  font-size: 15px !important;
  flex-shrink: 0;
  color: #bbb;
  width: 15px;
  line-height: 1.4;
  transition: color .3s;
}
.elementor-post.type-delegaciones:hover .dato-delegacion {
  color: rgba(255,255,255,.85) !important;
}
.elementor-post.type-delegaciones:hover .dato-delegacion .material-symbols-outlined {
  color: rgba(255,255,255,.7) !important;
}
 