.elementor-kit-78{--e-global-color-primary:#F0B429;--e-global-color-secondary:#1D2024;--e-global-color-text:#4A463D;--e-global-color-accent:#836006;--e-global-color-obcreme:#F5F1E8;--e-global-color-obcreme2:#FAF7F0;--e-global-color-obsand:#EFE9DB;--e-global-color-obwald:#2E3A2C;--e-global-color-obdunkel:#17191C;--e-global-color-obink:#23211C;--e-global-color-obmuted:#6B675E;--e-global-color-obondark:#B3AC9E;--e-global-color-obgelbhov:#FFC94A;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Barlow";--e-global-typography-accent-font-weight:600;color:#4A463D;font-family:"Barlow", Sans-serif;font-weight:400;}.elementor-kit-78 button,.elementor-kit-78 input[type="button"],.elementor-kit-78 input[type="submit"],.elementor-kit-78 .elementor-button{background-color:#f0b429;color:#1d2024;}.elementor-kit-78 button:hover,.elementor-kit-78 button:focus,.elementor-kit-78 input[type="button"]:hover,.elementor-kit-78 input[type="button"]:focus,.elementor-kit-78 input[type="submit"]:hover,.elementor-kit-78 input[type="submit"]:focus,.elementor-kit-78 .elementor-button:hover,.elementor-kit-78 .elementor-button:focus{background-color:#ffc94a;color:#1d2024;}.elementor-kit-78 e-page-transition{background-color:#FFBC7D;}.elementor-kit-78 a{color:#836006;}.elementor-kit-78 a:hover{color:#664a05;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   OFFROAD BOSNIEN - Design-System
   Zentrales Stylesheet der Website. Hier aendern sich Farben,
   Typografie und alle ob-*-Komponentenklassen.
   ============================================================ */

/* ============================================================
   1. Tokens
   ============================================================ */
:root{
  --ob-dark:#1d2024;
  --ob-darker:#17191c;
  --ob-card-dark:#26292d;
  --ob-forest:#2e3a2c;
  --ob-cream:#f5f1e8;
  --ob-cream-2:#faf7f0;
  --ob-sand:#efe9db;
  --ob-yellow:#f0b429;
  --ob-yellow-hi:#ffc94a;
  --ob-gold:#836006;      /* dunkler fuer 4.5:1-Kontrast auf Creme/Sand */
  --ob-gold-dark:#664a05;
  --ob-ink:#23211c;
  --ob-ink-2:#37332a;
  --ob-body:#4a463d;
  --ob-muted:#6b675e;
  --ob-muted-2:#6b6355;   /* dunkler fuer lesbare Kleintexte */
  --ob-line:#ddd6c6;
  --ob-line-2:#e4ddcd;
  --ob-on-dark:#f5f1e8;
  --ob-on-dark-2:#b3ac9e;
  --ob-on-dark-3:#a29b8c;
  --ob-radius:10px;
  --ob-radius-lg:12px;
  --ob-max:1200px;
  --ob-head:'Barlow Condensed',Impact,sans-serif;
  --ob-text:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ============================================================
   2. Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{
  margin:0;background:var(--ob-cream);color:var(--ob-ink);
  font:400 16px/1.6 var(--ob-text);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ob-gold);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--ob-gold-dark)}
h1,h2,h3,h4{font-family:var(--ob-head);text-transform:uppercase;letter-spacing:.02em;margin:0;color:var(--ob-ink);text-wrap:balance}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1em;padding-left:20px}
figure{margin:0}
hr{border:0;border-top:1px solid var(--ob-line);margin:32px 0}
::selection{background:var(--ob-yellow);color:var(--ob-dark)}
.ob-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ob-yellow);color:var(--ob-dark);padding:12px 20px;font:700 15px var(--ob-text)}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--ob-yellow);outline-offset:2px}

/* ============================================================
   3. Layout helpers
   ============================================================ */
/* max-width inkl. Seitenpadding, damit der Inhalt exakt so breit
   ist wie die Elementor-Sektionen (1200px Content) */
.ob-container{max-width:calc(var(--ob-max) + 48px);margin:0 auto;padding:0 24px;width:100%}
.ob-container--narrow{max-width:880px}
.ob-section{padding:110px 24px}
.ob-section--tight{padding:80px 24px}
.ob-section--cream{background:var(--ob-cream)}
.ob-section--cream2{background:var(--ob-cream-2)}
.ob-section--sand{background:var(--ob-sand)}
.ob-section--dark{background:var(--ob-dark)}
.ob-section--forest{background:var(--ob-forest)}
.ob-section > .ob-container{padding:0}

.ob-eyebrow{
  margin:0 0 12px;font:600 14px var(--ob-head);letter-spacing:.26em;
  text-transform:uppercase;color:var(--ob-gold);
}
.ob-section--dark .ob-eyebrow,.ob-section--forest .ob-eyebrow{color:var(--ob-yellow)}
.ob-h2{font:700 46px/1.05 var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin:0 0 14px}
.ob-h3{font:700 22px var(--ob-head);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}
.ob-section--dark .ob-h2,.ob-section--forest .ob-h2{color:var(--ob-on-dark)}
.ob-accent{color:var(--ob-gold)}
.ob-lead{margin:0 0 52px;font:400 16px/1.6 var(--ob-text);color:var(--ob-muted);max-width:640px}
.ob-section--dark .ob-lead{color:var(--ob-on-dark-3)}
.ob-section--forest .ob-lead{color:#b8c2b2}
.ob-prose{font:400 17px/1.75 var(--ob-text);color:var(--ob-body);text-wrap:pretty}
.ob-prose a{text-decoration:underline}

/* ============================================================
   4. Buttons
   ============================================================ */
.ob-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:700 16px var(--ob-text);border-radius:6px;padding:15px 32px;border:none;
  cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;
  text-align:center;line-height:1.2;
}
/* !important: Elementor-Kit-Linkfarbe (.elementor-kit-N a) darf Buttons nie faerben */
.ob-btn--primary,a.ob-btn--primary,a.ob-btn--primary:visited{background:var(--ob-yellow);color:var(--ob-dark)!important}
.ob-btn--primary:hover,a.ob-btn--primary:hover{background:var(--ob-yellow-hi);color:var(--ob-dark)!important}
.ob-btn--ghost,a.ob-btn--ghost,a.ob-btn--ghost:visited{background:transparent;color:var(--ob-on-dark)!important;border:1.5px solid rgba(245,241,232,.55)}
.ob-btn--ghost:hover,a.ob-btn--ghost:hover{border-color:var(--ob-yellow);color:var(--ob-yellow)!important}
.ob-btn--dark,a.ob-btn--dark,a.ob-btn--dark:visited{background:var(--ob-dark);color:var(--ob-on-dark)!important}
.ob-btn--dark:hover,a.ob-btn--dark:hover{background:#000;color:var(--ob-yellow)!important}
.ob-btn--sm{font-size:14px;font-weight:600;padding:10px 18px}
.ob-btn--block{width:100%}
.ob-btn--link{background:none;padding:0;font:600 14px var(--ob-text);color:var(--ob-gold);border-bottom:2px solid var(--ob-yellow);border-radius:0;padding-bottom:2px}
.ob-btn--link:hover{color:var(--ob-gold-dark)}

/* ============================================================
   5. Header
   ============================================================ */
.ob-header{
  position:sticky;top:0;z-index:60;background:var(--ob-dark);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ob-header__inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:66px;
}
.ob-logo{display:flex;align-items:center;gap:10px;color:var(--ob-on-dark);flex:none}
.ob-logo:hover{color:var(--ob-on-dark)}
.ob-logo__mark{width:14px;height:14px;background:var(--ob-yellow);transform:rotate(45deg);display:inline-block;flex:none}
.ob-logo__text{font:700 22px var(--ob-head);letter-spacing:.08em;text-transform:uppercase;color:var(--ob-on-dark);white-space:nowrap}
.ob-logo__text em{font-style:normal;color:var(--ob-yellow)}
.ob-logo img{max-height:48px;width:auto;border-radius:8px;display:block}

.ob-nav{display:flex;align-items:center;gap:26px}
.ob-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.ob-nav a{font:500 14px var(--ob-text);color:#cfc9bd}
.ob-nav a:hover,.ob-nav .current-menu-item > a{color:var(--ob-yellow)}
/* CTA-Button im Header: dunkler Text auf Gelb (Nav-Linkfarbe uebersteuern) */
.ob-nav a.ob-btn--primary,.ob-nav .ob-btn--primary{color:var(--ob-dark);font-weight:600}
.ob-nav a.ob-btn--primary:hover{color:var(--ob-dark);background:var(--ob-yellow-hi)}
.ob-nav__actions{display:flex;align-items:center;gap:12px}
.ob-cart-link{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  font:600 14px var(--ob-text);color:#cfc9bd;border:1px solid rgba(255,255,255,.2);
  padding:9px 14px;border-radius:6px;
}
.ob-cart-link:hover{color:var(--ob-yellow);border-color:var(--ob-yellow)}
.ob-cart-link__count{
  background:var(--ob-yellow);color:var(--ob-dark);font:700 12px var(--ob-text);
  min-width:20px;height:20px;border-radius:99px;display:inline-flex;
  align-items:center;justify-content:center;padding:0 5px;
}
.ob-navtoggle{
  display:none;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.2);
  border-radius:6px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex:none;
}
.ob-navtoggle span{display:block;width:20px;height:2px;background:var(--ob-on-dark);position:relative}
.ob-navtoggle span::before,.ob-navtoggle span::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ob-on-dark);
  transition:transform .2s ease,opacity .2s ease;
}
.ob-navtoggle span::before{top:-6px}
.ob-navtoggle span::after{top:6px}
.ob-navtoggle[aria-expanded="true"] span{background:transparent}
.ob-navtoggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.ob-navtoggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* ============================================================
   6. Hero
   ============================================================ */
.ob-hero{
  position:relative;background:var(--ob-dark);min-height:700px;
  display:flex;align-items:flex-end;overflow:hidden;
}
.ob-hero__media{position:absolute;inset:0}
.ob-hero__media img,.ob-hero__media video{width:100%;height:100%;object-fit:cover}
.ob-hero__scrim{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(29,32,36,.55) 0%,rgba(29,32,36,.15) 40%,rgba(29,32,36,.88) 100%);
}
.ob-hero__inner{
  position:relative;max-width:var(--ob-max);margin:0 auto;
  padding:170px 24px 64px;width:100%;
}
.ob-hero__kicker{
  margin:0 0 14px;font:600 15px var(--ob-head);letter-spacing:.28em;
  text-transform:uppercase;color:var(--ob-yellow);
}
.ob-hero__title{
  margin:0 0 18px;font:700 84px/.95 var(--ob-head);letter-spacing:.02em;
  text-transform:uppercase;color:var(--ob-on-dark);max-width:900px;
}
.ob-hero__sub{
  margin:0 0 28px;font:400 19px/1.6 var(--ob-text);color:#e8e2d4;
  max-width:680px;text-wrap:pretty;
}
.ob-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;list-style:none;padding:0}
.ob-chips li{
  font:600 13px var(--ob-text);color:var(--ob-on-dark);
  background:rgba(245,241,232,.12);border:1px solid rgba(245,241,232,.25);
  padding:7px 14px;border-radius:99px;
}
.ob-hero__cta{display:flex;flex-wrap:wrap;gap:14px}

