:root {
    --fondo: #fcf9f5;
    --blanco: #ffffff;
    --texto: #2f2f2f;
    --dorado: #c29d6d;
    --dorado-oscuro: #b08a5b;
    --dorado-vintage: #b89f85;
    --dorado-claro: #cfbfac;
    --borde: #f2ebdf;
    --gris: #7e7062;
    --gris-claro: #a39585;
    --error: #b42318;
    --radio: 24px;
    --pill: 999px;
    --sombra: 0 10px 30px rgba(220, 205, 185, 0.25);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    min-height: 100vh;
    font-family: 'Playfair Display', "Times New Roman", serif;
    background-color: var(--fondo);
    color: var(--texto);
}

.split-container {
    display: flex;
    min-height: 100vh;
    width: 100%;
    flex-wrap: wrap;
}

.brand-side {
    flex: 1;
    min-width: 320px;
    background: #faf5ef;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
    border-right: 1px solid #eee;
}

.brand-side .inicio_red{
   position: absolute; /* Saca el elemento del flujo normal y lo posiciona con precisión */
    top: 2rem; /* Ajusta el espacio desde la parte superior a tu gusto */
    left: 2rem; /* Ajusta el espacio desde el lado izquierdo a tu gusto */
    text-decoration: none; /* Quita el subrayado (la línea) */
    
    /* Mantener los estilos de fuente originales */
    font-family: serif; /* O la fuente serif específica si la conoces */
    color: #A67C52; /* El color marrón cálido original */
    font-size: 1.4rem; /* Tamaño de fuente similar al original */
    margin: 0; /* Asegurar que no haya márgenes no deseados */
    padding: 0;

}

.logo-box { text-align: center; }

.logo-circle {
    width: 180px;
    height: 180px;
    margin: 0 auto 20px;
    border-radius: 50%;
    border: 1px solid rgba(184, 159, 133, 0.35);
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--blanco);
}

.logo-circle img {
    width: 140px;
    height: 140px;
    object-fit: contain;
}

.logo-title {
    font-size: 42px; 
    color: var(--dorado-vintage); 
    font-weight: 400; 
    margin: 0; 
}

.logo-subtitle {
    margin-top: 10px; 
    font-size: 11px; 
    letter-spacing: 0.4em; 
    text-transform: uppercase; 
    color: var(--dorado-vintage); 
}

.interactive-side {
    flex: 1;
    min-width: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.loyalty-box {
    width: 100%;
    max-width: 440px;
    background: var(--blanco);
    padding: 35px;
    border-radius: var(--radio);
    box-shadow: var(--sombra);
    border: 1px solid var(--borde);
}

.tabs-header {
    display: flex;
    background: #f3ece3;
    padding: 5px;
    border-radius: 30px;
    margin-bottom: 25px;
}

.tab-link {
    flex: 1;
    text-align: center;
    padding: 12px;
    border-radius: 25px;
    text-decoration: none;
    color: var(--gris);
    font-weight: 600;
    font-size: 0.85rem;
    transition: 0.3s;
    font-family: sans-serif;
}

.tab-link.active {
    background: var(--dorado);
    color: var(--blanco);
}

.text-center { text-align: center; }
.section-title { font-size: 2rem; color: var(--texto); margin-bottom: 5px; font-weight: 400; }
.section-subtitle { font-size: 0.95rem; color: var(--gris-claro); font-style: italic; margin-bottom: 25px; }

.form { display: flex; flex-direction: column; }

.input-elegant {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #e5dfd8;
    border-radius: 10px;
    font-size: 0.95rem;
    outline: none;
    margin-bottom: 15px;
    font-family: sans-serif;
    transition: 0.3s;
}

.input-elegant:focus {
    border-color: var(--dorado);
    box-shadow: 0 0 0 4px rgba(194, 157, 109, 0.15);
}

.btn-gold-action {
    background: var(--dorado);
    color: var(--blanco);
    border: none;
    padding: 15px;
    border-radius: 12px;
    width: 100%;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 1.5px;
    transition: 0.3s;
}

.btn-gold-action:hover { background: var(--dorado-oscuro); }

.card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.admin-badge { display: inline-block; padding: 5px 12px; border-radius: var(--pill); background: #f4eee8; color: var(--dorado-vintage); font-size: 9px; letter-spacing: 2px; text-transform: uppercase; font-weight: bold; font-family: sans-serif; }
.vip-name { font-size: 2rem; margin: 0; }
.btn-light { background: #fff; color: var(--gris); border: 1px solid #e5dfd8; padding: 6px 12px; font-size: 0.8rem; font-family: sans-serif; }

.sellos-container { margin: 20px 0; padding: 20px; border-radius: 18px; background: #fbf8f5; border: 1px solid var(--borde); }
.beneficios-title { text-align: center; font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--dorado-vintage); font-weight: bold; margin-bottom: 15px; font-family: sans-serif; }

.stamp-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.stamp-circle { aspect-ratio: 1; border-radius: 50%; border: 2px dashed #d9cebe; display: flex; justify-content: center; align-items: center; font-size: 0.9rem; color: var(--gris-claro); font-weight: bold; transition: 0.4s; background: var(--blanco); }
.stamp-circle.active {
    border-style: solid;
    border-color: var(--dorado);
    
    /* 🌟 Colocamos tu imagen del sello como fondo */
    background: #faf4eb url("../img/DIMARE_LOGO.png") no-repeat center;
    background-size: 70%; /* Ajusta este porcentaje para cambiar el tamaño del sello dentro del círculo */
    
    /* Ocultamos el número de texto para que no se encime con la imagen */
    color: transparent; 
    
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(194, 157, 109, 0.15);
}

.alert { padding: 12px; border-radius: 10px; text-align: center; font-size: 0.85rem; font-family: sans-serif; margin-bottom: 15px; }
.alert-success { background: #f6fef9; color: #155724; border: 1px solid #d4edda; }
.alert-error { background: #fff5f5; color: var(--error); border: 1px solid #fde8e8; }

.fade-in { animation: fadeIn 0.4s ease both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
    .split-container { display: block; }
    .brand-side { padding: 30px 20px 10px; border: none; background: transparent; }
    .logo-circle img { height: 120px; }
    .interactive-side { padding: 15px; }
    .loyalty-box { max-width: none; padding: 25px; }
    .stamp-grid { gap: 8px; }
}
.contenedor-servicios {
    display: flex;
    flex-direction: row; /* Uno al lado del otro */
}

/* 📱 DISEÑO PARA CELULARES (Se activa cuando la pantalla es pequeña) */
@media screen and (max-width: 768px) {
    
    .contenedor-servicios {
        flex-direction: column; /* Se apilan uno debajo de otro */
        padding: 10px;
    }

    /* Puedes aprovechar para hacer los textos más pequeños */
    .main-title {
        font-size: 1.5rem;
    }
}