
  :root{
    --navy:#0f3661;
    --navy-deep:#081b30;
    --sand:#f4f7f9;
    --paper:#ffffff;
    --accent:#f2c21a;
    --accent-dark:#c79e12;
    --heading-blue:#066aad;
    --text:#42435d;
    --text-soft:#5c6b75;
    --line:#dde5ea;
    --radius:14px;
    --shadow:0 20px 45px -20px rgba(15,54,97,.28);
  }
  /* Keep the original mockup reset low-specificity so component rules can override it.
     The previous version prefixed this reset with body.traore-theme, which made it
     stronger than .wrap/.pillar/.section-head etc. inside Elementor. */
  .traore-site-block, .traore-site-block *{box-sizing:border-box;}
  .traore-site-block *{margin:0;padding:0;}
  body.traore-theme{
    font-family:'Inter',system-ui,sans-serif;
    color:var(--text);
    background:var(--sand);
    line-height:1.6;
  }
  body.traore-theme h1,body.traore-theme h2,body.traore-theme h3,body.traore-theme .serif{
    font-family:'Fraunces',serif;
    font-weight:600;
    letter-spacing:-.01em;
  }
  .traore-site-block a{text-decoration:none;color:inherit;}
  .traore-site-block img{max-width:100%;display:block;}
  .wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 26px;border-radius:999px;
    font-weight:600;font-size:.95rem;
    transition:transform .15s ease, box-shadow .15s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--accent);color:var(--navy);box-shadow:0 12px 24px -10px rgba(242,194,26,.5);}
  .btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px);}
  .btn-ghost{background:transparent;color:var(--paper);border:1.5px solid rgba(255,255,255,.5);}
  .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
  .btn-outline{border:1.5px solid var(--navy);color:var(--navy);}
  .btn-outline:hover{background:var(--navy);color:#fff;}


  html, body{margin:0;padding:0;}
  body.traore-theme, body.traore-theme .elementor-page, body.traore-theme .entry-content{margin:0;padding:0;}
  body.traore-theme .elementor-widget-container{margin:0;}
  body.traore-theme .elementor > .traore-root,
  body.traore-theme .elementor .traore-root,
  body.traore-theme .elementor .e-con.traore-root,
  body.traore-theme .elementor .elementor-element.traore-root{
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
    min-height:0 !important;
    align-content:stretch;
    background:transparent;
  }
  body.traore-theme .elementor .elementor-widget-traore-topbar,
  body.traore-theme .elementor .elementor-widget-traore-header,
  body.traore-theme .elementor .elementor-widget-traore-topbar > .elementor-widget-container,
  body.traore-theme .elementor .elementor-widget-traore-header > .elementor-widget-container{
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
  }
  body.traore-theme .elementor .traore-root + .traore-root{margin-top:0 !important;}

  /* Topbar */
  .topbar{background:var(--navy-deep);color:#cfe0e6;font-size:.82rem;position:sticky;top:0;z-index:51;}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;}
  .topbar .contact-line{display:flex;gap:22px;}
  .topbar .contact-line span{opacity:.85;}
  .lang-switch{display:flex;gap:2px;background:rgba(255,255,255,.08);border-radius:999px;padding:3px;}
  .lang-switch button,.lang-switch a{border:0;background:transparent;color:#cfe0e6;font-size:.78rem;font-weight:600;padding:4px 11px;border-radius:999px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;text-decoration:none;}
  .lang-switch button.active,.lang-switch a.active{background:var(--accent);color:var(--navy);}

  /* Header */
  header.main{background:var(--navy);position:sticky;top:38px;z-index:50;box-shadow:0 2px 20px rgba(0,0,0,.12);}
  .header-top{display:flex;align-items:center;justify-content:space-between;gap:24px;height:70px;flex-wrap:nowrap;}
  .logo{display:flex;align-items:center;gap:12px;color:#fff;flex:0 0 auto;white-space:nowrap;}
  .logo .mark{
    width:42px;height:42px;border-radius:10px;
    background:linear-gradient(135deg,var(--navy),#1c4d80);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:600;color:#fff;font-size:1.1rem;
    flex:0 0 auto;
  }
  .logo-mark{width:42px;height:42px;flex:0 0 auto;display:block;}
  .logo .name{font-size:1.02rem;font-weight:700;line-height:1.15;white-space:nowrap;}
  .logo .sub{font-size:.72rem;color:#a9c1cb;font-weight:400;white-space:nowrap;}
  nav.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding:0;}
  .nav-crumb{font-size:.78rem;color:#8fa9b5;white-space:nowrap;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;padding:13px 0;}
  .nav-crumb a{color:#8fa9b5;}
  .nav-crumb a:hover{color:#fff;}
  .nav-items{display:flex;gap:20px;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:1 1 auto;min-width:0;}
  nav.primary .nav-item{position:relative;padding:13px 0;}
  nav.primary a{color:#dde9ec;font-size:.9rem;font-weight:500;padding:8px 0;position:relative;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
  nav.primary a:hover{color:#fff;}
  nav.primary .nav-item > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .2s;}
  nav.primary .nav-item > a:hover::after{width:100%;}
  .caret{font-size:.55rem;opacity:.75;}
  .header-cta{display:flex;align-items:center;gap:14px;position:relative;flex:0 0 auto;white-space:nowrap;}

  /* Dropdowns */
  .mega{
    position:absolute;top:100%;left:50%;transform:translateX(-50%);
    background:#fff;border-radius:12px;box-shadow:var(--shadow);
    padding:26px;display:none;gap:36px;min-width:600px;
    border:1px solid var(--line);z-index:60;
  }
  .nav-item:hover .mega{display:flex;}
  .mega-col{flex-shrink:0;}
  .mega-col h5{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-dark);margin-bottom:12px;font-weight:700;white-space:nowrap;}
  .mega-col ul{list-style:none;display:grid;gap:9px;}
  .mega-col ul a{font-size:.85rem;color:var(--text);padding:6px 10px;margin:0 -10px;border-radius:8px;display:block;}
  .mega-col ul a:hover{background:var(--sand);color:var(--accent-dark);}
  .simple-drop{
    position:absolute;top:100%;left:0;background:#fff;border-radius:12px;box-shadow:var(--shadow);
    padding:10px;display:none;min-width:230px;border:1px solid var(--line);z-index:60;
  }
  .nav-item:hover .simple-drop{display:block;}
  header.main div.simple-drop a{display:block;padding:9px 12px;font-size:.85rem;color:var(--text);border-radius:8px;}
  header.main div.simple-drop a:hover{background:var(--sand);color:var(--accent-dark);}
  .login-item{position:relative;padding:0;}
  .login-btn{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.35);color:#fff;font-size:.85rem;padding:10px 18px;border-radius:999px;font-weight:600;}
  .login-btn:hover{background:rgba(255,255,255,.18);color:#fff;}
  .login-item .simple-drop{left:auto;right:0;}
  .offer-item{position:relative;padding:0;}
  .offer-btn{background:var(--accent);color:var(--navy);font-size:.85rem;padding:10px 18px;border-radius:999px;font-weight:600;}
  .offer-btn:hover{background:var(--accent-dark);}
  .offer-item .simple-drop{left:auto;right:0;}
  .nav-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--navy);font-size:.68rem;font-weight:700;margin-right:6px;flex-shrink:0;}
  .bereich-letter{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;background:var(--navy);color:#fff;font-size:.68rem;font-weight:700;flex-shrink:0;margin-right:8px;}
  .mega-col h5{display:flex;align-items:center;}
  .item-num{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--line);color:var(--text-soft);font-size:.62rem;margin-right:7px;flex-shrink:0;}
  .mega-col ul a{display:flex;align-items:center;}
  header.main div.simple-drop a{display:flex;align-items:center;}

  /* Back to top */
  .back-to-top{position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -8px rgba(15,54,97,.45);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease, transform .25s ease, visibility .25s ease;z-index:55;border:none;cursor:pointer;font-size:1.3rem;line-height:1;}
  .back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
  .back-to-top:hover{background:var(--accent-dark);}

  /* Hero */
  .hero{
    background-image:radial-gradient(circle at 78% 15%, rgba(242,194,26,.22), transparent 55%), linear-gradient(180deg,rgba(15,54,97,.90) 0%, rgba(8,27,48,.94) 100%);
    background-size:cover;background-position:center;
    color:#fff;padding:78px 0 96px;position:relative;overflow:hidden;
  }
  .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:7px 16px;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--accent);margin-bottom:22px;}
  .hero h1{font-size:2.7rem;line-height:1.14;color:#fff;margin-bottom:20px;}
  .hero h1 em{font-style:normal;color:var(--accent);}
  .hero p.lead{font-size:1.12rem;color:#c8dbe1;max-width:520px;margin-bottom:32px;}
  .hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px;}
  .hero .trust-row{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);padding-top:24px;}
  .hero .trust-row .item{font-size:.82rem;color:#aec6cf;display:flex;align-items:center;gap:8px;}
  .hero .trust-row .item b{color:#fff;display:block;font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600;}

  .hero-portrait{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:14px;}
  .portrait-card{
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
    border-radius:24px;padding:22px;backdrop-filter:blur(6px);width:100%;max-width:340px;
  }
  .portrait-photo{
    position:relative;
    width:100%;aspect-ratio:1/1.08;border-radius:16px;
    background:linear-gradient(150deg,#3a5a68,#1a3644 60%,#0b2029);
    display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,.5);font-family:'Fraunces',serif;font-size:3.4rem;font-weight:600;
    border:1px solid rgba(255,255,255,.1);
  }
  .portrait-caption{margin-top:16px;color:#fff;}
  .portrait-caption .role{font-size:.82rem;color:#a9c1cb;}
  .lang-stack{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:0;flex-shrink:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 10px;box-shadow:var(--shadow);}
  .lang-stack .globe{font-size:1.15rem;line-height:1;}
  .lang-stack .lang-item{color:var(--navy);font-size:.72rem;font-weight:700;text-align:center;letter-spacing:.02em;}

  /* Sections generic */
  section.traore-site-block{padding:88px 0;}
  .section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
  .section-head .kicker{color:var(--accent-dark);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:12px;}
  .section-head h2{font-size:2.1rem;color:var(--navy);margin-bottom:14px;}
  .section-head p{color:var(--text-soft);font-size:1.02rem;}

  /* Pillars */
  .pillars{background:var(--paper);}
  .pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .pillar{
    background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);
    padding:30px 24px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .pillar:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:#fff;}
  .pillar .num{font-family:'Fraunces',serif;font-size:.9rem;color:var(--accent-dark);font-weight:600;margin-bottom:14px;}
  .pillar .icon{width:46px;height:46px;border-radius:12px;background:var(--navy);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:18px;}
  .pillar h3{font-size:1.12rem;color:var(--navy);margin-bottom:10px;font-family:'Inter';font-weight:700;}
  .pillar p{font-size:.9rem;color:var(--text-soft);margin-bottom:16px;}
  .pillar a.link{font-size:.85rem;font-weight:700;color:var(--accent-dark);}
  .pillar a.link:hover{text-decoration:underline;}

  /* Split about */
  .about{background:var(--sand);}
  .about .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;}
  .about-media{background:linear-gradient(150deg,#dbe6ee,#f4f7f9);border-radius:20px;padding:26px;border:1px solid var(--line);}
  .about-media .photo{
    aspect-ratio:4/5;border-radius:14px;background:linear-gradient(150deg,#3a5a68,#12303f);
    display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);
    font-family:'Fraunces',serif;font-size:2.6rem;
  }
  .about-copy .kicker{color:var(--accent-dark);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:12px;}
  .about-copy h2{font-size:2rem;color:var(--navy);margin-bottom:18px;}
  .about-copy p{color:var(--text-soft);margin-bottom:16px;}
  .about-copy ul{list-style:none;display:grid;gap:12px;margin:24px 0 28px;}
  .about-copy ul li{display:flex;gap:12px;font-size:.94rem;color:var(--text);align-items:flex-start;}
  .about-copy ul li .check{width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;font-size:.72rem;margin-top:2px;}

  /* Testimonials */
  .testimonials{background:var(--navy);color:#fff;}
  .testimonials .section-head h2{color:#fff;}
  .testimonials .section-head p{color:#aec6cf;}
  .t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .t-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:26px;}
  .t-card .stars{color:var(--accent);font-size:.85rem;margin-bottom:14px;letter-spacing:2px;}
  .t-card p{font-size:.92rem;color:#dbe6ea;margin-bottom:18px;}
  .t-card .who{font-size:.85rem;font-weight:700;color:#fff;}
  .t-card .flag{font-size:.78rem;color:#a9c1cb;font-weight:400;}

  /* CTA */
  .cta{background:linear-gradient(120deg,var(--accent),var(--accent-dark));color:#fff;text-align:center;padding:70px 0;}
  .cta h2{color:#fff;font-size:2rem;margin-bottom:14px;}
  .cta p{color:rgba(255,255,255,.9);max-width:480px;margin:0 auto 30px;}
  .cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .cta .btn-primary{background:var(--navy);color:#fff;box-shadow:0 12px 24px -10px rgba(8,27,48,.5);}
  .cta .btn-primary:hover{background:var(--navy-deep);}

  /* Contact form */
  .contact-form{background:var(--paper);}
  .contact-form .form-wrap{
    max-width:760px;margin:0 auto;background:var(--sand);border:1px solid var(--line);
    border-radius:var(--radius);padding:44px;box-shadow:var(--shadow);
  }
  .contact-form form{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .contact-form .field{display:flex;flex-direction:column;gap:7px;}
  .contact-form .field.full{grid-column:1/-1;}
  .contact-form label{font-size:.85rem;font-weight:600;color:var(--navy);}
  .contact-form label .req{color:var(--accent-dark);}
  .contact-form input[type="text"],
  .contact-form input[type="tel"],
  .contact-form input[type="email"],
  .contact-form textarea{
    font-family:inherit;font-size:.92rem;color:var(--text);
    border:1.5px solid var(--line);border-radius:9px;padding:11px 14px;
    background:#fff;outline:none;transition:border-color .15s ease;
  }
  .contact-form input:focus,
  .contact-form textarea:focus{border-color:var(--accent-dark);}
  .contact-form textarea{resize:vertical;min-height:120px;}
  .contact-form .radio-row{display:flex;gap:22px;padding-top:4px;}
  .contact-form .radio-row label{display:flex;align-items:center;gap:7px;font-weight:500;color:var(--text);cursor:pointer;}
  .contact-form .radio-row input{accent-color:var(--accent-dark);width:16px;height:16px;}
  .contact-form .consent{display:flex;align-items:flex-start;gap:10px;}
  .contact-form .consent input{margin-top:3px;accent-color:var(--accent-dark);width:16px;height:16px;flex:none;}
  .contact-form .consent label{font-size:.82rem;font-weight:400;color:var(--text-soft);line-height:1.5;}
  .contact-form .consent a{text-decoration:underline;color:var(--text-soft);}
  .contact-form .form-actions{display:flex;gap:14px;align-items:center;}
  .contact-form .btn-reset{background:transparent;border:1.5px solid var(--line);color:var(--text-soft);padding:13px 26px;border-radius:999px;font-weight:600;font-size:.95rem;font-family:inherit;cursor:pointer;}
  .contact-form .btn-reset:hover{border-color:var(--navy);color:var(--navy);}
  .contact-form button.btn-primary{border:0;cursor:pointer;font-family:inherit;}

  /* Footer */
  footer.traore-site-block{background:var(--navy-deep);color:#a9c1cb;padding:64px 0 28px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
  .footer-grid h4{color:#fff;font-size:.92rem;margin-bottom:16px;}
  .footer-grid ul{list-style:none;display:grid;gap:10px;font-size:.88rem;}
  .footer-grid ul a:hover{color:#fff;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;font-size:.8rem;flex-wrap:wrap;gap:10px;}

  @media(max-width:900px){
    nav.primary{display:none;}
    .hero .wrap{grid-template-columns:1fr;}
    .hero-portrait{max-width:340px;margin:0 auto;flex-direction:column;align-items:center;gap:12px;}
    .lang-stack{flex-direction:row;margin-top:0;}
    .pillar-grid{grid-template-columns:repeat(2,1fr);}
    .about .wrap{grid-template-columns:1fr;}
    .t-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .hero h1{font-size:2.1rem;}
    .contact-form form{grid-template-columns:1fr;}
    .contact-form .form-wrap{padding:28px;}
  }

/* badge-style-c */
  .nav-num{background:transparent;border:none;color:#9aa4ab;font-weight:600;width:auto;height:auto;margin-right:5px;}
  .bereich-letter{background:transparent;border:none;color:#9aa4ab;font-weight:600;width:auto;height:auto;border-radius:0;margin-right:6px;}
  .item-num{background:transparent;border:none;color:#b7bfc5;width:auto;height:auto;margin-right:5px;}

/* Elementor integration — v1.1\n   Each custom homepage block is deliberately full-bleed, while .wrap recreates\n   the original 1160 px centered content area from the supplied HTML mockup. */
body.traore-theme{
  margin:0;
  overflow-x:clip;
}
body.traore-theme .elementor{overflow:visible;}

/* Elementor can generate either boxed or full-width root containers depending on
   site defaults/version. Force only ROOT page containers to be neutral. */
body.traore-theme [data-elementor-type="wp-page"] > .e-con.e-parent,
body.traore-theme .e-con.traore-root{
  --container-max-width:100%;
  --content-width:100%;
  --padding-top:0;
  --padding-right:0;
  --padding-bottom:0;
  --padding-left:0;
  --gap:0;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}
body.traore-theme [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con-inner,
body.traore-theme .e-con.traore-root > .e-con-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}
body.traore-theme [data-elementor-type="wp-page"] > .e-con.e-parent > .elementor-widget,
body.traore-theme [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con-inner > .elementor-widget,
body.traore-theme .e-con.traore-root > .elementor-widget,
body.traore-theme .e-con.traore-root > .e-con-inner > .elementor-widget{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  align-self:stretch !important;
  --container-widget-width:100%;
  --container-widget-flex-grow:1;
}
body.traore-theme .elementor-widget-container{margin:0;}

/* Full-bleed safeguard: even if Elementor/site settings constrain the widget,
   the supplied design still spans exactly the viewport like the original HTML. */
body.traore-theme .traore-site-block{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  max-width:none;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
}

/* This is the central fix for the screenshot: restore the original centered wrap
   and its 28 px gutters with enough specificity to survive Elementor defaults. */
body.traore-theme .traore-site-block .wrap{
  width:100%;
  max-width:1160px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:28px !important;
  padding-right:28px !important;
  box-sizing:border-box;
}

.traore-site-block p,
.traore-site-block h1,
.traore-site-block h2,
.traore-site-block h3,
.traore-site-block h4,
.traore-site-block h5,
.traore-site-block ul{margin-top:0;}
.traore-header-widget .logo img{width:42px;height:42px;object-fit:contain;}
.traore-header-widget .logo{outline:none;}
.traore-contact-shortcode > *:first-child{margin-top:0;}
.traore-contact-shortcode > *:last-child{margin-bottom:0;}


/* Preserve original mobile gutters and prevent full-bleed rounding issues. */
@media(max-width:900px){
  body.traore-theme .traore-site-block .wrap{
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* ==========================================================
   Elementor fidelity layer — v1.2
   The supplied mockup is plain HTML. Elementor wraps every
   editable block in its own container/widget elements. Those
   wrappers must be layout-neutral, otherwise Elementor's site
   defaults add the white gaps visible in the v1.1 screenshot.
   ========================================================== */

body.traore-theme [data-elementor-type="wp-page"],
body.traore-theme [data-elementor-type="wp-page"] > .elementor-element,
body.traore-theme [data-elementor-type="wp-page"] > .e-con,
body.traore-theme .elementor > .elementor-element,
body.traore-theme .elementor > .e-con,
body.traore-theme .traore-root{
  --container-max-width:100% !important;
  --content-width:100% !important;
  --width:100% !important;
  --min-height:0px !important;
  --padding-top:0px !important;
  --padding-right:0px !important;
  --padding-bottom:0px !important;
  --padding-left:0px !important;
  --margin-top:0px !important;
  --margin-right:0px !important;
  --margin-bottom:0px !important;
  --margin-left:0px !important;
  --gap:0px !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
  row-gap:0 !important;
  column-gap:0 !important;
}

body.traore-theme [data-elementor-type="wp-page"] > .elementor-element > .e-con-inner,
body.traore-theme [data-elementor-type="wp-page"] > .e-con > .e-con-inner,
body.traore-theme .elementor > .elementor-element > .e-con-inner,
body.traore-theme .elementor > .e-con > .e-con-inner,
body.traore-theme .traore-root > .e-con-inner{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
  row-gap:0 !important;
  column-gap:0 !important;
}

/* Neutralise the widget shell itself, including old Elementor
   markup from the already-created v1.0/v1.1 homepage. */
body.traore-theme .elementor-widget:has(> .elementor-widget-container > .traore-site-block),
body.traore-theme .elementor-widget:has(.traore-site-block),
body.traore-theme .elementor-element:has(> .elementor-widget-container > .traore-site-block){
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  align-self:stretch !important;
  --container-widget-width:100% !important;
  --container-widget-flex-grow:1 !important;
}

body.traore-theme .elementor-widget:has(.traore-site-block) > .elementor-widget-container,
body.traore-theme .elementor-element:has(> .elementor-widget-container > .traore-site-block) > .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* If a legacy root container still carries Elementor's default
   padding/gap, remove it only when it contains one of our blocks. */
body.traore-theme .e-con:has(> .elementor-widget > .elementor-widget-container > .traore-site-block),
body.traore-theme .e-con:has(> .e-con-inner > .elementor-widget > .elementor-widget-container > .traore-site-block){
  --padding-top:0px !important;
  --padding-right:0px !important;
  --padding-bottom:0px !important;
  --padding-left:0px !important;
  --gap:0px !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}
body.traore-theme .e-con:has(> .e-con-inner > .elementor-widget > .elementor-widget-container > .traore-site-block) > .e-con-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}

/* Elementor Kit typography is loaded after theme styles on many
   installations. Lock the mockup typography to the supplied values. */
body.traore-theme .traore-site-block{
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.6;
}
body.traore-theme .traore-site-block h1,
body.traore-theme .traore-site-block h2,
body.traore-theme .traore-site-block h3,
body.traore-theme .traore-site-block .serif{
  font-family:'Fraunces',serif !important;
  font-weight:600;
  letter-spacing:-.01em;
}
body.traore-theme .traore-site-block button,
body.traore-theme .traore-site-block input,
body.traore-theme .traore-site-block textarea,
body.traore-theme .traore-site-block select{
  font-family:'Inter',system-ui,sans-serif;
}

/* External SVGs are now fixed with a valid viewBox. Keep the mark
   at the exact 42 x 42 px dimensions used by the supplied HTML. */
body.traore-theme .traore-header-widget .logo-mark{
  width:42px !important;
  height:42px !important;
  max-width:42px !important;
  flex:0 0 42px !important;
}

/* JS fallback for browsers/legacy Elementor DOMs where :has() is unavailable. */
body.traore-theme .traore-widget-shell,
body.traore-theme .traore-widget-shell > .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}


/* v1.4: Elementor root containers around topbar/header must collapse to the
   intrinsic widget height. Elementor can keep spacing in CSS custom properties
   even when the regular padding/min-height declarations are zero. */
body.traore-theme .elementor > .traore-root,
body.traore-theme .elementor .e-con.traore-root,
body.traore-theme .elementor .elementor-element.traore-root{
  --min-height:0px !important;
  --padding-top:0px !important;
  --padding-right:0px !important;
  --padding-bottom:0px !important;
  --padding-left:0px !important;
  --margin-top:0px !important;
  --margin-right:0px !important;
  --margin-bottom:0px !important;
  --margin-left:0px !important;
  --gap:0px !important;
  --row-gap:0px !important;
  --column-gap:0px !important;
  --justify-content:flex-start !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
}
body.traore-theme .elementor .elementor-widget-traore-topbar,
body.traore-theme .elementor .elementor-widget-traore-header,
body.traore-theme .elementor .elementor-widget-traore-topbar > .elementor-widget-container,
body.traore-theme .elementor .elementor-widget-traore-header > .elementor-widget-container{
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}

/* Elementor global link colors must not override the supplied header design. */
body.traore-theme .traore-header-widget a.logo,
body.traore-theme .traore-header-widget a.logo:link,
body.traore-theme .traore-header-widget a.logo:visited,
body.traore-theme .traore-header-widget .logo .name{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.traore-theme .traore-header-widget .logo .sub{
  color:#a9c1cb !important;
  -webkit-text-fill-color:#a9c1cb !important;
}
body.traore-theme .traore-header-widget a.login-btn,
body.traore-theme .traore-header-widget a.login-btn:link,
body.traore-theme .traore-header-widget a.login-btn:visited{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}


/* ==========================================================
   v1.5 — Global Elementor Header
   Topbar + navigation now live in one central Elementor template,
   outside page content. Keep its one root container completely
   layout-neutral so no Elementor whitespace can appear around it.
   ========================================================== */
html, body.traore-theme{margin:0 !important;padding:0 !important;}
body.traore-theme #traore-global-header,
body.traore-theme #traore-global-header > [data-elementor-type],
body.traore-theme #traore-global-header .traore-global-header-root,
body.traore-theme #traore-global-header .e-con.traore-global-header-root{
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
  min-height:0 !important;
  width:100% !important;
  max-width:none !important;
  --padding-top:0px !important;
  --padding-right:0px !important;
  --padding-bottom:0px !important;
  --padding-left:0px !important;
  --margin-top:0px !important;
  --margin-right:0px !important;
  --margin-bottom:0px !important;
  --margin-left:0px !important;
  --gap:0px !important;
  --row-gap:0px !important;
  --column-gap:0px !important;
  --min-height:0px !important;
}
body.traore-theme #traore-global-header .elementor-widget,
body.traore-theme #traore-global-header .elementor-widget-container{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:none !important;
}
/* Elementor can apply theme link colors with greater specificity. */
body.traore-theme #traore-global-header .logo,
body.traore-theme #traore-global-header .logo .name,
body.traore-theme #traore-global-header .login-btn,
body.traore-theme #traore-global-header a.login-btn{
  color:#fff !important;
}
body.traore-theme #traore-global-header .logo .sub{color:#a9c1cb !important;}
body.traore-theme #traore-global-header .offer-btn,
body.traore-theme #traore-global-header a.offer-btn{color:var(--navy) !important;}


/* ==========================================================
   v1.6 — kill Elementor Kit widget spacing inside global header
   Elementor applies margin-block-end via --kit-widget-spacing to
   widgets even when the parent container itself has gap: 0.
   ========================================================== */
body.traore-theme #traore-global-header,
body.traore-theme #traore-global-header [data-elementor-type="section"],
body.traore-theme #traore-global-header .traore-global-header-root,
body.traore-theme #traore-global-header .e-con.traore-global-header-root{
  --kit-widget-spacing:0px !important;
  --widgets-spacing:0px !important;
  --widget-spacing:0px !important;
  --gap:0px !important;
  row-gap:0 !important;
  column-gap:0 !important;
}
body.traore-theme #traore-global-header .elementor-widget,
body.traore-theme #traore-global-header .elementor-widget:not(:last-child),
body.traore-theme #traore-global-header .elementor-element.elementor-widget,
body.traore-theme #traore-global-header .elementor-element.elementor-widget:not(:last-child){
  --kit-widget-spacing:0px !important;
  --widgets-spacing:0px !important;
  margin:0 !important;
  margin-top:0 !important;
  margin-right:0 !important;
  margin-bottom:0 !important;
  margin-left:0 !important;
  margin-block-start:0 !important;
  margin-block-end:0 !important;
  margin-inline-start:0 !important;
  margin-inline-end:0 !important;
}
body.traore-theme #traore-global-header .elementor-widget + .elementor-widget,
body.traore-theme #traore-global-header .elementor-widget-traore-topbar + .elementor-widget-traore-header{
  margin-top:0 !important;
  margin-block-start:0 !important;
}
body.traore-theme #traore-global-header .elementor-widget-traore-topbar,
body.traore-theme #traore-global-header .elementor-widget-traore-topbar > .elementor-widget-container,
body.traore-theme #traore-global-header .elementor-widget-traore-header,
body.traore-theme #traore-global-header .elementor-widget-traore-header > .elementor-widget-container{
  display:block !important;
  line-height:normal;
  margin-block:0 !important;
  padding-block:0 !important;
}


/* ==========================================================
   v1.7 — one sticky global header instead of two offset rows
   The previous admin-bar rule `body.admin-bar header.main{top:70px}`
   physically displaced the navigation and created the visible white strip.
   Keep Topbar + Navigation in normal flow inside one sticky wrapper.
   ========================================================== */
body.traore-theme #traore-global-header{
  position:sticky !important;
  top:0;
  z-index:1000;
  margin:0 !important;
  padding:0 !important;
}
body.traore-theme #traore-global-header .topbar,
body.traore-theme #traore-global-header header.main{
  position:relative !important;
  top:auto !important;
  margin:0 !important;
}
body.admin-bar #traore-global-header{
  top:32px;
}
@media(max-width:782px){
  body.admin-bar #traore-global-header{
    top:46px;
  }
}

/* ==========================================================
   v1.8 — global header must not use page full-bleed offset
   .traore-site-block normally uses left:50% / -50vw so page
   widgets can escape an Elementor content wrapper. The global
   header already lives at viewport level, so that offset must
   be neutralised here only. The hero/page sections keep it.
   ========================================================== */
body.traore-theme #traore-global-header .topbar.traore-site-block,
body.traore-theme #traore-global-header header.main.traore-site-block{
  left:0 !important;
  right:auto !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  transform:none !important;
}


/* ==========================================================
   v1.9 — complete responsive/mobile pass
   ========================================================== */
.mobile-menu-toggle,
.mobile-nav{display:none;}

@media(max-width:900px){
  html,body.traore-theme{overflow-x:hidden;}
  body.traore-theme .traore-site-block .wrap{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  /* Global header */
  body.traore-theme #traore-global-header{width:100%;}
  .topbar{font-size:.72rem;}
  .topbar .wrap{
    min-height:38px;
    height:auto;
    padding-top:7px !important;
    padding-bottom:7px !important;
    gap:8px 12px;
    flex-wrap:wrap;
  }
  .topbar .contact-line{
    display:flex;
    gap:12px;
    align-items:center;
    min-width:0;
  }
  .topbar .contact-line span{white-space:nowrap;}
  .topbar .contact-line img.emoji{width:1em !important;height:1em !important;margin:0 .18em 0 0 !important;vertical-align:-.12em !important;}
  .lang-switch{margin-left:auto;flex:0 0 auto;}
  .lang-switch button{padding:3px 8px;font-size:.7rem;}

  .header-top{height:66px;gap:12px;}
  .logo{gap:9px;min-width:0;}
  body.traore-theme .traore-header-widget .logo-mark{
    width:36px !important;height:36px !important;max-width:36px !important;flex-basis:36px !important;
  }
  .logo .name{font-size:.92rem;}
  .logo .sub{font-size:.64rem;}
  .header-cta{gap:8px;}
  .login-item{display:none;}
  .offer-btn{font-size:.76rem;padding:9px 13px;}
  .offer-btn .caret{display:none;}
  nav.primary{display:none !important;}

  .mobile-menu-toggle{
    display:inline-flex;
    width:42px;height:42px;
    padding:0;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.32);
    background:rgba(255,255,255,.08);
    align-items:center;justify-content:center;flex-direction:column;gap:4px;
    cursor:pointer;flex:0 0 42px;
  }
  .mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .2s ease,opacity .2s ease;}
  .mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0;}
  .mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  .mobile-nav{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    width:100%;
    max-height:calc(100vh - 104px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:var(--navy);
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 32px rgba(5,18,34,.28);
    padding:10px 20px 24px;
    z-index:1005;
  }
  .mobile-menu-open .mobile-nav{display:block;}
  .mobile-nav-main>a,
  .mobile-nav summary{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;padding:13px 4px;
    color:#fff !important;
    font-size:.94rem;font-weight:600;
    border-bottom:1px solid rgba(255,255,255,.11);
    cursor:pointer;list-style:none;
  }
  .mobile-nav summary::-webkit-details-marker{display:none;}
  .mobile-nav summary::after{content:'+';font-size:1.2rem;font-weight:400;color:var(--accent);}
  .mobile-nav details[open] summary::after{content:'−';}
  .mobile-subgroups{padding:8px 4px 14px;display:grid;gap:16px;}
  .mobile-subgroups>div{display:grid;gap:2px;}
  .mobile-subgroups strong{display:block;color:var(--accent);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;margin:8px 0 4px;}
  .mobile-subgroups a{display:block;color:#d8e5ea !important;font-size:.86rem;padding:8px 0;line-height:1.35;}
  .mobile-subgroups.single{display:grid;gap:0;}
  .mobile-nav-login{margin-top:14px;padding:14px;border-radius:12px;background:rgba(255,255,255,.06);display:grid;gap:2px;}
  .mobile-nav-login>span{color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom:5px;}
  .mobile-nav-login a{color:#fff !important;font-size:.86rem;padding:8px 0;}

  /* Hero */
  .hero{padding:52px 0 62px;background-position:center center;}
  .hero .wrap{grid-template-columns:1fr;gap:36px;}
  .hero-copy{max-width:620px;}
  .eyebrow{font-size:.72rem;padding:6px 12px;margin-bottom:18px;}
  .hero h1{font-size:clamp(2rem,8vw,2.45rem);line-height:1.08;margin-bottom:16px;}
  .hero p.lead{font-size:1rem;line-height:1.65;margin-bottom:24px;max-width:none;}
  .hero .actions{gap:10px;margin-bottom:28px;}
  .hero .actions .btn{padding:12px 18px;font-size:.85rem;}
  .hero .trust-row{gap:16px 22px;padding-top:20px;}
  .hero .trust-row .item{font-size:.76rem;}
  .hero .trust-row .item b{font-size:1.08rem;}
  .hero-portrait{max-width:310px;width:100%;margin:0 auto;flex-direction:column;align-items:center;gap:12px;}
  .portrait-card{max-width:310px;padding:16px;border-radius:18px;}
  .portrait-photo{border-radius:12px;}
  .portrait-caption{margin-top:12px;}
  .lang-stack{flex-direction:row;padding:9px 12px;border-radius:12px;gap:10px;}

  /* Sections */
  section.traore-site-block{padding:64px 0;}
  .section-head{margin-bottom:34px;}
  .section-head .kicker,.about-copy .kicker{font-size:.7rem;margin-bottom:9px;}
  .section-head h2,.about-copy h2{font-size:1.75rem;line-height:1.2;margin-bottom:12px;}
  .section-head p{font-size:.94rem;line-height:1.55;}

  .pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .pillar{padding:22px 18px;}
  .pillar .num{margin-bottom:10px;}
  .pillar .icon{width:42px;height:42px;margin-bottom:14px;}
  .pillar h3{font-size:1rem;line-height:1.35;}
  .pillar p{font-size:.86rem;line-height:1.55;}

  .about .wrap{grid-template-columns:1fr;gap:36px;}
  .about-media{padding:16px;border-radius:16px;max-width:430px;width:100%;margin:0 auto;}
  .about-media .photo{border-radius:11px;}
  .about-copy p{font-size:.94rem;line-height:1.6;}
  .about-copy ul{gap:10px;margin:20px 0 24px;}
  .about-copy ul li{font-size:.9rem;}

  .t-grid{grid-template-columns:1fr;gap:14px;}
  .t-card{padding:22px;}
  .t-card p{font-size:.9rem;line-height:1.55;}

  .cta{padding:54px 0;}
  .cta h2{font-size:1.75rem;line-height:1.2;}
  .cta p{font-size:.94rem;margin-bottom:24px;}

  .contact-form .form-wrap{padding:24px;border-radius:12px;box-shadow:0 12px 28px -18px rgba(15,54,97,.35);}
  .contact-form form{grid-template-columns:1fr;gap:16px;}
  .contact-form .field.full{grid-column:auto;}
  .contact-form input[type="text"],
  .contact-form input[type="tel"],
  .contact-form input[type="email"],
  .contact-form textarea,
  .contact-form select{font-size:16px !important;}
  .contact-form .radio-row{flex-wrap:wrap;gap:12px 18px;}
  .contact-form .form-actions{flex-wrap:wrap;gap:10px;}

  footer.traore-site-block{padding:52px 0 24px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px;margin-bottom:36px;}
  .footer-bottom{font-size:.74rem;line-height:1.5;}
  .back-to-top{width:42px;height:42px;right:16px;bottom:16px;font-size:1.1rem;}
}

@media(max-width:620px){
  body.traore-theme .traore-site-block .wrap{padding-left:18px !important;padding-right:18px !important;}

  .topbar .wrap{justify-content:center;padding-top:6px !important;padding-bottom:6px !important;}
  .topbar .contact-line{width:100%;justify-content:center;gap:10px;font-size:.68rem;}
  .topbar .contact-line span:first-child{max-width:52vw;overflow:hidden;text-overflow:ellipsis;}
  .lang-switch{margin-left:0;}

  .header-top{height:62px;}
  .logo .sub{display:none;}
  .header-cta{margin-left:auto;}
  .offer-btn{padding:8px 11px;font-size:.72rem;}
  .offer-btn{font-size:0;}
  .offer-btn::before{content:'Angebot';font-size:.72rem;}

  .hero{padding:44px 0 52px;}
  .hero .wrap{gap:30px;}
  .hero .actions{display:grid;grid-template-columns:1fr;}
  .hero .actions .btn{width:100%;justify-content:center;}
  .hero .trust-row{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;}
  .hero .trust-row .item:last-child{grid-column:1/-1;}

  section.traore-site-block{padding:54px 0;}
  .section-head{margin-bottom:28px;}
  .section-head h2,.about-copy h2,.cta h2{font-size:1.55rem;}
  .pillar-grid{grid-template-columns:1fr;}
  .pillar{padding:22px 20px;}
  .about .wrap{gap:28px;}

  .cta .actions{display:grid;grid-template-columns:1fr;gap:10px;}
  .cta .actions .btn{width:100%;justify-content:center;}

  .contact-form .form-wrap{padding:20px 16px;}
  .contact-form .form-actions{display:grid;grid-template-columns:1fr;}
  .contact-form .form-actions .btn,
  .contact-form .form-actions button{width:100%;justify-content:center;}
  .contact-form .btn-reset{width:100%;}

  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-grid h4{margin-bottom:10px;}
  .footer-grid ul{gap:8px;}
  .footer-bottom{display:grid;grid-template-columns:1fr;gap:8px;}
}

@media(max-width:420px){
  .topbar .contact-line{justify-content:space-between;width:100%;gap:6px;}
  .topbar .contact-line span{font-size:.64rem;}
  .topbar .contact-line span:first-child{max-width:49vw;}
  .lang-switch button{padding:3px 7px;}
  .header-top{gap:7px;}
  .logo .name{font-size:.84rem;}
  body.traore-theme .traore-header-widget .logo-mark{width:34px !important;height:34px !important;max-width:34px !important;flex-basis:34px !important;}
  .mobile-menu-toggle{width:38px;height:38px;flex-basis:38px;}
  .offer-btn{padding:8px 10px;}
  .mobile-nav{padding-left:16px;padding-right:16px;}
  .hero h1{font-size:2rem;}
  .hero p.lead{font-size:.94rem;}
  .hero .trust-row{grid-template-columns:1fr;}
  .hero .trust-row .item:last-child{grid-column:auto;}
}

/* v2.0 — imported HTML mockups as independent Elementor sections */
body.traore-theme .traore-imported-page,
body.traore-theme .traore-imported-page > .elementor,
body.traore-theme .traore-imported-page .elementor{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
body.traore-theme .traore-imported-page .traore-imported-root,
body.traore-theme .traore-imported-page .traore-imported-root.e-con,
body.traore-theme .traore-imported-page .elementor-widget-html,
body.traore-theme .traore-imported-page .elementor-widget-html > .elementor-widget-container{
  --padding-top:0px;
  --padding-right:0px;
  --padding-bottom:0px;
  --padding-left:0px;
  --margin-top:0px;
  --margin-right:0px;
  --margin-bottom:0px;
  --margin-left:0px;
  --gap:0px;
  --row-gap:0px;
  --column-gap:0px;
  --min-height:0px;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
  min-height:0 !important;
}
body.traore-theme .traore-imported-page .elementor-widget-html:not(:last-child){margin-block-end:0 !important;}
body.traore-theme #traore-global-footer,
body.traore-theme #traore-global-footer > [data-elementor-type],
body.traore-theme #traore-global-footer .traore-global-footer-root,
body.traore-theme #traore-global-footer .elementor-widget,
body.traore-theme #traore-global-footer .elementor-widget-container{
  width:100%;max-width:none;margin:0 !important;padding:0 !important;gap:0 !important;
}

/* v3.0 multilingual compact header labels */
@media (max-width:520px){
  body.traore-lang-en #traore-global-header .offer-btn::before{content:'Quote';}
  body.traore-lang-fr #traore-global-header .offer-btn::before{content:'Devis';}
}

/* ==========================================================
   v3.2 — header fidelity to supplied HTML mockups
   Lock rem-based mockup values to their 16px-root pixel equivalents so
   Elementor/site-kit root font sizes cannot make the header look larger.
   Contact icons are rendered separately from the text to avoid WordPress'
   emoji image replacement changing the phone icon artwork.
   ========================================================== */
body.traore-theme #traore-global-header .topbar{
  font-size:13.12px !important; /* .82rem @ 16px */
}
body.traore-theme #traore-global-header .header-top{
  height:70px !important;
  gap:24px !important;
}
body.traore-theme #traore-global-header .logo{
  gap:12px !important;
}
body.traore-theme #traore-global-header .logo-mark{
  width:42px !important;
  height:42px !important;
  max-width:42px !important;
  flex:0 0 42px !important;
}
body.traore-theme #traore-global-header .logo .name{
  font-size:16.32px !important; /* 1.02rem @ 16px */
  line-height:1.15 !important;
}
body.traore-theme #traore-global-header .logo .sub{
  font-size:11.52px !important; /* .72rem @ 16px */
}
body.traore-theme #traore-global-header .nav-crumb{
  font-size:12.48px !important; /* .78rem @ 16px */
}
body.traore-theme #traore-global-header nav.primary a{
  font-size:14.4px !important; /* .9rem @ 16px */
}
body.traore-theme #traore-global-header .login-btn,
body.traore-theme #traore-global-header .offer-btn{
  font-size:13.6px !important; /* .85rem @ 16px */
  padding:10px 18px !important;
}
body.traore-theme #traore-global-header .lang-switch a,
body.traore-theme #traore-global-header .lang-switch button{
  font-size:12.48px !important; /* .78rem @ 16px */
}
body.traore-theme #traore-global-header .contact-line .contact-item{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
body.traore-theme #traore-global-header .traore-contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  flex:0 0 14px;
  line-height:1;
}
body.traore-theme #traore-global-header .traore-contact-icon::before{
  display:block;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:12px;
  line-height:1;
}
body.traore-theme #traore-global-header .traore-location-icon::before{content:"📍";}
body.traore-theme #traore-global-header .traore-phone-icon::before{content:"📞";}

@media(max-width:900px){
  body.traore-theme #traore-global-header .header-top{height:66px !important;gap:12px !important;}
  body.traore-theme #traore-global-header .logo-mark{width:38px !important;height:38px !important;max-width:38px !important;flex-basis:38px !important;}
  body.traore-theme #traore-global-header .logo .name{font-size:14.72px !important;}
  body.traore-theme #traore-global-header .logo .sub{font-size:10.24px !important;}
  body.traore-theme #traore-global-header .offer-btn{font-size:12.16px !important;padding:9px 13px !important;}
  body.traore-theme #traore-global-header .lang-switch a,
  body.traore-theme #traore-global-header .lang-switch button{padding:3px 8px !important;font-size:11.2px !important;}
}
@media(max-width:560px){
  body.traore-theme #traore-global-header .header-top{height:62px !important;}
  body.traore-theme #traore-global-header .offer-btn{padding:8px 11px !important;}
  body.traore-theme #traore-global-header .lang-switch a,
  body.traore-theme #traore-global-header .lang-switch button{padding:3px 7px !important;}
}
@media(max-width:390px){
  body.traore-theme #traore-global-header .logo-mark{width:34px !important;height:34px !important;max-width:34px !important;flex-basis:34px !important;}
  body.traore-theme #traore-global-header .logo .name{font-size:13.44px !important;}
}
@media(max-width:560px){
  body.traore-theme #traore-global-header .offer-btn{font-size:0 !important;}
  body.traore-theme #traore-global-header .offer-btn::before{font-size:11.52px !important;}
}


/* v3.6 – live Form Maker embeds inside imported Elementor HTML sections */
.traore-imported-page .traore-form-maker-embed{
  width:100%;
  max-width:920px;
  margin:0 auto;
}
.traore-imported-page .contact-form .traore-form-maker-embed{max-width:760px;}
.traore-imported-page .bewerben-form-section .traore-form-maker-embed{max-width:640px;}
.traore-imported-page .krank-form .traore-form-maker-embed{max-width:820px;}


/* v3.6.2 – Form Maker rendered by Elementor's native Shortcode widget.
   Keep the real plugin form outside the old mockup classes (.contact-form,
   .intake, …), whose generic `form` selectors would otherwise override it. */
.traore-imported-page .traore-fm-native-section{
  width:100%;
  padding:80px 0;
}
.traore-imported-page .traore-fm-native-section.traore-fm-contact{background:var(--paper);}
.traore-imported-page .traore-fm-native-section.traore-fm-intake,
.traore-imported-page .traore-fm-native-section.traore-fm-bewerben,
.traore-imported-page .traore-fm-native-section.traore-fm-krank{background:var(--sand);}
.traore-imported-page .traore-fm-native-wrap{
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding-left:28px !important;
  padding-right:28px !important;
}
.traore-imported-page .traore-fm-native-section .traore-form-maker-embed{
  width:100%;
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}
.traore-imported-page .traore-fm-contact .traore-form-maker-embed{max-width:760px;}
.traore-imported-page .traore-fm-bewerben .traore-fm-native-wrap,
.traore-imported-page .traore-fm-bewerben .traore-form-maker-embed{max-width:640px;}
.traore-imported-page .traore-fm-krank .traore-fm-native-wrap,
.traore-imported-page .traore-fm-krank .traore-form-maker-embed{max-width:820px;}
@media(max-width:560px){
  .traore-imported-page .traore-fm-native-wrap{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