.ob-pagehero{
  background:var(--ob-dark);position:relative;overflow:hidden;
  padding:130px 24px 70px;
}
.ob-pagehero__media{position:absolute;inset:0;opacity:.42}
.ob-pagehero__media img{width:100%;height:100%;object-fit:cover}
.ob-pagehero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(29,32,36,.75),rgba(29,32,36,.95));
}
.ob-pagehero__inner{position:relative;z-index:2;max-width:var(--ob-max);margin:0 auto}
.ob-pagehero h1{font:700 62px/1 var(--ob-head);color:var(--ob-on-dark);margin:0 0 16px}
.ob-pagehero p{margin:0;font:400 18px/1.65 var(--ob-text);color:#cfc9bd;max-width:680px;text-wrap:pretty}
.ob-crumbs{margin:0 0 18px;font:400 13px var(--ob-text);color:var(--ob-muted-2)}
.ob-crumbs a{color:#b3ac9e}
.ob-crumbs a:hover{color:var(--ob-yellow)}

/* ============================================================
   7. Warum / split
   ============================================================ */
.ob-split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.ob-split__media{position:relative}
.ob-split__media .ob-frame{width:100%;height:440px;border-radius:var(--ob-radius);overflow:hidden}
.ob-split__media .ob-frame img{width:100%;height:100%;object-fit:cover}
.ob-badge-note{
  position:absolute;left:-18px;bottom:-18px;background:var(--ob-dark);color:var(--ob-on-dark);
  padding:18px 22px;border-radius:8px;max-width:250px;
}
.ob-badge-note strong{display:block;font:700 17px var(--ob-head);letter-spacing:.04em;text-transform:uppercase;color:var(--ob-yellow)}
.ob-badge-note span{display:block;margin-top:4px;font:400 13.5px/1.5 var(--ob-text);color:#cfc9bd}

/* ============================================================
   8. Vorteil-Karten
   ============================================================ */
.ob-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ob-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ob-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.ob-card-dark{
  background:var(--ob-card-dark);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--ob-radius);padding:28px 24px;
}
.ob-card-dark__num{margin:0 0 14px;font:700 30px var(--ob-head);color:var(--ob-yellow)}
.ob-card-dark h3{margin:0 0 10px;font:700 21px var(--ob-head);letter-spacing:.03em;text-transform:uppercase;color:var(--ob-on-dark)}
.ob-card-dark p{margin:0;font:400 14.5px/1.65 var(--ob-text);color:var(--ob-on-dark-2)}
.ob-card-dark h3.ob-h3{color:var(--ob-yellow);margin-bottom:18px}

.ob-card-light{
  background:var(--ob-cream-2);border:1px solid var(--ob-line);
  border-radius:var(--ob-radius);padding:28px 26px;
}
.ob-card-light h3{margin:0;font:700 22px var(--ob-head);text-transform:uppercase;color:var(--ob-ink)}
.ob-card-light ul{margin:0;padding-left:18px;font:400 14.5px/1.9 var(--ob-text);color:var(--ob-body)}

/* ============================================================
   9. Checklisten
   ============================================================ */
.ob-checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;list-style:none;margin:0;padding:0}
.ob-checklist li{display:flex;gap:12px;align-items:baseline;font:500 15.5px var(--ob-text);color:var(--ob-ink-2)}
.ob-checklist li::before{content:"\2713";color:var(--ob-gold);font-weight:700;flex:none}
.ob-checklist--ruled li{border-bottom:1px solid #e8e1d1;padding:10px 0;gap:11px;font-size:15px}
.ob-checklist--single{grid-template-columns:1fr}
.ob-checklist--acc{gap:8px 28px}
.ob-dotlist{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;list-style:none;margin:0;padding:0}
.ob-dotlist li{display:flex;gap:10px;align-items:baseline;font:500 14.5px var(--ob-text);color:#dcd6c8}
.ob-dotlist li::before{content:"\25AA";color:var(--ob-yellow);flex:none}
.ob-dotlist--single{grid-template-columns:1fr}

.ob-incl-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.ob-pflicht-grid{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start}
.ob-anfrage-grid{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:start}
.ob-note{
  background:var(--ob-sand);border-left:4px solid var(--ob-yellow);
  border-radius:8px;padding:24px 26px;
}
.ob-note strong{display:block;margin:0 0 8px;font:700 16px var(--ob-head);letter-spacing:.06em;text-transform:uppercase;color:var(--ob-ink)}
.ob-note p{margin:0;font:400 14.5px/1.7 var(--ob-text);color:var(--ob-body)}
.ob-warn{
  background:#f7ecd2;border:1px solid #e6cf94;border-radius:8px;
  padding:18px 24px;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;
}
.ob-warn strong{font:700 15px var(--ob-head);letter-spacing:.08em;text-transform:uppercase;color:#8a6407;white-space:nowrap}
.ob-warn p{margin:0;font:400 14.5px/1.65 var(--ob-text);color:#5c4a1a;flex:1;min-width:260px}

/* ============================================================
   10. Levelbalken
   ============================================================ */
.ob-level{display:inline-flex;gap:3px;vertical-align:middle}
.ob-level i{width:14px;height:5px;background:#d8d2c4;border-radius:2px;display:block}
.ob-level i.is-on{background:var(--ob-yellow)}
.ob-level--dark i{background:rgba(255,255,255,.18)}
.ob-level--dark i.is-on{background:var(--ob-yellow)}

/* ============================================================
   11. Paketkarten
   ============================================================ */
.ob-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ob-pkg{
  background:var(--ob-cream-2);border:1px solid var(--ob-line);border-radius:var(--ob-radius-lg);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ob-pkg:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(35,33,28,.10)}
.ob-pkg--featured{border:2px solid var(--ob-yellow)}
.ob-pkg--dark{background:var(--ob-dark);border-color:var(--ob-dark)}
.ob-pkg__flag{
  position:absolute;top:14px;left:14px;z-index:2;font:700 12px var(--ob-text);
  letter-spacing:.08em;text-transform:uppercase;background:var(--ob-yellow);
  color:var(--ob-dark);padding:6px 12px;border-radius:99px;
}
.ob-pkg__media{height:190px;background:var(--ob-sand);overflow:hidden}
.ob-pkg__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ob-pkg:hover .ob-pkg__media img{transform:scale(1.04)}
.ob-pkg__body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.ob-pkg__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ob-pkg__level{font:600 12px var(--ob-text);letter-spacing:.08em;text-transform:uppercase;color:var(--ob-muted)}
.ob-pkg__title{margin:0;font:700 26px var(--ob-head);text-transform:uppercase;color:var(--ob-ink)}
.ob-pkg__title a{color:inherit}
.ob-pkg__title a:hover{color:var(--ob-gold)}
.ob-pkg__desc{margin:0;font:400 14.5px/1.6 var(--ob-text);color:var(--ob-body);flex:1}
.ob-pkg__meta{display:flex;gap:12px;flex-wrap:wrap;font:600 13.5px var(--ob-text);color:var(--ob-ink-2)}
.ob-pkg__meta span.sep{color:var(--ob-on-dark-3)}
.ob-pkg__vehicle{margin:0;font:400 13px/1.55 var(--ob-text);color:var(--ob-muted)}
.ob-pkg__vehicle strong{color:var(--ob-ink-2)}
.ob-pkg__foot{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  border-top:1px solid var(--ob-line-2);padding-top:16px;margin-top:4px;flex-wrap:wrap;
}
.ob-pkg__price{font:700 26px var(--ob-head);color:var(--ob-ink);display:block;line-height:1.1}
.ob-pkg__price--ask{font-size:22px}
.ob-pkg__price small{font:400 12.5px var(--ob-text);color:var(--ob-muted);display:block}
.ob-pkg--dark .ob-pkg__title{color:var(--ob-on-dark)}
.ob-pkg--dark .ob-pkg__desc{color:var(--ob-on-dark-2)}
.ob-pkg--dark .ob-pkg__meta{color:#e8e2d4}
.ob-pkg--dark .ob-pkg__vehicle{color:var(--ob-on-dark-3)}
.ob-pkg--dark .ob-pkg__vehicle strong{color:#e8e2d4}
.ob-pkg--dark .ob-pkg__level{color:var(--ob-on-dark-3)}
.ob-pkg__custom{font:600 12px var(--ob-text);color:var(--ob-yellow)}
.ob-pkg--dark .ob-pkg__foot{border-top-color:rgba(255,255,255,.12)}
.ob-pkg--dark .ob-pkg__price{color:var(--ob-on-dark)}
.ob-pkg--dark .ob-pkg__price small{color:var(--ob-on-dark-3)}
.ob-pkg-cta{
  border:1.5px dashed #c9c0aa;border-radius:var(--ob-radius-lg);display:flex;
  flex-direction:column;align-items:flex-start;justify-content:center;padding:32px 28px;gap:10px;
}
.ob-pkg-cta h3{margin:0;font:700 24px var(--ob-head);text-transform:uppercase;color:var(--ob-ink)}
.ob-pkg-cta p{margin:0;font:400 14.5px/1.6 var(--ob-text);color:var(--ob-muted)}

/* ============================================================
   12. Ablauf / Timeline
   ============================================================ */
.ob-timeline{display:grid;grid-template-columns:1fr;max-width:820px}
.ob-timeline__row{
  display:grid;grid-template-columns:88px 1fr;gap:24px;padding:22px 0;
  border-top:1px solid rgba(245,241,232,.15);
}
.ob-timeline__row:last-child{border-bottom:1px solid rgba(245,241,232,.15)}
.ob-timeline__day{font:700 34px var(--ob-head);color:var(--ob-yellow);line-height:1}
.ob-timeline__text{margin:0;font:400 15.5px/1.7 var(--ob-text);color:#dfe4da}
.ob-timeline__text strong{color:var(--ob-on-dark)}

/* ============================================================
   13. Medien
   ============================================================ */
.ob-media-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:0 0 44px;flex-wrap:wrap}
.ob-media-head__note{margin:0;font:400 13px/1.6 var(--ob-text);color:var(--ob-muted-2);max-width:280px}
.ob-media-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:16px}
.ob-media-grid figure{height:340px;border-radius:var(--ob-radius);overflow:hidden;background:var(--ob-sand)}
.ob-media-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ob-media-grid figure:hover img{transform:scale(1.05)}

/* ============================================================
   14. FAQ
   ============================================================ */
.ob-faq{display:flex;flex-direction:column}
.ob-faq details{border-top:1px solid var(--ob-line);padding:4px 0}
.ob-faq details:last-child{border-bottom:1px solid var(--ob-line)}
.ob-faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:16px 0;font:600 17px var(--ob-text);color:var(--ob-ink);
  cursor:pointer;list-style:none;
}
.ob-faq summary::-webkit-details-marker{display:none}
.ob-faq summary:hover{color:var(--ob-gold)}
.ob-faq__plus{font:400 24px var(--ob-text);color:var(--ob-gold);transition:transform .2s ease;flex:none;line-height:1}
.ob-faq details[open] .ob-faq__plus{transform:rotate(45deg)}
.ob-faq__answer{margin:0;padding:0 40px 18px 0;font:400 15px/1.7 var(--ob-text);color:var(--ob-body)}
.ob-faq__answer p:last-child{margin-bottom:0}

/* ============================================================
   15. Formulare
   ============================================================ */
.ob-form-wrap{background:var(--ob-cream-2);border-radius:var(--ob-radius-lg);padding:36px 36px 32px}
.ob-form-side{display:flex;flex-direction:column;gap:10px;font:500 14.5px var(--ob-text);color:#dfe4da;margin-top:24px;list-style:none;padding:0}
.ob-form-side li{display:flex;gap:10px;align-items:baseline}
.ob-form-side li::before{content:"\25AA";color:var(--ob-yellow)}

input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],
input[type=date],input[type=password],input[type=search],select,textarea{
  width:100%;padding:11px 12px;border:1px solid #d8d2c4;border-radius:6px;
  background:#faf8f2;font:400 15px var(--ob-text);color:var(--ob-ink);
  box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ob-yellow);box-shadow:0 0 0 3px rgba(240,180,41,.22)}
textarea{resize:vertical;min-height:90px}
::placeholder{color:#a29b8c}
label{display:block;font:600 11.5px var(--ob-text);letter-spacing:.07em;text-transform:uppercase;color:var(--ob-muted);margin:0 0 6px}

.ob-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.ob-formgrid .full{grid-column:1 / -1}
.ob-formgrid .split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ob-form-foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px;flex-wrap:wrap}
.ob-form-foot p{margin:0;font:400 12.5px/1.5 var(--ob-text);color:var(--ob-muted-2);flex:1;min-width:220px}

/* Contact Form 7 im Look der Seite */
.wpcf7-form-control-wrap{display:block}
.wpcf7 form .wpcf7-response-output{
  margin:18px 0 0;border:1px solid var(--ob-line);border-left:4px solid var(--ob-yellow);
  border-radius:6px;padding:14px 18px;font:500 14.5px var(--ob-text);color:var(--ob-ink-2);background:#fff;
}
.wpcf7 form.sent .wpcf7-response-output{border-left-color:#4f7a3a}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-left-color:#b0500f}
.wpcf7-not-valid-tip{font:500 12.5px var(--ob-text);color:#b0500f;margin-top:5px}
.wpcf7-spinner{margin:0 0 0 10px}
.ob-form-wrap .wpcf7-submit{
  font:700 16px var(--ob-text);color:var(--ob-dark);background:var(--ob-yellow);border:none;
  padding:15px 36px;border-radius:6px;cursor:pointer;white-space:nowrap;width:auto;
}
.ob-form-wrap .wpcf7-submit:hover{background:var(--ob-yellow-hi)}

/* ============================================================
   16. Footer
   ============================================================ */
.ob-footer{background:var(--ob-darker);padding:56px 0 40px}
.ob-footer__top{
  display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;
  padding:0 0 36px;border-bottom:1px solid rgba(255,255,255,.08);
}
.ob-footer__about{max-width:340px}
.ob-footer__about .ob-logo{margin:0 0 14px}
.ob-footer__about p{margin:0;font:400 14px/1.7 var(--ob-text);color:var(--ob-muted-2)}
.ob-footer__cols{display:flex;gap:44px;flex-wrap:wrap}
.ob-footer__col{display:flex;flex-direction:column;gap:9px}
.ob-footer__col > span.h{font:700 13px var(--ob-head);letter-spacing:.14em;text-transform:uppercase;color:#8f887b;margin-bottom:4px}
.ob-footer__col a,.ob-footer__col span{font:400 14px var(--ob-text);color:var(--ob-on-dark-2)}
.ob-footer__col a:hover{color:var(--ob-yellow)}
.ob-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ob-footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;flex-wrap:wrap}
.ob-footer__bottom,.ob-footer__bottom a{font:400 13px var(--ob-text);color:#8f887b}
.ob-footer__bottom a:hover{color:var(--ob-on-dark-2)}
.ob-footer__legal{display:flex;gap:20px;flex-wrap:wrap;list-style:none;margin:0;padding:0}

/* ============================================================
   17. WooCommerce - global
   ============================================================ */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  background:var(--ob-cream-2);border:1px solid var(--ob-line);border-top:3px solid var(--ob-yellow);
  border-radius:8px;padding:16px 20px;font:500 15px var(--ob-text);color:var(--ob-ink-2);
  list-style:none;margin:0 0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;
}
.woocommerce-error{border-top-color:#b0500f}
.woocommerce-message .button,.woocommerce-info .button{
  background:var(--ob-dark);color:var(--ob-on-dark);font:600 13.5px var(--ob-text);
  padding:9px 16px;border-radius:6px;order:2;margin-left:auto;
}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button,.woocommerce #respond input#submit,
.woocommerce .button.alt,.woocommerce button.button.alt{
  background:var(--ob-yellow);color:var(--ob-dark);border:none;border-radius:6px;
  font:700 15px var(--ob-text);padding:14px 26px;cursor:pointer;transition:background .18s ease;
  text-transform:none;line-height:1.2;
}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button:hover,.woocommerce .button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--ob-yellow-hi);color:var(--ob-dark);
}
.woocommerce .button.disabled,.woocommerce button.button:disabled{background:#8a7a4d;color:var(--ob-dark);opacity:1}
.woocommerce table.shop_table{
  border:1px solid var(--ob-line);border-radius:var(--ob-radius-lg);border-collapse:separate;
  border-spacing:0;background:var(--ob-cream-2);width:100%;
}
.woocommerce table.shop_table th{
  font:700 13px var(--ob-head);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ob-muted);padding:16px 18px;border-bottom:1px solid var(--ob-line-2);text-align:left;
}
.woocommerce table.shop_table td{padding:18px;border-bottom:1px solid var(--ob-line-2);font:400 15px var(--ob-text);color:var(--ob-ink-2);vertical-align:middle}
.woocommerce table.shop_table tr:last-child td{border-bottom:none}
.woocommerce .quantity .qty{width:72px;text-align:center;padding:9px 6px}
.price,.woocommerce-Price-amount{font-family:var(--ob-head);font-weight:700;color:var(--ob-ink)}
.woocommerce .woocommerce-breadcrumb{font:400 13px var(--ob-text);color:var(--ob-muted-2);margin:0 0 18px}

/* Woo Shop-Archiv im Paket-Look */
.ob-shopbar{background:var(--ob-cream-2);border-bottom:1px solid var(--ob-line-2)}
.ob-shopbar__inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 24px;max-width:calc(var(--ob-max) + 48px);margin:0 auto;flex-wrap:wrap;
}
.ob-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ob-steps__item{
  font:600 13px var(--ob-text);padding:7px 14px;border-radius:99px;
  border:1px solid #d8d2c4;background:transparent;color:var(--ob-muted-2);
}
.ob-steps__item.is-active{background:var(--ob-dark);border-color:var(--ob-dark);color:var(--ob-yellow)}
.ob-steps__sep{color:#c9c0aa}

/* Single Product */
.ob-product{max-width:calc(var(--ob-max) + 48px);margin:0 auto;padding:48px 24px 90px}
.ob-product__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:start}
.ob-product__gallery{display:flex;flex-direction:column;gap:14px}
.ob-product__main{height:430px;border-radius:var(--ob-radius-lg);overflow:hidden;background:var(--ob-sand)}
.ob-product__main img{width:100%;height:100%;object-fit:cover}
.ob-product__thumbs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.ob-product__thumbs figure{height:108px;border-radius:8px;overflow:hidden;background:var(--ob-sand);margin:0;cursor:pointer}
.ob-product__thumbs img{width:100%;height:100%;object-fit:cover}
.ob-product__usp{
  background:var(--ob-sand);border-radius:var(--ob-radius);padding:20px 22px;
  display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:8px;list-style:none;
}
.ob-product__usp li{display:flex;gap:9px;align-items:baseline;font:500 14px var(--ob-text);color:var(--ob-ink-2)}
.ob-product__usp li::before{content:"\2713";color:var(--ob-gold);font-weight:700}
.ob-product__kicker{margin:0 0 10px;font:600 13px var(--ob-head);letter-spacing:.24em;text-transform:uppercase;color:var(--ob-gold)}
.ob-product__title{margin:0 0 12px;font:700 46px/1 var(--ob-head);text-transform:uppercase;color:var(--ob-ink)}
.ob-product__price{display:flex;align-items:baseline;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.ob-product__price .amount,.ob-product__price .ob-price{font:700 34px var(--ob-head);color:var(--ob-ink)}
.ob-product__price del{opacity:.5;font-size:24px}
.ob-product__price small{font:400 14px var(--ob-text);color:var(--ob-muted)}
.ob-product__facts{display:flex;gap:16px;flex-wrap:wrap;font:600 13.5px var(--ob-text);color:var(--ob-ink-2);margin:0 0 18px;align-items:center}
.ob-product__facts .sep{color:var(--ob-on-dark-3)}
.ob-product__short{margin:0 0 26px;font:400 15px/1.7 var(--ob-text);color:var(--ob-body)}

/* Buchungsbox: Styles liefert das Plugin "Offroad Bosnien Buchung" (assets/buchung.css). */
.ob-accordion{max-width:var(--ob-max);margin:56px auto 0;display:flex;flex-direction:column}
.ob-accordion details{border-top:1px solid var(--ob-line);padding:4px 0}
.ob-accordion details:last-child{border-bottom:1px solid var(--ob-line)}
.ob-accordion summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;
  font:700 20px var(--ob-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ob-ink);
  cursor:pointer;list-style:none;
}
.ob-accordion summary::-webkit-details-marker{display:none}
.ob-accordion__body{margin:0;padding:0 40px 20px 0;font:400 15px/1.75 var(--ob-text);color:var(--ob-body);max-width:820px}
.ob-accordion__body ul{padding-left:18px}

/* Warenkorb & Kasse */
.ob-shoppage{max-width:calc(var(--ob-max) + 48px);margin:0 auto;padding:48px 24px 90px}
.ob-shoppage h1{font:700 44px/1 var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin:0 0 36px}
.woocommerce-cart-form{margin:0 0 24px}
.cart_totals,.woocommerce-checkout-review-order,.woocommerce-order-details,.woocommerce-customer-details{margin-top:0}
.cart_totals h2,.woocommerce-checkout-review-order h3,#order_review_heading{
  font:700 20px var(--ob-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ob-on-dark);margin:0 0 18px;
}
.woocommerce .cart-collaterals{width:100%}
.woocommerce .cart-collaterals .cart_totals{
  width:100%;float:none;background:var(--ob-dark);border-radius:var(--ob-radius-lg);padding:28px;
}
.woocommerce .cart_totals table.shop_table{background:transparent;border:none}
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{
  border-bottom:1px solid rgba(255,255,255,.12);color:#e8e2d4;padding:12px 0;
}
.woocommerce .cart_totals table.shop_table th{color:var(--ob-on-dark-2);letter-spacing:.06em}
.woocommerce .cart_totals .order-total td .woocommerce-Price-amount{font-size:30px;color:var(--ob-yellow)}
.woocommerce .cart_totals .wc-proceed-to-checkout{padding:18px 0 0}
.woocommerce .cart_totals .checkout-button{display:block;width:100%;text-align:center;padding:16px;border-radius:8px;font-size:16px}
/* Leerer Warenkorb: gestaltete Karte, Standard-Notice-Reste ausblenden */
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none!important}
.wc-empty-cart-message .cart-empty.woocommerce-info{
  background:transparent;border:none;padding:0;margin:0;display:block;
}
.ob-empty-cart{
  border:1.5px dashed #c9c0aa;border-radius:var(--ob-radius-lg);background:var(--ob-cream-2);
  padding:60px 40px;text-align:center;max-width:640px;margin:24px auto;
}
.ob-empty-cart__title{
  margin:0 0 8px;font:700 26px var(--ob-head);text-transform:uppercase;color:var(--ob-ink);
}
.ob-empty-cart__text{margin:0 0 22px;font:400 15px var(--ob-text);color:var(--ob-muted)}
.return-to-shop{display:none!important}

/* Pro-Elements-Cart: zweispaltiges Layout des Widgets skinnen */
.e-cart__container{gap:40px}

/* Linke Spalte: Sektionen als Creme-Karten im Seitendesign */
.elementor-widget-woocommerce-cart .e-cart-section:not(.e-cart-totals){
  background:var(--ob-cream-2)!important;border:1px solid var(--ob-line)!important;
  border-radius:var(--ob-radius-lg)!important;padding:8px 20px!important;
  box-shadow:none!important;
}
.elementor-widget-woocommerce-cart .e-shop-table table.shop_table{
  background:transparent!important;border:none!important;margin:0!important;
}
.elementor-widget-woocommerce-cart .e-shop-table th{
  background:transparent!important;border:none!important;border-bottom:1px solid var(--ob-line-2)!important;
  font:700 12px var(--ob-head)!important;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ob-muted)!important;padding:16px 12px!important;
}
.elementor-widget-woocommerce-cart .e-shop-table td{
  background:transparent!important;border:none!important;border-bottom:1px solid var(--ob-line-2)!important;
  padding:18px 12px!important;font:400 15px var(--ob-text);color:var(--ob-ink-2);vertical-align:middle;
}
.elementor-widget-woocommerce-cart .e-shop-table tr:last-child td{border-bottom:none!important}
.elementor-widget-woocommerce-cart .e-shop-table .product-name a{
  color:var(--ob-ink)!important;font-weight:600;
}
.elementor-widget-woocommerce-cart .e-shop-table .product-name a:hover{color:var(--ob-gold)!important}
.elementor-widget-woocommerce-cart .e-shop-table .product-thumbnail img{
  border-radius:8px;width:80px;height:60px;object-fit:cover;
}
.elementor-widget-woocommerce-cart .e-shop-table a.remove{
  color:#b0500f!important;font-size:20px;width:26px;height:26px;line-height:24px;
  border-radius:50%;text-align:center;display:inline-block;background:transparent!important;
}
.elementor-widget-woocommerce-cart .e-shop-table a.remove:hover{background:#f3ded1!important}
.elementor-widget-woocommerce-cart button[name=update_cart]{display:none!important}
.elementor-widget-woocommerce-cart .e-shop-table .woocommerce-Price-amount{font-family:var(--ob-head);font-weight:700}

/* Gutschein-Zeile als schlanke Karte */
.elementor-widget-woocommerce-cart .coupon.e-cart-section{
  margin-top:20px;padding:16px 20px!important;
}
.elementor-widget-woocommerce-cart .coupon .form-row{
  display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;margin:0!important;padding:0!important;
}
.elementor-widget-woocommerce-cart .coupon .coupon-col-start{flex:1;min-width:180px;max-width:280px}
.elementor-widget-woocommerce-cart .coupon #coupon_code{width:100%}
.elementor-widget-woocommerce-cart .coupon .button{
  font-size:14px!important;padding:12px 20px!important;white-space:nowrap;
}

/* Hinweisstreifen in der Karte */
.elementor-widget-woocommerce-cart .ob-cart-note{
  margin:6px 0 12px;border:none;border-radius:8px;background:var(--ob-sand);
  padding:12px 16px;
}
.elementor-widget-woocommerce-cart .e-cart-totals,
.e-cart-totals{
  background:var(--ob-dark)!important;border:none!important;
  border-radius:var(--ob-radius-lg)!important;padding:28px!important;
}
.e-cart-totals .cart_totals{width:100%;float:none;padding:0;background:transparent}
.elementor-widget-woocommerce-cart .e-cart-totals h2,
.e-cart-totals h2{
  font:700 20px var(--ob-head)!important;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ob-on-dark)!important;margin:0 0 18px;
}
.e-cart-totals table.shop_table{background:transparent;border:none;margin:0}
.elementor-widget-woocommerce-cart .e-cart-totals table.shop_table th,
.elementor-widget-woocommerce-cart .e-cart-totals table.shop_table td,
.e-cart-totals table.shop_table th,
.e-cart-totals table.shop_table td{
  border:none!important;border-bottom:1px solid rgba(255,255,255,.12)!important;
  color:#e8e2d4!important;padding:12px 0!important;background:transparent!important;
}
.elementor-widget-woocommerce-cart .e-cart-totals table.shop_table th,
.e-cart-totals table.shop_table th{color:var(--ob-on-dark-2)!important;letter-spacing:.06em;font:600 14px var(--ob-text)!important}
.e-cart-totals .woocommerce-Price-amount{color:#e8e2d4}
.elementor-widget-woocommerce-cart .e-cart-totals .order-total td,
.elementor-widget-woocommerce-cart .e-cart-totals .order-total .woocommerce-Price-amount,
.e-cart-totals .order-total td,.e-cart-totals .order-total .woocommerce-Price-amount{
  font-size:26px!important;color:var(--ob-yellow)!important;
  font-family:var(--ob-head)!important;font-weight:700;
}
.e-cart-totals .wc-proceed-to-checkout{padding:18px 0 0!important;margin:0}
.elementor-widget-woocommerce-cart .checkout-button,
.e-cart-totals .checkout-button{
  display:block;width:100%;text-align:center;padding:16px!important;border-radius:8px!important;
  font:700 16px var(--ob-text)!important;margin:0;
  background-color:var(--ob-yellow)!important;color:var(--ob-dark)!important;border:none!important;
}
.elementor-widget-woocommerce-cart .checkout-button:hover,
.e-cart-totals .checkout-button:hover{background-color:var(--ob-yellow-hi)!important;color:var(--ob-dark)!important}
.e-cart__column--totals{position:sticky;top:90px}

/* Alle Buttons in den Pro-Woo-Widgets: Markenfarben statt Elementor-Blau */
.elementor-widget-woocommerce-cart .button,
.elementor-widget-woocommerce-cart button[type=submit],
.elementor-widget-woocommerce-checkout-page .button,
.elementor-widget-woocommerce-checkout-page button[type=submit],
.elementor-widget-woocommerce-checkout-page #place_order,
.elementor-widget-woocommerce-my-account .button,
.elementor-widget-woocommerce-my-account button[type=submit]{
  background-color:var(--ob-yellow)!important;color:var(--ob-dark)!important;
  border:none!important;border-radius:6px!important;
  font-family:var(--ob-text)!important;font-weight:700!important;
}
.elementor-widget-woocommerce-cart .button:hover,
.elementor-widget-woocommerce-cart button[type=submit]:hover,
.elementor-widget-woocommerce-checkout-page .button:hover,
.elementor-widget-woocommerce-checkout-page button[type=submit]:hover,
.elementor-widget-woocommerce-checkout-page #place_order:hover,
.elementor-widget-woocommerce-my-account .button:hover,
.elementor-widget-woocommerce-my-account button[type=submit]:hover{
  background-color:var(--ob-yellow-hi)!important;color:var(--ob-dark)!important;
}
.elementor-widget-woocommerce-checkout-page #place_order{
  width:100%;padding:16px!important;border-radius:8px!important;font-size:16px!important;
}

.ob-cart-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;align-items:start}
.woocommerce .coupon{display:flex;gap:8px;flex-wrap:wrap}
.woocommerce .coupon .input-text{flex:1;min-width:150px}
.ob-cart-note{
  background:var(--ob-sand);border-radius:0 0 var(--ob-radius-lg) var(--ob-radius-lg);
  padding:14px 22px;display:flex;gap:12px;align-items:baseline;margin:-1px 0 24px;
  border:1px solid var(--ob-line);border-top:none;
}
.ob-cart-note::before{content:"\2713";color:var(--ob-gold);font-weight:700}
.ob-cart-note p{margin:0;font:400 13.5px/1.6 var(--ob-text);color:var(--ob-body)}
.ob-cartmeta{display:block;margin-top:6px;font:400 13px/1.6 var(--ob-text);color:var(--ob-muted)}
.ob-cartmeta strong{color:var(--ob-ink-2)}

.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
.woocommerce-checkout #customer_details{
  background:var(--ob-cream-2);border:1px solid var(--ob-line);border-radius:var(--ob-radius-lg);padding:28px;
}
.woocommerce-checkout h3{font:700 20px var(--ob-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ob-ink);margin:0 0 20px}
.woocommerce form .form-row{margin:0 0 16px;padding:0;display:block}
.woocommerce form .form-row label{margin-bottom:6px}
.woocommerce form .form-row .required{color:#b0500f;text-decoration:none}
.select2-container .select2-selection--single{height:44px;border:1px solid #d8d2c4;border-radius:6px;background:#faf8f2}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:42px;color:var(--ob-ink);font:400 15px var(--ob-text)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}
#order_review{background:var(--ob-dark);border-radius:var(--ob-radius-lg);padding:28px;margin-top:24px}
#order_review table.shop_table{background:transparent;border:none}
#order_review table.shop_table th,#order_review table.shop_table td{
  border-bottom:1px solid rgba(255,255,255,.12);color:#e8e2d4;padding:12px 0;
}
#order_review table.shop_table thead th{color:var(--ob-on-dark-2)}
#order_review .order-total .woocommerce-Price-amount{font-size:30px;color:var(--ob-yellow)}
#order_review .woocommerce-Price-amount{color:#e8e2d4}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{
  border:none;padding:18px 0 0;margin:0;list-style:none;display:flex;flex-direction:column;gap:10px;
}
.woocommerce-checkout #payment ul.payment_methods li{
  background:#fff;border:1px solid #d8d2c4;border-radius:10px;padding:14px 16px;
}
.woocommerce-checkout #payment ul.payment_methods li label{
  font:600 15px var(--ob-text);color:var(--ob-ink);text-transform:none;letter-spacing:0;display:inline;margin:0;
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--ob-sand);color:var(--ob-body);font:400 13.5px/1.6 var(--ob-text);
  border-radius:8px;margin:10px 0 0;padding:12px 14px;
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment .form-row.place-order{padding:18px 0 0;margin:0}
.woocommerce-checkout #payment #place_order{width:100%;padding:16px;border-radius:8px;font-size:16px}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{color:var(--ob-on-dark-2);font:400 13px/1.55 var(--ob-text)}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{color:var(--ob-on-dark-2);font-size:13px}

