/* =========================================================
   LCONSULTINGROUP - RESPONSIVE PROFESIONAL TOTAL 2026
   Industria: dashboard, modulos, portafolio, webs internas.
   Capa final: no modifica logica PHP, solo adapta UI.
========================================================= */

:root{
    --lcg-mobile-gap:14px;
    --lcg-safe-bottom:env(safe-area-inset-bottom, 0px);
}

*, *::before, *::after{box-sizing:border-box;}
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{width:100%;max-width:100%;overflow-x:hidden;}
img,svg,video,canvas,iframe{max-width:100%;}
button,a,input,select,textarea{touch-action:manipulation;}

/* =========================
   DASHBOARD PROFESIONAL
========================= */
body.industria-dashboard .app{
    width:100%;
    min-width:0;
}
body.industria-dashboard .main,
body.industria-dashboard .content{
    min-width:0 !important;
    width:100% !important;
}
body.industria-dashboard .sidebar{
    width:292px !important;
    max-width:292px !important;
    flex:0 0 292px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
}
body.industria-dashboard .brand,
body.industria-dashboard .nav-linkx,
body.industria-dashboard .collapse-head,
body.industria-dashboard .topbar-inner,
body.industria-dashboard .topbar-actions{
    min-width:0 !important;
}
body.industria-dashboard .brand .title,
body.industria-dashboard .collapse-head .left,
body.industria-dashboard .nav-linkx span{
    min-width:0 !important;
    max-width:100% !important;
}
body.industria-dashboard .brand .title .h,
body.industria-dashboard .brand .title .s,
body.industria-dashboard .brand .h,
body.industria-dashboard .brand .s,
body.industria-dashboard .nav-linkx span,
body.industria-dashboard .collapse-head span{
    white-space:nowrap !important;
    word-break:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.25 !important;
}
body.industria-dashboard .nav-linkx{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    white-space:nowrap !important;
    min-height:46px !important;
}
body.industria-dashboard .nav-linkx i,
body.industria-dashboard .collapse-head i{
    flex:0 0 22px !important;
    width:22px !important;
    min-width:22px !important;
    text-align:center !important;
}
body.industria-dashboard .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:30 !important;
}
body.industria-dashboard #btnSidebar{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:16px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#ffffff !important;
    border:1px solid #dce7f5 !important;
    color:#0f172a !important;
    box-shadow:0 8px 22px rgba(15,23,42,.08) !important;
}
body.industria-dashboard .topbar-title .h,
body.industria-dashboard #pageTitle{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    max-width:100% !important;
}
body.industria-dashboard .topbar-title .s{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    max-width:100% !important;
}
body.industria-dashboard .badge{
    white-space:nowrap !important;
    word-break:normal !important;
}
body.industria-dashboard .module-frame{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
}

/* =========================
   MODULOS INTERNOS / IFRAMES
========================= */
body.industria-module,
body:not(.industria-dashboard):has(.table-responsive),
body:not(.industria-dashboard):has(table.table){
    width:100% !important;
    max-width:100% !important;
}
body.industria-module .wrap,
body.industria-module .module-wrap,
body.industria-module .container,
body.industria-module .container-fluid,
body.industria-module .panel,
body.industria-module .card,
body.industria-module .card-pro,
body.industria-module .cardx,
body.industria-module .module-panel,
body.industria-module .premium-table-wrap{
    max-width:100% !important;
}
body.industria-module .module-head,
body.industria-module .toolbar,
body.industria-module .topbar,
body.industria-module .head,
body.industria-module .panel-header{
    min-width:0 !important;
}
body.industria-module .module-head,
body.industria-module .toolbar,
body.industria-module .bar,
body.industria-module .search-bar,
body.industria-module form,
body.industria-module .row{
    max-width:100% !important;
}
body.industria-module input,
body.industria-module select,
body.industria-module textarea,
body.industria-module .form-control,
body.industria-module .form-select{
    width:100% !important;
    max-width:100% !important;
}
body.industria-module .table-responsive{
    -webkit-overflow-scrolling:touch !important;
}
body.industria-module table{
    max-width:100% !important;
}
body.industria-module td,
body.industria-module th{
    vertical-align:middle !important;
}
body.industria-module .btn,
body.industria-module button,
body.industria-module a.btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    white-space:normal;
    line-height:1.15;
}

