/* ============================================================
   CubaShoppingCenter — Utilidades CSS (sustitución de inline styles)
   Archivo: web/css/style_utilities.css
   ============================================================ */

/* --- Colores y texto del carrito --- */
/* Título principal del carrito */
.csc-cart-titulo {
    color: #263F99;
    font-weight: bold;
    font-size: 22px;
}

/* Subtítulo del carrito */
.csc-cart-subtitulo {
    color: #263F99;
    font-weight: bold;
    font-size: 18px;
}

/* Precio en el carrito (rojo) */
.csc-cart-precio {
    color: #ff0000;
    font-weight: bold;
    font-size: 20px;
}

/* Línea de detalle en el carrito */
.csc-cart-linea {
    width: 100%;
    padding: 10px;
    font-size: 22px;
}

/* --- Márgenes y paddings comunes --- */
.csc-mt-115  { margin-top: 115px; }
.csc-mb-100  { margin-bottom: 100px; }
.csc-pt-150  { padding-top: 150px; }
.csc-pt-200  { padding-top: 200px; }
.csc-pt-250  { padding-top: 250px; }
.csc-pt-20   { padding-top: 20px; }
.csc-mt-5pct { margin-top: 5%; }

/* --- Mensajes y alertas --- */
/* Texto grande de mensaje de confirmación */
.csc-msg-titulo {
    font-size: 30px;
}

/* Subtexto de mensaje */
.csc-msg-subtitulo {
    font-size: 18px;
}

/* --- Texto genérico --- */
.csc-text-justify { text-align: justify; }
.csc-text-black   { color: black; }
.csc-color-negro  { color: black; }

/* --- Footer --- */
/* Columnas del footer con altura mínima */
.csc-footer-col {
    min-height: 265px;
    padding-top: 40px;
}

/* Columna de chat online (con background) */
.csc-footer-chat-col {
    min-height: 265px;
    background: url('../assets/frontend/onepage/img/chat-online.png') left top no-repeat;
}

/* Columna de logos de seguridad */
.csc-footer-logos-col {
    padding-top: 30px;
    margin-left: 0px;
}

/* Logos de seguridad — tamaño estándar (80px) */
.csc-segur-logo-sm {
    float: left;
    width: 80px;
    margin-right: 20px;
}

/* Logo SafeKey (sin ancho fijo) */
.csc-segur-logo-auto {
    float: left;
    margin-right: 20px;
}

/* Logo Trustwave (ancho 120px) */
.csc-segur-logo-lg {
    float: left;
    width: 120px;
    margin-right: 20px;
    padding-top: 15px;
}

/* Logo adicional (90px) */
.csc-segur-logo-md {
    float: left;
    width: 90px;
    margin-right: 20px;
}

/* Footer — columna de menú sin padding derecho */
.csc-footer-menu-col {
    padding-right: 0 !important;
}

/* Footer — columna de links sin padding izquierdo */
.csc-footer-links-col {
    padding-left: 0 !important;
}

/* Item de lista de footer sin bullet */
.csc-list-no-bullet {
    list-style-type: none;
}

/* Header top — contenedor con margen */
.csc-header-top-container {
    margin-left: 4%;
}

/* Header top — lista sin margen inferior */
.csc-header-top-list {
    margin-bottom: 0px;
}

/* --- Información de página --- */
/* Texto de información con fuente Arial */
.csc-info-texto {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px !important;
}

/* --- Barra de acento (home) --- */
.csc-barra-acento {
    height: 4px;
    position: relative;
    width: 100%;
    background-color: #ac3030;
}

/* --- Reserva --- */
/* Logo de operador en reserva */
.csc-logo-operador {
    height: 50px !important;
}

/* Div oculto en reserva (display toggle via JS) — SIN !important para que jQuery .show()/.hide() funcionen */
.csc-display-none {
    display: none;
}

/* --- Forgot password --- */
.csc-forgot-container {
    width: 450px;
}

/* --- info_start partial --- */
.csc-info-footer {
    background: #272626;
    color: #fff;
    font-size: 12px;
    padding: 15px 0;
}
.csc-info-body {
    font: 300 14px/1.4 "Open Sans", Arial, sans-serif;
    text-align: justify;
}