.woocommerce-order{max-width:760px;margin:0 auto;text-align:center}
.ob-thanks__check{
  display:inline-flex;width:64px;height:64px;border-radius:50%;background:var(--ob-yellow);
  color:var(--ob-dark);font:700 30px var(--ob-text);align-items:center;justify-content:center;margin-bottom:22px;
}
.woocommerce-order .woocommerce-thankyou-order-received{
  font:700 44px/1.05 var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin:0 0 12px;
}
.woocommerce-order .woocommerce-thankyou-order-details{
  list-style:none;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;
  background:var(--ob-cream-2);border:1px solid var(--ob-line);border-radius:var(--ob-radius-lg);
  padding:22px 26px;margin:0 0 30px;
}
.woocommerce-order .woocommerce-thankyou-order-details li{
  font:600 12px var(--ob-text);letter-spacing:.08em;text-transform:uppercase;color:var(--ob-muted);border:none;
}
.woocommerce-order .woocommerce-thankyou-order-details li strong{
  display:block;font:700 20px var(--ob-head);letter-spacing:0;text-transform:none;color:var(--ob-ink);margin-top:4px;
}
.woocommerce-order table.shop_table,.woocommerce-order .woocommerce-customer-details{text-align:left}
.woocommerce-order-details h2,.woocommerce-column__title{
  font:700 26px var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin:36px 0 16px;
}
.woocommerce ul.order_details{text-align:left}

