.elementor-kit-13{--e-global-color-primary:#33221A;--e-global-color-text:#4A362C;--e-global-color-accent:#D3B6AB;--e-global-color-secondary:#82655A;--e-global-color-e6caa54:#FFFFFF;--e-global-color-6c74547:#F6F2EF;--e-global-color-75c921e:#EADFD9;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:1.125rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:180%;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:180%;--e-global-typography-a458a05-font-family:"Cormorant Garamond";--e-global-typography-a458a05-font-size:clamp(3rem, 2.5385rem + 2.0513vw, 4rem);--e-global-typography-a458a05-font-weight:700;--e-global-typography-a458a05-line-height:120%;--e-global-typography-c22ea75-font-family:"Cormorant Garamond";--e-global-typography-c22ea75-font-size:clamp(2.4rem, 2.1231rem + 1.2308vw, 3rem);--e-global-typography-c22ea75-font-weight:700;--e-global-typography-c22ea75-line-height:120%;--e-global-typography-18959f8-font-family:"Cormorant Garamond";--e-global-typography-18959f8-font-size:clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem);--e-global-typography-18959f8-font-weight:700;--e-global-typography-18959f8-line-height:120%;--e-global-typography-e8ccec0-font-family:"Cormorant Garamond";--e-global-typography-e8ccec0-font-size:clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem);--e-global-typography-e8ccec0-font-weight:700;--e-global-typography-dd859a7-font-family:"DM Sans";--e-global-typography-dd859a7-font-size:0.8125rem;--e-global-typography-dd859a7-font-weight:600;--e-global-typography-dd859a7-text-transform:uppercase;--e-global-typography-dd859a7-line-height:1.5em;--e-global-typography-dd859a7-letter-spacing:1.6px;--e-global-typography-95465e3-font-family:"DM Sans";--e-global-typography-95465e3-font-size:0.875rem;--e-global-typography-95465e3-font-weight:400;background-color:var( --e-global-color-e6caa54 );}.elementor-kit-13 button,.elementor-kit-13 input[type="button"],.elementor-kit-13 input[type="submit"],.elementor-kit-13 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-text );}.elementor-kit-13 e-page-transition{background-color:#FFBC7D;}.elementor-kit-13 a{color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1360px;}.e-con{--container-max-width:1360px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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);}@media(min-width:2400px){.elementor-kit-13 button,.elementor-kit-13 input[type="button"],.elementor-kit-13 input[type="submit"],.elementor-kit-13 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:1366px){.elementor-kit-13 button,.elementor-kit-13 input[type="button"],.elementor-kit-13 input[type="submit"],.elementor-kit-13 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:85%;}.e-con{--container-max-width:85%;}}@media(max-width:1024px){.elementor-kit-13 button,.elementor-kit-13 input[type="button"],.elementor-kit-13 input[type="submit"],.elementor-kit-13 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:85%;}.e-con{--container-max-width:85%;}}@media(max-width:880px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:95%;}.e-con{--container-max-width:95%;}}@media(max-width:767px){.elementor-kit-13 button,.elementor-kit-13 input[type="button"],.elementor-kit-13 input[type="submit"],.elementor-kit-13 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:95%;}.e-con{--container-max-width:95%;}}
/* Start custom CSS *//* ==== TAVION PRODUKT & ARCHIV START ==== */

/* Zurueck-Link ueber dem Titel */
.tavion-zurueck p{margin:0 0 30px}
.tavion-zurueck a{
 font-family:'DM Sans',sans-serif;
 font-size:12px; font-weight:500;
 letter-spacing:.14em; text-transform:uppercase;
 color:rgba(51,34,26,0.48); text-decoration:none;
 transition:color .22s ease;
}
.tavion-zurueck a:hover{color:#33221A}

/* Kategorien unter dem Produkttitel */
.tavion-produkt-terme{margin-top:10px}
.tavion-produkt-terme,
.tavion-produkt-terme a,
.tavion-produkt-terme .elementor-icon-list-text{color:rgba(51,34,26,0.52) !important}
.tavion-produkt-terme a:hover{color:#33221A !important}

/* Produktbilder */
.tavion-produkt-medien{
 margin-top:46px !important;
 align-items:flex-start !important;
 gap:20px !important;
}
.tavion-produkt-medien img{width:100%; height:auto; display:block}

/* Material und Masse */
/* leerer Datenblock (kein Material, keine Masse) wird ausgeblendet */
.tavion-produkt-daten:not(:has(.e-heading-base:not(:empty))){display:none !important}
.tavion-produkt-daten{
 margin-top:44px !important;
 padding-top:24px !important;
 border-top:1px solid rgba(51,34,26,0.12);
 flex-wrap:wrap !important;
 align-items:baseline !important;
}
.tavion-produkt-daten > .elementor-element{width:auto !important; flex:0 0 auto !important}
.tavion-produkt-daten h1,.tavion-produkt-daten h2,
.tavion-produkt-daten h3,.tavion-produkt-daten h4,
.tavion-produkt-daten p,.tavion-produkt-daten div{
 font-family:'DM Sans',sans-serif !important;
 font-size:15px !important;
 font-weight:400 !important;
 line-height:1.6 !important;
 letter-spacing:0 !important;
 color:#4A362C !important;
 margin:0 !important;
}

/* Abschluss-Block auf Produkt- und Archivseiten */
.tavion-produkt-cta .elementor-widget-text-editor p{margin:14px 0 30px}

/* Archivseite */
.tavion-archiv-titel .elementor-heading-title{text-wrap:balance}
.tavion-archiv-text p{margin:20px 0 0; color:#4A362C}

@media (max-width:767px){
 .tavion-zurueck p{margin-bottom:22px}
 .tavion-produkt-medien{margin-top:30px !important; gap:14px !important}
 .tavion-produkt-daten{margin-top:30px !important; padding-top:20px !important; gap:4px 30px !important}
 .tavion-produkt-cta .elementor-widget-text-editor p{margin:12px 0 26px}
}
/* ==== TAVION PRODUKT & ARCHIV ENDE ==== */

/* --- TAVION Utilities --- */
.tavion-hidden{display:none !important}
.tavion-logo-invert img{filter:brightness(0) invert(1);opacity:.92}

/* Footer */
.tavion-footer .elementor-icon-list-icon{display:none !important}
.tavion-footer .elementor-icon-list-item{padding-inline-start:0 !important}
.tavion-footer .elementor-icon-list-item>a,.tavion-footer .elementor-icon-list-text{transition:color .2s ease}

/* Kollektionskarten */
.tavion-card{display:block}
.tavion-card .elementor-widget-image{overflow:hidden}
.tavion-card .elementor-widget-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tavion-card:hover .elementor-widget-image img{transform:scale(1.045)}
.tavion-card .elementor-icon-box-icon,.tavion-card .elementor-icon-box-icon svg{transition:transform .3s ease}
.tavion-card:hover .elementor-icon-box-icon{transform:translateX(7px)}
.tavion-card .elementor-icon-box-description{transition:opacity .25s ease}
.tavion-card:hover .elementor-icon-box-description{opacity:.7}

/* Buttons */
.elementor-button{transition:background-color .25s ease,color .25s ease,border-color .25s ease}

/* Fokus / Barrierefreiheit */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #82655A;outline-offset:3px}

/* Lesbarkeit */
html{scroll-behavior:smooth}

/* Hero-Abdunklung für sichere Lesbarkeit */
.tavion-hero{position:relative;isolation:isolate}
.tavion-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(22,14,10,.55) 0%,rgba(22,14,10,.28) 38%,rgba(22,14,10,0) 68%)}
.tavion-hero>*{position:relative;z-index:1}
@media (max-width:1024px){
 .tavion-hero::before{background:linear-gradient(180deg,rgba(22,14,10,.15) 0%,rgba(22,14,10,.62) 100%)}
}

/* --- Header --- */
.tavion-header{transition:box-shadow .3s ease}
.tavion-headerlogo img{transition:transform .3s ease;transform-origin:left center;will-change:transform;backface-visibility:hidden}
@media (max-width:1024px){ .tavion-navcta .elementor-button{padding:11px 18px} }

/* --- Newsletter --- */
.tavion-newsletter .elementor-field-group{margin-bottom:0}
.tavion-newsletter input[type=email]{height:52px;border-radius:2px}
.tavion-newsletter .elementor-button{height:52px;border-radius:2px}

/* --- Formulare allgemein --- */
.elementor-field-textual{border-radius:2px !important}
.elementor-field-textual:focus{border-color:#82655A !important;box-shadow:none !important}


/* --- Kollektions-Raster (Loop) --- */
.tavion-loopimg{overflow:hidden;width:100%}
.tavion-loopimg img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
 transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tavion-loopcard:hover .tavion-loopimg img{transform:scale(1.045)}
.tavion-loopcard{transition:opacity .25s ease}
.e-loop-item .elementor-widget-post-info ul{padding:0;margin:0}
.e-loop-item .elementor-post-info__item{padding:0}


/* --- Loop-Karten Feinschliff --- */
.e-loop-item{background:#fff;border:1px solid #E7DFD9;overflow:hidden}
.e-loop-item .elementor-widget-theme-post-title{padding:20px 22px 0 22px !important}
.e-loop-item .elementor-widget-post-info{padding:6px 22px 22px 22px !important}
.e-loop-item .elementor-post-info__terms-list-item{color:inherit}


/* Footer-Links: einheitliches Verhalten */
.tavion-footer .elementor-icon-list-item>a{display:flex;width:100%;text-decoration:none}
.tavion-footer .elementor-icon-list-item .elementor-icon-list-text{transition:color .2s ease}
.tavion-footer .elementor-icon-list-item:hover .elementor-icon-list-text,
.tavion-footer .elementor-icon-list-item>a:hover .elementor-icon-list-text,
.tavion-footer .elementor-icon-list-item>a:focus-visible .elementor-icon-list-text{color:#FFFFFF}




/* --- Einblenden beim Scrollen ---------------------------------------
   Bewusst NICHT über Elementors Animationen gelöst: die blenden Elemente
   per JS ein und lassen bei schnellem Scrollen Inhalte unsichtbar zurück.
   Hier reine CSS-Scroll-Animation: Ohne Browserunterstützung ist einfach
   alles sofort sichtbar – Inhalt kann nie verschwinden.
-------------------------------------------------------------------- */
@keyframes tavionRise{
 from{opacity:0;transform:translate3d(0,18px,0)}
 to{opacity:1;transform:none}
}
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion: no-preference){
  .elementor > .e-con:not(.tavion-hero):not(.tavion-newsletter):not(.tavion-header):not(.tavion-footer) > .e-con-inner > *,
  .elementor > .e-con:not(.tavion-hero):not(.tavion-newsletter):not(.tavion-header):not(.tavion-footer).e-con-full > *{
   animation:tavionRise linear both;
   animation-timeline:view();
   animation-range:entry 8% entry 62%;
  }
  /* Raster: die Reihe selbst ruhig lassen, Karten nacheinander */
  .tavion-stagger{animation:none !important}
  .tavion-stagger > *{
   animation:tavionRise linear both;
   animation-timeline:view();
  }
  .tavion-stagger > *:nth-child(1){animation-range:entry 5% entry 55%}
  .tavion-stagger > *:nth-child(2){animation-range:entry 12% entry 62%}
  .tavion-stagger > *:nth-child(3){animation-range:entry 19% entry 69%}
  .tavion-stagger > *:nth-child(4){animation-range:entry 26% entry 76%}
  .tavion-stagger > *:nth-child(5){animation-range:entry 33% entry 83%}
  /* Produktkarten im Kollektionsraster */
  .e-loop-item{
   animation:tavionRise linear both;
   animation-timeline:view();
   animation-range:entry 6% entry 58%;
  }
 }
}

/* Reduzierte Bewegung: alles ruhig stellen */
@media (prefers-reduced-motion: reduce){
 html{scroll-behavior:auto}
 .tavion-card .elementor-widget-image img,
 .tavion-loopcard .tavion-loopimg img,
 .tavion-header,.tavion-headerlogo img,
 .tavion-header .e-n-menu-item>.e-n-menu-title::after,
 .elementor-button{transition:none !important}
}


/* --- Seiten-Hero: einheitlich linksbündig, gleicher Rand wie der Inhalt --- */
.tavion-pagehero{position:relative;isolation:isolate}
.tavion-pagehero::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(100deg,
   rgba(28,18,13,.66) 0%,
   rgba(28,18,13,.40) 40%,
   rgba(28,18,13,.06) 72%,
   rgba(28,18,13,0) 100%);
}
.tavion-pagehero > .e-con-inner,
.tavion-pagehero > .elementor-element{position:relative;z-index:1}
.tavion-pagehero .elementor-widget-heading .elementor-heading-title{
 color:#FFFFFF;
 text-shadow:0 1px 24px rgba(28,18,13,.30);
 max-width:16ch;
}
@media (max-width:767px){
 .tavion-pagehero::before{
  background:linear-gradient(160deg,rgba(28,18,13,.62) 0%,rgba(28,18,13,.30) 60%,rgba(28,18,13,.10) 100%);
 }
 .tavion-pagehero .elementor-widget-heading .elementor-heading-title{max-width:none}
}


/* --- Zentrierte Statement-Abschnitte --- */
.tavion-center .elementor-heading-title{text-wrap:balance}
.tavion-center .elementor-widget-text-editor{text-wrap:pretty}
.tavion-center .elementor-widget-button{margin-top:6px}
@media (max-width:767px){
 .tavion-center .elementor-widget-heading,
 .tavion-center .elementor-widget-text-editor{width:100% !important}
}


/* --- FAQ zweispaltig --- */
@media (min-width:1025px){
 .tavion-faq .elementor-widget-text-editor .elementor-widget-container{
  column-count:2; column-gap:64px;
 }
 .tavion-faq .elementor-widget-text-editor p{break-inside:avoid; margin-top:0}
 .tavion-faq .elementor-widget-text-editor p strong{display:block; margin-bottom:2px}
}

/* --- Bild-Text-Split --- */
.tavion-split .elementor-widget-image img{width:100%; height:auto; display:block}
@media (max-width:767px){
 .tavion-split{gap:28px !important}
}

/* --- Zentrierte Sektionsüberschrift über Rastern --- */
.tavion-centerhead > .e-con-inner > .elementor-widget-heading{margin-bottom:8px}


/* --- Bilder in Split- und Paar-Abschnitten auf gleiches Format bringen --- */
.tavion-split img,
.tavion-pair img{
 width:100% !important; height:auto;
 aspect-ratio:3/2; object-fit:cover; display:block;
}
.tavion-split .e-con-inner > *,
.tavion-split > .e-con-inner{align-items:center}
@media (max-width:767px){
 .tavion-split img,.tavion-pair img{aspect-ratio:3/2}
}


/* --- FAQ zweispaltig (Text-Editor rendert ohne inneren Container) --- */
.tavion-faq .elementor-widget-text-editor > p{margin:0 0 26px}
.tavion-faq .elementor-widget-text-editor > p > strong{display:block; margin-bottom:4px}
.tavion-faq .elementor-widget-text-editor > p > strong + br{display:none}
@media (min-width:1025px){
 .tavion-faq .elementor-widget-text-editor{column-count:2; column-gap:72px}
 .tavion-faq .elementor-widget-text-editor > p{break-inside:avoid}
}


/* --- Werte-Raster: Fliesstext auf gleicher Grundlinie --- */
@media (min-width:1025px){
 .tavion-values .elementor-widget-heading .elementor-heading-title{min-height:2.3em}
}




/* Aufklapp-Panel */
.tavion-langswitch .trp-language-switcher[class*="trp-ls-dropdown"]:not(:first-child),
.tavion-langswitch .trp-language-switcher > div + div{
 background:#FFFFFF !important;
 border:1px solid rgba(51,34,26,0.10) !important;
 box-shadow:0 8px 28px rgba(51,34,26,0.10) !important;
}
@media (max-width:1024px){ .tavion-langswitch{margin-right:12px} }








/* --- Sprachumschalter: gleiche Typografie wie die Navigation --- */
.tavion-langswitch{margin-right:20px}
.tv-lang{
 display:flex; align-items:center; gap:8px; white-space:nowrap;
 font-family:'DM Sans',sans-serif;
 font-size:13px; font-weight:500; letter-spacing:.10em; text-transform:uppercase;
}
.tv-lang a{
 color:rgba(51,34,26,0.45);
 text-decoration:none; padding:2px 0;
 position:relative; transition:color .2s ease;
}
.tv-lang a:hover{color:#33221A}
.tv-lang a.is-current{color:#33221A}
.tv-lang a.is-current::after{
 content:""; position:absolute; left:0; right:0; bottom:-5px;
 height:1px; background:currentColor;
}
.tv-lang a:focus-visible{outline:2px solid #82655A; outline-offset:3px; border-radius:1px}
.tv-lang-sep{color:rgba(51,34,26,0.22); font-weight:400}
@media (max-width:1024px){ .tavion-langswitch{margin-right:10px} .tv-lang{font-size:12px; gap:6px} }
@media (prefers-reduced-motion: reduce){ .tv-lang a{transition:none} }


/* --- Navigation: kompakte Abstände, rechtsbündig --- */
.tavion-header > .e-con-inner{flex-wrap:nowrap; justify-content:space-between; gap:48px}
.tavion-header .e-n-menu-heading{flex-wrap:nowrap; justify-content:flex-end}
.tavion-header .e-n-menu-item > .e-n-menu-title{white-space:nowrap}
/* Elementor setzt zusätzlich einen Rand von 30px je Eintrag –
   der muss weg, sonst wirkt jede gap-Angabe nur zur Hälfte. */
.tavion-header .e-n-menu-heading > li{margin-left:0 !important; margin-right:0 !important}

@media (min-width:1025px){
 .tavion-header .e-n-menu-heading{gap:14px !important}
 .tavion-header .e-n-menu-item > .e-n-menu-title{padding-left:10px !important; padding-right:10px !important}
}
@media (min-width:1025px) and (max-width:1400px){
 .tavion-header .e-n-menu-heading{gap:6px !important}
 .tavion-header .e-n-menu-item > .e-n-menu-title{padding-left:8px !important; padding-right:8px !important}
}

/* Unterstrich liegt auf dem Link, nicht auf dem Titel-Kasten –
   dadurch endet er exakt am Text und nicht am Innenabstand. */
.tavion-header .e-n-menu-item .e-n-menu-title-container{position:relative}
.tavion-header .e-n-menu-item .e-n-menu-title-container::after{
 content:"" !important; position:absolute !important;
 left:0 !important; right:0 !important; width:auto !important;
 top:auto !important; bottom:-7px !important;
 height:1px !important; background:currentColor !important;
 border:0 !important; opacity:1 !important; pointer-events:none;
 transform:scaleX(0); transform-origin:left;
 transition:transform .28s cubic-bezier(.2,.7,.2,1);
}
.tavion-header .e-n-menu-item:hover .e-n-menu-title-container::after,
.tavion-header .e-n-menu-item .e-n-menu-title.e-current .e-n-menu-title-container::after,
.tavion-header .e-n-menu-item .e-n-menu-title-container:focus-visible::after{transform:scaleX(1)}
@media (prefers-reduced-motion: reduce){
 .tavion-header .e-n-menu-item .e-n-menu-title-container::after{transition:none}
}




/* --- Kopfzeile bleibt oben (rein per CSS) ---------------------------
   Zuvor übernahm das JavaScript von Elementor das Fixieren und schaltete
   ab 40 px Scrollweg auf eine kleinere Variante um. In Safari meldet das
   Gummiband-Scrollen schwankende Positionen; der Zustand kippte dadurch
   mehrfach hin und her, sichtbar als springende Kopfzeile mit hüpfendem
   Logo. position:sticky braucht kein JavaScript, keine Schwelle und
   ändert die Höhe nie – es kann daher nicht schwingen.
------------------------------------------------------------------- */
/* Nicht die Kopfzeile selbst kleben lassen: ihr Elternelement ist
   exakt so hoch wie sie und würde sie sofort mitnehmen. Stattdessen
   klebt der Wrapper, dessen Elternelement der Seitenkörper ist. */
body > header.elementor{
 position:sticky; top:0; z-index:99;
 background:#FFFFFF;
 border-bottom:1px solid rgba(51,34,26,0.07);
}
.tavion-header{position:relative; background:transparent; transition:none}
.tavion-header > .e-con-inner{padding-block:18px !important}
.tavion-headerlogo img{max-width:190px !important; transform:none !important; transition:none !important}
body.admin-bar > header.elementor{top:32px}
@media (max-width:782px){ body.admin-bar > header.elementor{top:46px} }


/* ==== TAVION 404 START ==== */
/* Deutsche Fehlerseite.
   Das Markup liegt unter Enhancements > Custom Code > Footer-Code,
   weil Elementor Pro bei diesem Theme keine 404-Vorlage ausspielt.
   Es steht im Quelltext hinter der Fusszeile und wird hier
   per Flex-Reihenfolge an die richtige Stelle gesetzt.          */
body.error404 #tavion-404{
 display:block;
 text-align:center;
 max-width:660px;
 margin:0 auto;
 padding:150px 22px 150px;
 font-family:'DM Sans',sans-serif;
}
#tavion-404 .tv404-eyebrow{
 margin:0 0 24px;
 font-size:13px; font-weight:500;
 letter-spacing:.16em; text-transform:uppercase;
 color:rgba(51,34,26,0.45);
}
#tavion-404 h1{
 font-family:'Cormorant Garamond',Georgia,serif;
 font-weight:700;
 font-size:56px; line-height:1.08;
 margin:0 0 24px;
 color:#33221A;
 text-wrap:balance;
}
#tavion-404 .tv404-text{
 margin:0 auto 40px;
 max-width:44ch;
 font-size:18px; line-height:1.78;
 color:#4A362C;
}
#tavion-404 .tv404-cta{margin:0}
#tavion-404 .tv404-cta a{
 display:inline-block;
 background:#33221A; color:#FFFFFF;
 padding:18px 34px; border-radius:2px;
 text-decoration:none;
 font-size:14px; font-weight:500;
 letter-spacing:.11em; text-transform:uppercase;
 transition:background-color .25s ease;
}
#tavion-404 .tv404-cta a:hover{background:#4A362C}
#tavion-404 .tv404-links{
 margin:48px 0 0;
 font-size:14px; letter-spacing:.02em;
}
#tavion-404 .tv404-links a{
 color:rgba(51,34,26,0.60); text-decoration:none;
 transition:color .2s ease;
}
#tavion-404 .tv404-links a:hover{color:#33221A}
#tavion-404 .tv404-links span{color:rgba(51,34,26,0.22); margin:0 11px}