/* --- Voucher --- */
.csc-voucher-bg {
    background: #fff url('../../web/img/havanatur.jpg') no-repeat fixed;
    margin-left: 30px;
    margin-top: 10px;
    width: auto;
}

/* --- Paquete a medida --- */
.csc-paquete-heading {
    font-weight: bold;
    font-size: 16px;
}
.csc-captcha-btn {
    background-color: #c1e2b3;
}

/* --- Perfil de usuario --- */
.csc-profile-row {
    padding-left: 20%;
    margin-top: 115px;
}
.csc-profile-tabs {
    padding-left: 20%;
}

/* --- Login / Register / Map modales --- */
.csc-auth-page-row    { margin-top: 140px; margin-bottom: 40px; }
.csc-map-container    { height: 300px; }
.csc-captcha-input    { height: 46px; }
.csc-register-captcha { margin-top: 10px; }

/* --- Slider --- */
.csc-slider-bg-img { opacity: 0.4 !important; }

/* --- Footer forms --- */
.csc-footer-form-success  { color: #00CC00; }
.csc-footer-form-warning  { color: #f4f72b; }
.csc-offer-input-left     { position: relative; float: left; }
.csc-offer-input-right    { position: relative; float: right; }

/* --- Items destacados (ofertas carousel) --- */
.csc-destacado-img          { width: 262px; height: 181px; }
.csc-destacado-card         { background-color: #fff; padding: 15px; height: 165px; }
.csc-destacado-hr           { margin: 0; padding-bottom: 1rem; }
.csc-destacado-line         { line-height: 1; }
.csc-destacado-spacer       { padding-bottom: 4.8em; }
.csc-destacado-line-top     { line-height: 1; padding-top: 1em; }
.csc-destacado-no-disponible{ font-size: 14px !important; }
.csc-destacado-icon         { color: darkred; font-size: 20px; margin-top: 10px; }
.csc-destacado-icon-11      { color: darkred; font-size: 20px; margin-top: 11px; }

/* --- Módulo Habanatur Paquete --- */
.csc-paquete-texto {
    font-size: 18px;
    text-shadow: 1px 1px 2px black, 0 0 1em black, 0 0 0.2em black;
}

/* --- Resultado de búsqueda --- */
.csc-resultado-container {
    margin-top: 100px;
}
.csc-resultado-msg {
    font-size: 20px;
}
.csc-result-img {
    width: 220px;
}
.csc-result-tipo {
    color: #273f99;
    font-size: 18px;
}
.csc-result-highlight {
    color: red;
}
.csc-result-scroller {
    height: 150px;
}
.csc-result-desc {
    font-size: 14px;
    text-align: justify;
}

/* --- Slider promo text --- */
.csc-slider-promo-text { margin-top: 100px; }
.csc-z-index-6         { z-index: 6; }

/* --- Slider destinos carousel --- */
.csc-destino-block   { padding-bottom: 7rem; }
.csc-destino-img     { height: 461px; width: 351px; }
.csc-destino-titulo  { color: #ffffff; font-size: 18px; }
.csc-destino-card    { margin-left: 10px; width: 94%; min-height: 300px; border: 1px solid #cccccc; padding: 10px; height: 300px; }
.csc-destino-hr      { margin: 0; padding-bottom: 0.2rem; }
.csc-destino-spacer  { padding-bottom: 3em; }
.csc-hr-zero-margin  { margin: 0; }

/* --- Módulo Hotel — reservar.twig --- */
.csc-ho-carousel-indicators { margin: -27px 0px 27px 0px; }
.csc-ho-col-color           { color: #6b6b6b; }
.csc-ho-dark-bg             { background-color: #323031; }
.csc-ho-tipo-text           { color: #8a8a8a; font-size: 14px; }
.csc-ho-nombre-hotel        { font-size: 18px; font-weight: bold; color: #ffffff; }
.csc-ho-arrow-right         { background: url('../assets/frontend/onepage/img/c-right.png') right no-repeat; }
.csc-ho-light-text          { color: #e5e5e5; font-size: 14px; }
.csc-ho-precio              { font-size: 18px; font-weight: bold; color: #ffffff; }
.csc-ho-categoria           { color: #5d0000; }
.csc-ho-col4-list           { columns: 4; list-style: none; }
.csc-ho-col3-list           { columns: 3; list-style: none; }
.csc-ho-col2-list           { columns: 2; list-style: none; }
.csc-ho-list-none           { list-style: none; }
.csc-ho-section-label       { color: #515151; font-size: 14px; font-weight: bold; }
.csc-ho-btn-reservar        { background: #28ac3f; color: #fff; padding: 10px 15px; }
.csc-ho-tab-header          { padding-right: 0; padding-left: 0; background-color: #9a0000; }
.csc-ho-nav-tabs            { margin-bottom: 0; margin-top: 10px; }
.csc-bg-white               { background: #ffffff; }
.csc-ho-hab-img             { width: 220px; }
.csc-ho-hab-nombre          { font-size: 18px; }
.csc-ho-facilidad-icon      { color: #9a0000; }
.csc-ho-dispon-caption      { padding: 8px; padding-left: 20px; }
.csc-ho-dispon-label        { float: left; padding: 8px; }
.csc-fs-12                  { font-size: 12px; }
.csc-fs-14                  { font-size: 14px; }
.csc-fs-16                  { font-size: 16px; }
.csc-cursor-pointer         { cursor: pointer; }
.csc-color-white            { color: white; }
.csc-color-red              { color: red; }
.csc-color-grey             { color: grey; }
.csc-pl-5                   { padding-left: 5px; }
.csc-min-h-40               { min-height: 40px; }
.csc-bg-blanco              { background-color: #FFFFFF; }
.csc-ho-precio-total        { color: #ff0000; font-size: 24px; font-weight: 700; }
.csc-ho-min40-white         { min-height: 40px; color: white; }
.csc-ho-intermed-text       { position: relative; float: right; margin-left: 10px; font-size: 16px; }
.csc-ho-intermed-wrap       { position: relative; float: right; }
.csc-ho-checkbox-size       { height: 17px; width: 17px; }

/* --- Módulo Excursión --- */
.csc-border-top-grey        { border-top: 1px #cccccc solid; }
.csc-exc-suplemento-color   { color: #c85627; }
.csc-pl-0                   { padding-left: 0; }

/* --- Módulo Mercado — reservar.twig --- */
/* Carrusel interior centrado con sombra */
.csc-ho-carousel-inner      { text-align: center; box-shadow: 1px 1px 6px 1px #585151; }
/* Imagen de producto a ancho completo */
.csc-w-100                  { width: 100%; }
/* Imagen placeholder cuando no hay foto del producto */
.csc-mercado-no-img         { background: #333333; width: 100%; height: 335px; }
/* Padding-left de 15px (reutilizable) */
.csc-pl-15                  { padding-left: 15px; }
/* Margin-left de 15px (reutilizable) */
.csc-ml-15                  { margin-left: 15px; }
/* Contenedor flex en columna con distribución uniforme */
.csc-flex-col-evenly        { display: flex; flex-direction: column; justify-content: space-evenly; }

/* --- Módulo Bono — reservar.twig --- */
/* Franja de fecha de validez del bono */
.csc-ho-fecha-bono          { background-color: #e4e4e4; padding: 10px 8px; }
/* Texto negrita negro (etiquetas de periodo) */
.csc-ho-bold-black          { font-weight: bold; color: #000; }
/* Color negro puro (spans de "del"/"al") */
.csc-color-black            { color: #000; }
/* Lista en una sola columna sin bullets */
.csc-ho-col1-list           { columns: 1; list-style: none; }
/* Margin-top de 8px */
.csc-mt-8                   { margin-top: 8px; }
/* Height de 30px */
.csc-h-30                   { height: 30px; }

/* --- Módulo Automotor — reservar.twig --- */
/* Margin-top de 100px (detalle automotor) */
.csc-mt-100                 { margin-top: 100px; }
/* Carrusel interior centrado con sombra (automotor) */
.csc-aut-carousel-inner     { text-align: center; box-shadow: 1px 1px 6px 1px #585151; }
/* Imagen placeholder oscura cuando no hay foto (automotor) */
.csc-aut-img-placeholder    { background: #333333; width: 100%; height: 335px; }
/* Flex en columna sin justify (contador y precio) */
.csc-flex-col               { display: flex; flex-direction: column; }

/* --- Módulo Evento — reservar.twig --- */
/* Texto de combinación de habitación (casi negro, delgado) */
.csc-ho-combinacion-text    { color: #0c0c0c; font-size: 16px; font-weight: 300; }

/* --- Utilidades genéricas adicionales --- */
/* Fuente 18px genérica */
.csc-fs-18                  { font-size: 18px; }
/* Fuente bold genérica */
.csc-fw-bold                { font-weight: bold; }
/* Color #515151 (etiquetas de sección) */
.csc-color-515              { color: #515151; }
/* Padding-top 0 */
.csc-pt-0                   { padding-top: 0; }

/* --- Template historial (carrito/acordeón) --- */
/* Título de reserva en historial (azul 16px bold) */
.csc-ho-hist-title          { color: #263F99; font-weight: bold; font-size: 16px; }
/* Valor de fecha/número en historial (gris oscuro 18px bold) */
.csc-ho-date-text           { color: #333333; font-weight: bold; font-size: 18px; }
/* Precio en rojo 18px bold */
.csc-precio-red18           { color: #ff0000; font-weight: bold; font-size: 18px; }
/* Borde derecho gris claro */
.csc-border-right-grey      { border-right: 1px solid #CCCCCC; }
/* Altura mínima 34px */
.csc-mh-34                  { min-height: 34px; }

/* --- Oferta — reservar_completo.twig --- */
/* Imagen de producto centrada con alto 250px */
.csc-img-auto-250           { display: block; margin: 0 auto; height: 250px; }
/* Bloque de descripción con padding-top y justificado */
.csc-pt-1em-justify         { padding-top: 1em; text-align: justify; }
/* Etiqueta con subrayado (ver más detalles) */
.csc-ho-label-underline     { color: #515151; font-size: 14px; font-weight: bold; text-decoration: underline; }

/* --- Índices de módulos (index.twig) --- */
/* Título del bloque de contador/stats en index */
.csc-ix-title               { text-transform: initial; font-size: 26px; color: #5f6f7e; }
/* Número destacado en rojo oscuro (color bono/servicios) */
.csc-color-9a0000           { color: #9a0000 !important; }
/* Color categoría grande (red oscuro, xx-large) */
.csc-ho-categoria-xl        { color: #5d0000; font-size: xx-large; }

/* --- Paginadores de módulos --- */
/* Imagen de tarjeta en paginador bono/serviciosonline */
.csc-paginador-img          { height: 202.5px; width: 360px; }
/* Lista de detalles con scroll vertical (140px) */
.csc-list-scroll-140        { columns: 1 !important; width: auto; height: 140px; overflow-y: auto; }
/* Lista de detalles con scroll vertical (110px) */
.csc-list-scroll-110        { columns: 1 !important; width: auto; height: 110px; overflow-y: auto; }

/* --- Colores extra --- */
.csc-color-263f99           { color: #263F99; }
.csc-color-5d0000           { color: #5d0000; }
.csc-color-0c0c0c           { color: #0c0c0c; }
.csc-color-5c5c5c           { color: #5C5C5C; }
.csc-bold-333               { color: #333; font-weight: bold; }
.csc-ho-263-mt10            { color: #263F99; margin-top: 10px; }
.csc-color-515-mt10         { color: #515151; margin-top: 10px; }
.csc-ho-date-text-14        { color: #333333; font-weight: bold; font-size: 14px; }
.csc-ho-hist-title-20       { color: #263F99; font-weight: bold; font-size: 20px; }
.csc-fs-18-bold             { font-size: 18px; font-weight: bold; }
.csc-fs-16-imp              { font-size: 16px !important; }
.csc-ev-tipo-18             { color: #273f99; font-size: 18px; }
.csc-text-333-18            { color: #333333; font-size: 18px; }
.csc-ho-categoria-18        { color: #5d0000; font-size: 18px; }
.csc-color-white-18         { color: #ffffff; font-size: 18px; }

/* --- Utilidades de espaciado extra --- */
.csc-flex                   { display: flex; }
.csc-align-self-center      { align-self: center !important; }
.csc-mx-auto                { margin: 0 auto; }
.csc-mr-12                  { margin-right: 12px; }
.csc-mt-20                  { margin-top: 20px; }
.csc-mb-10                  { margin-bottom: 10px; }
.csc-mb-40                  { margin-bottom: 40px; }
.csc-mb-0-mt-10             { margin-bottom: 0; margin-top: 10px; }
.csc-p-0                    { padding: 0; }
.csc-pb-4em                 { padding-bottom: 4em; }
.csc-line-1-pt12em          { line-height: 1; padding-top: 1.2em; }
.csc-m-0-imp                { margin: 0 !important; }
.csc-w-60                   { width: 60%; }
.csc-w-70                   { width: 70%; }
.csc-h-85                   { height: 85px; }
.csc-h-300                  { height: 300px; }

/* --- Módulo Evento — vistas adicionales --- */
.csc-ev-card                { background-color: #fff; padding: 12px; width: 262px; height: 15em; }
.csc-btn-dark-red           { background: #5d0000; color: #fff; padding: 10px 15px; }
.csc-bg-5d0000              { background: #5d0000; color: #ffffff; }
.csc-ho-intermed-text-white { position: relative; float: right; margin-left: 10px; font-size: 16px; color: white; }

/* --- Módulo Restaurante — vistas adicionales --- */
.csc-restaurante-slider-bg  { background: url('../img/slide-rest.jpg') center top no-repeat; }
.csc-rest-card-img          { height: auto; width: 94%; margin-left: 10px; }
.csc-rest-card-body         { margin-left: 10px; width: 94%; min-height: 100px; border: 1px solid #cccccc; padding: 10px; height: 100px; }

/* --- Hotel buscador --- */
.csc-bg-f6-pt0              { background-color: #f6f6f6; padding-top: 0; }

/* --- Hotel ofertas / historial extra --- */
.csc-ho-263-pt5-bold { color: #263F99; padding-top: 5px; font-weight: bold; }
.csc-precio-red22    { color: #ff0000; font-weight: bold; font-size: 22px; }
.csc-abs-center-vert { position: absolute; top: 50%; margin-top: -55.5px; }
.csc-slider-overlay  { z-index: 100; font-size: 28px; position: absolute; top: 15px; width: 100%; color: #fff; text-shadow: 0.04em 0.04em #333; line-height: 1.1; }
.csc-mt-neg132       { margin-top: -132px; }

/* --- Módulo Evento — posicionamientos y espaciados específicos --- */
.csc-ml-16pct          { margin-left: 16%; }
.csc-ml-80pct          { margin-left: 80%; }
.csc-ev-ml10pct-pt15   { margin-left: 10%; padding-top: 15px; }
.csc-ev-ml19pct-mt12   { margin-left: 19%; margin-top: 12px; }
.csc-ev-ml20pct-mt1pct { margin-left: 20%; margin-top: 1%; }
.csc-ev-pt20-ml10-h60  { padding-top: 20px; margin-left: 10px; height: 60px; }
.csc-ev-pos-right8-left10 { right: 8%; left: -10%; }

/* --- Paginador ofertas --- */
.csc-pt3em-pb4rem    { padding-top: 3em; padding-bottom: 4rem; }
.csc-fs-10pt-upper   { font-size: 10pt; text-transform: uppercase; }

/* --- Icono de prohibición (ban) — precio no disponible --- */
.csc-ban-icon        { color: #cd5c5c; font-size: 25px; }

/* --- Tarjeta de evento en carrusel (JS-generated) --- */
.csc-ev-item-card    { display: inline-block; vertical-align: top; width: 262px; margin-right: 20px; float: left; }

/* --- Fuentes con !important (para sobreescribir estilos de plugin) --- */
.csc-fs-14-imp       { font-size: 14px !important; }