/* Shop-Archiv */
.ob-archive-intro{margin:0 0 44px;max-width:660px}
.woocommerce ul.products{display:none}
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:6px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--ob-line);border-radius:6px;padding:8px 14px;font:600 14px var(--ob-text);color:var(--ob-ink-2);
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ob-dark);color:var(--ob-yellow);border-color:var(--ob-dark)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}
.woocommerce-store-notice{background:var(--ob-dark);color:var(--ob-on-dark)}

/* WooCommerce-Standardfarben (Lila/Gruen) sicher neutralisieren */
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt{
  background-color:var(--ob-yellow);color:var(--ob-dark);
}
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background-color:var(--ob-yellow-hi);color:var(--ob-dark);
}
.woocommerce #respond input#submit.alt.disabled,.woocommerce a.button.alt.disabled,
.woocommerce button.button.alt.disabled,.woocommerce input.button.alt.disabled,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce button.button.alt:disabled{
  background-color:#8a7a4d;color:var(--ob-dark);
}
.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce div.product .stock{color:var(--ob-ink)}
.woocommerce span.onsale{background:var(--ob-yellow);color:var(--ob-dark)}
.woocommerce-store-notice,p.demo_store{background:var(--ob-dark);color:var(--ob-on-dark)}
a.added_to_cart{color:var(--ob-gold)}
input[type=checkbox],input[type=radio],progress{accent-color:var(--ob-gold)}
.wc-block-components-button:not(.is-link){background:var(--ob-yellow);color:var(--ob-dark)}

/* Mein Konto */
.woocommerce-account .woocommerce{max-width:calc(var(--ob-max) + 48px);margin:0 auto;padding:48px 24px 90px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px}
.woocommerce-MyAccount-navigation li a{
  display:inline-block;border:1px solid var(--ob-line);border-radius:99px;padding:8px 16px;
  font:600 13.5px var(--ob-text);color:var(--ob-ink-2);
}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ob-dark);color:var(--ob-yellow);border-color:var(--ob-dark)}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-address-fields{
  background:var(--ob-cream-2);border:1px solid var(--ob-line);border-radius:var(--ob-radius-lg);padding:28px;
}

/* ============================================================
   18. Generische Seiten
   ============================================================ */
