/* Additive V1 details for native WordPress/Elementor markup.
 * No content, container-width or CMS transform overrides. Motion is opt-in
 * through motion.js; decoration remains inert and the editor stays selectable.
 */

/* Chapter decorations are generated as aria-hidden spans by details.js. */
:where(.saddleworld-wp) .sw-chapter-thread {
  position:relative;
  display:block;
  flex:none;
  width:1px;
  height:clamp(48px,7vh,86px);
  margin:0 auto clamp(30px,4vh,48px);
  background:linear-gradient(180deg,transparent,var(--gold));
  pointer-events:none;
  user-select:none;
}
:where(.saddleworld-wp) .sw-chapter-thread::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:-4px;
  width:8px;
  height:8px;
  transform:translateX(-50%) rotate(45deg);
  border:1px solid var(--gold);
  background:var(--bg);
}
:where(.saddleworld-wp) .sec-alt .sw-chapter-thread::after,
:where(.saddleworld-wp) .sec-jung .sw-chapter-thread::after {
  background:var(--bg-2);
}
:where(.saddleworld-wp) .sec-first .sw-chapter-thread {
  height:clamp(40px,5vh,64px);
  margin-bottom:clamp(28px,4vh,44px);
}
:where(.saddleworld-wp) .sec-head > .sw-chapter-number {
  position:absolute;
  top:-.4em;
  right:0;
  z-index:0;
  font-family:var(--serif);
  font-size:clamp(9rem,16vw,17rem);
  font-style:italic;
  font-weight:400;
  line-height:.9;
  letter-spacing:-.06em;
  color:transparent;
  -webkit-text-stroke:1px rgba(201,167,101,.12);
  pointer-events:none;
  user-select:none;
}
:where(.saddleworld-wp) .sec-head > .elementor-element {
  z-index:1;
}
:where(.saddleworld-wp) .sec-head > .sec-no { order:0; }
:where(.saddleworld-wp) .sec-head > .sec-label { order:2; }
:where(.saddleworld-wp) .sec-head > .sw-chapter-rule {
  order:1;
  display:block;
  align-self:center;
  flex:1 1 40px;
  min-width:24px;
  height:1px;
  background:linear-gradient(90deg,var(--hairline),transparent 90%);
  pointer-events:none;
  user-select:none;
}

/* The light sits behind the photographs and copy, never over editable text. */
:where(.saddleworld-wp) .hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(52% 42% at 78% 30%,rgba(201,167,101,.13),transparent 70%),
    radial-gradient(40% 34% at 10% 82%,rgba(163,108,58,.08),transparent 70%),
    linear-gradient(180deg,var(--bg-2),var(--bg) 46%);
  pointer-events:none;
}
:where(.saddleworld-wp) .e-con.break::after {
  content:none;
}
:where(.saddleworld-wp) .break > .sw-break-shade {
  position:absolute;
  display:block;
  inset:0;
  z-index:1;
  margin:0;
  background:
    linear-gradient(180deg,var(--bg),transparent 22%,transparent 72%,var(--bg)),
    radial-gradient(70% 60% at 50% 55%,transparent 40%,rgba(19,16,9,.55) 100%);
  pointer-events:none;
  user-select:none;
}
:where(.saddleworld-wp) .break > .break-img { z-index:0; }
:where(.saddleworld-wp) .break-script {
  z-index:2;
  text-shadow:0 6px 30px rgba(0,0,0,.7);
}
:where(.saddleworld-wp) .sw-scroll-line {
  display:inline-block;
  flex:none;
  width:1px;
  height:44px;
  background:linear-gradient(180deg,var(--gold),transparent);
  transform-origin:top;
  animation:sw-scroll-hint 2.4s var(--ease) infinite;
  pointer-events:none;
}
@keyframes sw-scroll-hint {
  0%,100% { transform:scaleY(.4); opacity:.5; }
  50% { transform:scaleY(1); opacity:1; }
}

