/* AirEvo semantic radius system.
 * Only visible surfaces receive the shared 8px radius. Text, ordinary layout
 * wrappers, media overlays and full-width sections deliberately stay square.
 */
:root {
  --airevo-product-radius: 8px;
}

/* Homepage: cards, framed media, controls and compact information surfaces. */
html body.page-home.page-home.page-home .av-home.av-home.av-home :is(
  .av-hero.av-hero-carousel,
  .av-hero-callout,
  .av-button,
  .av-hero__microproof > span,
  .av-benefits,
  .av-icon,
  .av-intro__visual,
  .av-spec,
  .av-bento > article,
  .av-process__tab,
  .av-process__stage,
  .av-process__stage > img,
  .av-use__card,
  .av-compare__card,
  .av-compare__brand,
  .av-compare__brand > span,
  .av-story,
  .av-story__identity,
  .av-final__media,
  .av-final__media > figure
) {
  border-radius: var(--airevo-product-radius) !important;
}

html body.page-home.page-home.page-home .av-home.av-home.av-home :is(
  .av-hero.av-hero-carousel,
  .av-intro__visual,
  .av-bento > article,
  .av-process__stage,
  .av-use__card,
  .av-compare__card,
  .av-story,
  .av-final__media,
  .av-final__media > figure
) {
  overflow: hidden;
}

/* Full-width sections and internal positioning layers are not cards. */
html body.page-home.page-home.page-home .av-home.av-home.av-home :is(
  .av-section,
  .av-intro,
  .av-bento,
  .av-process,
  .av-use,
  .av-compare,
  .av-final,
  .av-hero-carousel__track,
  .av-hero-carousel__slide,
  .av-hero-carousel__media,
  .av-hero-carousel__shade,
  .av-hero__inner,
  .av-hero__copy,
  .av-hero__actions,
  .av-hero__microproof,
  .av-benefit,
  .av-intro__copy,
  .av-process__content,
  .av-use__grid,
  .av-compare__head,
  .av-story__copy,
  .av-story footer
) {
  border-radius: 0 !important;
}

/* Product purchase area: visible gallery/control surfaces only. */
html body.page-product.page-product.page-product .product-info.product-info.product-info :is(
  .product-image img,
  .product-gallery img,
  .swiper-slide img,
  .product-rating-jump,
  .stock-and-sku,
  .variable-info > div,
  .variable-info span,
  .quantity-wrap,
  .product-btns .btn,
  .btn-buy-now,
  .btn-add-to-cart,
  button
) {
  border-radius: var(--airevo-product-radius) !important;
}

html body.page-product.page-product.page-product #product-top#product-top#product-top :is(
  #zoom,
  .product-image .swiper-slide
) {
  border-radius: var(--airevo-product-radius) !important;
}

html body.page-product.page-product.page-product .product-description.product-description.product-description :is(
  .nav-tabs,
  .nav-tabs .nav-link
) {
  border-radius: var(--airevo-product-radius) !important;
}

/* Story section roots, grids, rows and text wrappers are layout—not surfaces. */
html body.page-product.page-product.page-product #product-description#product-description#product-description .airevo-sync.airevo-sync.airevo-sync :is(
  section,
  .section,
  .container,
  .w-container,
  .w-layout-grid,
  .text-wrap,
  .row,
  .row2,
  .prod-col1,
  .prod-col2,
  .comparison-col1,
  .comparison-col2,
  .accordion-container,
  .faq-content-text,
  .heading---light,
  .div-block-5
) {
  border-radius: 0 !important;
}