@media (max-width:767px){
 body.error404 #tavion-404{padding:84px 22px 84px}
 #tavion-404 h1{font-size:34px; line-height:1.16}
 #tavion-404 .tv404-text{font-size:16px; line-height:1.65; margin-bottom:32px}
 #tavion-404 .tv404-links{margin-top:36px; line-height:2.4}
 #tavion-404 .tv404-links span{margin:0 7px}
}
/* ==== TAVION 404 ENDE ==== */

/* ==== TAVION MOBIL START ==== */
/* ============================================================
   MOBILE OPTIMIERUNG - Schritt 1 (Basis) + Schritt 2 (Kopfzeile)
   Zentral gepflegt, wirkt auf allen Seiten und in allen Sprachen.
   ============================================================ */

@media (max-width:767px){

 /* --- 1. Desktop-Breiten aufheben ---------------------------
    Elementors "custom width" (elementor-widget__width-initial)
    besitzt keinen Mobile-Wert und verengt Texte auf ein Drittel
    der Bildschirmbreite. Hier fuer Handy zurueckgesetzt.       */
 .elementor-widget__width-initial,
 .elementor-widget__width-auto,
 .elementor-widget__width-inherit{
  width:100% !important;
  max-width:100% !important;
 }
 .e-con,.e-con-inner{--container-widget-width:100% !important}

 /* --- 2. Seitenraender (statt 10px nun 22px) ---------------- */
 .e-con{--content-width:100% !important}
 .e-con.e-parent > .e-con-inner{
  padding-left:22px !important;
  padding-right:22px !important;
 }
 .e-con.e-parent.e-con-full{
  padding-left:22px !important;
  padding-right:22px !important;
 }

 /* Verschachtelte Parent-Container nicht doppelt einruecken */
 .e-con .e-con.e-parent > .e-con-inner{padding-left:0 !important;padding-right:0 !important}
 .e-con .e-con.e-parent.e-con-full{padding-left:0 !important;padding-right:0 !important}

 /* Fusszeile: Zeilenabstand ausgleichen */
 footer .elementor-icon-list-item{padding-bottom:0 !important}
 footer .elementor-icon-list-item > a{min-height:42px}

 /* --- 3. Typografie fuer kleine Schirme --------------------- */
 h1,h1.elementor-heading-title,.elementor-widget-heading h1{
  font-size:34px !important; line-height:1.16 !important;
 }
 h2,h2.elementor-heading-title,.elementor-widget-heading h2{
  font-size:26px !important; line-height:1.22 !important;
 }
 .elementor-widget-text-editor,
 .elementor-widget-text-editor p,
 .elementor-widget-text-editor li{
  font-size:16px !important; line-height:1.65 !important;
 }
 .tavion-pagehero .elementor-widget-heading .elementor-heading-title{
  max-width:none !important;
 }

 /* --- 4. Tap-Targets (Fingerflaechen) ----------------------- */
 .elementor-button{
  min-height:48px; display:inline-flex;
  align-items:center; justify-content:center;
 }
 .tv-lang a{position:relative}
 .tv-lang a::before{content:""; position:absolute; inset:-12px -7px}
 .e-n-menu-toggle{min-width:44px !important; min-height:44px !important}
 .elementor-icon-list-item > a{min-height:40px; display:flex; align-items:center}
}

