/* AGB Cargo V59 - corrección final formularios + móvil */
html,
body{
    max-width:100%;
    overflow-x:hidden;
}

/* =========================
   Formularios Contacto / Libro
   ========================= */
.contact-grid-v59,
.contact-hero-grid,
.complaint-grid-v59,
.complaint-layout{
    align-items:start;
}

.form-card-v59,
.contact-form-card,
.complaint-form-card{
    box-sizing:border-box;
}

.form-v59{
    width:100%;
}

.form-grid-v59,
.form-v59 .form-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px 22px!important;
    align-items:start!important;
}

.form-v59 .field,
.contact-form-card .field,
.complaint-form-card .field{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
}

.form-v59 .field--full,
.contact-form-card .field--full,
.complaint-form-card .field--full{
    grid-column:1 / -1!important;
}

.form-v59 label,
.contact-form-card label,
.complaint-form-card label{
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:800!important;
    color:#2d3c4a!important;
    margin:0!important;
}

.form-v59 label span,
.contact-form-card label span,
.complaint-form-card label span{
    color:#d70620!important;
}

.form-v59 input:not([type="checkbox"]),
.form-v59 select,
.form-v59 textarea,
.contact-form-card input:not([type="checkbox"]),
.contact-form-card select,
.contact-form-card textarea,
.complaint-form-card input:not([type="checkbox"]),
.complaint-form-card select,
.complaint-form-card textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    border:1px solid #d4e0ea!important;
    border-radius:16px!important;
    background:#fbfdff!important;
    color:#203246!important;
    font-size:15px!important;
    line-height:1.45!important;
    padding:14px 15px!important;
    outline:none!important;
    box-shadow:none!important;
    font-family:inherit!important;
}

.form-v59 input:not([type="checkbox"]),
.form-v59 select,
.contact-form-card input:not([type="checkbox"]),
.contact-form-card select,
.complaint-form-card input:not([type="checkbox"]),
.complaint-form-card select{
    min-height:52px!important;
}

.form-v59 textarea,
.contact-form-card textarea,
.complaint-form-card textarea{
    min-height:124px!important;
    resize:vertical!important;
}

.form-v59 input:focus,
.form-v59 select:focus,
.form-v59 textarea:focus,
.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus,
.complaint-form-card input:focus,
.complaint-form-card select:focus,
.complaint-form-card textarea:focus{
    border-color:#7ea6c1!important;
    box-shadow:0 0 0 4px rgba(126,166,193,.16)!important;
    background:#fff!important;
}

.contact-security,
.turnstile-field,
.turnstile-wrapper-v59 .contact-security{
    width:100%!important;
    box-sizing:border-box!important;
    border:1px dashed #cfdbe6!important;
    border-radius:18px!important;
    padding:18px!important;
    background:#f8fbfd!important;
    margin:0!important;
}

.contact-security label,
.turnstile-field label{
    display:block!important;
    color:#2d3c4a!important;
    font-weight:900!important;
    margin-bottom:12px!important;
}

.contact-security p,
.turnstile-field small,
.turnstile-field p{
    display:block!important;
    margin:12px 0 0!important;
    color:#5d7182!important;
    font-size:14px!important;
}

.cf-turnstile{
    max-width:100%!important;
    overflow:hidden!important;
}

.form-alert{
    padding:14px 16px;
    border-radius:16px;
    font-weight:800;
    margin-bottom:18px;
}

.form-alert--success{background:#eafaf1;color:#06733f;}
.form-alert--error{background:#ffecee;color:#9b0014;}

.checkbox-line{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:10px!important;
    padding:10px 0!important;
}

.checkbox-line input{
    width:18px!important;
    height:18px!important;
    margin-top:3px!important;
    flex:0 0 auto!important;
}

/* =========================
   Servicio detalle móvil
   ========================= */
@media(max-width:768px){
    .container{
        width:100%!important;
        max-width:100%!important;
        padding-left:18px!important;
        padding-right:18px!important;
        box-sizing:border-box!important;
    }

    .split,
    .split--service-detail,
    .service-detail-section .container,
    .service-detail-layout,
    .service-page-grid,
    .service-detail-grid,
    .service-content-grid,
    .service-wrapper,
    .service-layout,
    .service-detail,
    .service-showcase-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:24px!important;
        width:100%!important;
        max-width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
        overflow:visible!important;
    }

    .content-box,
    .content-box--visual,
    .service-main,
    .service-sidebar,
    .sidebar,
    .side-card,
    .service-card,
    .service-detail-card,
    .service-list-card,
    .service-orientation-card,
    .service-content,
    .sidebar-card,
    .detail-intro-card,
    .benefit-panel{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        margin-left:0!important;
        margin-right:0!important;
        box-sizing:border-box!important;
        transform:none!important;
    }

    .sidebar,
    .service-sidebar,
    aside{
        position:static!important;
        order:2!important;
    }

    .content-box,
    .service-main,
    article{
        order:1!important;
    }

    .detail-intro-card{
        display:grid!important;
        grid-template-columns:1fr!important;
        overflow:hidden!important;
        border-radius:24px!important;
    }

    .detail-intro-card__media,
    .service-card img,
    .service-detail-card img,
    .service-image,
    .service-hero-image,
    .service-media img,
    .page-card img{
        width:100%!important;
        max-width:100%!important;
        height:230px!important;
        min-height:230px!important;
        object-fit:cover!important;
        object-position:center!important;
        display:block!important;
        border-radius:22px 22px 0 0!important;
    }

    .detail-intro-card__media img{
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
        object-position:center!important;
        display:block!important;
    }

    .detail-intro-card__copy,
    .content-box--visual,
    .benefit-panel,
    .side-card,
    .sidebar-card,
    .service-list-card{
        padding:22px!important;
        box-sizing:border-box!important;
    }

    .feature-list,
    .feature-list--visual,
    .services-grid,
    .home-services-grid,
    .visual-card-grid--services,
    .service-grid,
    .list-service-quick{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        width:100%!important;
    }

    .btn-row{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:12px!important;
        width:100%!important;
    }

    .btn-row .btn,
    .btn-row a,
    .btn-row button{
        width:100%!important;
        justify-content:center!important;
        text-align:center!important;
        box-sizing:border-box!important;
    }

    .page-cover,
    .page-cover--compact{
        min-height:315px!important;
        padding-top:122px!important;
        padding-bottom:44px!important;
    }

    .page-cover__content h1{
        font-size:30px!important;
        line-height:1.12!important;
    }

    .page-cover__content p{
        font-size:15px!important;
        line-height:1.6!important;
    }
}

/* =========================
   Formularios responsive
   ========================= */
@media(max-width:900px){
    .contact-hero-grid,
    .contact-grid-v59,
    .complaint-layout,
    .complaint-grid-v59,
    .contact-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:24px!important;
    }
}

