/* DESIGN LOCAL v3 — pagini locale: puține componente, ierarhie prin spațiu și tipografie */
/* DESIGN LOCAL v3 */
:root {
    --lv-navy: #011A41;
    --lv-ink: #24324A;
    --lv-muted: #5F6B80;
    --lv-blue: #355EFC;
    --lv-tint: #F4F6FC;
    --lv-line: #E4E8F1;
}

/* DESIGN LOCAL v3 — tipografie și ritm */
.local-content { color: var(--lv-ink); line-height: 1.7; }
.local-content h2 { color: var(--lv-navy); margin-bottom: 1rem; }
.local-main p { max-width: 68ch; }
.local-section { margin-bottom: 4rem; }
.local-section > :last-child { margin-bottom: 0; }

/* DESIGN LOCAL v3 — hero: text, apoi prețurile sub el; cardul avocatului în dreapta */
.local-hero { margin-bottom: 4rem; }
.local-hero-area { color: var(--lv-blue); font-weight: 500; margin-bottom: .75rem; font-size: .95rem; }
.local-hero-lead { font-size: 1.2rem; line-height: 1.65; color: var(--lv-ink); margin-bottom: 1rem; max-width: 58ch !important; }
.local-proof { color: var(--lv-muted); font-size: .92rem; margin: 0 0 1.75rem; }
.local-offer { background: var(--lv-tint); border-radius: 12px; padding: 1.75rem; }
.local-prices { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: 1fr 1fr; }
.local-prices li { padding: 0 1.5rem 0 0; }
.local-prices li + li { padding: 0 0 0 1.5rem; border-left: 1px solid var(--lv-line); }
.local-price-label { font-family: Jost, sans-serif; font-weight: 600; color: var(--lv-navy); margin-right: .35rem; }
.local-price-value { font-family: Jost, sans-serif; font-weight: 600; font-size: 1.75rem; line-height: 1.2; color: var(--lv-navy); }
.local-price-note { display: block; color: var(--lv-muted); font-size: .92rem; line-height: 1.5; margin-top: .15rem; }
.local-term { max-width: none !important; font-size: .95rem; color: var(--lv-ink); padding-top: 1rem; border-top: 1px solid var(--lv-line); margin-bottom: 1.25rem; }
.local-hero-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.local-hero-actions .btn { padding-left: 1.5rem; padding-right: 1.5rem; }
.local-hero-actions .btn, .local-final-cta .btn, .local-lawyer-card .btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 10px;
}
.btn { transition: background-color .2s, border-color .2s, color .2s; }
.local-content a:focus-visible, .local-content button:focus-visible, .local-content summary:focus-visible, .local-mobile-bar a:focus-visible {
    outline: 3px solid rgba(53, 94, 252, .4); outline-offset: 2px; border-radius: 6px;
}

/* DESIGN LOCAL v3 — cum lucrăm: număr, titlu, explicație */
.local-process { list-style: none; margin: 0; padding: 0; counter-reset: lp; }
.local-process li { position: relative; padding-left: 2.25rem; margin-bottom: 1.1rem; }
.local-process li::before {
    counter-increment: lp; content: counter(lp);
    position: absolute; left: 0; top: 0;
    font-family: Jost, sans-serif; font-weight: 600; font-size: 1.35rem; line-height: 1.25; color: var(--lv-blue);
}
.local-process strong { color: var(--lv-navy); }
@media (min-width: 1200px) {
    .local-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
    .local-process li { padding-left: 0; padding-top: 2.25rem; margin: 0; }
    .local-process li:not(:last-child)::after {
        content: ""; position: absolute; top: .85rem; left: 1.6rem; right: -.75rem;
        border-top: 1px solid var(--lv-line);
    }
}

