/*
responsive.css
*/

@media (max-width: 1080px){
    .public-nav{gap:20px}
    .public-nav a{font-size:13px}
    .brand-logo{width:130px;min-width:130px}
    .brand-logo img{width:110px}
    .nav-appointment{padding:0 14px}
    .nav-appointment span{display:none}
    
    .hero-grid{gap:30px}
    .quick-grid{grid-template-columns:repeat(2,1fr)}
    .services-icon-grid,.specialties-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1.2fr .8fr .8fr;gap:36px}
    .footer-contact{grid-column:1/-1}
    .portal-benefits{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 860px){
    html{scroll-padding-top:82px}
    .public-topbar{display:none}
    .nav-shell{min-height:76px}
    .mobile-menu-button{display:block}
    .nav-appointment{display:none}
    .brand-logo{width:115px;min-width:115px}
    .brand-logo img{width:102px;max-height:65px}
    
    .public-nav{
        position:absolute;
        left:20px;
        right:20px;
        top:calc(100% + 8px);
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        background:#fff;
        border:1px solid var(--gio-border);
        border-radius:14px;
        padding:12px;
        box-shadow:var(--gio-shadow)
    }
    .public-nav.is-open{display:flex}
    .public-nav a{padding:12px 14px;border-radius:8px;font-size:14px}
    .public-nav a::after{display:none}
    .public-nav a:hover{background:#eef7fa}
    
    .hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:65px;padding-bottom:90px}
    .hero-copy{text-align:center}
    .hero-copy .section-kicker{justify-content:center}
    .hero-copy>p{margin-inline:auto}
    .hero-actions,.hero-trust{justify-content:center}
    .hero-visual{min-height:400px}
    .hero-image-frame{min-height:390px}
    .hero-floating-card{right:10px}
    .quick-dashboard{margin-top:-24px}
    
    .about-grid,.contact-grid,.portal-grid,.appointment-layout,.portal-login-layout{grid-template-columns:1fr}
    .about-media{max-width:650px;margin:auto;width:100%}
    .about-mini-card{right:16px}
    .trust-strip{grid-template-columns:repeat(2,1fr)}
    .team-grid{grid-template-columns:repeat(2,1fr)}
    .pricing-heading-row{align-items:flex-start;flex-direction:column}
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}
    .footer-contact{grid-column:auto}
}

@media (max-width: 620px){
    .public-container{width:min(100% - 28px,1180px)}
    .public-section{padding:64px 0}
    
    .hero-copy h1{font-size:38px}
    .hero-copy>p{font-size:16px}
    .hero-actions{display:grid;width:100%}
    .hero-actions .button{width:100%}
    .hero-trust{display:grid;gap:10px}
    .hero-image-frame{min-height:300px;padding:22px}
    .hero-visual{min-height:320px}
    .hero-floating-card{position:relative;right:auto;bottom:auto;margin-top:-20px;width:90%}
    
    .quick-dashboard-card{padding:18px}
    .quick-dashboard-heading{display:block}
    .quick-dashboard-heading h2{font-size:20px}
    .quick-grid,.services-icon-grid,.specialties-grid,.portal-benefits,.team-grid,.gallery-grid,.about-stats,.contact-list,.form-grid,.trust-strip,.footer-grid{grid-template-columns:1fr}
    .service-icon-card p{min-height:0}
    .portal-benefits article{padding:10px}
    
    .about-media{min-height:380px}
    .about-image-wrap{height:380px;border-radius:22px 55px 22px 22px}
    .about-mini-card{left:15px;right:15px;bottom:15px;max-width:none}
    .about-stats{gap:18px}
    .about-stats strong{font-size:26px}
    
    .price-row{grid-template-columns:auto 1fr;gap:12px}
    .price-row>strong{grid-column:2}
    
    .contact-section{padding:64px 0}
    .contact-grid{gap:32px}
    
    .footer-grid{grid-template-columns:1fr}
    .footer-contact{grid-column:auto}
    .footer-bottom-inner{flex-direction:column;text-align:center;gap:12px}
    
    .floating-whatsapp span{display:none}
    .floating-whatsapp{width:52px;height:52px;padding:0;justify-content:center;left:16px;bottom:18px}
    .scroll-top-button{right:16px;bottom:18px;width:44px;height:44px}
    
    .tariff-tools{align-items:stretch;flex-direction:column}
    .search-field{max-width:none}
    .full-span{grid-column:auto}
}

@media (max-width: 400px) {
    .hero-copy h1 { font-size: 32px; }
    .section-heading h2, .contact-copy h2 { font-size: 26px; }
    .button { font-size: 13px; padding: 0 18px; }
}

/* ==========================================================
   PRESENTACIÓN GIOLABS - RESPONSIVE
========================================================== */

@media screen and (max-width: 991px) {
    .giolabs-presentation {
        padding: 70px 25px;
    }
    .giolabs-presentation-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .giolabs-presentation {
        padding: 55px 18px;
    }
    .giolabs-presentation-heading {
        margin-bottom: 25px;
    }
    .giolabs-presentation-text p {
        font-size: 16px;
    }
    .giolabs-presentation-services {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-top: 35px;
    }
    .giolabs-info-item {
        padding: 22px;
    }
}