/* Infosolution Privacy: fixed viewport layer, independent of Elementor/theme layout. */
#isp-root {font-family:system-ui,-apple-system,Segoe UI,sans-serif!important;font-size:14px;line-height:1.5;color:#222;position:static!important;z-index:auto!important;transform:none!important;filter:none!important;contain:none!important;isolation:auto!important}
#isp-root *,#isp-root *::before,#isp-root *::after{box-sizing:border-box}
#isp-root button{cursor:pointer;font-family:inherit}
#isp-root [hidden]{display:none!important}
#isp-overlay{position:fixed!important;inset:0!important;z-index:2147482002!important;background:rgba(0,0,0,.55)!important}
/* Permanent revocation access: tab flush to bottom, with rounded upper corners only. */
#isp-root #isp-open{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:auto!important;transform:none!important;margin:0!important;z-index:2147482001!important;border:1px solid #bdbdbd;border-bottom:0;border-radius:10px 10px 0 0;background:white;color:#222;box-shadow:0 -2px 12px #0002;padding:10px 13px;min-height:40px;max-width:min(270px,calc(100vw - 24px));font-size:13px;font-weight:650;white-space:normal}
#isp-root[data-position="right"] #isp-open{left:auto!important;right:0!important}
/* The banner itself respects the chosen lower corner, not screen center. */
#isp-root #isp-dialog{position:fixed!important;top:auto!important;bottom:20px!important;left:20px!important;right:auto!important;transform:none!important;margin:0!important;width:min(570px,calc(100vw - 40px))!important;min-width:0!important;max-width:calc(100vw - 40px)!important;max-height:calc(100dvh - 40px)!important;overflow-y:auto!important;overscroll-behavior:contain;z-index:2147482003!important;background:#fff;border-radius:12px;padding:24px 20px 18px;box-shadow:0 10px 45px #0004;overflow-wrap:anywhere}
#isp-root[data-position="right"] #isp-dialog{left:auto!important;right:20px!important}
#isp-dialog h2{font:600 18px/1.4 Georgia,serif;text-align:center;margin:0 30px 17px}
#isp-dialog p{margin:0 0 19px;font-size:13px}
#isp-dialog .isp-buttons{display:flex;gap:8px;min-width:0}
#isp-dialog .isp-buttons button,#isp-save{background:#f5f5f5;border:1px solid #e5e5e5;border-radius:6px;min-height:45px;flex:1 1 0;min-width:0;padding:8px;font-weight:700;letter-spacing:.04em;color:#202020}
#isp-dialog .isp-buttons button:hover,#isp-save:hover{background:#e8e8e8}
#isp-preferences{margin-top:16px;border-top:1px solid #ddd;padding-top:14px}
#isp-preferences label{display:block;margin:10px 0}
#isp-save{width:100%;margin-top:12px}
#isp-dialog .isp-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:12px}
#isp-dialog .isp-legal a{color:#1261aa;text-decoration:underline}
#isp-close{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#333;font-size:28px;line-height:1;padding:6px}
#isp-root button:focus-visible,#isp-dialog a:focus-visible{outline:3px solid #155fa0;outline-offset:2px}
#isp-dialog .isp-buttons button[data-isp-action="accept"],#isp-dialog .isp-buttons button[data-isp-action="deny"]{background:var(--isp-button-bg,#f5f5f5);color:var(--isp-button-text,#202020);border:1px solid var(--isp-button-border,#e5e5e5);font:700 14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.04em;flex:1 1 0;min-width:0;min-height:46px;padding:10px 8px;border-radius:6px;box-shadow:none;text-transform:none}
#isp-dialog .isp-buttons button[data-isp-action="accept"]:is(:hover,:focus-visible),#isp-dialog .isp-buttons button[data-isp-action="deny"]:is(:hover,:focus-visible){background:var(--isp-button-hover,#e8e8e8);color:var(--isp-button-hover-text,#202020)}
@media(max-width:600px){
 #isp-root #isp-dialog{left:12px!important;right:12px!important;bottom:12px!important;top:auto!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:18px 14px 14px!important;border-radius:12px!important}
 #isp-root #isp-dialog .isp-buttons{flex-direction:column}
 #isp-root #isp-dialog .isp-buttons button{width:100%;flex:auto;min-height:45px}
 #isp-root #isp-open{max-width:min(240px,calc(100vw - 24px));font-size:12px;padding:10px 12px}
 #isp-root[data-position="right"] #isp-dialog{left:12px!important;right:12px!important}
}

