/* ============================================================
   UpTech DLP — estilos adicionales a uptech.css
   Solo lo que el sistema visual corporativo no trae.
   ============================================================ */

/* Anclas bajo el encabezado fijo */
section[id],div[id^="sec-"]{scroll-margin-top:86px}

/* Enlace para saltar al contenido */
.skip-link{position:absolute;left:16px;top:-60px;z-index:2000;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;transition:top var(--t-fast)}
.skip-link:focus{top:12px}

/* Sin JavaScript todo es visible; con JavaScript se anima al entrar en pantalla */
.reveal,.reveal-stagger > *{opacity:1;transform:none}
html.js .reveal,html.js .reveal-stagger > *{opacity:0;transform:translateY(18px)}
html.js .reveal.is-visible,html.js .reveal-stagger.is-visible > *{opacity:1;transform:none}

/* Encabezado */
.header-actions .btn .icon{width:16px;height:16px}
nav a.is-current{color:var(--orange-strong)}
.mobile-panel a.btn{border-bottom:1.5px solid var(--border-strong)}
.mobile-panel a.btn-primary{color:#fff;border-color:transparent}

/* ---------- Hero: maqueta de la consola ---------- */
.page-hero.split .page-hero-content p{margin-left:0}
.dlp-mock{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;min-width:0;font-size:13px;color:var(--text)}
.dlp-mock-bar{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--bg-alt);border-bottom:1px solid var(--border)}
.dlp-mock-dots{display:flex;gap:6px;flex-shrink:0}
.dlp-mock-dots i{width:9px;height:9px;border-radius:50%;background:var(--border-strong);display:block}
.dlp-mock-url{flex:1;min-width:0;background:#fff;border:1px solid var(--border);border-radius:50px;padding:4px 12px;font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlp-mock-body{padding:18px;display:grid;gap:16px}
.dlp-mock-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dlp-mock-title{font-weight:700;color:var(--ink);font-size:14px}
.dlp-mock-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dlp-tile{border:1px solid var(--border);border-radius:var(--r);padding:12px 12px 11px;min-width:0;background:#fff}
.dlp-tile-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlp-tile-value{font-size:24px;font-weight:800;color:var(--ink);letter-spacing:-0.02em;line-height:1.15;font-variant-numeric:tabular-nums;margin-top:4px}
.dlp-tile.is-alert{border-color:var(--orange-line);background:var(--orange-soft)}
.dlp-tile.is-alert .dlp-tile-value{color:var(--orange-strong)}
.dlp-bars{display:grid;gap:9px}
.dlp-bar{display:grid;grid-template-columns:92px minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:12px}
.dlp-bar-name{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlp-bar-track{height:8px;background:var(--bg-alt);border-radius:50px;overflow:hidden}
.dlp-bar-fill{display:block;height:100%;border-radius:50px;background:var(--navy)}
.dlp-bar-fill.is-orange{background:var(--orange)}
.dlp-bar-num{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}
.dlp-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.dlp-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;padding:0 8px 7px 0;border-bottom:1px solid var(--border)}
.dlp-table td{padding:9px 8px 9px 0;border-bottom:1px solid var(--border-soft);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlp-table tr:last-child td{border-bottom:0}
.dlp-table th:nth-child(1),.dlp-table td:nth-child(1){width:44%}
.dlp-table th:nth-child(2),.dlp-table td:nth-child(2){width:34%}
.dlp-table th:nth-child(3),.dlp-table td:nth-child(3){width:22%;text-align:right;padding-right:0}
.dlp-table .dlp-file{color:var(--ink);font-weight:600}
.dlp-table .mono{font-size:11.5px;color:var(--text)}
.dlp-mock-note{font-size:11px;color:var(--text-faint);text-align:right;padding:0 18px 12px}
.risk{display:inline-block;padding:3px 9px;border-radius:50px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.risk-critical{background:var(--red-soft);color:var(--red)}
.risk-high{background:var(--orange-soft);color:var(--orange-strong)}
.risk-medium{background:var(--blue-soft);color:var(--blue-info)}
.risk-low{background:var(--green-soft);color:var(--green)}

/* ---------- Banda de atributos ---------- */
.logos-band .brands-grid{gap:10px 12px}
.iso-badge .icon{width:16px;height:16px;color:var(--orange)}

/* ---------- El problema: archivos dispersos ---------- */
.dlp-files{display:grid;gap:12px;min-width:0}
.dlp-file-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow-sm)}
.dlp-file-ext{width:44px;height:44px;border-radius:10px;background:var(--navy-soft);border:1px solid #dbe3f5;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.04em}
.dlp-file-name{font-weight:700;color:var(--ink);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlp-file-path{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlp-file-what{font-size:12.5px;color:var(--text);margin-top:3px}
.dlp-caption{font-size:12px;color:var(--text-faint);margin-top:4px}

/* ---------- Tarjetas de producto ---------- */
.service-card .tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tag-soon,.tag-now{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:50px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.tag-soon{background:var(--navy-soft);color:var(--navy);border:1px solid #dbe3f5}
.tag-now{background:var(--green-soft);color:#0b7a44;border:1px solid #cdebd9}
.service-card.is-soon{background:var(--bg-soft);border-style:dashed}
.service-card.is-soon:hover{transform:none;box-shadow:none}
.service-card.is-soon .service-icon{background:var(--navy-soft);border-color:#dbe3f5;color:var(--navy)}
.service-card .card-tag{position:absolute;top:18px;right:18px}
.services-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.subsection-head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;margin:56px 0 22px}
.subsection-head h3{font-size:22px;color:var(--ink)}
.subsection-head .tag-now,.subsection-head .tag-soon{justify-self:start}
.subsection-head p{grid-column:1/-1;color:var(--text-muted);font-size:15.5px;max-width:720px}

/* ---------- Cómo funciona ---------- */
.process-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.process-card{text-align:left}
.process-card .process-number{margin:0 0 18px}

/* ---------- Ley 21.719 ---------- */
.law-banner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0;background:linear-gradient(135deg,var(--navy-dark),var(--navy));color:#fff;border-radius:var(--r-xl);overflow:hidden;margin-bottom:28px}
.law-banner-text{padding:36px 40px}
.law-banner-text .eyebrow{color:#fdba74}
.law-banner-text h3{color:#fff;font-size:clamp(22px,2.6vw,30px);margin:10px 0 12px}
.law-banner-text p{color:rgba(255,255,255,.86);font-size:15.5px;line-height:1.7}
.law-countdown{background:rgba(255,255,255,.07);border-left:1px solid rgba(255,255,255,.14);padding:36px 32px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.law-countdown-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:rgba(255,255,255,.78)}
.law-countdown-value{font-size:clamp(40px,6vw,60px);font-weight:800;line-height:1;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;color:#fff}
.law-countdown-value small{font-size:18px;font-weight:600;color:#fdba74;letter-spacing:0;margin-left:6px}
.law-countdown-date{font-size:14px;color:rgba(255,255,255,.86)}
.law-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.law-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px}
.law-card h3{font-size:17px;color:var(--ink);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.law-card h3 .icon{width:20px;height:20px;color:var(--orange-strong)}
.law-card p{font-size:14.5px;color:var(--text-muted);line-height:1.65}
.law-card .checklist li{font-size:14px;color:var(--text);padding:6px 0 6px 26px}
.law-card .checklist li::before{top:11px}
.law-card.span-2{grid-column:span 2}
.fines{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.fine{border:1px solid var(--border);border-radius:var(--r);padding:16px;background:var(--bg-soft)}
.fine-kind{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-muted)}
.fine-amount{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-0.02em;line-height:1.15;margin-top:4px;font-variant-numeric:tabular-nums}
.fine-amount span{font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:0}
.fine.is-top{border-color:var(--orange-line);background:var(--orange-soft)}
.fine.is-top .fine-amount{color:var(--orange-strong)}
.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:4px 0 0}
.pill-list li{padding:6px 12px;border-radius:50px;background:var(--bg-alt);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}
.legal-note{margin-top:24px;font-size:13px;color:var(--text-muted);text-align:center}

/* ---------- Precios y formulario ---------- */
.contact-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:36px;min-width:0}
.contact-form h3,.contact-info h3{font-size:20px;color:var(--ink);margin-bottom:8px}
.contact-form .form-lead{font-size:14.5px;color:var(--text-muted);margin-bottom:22px}
.contact-info{min-width:0}
.price-box{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px}
.price-box .checklist{margin-top:10px}
.price-box p{font-size:14.5px;color:var(--text-muted)}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.req{color:var(--orange-strong)}
.field-error{display:none;font-size:12.5px;color:var(--red);margin-top:5px;font-weight:500}
.form-group.has-error .field-error{display:block}
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--red)}
.form-status{margin-top:16px;font-size:14px;border-radius:var(--r);padding:14px 18px;display:none}
.form-status.is-shown{display:block}
.form-status.is-ok{background:var(--green-soft);border:1px solid #cdebd9;color:#0b7a44}
.form-status.is-error{background:var(--red-soft);border:1px solid #f6c9c4;color:var(--red)}
.form-status a{text-decoration:underline;font-weight:600}
.btn[disabled],.btn[aria-busy="true"]{opacity:.7;cursor:progress}
.btn .spinner{width:16px;height:16px;border-color:rgba(255,255,255,.45);border-top-color:#fff}
.form-privacy{font-size:12.5px;color:var(--text-muted);margin-top:14px}
.form-privacy a{color:var(--orange-strong);font-weight:600}
.noscript-box{background:var(--amber-soft);border-left:3px solid var(--amber);border-radius:6px;padding:12px 16px;font-size:14px;margin-bottom:18px;color:var(--text)}
.noscript-box a{color:var(--orange-strong);font-weight:600}

/* ---------- Preguntas frecuentes (details/summary) ---------- */
summary.faq-question{list-style:none;display:block}
summary.faq-question::-webkit-details-marker{display:none}
summary.faq-question:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:4px}

/* ---------- Pie ---------- */
.footer-col a .icon{width:14px;height:14px;margin-right:4px}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .services-grid.cols-3,.law-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .law-banner{grid-template-columns:1fr}
  .law-countdown{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .page-hero.split .page-hero-content{max-width:none}
}
@media(max-width:768px){
  .page-hero{padding:104px 0 48px}
  .services-grid.cols-3,.law-grid,.process-grid.cols-4{grid-template-columns:1fr}
  .law-card.span-2{grid-column:auto}
  .fines{grid-template-columns:1fr}
  .law-banner-text,.law-countdown{padding:28px 24px}
  .contact-form{padding:26px 20px}
  .price-box{padding:24px 20px}
  .subsection-head{margin-top:44px}
  .section-subtitle{font-size:16.5px}
  .hero-buttons .btn,.page-hero .hero-buttons .btn{flex:1 1 auto;justify-content:center}
}
@media(max-width:420px){
  .container{padding:0 18px}
  .dlp-mock-body{padding:14px;gap:14px}
  .dlp-tile{padding:10px}
  .dlp-tile-value{font-size:20px}
  .dlp-tile-label{font-size:9.5px;letter-spacing:.03em}
  .dlp-bar{grid-template-columns:78px minmax(0,1fr) 38px;gap:8px}
  .dlp-file-card{grid-template-columns:40px minmax(0,1fr);row-gap:8px}
  .dlp-file-card .risk{grid-column:2;justify-self:start}
  .dlp-file-ext{width:40px;height:40px}
  .btn{white-space:normal;text-align:center;line-height:1.25}
}

/* ---------- Botón flotante en móvil ---------- */
/* Se oculta cuando taparía el menú, el formulario o un campo en edición. */
.sticky-cta{transition:transform .25s ease,opacity .25s ease,visibility .25s}
body.menu-open .sticky-cta,body.cta-off .sticky-cta{transform:translateY(140%);opacity:0;visibility:hidden;pointer-events:none}

/* ---------- Maqueta del panel en pantallas angostas ---------- */
/* Nada se corta con puntos suspensivos: los textos bajan de línea. */
@media(max-width:520px){
  .hero-live-pill{flex-wrap:wrap;row-gap:2px;border-radius:18px;line-height:1.35}
  .dlp-tile-label{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;min-height:2.5em}
  .dlp-bar-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .dlp-table{table-layout:auto}
  .dlp-table th,.dlp-table td{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;width:auto}
  .dlp-table th:nth-child(1),.dlp-table td:nth-child(1){width:auto}
  .dlp-table th:nth-child(2),.dlp-table td:nth-child(2){width:auto}
  .dlp-table th:nth-child(3),.dlp-table td:nth-child(3){width:1%;white-space:nowrap}
  .dlp-table .mono{font-size:11px}
  .dlp-mock-url{white-space:normal;overflow:visible;text-overflow:clip;border-radius:12px}
}

/* ---------- Movimiento reducido ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html.js .reveal,html.js .reveal-stagger > *{opacity:1;transform:none}
  .service-card:hover,.plan-card:hover{transform:none}
}

/* ---------- Sección "El panel": capturas reales de la consola ---------- */
.panel-section{background:var(--bg-dark);color:#cbd5e1;overflow:hidden}
.panel-section .section-tag{color:#fdba8c}
.panel-section .section-title{color:#fff}
.panel-section .section-subtitle{color:#cbd5e1}
.panel-viewer{max-width:1060px;margin:0 auto;min-width:0}
.panel-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px}
.panel-tab{appearance:none;border:1px solid rgba(255,255,255,.22);background:transparent;color:#e2e8f0;font:inherit;font-weight:600;font-size:15px;line-height:1.2;padding:12px 22px;min-height:46px;border-radius:50px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.panel-tab:hover{border-color:rgba(255,255,255,.5)}
.panel-tab.is-active{background:var(--orange);border-color:var(--orange);color:#fff}
.panel-tab:focus-visible,.panel-shot:focus-visible{outline:3px solid #fdba8c;outline-offset:3px}
.panel-shot{margin:0;min-width:0}
.panel-shot + .panel-shot{margin-top:56px}
html.js .panel-shot{display:none}
html.js .panel-shot.is-active{display:block}
html.js .panel-shot + .panel-shot{margin-top:0}
.panel-stage{position:relative;padding:0 9% 44px 0}
.browser-frame{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12)}
.browser-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#eef1f6;border-bottom:1px solid var(--border)}
.browser-dots{display:flex;gap:6px;flex-shrink:0}
.browser-dots i{width:10px;height:10px;border-radius:50%;background:#c9cfd9;display:block}
.browser-url{flex:1;min-width:0;background:#fff;border:1px solid var(--border);border-radius:50px;padding:4px 14px;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browser-frame img,.phone-frame img{display:block;width:100%;height:auto}
.phone-frame{position:absolute;right:0;bottom:0;width:21%;min-width:150px;background:#0b1220;border-radius:26px;padding:7px;box-shadow:0 26px 60px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18)}
.phone-frame img{border-radius:20px}
.panel-shot figcaption{margin:26px auto 0;max-width:760px;text-align:center;font-size:16px;line-height:1.6;color:#cbd5e1}
.panel-shot figcaption strong{color:#fff}
.panel-note{margin:22px 0 0;text-align:center;font-size:13px;color:#94a3b8}
@media(max-width:900px){
  /* En pantallas angostas la captura de escritorio sería ilegible: se muestra la versión móvil de la consola. */
  .panel-stage{padding:0;display:flex;justify-content:center}
  .browser-frame{display:none}
  .phone-frame{position:static;width:min(76vw,320px);min-width:0;border-radius:30px;padding:8px}
  .phone-frame img{border-radius:23px}
  .panel-tabs{gap:8px;margin-bottom:22px}
  .panel-tab{flex:1 1 auto;padding:12px 14px;font-size:14.5px}
  .panel-shot figcaption{font-size:15px;margin-top:20px}
}