/* =========================
   LANDING / PORTAFOLIO
========================= */
.header .header-inner,
.header .brand,
.header .brand-link,
.header .nav{
    min-width:0;
}
.header .brand-texto{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:min(44vw, 420px);
}
.lcg-mobile-toggle{
    display:none;
    width:52px;
    height:52px;
    min-width:52px;
    border:1px solid rgba(36,80,219,.12);
    border-radius:18px;
    background:#ffffff;
    color:#122033;
    box-shadow:0 12px 28px rgba(15,23,40,.08);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    padding:0;
}
.lcg-mobile-toggle span,
.lcg-mobile-toggle span::before,
.lcg-mobile-toggle span::after{
    display:block;
    width:22px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    position:relative;
    transition:.2s ease;
}
.lcg-mobile-toggle span::before,
.lcg-mobile-toggle span::after{
    content:"";
    position:absolute;
    left:0;
}
.lcg-mobile-toggle span::before{top:-7px;}
.lcg-mobile-toggle span::after{top:7px;}
body.lcg-nav-open .lcg-mobile-toggle span{background:transparent;}
body.lcg-nav-open .lcg-mobile-toggle span::before{top:0;transform:rotate(45deg);background:#122033;}
body.lcg-nav-open .lcg-mobile-toggle span::after{top:0;transform:rotate(-45deg);background:#122033;}
.lcg-menu-backdrop{
    position:fixed;
    inset:0;
    z-index:9900;
    background:rgba(8,16,30,.44);
    backdrop-filter:blur(4px);
    opacity:0;
    pointer-events:none;
    transition:.2s ease;
}
body.lcg-nav-open .lcg-menu-backdrop{
    opacity:1;
    pointer-events:auto;
}
.pill, .sector-tag, .smart-label, .smart-badge{
    max-width:100%;
    white-space:normal;
}
.hero-main h1,
.panel-header h2,
.market-header h2,
.feature-header h2,
.cta-main h2,
.card-sector h3,
.smart-body h3,
.base-card h3{
    overflow-wrap:anywhere;
    word-break:normal;
}

/* =========================
   WEBS INTERNAS GENERICAS
========================= */
.lcg-drawer{
    position:fixed;
    top:0;
    right:0;
    width:min(340px, 86vw);
    height:100dvh;
    z-index:99999;
    background:rgba(10,15,28,.96);
    color:#fff;
    transform:translateX(105%);
    transition:transform .24s ease;
    box-shadow:-26px 0 70px rgba(0,0,0,.34);
    padding:22px;
    display:flex;
    flex-direction:column;
    gap:14px;
    overflow:auto;
    backdrop-filter:blur(18px);
}
.lcg-drawer.is-open{transform:translateX(0);}
.lcg-drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.14);
    font-weight:900;
}
.lcg-drawer-close{
    width:42px;
    height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:22px;
    line-height:1;
}
.lcg-drawer-links{
    display:grid;
    gap:10px;
}
.lcg-drawer-links a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:12px 14px;
    border-radius:16px;
    color:#fff !important;
    text-decoration:none !important;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    font-weight:800;
}
.lcg-drawer-backdrop{
    position:fixed;
    inset:0;
    z-index:99998;
    background:rgba(0,0,0,.45);
    opacity:0;
    pointer-events:none;
    transition:.22s ease;
    backdrop-filter:blur(3px);
}
.lcg-drawer-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
}

/* =========================
   BREAKPOINTS
========================= */
@media (max-width: 1200px){
    body.industria-dashboard .sidebar{
        width:280px !important;
        max-width:280px !important;
        flex-basis:280px !important;
    }
    body.industria-dashboard .content{
        padding:20px !important;
    }
}

