/* ============================
   ESTILOS DEL MODAL DE TELÉFONO
   ============================ */
#phoneModal {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    font-size: 20px;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}


#phoneModal input,
#phoneModal textarea {
    font-size: 20px;
    width: 100%;
    box-sizing: border-box;
    z-index: 10000;
}


#phoneModal textarea.form-element {
    font-family: inherit;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
    resize: vertical; /* opcional, para que solo crezca en vertical */
}

.modal-content {
    background: white;
    padding: 20px;
    color: #333;
    border-radius: 5px;
    width: fit-content;
    position: relative;
    z-index: 10001;
}

.cierraModal {
    position: absolute;
    top: 5px;
    right: 15px;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    z-index: 10002;
}

.form-element {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

#BotonEnviar {
    width: 100%;
    display: block;
}

.custom-button-style {
    /* Se inyecta dinámicamente si se definen estilos personalizados */
}

/* ============================
   BANNER INFERIOR DE COOKIES
   (Texto + enlace en primera línea,
   botones en segunda línea, altura reducida)
   ============================ */
#efecto2_cookieBanner {
    display: flex;
    flex-direction: column;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 10px;             /* Padding reducido de 15px a 10px */
    box-sizing: border-box;
    align-items: center;       /* Centrar horizontalmente */
    text-align: center;        /* Centrar el texto + enlace */
    z-index: 9998;
    font-size: 12px;           /* Texto 2px menor (antes 14px) */
}

/* Primera línea: texto y enlace en la misma caja, en línea */
#efecto2_bannerTexto {
    width: 100%;
    white-space: normal;
}

#efecto2_bannerTexto a#efecto2_linkPoliticas {
    color: #fff;
    text-decoration: underline;
    cursor: pointer;
    font-size: 12px;   /* Misma fuente que el texto del banner */
}

/* Segunda línea: contenedor de ACEPTAR y RECHAZAR, centrado */
#efecto2_bannerBtns {
    margin-top: 8px;         /* Separación tras la primera línea */
    text-align: center;      /* Centrar botones */
}

/* Botones ACEPTAR y RECHAZAR con altura reducida */
#efecto2_btnAcepar,
#efecto2_btnRechazar {
    color: #fff;
    border: none;
    padding: 6px 12px;       /* Reducir padding vertical de 8px a 6px */
    cursor: pointer;
    border-radius: 3px;
    font-size: 11px;         /* 2px menor que antes (antes 13px) */
    margin: 0 4px;           /* Espacio entre ACEPTAR y RECHAZAR */
}

#efecto2_btnAcepar {
    background: #4caf50;
}

#efecto2_btnRechazar {
    background: #777777;
}

/* ============================
   MODAL DE POLÍTICAS
   ============================ */
#efecto2_modalPoliticas {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Botón “X” de cerrar, posicionado respecto al overlay */
#efecto2_cierraPoliticas {
    position: absolute;   /* Fijo dentro del overlay */
    top: 15px;            /* 15px desde la parte superior */
    right: 20px;          /* 20px desde el borde derecho */
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    cursor: pointer;
    z-index: 10000;       /* Por encima de la caja scrollable */
}

/* Caja blanca con scroll para contenido */
#efecto2_modalPoliticas .efecto2-modal-content {
    background: #fff;
    max-width: 90%;
    max-height: 90%;
    overflow-y: auto;
    padding: 20px;
    border-radius: 5px;
    position: relative;  /* Para que el scroll esté dentro de esta caja */
    box-sizing: border-box;
}

/* Atenuar bloques desactivados (usado por el JS) */
.et360-disabled {
  opacity: .5;
  transition: opacity .15s ease-in-out;
}

/* Apariencia suave de controles desactivados dentro del bloque */
.et360-disabled input,
.et360-disabled textarea,
.et360-disabled select {
  background: #f6f7f7;
}

/* Estilo para la miniatura del logo (si quieres evitar inline styles) */
.et360-thumb {
  max-height: 40px;
  vertical-align: middle;
  border: 1px solid #ddd;
  padding: 2px;
  background: #fff;
}


/* ============================
   ADMIN: Pantalla de opciones del plugin
   (scope: solo #et360-admin)
   ============================ */