/* Header and progress: blur is desktop-only to preserve the iOS menu viewport. */
.saddleworld-wp #wpadminbar { height:auto; min-height:32px; }
.saddleworld-wp #wpadminbar #wp-toolbar::after { content:""; display:table; clear:both; }
.saddleworld-wp .sw-location-icon { display: inline-flex; width: 1em; height: 1.15em; margin-right: .4em; vertical-align: -.15em; color: var(--gold, #c5a35f); }
.saddleworld-wp .sw-location-icon svg { width: 100%; height: 100%; }
:where(.saddleworld-wp) .sw-site-header {
  transition:background-color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
:where(.saddleworld-wp).admin-bar .sw-site-header {
  top:var(--sw-admin-offset,32px);
}
:where(.saddleworld-wp) .skip-link { z-index:122; }
:where(.saddleworld-wp) .head-inner,
:where(.saddleworld-wp) .head-inner .brand {
  transition:height .45s var(--ease),width .45s var(--ease);
}
:where(.saddleworld-wp) .head-inner .brand img {
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.45));
}
:where(.saddleworld-wp) .sw-progress {
  position:fixed;
  inset:0 0 auto;
  height:2px;
  z-index:120;
  pointer-events:none;
}
:where(.saddleworld-wp).admin-bar .sw-progress { top:var(--sw-admin-offset,32px); }
:where(.saddleworld-wp) #sw-progress-bar {
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));
  transform:scaleX(0);
  transform-origin:0 50%;
}
@media (min-width:1101px) {
  :where(.saddleworld-wp) .sw-site-header {
    background:transparent;
    border-bottom-color:transparent;
  }
  :where(.saddleworld-wp) .sw-site-header.is-scrolled {
    background:rgba(19,16,9,.86);
    background:color-mix(in srgb,var(--bg) 86%,transparent);
    border-bottom-color:var(--hairline);
    -webkit-backdrop-filter:blur(16px) saturate(1.2);
    backdrop-filter:blur(16px) saturate(1.2);
    box-shadow:0 8px 26px -20px rgba(0,0,0,.7);
  }
  :where(.saddleworld-wp) .sw-site-header.is-scrolled .head-inner { height:78px; }
  :where(.saddleworld-wp) .sw-site-header.is-scrolled .head-inner .brand { width:62px; }
}

/* Restore the real anchor's hit area; the Elementor widget is only its frame. */
:where(.saddleworld-wp) .elementor-widget-button.btn {
  --sw-button-padding:16px 30px;
  padding:0;
  will-change:auto;
}
:where(.saddleworld-wp) .elementor-widget-button.btn-big { --sw-button-padding:20px 44px; }
:where(.saddleworld-wp) .elementor-widget-button.head-cta { --sw-button-padding:12px 22px; }
:where(.saddleworld-wp) .elementor-widget-button.btn > .elementor-widget-container {
  display:flex;
  width:100%;
}
:where(.saddleworld-wp) .elementor-widget-button.btn .elementor-button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:var(--sw-button-padding);
}
:where(.saddleworld-wp) .elementor-widget-button.btn-gold:focus-within {
  box-shadow:0 14px 38px -12px rgba(201,167,101,.55);
}
:where(.saddleworld-wp) .elementor-widget-button.btn-ghost:focus-within {
  border-color:var(--gold);
  color:var(--ink);
}
:where(.saddleworld-wp) .sw-nav a {
  position:relative;
  transition:color .3s var(--ease);
}
:where(.saddleworld-wp) .sw-nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:5px;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s var(--ease);
}
:where(.saddleworld-wp) .sw-nav a:is(:hover,:focus-visible,[aria-current="page"])::after {
  transform:scaleX(1);
}
/* The V1 span rule otherwise moves both nested Elementor wrappers by 6px. */
:where(.saddleworld-wp) .elementor-widget-button.link-arrow:is(:hover,:focus-within) .elementor-button-content-wrapper,
:where(.saddleworld-wp) .elementor-widget-button.link-arrow:is(:hover,:focus-within) .elementor-button-text {
  transform:none;
}
:where(.saddleworld-wp) .link-arrow .elementor-button-content-wrapper {
  align-items:center;
  gap:12px;
}
:where(.saddleworld-wp) .sw-link-icon {
  display:inline-flex;
  flex:none;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  pointer-events:none;
}
:where(.saddleworld-wp) .sw-link-icon svg { width:100%; height:100%; }
:where(.saddleworld-wp) .link-arrow > .sw-icon,
:where(.saddleworld-wp) .link-arrow .sw-link-icon,
:where(.saddleworld-wp) .link-arrow .elementor-button-icon {
  transition:translate .35s var(--ease);
}
:where(.saddleworld-wp) .link-arrow:is(:hover,:focus-within) .sw-link-icon,
:where(.saddleworld-wp) .link-arrow:is(:hover,:focus-within) .elementor-button-icon {
  transform:none;
}
@media (hover:hover) and (pointer:fine) {
  :where(.saddleworld-wp) .link-arrow:hover > .sw-icon,
  :where(.saddleworld-wp) .link-arrow:hover .sw-link-icon,
  :where(.saddleworld-wp) .link-arrow:hover .elementor-button-icon {
    translate:6px 0;
  }
  :where(.saddleworld-wp) .sw-menu-toggle:hover,
  :where(.saddleworld-wp) .sw-to-top:hover {
    color:var(--gold-hi);
    border-color:var(--gold);
  }
}