@media (max-width: 992px){
    body.industria-dashboard .sidebar{
        position:fixed !important;
        inset:0 auto 0 0 !important;
        width:min(340px,88vw) !important;
        max-width:min(340px,88vw) !important;
        height:100dvh !important;
        transform:translateX(-105%) !important;
        left:0 !important;
        z-index:10001 !important;
        transition:transform .24s ease !important;
        box-shadow:24px 0 70px rgba(0,0,0,.32) !important;
        border-radius:0 26px 26px 0 !important;
        padding:16px 14px calc(22px + var(--lcg-safe-bottom)) !important;
    }
    body.industria-dashboard .sidebar.show{
        transform:translateX(0) !important;
        left:0 !important;
    }
    body.industria-dashboard .overlay{
        position:fixed !important;
        inset:0 !important;
        z-index:10000 !important;
        background:rgba(2,6,23,.50) !important;
        backdrop-filter:blur(4px) !important;
    }
    body.industria-dashboard .overlay.show{display:block !important;}
    body.industria-dashboard .main{
        width:100% !important;
        flex:1 1 auto !important;
    }
    body.industria-dashboard .topbar-inner{
        padding:12px 14px !important;
        align-items:flex-start !important;
        gap:10px !important;
        flex-wrap:wrap !important;
    }
    body.industria-dashboard .topbar-inner > .d-flex{
        width:100% !important;
        min-width:0 !important;
        align-items:center !important;
    }
    body.industria-dashboard .topbar-title{
        min-width:0 !important;
        flex:1 1 auto !important;
    }
    body.industria-dashboard .topbar-title .h,
    body.industria-dashboard #pageTitle{
        font-size:18px !important;
        max-width:calc(100vw - 92px) !important;
    }
    body.industria-dashboard .topbar-title .s{
        font-size:12px !important;
        max-width:calc(100vw - 92px) !important;
    }
    body.industria-dashboard .topbar-actions{
        width:100% !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }
    body.industria-dashboard .topbar-actions .badge{
        width:100% !important;
        justify-content:flex-start !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
    body.industria-dashboard .content{
        padding:14px !important;
    }
    body.industria-dashboard #view-dashboard::before{
        content:"Panel operativo industrial" !important;
        padding:20px !important;
        margin:0 0 10px !important;
        border-radius:22px !important;
        font-size:clamp(26px, 8vw, 34px) !important;
        line-height:1.05 !important;
        letter-spacing:-.05em !important;
    }
    body.industria-dashboard #view-dashboard::after{
        margin:0 0 18px !important;
        padding:0 2px !important;
        max-width:100% !important;
        font-size:14px !important;
        line-height:1.5 !important;
    }
    body.industria-dashboard .kpi-card{
        min-height:auto !important;
        border-radius:20px !important;
        padding:16px !important;
    }
    body.industria-dashboard .kpi-value{
        font-size:28px !important;
        letter-spacing:-.04em !important;
    }
    body.industria-dashboard .module-frame{
        min-height:calc(100dvh - 152px) !important;
        border-radius:20px !important;
    }
}

