/* Правни страници (общи условия, поверителност, бисквитки): Material 3 */

.legal-hero { position: relative; overflow: hidden; padding-block: clamp(40px, 7vw, 88px) clamp(24px, 4vw, 48px); }
.legal-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.legal-hero h1 { max-width: 16ch; }
@media (min-width: 720px) { .legal-hero h1 { max-width: 20ch; } }

.legal { padding-top: clamp(16px, 3vw, 32px); }
.legal__grid { display: grid; gap: 28px; align-items: start; }
@media (min-width: 1000px) {
  .legal__grid { grid-template-columns: 300px minmax(0, 1fr); gap: 56px; }
  .legal-toc { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow-y: auto; }
}

/* Съдържание */
.legal-toc__card { background: var(--md-surface-container-low); border-radius: var(--r-xl); padding: 20px 12px 12px; }
.legal-toc__card h2 { padding: 0 16px 8px; color: var(--md-on-surface-variant); }
.legal-toc ul { display: grid; gap: 2px; }
@media (min-width: 560px) and (max-width: 999px) { .legal-toc ul { grid-template-columns: 1fr 1fr; } }
.privacy-nav-link {
  display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 16px 6px 12px;
  border-radius: var(--r-full); color: var(--md-on-surface-variant); font-weight: 500; font-size: 0.9375rem; line-height: 1.3;
  position: relative; overflow: hidden; isolation: isolate; transition: background-color var(--dur-m), color var(--dur-m);
}
.privacy-nav-link::before { content: ""; position: absolute; inset: 0; background: currentColor; opacity: 0; transition: opacity var(--dur-s); z-index: -1; }
.privacy-nav-link:hover::before { opacity: 0.08; }
.privacy-nav-link .ms { font-size: 22px; color: var(--md-primary); }
.privacy-nav-link[aria-current] { background: var(--md-secondary-container); color: var(--md-on-secondary-container); font-weight: 600; }

.legal-updated { margin-bottom: 36px; }

/* Четивен слой */
.legal-main { min-width: 0; max-width: 860px; }
.prose { color: var(--md-on-surface); }
.prose a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; word-break: break-word; }
.prose a:hover { text-decoration-thickness: 2px; }
.prose strong { font-weight: 600; }
.prose .mt-3 { margin-top: 12px; }
.prose .mt-4 { margin-top: 16px; }
.prose .mt-8 { margin-top: 32px; }

.privacy-section { scroll-margin-top: 96px; margin-bottom: clamp(48px, 6vw, 72px); border-radius: var(--r-xl); }
.section-header { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.section-header h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; }
.section-icon { width: 52px; height: 52px; flex: none; display: grid; place-items: center; background: var(--md-primary-container); color: var(--md-on-primary-container); border-radius: 18px; }
.section-icon .ms { font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24; }
.privacy-section:nth-of-type(even) .section-icon { background: var(--md-secondary-container); color: var(--md-on-secondary-container); border-radius: 50%; }

.privacy-content > p, .privacy-content p { font-size: 1.0625rem; line-height: 1.7; margin: 0 0 16px; max-width: 72ch; }
.privacy-content h3 { font-size: 1.375rem; line-height: 1.3; font-weight: 600; margin: 36px 0 12px; }
.privacy-content h4 { font-size: 1rem; line-height: 1.5; font-weight: 600; margin: 0 0 4px; }
.privacy-content ul:not(.privacy-list):not(.privacy-nav):not([class]) { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.privacy-content ul:not([class]) li { padding: 2px 0; line-height: 1.6; }

/* Списъци с икони */
.privacy-list { display: grid; gap: 4px; margin: 0 0 20px; max-width: 72ch; }
.privacy-list li { display: flex; align-items: flex-start; gap: 14px; padding: 8px 0; line-height: 1.6; }
.list-icon { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--md-secondary-container); color: var(--md-on-secondary-container); margin-top: -2px; }
.list-icon .ms { font-size: 18px; }

