/* Free Elementor supplies layout primitives; this file owns the native commerce seam. */
.single-product #content .col-full{max-width:none;padding:0}
#primary.sportbot-native-product-main{float:none;width:100%;margin:0;padding:0}
.sportbot-native-product{--e-global-color-primary:#fff;--e-global-color-secondary:#000;--e-global-color-text:#7a7a7a;--e-global-color-accent:#fff201;--e-global-typography-primary-font-family:"Sportbot Montserrat";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Sportbot Montserrat";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Sportbot Montserrat";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Sportbot Montserrat";--e-global-typography-accent-font-size:35px;--e-global-typography-accent-font-weight:700;font-family:"Sportbot Montserrat",Montserrat,Arial,sans-serif;font-size:18px;color:#0a0a0a}
.sportbot-native-product .summary.entry-summary{float:none;width:100%;margin:0;padding:0}
.sportbot-native-product .summary h1.product_title{font-family:inherit;font-size:30px;font-weight:600;line-height:1;letter-spacing:0;margin:0 0 22px}
.sportbot-native-product .summary .price{font-size:24px;font-weight:400;line-height:1.5;margin:0 0 26px}
.sportbot-native-product .summary .woocommerce-product-details__short-description{font-size:16px;line-height:21px;margin-bottom:26px}
.sportbot-native-product .summary .woocommerce-product-details__short-description p{margin:0 0 14px}
.sportbot-native-product .summary .woocommerce-product-details__short-description ul{margin:0 0 20px 20px;padding:0}
.sportbot-native-product .summary .woocommerce-product-details__short-description li{margin:0}
.sportbot-native-product .summary .product_meta,.sportbot-native-product .summary .woocommerce-product-rating{display:none}
.sportbot-native-product .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important}
.sportbot-native-product .woocommerce-product-gallery__wrapper{margin:0}
.sportbot-native-product .summary form.cart{margin-bottom:0!important}
.sportbot-native-product .elementor-author-box a{color:inherit;text-decoration:none}
.sportbot-native-product .e-n-tabs-content>[role=tabpanel][hidden]{display:none!important}
.sportbot-native-product .e-n-tabs-content>[role=tabpanel]:not([hidden]){display:flex}
.sportbot-native-product details:not([open]) .e-opened,.sportbot-native-product details[open] .e-closed{display:none}
.sportbot-native-product a:focus-visible,.sportbot-native-product button:focus-visible,.sportbot-native-product summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:767px){.sportbot-native-product .summary .woocommerce-product-details__short-description{font-size:16px;line-height:1.3}.sportbot-native-product .summary h1.product_title{font-size:30px;line-height:1}.sportbot-native-product .summary .price{margin-bottom:24px}.sportbot-native-product .summary .woocommerce-product-details__short-description ul{margin-left:20px}}


