/*
Theme Name: OSGRAP Child
Theme URI: https://osgrap.com
Description: Child Theme OSGRAP
Author: OSGRAP
Version: 1.0
Template: hello-elementor
*/

/* =========================
   VARIABLES
========================= */
:root {
    --osgrap-red: #BA0021;
    --osgrap-red-dark: #8f0019;
    --osgrap-gold: #dba43a;
    --osgrap-text: #222;
}


/* =========================
   RESET BASE LIMPIO
========================= */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    font-family: system-ui, -apple-system, sans-serif;
    color: var(--osgrap-text);
    overflow-x: hidden;
}


/* =========================
   CONTENEDORES BASE
========================= */
.site,
.site-content,
.site-main,
.content-area {
    width: 100%;
    max-width: 100%;
}


/* 🔥 IMPORTANTE: NO romper Elementor */
.elementor-section,
.elementor-container {
    width: 100%;
    max-width: 100%;
}


/* =========================
   FULL WIDTH CONTROLADO (SOLO CUANDO SE USE)
========================= */
.osgrap-fullwidth {
    width: 100%;
}


/* =========================
   HEADER
========================= */
header {
    position: relative;
    z-index: 100;
}


/* =========================
   IMÁGENES
========================= */
img {
    max-width: 100%;
    height: auto;
    display: block;
}


/* =========================
   CONTENEDOR GENERAL
========================= */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}


/* =========================
   WHATSAPP FLOAT (SIN BUGS)
========================= */
.osgrap-whatsapp {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 9999;
    width: 60px;
    height: 60px;
}

.osgrap-whatsapp a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #25D366;
    border-radius: 50%;
    box-shadow: 0 8px 25px rgba(0,0,0,0.25);
    transition: all 0.3s ease;
}

.osgrap-whatsapp img {
    width: 30px;
    height: 30px;
}

.osgrap-whatsapp a:hover {
    transform: scale(1.08);
}

/* Pulse SIN generar scroll */
.osgrap-whatsapp::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(37,211,102,0.25);
    animation: pulse 2s infinite;
    pointer-events: none;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 0.4; }
    70% { transform: scale(1.25); opacity: 0; }
    100% { transform: scale(1.25); opacity: 0; }
}


/* =========================
   CTA GLOBAL
========================= */
.nosotros-cta {
    background: var(--osgrap-red);
    color: #fff;
    text-align: center;
    padding: 80px 20px;
}

.nosotros-cta h2,
.nosotros-cta p {
    color: #fff;
}

.btn-cta {
    display: inline-block;
    margin-top: 20px;
    background: #fff;
    color: var(--osgrap-red);
    padding: 14px 34px;
    border-radius: 40px;
    text-decoration: none;
    transition: 0.3s ease;
}

.btn-cta:hover {
    transform: translateY(-3px);
}


/* =========================
   ANIMACIONES
========================= */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================
   🔥 FIX REAL DE SCROLL
========================= */

/* Evita scroll horizontal REAL */
body {
    overflow-x: hidden;
}

/* Evita que SWIPER rompa layout */
.swiper {
    width: 100%;
    overflow: hidden;
}

/* Evita que elementos internos causen desborde */
section {
    width: 100%;
    overflow: hidden;
}

/* 🔥 MUY IMPORTANTE:
   elimina uso agresivo de 100vw que causa doble scroll
*/
.home-mapa,
.osgrap-fullwidth {
    width: 100%;
    margin-left: 0;
}