/* PSM – Política de privacidad. Solo en templates/page-privacy.php. Prefijo: .psm-privacy- */
.psm-privacy { overflow-x: clip; }
.psm-privacy-hero { position: relative; color: #fff; background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 100% 28px,
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 28px 100%,
    linear-gradient(120deg, #0B1626 0%, #0E1B2D 55%, #13294A 100%); }
.psm-privacy-hero-inner { padding-top: 32px; padding-bottom: 48px; max-width: 1180px; }
.psm-privacy-eyebrow { position: relative; margin: 0 0 12px; padding-left: 26px; font-size: .8125rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.psm-privacy-eyebrow::before { content: ""; position: absolute; left: 5px; top: 50%; width: 5px; height: 20px; background: var(--psm-performance-amber); transform: translateY(-50%) skewX(-22deg); }
.psm-privacy-title { margin: 0; max-width: 22ch; font-family: var(--font-headings); font-weight: 700; font-size: clamp(1.875rem, 3.4vw, 2.75rem); line-height: 1.12; letter-spacing: -.015em; color: #fff; }
.psm-privacy-lead { margin: 18px 0 0; max-width: 62ch; font-size: 1.0625rem; line-height: 1.55; color: rgba(255,255,255,.9); }

.psm-privacy-body { background: #fff; padding: 48px 0 40px; }
.psm-privacy-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; max-width: 1180px; align-items: start; }
.psm-privacy-layout.no-toc { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
.psm-privacy-toc { position: sticky; top: calc(var(--header-height-sticky) + 24px); padding: 18px 20px; border: 1px solid #E3E8EE; border-radius: 6px; background: #F8FAFC; }
.psm-privacy-toc-title { margin: 0 0 10px; font-family: var(--font-headings); font-weight: 700; font-size: .9375rem; color: var(--psm-deep-navy); }
.psm-privacy-toc ol { margin: 0; padding-left: 20px; font-size: .8125rem; line-height: 1.45; color: var(--psm-technical-gray); }
.psm-privacy-toc li { margin-bottom: 6px; }
.psm-privacy-toc a { color: var(--psm-deep-navy); }
.psm-privacy-toc a:hover { color: var(--psm-industrial-blue); text-decoration: underline; }
.psm-privacy-document { max-width: 820px; }
.psm-privacy-intro { margin: 0 0 20px; padding: 14px 18px; border-left: 4px solid var(--psm-performance-amber); background: #FFFBEF; font-size: 1rem; color: var(--psm-deep-navy); }
.psm-privacy-content { font-size: 1rem; line-height: 1.7; color: #3A4A5E; }
.psm-privacy-content p { margin: 0 0 14px; }
.psm-privacy-content h2 { margin: 36px 0 12px; padding-top: 18px; border-top: 1px solid #E3E8EE; font-family: var(--font-headings); font-size: 1.375rem; line-height: 1.3; color: var(--psm-deep-navy); scroll-margin-top: calc(var(--header-height-sticky) + 20px); }
.psm-privacy-content h3 { margin: 24px 0 8px; font-size: 1.125rem; color: var(--psm-deep-navy); }
.psm-privacy-content ul, .psm-privacy-content ol { margin: 0 0 16px; padding-left: 22px; }
.psm-privacy-content li { margin-bottom: 6px; }
.psm-privacy-content a { color: var(--psm-industrial-blue); text-decoration: underline; text-underline-offset: 2px; }
.psm-privacy-data { margin: 8px 0 18px; padding: 14px 18px; border: 1px solid #E3E8EE; border-radius: 6px; background: #F8FAFC; }
.psm-privacy-data-row { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; padding: 6px 0; border-bottom: 1px solid #EDF1F5; }
.psm-privacy-data-row:last-child { border-bottom: 0; }
.psm-privacy-data dt { font-weight: 600; color: var(--psm-deep-navy); }
.psm-privacy-data dd { margin: 0; overflow-wrap: anywhere; }
.psm-privacy-updated { margin: 28px 0 0; padding-top: 16px; border-top: 1px solid #E3E8EE; font-size: .875rem; font-weight: 600; color: var(--psm-technical-gray); }

.psm-privacy-contact { background: #F3F7FB; padding: 40px 0 56px; }
.psm-privacy-contact-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; max-width: 1180px; padding: 30px 32px; background: #fff; border: 1px solid #E3E8EE; border-radius: 6px; }
.psm-privacy-contact h2 { margin: 0 0 10px; font-family: var(--font-headings); font-size: 1.5rem; color: var(--psm-deep-navy); }
.psm-privacy-contact p { margin: 0; color: #4A5563; line-height: 1.55; }
.psm-privacy-contact-btn { margin-top: 20px; gap: 8px; }
.psm-privacy-contact-data .psm-privacy-data { margin: 0; }

@media (max-width: 1024px) {
    .psm-privacy-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .psm-privacy-toc { position: static; }
    .psm-privacy-toc ol { columns: 2; column-gap: 28px; }
    .psm-privacy-contact-card { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .psm-privacy-hero-inner { padding-top: 22px; padding-bottom: 34px; }
    .psm-privacy-eyebrow { letter-spacing: .2em; font-size: .75rem; }
    .psm-privacy-title { font-size: 1.75rem; }
    .psm-privacy-lead { font-size: 1rem; }
    .psm-privacy-body { padding: 28px 0 24px; }
    .psm-privacy-toc ol { columns: 1; }
    .psm-privacy-content { font-size: .9688rem; }
    .psm-privacy-content h2 { font-size: 1.1875rem; margin-top: 28px; }
    .psm-privacy-data-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .psm-privacy-contact { padding: 28px 0 88px; }
    .psm-privacy-contact-card { padding: 22px 18px; }
    .psm-privacy-contact-btn { width: 100%; justify-content: center; }
}
