/* REGLAS DE PRIORIDAD MÃƒÂXIMA ECO 1 (v45.4) */

/* 1. Centrado Radical del Footer */
footer, .footer, #footer, .footer-grid, .footer-col {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
.footer-col * { text-align: center !important; margin: 5px auto !important; width: 100% !important; }

/* 2. IndependizaciÃƒÂ³n de Series en MÃƒÂ³vil */
@media (max-width: 1024px) {
    .series-grid-main { display: block !important; width: 100% !important; }
    .series-item { width: 100% !important; max-width: none !important; display: block !important; margin-bottom: 50px !important; }
    .series-image { width: 100% !important; height: auto !important; aspect-ratio: 16/9; }
}

/* 3. ElevaciÃƒÂ³n de Texto Home */
@media (max-width: 1250px) {
    .hero-content h1, .hero-content h2 { transform: translateY(-70px) !important; }
    .hero-btns { transform: translateY(0) !important; margin-top: 60px !important; }
}

/* 4. Contornos de Texto */
.hero-content h1, .hero-content h2, .hero-content p, .page-hero h1, .page-hero p {
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 3px 15px rgba(0,0,0,0.9) !important;
}
:root {
    --primary: #00bcd4;
    --primary-dark: #0097a7;
    --secondary: #263238;
    --text: #37474f;
    --light: #eceff1;
    --white: #ffffff;
    --accent: #00e5ff;
    --glass: rgba(255, 255, 255, 0.9);
    --shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}


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

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: var(--text);
    background-color: var(--white);
    overflow-x: hidden;
}

p {
    text-align: justify;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Header & Nav */
.header {
    position: fixed;
    top: 25px; /* Floating from the top */
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    max-width: 95%;
    z-index: 1000;
    padding: 0;
    background: transparent;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-container {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    padding: 8px 30px; /* Consistent padding */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px; /* Slightly tighter for better fit */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    width: max-content; /* Ensure it expands to fit all items */
    max-width: 98vw;
}

/* Medium Screen Optimization (Laptops / Tablets Landscape) */
@media (min-width: 1025px) and (max-width: 1440px) {
    .header-container {
        padding: 5px 15px !important;
        gap: 8px !important;
    }
    .nav-list {
        gap: 5px !important;
    }
    .nav-list a {
        font-size: 0.6rem !important;
        padding: 6px 10px !important;
    }
    /* Hide icons on medium screens to save space */
    .nav-list a i {
        display: none !important;
    }
}

.header.scrolled {
    top: 10px;
}

.header.scrolled .header-container {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(0, 0, 0, 0.05);
    padding: 5px 25px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.header-logo {
    flex-shrink: 0;
}

.header-logo img {
    height: 60px;
    width: auto;
    transition: height 0.3s ease;
}

.header.scrolled .header-logo img {
    height: 50px;
}

.logo {
    display: none;
    /* Logo movido al Hero */
}

.nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.nav-list {
    display: flex;
    list-style: none;
    gap: 15px; /* Reduced gap for contours */
    align-items: center;
}

.nav-list li {
    position: relative;
}

.nav-list a {
    text-decoration: none;
    color: var(--secondary);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 14px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    white-space: nowrap;
}

.nav-list a:hover {
    color: var(--sog-theme-button-text, #00121b); /* SOG-123: semantic foreground on hover */
    background: color-mix(in srgb,var(--sog-accent) 82%,transparent); /* SOG-123 semantic hover */
    border-color: color-mix(in srgb,var(--sog-theme-border) 55%,transparent);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
    backdrop-filter: blur(5px);
    /* Removed font-weight change to prevent menu bouncing */
}

.nav-list a.active {
    color: var(--white);
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.4);
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s;
    cursor: pointer;
    border: none;
}

.btn-primary {
    background-color: var(--primary);
    color: var(--white);
}

.btn-primary:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
}

.btn-large {
    background-color: var(--primary);
    color: var(--white);
    padding: 16px 32px;
    font-size: 1.1rem;
}

.btn-outline {
    border: 2px solid var(--white);
    color: var(--white);
    background: transparent;
    padding: 14px 30px;
}

.btn-outline:hover {
    background: var(--white);
    color: var(--secondary);
}

/* Page Hero (for subpages) */
.page-hero {
    height: 50vh;
    margin-bottom: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

/* Sibling overrides to reduce padding by half immediately after page-hero */
.page-hero + .services,
.page-hero + .contact-page {
    padding-top: 48px !important; /* Half of 96px */
}

@media (max-width: 1024px) {
    .page-hero + .services,
    .page-hero + .contact-page {
        padding-top: 30px !important; /* Half of 60px */
    }
}

.page-hero h1 {
    font-size: 3rem;
    position: relative;
    z-index: 1;
}

/* Show hero elements again */
.hero-logo, .hero-free-estimate {
    display: block !important;
}

.hero-logo {
    position: absolute;
    top: 110px; /* Lowered to clear the header island */
    left: 40px; /* Moved slightly inwards for better framing */
    z-index: 100;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    padding: 15px;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.hero-free-estimate {
    position: absolute;
    top: 110px; /* Lowered to clear the header island */
    right: 40px; /* Moved slightly inwards for better framing */
    z-index: 100;
    padding: 15px 30px;
    font-size: 1.1rem;
    font-family: 'SOG Display', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    color: var(--white);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    transition: all 0.3s ease;
}

.hero-free-estimate:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
    color: var(--white);
}

.hero-logo-img {
    height: 140px !important;
    width: auto;
    object-fit: contain;
}

/* Language Selector */
/* Language Selector Wrapper */
.header-actions {
    display: flex;
    align-items: center;
}

.lang-selector-wrapper {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    padding: 4px 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.lang-selector-wrapper:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: var(--primary);
}

.lang-selector {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    font-weight: 700;
}

.lang-btn {
    background: none;
    border: none;
    color: var(--secondary);
    cursor: pointer;
    padding: 5px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lang-btn:hover {
    background: rgba(0, 188, 212, 0.1);
    color: var(--primary);
    transform: scale(1.1);
}

.lang-btn.active {
    background: var(--primary);
    color: var(--white);
    box-shadow: 0 0 15px rgba(0, 188, 212, 0.5);
}

.lang-divider {
    width: 1px;
    height: 18px;
    background: rgba(0, 0, 0, 0.1);
    margin: 0 2px;
}

/* Responsive Navigation Font Size */
@media (max-width: 1200px) {
    .nav-list {
        gap: 15px;
    }
    .nav-list a {
        font-size: 0.75rem;
    }
}

/* Hero Carousel Section */
.hero-carousel {
    width: 100vw;
    max-width: 100vw;
    height: 95vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.carousel-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    /* Asegurar centrado */
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.carousel-slide.active {
    opacity: 1;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.7));
    z-index: -1;
}

.hero-content h1 {
    font-size: 4rem;
    font-weight: 900;
    margin-bottom: 20px;
    line-height: 1.1;
}

.hero-content h2 {
    color: #00bcd4 !important; /* Solid Aqua Blue */
    text-shadow: none !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 1.8rem;
}

.hero-btns {
    display: flex;
    gap: 20px;
    justify-content: center;
}

/* Featured Series (Home) */
.series-grid-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    padding: 60px 0;
}

.series-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.series-image {
    height: 400px;
    border-radius: 15px;
    background-size: cover;
    background-position: center;
    box-shadow: var(--shadow);
}

.series-info h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    text-transform: uppercase;
    color: var(--secondary);
}

/* Categories Section */
.categories {
    padding: 120px 0;
    /* MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s espacio */
    background: var(--white);
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.category-card {
    text-decoration: none;
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    height: 350px;
    box-shadow: var(--shadow);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.category-card:hover {
    transform: scale(1.03);
}

.category-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s;
}

.category-card:hover .category-image {
    transform: scale(1.1);
}

.category-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: var(--white);
}

.category-info h3 {
    font-size: 1.5rem;
    margin-bottom: 5px;
}

.category-info span {
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Gallery Grid */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin: 40px 0;
}

.gallery-item {
    border-radius: 8px;
    overflow: hidden;
    height: 250px;
    box-shadow: var(--shadow);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
    cursor: pointer;
}

.gallery-item img:hover {
    transform: scale(1.05);
}

/* Series Highlights */
.series-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 60px;
}

.series-card {
    background: var(--light);
    padding: 30px;
    border-radius: 12px;
    border-left: 4px solid var(--primary);
}

.series-card h3 {
    margin-bottom: 10px;
    color: var(--secondary);
}

.content-text {
    max-width: 800px;
    margin: 0 auto 40px;
    font-size: 1.1rem;
}

.content-text p {
    text-align: justify;
    margin-bottom: 15px;
}

/* Features Section */
.features {
    padding: 60px 0;
    background: var(--light);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    text-align: center;
}

.feature-item h3 {
    margin-bottom: 10px;
    color: var(--primary-dark);
}

/* Specialized Categories Grid */
.category-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 40px;
}

.cat-item {
    background: var(--white);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: transform 0.3s;
}

.cat-item:hover {
    transform: translateY(-5px);
}

.cat-item h3 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: var(--secondary);
}

.cat-item p {
    font-size: 0.85rem;
    color: #666;
}

