/*
Theme Name: Kanzlei Akcan
Theme URI: https://kanzlei-akcan.de
Author: Kanzlei Akcan
Author URI: https://kanzlei-akcan.de
Description: Premium WordPress Theme für Kanzlei Akcan – Migrationsrecht & Einbürgerung Frankfurt am Main.
Version: 5.2.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: Private
Text Domain: kanzlei-akcan
*/

/* WordPress Global Overrides for 1:1 Identity with Localhost */
html, body {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* Override WordPress Block Library & Core global-styles margins/paddings */
body, .wp-site-blocks, .site-content, .entry-content, main, article {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Fix section margins & padding resets */
*, *::before, *::after {
  box-sizing: border-box !important;
}

section {
  box-sizing: border-box !important;
}

.section-container, .navbar-container, .footer-container, .page-body, .main-content, .hero-content {
  box-sizing: border-box !important;
  max-width: 1040px !important;
}

/* Unified Section Titles across all pages (Matching Bild 1) */
.section-title, .schnelltest-text h2, section h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem) !important;
  line-height: 1.25 !important;
}


    /* ── Desktop Refinements ── */
    @media (min-width: 769px) {
      .navbar { padding: 0.65rem 0 !important; }
      .logo { font-size: 1.08rem !important; }
      .nav-links a, .nav-dropdown-trigger { font-size: 0.76rem !important; margin-left: 1.35rem !important; }
      .nav-cta { padding: 0.45rem 0.95rem !important; font-size: 0.75rem !important; }
      .nav-dropdown { margin-left: 1.35rem !important; }
      
      .trust-bar { padding: 1.25rem 1.5rem !important; }
      .trust-number { font-size: 1.35rem !important; }
      .trust-label { font-size: 0.68rem !important; }
      
      #schnelltest-highlight { padding: 4rem 2rem !important; }
      #schnelltest-highlight .btn-primary {
        font-size: 0.82rem !important;
        padding: 0.75rem 1.5rem !important;
        border-radius: 6px !important;
      }
      .mockup-container { max-width: 360px !important; }
      .mockup-phone {
        width: 220px !important;
        height: 440px !important;
        border-width: 9px !important;
        border-radius: 28px !important;
      }
      
      .services-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1.5rem !important;
      }
      .service-card {
        width: auto !important;
      }
      .service-card[style*="grid-column: span 2"] {
        grid-column: span 2 !important;
      }
    }

@media (max-width: 768px) {
      #schnelltest-highlight {
        padding: 3.5rem 1rem 4rem !important;
      }
      #schnelltest-highlight .container {
        display: flex !important;
        flex-direction: column !important;
        gap: 3.5rem !important;
        align-items: center !important;
      }
      .schnelltest-text {
        order: 1 !important;
        text-align: center !important;
        margin-bottom: 0 !important;
      }
      .schnelltest-mockup {
        order: 2 !important;
        margin-top: 3.5rem !important;
        margin-bottom: 2rem !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        position: relative !important;
      }
      .mockup-container {
        max-width: 250px !important;
        margin: 0 auto !important;
        aspect-ratio: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 1.5rem !important;
      }
      .mockup-phone {
        position: relative !important;
        transform: none !important;
        width: 210px !important;
        height: 380px !important;
        border-width: 8px !important;
        border-radius: 26px !important;
        margin: 0 auto !important;
      }
      .mockup-bg-circle {
        display: none !important;
      }
      .mockup-popup {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important;
        animation: none !important;
        width: 230px !important;
        margin: 0 auto !important;
        padding: 16px 14px !important;
        box-sizing: border-box !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
        border: 1px solid var(--border) !important;
        background: #ffffff !important;
      }
}

@media (max-width: 768px) {
      #schnelltest-highlight {
        padding: 3rem 1rem 4rem !important;
      }
      #schnelltest-highlight .container {
        display: flex !important;
        flex-direction: column !important;
        gap: 3rem !important;
        align-items: center !important;
      }
      .schnelltest-text {
        order: 1 !important;
        text-align: center !important;
        margin-bottom: 0 !important;
      }
      .schnelltest-mockup {
        order: 2 !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 2.5rem auto 1.5rem !important;
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
      }
      .mockup-container {
        position: relative !important;
        width: 100% !important;
        max-width: 300px !important;
        aspect-ratio: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
      }
      .mockup-bg-circle {
        display: block !important;
        position: absolute !important;
        width: 85% !important;
        height: 85% !important;
        background: #f0ede6 !important;
        border-radius: 50% !important;
        z-index: 0 !important;
        right: -2% !important;
        top: 5% !important;
      }
      .mockup-phone {
        display: flex !important;
        position: relative !important;
        z-index: 1 !important;
        width: 190px !important;
        height: 380px !important;
        background: #fff !important;
        border-radius: 30px !important;
        border: 9px solid #1a1a1a !important;
        box-shadow: 0 15px 35px rgba(0,0,0,0.15) !important;
        transform: rotate(6deg) !important;
        overflow: hidden !important;
        flex-direction: column !important;
        margin-left: 45px !important;
      }
      .mockup-popup {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        top: 15% !important;
        left: 0% !important;
        width: 215px !important;
        background: #fff !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 40px rgba(0,0,0,0.16) !important;
        padding: 20px 16px !important;
        text-align: center !important;
        transform: rotate(-4deg) !important;
        border: 1px solid rgba(0,0,0,0.06) !important;
        animation: floatPopup 6s ease-in-out infinite !important;
        box-sizing: border-box !important;
      }
}