.ob-page{padding:70px 24px 100px;background:var(--ob-cream)}
.ob-page__content{font:400 16.5px/1.8 var(--ob-text);color:var(--ob-body)}
.ob-page__content h2{font:700 34px var(--ob-head);margin:44px 0 14px}
.ob-page__content h3{font:700 24px var(--ob-head);margin:32px 0 10px}
.ob-page__content ul,.ob-page__content ol{margin:0 0 20px;padding-left:22px}
.ob-page__content li{margin-bottom:6px}
.ob-page__content table{width:100%;border-collapse:collapse;margin:0 0 24px}
.ob-page__content th,.ob-page__content td{border:1px solid var(--ob-line);padding:12px 14px;text-align:left;font-size:15px}
.ob-page__content th{background:var(--ob-sand);font:700 13px var(--ob-head);letter-spacing:.08em;text-transform:uppercase}
.ob-cta-strip{background:var(--ob-forest);padding:70px 0;text-align:center}
.ob-cta-strip h2{font:700 40px var(--ob-head);text-transform:uppercase;color:var(--ob-on-dark);margin:0 0 12px}
.ob-cta-strip p{margin:0 auto 26px;max-width:560px;font:400 16px/1.7 var(--ob-text);color:#b8c2b2}

/* ============================================================
   19. Responsive
   ============================================================ */
@media (max-width:1100px){
  .ob-hero__title{font-size:68px}
  .ob-h2{font-size:40px}
  .ob-grid-4{grid-template-columns:repeat(2,1fr)}
  .ob-packages{grid-template-columns:repeat(2,1fr)}
  .ob-nav ul{gap:18px}
  .ob-nav{gap:16px}
  .ob-nav a{font-size:13.5px}
}
@media (max-width:960px){
  .ob-navtoggle{display:inline-flex}
  .ob-nav{
    position:absolute;left:0;right:0;top:66px;background:var(--ob-dark);
    flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 22px;
    border-bottom:1px solid rgba(255,255,255,.08);display:none;
    max-height:calc(100vh - 66px);overflow-y:auto;
  }
  .ob-nav.is-open{display:flex}
  .ob-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .ob-nav ul li{border-bottom:1px solid rgba(255,255,255,.07)}
  .ob-nav ul a{display:block;padding:14px 0;font-size:16px}
  .ob-nav__actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}
  .ob-nav__actions .ob-btn,.ob-cart-link{width:100%;justify-content:center}
  .ob-split{grid-template-columns:1fr;gap:40px}
  .ob-incl-grid,.ob-pflicht-grid,.ob-anfrage-grid{grid-template-columns:1fr;gap:28px}
  .ob-badge-note{left:0;bottom:-12px}
  .ob-product__grid{grid-template-columns:1fr;gap:34px}
  .ob-cart-layout{grid-template-columns:1fr}
  .ob-media-grid{grid-template-columns:1fr 1fr}
  .ob-media-grid figure:first-child{grid-column:1 / -1}
  .ob-section{padding:80px 24px}
  .ob-pagehero{padding:100px 24px 60px}
  .ob-pagehero h1{font-size:48px}
}
@media (max-width:760px){
  html{scroll-padding-top:76px}
  .ob-hero{min-height:560px}
  .ob-hero__inner{padding:120px 24px 48px}
  .ob-hero__title{font-size:48px}
  .ob-hero__sub{font-size:17px}
  .ob-h2,.ob-shoppage h1{font-size:34px}
  .ob-pagehero h1{font-size:38px}
  .ob-product__title{font-size:34px}
  .ob-grid-4,.ob-grid-3,.ob-grid-2,.ob-packages{grid-template-columns:1fr}
  .ob-checklist,.ob-dotlist,.ob-product__usp,.ob-formgrid,
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}
  .ob-formgrid .split{grid-template-columns:1fr 1fr}
  .ob-media-grid{grid-template-columns:1fr}
  .ob-media-grid figure{height:260px}
  .ob-timeline__row{grid-template-columns:1fr;gap:6px}
  .ob-timeline__day{font-size:26px}
  .ob-section{padding:64px 20px}
  .ob-container{padding:0 20px}
  .ob-form-wrap{padding:24px 20px}
  .ob-hero__cta .ob-btn{flex:1;min-width:150px}
  .ob-split__media .ob-frame{height:300px}
  .ob-product__main{height:280px}
  .ob-accordion summary{font-size:17px}
  .ob-accordion__body{padding-right:0}
  .woocommerce table.shop_table td{padding:12px}
  .ob-footer__cols{gap:28px}
}
@media (max-width:480px){
  .ob-hero__title{font-size:40px}
  .ob-h2{font-size:29px}
  .ob-formgrid .split{grid-template-columns:1fr}
  .ob-logo__text{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{
  .ob-header,.ob-footer,.ob-hero__cta,.ob-cta-strip{display:none}
}

/* ============================================================
   20. Elementor-Mapping
   Die Seiten werden mit Elementor gepflegt; diese Klassen werden
   im Editor unter "Erweitert - CSS-Klassen" gesetzt und hier gestylt.
   ============================================================ */

/* Widgets erben die Typografie ihrer Wrapper-Klasse */
.elementor-widget-heading .elementor-heading-title{
  font:inherit;color:inherit;margin:0;letter-spacing:inherit;
  text-transform:inherit;text-wrap:balance;line-height:inherit;
}
.elementor-widget-text-editor{font:inherit;color:inherit}
.elementor-widget-text-editor p{margin:0 0 1em}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* CTA-Streifen Buttons */
.ob-cta-strip__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* --- Abschnitte (Container) --- */
.e-con.ob-section{padding-top:110px;padding-bottom:110px}
.e-con.ob-section--tight{padding-top:80px;padding-bottom:80px}

/* --- Typo-Wrapper --- */
.ob-w-eyebrow{font:600 14px var(--ob-head);letter-spacing:.26em;text-transform:uppercase;color:var(--ob-gold);margin-bottom:12px}
.ob-section--dark .ob-w-eyebrow,.ob-section--forest .ob-w-eyebrow{color:var(--ob-yellow)}
.ob-w-h1{font:700 84px/.95 var(--ob-head);letter-spacing:.02em;text-transform:uppercase;color:var(--ob-on-dark);margin-bottom:18px}
.ob-w-h2{font:700 46px/1.05 var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin-bottom:14px}
.ob-section--dark .ob-w-h2,.ob-section--forest .ob-w-h2{color:var(--ob-on-dark)}
.ob-w-h2 .ob-accent{color:var(--ob-gold)}
.ob-w-lead{font:400 16px/1.6 var(--ob-text);color:var(--ob-muted);max-width:640px;margin-bottom:40px}
.ob-section--dark .ob-w-lead{color:var(--ob-on-dark-3)}
.ob-section--forest .ob-w-lead{color:#b8c2b2}
.ob-w-prose{font:400 17px/1.75 var(--ob-text);color:var(--ob-body);text-wrap:pretty}
.ob-w-kicker{font:600 15px var(--ob-head);letter-spacing:.28em;text-transform:uppercase;color:var(--ob-yellow);margin-bottom:14px}
.ob-w-herosub{font:400 19px/1.6 var(--ob-text);color:#e8e2d4;max-width:680px;text-wrap:pretty;margin-bottom:24px}
.ob-w-note{font:400 13px/1.6 var(--ob-text);color:var(--ob-muted-2);max-width:280px}

/* --- Buttons --- */
.ob-w-btn .elementor-button{
  background:var(--ob-yellow);color:var(--ob-dark);font:700 16px var(--ob-text);
  padding:15px 32px;border-radius:6px;transition:background .18s ease;
}
.ob-w-btn .elementor-button:hover{background:var(--ob-yellow-hi);color:var(--ob-dark)}
.ob-w-btn-ghost .elementor-button{
  background:transparent;color:var(--ob-on-dark);border:1.5px solid rgba(245,241,232,.55);
  font:600 16px var(--ob-text);padding:15px 32px;border-radius:6px;
}
.ob-w-btn-ghost .elementor-button:hover{border-color:var(--ob-yellow);color:var(--ob-yellow);background:transparent}
.ob-w-btnrow{--flex-direction:row;--gap:14px;--flex-wrap:wrap}

/* --- Hero (Startseite) --- */
.e-con.ob-heroe{
  position:relative;min-height:700px;justify-content:flex-end;
  padding:170px 24px 64px;overflow:hidden;
  isolation:isolate; /* eigener Stacking-Kontext: Video (z:-2) bleibt IN der Sektion, ueber deren Hintergrundbild */
}
/* Hintergrund-Video fuellt die Sektion sofort (auch bevor JS es umsortiert):
   e-con-inner bleibt statisch, damit der absolute Video-Container am Hero
   selbst verankert - kein "kleines Video" beim Laden mehr. */
.ob-heroe > .e-con-inner{position:static!important;z-index:auto!important}
.ob-heroe .elementor-background-video-container{
  position:absolute!important;inset:0!important;z-index:-2!important;
  pointer-events:none;width:auto!important;height:auto!important;
  transform:none!important;
}
.ob-heroe .elementor-background-video-hosted,
.ob-heroe .elementor-background-video-container video{
  width:100%!important;height:100%!important;object-fit:cover;
  position:absolute;inset:0;transform:none!important;max-width:none;
}
/* Farbverlauf ueber dem Video, unter dem Inhalt */
.ob-heroe::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(29,32,36,.55) 0%,rgba(29,32,36,.15) 40%,rgba(29,32,36,.88) 100%);
}

/* --- Seitenkopf (Unterseiten) --- */
.e-con.ob-pagehero2{
  position:relative;padding:130px 24px 70px;
}
.ob-pagehero2::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(29,32,36,.78),rgba(29,32,36,.94));
}
.ob-pagehero2 > *{position:relative;z-index:1}
.ob-w-pagetitle{font:700 62px/1 var(--ob-head);text-transform:uppercase;color:var(--ob-on-dark);margin-bottom:16px}
.ob-w-pageintro{font:400 18px/1.65 var(--ob-text);color:#cfc9bd;max-width:680px;text-wrap:pretty}

/* --- Chips (Icon-Liste inline) --- */
.ob-w-chips ul{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px;padding:0}
.ob-w-chips li{
  font:600 13px var(--ob-text);color:var(--ob-on-dark);
  background:rgba(245,241,232,.12);border:1px solid rgba(245,241,232,.25);
  padding:7px 14px;border-radius:99px;margin:0!important;
}
.ob-w-chips li:after{display:none}
.ob-w-chips .elementor-icon-list-icon{display:none}
.ob-w-chips .elementor-icon-list-text{color:inherit;font:inherit;padding:0}

/* --- Checkliste (Icon-Liste, 2 Spalten, Haken) --- */
.ob-w-check ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;margin:0;padding:0}
.ob-w-check li{display:flex;gap:12px;align-items:baseline;margin:0!important}
.ob-w-check li::before{content:"\2713";color:var(--ob-gold);font-weight:700;flex:none}
.ob-w-check .elementor-icon-list-icon{display:none}
.ob-w-check .elementor-icon-list-text{font:500 15.5px var(--ob-text);color:var(--ob-ink-2);padding:0}
.ob-w-check--ruled li{border-bottom:1px solid #e8e1d1;padding:10px 0}
.ob-w-check--ruled .elementor-icon-list-text{font-size:15px}
.ob-w-check--single ul{grid-template-columns:1fr}

/* --- Punkteliste dunkel --- */
.ob-w-dots ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding:0}
.ob-w-dots li{display:flex;gap:10px;align-items:baseline;margin:0!important}
.ob-w-dots li::before{content:"\25AA";color:var(--ob-yellow);flex:none}
.ob-w-dots .elementor-icon-list-icon{display:none}
.ob-w-dots .elementor-icon-list-text{font:500 14.5px var(--ob-text);color:#dcd6c8;padding:0}
.ob-w-dots--single ul{grid-template-columns:1fr}
.ob-w-dots--light .elementor-icon-list-text{color:#dfe4da}

/* Grids: das eigentliche Layout setzt Abschnitt 21 (auf .e-con-inner) */

/* --- Karten --- */
.e-con.ob-w-carddark{
  background:var(--ob-card-dark);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--ob-radius);padding:28px 24px;
}
.ob-w-cardnum{font:700 30px var(--ob-head);color:var(--ob-yellow);margin-bottom:14px}
.ob-w-cardtitle{font:700 21px var(--ob-head);letter-spacing:.03em;text-transform:uppercase;color:var(--ob-on-dark);margin-bottom:10px}
.ob-w-cardtext{font:400 14.5px/1.65 var(--ob-text);color:var(--ob-on-dark-2)}
.ob-w-carddark2-title{font:700 22px var(--ob-head);letter-spacing:.04em;text-transform:uppercase;color:var(--ob-yellow);margin-bottom:18px}
.ob-w-carddark2-text{font:400 15px/1.75 var(--ob-text);color:#c4bdae}

.e-con.ob-w-cardlight{
  background:var(--ob-cream-2);border:1px solid var(--ob-line);
  border-radius:var(--ob-radius);padding:28px 26px;
}
.ob-w-cardlight-title{font:700 22px var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin-bottom:14px}
.e-con.ob-w-cardlight .elementor-widget-text-editor{font:400 14.5px/1.9 var(--ob-text);color:var(--ob-body)}
.e-con.ob-w-cardlight ul{margin:0;padding-left:18px}

/* --- Hinweisboxen --- */
.ob-w-notebox{
  background:var(--ob-sand);border-left:4px solid var(--ob-yellow);
  border-radius:8px;padding:24px 26px;font:400 14.5px/1.7 var(--ob-text);color:var(--ob-body);
}
.ob-w-notebox strong{display:block;margin:0 0 8px;font:700 16px var(--ob-head);letter-spacing:.06em;text-transform:uppercase;color:var(--ob-ink)}
.ob-w-warnbox{
  background:#f7ecd2;border:1px solid #e6cf94;border-radius:8px;
  padding:18px 24px;font:400 14.5px/1.65 var(--ob-text);color:#5c4a1a;
}
.ob-w-warnbox strong{font:700 15px var(--ob-head);letter-spacing:.08em;text-transform:uppercase;color:#8a6407;margin-right:10px}

/* --- Warum: Bild + Badge --- */
.ob-w-splitimg img{width:100%;height:440px;object-fit:cover;border-radius:var(--ob-radius)}
.e-con.ob-w-splitmedia{position:relative}
.ob-w-badge{
  position:absolute;left:-18px;bottom:-18px;background:var(--ob-dark);color:var(--ob-on-dark);
  padding:18px 22px;border-radius:8px;max-width:250px;z-index:2;
}
.ob-w-badge strong{display:block;font:700 17px var(--ob-head);letter-spacing:.04em;text-transform:uppercase;color:var(--ob-yellow)}
.ob-w-badge p,.ob-w-badge span{font:400 13.5px/1.5 var(--ob-text);color:#cfc9bd;margin:4px 0 0;display:block}

/* --- Ablauf-Timeline (Raster kommt aus Abschnitt 21) --- */
.e-con.ob-w-tlrow{
  padding:22px 0;border-top:1px solid rgba(245,241,232,.15);border-radius:0;
}
.e-con.ob-w-tlrow:last-of-type{border-bottom:1px solid rgba(245,241,232,.15)}
.ob-w-tlday{font:700 34px/1 var(--ob-head);color:var(--ob-yellow)}
.ob-w-tltext{font:400 15.5px/1.7 var(--ob-text);color:#dfe4da}
.ob-w-tltext strong{color:var(--ob-on-dark)}

/* --- Medien-Grid --- */
.ob-w-media .elementor-widget-image img{
  width:100%;height:340px;object-fit:cover;border-radius:var(--ob-radius);
  transition:transform .5s ease;
}
.ob-w-media .elementor-widget-image:hover img{transform:scale(1.03)}

/* --- Anfrage-Formular-Spalte --- */
.e-con.ob-w-formwrap{background:var(--ob-cream-2);border-radius:var(--ob-radius-lg);padding:36px}
.ob-w-formwrap .wpcf7-submit{
  font:700 16px var(--ob-text);color:var(--ob-dark);background:var(--ob-yellow);border:none;
  padding:15px 36px;border-radius:6px;cursor:pointer;white-space:nowrap;width:auto;
}
.ob-w-formwrap .wpcf7-submit:hover{background:var(--ob-yellow-hi)}
.ob-w-formside ul{display:flex;flex-direction:column;gap:10px;margin:24px 0 0;padding:0}
.ob-w-formside li{display:flex;gap:10px;align-items:baseline;margin:0!important}
.ob-w-formside li::before{content:"\25AA";color:var(--ob-yellow)}
.ob-w-formside .elementor-icon-list-icon{display:none}
.ob-w-formside .elementor-icon-list-text{font:500 14.5px var(--ob-text);color:#dfe4da;padding:0}

/* --- Shopbar als HTML-Widget --- */
.ob-w-legal{font:400 16.5px/1.8 var(--ob-text);color:var(--ob-body)}
.ob-w-legal h2{font:700 34px var(--ob-head);text-transform:uppercase;margin:44px 0 14px;color:var(--ob-ink)}
.ob-w-legal h2:first-child{margin-top:0}
.ob-w-legal ul{margin:0 0 20px;padding-left:22px}

/* ============================================================
   22. Theme-Builder Header & Footer
   ============================================================ */

/* --- Header ---
   Das komplette Header-Styling liegt jetzt im Elementor-Template
   "Header – Offroad Bosnien" als Custom CSS der einzelnen Elemente
   (Erweitert → Eigenes CSS). Hier absichtlich nichts mehr. --- */

/* --- Footer ---
   Das komplette Footer-Styling liegt jetzt im Elementor-Template
   "Footer – Offroad Bosnien" als Custom CSS der einzelnen Elemente
   (Erweitert → Eigenes CSS). Hier absichtlich nichts mehr. --- */

/* --- Responsive --- */
@media (max-width:1100px){
  .ob-w-h1{font-size:68px}
  .ob-w-h2{font-size:40px}
  .e-con.ob-w-grid4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .e-con.ob-w-split,.e-con.ob-w-incl,.e-con.ob-w-pflicht,.e-con.ob-w-anfrage{grid-template-columns:1fr;gap:32px}
  .ob-w-badge{left:0;bottom:-12px}
  .e-con.ob-w-media{grid-template-columns:1fr 1fr}
  .e-con.ob-w-media > .elementor-widget-image:first-child{grid-column:1 / -1}
  .e-con.ob-section{padding-top:80px;padding-bottom:80px}
  .e-con.ob-pagehero2{padding:100px 24px 60px}
  .ob-w-pagetitle{font-size:48px}
}
@media (max-width:760px){
  .ob-w-h1{font-size:48px}
  .ob-w-h2{font-size:34px}
  .ob-w-pagetitle{font-size:38px}
  .ob-w-herosub{font-size:17px}
  .e-con.ob-heroe{min-height:560px;padding:120px 20px 48px}
  .e-con.ob-w-grid4,.e-con.ob-w-grid3,.e-con.ob-w-grid2{grid-template-columns:1fr}
  .ob-w-check ul,.ob-w-dots ul{grid-template-columns:1fr}
  .e-con.ob-w-media{grid-template-columns:1fr}
  .ob-w-media .elementor-widget-image img{height:260px}
  .e-con.ob-w-tlrow{grid-template-columns:1fr;gap:6px}
  .ob-w-tlday{font-size:26px}
  .e-con.ob-section{padding-top:64px;padding-bottom:64px}
  .ob-w-splitimg img{height:300px}
  .e-con.ob-w-formwrap{padding:24px 20px}
}
@media (max-width:480px){
  .ob-w-h1{font-size:40px}
  .ob-w-h2{font-size:29px}
}

/* ============================================================
   21. Elementor-Overrides (hohe Spezifitaet)
   Elementor setzt eigene Gaps, Margins und Listen-Styles mit
   (0,2,0)-Selektoren - hier werden sie gezielt uebersteuert.
   ============================================================ */

/* --- Rhythmus: Container-Gap aus, Abstaende ueber Margins --- */
.e-con.ob-section,.e-con.ob-heroe,.e-con.ob-pagehero2,
.e-con.ob-section > .e-con-inner,.e-con.ob-heroe > .e-con-inner,.e-con.ob-pagehero2 > .e-con-inner,
.e-con.e-child{gap:0}

.elementor-widget.ob-w-eyebrow{margin-bottom:12px!important}
.elementor-widget.ob-w-h2{margin-bottom:14px!important}
.elementor-widget.ob-w-lead{margin-bottom:48px!important}
.elementor-widget.ob-w-prose{margin-bottom:0!important}
.elementor-widget.ob-w-kicker{margin-bottom:14px!important}
.elementor-widget.ob-w-h1{margin-bottom:18px!important}
.elementor-widget.ob-w-herosub{margin-bottom:28px!important}
.elementor-widget.ob-w-chips{margin-bottom:30px!important}
.elementor-widget.ob-w-pagetitle{margin-bottom:16px!important}
.elementor-widget.ob-w-cardnum{margin-bottom:14px!important}
.elementor-widget.ob-w-cardtitle{margin-bottom:10px!important}
.elementor-widget.ob-w-carddark2-title{margin-bottom:18px!important}
.elementor-widget.ob-w-cardlight-title{margin-bottom:14px!important}
.elementor-widget.ob-w-warnbox{margin-top:28px!important}
.elementor-widget.ob-w-note{margin-top:18px!important}
.elementor-widget.ob-w-notebox{margin:0!important}
.elementor-widget.ob-w-tlday{margin:0!important}
.elementor-widget.ob-w-tltext{margin:0!important}

/* --- Hero: Inhalt unten ausrichten --- */
.e-con.ob-heroe{justify-content:flex-end!important}

/* --- Breitenbegrenzungen gegen .elementor-widget{max-width:100%} --- */
.elementor-widget.ob-w-badge{max-width:250px!important;width:auto!important}
.elementor-widget.ob-w-lead{max-width:640px!important}
.elementor-widget.ob-w-herosub{max-width:680px!important}
.elementor-widget.ob-w-note{max-width:280px!important}
.elementor-widget.ob-w-pageintro{max-width:680px!important}
.elementor-widget.ob-w-legal{max-width:880px!important}

/* --- Verschachtelte Container sind "boxed": das Layout gehoert
       auf deren .e-con-inner, nicht auf den aeusseren Container --- */
.e-con.e-child > .e-con-inner{gap:0}

/* Button-Zeilen nebeneinander */
.e-con.ob-w-btnrow,
.e-con.ob-w-btnrow > .e-con-inner{
  flex-direction:row!important;flex-wrap:wrap!important;gap:14px!important;
}

/* Produktseite im Theme Builder */
.e-con.ob-productwrap{padding:48px 24px 90px}

/* Layout-Zellen ohne Elementor-Standard-Padding (Karten/Formwrap behalten ihres) */
:is(.e-con.ob-w-prodgrid,.e-con.ob-w-split,.e-con.ob-w-incl,.e-con.ob-w-pflicht,.e-con.ob-w-anfrage) > .e-con-inner > .e-con:not([class*="ob-w-card"]):not(.ob-w-formwrap),
:is(.e-con.ob-w-prodgrid,.e-con.ob-w-split,.e-con.ob-w-incl,.e-con.ob-w-pflicht,.e-con.ob-w-anfrage) > .e-con:not(.e-con-inner):not([class*="ob-w-card"]):not(.ob-w-formwrap){
  padding:0;
}

/* Native Woo-Galerie im Design der Vorlage */
.ob-w-prodimg .woocommerce-product-gallery{width:100%!important}
.ob-w-prodimg .woocommerce-product-gallery__wrapper{margin:0}
.ob-w-prodimg .flex-viewport{border-radius:12px;overflow:hidden}
.ob-w-prodimg .woocommerce-product-gallery__image{border-radius:12px;overflow:hidden;background:var(--ob-sand)}
.ob-w-prodimg .woocommerce-product-gallery__image a{display:block}
.ob-w-prodimg .woocommerce-product-gallery__image img{
  width:100%;height:430px!important;object-fit:cover;display:block;
}
.ob-w-prodimg .woocommerce-product-gallery__trigger{
  background:var(--ob-cream-2);border-radius:8px;top:14px;right:14px;
}
.ob-w-prodimg .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));
  gap:14px;margin:22px 0 0!important;padding:0;
}
/* Kein Hover-Zoom */
.ob-w-prodimg .zoomImg{display:none!important}
.ob-w-prodimg .woocommerce-product-gallery__image a{cursor:default}
.ob-w-prodimg .woocommerce-product-gallery__image img{cursor:default!important}
.woocommerce div.product div.images .ob-w-prodimg .flex-control-thumbs li,
.ob-w-prodimg .flex-control-thumbs li{
  list-style:none;margin:0;width:100%!important;float:none!important;padding:0;
}
.ob-w-prodimg .flex-control-thumbs img{
  border-radius:8px;width:100%!important;aspect-ratio:4/3;height:auto;object-fit:cover;
  cursor:pointer;opacity:.6!important;transition:opacity .18s ease;display:block;
}
.ob-w-prodimg .flex-control-thumbs img.flex-active,
.ob-w-prodimg .flex-control-thumbs img:hover{opacity:1!important}

/* Native Produkt-Widgets */
.ob-w-prodkicker{font:600 13px var(--ob-head);letter-spacing:.24em;text-transform:uppercase;color:var(--ob-gold)}
.elementor-widget.ob-w-prodkicker{margin-bottom:10px!important}
.ob-w-prodtitle .product_title{
  font:700 46px/1 var(--ob-head);text-transform:uppercase;color:var(--ob-ink);margin:0;
}
.elementor-widget.ob-w-prodtitle{margin-bottom:12px!important}
.elementor-widget.ob-w-prodprice .price,
.elementor-widget.ob-w-prodprice .price .woocommerce-Price-amount,
.elementor-widget.ob-w-prodprice .price .ob-price{
  font:700 34px var(--ob-head)!important;color:var(--ob-ink)!important;margin:0;display:inline;
}
.elementor-widget.ob-w-prodprice p.price{display:block}
.elementor-widget.ob-w-prodprice{margin-bottom:2px!important}
.ob-w-pricesub{font:400 14px var(--ob-text);color:var(--ob-muted)}
.elementor-widget.ob-w-pricesub{margin-bottom:14px!important}
.e-con.ob-w-factsrow,
.e-con.ob-w-factsrow > .e-con-inner{
  flex-direction:row!important;flex-wrap:wrap!important;gap:8px 16px!important;
  align-items:center!important;padding:0;
}
.elementor-widget.ob-w-factsrow,.e-con.ob-w-factsrow{margin-bottom:18px!important}
.ob-w-fact{font:600 13.5px var(--ob-text);color:var(--ob-ink-2)}
.ob-w-fact .elementor-heading-title::after{content:"·";color:var(--ob-on-dark-3);margin-left:16px}
.ob-levelrow{display:inline-flex;align-items:center;gap:7px;font:600 13.5px var(--ob-text);color:var(--ob-ink-2)}
.ob-w-prodshort,.ob-w-prodshort p{font:400 15px/1.7 var(--ob-text);color:var(--ob-body);margin:0}
.elementor-widget.ob-w-prodshort{margin-bottom:26px!important}
.elementor-widget.ob-w-usps{margin-top:8px!important}
@media (max-width:760px){
  .ob-w-prodimg .woocommerce-product-gallery__image img{height:280px!important}
  .ob-w-prodtitle .product_title{font-size:34px}
  .elementor-widget.ob-w-prodprice .price,
  .elementor-widget.ob-w-prodprice .price .woocommerce-Price-amount,
  .elementor-widget.ob-w-prodprice .price .ob-price{font-size:28px!important}
  .ob-w-prodimg .flex-control-thumbs img{height:80px}
}
.e-con.ob-w-prodgrid > .e-con-inner,
.e-con.ob-w-prodgrid:not(:has(> .e-con-inner)){
  display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:52px!important;align-items:start;
}
.e-con.ob-w-prodgrid > .e-con-inner > .e-con{width:100%;max-width:100%}
@media (max-width:960px){
  .e-con.ob-w-prodgrid > .e-con-inner,
  .e-con.ob-w-prodgrid:not(:has(> .e-con-inner)){grid-template-columns:1fr;gap:34px!important}
}

/* Grids */
.e-con.ob-w-grid4 > .e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px!important}
.e-con.ob-w-grid3 > .e-con-inner{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px!important}
.e-con.ob-w-grid2 > .e-con-inner{display:grid!important;grid-template-columns:repeat(2,1fr);gap:24px!important}
.e-con.ob-w-split > .e-con-inner{display:grid!important;grid-template-columns:1.1fr .9fr;gap:64px!important;align-items:center}
.e-con.ob-w-incl > .e-con-inner{display:grid!important;grid-template-columns:2fr 1fr;gap:48px!important;align-items:start}
.e-con.ob-w-pflicht > .e-con-inner{display:grid!important;grid-template-columns:340px 1fr;gap:56px!important;align-items:start}
.e-con.ob-w-anfrage > .e-con-inner{display:grid!important;grid-template-columns:380px 1fr;gap:56px!important;align-items:start}
.e-con.ob-w-media > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:16px!important}
.e-con.ob-w-tlrow > .e-con-inner{display:grid!important;grid-template-columns:88px 1fr;gap:6px 24px!important}

/* Falls ein Container ohne Boxed-Inner daherkommt (Vollbreite) */
.e-con.ob-w-grid4:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px!important}
.e-con.ob-w-grid3:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px!important}
.e-con.ob-w-grid2:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:repeat(2,1fr);gap:24px!important}
.e-con.ob-w-split:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:1.1fr .9fr;gap:64px!important;align-items:center}
.e-con.ob-w-incl:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:2fr 1fr;gap:48px!important;align-items:start}
.e-con.ob-w-pflicht:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:340px 1fr;gap:56px!important;align-items:start}
.e-con.ob-w-anfrage:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:380px 1fr;gap:56px!important;align-items:start}
.e-con.ob-w-media:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:16px!important}
.e-con.ob-w-tlrow:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:88px 1fr;gap:6px 24px!important}