/* Services Section */
.services {
    padding: 120px 0;
    /* Mucho mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s aire */
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header h2 {
    font-size: 2.5rem;
    margin-bottom: 10px;
    color: var(--secondary);
}

.services-gallery,
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.service-card {
    background: var(--white);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: transform 0.3s;
}

.service-card:hover {
    transform: translateY(-10px);
}

.service-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.service-card h3 {
    padding: 20px;
    text-align: center;
    font-size: 1.25rem;
}

.bg-alt {
    background-color: #f8fdff;
}

/* Contact & Map */
.contact {
    padding: 120px 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.contact-details {
    list-style: none;
    margin-top: 30px;
}

.contact-details li {
    margin-bottom: 15px;
    font-size: 1.1rem;
}

.map-container {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.contact-page {
    padding: 120px 0;
}

/* Technical Catalog & Grid */
.technical-catalog {
    margin: 60px 0;
}

.catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.catalog-item {
    background: var(--white);
    padding: 30px;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    border-left: 5px solid var(--primary);
    transition: transform 0.3s;
}

.catalog-item:hover {
    transform: translateX(10px);
}

.catalog-item h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    color: var(--secondary);
    text-transform: uppercase;
}

.catalog-item p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444;
}

/* Utility Classes */
.accent-title {
    color: var(--primary);
    font-weight: 700;
    margin-top: 30px;
}

.uppercase-bold {
    text-transform: uppercase;
    font-weight: 700;
    margin: 20px 0;
    /* Centered manually via text-center */
}

/* Modal Overlay & Content */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

.modal-content {
    position: relative;
    width: 90%;
    max-width: 500px;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    animation: modalFadeIn 0.3s ease;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    color: var(--white);
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s;
}

.modal-close:hover {
    color: var(--primary);
}

.modal-content h2 {
    color: var(--white);
    margin-bottom: 10px;
}

.modal-content p {
    color: #cfd8dc;
    margin-bottom: 20px;
    font-size: 0.9rem;
}

/* Alignment Rules */
.section-header, .text-center, .services .container, .team-story .container, .contact-page .container {
    text-align: center;
    margin-bottom: 50px;
}

.section-header h2, .text-center h1, .text-center h2, .text-center h3, 
.services h1, .services h2, .team-story h2, .contact-page h2 {
    text-align: center !important;
    margin-bottom: 25px;
}

.section-header p, .text-center p, .services .container > p {
    text-align: justify;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

/* Long text blocks should be justified but centered on the page */
.content-text, .justified-block {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    text-align: justify;
}

.content-text p, .justified-p {
    text-align: justify !important;
    margin-bottom: 20px;
}
.footer {
    background: var(--secondary);
    color: var(--white);
    padding: 80px 0 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 60px;
}

.footer-col h3,
.footer-col h4 {
    margin-bottom: 20px;
}

.footer-col ul {
    list-style: none;
}

.footer-col ul li {
    margin-bottom: 10px;
}

.footer-col a {
    color: #cfd8dc;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-col a:hover {
    color: var(--primary);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 30px 0;
    text-align: center !important; /* Force centering */
    font-size: 0.9rem;
    color: #90a4ae;
}

.footer-bottom p {
    text-align: center !important; /* Override global justification */
    margin-bottom: 0;
}

/* Mobile Toggle */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background: var(--secondary);
    border-radius: 2px;
}

@media (max-width: 768px) {
    .mobile-menu-toggle {
        display: flex;
    }

    .hero-content h1 {
        font-size: 2.5rem;
    }

    .features-grid,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .hero-logo {
        top: 20px;
        left: 20px;
    }

    .hero-logo-img {
    height: 140px !important;
        /* Reducido proporcionalmente */
    }
}

/* --- Side Navigation (Standardized) --- */
.side-nav {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 1000;
}

@keyframes pulseGlow {

    0%,
    100% {
        box-shadow: 0 0 5px rgba(0, 168, 225, 0.2);
        background: rgba(255, 255, 255, 0.1);
    }

    50% {
        box-shadow: 0 0 20px rgba(0, 168, 225, 0.6);
        background: rgba(255, 255, 255, 0.2);
    }
}

/* Contact Card Simple (Centering emergency lines) */
.contact-card-simple {
    text-align: center;
    margin: 40px auto;
    padding: 30px;
    background: rgba(236, 239, 241, 0.5);
    border-radius: 12px;
    max-width: 600px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.contact-card-simple h3 {
    margin-bottom: 20px;
    color: var(--secondary);
}

.contact-card-simple p {
    text-align: center !important;
    margin-bottom: 10px;
}

/* Contact Page Congruency */
.contact-grid {
    align-items: stretch !important;
}

.contact-card {
    background: #f8f9fa;
    padding: 40px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.contact-card h2 {
    margin-bottom: 30px;
    color: var(--secondary);
    font-family: 'SOG Display', sans-serif;
    font-size: 1.6rem;
    text-align: center !important; /* Centered as requested */
}

/* Lightbox Zoom Feature */
.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    cursor: zoom-out;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox-overlay.active {
    display: flex;
    opacity: 1;
}

.lightbox-img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
    transform: scale(0.9);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.lightbox-overlay.active .lightbox-img {
    transform: scale(1);
}

.gallery-item img, .gallery-grid img {
    cursor: zoom-in;
    transition: transform 0.3s ease;
}

.gallery-item img:hover, .gallery-grid img:hover {
    transform: scale(1.03);
}

.contact-details {
    list-style: none;
    padding: 0;
}

.contact-details li {
    margin-bottom: 15px;
    font-size: 1.1rem;
    line-height: 1.4;
}

.custom-form .form-group {
    margin-bottom: 20px;
    text-align: left;
}

.custom-form label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    color: var(--secondary);
}

.custom-form input, 
.custom-form select, 
.custom-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #ffffff;
    color: var(--text);
    font-family: inherit;
    transition: all 0.3s ease;
}

.custom-form input:focus, 
.custom-form select:focus, 
.custom-form textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.1);
    outline: none;
}
/* --- HEADER SCROLLED STATE --- */
.header.scrolled {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
}
.header.scrolled .nav-list a { color: #111 !important; }
.header.scrolled .lang-btn { color: #111 !important; }

/* --- DESKTOP HEADER REFINEMENT --- */
@media (min-width: 1025px) {
    .header-logo-container { display: block !important; }
    .header-logo img { height: 60px !important; width: auto !important; }
    .nav-list i { display: none !important; }
    .premium-mobile-nav { display: none !important; }
    .mobile-top-bar {
 display: none !important; }
    .mobile-trigger-btn { display: none !important; }
    
    /* Side Nav Desktop Only */
    body:hover .side-nav { opacity: 0.15; }
    .side-nav:hover { opacity: 1 !important; }
}

/* --- THE FINAL ATOMIC PREMIUM MOBILE SYSTEM (v11.7) --- */
@media (max-width: 1150px) {
    /* Hide Desktop Nav completely */
    /* Reset Header for Mobile to allow Language Selector visibility */
    .header { 
        display: block !important; 
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        transform: none !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }
    .header-container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .nav, .header-logo-container, .mobile-menu-toggle { display: none !important; }
    .side-nav { display: none !important; }

    /* Logo with Mirror Border (Symmetric) */
    .hero-logo {
        position: fixed !important;
        top: 10px !important;
        left: 10px !important;
        z-index: 100000005 !important;
        background: rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        padding: 5px !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    }
    
    .hero-logo-img { height: 60px !important; width: auto !important; }

    /* Floating Controls Group (Right) */
    .mobile-trigger-btn {
        position: fixed !important;
        top: 10px !important;
        right: 10px !important;
        width: 55px !important;
        height: 55px !important;
        border-radius: 50% !important;
        background: var(--sog-theme-button,var(--sog-accent,#00f2ff)) !important;
        color: var(--sog-theme-button-text,#00121b) !important;
        z-index: 100000006 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 24px !important;
        border: 3px solid white !important;
        box-shadow: 0 5px 20px rgba(0, 242, 255, 0.5) !important;
    }

    .hero-free-estimate {
        position: fixed !important;
        top: 75px !important; /* Under Menu Button */
        right: 10px !important;
        z-index: 100000004 !important;
        background: rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 2px solid white !important;
        color: white !important;
        padding: 8px 15px !important;
        font-size: 0.7rem !important;
        border-radius: 8px !important;
        text-transform: uppercase;
        font-weight: 700;
        text-decoration: none;
        display: block !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
    }

    /* Language Switcher Mobile (Floating under Estimate) */
    .header-actions {
        display: block !important;
        position: fixed !important;
        top: 10px !important; /* Al par del logotipo */
        left: 100px !important; /* Distancia prudente (Logo en 10px + ancho) */
        z-index: 100000004 !important;
    }
    
    .lang-selector-wrapper {
        background: rgba(255, 255, 255, 0.2) !important;
        backdrop-filter: blur(10px) !important;
        border: 1px solid rgba(255, 255, 255, 0.4) !important;
        border-radius: 50px !important;
        padding: 2px !important;
    }
    
    .lang-btn { font-size: 0.6rem !important; padding: 4px 10px !important; color: white !important; }
    .lang-btn.active { background: var(--sog-theme-button,var(--sog-accent,#00f2ff)) !important; color: var(--sog-theme-button-text,#00121b) !important; }

    /* Mobile Menu Sidebar */
    .premium-mobile-nav {
        display: block !important;
        position: fixed !important;
        top: 0 !important; left: 0 !important;
        width: 280px !important; height: 100vh !important;
        background: rgba(10, 15, 30, 0.98) !important;
        backdrop-filter: blur(25px) !important;
        z-index: 100000010 !important;
        transform: translateX(-100%) !important;
        transition: transform 0.4s ease !important;
    }
    body.menu-active .premium-mobile-nav { transform: translateX(0) !important; }
    
    .premium-nav-list { list-style: none; padding: 20px; }
    .premium-nav-list li { margin-bottom: 10px; }
    .premium-nav-list a { color: white; text-decoration: none; font-size: 1.1rem; display: flex; align-items: center; gap: 15px; padding: 10px; border-radius: 10px; }
    .premium-nav-list a.active { background: rgba(0, 242, 255, 0.15); color: #00f2ff; }
}

/* Phones */
@media (max-width: 768px) {
    .hero-content h1 { font-size: 2.2rem; }
    .features-grid, .categories-grid, .footer-grid { grid-template-columns: 1fr; }
}/* --- Side Navigation Restoration (v11.8) --- */
.side-nav {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.side-nav-btn {
    width: 45px;
    height: 45px;
    background: rgba(0, 0, 0, 0.4);
    border: 1.5px solid rgba(255, 255, 255, 0.1);
    color: white;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    font-size: 1rem;
}

.side-nav-btn:hover {
    background: var(--sog-theme-button,var(--sog-accent,#00f2ff));
    color: var(--sog-theme-button-text,#00121b);
    border-color: var(--sog-theme-border,var(--sog-accent,#00f2ff));
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(0, 242, 255, 0.5);
}
/* Elegant Premium Button (v16.4) */
.premium-submit-btn {
    width: 100%;
    padding: 14px 30px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--sog-theme-button,var(--sog-accent,#00f2ff)) 0%, var(--sog-theme-button-2,var(--sog-accent-2,#0097a7)) 100%) !important;
    color: var(--sog-theme-button-text,#00121b) !important;
    border: none !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(0, 242, 255, 0.3) !important;
    transition: all 0.3s ease !important;
    font-family: 'SOG Display', sans-serif !important;
    font-size: 0.85rem !important;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

.premium-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 242, 255, 0.5) !important;
    filter: brightness(1.1);
}
/* Crystal Menu Logo (v17.0) */
.mobile-menu-logo div {
    background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02)) !important;
    position: relative;
    overflow: hidden;
}

.mobile-menu-logo div::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);
    transform: rotate(45deg);
    animation: crystalShine 4s infinite linear;
}

@keyframes crystalShine {
    0% { transform: translate(-100%, -100%) rotate(45deg); }
    100% { transform: translate(100%, 100%) rotate(45deg); }
}

@media (max-width: 1150px) {
    /* Reset Header for Mobile */
    .header { 
        display: block !important; 
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        transform: none !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }
    .header-container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .nav, .header-logo-container, .mobile-menu-toggle { display: none !important; }
    .side-nav { display: none !important; }

    /* Logo at top left */
    .hero-logo {
        position: fixed !important;
        top: 10px !important;
        left: 10px !important;
        z-index: 100000005 !important;
        background: rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        padding: 5px !important;
        border-radius: 8px !important;
    }
    .hero-logo-img { height: 60px !important; width: auto !important; }

    /* Language next to logo */
    .header-actions {
        display: block !important;
        position: fixed !important;
        top: 10px !important;
        left: 100px !important;
        z-index: 100000004 !important;
    }
    
    /* Menu Toggle (Floating Blue Circle) */
    .mobile-trigger-btn {
        position: fixed !important;
        top: 10px !important;
        right: 10px !important;
        width: 55px !important;
        height: 55px !important;
        border-radius: 50% !important;
        background: var(--sog-theme-button,var(--sog-accent,#00f2ff)) !important;
        color: var(--sog-theme-button-text,#00121b) !important;
        z-index: 100000006 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 24px !important;
        border: 3px solid white !important;
    }
}
/* --- TABLET & MOBILE REFINEMENT (v28.0) --- */
@media (max-width: 1150px) {
    /* Hide Scroll Navigation on Touch Devices */
    .side-nav { display: none !important; }
    
    /* Reposition and Shrink Hero Logo to avoid collision */
    .hero-logo {
        top: 80px !important; /* Below the floating header */
        left: 20px !important;
        transform: none !important;
    }
    .hero-logo-img {
        height: 80px !important; /* Smaller for tablets */
        width: auto !important;
    }
    
    /* Ensure Hero Content doesn't overlap with the newly moved logo */
    .hero-content {
        padding-top: 100px !important;
    }
}
/* --- THE ABSOLUTE TABLET SHIELD (v28.1) --- */
@media (max-width: 1366px) {
    /* Hide Scroll Navigation on ALL Touch/Tablet/Small Laptop views */
    .side-nav { display: none !important; }
    
    /* Force Hero Logo to top-left and shrink it */
    .hero-logo {
        position: absolute !important;
        top: 100px !important; /* Safe distance below menu */
        left: 20px !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 100 !important;
    }
    .hero-logo-img {
        height: 70px !important; /* Final small size for tablets */
        width: auto !important;
    }
}
/* --- GLASS FRAME REFINEMENT (v28.2) --- */
@media (max-width: 1366px) {
    .hero-logo {
        display: inline-flex !important;
        padding: 10px !important; /* Reduced padding for tighter fit */
        width: fit-content !important;
        height: fit-content !important;
        border-radius: 12px !important;
    }
}
/* --- HEADER CONTROLS REPOSITIONING (v28.3) --- */
@media (max-width: 1366px) {
    .header-actions {
        display: block !important;
        position: fixed !important;
        top: 20px !important;
        right: 80px !important; /* Positioned to the left of the menu button */
        left: auto !important;
        z-index: 100000006 !important;
    }
    .mobile-trigger-btn {
        right: 15px !important;
    }
}
/* --- BUTTON GAP TUNING (v28.4) --- */
@media (max-width: 1366px) {
    .header-actions {
        right: 75px !important; /* Slightly closer to menu button in Eco 1 */
    }
}
/* --- MAXIMUM PROXIMITY TUNING (v28.5) --- */
@media (max-width: 1366px) {
    .header-actions {
        right: 72px !important; /* Aggressive proximity for Eco 1 */
    }
}
/* --- FINAL HEADER TUNING (v28.6) --- */
@media (max-width: 1366px) {
    .header-actions {
        right: 70px !important; /* Touch proximity for Eco 1 */
    }
}
/* --- OVERLAP PROXIMITY (v28.7) --- */
@media (max-width: 1366px) {
    .header-actions {
        right: 65px !important; /* Moving even closer, nearly overlapping the margin of the menu button */
    }
}
/* --- LEFT SIDE ALIGNMENT (v28.8) --- */
@media (max-width: 1366px) {
    .header-actions {
        right: auto !important;
        left: 30px !important; /* Positioned horizontally next to the logo */
        top: 20px !important;
    }
}

/* --- SMART RESPONSIVE HEADER (v29.0) --- */
/* For Small Laptops/Large Tablets (Desktop Menu still visible) */
@media (min-width: 1025px) and (max-width: 1400px) {
    .header-actions {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        display: flex !important;
        margin-left: 20px;
        z-index: 100 !important;
    }
}

/* For Mobile/Vertical Tablet (Hamburger Menu visible) */
@media (max-width: 1150px) {
    .header-actions {
        position: fixed !important;
        top: 20px !important;
        left: 25px !important; /* Over logo ONLY when menu is hidden */
        right: auto !important;
        z-index: 100000010 !important;
    }
}
/* --- INTERMEDIATE ALIGNMENT SYNC (v29.1) --- */
@media (min-width: 1025px) and (max-width: 1400px) {
    .header-actions {
        position: absolute !important;
        right: 30px !important; /* Positioned at the end of the header bar */
        top: 50% !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        margin-left: 0 !important;
        z-index: 1000 !important;
    }
}
/* --- THE END-OF-BAR ANCHOR (v29.2) --- */
@media (min-width: 1025px) and (max-width: 1400px) {
    .header { position: relative !important; }
    .header-actions {
        position: absolute !important;
        right: 40px !important; /* Fixed at the far right of the header bar */
        left: unset !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        z-index: 1000 !important;
    }
}
/* --- FLEX FLOW RESTORATION (v29.3) --- */
@media (min-width: 1025px) and (max-width: 1400px) {
    .header-container {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: 95% !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
    }
    .desktop-nav {
        margin-right: 20px !important;
    }
    .header-actions {
        position: static !important; /* Back to normal flow */
        transform: none !important;
        display: flex !important;
    }
}
/* --- VERTICAL COMPACTION (v29.4) --- */
@media (min-width: 1025px) and (max-width: 1400px) {
    .hero-logo {
        top: 75px !important; /* Raised to almost touch the menu bar */
        left: 20px !important;
    }
    .estimate-btn, .hero-free-estimate {
        top: 75px !important; /* Raised to match the logo height */
        right: 20px !important;
        position: absolute !important;
        z-index: 100 !important;
    }
}
/* --- AGGRESSIVE VERTICAL CLIMB (v29.5) --- */
@media (min-width: 1025px) and (max-width: 1400px) {
    .hero-logo {
        top: 58px !important; /* Extremely close to the header bar */
    }
    .estimate-btn, .hero-free-estimate {
        top: 58px !important; /* Matching the logo's new aggressive height */
    }
}
/* --- ZENITH CLIMB (v29.6) --- */
@media (min-width: 1025px) and (max-width: 1400px) {
    .hero-logo {
        top: 48px !important; /* Moving even higher to the limit */
    }
    .estimate-btn, .hero-free-estimate {
        top: 48px !important; /* Moving even higher to the limit */
    }
}
/* --- 30% LOGO REDUCTION (v32.2) --- */
@media (max-width: 1150px) {
    .hero-logo, .ghost-mobile-logo {
        width: 90px !important; /* Reduced 30% from ~130px */
        padding: 8px !important;
    }
    .hero-logo img, .ghost-logo-img {
        height: 50px !important; /* Reduced 30% from 70px */
    }
}
/* --- LOGO CENTERING SYNC (v32.3) --- */
@media (max-width: 1150px) {
    .hero-logo, .ghost-mobile-logo {
        width: 90px !important;
        height: 90px !important; /* Square glass box */
        padding: 0 !important; /* Reset padding to use flex centering */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    .hero-logo img, .ghost-logo-img {
        width: 85% !important; /* Keep horizontal margins */
        height: 65px !important; /* Stretched vertically as requested for equal margins */
        object-fit: contain !important; /* Ensure it doesn't distort too much */
    }
}
/* --- MOBILE TRIGGER & LANG FIX (v32.5) --- */
@media (max-width: 1150px) {
    .desktop-nav { display: none !important; }
    
    .mobile-menu-trigger {
        display: flex !important;
        position: fixed !important;
        right: 20px !important;
        top: 25px !important;
        z-index: 100000015 !important;
    }
    
    .header-actions {
        position: static !important;
    }
    
    .lang-selector-wrapper {
        position: fixed !important;
        left: 30px !important; /* Move language to the left as requested */
        right: auto !important;
        top: 25px !important;
        z-index: 100000015 !important;
    }
}
/* --- FORCED MENU BUTTON VISIBILITY (v32.6) --- */
@media (max-width: 1150px) {
    /* Ensure the mobile top bar or the trigger is forced visible */
    .mobile-top-bar, .mobile-trigger-btn, .mobile-menu-toggle, .mobile-menu-trigger {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .mobile-trigger-btn, .mobile-menu-toggle, .mobile-menu-trigger {
        position: fixed !important;
        right: 20px !important;
        top: 25px !important;
        z-index: 100000020 !important;
        color: #007bff !important; /* Visible Blue */
        background: rgba(255, 255, 255, 0.8) !important;
        padding: 10px !important;
        border-radius: 5px !important;
        box-shadow: 0 0 10px rgba(0,0,0,0.1) !important;
    }
    
    /* Ensure the icon inside is also visible */
    .mobile-menu-toggle span {
        background-color: #007bff !important; /* For spans in the hamburger */
    }
    .mobile-trigger-btn i, .mobile-menu-trigger i {
        color: #007bff !important;
        background: transparent !important;
        background-color: transparent !important;
    }
}
/* --- SINGLE MENU & LOGO REFINEMENT (v32.7) --- */
@media (max-width: 1150px) {
    /* Hide duplicates */
    .mobile-menu-toggle, .mobile-menu-trigger { 
        display: none !important; 
    }
    
    /* Leave ONLY the main trigger button */
    .mobile-trigger-btn {
        display: flex !important;
        position: fixed !important;
        right: 15px !important;
        top: 15px !important;
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        font-size: 1.1rem !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border: 1px solid rgba(0,0,0,0.1) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        z-index: 100000025 !important;
        color: #007bff !important;
    }

    /* Logo Image Expansion: Filling the container better */
    .hero-logo img, .ghost-logo-img {
        height: 78px !important; /* Increased from 65px to fill the 90px box better */
        width: auto !important;
        object-fit: contain !important;
    }
}
/* --- THE ECO 1 RECONCILIATION (v32.8) --- */
@media (max-width: 1150px) {
    /* Remove duplicate language bar from header actions */
    .header-actions, .header-actions .lang-selector-wrapper {
        display: none !important;
    }
    
    /* Fine-tune logo size */
    .hero-logo img, .ghost-logo-img {
        height: 72px !important; /* Slightly reduced from 78px */
    }

    /* Lower Free Estimate to avoid menu button collision */
    .hero-free-estimate {
        top: 85px !important; /* Pushed down to clear the top right area */
        right: 15px !important;
    }
}
/* --- THE LOGO DESCENT (v32.9) --- */
@media (max-width: 1150px) {
    .hero-logo, .ghost-mobile-logo {
        top: 150px !important; /* Lowered from 120px to 150px as requested */
    }
}
/* --- THE LOGO FINE-TUNING (v33.0) --- */
@media (max-width: 1150px) {
    /* Correcting overall height (not too low) */
    .hero-logo, .ghost-mobile-logo {
        top: 135px !important; /* Adjusted to the perfect "un poco" lower point */
    }

    /* Centering the logo image precisely within the glass box */
    .hero-logo img, .ghost-logo-img {
        padding-top: 6px !important; /* Lowering it slightly inside the frame for perfect centering */
    }
}
/* --- THE 10PX PROXIMITY SYNC (v33.1) --- */
@media (max-width: 1150px) {
    /* Anchoring top buttons at 15px */
    .lang-selector-wrapper, .mobile-trigger-btn {
        top: 15px !important;
    }
    
    /* Logo and Free Estimate at 65px (15px top + 40px height + 10px gap) */
    .hero-logo, .ghost-mobile-logo, .hero-free-estimate {
        top: 65px !important;
    }
}
/* RE-DISEÃƒâ€˜O DE HERO UNIVERSAL ECO 1 (v43.0) */
@media (max-width: 1250px) {
    .hero, .hero-carousel, .page-hero, .hero-section {
        padding-top: 140px !important; justify-content: flex-start !important; /* BUFFER PARA EVITAR COLISIÃƒâ€œN CON LOGO */
        min-height: auto !important;
        height: auto !important;
        padding-bottom: 50px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }
    .hero-content h1, .page-hero h1 {
        font-size: 1.8rem !important;
        margin-top: 20px !important;
    }
    .hero-content h1, .hero-content h2, .page-hero h1 {
        transform: translateY(-50px) !important; /* SUBE EL TEXTO (v43.9) */
    }
    .hero-btns {
        transform: translateY(0) !important; /* MANTIENE LOS BOTONES EN SU LUGAR */
        margin-top: 20px !important;
    }
}
/* SURGICAL STABILIZATION ECO 1 (v44.9) */

/* 1. ELEVACIÃƒâ€œN DE TEXTO HOME (SIN MOVER BOTONES) */
@media (max-width: 1250px) {
    .hero-content h1, .hero-content h2 {
        transform: translateY(-60px) !important; /* SUBE EL TEXTO SOLAMENTE */
    }
    .hero-btns {
        transform: translateY(0) !important; /* BLINDA LOS BOTONES EN SU SITIO */
        margin-top: 50px !important; /* ASEGURA LA HOLGANZA */
    }
}

/* 2. INDEPENDIZACIÃƒâ€œN DE SERIES (ANCHO TOTAL) */
@media (max-width: 991px) {
    .series-grid-main {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }
    .series-item {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 40px !important;
    }
    .series-image {
        width: 100% !important;
        height: 300px !important;
    }
}

/* 3. CENTRADO ABSOLUTO (FOTOS 3 Y 4) */
.contact-info, .about-content, .section-header, .footer-col, .page-hero .container {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.contact-details, .footer-col ul {
    list-style: none;
    padding: 0;
    text-align: center !important;
    width: 100% !important;
}

.contact-details li, .footer-col li, .footer-col p {
    text-align: center !important;
    margin: 5px auto !important;
    width: 100% !important;
}

/* 4. CONTORNOS Y SEGREGACIÃƒâ€œN DE ICONOS */
.hero-content h1, .hero-content h2, .hero-content p, .page-hero h1, .page-hero p {
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 2px 10px rgba(0,0,0,0.8) !important;
}

@media (min-width: 1024px) {
    .nav-list i, .premium-nav-list i { display: none !important; }
}
@media (max-width: 1023px) {
    .nav-list i, .premium-nav-list i { display: inline-block !important; color: #fff !important; margin-right: 12px !important; }
}
/* LOCK TOTAL DE DISEÃƒâ€˜O ECO 1 (v45.0) */

/* 1. ElevaciÃƒÂ³n de Texto (Foto 1) */
@media (max-width: 1250px) {
    .hero-content h1, .hero-content h2 { transform: translateY(-70px) !important; }
    .hero-btns { transform: translateY(0) !important; margin-top: 60px !important; }
}

/* 2. IndependizaciÃƒÂ³n de Series (Foto 2) */
@media (max-width: 991px) {
    .series-grid-main { display: flex !important; flex-direction: column !important; width: 100% !important; }
    .series-item { width: 100% !important; max-width: none !important; margin-bottom: 40px !important; }
    .series-image { width: 100% !important; height: 350px !important; }
}

/* 3. Centrado Total (Fotos 3 y 4) */
.contact-info, .about-content, .section-header, .footer-col, .footer-grid, .page-hero .container {
    text-align: center !important;
    display: flex !important; flex-direction: column !important; align-items: center !important;
    width: 100% !important;
}
.contact-details li, .footer-col li, .footer-col p { text-align: center !important; margin: 10px auto !important; }

/* 4. Contornos de Texto */
.hero-content h1, .hero-content h2, .hero-content p, .page-hero h1, .page-hero p {
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 3px 15px rgba(0,0,0,0.9) !important;
}
/* REFINAMIENTO DE DISEÃƒâ€˜O Y SIMETRÃƒÂA ECO 1 (v45.2) */

/* 1. Footer en Escritorio (3 Columnas Centradas) */
@media (min-width: 1025px) {
    .footer-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 40px !important;
        text-align: center !important;
    }
}

/* 2. Footer en MÃƒÂ³vil (Apilado Centrado) */
@media (max-width: 1024px) {
    .footer-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
}

/* 3. Reglas Universales de Centrado para Columnas del Footer */
.footer-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.footer-col h3, .footer-col h4, .footer-col p, .footer-col ul, .footer-col li {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 4. ElevaciÃƒÂ³n de Texto Home (Sin mover botones) */
@media (max-width: 1250px) {
    .hero-content h1, .hero-content h2 { transform: translateY(-70px) !important; }
    .hero-btns { transform: translateY(0) !important; margin-top: 60px !important; }
}

/* 5. IndependizaciÃƒÂ³n de Series (Ancho Total en MÃƒÂ³vil) */
@media (max-width: 1024px) {
    .series-grid-main { display: flex !important; flex-direction: column !important; }
    .series-item { width: 100% !important; max-width: none !important; margin-bottom: 40px !important; }
}
/* OVERRIDE DEFINITIVO DE ALINEACIÃƒâ€œN ECO 1 (v45.3) */

/* Centrado Radical del Footer */
footer, .footer, #footer, .footer-grid, .footer-col {
    text-align: center !important;
}

.footer-col *, .footer-grid * {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}

.footer-col li, .footer-col p {
    width: 100% !important;
}

/* Stacking de Series Radical */
@media (max-width: 1100px) {
    .series-grid-main {
        display: block !important;
        width: 100% !important;
    }
    .series-item {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        margin: 0 0 50px 0 !important;
    }
    .series-image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16/9;
    }
}
/* REFINAMIENTO FINAL DE HERO (v46.4) */
@media (min-width: 501px) { /* UMBRAL MÃƒÂS BAJO PARA ASEGURAR QUE EL USUARIO LO VEA */
    .hero-content p {
        font-size: 2.1rem !important; /* MÃƒÂS GRANDE (CASI EL DOBLE) */
        max-width: 500px !important;  /* ÃƒÂREA ANGOSTA PARA FORZAR MÃƒÂNIMO 2 FILAS */
        margin-left: auto !important;
        margin-right: auto !important;
        line-height: 1.2 !important;
        color: #fff !important;
        font-weight: 400 !important;
        display: block !important;
    }
    
    .hero-btns {
        margin-top: 80px !important; /* DOS ESPACIOS VACÃƒÂOS CLAROS */
        display: flex !important;
        justify-content: center !important;
    }
}

/* REFUERZO DE ESPACIADO Y ESTRUCTURA (v48.2) */
@media (min-width: 1024px) {
    body, .container, .header, .footer {
        padding-left: 50px !important;
        padding-right: 50px !important;
        max-width: 1600px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .series-grid-main {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 40px 0 !important;
    }
    
    .series-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 60px !important;
        margin-bottom: 56px !important; /* Math: 20px padding-bottom + 56px margin + 20px padding-top = 96px (exactly 1 inch) */
        padding: 20px 0 !important;
    }
    
    .series-item:nth-child(even) {
        flex-direction: row-reverse !important;
    }
    
    .series-image {
        flex: 1 !important;
        height: 450px !important;
        border-radius: 20px !important;
        box-shadow: 0 20px 40px rgba(0,0,0,0.3) !important;
    }
    
    .series-info {
        flex: 1 !important;
    }
    
    .series-info h2 {
        font-size: 2rem !important;
        margin-bottom: 25px !important;
    }
}
/* --- RESPONSIVE LANGUAGE CONTROLS (v49.7) --- */
:root {
    --logo-inicio: 15px;
    --logo-ancho: 100px;
    --control-ancho: 85px;
}

.mobile-top-bar {
    position: absolute;
    top: 30px;
    left: 0;
    width: 100%;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
}

.mobile-top-bar .lang-selector-wrapper { 
    margin-left: calc(var(--logo-inicio) + (var(--logo-ancho) - var(--control-ancho)) / 2);
}

.mobile-top-bar .mobile-trigger-btn { 
    margin-left: auto;
    margin-right: 15px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.3);
    color: white;
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
}
/* Desktop View: Hide Mobile Bar, Show Desktop Lang */
@media (min-width: 1025px) {
    .mobile-top-bar {
 display: none !important; }
    .header-actions .lang-selector-wrapper { display: flex !important; }
}
/* Mobile View: Show Mobile Bar, Hide Desktop Lang */
@media (max-width: 1024px) {
    .mobile-top-bar {
 display: flex !important; }
    .header-actions .lang-selector-wrapper { display: none !important; }
    .mobile-trigger-btn:not(.mobile-top-bar .mobile-trigger-btn) { display: none !important; } /* Hide redundant triggers */
}
/* SURGICAL WIDTH & CENTERING OVERRIDE */
body, html {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.hero-carousel {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    left: 0 !important;
    right: 0 !important;
}
.carousel-container, .carousel-slide {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1024px) {
    .mobile-top-bar .lang-selector-wrapper { 
        position: absolute !important;
        left: 65px !important;
        transform: translateX(-50%) !important;
        top: -22px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* SURGICAL SECTION SPACING CAP (MAX 1 INCH / 96PX) */
.series-grid-main {
    padding-bottom: 0px !important;
}
.series-item:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media (min-width: 1025px) {
    .categories, .services, .contact, .contact-page {
        padding-top: 96px !important; /* Exactly 1 inch */
        padding-bottom: 96px !important; /* Exactly 1 inch */
    }
}

@media (max-width: 1024px) {
    .categories, .services, .contact, .contact-page {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
    .series-item {
        margin-bottom: 30px !important; /* Balanced gap between stacked items */
    }
    .series-item:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* MOBILE & TABLET HERO FULL-SCREEN STABILIZATION */
@media (max-width: 1024px) {
    .hero-carousel {
        height: 100vh !important;
        min-height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding-top: 150px !important; /* Safety clearance for logo */
        padding-bottom: 50px !important;
        box-sizing: border-box !important;
    }
    
    .hero-carousel .hero-content {
        margin: auto 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }

    .hero-content h1 {
        font-size: 2.2rem !important;
        line-height: 1.2 !important;
        margin: 0 0 15px 0 !important;
        transform: none !important;
        text-align: center !important;
    }
    .hero-content h2 {
        font-size: 1.4rem !important;
        line-height: 1.3 !important;
        margin: 0 0 15px 0 !important;
        transform: none !important;
        text-align: center !important;
    }
    .hero-content p {
        font-size: 1rem !important;
        line-height: 1.4 !important;
        margin: 0 0 25px 0 !important;
        max-width: 600px !important;
        transform: none !important;
        text-align: center !important;
    }

    .hero-btns {
        transform: none !important;
        margin-top: 25px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 15px !important;
        width: 100% !important;
    }

    .hero-btns a.btn {
        margin: 0 !important;
    }

    /* Stacking Contact Form and Details on Mobile & Tablet */
    .contact-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        margin-bottom: 40px !important;
        align-items: stretch !important;
    }
}

/* --- GLASS REPLACEMENT PAGE STYLES --- */
.glass-replacement-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: start;
    margin-top: 20px;
}
@media (max-width: 1024px) {
    .glass-replacement-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}
.replacement-info-col h2 {
    color: #00f2ff;
    font-family: 'SOG Display', sans-serif;
    font-size: 1.8rem;
    margin-bottom: 25px;
    text-align: left !important;
}
.replacement-info-col .content-text p {
    color: #cbd5e1;
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 20px;
    text-align: left !important;
}
.services-list-wrapper {
    margin-top: 30px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 25px;
    border-radius: 12px;
}
.services-list-wrapper h3 {
    color: #fff;
    font-family: 'SOG Sans', sans-serif;
    font-size: 1.25rem;
    margin-bottom: 15px;
    text-align: left !important;
}
.replacement-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.replacement-services-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    color: #94a3b8;
    line-height: 1.5;
    text-align: left !important;
}
.replacement-services-list li::before {
    content: "•";
    position: absolute;
    left: 10px;
    color: #00f2ff;
    font-weight: bold;
}
.replacement-services-list li.disclaimer-item {
    font-style: italic;
    color: #f43f5e;
    margin-top: 15px;
    border-top: 1px dashed rgba(255, 255, 255, 0.1);
    padding-top: 15px;
}
.replacement-services-list li.disclaimer-item::before {
    color: #f43f5e;
}

/* Gallery and Contact Column */
.replacement-gallery-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.replacement-gallery-col .contact-card-simple {
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(0, 242, 255, 0.2);
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.replacement-gallery-col .contact-card-simple h3 {
    color: #00f2ff;
    font-family: 'SOG Display', sans-serif;
    margin-bottom: 20px;
    font-size: 1.4rem;
    text-align: center !important;
}
.contact-phones p {
    margin-bottom: 10px;
    font-size: 1.1rem;
    color: #cbd5e1;
    text-align: center !important;
}
.contact-hours, .contact-email {
    margin-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 15px;
    color: #94a3b8;
    text-align: center !important;
}
.contact-email a {
    color: #00f2ff;
    text-decoration: none;
    display: inline-block !important;
}
.contact-email a:hover {
    text-decoration: underline;
}

/* Gallery Wrapper */
.gallery-wrapper {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 25px;
}
.gallery-wrapper .gallery-title {
    color: #fff;
    font-family: 'SOG Display', sans-serif;
    font-size: 1.25rem;
    margin-bottom: 20px;
    text-align: center !important;
    background: rgba(15, 23, 42, 0.6);
    padding: 10px;
    border-radius: 6px;
    border-bottom: 2px solid #00f2ff;
}
.gallery-grid-8 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
@media (max-width: 600px) {
    .gallery-grid-8 {
        grid-template-columns: repeat(2, 1fr);
    }
}
.gallery-grid-8 .gallery-item {
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.gallery-grid-8 .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-grid-8 .gallery-item:hover {
    transform: scale(1.05);
    border-color: #00f2ff;
}

/* --- GLASS REPLACEMENT — SOG-123 SEMANTIC VISUAL GOVERNANCE ---
   Historical white-surface/black-text authority removed. This page now follows
   Professional Palette and explicit Editor overrides exactly like every page. */
body[data-page-id="glass-replacement"] .services {
    background: var(--sog-theme-bg) !important;
    color: var(--sog-theme-text) !important;
}
body[data-page-id="glass-replacement"] .services .container {
    max-width: 1000px !important; padding-left:40px !important; padding-right:40px !important; margin:0 auto !important;
}
@media (max-width:480px){body[data-page-id="glass-replacement"] .services .container{padding-left:20px!important;padding-right:20px!important}}
body[data-page-id="glass-replacement"] .services :is(h2,h3,h4,p,li,a,strong,span):not([style*="color:"]) {
    color: inherit !important; -webkit-text-fill-color: currentColor !important;
}
body[data-page-id="glass-replacement"] .replacement-services-list li.disclaimer-item {
    border-top-color: color-mix(in srgb,var(--sog-theme-border) 40%,transparent) !important;
}
body[data-page-id="glass-replacement"] .replacement-services-list li::before {color:var(--sog-accent-3,var(--sog-accent))!important}
body[data-page-id="glass-replacement"] :is(.services-list-wrapper,.replacement-gallery-col .contact-card-simple,.gallery-wrapper) {
    background: var(--sog-theme-surface) !important; border-color: var(--sog-theme-border) !important; color:var(--sog-theme-surface-text)!important;
}
body[data-page-id="glass-replacement"] :is(.contact-hours,.contact-email){border-top-color:color-mix(in srgb,var(--sog-theme-border) 45%,transparent)!important}
body[data-page-id="glass-replacement"] .contact-email a{text-decoration:underline!important}
body[data-page-id="glass-replacement"] .gallery-wrapper .gallery-title {
    background:var(--sog-theme-surface-2)!important; border-bottom-color:var(--sog-theme-border)!important; color:var(--sog-theme-surface-text)!important;
}
body[data-page-id="glass-replacement"] .gallery-grid-8 .gallery-item{border-color:color-mix(in srgb,var(--sog-theme-border) 55%,transparent)!important}
body[data-page-id="glass-replacement"] .gallery-grid-8 .gallery-item:hover{border-color:var(--sog-accent)!important}

/* GLOBAL MOBILE HERO FIX (Applied 2026-05-20) */
@media (max-width: 767px) {
    .page-hero { height: auto !important; min-height: 75vh !important; }
    .page-hero .container { padding-top: 120px !important; }
}



/* --- EXTRACTED FROM HTML HEAD --- */
/* VISTA ESCRITORIO */
@media (min-width: 768px) {
    .hero-content p {
        font-size: 1.25rem !important; 
        max-width: 600px !important;
        margin: 0 auto 40px auto !important;
        line-height: 1.4 !important;
        display: block !important;
    }
    .hero-btns { margin-top: 100px !important; }
}
/* VISTA MÓVIL */
@media (max-width: 767px) {
    .hero-logo { top: 58px !important; left: 15px !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100px !important; height: 100px !important; padding: 10px !important; box-sizing: border-box !important; overflow: hidden !important; }
    .hero-logo-img { max-height: 85px !important; max-width: 85px !important; height: auto !important; width: auto !important; object-fit: contain !important; margin: 0 !important; display: block !important; }
    .hero-content p, .hero-btns { transform: none !important; }
    .hero-content p { font-size: 0.95rem !important; max-width: 82% !important; margin: 0 auto 15px auto !important; }
    .hero-btns { margin-top: 15px !important; }
}
@media (min-width: 1024px) {
    .featured-series .container, 
    .testimonials .container, 
    .areas-served .container,
    .youtube-spotlight .container {
        padding-left: 50px !important;
        padding-right: 50px !important;
        max-width: calc(100% - 100px) !important;
    }
}
@media (max-width: 767px) {
    .page-hero { 
        height: auto !important; 
        min-height: 69vh !important; 
        justify-content: center !important; 
        padding-top: 0 !important; 
    }
    .page-hero .container { padding-top: 0 !important; }
    .page-hero h1, .page-hero p { transform: none !important; }
}


/* ==========================================================================
   ECOSYSTEM 4: CYBER-GLASS FUTURISTIC THEME
   ========================================================================== */

/* 1. WebGL Canvas Background */
#webgl-canvas {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: -1 !important; /* Put behind everything */
    pointer-events: none !important; /* Let clicks pass through to the page */
}

/* 2. Global Transparency & Typography */
body, html {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-family: 'SOG Display', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'SOG Display', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(0, 243, 255, 0.5) !important;
}

/* Strip all existing solid backgrounds so WebGL shines through */
main, section, .hero-carousel, .bg-alt, .about-section, .services, .contact-section, .gallery-section, .footer, .youtube-spotlight, .testimonials, .features {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important; /* Remove static photos */
}

/* 3. The Cyber Header */
.header, .mobile-top-bar {
    background: rgba(5, 5, 8, 0.6) !important;
    backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(0, 243, 255, 0.5) !important;
    box-shadow: 0 0 20px rgba(0, 243, 255, 0.2) !important;
}
.nav-list a {
    color: #ffffff !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
}
.nav-list a:hover {
    color: #00f3ff !important;
    text-shadow: 0 0 8px rgba(0, 243, 255, 0.8) !important;
}

/* 4. Cyber-Glassmorphism Cards */
.service-card, .feature-card, .testimonial-card, .about-content {
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(0, 243, 255, 0.2) !important;
    border-radius: 4px !important; /* Sharp futuristic edges */
    box-shadow: 0 10px 30px rgba(0,0,0,0.5), inset 0 0 20px rgba(0, 243, 255, 0.05) !important;
    color: #e2e8f0 !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}
.service-card:hover, .feature-card:hover {
    transform: translateY(-10px) scale(1.02) !important;
    border-color: rgba(0, 243, 255, 0.8) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.6), inset 0 0 30px rgba(0, 243, 255, 0.15) !important;
}
.service-card h3, .feature-card h3 {
    color: #00f3ff !important;
}

/* 5. Neon Buttons */
.btn, .btn-primary, .btn-secondary {
    background: transparent !important;
    color: #00f3ff !important;
    border: 1px solid #00f3ff !important;
    font-family: 'SOG Display', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    box-shadow: 0 0 10px rgba(0, 243, 255, 0.2), inset 0 0 10px rgba(0, 243, 255, 0.1) !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    position: relative;
    overflow: hidden;
}
.btn:hover, .btn-primary:hover {
    background: #00f3ff !important;
    color: #050508 !important;
    box-shadow: 0 0 20px rgba(0, 243, 255, 0.6), inset 0 0 20px rgba(255, 255, 255, 0.5) !important;
}

/* 6. Hero Specific Overrides */
.hero-content h1 {
    font-size: 4rem !important;
    color: #ffffff !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: 0 0 20px rgba(0, 243, 255, 0.8), 0 0 40px rgba(112, 0, 255, 0.5) !important;
}
.hero-content h2, .hero-content p {
    color: #e2e8f0 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8) !important;
}

/* 7. Logos and Images */
.hero-logo-img {
    filter: drop-shadow(0 0 15px rgba(0, 243, 255, 0.6)) brightness(1.2) !important;
}

/* 8. Fix GSAP Scroll elements (hide initially for reveal) */
.gsap-reveal {
    opacity: 0;
    transform: translateY(50px);
}

/* 9. Thematic Hero Canvas */
#thematic-canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.page-hero, .hero-carousel {
    position: relative !important;
    background: transparent !important;
    background-image: none !important; /* Force remove static backgrounds */
}
.page-hero .container, .hero-content {
    position: relative !important;
    z-index: 1 !important;
}


/* Fix black text bug by removing webkit text stroke from all headings */
h1, h2, h3, h4, h5, h6, .section-title {
    -webkit-text-stroke: 0 !important;
    color: #ffffff !important;
}
.section-title {
    color: #ffffff !important;
    text-shadow: 0 0 15px rgba(0, 243, 255, 0.8) !important;
}

/* Make Home Carousel Images ghostly and transparent */
.carousel-slide {
    opacity: 0.35 !important;
    mix-blend-mode: screen !important; /* Screen mode makes it look like a bright hologram */
    filter: none !important;
}

/* Internal Pages Ghost Backgrounds */
.ghost-bg {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 0;
    opacity: 0.35 !important;
    mix-blend-mode: screen !important;
    background-size: cover;
    background-position: center;
    pointer-events: none;
}


/* SOG-123: obsolete global dark-theme text overrides removed.
   Professional Palette + appearance-engine + typography-contrast are the
   single authorities for foreground/background contrast. */

/* SOG-123: obsolete hardcoded "ULTIMATE CLEANUP" text/button/card rules removed.
   Media/canvas behavior below is retained because it is not color-governance ownership. */

/* 4. Fix Background Images: Clean transparency, NO crazy blend modes */
.carousel-slide {
    opacity: 0.3 !important;
    mix-blend-mode: normal !important; /* Kill the muddy screen/luminosity effect */
    filter: none !important; /* Kill grayscale */
}

.ghost-bg {
    opacity: 0.3 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}

/* SOG-123: hero/header/nav hardcoded palette overrides removed; appearance-engine owns them. */

/* 7. Ensure WebGL canvas is clearly visible */
#webgl-canvas {
    opacity: 1 !important;
}


/* =========================================================
   CRITICAL FIX: PUSH 3D CANVAS TO THE VERY BACK
   ========================================================= */
#webgl-canvas {
    z-index: -999 !important; /* Force it behind EVERYTHING */
    pointer-events: none !important; /* Allow clicks to pass through */
    background: #000000; /* Fallback black */
}

/* Ensure body and html are transparent so the canvas can be seen */
body, html {
    background: transparent !important;
    background-color: transparent !important;
}

/* Ensure the main wrapping sections sit on top of the canvas */
main, section, header, footer {
    position: relative;
    z-index: 1;
}

/* Ensure the thematic canvas in internal pages sits behind the text but in front of the background */
#thematic-canvas {
    z-index: 0 !important; /* Behind text (z-index 1) but in front of global canvas (-999) */
    pointer-events: none !important;
}


/* SOG-123: obsolete NUCLEAR text override removed.
   It duplicated and overrode semantic palette governance with !important. */

/* =========================================================
   FIX: SCROLLED NAV MENU TEXT COLOR
   ========================================================= */
.header.scrolled .nav-list a {
    color: #38bdf8 !important; /* Sky Blue as requested */
}
.header.scrolled .nav-list a:hover, .header.scrolled .nav-list a.active {
    color: #ffffff !important; /* Pure white on hover/active */
    background: rgba(255, 255, 255, 0.1) !important;
}
.header.scrolled .lang-btn {
    color: #38bdf8 !important;
}
.header.scrolled .lang-btn.active {
    color: #ffffff !important;
}

/* ===== OFFLINE / FULL OPEN SOURCE RUNTIME ===== */
.native-glass-canvas,.native-theme-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.native-theme-layer{overflow:hidden;background:radial-gradient(circle at 25% 20%,rgba(0,242,255,.12),transparent 38%),linear-gradient(135deg,rgba(2,6,23,.2),rgba(15,23,42,.72))}
.native-theme-layer span{position:absolute;width:24%;height:72%;top:12%;border:1px solid rgba(125,240,255,.28);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(0,180,255,.025));box-shadow:0 0 24px rgba(0,220,255,.12);transform:skewY(-5deg);animation:sog-float 9s ease-in-out infinite}
.native-theme-layer span:nth-child(1){left:12%}.native-theme-layer span:nth-child(2){left:39%;animation-delay:-3s}.native-theme-layer span:nth-child(3){left:66%;animation-delay:-6s}
@keyframes sog-float{0%,100%{transform:translateY(-6px) skewY(-5deg)}50%{transform:translateY(12px) skewY(-2deg)}}
.local-service-map{min-height:350px;padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(0,242,255,.12),transparent 42%),linear-gradient(145deg,#07111f,#0f2035);color:#e6fbff;text-align:center}
.local-service-map__panel{max-width:680px}.local-service-map h3{font-family:'SOG Display',sans-serif;letter-spacing:.05em;color:#00f2ff;margin-bottom:16px}.local-service-map__locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:20px}.local-service-map__locations div{padding:14px;border:1px solid rgba(0,242,255,.2);border-radius:10px;background:rgba(255,255,255,.04)}
.local-video{width:100%;height:100%;object-fit:cover;border:0;border-radius:10px;background:#020617}
@media (prefers-reduced-motion:reduce){.native-theme-layer span{animation:none!important}}

/* =========================================================
   HOME — FONDO OFICIAL ÚNICO (2026-08-02)
   ========================================================= */
#hero-carousel .carousel-slide {
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* =========================================================
   INTERNAL PAGES — PHOTOGRAPHIC CLARITY STANDARD (2026-08-02)
   Matches the visual presence of the Home hero while keeping
   headings readable. Applies only to subpage hero photography.
   ========================================================= */
.page-hero .ghost-bg {
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: brightness(1.03) contrast(1.06) saturate(1.04) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    transform: translateZ(0);
}

.page-hero .hero-overlay {
    background: linear-gradient(
        180deg,
        rgba(2, 6, 23, 0.20) 0%,
        rgba(2, 6, 23, 0.12) 42%,
        rgba(2, 6, 23, 0.28) 100%
    ) !important;
}

.page-hero h1,
.page-hero p {
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.92),
        0 0 18px rgba(0, 0, 0, 0.68) !important;
}

@media (max-width: 768px) {
    .page-hero .ghost-bg {
        filter: brightness(1.01) contrast(1.05) saturate(1.03) !important;
    }
    .page-hero .hero-overlay {
        background: linear-gradient(
            180deg,
            rgba(2, 6, 23, 0.25) 0%,
            rgba(2, 6, 23, 0.16) 45%,
            rgba(2, 6, 23, 0.34) 100%
        ) !important;
    }
}

/* CONTENT-RECONCILIATION-20260802: official-source content only */
.content-text ul{max-width:900px;margin:1.25rem auto;padding-left:1.5rem;line-height:1.8;color:#cbd5e1}.content-text li{margin:.35rem 0}.gallery-title{text-align:center;margin-bottom:30px;font-family:var(--font-display);color:#00f2ff;font-size:1.8rem}.testimonial-card{background:rgba(255,255,255,.05);padding:20px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}#official-blog-teasers .category-card{padding:1.25rem;min-height:100%;display:block}.local-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.local-video{width:100%;border-radius:12px}.footer-col p{margin:.3rem 0}.footer-col ul{list-style:none;padding:0}.footer-col li{margin:.35rem 0}


/* =========================================================
   UX/UI-015 — CONTEMPORARY VISUAL HARMONY & RESPONSIVE POLISH
   2026-08-02 | No external runtime dependencies
   ========================================================= */
:root{
  --sog-cyan:#42e8ff;
  --sog-sky:#77d9ff;
  --sog-navy:#07182e;
  --sog-panel:rgba(8,20,40,.78);
  --sog-line:rgba(93,224,255,.28);
}
html{
  background:#02060f !important;
  scrollbar-gutter:stable;
  color-scheme:dark;
}
body{
  background:#02060f !important;
  min-height:100vh;
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:160ms ease both sog-page-out}
::view-transition-new(root){animation:220ms ease both sog-page-in}
@keyframes sog-page-out{to{opacity:.86}}
@keyframes sog-page-in{from{opacity:.86}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Stable floating navigation — removes white bands and layout jolts */
.header,.header.scrolled{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  width:min(92vw,1500px) !important;
  max-width:min(92vw,1500px) !important;
}
.header-container,.header.scrolled .header-container{
  width:100% !important;
  max-width:100% !important;
  min-height:68px;
  background:linear-gradient(135deg,rgba(5,17,36,.96),rgba(12,25,47,.94)) !important;
  border:1px solid rgba(105,225,255,.22) !important;
  border-radius:999px !important;
  box-shadow:0 12px 38px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(130%) !important;
  padding:8px 22px !important;
}
.nav-list{gap:clamp(2px,.55vw,12px) !important}
.nav-list a,.header.scrolled .nav-list a{
  position:relative;
  min-height:44px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  color:#d8e7f4 !important;
  font-size:clamp(.64rem,.72vw,.83rem) !important;
  line-height:1;
  padding:10px clamp(9px,.85vw,17px) !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  transform:translateZ(0) scale(1);
  transition:color .18s ease,transform .18s ease,background .18s ease,border-color .18s ease,text-shadow .18s ease !important;
  text-shadow:none !important;
}
.nav-list a:hover,.header.scrolled .nav-list a:hover{
  color:transparent !important;
  background:linear-gradient(180deg,#effdff 0%,#8eeaff 46%,#36bfe8 52%,#eaffff 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  transform:scale(1.055);
  border-color:rgba(100,225,255,.18) !important;
  text-shadow:0 0 10px rgba(91,224,255,.38) !important;
  box-shadow:inset 0 0 16px rgba(66,232,255,.05) !important;
}
.nav-list a.active,.header.scrolled .nav-list a.active{
  color:#fff !important;
  background:linear-gradient(145deg,rgba(58,205,247,.18),rgba(255,255,255,.05)) !important;
  border-color:rgba(65,223,255,.76) !important;
  box-shadow:0 0 18px rgba(0,204,255,.22),inset 0 1px 0 rgba(255,255,255,.12) !important;
  transform:none !important;
  text-shadow:0 0 8px rgba(66,232,255,.45) !important;
}

/* Free Estimate — white lettering with soft cyan mirror contour */
.hero-free-estimate,.hero-free-estimate:visited{
  color:#fff !important;
  background:linear-gradient(145deg,#159ed9,#087fb8) !important;
  border:1px solid rgba(129,235,255,.95) !important;
  box-shadow:0 10px 28px rgba(0,145,207,.32),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -10px 18px rgba(0,38,79,.16) !important;
  text-shadow:-1px 0 rgba(55,213,255,.75),0 1px rgba(55,213,255,.75),1px 0 rgba(55,213,255,.75),0 -1px rgba(55,213,255,.75),0 2px 8px rgba(0,15,35,.65) !important;
}
.hero-free-estimate:hover{
  color:#fff !important;
  background:linear-gradient(145deg,#22b7ed,#0a91cb) !important;
  border-color:#d8fbff !important;
  transform:translateY(-2px) !important;
}

/* Balanced vertical rhythm — no empty deserts */
.services,.contact,.contact-page,.categories,.features,.testimonials,.youtube-spotlight,.areas-served{
  padding-top:clamp(48px,5vw,76px) !important;
  padding-bottom:clamp(48px,5vw,76px) !important;
  min-height:0 !important;
}
.page-hero{margin-bottom:0 !important}
.page-hero + .services,.page-hero + .contact-page{padding-top:clamp(42px,4vw,64px) !important}
.services .container,.contact-page .container,.contact .container{min-height:0 !important}
.gallery-grid{margin-top:24px !important;margin-bottom:0 !important;align-items:start !important}
.gallery-item{align-self:start !important}
.gallery-item img{display:block !important}
.section-header{margin-bottom:clamp(22px,3vw,42px) !important}
.content-text p{margin-bottom:1rem !important}

/* Restore a compact, true grid footer (old forced flex caused giant gaps) */
footer.footer,#footer.footer{display:block !important;padding:clamp(44px,5vw,66px) 0 0 !important}
.footer-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:start !important;
  gap:clamp(28px,5vw,72px) !important;
  padding-bottom:clamp(34px,4vw,52px) !important;
  text-align:center !important;
}
.footer-col{display:block !important;align-items:initial !important}
.footer-col *{width:auto !important;margin:.35rem auto !important}
.footer-bottom{padding:18px 0 !important}

/* Testimonials — contemporary bento-glass presentation */
.testimonials{position:relative;overflow:hidden}
.testimonials::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 15% 15%,rgba(0,211,255,.11),transparent 32%),radial-gradient(circle at 85% 78%,rgba(75,111,255,.09),transparent 30%);
}
.testimonials .container{position:relative;z-index:1}
.testimonials-title{
  max-width:980px;margin:0 auto clamp(30px,4vw,52px) !important;
  font-size:clamp(1.45rem,2.4vw,2.45rem) !important;
  line-height:1.25;text-align:center !important;
}
.testimonials-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.testimonial-card{
  position:relative;isolation:isolate;overflow:hidden;
  display:flex !important;flex-direction:column !important;justify-content:space-between !important;
  min-height:190px;padding:clamp(24px,3vw,36px) !important;
  background:linear-gradient(145deg,rgba(13,32,60,.86),rgba(6,17,35,.74)) !important;
  border:1px solid var(--sog-line) !important;
  border-radius:22px !important;
  box-shadow:0 18px 55px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(16px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(125%) !important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease !important;
}
.testimonial-card::before{
  content:"“";position:absolute;right:22px;top:-20px;z-index:-1;
  font-family:Georgia,serif;font-size:8rem;line-height:1;color:rgba(74,222,255,.09) !important;text-shadow:none !important;
}
.testimonial-card::after{
  content:"";position:absolute;inset:auto -15% -55% 35%;height:170px;z-index:-1;
  background:radial-gradient(ellipse,rgba(0,218,255,.11),transparent 68%);transform:rotate(-8deg);
}
.testimonial-card:first-child{grid-column:1/-1;min-height:210px}
.testimonial-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(90,231,255,.58) !important;
  box-shadow:0 24px 62px rgba(0,0,0,.34),0 0 30px rgba(0,190,255,.08) !important;
}
.testimonial-card p{font-family:Inter,system-ui,sans-serif !important;font-size:clamp(.98rem,1.1vw,1.08rem) !important;line-height:1.72 !important;text-align:left !important;color:#e9f5ff !important;text-shadow:none !important}
.testimonial-card strong{display:flex;align-items:center;gap:10px;margin-top:20px !important;color:#72e4ff !important;letter-spacing:.07em;text-shadow:0 0 12px rgba(65,220,255,.22) !important}
.testimonial-card strong::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,#44dfff,transparent)}

/* Local Open Source map — visible, functional and dependency-free */
.sog-location-map{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;
  min-height:440px;padding:22px;
  background:linear-gradient(145deg,rgba(5,19,38,.96),rgba(10,30,55,.9));
  border:1px solid rgba(82,220,255,.30);border-radius:22px;
  box-shadow:0 20px 55px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.07);
}
.sog-map-visual{position:relative;overflow:hidden;min-height:390px;border-radius:16px;background:radial-gradient(circle at 62% 48%,rgba(61,210,255,.13),transparent 34%),linear-gradient(160deg,#07162b,#0a233c)}
.sog-map-visual svg{width:100%;height:100%;display:block}
.sog-map-grid{fill:none;stroke:rgba(105,218,255,.08);stroke-width:1}
.sog-florida{fill:url(#floridaFill);stroke:#6fe8ff;stroke-width:2;filter:drop-shadow(0 0 14px rgba(62,221,255,.28))}
.sog-map-pin{fill:#47e4ff;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 8px rgba(62,221,255,.8))}
.sog-map-label{fill:#eafaff;font:700 13px Inter,system-ui,sans-serif;paint-order:stroke;stroke:#061426;stroke-width:4px;stroke-linejoin:round}
.sog-map-info{display:flex;flex-direction:column;justify-content:center;gap:14px}
.sog-map-info h3{color:#62e4ff !important;margin-bottom:4px !important;text-shadow:0 0 15px rgba(69,222,255,.28) !important}
.sog-location-card{padding:18px;border:1px solid rgba(86,222,255,.22);border-radius:15px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.sog-location-card strong{color:#fff !important;text-shadow:none !important}
.sog-location-card span{display:block;color:#c9e5f3 !important;text-shadow:none !important;margin-top:6px}
.sog-map-note{font-size:.86rem;color:#90b8ca !important;text-shadow:none !important;text-align:left !important}

/* Mobile navigation trigger — small navy lines, plastic luminous shell */
@media(max-width:1150px){
  .header,.header.scrolled{width:100% !important;max-width:100% !important}
  .header-container,.header.scrolled .header-container{min-height:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important}
  .mobile-top-bar{display:block !important;background:transparent !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important}
  .mobile-trigger-btn{
    top:12px !important;right:12px !important;width:52px !important;height:52px !important;
    border-radius:15px !important;background:linear-gradient(145deg,#b8f5ff,#40cce8) !important;
    border:1px solid rgba(255,255,255,.95) !important;
    box-shadow:0 8px 22px rgba(0,121,164,.32),inset 0 2px 2px rgba(255,255,255,.8),inset 0 -8px 14px rgba(0,76,118,.18) !important;
    font-size:0 !important;
  }
  .mobile-trigger-btn i{display:none !important}
  .mobile-trigger-btn::before,.mobile-trigger-btn::after{
    content:"";position:absolute;left:15px;width:22px;height:2px;border-radius:2px;background:#08244a !important;box-shadow:none !important;transition:transform .2s ease,top .2s ease;
  }
  .mobile-trigger-btn::before{top:19px;box-shadow:0 6px 0 #08244a !important}
  .mobile-trigger-btn::after{top:31px}
  body.menu-active .mobile-trigger-btn::before{top:25px;transform:rotate(45deg);box-shadow:none !important}
  body.menu-active .mobile-trigger-btn::after{top:25px;transform:rotate(-45deg)}
  .hero-free-estimate{top:76px !important;right:12px !important;min-width:138px;text-align:center !important}
  .premium-mobile-nav{background:linear-gradient(165deg,rgba(4,18,38,.985),rgba(8,29,54,.985)) !important;border-right:1px solid rgba(70,221,255,.32) !important}
  .testimonials-grid{grid-template-columns:1fr !important}
  .testimonial-card:first-child{grid-column:auto}
  .sog-location-map{grid-template-columns:1fr;min-height:0}
  .sog-map-visual{min-height:320px}
  .footer-grid{grid-template-columns:1fr !important;gap:24px !important}
}
@media(max-width:640px){
  .services,.contact,.contact-page,.categories,.features,.testimonials,.youtube-spotlight,.areas-served{padding-top:42px !important;padding-bottom:42px !important}
  .sog-location-map{padding:12px;border-radius:16px}
  .sog-map-visual{min-height:270px}
  .testimonial-card{padding:23px !important;border-radius:17px !important}
}


/* SOG interactive map v2 — three locations, local detail modal, opt-in directions */
.map-container{width:100%;border-radius:22px;overflow:visible;border:0!important}
.sog-map-location{cursor:pointer;outline:none;transform-origin:center;transition:filter .2s ease}
.sog-map-location:hover,.sog-map-location:focus{filter:brightness(1.35) drop-shadow(0 0 9px rgba(82,231,255,.85))}
.sog-map-location:focus-visible .sog-map-hit{stroke:#fff;stroke-width:2;fill:rgba(71,228,255,.15)}
.sog-map-hit{fill:transparent;stroke:transparent;pointer-events:all}
.sog-location-card{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.sog-location-card:hover,.sog-location-card:focus-visible{transform:translateX(5px);border-color:rgba(107,234,255,.72);background:rgba(77,216,255,.09);box-shadow:0 0 24px rgba(45,203,255,.1),inset 0 1px 0 rgba(255,255,255,.09);outline:none}
.sog-location-card small{display:block;margin-top:10px;color:#5ee8ff;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sog-location-modal[hidden]{display:none!important}
.sog-location-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .18s ease}
.sog-location-modal.is-open{opacity:1}
.sog-location-modal__backdrop{position:absolute;inset:0;background:rgba(0,7,18,.76);backdrop-filter:blur(9px)}
.sog-location-modal__dialog{position:relative;width:min(620px,100%);overflow:hidden;padding:32px;border:1px solid rgba(103,231,255,.45);border-radius:24px;background:linear-gradient(145deg,rgba(7,24,47,.99),rgba(10,40,67,.98));box-shadow:0 35px 90px rgba(0,0,0,.55),0 0 45px rgba(42,211,255,.12);transform:translateY(12px) scale(.985);transition:transform .18s ease}
.sog-location-modal.is-open .sog-location-modal__dialog{transform:none}
.sog-location-modal__close{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(108,229,255,.4);background:rgba(255,255,255,.05);color:#fff;font-size:1.65rem;cursor:pointer}
.sog-location-modal__eyebrow{color:#55e5ff;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
.sog-location-modal__dialog h2{margin:8px 50px 10px 0!important;color:#fff!important;text-shadow:0 0 17px rgba(65,220,255,.35)!important}
.sog-location-modal__dialog p{color:#cfe9f5!important;text-shadow:none!important;text-align:left!important}
.sog-location-modal__preview{height:150px;margin:22px 0;border-radius:18px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 55% 48%,rgba(62,225,255,.25),transparent 24%),linear-gradient(135deg,#07172e,#0c3556);border:1px solid rgba(81,224,255,.25)}
.sog-location-modal__preview::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(85,225,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(85,225,255,.07) 1px,transparent 1px);background-size:30px 30px}
.sog-location-modal__preview span{width:22px;height:22px;border-radius:50%;background:#48e4ff;border:3px solid white;box-shadow:0 0 0 10px rgba(72,228,255,.13),0 0 30px rgba(72,228,255,.72);z-index:1}
.sog-location-modal__preview strong{position:absolute;top:98px;color:#fff;z-index:1}
.sog-location-modal__actions{display:flex;flex-wrap:wrap;gap:12px}
.sog-location-modal__actions a{flex:1 1 210px;padding:14px 18px;border-radius:13px;text-align:center;font-weight:800;text-decoration:none}
.sog-location-directions{background:linear-gradient(135deg,#29dffc,#0ca9df);color:#04111d!important;box-shadow:0 10px 28px rgba(0,190,235,.25)}
.sog-location-call{border:1px solid rgba(97,226,255,.52);color:#e9fbff!important;background:rgba(255,255,255,.04)}
.sog-location-modal__privacy{margin:15px 0 0!important;font-size:.76rem!important;color:#7faabc!important}
body.location-modal-open{overflow:hidden}
@media(max-width:640px){.sog-location-modal__dialog{padding:25px 20px}.sog-location-modal__actions a{flex-basis:100%}.sog-map-label{font-size:11px}.sog-map-info{gap:10px}}
@media(prefers-reduced-motion:reduce){.sog-map-location animate{display:none}.sog-location-modal,.sog-location-modal__dialog,.sog-location-card{transition:none!important}}

/* =========================================================
   UI-016 — Language control, menu shell and CTA clarity
   ========================================================= */
:root{--sog-cyan:#11d9f3;--sog-cyan-soft:#70eaff;--sog-navy:#07172d}

/* Remove every pale/grey lateral cap around the desktop navigation. */
.header,
.header.scrolled{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  overflow:visible!important;
}
.header::before,.header::after,
.header-container::before,.header-container::after{content:none!important;display:none!important}
.header-container,
.header.scrolled .header-container{
  width:100%!important;
  max-width:none!important;
  background:linear-gradient(105deg,#09182f 0%,#111d33 48%,#0a1930 100%)!important;
  border:1px solid rgba(80,219,255,.24)!important;
  border-radius:999px!important;
  box-shadow:0 12px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)!important;
  overflow:hidden!important;
}

/* One coherent, high-contrast language selector on every viewport. */
.lang-selector-wrapper{filter:none!important;opacity:1!important}
.lang-selector{
  display:flex!important;align-items:center!important;gap:0!important;
  min-height:48px!important;padding:4px!important;
  border:1px solid rgba(190,234,255,.38)!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 16px rgba(0,0,0,.2)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.lang-divider{display:none!important}
.lang-btn,
.header.scrolled .lang-btn{
  min-width:43px!important;height:40px!important;padding:0 10px!important;
  border:0!important;border-radius:999px!important;background:transparent!important;
  color:rgba(255,255,255,.58)!important;
  font-family:'Orbitron','DejaVu Sans',sans-serif!important;
  font-size:.76rem!important;font-weight:700!important;letter-spacing:.04em!important;
  line-height:40px!important;text-align:center!important;text-shadow:none!important;
  opacity:1!important;filter:none!important;cursor:pointer!important;
  transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.lang-btn:hover{color:rgba(255,255,255,.86)!important;transform:scale(1.03)!important}
.lang-btn.active,
.header.scrolled .lang-btn.active{
  color:#fff!important;
  background:linear-gradient(145deg,#18e4f7,#00b8d4)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.25),0 0 18px rgba(0,220,246,.44),inset 0 1px 1px rgba(255,255,255,.55)!important;
  text-shadow:0 1px 1px rgba(0,50,75,.28)!important;
}

/* CTA: true white lettering; no overlay/filter may wash it out. */
.hero-free-estimate,
.hero-free-estimate:hover,
.hero-free-estimate:focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;filter:none!important;mix-blend-mode:normal!important;
  font-family:'Orbitron','DejaVu Sans',sans-serif!important;
  font-weight:800!important;letter-spacing:.035em!important;
  text-shadow:0 1px 2px rgba(0,36,62,.8),0 0 4px rgba(255,255,255,.18)!important;
}
.hero-free-estimate::before,.hero-free-estimate::after{pointer-events:none!important;opacity:.18!important}

@media(max-width:1150px){
  .header-container,.header.scrolled .header-container{border-radius:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
  .mobile-top-bar .lang-selector{min-height:46px!important}
  .mobile-top-bar .lang-btn{min-width:42px!important;height:38px!important;line-height:38px!important;font-size:.72rem!important}
}

/* =========================================================
   UI-017 — Premium responsive navigation buttons
   ========================================================= */
@media (max-width: 1150px) {
  .premium-mobile-nav {
    width: min(88vw, 360px) !important;
    padding-bottom: 24px !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(76, 221, 255, .42) transparent;
    background:
      radial-gradient(circle at 15% 5%, rgba(25, 195, 232, .10), transparent 28%),
      linear-gradient(165deg, rgba(3, 18, 37, .995), rgba(5, 32, 58, .995)) !important;
    box-shadow: 24px 0 70px rgba(0, 0, 0, .42) !important;
  }

  .premium-mobile-nav .mobile-menu-logo {
    padding: 22px 22px 18px !important;
    margin-bottom: 8px !important;
    border-bottom: 1px solid rgba(111, 225, 255, .14) !important;
  }

  .premium-mobile-nav .mobile-menu-logo > div {
    padding: 12px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(120, 229, 255, .24) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 15px 36px rgba(0,0,0,.22) !important;
  }

  .premium-nav-list {
    display: grid !important;
    gap: 9px !important;
    padding: 14px 18px 28px !important;
    margin: 0 !important;
  }

  .premium-nav-list li {
    margin: 0 !important;
  }

  .premium-nav-list a {
    position: relative !important;
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 42px 1fr 18px !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 9px 13px 9px 10px !important;
    border: 1px solid rgba(116, 220, 246, .10) !important;
    border-radius: 15px !important;
    color: rgba(255, 255, 255, .91) !important;
    background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
    font-family: 'SOG Body', 'DejaVu Sans', sans-serif !important;
    font-size: clamp(.98rem, 3.8vw, 1.08rem) !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease !important;
  }

  .premium-nav-list a > i {
    display: none !important;
  }

  .premium-nav-list a::before {
    content: "";
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #bff6ff;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.05rem;
    background: linear-gradient(145deg, rgba(21, 199, 236, .15), rgba(255,255,255,.025));
    border: 1px solid rgba(90, 225, 255, .20);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  }

  .premium-nav-list a::after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: .70rem;
    color: rgba(164, 232, 246, .42);
    transform: translateX(-2px);
    transition: transform .18s ease, color .18s ease;
  }

  .premium-nav-list a[href="index.html"]::before { content: "\f015"; }
  .premium-nav-list a[href="shower-doors.html"]::before { content: "\f2cc"; }
  .premium-nav-list a[href="mirrors.html"]::before { content: "\f2d0"; }
  .premium-nav-list a[href="glass-partitions.html"]::before { content: "\f1b2"; }
  .premium-nav-list a[href="glass-replacement.html"]::before { content: "\f5fd"; }
  .premium-nav-list a[href="blog.html"]::before { content: "\f1ea"; }
  .premium-nav-list a[href="contact-us.html"]::before { content: "\f0e0"; }
  .premium-nav-list a[href="about-us.html"]::before { content: "\f05a"; }

  .premium-nav-list a:hover,
  .premium-nav-list a:focus-visible {
    transform: translateX(4px) !important;
    color: #ffffff !important;
    border-color: rgba(91, 229, 255, .42) !important;
    background: linear-gradient(135deg, rgba(19, 195, 231, .14), rgba(255,255,255,.035)) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255,255,255,.08) !important;
    outline: none !important;
  }

  .premium-nav-list a:hover::before,
  .premium-nav-list a:focus-visible::before {
    color: #fff;
    border-color: rgba(132, 239, 255, .50);
    background: linear-gradient(145deg, rgba(13, 207, 244, .30), rgba(18, 112, 157, .20));
  }

  .premium-nav-list a:hover::after,
  .premium-nav-list a:focus-visible::after {
    color: #7eeeff;
    transform: translateX(2px);
  }

  .premium-nav-list a.active,
  .premium-nav-list a[aria-current="page"] {
    color: #ffffff !important;
    border-color: rgba(75, 224, 255, .58) !important;
    background: linear-gradient(135deg, rgba(8, 164, 203, .32), rgba(5, 83, 121, .32)) !important;
    box-shadow: 0 12px 28px rgba(0, 168, 214, .14), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .premium-nav-list a.active::before,
  .premium-nav-list a[aria-current="page"]::before {
    color: #fff;
    background: linear-gradient(145deg, #22dff7, #078fbd);
    border-color: rgba(255,255,255,.62);
    box-shadow: 0 0 18px rgba(25, 215, 246, .28), inset 0 1px 0 rgba(255,255,255,.45);
  }

  .premium-nav-list a.active::after,
  .premium-nav-list a[aria-current="page"]::after {
    color: #9ff4ff;
  }
}

@media (max-width: 420px) {
  .premium-mobile-nav { width: 90vw !important; }
  .premium-nav-list { padding-inline: 14px !important; }
  .premium-nav-list a {
    min-height: 54px !important;
    grid-template-columns: 38px 1fr 14px !important;
    border-radius: 13px !important;
  }
  .premium-nav-list a::before { width: 36px; height: 36px; border-radius: 10px; }
}

/* =========================================================
   UI-019 — Mobile logo centered only
   Restores prior language/menu/estimate positions and centers
   only the brand logo at the upper area.
   ========================================================= */
@media (max-width: 768px) {
  .hero-logo,
  .ghost-mobile-logo {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 420px) {
  .hero-logo,
  .ghost-mobile-logo {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}


/* =========================================================
   UI-019 — Compact mobile hero actions and scroll-away controls
   ========================================================= */
@media (max-width: 767px) {
  /* Keep the approved top control positions; only refine hero actions. */
  .hero-content .hero-btns {
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
    width:auto!important;
    margin:14px auto 0!important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  }
  .hero-content .hero-btns .btn {
    min-width:0!important;
    width:auto!important;
    padding:9px 16px!important;
    border-radius:10px!important;
    font-size:.72rem!important;
    line-height:1.1!important;
    letter-spacing:.045em!important;
    font-weight:800!important;
    box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
  }
  .hero-content > .hero-free-estimate {
    position:static!important;
    display:table!important;
    min-width:0!important;
    width:auto!important;
    max-width:82vw!important;
    margin:10px auto 0!important;
    padding:9px 18px!important;
    border-radius:11px!important;
    border:1px solid rgba(255,232,137,.92)!important;
    background:linear-gradient(145deg,#ffca28 0%,#ffab00 48%,#f57c00 100%)!important;
    color:#241200!important;
    -webkit-text-fill-color:#241200!important;
    font-size:.72rem!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.045em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.45)!important;
    box-shadow:0 8px 20px rgba(207,105,0,.28),inset 0 1px 1px rgba(255,255,255,.62),inset 0 -4px 8px rgba(143,62,0,.18)!important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease,filter .18s ease!important;
  }
  .hero-content > .hero-free-estimate:hover,
  .hero-content > .hero-free-estimate:focus-visible {
    color:#160c00!important;
    -webkit-text-fill-color:#160c00!important;
    filter:brightness(1.06)!important;
    transform:translateY(-1px)!important;
  }
  .mobile-top-bar,.mobile-trigger-btn,.hero-logo {
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  }
  body.mobile-controls-hidden:not(.menu-active) .mobile-top-bar,
  body.mobile-controls-hidden:not(.menu-active) .mobile-trigger-btn,
  body.mobile-controls-hidden:not(.menu-active) .hero-logo,
  body.mobile-controls-hidden:not(.menu-active) .hero-content .hero-btns,
  body.mobile-controls-hidden:not(.menu-active) .hero-content > .hero-free-estimate {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.mobile-controls-hidden:not(.menu-active) .mobile-top-bar,
  body.mobile-controls-hidden:not(.menu-active) .mobile-trigger-btn,
  body.mobile-controls-hidden:not(.menu-active) .hero-logo {
    transform:translateY(-16px)!important;
  }
  body.mobile-controls-hidden:not(.menu-active) .hero-content .hero-btns,
  body.mobile-controls-hidden:not(.menu-active) .hero-content > .hero-free-estimate {
    transform:translateY(10px)!important;
  }
}
@media (max-width: 360px) {
  .hero-content .hero-btns{gap:7px!important}
  .hero-content .hero-btns .btn{padding:8px 12px!important;font-size:.66rem!important}
  .hero-content > .hero-free-estimate{padding:8px 14px!important;font-size:.67rem!important}
}
@media (prefers-reduced-motion: reduce) {
  .mobile-top-bar,.mobile-trigger-btn,.hero-logo,.hero-content .hero-btns,.hero-content > .hero-free-estimate{transition:none!important}
}

/* =========================================================
   UI-020 — Compact hero actions on full desktop layout
   Extends the approved mobile arrangement to desktop:
   compact service/contact buttons, orange estimate below,
   and scroll-away behavior for introductory hero controls.
   ========================================================= */
@media (min-width: 768px) {
  .hero-content .hero-btns {
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:12px!important;
    width:auto!important;
    margin:18px auto 0!important;
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease!important;
  }
  .hero-content .hero-btns .btn {
    min-width:0!important;
    width:auto!important;
    padding:10px 20px!important;
    border-radius:11px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    letter-spacing:.055em!important;
    font-weight:800!important;
    box-shadow:0 7px 18px rgba(0,0,0,.20)!important;
  }
  .hero-content > .hero-free-estimate {
    position:static!important;
    display:table!important;
    min-width:0!important;
    width:auto!important;
    max-width:360px!important;
    margin:12px auto 0!important;
    padding:10px 22px!important;
    border-radius:12px!important;
    border:1px solid rgba(255,235,145,.96)!important;
    background:linear-gradient(145deg,#ffd54f 0%,#ffb300 48%,#f57c00 100%)!important;
    color:#211100!important;
    -webkit-text-fill-color:#211100!important;
    font-size:.78rem!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.055em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.50)!important;
    box-shadow:0 9px 22px rgba(207,105,0,.30),inset 0 1px 1px rgba(255,255,255,.66),inset 0 -4px 8px rgba(143,62,0,.18)!important;
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease,filter .18s ease!important;
  }
  .hero-content > .hero-free-estimate:hover,
  .hero-content > .hero-free-estimate:focus-visible {
    color:#140a00!important;
    -webkit-text-fill-color:#140a00!important;
    filter:brightness(1.07)!important;
    transform:translateY(-2px)!important;
  }
  .hero-logo {
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease!important;
  }
  body.mobile-controls-hidden:not(.menu-active) .hero-logo,
  body.mobile-controls-hidden:not(.menu-active) .hero-content .hero-btns,
  body.mobile-controls-hidden:not(.menu-active) .hero-content > .hero-free-estimate {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.mobile-controls-hidden:not(.menu-active) .hero-logo {
    transform:translateY(-18px)!important;
  }
  body.mobile-controls-hidden:not(.menu-active) .hero-content .hero-btns,
  body.mobile-controls-hidden:not(.menu-active) .hero-content > .hero-free-estimate {
    transform:translateY(12px)!important;
  }
}

@media (min-width: 1200px) {
  .hero-content .hero-btns .btn { padding:10px 22px!important; font-size:.80rem!important; }
  .hero-content > .hero-free-estimate { padding:10px 24px!important; font-size:.80rem!important; }
}


/* UI-022 — Official article cards: explicit interactive affordance */
.official-article-header { margin-bottom: clamp(1.4rem, 3vw, 2.4rem); }
.official-article-grid { align-items: stretch; }
.official-article-card {
  position: relative; display: flex; flex-direction: column; align-items: center;
  min-height: 100%; padding: clamp(1.35rem, 2.4vw, 2rem); text-decoration: none;
  cursor: pointer; overflow: hidden; isolation: isolate;
  border: 1px solid rgba(90, 214, 255, .34);
  background: linear-gradient(145deg, rgba(10, 31, 55, .96), rgba(9, 22, 40, .92));
  box-shadow: 0 16px 42px rgba(0, 8, 24, .28), inset 0 1px 0 rgba(255,255,255,.07);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
}
.official-article-card::before {
  content: ''; position: absolute; inset: 0; z-index: -1; opacity: 0;
  background: radial-gradient(circle at 50% 0%, rgba(0, 207, 255, .20), transparent 52%);
  transition: opacity .28s ease;
}
.official-article-card:hover, .official-article-card:focus-visible {
  transform: translateY(-7px) scale(1.012); border-color: rgba(103, 225, 255, .9);
  box-shadow: 0 23px 52px rgba(0, 181, 230, .22), inset 0 1px 0 rgba(255,255,255,.12);
  outline: none;
}
.official-article-card:hover::before, .official-article-card:focus-visible::before { opacity: 1; }
.official-article-icon {
  width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: 1rem;
  border-radius: 22px; color: #fff; font-size: 1.65rem;
  background: linear-gradient(145deg, #55d6ff, #158dc2);
  box-shadow: 0 10px 28px rgba(18, 179, 229, .32), inset 0 1px 0 rgba(255,255,255,.42);
}
.official-article-card .category-info { display: flex; flex: 1; flex-direction: column; text-align: center; }
.official-article-card h3 { color: #67ddff; margin-bottom: .8rem; }
.official-article-card p { color: rgba(255,255,255,.82); line-height: 1.62; }
.official-article-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  margin-top: auto; padding-top: 1.15rem; color: #fff; font-family: 'Orbitron', sans-serif;
  font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.official-article-card:hover .official-article-cta i, .official-article-card:focus-visible .official-article-cta i { transform: translate(3px,-3px); }
.official-article-cta i { transition: transform .25s ease; }
@media (max-width: 768px) {
  .official-article-card { padding: 1.2rem; }
  .official-article-icon { width: 62px; height: 62px; border-radius: 18px; }
}


/* UI-023: internal official publications and clear reading cards */
.official-article-grid{align-items:stretch}
.official-article-card-local{position:relative;display:flex;min-height:100%;overflow:hidden;padding:0!important;background:linear-gradient(145deg,rgba(14,31,53,.98),rgba(3,13,25,.98))!important;border:1px solid rgba(91,211,255,.28)!important;border-radius:22px!important;text-decoration:none!important;box-shadow:0 18px 44px rgba(0,0,0,.24)!important}
.official-article-card-local::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(35,192,236,.12),transparent 48%);pointer-events:none}
.official-article-card-local .category-info{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;padding:28px 26px 24px!important;text-align:left!important}
.official-article-card-local h3{display:block!important;margin:0 0 16px!important;color:#fff!important;font-family:'Orbitron',sans-serif!important;font-size:clamp(1.05rem,1.5vw,1.38rem)!important;line-height:1.35!important;letter-spacing:.02em!important;text-transform:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.official-article-card-local p{margin:0 0 24px!important;color:rgba(255,255,255,.86)!important;font-size:1rem!important;line-height:1.72!important;text-align:left!important}
.official-article-card-local .official-article-cta{margin-top:auto;color:#73e8ff!important;font-family:'Orbitron',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.official-article-card-local:hover,.official-article-card-local:focus-visible{transform:translateY(-6px);border-color:rgba(112,229,255,.8)!important;box-shadow:0 24px 60px rgba(0,174,224,.2)!important}
.official-article-card-local:focus-visible{outline:3px solid rgba(255,193,62,.9);outline-offset:4px}
.article-hero-local{position:relative;min-height:430px;display:grid;place-items:end start;overflow:hidden;background:#061426}
.article-hero-image{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.88) contrast(1.07) saturate(1.05);transform:scale(1.02)}
.article-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,10,22,.94) 0%,rgba(2,10,22,.72) 46%,rgba(2,10,22,.28) 100%),linear-gradient(0deg,rgba(2,10,22,.75),transparent 65%)}
.article-hero-content{position:relative;z-index:2;padding-top:170px;padding-bottom:62px}
.article-hero-content h1{max-width:980px;margin:18px 0 0;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(2rem,5vw,4.4rem);line-height:1.08;letter-spacing:.025em;text-shadow:0 0 24px rgba(51,213,255,.35)}
.article-back-link{display:inline-flex;align-items:center;gap:8px;color:#68def7;font-family:'Orbitron',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.article-back-link::before{content:"←"}
.article-reading-section{padding:64px 20px 88px;background:radial-gradient(circle at 15% 10%,rgba(31,169,217,.08),transparent 35%),#030b16}
.article-reading-layout{max-width:980px}
.article-reading-card{padding:clamp(28px,5vw,58px);background:linear-gradient(145deg,rgba(14,32,55,.96),rgba(5,15,29,.98));border:1px solid rgba(100,220,255,.25);border-radius:26px;box-shadow:0 25px 70px rgba(0,0,0,.3)}
.article-lead{margin:0;color:rgba(255,255,255,.94);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.9;letter-spacing:.005em}
.article-local-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
@media(max-width:768px){.article-hero-local{min-height:380px}.article-hero-content{padding-top:145px;padding-bottom:42px}.article-reading-section{padding:40px 14px 64px}.official-article-card-local .category-info{padding:23px 20px 21px!important}}
@media(max-width:480px){.article-hero-content h1{font-size:clamp(1.75rem,10vw,2.7rem)}.article-local-actions .btn{width:100%;justify-content:center}.official-article-card-local h3{font-size:1.04rem!important}}

/* UI-024: verified internal article copies */
.article-reading-card{max-width:1120px;margin-inline:auto;}
.article-content-block{margin-top:1.6rem;padding:clamp(1.15rem,2.5vw,2rem);border:1px solid rgba(83,214,255,.28);border-radius:18px;background:linear-gradient(145deg,rgba(10,31,56,.88),rgba(4,14,28,.94));box-shadow:0 18px 45px rgba(0,0,0,.24);}
.article-content-block h2{margin:0 0 .8rem;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(1.15rem,2.1vw,1.65rem);letter-spacing:.035em;}
.article-content-block p{margin:.65rem 0;color:#e8f6ff;line-height:1.85;font-size:clamp(1rem,1.45vw,1.13rem);}
.article-content-block a{color:#6fe6ff;text-decoration-thickness:1px;text-underline-offset:4px;}
.article-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.35rem);margin-top:1.5rem;}
.article-media-card{position:relative;min-height:220px;overflow:hidden;border-radius:18px;border:1px solid rgba(103,224,255,.28);background:#071426;box-shadow:0 18px 40px rgba(0,0,0,.25);text-decoration:none;isolation:isolate;}
.article-media-card img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;transition:transform .4s ease,filter .4s ease;}
.article-media-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(2,8,18,.92));z-index:1;}
.article-media-card span{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(.86rem,1.3vw,1.05rem);text-shadow:0 2px 10px #000;}
.article-media-card:hover img,.article-media-card:focus-visible img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04);}
.article-media-card:focus-visible{outline:3px solid #62e7ff;outline-offset:3px;}
@media(max-width:780px){.article-media-grid{grid-template-columns:1fr}.article-media-card,.article-media-card img{min-height:200px}.article-content-block{border-radius:14px}.article-reading-card{padding-inline:.25rem}}

/* UI-025 full article typography */
.article-reading-card .article-content-block h2{margin-top:2rem;margin-bottom:.65rem;letter-spacing:.08em;color:#67e8f9}
.article-reading-card .article-content-block p{margin-bottom:1.2rem;line-height:1.85}
.article-inline-link{display:inline-flex;align-items:center;gap:.45rem;color:#67e8f9;font-weight:700;text-decoration:underline;text-underline-offset:.22rem}


/* =========================================================
   UI-026 — Article fidelity, clean navigation shell and safe card spacing
   ========================================================= */
/* The official article pages do not display an added "Back to Glass Blog" link. */
.article-back-link{display:none!important}

/* Prevent any rectangular blurred/opaque band from appearing behind the pill menu. */
.header,.header.scrolled{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
}
.header-container,.header.scrolled .header-container{
  isolation:isolate!important;
}

/* Publication cards must always breathe: no text may touch or be clipped by a border. */
.official-article-grid{
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
}
.official-article-card-local{
  height:auto!important;
  min-height:440px!important;
  overflow:hidden!important;
}
.official-article-card-local .category-info{
  box-sizing:border-box!important;
  min-height:100%!important;
  padding:30px 28px 38px!important;
}
.official-article-card-local p{
  margin-bottom:30px!important;
  overflow:visible!important;
  max-height:none!important;
}
.official-article-card-local .official-article-cta{
  display:block!important;
  padding-top:8px!important;
  padding-bottom:2px!important;
}
@media(max-width:1150px){
  .header,.header.scrolled{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(max-width:768px){
  .official-article-card-local{min-height:0!important}
  .official-article-card-local .category-info{padding:25px 22px 34px!important}
}


/* UI-027 — Complete official Glass Partition Walls content */
.partition-official-page{padding:clamp(42px,6vw,88px) 0;background:linear-gradient(180deg,#020711 0%,#061426 48%,#020711 100%)}
.partition-intro-card{position:relative;text-align:center;max-width:1080px;margin:0 auto clamp(36px,5vw,64px);padding:clamp(28px,4vw,48px);border:1px solid rgba(84,214,255,.28);border-radius:26px;background:linear-gradient(145deg,rgba(13,38,66,.92),rgba(4,15,30,.94));box-shadow:0 24px 70px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05)}
.partition-intro-card .section-eyebrow{margin:0 0 10px;color:#67ddff;font-family:'Orbitron',sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.partition-intro-card h2{max-width:900px;margin:0 auto 26px;color:#fff;font-size:clamp(1.65rem,3vw,3rem);line-height:1.18;text-wrap:balance}
.partition-contact-cta{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:14px 25px;border:1px solid #64dcff;border-radius:12px;color:#fff;background:linear-gradient(135deg,#08aeea,#087fc0);font-family:'Orbitron',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 12px 32px rgba(0,184,255,.22);transition:.25s ease}
.partition-contact-cta:hover,.partition-contact-cta:focus-visible{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,207,255,.34);outline:none}
.partition-gallery-block{margin-bottom:clamp(42px,6vw,80px)}
.compact-section-header{margin-bottom:26px;text-align:center}.compact-section-header h2{margin-bottom:6px}.compact-section-header p{color:#a7dff0;font-size:1.05rem}
.partition-primary-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.partition-primary-gallery .gallery-item{border:1px solid rgba(109,220,255,.22);background:#07182b;padding:0;border-radius:18px;overflow:hidden;cursor:zoom-in;min-height:230px}
.partition-primary-gallery .gallery-item img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block}
.partition-reading-panel{max-width:1120px;margin:0 auto clamp(44px,6vw,80px);padding:clamp(28px,4vw,52px);border:1px solid rgba(104,216,255,.24);border-radius:26px;background:rgba(7,24,43,.92);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.partition-reading-panel>h3{margin:0 0 22px;color:#fff;font-size:clamp(1.5rem,2.2vw,2.2rem)}
.partition-reading-panel p{max-width:none;margin:0 0 20px;color:#dceaf4;font-size:clamp(1rem,1.15vw,1.16rem);line-height:1.85}
.partition-benefits{margin-top:34px;padding:clamp(22px,3vw,34px);border-radius:20px;background:linear-gradient(145deg,rgba(8,36,62,.92),rgba(7,23,40,.9));border:1px solid rgba(100,220,255,.2)}
.partition-benefits h3{margin:0 0 20px;color:#73e2ff;font-size:clamp(1.2rem,1.7vw,1.55rem)}
.partition-benefits ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 26px;margin:0;padding:0;list-style:none}
.partition-benefits li{position:relative;padding:14px 16px 14px 42px;border-radius:14px;background:rgba(255,255,255,.035);color:#e6f4fb;line-height:1.55}
.partition-benefits li:before{content:'✓';position:absolute;left:15px;top:13px;color:#62e3ff;font-weight:900}
.partition-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.partition-application-card{overflow:hidden;border:1px solid rgba(99,218,255,.22);border-radius:22px;background:linear-gradient(160deg,rgba(11,39,66,.95),rgba(3,14,28,.98));box-shadow:0 20px 45px rgba(0,0,0,.22)}
.partition-application-card img{display:block;width:100%;height:230px;object-fit:cover}
.partition-application-card div{padding:24px 24px 28px}.partition-application-card h3{margin:0 0 12px;color:#fff;font-size:1.25rem}.partition-application-card p{margin:0;color:#cde2ee;line-height:1.7}
.partition-application-card--wide{grid-column:span 1}
@media(max-width:1050px){.partition-primary-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.partition-application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.partition-official-page{padding:36px 0}.partition-intro-card{padding:24px 18px;border-radius:20px}.partition-contact-cta{width:100%;max-width:280px}.partition-primary-gallery{grid-template-columns:1fr}.partition-primary-gallery .gallery-item,.partition-primary-gallery .gallery-item img{min-height:245px}.partition-reading-panel{padding:25px 19px;border-radius:20px}.partition-benefits{padding:20px 16px}.partition-benefits ul{grid-template-columns:1fr}.partition-application-grid{grid-template-columns:1fr}.partition-application-card img{height:240px}}

/* UI-028 — Official six-block verification: title-only cards preserve intentional spacing */
.partition-application-card div:has(h3:only-child){min-height:92px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px 24px 30px}
.partition-application-card div:has(h3:only-child) h3{margin:0}
@media(max-width:700px){.partition-application-card div:has(h3:only-child){min-height:82px;padding:22px 18px 26px}}

/* UI-029 — Elegant open advantages list for Glass Partition Walls */
.partition-benefits{
  margin-top:38px;
  padding:clamp(24px,3.4vw,40px);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(7,29,51,.9),rgba(4,16,31,.94));
  border:1px solid rgba(100,220,255,.2);
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.partition-benefits h3{
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(1.25rem,1.8vw,1.65rem);
  line-height:1.35;
  text-align:left;
}
.partition-benefits ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:38px;
  row-gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.partition-benefits li{
  position:relative;
  min-height:72px;
  display:flex;
  align-items:center;
  padding:18px 14px 18px 48px;
  border-radius:0;
  border-bottom:1px solid rgba(111,220,255,.14);
  background:transparent!important;
  color:#eaf7ff!important;
  font-size:clamp(1rem,1.05vw,1.1rem);
  line-height:1.65;
  text-align:left;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.partition-benefits li::before{
  content:'✓';
  position:absolute;
  left:12px;
  top:50%;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  transform:translateY(-50%) rotate(45deg);
  border:1px solid rgba(106,225,255,.68);
  border-radius:6px;
  background:linear-gradient(145deg,rgba(20,154,205,.42),rgba(5,50,83,.8));
  color:#fff;
  font-size:.8rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 15px rgba(59,211,255,.18),inset 0 1px rgba(255,255,255,.15);
}
.partition-benefits li::after{
  content:'';
  position:absolute;
  left:12px;
  top:50%;
  width:25px;
  height:25px;
  transform:translateY(-50%) rotate(45deg);
  border-radius:6px;
  pointer-events:none;
}
.partition-benefits li:hover{
  color:#fff!important;
  border-bottom-color:rgba(105,225,255,.42);
  transform:translateX(3px);
}
@media(max-width:900px){
  .partition-benefits ul{grid-template-columns:1fr}
  .partition-benefits li{min-height:66px}
}
@media(max-width:700px){
  .partition-benefits{padding:22px 16px 24px}
  .partition-benefits h3{text-align:center;margin-bottom:18px}
  .partition-benefits li{padding:16px 8px 16px 44px;font-size:1rem}
  .partition-benefits li::before,.partition-benefits li::after{left:8px}
}


/* UI-032 — separación, tarjetas editoriales, pasarela y acceso administrativo */
.contact-grid + .map-container,
.map-container { margin-top: clamp(32px, 5vw, 72px) !important; }
.contact-grid { margin-bottom: 0 !important; }

.editorial-copy-card {
  max-width: 1040px;
  margin: 0 auto clamp(34px, 5vw, 64px);
  padding: clamp(28px, 4vw, 58px);
  border: 1px solid rgba(71,228,255,.30);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(13,38,66,.94), rgba(5,17,33,.96));
  box-shadow: 0 22px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.editorial-copy-card p:last-child { margin-bottom: 0; }

.mirror-runway {
  position: relative; max-width: 1180px; margin: 0 auto clamp(42px,6vw,78px);
  padding: clamp(22px,3vw,38px); overflow: hidden; border-radius: 32px;
  border: 1px solid rgba(71,228,255,.34);
  background: radial-gradient(circle at 50% 0%, rgba(0,220,255,.15), transparent 42%), #050d18;
  box-shadow: 0 28px 85px rgba(0,0,0,.42);
  perspective: 1500px;
}
.mirror-runway::before,.mirror-runway::after{content:"";position:absolute;top:8%;bottom:8%;width:28%;opacity:.35;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(82,225,255,.18),rgba(255,255,255,.02));filter:blur(1px);transform:skewY(-5deg)}
.mirror-runway::before{left:-15%;}.mirror-runway::after{right:-15%;transform:skewY(5deg)}
.runway-stage{position:relative;min-height:clamp(330px,48vw,590px);display:grid;place-items:center;isolation:isolate}
.runway-slide{position:absolute;width:min(69%,760px);height:88%;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.3);box-shadow:0 30px 70px rgba(0,0,0,.58);opacity:0;transform:translateX(34%) rotateY(-18deg) scale(.78);transition:opacity .8s,transform .8s;pointer-events:none}
.runway-slide img{width:100%;height:100%;object-fit:cover;display:block}
.runway-slide.active{opacity:1;transform:translateX(0) rotateY(0) scale(1);z-index:3}
.runway-slide.prev{opacity:.38;transform:translateX(-42%) rotateY(28deg) scale(.73);z-index:1;filter:saturate(.7) brightness(.65)}
.runway-slide.next{opacity:.38;transform:translateX(42%) rotateY(-28deg) scale(.73);z-index:1;filter:saturate(.7) brightness(.65)}
.runway-floor{height:34px;margin:-7px auto 0;width:72%;background:radial-gradient(ellipse,rgba(61,224,255,.28),transparent 66%);filter:blur(7px)}
.runway-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:12px}
.runway-btn,.runway-dot{border:1px solid rgba(71,228,255,.38);background:rgba(7,27,48,.9);color:#fff;cursor:pointer}
.runway-btn{width:48px;height:48px;border-radius:50%;font-size:1.3rem}.runway-btn:hover{background:#00cfe8;color:#03111e}
.runway-dot{width:12px;height:12px;border-radius:50%;padding:0}.runway-dot.active{background:#00e7ff;box-shadow:0 0 18px #00dff5}
@media(max-width:700px){.mirror-runway{border-radius:22px;padding:16px}.runway-stage{min-height:390px}.runway-slide{width:80%;height:91%}.runway-slide.prev{transform:translateX(-50%) rotateY(22deg) scale(.68)}.runway-slide.next{transform:translateX(50%) rotateY(-22deg) scale(.68)}}

/* Version 0.5.23 — diálogos propios del website */
.sog-site-dialog-overlay{position:fixed;inset:0;z-index:2147483500;display:grid;place-items:center;padding:18px;background:#000a;backdrop-filter:blur(8px)}.sog-site-dialog{width:min(560px,94vw);overflow:hidden;border:1px solid var(--sog-accent,#2eddf3);border-radius:20px;background:#06182b;color:#fff;box-shadow:0 30px 90px #000c}.sog-site-dialog header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #ffffff20;background:linear-gradient(180deg,#14364f,#06182b)}.sog-site-dialog header button{width:40px;height:40px;border-radius:12px;border:1px solid #ffffff50;background:linear-gradient(145deg,#29445e,#071522);color:#fff;font-size:24px;line-height:1}.sog-site-dialog .body{padding:24px}.sog-site-dialog footer{display:flex;justify-content:flex-end;padding:14px 18px;border-top:1px solid #ffffff20}.sog-site-dialog footer button{width:auto;margin:0;padding:11px 22px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--sog-accent,#22dbea),var(--sog-accent2,#148bd7));color:#00121b;font-weight:850}

/* Sea Of Glass And Mirrors 0.5.23 — viewport-safe premium image inspection */
html.lightbox-open,html.lightbox-open body{overflow:hidden!important}
#premium-lightbox.premium-lightbox-v44{position:fixed!important;inset:0!important;z-index:2147483000!important;display:none!important;align-items:center!important;justify-content:center!important;padding:clamp(10px,2vw,24px)!important;background:rgba(0,0,0,.965)!important;backdrop-filter:blur(12px)!important}
#premium-lightbox.premium-lightbox-v44.active{display:flex!important}
#premium-lightbox .plb-shell{position:relative!important;width:calc(100vw - clamp(20px,4vw,48px))!important;height:calc(100svh - clamp(20px,4vw,48px))!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;align-items:center!important;justify-items:center!important;gap:8px!important;overflow:hidden!important}
#premium-lightbox #lightbox-img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100svh - 92px)!important;object-fit:contain!important;border:1px solid var(--sog-accent,#43e5ff)!important;border-radius:18px!important;box-shadow:0 0 48px rgba(67,229,255,.20),0 28px 70px #000b!important;transform:none!important}
#premium-lightbox .plb-caption{max-width:min(1200px,90vw)!important;color:#f4fcff!important;text-align:center!important;font-size:clamp(.86rem,1.25vw,1.05rem)!important;line-height:1.25!important;min-height:1.3em!important}
#premium-lightbox .plb-close{position:absolute!important;right:0!important;top:0!important;z-index:4!important;width:46px!important;height:46px!important;display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:14px!important;background:linear-gradient(145deg,#3b596f,#08121d)!important;color:#fff!important;box-shadow:inset 0 2px 2px #fff4,inset 0 -6px 12px #0008,0 10px 28px #000a!important;cursor:pointer!important}
#premium-lightbox .plb-close:hover{background:linear-gradient(145deg,#ff7487,#8d1731)!important}
@media(max-width:650px){#premium-lightbox #lightbox-img{max-height:calc(100svh - 82px)!important;border-radius:12px!important}#premium-lightbox .plb-close{width:42px!important;height:42px!important}}
/* v0.5.23: large image closes by clicking the image; no redundant close icon */
#premium-lightbox .plb-close{display:none!important}
#premium-lightbox #lightbox-img{cursor:zoom-out!important}

.article-reading-card :is(.article-lead,.article-content-block p),.official-article-card-local p,.editorial-copy-card p{text-align:justify!important;text-justify:inter-word;hyphens:auto}.article-local-actions{justify-content:center!important}.article-local-actions .btn{text-align:center!important;justify-content:center!important}@media(max-width:900px){.header-container>.nav-menu,.header-container>nav:not(.mobile-nav):not(.mobile-menu),.header .desktop-nav,.header .nav-links{display:none!important}.header-container{min-height:0!important;padding-top:8px!important;padding-bottom:8px!important}.mobile-menu-toggle,.hamburger{display:flex!important}}@media(max-width:640px){.official-article-card-local .category-info{padding:24px clamp(22px,6vw,30px) 28px!important}.article-reading-section{padding-inline:clamp(14px,4vw,22px)!important}.article-reading-card{width:100%!important;padding:clamp(22px,5vw,30px)!important;box-sizing:border-box!important}.article-local-actions .btn{width:min(100%,420px)!important;margin-inline:auto!important}}
/* SOG-123 r18 — Native listbox readability contract
   Closed controls keep the dark-theme foreground. Native popup options render
   on the OS light surface, so every option/optgroup must use dark text. */
select option,
select optgroup {
  color: #000 !important;
  background: #fff !important;
  -webkit-text-fill-color: #000 !important;
}
select option:disabled {
  color: #666 !important;
  -webkit-text-fill-color: #666 !important;
}


/* SOG-123 — Shower Doors editorial composition. Standard containers remain Editor-governed. */
.sog-shower-editorial{display:grid;gap:clamp(22px,3vw,38px);margin:clamp(28px,4vw,54px) 0}
.sog-editorial-panel{position:relative;padding:clamp(24px,4vw,48px);border:1px solid rgba(71,228,255,.34);border-radius:24px;background:linear-gradient(145deg,rgba(8,54,84,.92),rgba(4,34,58,.9));box-shadow:0 20px 50px rgba(0,0,0,.22)}
.sog-editorial-panel h2{margin:0 0 20px;text-align:center;letter-spacing:.02em;line-height:1.18}
.sog-editorial-panel p{max-width:1100px;margin:0 auto 18px;line-height:1.8;text-align:justify;text-wrap:pretty}
.sog-editorial-feature{overflow:hidden}.sog-editorial-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:980px;margin:24px auto;padding:0;list-style:none}
.sog-editorial-list li{padding:16px 18px;text-align:center;border-radius:16px;background:rgba(71,228,255,.1);border:1px solid rgba(71,228,255,.28);font-weight:700}
.sog-editorial-emphasis{text-align:center!important;font-weight:700;font-size:1.08em;margin-top:26px!important}
@media(max-width:780px){.sog-editorial-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sog-editorial-panel p{text-align:left}}
@media(max-width:440px){.sog-editorial-list{grid-template-columns:1fr}.sog-editorial-panel{padding:22px 18px;border-radius:18px}}
