body{
    margin-top:20px;
    background:#eee;
}
/* My Account */
.payments-item img.mr-3 {
    width: 47px;
}
.order-list .btn {
    border-radius: 2px;
    min-width: 121px;
    font-size: 13px;
    padding: 7px 0 7px 0;
}
.osahan-account-page-left .nav-link {
    padding: 18px 20px;
    border: none;
    font-weight: 600;
    color: #535665;
}
.osahan-account-page-left .nav-link i {
    width: 28px;
    height: 28px;
    background: #535665;
    display: inline-block;
    text-align: center;
    line-height: 29px;
    font-size: 15px;
    border-radius: 50px;
    margin: 0 7px 0 0px;
    color: #fff;
}
.osahan-account-page-left .nav-link.active {
    background: #f3f7f8;
    color: #282c3f !important;
}
.osahan-account-page-left .nav-link.active i {
    background: #049ce2 !important;
}
.osahan-user-media img {
    width: 90px;
}
.card offer-card h5.card-title {
    border: 2px dotted #000;
}
.card.offer-card h5 {
    border: 1px dotted #daceb7;
    display: inline-table;
    color: #17a2b8;
    margin: 0 0 19px 0;
    font-size: 15px;
    padding: 6px 10px 6px 6px;
    border-radius: 2px;
    background: #fffae6;
    position: relative;
}
.card.offer-card h5 img {
    height: 22px;
    object-fit: cover;
    width: 22px;
    margin: 0 8px 0 0;
    border-radius: 2px;
}
.card.offer-card h5:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid #daceb7;
    content: "";
    left: 30px;
    position: absolute;
    bottom: 0;
}
.card.offer-card h5:before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #daceb7;
    content: "";
    left: 30px;
    position: absolute;
    top: 0;
}
.payments-item .media {
    align-items: center;
}
.payments-item .media img {
    margin: 0 40px 0 11px !important;
}
.reviews-members .media .mr-3 {
    width: 56px;
    height: 56px;
    object-fit: cover;
}
.order-list img.mr-4 {
    width: 70px;
    height: 70px;
    object-fit: cover;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
    border-radius: 2px;
}
.osahan-cart-item p.text-gray.float-right {
    margin: 3px 0 0 0;
    font-size: 12px;
}
.osahan-cart-item .food-item {
    vertical-align: bottom;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: #000000;
}

.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
}

.rounded-pill {
    border-radius: 50rem!important;
}
a:hover{
    text-decoration:none;
}
.badge-custom {
    background-color: #049ce2;
    color: white;
}

#contenido {
    display: none;
}
        
/* Estilos para el GIF de carga */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff; /* Fondo blanco para la pantalla de carga */
    z-index: 1000; /* Asegura que esté sobre todo */
    transition: opacity 0.5s ease;
}
.custom-btns {
    background: #049ce2;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    transition: background 0.3s ease;
    width: auto; /* Botones ocupan todo el ancho disponible */
}

