/* DeporManagerPro v1_8_394 - módulo legal */
.legal-public-page{background:#f4f7fb;color:#14213d;min-height:100vh}.legal-public-shell{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:32px 0 64px}.legal-public-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.legal-public-brand{font-weight:900;color:#0f2e73;text-decoration:none;font-size:1.2rem}.legal-public-nav{display:flex;flex-wrap:wrap;gap:10px}.legal-public-nav a{background:#fff;border:1px solid #dce5f0;border-radius:999px;padding:8px 13px;text-decoration:none;color:#334155;font-size:.84rem}.legal-document-card{background:#fff;border:1px solid #dce5f0;border-radius:22px;box-shadow:0 18px 50px rgba(15,46,115,.08);padding:clamp(24px,5vw,56px)}.dmp-legal-document{font-size:1rem;line-height:1.72;color:#334155}.dmp-legal-document h1{font-size:clamp(1.8rem,4vw,2.65rem);color:#071833;margin:0 0 10px}.dmp-legal-document h2{font-size:1.24rem;color:#0f2e73;margin:34px 0 12px}.dmp-legal-document h3{font-size:1.05rem;color:#172554}.dmp-legal-document a{color:#0878c9}.dmp-legal-document table{width:100%;border-collapse:collapse}.dmp-legal-document th,.dmp-legal-document td{border:1px solid #d8e2ed;padding:10px;text-align:left;vertical-align:top}.dmp-legal-document th{background:#eef5fb}.dmp-legal-table-wrap{overflow:auto}.dmp-legal-identity,.dmp-legal-meta,.dmp-legal-audience{color:#64748b}.dmp-legal-identity{border-left:4px solid #14b8a6;background:#f2fbfa;padding:14px 16px;border-radius:0 12px 12px 0}.legal-accept-page{background:linear-gradient(140deg,#edf5ff,#f7fbff 50%,#eafbf8);min-height:100vh;padding:32px 16px}.legal-accept-card{width:min(920px,100%);margin:0 auto;background:#fff;border:1px solid #dce7f1;border-radius:24px;box-shadow:0 24px 70px rgba(15,46,115,.14);padding:clamp(24px,4vw,44px)}.legal-accept-list{display:grid;gap:16px;margin:24px 0}.legal-accept-item{border:1px solid #d8e3ee;border-radius:16px;padding:18px;background:#fbfdff}.legal-accept-item label{display:flex;gap:12px;align-items:flex-start;font-weight:700}.legal-accept-item input{margin-top:4px;width:20px;height:20px}.legal-accept-item small{display:block;margin-left:32px;color:#64748b}.legal-saas-grid{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:22px}.legal-nav-panel,.legal-editor-panel{background:#fff;border:1px solid #dce4ed;border-radius:18px}.legal-nav-panel{padding:12px}.legal-nav-panel a{display:block;text-decoration:none;color:#334155;padding:12px;border-radius:12px;margin-bottom:5px}.legal-nav-panel a.active{background:#eaf4ff;color:#075c9a;font-weight:800}.legal-nav-panel small{display:block;color:#718096}.legal-editor-panel{padding:22px}.legal-editor-panel textarea{min-height:520px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.83rem}.legal-version-table{font-size:.86rem}.legal-scope-note{background:#fff8e6;border:1px solid #f6d88a;border-radius:12px;padding:12px;color:#745100}.checkout-legal-box{margin:18px 0;padding:16px;border:1px solid #cbdcec;border-radius:14px;background:#f8fbff}.checkout-legal-box label{display:flex;align-items:flex-start;gap:10px}.checkout-legal-box input{margin-top:4px;width:19px;height:19px}.checkout-legal-box .optional{margin-top:12px;color:#5e6b7c}.auth-legal-box{border:1px solid #d8e2ed;border-radius:12px;padding:13px;background:#f8fbff;margin:12px 0;font-size:.88rem}.auth-legal-box label{display:flex;gap:9px;align-items:flex-start}.auth-legal-box input{margin-top:3px}.auth-legal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:.78rem}.auth-legal-links a{color:#0d67a8}@media(max-width:900px){.legal-saas-grid{grid-template-columns:1fr}.legal-public-top{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.legal-document-card{padding:20px}.legal-public-shell{width:min(100% - 20px,1080px)}}

/* v1_8_394 - controles de aceptación en registro y checkout */
.legal-consent-box{display:grid;gap:11px;margin:18px 0;padding:16px 18px;border:1px solid #cbd9e7;border-radius:14px;background:#f7fbff;color:#31465d}.legal-consent-box>strong{display:flex;align-items:center;gap:8px;color:#0b2d50}.legal-check-row{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.48}.legal-check-row input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#0878d1}.legal-check-row a{font-weight:750}.legal-check-row.is-optional{padding-top:9px;border-top:1px dashed #cedae6;color:#5f7082}.checkout-legal-consent{margin-top:18px}.legal-evidence-note{color:#64748b;font-size:.82rem}

.app-public-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem 1rem;padding:1rem 1.25rem 1.4rem;color:#64748b;font-size:.78rem}.app-public-legal-links a{color:inherit;text-decoration:none}.app-public-legal-links a:hover,.app-public-legal-links a:focus-visible{color:#0b73c8;text-decoration:underline;text-underline-offset:3px}

/* v1_8_396 - confirmación legal integrada en Resumen de compra */
body.member-dashboard-page .checkout-legal-summary {
    margin: 22px 0 4px;
    padding: 18px 20px;
    gap: 12px;
    border: 1px solid var(--theme-outline-variant, #d5deea);
    border-radius: var(--theme-radius-xl, 14px);
    background: var(--theme-surface-container-lowest, #ffffff);
    color: var(--theme-on-surface, #1f2937);
    font-family: var(--theme-font-family, inherit);
    box-shadow: 0 8px 24px rgba(3, 22, 53, 0.05);
}
body.member-dashboard-page .checkout-legal-summary .checkout-legal-title {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: var(--member-primary, #031635);
    font-family: var(--theme-font-family, inherit);
    font-size: var(--theme-headline-md-size, 18px) !important;
    line-height: var(--theme-headline-md-line, 24px) !important;
    font-weight: var(--theme-headline-md-weight, 700) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body.member-dashboard-page .checkout-legal-summary .checkout-legal-title i {
    color: var(--member-action, #0266ff);
    font-size: 1.05em;
}
body.member-dashboard-page .checkout-legal-summary .checkout-legal-intro {
    margin: -2px 0 2px;
    color: var(--member-muted, #5f6b7a);
    font-size: var(--theme-body-md-size, 14px) !important;
    line-height: var(--theme-body-md-line, 20px) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body.member-dashboard-page .checkout-legal-summary .legal-check-row {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    color: var(--theme-on-surface, #2f3640);
    font-family: var(--theme-font-family, inherit);
    font-size: var(--theme-body-md-size, 14px) !important;
    line-height: var(--theme-body-md-line, 20px) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body.member-dashboard-page .checkout-legal-summary .legal-check-row + .legal-check-row {
    padding-top: 11px;
    border-top: 1px solid rgba(197, 198, 207, .42);
}
body.member-dashboard-page .checkout-legal-summary .legal-check-row input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--member-action, #0266ff);
}
body.member-dashboard-page .checkout-legal-summary .legal-check-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}
body.member-dashboard-page .checkout-legal-summary .legal-check-row a {
    color: var(--member-action, #0266ff);
    font-weight: 600 !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-transform: none !important;
}
@media (max-width: 700px) {
    body.member-dashboard-page .checkout-legal-summary {
        margin-top: 18px;
        padding: 16px;
        border-radius: var(--theme-radius-lg, 12px);
    }
    body.member-dashboard-page .checkout-legal-summary .checkout-legal-title {
        align-items: flex-start;
        font-size: 16px !important;
        line-height: 22px !important;
    }
    body.member-dashboard-page .checkout-legal-summary .legal-check-row {
        grid-template-columns: 19px minmax(0, 1fr);
        gap: 9px;
        font-size: 13px !important;
        line-height: 19px !important;
    }
}


/* v1_8_417 - validación legal sin mensajes superpuestos ni columnas adicionales */
.legal-consent-box > .dmp-field-validation {
    margin: -5px 0 2px 28px;
    width: auto;
}
body.member-dashboard-page .checkout-legal-summary > .dmp-field-validation {
    margin: -5px 0 2px 30px;
    width: auto;
}