/* Audience titles share the existing App-section scale selected in issue52. */
.sportbot-native-product { --sportbot-product-section-title: 35px; }
.sportbot-native-product .elementor-element.sportbot-product-film { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 720px; padding-block: 64px; background: #0a0a0a center / cover; }
.sportbot-native-product .sportbot-product-film > .sportbot-video-toggle { left: var(--sportbot-page-inset,24px); right: auto; }
.sportbot-product-film > .elementor-background-video-container { display: block; position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.sportbot-native-product .sportbot-product-film::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,transparent,rgba(10,10,10,.32)); pointer-events: none; }
.sportbot-native-product .sportbot-product-film-glass { width: min(100%,480px); margin-left: auto; padding: 32px; border: 1px solid #ffffff40; border-radius: 20px; background: rgba(10,10,10,.72); backdrop-filter: blur(12px) saturate(120%); -webkit-backdrop-filter: blur(12px) saturate(120%); color: #fff; }
.sportbot-native-product .sportbot-product-film-glass .sportbot-product-eyebrow { margin-bottom: 16px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sportbot-native-product .sportbot-product-film-glass h2, .sportbot-native-product .sportbot-product-specs h2 { margin: 0 0 24px; font-size: var(--sportbot-product-section-title); font-weight: 600; line-height: 1.1; color: inherit; }
.sportbot-native-product .sportbot-product-film-glass p { margin: 0; color: inherit; font-size: 16px; line-height: 1.5; }
.sportbot-native-product .sportbot-product-film-points { display: grid; gap: 24px; margin: 24px 0; padding: 24px 0; border-block: 1px solid #ffffff40; list-style: none; }
.sportbot-product-film-points li { margin: 0; }
.sportbot-native-product .sportbot-product-film-points h3 { margin: 0 0 8px; font-size: 20px; font-weight: 600; line-height: 1.25; color: #fff; }
.sportbot-native-product .sportbot-product-film-play { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border: 1px solid #fff; border-radius: 9999px; background: #fff; color: #0a0a0a; font-weight: 700; text-transform: uppercase; text-decoration: none; }
.sportbot-native-product .sportbot-product-film-review p { margin-top: 12px; font-size: 12px; }
.sportbot-native-product .elementor-element.sportbot-product-specs { display: block; min-height: 0 !important; height: auto; padding-block: clamp(48px,6vw,96px); background: #0a0a0a; color: #fff; }
.sportbot-product-specs-heading { max-width: 600px; margin-bottom: 40px; }
.sportbot-native-product .sportbot-product-specs-heading p { margin: 0; font-size: 18px; line-height: 1.5; color: #fff; }
.sportbot-product-spec-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 32px; margin: 0; }
.sportbot-product-spec-grid > div { display: flex; flex-direction: column; gap: 16px; padding-top: 24px; border-top: 1px solid #ffffff40; }
.sportbot-product-spec-grid dt { font-size: 16px; font-weight: 400; line-height: 1.5; }
.sportbot-product-spec-grid dd { margin: 0; font-size: 25px; font-weight: 600; line-height: 1.25; }
@media(max-width:1024px) {
  .sportbot-native-product { --sportbot-product-section-title: 23px; }
  .sportbot-native-product .elementor-element.sportbot-product-film { min-height: 640px; padding-block: 48px; }
  .sportbot-product-spec-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; }
}
@media(max-width:767px) {
  .sportbot-native-product { --sportbot-product-section-title: 25px; }
  .sportbot-native-product .elementor-element.sportbot-product-film { min-height: 0; padding-top: 280px; padding-bottom: 32px; background-size: auto 280px; background-repeat: no-repeat; background-position: top center; }
  .sportbot-native-product .sportbot-product-film > .elementor-background-video-container { height: 280px; }
  .sportbot-native-product .sportbot-product-film-glass { width: 100%; padding: 24px; margin-top: 24px; }
  .sportbot-product-spec-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  .sportbot-product-spec-grid > div:last-child { grid-column: 1 / -1; }
  .sportbot-product-spec-grid dd { font-size: 25px; }
}

/* Keep Tennis films visually unobstructed while retaining keyboard playback recovery. */
.sportbot-product-benefits--ambient .sportbot-video-toggle:not(:focus-visible), .sportbot-product-film--plain > .sportbot-video-toggle:not(:focus-visible) { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.sportbot-native-product .elementor-element.sportbot-product-film--plain { min-height: 669px; background-size: cover; background-position: center; }
/* Both machine films are widescreen; match their frame before media loads to avoid side cropping. */
@media(max-width:1024px) {
  .sportbot-native-product.elementor .elementor-element.sportbot-product-film--plain { min-height: 0; height: auto; aspect-ratio: 16 / 9; padding-block: 0; background-size: contain; background-repeat: no-repeat; }
  .sportbot-native-product .sportbot-product-film--plain > .elementor-background-video-container { height: 100%; }
  .sportbot-native-product .sportbot-product-film--plain video.sportbot-native-background-video { object-fit: contain; }
}

/* Keep machine-page audience subjects inside stable frames instead of stretching to copy height. */
body.single-product .sportbot-native-product.elementor.elementor-location-single .sportbot-product-audience.elementor-element .e-n-tabs-content > [role="tabpanel"].e-active [data-sportbot-audience-role].elementor-widget-video {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  align-self: start !important;
}
body.single-product .sportbot-native-product.elementor.elementor-location-single .sportbot-product-audience.elementor-element .e-n-tabs-content > [role="tabpanel"].e-active [data-sportbot-audience-role].elementor-widget-video :is(.elementor-wrapper,.elementor-custom-embed-image-overlay) {
  position: absolute;
  inset: 0;
  min-height: 0 !important;
  background-position: center !important;
}
body.single-product .sportbot-native-product.elementor.elementor-location-single .sportbot-product-audience.elementor-element[data-sportbot-audience-sport="tennis"] .e-n-tabs-content > [role="tabpanel"].e-active [data-sportbot-audience-role="players"].elementor-widget-video .elementor-custom-embed-image-overlay {
  background-position: 80% 62% !important;
  object-position: 80% 62% !important;
}

/* The original Padel portrait needs an upper focal point to retain the player's head and feet. */
body.single-product .sportbot-native-product.elementor.elementor-location-single .sportbot-product-audience.elementor-element[data-sportbot-audience-sport="padel"] .e-n-tabs-content > [role="tabpanel"].e-active [data-sportbot-audience-role="players"].elementor-widget-video .elementor-custom-embed-image-overlay {
  background-position: center 10% !important;
  object-position: center 10% !important;
}

.sportbot-native-product img.sportbot-audience-photo {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Content height replaces the builder's fixed floor; one section owns the transition gap. */
.sportbot-native-product.elementor .elementor-element.sportbot-product-audience {
  min-height: 0;
  padding-bottom: clamp(48px, 5vw, 80px);
}
.sportbot-native-product.elementor .sportbot-product-audience + .elementor-element.elementor-element-19ba52d {
  padding-top: 0;
}
