/* Best GYM motion language: measured entrances, athletic diagonals, warm light. */
:root { --best-ease: cubic-bezier(.16, 1, .3, 1); --best-progress: 0; }
.best-reading-progress {
  position: fixed; inset: 0 0 auto; height: 3px; z-index: 200001;
  background: linear-gradient(90deg, #9c7636, #d8b56c 65%, #fff1c9);
  transform: scaleX(var(--best-progress)); transform-origin: left;
  pointer-events: none;
}

/* Content is visible by default. JS opts in only after observers are attached. */
.motion-ready [data-motion] {
  transition: opacity .75s var(--best-ease), translate .95s var(--best-ease), clip-path 1.15s var(--best-ease);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready [data-motion="rise"]:not(.is-revealed),
.motion-ready [data-motion="card"]:not(.is-revealed) { opacity: 0; translate: 0 34px; }
.motion-ready [data-motion="card"] { transition-duration: .9s, 1.1s, 1.1s; }
.motion-ready [data-motion="label"]:not(.is-revealed) { opacity: 0; translate: 0 12px; }
.motion-ready [data-motion="label"] { position: relative; }
.motion-ready [data-motion="label"]::after {
  content: ""; position: absolute; top: calc(100% + 8px); left: 0; width: 32px; height: 2px;
  background: #d8b56c; transform: scaleX(0); transform-origin: left;
  transition: transform .85s var(--best-ease) .2s;
}
.motion-ready [data-motion="label"].sc_align_center::after { left: calc(50% - 16px); transform-origin: center; }
.motion-ready [data-motion="label"].is-revealed::after { transform: scaleX(1); }
.best-word-mask { display: inline-block; clip-path: inset(-8% -6% -12%); vertical-align: baseline; }
.best-word { display: inline-block; transition: transform .95s var(--best-ease), opacity .8s var(--best-ease); transition-delay: var(--word-delay, 0ms); }
.motion-ready [data-motion="heading"]:not(.is-revealed) .best-word { transform: translateY(115%) rotate(3deg); opacity: 0; }
.motion-ready [data-motion="image"] { overflow: clip; }
.motion-ready [data-motion="image"]:not(.is-revealed) { clip-path: inset(0 0 100% 0 round 2px); }
.motion-ready [data-motion="image"].is-revealed { clip-path: inset(0 0 0 0 round 2px); }
.motion-ready [data-best-parallax] {
  transform: translateY(var(--photo-drift, 0px)) scale(1.09);
  transition: transform .55s cubic-bezier(.2, .65, .3, 1);
}
.motion-ready [data-motion="image"]:not(.is-revealed) [data-best-parallax] { transform: scale(1.18); }

/* Training cards: slight perspective and a pointer-following soft highlight. */
body.premium-theme [data-tilt] {
  transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
  transition: transform .7s var(--best-ease), box-shadow .7s var(--best-ease);
  isolation: isolate;
}
.best-card-light {
  position: absolute; inset: 0; pointer-events: none; z-index: 2; opacity: 0;
  background: radial-gradient(350px circle at var(--light-x, 50%) var(--light-y, 40%), #ffdf9c32, transparent 75%);
  box-shadow: inset 0 0 0 1px #d8b56c60;
  transition: opacity .6s ease;
}
body.premium-theme .sc_services_item_content_inner_bottom {
  transition: translate .65s var(--best-ease);
}
body.premium-theme .sc_services_item_number { transition: color .4s ease, translate .6s var(--best-ease); }
body.premium-theme .sc_services_item:focus-within .best-card-light { opacity: 1; }
body.premium-theme .sc_services_item:focus-within .sc_services_item_content_inner_bottom { translate: 0 -7px; }

/* Buttons keep their original hit areas and keyboard behavior. */
body.premium-theme [data-magnetic] {
  position: relative; overflow: hidden; isolation: isolate;
  translate: var(--magnet-x, 0px) var(--magnet-y, 0px);
  transition: translate .5s var(--best-ease), background-color .35s ease, box-shadow .4s ease;
}
body.premium-theme [data-magnetic] .best-button-sheen {
  position: absolute; inset: -80% -45%; width: auto; height: auto; pointer-events: none;
  background: linear-gradient(110deg, transparent 40%, #fff7dd55 50%, transparent 60%);
  transform: translateX(-65%); transition: transform .9s var(--best-ease);
}
body.premium-theme [data-magnetic]:is(:hover, :focus-visible) .best-button-sheen { transform: translateX(65%); }
body.premium-theme .best-cta > span:not(.best-button-sheen) { transition: transform .55s var(--best-ease); }
body.premium-theme .best-cta:is(:hover, :focus-visible) > span:not(.best-button-sheen) { transform: translate(3px, -3px); }
body.premium-theme [data-magnetic]:active { scale: .98; }
body.premium-theme .sc_button_default:focus-visible { box-shadow: 0 8px 28px #d8b56c28; }

/* Small details: link strokes, icon springs, search focus, gallery orbit. */
body.premium-theme .best-footer-nav a { width: fit-content; position: relative; transition: color .3s, translate .4s var(--best-ease); }
.best-footer-nav a::after {
  content: ""; position: absolute; left: 0; bottom: -3px; width: 100%; height: 1px;
  background: #d8b56c; transform: scaleX(0); transform-origin: right;
  transition: transform .45s var(--best-ease);
}
.best-footer-nav a:is(:hover, :focus-visible)::after { transform: scaleX(1); transform-origin: left; }
body.premium-theme button.best-copy svg { transition: transform .5s var(--best-ease), color .3s; }
body.premium-theme button.best-copy:is(:hover, :focus-visible) svg { transform: translateY(-2px) rotate(-9deg); color: #fff1c9; }
body.premium-theme .search_field { transition: border-color .35s, box-shadow .35s; }
body.premium-theme .search_field:focus { box-shadow: 0 2px 0 #d8b56c; }
body.premium-theme a[aria-label="Explore Best GYM gallery"] {
  position: relative; transition: transform .6s var(--best-ease), box-shadow .6s var(--best-ease);
}
.best-gallery-orbit {
  position: absolute; inset: -10px; border: 1px solid #d8b56c70; border-radius: 50%;
  pointer-events: none; transition: transform .8s var(--best-ease), border-color .5s;
}
.best-gallery-orbit::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #d8b56c; top: 12%; left: 12%; }
body.premium-theme a[aria-label="Explore Best GYM gallery"]:is(:hover, :focus-visible) { transform: scale(1.07); box-shadow: 0 0 0 18px #d8b56c12; }
body.premium-theme a[aria-label="Explore Best GYM gallery"]:is(:hover, :focus-visible) .best-gallery-orbit { transform: rotate(140deg); border-color: #d8b56c; }
body.premium-theme .sc_icons_icon > span { display: inline-block; transition: transform .65s var(--best-ease); }
body.premium-theme .sc_icons_item:is(:hover, :focus-within) .sc_icons_icon > span { transform: translateY(-5px) rotate(-5deg); }
body.premium-theme .post_featured img { transition: transform 1.1s var(--best-ease), filter .8s; }
body.premium-theme .post_item:is(:hover, :focus-within) .post_featured img { transform: scale(1.055); filter: saturate(1.08); }
body.premium-theme .sc_layouts_logo img { transition: transform .65s var(--best-ease); }
body.premium-theme .sc_layouts_logo:is(:hover, :focus-visible) img { transform: skewX(-3deg) translateX(2px); }
body.premium-theme .trx_addons_scroll_to_top { transition: opacity .4s, transform .6s var(--best-ease), background-color .4s; }
body.premium-theme .trx_addons_scroll_to_top:hover { transform: translateY(-5px); }

/* Footer light stays behind content; it never intercepts a contact control. */
body.premium-theme .best-footer { isolation: isolate; }
.best-footer::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(600px circle at var(--light-x, 70%) var(--light-y, 10%), #d8b56c0e, transparent 75%);
  opacity: .6; transition: opacity .8s;
}
.best-footer.is-pointer-active::before { opacity: 1; }
.best-footer-intro, .best-footer-bottom { border-image: linear-gradient(90deg, #d8b56c55, #334036 65%, transparent) 1; }

/* Overlay contents arrive in a short sequence, after the original shell opens. */
@keyframes best-arrive { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }
@keyframes best-gallery-enter { from { opacity: 0; transform: translateY(25px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes best-photo-enter { from { clip-path: inset(0 0 100%); transform: scale(1.06); } to { clip-path: inset(0); transform: scale(1); } }
@keyframes best-notice-enter { from { opacity: 0; margin-bottom: -10px; } to { opacity: 1; margin-bottom: 0; } }
body.premium-theme .menu_mobile.opened :is(.sc_layouts_logo, nav li, .best-mobile-contacts .extra_item),
body.premium-theme .sc_layouts_panel_opened .best-panel > * { animation: best-arrive .75s var(--best-ease) both; animation-delay: .12s; }
body.premium-theme .menu_mobile.opened nav li:nth-child(2),
body.premium-theme .sc_layouts_panel_opened .best-panel > :nth-child(2) { animation-delay: .17s; }
body.premium-theme .menu_mobile.opened nav li:nth-child(3),
body.premium-theme .sc_layouts_panel_opened .best-panel > :nth-child(3) { animation-delay: .22s; }
body.premium-theme .menu_mobile.opened nav li:nth-child(4),
body.premium-theme .sc_layouts_panel_opened .best-panel > :nth-child(4) { animation-delay: .27s; }
body.premium-theme .menu_mobile.opened nav li:nth-child(5),
body.premium-theme .sc_layouts_panel_opened .best-panel > :nth-child(n+5) { animation-delay: .32s; }
body.premium-theme .menu_mobile.opened .best-mobile-contacts .extra_item { animation-delay: .36s; }
body.premium-theme .mfp-ready .best-gallery { animation: best-gallery-enter .7s var(--best-ease) both; }
body.premium-theme .mfp-ready .best-gallery figure { animation: best-arrive .8s var(--best-ease) both; }
body.premium-theme .mfp-ready .best-gallery img { animation: best-photo-enter 1s var(--best-ease) both; }
body.premium-theme .mfp-ready .best-gallery figure:nth-child(2),
body.premium-theme .mfp-ready .best-gallery figure:nth-child(2) img { animation-delay: .07s; }
body.premium-theme .mfp-ready .best-gallery figure:nth-child(3),
body.premium-theme .mfp-ready .best-gallery figure:nth-child(3) img { animation-delay: .14s; }
body.premium-theme .mfp-ready .best-gallery figure:nth-child(4),
body.premium-theme .mfp-ready .best-gallery figure:nth-child(4) img { animation-delay: .21s; }
.best-copy-notice { animation: best-notice-enter .4s var(--best-ease) both; }

@media (hover: hover) and (pointer: fine) {
  body.premium-theme [data-tilt].is-pointer-active { box-shadow: 0 18px 35px -24px #11191599; }
  .is-pointer-active > .best-card-light { opacity: 1; }
  body.premium-theme .sc_services_item:hover .sc_services_item_content_inner_bottom { translate: 0 -9px; }
  body.premium-theme .sc_services_item:hover .sc_services_item_number { color: #d8b56c; translate: 4px 0; }
  body.premium-theme .best-footer-nav a:hover { translate: 3px 0; }
}
@media (max-width: 767px) {
  .motion-ready [data-motion] { transition-delay: 0ms; transition-duration: .65s; }
  .motion-ready [data-motion="rise"]:not(.is-revealed), .motion-ready [data-motion="card"]:not(.is-revealed) { translate: 0 20px; }
  .best-word { transition-duration: .7s; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.premium-theme *, body.premium-theme *::before, body.premium-theme *::after {
    animation-duration: .01ms !important; animation-delay: 0ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; transition-delay: 0ms !important;
  }
  .motion-ready [data-motion] { opacity: 1 !important; translate: none !important; clip-path: none !important; }
  .motion-ready .best-word { opacity: 1 !important; transform: none !important; }
  .motion-ready [data-best-parallax], body.premium-theme [data-tilt] { transform: none !important; }
  body.premium-theme [data-magnetic] { translate: none !important; }
  .best-gallery-orbit { display: none; }
}