@media(max-width:680px){
    .form-card-v59,
    .contact-form-card,
    .complaint-form-card,
    .contact-copy-card,
    .complaint-copy-card{
        padding:22px!important;
        border-radius:24px!important;
        width:100%!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }

    .form-grid-v59,
    .form-v59 .form-grid,
    .contact-form-card .form-grid,
    .complaint-form-card .form-grid{
        grid-template-columns:1fr!important;
        gap:16px!important;
    }

    .complaint-form-header,
    .claim-meta{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
        text-align:left!important;
    }

    .contact-info-band{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
}

/* =========================
   Menú móvil web principal
   ========================= */
@media(max-width:1100px){
    .site-header,
    .site-header.is-scrolled,
    .inner-page .site-header{
        background:#08283f!important;
        color:#fff!important;
        box-shadow:0 8px 26px rgba(0,0,0,.16)!important;
    }

    .topbar{
        display:none!important;
    }

    .nav-wrap{
        background:#08283f!important;
        position:relative!important;
        z-index:1000!important;
    }

    .nav{
        height:86px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:14px!important;
    }

    .brand{
        flex:0 0 auto!important;
        max-width:132px!important;
    }

    .brand img{
        height:56px!important;
        max-width:125px!important;
        object-fit:contain!important;
        padding:0!important;
        background:transparent!important;
        box-shadow:none!important;
        border-radius:0!important;
    }

    .nav-toggle{
        display:flex!important;
        width:50px!important;
        height:50px!important;
        border-radius:14px!important;
        background:#fff!important;
        flex:0 0 50px!important;
        box-shadow:none!important;
    }

    .nav-toggle span{
        background:#08283f!important;
    }

    .main-nav{
        position:absolute!important;
        top:100%!important;
        left:0!important;
        right:0!important;
        display:none!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:0!important;
        width:100%!important;
        max-height:calc(100vh - 86px)!important;
        overflow:auto!important;
        background:#fff!important;
        border:0!important;
        border-top:1px solid #dbe6ee!important;
        border-radius:0 0 22px 22px!important;
        box-shadow:0 20px 45px rgba(4,35,55,.16)!important;
        padding:0!important;
        z-index:1005!important;
    }

    .main-nav.is-open{
        display:flex!important;
    }

    .main-nav .nav-link,
    .main-nav .nav-link--parent,
    .main-nav .nav-link-group{
        width:100%!important;
        min-height:58px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        color:#08283f!important;
        background:#fff!important;
        text-shadow:none!important;
        border-radius:0!important;
        padding:0 18px!important;
        box-sizing:border-box!important;
        font-size:17px!important;
        font-weight:900!important;
        border-bottom:1px solid #edf2f6!important;
        text-decoration:none!important;
    }

    .main-nav .nav-link::after,
    .main-nav .nav-link--parent::after{
        display:none!important;
    }

    .main-nav .dropdown{
        width:100%!important;
    }

    .main-nav .dropdown-trigger{
        width:52px!important;
        height:52px!important;
        min-width:52px!important;
        border-radius:0!important;
        background:#fff!important;
        color:#08283f!important;
        margin:0!important;
        border:0!important;
        border-left:1px solid #edf2f6!important;
    }

    .main-nav .dropdown-menu{
        position:static!important;
        display:none!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        width:100%!important;
        min-width:0!important;
        padding:8px 16px 12px!important;
        background:#f7fbfe!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        gap:4px!important;
    }

    .main-nav .dropdown.is-open .dropdown-menu{
        display:grid!important;
    }

    .main-nav .dropdown-menu a{
        display:block!important;
        padding:13px 14px!important;
        border-radius:12px!important;
        color:#334455!important;
        background:#fff!important;
        font-weight:800!important;
        text-decoration:none!important;
    }

    .main-nav .nav-link:hover,
    .main-nav .nav-link.is-active,
    .main-nav .nav-link-group.is-active,
    .main-nav .nav-link-group.is-active .nav-link,
    .main-nav .dropdown-menu a:hover,
    .main-nav .dropdown-menu a.is-current{
        color:#0b4264!important;
        background:#eef5fa!important;
    }
}