@media (max-width: 768px) {
      #schnelltest-highlight {
        padding: 3rem 0.75rem 4rem !important;
      }
      #schnelltest-highlight .container {
        display: flex !important;
        flex-direction: column !important;
        gap: 3.5rem !important;
        align-items: center !important;
      }
      .schnelltest-text {
        order: 1 !important;
        text-align: center !important;
        margin-bottom: 0 !important;
      }
      .schnelltest-mockup {
        order: 2 !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 3.5rem auto 2rem !important;
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
      }
      .mockup-container {
        position: relative !important;
        width: 290px !important;
        height: 410px !important;
        aspect-ratio: auto !important;
        display: block !important;
        margin: 0 auto !important;
      }
      .mockup-bg-circle {
        display: block !important;
        position: absolute !important;
        width: 230px !important;
        height: 230px !important;
        background: #f0ede6 !important;
        border-radius: 50% !important;
        z-index: 0 !important;
        right: 0 !important;
        top: 40px !important;
      }
      .mockup-phone {
        display: flex !important;
        position: absolute !important;
        z-index: 1 !important;
        right: 10px !important;
        top: 0 !important;
        width: 185px !important;
        height: 375px !important;
        background: #fff !important;
        border-radius: 28px !important;
        border: 9px solid #1a1a1a !important;
        box-shadow: 0 15px 35px rgba(0,0,0,0.15) !important;
        transform: rotate(6deg) !important;
        overflow: hidden !important;
        flex-direction: column !important;
      }
      .mockup-popup {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        top: 95px !important;
        left: 0 !important;
        width: 205px !important;
        background: #fff !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important;
        padding: 18px 14px !important;
        text-align: center !important;
        transform: rotate(-4deg) !important;
        border: 1px solid rgba(0,0,0,0.06) !important;
        animation: floatPopup 6s ease-in-out infinite !important;
        box-sizing: border-box !important;
      }
}

@media (max-width: 768px) {
      #schnelltest-highlight {
        padding: 3rem 0.75rem 4.5rem !important;
      }
      #schnelltest-highlight .container {
        display: flex !important;
        flex-direction: column !important;
        gap: 3.5rem !important;
        align-items: center !important;
      }
      .schnelltest-text {
        order: 1 !important;
        text-align: center !important;
        margin-bottom: 0 !important;
      }
      .schnelltest-mockup {
        order: 2 !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 3.5rem auto 2rem !important;
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
      }
      .mockup-container {
        position: relative !important;
        width: 290px !important;
        height: 410px !important;
        aspect-ratio: auto !important;
        display: block !important;
        margin: 0 auto !important;
      }
      .mockup-bg-circle {
        display: block !important;
        position: absolute !important;
        width: 230px !important;
        height: 230px !important;
        background: #f0ede6 !important;
        border-radius: 50% !important;
        z-index: 0 !important;
        right: 0 !important;
        top: 40px !important;
      }
      .mockup-phone {
        display: flex !important;
        position: absolute !important;
        z-index: 1 !important;
        right: 10px !important;
        top: 0 !important;
        width: 185px !important;
        height: 375px !important;
        background: #fff !important;
        border-radius: 28px !important;
        border: 9px solid #1a1a1a !important;
        box-shadow: 0 15px 35px rgba(0,0,0,0.15) !important;
        transform: rotate(6deg) !important;
        overflow: hidden !important;
        flex-direction: column !important;
      }
      .mockup-popup {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        top: 95px !important;
        left: 0 !important;
        width: 205px !important;
        background: #fff !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important;
        padding: 18px 14px !important;
        text-align: center !important;
        transform: rotate(-4deg) !important;
        border: 1px solid rgba(0,0,0,0.06) !important;
        animation: floatPopup 6s ease-in-out infinite !important;
        box-sizing: border-box !important;
      }
}

@media (max-width: 768px) {
      #schnelltest-highlight {
        padding: 2.2rem 0.75rem 2.2rem !important;
      }
      #schnelltest-highlight .container {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.2rem !important;
        align-items: center !important;
      }
      .schnelltest-mockup {
        margin-top: 0.8rem !important;
        margin-bottom: 0.5rem !important;
      }
      .schnelltest-mockup img {
        margin: 0.5rem auto !important;
      }
}


    @media (min-width: 769px) {
      .hero-title {
        font-size: clamp(1.75rem, 3.6vw, 3.1rem) !important;
        line-height: 1.12 !important;
      }
    }



