/*
  PDFPrivado - utilidades locales tipo Tailwind.
  Objetivo: mantener la apariencia sin cargar Tailwind CDN eliminado: CSS local offline.
  No cubre todo Tailwind; cubre las clases usadas actualmente por las plantillas.
*/
*, ::before, ::after { box-sizing: border-box; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif; }
a { color: inherit; }
img, video, canvas, svg { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

/* Layout */
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}
.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}
.flex-1{flex:1 1 0%}.flex-2{flex:2 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}
.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}
.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Position */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.inset-0{inset:0}.right-0{right:0}.left-1\/2{left:50%}.right-1\/2{right:50%}.top-\[80\%\]{top:80%}
.z-10{z-index:10}.z-50{z-index:50}

/* Sizing */
.w-full{width:100%}.w-screen{width:100vw}.w-4{width:1rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-40{width:10rem}
.h-full{height:100%}.h-auto{height:auto}.h-4{height:1rem}.h-5{height:1.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-64{height:16rem}
.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.min-w-0{min-width:0}.min-w-\[150px\]{min-width:150px}.min-w-\[280px\]{min-width:280px}
.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[400px\]{max-width:400px}.max-w-\[1920px\]{max-width:1920px}

/* Spacing */
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:2rem;margin-bottom:2rem}
.-mx-\[50vw\]{margin-left:-50vw;margin-right:-50vw}.-mt-8{margin-top:-2rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-20{margin-bottom:5rem}
.ml-3{margin-left:.75rem}
.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-16{padding:4rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}
.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-16{padding-top:4rem}
.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-y-6{row-gap:1.5rem}
.space-x-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem}.space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem}

