/* =========================================
CURSOR PERSONALIZADO V1
========================================= */

/* ocultar cursor normal */
body {
    cursor: none;
}

/* punto central del cursor */
.cursor-dot {
    width: 8px;
    height: 8px;
    background: #c67a5a;
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
}

/* halo blur */
.cursor-blur {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 9998;
    background: rgba(198, 122, 90, 0.15);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition:
        width 0.25s ease,
        height 0.25s ease,
        background 0.25s ease,
        transform 0.2s ease;
}

/* cuando pasa sobre botones */
.cursor-hover {
    width: 130px !important;
    height: 130px !important;
    background: rgba(198, 122, 90, 0.25) !important;
}

/* efecto click */
.cursor-click {
    transform: translate(-50%, -50%) scale(0.7);
}

/* =========================================
CURSOR PERSONALIZADO V2.3
========================================= */

.cursor-orb {
    position: fixed;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: transform 0.12s ease;
    background: radial-gradient(circle at 40% 40%, #b96340, #204846);
    opacity: 0.95;
}

/* glow sutil */
.cursor-orb::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: inherit;
    opacity: 0.25;
    filter: blur(4px);
}

/* hover */
.cursor-orb.hover {
    background: rgba(255, 255, 255, 0.05);
    mix-blend-mode: difference;
}

/* click */
.cursor-orb.click {
    transform: translate(-50%, -50%) scale(0.8);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* selección */
.cursor-orb.selecting {
    transform: translate(-50%, -50%) scale(1.9);
    background: rgba(255, 255, 255, 0.06);
}

/* magnético */
.cursor-orb.magnetic {
    transform: translate(-50%, -50%) scale(1.2);
    transition: transform 0.08s ease;
}

/* desactivar cursores en móvil */
@media (max-width: 768px) {
    body {
        cursor: auto;
    }

    .cursor-dot,
    .cursor-blur,
    .cursor-orb {
        display: none !important;
    }
}

/* =========================================
FIXES GENERALES DEL SITIO
========================================= */

/* evitar scroll horizontal */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

/* media responsive */
img,
video,
iframe {
    max-width: 100%;
    height: auto;
}

/* box model consistente */
* {
    box-sizing: border-box;
}

/* =========================================
GRID AUREA
========================================= */

.grid-aurea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.btn-portal {
    display: block;
    width: 100%;
    text-align: center;
    background: #c67a5a;
    color: white;
    padding: 16px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    margin-bottom: 20px;
}

/* =========================================
MOBILE - GRID / CARDS AUREA
========================================= */

@media (max-width: 768px) {
    .grid-aurea {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .card-aurea {
        padding: 20px;
        border-radius: 16px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 16px;
        min-height: 80px;
    }

    .card-aurea h3 {
        font-size: 15px;
        line-height: 1.2;
        font-weight: 600;
        letter-spacing: 0.5px;
        margin: 0;
    }

    .card-aurea p {
        display: none;
    }

    .icon {
        width: 26px;
        height: 26px;
        flex-shrink: 0;
    }
}

/* =========================================
FIX MOBILE LAYOUT AUREA
========================================= */

@media (max-width: 768px) {
    .elementor-container {
        flex-direction: column !important;
    }

    .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-widget-wrap {
        padding: 0 !important;
    }

    .elementor-section {
        overflow: hidden !important;
    }

    .elementor-image img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover;
    }

    .elementor-row {
        flex-wrap: wrap !important;
    }

    .elementor-widget-text-editor {
        padding-left: 5px;
        padding-right: 5px;
    }
}

/* =========================================
FORMINATOR - LIMPIEZA VISUAL
========================================= */

/* ocultar etiquetas solo en campos HTML */
.forminator-field-html .forminator-label,
.forminator-field-html label {
    display: none !important;
}

/* ocultar botón enviar */
.forminator-ui .forminator-button-submit,
.forminator-ui button[type="submit"],
.forminator-ui input[type="submit"],
#forminator-submit {
    display: none !important;
}