/* ── Contact Form 7 Exact Original Design ── */
.contact-form .wpcf7, .wpcf7-form {
  background: var(--bg-card);
  padding: 2.2rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  box-sizing: border-box;
}
.wpcf7-form p {
  margin-bottom: 1.25rem !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--text-primary) !important;
}
.wpcf7-form-control-wrap {
  display: block !important;
  margin-top: 0.4rem !important;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100% !important;
  padding: 0.85rem 1.1rem !important;
  background: var(--bg-alt) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  color: var(--text-primary) !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus {
  outline: none !important;
  border-color: var(--accent-color) !important;
  background: #ffffff !important;
}
.wpcf7 input[type="submit"], .wpcf7-submit {
  width: 100% !important;
  background: var(--accent-color) !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 1rem 2rem !important;
  border-radius: var(--radius) !important;
  cursor: pointer !important;
  margin-top: 1rem !important;
  transition: background 0.2s !important;
}
.wpcf7 input[type="submit"]:hover, .wpcf7-submit:hover {
  background: var(--accent-hover) !important;
}
.wpcf7-response-output {
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 0.85rem !important;
  margin-top: 1.25rem !important;
  border-color: var(--accent-color) !important;
  background: rgba(122,140,110,0.1) !important;
  color: var(--text-primary) !important;
}
@media (max-width: 768px) {
  .contact-form .wpcf7, .wpcf7-form {
    padding: 1.5rem 1rem !important;
  }
}

/* ── Remove Triple Nested Borders on Contact Form 7 ── */
body .contact-form {
  background: var(--bg-card, #ffffff) !important;
  padding: 2.5rem !important;
  border-radius: var(--radius, 12px) !important;
  border: 1px solid var(--border, rgba(0,0,0,0.08)) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
  box-sizing: border-box !important;
}

body .contact-form .wpcf7,
body .contact-form form.wpcf7-form,
body form.wpcf7-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
}

body .contact-form .wpcf7 p,
body form.wpcf7-form p {
  margin-bottom: 1.25rem !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--text-primary, #3a322c) !important;
  display: block !important;
}

body .contact-form .wpcf7 span.wpcf7-form-control-wrap,
body form.wpcf7-form span.wpcf7-form-control-wrap {
  display: block !important;
  margin-top: 0.4rem !important;
  width: 100% !important;
}

body .contact-form .wpcf7 input[type="text"],
body .contact-form .wpcf7 input[type="email"],
body .contact-form .wpcf7 input[type="tel"],
body .contact-form .wpcf7 select,
body .contact-form .wpcf7 textarea,
body form.wpcf7-form input[type="text"],
body form.wpcf7-form input[type="email"],
body form.wpcf7-form input[type="tel"],
body form.wpcf7-form select,
body form.wpcf7-form textarea {
  width: 100% !important;
  padding: 0.85rem 1.1rem !important;
  background: var(--bg-alt, #f8f7f3) !important;
  border: 1px solid var(--border, rgba(0,0,0,0.08)) !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--font-body, Inter, sans-serif) !important;
  font-size: 0.9rem !important;
  color: var(--text-primary, #3a322c) !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, background 0.2s !important;
}

body .contact-form .wpcf7 input:focus,
body .contact-form .wpcf7 select:focus,
body .contact-form .wpcf7 textarea:focus,
body form.wpcf7-form input:focus,
body form.wpcf7-form select:focus,
body form.wpcf7-form textarea:focus {
  outline: none !important;
  border-color: var(--accent-color, #7a8c6e) !important;
  background: #ffffff !important;
}

body .contact-form .wpcf7 input[type="submit"],
body .contact-form .wpcf7 .wpcf7-submit,
body form.wpcf7-form input[type="submit"],
body form.wpcf7-form .wpcf7-submit {
  width: 100% !important;
  background: var(--accent-color, #7a8c6e) !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 1rem 2rem !important;
  border-radius: var(--radius, 8px) !important;
  cursor: pointer !important;
  margin-top: 1rem !important;
  transition: background 0.2s !important;
}

body .contact-form .wpcf7 input[type="submit"]:hover,
body .contact-form .wpcf7 .wpcf7-submit:hover,
body form.wpcf7-form input[type="submit"]:hover,
body form.wpcf7-form .wpcf7-submit:hover {
  background: var(--accent-hover, #647558) !important;
}

body .wpcf7-response-output {
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 0.85rem !important;
  margin-top: 1.25rem !important;
  border-color: #7a8c6e !important;
  background: rgba(122,140,110,0.1) !important;
  color: #3a322c !important;
}

@media (max-width: 768px) {
  body .contact-form {
    padding: 1.5rem 1rem !important;
  }
}