@media (max-width: 820px){
    body.industria-module{
        padding:12px !important;
    }
    body.industria-module .topbar,
    body.industria-module .head,
    body.industria-module .panel-header,
    body.industria-module .module-head{
        padding:18px !important;
        border-radius:20px !important;
    }
    body.industria-module .module-head,
    body.industria-module .toolbar,
    body.industria-module .bar,
    body.industria-module .search-bar{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:10px !important;
        width:100% !important;
    }
    body.industria-module .toolbar .input-group,
    body.industria-module .input-group{
        width:100% !important;
        min-width:0 !important;
    }
    body.industria-module .row{
        margin-left:0 !important;
        margin-right:0 !important;
    }
    body.industria-module .row > *{
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.industria-module .card,
    body.industria-module .panel,
    body.industria-module .card-pro,
    body.industria-module .cardx,
    body.industria-module .module-panel{
        border-radius:20px !important;
    }
    body.industria-module .table-responsive{
        border:0 !important;
        background:transparent !important;
        overflow:visible !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }
    body.industria-module table.responsive-card-table,
    body.industria-module table.responsive-card-table thead,
    body.industria-module table.responsive-card-table tbody,
    body.industria-module table.responsive-card-table tr,
    body.industria-module table.responsive-card-table td{
        width:100% !important;
    }
    body.industria-module table.responsive-card-table{
        display:block !important;
        border:0 !important;
        background:transparent !important;
        min-width:0 !important;
    }
    body.industria-module table.responsive-card-table thead{
        display:none !important;
    }
    body.industria-module table.responsive-card-table tbody{
        display:grid !important;
        gap:12px !important;
    }
    body.industria-module table.responsive-card-table tr{
        display:block !important;
        padding:10px !important;
        border:1px solid #dce7f5 !important;
        border-radius:20px !important;
        background:#ffffff !important;
        box-shadow:0 10px 26px rgba(15,23,42,.06) !important;
        overflow:hidden !important;
    }
    body.industria-module table.responsive-card-table td{
        display:flex !important;
        align-items:flex-start !important;
        justify-content:space-between !important;
        gap:12px !important;
        min-height:42px !important;
        padding:10px 8px !important;
        border:0 !important;
        border-bottom:1px solid #edf2f7 !important;
        text-align:right !important;
        white-space:normal !important;
        word-break:break-word !important;
        color:#0f172a !important;
        background:#ffffff !important;
    }
    body.industria-module table.responsive-card-table td:last-child{
        border-bottom:0 !important;
    }
    body.industria-module table.responsive-card-table td::before{
        content:attr(data-label);
        flex:0 0 42%;
        max-width:42%;
        text-align:left;
        color:#64748b;
        font-size:11px;
        font-weight:950;
        line-height:1.3;
        letter-spacing:.07em;
        text-transform:uppercase;
    }
    body.industria-module table.responsive-card-table td.td-actions{
        display:block !important;
        text-align:left !important;
    }
    body.industria-module table.responsive-card-table td.td-actions::before{
        display:block;
        max-width:100%;
        margin-bottom:8px;
    }
    body.industria-module table.responsive-card-table td.td-actions .btn,
    body.industria-module table.responsive-card-table td.td-actions button,
    body.industria-module table.responsive-card-table td.td-actions a.btn{
        width:100% !important;
        margin:3px 0 !important;
    }
    body.industria-module .btn,
    body.industria-module button,
    body.industria-module a.btn{
        width:100%;
        min-height:46px;
        padding-left:14px;
        padding-right:14px;
    }
    body.industria-module .btn.btn-sm,
    body.industria-module button.btn-sm,
    body.industria-module a.btn.btn-sm{
        min-height:40px;
    }
    body.industria-module .modal-dialog{
        width:calc(100vw - 24px) !important;
        max-width:calc(100vw - 24px) !important;
        margin:12px auto !important;
    }
    body.industria-module .modal-content{
        border-radius:20px !important;
        max-height:calc(100dvh - 24px) !important;
        overflow:auto !important;
    }
}

@media (max-width: 720px){
    .contenedor{
        padding-left:14px !important;
        padding-right:14px !important;
    }
    .header{
        position:sticky !important;
        top:0 !important;
        z-index:9000 !important;
    }
    .header-inner{
        min-height:74px !important;
        padding:10px 0 !important;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
    }
    .brand-link{
        width:auto !important;
        max-width:calc(100% - 64px) !important;
        flex:1 1 auto !important;
    }
    .brand{
        gap:10px !important;
        min-width:0 !important;
        max-width:100% !important;
    }
    .brand-logo-wrap,
    .brand-icon{
        width:48px !important;
        height:48px !important;
        min-width:48px !important;
        border-radius:16px !important;
    }
    .brand-texto{
        font-size:clamp(18px, 5.6vw, 24px) !important;
        max-width:calc(100vw - 140px) !important;
        letter-spacing:-.04em !important;
    }
    .lcg-mobile-toggle{
        display:inline-flex !important;
        flex:0 0 52px !important;
    }
    .header .nav{
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        z-index:9901 !important;
        width:min(340px, 86vw) !important;
        height:100dvh !important;
        padding:86px 18px 22px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:10px !important;
        background:rgba(255,255,255,.98) !important;
        border-left:1px solid rgba(36,80,219,.10) !important;
        box-shadow:-28px 0 70px rgba(15,23,40,.18) !important;
        transform:translateX(105%) !important;
        transition:transform .24s ease !important;
        overflow:auto !important;
        backdrop-filter:blur(18px) !important;
    }
    .header .nav.is-open{
        transform:translateX(0) !important;
    }
    .header .nav .nav-link,
    .header .nav .btn-principal,
    .header .nav .btn-secundario,
    .header .nav a{
        width:100% !important;
        min-height:50px !important;
        justify-content:center !important;
        text-align:center !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
    .hero{
        padding:14px 0 20px !important;
    }
    .hero-panel{
        min-height:auto !important;
        border-radius:22px !important;
        margin-top:0 !important;
        box-shadow:0 14px 34px rgba(15,23,40,.07) !important;
    }
    .hero-main{
        padding:24px 20px !important;
    }
    .pill{
        min-height:36px !important;
        padding:8px 12px !important;
        margin-bottom:18px !important;
        font-size:11px !important;
        line-height:1.25 !important;
        letter-spacing:.04em !important;
        align-items:flex-start !important;
    }
    .pill-dot{
        margin-top:5px !important;
        flex:0 0 8px !important;
    }
    .hero-main h1{
        font-size:clamp(30px, 9.4vw, 42px) !important;
        line-height:1.04 !important;
        letter-spacing:-.055em !important;
        margin-bottom:18px !important;
    }
    .hero-subtitulo,
    .hero-contexto,
    .panel-header p,
    .market-header p,
    .feature-header p,
    .cta-main p{
        font-size:16px !important;
        line-height:1.62 !important;
    }
    .hero-contexto{
        margin-bottom:22px !important;
    }
    .hero-botones{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        width:100% !important;
    }
    .btn-principal,
    .btn-secundario,
    .btn-demo,
    .modal-link,
    .modal-close,
    .btn-preview,
    .btn-smart,
    .btn-module{
        width:100% !important;
        min-width:0 !important;
        min-height:50px !important;
        padding:13px 16px !important;
        text-align:center !important;
        white-space:normal !important;
    }
    .section,
    .market-section{
        padding-bottom:20px !important;
    }
    .panel,
    .market-panel,
    .feature-panel,
    .smart-panel,
    .cta-panel{
        border-radius:22px !important;
        box-shadow:0 14px 34px rgba(15,23,40,.06) !important;
    }
    .panel-header,
    .cards-wrap,
    .market-header,
    .base-grid,
    .smart-grid,
    .feature-header,
    .feature-grid,
    .cta-main,
    .cta-side{
        padding:20px !important;
    }
    .panel-header h2,
    .market-header h2,
    .feature-header h2,
    .cta-main h2{
        font-size:clamp(27px, 8vw, 36px) !important;
        line-height:1.05 !important;
        letter-spacing:-.045em !important;
    }
    .cards-grid,
    .base-grid,
    .smart-grid,
    .feature-grid,
    .cta-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    .card-body,
    .base-card,
    .smart-body,
    .feature-card{
        padding:18px !important;
    }
    .card-sector,
    .base-card,
    .smart-card,
    .feature-card{
        border-radius:20px !important;
        min-height:auto !important;
    }
    .card-sector h3,
    .base-card h3,
    .smart-body h3,
    .feature-card h3{
        min-height:auto !important;
        font-size:clamp(22px, 6.6vw, 28px) !important;
        line-height:1.1 !important;
    }
    .smart-body{
        min-height:auto !important;
    }
    .card-footer{
        display:grid !important;
        grid-template-columns:1fr !important;
        align-items:stretch !important;
    }
    .modal,
    .modal-overlay{
        padding:10px !important;
    }
    .modal-box,
    .modal-contenido{
        width:100% !important;
        max-width:100% !important;
        height:calc(100dvh - 20px) !important;
        max-height:calc(100dvh - 20px) !important;
        border-radius:20px !important;
        margin:0 !important;
    }
    .modal-header{
        padding:14px !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:10px !important;
    }
    .modal-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
    }
    .modal-frame-wrap{
        height:calc(100dvh - 178px) !important;
    }
    .contacto-fijo{
        width:54px !important;
        height:54px !important;
        right:14px !important;
        bottom:calc(74px + var(--lcg-safe-bottom)) !important;
    }
    .icono-contacto{
        width:25px !important;
        height:25px !important;
    }
}

@media (max-width: 560px){
    body.industria-dashboard .content{
        padding:12px !important;
    }
    body.industria-dashboard .row.g-3{
        --bs-gutter-x:0 !important;
        --bs-gutter-y:12px !important;
    }
    body.industria-dashboard .kpi-top{
        align-items:flex-start !important;
    }
    body.industria-dashboard .kpi-ico{
        width:44px !important;
        height:44px !important;
        border-radius:15px !important;
    }
    body.industria-dashboard .kpi-value{
        font-size:26px !important;
    }
    .hero-main{
        padding:22px 18px !important;
    }
    .hero-main h1{
        font-size:clamp(28px, 10.2vw, 38px) !important;
    }
    .hero-subtitulo,
    .hero-contexto{
        font-size:15.5px !important;
    }
    .panel-header,
    .cards-wrap,
    .market-header,
    .base-grid,
    .smart-grid,
    .feature-header,
    .feature-grid,
    .cta-main,
    .cta-side{
        padding:18px !important;
    }
    .brand-texto{
        max-width:calc(100vw - 128px) !important;
    }
}

@media (max-width: 420px){
    .contenedor{
        padding-left:12px !important;
        padding-right:12px !important;
    }
    .brand-logo-wrap,
    .brand-icon{
        width:44px !important;
        height:44px !important;
        min-width:44px !important;
    }
    .brand-texto{
        font-size:20px !important;
        max-width:calc(100vw - 120px) !important;
    }
    .lcg-mobile-toggle{
        width:48px !important;
        height:48px !important;
        min-width:48px !important;
        border-radius:16px !important;
    }
    .hero-main h1{
        font-size:31px !important;
    }
    body.industria-module table.responsive-card-table td{
        display:block !important;
        text-align:left !important;
    }
    body.industria-module table.responsive-card-table td::before{
        display:block;
        max-width:100%;
        margin-bottom:5px;
    }
}

/* Login standalone */
@media (max-width: 980px){
    .login-shell{
        width:calc(100vw - 24px) !important;
        min-height:auto !important;
        margin:12px auto !important;
        border-radius:26px !important;
    }
}
@media (max-width: 680px){
    body:has(.login-shell){
        display:block !important;
        min-height:100dvh !important;
        padding:12px 0 !important;
        overflow:auto !important;
    }
    .login-shell{
        grid-template-columns:1fr !important;
        width:calc(100vw - 20px) !important;
        border-radius:24px !important;
    }
    .visual-panel{
        min-height:auto !important;
        padding:22px !important;
        gap:28px !important;
    }
    .hero-copy h1{
        font-size:clamp(31px, 9vw, 40px) !important;
        line-height:1.02 !important;
    }
    .hero-copy p{
        font-size:14.5px !important;
        line-height:1.62 !important;
    }
    .module-row,
    .credential-card{
        grid-template-columns:1fr !important;
    }
    .login-panel{
        padding:24px 18px !important;
    }
    .login-card h2{
        font-size:28px !important;
    }
}

/* Navegaciones web sin boton mobile */
.lcg-web-menu-button{
    display:none;
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.10);
    color:currentColor;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    margin-left:auto;
}
.lcg-web-menu-button span,
.lcg-web-menu-button span::before,
.lcg-web-menu-button span::after{
    content:"";
    display:block;
    width:21px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    position:relative;
}
.lcg-web-menu-button span::before,
.lcg-web-menu-button span::after{position:absolute;left:0;}
.lcg-web-menu-button span::before{top:-7px;}
.lcg-web-menu-button span::after{top:7px;}