/* Typography */
.text-left{text-align:left}.text-center{text-align:center}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}
.leading-6{line-height:1.5rem}.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}.Bill-relaxed{line-height:1.625}
.tracking-tight{letter-spacing:-.025em}.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Colors */
.bg-white{background:#fff}.bg-gray-50{background:#f9fafb}.bg-gray-800{background:#1f2937}.bg-gray-900{background:#111827}
.bg-red-50{background:#fef2f2}.bg-red-100{background:#fee2e2}.bg-red-600{background:#dc2626}.bg-blue-400{background:#60a5fa}.bg-blue-600{background:#2563eb}.bg-green-50{background:#f0fdf4}
.bg-blue-50\/50{background:rgba(239,246,255,.5)}.bg-black\/40{background:rgba(0,0,0,.4)}.bg-gray-900\/65{background:rgba(17,24,39,.65)}.bg-gray-900\/80{background:rgba(17,24,39,.8)}.bg-white\/10{background:rgba(255,255,255,.1)}.bg-yellow-500\/20{background:rgba(234,179,8,.2)}
[class~="bg-[#0f172a]"]{background:#0f172a}
.text-white{color:#fff}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-red-400{color:#f87171}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-800{color:#991b1b}.text-green-400{color:#4ade80}.text-green-800{color:#166534}.text-blue-900{color:#1e3a8a}.text-yellow-300{color:#fde047}
[class~="text-[#64748b]"]{color:#64748b}[class~="text-[#94a3b8]"]{color:#94a3b8}[class~="text-[#cbd5e1]"]{color:#cbd5e1}[class~="text-[#fcd34d]"]{color:#fcd34d}

/* Borders and radius */
.border{border-width:1px;border-style:solid;border-color:#e5e7eb}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-t-4{border-top-width:4px}.border-l-4{border-left-width:4px}
.border-dashed{border-style:dashed}.border-transparent{border-color:transparent}.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-gray-400{border-color:#9ca3af}.border-red-400{border-color:#f87171}.border-green-400{border-color:#4ade80}.border-blue-100{border-color:#dbeafe}
.border-white\/10{border-color:rgba(255,255,255,.1)}.border-white\/20{border-color:rgba(255,255,255,.2)}.border-gray-700\/50{border-color:rgba(55,65,81,.5)}.border-yellow-500\/40{border-color:rgba(234,179,8,.4)}
[class~="border-[#1e293b]"]{border-color:#1e293b}[class~="border-[#3b82f6]"]{border-color:#3b82f6}
.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}

/* Effects */
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.shadow-inner{box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}
.opacity-80{opacity:.8}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}
.backdrop-blur-sm{backdrop-filter:blur(4px)}.backdrop-blur-md{backdrop-filter:blur(12px)}.backdrop-blur-\[2px\]{backdrop-filter:blur(2px)}
.drop-shadow-lg{filter:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}
.drop-shadow-\[0_2px_2px_rgba\(0\,0\,0\,1\)\]{filter:drop-shadow(0 2px 2px rgba(0,0,0,1))}
.drop-shadow-\[0_4px_4px_rgba\(0\,0\,0\,0\.9\)\]{filter:drop-shadow(0 4px 4px rgba(0,0,0,.9))}

/* Forms and interactions */
.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s}
.transition-all{transition:all .15s}.transition-colors{transition-property:color,background-color,border-color;text-decoration-color;transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-duration:.15s}
.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.transform{transform:translateZ(0)}
.ring-1{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.ring-inset{box-shadow:inset 0 0 0 1px currentColor}.ring-gray-300{--tw-ring-color:#d1d5db}

.hover\:bg-red-700:hover{background:#b91c1c}.hover\:bg-blue-500:hover{background:#3b82f6}.hover\:bg-blue-700:hover{background:#1d4ed8}.hover\:bg-gray-50:hover{background:#f9fafb}.hover\:bg-gray-100:hover{background:#f3f4f6}.hover\:bg-gray-900:hover{background:#111827}
.hover\:text-red-600:hover{color:#dc2626}.hover\:underline:hover{text-decoration:underline}.hover\:opacity-100:hover{opacity:1}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
[class~="hover:text-[#60a5fa]"]:hover{color:#60a5fa}[class~="hover:text-[#fbbf24]"]:hover{color:#fbbf24}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:border-red-500:focus{border-color:#ef4444}.focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(239,68,68,.35)}.focus\:ring-offset-2:focus{outline-offset:2px}.focus\:ring-red-500:focus{--tw-ring-color:#ef4444}
.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}

/* Background helpers */
.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-fixed{background-attachment:fixed}.bg-no-repeat{background-repeat:no-repeat}.object-cover{object-fit:cover}
.privacy-hero-bg{
  background-image:
    radial-gradient(circle at 20% 20%, rgba(239,68,68,.32), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(59,130,246,.30), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #1e293b 48%, #111827 100%);
}

/* Language selector */
.group:hover .group-hover\:block{display:block}
.group:hover .group-hover\:bg-red-50{background:#fef2f2}
.language-selector.language-open .language-menu{display:block}

/* Prose/legal */
.prose{max-width:65ch;color:#374151}.prose h1,.prose h2,.prose h3{color:#111827}.prose p{margin-top:1em;margin-bottom:1em}.prose ul{list-style:disc;padding-left:1.5rem}.prose li{margin:.4rem 0}.prose-red a{color:#dc2626}

/* Responsive utilities */
@media (min-width:640px){
  .sm\:-mt-12{margin-top:-3rem}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0}.sm\:ml-4{margin-left:1rem}
  .sm\:p-0{padding:0}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pb-4{padding-bottom:1rem}
  .sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:h-10{height:2.5rem}.sm\:w-10{width:2.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}
  .sm\:text-left{text-align:left}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
}
@media (min-width:768px){
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
}
@media (min-width:1024px){
  .lg\:flex-row{flex-direction:row}.lg\:gap-6{gap:1.5rem}.lg\:gap-8{gap:2rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:justify-start{justify-content:flex-start}
  .lg\:mt-0{margin-top:0}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:max-w-md{max-width:28rem}
  .lg\:text-left{text-align:left}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}
}
@media (min-width:1280px){
  .xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* Small global polish */
.bg-white.shadow-sm.border-b.border-gray-200 { background:#fff; }
main.flex-grow { width:100%; }