/* Tabla y celdas: menos aire */
#et360-admin .form-table{
  border-collapse: collapse;
  margin-top: 0 !important;
}

#et360-admin .form-table > tbody > tr > th,
#et360-admin .form-table > tbody > tr > td{
  padding: 4px 10px !important;   /* antes 6px */
  vertical-align: middle !important;
  line-height: 1.25 !important;
}

/* Filas: SIN líneas (ni sólidas ni punteadas) */
#et360-admin .form-table > tbody > tr{
  margin: 0 !important;
  border: 0 !important;           /* <-- quita cualquier borde */
}

#et360-admin .form-table > tbody > tr > th,
#et360-admin .form-table > tbody > tr > td{
  border: 0 !important;           /* <-- por si el tema añade bordes en celdas */
}

/* Descripciones: pegadas al campo */
#et360-admin .form-table .description{
  margin: 2px 0 0 !important;
  font-size: 12px;
  line-height: 1.3;
}

/* Inputs: sin márgenes “fantasma” */
#et360-admin .form-table input[type="text"],
#et360-admin .form-table input[type="email"],
#et360-admin .form-table input[type="url"],
#et360-admin .form-table input[type="password"],
#et360-admin .form-table textarea,
#et360-admin .form-table select{
  margin: 0 !important;
}

#et360-admin .regular-text{
  max-width: 520px;               /* opcional */
}

/* Títulos y bloques */
#et360-admin h2{
  margin: 10px 0 6px !important;  /* puedes subirlo si quieres más aire */
}

#et360-admin .et360-block{
  margin: 16px 0 20px;
}

/* Espaciador entre secciones (tres filas seguidas) */
#et360-admin .et360-gap td{
  padding: 0 !important;
  border: 0 !important;
  height: 16px;    /* ajusta a tu gusto: 12–24px */
  line-height: 0;
  font-size: 0;
}

/* ====== Bloque de precios ET360 ====== */

/* Layout */
.et360-precios{ display:block }
.et360-precios.layout-2col{ display:flex; gap:24px; flex-wrap:wrap }
.et360-precios.layout-2col .et360-precios-col{ flex:1 1 260px }
.et360-precios.layout-1col .et360-precios-col{ margin-bottom:14px }

/* Títulos y listas */
.et360-precios-title{ margin-bottom:.35rem }
.et360-precios-list{ margin:.25rem 0 0 1rem; padding:0; list-style:disc }
.et360-precios-label{ font-weight:600 }

/* Alineación por clase */
.et360-precios.align-center,
.et360-precios.align-center .et360-precios-col,
.et360-precios.align-center .et360-precios-list{ text-align:center }
.et360-precios.align-right,
.et360-precios.align-right .et360-precios-col,
.et360-precios.align-right .et360-precios-list{ text-align:right }

/* Quitar viñetas si centras o alineas a derecha (opcional) */
.et360-precios.align-center .et360-precios-list,
.et360-precios.align-right .et360-precios-list{ list-style:none; padding-left:0 }

/* Borde opcional controlado por la clase (border="1|0") */
.et360-precios.has-border .et360-precios-col{
  border:1px solid rgba(0,0,0,.1);
  padding:12px;
  border-radius:6px;
  background:transparent;
}
.et360-precios.no-border .et360-precios-col{
  border:none; padding:0; border-radius:0; background:transparent;
}

/* ============================
   UI común del plugin
   Scope: #et60-ui
   ============================ */

/* Bloques/containers */
#et60-ui .postbox.et360-block {
  padding: 12px;
  margin: 16px 0 20px;
}

#et60-ui .et360-block h2 {
  margin: 0 0 8px 0;
}

/* Tablas y tipografía auxiliar */
#et60-ui .widefat.striped {
  margin-top: 10px;
}

#et60-ui table.widefat th,
#et60-ui table.widefat td {
  vertical-align: middle;
}

#et60-ui td code {
  background: #f6f7f7;
  padding: 1px 4px;
  border-radius: 3px;
}

#et60-ui .description {
  font-size: 12px;
  opacity: .9;
}

