/* DocuListo audit fixes + mobile UX polish. */
.nav.mobile-open{display:flex;position:absolute;z-index:40;top:72px;left:12px;right:12px;padding:14px;flex-direction:column;align-items:stretch;gap:8px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px rgba(19,24,39,.14);backdrop-filter:blur(18px)}
.nav.mobile-open a{padding:13px 14px;border-radius:12px}.nav.mobile-open a:hover{background:#f6f6f9}.nav.mobile-open .nav-button{text-align:center}
.dropzone{touch-action:manipulation;min-height:245px}
.select-file-button,.primary-button,.remove-file,.age-check input{min-height:44px}
.age-check{padding:8px 0;display:flex;align-items:flex-start;gap:9px}
.age-check input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;accent-color:var(--accent)}
.file-icon.has-preview{background-size:cover;background-position:center;background-repeat:no-repeat}
.retry-button{margin-top:14px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:11px;padding:11px 14px;font-weight:800;cursor:pointer;min-height:44px}
.retry-button:hover{border-color:#bdb9ff;background:#f8f8ff}
@media(max-width:900px){
  .site-header{position:relative;z-index:45}
  .nav.mobile-open{display:flex}
  .dropzone{min-height:260px}
  .menu-button{min-width:44px;min-height:44px;border-radius:12px}
  .menu-button:focus-visible{outline:3px solid rgba(99,91,255,.25);outline-offset:2px}
  .hero{align-items:start}
  .hero-copy{padding-top:25px}
  .upload-card{width:100%}
}
@media(max-width:560px){
  body{overflow-x:hidden}
  .site-header,.hero,.trust-strip,.section,.callout,.site-footer{width:calc(100% - 24px)}
  .site-header{height:70px}
  .brand{font-size:19px}
  .hero{gap:22px;margin-top:4px}
  .hero-copy{padding-top:24px}
  .eyebrow{margin-bottom:17px;padding:7px 10px;font-size:11px}
  .hero h1{font-size:clamp(43px,13vw,55px);line-height:.95;margin-bottom:19px;letter-spacing:-.06em}
  .hero-text{font-size:15.5px;line-height:1.6;margin-bottom:19px}
  .hero-points{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}
  .hero-points span{padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#fff}
  .upload-card{padding:15px;border-radius:22px;box-shadow:0 18px 48px rgba(19,24,39,.08)}
  .upload-card-top{align-items:center;margin-bottom:13px}
  .upload-card h2{font-size:21px}
  .lock-pill{font-size:10px;padding:6px 8px}
  .dropzone{min-height:235px;padding:17px;border-radius:18px}
  .upload-icon{width:50px;height:50px;border-radius:15px;margin-bottom:12px}
  .dropzone strong{font-size:15px}
  .dropzone>span{font-size:13px}
  .dropzone small{font-size:10px;margin-top:11px}
  .select-file-button{width:100%;min-height:48px;margin-top:11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-weight:800}
  .file-state{grid-template-columns:34px 1fr auto;padding:11px 12px}
  .primary-button{min-height:52px;border-radius:13px;margin-top:12px}
  .age-check{font-size:11.5px;line-height:1.45}
  .privacy-note{font-size:10px;line-height:1.5}
  .trust-strip{margin:25px auto 20px;border-radius:16px;overflow:hidden;background:#fff}
  .trust-strip div{padding:13px 10px;gap:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .trust-strip div:nth-child(even){border-right:0}.trust-strip div:nth-child(n+3){border-bottom:0}
  .trust-strip strong{font-size:10px}.trust-strip span{font-size:11px}
  .section{padding:52px 0}
  .section-heading{gap:18px;margin-bottom:27px}
  .section-heading h2{font-size:34px;line-height:1.03}
  .section-heading>p{font-size:14px;line-height:1.6}
  .steps-grid{gap:10px}
  .step-card{min-height:0;padding:19px;border-radius:17px}
  .step-card h3{font-size:21px;margin:25px 0 7px}
  .step-card p{font-size:13px;line-height:1.55}
  .chips{gap:7px;margin-top:20px}.chips span{padding:9px 11px;font-size:11px}
  .muted-section{padding-top:8px;padding-bottom:60px}
  .callout{padding:28px 21px;border-radius:21px;margin-bottom:35px;gap:20px}
  .callout h2{font-size:34px}.callout>p{font-size:14px;line-height:1.65}
  .faq-section{padding-top:20px}.faq{margin-top:20px}details{padding:17px 0}summary{font-size:14px;padding-right:20px}details p{font-size:13px;line-height:1.6}
  .site-footer{padding:34px 0 45px;gap:22px}.footer-links{gap:10px 17px;font-size:12px}
  .analysis-success,.analysis-error{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.nav.mobile-open{scroll-behavior:auto}}

/* Small interaction polish */
.select-file-button,.primary-button,.nav-button,.menu-button,.retry-button{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.select-file-button:active,.primary-button:not(:disabled):active,.nav-button:active,.retry-button:active{transform:scale(.985)}
.select-file-button:focus-visible,.primary-button:focus-visible,.retry-button:focus-visible,.nav-button:focus-visible{outline:3px solid rgba(99,91,255,.22);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Technical SEO: visible breadcrumb navigation */
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:0 0 24px;
  color:#8b919c;
  font-size:11px;
  line-height:1.4;
}
.breadcrumbs a{
  color:#5f6670;
  text-decoration:none;
}
.breadcrumbs a:hover{
  color:var(--text);
  text-decoration:underline;
  text-underline-offset:3px;
}
.breadcrumbs span[aria-hidden="true"]{
  color:#b5bac2;
}
.breadcrumbs>span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:560px){
  .breadcrumbs{margin-bottom:18px;font-size:10.5px}
}