/* --- 5. Kopfzeile mobil/Tablet: eine Zeile, kompakt --------- */
@media (max-width:1024px){
 .tavion-header > .e-con-inner{
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding-block:12px !important;
 }
 .tavion-header > .e-con-inner > .e-con:first-child{
  flex:0 0 auto !important; width:auto !important;
  flex-wrap:nowrap !important; align-items:center !important;
 }
 .tavion-headerlogo img{max-width:118px !important}
 .tavion-header > .e-con-inner > .e-con:last-child{
  flex:0 1 auto !important; width:auto !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
 }
 .tavion-header .elementor-widget-n-menu{order:3; width:auto !important}
 .tavion-header .tavion-langswitch{order:1; margin-right:0 !important; width:auto !important}
 .tavion-header .elementor-widget-button{order:2; width:auto !important}
 .tavion-header .elementor-widget-button .elementor-button{
  min-height:40px !important;
  padding:10px 16px !important;
  font-size:12px !important;
  letter-spacing:.10em !important;
  white-space:nowrap !important;
 }
 .tavion-header .tv-lang{font-size:12px !important; gap:6px !important}
}
@media (max-width:380px){
 .tavion-header > .e-con-inner{gap:10px !important; padding-inline:16px !important}
 .tavion-header > .e-con-inner > .e-con:last-child{gap:10px !important}
 .tavion-headerlogo img{max-width:100px !important}
 .tavion-header .elementor-widget-button .elementor-button{padding:10px 12px !important; font-size:11px !important}
}