#et60-ui form + hr {
  margin: 16px 0;
}

/* ===== Campos y formularios (unificar estilo) ===== */
#et60-ui .et360-field {
  display: flex;
  flex-direction: column;
  gap: 4px;              /* separación etiqueta ↔ control */
  max-width: 520px;      /* mismo ancho sugerido que AU */
}

#et60-ui .et360-field > label {
  font-weight: 600;
  line-height: 1.3;
}

/* Fila de controles con botón al final (como AU) */
#et60-ui .et360-controls-row {
  display: flex;
  gap: 12px;
  align-items: center; /* <-- centrado en altura */
  flex-wrap: wrap;
}

#et60-ui .et360-controls-row.et360-grid-2 {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr); /* tu primera col = 125px */
  column-gap: 12px;
  align-items: center; /* <-- centrado vertical en las dos celdas */
}


/* Consistencia de inputs en este scope */
#et60-ui input[type="text"],
#et60-ui input[type="url"],
#et60-ui input[type="password"],
#et60-ui select,
#et60-ui button {
  line-height: 1.3;
  margin: 0;            /* sin márgenes extra */
}

/* ===== Utilidades específicas ===== */
#et60-ui .et360-ghost {
  font-style: italic;
  color: #555;
}

#et60-ui .et360-url-actions {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin: 6px 0;
}
#et60-ui .et360-url-actions > * { margin: 0; }

#et60-ui .et360-price-list {
  margin: .25rem 0 .75rem 0;
  padding-left: 18px;
}

/* Ancho unificado de controles en la UI del plugin */
#et60-ui .regular-text,
#et60-ui input[type="text"],
#et60-ui input[type="email"],
#et60-ui input[type="url"],
#et60-ui input[type="password"],
#et60-ui select,
#et60-ui textarea {
  width: 520px;
  max-width: 100%;
}

/* ===== Auto-Update ===== */
#et60-ui .et360-au-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#et60-ui .et360-au-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

#et60-ui .et360-au-title {
  margin: 0;
}

/* Atenuar bloque/controles cuando está deshabilitado por el checkbox */
#et60-ui .et360-dim {
  opacity: .6;
  transition: opacity .15s ease-in-out;
}
#et60-ui .et360-dim input,
#et60-ui .et360-dim textarea,
#et60-ui .et360-dim select {
  background: #f6f7f7;
}

#et60-ui .et360-controls-row .regular-text,
#et60-ui .et360-controls-row select {
  width: 100%;
  max-width: 100%;
}

/* ===== Utilidades para sustituir inline styles ===== */
#et60-ui .et360-maxw-100 { max-width: 100%; }
#et60-ui .et360-list-reset { margin: 0; padding-left: 18px; list-style: disc; }
#et60-ui .et360-li-mb-10 { margin-bottom: 10px; }
#et60-ui .et360-thumb-20 {
  width: 20px; height: 20px; object-fit: contain; vertical-align: middle;
  margin-right: 6px; border-radius: 3px;
}
#et60-ui .et360-minw-520 { min-width: 520px; }
#et60-ui .et360-minw-254 { min-width: 254px; }
#et60-ui .et360-minw-225 { min-width: 225px; }
#et60-ui .et360-flex-row { display: flex; gap: 12px; align-items: flex-end; }

/* Mensaje de agenda cerrada + título "otros terapeutas" */
.et360-booking-closed,
.et360-others-title {
  text-align: center;
  margin: 16px 0 12px;
}

/* Contenedor de otros terapeutas */
.et360-others-wrap {
/*  border-top: 1px solid rgba(0,0,0,0.15);
  padding-top: 25px;   */
  text-align: center;
  margin: 30px 0 20px;
}

/* Grid de tarjetas */
.et360-others-grid {
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Tarjeta individual */
.et360-others-card {
  text-align: center;
  max-width: 180px;
}

/* Avatar redondo */
.et360-others-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: block;
  margin: 0 auto 6px;
  object-fit: cover;
  background: #f2f2f2;
  border: 2px solid #000;
}

/* Nombre debajo del logo */
.et360-others-name {
  display: block;
  text-decoration: none;
}