/* DESIGN LOCAL v3 — ce ne trimiți: SRL și PFA vizibile simultan, fără carduri */
.local-docs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.local-docs-col h3 { font-size: 1.05rem; font-weight: 600 !important; color: var(--lv-navy); padding-bottom: .5rem; border-bottom: 1px solid var(--lv-line); margin-bottom: .5rem; }
@media (max-width: 767.98px) { .local-docs-grid { grid-template-columns: 1fr; gap: 1.75rem; } }
.local-checklist { list-style: none; margin: 0 0 1rem; padding: 0; }
.local-checklist li { position: relative; padding: .35rem 0 .35rem 1.6rem; }
.local-checklist li::before {
    content: ""; position: absolute; left: .15rem; top: .85rem; width: .7rem; height: .4rem;
    border-left: 2px solid var(--lv-blue); border-bottom: 2px solid var(--lv-blue); transform: rotate(-45deg);
}
.local-more { font-weight: 500; }

/* DESIGN LOCAL v3 — CTA */
.local-final-cta {
    display: flex; gap: 1.5rem; align-items: flex-start;
    background: var(--lv-navy); color: #D5DDF0; border-radius: 12px;
    padding: 2.25rem; margin-bottom: 4.5rem;
}
.local-final-cta h2 { color: #fff; font-size: 1.4rem; margin-bottom: .5rem; }
.local-final-cta p { color: #D5DDF0; }
.local-final-cta a:not(.btn) { color: #fff; }
.local-final-cta .text-muted { color: #A7B3D0 !important; }
.local-final-cta .d-flex { gap: .6rem !important; }
.local-cta-photo { flex: none; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: top; background: #2A3F66; }

/* DESIGN LOCAL v3 — secundar: local, date, FAQ */
.local-secondary h2 { font-size: 1.45rem; }
.local-stats { margin-top: 1.5rem; border-top: 1px solid var(--lv-line); border-bottom: 1px solid var(--lv-line); }
.local-stats summary, .local-faq summary {
    list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    min-height: 48px; padding: .6rem 0;
}
.local-stats summary::-webkit-details-marker, .local-faq summary::-webkit-details-marker { display: none; }
.local-stats summary h3, .local-faq summary h3 { margin: 0; font-size: 1rem; font-weight: 600 !important; color: var(--lv-navy); line-height: 1.45; }
.local-stats summary::after, .local-faq summary::after { content: "+"; flex: none; color: var(--lv-blue); font-size: 1.25rem; line-height: 1; }
.local-stats[open] summary::after, .local-faq details[open] summary::after { content: "\2212"; }
.local-stats summary:hover h3, .local-faq summary:hover h3 { color: var(--lv-blue); }
.local-stats-body { padding: .25rem 0 1rem; }
.local-stats-body .text-muted { font-size: .85rem; }
.local-faq-item { border-bottom: 1px solid var(--lv-line); }
.local-faq-item:first-child { border-top: 1px solid var(--lv-line); }
.local-faq-a { padding: 0 2rem .85rem 0; }
.local-faq-a p { margin: 0; }

/* DESIGN LOCAL v3 — alte servicii, localități, hartă */
.local-other { color: var(--lv-muted); }
.local-nearby, .local-services { font-size: .92rem; }
.local-nearby h3 { font-size: 1rem; font-weight: 600 !important; color: var(--lv-muted); margin-top: 0 !important; }
.local-nearby ul { margin-bottom: .5rem !important; }
.local-nearby a, .local-services a { color: var(--lv-ink); }
.local-nearby a:hover, .local-services a:hover { color: var(--lv-blue); }
.local-services { margin: 1.75rem 0 2rem; }
.local-services h5 { font-size: 1rem; color: var(--lv-muted); margin-bottom: .5rem; }
.local-services ul { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 2rem; }
.local-services li { padding: .2rem 0; break-inside: avoid; }
.local-services small { color: var(--lv-muted); }
.local-map h2 { font-size: 1rem; color: var(--lv-muted); }
.local-map #map { height: 220px !important; border-radius: 10px !important; border: 1px solid var(--lv-line) !important; }

/* DESIGN LOCAL v3 — sidebar: doar avocatul */
.local-lawyer-card { border: 1px solid var(--lv-line); border-radius: 12px; padding: 1.5rem; text-align: center; background: #fff; }
.local-lawyer-photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; background: var(--lv-tint); display: block; margin: 0 auto .9rem; }
.local-lawyer-card h4 { font-size: 1.15rem; color: var(--lv-navy); margin-bottom: .3rem; }
.local-lawyer-meta { color: var(--lv-muted); font-size: .92rem; line-height: 1.5; margin-bottom: .5rem; }
.local-lawyer-free { font-size: .95rem; color: var(--lv-ink); margin-bottom: 1rem; }
.local-lawyer-free strong { font-weight: 500; }
@media (min-width: 992px) {
    .local-lawyer-card { position: sticky; top: 110px; }
}

/* DESIGN LOCAL v3 — mobil */
.local-mobile-bar { display: none; }
@media (max-width: 991.98px) {
    .local-mobile-bar {
        display: grid; grid-template-columns: 1fr 1fr; gap: .5rem;
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
        padding: .5rem .75rem calc(.5rem + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .97); border-top: 1px solid var(--lv-line);
    }
    .local-mobile-bar a { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; border-radius: 10px; font-weight: 500; text-decoration: none; color: #fff; }
    .local-mobile-bar .lm-phone { background: var(--lv-blue); }
    .local-mobile-bar .lm-wa { background: #1E9E52; }
    body.local-page { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
    body.local-page .whatsapp-float { display: none !important; }
    body.local-page .back-to-top { bottom: calc(80px + env(safe-area-inset-bottom)); }
    .local-lawyer-card { max-width: 420px; margin: 0 auto; }
}
@media (max-width: 575.98px) {
    .local-hero-lead { font-size: 1.1rem; }
    .local-prices { grid-template-columns: 1fr; }
    .local-prices li { padding: 0 0 1rem; }
    .local-prices li + li { padding: 1rem 0 0; border-left: 0; border-top: 1px solid var(--lv-line); }
    .local-term { margin-top: 1rem; }
    .local-hero-actions .btn { flex: 1 1 100%; }
    .local-offer { padding: 1.25rem; }
    .local-section { margin-bottom: 3rem; }
    .local-final-cta { flex-direction: column; padding: 1.5rem; gap: 1rem; }
    .local-faq-a { padding-right: 0; }
    .local-services ul { columns: 1; }
}
/* DESIGN LOCAL v3 — medalion „Cine se ocupă” (pagini pilot) */
.local-who { display: flex; gap: 1.75rem; align-items: flex-start; background: var(--lv-tint); border-radius: 12px; padding: 1.75rem; margin-bottom: 4rem; }
.local-who-photo { flex: none; width: 120px; height: 120px; border-radius: 50%; object-fit: cover; background: #fff; border: 4px solid #fff; box-shadow: 0 2px 10px rgba(1, 26, 65, .08); }
.local-who-text h2 { margin-bottom: .75rem; }
.local-who-text p { margin-bottom: .75rem; }
.local-who-text p:last-child { margin-bottom: 0; }
@media (max-width: 575.98px) {
    .local-who { flex-direction: column; gap: 1rem; padding: 1.25rem; margin-bottom: 3rem; }
    .local-who-photo { width: 96px; height: 96px; }
}
.local-final-cta > div:only-child { width: 100%; }

/* DESIGN LOCAL v3 — ajustări mobil (17.10.2026, seara) */
@media (max-width: 991.98px) {
    .local-aside { display: none; } /* pe mobil contactul e în ofertă, în CTA și în bara fixă de jos */
}
@media (max-width: 575.98px) {
    .local-final-cta .d-flex .btn { flex: 1 1 100%; }
    .local-main .table { font-size: .85rem; }
    .local-main .table th, .local-main .table td { padding: .5rem .45rem; }
    .local-main .border.rounded.p-4 { padding: 1.25rem !important; }
    .local-nearby ul > li { flex: 0 0 100%; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .local-content * { transition: none !important; }
}