/* --- 6. Kopfzeile: Rand auf Tablet/kleinem Desktop ---------
   Ohne diese Regel klebt Logo bzw. Anfragen-Button am Rand
   (bei 1200px lief der Button 3px ueber den Bildschirm).      */
@media (min-width:768px) and (max-width:1400px){
 .tavion-header > .e-con-inner{
  padding-left:32px !important;
  padding-right:32px !important;
 }
}

/* --- 7. Mobile Feinschliff (Kopfzeile, Menue, Pfeile, Logo) --- */
@media (max-width:1024px){
 /* A) Anfragen-Button dezent: Kontur statt Vollflaeche */
 .tavion-header .elementor-widget-button .elementor-button{
  background-color:transparent !important;
  color:#33221A !important;
  border:1px solid rgba(51,34,26,0.28) !important;
  border-radius:2px !important;
  min-height:38px !important;
  padding:9px 14px !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
  font-weight:500 !important;
  box-shadow:none !important;
 }
 .tavion-header .elementor-widget-button .elementor-button:hover{
  background-color:#33221A !important; color:#FFFFFF !important; border-color:#33221A !important;
 }

 /* B) Burger-Menue: senkrechte Liste ueber volle Breite.
    Die drei Elternelemente muessen "static" werden, sonst
    haengt das Panel am 43px schmalen Menue-Widget.          */
 .tavion-header .e-n-menu,
 .tavion-header .elementor-widget-n-menu,
 .tavion-header > .e-con-inner > .e-con{position:static !important}
 .tavion-header .e-n-menu-wrapper{
  position:absolute !important;
  top:100% !important; left:0 !important; right:0 !important;
  width:100% !important; max-width:100% !important;
  background:#FFFFFF !important;
  box-shadow:0 20px 30px -14px rgba(28,18,13,.22) !important;
  padding:4px 22px 20px !important;
  z-index:120 !important;
 }
 .tavion-header .e-n-menu-heading{
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important; width:100% !important; padding:0 !important;
 }
 .tavion-header .e-n-menu-heading > li{width:100% !important; margin:0 !important}
 .tavion-header .e-n-menu-item > .e-n-menu-title{
  width:100% !important; padding:0 !important; justify-content:flex-start !important;
 }
 .tavion-header .e-n-menu-item .e-n-menu-title-container{
  width:100% !important;
  min-height:56px !important;
  display:flex !important; align-items:center !important;
  border-bottom:1px solid rgba(51,34,26,0.08) !important;
  font-size:15px !important; letter-spacing:.06em !important;
  white-space:nowrap !important;
 }
 .tavion-header .e-n-menu-heading > li:last-child .e-n-menu-title-container{border-bottom:0 !important}
 .tavion-header .e-n-menu-item .e-n-menu-title-container::after{display:none !important}
}