@media (max-width: 768px) {
  /* Contenedor: apila las tarjetas en columna */
  .et360-others-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;  /* que ocupen todo el ancho */
    gap: 1rem;
  }

  /* Tarjeta: 100% de ancho en móvil */
  .et360-others-card {
    width: 100%;
    max-width: none;
  }
}



/* Calendario ET360 – wrapper + spinner + iframe */
.et360-cal-wrapper {
  position: relative;
  width: 100%;
  min-height: 420px;   /* ajusta si quieres más/menos alto mínimo */
}

.et360-cal-iframe {
  width: 100%;
  min-height: 420px;
  border: 0;
}

.et360-cal-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  pointer-events: none;
}

/* Wrapper general del calendario */
.et60-calendar-wrapper {
    margin: 1.5rem 0;
}





/* ===============================
   Calendario – Layout general
   =============================== */

/* Wrapper general del calendario */
.et60-calendar-wrapper {
    margin: 1.5rem 0;
}

/* Avatar / logo del terapeuta */
.et60-cal-ther-avatar-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.et60-cal-ther-avatar {
    width: 80px;
    height: 80px;
    border-radius: 999px;
    border: 2px solid #000;
    object-fit: cover;
    box-shadow: 0 4px 15px rgba(15,23,42,0.28);
}

/* Título del calendario */
.et60-calendar-wrapper h2 {
    text-align: center;
    margin-bottom: 0.75rem;
    font-size: 14px;           /* un poco más pequeño */
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #0f172a;
    font-weight: 600;
}



/* ===============================
   Estilo LEGACY (calendar_style = L)
   =============================== */

/* Wrapper general del calendario */
.et60-calendar-style-legacy .et60-calendar-wrapper {
    background: #b4c4dc;          /* Fondo azul que envuelve toda la cabecera */
    padding: 6px 0;               /* Espacio pequeño */
    border-radius: 10px;          /* Borde redondeado consistente con los slots */
}

/* Tarjeta azul que envuelve SOLO la rejilla de columnas */
.et60-calendar-style-legacy .et60-calendar-grid {
    background: #ffffff;          /* tarjeta blanca general */
    border-radius: 10px;          /* Borde redondeado consistente con los slots */
}

/* Barra negra de título dentro de la tarjeta */
.et60-calendar-style-legacy .et60-calendar-grid h2 {
    background: #000;
    color: #fff;
    padding: 8px 12px;
    margin: 0;
    text-align: center;
    border-radius: 10px 10px 0 0; /* Borde redondeado en la parte superior */
}

/* Título "nombre del terapeuta - citas disponibles" en LEGACY:
   respetar tal cual viene de la BBDD (sin mayúsculas forzadas) */
.et60-calendar-wrapper.et60-calendar-style-legacy h2 {
    text-transform: none !important;   /* quita el UPPERCASE global */
    letter-spacing: normal !important; /* sin tracking raro */
    font-weight: normal;               /* un poco más suave que el moderno */
}

/* Cabecera de cada día: fondo negro, bordes superiores redondeados */
.et60-calendar-style-legacy .et60-cal-header-cell {
    background: #000;
    color: #fff;
    border-bottom: none;
    border-radius: 10px 10px 0 0;      /* Borde redondeado consistente */
    text-transform: capitalize !important; /* Lunes, Mar, etc (no LUN / MAR) */
    font-weight: normal !important;        /* sin negrita fuerte */
}

/* Número de día sin bold (normal) */
.et60-calendar-style-legacy .et60-cal-day-header-num {
    font-weight: normal !important;        /* Quitar bold */
}

/* Agregar margen azul a los lados del calendario */
.et60-calendar-style-legacy .et60-calendar-grid-inner {
    background: #b4c4dc;         /* azul del calendario */
    padding: 5px 3px 5px 3px;    /* margen superior, laterales e inferior */
    border-radius: 0 0 10px 10px; /* Borde redondeado consistente */
    column-gap: 2px;             /* Separación entre columnas */
}

/* Celdas normales (slots) en blanco */
.et60-calendar-style-legacy .et60-cal-cell:not(.et60-cal-header-cell) {
    background: #ffffff;
}