/* Innere Grid-Zellen (Spalten-Container) fuellen ihre Zelle */
.e-con.ob-w-split > .e-con-inner > .e-con,
.e-con.ob-w-incl > .e-con-inner > .e-con,
.e-con.ob-w-pflicht > .e-con-inner > .e-con,
.e-con.ob-w-anfrage > .e-con-inner > .e-con{width:100%;max-width:100%}

@media (max-width:960px){
  .e-con.ob-w-split > .e-con-inner,.e-con.ob-w-incl > .e-con-inner,
  .e-con.ob-w-pflicht > .e-con-inner,.e-con.ob-w-anfrage > .e-con-inner,
  .e-con.ob-w-split:not(:has(> .e-con-inner)),.e-con.ob-w-incl:not(:has(> .e-con-inner)),
  .e-con.ob-w-pflicht:not(:has(> .e-con-inner)),.e-con.ob-w-anfrage:not(:has(> .e-con-inner)){
    grid-template-columns:1fr;gap:32px!important;
  }
  .e-con.ob-w-grid4 > .e-con-inner,.e-con.ob-w-grid4:not(:has(> .e-con-inner)){grid-template-columns:repeat(2,1fr)}
  .e-con.ob-w-media > .e-con-inner,.e-con.ob-w-media:not(:has(> .e-con-inner)){grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .e-con.ob-w-grid4 > .e-con-inner,.e-con.ob-w-grid3 > .e-con-inner,.e-con.ob-w-grid2 > .e-con-inner,
  .e-con.ob-w-grid4:not(:has(> .e-con-inner)),.e-con.ob-w-grid3:not(:has(> .e-con-inner)),.e-con.ob-w-grid2:not(:has(> .e-con-inner)){
    grid-template-columns:1fr;
  }
  .e-con.ob-w-media > .e-con-inner,.e-con.ob-w-media:not(:has(> .e-con-inner)){grid-template-columns:1fr}
  .e-con.ob-w-tlrow > .e-con-inner,.e-con.ob-w-tlrow:not(:has(> .e-con-inner)){grid-template-columns:1fr}
}

/* --- Icon-Listen: Elementor-Resets uebersteuern --- */
/* Chips */
.elementor-widget.ob-w-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.elementor-widget.ob-w-chips .elementor-icon-list-item{
  display:inline-flex;width:auto;margin:0!important;
  font:600 13px var(--ob-text);color:var(--ob-on-dark);
  background:rgba(245,241,232,.12);border:1px solid rgba(245,241,232,.25);
  padding:7px 14px!important;border-radius:99px;
}
.elementor-widget.ob-w-chips .elementor-icon-list-text{font:inherit;color:inherit;padding:0!important}

/* Checkliste */
.elementor-widget.ob-w-check .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;margin:0;padding:0}
.elementor-widget.ob-w-check .elementor-icon-list-item{
  display:flex;gap:12px;align-items:baseline;margin:0!important;padding:0!important;width:auto;
}
.elementor-widget.ob-w-check .elementor-icon-list-item::before{content:"\2713";color:var(--ob-gold);font-weight:700;flex:none}
.elementor-widget.ob-w-check .elementor-icon-list-text{font:500 15.5px var(--ob-text);color:var(--ob-ink-2);padding:0!important}
.elementor-widget.ob-w-check--ruled .elementor-icon-list-item{border-bottom:1px solid #e8e1d1;padding:10px 0!important}
.elementor-widget.ob-w-check--ruled .elementor-icon-list-text{font-size:15px}
.elementor-widget.ob-w-check--single .elementor-icon-list-items{grid-template-columns:1fr}

/* Punkteliste dunkel */
.elementor-widget.ob-w-dots .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding:0}
.elementor-widget.ob-w-dots .elementor-icon-list-item{display:flex;gap:10px;align-items:baseline;margin:0!important;padding:0!important;width:auto}
.elementor-widget.ob-w-dots .elementor-icon-list-item::before{content:"\25AA";color:var(--ob-yellow);flex:none}
.elementor-widget.ob-w-dots .elementor-icon-list-text{font:500 14.5px var(--ob-text);color:#dcd6c8;padding:0!important}

/* Anfrage-Pluspunkte */
.elementor-widget.ob-w-formside{margin-top:24px!important}
.elementor-widget.ob-w-formside .elementor-icon-list-items{display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.elementor-widget.ob-w-formside .elementor-icon-list-item{display:flex;gap:10px;align-items:baseline;margin:0!important;padding:0!important}
.elementor-widget.ob-w-formside .elementor-icon-list-item::before{content:"\25AA";color:var(--ob-yellow);flex:none}
.elementor-widget.ob-w-formside .elementor-icon-list-text{font:500 14.5px var(--ob-text);color:#dfe4da;padding:0!important}

@media (max-width:760px){
  .elementor-widget.ob-w-check .elementor-icon-list-items,
  .elementor-widget.ob-w-dots .elementor-icon-list-items{grid-template-columns:1fr}
}
/* ============================================================
   23. Kasse (Pro-Elements-Checkout-Widget)
   ============================================================ */
/* Spalten-Wrapper unsichtbar - keine Doppel-Boxen */
.elementor-widget-woocommerce-checkout-page .e-checkout__column-inner{
  background:transparent!important;border:none!important;
  box-shadow:none!important;padding:0!important;
}
.elementor-widget-woocommerce-checkout-page .e-checkout__container{gap:40px}

/* Altes 2-Spalten-Grid neutralisieren (Pro blendet die Versandspalte aus,
   sonst bleibt der Rechnungsblock halb so breit) */
.elementor-widget-woocommerce-checkout-page .col2-set{display:block!important;grid-template-columns:none!important}
.elementor-widget-woocommerce-checkout-page .col2-set .col-1,
.elementor-widget-woocommerce-checkout-page .col2-set .col-2{width:100%!important;float:none!important}

/* Unser inneres Karten-Styling zuruecknehmen - die Pro-Sektionen sind die Karten */
.elementor-widget-woocommerce-checkout-page #customer_details{
  background:transparent!important;border:none!important;padding:0!important;border-radius:0!important;
}

/* Sektionen als Creme-Karten im Seitendesign */
.elementor-widget-woocommerce-checkout-page #customer_details .col-1,
.elementor-widget-woocommerce-checkout-page #customer_details .col-2,
.elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields,
.elementor-widget-woocommerce-checkout-page .e-woocommerce-coupon-nudge,
.elementor-widget-woocommerce-checkout-page #payment{
  background:var(--ob-cream-2)!important;border:1px solid var(--ob-line)!important;
  border-radius:12px!important;padding:28px!important;box-shadow:none!important;
  margin:0 0 24px!important;
}

/* Bestelluebersicht: Wrapper transparent, Titel dunkel sichtbar,
   dunkle Tabelle bleibt wie gehabt */
.elementor-widget-woocommerce-checkout-page .e-checkout__order_review,
.elementor-widget-woocommerce-checkout-page .e-checkout__order_review-2{
  background:transparent!important;border:none!important;
  padding:0!important;box-shadow:none!important;
}
.elementor-widget-woocommerce-checkout-page #order_review_heading{
  color:var(--ob-ink)!important;
  font:700 22px var(--ob-head)!important;letter-spacing:.05em;text-transform:uppercase;
  margin:0 0 18px!important;
}