/* Inventario público 1.0: tabla escritorio, tarjetas legibles en móvil. */
.isp-cookie-inventory {max-width:100%;min-width:0;overflow-wrap:anywhere}
.isp-cookie-inventory .isp-cookie-table-scroll {width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.isp-cookie-inventory table.isp-cookie-table {width:100%;border-collapse:collapse;table-layout:auto;margin:0}
.isp-cookie-inventory .isp-cookie-table :is(th,td) {text-align:left;vertical-align:top;padding:12px;border:1px solid #d8dce0;overflow-wrap:anywhere;word-break:normal;line-height:1.5}
.isp-cookie-inventory .isp-cookie-table thead th {font-weight:700;background:#f5f7f8}
.isp-cookie-inventory .isp-cookie-table tbody tr:nth-child(odd) {background:#fafafa}
.isp-cookie-inventory .isp-cookie-table tbody th {font-weight:600}
.isp-cookie-inventory .isp-cookie-audit-date {margin-top:12px;font-size:.9em}
@media (max-width:767px) {
 .isp-cookie-inventory .isp-cookie-table-scroll {overflow:visible}
 .isp-cookie-inventory table.isp-cookie-table, .isp-cookie-inventory .isp-cookie-table tbody {display:block;width:100%;border:0}
 .isp-cookie-inventory .isp-cookie-table thead {position:absolute!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;white-space:nowrap!important}
 .isp-cookie-inventory .isp-cookie-table tbody tr {display:block;width:100%;margin:0 0 16px;border:1px solid #d9dee3;border-radius:10px;overflow:hidden;background:#fff!important;box-shadow:0 1px 3px #0000000c}
 .isp-cookie-inventory .isp-cookie-table tbody :is(th,td) {display:grid!important;grid-template-columns:minmax(96px,37%) minmax(0,1fr);gap:12px;align-items:start;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;float:none!important;clear:both!important;margin:0!important;border:0!important;border-bottom:1px solid #e7e9ec!important;text-align:left!important;padding:11px 12px!important;font-size:14px;line-height:1.45;white-space:normal!important;background:transparent!important}
 .isp-cookie-inventory .isp-cookie-table tbody tr > :last-child {border-bottom:0!important}
 .isp-cookie-inventory .isp-cookie-table tbody :is(th,td)::before {content:attr(data-label);font-weight:700;color:#263b45;overflow-wrap:anywhere}
 .isp-cookie-inventory .isp-cookie-table tbody th {background:#eef4f1!important;font-weight:600}
 .isp-cookie-inventory .isp-cookie-table tbody tr:nth-child(odd) {background:#fff!important}
}

/* v1.0.1: distribución legible en escritorio y tablet, sin cortar palabras.
   En pantallas estrechas se desplaza únicamente la tabla, no la página. */
@media (min-width:768px) {
 .isp-cookie-inventory .isp-cookie-table-scroll {width:100%;max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain}
 .isp-cookie-inventory table.isp-cookie-table {width:100%!important;min-width:980px!important;table-layout:fixed!important;border-collapse:collapse!important}
 .isp-cookie-inventory .isp-cookie-table tr > :nth-child(1) {width:23%!important}
 .isp-cookie-inventory .isp-cookie-table tr > :nth-child(2) {width:8%!important}
 .isp-cookie-inventory .isp-cookie-table tr > :nth-child(3) {width:13%!important}
 .isp-cookie-inventory .isp-cookie-table tr > :nth-child(4) {width:28%!important}
 .isp-cookie-inventory .isp-cookie-table tr > :nth-child(5) {width:16%!important}
 .isp-cookie-inventory .isp-cookie-table tr > :nth-child(6) {width:12%!important}
 .isp-cookie-inventory .isp-cookie-table :is(th,td) {box-sizing:border-box!important;padding:12px 10px!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;hyphens:none!important;line-height:1.45!important}
 .isp-cookie-inventory .isp-cookie-table tr > :first-child {overflow-wrap:anywhere!important}
}