/* Última fila de cada columna: bordes inferiores redondeados + aire abajo */
.et60-calendar-style-legacy .et60-cal-last-row {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding-bottom: 6px; /* Espacio extra solo debajo de la última fila */
}

/* ===== Domingos / festivos en LEGACY ===== */

/* Toda la columna de festivo/domingo con rojo suave */
.et60-calendar-style-legacy .et60-cal-festivo-col:not(.et60-cal-header-cell) {
    background: #e28683;           /* rojo clarito columna */
}

/* Cabecera de festivo: rojo más vivo */
.et60-calendar-style-legacy .et60-cal-header-cell.et60-cal-festivo-col {
    background: #ea3423;           /* rojo intenso cabecera */
    color: #ffffff;
}

/* Última celda de columna festiva: mantener esquinas inferiores redondas */
.et60-calendar-style-legacy .et60-cal-festivo-col.et60-cal-last-row {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* ===== Slots verdes “clásicos” en LEGACY ===== */

.et60-calendar-style-legacy .et60-cal-slot-free {
    border-color: #15803d;         /* verde oscuro borde */
    background: #337c1e;           /* verde más suave */
    color: #ffffff;                /* texto blanco */
}

.et60-calendar-style-legacy .et60-cal-slot-free:hover {
    background: #16a34a;
    box-shadow: 0 4px 10px rgba(34,197,94,0.45);
}

/* Tarjeta principal del calendario (sombra, fondo blanco) */
.et60-calendar-grid {
    margin-top: 1.25rem;
    border-radius: 16px;
    padding: 8px 4px 9px;      /* ← antes 16px 4px 18px (la mitad de margen arriba y abajo) */
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.08);
    box-shadow:
        0 18px 45px rgba(15,23,42,0.18),
        0 0 0 1px rgba(148,163,184,0.12);
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.4;
}

/* Grid interna: columnas = días, filas = horas */
.et60-calendar-grid-inner {
    display: grid;
    column-gap: 1px;          /* separación entre columnas (móvil) */
    row-gap: 0;               /* sin separación entre filas → sin “rayas blancas” */
    background: #ffffff;
    border-radius: 10px;
    min-width: 320px;         /* pensado para móvil estrecho */
}

/* Cuando ocultamos el calendario para mostrar el formulario */
.et60-cal-calendar-hidden {
    display: none;
}

/* Celda base */
.et60-cal-cell {
    background: #ffffff;
    padding: 1px 1px;         /* margen mínimo */
}

/* ===============================
   Cabecera de días (LUN / 24 / NOV)
   =============================== */

.et60-cal-header-cell {
    background: #ffffff;
    color: #0f172a;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
    padding-top: 2px;         /* menos espacio arriba */
    padding-bottom: 3px;      /* menos espacio abajo */
    border-bottom: 1px solid rgba(148,163,184,0.5);
    line-height: 1.05;
}

/* Día, número y mes en 3 líneas con menos espacio entre ellas */
.et60-cal-day-header-dow,
.et60-cal-day-header-num,
.et60-cal-day-header-month {
    display: block;
    line-height: 1.05;
    margin: 1px 0;        /* espacio entre LUN / 24 / NOV */
}

/* Día numérico un poco más grande */
.et60-cal-day-header-num {
    font-size: 13px;
    font-weight: 600;
}

/* Mes abreviado (NOV, DIC...) */
.et60-cal-day-header-month {
    font-size: 11px;
    opacity: 0.75;
}




/* Tarjeta principal del calendario (sombra, fondo blanco) */
/* --- Estilo base: móvil --- */
.et60-calendar-grid {
    margin-top: 1.25rem;
    border-radius: 16px;
    padding: 8px 4px 9px;      /* ← antes 16px 4px 18px (la mitad de margen arriba y abajo) */
    background: #ffffff;
    border: 1px solid rgba(15,23,42,0.08);
    box-shadow:
        0 18px 45px rgba(15,23,42,0.18),
        0 0 0 1px rgba(148,163,184,0.12);
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.4;
}

