/* Native V1 component layout repairs. Loaded after motion.css.
 * Keep the page-width contract and existing Elementor content unchanged.
 * No !important defaults: explicitly authored Elementor styles can override.
 * Custom Made composition is handled separately by custom-layout.css.
 */

/* Intrinsic buttons must not stretch merely because a parent is a column. */
:where(.saddleworld-wp) .elementor-widget-button {
  align-self:flex-start;
  max-width:100%;
}
:where(.saddleworld-wp) .e-con > .elementor-widget-button {
  width:fit-content;
}
:where(.saddleworld-wp) .head-inner > .elementor-widget-button { align-self:center; }
:where(.saddleworld-wp) .elementor-widget-button.link-arrow .elementor-button {
  display:flex;
  align-items:center;
  min-height:44px;
}
:where(.saddleworld-wp) .e-con.btn-row {
  gap:16px;
  margin-top:1.8rem;
}
:where(.saddleworld-wp) .e-con.finance-action > .elementor-widget-button {
  align-self:stretch;
  width:100%;
}
:where(.saddleworld-wp) .e-con.kontakt-actions {
  align-items:center;
  margin-top:clamp(34px,5vh,52px);
}
:where(.saddleworld-wp) .kontakt-actions > .elementor-widget-button {
  align-self:center;
}