/* Sektions-Untertitel (Rechnungsdaten, Anmerkungen, Zahlung) */
.elementor-widget-woocommerce-checkout-page #customer_details h3,
.elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields h3{
  color:var(--ob-ink)!important;
  font:700 18px var(--ob-head)!important;letter-spacing:.05em;text-transform:uppercase;
  margin:0 0 18px!important;
}

/* Gutschein-Zeile schlank */
.elementor-widget-woocommerce-checkout-page .e-woocommerce-coupon-nudge{
  padding:16px 22px!important;font:500 14.5px var(--ob-text);color:var(--ob-ink-2);
}
.elementor-widget-woocommerce-checkout-page .e-woocommerce-coupon-nudge a{color:var(--ob-gold)}

/* Zahlung: weisse Radiokarten in der Creme-Karte */
.elementor-widget-woocommerce-checkout-page #payment ul.payment_methods{padding:0!important;margin:0 0 6px!important}
.elementor-widget-woocommerce-checkout-page #payment ul.payment_methods li{
  background:#fff;border:1px solid #d8d2c4;border-radius:10px;padding:14px 16px;margin:0 0 10px;
}
/* ============================================================
   24. Formulare & Dropdowns (Kasse, Warenkorb, Select2)
   ============================================================ */
/* Felder weiss, damit sie sich von den Creme-Karten abheben */
.elementor-widget-woocommerce-checkout-page input[type=text],
.elementor-widget-woocommerce-checkout-page input[type=email],
.elementor-widget-woocommerce-checkout-page input[type=tel],
.elementor-widget-woocommerce-checkout-page input[type=number],
.elementor-widget-woocommerce-checkout-page textarea,
.elementor-widget-woocommerce-checkout-page select,
.elementor-widget-woocommerce-cart input[type=text],
.elementor-widget-woocommerce-cart input[type=number],
.elementor-widget-woocommerce-cart select{
  background:#fff!important;
  border:1px solid #d8d2c4!important;
  border-radius:6px!important;
  padding:11px 12px!important;
  font:400 15px var(--ob-text)!important;
  color:var(--ob-ink)!important;
  box-shadow:none!important;
}
.elementor-widget-woocommerce-checkout-page input:focus,
.elementor-widget-woocommerce-checkout-page textarea:focus,
.elementor-widget-woocommerce-checkout-page select:focus,
.elementor-widget-woocommerce-cart input:focus{
  border-color:var(--ob-yellow)!important;
  box-shadow:0 0 0 3px rgba(240,180,41,.22)!important;
  outline:none!important;
}

