Documentación Técnica

Personalización CSS

Adapta el aspecto visual del widget a tu marca con CSS personalizado

4 min min de lectura

El widget usa variables CSS que puedes sobrescribir para adaptarlo a tu marca.

Variables CSS disponibles

Colores principales

:root {
  /* Color principal (botones, selección) */
  --rh-primary: #3B82F6;
  --rh-primary-hover: #2563EB;
  --rh-primary-light: #EFF6FF;

  /* Colores de estado */
  --rh-success: #10B981;
  --rh-warning: #F59E0B;
  --rh-error: #EF4444;

  /* Colores de fondo */
  --rh-bg-primary: #FFFFFF;
  --rh-bg-secondary: #F9FAFB;
  --rh-bg-tertiary: #F3F4F6;

  /* Colores de texto */
  --rh-text-primary: #111827;
  --rh-text-secondary: #6B7280;
  --rh-text-muted: #9CA3AF;
}
Selecciona para copiar

Tipografía

:root {
  --rh-font-family: 'Inter', system-ui, sans-serif;
  --rh-font-size-xs: 0.75rem;
  --rh-font-size-sm: 0.875rem;
  --rh-font-size-base: 1rem;
  --rh-font-size-lg: 1.125rem;
  --rh-font-size-xl: 1.25rem;
}
Selecciona para copiar

Espaciado y bordes

:root {
  --rh-border-radius: 0.5rem;
  --rh-border-radius-lg: 0.75rem;
  --rh-spacing-xs: 0.25rem;
  --rh-spacing-sm: 0.5rem;
  --rh-spacing-md: 1rem;
  --rh-spacing-lg: 1.5rem;
}
Selecciona para copiar

Cómo aplicar estilos

Método 1: Después del script del widget

<script src="https://widget.reservadehamacas.com/embed.js"></script>

<style>
  :root {
    --rh-primary: #059669;
    --rh-border-radius: 1rem;
  }
</style>
Selecciona para copiar

Método 2: En tu hoja de estilos

/* tu-estilos.css */
.reserva-hamacas-widget {
  --rh-primary: #7C3AED;
  --rh-font-family: 'Poppins', sans-serif;
}
Selecciona para copiar

Ejemplos de personalización

Tema con tu color de marca

:root {
  --rh-primary: #E11D48;       /* Rosa */
  --rh-primary-hover: #BE123C;
  --rh-primary-light: #FFF1F2;
}
Selecciona para copiar

Bordes más redondeados

:root {
  --rh-border-radius: 1rem;
  --rh-border-radius-lg: 1.5rem;
}
Selecciona para copiar

Fuente personalizada

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

:root {
  --rh-font-family: 'Poppins', sans-serif;
}
Selecciona para copiar

Tema oscuro personalizado

.reserva-hamacas-widget[data-theme="dark"] {
  --rh-bg-primary: #1F2937;
  --rh-bg-secondary: #111827;
  --rh-text-primary: #F9FAFB;
  --rh-text-secondary: #D1D5DB;
}
Selecciona para copiar

Clases CSS del widget

Estructura principal

ClaseDescripción
.rh-widgetContenedor principal
.rh-headerCabecera con título
.rh-stepsIndicador de pasos
.rh-contentÁrea de contenido
.rh-footerPie con botones

Componentes

ClaseDescripción
.rh-calendarCalendario de fechas
.rh-mapMapa de hamacas
.rh-hamacaCada hamaca en el mapa
.rh-hamaca--selectedHamaca seleccionada
.rh-hamaca--occupiedHamaca ocupada
.rh-buttonBotones
.rh-inputCampos de formulario

Estados de hamacas

/* Hamaca disponible */
.rh-hamaca--available {
  background-color: var(--rh-success);
}

/* Hamaca seleccionada */
.rh-hamaca--selected {
  background-color: var(--rh-primary);
  box-shadow: 0 0 0 3px var(--rh-primary-light);
}

/* Hamaca ocupada */
.rh-hamaca--occupied {
  background-color: var(--rh-text-muted);
  cursor: not-allowed;
}
Selecciona para copiar

Widget en iframe vs embebido

Modo embebido

Los estilos se aplican directamente. Puedes usar todas las personalizaciones.

Modo iframe

El widget está aislado. Solo puedes personalizar:

  • Vía parámetros de configuración (primaryColor, theme)
  • Los estilos CSS no se aplican dentro del iframe

Responsive

El widget es responsive por defecto. Los breakpoints son:

/* Móvil */
@media (max-width: 640px) {
  .rh-widget { /* ... */ }
}

/* Tablet */
@media (min-width: 641px) and (max-width: 1024px) {
  .rh-widget { /* ... */ }
}

/* Desktop */
@media (min-width: 1025px) {
  .rh-widget { /* ... */ }
}
Selecciona para copiar

Consejos

  • Mantén el contraste: Asegúrate de que los textos sean legibles
  • Prueba en móvil: La mayoría de reservas vienen de móviles
  • No ocultes elementos: Puede afectar la usabilidad
  • Usa tu paleta de colores: Pero mantén la coherencia visual
Centro de Ayuda - Reserva de Hamacas | Reserva de Hamacas