/* JuriSScont - Main Stylesheet OPTIMIZED */

/* ============================================================
   RESET & ROOT COLORS - CONTRAST MAXIM
   ============================================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-blue: #1e3a8a;
    --dark-blue: #0f172a;
    --light-blue: #1e40af;
    /* ORANGE UPDATED - mai închis pentru contrast */
    --accent-orange: #d97706;
    --dark-orange: #b45309;
    /* COLORS UPDATED - contrast maxim */
    --light-gray: #f8fafc;
    --text-gray: #1f2937;
    /* VERDE pentru WhatsApp - contrast bun */
    --whatsapp-green: #15803d;
    --whatsapp-dark: #14532d;
}

/* ============================================================
   GENERIC HELPERS
   ============================================================ */

.section-lead {
    max-width: 900px;
    margin: 0 auto 35px;
    font-size: 1.1rem;
    text-align: center;
    color: #334155;
}

.price-from {
    margin-top: 20px;
    font-weight: 800;
    color: #b45309;
}

.highlight-list-item {
    padding: 20px;
    margin-bottom: 15px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    border-left: 4px solid #f59e0b;
}

/* ============================================================
   TABLES (Pricing)
   ============================================================ */

.price-block { margin-top: 28px; }
.price-title { text-align: left; margin: 22px 0 12px; }
.table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid #e2e8f0; }

.price-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 820px;
    background: #ffffff;
}

.price-table th,
.price-table td {
    padding: 14px 14px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: top;
}

.price-table thead th {
    background: #0f172a;
    color: #ffffff;
    font-weight: 800;
    position: sticky;
    top: 0;
}

.price-table tbody tr:hover { background: #f8fafc; }

/* ============================================================
   BODY & TYPOGRAPHY
   ============================================================ */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--text-gray);
    overflow-x: hidden;
    background: #ffffff;
}

/* ============================================================
   LAYOUT CONTAINER
   ============================================================ */
.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================
   CONTACT PAGE (Readability + Contrast)
   ============================================================ */
.page-contact .contact-section {
    padding: 70px 0 40px;
    background: #f8fafc;
}

.page-contact .contact-section h2 {
    text-align: center;
    font-size: 2.2rem;
    color: var(--primary-blue);
    margin-bottom: 26px;
    font-weight: 800;
}

.page-contact .contact-methods {
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 22px;
}

.page-contact .contact-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 26px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.page-contact .contact-icon {
    font-size: 2.4rem;
    margin-bottom: 10px;
}

.page-contact .contact-card h3 {
    color: #0f172a;
    margin-bottom: 10px;
    font-weight: 800;
}

.page-contact .contact-card a {
    color: #0f172a !important;
    font-weight: 800;
    text-decoration: none;
}

.page-contact .contact-card a:hover {
    text-decoration: underline;
}

.page-contact .contact-note {
    margin-top: 10px;
    color: #334155;
}

.page-contact .contact-program {
    font-size: 0.92rem;
    color: #334155;
}

.page-contact .cta-btn {
    width: 100%;
    text-align: center;
    margin-top: 16px;
}