/* Native Selects mit eigenem Pfeil */
.elementor-widget-woocommerce-checkout-page select,
.elementor-widget-woocommerce-cart select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b675e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  padding-right:38px!important;
}

/* --- Select2: geschlossenes Feld --- */
.select2-container--default .select2-selection--single{
  height:46px!important;
  border:1px solid #d8d2c4!important;
  border-radius:6px!important;
  background:#fff!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:44px!important;
  color:var(--ob-ink)!important;
  font:400 15px var(--ob-text)!important;
  padding-left:12px!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:44px!important;right:8px!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#6b675e transparent transparent transparent!important;
}
.select2-container--default.select2-container--open .select2-selection--single{
  border-color:var(--ob-yellow)!important;
  box-shadow:0 0 0 3px rgba(240,180,41,.22)!important;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{
  border-color:transparent transparent #6b675e transparent!important;
}

/* --- Select2: offene Liste --- */
.select2-dropdown{
  border:1px solid #d8d2c4!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 18px 40px rgba(35,33,28,.16)!important;
  overflow:hidden;
  margin-top:6px!important;
}
.select2-search--dropdown{padding:10px 10px 6px!important}
.select2-search--dropdown .select2-search__field{
  border:1px solid #d8d2c4!important;
  border-radius:6px!important;
  padding:9px 12px!important;
  font:400 14.5px var(--ob-text)!important;
  color:var(--ob-ink)!important;
  background:#faf8f2!important;
  outline:none!important;
}
.select2-search--dropdown .select2-search__field:focus{
  border-color:var(--ob-yellow)!important;
  box-shadow:0 0 0 3px rgba(240,180,41,.22)!important;
}
.select2-results{padding:4px 0!important}
.select2-results__option{
  padding:10px 16px!important;
  font:400 14.5px var(--ob-text)!important;
  color:var(--ob-ink-2)!important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container--default .select2-results__option--highlighted{
  background:var(--ob-yellow)!important;
  color:var(--ob-dark)!important;
}
.select2-container--default .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted),
.select2-container--default .select2-results__option[data-selected=true]:not(.select2-results__option--highlighted){
  background:var(--ob-sand)!important;
  color:var(--ob-ink)!important;
  font-weight:600;
}
.select2-results__options::-webkit-scrollbar{width:10px}
.select2-results__options::-webkit-scrollbar-track{background:#f3efe4}
.select2-results__options::-webkit-scrollbar-thumb{background:#d8d2c4;border-radius:99px}
.select2-results__options::-webkit-scrollbar-thumb:hover{background:#c9b57a}
/* 24b. Selects: Text vertikal zentrieren.
   Native <select>: symmetrisches Padding (12+20+12+2 Rahmen = 46px) -
   zentriert egal ob der Browser line-height anwendet oder ignoriert.
   Select2 ersetzt das Feld nach dem Laden durch ein <span> - dort
   zentriert Flexbox, immun gegen jede line-height-Kaskade. */
.elementor-widget-woocommerce-checkout-page select,
.elementor-widget-woocommerce-cart select{
  height:46px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
  line-height:20px!important;
}
.select2-container--default .select2-selection--single{
  display:flex!important;
  align-items:center!important;
  height:46px!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  flex:1 1 auto;
  line-height:normal!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
/* 25. Elementor-Formular (Anfrage) */
.ob-anfrage-form .elementor-field-group{margin-bottom:6px}
.ob-anfrage-form .elementor-field-label{
  font:600 14px var(--ob-text);color:var(--ob-ink);margin-bottom:6px;display:block;
}
.ob-anfrage-form .elementor-field-textual{
  background:#fff!important;border:1px solid #d8d2c4!important;border-radius:6px!important;
  padding:11px 12px!important;font:400 15px var(--ob-text)!important;color:var(--ob-ink)!important;
  box-shadow:none!important;min-height:46px;
}
.ob-anfrage-form .elementor-field-textual:focus{
  border-color:var(--ob-yellow)!important;box-shadow:0 0 0 3px rgba(240,180,41,.22)!important;outline:none!important;
}
.ob-anfrage-form select.elementor-field-textual{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b675e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;padding-right:38px!important;
}
.ob-anfrage-form textarea.elementor-field-textual{min-height:120px}
.ob-anfrage-form .ob-form-consent{
  font:400 13.5px var(--ob-text);color:var(--ob-ink-2);margin:4px 0 0;
}
.ob-anfrage-form .elementor-button{
  background:var(--ob-yellow)!important;color:var(--ob-dark)!important;
  font:700 15px var(--ob-head)!important;letter-spacing:.08em;text-transform:uppercase;
  border:none!important;border-radius:8px!important;padding:15px 26px!important;
  transition:background .18s ease;
}
.ob-anfrage-form .elementor-button:hover{background:#dfa722!important;color:var(--ob-dark)!important}
.ob-anfrage-form .elementor-message.elementor-message-success{
  font:600 15px var(--ob-text);color:#2e7d32;
}
.ob-anfrage-form .elementor-message.elementor-message-danger,
.ob-anfrage-form .elementor-error-message{
  font:500 13.5px var(--ob-text);color:#b3261e;
}
/* 25b. Nur ein Select-Pfeil */
.ob-anfrage-form .select-caret-down-wrapper,
.ob-anfrage-form .elementor-select-wrapper i,
.ob-anfrage-form .elementor-select-wrapper svg{display:none!important}

/* 26. Mobile-Drawer (Popup) */
.ob-mobile-drawer .dialog-message{padding:0!important;overflow-y:auto}
.ob-mobile-drawer .dialog-widget-content{
  background:#1d2024!important;
  border-radius:0!important;
  box-shadow:12px 0 40px rgba(0,0,0,.35)!important;
  height:100%;
}
.ob-mobile-drawer .dialog-close-button{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  width:40px;
  height:40px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  border:none!important;
  border-radius:0;
  background:transparent!important;
  color:#f0b429!important;
  opacity:1;
  z-index:5;
  transition:color .18s ease;
}
.ob-mobile-drawer .dialog-close-button:hover{color:#ffc94a!important}
.ob-mobile-drawer .dialog-close-button svg{width:20px;height:20px;fill:#f0b429}
.ob-mobile-drawer .dialog-close-button:hover svg{fill:#ffc94a}
/* 27. Kein Tap-Highlight */
*{-webkit-tap-highlight-color:transparent}
a,button,.elementor-button,.elementor-menu-toggle,.dialog-close-button{-webkit-tap-highlight-color:transparent;outline:none}
a:focus-visible,button:focus-visible{outline:2px solid #f0b429;outline-offset:2px}


/* 28. Produktseite: Datums-Variationen */
.ob-vari .variations{width:100%;border:none;border-collapse:collapse;margin:0 0 4px}
.ob-vari .variations th,
.ob-vari .variations td{border:none;padding:0 0 10px;display:block;width:100%;text-align:left}
.ob-vari .variations th.label,
.ob-vari .variations .label label{
  font:600 14px var(--ob-text);color:var(--ob-ink);margin:0 0 6px;
}
.ob-vari select{
  width:100%;
  height:46px;
  background:#fff!important;
  border:1px solid #d8d2c4!important;
  border-radius:6px!important;
  padding:11px 38px 11px 12px!important;
  font:400 15px var(--ob-text)!important;
  color:var(--ob-ink)!important;
  box-shadow:none!important;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b675e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
}
.ob-vari select:focus{
  border-color:var(--ob-yellow)!important;
  box-shadow:0 0 0 3px rgba(240,180,41,.22)!important;
  outline:none!important;
}
.ob-vari .reset_variations{
  font:400 13px var(--ob-text);color:var(--ob-ink-2);text-decoration:underline;
}
.ob-vari .reset_variations:hover{color:var(--ob-gold)}
.ob-vari .woocommerce-variation-price{margin:4px 0 4px}
.ob-vari .woocommerce-variation-price .price,
.ob-vari .woocommerce-variation-price .woocommerce-Price-amount{
  font:700 24px var(--ob-head)!important;color:var(--ob-ink)!important;
}
.ob-vari .woocommerce-variation-availability{margin:0 0 10px;font:600 13.5px var(--ob-text)}
.ob-vari .woocommerce-variation-availability p.in-stock{color:#2e7d32;margin:0}
.ob-vari .woocommerce-variation-availability p.out-of-stock{color:#b3261e;margin:0}
.ob-vari .quantity{display:none!important}
.ob-vari .woocommerce-variation-add-to-cart{display:block}
.ob-vari .single_add_to_cart_button{
  display:block;width:100%;
  background:var(--ob-yellow)!important;color:var(--ob-dark)!important;
  font:700 15px var(--ob-head)!important;letter-spacing:.08em;text-transform:uppercase;
  border:none!important;border-radius:8px!important;padding:15px 26px!important;
  cursor:pointer;transition:background .18s ease;
}
.ob-vari .single_add_to_cart_button:hover{background:#dfa722!important;color:var(--ob-dark)!important}
.ob-vari .single_add_to_cart_button.disabled,
.ob-vari .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}

/* 28b. Datums-Pills */
.ob-vari .variations select,
.ob-vari .reset_variations{display:none!important}
.ob-vari-pills{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 4px}
.ob-vari-pill{
  background:#fff!important;
  border:1px solid #d8d2c4!important;
  border-radius:999px!important;
  padding:10px 18px!important;
  font:600 14px var(--ob-text)!important;
  color:var(--ob-ink)!important;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
  box-shadow:none!important;
}
.ob-vari-pill:hover{border-color:var(--ob-yellow)!important;background:#fff7e3!important;color:var(--ob-ink)!important}
.ob-vari-pill.is-sel{
  background:#1d2024!important;
  border-color:#1d2024!important;
  color:#f0b429!important;
}
.ob-vari-pill.is-out{
  background:#f3efe4!important;
  color:#b9b4a7!important;
  text-decoration:line-through;
  cursor:not-allowed;
  border-color:#e5dfd2!important;
}

/* 28c. Variations-Tabelle neutral */
.ob-vari .variations,
.ob-vari .variations tbody,
.ob-vari .variations tr,
.ob-vari .variations th,
.ob-vari .variations td{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.ob-vari .variations tr:hover,
.ob-vari .variations tr:hover th,
.ob-vari .variations tr:hover td{
  background:transparent!important;
}
.ob-vari .single_add_to_cart_button{margin:0!important}/* End custom CSS */