@media (max-width:767px){
 /* C) Pfeil-Links der Kollektionen: Text und Pfeil auf einer Zeile */
 .elementor-widget-icon-box.elementor-position-inline-end .elementor-icon-box-wrapper{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
 }
 .elementor-widget-icon-box.elementor-position-inline-end .elementor-icon-box-content{
  order:1; flex:0 1 auto; width:auto !important;
 }
 .elementor-widget-icon-box.elementor-position-inline-end .elementor-icon-box-icon{
  order:2; flex:0 0 auto; width:auto !important; margin:0 !important;
 }
 /* optischer Ausgleich: die Schrift hat 1.1px Vorsprung,
    dadurch stand der Titel nicht buendig zur Bildkante */
 .elementor-widget-icon-box .elementor-icon-box-description{margin:0 0 0 -0.068em !important}

 /* D) Bild-/Logo-Widgets von der Breiten-Ruecksetzung ausnehmen,
    sonst wird das Logo in der Fusszeile auf volle Breite gezogen. */
 .elementor-widget-image.elementor-widget__width-initial,
 .elementor-widget-theme-site-logo.elementor-widget__width-initial{
  width:auto !important; max-width:100% !important;
 }
 footer .elementor-widget-theme-site-logo img{max-width:132px !important; width:132px !important}
 footer .elementor-widget-theme-site-logo{text-align:left !important}
}