/* Grid interna: columnas = días, filas = horas */
.et60-calendar-grid-inner {
    display: grid;
    column-gap: 1px;          /* separación entre columnas (móvil) */
    row-gap: 0;               /* sin separación entre filas → sin “rayas blancas” */
    background: #ffffff;
    border-radius: 10px;
    min-width: 320px;         /* pensado para móvil estrecho */
}

/* Cuando ocultamos el calendario para mostrar el formulario */
.et60-cal-calendar-hidden {
    display: none;
}

/* Celda base */
.et60-cal-cell {
    background: #ffffff;
    padding: 1px 1px;         /* margen mínimo */
}

/* ===============================
   Cabecera de días (LUN / 24 / NOV)
   =============================== */

.et60-cal-header-cell {
    background: #ffffff;
    color: #0f172a;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
    padding-top: 2px;         /* menos espacio arriba */
    padding-bottom: 3px;      /* menos espacio abajo */
    border-bottom: 1px solid rgba(148,163,184,0.5);
    line-height: 1.05;
}

/* Ocultamos los <br> del PHP, solo usamos los spans */
.et60-cal-header-cell br {
    display: none;
}

/* Día, número y mes en 3 líneas con menos espacio entre ellas */
.et60-cal-day-header-dow,
.et60-cal-day-header-num,
.et60-cal-day-header-month {
    display: block;
    line-height: 1.05;
    margin: 1px 0;        /* espacio entre LUN / 24 / NOV */
}

/* Día numérico un poco más grande */
.et60-cal-day-header-num {
    font-size: 13px;
    font-weight: 600;
}

/* Mes abreviado (NOV, DIC...) */
.et60-cal-day-header-month {
    font-size: 11px;
    opacity: 0.75;
}

/* ===============================
   Slots de horas
   =============================== */

/* Contenedor base (tanto para huecos como vacíos) */
.et60-cal-slot {
    min-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    border: 1px solid transparent;
    font-size: 12px;      /* tamaño de letra de las pastillas */
    white-space: nowrap;
    background: transparent;
    padding: 0;
    margin: 0 auto;       /* centra la pastilla en la columna */
    max-width: 100%;      /* no sobresale de la celda */
    box-sizing: border-box;
}

/* Slot libre – botón clicable */
/* Base (móvil por defecto): 2px más estrecha */
.et60-cal-slot-free {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #22c55e;
    background: #dcfce7;
    color: #166534;
    font-weight: 500;
    cursor: pointer;
    padding: 1px 3px;     /* móvil: un pelín más estrechas */
    transition:
        background 0.15s ease,
        transform 0.1s ease,
        box-shadow 0.1s ease;
    box-shadow: 0 1px 0 rgba(15,23,42,0.04);
}

.et60-cal-slot-free:hover {
    background: #bbf7d0;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(34,197,94,0.45);
}

.et60-cal-slot-free:focus {
    outline: 2px solid rgba(34,197,94,0.8);
    outline-offset: 1px;
}

/* Slot vacío – solo para mantener alineación */
.et60-cal-slot-empty {
    background: transparent;
    color: transparent;
    padding: 1px 0;
}

/* Primera fila de horas: un poco de espacio bajo la cabecera */
.et60-cal-first-row {
    padding-top: 5px;
}

/* ===============================
   Domingos / festivos
   =============================== */

/* Columna de festivo/domingo: fondo rojo muy suave */
.et60-cal-festivo-col {
    background: #fef2f2;
}