.custom-btns:hover {
    background: linear-gradient(90deg, #003d66 0%, #049ce2 100%);
    color: white;
    cursor: pointer;
}
@font-face {
    font-family: 'Trebuchet MS';
    src: url('/static/fonts/trebuc.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Trebuchet MS Italic';
    src: url('/static/fonts/Trebuchet-MS-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

body {
    font-family: 'Trebuchet MS', sans-serif;
}
.bg-beige { background-color: #fbf8f2; }
  .bg-brown { background-color: #5a3113; }
  .text-brown { color: #5a3113; }
  
  /* Estilo para las etiquetas (chips) */
  .chip {
    background-color: #ece3d3;
    color: #5a3113;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    text-transform: uppercase;
  }

  /* Botones específicos de esta sección */
  .btn-brown-fill {
    background-color: #5a3113;
    color: #fff;
    border: 1px solid #5a3113;
  }
  .btn-brown-fill:hover {
    background-color: #3e220d;
    color: #fff;
  }
  .btn-brown-outline {
    background-color: transparent;
    color: #5a3113;
    border: 1px solid #c7bca7;
  }
  .btn-brown-outline:hover {
    background-color: #f3ede3;
    color: #5a3113;
  }

  /* Kicker (Textos pequeños encima de los títulos) */
  .kicker-text {
    font-size: 0.65rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 800;
    color: #8b8074;
    margin-bottom: 0.5rem;
  }

  /* Ajustes de imágenes en las tarjetas */
  .card-img-custom {
    height: 280px;
    object-fit: cover;
  }
  .card-img-small {
    height: 180px;
    object-fit: cover;
  }
    /* Tipografía y colores base */
    body {
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      background-color: #f3ede3;
    }
    
    /* Barra de Navegación */
    .navbar-custom {
      background-color: #eaddcc; /* Beige claro de la imagen */
      border-bottom: 1px solid #d9cebc;
    }
    .nav-link {
      color: #4a4a4a !important;
      font-size: 0.9rem;
    }
    .brand-title {
      font-size: 1.1rem;
      letter-spacing: 2px;
      color: #1a1a1a;
      font-weight: 800;
      line-height: 1;
    }
    .brand-subtitle {
      font-size: 0.65rem;
      letter-spacing: 1.5px;
      color: #6c757d;
    }

    /* Sección Hero y Fondo */
    .hero-section {
      /* REEMPLAZAR CON TU IMAGEN DE FONDO */
      background: url('/static/assets/fondocafe.webp') center/cover no-repeat;
      min-height: calc(100vh - 76px);
      position: relative;
      display: flex;
    }
    .hero-overlay {
      /* Oscurecimiento para que el texto resalte */
      background: linear-gradient(90deg, rgba(20,10,5,0.9) 0%, rgba(30,15,10,0.6) 45%, rgba(0,0,0,0.1) 100%);
      position: absolute;
      inset: 0;
    }

    /* Botones y Etiquetas (Glassmorphism) */
    .badge-glass {
      background-color: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(10px);
      font-weight: 700;
      letter-spacing: 1px;
    }
    .btn-brown {
      background-color: #6c3614; 
      color: white;
      border: 1px solid #6c3614;
    }
    .btn-brown:hover {
      background-color: #4f260d;
      color: white;
    }
    .btn-glass {
      background-color: rgba(255, 255, 255, 0.05);
      color: white;
      border: 1px solid rgba(255, 255, 255, 0.3);
      backdrop-filter: blur(5px);
    }
    .btn-glass:hover {
      background-color: rgba(255, 255, 255, 0.15);
      color: white;
    }

    /* Panel Derecho de Vidrio */
    .glass-panel {
      background: rgba(255, 255, 255, 0.04);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border-left: 1px solid rgba(255, 255, 255, 0.1);
      border-right: 1px solid rgba(255, 255, 255, 0.05);
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 3rem;
    }

    /* Tarjeta Blanca de Video */
    .video-card {
      background-color: #f3ede3;
      border-radius: 12px;
      overflow: hidden;
    }
    .video-img-wrapper {
      height: 100%;
      min-height: 200px;
    }
    .video-img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .badge-outline {
      border: 1px solid #b5b5b5;
      color: #555;
      font-weight: 500;
      font-size: 0.65rem;
    }

    /* Tarjetas de Estadísticas (Abajo a la derecha) */
    .stat-card {
      background: rgba(0, 0, 0, 0.35);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 16px;
      padding: 1.5rem 1rem;
      height: 100%;
      color: white;
    }
    .stat-card h3 {
      font-size: 1.5rem;
      font-weight: 800;
      margin-bottom: 0.2rem;
    }
    .stat-card small {
      font-size: 0.65rem;
      letter-spacing: 1px;
      color: rgba(255,255,255,0.7);
    }
    .bg-dark-brown { 
    background-color: #2d2218; 
  }
  
  .cta-card {
    background-color: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 1.5rem;
    color: white;
    text-decoration: none;
    display: block;
    transition: transform 0.2s ease, background-color 0.2s ease;
  }
  
  .cta-card:hover {
    transform: translateY(-3px);
    background-color: rgba(255, 255, 255, 0.12);
    color: white;
  }

  .meta-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 2rem;
    padding-top: 2rem;
  }

  .meta-title {
    font-size: 0.65rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 0.3rem;
  }

  /* --- ESTILOS SECCIÓN VIDEO --- */
.bg-light-beige {
  background-color: #f4efe6; /* Color de fondo específico de esta sección */
}

.video-wrapper {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15); /* Sombra amplia y suave */
}

.video-wrapper video {
  width: 100%;
  display: block;
  object-fit: cover;
}

.badge-white-pill {
  background-color: #ffffff;
  color: #4a4a4a;
  border: 1px solid #dcd3c3;
  padding: 0.5rem 1rem;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}
/* Estilo al hacer clic en los campos del formulario */
.form-control:focus {
  box-shadow: 0 0 0 0.25rem rgba(108, 54, 20, 0.25);
  border-color: #6c3614;
}

/* Footer inferior */
.footer-bottom {
  background-color: #1a130d; /* Un tono aún más oscuro para cerrar la página */
  color: rgba(255,255,255,0.6);
  font-size: 0.85rem;
}
/* Estilo al hacer clic en los campos del formulario */
.form-control:focus {
  box-shadow: 0 0 0 0.25rem rgba(108, 54, 20, 0.25);
  border-color: #6c3614;
}

/* Footer inferior y Redes Sociales */

.footer-bottom {
    background-color: #eaddcc;
    color: rgb(90 49 19);
    font-size: 0.85rem;
}
.social-icon {
  color: #5a3113; /* Tono café de tu marca */
  transition: color 0.3s ease, transform 0.3s ease;
  display: inline-block;
}

.social-icon:hover {
  color: #eaddcc; /* Tono beige para que resalte al pasar el mouse */
  transform: translateY(-3px);
}


/* Iconos sociales en el Navbar */
.nav-social-icon {
  color: #4a4a4a;
  transition: color 0.3s ease, transform 0.3s ease;
}
.nav-social-icon:hover {
  color: #5a3113; /* Tono café de la marca */
  transform: translateY(-2px);
}

/* --- Estilos personalizados para el Menú Desplegable (Idiomas) --- */
.dropdown-menu-custom {
  background-color: #fbf8f2; /* Fondo beige claro */
  border: 1px solid #eaddcc;
  border-radius: 12px;
  padding: 0.5rem;
}

.dropdown-menu-custom .dropdown-item {
  color: #5a3113; /* Texto café */
  border-radius: 8px; /* Bordes redondeados adentro del menú */
  transition: background-color 0.2s ease, color 0.2s ease;
  padding: 0.5rem 1rem;
}

/* Al pasar el mouse */
.dropdown-menu-custom .dropdown-item:hover, 
.dropdown-menu-custom .dropdown-item:focus {
  background-color: #ece3d3; /* Beige un poco más oscuro */
  color: #5a3113;
}

/* Cuando está seleccionado (Adiós azul de Bootstrap) */
.dropdown-menu-custom .dropdown-item.active, 
.dropdown-menu-custom .dropdown-item:active {
  background-color: #5a3113 !important; /* Fondo café corporativo */
  color: #ffffff !important; /* Texto blanco */
}