/* LG AFFAIR - Estilos exactos basados en Figma */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #ECECEC;
    color: #444444;
    line-height: 1.6;
}

/* Container */
.lg-container {
    max-width: 1668px;
    margin: 0 auto;
    background: #ECECEC;
}

/* Hero Section */
.hero-section {
    position: relative;
    width: 100%;
    height: 1013px;
    overflow: hidden;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-overlay {
    position: absolute;
    top: 114px;
    left: 40px;
    right: 40px;
    height: 417px;
    background: linear-gradient(0deg, rgba(217, 217, 217, 0) 3.21%, #050956 100%);
    mix-blend-mode: multiply;
    border-radius: 48px 48px 0px 0px;
}

.hero-title {
    position: absolute;
    top: 140px;
    right: 52px;
    font-weight: 500;
    font-size: 64px;
    line-height: 78px;
    text-align: right;
    color: #FFFFFF;
    max-width: 904px;
}

/* Header iProfesional */
.header-iprofesional {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 83px;
    background: url('assets/header-iprofesional.png') no-repeat center;
    background-size: cover;
    z-index: 10;
}

/* Main Content */
.main-content {
    padding: 60px;
    max-width: 1668px;
    margin: 0 auto;
}

/* Two Column Text Section */
.two-column-text {
    display: grid;
    grid-template-columns: 630px 1fr;
    gap: 120px;
    margin-bottom: 80px;
    align-items: start;
    position: relative;
}

.left-text {
    padding-top: 60px;
}

.left-text p {
    font-family: 'Public Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    line-height: 44px;
    color: #444444;
}

.right-text p {
    font-family: 'Public Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    color: #000000;
}

/* Image Block */
.image-block {
    margin: 80px auto;
    text-align: center;
    max-width: 1165px;
}

.content-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Text Block Center */
.text-block-center {
    max-width: 1490px;
    margin: 80px auto;
    text-align: center;
}

.text-block-center p {
    font-weight: 400;
    font-size: 40px;
    line-height: 40px;
    color: #444444;
}

/* Additional Gallery */
.gallery-additional {
    margin: 80px auto;
    text-align: center;
    max-width: 1165px;
}

.gallery-additional img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* White Box */
.white-box {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 50px 60px;
    margin: 80px auto;
    max-width: 1249px;
}

.white-box p {
    font-weight: 700;
    font-size: 38px;
    line-height: 48px;
    text-align: center;
    color: #000000;
}

/* Quote Section */
.quote-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    margin: 80px 0;
}

.quote-text {
    padding: 0 40px;
}

.quote-text p {
    font-weight: 800;
    font-size: 36px;
    line-height: 40px;
    text-align: center;
    color: #444444;
}

.quote-image img {
    width: 100%;
    max-width: 742px;
    height: auto;
    border-radius: 20px;
}

/* Red Box */
.red-box {
    background: #B31313;
    opacity: 0.9;
    backdrop-filter: blur(2px);
    border-radius: 20px;
    padding: 40px 60px;
    margin: 80px 0;
}

.red-box p {
    font-weight: 500;
    font-size: 40px;
    line-height: 35px;
    text-align: center;
    color: #FFFFFF;
}

/* Final Text */
.final-text {
    max-width: 1491px;
    margin: 80px auto;
    text-align: center;
}

.final-text p {
    font-weight: 400;
    font-size: 40px;
    line-height: 40px;
    color: #000000;
}

/* Share Section */
.share-section {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 60px 0;
    padding: 40px 0;
    border-top: 0.5px solid #AAAAAA;
}

.share-label {
    font-style: italic;
    font-weight: 300;
    font-size: 24px;
    color: #000000;
}

.share-buttons {
    display: flex;
    gap: 15px;
}

.share-buttons a {
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #444444;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    text-decoration: none;
}

.share-buttons a:hover {
    transform: scale(1.1);
    background: #B31313;
}

.share-buttons svg {
    width: 16px;
    height: 16px;
    fill: white;
}

/* Footer */
.footer-iprofesional {
    width: 100%;
    height: 705px;
    background: url('assets/footer-iprofesional.png') no-repeat center;
    background-size: cover;
    margin-top: 100px;
}

.footer-bottom {
    width: 100%;
    height: 151px;
    background: #C4C4C4;
    background: url('assets/footer-bottom.png') no-repeat center;
    background-size: cover;
}

/* Responsive */
@media (max-width: 1400px) {
    .main-content {
        padding: 40px;
    }
    
    .hero-title {
        font-size: 48px;
        line-height: 58px;
    }
    
    .two-column-text {
        grid-template-columns: 500px 1fr;
        gap: 80px;
    }
}

@media (max-width: 1024px) {
    .main-content {
        padding: 20px;
    }
    
    .hero-section {
        height: 700px;
    }
    
    .hero-title {
        font-size: 40px;
        line-height: 48px;
        top: 180px;
    }
    
    .two-column-text {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .left-text {
        padding-top: 0;
    }
    
    .left-text p {
        font-size: 32px;
        line-height: 38px;
    }
    
    .right-text p {
        font-size: 26px;
        line-height: 34px;
    }
    
    .text-block-center p {
        font-size: 32px;
        line-height: 36px;
    }
    
    .white-box p {
        font-size: 30px;
        line-height: 38px;
    }
    
    .quote-section {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .quote-text p {
        font-size: 30px;
        line-height: 36px;
        margin-bottom: 40px;
    }
    
    .red-box p {
        font-size: 32px;
        line-height: 32px;
    }
    
    .final-text p {
        font-size: 32px;
        line-height: 36px;
    }
}

@media (max-width: 768px) {
    .hero-section {
        height: 500px;
    }
    
    .hero-title {
        font-size: 32px;
        line-height: 40px;
        right: 20px;
        top: 140px;
        max-width: 90%;
    }
    
    .main-content {
        padding: 30px 20px;
    }
    
    .left-text p {
        font-size: 26px;
        line-height: 32px;
    }
    
    .right-text p {
        font-size: 20px;
        line-height: 28px;
    }
    
    .text-block-center p {
        font-size: 24px;
        line-height: 30px;
    }
    
    .white-box {
        padding: 30px;
    }
    
    .white-box p {
        font-size: 22px;
        line-height: 30px;
    }
    
    .quote-text p {
        font-size: 24px;
        line-height: 30px;
    }
    
    .red-box {
        padding: 30px;
    }
    
    .red-box p {
        font-size: 24px;
        line-height: 28px;
    }
    
    .final-text p {
        font-size: 24px;
        line-height: 30px;
    }
    
    .share-section {
        flex-direction: column;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 26px;
        line-height: 34px;
    }
    
    .left-text p {
        font-size: 22px;
        line-height: 28px;
    }
    
    .right-text p {
        font-size: 18px;
        line-height: 26px;
    }
    
    .text-block-center p {
        font-size: 20px;
        line-height: 26px;
    }
    
    .white-box p {
        font-size: 18px;
        line-height: 26px;
    }
    
    .quote-text p {
        font-size: 20px;
        line-height: 26px;
    }
    
    .red-box p {
        font-size: 20px;
        line-height: 24px;
    }
    
    .final-text p {
        font-size: 20px;
        line-height: 26px;
    }
}
