/* General Enhancements */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #f8f9fa;
    color: #333;
}

h1, h2, h3 {
    font-weight: bold;
}

/* ========================= */
/* Formulario y Contenedor */
/* ========================= */

/* Estilo unificado para formularios */
.form-layout {
    width: 90%;              /* Ocupa el 90% del ancho en dispositivos pequeños */
    max-width: 40rem;        /* Aproximadamente 640px */
    margin: 0 auto;
    padding: 2rem;           /* 32px si 1rem = 16px */
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.95);
    border: 0.063rem solid #ddd; /* ~1px */
    box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.1);
    border-radius: 0.625rem;   /* 10px */
}

/* En dispositivos medianos y grandes, se amplía el ancho máximo */
@media (min-width: 48rem) { /* 768px */
    .form-layout {
        max-width: 50rem;    /* Aproximadamente 800px */
    }
}

/* Contenedor adaptable para grid y otros componentes */
.contenedor-grid {
    width: 100%;
    max-width: 75rem;       /* Aproximadamente 1200px */
    margin: 0 auto;
    padding: 1rem;
    box-sizing: border-box;
}

/* ========================= */
/* Input y Botones */
/* ========================= */
input#sell-filter {
    border-radius: 0.5rem;
    padding: 0.625rem;
    border: 0.063rem solid #ccc;
    transition: box-shadow 0.2s ease-in-out;
}

input#sell-filter:focus {
    box-shadow: 0 0 0.625rem rgba(0, 123, 255, 0.8);
    border: 0.063rem solid #132f44;
}

.btn {
    border-radius: 0.75rem;
    padding: 0.625rem 0.938rem;
    font-size: 1rem;
}

/* ========================= */
/* Tablas */
/* ========================= */
.table {
    border-radius: 0.75rem;
    overflow: hidden;
}

.table thead {
    border-radius: 0.75rem;
}

.table-hover tbody tr:hover {
    background-color: rgba(0,123,255,0.1);
}

/* ========================= */
/* Video y Fondo */
/* ========================= */
.video-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -2;
}

.video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    object-fit: cover;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
}

/* ========================= */
/* Navbar */
/* ========================= */
.logo-small {
    height: 3.75rem; /* 60px */
}

.login-page .navbar .logo-large {
    height: 6.25rem; /* 100px */
}

.login-page .navbar .container {
    display: flex;
    justify-content: center;
}

.login-page .navbar-toggler {
    display: none;
}

.navbar.bg-black.navbar-dark {
    --bs-nav-link-hover-color: #09c3d9 !important;
}

nav.navbar.navbar-dark.bg-black ul.navbar-nav li.nav-item a.nav-link:hover,
nav.navbar.navbar-dark.bg-black ul.navbar-nav li.nav-item a.nav-link:focus,
nav.navbar.navbar-dark.bg-black ul.navbar-nav li.nav-item a.nav-link:active {
    color: #23a16b !important;
}

.navbar-dark.bg-black .navbar-nav .nav-link.active {
    color: #23a16b !important;
}

/* ========================= */
/* Colores de Texto y Tablas */
/* ========================= */
.text-primary {
    color: #000 !important;
}

.text-muted {
    color: #000 !important;
}

.table thead th {
    color: #ffffff !important;
    background-color: #000000 !important; 
}


.order-card {
    width: 200px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    margin: 10px;
    text-align: center;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);

    /* Flexbox para ubicar el botón al final */
    display: flex;
    flex-direction: column;  /* Ordena el contenido en una columna */
    justify-content: space-between; /* Empuja el botón hacia abajo */
}

/* Opcional: si quieres una altura fija o mínima */
.order-card {
    min-height: 250px; /* Ajusta según necesites */
}

/* Tablas con colores de marca */
.table {
  border: 1px solid #ddd;
  color: #333; /* texto por defecto */
}

/* Encabezado negro con texto blanco y línea roja */
.table thead th {
  background-color: #132f44 !important;
  color: #fff !important;
  border: none;
  border-bottom: 3px solid #23a16b; /* línea roja sutil */
  padding: 0.75rem 1rem;
}

/* Filas alternas con sutil background rojo claro */
.table tbody tr:nth-child(odd) {
  background-color: rgba(255, 0, 0, 0.05);
}

/* Filas pares limpias */
.table tbody tr:nth-child(even) {
  background-color: #fff;
}

/* Celdas: bordes grises claros y texto oscuro */
.table td, 
.table th {
  border-top: 1px solid #ddd;
  vertical-align: middle;
}

/* Al pasar el mouse, resaltar fila */
.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

/* Si necesitas tablas con fondo oscuro */
.table-dark {
  background-color: #000;
  color: #fff;
}
.table-dark thead th {
  background-color: #111 !important;
  border-bottom: 3px solid #23a16b;
}
.table-dark tbody tr {
  border-top: 1px solid #333;
}

.navbar-brand img {
  height: 40px;
  /* opcional: si quieres centrarlo mejor */
  display: inline-block;
  vertical-align: middle;
}

/* Hero: botón Agendar Cita más grande */
.hero .btn-primary-glow {
  font-size: 1rem !important;     /* Aumenta el tamaño de letra */
  padding: 1rem 5.5rem !important; /* Aumenta el padding vertical y horizontal */
}


/* styles.css */
/* Asigna Montserrat a todo el sitio */
html, body, h1, h2, h3, h4, h5, h6,
p, a, button, input, textarea, select {
  font-family: 'Roboto', sans-serif !important;
}

/* Carousel full‐screen */
#heroCarousel .carousel-item {
  height: 100vh;
}
#heroCarousel .carousel-item video,
#heroCarousel .carousel-item img {
  object-fit: cover;
  width: 100%;
  height: 100vh;
}

/* Capa oscura */
.video-overlay {
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none; /* permite clicar los controles debajo */
}

/* Opcional: centrar la caption un poco más arriba */
#heroCarousel .carousel-caption {
  bottom: 40%;
}

/* Ajuste para que no se muestre borde en móviles al cambiar slide */
.carousel-fade .carousel-item {
  transition: opacity .8s ease-in-out;
}


/* Botón sobre el vídeo: esquinas redondeadas y sin subrayado */
#heroCarousel .carousel-caption .btn-primary-glow {
  border-radius: 0.7rem !important;  /* ajusta el radio a tu gusto */
  text-decoration: none !important;   /* quita cualquier subrayado */
  font-size: 1rem !important;     /* Aumenta el tamaño de letra */
  padding: 1rem 5.5rem !important; /* Aumenta el padding vertical y horizontal */
}

/* Asegura que al hacer hover tampoco aparezca subrayado */
#heroCarousel .carousel-caption .btn-primary-glow:hover {
  text-decoration: none !important;
}