/* --- 8. Vertikale Rhythmik auf dem Handy -------------------
   Abschnittsabstaende von 60px auf 44px, Zeilenabstaende
   gedeckelt. Kopfzeile und Hero bleiben ausgenommen.        */
@media (max-width:767px){
 body > div.elementor > .e-con.e-parent:not(.tavion-hero):not(.tavion-pagehero) > .e-con-inner,
 main .e-con.e-parent:not(.tavion-hero):not(.tavion-pagehero) > .e-con-inner{
  padding-top:44px !important;
  padding-bottom:44px !important;
 }
 body > div.elementor > .e-con.e-parent > .e-con-inner,
 main .e-con.e-parent > .e-con-inner{row-gap:30px !important}
 body > div.elementor .e-con-inner .e-con-inner,
 main .e-con.e-parent .e-con-inner{row-gap:26px !important}
 .tavion-stagger{row-gap:26px !important}

 footer .e-con.e-parent > .e-con-inner{row-gap:26px !important}
 footer > .e-con.e-parent > .e-con-inner{
  padding-top:40px !important; padding-bottom:24px !important;
 }
 /* verschachtelte Fusszeilen-Container nicht doppelt polstern */
 footer .e-con .e-con.e-parent > .e-con-inner{
  padding-top:0 !important; padding-bottom:0 !important;
 }
 footer .elementor-icon-list-item > a{min-height:40px}

 /* Ueberschrift und Folgeabsatz enger zusammen */
 .elementor-widget-heading + .elementor-widget-text-editor{margin-top:-6px}
}
/* ==== TAVION MOBIL ENDE ==== *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://tavion.ch/wp-content/uploads/DMSans_18pt-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tavion.ch/wp-content/uploads/DMSans_18pt-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tavion.ch/wp-content/uploads/CormorantGaramond-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */