/* Estilos básicos formulario reserva podología */
.rp-contenedor-form {
    max-width: 520px;
    margin: 20px auto;
    padding: 20px;
    background:#fafafa;
    border-radius:8px;
    border:1px solid #e1e1e1;
}
.rp-form .rp-grupo { margin-bottom:15px; }
.rp-form label { display:block; font-weight:600; margin-bottom:4px; }
.rp-form input,
.rp-form select,
.rp-form textarea {
    width:100%;
    padding:8px;
    border-radius:4px;
    border:1px solid #ccc;
    box-sizing:border-box;
}
.rp-boton {
    background:#0073aa;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:4px;
    cursor:pointer;
}
.rp-boton:hover { background:#005f8a; }
.rp-alert { padding:10px; border-radius:4px; margin-bottom:15px; }
.rp-ok { background:#e6ffed; border:1px solid #46b450; }
.rp-error { background:#ffe6e6; border:1px solid #dc3232; }

/* Colores calendario */
.flatpickr-day.rp-dia-disponible {
    background:#d4f8d4 !important;
    color:#000 !important;
    border-radius:50%;
}
.flatpickr-day.rp-dia-no-disponible {
    background:#f8d4d4 !important;
    color:#999 !important;
    border-radius:50%;
}
.flatpickr-day.flatpickr-disabled {
    background:#f8d4d4 !important;
    color:#ccc !important;
}

.rp-telefono-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}
.rp-telefono-prefix {
    padding: 8px 10px;
    border-radius: 4px;
    background: #eee;
    border: 1px solid #ccc;
    font-size: 13px;
    white-space: nowrap;
}
.rp-telefono-wrap input {
    flex: 1;
}

/* Botones panel */
.rp-btn{
  display:inline-block;
  padding:8px 12px;
  border-radius:6px;
  text-decoration:none;
  border:1px solid #0073aa;
  cursor:pointer;
}
.rp-btn-primary{
  background:#0073aa;
  color:#fff;
}
.rp-btn-primary:hover{
  background:#005f8a;
  color:#fff;
}

/* Panel: barra superior con botones */
.rp-panel-topbar{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  /* Menos separación con la tabla */
  margin:10px 0 10px;
  width:100%;
}
.rp-panel-topbar-left{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.rp-panel-topbar-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-left:auto;
}

.rp-btn-success{
  background:#28a745;
  border-color:#28a745;
  color:#fff;
}
.rp-btn-success:hover{
  background:#218838;
  border-color:#218838;
  color:#fff;
}

.rp-btn-danger{
  background:#dc3545;
  border-color:#dc3545;
  color:#fff;
}
.rp-btn-danger:hover{
  background:#c82333;
  border-color:#c82333;
  color:#fff;
}


/* Panel: numeración de filas */
.rp-col-num{width:60px;text-align:center;font-weight:600;}


/* Acciones: ordenar botones (panel/admin) */
.rp-acciones-botones{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:center;
}
.rp-acciones-botones .rp-btn + .rp-btn{ margin-left:0; }
.rp-acciones-botones .rp-btn{ white-space:nowrap; }

/* Botón WhatsApp */
.rp-btn-whatsapp{
  background:#25D366;
  border-color:#25D366;
  color:#fff;
}
.rp-btn-whatsapp:hover{
  background:#1ebe5d;
  border-color:#1ebe5d;
  color:#fff;
}


/* --- Calendario (Flatpickr): mostrar SOLO días del mes actual ---
   Oculta completamente los días del mes anterior/siguiente (deja espacios en blanco). */
.flatpickr-calendar .flatpickr-day.prevMonthDay,
.flatpickr-calendar .flatpickr-day.nextMonthDay {
  visibility: hidden !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

/* Centrar encabezado mes/año */
.flatpickr-calendar .flatpickr-current-month {
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
}


/* ===== Panel (cpanel) estilo card (igual al login) ===== */
.rp-panel-shell{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  min-height:70vh;
  display:flex;
  align-items:flex-start;
  justify-content:stretch;
  padding:0 !important;
  background:linear-gradient(180deg, rgba(120,191,186,.10), rgba(0,0,0,0));
}

.rp-panel-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:0 !important;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  overflow:hidden;
}

.rp-panel-head{
  padding:18px 22px;
  border-bottom:1px solid #e2e8f0;
}
.rp-panel-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.rp-panel-logo{
  /* Forzamos tamaño pequeño (el theme a veces pone img al 100%) */
  width:10% !important;
  max-width:90px !important;
  min-width:56px;
  height:auto;
  display:block;
}
.rp-panel-title{
  margin:0;
  font-size:22px;
  line-height:1.2;
  font-weight:900;
  color:#0f172a;
}
.rp-panel-sub{
  margin:4px 0 0;
  font-size:13px;
  color:#64748b;
}
.rp-panel-body{
  padding: 5px 22px 6px !important;
}

/* Mejoras tabla del panel */
.rp-panel-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
.rp-panel-table th,
.rp-panel-table td{
  padding:10px 10px;
  border-bottom:1px solid #e2e8f0;
  vertical-align:top;
}
.rp-panel-table th{
  background:#f8fafc;
  color:#0f172a;
  font-weight:800;
  font-size:13px;
}
.rp-panel-table tr:last-child td{
  border-bottom:0;
}
.rp-panel-table td{
  font-size:13px;
  color:#334155;
}

/* Inputs/filtros */
.rp-panel-citas input[type="text"],
.rp-panel-citas input[type="date"],
.rp-panel-citas select{
  padding:10px 10px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:#fff;
  outline:none;
}
.rp-panel-citas input[type="text"]:focus,
.rp-panel-citas input[type="date"]:focus,
.rp-panel-citas select:focus{
  border-color:#94a3b8;
  box-shadow:0 0 0 4px rgba(148,163,184,.25);
}

/* Botones (manteniendo compatibilidad con estilos existentes) */
.rp-panel-citas .rp-btn{
  border-radius:12px !important;
  padding:10px 12px !important;
  font-weight:800 !important;
}

/* ===== Cpanel de citas: filtros + tabla (menos "plano") ===== */
.rp-panel-filtro-fechas{
  background:linear-gradient(180deg, rgba(120,191,186,.10), rgba(248,250,252,1));
  border:1px solid #e2e8f0;
  border-radius:16px;
  /* Más compacto */
  padding:10px 12px 8px;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  margin:8px 0 10px;
}
.rp-panel-filtro-fechas label{
  font-size:12px;
  font-weight:800;
  color:#0f172a;
  letter-spacing:.2px;
}
.rp-panel-filtro-fechas .rp-buscar-wrap input[type="text"]{
  border-radius:14px;
}
.rp-panel-filtro-fechas .rp-btn-filtrar,
.rp-panel-pagination .button{
  border-radius:12px !important;
  padding:10px 14px !important;
  font-weight:900 !important;
  border:1px solid #0f172a !important;
  background:#0f172a !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(15,23,42,.10) !important;
  transition:transform .08s ease, box-shadow .15s ease, opacity .15s ease !important;
}
.rp-panel-filtro-fechas .rp-btn-filtrar:hover,
.rp-panel-pagination .button:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
}

/* Tabla del listado (usa clases WP: widefat/striped) */
.rp-panel-citas table.wp-list-table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid #e2e8f0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  box-shadow:0 14px 34px rgba(15,23,42,.06) !important;
  background:#fff !important;
}
.rp-panel-citas table.wp-list-table thead th{
  background:#f8fafc !important;
  color:#0f172a !important;
  font-weight:900 !important;
  font-size:12.5px !important;
  border-bottom:1px solid #e2e8f0 !important;
  padding:12px 10px !important;
}
.rp-panel-citas table.wp-list-table tbody td{
  border-bottom:1px solid #e2e8f0 !important;
  padding:12px 10px !important;
  font-size:13px !important;
  color:#334155 !important;
  vertical-align:middle !important;
}
.rp-panel-citas table.wp-list-table tbody tr:last-child td{
  border-bottom:0 !important;
}
.rp-panel-citas table.wp-list-table.striped > tbody > :nth-child(odd){
  background:rgba(148,163,184,.10) !important;
}
.rp-panel-citas table.wp-list-table tbody tr:hover td{
  background:rgba(120,191,186,.10) !important;
}