/* Cabecera de festivo/domingo: fondo rojo y esquinas superiores redondeadas */
.et60-cal-header-cell.et60-cal-festivo-col {
    background: #fef2f2;
    border-bottom-color: rgba(220,38,38,0.4);
    color: #991b1b;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

/* Última fila de festivo/domingo: esquinas inferiores redondeadas */
.et60-cal-festivo-col.et60-cal-last-row {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* ===============================
   Panel de reserva (formulario)
   =============================== */

.et60-cal-booking-panel {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(148,163,184,0.4);
    font-size: 15px;
    position: relative;
}

/* Misma altura para formulario de reserva y panel de resultado */
.et60-cal-booking-panel,
.et60-cal-result-panel {
    height: 400px;          /* Ajusta este valor si quieres más/menos alto */
    box-sizing: border-box;
}

/* Panel de reserva oculto por defecto */
.et60-cal-booking-panel-hidden {
    display: none;
}

/* Botón X para cerrar formulario */
.et60-cal-booking-close {
    position: absolute;
    top: 0.1rem;
    right: 0.1rem;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 4px;
}

.et60-cal-booking-close:hover {
    color: #0f172a;
}

/* Texto de cita seleccionada */
.et60-cal-booking-selected {
    margin-bottom: 0.75rem;
    padding-right: 1.8rem; /* hueco para la X */
    text-align: center;
}

.et60-cal-booking-selected-slot {
    font-weight: 600;
}

/* Fila de formulario */
.et60-cal-booking-form-row {
    margin-bottom: 0.7rem;
}

/* Inputs y textarea – 16px para evitar zoom en iPhone */
.et60-cal-booking-form-row input[type="text"],
.et60-cal-booking-form-row input[type="tel"],
.et60-cal-booking-form-row input[type="email"],
.et60-cal-booking-form-row textarea {
    width: 100%;
    border-radius: 8px;
    border: 1px solid rgba(148,163,184,0.9);
    padding: 8px 10px;
    font-size: 16px;
    box-sizing: border-box;
    font-family: inherit;       /* misma fuente en todos */
}

.et60-cal-booking-form-row textarea {
    min-height: 80px;
    resize: vertical;
}

/* Placeholder homogéneo */
.et60-cal-booking-form-row input::placeholder,
.et60-cal-booking-form-row textarea::placeholder {
    font-family: inherit;
    color: #9ca3af;
}

/* Radios “Individual / Pareja” */
.et60-cal-booking-radios {
    display: flex;
    gap: 1rem;
    font-size: 14px;
}

.et60-cal-booking-radios label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 400;
}

/* Botón Reservar – borde más cuadrado, estilo festivo */
.et60-cal-booking-submit {
    margin-top: 0.5rem;
    margin-bottom: 0.7rem;   /* mismo espacio que entre los inputs y el textarea */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;                      /* ocupa todo el ancho */
    padding: 10px 18px;
    border-radius: 5px;
    border: 1px solid #dc2626;        /* rojo (festivo) */
    background: #fef2f2;              /* fondo festivo */
    color: #991b1b;                   /* texto rojo oscuro */
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition:
        background 0.15s ease,
        transform 0.1s ease,
        box-shadow 0.1s ease;
}

.et60-cal-booking-submit:hover {
    background: #fee2e2;              /* un poco más intenso al hover */
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(220,38,38,0.2);
}

.et60-cal-booking-submit:focus {
    outline: 2px solid rgba(220,38,38,0.9);
    outline-offset: 2px;
}

/* ===============================
   Panel de resultado de reserva
   =============================== */

.et60-cal-result-panel {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(148,163,184,0.4);
    font-size: 15px;
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
}

/* Mientras el panel está en modo "cargando" (spinner), ocultar la X */
.et60-cal-result-panel.et60-cal-result-loading .et60-cal-result-close {
    display: none;
}

.et60-cal-result-panel-hidden {
    display: none;
}

/* X de cierre del resultado */
.et60-cal-result-close {
    position: absolute;
    top: 0.1rem;
    right: 0.1rem;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 4px;
}

.et60-cal-result-close:hover {
    color: #0f172a;
}

/* Área donde se pinta el spinner o el mensaje de confirmación */
.et60-cal-result-message {
    flex: 1;               /* ocupa todo el alto disponible dentro del panel */
    display: block;        /* comportamiento normal → respeta los <br> */
    text-align: center;
    padding: 0.75rem 0;    /* solo vertical, sin padding horizontal */
}

/* Centrar el spinner dentro del área de mensaje */
.et60-cal-result-message .et60-cal-spinner {
    height: 100%;
    display: flex;
    align-items: center;      /* centrado vertical */
    justify-content: center;  /* centrado horizontal */
}

.et60-cal-result-message strong {
    font-weight: 700;
}

/* Botón "Añade la cita a tu calendario" */
.et60-cal-add-to-calendar {
    margin-top: 0.75rem;
    padding: 8px 16px;
    border-radius: 5px;
    border: 1px solid #22c55e;
    background: #dcfce7;
    color: #166534;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition:
        background 0.15s ease,
        transform 0.1s ease,
        box-shadow 0.1s ease;
}

.et60-cal-add-to-calendar:hover {
    background: #bbf7d0;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(34,197,94,0.45);
}

/* ===============================
   Bloque de debug (texto)
   =============================== */

.et60-cal-debug {
    margin-top: 1rem;
    padding: 0.75rem 0.5rem;
    font-size: 12px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px dashed #cbd5f5;
    color: #0f172a;
}

.et60-cal-debug pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-all;
}