/* Native widgets replace V1 p/figure/li/dt/dd elements; preserve their rhythm. */
:where(.saddleworld-wp) .elementor-widget.lede { margin-top:1.4em; }
:where(.saddleworld-wp) .elementor-widget.body-copy { margin-top:1.1em; }
:where(.saddleworld-wp) .elementor-widget.anprobe-img { margin-top:clamp(36px,5vh,60px); }
:where(.saddleworld-wp) .elementor-widget.jung-img { margin:16px; }
:where(.saddleworld-wp) .elementor-widget:is(.trainer-portrait,.bio-img) { margin:14px; }
:where(.saddleworld-wp) .prose > .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top:1.3em; }
:where(.saddleworld-wp) .person-prose > .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top:1.2em; }
:where(.saddleworld-wp) .detail-desc > .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top:1em; }
:where(.saddleworld-wp) .steps-wide > .sw-source-li {
  counter-increment:stepc;
  position:relative;
  display:block;
  padding:clamp(26px,3.4vh,38px) 0 clamp(26px,3.4vh,38px) 88px;
  border-bottom:1px solid var(--hairline-2);
}
:where(.saddleworld-wp) .steps-wide > .sw-source-li:first-child { border-top:1px solid var(--hairline-2); }
:where(.saddleworld-wp) .steps-wide > .sw-source-li::before {
  content:counter(stepc,decimal-leading-zero);
  position:absolute;
  left:0;
  top:clamp(24px,3.2vh,36px);
  color:var(--gold);
  font:italic 1.5rem/1.2 var(--serif);
  pointer-events:none;
}
:where(.saddleworld-wp) :is(.step,.steps-wide) .elementor-widget-heading .elementor-heading-title {
  font-family:var(--serif);
  font-size:clamp(1.3rem,1.9vw,1.65rem);
  font-weight:500;
  letter-spacing:-.01em;
}
:where(.saddleworld-wp) .care-card .elementor-widget-heading .elementor-heading-title {
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  color:var(--gold-hi);
}
:where(.saddleworld-wp) .specs > .sw-source-div {
  display:grid;
  grid-template-columns:minmax(120px,2fr) 3fr;
  gap:18px;
  padding:12px 2px;
  border-bottom:1px solid var(--hairline-2);
}
:where(.saddleworld-wp) .specs > .sw-source-div > .elementor-widget-text-editor:first-child {
  padding-top:3px;
  color:var(--muted);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
:where(.saddleworld-wp) .specs > .sw-source-div > .elementor-widget-text-editor:first-child strong { font-weight:400; }
:where(.saddleworld-wp) .specs > .sw-source-div > .elementor-widget-text-editor:last-child {
  color:var(--ink-soft);
  font-family:var(--serif);
  font-size:1rem;
}

/* Individual translate composes with user-set Elementor transforms. */
html.sw-motion-enabled :where(.saddleworld-wp) :is([data-sw-reveal],[data-sw-hero]) {
  --sw-reveal-y:24px;
  opacity:0;
  translate:0 calc(var(--sw-reveal-y) + var(--sw-parallax-y,0px));
  transition:opacity .85s var(--ease) var(--sw-delay,0ms),translate .85s var(--ease) var(--sw-delay,0ms);
}
html.sw-motion-enabled :where(.saddleworld-wp) [data-sw-hero] { --sw-reveal-y:28px; }
html.sw-motion-enabled :where(.saddleworld-wp) :is([data-sw-reveal],[data-sw-hero]):is(.sw-in,:focus-within) {
  --sw-reveal-y:0px;
  opacity:1;
}
html.sw-motion-enabled :where(.saddleworld-wp) [data-sw-parallax] {
  --sw-reveal-y:0px;
  translate:0 var(--sw-parallax-y,0px);
  /* JS measures this exact offset. A translate transition would feed its
   * interpolated position back into the following scroll measurement. */
  transition:opacity .85s var(--ease) var(--sw-delay,0ms);
}
html.sw-motion-enabled :where(.saddleworld-wp) :is([data-sw-reveal],[data-sw-hero]):focus-within {
  --sw-delay:0ms !important;
  transition:none;
}

@media (max-width:1100px) {
  :where(.saddleworld-wp) .sw-site-header,
  :where(.saddleworld-wp) .sw-site-header.is-scrolled {
    background:var(--bg);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    filter:none;
  }
}
@media (max-width:820px) {
  :where(.saddleworld-wp) .sw-chapter-thread,
  :where(.saddleworld-wp) .sec-first .sw-chapter-thread {
    height:32px;
    margin-bottom:24px;
  }
  :where(.saddleworld-wp) .sec-head > .sw-chapter-number {
    top:-.27em;
    font-size:clamp(7rem,24vw,10rem);
    -webkit-text-stroke-color:rgba(201,167,101,.1);
  }
  :where(.saddleworld-wp) .sw-scroll-line { height:34px; }
  :where(.saddleworld-wp) .steps-wide > .sw-source-li { padding-left:58px; }
}
@media (max-width:782px) {
  :where(.saddleworld-wp).admin-bar .sw-site-header,
  :where(.saddleworld-wp).admin-bar .sw-progress {
    top:var(--sw-admin-offset,46px);
  }
  :where(.saddleworld-wp).admin-bar .sw-nav {
    --sw-menu-admin-offset:var(--sw-admin-offset,46px);
  }
}
@media (max-width:600px) {
  :where(.saddleworld-wp) .specs > .sw-source-div { grid-template-columns:minmax(96px,2fr) 3fr; gap:14px; }
}

/* Editor and accessibility fallbacks always win over JS enhancement state. */
:where(.saddleworld-wp).elementor-editor-active :is([data-sw-reveal],[data-sw-hero],[data-sw-parallax]),
.elementor-editor-active :where(.saddleworld-wp) :is([data-sw-reveal],[data-sw-hero],[data-sw-parallax]) {
  opacity:1 !important;
  translate:none !important;
  transition:none !important;
}
:where(.saddleworld-wp).elementor-editor-active .sw-site-header,
.elementor-editor-active :where(.saddleworld-wp) .sw-site-header {
  position:relative;
  top:0;
  background:var(--bg);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
/* The editor header is in normal flow, so its fixed-header reserve must not
 * be counted again. This also excludes the public admin-toolbar allowance. */
:where(.saddleworld-wp).elementor-editor-active .e-con.hero {
  padding-top:max(0px,calc(clamp(145px,18vh,190px) - var(--sw-header-height)));
}
:where(.saddleworld-wp).elementor-editor-active .e-con.page-hero {
  padding-top:max(0px,calc(clamp(155px,19vh,220px) - var(--sw-header-height)));
}
:where(.saddleworld-wp).elementor-editor-active .e-con.page-top {
  padding-top:max(0px,calc(clamp(150px,18vh,210px) - var(--sw-header-height)));
}
@media (max-width:820px) {
  :where(.saddleworld-wp).elementor-editor-active .e-con.hero { padding-top:40px; }
  :where(.saddleworld-wp).elementor-editor-active .e-con.page-hero {
    padding-top:max(0px,calc(clamp(155px,19vh,220px) - 88px));
  }
  :where(.saddleworld-wp).elementor-editor-active .e-con.page-top { padding-top:32px; }
}
:where(.saddleworld-wp).elementor-editor-active .sw-scroll-line { animation:none; }
:where(.saddleworld-wp).elementor-editor-active .sw-progress { display:none; }
@media (prefers-reduced-motion:reduce) {
  :where(.saddleworld-wp) :is([data-sw-reveal],[data-sw-hero],[data-sw-parallax]) {
    opacity:1 !important;
    translate:none !important;
    transition:none !important;
  }
  :where(.saddleworld-wp) .sw-scroll-line { animation:none; }
  :where(.saddleworld-wp) :is(.sw-site-header,.head-inner,.head-inner .brand,.sw-link-icon,.link-arrow > .sw-icon,.elementor-button-icon),
  :where(.saddleworld-wp) .sw-nav a::after { transition:none; }
  :where(.saddleworld-wp) .link-arrow:is(:hover,:focus-within) :is(.sw-link-icon,.sw-icon,.elementor-button-icon) { translate:none; }
}
@media print {
  :where(.saddleworld-wp) :is([data-sw-reveal],[data-sw-hero],[data-sw-parallax]) {
    opacity:1 !important;
    translate:none !important;
    transition:none !important;
  }
  :where(.saddleworld-wp) :is(.sw-progress,.sw-chapter-thread,.sw-chapter-number,.sw-scroll-line) { display:none; }
  :where(.saddleworld-wp) .sw-site-header { position:static; background:none; }
}