/* Botones de acciones: más modernos */
.rp-acciones-botones .rp-btn{
  border-radius:12px !important;
  padding:8px 10px !important;
  font-weight:900 !important;
  font-size:12.5px !important;
  box-shadow:0 10px 18px rgba(15,23,42,.08) !important;
  transition:transform .08s ease, box-shadow .15s ease, opacity .15s ease !important;
}
.rp-acciones-botones .rp-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 24px rgba(15,23,42,.12) !important;
}
.rp-acciones-botones .rp-btn:active{ transform:translateY(0) !important; }


/* v29: Compactar espacio entre topbar (filtros) y tabla en listado */
.rp-panel-shell .rp-panel-topbar.rp-panel-topbar-has-filters{
  margin-bottom:6px !important;
}
.rp-panel-shell .rp-panel-topbar{
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.rp-panel-shell .rp-panel-pagination.rp-panel-pagination-top{
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
}
.rp-panel-shell table.wp-list-table.widefat,
.rp-panel-shell table.widefat{
  margin-top:6px !important;
}

/* v31: quitar padding vertical del shortcode (top/bottom) */
.rp-panel-topbar{padding-top:0 !important;padding-bottom:0 !important;}

/* Elementor: quitar padding/margen del widget shortcode (evita espacio arriba/abajo del panel) */
.elementor .elementor-widget-shortcode,
.elementor-widget-shortcode{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.elementor-widget-shortcode .elementor-widget-container,
.elementor-widget-shortcode .elementor-shortcode{
  padding:0 !important; /* Elementor suele aplicar 10px por lado */
  margin:0 !important;
}

/* Si el theme/elementor agrega padding al wrap del widget, lo anulamos SOLO cuando contiene nuestro panel */
.elementor-widget-shortcode .elementor-widget-container .rp-panel-shell{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