.page-contact .contact-form-wrap {
    margin-top: 42px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.page-contact .contact-form-wrap h2 {
    margin-bottom: 6px;
}

.page-contact .contact-lead {
    text-align: center;
    color: #334155;
    margin-bottom: 18px;
}

.page-contact .contact-form {
    box-shadow: none;
    border: none;
    padding: 0;
    background: transparent;
}

.page-contact .contact-form input::placeholder,
.page-contact .contact-form textarea::placeholder {
    color: #64748b;
}

.page-contact .contact-submit {
    width: 100%;
    padding: 14px 18px;
    margin-top: 18px;
    border-radius: 14px;
    border: none;
    cursor: pointer;
    font-weight: 900;
    font-size: 1.05rem;
    background: #15803d;
    color: #ffffff;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.page-contact .contact-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(21, 128, 61, 0.25);
}

/* ============================================================
   FORMS (Contact)
   ============================================================ */

.contact-form {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 26px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
}

.form-field label {
    font-weight: 700;
    color: #0f172a;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 1rem;
    color: #0f172a;
    background: #ffffff;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: 3px solid rgba(245, 158, 11, 0.35);
    border-color: #f59e0b;
}

.checkbox {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 0.98rem;
}

.checkbox input {
    margin-top: 4px;
}

.alert-success,
.alert-error {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 700;
}

.alert-success {
    background: #ecfdf5;
    border: 1px solid #10b981;
    color: #065f46;
}

.alert-error {
    background: #fef2f2;
    border: 1px solid #ef4444;
    color: #7f1d1d;
}

/* ============================================================
   HEADER
   ============================================================ */
header.site-header {
    background: linear-gradient(135deg, var(--dark-blue) 0%, var(--primary-blue) 50%, var(--light-blue) 100%);
    color: white;
    padding: 1rem 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Ensure content is not hidden under fixed header */
#main-content { padding-top: 92px; }

.header-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.logo {
    font-size: 1.8rem;
    font-weight: bold;
    /* GALBEN pentru logo - contrast maxim pe albastru */
    color: #fbbf24 !important;
    text-decoration: none;
}

header.site-header nav ul {
    list-style: none;
    display: flex;
    gap: 30px;
}

header.site-header nav ul li a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

header.site-header nav ul li a:hover {
    color: #fbbf24;
}

header.site-header nav a.active { color: #fbbf24; font-weight: 800; }

/* Buttons (header + CTAs) */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,0.25);
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-primary{
  background: #fbbf24;
  color: #111827;
  border-color: #f59e0b;
}
.btn-primary:hover{ background: #f59e0b; }
.btn-ghost{
  background: rgba(255,255,255,0.12);
  color: #ffffff;
}
.btn-ghost:hover{ background: rgba(255,255,255,0.2); }

/* Dropdown navigation */
.nav-dropdown{ position: relative; }
.nav-dropdown .dropdown-menu{
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 240px;
  background: #0b1220;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 10px;
  display: none;
  box-shadow: 0 18px 50px rgba(0,0,0,0.35);
}
.nav-dropdown .dropdown-menu a{
  display: flex;
  padding: 10px 12px;
  border-radius: 12px;
  color: #ffffff;
  font-weight: 700;
}
.nav-dropdown .dropdown-menu a:hover{ background: rgba(255,255,255,0.08); }
.nav-dropdown:hover .dropdown-menu{ display: block; }

/* Mobile dropdown behavior */
@media (max-width: 960px){
  .nav-dropdown .dropdown-menu{ position: static; display: none; margin-top: 10px; }
  .nav-dropdown.open .dropdown-menu{ display: block; }
}

/* ============================================================
   PHONE BUTTON - CONTRAST MAXIM (NEGRU PE PORTOCALIU)
   ============================================================ */
.phone-btn,
a[href^="tel:"] {
    background-color: #d97706 !important;
    color: #000000 !important;
    padding: 12px 24px !important;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 700 !important;
    transition: all 0.3s;
    border: 2px solid #b45309 !important;
    display: inline-block;
}

.phone-btn:hover,
a[href^="tel:"]:hover {
    background-color: #b45309 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 1.8rem;
    cursor: pointer;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero {
    background: linear-gradient(135deg, var(--dark-blue) 0%, var(--primary-blue) 100%);
    color: white;
    padding: 120px 20px 80px;
    text-align: center;
    margin-top: 70px;
}

.hero h1 {
    font-size: 2.8rem;
    margin-bottom: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #ffffff;
}

.hero .highlight {
    color: #fbbf24;
}

.hero p {
    font-size: 1.3rem;
    margin-bottom: 30px;
    opacity: 0.95;
}

/* ============================================================
   CTA BUTTONS - CONTRAST MAXIM
   ============================================================ */
.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-btn {
    padding: 16px 40px;
    font-size: 1.1rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s;
    display: inline-block;
    border: 3px solid transparent;
}

/* PRIMARY BUTTON - VERDE ÎNCHIS pentru WhatsApp */
.cta-primary,
.cta-btn.cta-primary,
a.cta-primary,
a[href*="wa.me"].cta-btn {
    background-color: #15803d !important;
    color: #ffffff !important;
    border-color: #14532d !important;
}

.cta-primary:hover,
.cta-btn.cta-primary:hover {
    background-color: #14532d !important;
    color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(21, 128, 61, 0.3);
}

/* SECONDARY BUTTON - PORTOCALIU INTENS (nu alb!) */
.cta-secondary,
.cta-btn.cta-secondary,
a.cta-secondary,
a[href*="servicii.php"].cta-btn,
a[href*="infiintare-pfa.php"].cta-btn {
    background-color: #ea580c !important;
    color: #ffffff !important;
    border-color: #c2410c !important;
}

.cta-secondary:hover,
.cta-btn.cta-secondary:hover {
    background-color: #c2410c !important;
    color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(234, 88, 12, 0.3);
}

/* ============================================================
   SERVICES SECTION
   ============================================================ */
.services {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}

.services h2,
.section-title {
    text-align: center;
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 50px;
    font-weight: 700;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.service-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transition: all 0.3s;
    border-top: 4px solid var(--accent-orange);
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

.service-icon {
    font-size: 3rem;
    margin-bottom: 20px;
}

.service-card h3 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.service-card ul {
    list-style: none;
    margin: 20px 0;
}

.service-card ul li {
    padding: 8px 0 8px 25px;
    position: relative;
    color: var(--text-gray);
}

.service-card ul li:before {
    content: "✓";
    color: var(--accent-orange);
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Buttons în service cards */
.service-card .cta-btn {
    margin-top: 20px;
    padding: 10px 25px;
    font-size: 1rem;
}

/* ============================================================
   TRUST SECTION
   ============================================================ */
.trust-section {
    background: var(--light-gray);
    padding: 40px 20px;
}

.trust-badges {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    text-align: center;
}

.badge-icon {
    font-size: 3rem;
    margin-bottom: 15px;
}

.badge h3 {
    color: var(--primary-blue);
    margin-bottom: 10px;
    font-weight: 700;
}

.badge p {
    color: var(--text-gray);
}

/* ============================================================
   FINAL CTA SECTION
   ============================================================ */
.final-cta {
    background: linear-gradient(135deg, var(--dark-blue) 0%, var(--primary-blue) 100%);
    color: white;
    padding: 80px 20px;
    text-align: center;
}

.final-cta h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #ffffff;
    font-weight: 700;
}

.final-cta p {
    font-size: 1.2rem;
    margin-bottom: 40px;
}

.contact-methods {
    max-width: 1000px;
    margin: 50px auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.contact-card {
    background: rgba(255, 255, 255, 0.1);
    padding: 30px;
    border-radius: 15px;
    border: 2px solid rgba(251, 191, 36, 0.3);
    transition: all 0.3s;
}

.contact-card:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-5px);
}

.contact-icon {
    font-size: 3rem;
    margin-bottom: 15px;
}

.contact-card h3 {
    color: #ffffff;
    margin-bottom: 15px;
    font-weight: 700;
}

.contact-card a {
    color: #fbbf24 !important;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: bold;
}

.contact-card a:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

.contact-card p {
    margin-top: 10px;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9);
}

/* ============================================================
   FOOTER - CONTRAST MAXIM
   ============================================================ */
footer {
    background: var(--dark-blue);
    color: white;
    padding: 60px 20px 20px;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

/* Footer headings - ALB pentru contrast maxim */
.footer-section h3 {
    color: #ffffff !important;
    margin-bottom: 20px;
    font-weight: 700 !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

.footer-section p {
    color: #e5e7eb !important;
    margin-bottom: 10px;
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    padding: 8px 0;
}

/* Footer links - GALBEN STRĂLUCITOR */
.footer-section ul li a,
footer a {
    color: #fbbf24 !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
    transition: color 0.3s;
}

.footer-section ul li a:hover,
footer a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.footer-bottom {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
}

.footer-bottom p {
    color: #cbd5e1 !important;
}

.footer-bottom a {
    color: #fbbf24 !important;
}

/* ============================================================
   WHATSAPP FLOAT BUTTON - CONTRAST MAXIM
   ============================================================ */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #16a34a !important;
    color: #ffffff !important;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    box-shadow: 0 4px 15px rgba(22, 163, 74, 0.4) !important;
    z-index: 999;
    text-decoration: none;
    animation: pulse 2s infinite;
    border: 3px solid #ffffff !important;
}

.whatsapp-float:hover {
    background-color: #15803d !important;
    transform: scale(1.1);
}

@keyframes pulse {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(22, 163, 74, 0.4);
    }
    50% {
        box-shadow: 0 4px 25px rgba(22, 163, 74, 0.8);
    }
}

/* ============================================================
   FAQ SECTION
   ============================================================ */
.faq-section {
    max-width: 900px;
    margin: 80px auto;
    padding: 0 20px;
}

.faq-section h2 {
    text-align: center;
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 50px;
    font-weight: 700;
}

.faq-item {
    background: white;
    border-radius: 10px;
    margin-bottom: 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.faq-question {
    padding: 20px;
    cursor: pointer;
    font-weight: bold;
    color: var(--primary-blue);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-question:hover {
    background: var(--light-gray);
}

.faq-question span {
    font-size: 1.5rem;
    color: var(--accent-orange);
}

.faq-answer {
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    color: var(--text-gray);
}

.faq-answer.active {
    padding: 20px;
    max-height: 500px;
}

/* ============================================================
   COOKIE CONSENT - CONTRAST MAXIM
   ============================================================ */
.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #1f2937 !important;
    color: #ffffff !important;
    padding: 20px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    z-index: 9999;
    display: none;
    border-top: 3px solid #f59e0b !important;
}

.cookie-consent.show {
    display: block;
}

.cookie-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cookie-content p {
    flex: 1;
    color: #ffffff !important;
}

.cookie-content a {
    color: #fbbf24 !important;
    text-decoration: underline !important;
}

.cookie-buttons {
    display: flex;
    gap: 10px;
}

.cookie-btn {
    padding: 10px 25px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s;
}

/* Accept button - PORTOCALIU cu TEXT NEGRU */
.cookie-btn.accept {
    background-color: #f59e0b !important;
    color: #000000 !important;
    border: 2px solid #d97706 !important;
}

.cookie-btn.accept:hover {
    background-color: #d97706 !important;
    color: #ffffff !important;
}

/* Decline button - GRI */
.cookie-btn.decline,
.cookie-btn:not(.accept) {
    background-color: #6b7280 !important;
    color: #ffffff !important;
    border: 2px solid #4b5563 !important;
}

.cookie-btn.decline:hover {
    background-color: #4b5563 !important;
}

/* ============================================================
   GENERIC ELEMENTS
   ============================================================ */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.section {
    padding: 80px 20px;
}

/* Content pages */
.content-page {
    max-width: 900px;
    margin: 120px auto 80px;
    padding: 0 20px;
}

.content-page h1 {
    color: var(--primary-blue);
    margin-bottom: 30px;
    font-weight: 700;
}

.content-page h2 {
    color: var(--primary-blue);
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: 700;
}

.content-page p {
    margin-bottom: 15px;
    line-height: 1.8;
    color: var(--text-gray);
}

/* ============================================================
   HEADINGS - CONTRAST ÎMBUNĂTĂȚIT
   ============================================================ */
h1 {
    font-size: 2.5rem;
    color: #1e293b !important;
    font-weight: 700 !important;
    margin-bottom: 1rem;
}

h2 {
    font-size: 2rem;
    color: #1e293b !important;
    font-weight: 700 !important;
    margin-bottom: 0.875rem;
}

h3 {
    font-size: 1.5rem;
    color: #334155 !important;
    font-weight: 700 !important;
    margin-bottom: 0.75rem;
}

h4 {
    font-size: 1.25rem;
    color: #334155 !important;
    font-weight: 700 !important;
}

/* ============================================================
   LINKS - ALBASTRU ÎNCHIS
   ============================================================ */
a {
    color: #2563eb !important;
    text-decoration: none;
    transition: color 0.3s;
}

a:hover {
    color: #1d4ed8 !important;
    text-decoration: underline;
}

/* ============================================================
   MEDIA QUERIES
   ============================================================ */
@media (max-width: 768px) {
    nav {
        width: 100%;
        display: none;
    }
    
    nav.mobile-active {
        display: block;
    }
    
    nav ul {
        flex-direction: column;
        gap: 10px;
        padding: 20px 0;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    .hero h1 {
        font-size: 2rem;
    }
    
    .hero p {
        font-size: 1.1rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    .cta-buttons {
        flex-direction: column;
    }
    
    .cta-btn {
        width: 100%;
        text-align: center;
    }
    
    .cookie-content {
        flex-direction: column;
        text-align: center;
    }
    
    .cookie-buttons {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .hero h1 {
        font-size: 1.5rem;
    }
    
    .services h2 {
        font-size: 1.8rem;
    }
    
    .service-card {
        padding: 20px;
    }
    
    .whatsapp-float {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
        bottom: 20px;
        right: 20px;
    }
}


/* =======================
   HOMEPAGE PAGE BUTTONS
   ======================= */
.section.light {
  background: #f8fafc;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.section-title {
  font-size: 2.2rem;
  margin-bottom: 10px;
  text-align: center;
  color: var(--dark-blue);
}

.section-subtitle {
  text-align: center;
  color: #334155;
  max-width: 900px;
  margin: 0 auto 30px;
}

.page-buttons {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 20px;
}

.page-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  font-weight: 700;
  color: var(--dark-blue);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-align: center;
  min-height: 52px;
}

.page-button:hover {
  transform: translateY(-2px);
  border-color: #cbd5e1;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.10);
}

.hero-badges {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.badge {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  color: #ffffff;
  font-weight: 700;
  font-size: .95rem;
}

/* =======================
   CONTRAST IMPROVEMENTS
   ======================= */
.contact-card {
  background: #ffffff;
  color: var(--dark-blue);
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.contact-card h3 { color: var(--dark-blue); }
.contact-card a { color: #1d4ed8; font-weight: 700; }
.contact-card a:hover { text-decoration: underline; }
.contact-note, .contact-program { color: #334155; }

.final-cta p { color: rgba(255,255,255,0.92); max-width: 880px; margin: 0 auto 22px; }

/* Responsive */
@media (max-width: 1024px) {
  .page-buttons { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .page-buttons { grid-template-columns: repeat(2, 1fr); }
  .page-button { min-height: 56px; }
}



/* ============================================================
   THEME v4 - LOOK & FEEL (uniform, premium, high contrast)
   Inspired by modern professional services websites.
   ============================================================ */
:root{
  --bg: #0b1220;
  --surface: #0f1a2e;
  --card: #0f213d;
  --text: #e5e7eb;
  --muted: rgba(229,231,235,.78);
  --border: rgba(255,255,255,.10);
  --primary: #4f8cff;         /* clean blue */
  --primary-2: #7c3aed;       /* subtle violet accent */
  --accent: #22c55e;          /* WhatsApp / success */
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow: 0 16px 48px rgba(0,0,0,.35);
  --shadow-soft: 0 10px 30px rgba(0,0,0,.25);
  --radius: 18px;
}

html, body{
  background: radial-gradient(1200px 600px at 15% 0%, rgba(79,140,255,.18), transparent 60%),
              radial-gradient(900px 600px at 85% 20%, rgba(124,58,237,.14), transparent 55%),
              linear-gradient(180deg, var(--bg), #070b13);
  color: var(--text);
}

a{ color: var(--text); }
a:hover{ color: var(--primary); }

header{
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(10px);
  background: rgba(11,18,32,.72);
  border-bottom: 1px solid var(--border);
}

.header-content{
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}

.logo{
  font-weight: 800;
  letter-spacing: .2px;
  font-size: 1.05rem;
  text-decoration:none;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}

nav ul{
  display:flex;
  gap: 10px;
  list-style:none;
  flex-wrap:wrap;
  align-items:center;
}
nav a{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration:none;
  color: var(--muted);
  border: 1px solid transparent;
}
nav a:hover{
  color: var(--text);
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.08);
}

.header-cta .phone-btn{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration:none;
  background: linear-gradient(135deg, rgba(79,140,255,.95), rgba(124,58,237,.85));
  color: white;
  box-shadow: 0 10px 26px rgba(79,140,255,.18);
  border: 1px solid rgba(255,255,255,.10);
}

section, .section{
  padding: 36px 0;
}

.container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}

.card, .service-card, .contact-card, .price-card, .highlight-list-item{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

h1,h2,h3{
  color: var(--text);
}

.hero{
  padding: 54px 0 36px;
}
.hero .subtitle, .hero p, p{
  color: var(--muted);
}

.btn, .btn-primary, .btn-secondary, .btn-outline, button, input[type="submit"]{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: var(--text);
}

.btn-primary{
  background: linear-gradient(135deg, rgba(79,140,255,.95), rgba(124,58,237,.85));
  border-color: rgba(255,255,255,.10);
}
.btn-primary:hover{
  filter: brightness(1.04);
}
.btn-outline{
  background: transparent;
  border-color: rgba(255,255,255,.14);
  color: var(--text);
}
.btn-outline:hover{
  background: rgba(255,255,255,.06);
}

.quick-links{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 18px;
}
.quick-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;
  border-radius: 14px;
  text-decoration:none;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
}
.quick-links a:hover{
  border-color: rgba(79,140,255,.55);
  box-shadow: 0 10px 26px rgba(79,140,255,.12);
}

input, select, textarea{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
}
input::placeholder, textarea::placeholder{
  color: rgba(229,231,235,.60);
}
label{ color: var(--text); }

.form-help, .small, .muted{
  color: var(--muted);
}

.alert-success{
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.25);
  color: var(--text);
}
.alert-error{
  background: rgba(239,68,68,.12);
  border: 1px solid rgba(239,68,68,.25);
  color: var(--text);
}

footer{
  background: rgba(255,255,255,.03);
  border-top: 1px solid var(--border);
}
.footer-content a{ color: var(--muted); }
.footer-content a:hover{ color: var(--text); }
.footer-bottom{ color: rgba(229,231,235,.70); }

.footer-buttons{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 14px;
}
.footer-buttons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration:none;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
  font-size: .95rem;
}
.footer-buttons a:hover{
  border-color: rgba(79,140,255,.55);
}

.lawyer-logos{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  align-items:center;
  justify-content:flex-start;
  margin: 14px 0 10px;
}
.lawyer-logo{
  width: 180px;
  height: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: var(--shadow-soft);
  padding: 10px;
}
.lawyer-logo.alt{
  width: 220px;
}

/* Mobile nav */
.mobile-menu-toggle{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
  border-radius: 12px;
  padding: 10px 12px;
}
@media (max-width: 860px){
  nav{ display:none; }
  header.site-header.nav-open nav{ display:block; }
  header.site-header.nav-open nav ul{ padding: 10px 0 0; }
  header.site-header.nav-open nav a{ width: 100%; justify-content:flex-start; }
}


/* v4 overrides for homepage buttons */
.page-button{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
  box-shadow: var(--shadow-soft);
}
.page-button:hover{
  transform: translateY(-2px);
  border-color: rgba(79,140,255,.55);
  box-shadow: 0 14px 34px rgba(79,140,255,.14);
}
.cta-btn, .cta-primary, .cta-secondary{
  border-radius: 999px;
}
.cta-btn.cta-secondary, .cta-secondary{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}

/* ====== 2026 clean contrast ====== */
:root{
  --bg:#0b1220;
  --card:#0f1a33;
  --text:#e8eefc;
  --muted:#b8c4e6;
  --accent:#f5b942;
  --accent2:#3b82f6;
}
body{background:#0b1220;color:var(--text);}
a{color:var(--accent2);}
.hero{background:linear-gradient(180deg,#0b1220 0%, #0f1a33 100%); color:var(--text);}
.section, .content, .container{color:var(--text);}
.card, .service-card, .pricing-card{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px;}
input, select, textarea{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:var(--text); border-radius:12px; padding:12px 12px;}
input:focus, select:focus, textarea:focus{outline:2px solid rgba(59,130,246,.55); outline-offset:2px;}
/* Contact form spacing */
.contact-form{max-width:820px;margin:0 auto;}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:760px){.contact-form .form-row{grid-template-columns:1fr;}}
.contact-form label{display:block;font-weight:700;margin:8px 0 6px;}
.contact-form button{padding:12px 16px;border-radius:12px;font-weight:800;}
/* NAV compact dropdown */
.site-header{position:sticky;top:0;z-index:100;background:rgba(11,18,32,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);}
.site-header .nav-toggle{display:none;font-size:20px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);cursor:pointer;}
.site-header .nav-list{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;}
.site-header .nav-list > li{position:relative;}
.site-header .nav-list a{display:inline-flex;align-items:center;padding:10px 10px;border-radius:12px;color:var(--text);text-decoration:none;}
.site-header .nav-list a:hover{background:rgba(255,255,255,.06);}
.site-header .nav-list a.active{background:rgba(245,185,66,.16); border:1px solid rgba(245,185,66,.22);}
.site-header .dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:260px;padding:10px;margin-top:10px;background:rgba(15,26,51,.98);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.35);}
.site-header .dropdown-menu a{width:100%;padding:10px 12px;border-radius:12px;}
.site-header .nav-dropdown:hover>.dropdown-menu{display:block;}
.site-header .nav-cta a.btn{padding:10px 14px;font-weight:900;}
@media(max-width:980px){
  .site-header nav{width:100%;justify-content:space-between;}
  .site-header .nav-toggle{display:inline-flex;}
  .site-header .nav-list{display:none;width:100%;flex-direction:column;align-items:stretch;padding:10px 0;}
  .site-header .nav-list.open{display:flex;}
  .site-header .dropdown-menu{position:static;display:none;margin:6px 0 0 0;box-shadow:none;}
  .site-header .nav-dropdown.open>.dropdown-menu{display:block;}
}



/* ===== Contrast refresh (readability) ===== */
body{ background:#f6f7fb; color:#0f172a; }
a{ color:#0b3a8a; }
a:hover{ color:#072a66; }

/* Header: light, modern */
.site-header{ background:#ffffff; border-bottom:1px solid rgba(15,23,42,.10); }
.site-header .brand, .site-header a{ color:#0f172a; }
.site-header .nav-list a.active{ background: rgba(11,58,138,.10); }
.site-header .dropdown-menu{ background:#fff; border:1px solid rgba(15,23,42,.12); }

/* Buttons */
.btn, .btn-call, .btn-whatsapp{ border-radius:12px; }
.btn-call{ background:#f59e0b; color:#111827; border:1px solid rgba(0,0,0,.12); }
.btn-whatsapp{ background:#16a34a; color:#ffffff; border:1px solid rgba(0,0,0,.08); }
.btn-call:hover{ filter:brightness(.97); }
.btn-whatsapp:hover{ filter:brightness(.97); }

/* Sections/cards */
.section, .card, .panel, .pricing-card{ background:#ffffff; border:1px solid rgba(15,23,42,.10); box-shadow:0 10px 30px rgba(2,6,23,.06); }
.section-title, h1,h2,h3{ color:#0f172a; }

/* Tables (Services page) */
table{ background:#ffffff; color:#0f172a; }
table thead th{ background:#0b3a8a; color:#ffffff; }
table td, table th{ border-color: rgba(15,23,42,.12); }
table tbody tr:nth-child(even){ background:#f3f6ff; }
table tbody td{ color:#0f172a; }



/* Dropdown usability: keep open while moving mouse */
.site-header .nav-dropdown:hover > .dropdown-menu,
.site-header .nav-dropdown:focus-within > .dropdown-menu { display:block; }

/* Hover bridge to prevent gap close */
.site-header .nav-dropdown > .dropdown-menu::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-10px;
  height:10px;
}



/* ===== Header compact (height + spacing) ===== */
.site-header .header-content{ padding:10px 16px !important; }
.site-header .logo{ padding:10px 14px !important; font-size:1.1rem !important; }
.site-header .nav-list{ gap:10px !important; }
.site-header .nav-list a{ padding:8px 10px !important; border-radius:10px !important; font-weight:600; }
.site-header .nav-cta a.btn{ padding:9px 12px !important; border-radius:12px !important; }
.site-header .btn-call, .site-header .btn-whatsapp{ min-height:36px; }
@media (max-width: 980px){
  .site-header .header-content{ padding:10px 12px !important; }
}

/* ===== Footer: solid contrast (no washed text) ===== */
footer{ background:#0b1020 !important; color:#e5e7eb !important; }
footer h3{ color:#ffffff !important; }
footer p, footer li{ color:#e5e7eb !important; opacity:1 !important; }
footer a{ color:#fbbf24 !important; text-decoration:none; }
footer a:hover{ color:#fde68a !important; text-decoration:underline; }
.footer-content{ padding:28px 18px !important; }
.footer-section ul li{ margin:8px 0 !important; }
.footer-section{ margin-bottom:16px; }

/* ===== Avocatura theme: sculpted dark + gold (logo palette) ===== */
.theme-law body{ background:#0b1020; }
.theme-law main{ background:linear-gradient(180deg, #0b1020 0%, #0f172a 30%, #ffffff 100%); }
.theme-law .law-hero{
  background: radial-gradient(1200px 600px at 20% 20%, rgba(251,191,36,.18), transparent 60%),
              radial-gradient(900px 500px at 80% 10%, rgba(245,158,11,.14), transparent 55%),
              linear-gradient(180deg, #0b1020 0%, #111827 100%);
  color:#f8fafc;
  border-bottom:1px solid rgba(251,191,36,.18);
}
.theme-law .law-hero h1, .theme-law .law-hero h2{ color:#ffffff !important; }
.theme-law .law-hero .subtitle, .theme-law .law-hero p{ color:rgba(248,250,252,.86) !important; }
.theme-law .law-hero a{ color:#fbbf24 !important; }
.theme-law .law-hero .btn-call{ background:#fbbf24 !important; color:#111827 !important; }

.theme-law .card, .theme-law .panel, .theme-law .pricing-card{
  border:1px solid rgba(17,24,39,.14) !important;
  box-shadow:0 16px 40px rgba(2,6,23,.10) !important;
}
.theme-law .section-title, .theme-law h2, .theme-law h3{ color:#111827 !important; }
.theme-law .badge, .theme-law .tag{
  background:rgba(251,191,36,.14);
  border:1px solid rgba(245,158,11,.24);
  color:#92400e;
}