/* ===============================
   Estilos ESCRITORIO (≥ 768px)
   =============================== */

@media (min-width: 768px) {
    /* La tarjeta en escritorio: 550 de ancho, 600 de alto máx y centrada */
    .et60-calendar-grid {
        max-width: 550px;
        max-height: 600px;
        margin-left: auto;
        margin-right: auto;
        padding: 10px 18px 11px;  /* ← antes 20px 18px 22px: mitad de margen vertical */
        overflow-y: auto;         /* scroll interno si se pasa de alto */
    }

    /* El grid interno se adapta al ancho disponible y sin separación entre columnas */
    .et60-calendar-grid-inner {
        min-width: 0;
        column-gap: 0;
        row-gap: 0;
    }

    /* Logo más pequeño en escritorio */
    .et60-cal-ther-avatar {
        width: 80px;
        height: 80px;
        border-width: 2px;
    }

    /* En escritorio, pastilla del slot con padding un poco mayor (cómodo) */
    .et60-cal-slot-free {
        padding: 1px 4px;     /* móvil 3px, escritorio 4px */
    }
}


/* ============================
   Footer RRSS
   ============================ */

#et360-social-footer {
  text-align: center;
  margin-top: 12px;
}

#et360-social-footer .et360-social-title {
  font-size: 12px;
  font-weight: 700;
  opacity: .8;
  margin-bottom: 6px;
}

#et360-social-footer .et360-social-link {
  display: inline-block;
  margin: 0 8px;
  color: inherit;
}

#et360-social-footer .et360-social-icon {
  width: 28px;
  height: 28px;
  vertical-align: middle;
}


/* ============================
   Footer Legal, Privacidad, Cookies
   ============================ */

#et360-legals-footer{
  width: 100%;
  margin: 18px 0 0;
  padding: 0 10px 18px;
  box-sizing: border-box;
}

#et360-legals-footer .et360-legals-line{
  width: 100%;
  height: 1px;
  background: rgba(0,0,0,0.25);
  margin-bottom: 10px;
}

#et360-legals-footer .et360-legals-links{
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}

#et360-legals-footer .et360-legals-links a{
  text-decoration: underline;
}

#et360-legals-footer .et360-legals-sep{
  margin: 0 8px;
  opacity: .7;
}

/* ============================
   Botón peligro: reset total de campos en BBDD
   ============================ */
   
.et360-button-danger {
  background-color: #d63638;   /* rojo WP estilo notice-error */
  border-color: #d63638;
  color: #ffffff;
}

.et360-button-danger:hover,
.et360-button-danger:focus {
  background-color: #b12224;
  border-color: #b12224;
  color: #ffffff;
}

/* Botón de reset en rojo estilo "peligro" */
.wp-core-ui .button.et360-button-danger,
.wp-core-ui .button-secondary.et360-button-danger,
#et360_reset_options_btn.et360-button-danger {
  background-color: #d63638 !important;  /* rojo WP tipo notice-error */
  border-color: #d63638 !important;
  color: #ffffff !important;
}

.wp-core-ui .button.et360-button-danger:hover,
.wp-core-ui .button-secondary.et360-button-danger:hover,
#et360_reset_options_btn.et360-button-danger:hover,
.wp-core-ui .button.et360-button-danger:focus,
.wp-core-ui .button-secondary.et360-button-danger:focus,
#et360_reset_options_btn.et360-button-danger:focus {
  background-color: #b12224 !important;
  border-color: #b12224 !important;
  color: #ffffff !important;
}