/* Информационни кутии */
.info-box, .warning-box { display: flex; gap: 16px; align-items: flex-start; border-radius: var(--r-xl); padding: 20px 24px; margin: 24px 0; }
.info-box { background: var(--md-secondary-container); color: var(--md-on-secondary-container); }
.warning-box { background: var(--md-tertiary-container); color: var(--md-on-tertiary-container); }
.info-icon, .warning-icon { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; }
.info-icon { background: var(--md-primary); color: var(--md-on-primary); }
.warning-icon { background: var(--md-tertiary); color: var(--md-on-tertiary); }
.info-content, .warning-content { min-width: 0; }
.info-box p, .warning-box p { font-size: 1rem; line-height: 1.65; margin: 0 0 12px; }
.info-box p:last-child, .warning-box p:last-child { margin-bottom: 0; }
.info-box h4, .warning-box h4 { font-size: 1.0625rem; margin-bottom: 6px; }
.info-box a { color: inherit; font-weight: 600; }

/* Списък в информационна кутия */
.info-list { list-style: disc; padding-left: 22px; margin: 0 0 12px; }
.info-list li { padding: 2px 0; line-height: 1.6; }

/* Карти и мрежи */
.definitions-list, .services-grid, .privacy-grid, .security-measures, .rights-cards, .cookie-management, .browser-management, .third-party-services, .cookies-types, .share-categories { display: grid; gap: 12px; margin: 8px 0 24px; }
.services-grid, .rights-cards { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.cookie-management, .privacy-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.browser-management { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.security-measures { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
.definitions-list { gap: 8px; }

.definition-item, .service-card, .privacy-grid-item, .security-measure, .rights-card, .cookie-browser, .browser-card, .third-party-service, .cookie-type, .share-category {
  background: var(--md-surface-container-low); border-radius: var(--r-xl); padding: 20px 24px;
}
.definition-item { background: transparent; border: 1px solid var(--md-outline-variant); border-radius: var(--r-lg); padding: 16px 20px; }
.definition-item h4 { color: var(--md-primary); }
.definition-item p, .service-card p, .security-measure p, .rights-card p, .cookie-browser p, .browser-card p, .share-category p, .third-party-service p, .cookie-type p { font-size: 0.9375rem; line-height: 1.6; margin: 0 0 8px; color: var(--md-on-surface-variant); }
.definition-item p:last-child { margin: 0; }

.service-icon, .rights-card-icon, .grid-item-icon, .security-icon, .browser-icon, .service-logo, .step-icon, .cookie-type-icon {
  flex: none; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; margin-bottom: 14px;
  background: var(--md-primary-container); color: var(--md-on-primary-container);
}
.service-icon .ms, .rights-card-icon .ms, .grid-item-icon .ms, .security-icon .ms, .browser-icon .ms, .service-logo .ms, .step-icon .ms, .cookie-type-icon .ms { font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24; }
.service-card:nth-child(2) .service-icon, .rights-card:nth-child(even) .rights-card-icon { background: var(--md-secondary-container); color: var(--md-on-secondary-container); border-radius: 50%; }
.service-card:nth-child(3) .service-icon { background: var(--md-tertiary-container); color: var(--md-on-tertiary-container); }

.security-measure, .third-party-service, .cookie-type { display: flex; gap: 18px; align-items: flex-start; }
.security-measure .security-icon, .third-party-service .service-logo, .cookie-type .cookie-type-icon { margin-bottom: 0; }
.security-description, .service-content, .cookie-type-content { min-width: 0; flex: 1; }
.third-party-services, .cookies-types, .share-categories { grid-template-columns: 1fr; }
.cookie-type-content h3, .share-category h3 { margin: 0 0 8px; font-size: 1.1875rem; }
.cookie-type p { max-width: none; }
.cookie-examples { margin-top: 12px; padding: 14px 18px; border-radius: var(--r-lg); background: var(--md-surface-container-lowest); }
.cookie-examples ul { list-style: disc; padding-left: 20px; margin: 4px 0 0; }
.cookie-examples li { padding: 2px 0; font-size: 0.9375rem; color: var(--md-on-surface-variant); }
.share-category .privacy-list { margin-bottom: 0; }

.cookie-browser h4, .browser-card h4 { color: var(--md-on-surface); }
.cookie-browser p { margin: 0; font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 0.8125rem; }
.browser-steps { list-style: decimal; padding-left: 20px; margin: 8px 0 14px; display: grid; gap: 6px; font-size: 0.9375rem; line-height: 1.55; color: var(--md-on-surface-variant); }
.browser-link { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; margin-left: -8px; border-radius: var(--r-full); font-weight: 600; font-size: 0.875rem; }
.browser-link:hover { background: color-mix(in srgb, var(--md-primary) 8%, transparent); }

/* Схема: как работят бисквитките */
.cookies-illustration { margin: 8px 0 28px; }
.cookies-diagram { display: grid; gap: 8px; max-width: 560px; }
.diagram-step { display: flex; gap: 16px; align-items: center; background: var(--md-surface-container-low); border-radius: var(--r-xl); padding: 14px 20px; }
.diagram-step .step-icon { margin: 0; }
.diagram-step p { margin: 0; font-size: 0.9375rem; color: var(--md-on-surface-variant); }
.diagram-arrow { display: grid; place-items: center; color: var(--md-primary); height: 24px; }
.diagram-arrow .ms { font-size: 22px; }

/* Таблици */
.cookies-table-container { overflow-x: auto; margin: 8px 0 24px; border: 1px solid var(--md-outline-variant); border-radius: var(--r-xl); -webkit-overflow-scrolling: touch; }
.cookies-table { width: 100%; min-width: 600px; table-layout: fixed; border-collapse: collapse; font-size: 0.9375rem; line-height: 1.55; }
.cookies-table th { text-align: left; font-weight: 600; font-size: 0.8125rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--md-on-surface-variant); background: var(--md-surface-container); padding: 14px 20px; }
.cookies-table td { padding: 16px 20px; vertical-align: top; border-top: 1px solid var(--md-outline-variant); color: var(--md-on-surface-variant); }
.cookies-table th:nth-child(1) { width: 27%; }
.cookies-table th:nth-child(3) { width: 21%; }
.cookies-table td:first-child { font-weight: 600; color: var(--md-on-surface); overflow-wrap: anywhere; }
.cookies-table tbody tr:hover td { background: var(--md-surface-container-low); }

/* История на промените */
.update-history { margin-top: 36px; }
.update-history h3 { margin-top: 0; }
.update-timeline { position: relative; display: grid; gap: 8px; padding-left: 4px; }
.update-timeline::before { content: ""; position: absolute; left: 10px; top: 14px; bottom: 14px; width: 2px; background: var(--md-outline-variant); border-radius: 2px; }
.update-item { position: relative; padding: 4px 0 4px 36px; }
.update-dot { position: absolute; left: 3px; top: 12px; width: 16px; height: 16px; border-radius: 50%; background: var(--md-primary); box-shadow: 0 0 0 4px var(--md-surface); }
.update-date { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.03em; color: var(--md-primary); margin-bottom: 2px; }
.update-description { background: var(--md-surface-container-low); border-radius: var(--r-lg); padding: 14px 20px; }
.update-description p { margin: 0; font-size: 0.9375rem; color: var(--md-on-surface-variant); }

/* Контакти */
.contact-info-box { background: var(--md-surface-container-low); border-radius: var(--r-xl); padding: 24px; margin: 16px 0 8px; }
.contact-cols { display: grid; gap: 20px; }
@media (min-width: 720px) { .contact-cols { grid-template-columns: repeat(3, 1fr); gap: 32px; } }
.contact-info-column p { margin: 0; font-size: 1rem; word-break: break-word; }
.with-icon { display: flex; align-items: center; gap: 10px; margin-bottom: 6px !important; }
.with-icon .ms { color: var(--md-primary); font-size: 22px; }

@media (max-width: 599px) {
  .section-header { align-items: flex-start; }
  .info-box, .warning-box { padding: 16px 18px; gap: 12px; }
  .definition-item, .service-card, .security-measure, .rights-card, .cookie-browser, .browser-card, .third-party-service, .cookie-type, .share-category { padding: 16px 18px; }
  .security-measure, .third-party-service, .cookie-type { flex-direction: column; gap: 12px; }
}
