/* CSS de politica-de-privacidad */

:root {
--navy:    #0A1628;
--blue:    #1D6FFF;
--blue2:   #2563EB;
--grn:     #10B981;
--grndk:   #059669;
--lt:      #F4F8FF;
--tm:      #475569;
--td:      #64748B;
--brd:     #E2E8F0;
--fd: 'Playfair Display', serif;
--fb: 'DM Sans', sans-serif;
--fm: 'Space Mono', monospace;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { font-family: var(--fb); color: #1F2937; background: #FFFFFF; -webkit-font-smoothing: antialiased; line-height: 1.7; }

/* HEADER */

@keyframes bpm { 0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(16,185,129,0.9); } 45% { transform: scale(1.3); box-shadow: 0 0 0 14px rgba(16,185,129,0); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(16,185,129,0); } }

.back-home { color: #94A3B8; text-decoration: none; font-size: 0.85rem; font-weight: 600; display: flex; align-items: center; gap: 6px; transition: color 0.2s; }

.back-home:hover { color: #FFFFFF; }

/* HERO */

.pp-hero {
background: linear-gradient(135deg, var(--navy) 0%, #0F2540 60%, #1a2c5b 100%);
padding: 120px 5% 80px;
text-align: center;
border-radius: 0 0 40px 40px;
margin-bottom: 60px;
position: relative;
overflow: hidden;
}

.pp-hero::after {
content: '🔒';
font-size: 16rem;
position: absolute;
bottom: -40px; right: -30px;
opacity: 0.04;
pointer-events: none;
}

.pp-hero-badge {
display: inline-block;
background: rgba(16,185,129,0.15);
border: 1px solid rgba(16,185,129,0.4);
color: #A7F3D0;
padding: 7px 20px;
border-radius: 50px;
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 22px;
}

.pp-hero h1 {
font-family: var(--fd);
font-size: clamp(2rem, 6vw, 3.5rem);
color: #FFFFFF;
margin-bottom: 16px;
font-weight: 800;
}

.pp-hero p {
color: #94A3B8;
font-size: 1rem;
max-width: 600px;
margin: 0 auto;
}

.pp-hero .update-date {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.12);
color: #CBD5E1;
padding: 8px 18px;
border-radius: 50px;
font-size: 0.8rem;
font-family: var(--fm);
margin-top: 24px;
}

/* LAYOUT */

.pp-layout {
max-width: 880px;
margin: 0 auto;
padding: 0 5% 80px;
}

/* ÍNDICE */

.pp-index {
background: var(--lt);
border: 2px solid var(--brd);
border-radius: 20px;
padding: 32px 36px;
margin-bottom: 50px;
}

.pp-index h3 {
font-family: var(--fd);
color: var(--navy);
font-size: 1.1rem;
margin-bottom: 18px;
display: flex;
align-items: center;
gap: 10px;
}

.pp-index ol {
padding-left: 20px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px 30px;
}

.pp-index li { font-size: 0.88rem; color: var(--tm); }

.pp-index a { color: var(--blue2); text-decoration: none; font-weight: 600; transition: color 0.2s; }

.pp-index a:hover { color: var(--blue); text-decoration: underline; }

@media (max-width: 600px) { .pp-index ol { grid-template-columns: 1fr; } }

/* SECCIONES */

.pp-section {
margin-bottom: 48px;
scroll-margin-top: 80px;
}

.pp-section h2 {
font-family: var(--fd);
font-size: 1.5rem;
color: var(--navy);
margin-bottom: 16px;
padding-bottom: 10px;
border-bottom: 2px solid var(--brd);
display: flex;
align-items: center;
gap: 10px;
}

.pp-section h3 {
font-size: 1.05rem;
color: var(--blue2);
margin: 20px 0 10px;
font-weight: 700;
}

.pp-section p {
font-size: 0.95rem;
color: var(--tm);
margin-bottom: 14px;
line-height: 1.85;
}

.pp-section ul, .pp-section ol {
padding-left: 22px;
margin-bottom: 14px;
}

.pp-section li {
font-size: 0.93rem;
color: var(--tm);
margin-bottom: 8px;
line-height: 1.7;
}

.pp-section strong { color: #1F2937; }

/* CAJAS ESPECIALES */

.pp-highlight {
background: linear-gradient(135deg, #F0FDF4, #DCFCE7);
border: 2px solid #86EFAC;
border-radius: 16px;
padding: 24px 28px;
margin: 20px 0;
}

.pp-highlight p { color: #166534; margin-bottom: 0; font-weight: 600; }

.pp-highlight strong { color: #14532D; }

.pp-warn {
background: #FEF9C3;
border: 2px solid #FDE047;
border-radius: 16px;
padding: 22px 28px;
margin: 20px 0;
display: flex;
gap: 14px;
align-items: flex-start;
}

.pp-warn-icon { font-size: 1.5rem; flex-shrink: 0; }

.pp-warn p { color: #713F12; font-size: 0.9rem; margin-bottom: 0; }

.pp-info-box {
background: #EFF6FF;
border: 2px solid #BFDBFE;
border-radius: 16px;
padding: 24px 28px;
margin: 20px 0;
}

.pp-info-box p { color: #1E40AF; margin-bottom: 6px; font-size: 0.9rem; }

.pp-info-box p:last-child { margin-bottom: 0; }

.pp-legal-ref {
background: #F8FAFC;
border-left: 4px solid var(--blue);
border-radius: 0 10px 10px 0;
padding: 14px 18px;
margin: 16px 0;
font-size: 0.83rem;
color: var(--td);
font-family: var(--fm);
line-height: 1.6;
}

/* TABLA DATOS */

.pp-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
font-size: 0.88rem;
border-radius: 12px;
overflow: hidden;
border: 1px solid var(--brd);
}

.pp-table thead { background: var(--navy); color: white; }

.pp-table th { padding: 14px 16px; text-align: left; font-weight: 700; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; }

.pp-table td { padding: 13px 16px; border-bottom: 1px solid var(--brd); color: var(--tm); vertical-align: top; }

.pp-table tr:last-child td { border-bottom: none; }

.pp-table tr:nth-child(even) td { background: #F8FAFC; }

/* DERECHOS ARCO */

.arco-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 16px;
margin: 20px 0;
}

.arco-card {
background: white;
border: 2px solid var(--brd);
border-radius: 16px;
padding: 22px 18px;
text-align: center;
transition: border-color 0.2s, transform 0.2s;
}

.arco-card:hover { border-color: var(--blue); transform: translateY(-3px); }

.arco-letter {
font-family: var(--fd);
font-size: 2.2rem;
font-weight: 800;
color: var(--blue2);
display: block;
margin-bottom: 8px;
}

.arco-name { font-weight: 800; font-size: 0.88rem; color: var(--navy); margin-bottom: 6px; }

.arco-desc { font-size: 0.78rem; color: var(--td); line-height: 1.5; }

/* CONTACTO FINAL */

.pp-contact-box {
background: linear-gradient(135deg, var(--navy), #0F2540);
border-radius: 24px;
padding: 40px;
text-align: center;
margin-top: 60px;
position: relative;
overflow: hidden;
}

.pp-contact-box::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
background: linear-gradient(90deg, var(--blue), var(--grn), var(--blue));
}

.pp-contact-box h3 { font-family: var(--fd); color: white; font-size: 1.5rem; margin-bottom: 10px; }

.pp-contact-box p { color: #94A3B8; font-size: 0.9rem; margin-bottom: 24px; }

.pp-contact-items { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }

.pp-contact-item { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: 12px; padding: 14px 22px; color: #CBD5E1; font-size: 0.88rem; font-weight: 600; }

.pp-contact-item a { color: #60A5FA; text-decoration: none; }

.pp-contact-item a:hover { color: #93C5FD; }

/* FOOTER */

/* WA FLOAT */




@media (max-width: 640px) {
.pp-contact-items { flex-direction: column; align-items: center; }
}