/* Product story: cards, framed imagery, badges, CTAs, review and FAQ surfaces. */
html body.page-product.page-product.page-product #product-description#product-description#product-description .airevo-sync.airevo-sync.airevo-sync :is(
  .w-layout-cell.cell,
  .w-layout-cell.cell-2,
  .product-bg,
  .hero---review,
  .text-block-4,
  .cta-group,
  .cta-button,
  .scarcity-group---dark,
  .feat,
  .container-6,
  .column-1,
  .column-2,
  .column-3,
  .feature,
  .feature > img,
  .image-10,
  .container-6 > .image-11,
  .drone-feature,
  .more-features .div-block-5 > .heading-3,
  .img-wrap1,
  .img-wrap2,
  .img-wrap1 > img,
  .img-wrap2 > img,
  .container-16,
  .container-16 > .table,
  .step-wrap,
  .steps .heading-5,
  .steps .image-18,
  .guarantee .div-block-11,
  .guarantee .cta-group,
  .reviews .grid,
  .fc-featured-review,
  .container-13,
  .container-13 .div-block-14,
  .container-13 .image-28,
  .text-block-17,
  .bullet---item,
  .bullet,
  [class^="faq-item-"],
  .airevo-marketing-disclosure,
  .image-56
) {
  border-radius: var(--airevo-product-radius) !important;
}

html body.page-product.page-product.page-product #product-description#product-description#product-description .airevo-sync.airevo-sync.airevo-sync :is(
  .product-bg,
  .container-6,
  .feature,
  .drone-feature,
  .img-wrap1,
  .img-wrap2,
  .container-16,
  .container-16 > .table,
  .step-wrap,
  .guarantee .div-block-11,
  .reviews .grid,
  .fc-featured-review,
  .container-13,
  .container-13 .div-block-14,
  [class^="faq-item-"]
) {
  overflow: hidden;
}

/* Keep controls and artwork whose intended geometry is circular. */
html body.page-home.page-home.page-home .av-home.av-home.av-home :is(
  .av-kicker__dot,
  .av-avatar-stack img,
  .av-orbit,
  .av-process__ring,
  .av-process__tab > span,
  .av-use__card span,
  .av-story footer img,
  .av-hero-carousel__arrow,
  .av-hero-carousel__dot,
  .av-hero__microproof i
),
html body.page-product.page-product.page-product :is(
  .product-info.product-info.product-info,
  .product-description.product-description.product-description
) :is(
  input[type="radio"],
  .rounded-circle,
  .swiper-pagination-bullet,
  .green-dot,
  .image-22,
  .image-23
) {
  border-radius: 50% !important;
}

/* Decorative circles are pseudo-elements and never become rounded squares. */
html body.page-home.page-home.page-home .av-home.av-home.av-home .av-process__ring::after,
html body.page-product.page-product.page-product .product-description.product-description.product-description .heading---light::before,
html body.page-product.page-product.page-product .product-description.product-description.product-description .product-bg::after,
html body.page-product.page-product.page-product .product-description.product-description.product-description .column-2::before,
html body.page-product.page-product.page-product .product-description.product-description.product-description .column-2::after,
html body.page-product.page-product.page-product .product-description.product-description.product-description .container-16 .prod-col2 > .row::before,
html body.page-product.page-product.page-product .product-description.product-description.product-description .container-16 .prod-col2 > .col-heading > .row2::before {
  border-radius: 50% !important;
}

/* Mobile hero exception: the copy is a floating glass card; the banner media
 * itself remains square. This intentionally overrides the general hero card. */
@media (max-width: 767px) {
  html body.page-home.page-home.page-home .av-home.av-home.av-home .av-hero.av-hero-carousel {
    border-radius: 0 !important;
  }

  html body.page-home.page-home.page-home .av-home.av-home.av-home .av-hero.av-hero-carousel :is(
    .av-hero-carousel__slide,
    .av-hero-carousel__media,
    .av-hero-carousel__media picture,
    .av-hero-carousel__media img
  ) {
    border-radius: 0 !important;
  }

  html body.page-home.page-home.page-home .av-home.av-home.av-home .av-hero.av-hero-carousel .av-shell.av-hero__inner {
    border-radius: var(--airevo-product-radius) !important;
  }
}
