/*
Theme Name: Hotel Jumper
Theme URI: https://hotel-jumper.com/
Author: Natalija Mihajlova
Description: Individuelles One-Page-Theme fuer hotel-jumper.com (DE + EN), Soforthilfe fuer Hotellerie und Gastronomie.
Version: 1.4
Text Domain: hotel-jumper
*/

/* Hotel Jumper — Custom CSS fuer Elementor (Site Settings -> Custom CSS oder Plugin 'Simple Custom CSS and JS') */

:root{
    --ink:#212C38;
    --ink-soft:#2B3846;
    --linen:#E7ECEF;
    --linen-soft:#F6F8F9;
    --brass:#1EA6DB;
    --brass-light:#5FCBEF;
    --burgundy:#17607F;
    --stone:#DCE2E6;
    --text-dark:#1E2732;
    --text-mute:#57646E;
    --radius:2px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Plus Jakarta Sans', sans-serif;
    color:var(--text-dark);
    background:var(--linen-soft);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:700;
    letter-spacing:-0.02em;
    color:var(--ink);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--brass);
    font-weight:600;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;
    background:var(--brass);
    display:inline-block;
  }

  /* Tag / stamp signature element */
  .tag{
    position:relative;
    display:inline-block;
    border:1px solid var(--brass);
    color:var(--brass-light);
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:11px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    padding:7px 16px 7px 22px;
    transform:rotate(-3deg);
    font-weight:600;
  }
  .tag::before{
    content:"";
    position:absolute;
    left:9px;top:50%;
    width:5px;height:5px;
    border-radius:50%;
    border:1px solid var(--brass-light);
    transform:translateY(-50%);
  }

  /* ===== SCROLL REVEAL ===== */
  .reveal{
    opacity:1;
    transform:none;
    transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .reveal.pre-reveal{opacity:0;transform:translateY(26px);}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .service-grid .service-card:nth-child(1){transition-delay:.02s;}
  .service-grid .service-card:nth-child(2){transition-delay:.08s;}
  .service-grid .service-card:nth-child(3){transition-delay:.14s;}
  .service-grid .service-card:nth-child(4){transition-delay:.2s;}
  .service-grid .service-card:nth-child(5){transition-delay:.26s;}
  .service-grid .service-card:nth-child(6){transition-delay:.32s;}
  .vorteile-list li:nth-child(1){transition-delay:.02s;}
  .vorteile-list li:nth-child(2){transition-delay:.08s;}
  .vorteile-list li:nth-child(3){transition-delay:.14s;}
  .vorteile-list li:nth-child(4){transition-delay:.2s;}
  .vorteile-list li:nth-child(5){transition-delay:.26s;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
  }

  /* Live-Status-Badge im Hero */
  .live-badge{
    display:inline-flex;align-items:center;gap:9px;
    font-size:12.5px;color:#C6D3DC;
    letter-spacing:0.03em;
  }
  .pulse-dot{
    position:relative;
    width:8px;height:8px;border-radius:50%;
    background:#4ADE80;
    display:inline-block;
  }
  .pulse-dot::after{
    content:"";
    position:absolute;inset:-5px;
    border-radius:50%;
    border:1px solid #4ADE80;
    animation:pulse 2.2s ease-out infinite;
  }
  @keyframes pulse{
    0%{transform:scale(.6);opacity:.8;}
    100%{transform:scale(1.8);opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){.pulse-dot::after{animation:none;}}
  #progress-track{
    position:fixed;top:0;left:0;right:0;
    height:3px;
    background:rgba(255,255,255,0.08);
    z-index:60;
  }
  #progress-bar{
    height:100%;width:0%;
    background:linear-gradient(90deg, var(--brass), var(--brass-light));
    transition:width .08s linear;
  }

  /* ===== NACH OBEN ===== */
  .to-top{
    position:fixed;
    right:24px;bottom:24px;
    width:46px;height:46px;
    border-radius:50%;
    background:var(--ink);
    border:1px solid var(--brass);
    color:var(--brass-light);
    display:flex;align-items:center;justify-content:center;
    z-index:70;
    box-shadow:0 6px 18px rgba(0,0,0,0.25);
    transition:background .2s ease, transform .2s ease;
  }
  .to-top:hover{background:var(--brass);color:var(--ink);transform:translateY(-2px);}
  @media(max-width:640px){.to-top{right:16px;bottom:16px;width:42px;height:42px;}}

  /* ===== NAV ===== */
  header{
    position:sticky;top:3px;z-index:50;
    background:var(--ink);
    border-bottom:1px solid rgba(255,255,255,0.06);
  }
  nav.wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:20px;padding-bottom:20px;
  }
  .logo{
    display:flex;
    align-items:center;
  }
  .logo img{height:112px;width:auto;}
  .navlinks{display:flex;gap:36px;align-items:center;}
  .navlinks-mobile-hide a{
    color:#FFFFFF;
    opacity:0.92;
    font-size:14.5px;
    font-weight:500;
    letter-spacing:0.02em;
    position:relative;
    padding-bottom:4px;
  }
  .navlinks-mobile-hide a:hover{opacity:1;color:var(--brass-light);}
  .navlinks-mobile-hide a.active:not(.nav-cta){
    opacity:1;
    color:var(--brass-light);
  }
  .navlinks-mobile-hide a.active:not(.nav-cta)::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:2px;
    background:var(--brass-light);
  }
  .nav-cta{
    border:1px solid var(--brass);
    padding:10px 20px;
    font-size:13px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brass-light) !important;
    opacity:1 !important;
    font-weight:600 !important;
  }
  .nav-cta:hover{background:var(--brass);color:var(--ink) !important;}
  .navlinks-mobile-hide{display:flex;gap:36px;align-items:center;}

  /* Mobil-Menue (reines CSS, keine JS-Abhaengigkeit) */
  .nav-toggle-checkbox{display:none;}
  .nav-toggle-label{
    display:none;
    width:26px;height:20px;
    flex-direction:column;justify-content:space-between;
    cursor:pointer;
  }
  .nav-toggle-label span{
    display:block;height:2px;width:100%;
    background:#FFFFFF;
    transition:transform .2s ease, opacity .2s ease;
  }
  @media(max-width:800px){
    nav.wrap{position:relative;flex-wrap:wrap;}
    .nav-toggle-label{display:flex;}
    .navlinks-mobile-hide{
      display:none;
      position:absolute;
      top:100%;left:0;right:0;
      flex-direction:column;
      align-items:flex-start;
      gap:20px;
      background:var(--ink);
      padding:26px 32px 30px;
      border-top:1px solid rgba(255,255,255,0.08);
      box-shadow:0 16px 24px rgba(0,0,0,0.25);
    }
    .navlinks-mobile-hide a:not(.nav-cta){display:block;}
    .nav-toggle-checkbox:checked ~ .navlinks-mobile-hide{display:flex;}
    .nav-toggle-checkbox:checked ~ .nav-toggle-label span:nth-child(1){transform:translateY(9px) rotate(45deg);}
    .nav-toggle-checkbox:checked ~ .nav-toggle-label span:nth-child(2){opacity:0;}
    .nav-toggle-checkbox:checked ~ .nav-toggle-label span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}
  }

  /* ===== HERO ===== */
  .hero{
    background:
      radial-gradient(ellipse at 80% 0%, rgba(30,166,219,0.16), transparent 55%),
      var(--ink);
    color:var(--linen);
    padding:110px 0 130px;
    position:relative;
    overflow:hidden;
    border-bottom:1px solid rgba(30,166,219,0.35);
  }
  .hero::after{
    content:"";
    position:absolute;
    right:-120px;bottom:-160px;
    width:420px;height:420px;
    border:1px solid rgba(30,166,219,0.18);
    border-radius:50%;
  }
  .hero-inner{
    max-width:680px;
    position:relative;
    z-index:2;
  }
  .hero h1{
    font-size:clamp(34px,5.2vw,58px);
    line-height:1.08;
    color:var(--linen);
    margin-bottom:24px;
  }
  .hero h1 em{
    font-style:italic;
    color:var(--brass-light);
  }
  .hero p.lede{
    font-size:clamp(16px,2vw,19px);
    color:#C6D3DC;
    max-width:520px;
    margin-bottom:38px;
    font-weight:300;
  }
  .hero-actions{
    display:flex;align-items:center;gap:28px;flex-wrap:wrap;
    margin-bottom:46px;
  }
  .btn-primary{
    background:var(--brass);
    color:var(--ink);
    padding:16px 30px;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    border-radius:var(--radius);
    display:inline-block;
    transition:background .2s ease, transform .2s ease;
  }
  .btn-primary:hover{background:var(--brass-light);transform:translateY(-1px);}
  .btn-ghost{
    color:var(--linen);
    font-size:14px;
    border-bottom:1px solid rgba(230,238,242,0.4);
    padding-bottom:2px;
  }
  .btn-ghost:hover{border-color:var(--brass-light);color:var(--brass-light);}
  .hero-trust{
    display:flex;gap:28px;flex-wrap:wrap;
    font-size:13px;color:#93A6B4;
    letter-spacing:0.02em;
  }
  .hero-trust span{display:flex;align-items:center;gap:8px;}
  .hero-trust span::before{
    content:"";width:5px;height:5px;border-radius:50%;
    background:var(--brass-light);display:inline-block;
  }

  /* ===== PROBLEM ===== */
  .problem{padding:100px 0;background:var(--linen-soft);}
  .problem-grid{
    display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start;
  }
  @media(max-width:860px){.problem-grid{grid-template-columns:1fr;gap:36px;}}
  .problem h2{
    font-size:clamp(26px,3.4vw,36px);
    line-height:1.18;
  }
  .problem-copy p{
    color:var(--text-mute);
    font-size:16.5px;
    margin-bottom:20px;
    max-width:520px;
  }
  .problem-copy p:last-child{
    color:var(--text-dark);
    font-weight:500;
    border-left:2px solid var(--brass);
    padding-left:18px;
  }
  .problem-big{
    font-size:clamp(90px,12vw,150px);
    font-weight:800;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:1px rgba(30,166,219,0.3);
    margin-top:28px;
    letter-spacing:-0.03em;
    user-select:none;
  }

  /* ===== LEISTUNGEN ===== */
  .services{padding:100px 0;background:var(--ink);color:var(--linen);}
  .services .eyebrow{color:var(--brass-light);}
  .services .eyebrow::before{background:var(--brass-light);}
  .services h2{color:var(--linen);font-size:clamp(26px,3.4vw,36px);max-width:600px;margin-bottom:60px;}
  .service-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid rgba(147,166,180,0.16);
    border-left:1px solid rgba(147,166,180,0.16);
  }
  @media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.service-grid{grid-template-columns:1fr;}}
  .service-card{
    border-right:1px solid rgba(147,166,180,0.16);
    border-bottom:1px solid rgba(147,166,180,0.16);
    padding:34px 30px;
    transition:background .25s ease;
  }
  .service-card:hover{background:rgba(30,166,219,0.08);}
  .service-card{cursor:pointer;}
  .service-num{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    letter-spacing:0.04em;
    font-size:13px;
    color:var(--brass-light);
    margin-bottom:18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .service-num .plus{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:18px;
    font-weight:300;
    color:var(--brass-light);
    transition:transform .25s ease;
  }
  .service-card.open .service-num .plus{transform:rotate(45deg);}
  .service-card h3{
    color:var(--linen);
    font-size:19px;
    font-weight:500;
    margin-bottom:10px;
  }
  .service-card p{
    color:#93A6B4;
    font-size:14.5px;
    font-weight:300;
  }
  .service-detail{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease, opacity .25s ease, margin-top .3s ease;
    opacity:0;
  }
  .service-card.open .service-detail{
    max-height:120px;
    opacity:1;
    margin-top:14px;
  }
  .service-detail p{
    font-size:13.5px;
    color:var(--brass-light);
    border-top:1px solid rgba(95,203,239,0.25);
    padding-top:12px;
    font-weight:400;
    font-style:italic;
  }

  /* ===== ABLAUF ===== */
  .ablauf{padding:110px 0;background:var(--linen-soft);}
  .ablauf h2{font-size:clamp(26px,3.4vw,36px);max-width:520px;margin-bottom:70px;}
  .steps{
    display:grid;grid-template-columns:repeat(3,1fr);gap:50px;
    position:relative;
  }
  @media(max-width:800px){.steps{grid-template-columns:1fr;gap:40px;}}
  .steps::before{
    content:"";
    position:absolute;top:19px;left:6%;right:6%;
    height:1px;
    background:repeating-linear-gradient(90deg, var(--brass) 0 8px, transparent 8px 16px);
    opacity:0.6;
  }
  @media(max-width:800px){.steps::before{display:none;}}
  .step{position:relative;transition:opacity .3s ease;}
  .step-mark{
    width:40px;height:40px;border-radius:50%;
    border:1px solid var(--brass);
    background:var(--linen-soft);
    display:flex;align-items:center;justify-content:center;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    color:var(--brass);
    font-size:15px;
    position:relative;z-index:2;
    margin-bottom:26px;
    transition:background .3s ease, color .3s ease, transform .3s ease;
  }
  .step.active .step-mark{
    background:var(--brass);
    color:var(--ink);
    transform:scale(1.12);
  }
  .step h3{font-size:19px;margin-bottom:10px;}
  .step p{color:var(--text-mute);font-size:15px;max-width:280px;}

  /* ===== VORTEILE ===== */
  .vorteile{padding:100px 0;background:var(--linen);}
  .vorteile-grid{
    display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:center;
  }
  @media(max-width:860px){.vorteile-grid{grid-template-columns:1fr;gap:40px;}}
  .vorteile h2{font-size:clamp(26px,3.4vw,36px);line-height:1.2;}
  .vorteile-list{list-style:none;}
  .vorteile-list li{
    display:flex;gap:18px;
    padding:22px 0;
    border-bottom:1px solid var(--stone);
  }
  .vorteile-list li:first-child{padding-top:0;}
  .vlabel{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    color:var(--brass);
    font-size:14px;
    min-width:26px;
    padding-top:2px;
  }
  .vtext strong{
    display:block;
    font-size:16.5px;
    font-weight:500;
    color:var(--ink);
    margin-bottom:4px;
  }
  .vtext span{color:var(--text-mute);font-size:14.5px;}

  /* ===== UBER UNS ===== */
  .ueberuns{padding:120px 0;background:var(--ink);color:var(--linen);position:relative;}
  .ueberuns-inner{max-width:760px;}
  .ueberuns .tag{margin-bottom:30px;}
  .ueberuns blockquote{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-style:italic;
    font-size:clamp(22px,3vw,30px);
    font-weight:500;
    line-height:1.4;
    color:var(--linen);
    margin-bottom:36px;
  }
  .ueberuns p.attrib{
    color:#93A6B4;font-size:15px;
    margin-bottom:50px;
  }
  .region-row{
    display:flex;gap:40px;flex-wrap:wrap;
    border-top:1px solid rgba(147,166,180,0.2);
    padding-top:30px;
  }
  .region-row div{font-size:13px;color:#7E90A0;letter-spacing:0.04em;text-transform:uppercase;}
  .region-row strong{display:block;color:var(--linen);font-size:16px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;text-transform:none;letter-spacing:0;margin-top:6px;}

  /* ===== FAQ ===== */
  .faq{padding:100px 0;background:var(--linen-soft);}
  .faq h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:50px;max-width:520px;}
  .faq-item{border-bottom:1px solid var(--stone);}
  .faq-item summary{
    cursor:pointer;
    list-style:none;
    display:flex;justify-content:space-between;align-items:center;
    padding:24px 0;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    font-size:18px;
    color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";
    font-family:'Plus Jakarta Sans',sans-serif;
    color:var(--brass);
    font-size:22px;
    font-weight:300;
    transition:transform .2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{color:var(--text-mute);padding-bottom:26px;max-width:640px;font-size:15px;}

  /* ===== KONTAKT ===== */
  .kontakt{padding:120px 0 100px;background:var(--ink);color:var(--linen);}
  .kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
  @media(max-width:900px){.kontakt-grid{grid-template-columns:1fr;gap:50px;}}
  .kontakt h2{color:var(--linen);font-size:clamp(28px,3.6vw,40px);margin-bottom:22px;}
  .kontakt-copy p{color:#B7C6D2;font-size:16px;margin-bottom:34px;max-width:420px;}
  .kontakt-detail{margin-bottom:18px;font-size:15px;}
  .kontakt-detail span{display:block;color:#7E90A0;font-size:12px;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px;}
  .kontakt-detail strong{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:17px;color:var(--linen);}

  form{display:flex;flex-direction:column;gap:18px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media(max-width:520px){.form-row{grid-template-columns:1fr;}}
  label{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:#93A6B4;margin-bottom:8px;display:block;}
  input, textarea{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(147,166,180,0.35);
    color:var(--linen);
    padding:10px 2px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:15px;
  }
  input:focus, textarea:focus{outline:none;border-color:var(--brass-light);}
  input::placeholder, textarea::placeholder{color:#4E6270;}
  .checkline{display:flex;align-items:flex-start;gap:10px;margin-top:6px;}
  .checkline input{width:auto;}
  .checkline label{margin:0;color:#93A6B4;font-size:13px;text-transform:none;letter-spacing:0;}
  .form-submit{
    margin-top:10px;
    align-self:flex-start;
    background:var(--brass);
    color:var(--ink);
    border:none;
    padding:16px 34px;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease;
  }
  .form-submit:hover{background:var(--brass-light);}

  footer{
    background:var(--ink);
    border-top:1px solid rgba(147,166,180,0.15);
    padding:30px 0;
  }
  .footer-inner{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    color:#7E90A0;
    font-size:13px;
  }
/* ===== SPRACH-TOGGLE ===== */
  .lang-switch{
    display:flex;align-items:center;gap:9px;
    background:transparent;border:none;cursor:pointer;
    color:var(--brass-light);
    padding:0;
  }
  .lang-switch svg{flex-shrink:0;opacity:0.85;}
  .lang-track{
    position:relative;
    display:flex;
    border:1px solid rgba(95,203,239,0.4);
    border-radius:999px;
    padding:3px;
  }
  .lang-thumb{
    position:absolute;
    top:3px;left:3px;
    width:32px;height:calc(100% - 6px);
    background:var(--brass);
    border-radius:999px;
    transition:transform .28s cubic-bezier(.2,.7,.2,1);
    z-index:0;
  }
  .lang-switch[data-lang="en"] .lang-thumb{transform:translateX(32px);}
  .lang-opt{
    position:relative;z-index:1;
    width:32px;text-align:center;
    font-size:11px;font-weight:700;letter-spacing:0.04em;
    padding:5px 0;
    color:#93A6B4;
    transition:color .25s ease;
  }
  .lang-switch[data-lang="de"] .lang-opt[data-set="de"]{color:var(--ink);}
  .lang-switch[data-lang="en"] .lang-opt[data-set="en"]{color:var(--ink);}
  @media(max-width:800px){.lang-switch .lang-icon-label{display:none;}}

  /* ===== FOOTER-LINKS ===== */
  .footer-links{display:flex;align-items:center;gap:8px;}
  .footer-link{
    background:none;border:none;padding:0;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:13px;color:#7E90A0;
    cursor:pointer;
    transition:color .2s ease;
  }
  .footer-link:hover{color:var(--brass-light);}

  /* ===== RECHTLICHES POPUP ===== */
  .modal-overlay{
    display:none;
    position:fixed;inset:0;
    background:rgba(15,22,29,0.72);
    backdrop-filter:blur(4px);
    z-index:200;
    align-items:center;justify-content:center;
    padding:24px;
  }
  .modal-overlay:target{display:flex;}
  .modal-card{
    position:relative;
    background:var(--linen-soft);
    max-width:640px;width:100%;
    max-height:80vh;
    overflow-y:auto;
    border-radius:6px;
    padding:44px 40px;
    box-shadow:0 30px 60px rgba(0,0,0,0.35);
  }
  .modal-close{
    position:sticky;top:0;left:100%;
    margin-left:auto;margin-top:-20px;
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;
    border-radius:50%;
    border:1px solid var(--stone);
    background:var(--linen-soft);
    color:var(--text-dark);
    cursor:pointer;
    transition:background .2s ease, color .2s ease;
    float:right;
  }
  .modal-close:hover{background:var(--ink);color:var(--linen);border-color:var(--ink);}
  .modal-body h3{font-size:24px;margin-bottom:22px;clear:both;}
  .modal-body h4{font-size:15px;margin:26px 0 8px;color:var(--brass);text-transform:uppercase;letter-spacing:0.05em;}
  .modal-body p{font-size:14.5px;color:var(--text-mute);margin-bottom:10px;line-height:1.65;}
  .modal-body a{color:var(--brass);text-decoration:underline;}
  @media(max-width:600px){.modal-card{padding:32px 22px;}}

/* ===== WPForms ===== */

/* ============================================================
   Hotel Jumper — WPForms Custom CSS
   Einspielen: Custom-CSS-Feld (Elementor Pro) oder Plugin
   "Simple Custom CSS and JS" — zusätzlich zu hotel-jumper-custom.css
   ============================================================ */

/* WPForms-Container an den dunklen Kontakt-Bereich anpassen */
.wpforms-container {
  margin: 0 !important;
}

.wpforms-form {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Zwei Felder pro Zeile (Firma/Ansprechpartner, E-Mail/Telefon, Betrieb/Datum) */
.wpforms-form .wpforms-field-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 0 !important;
}
@media (max-width: 520px) {
  .wpforms-form .wpforms-field-row {
    grid-template-columns: 1fr;
  }
}
.wpforms-form .wpforms-field-row .wpforms-field {
  padding: 0 !important;
  margin: 0 !important;
}

.wpforms-form .wpforms-field {
  padding: 0 !important;
  margin: 0 0 0 0 !important;
}

/* Labels */
.wpforms-form label.wpforms-field-label {
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #93A6B4 !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
}
.wpforms-form .wpforms-required-label {
  color: #5FCBEF !important;
}

/* Text-, E-Mail-, Tel-, Datumsfelder */
.wpforms-form input[type=text],
.wpforms-form input[type=email],
.wpforms-form input[type=tel],
.wpforms-form input[type=date],
.wpforms-form input[type=number],
.wpforms-form select,
.wpforms-form textarea {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(147,166,180,0.35) !important;
  border-radius: 0 !important;
  color: #E7ECEF !important;
  padding: 10px 2px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  box-shadow: none !important;
}
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder {
  color: #4E6270 !important;
}
.wpforms-form input:focus,
.wpforms-form select:focus,
.wpforms-form textarea:focus {
  outline: none !important;
  border-bottom-color: #5FCBEF !important;
  box-shadow: none !important;
}

/* Datenschutz-Checkbox */
.wpforms-form .wpforms-field-checkbox ul li,
.wpforms-form .wpforms-field-gdpr-checkbox ul li {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
}
.wpforms-form .wpforms-field-checkbox label,
.wpforms-form .wpforms-field-gdpr-checkbox label {
  color: #93A6B4 !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
.wpforms-form input[type=checkbox] {
  width: auto !important;
  accent-color: #1EA6DB;
}

/* Submit-Button */
.wpforms-form button[type=submit],
.wpforms-form .wpforms-submit {
  margin-top: 10px !important;
  align-self: flex-start;
  background: #1EA6DB !important;
  color: #212C38 !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 16px 34px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease;
}
.wpforms-form button[type=submit]:hover,
.wpforms-form .wpforms-submit:hover {
  background: #5FCBEF !important;
}

/* Fehlermeldungen im Blau-Ton statt Standard-Rot, damit es zum Design passt */
.wpforms-form .wpforms-error {
  color: #F2B8B8 !important;
  font-size: 12.5px !important;
  margin-top: 4px !important;
}
.wpforms-form .wpforms-field.wpforms-has-error input,
.wpforms-form .wpforms-field.wpforms-has-error textarea {
  border-bottom-color: #F2B8B8 !important;
}

/* Erfolgsmeldung nach Absenden */
.wpforms-confirmation-container-full {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #E7ECEF !important;
  font-size: 15px !important;
}