/* Reading rhythm: every imported paragraph is a real, separate text widget. */
:where(.saddleworld-wp) .e-con.prose { width:min(100%,52rem); max-width:52rem; }
:where(.saddleworld-wp) .e-con.person-prose { width:min(100%,44rem); max-width:44rem; }
:where(.saddleworld-wp) .elementor-widget.lede { width:min(100%,34em); }
:where(.saddleworld-wp) .elementor-widget.kontakt-lede { margin-inline:auto; text-align:center; text-wrap:balance; }
:where(.saddleworld-wp) .elementor-widget.hero-sub { width:min(100%,30em); }
:where(.saddleworld-wp) .elementor-widget.body-copy { width:min(100%,36em); }
:where(.saddleworld-wp) .e-con.detail-desc { margin-top:20px; }
:where(.saddleworld-wp) .elementor-widget.price-note { margin-top:12px; }
:where(.saddleworld-wp) .elementor-widget.stage-caption { margin-top:16px; }
:where(.saddleworld-wp) .elementor-widget.kurz { margin-top:26px; padding-top:26px; }
:where(.saddleworld-wp) .elementor-widget.person-role { margin-top:8px; }
:where(.saddleworld-wp) .elementor-widget.person-role .person-role { margin-top:0; }
:where(.saddleworld-wp) .detail-info > .elementor-widget.display { margin-top:22px; }
:where(.saddleworld-wp) .page-hero .elementor-widget.display { margin-top:26px; }
:where(.saddleworld-wp) .detail-info > .elementor-widget.region { margin-top:14px; }
:where(.saddleworld-wp) .person-prose + .elementor-widget-button { margin-top:1.2rem; }
:where(.saddleworld-wp) .detail-trainer .elementor-widget-heading:where(:has(+ .erfolge)) { margin-top:2rem; }
:where(.saddleworld-wp) .detail-desc > .elementor-widget-heading.description-heading {
  margin:1.7em 0 .55em;
}
:where(.saddleworld-wp) .detail-desc > .elementor-widget-heading.description-heading:first-child { margin-top:0; }
:where(.saddleworld-wp) .description-heading .elementor-heading-title {
  font-family:var(--serif);
  font-size:clamp(1.25rem,2vw,1.55rem);
  line-height:1.25;
  font-weight:500;
  color:var(--ink);
}
:where(.saddleworld-wp) .elementor-widget.feature-list { margin-top:10px; }
:where(.saddleworld-wp) .elementor-widget.erfolge { margin-top:1.2rem; }
:where(.saddleworld-wp) :is(.feature-list,.erfolge) .elementor-icon-list-items {
  margin:0;
  padding:0;
}
:where(.saddleworld-wp) :is(.feature-list,.erfolge) .elementor-icon-list-item {
  align-items:flex-start;
  white-space:normal;
}
:where(.saddleworld-wp) .feature-list .elementor-icon-list-item { padding:.55rem 0 .55rem 24px; }
:where(.saddleworld-wp) .erfolge .elementor-icon-list-item { padding:.55rem 0 .55rem 1.4rem; }
/* Legal documents retain their own hierarchy after h1/p/ul gain widget wrappers. */
:where(.saddleworld-wp) .e-con.legal { padding-bottom:clamp(72px,9vh,112px); }
:where(.saddleworld-wp) .legal > .elementor-widget-heading:where(:has(h1)) {
  margin-top:24px;
  font-size:clamp(2.1rem,7vw,4.6rem);
  line-height:1.1;
}
:where(.saddleworld-wp) .legal .elementor-heading-title { margin-top:0; margin-inline:0; overflow-wrap:anywhere; hyphens:auto; }
:where(.saddleworld-wp) .legal > .elementor-widget-heading:where(:has(h1)) + .elementor-widget-text-editor { margin-top:24px; }
:where(.saddleworld-wp) .legal > .elementor-widget-heading:where(:has(h2)) { margin:clamp(36px,6vh,64px) 0 22px; }
:where(.saddleworld-wp) .legal .elementor-heading-title:where(h2) { padding:clamp(20px,3vw,30px); }
:where(.saddleworld-wp) .legal > .elementor-widget-heading:where(:has(h3)) { margin:28px 0 14px; }
:where(.saddleworld-wp) .legal > .elementor-widget-heading:where(:has(h4)) { margin:24px 0 12px; }
:where(.saddleworld-wp) .legal > .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top:1.05em; }
:where(.saddleworld-wp) .legal .elementor-widget-icon-list ul.elementor-icon-list-items { margin-top:18px; padding:18px 22px; }
:where(.saddleworld-wp) .legal > :where(.elementor-widget-icon-list) + .elementor-widget-text-editor { margin-top:20px; }
:where(.saddleworld-wp) .legal .elementor-icon-list-item { padding-left:1.45rem; align-items:flex-start; }
:where(.saddleworld-wp) .legal .elementor-icon-list-item + .elementor-icon-list-item { margin-top:9px; }
/* Native icons, when explicitly added by an editor, replace the legacy marker. */
:where(.saddleworld-wp) :is(.feature-list,.erfolge,.legal) .elementor-icon-list-item:where(:has(.elementor-icon-list-icon)) { padding-left:0; }
:where(.saddleworld-wp) :is(.feature-list,.erfolge,.legal) .elementor-icon-list-item:where(:has(.elementor-icon-list-icon))::before { content:none; }

/* These pages end outside a .sec; give their content a real footer separation. */
:where(.saddleworld-wp) .elementor-widget.sw-form,
:where(.saddleworld-wp) .e-con.page-top:where(:has(.detail-trainer)) { padding-bottom:clamp(64px,9vh,112px); }

/* Restore the table-like two-column product and trainer detail layout. */
:where(.saddleworld-wp) .e-con.detail {
  display:grid;
  grid-template-columns:minmax(0,6.4fr) minmax(0,5.6fr);
  gap:clamp(36px,5vw,88px);
  align-items:start;
  padding-block:clamp(28px,4vh,52px) clamp(56px,8vh,96px);
}
:where(.saddleworld-wp) .e-con.detail-trainer {
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
}
:where(.saddleworld-wp) .detail > .detail-stage {
  position:sticky;
  top:calc(110px + var(--sw-admin-offset,0px));
}
/* A definite grid track prevents portrait images' intrinsic height from growing
 * through the square stage. Object-fit only works when both dimensions are set. */