@media (max-width: 768px){
    body:not(.industria-dashboard):not(.industria-module) nav{
        max-width:100vw !important;
    }
    body:not(.industria-dashboard):not(.industria-module) .lcg-web-menu-button{
        display:inline-flex !important;
    }
    body:not(.industria-dashboard):not(.industria-module) h1{
        font-size:clamp(31px, 10vw, 52px) !important;
        line-height:1.02 !important;
        overflow-wrap:anywhere !important;
    }
    body:not(.industria-dashboard):not(.industria-module) h2,
    body:not(.industria-dashboard):not(.industria-module) .section-title{
        font-size:clamp(26px, 8vw, 38px) !important;
        line-height:1.08 !important;
        overflow-wrap:anywhere !important;
    }
    body:not(.industria-dashboard):not(.industria-module) p{
        max-width:100%;
    }
    body:not(.industria-dashboard):not(.industria-module) .hero-buttons,
    body:not(.industria-dashboard):not(.industria-module) .cta-buttons,
    body:not(.industria-dashboard):not(.industria-module) .buttons{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
    body:not(.industria-dashboard):not(.industria-module) .btn,
    body:not(.industria-dashboard):not(.industria-module) button,
    body:not(.industria-dashboard):not(.industria-module) a[class*="btn"]{
        max-width:100%;
        white-space:normal;
        text-align:center;
    }
    body:not(.industria-dashboard):not(.industria-module) .features-grid,
    body:not(.industria-dashboard):not(.industria-module) .services-grid,
    body:not(.industria-dashboard):not(.industria-module) .rooms-grid,
    body:not(.industria-dashboard):not(.industria-module) .grid{
        max-width:100%;
    }
}
