/*
Theme Name: AB Travel
Theme URI: https://abtravel.de/
Author: AB Travel
Description: Individuelle, responsive Startseite für AB Travel.
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ab-travel
*/

:root{--navy:#102842;--blue:#1265d6;--sky:#e9f3ff;--orange:#ff9b43;--ink:#162638;--muted:#617184;--paper:#f7f9fc;--white:#fff;--line:#e3eaf1;--radius:22px;--shadow:0 18px 55px #10284214}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--white)}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topline{background:var(--navy);color:#d8e6f7;font-size:13px}.topline .wrap{display:flex;justify-content:space-between;padding:9px 0}.topline a{text-decoration:none}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:.02em;text-decoration:none;color:var(--navy);font-size:22px}.brand-mark{width:42px;height:42px;background:var(--blue);color:white;border-radius:14px;display:grid;place-items:center}.brand-mark svg{width:25px}.navlinks{display:flex;align-items:center;gap:30px}.navlinks a{text-decoration:none;font-size:14px;font-weight:650}.navlinks a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:var(--blue);color:white;padding:14px 21px;text-decoration:none;font-weight:750;box-shadow:0 8px 20px #1265d633;transition:.2s}.btn:hover{transform:translateY(-2px);background:#0d54b7}.btn svg{width:18px}.btn.ghost{background:white;color:var(--navy);box-shadow:none;border:1px solid var(--line)}.hero{background:linear-gradient(112deg,#f2f7ff,#e7f2ff 65%,#d8eaff);overflow:hidden}.hero-grid{min-height:600px;padding:70px 0;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:23px;height:2px;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,6vw,72px);line-height:1.02;letter-spacing:-.055em;color:var(--navy);margin:18px 0 22px;max-width:620px}h1 span{color:var(--blue)}.lead{font-size:18px;color:#53677e;max-width:530px;margin-bottom:30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.trust{display:flex;align-items:center;gap:13px;margin-top:36px;color:#53677e;font-size:13px}.avatars{display:flex}.avatars i{width:28px;height:28px;border-radius:50%;border:2px solid white;background:#c6d9ef;margin-left:-7px}.avatars i:first-child{margin:0;background:#ffcb9d}.avatars i:nth-child(2){background:#a5c7f4}.avatars i:nth-child(3){background:#b8dbc9}.hero-art{position:relative;min-height:430px;display:grid;place-items:center}.halo{position:absolute;width:min(440px,90%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff 0,#d8e9ff 64%,#c2ddff 100%)}.route{position:absolute;width:100%;height:100%;inset:0}.bus{position:relative;width:min(440px,100%);filter:drop-shadow(0 28px 28px #18385b32);z-index:1}.float-card{position:absolute;z-index:2;background:white;border-radius:16px;box-shadow:var(--shadow);padding:13px 16px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:750}.float-card.one{left:0;top:74px}.float-card.two{right:0;bottom:60px}.mini-icon{width:36px;height:36px;border-radius:12px;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.mini-icon svg{width:19px}.section{padding:92px 0}.section.soft{background:var(--paper)}.section-head{max-width:640px;margin:0 auto 42px;text-align:center}.section-head h2{font-size:clamp(32px,4vw,46px);line-height:1.1;letter-spacing:-.04em;color:var(--navy);margin:13px 0}.section-head p{color:var(--muted);margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);padding:27px;border-radius:var(--radius);transition:.22s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#ccddf1}.icon{width:54px;height:54px;background:#edf5ff;color:var(--blue);border-radius:17px;display:grid;place-items:center;margin-bottom:22px}.icon svg{width:27px;height:27px}.card h3{color:var(--navy);font-size:19px;margin-bottom:8px}.card p{font-size:14px;color:var(--muted);margin:0}.fleet{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.fleet-art{min-height:370px;border-radius:30px;background:linear-gradient(145deg,#e8f3ff,#cfe3fb);display:grid;place-items:center;position:relative;overflow:hidden}.fleet-art:before,.fleet-art:after{content:"";position:absolute;border:1px solid #fff9;border-radius:50%;width:350px;height:350px}.fleet-art:after{width:470px;height:470px}.fleet-art svg{width:min(440px,95%);z-index:1;filter:drop-shadow(0 20px 20px #12355528)}.fleet-copy h2{font-size:clamp(34px,4vw,48px);line-height:1.08;letter-spacing:-.04em;color:var(--navy);margin:13px 0 18px}.fleet-copy p{color:var(--muted)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:26px 0}.check{display:flex;gap:9px;align-items:center;font-weight:650;font-size:14px}.check b{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;color:#137a51;background:#dff6ea;font-size:12px}.number{background:var(--navy);color:white;padding:50px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.stat strong{display:block;color:white;font-size:36px;line-height:1.2}.stat span{color:#b7c9dc;font-size:14px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}.contact h2{font-size:clamp(34px,4vw,48px);line-height:1.1;letter-spacing:-.04em;color:var(--navy);margin:13px 0 17px}.contact p{color:var(--muted)}.contact-list{display:grid;gap:14px;margin-top:27px}.contact-row{display:flex;align-items:center;gap:13px;font-weight:650}.contact-row .icon{width:44px;height:44px;margin:0;border-radius:14px}.contact-row small{display:block;color:var(--muted);font-weight:500}.formbox{border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.formbox h3{color:var(--navy);margin-bottom:5px}.formbox>p{font-size:14px;color:var(--muted)}label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}input,textarea{font:inherit;width:100%;padding:13px 14px;border:1px solid #d7e0ea;border-radius:12px;background:#fbfcfe;color:var(--ink)}textarea{min-height:105px;resize:vertical}input:focus,textarea:focus{outline:3px solid #1265d626;border-color:var(--blue)}.form-note{font-size:12px!important;margin:13px 0}.formbox button{cursor:pointer}.notice{display:none;background:#e7f8ef;color:#17613f;padding:12px 14px;border-radius:10px;margin-top:12px;font-size:14px}.footer{background:#0d2034;color:#cad6e3;padding:36px 0}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:26px;border-bottom:1px solid #ffffff20}.footer .brand{color:white}.footer-links{display:flex;gap:20px;font-size:13px}.footer-links a{color:#d9e4ef;text-decoration:none}.fineprint{font-size:12px;color:#9eb0c4;padding-top:22px}@media(max-width:820px){.navlinks{gap:16px}.navlinks a:not(.btn){display:none}.hero-grid{grid-template-columns:1fr;padding:58px 0 28px}.hero-art{min-height:340px}.hero-art .bus{width:min(370px,95%)}.grid3{grid-template-columns:repeat(2,1fr)}.fleet{gap:30px}.contact{gap:24px}}@media(max-width:600px){.wrap{width:min(100% - 30px,1160px)}.topline .wrap{justify-content:center}.topline .wrap span:first-child{display:none}.nav{height:70px}.navlinks .btn{padding:11px 14px;font-size:13px}.hero-grid{padding-top:49px}.hero-art{min-height:290px}.float-card.one{left:0;top:32px}.float-card.two{right:0;bottom:25px}.section{padding:68px 0}.grid3{grid-template-columns:1fr}.fleet,.contact{grid-template-columns:1fr}.fleet-art{min-height:280px;order:2}.fleet-copy{order:1}.checks{grid-template-columns:1fr 1fr}.stats{gap:12px}.stat strong{font-size:28px}.stat span{font-size:12px}.formbox{padding:22px}.footer-top{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}}


/* Contact buttons and bus photo carousel */
.btn.whatsapp{background:#168b55;color:#fff;box-shadow:0 8px 20px #168b5533}.btn.whatsapp:hover{background:#117346}.btn.email{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.btn svg{width:18px;height:18px;flex:none}
.gallery{padding:82px 0;background:#fff}.gallery-shell{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.gallery-track{display:flex;transition:transform .55s cubic-bezier(.2,.75,.25,1)}.gallery-slide{min-width:100%;display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch}.gallery-photo{min-height:360px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#cfe4fb,#91bde9)}.gallery-photo.scene-two{background:linear-gradient(145deg,#d8ebf4,#a8cbd7)}.gallery-photo.scene-three{background:linear-gradient(145deg,#e6e9fa,#bfc8ed)}.gallery-photo:before{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff80;border-radius:50%}.gallery-photo:after{content:"";position:absolute;width:440px;height:440px;border:1px solid #ffffff70;border-radius:50%}.gallery-photo svg{z-index:1;width:min(88%,440px);filter:drop-shadow(0 22px 20px #12355536)}.photo-tag{position:absolute;z-index:2;left:22px;bottom:20px;background:#ffffffdb;color:var(--navy);font-size:12px;font-weight:750;padding:8px 12px;border-radius:999px}.gallery-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}.gallery-copy h3{font-size:clamp(25px,3vw,36px);line-height:1.1;letter-spacing:-.035em;color:var(--navy);margin:12px 0}.gallery-copy p{color:var(--muted);margin:0}.gallery-controls{display:flex;align-items:center;gap:10px;padding:17px 24px;border-top:1px solid var(--line)}.gallery-controls button{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;background:#fff;color:var(--navy);font:inherit;font-size:19px;cursor:pointer}.gallery-controls button:hover{border-color:var(--blue);color:var(--blue)}.gallery-count{margin-left:auto;color:var(--muted);font-size:13px;font-weight:700}.gallery-pause{border-radius:999px!important;width:auto!important;padding:0 15px!important;font-size:12px!important;font-weight:750!important}.gallery-dots{display:flex;gap:6px;margin-left:12px}.gallery-dot{width:8px;height:8px;border-radius:50%;background:#cbd5df}.gallery-dot.active{background:var(--blue)}
@media(max-width:700px){.gallery{padding:64px 0}.gallery-slide{grid-template-columns:1fr}.gallery-photo{min-height:250px}.gallery-copy{padding:25px}.gallery-controls{padding:12px 15px}.gallery-dots{margin-left:4px}}
@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}

/* Brand and top-bar corrections */

/* Brand and top-bar corrections */
.topline{min-height:38px;line-height:1.2;font-size:12px;display:flex;align-items:center}.topline .wrap{width:min(1160px,calc(100% - 40px));padding:7px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.topline a{display:inline-flex;align-items:center;gap:6px}.brand-logo{display:block;width:min(220px,38vw);max-height:58px;height:auto;object-fit:contain}.footer .brand-logo{width:190px;background:#fff;border-radius:9px;padding:6px 10px}.hero-art{position:relative;min-height:0;display:block}.hero-photo-frame{position:relative;width:100%;padding:10px}.hero-photo{display:block;position:relative;z-index:1;width:100%;height:auto;aspect-ratio:2.5/1;object-fit:cover;border-radius:25px;box-shadow:0 22px 50px #1028422a}.hero-photo-frame .float-card{z-index:2}.hero-photo-frame .float-card.one{left:-2px;top:23px}.hero-photo-frame .float-card.two{right:-2px;bottom:22px}
@media(max-width:820px){.topline .wrap{width:calc(100% - 40px)}}
@media(max-width:600px){.topline{min-height:36px}.topline .wrap{width:calc(100% - 30px);justify-content:center;padding:7px 0}.topline .wrap span:first-child{display:none}.topline .wrap span:last-child{font-size:11px}.brand-logo{width:min(175px,40vw);max-height:48px}.hero-art{min-height:0}.hero-photo-frame{padding:5px}.hero-photo-frame .float-card.one{left:-2px;top:12px}.hero-photo-frame .float-card.two{right:-2px;bottom:12px}.hero-photo-frame .float-card{padding:9px 11px;font-size:11px}.hero-photo-frame .mini-icon{width:30px;height:30px}}


/* Real AB Travel photos and final conversion improvements */
.hero-grid{grid-template-columns:.94fr 1.06fr;min-height:580px}
.hero-photo-frame{padding:0}
.hero-photo{aspect-ratio:1.48/1;object-fit:cover;border-radius:24px}
.hero-photo-caption{display:flex;gap:18px;justify-content:flex-start;padding:13px 5px 0;color:#53677e;font-size:13px;font-weight:700}
.hero-photo-caption span+span:before{content:"•";margin-right:18px;color:var(--blue)}
.trust{gap:9px}
.trust-check{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dff6ea;color:#137a51;font-weight:900}
.service-card{display:block;position:relative;color:inherit;text-decoration:none;padding-right:48px}
.service-card-arrow{position:absolute;right:24px;top:24px;color:var(--blue);font-size:18px;font-weight:800;opacity:0;transform:translate(-4px,4px);transition:.2s}
.service-card:hover .service-card-arrow,.service-card:focus-visible .service-card-arrow{opacity:1;transform:none}
.service-card:focus-visible,.stat:focus-visible{outline:3px solid #1265d6;outline-offset:3px}
.fleet-art{min-height:360px;background:#e8f3ff}
.fleet-art:before,.fleet-art:after{display:none}
.fleet-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stats{gap:20px}
.stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;border-radius:18px;color:#fff;text-decoration:none;transition:background .2s,transform .2s}
.stat:hover{background:#ffffff12;transform:translateY(-3px)}
.stat-icon{font-size:20px;color:#b9d9f9;line-height:1.2}
.stat strong{font-size:32px}
.gallery-photo{display:block;min-height:360px;background:#e8f0f7}
.gallery-photo:before,.gallery-photo:after{display:none}
.gallery-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-copy h3{max-width:430px}
.language-switcher{display:flex;align-items:center}
.language-switcher ul{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.language-switcher a{display:inline-flex;align-items:center;padding:6px;border-radius:8px}
.language-switcher img{width:22px;height:16px;object-fit:cover}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-art{margin-top:10px}.hero-photo{aspect-ratio:1.45/1}}
@media(max-width:700px){.gallery-photo{min-height:250px}}
@media(max-width:600px){.hero-photo{aspect-ratio:1.15/1}.hero-photo-caption{font-size:12px;justify-content:center}.stats{gap:6px}.stat{padding:12px 4px}.stat strong{font-size:26px}.stat span{font-size:11px}.stat-icon{font-size:17px}}

/* Refined hero image, fleet figures and Google review link */
.hero-photo{aspect-ratio:2/1;object-fit:contain;background:#f7f9fc}
.stat-icon{display:none}
.stat-number-long{font-size:clamp(20px,2.4vw,30px)!important;text-transform:uppercase}
.stat span{max-width:240px}
.google-review{width:max-content;max-width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:box-shadow .2s,transform .2s}
.google-review:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.google-g{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f5f8ff;font:800 24px/1 Arial,sans-serif;background-image:linear-gradient(135deg,#4285f4 0 28%,#34a853 28% 48%,#fbbc05 48% 68%,#ea4335 68% 84%,#4285f4 84%);color:transparent;background-clip:text;-webkit-background-clip:text;flex:none}
.google-review small b{color:var(--blue);font-size:15px;margin-left:5px}
@media(max-width:600px){.hero-photo{aspect-ratio:1.9/1}.stat-number-long{font-size:19px!important}}

.language-switcher{display:flex;align-items:center;gap:4px}
.language-choice{display:inline-flex!important;align-items:center;gap:4px;padding:7px 8px;border:1px solid transparent;border-radius:9px;text-decoration:none!important;font-size:12px!important}
.language-choice.active,.language-choice:hover{border-color:var(--line);background:#f5f8fc}
@media(max-width:820px){.navlinks .language-switcher{display:flex}.navlinks .language-choice{display:inline-flex!important}}

/* Hero contact form link and local Google review mark */
.form-jump{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.form-jump:hover{background:#f6f9fd;box-shadow:var(--shadow)}.actions{flex-wrap:wrap}.google-g{width:34px;height:34px;display:block;flex:none}

@media(max-width:600px){.nav{gap:8px}.brand-logo{width:min(175px,42vw)}.navlinks{gap:6px}.navlinks>a.btn{display:none}.language-choice{padding:5px 6px!important}}