:where(.saddleworld-wp) .elementor-widget.gallery-main {
  display:grid;
  grid-template-rows:minmax(0,1fr);
  min-height:0;
  aspect-ratio:1 / 1;
}
:where(.saddleworld-wp) .gallery-main > :is(.elementor-widget-container,a) {
  display:grid;
  grid-template-rows:minmax(0,1fr);
  width:100%;
  height:100%;
  min-height:0;
}
:where(.saddleworld-wp) .elementor-widget.gallery-main img {
  width:100%;
  height:100%;
  max-height:100%;
  min-height:0;
  object-fit:contain;
}
:where(.saddleworld-wp) .e-con:is(.bio-grid,.bio-grid-rev,.team-grid) { align-items:start; }
:where(.saddleworld-wp) .bio-grid .e-con.prose { margin-top:26px; }
:where(.saddleworld-wp) .elementor-widget-image:is(.page-hero-img,.trainer-portrait,.bio-img):where(:not(.elementor-widget__width-initial,.elementor-widget__width-inherit,.elementor-widget__width-auto)) {
  width:calc(100% - 28px);
  max-width:calc(100% - 28px);
}
:where(.saddleworld-wp) .elementor-widget-image.page-hero-img { margin:14px; }
:where(.saddleworld-wp) .elementor-widget-image.jung-img:where(:not(.elementor-widget__width-initial,.elementor-widget__width-inherit,.elementor-widget__width-auto)) {
  width:calc(100% - 32px);
  max-width:calc(100% - 32px);
}
/* This legacy photograph includes a phone home-indicator below the horse.
 * Frame only its last 33 of 801 source pixels; retain the original media and
 * the photographer's mark. Other pictures and their CMS crops are untouched. */
:where(.saddleworld-wp) .elementor-widget-image img:where([src*="lena-kirchner-1-1024x684-1-"]) {
  aspect-ratio:1200 / 768;
  height:auto;
  object-fit:cover;
  object-position:center top;
}
:where(.saddleworld-wp) .elementor-widget-image.tile-media:where(.cover) img:where([src*="lena-kirchner-1-1024x684-1-"]) {
  height:104.3%;
  max-height:none;
  align-self:start;
}
:where(.saddleworld-wp) .e-con.person-info { gap:0; }
:where(.saddleworld-wp) .person-info > .elementor-widget-text-editor:not(.person-role) { margin-top:16px; }
:where(.saddleworld-wp) .person-info .elementor-widget-heading .elementor-heading-title {
  font-size:clamp(1.6rem,2.4vw,2.1rem);
  font-weight:500;
  letter-spacing:-.01em;
}

/* Notices and cards need their own padding, not a global container exception. */
:where(.saddleworld-wp) .elementor-widget.note-box,
:where(.saddleworld-wp) .e-con.note-box {
  margin-top:clamp(24px,3vh,36px);
  padding:18px 24px;
  width:min(100%,56em);
  max-width:56em;
}
:where(.saddleworld-wp) .e-con.care-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:14px;
  margin-top:clamp(28px,4vh,44px);
}
:where(.saddleworld-wp) .e-con.care-card {
  padding:clamp(22px,3vw,34px);
  gap:0;
}
:where(.saddleworld-wp) .care-card > .elementor-widget-text-editor {
  margin-top:12px;
  line-height:1.75;
  color:var(--muted);
}
:where(.saddleworld-wp) .care-card > .elementor-widget-text-editor p { margin-top:0; }
:where(.saddleworld-wp) .e-con.cta-box {
  align-items:center;
  padding:clamp(40px,6vw,72px) clamp(24px,4vw,64px);
  margin-top:clamp(48px,7vh,84px);
}
:where(.saddleworld-wp) .cta-box > .elementor-widget-text-editor {
  margin:1.2rem auto 0;
  width:min(100%,38em);
  max-width:38em;
  color:var(--muted);
  font:14.5px/1.7 var(--sans);
}
:where(.saddleworld-wp) .cta-box > .elementor-widget-heading { align-self:center; }
:where(.saddleworld-wp) .cta-box .e-con.btn-row {
  justify-content:center;
  margin-top:2rem;
}
:where(.saddleworld-wp) .e-con.cta-slim {
  align-items:flex-start;
  padding:28px 30px;
  margin-top:clamp(32px,4vh,48px);
}
:where(.saddleworld-wp) .cta-slim > .elementor-widget-text-editor { margin:.8rem 0 0; }
:where(.saddleworld-wp) .cta-slim .e-con.btn-row { justify-content:flex-start; margin-top:1.4rem; }
:where(.saddleworld-wp) .cta-slim .elementor-heading-title { font-size:1.35rem; }

/* One price card stays compact; pairs use the available reading width. */
:where(.saddleworld-wp) .e-con.price-cards {
  width:min(100%,300px);
  max-width:100%;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  margin-top:clamp(36px,5vh,56px);
}
:where(.saddleworld-wp) .e-con.price-cards:where(:has(> .price-card ~ .price-card)) {
  width:min(100%,1000px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  background:transparent;
  border:0;
}
:where(.saddleworld-wp) .price-cards:where(:has(> .price-card ~ .price-card)) > .e-con.price-card { border:1px solid var(--hairline); }
/* A price grid directly after the page hero needs no second section lead-in. */
:where(.saddleworld-wp .page-hero) + .e-con.sec-first:where(:has(> .wrap > .price-cards:first-child)) { padding-top:0; }
:where(.saddleworld-wp .page-hero + .sec-first > .wrap) > .e-con.price-cards:where(:first-child) { margin-top:clamp(16px,2.5vh,24px); }
:where(.saddleworld-wp) .price-card > .elementor-widget.price-cap { margin-top:10px; }
:where(.saddleworld-wp) .elementor-widget.price-cap .price-cap { margin-top:0; }
:where(.saddleworld-wp) .price-card > .elementor-widget-text-editor:where(:not(.price-cap):not(.price-big)) { margin-top:12px; }
:where(.saddleworld-wp) .price-card > .elementor-widget-text-editor p {
  margin-top:0;
  font-size:14px;
  line-height:1.7;
}
:where(.saddleworld-wp) .e-con.sw-price-row {
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:baseline;
  gap:.22em;
  font:500 clamp(1.9rem,3vw,2.5rem)/1 var(--serif);
}
:where(.saddleworld-wp) .sw-price-row > .elementor-widget { width:auto; margin:0; }
:where(.saddleworld-wp) .elementor-widget.sw-price-currency,
:where(.saddleworld-wp) .sw-price-currency p { margin:0; font:inherit; color:var(--gold-hi); }
/* The frontend regrouping is deliberately disabled inside Elementor. Preserve
 * this exact original editable pair in two grid cells, without generating text
 * or matching arbitrary future amounts/descriptions by their contents. */
:where(.saddleworld-wp.elementor-editor-active) .e-con.price-card:where(:has(> [data-id="f3207d667683"] + [data-id="f6299b556880"])) {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:baseline;
  column-gap:.55rem;
}
:where(.saddleworld-wp.elementor-editor-active .price-card:has(> [data-id="f3207d667683"] + [data-id="f6299b556880"])) > .elementor-widget { grid-column:1 / -1; }
:where(.saddleworld-wp.elementor-editor-active .price-card) > .elementor-widget[data-id="f3207d667683"] { grid-column:1; }
:where(.saddleworld-wp.elementor-editor-active .price-card) > .elementor-widget[data-id="f6299b556880"] { grid-column:2; margin-top:0; font:500 clamp(1.9rem,3vw,2.5rem)/1 var(--serif); }
:where(.saddleworld-wp.elementor-editor-active) .price-card [data-id="f6299b556880"] p { font:inherit; color:var(--gold-hi); }
:where(.saddleworld-wp) .price-name .elementor-heading-title { font-size:1.2rem; font-weight:500; }
:where(.saddleworld-wp) .price-card > .elementor-widget.price-name { margin-bottom:10px; }
:where(.saddleworld-wp) .e-con.artikel-stack { display:grid; gap:14px; margin-top:1.6rem; }
:where(.saddleworld-wp) .e-con.artikel-card { padding:26px 24px; }
:where(.saddleworld-wp) .artikel-card .e-con.specs { margin-top:14px; }
:where(.saddleworld-wp) .e-con.price-line { margin-top:26px; }
:where(.saddleworld-wp) .e-con.steps { margin-top:clamp(8px,2vh,20px); }
:where(.saddleworld-wp) .e-con.steps-wide { margin-top:clamp(24px,4vh,44px); }
/* Some original steps contain a real .step-n, others need the CSS counter.
 * Never paint both; retaining the actual number keeps it editable. */
:where(.saddleworld-wp) .steps-wide > .sw-source-li:where(:has(> .step-n))::before { content:none; }
:where(.saddleworld-wp .steps-wide > .sw-source-li) > .e-con.step-n {
  position:absolute;
  inset:clamp(24px,3.2vh,36px) auto auto 0;
  width:58px;
}
:where(.saddleworld-wp) .step-n > .elementor-widget-text-editor { font:italic 1.5rem/1.2 var(--serif); color:var(--gold); }
:where(.saddleworld-wp) .step-n p { margin:0; font:inherit; color:inherit; }
:where(.saddleworld-wp) .finance-copy > .elementor-widget:first-child { margin-top:0; }
:where(.saddleworld-wp) .finance-copy .elementor-widget-heading .elementor-heading-title {
  font-family:var(--serif);
  font-size:clamp(1.9rem,3vw,3.15rem);
  font-weight:500;
  line-height:1.08;
}

/* FAQ appearance only: Elementor retains expanded state, focus and semantics. */
:where(.saddleworld-wp) .e-con.faq { gap:0; margin-top:clamp(28px,4vh,44px); width:min(100%,62rem); max-width:62rem; }
:where(.saddleworld-wp) .faq .elementor-accordion-item {
  border:0;
  border-bottom:1px solid var(--hairline);
}
:where(.saddleworld-wp) .faq > .elementor-widget-accordion:first-child .elementor-accordion-item { border-top:1px solid var(--hairline); }
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title {
  padding:22px 20px;
  color:var(--ink);
  background:transparent;
  font:500 clamp(1.1rem,1.7vw,1.35rem)/1.4 var(--serif);
}
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-content {
  padding:0 20px 24px;
  border-top:0;
  background:transparent;
  color:var(--ink-soft);
  font:15px/1.75 var(--sans);
}
:where(.saddleworld-wp) .faq .elementor-tab-content p { max-width:54em; }
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon { color:var(--gold-hi); }
/* FontAwesome supplies filled SVG paths; color alone does not paint those. */
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { color:inherit; }
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg:where(:not([fill="none"])),
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg :where([fill]:not([fill="none"])) { fill:currentColor; }
:where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon :where(svg[stroke],svg [stroke]):not([stroke="none"]) { stroke:currentColor; }

/* V1 table cells became nested containers; retain their two-column meaning. */
:where(.saddleworld-wp) .e-con.rk { width:min(100%,640px); margin-top:clamp(28px,4vh,44px); }
:where(.saddleworld-wp) .rk .e-con.sw-source-tr {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
}
:where(.saddleworld-wp) .rk .e-con.sw-source-th {
  padding:16px 22px;
  border-bottom:1px solid var(--hairline);
  background:var(--bg-2);
  color:var(--gold);
  font:500 11px/1.6 var(--sans);
  letter-spacing:.22em;
  text-transform:uppercase;
}
:where(.saddleworld-wp) .rk .e-con.sw-source-td {
  padding:18px 22px;
  border-bottom:1px solid var(--hairline-2);
  color:var(--ink-soft);
  font:1.05rem/1.6 var(--serif);
}
:where(.saddleworld-wp) .rk .sw-source-td:last-child { color:var(--gold-hi); font-size:clamp(1.15rem,1.8vw,1.45rem); }
:where(.saddleworld-wp) .rk .sw-source-tbody > .sw-source-tr:last-child > .sw-source-td { border-bottom:0; }

/* The safe text import retains the inline badge class as well as its widget. */
:where(.saddleworld-wp) .e-con.badge-list {
  flex-direction:row;
  flex-wrap:wrap;
  gap:10px;
  margin-top:clamp(28px,4vh,44px);
}
:where(.saddleworld-wp) .elementor-widget.pill {
  width:fit-content;
  max-width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  font:11px/1.6 var(--sans);
  color:var(--ink-soft);
  white-space:normal;
}
:where(.saddleworld-wp) .elementor-widget:is(.pill-gold,.pill-ok) { color:var(--gold-hi); }
:where(.saddleworld-wp) .elementor-widget.pill .pill {
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Native tile information must occupy grid cells, not its nested headings. */
:where(.saddleworld-wp .tile-portrait) > .elementor-widget-image.tile-media:where(.cover,.logo) { margin:0; }
:where(.saddleworld-wp .tile-portrait) > .elementor-widget-image.tile-media:where(.cover,.logo):where(:not(.elementor-widget__width-initial,.elementor-widget__width-inherit,.elementor-widget__width-auto)) { width:100%; }
:where(.saddleworld-wp) .tile-media:is(.e-con,.elementor-widget-image):where(:not(.cover):not(.logo)) {
  display:grid;
  padding:6% 4% 10%;
  aspect-ratio:1 / 1;
  min-height:0;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
}
:where(.saddleworld-wp) .tile-media:is(.e-con,.elementor-widget-image):where(:not(.cover):not(.logo)) .elementor-widget-image,
:where(.saddleworld-wp) .tile-media:is(.e-con,.elementor-widget-image):where(:not(.cover):not(.logo)) :is(.elementor-widget-container,a) {
  display:grid;
  grid-template-rows:minmax(0,1fr);
  min-height:0;
  max-height:100%;
}
:where(.saddleworld-wp) .tile-media .elementor-widget-image img,
:where(.saddleworld-wp) .elementor-widget-image.tile-media:where(:not(.cover):not(.logo)) img { width:100%; height:100%; max-height:100%; min-height:0; object-fit:contain; }
:where(.saddleworld-wp) .verwandte > .elementor-widget.title { margin:14px 0 clamp(24px,3vh,40px); }
:where(.saddleworld-wp) .e-con.tile-info {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"cat cat" "name arrow" "price arrow";
  align-items:baseline;
  gap:2px 14px;
  margin-top:auto;
  padding-top:18px;
}
:where(.saddleworld-wp) .tile-info > .elementor-widget-heading { grid-area:name; }
:where(.saddleworld-wp) .tile-info .elementor-heading-title { font-size:clamp(1.15rem,1.6vw,1.4rem); font-weight:500; line-height:1.25; }
:where(.saddleworld-wp) .tile-info > .elementor-widget.tile-cat { margin-bottom:8px; }
:where(.saddleworld-wp) .tile-info > .elementor-widget.tile-price { margin-top:6px; }
:where(.saddleworld-wp) .e-con.tile-portrait .tile-info { padding-top:20px; }
:where(.saddleworld-wp) .elementor-widget.koll-brands { margin-top:clamp(30px,4vh,48px); }
:where(.saddleworld-wp) .elementor-widget.tour-note { margin-top:34px; }
:where(.saddleworld-wp) .e-con:is(.touren-head,.koll-head) { margin-bottom:clamp(44px,6vh,72px); }
:where(.saddleworld-wp) .e-con.ueber-head { margin-bottom:clamp(48px,7vh,84px); }
:where(.saddleworld-wp) .e-con.ueber-links { margin-top:clamp(40px,6vh,64px); }
:where(.saddleworld-wp) .anprobe-left > .elementor-widget-button.link-arrow,
:where(.saddleworld-wp) .jung-copy > .elementor-widget-button.link-arrow { margin-top:clamp(30px,4vh,44px); }
:where(.saddleworld-wp) .sw-tours .tour-row { grid-template-columns:minmax(160px,1fr) minmax(0,2fr) auto; }
:where(.saddleworld-wp) .sw-tours .tour-date { font:500 clamp(1.1rem,1.7vw,1.45rem)/1.4 var(--serif); }

/* Footer already has its outer section padding; do not add it for a second time. */
:where(.saddleworld-wp) .foot-first > .elementor-widget-text-editor:not(.foot-title) {
  color:var(--muted);
  font:13.5px/2 var(--sans);
}
:where(.saddleworld-wp) .foot-col .elementor-icon-list-item + .elementor-icon-list-item { margin-top:8px; }
:where(.saddleworld-wp) .foot-col .elementor-icon-list-item a { min-height:24px; }
:where(.saddleworld-wp) .elementor-widget.foot-title { margin-bottom:4px; }
:where(.saddleworld-wp) .e-con.foot-bottom > .elementor-widget-text-editor { width:auto; max-width:100%; }
:where(.saddleworld-wp) .e-con.foot-bottom > .elementor-widget-text-editor.foot-credit { width:100%; }

@media (min-width:1081px) {
  :where(.saddleworld-wp .detail-info) > .elementor-widget-heading.display { font-size:clamp(2.6rem,4.2vw,4rem); }
}
@media (max-width:1080px) {
  :where(.saddleworld-wp) .e-con.detail { grid-template-columns:minmax(0,1fr); }
  :where(.saddleworld-wp) .detail > .detail-stage { position:static; max-width:640px; }
  :where(.saddleworld-wp) .e-con:is(.bio-grid,.bio-grid-rev) { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:820px) {
  :where(.saddleworld-wp) .e-con.care-grid { grid-template-columns:minmax(0,1fr); }
  :where(.saddleworld-wp) .e-con.care-card { padding:22px; }
  :where(.saddleworld-wp) .e-con.cta-box { padding:36px 24px; }
  :where(.saddleworld-wp) .e-con.cta-slim { padding:24px; }
  :where(.saddleworld-wp) .finance-copy .elementor-widget-heading .elementor-heading-title { font-size:1.65rem; }
  :where(.saddleworld-wp) .sw-tours .tour-row { grid-template-columns:minmax(0,1fr); gap:14px; }
  :where(.saddleworld-wp) .sw-tours .tour-status { justify-self:start; white-space:normal; }
}
@media (max-width:600px) {
  /* Three concise statistics, with typography applied to the native widgets
   * and inherited by the preserved strong/span children. */
  :where(.saddleworld-wp) .e-con.hero-stats { gap:10px; }
  :where(.saddleworld-wp .hero-stats > .e-con) > .elementor-widget:first-child { font:500 clamp(1.1rem,4.6vw,1.5rem)/1.2 var(--serif); color:var(--gold-hi); }
  :where(.saddleworld-wp .hero-stats > .e-con) > .elementor-widget:last-child { font:9px/1.6 var(--sans); letter-spacing:.025em; }
  :where(.saddleworld-wp) .hero-stats strong { font:inherit; color:inherit; white-space:nowrap; }
  :where(.saddleworld-wp) .hero-stats span { font:inherit; letter-spacing:inherit; overflow-wrap:anywhere; hyphens:auto; }
  :where(.saddleworld-wp) .e-con.price-cards:where(:has(> .price-card ~ .price-card)) { width:100%; grid-template-columns:minmax(0,1fr); }
  :where(.saddleworld-wp) .e-con:is(.btn-row,.hero-actions,.kontakt-actions) > .elementor-widget-button.btn {
    width:100%;
    align-self:stretch;
  }
  :where(.saddleworld-wp) .elementor-widget.note-box,
  :where(.saddleworld-wp) .e-con.note-box { padding:16px 18px; }
  :where(.saddleworld-wp) .rk .e-con:is(.sw-source-th,.sw-source-td) { padding:14px 12px; }
  :where(.saddleworld-wp) .rk .sw-source-th { font-size:10px; letter-spacing:.12em; }
  :where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-title { padding:18px 12px; }
  :where(.saddleworld-wp) .faq .elementor-accordion .elementor-tab-content { padding:0 12px 20px; }
}
