/*
 * AI Site Architect — Product Detail Visual V3
 * Loaded after every legacy profile. Scoped to approved product-detail pages.
 * Presentation only: no Elementor IDs, content, links, forms or page state.
 */

body.asa-product-detail-v3 {
    --asa-v3-navy: #092653;
    --asa-v3-blue: #0873ee;
    --asa-v3-copy: #435b79;
    --asa-v3-page: #f4f8fc;
    --asa-v3-ice: #edf6fd;
    --asa-v3-line: rgba(32, 95, 170, .10);
    overflow-x: clip;
    background: var(--asa-v3-page);
}

/* Hero: canonical template and deterministic imported-draft structures. */
body.asa-product-detail-v3 .asa-hero-section,
body.asa-product-detail-v3 .asa-v292-hero {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 40px 32px 72px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 76% 18%, rgba(80, 157, 230, .13), transparent 32%),
        linear-gradient(132deg, #eff7fe 0%, #e7f2fc 58%, #f7fbff 100%) !important;
}

body.asa-product-detail-v3 .asa-hero-section > .e-con-inner,
body.asa-product-detail-v3 .asa-hero-section > .elementor-container,
body.asa-product-detail-v3 .asa-v292-hero-inner {
    width: 100% !important;
    max-width: 1320px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 46fr) minmax(0, 54fr) !important;
    align-items: center !important;
    gap: clamp(46px, 4vw, 60px) !important;
}

/* Canonical Elementor flex-container variant (no generated .e-con-inner). */
body.asa-product-detail-v3 .asa-hero-section.e-con:not(.asa-v292-hero) {
    display: grid !important;
    grid-template-columns: minmax(0, 46fr) minmax(0, 54fr) !important;
    align-items: center !important;
    gap: clamp(46px, 4vw, 60px) !important;
}

body.asa-product-detail-v3 .asa-hero-copy-column,
body.asa-product-detail-v3 .asa-hero-section .e-con:has(.asa-hero-title),
body.asa-product-detail-v3 .asa-hero-section .elementor-column:has(.asa-hero-title),
body.asa-product-detail-v3 .asa-v292-hero-copy {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
}

body.asa-product-detail-v3 .asa-hero-title {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 0 19px !important;
}

body.asa-product-detail-v3 .asa-hero-title .elementor-heading-title {
    margin: 0 !important;
    color: var(--asa-v3-navy) !important;
    font-size: clamp(46px, 3.45vw, 54px) !important;
    font-weight: 780 !important;
    line-height: 1.08 !important;
    letter-spacing: -.028em !important;
}

body.asa-product-detail-v3 .asa-hero-subtitle {
    width: 100% !important;
    max-width: 570px !important;
    margin: 0 0 28px !important;
}

body.asa-product-detail-v3 .asa-hero-subtitle,
body.asa-product-detail-v3 .asa-hero-subtitle p {
    color: var(--asa-v3-copy) !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
}

body.asa-product-detail-v3 .asa-hero-section .elementor-widget-button,
body.asa-product-detail-v3 .asa-v292-hero-copy .elementor-widget-button {
    width: auto !important;
    margin: 0 !important;
    align-self: flex-start !important;
}

body.asa-product-detail-v3 .asa-hero-section .elementor-button,
body.asa-product-detail-v3 .asa-v292-hero-copy .elementor-button {
    min-height: 48px !important;
    padding: 14px 29px !important;
    font-size: 15px !important;
    line-height: 20px !important;
    box-shadow: 0 10px 24px rgba(8, 104, 232, .20) !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

body.asa-product-detail-v3 .asa-hero-section .elementor-button:hover,
body.asa-product-detail-v3 .asa-v292-hero-copy .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 28px rgba(8, 104, 232, .25) !important;
}

body.asa-product-detail-v3 .asa-hero-media-column,
body.asa-product-detail-v3 .asa-hero-section .e-con:has(.asa-hero-image),
body.asa-product-detail-v3 .asa-hero-section .elementor-column:has(.asa-hero-image),
body.asa-product-detail-v3 .asa-v292-hero-media {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: #fff !important;
    border: 1px solid var(--asa-v3-line) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 40px rgba(17, 52, 94, .14) !important;
}

body.asa-product-detail-v3 .asa-hero-image,
body.asa-product-detail-v3 .asa-hero-image .elementor-widget-container,
body.asa-product-detail-v3 .asa-hero-image a {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.asa-product-detail-v3 .asa-hero-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

body.asa-product-detail-v3 .asa-v292-hero-media,
body.asa-product-detail-v3 .asa-hero-media-column,
body.asa-product-detail-v3 .asa-hero-section .e-con:has(.asa-hero-image),
body.asa-product-detail-v3 .asa-hero-section .elementor-column:has(.asa-hero-image) {
    min-height: 330px !important;
}

/* Floating RFQ card. */
body.asa-product-detail-v3 .asa-quick-inquiry,
body.asa-product-detail-v3 .asa-v292-rfq {
    position: relative !important;
    z-index: 80 !important;
    width: calc(100% - 120px) !important;
    max-width: 1280px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: -36px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, .985) !important;
    border: 1px solid var(--asa-v3-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 42px rgba(17, 52, 94, .16) !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry > .e-con-inner,
body.asa-product-detail-v3 .asa-quick-inquiry > .elementor-container,
body.asa-product-detail-v3 .asa-quick-inquiry.e-con,
body.asa-product-detail-v3 .asa-v292-rfq-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 24px !important;
    display: grid !important;
    grid-template-columns: minmax(215px, .78fr) minmax(0, 3.15fr) !important;
    align-items: center !important;
    gap: 22px !important;
    background: transparent !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry .e-con:has(.asa-pricing-heading),
body.asa-product-detail-v3 .asa-quick-inquiry .elementor-column:has(.asa-pricing-heading),
body.asa-product-detail-v3 .asa-v292-rfq-heading {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
}

body.asa-product-detail-v3 .asa-pricing-heading {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.asa-product-detail-v3 .asa-pricing-heading .elementor-heading-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    color: var(--asa-v3-navy) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    text-align: left !important;
}

body.asa-product-detail-v3 .asa-pricing-heading .elementor-heading-title::before {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry .e-con:has(.fluentform),
body.asa-product-detail-v3 .asa-quick-inquiry .e-con:has(.frm-fluent-form),
body.asa-product-detail-v3 .asa-quick-inquiry .elementor-column:has(.fluentform),
body.asa-product-detail-v3 .asa-v292-rfq-form {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry form,
body.asa-product-detail-v3 .asa-quick-inquiry form > fieldset,
body.asa-product-detail-v3 .asa-v292-rfq-form form,
body.asa-product-detail-v3 .asa-v292-rfq-form form > fieldset {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry form > fieldset,
body.asa-product-detail-v3 .asa-v292-rfq-form form > fieldset {
    display: grid !important;
    grid-template-columns: minmax(130px, .9fr) minmax(160px, 1.08fr) minmax(190px, 1.18fr) minmax(158px, auto) !important;
    align-items: center !important;
    gap: 10px !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry .ff-t-container,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff-t-container {
    display: contents !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry .ff-el-group,
body.asa-product-detail-v3 .asa-quick-inquiry .ff-t-cell,
body.asa-product-detail-v3 .asa-quick-inquiry .ff-el-input--content,
body.asa-product-detail-v3 .asa-quick-inquiry .ff_submit_btn_wrapper,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff-el-group,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff-t-cell,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff-el-input--content,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff_submit_btn_wrapper {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry input,
body.asa-product-detail-v3 .asa-quick-inquiry select,
body.asa-product-detail-v3 .asa-quick-inquiry button,
body.asa-product-detail-v3 .asa-quick-inquiry .ff-btn-submit,
body.asa-product-detail-v3 .asa-v292-rfq-form input,
body.asa-product-detail-v3 .asa-v292-rfq-form select,
body.asa-product-detail-v3 .asa-v292-rfq-form button,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff-btn-submit {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: 6px !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry select,
body.asa-product-detail-v3 .asa-v292-rfq-form select {
    min-width: 190px !important;
    padding-right: 36px !important;
    text-overflow: clip !important;
}

body.asa-product-detail-v3 .asa-quick-inquiry button,
body.asa-product-detail-v3 .asa-quick-inquiry .ff-btn-submit,
body.asa-product-detail-v3 .asa-v292-rfq-form button,
body.asa-product-detail-v3 .asa-v292-rfq-form .ff-btn-submit {
    min-width: 158px !important;
    padding: 0 18px !important;
    white-space: nowrap !important;
}

/* Key Features: compact heading and four equal visual cards. */
body.asa-product-detail-v3 .asa-key-features-heading {
    position: relative !important;
    width: calc(100% - 48px) !important;
    max-width: 1280px !important;
    margin: 18px auto 25px !important;
    padding: 0 0 12px !important;
    text-align: center !important;
}

body.asa-product-detail-v3 .asa-key-features-heading .elementor-heading-title {
    margin: 0 !important;
    color: var(--asa-v3-navy) !important;
    font-size: clamp(32px, 2.5vw, 37px) !important;
    font-weight: 740 !important;
    line-height: 1.16 !important;
}

body.asa-product-detail-v3 .asa-key-features-heading::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    width: 42px !important;
    height: 3px !important;
    transform: translateX(-50%) !important;
    border-radius: 999px !important;
    background: var(--asa-v3-blue) !important;
}

body.asa-product-detail-v3 .asa-feature-section {
    width: calc(100% - 48px) !important;
    max-width: 1280px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    background: transparent !important;
}

body.asa-product-detail-v3 .asa-feature-section.e-con,
body.asa-product-detail-v3 .asa-feature-section > .e-con-inner,
body.asa-product-detail-v3 .asa-feature-section > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
}

body.asa-product-detail-v3 .asa-feature-section .e-con:has(.asa-feature-card):not(.asa-feature-card),
body.asa-product-detail-v3 .asa-feature-section .elementor-row:has(.asa-feature-card),
body.asa-product-detail-v3 .asa-feature-section .elementor-container:has(.asa-feature-card),
body.asa-product-detail-v3 .asa-feature-section .asa-feature-grid-bridge {
    display: contents !important;
}

/* Elementor boxed bridge containers add another flex wrapper. Flatten both layers. */
body.asa-product-detail-v3 .asa-feature-section .asa-feature-grid-bridge > .e-con-inner,
body.asa-product-detail-v3 .asa-feature-section .asa-feature-grid-bridge > .elementor-container,
body.asa-product-detail-v3 .asa-layout-grid-bridge,
body.asa-product-detail-v3 .asa-layout-grid-bridge > .e-con-inner,
body.asa-product-detail-v3 .asa-layout-grid-bridge > .elementor-container {
    display: contents !important;
}

body.asa-product-detail-v3 .asa-feature-card,
body.asa-product-detail-v3 .asa-feature-section .e-con:has(> .asa-feature-title),
body.asa-product-detail-v3 .asa-feature-section .elementor-column:has(.asa-feature-title) {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    min-width: 0 !important;
    min-height: 230px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 26px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    background: #fff !important;
    border: 1px solid var(--asa-v3-line) !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(17, 52, 94, .07) !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

body.asa-product-detail-v3 .asa-feature-card:hover,
body.asa-product-detail-v3 .asa-feature-section .e-con:has(> .asa-feature-title):hover,
body.asa-product-detail-v3 .asa-feature-section .elementor-column:has(.asa-feature-title):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 13px 30px rgba(17, 52, 94, .10) !important;
}

body.asa-product-detail-v3 .asa-feature-card::before,
body.asa-product-detail-v3 .asa-feature-section .e-con:has(> .asa-feature-title)::before,
body.asa-product-detail-v3 .asa-feature-section .elementor-column:has(.asa-feature-title)::before {
    content: "" !important;
    position: static !important;
    display: block !important;
    flex: 0 0 43px !important;
    width: 43px !important;
    height: 43px !important;
    margin: 0 0 15px !important;
    border: 1px solid rgba(11, 111, 240, .10) !important;
    border-radius: 50% !important;
    background-color: #edf5ff !important;
    background-position: center !important;
    background-size: 24px 24px !important;
    background-repeat: no-repeat !important;
}

/* Reuse the four approved icons already shipped by the legacy visual profile. */
body.asa-product-detail-v3 .asa-feature-card-1::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b6ff0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 17 5-5 3 3 7-8'/%3E%3Cpath d='M14 7h5v5'/%3E%3C/svg%3E") !important; }
body.asa-product-detail-v3 .asa-feature-card-2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b6ff0' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M5 6h14l-1.5 11h-11z'/%3E%3Cpath d='M8 6 7 17M12 6v11M16 6l1 11M5 11h14'/%3E%3C/svg%3E") !important; }
body.asa-product-detail-v3 .asa-feature-card-3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b6ff0' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 3 7 4v10l-7 4-7-4V7z'/%3E%3Cpath d='m5 7 7 4 7-4M12 11v10'/%3E%3C/svg%3E") !important; }
body.asa-product-detail-v3 .asa-feature-card-4::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b6ff0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5c0 4.8-2.8 8.2-7 10-4.2-1.8-7-5.2-7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E") !important; }

body.asa-product-detail-v3 .asa-feature-title {
    width: 100% !important;
    margin: 0 0 10px !important;
}

body.asa-product-detail-v3 .asa-feature-title .elementor-heading-title {
    margin: 0 !important;
    color: #0b55bc !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    text-align: left !important;
}

body.asa-product-detail-v3 .asa-feature-copy,
body.asa-product-detail-v3 .asa-feature-copy p {
    margin: 0 !important;
    color: #4a607d !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
    text-align: left !important;
}

/* First protected image-text module only. */
body.asa-product-detail-v3 .asa-first-module {
    width: calc(100% - 48px) !important;
    max-width: 1320px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto 56px !important;
    padding: 24px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--asa-v3-line) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(17, 52, 94, .07) !important;
}

body.asa-product-detail-v3 .asa-first-module.e-con,
body.asa-product-detail-v3 .asa-first-module > .e-con-inner,
body.asa-product-detail-v3 .asa-first-module > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr) !important;
    align-items: center !important;
    gap: clamp(42px, 4vw, 56px) !important;
}

body.asa-product-detail-v3 .asa-first-module-media,
body.asa-product-detail-v3 .asa-first-module .e-con:has(.asa-import-image),
body.asa-product-detail-v3 .asa-first-module .elementor-column:has(.asa-import-image) {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #edf6fd !important;
    border-radius: 16px !important;
}

body.asa-product-detail-v3 .asa-first-module-copy,
body.asa-product-detail-v3 .asa-first-module .e-con:has(.asa-module-title),
body.asa-product-detail-v3 .asa-first-module .elementor-column:has(.asa-module-title) {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(20px, 2.4vw, 34px) 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

body.asa-product-detail-v3 .asa-first-module .asa-import-image,
body.asa-product-detail-v3 .asa-first-module .asa-import-image .elementor-widget-container,
body.asa-product-detail-v3 .asa-first-module .asa-import-image a,
body.asa-product-detail-v3 .asa-first-module .asa-import-image img {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.asa-product-detail-v3 .asa-first-module .asa-import-image img {
    display: block !important;
    min-height: 0 !important;
    max-height: 390px !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

/* Conversion close: keep the existing CTA widgets and links, upgrade only presentation. */
body.asa-product-detail-v3 .asa-final-cta {
    position: relative !important;
    width: calc(100% - 48px) !important;
    max-width: 1320px !important;
    min-height: 0 !important;
    margin: 58px auto 36px !important;
    padding: 46px 32px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #eaf4ff 0%, #f9fcff 52%, #e5f1ff 100%) !important;
    border: 1px solid rgba(32, 95, 170, .10) !important;
    border-radius: 22px !important;
    box-shadow: 0 14px 38px rgba(17, 52, 94, .11) !important;
}

body.asa-product-detail-v3 .asa-final-cta > .e-con-inner,
body.asa-product-detail-v3 .asa-final-cta > .elementor-container,
body.asa-product-detail-v3 .asa-final-cta.e-con {
    width: 100% !important;
    max-width: 880px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    text-align: center !important;
}

body.asa-product-detail-v3 .asa-final-cta .elementor-heading-title {
    margin: 0 !important;
    color: var(--asa-v3-navy) !important;
    font-size: clamp(31px, 2.7vw, 40px) !important;
    font-weight: 760 !important;
    line-height: 1.18 !important;
}

body.asa-product-detail-v3 .asa-final-cta-copy {
    max-width: 720px !important;
    margin: 16px auto 24px !important;
}

body.asa-product-detail-v3 .asa-final-cta-copy,
body.asa-product-detail-v3 .asa-final-cta-copy p {
    color: var(--asa-v3-copy) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.asa-product-detail-v3 .asa-final-cta .elementor-button {
    min-height: 48px !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(8, 104, 232, .20) !important;
}

body.asa-product-detail-v3 .asa-first-module .asa-module-title {
    margin: 0 0 18px !important;
}

body.asa-product-detail-v3 .asa-first-module .asa-module-title .elementor-heading-title {
    color: var(--asa-v3-navy) !important;
    font-size: clamp(30px, 2.6vw, 38px) !important;
    font-weight: 740 !important;
    line-height: 1.18 !important;
}

body.asa-product-detail-v3 .asa-first-module .asa-module-copy,
body.asa-product-detail-v3 .asa-first-module .asa-module-copy p {
    margin: 0 !important;
    color: var(--asa-v3-copy) !important;
    font-size: 16px !important;
    line-height: 1.68 !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.asa-product-detail-v3 .asa-hero-section,
    body.asa-product-detail-v3 .asa-v292-hero { padding: 42px 26px 66px !important; }

    body.asa-product-detail-v3 .asa-hero-section > .e-con-inner,
    body.asa-product-detail-v3 .asa-hero-section > .elementor-container,
    body.asa-product-detail-v3 .asa-v292-hero-inner { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr) !important; gap: 30px !important; }

    body.asa-product-detail-v3 .asa-hero-section.e-con:not(.asa-v292-hero) { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr) !important; gap: 30px !important; }

    body.asa-product-detail-v3 .asa-hero-title .elementor-heading-title { font-size: clamp(36px, 4.7vw, 44px) !important; }
    body.asa-product-detail-v3 .asa-quick-inquiry,
    body.asa-product-detail-v3 .asa-v292-rfq { width: calc(100% - 48px) !important; margin-top: -24px !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry > .e-con-inner,
    body.asa-product-detail-v3 .asa-quick-inquiry > .elementor-container,
    body.asa-product-detail-v3 .asa-quick-inquiry.e-con,
    body.asa-product-detail-v3 .asa-v292-rfq-inner { grid-template-columns: minmax(0, 1fr) !important; gap: 13px !important; padding: 18px 22px !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry form > fieldset,
    body.asa-product-detail-v3 .asa-v292-rfq-form form > fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry select,
    body.asa-product-detail-v3 .asa-v292-rfq-form select { min-width: 0 !important; }

    body.asa-product-detail-v3 .asa-feature-section.e-con,
    body.asa-product-detail-v3 .asa-feature-section > .e-con-inner,
    body.asa-product-detail-v3 .asa-feature-section > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    body.asa-product-detail-v3 .asa-first-module-copy,
    body.asa-product-detail-v3 .asa-first-module .e-con:has(.asa-module-title),
    body.asa-product-detail-v3 .asa-first-module .elementor-column:has(.asa-module-title) { padding: 34px !important; }

    body.asa-product-detail-v3 .asa-final-cta { width: calc(100% - 48px) !important; margin-top: 50px !important; padding: 42px 28px !important; }
}

@media (max-width: 767px) {
    body.asa-product-detail-v3 .asa-hero-section,
    body.asa-product-detail-v3 .asa-v292-hero { padding: 28px 17px 32px !important; }

    body.asa-product-detail-v3 .asa-hero-section > .e-con-inner,
    body.asa-product-detail-v3 .asa-hero-section > .elementor-container,
    body.asa-product-detail-v3 .asa-v292-hero-inner { display: flex !important; flex-direction: column !important; gap: 24px !important; }

    body.asa-product-detail-v3 .asa-hero-section.e-con:not(.asa-v292-hero) { display: flex !important; flex-direction: column !important; gap: 24px !important; }

    body.asa-product-detail-v3 .asa-hero-media-column { min-height: 0 !important; }

    body.asa-product-detail-v3 .asa-hero-title { max-width: none !important; margin-bottom: 16px !important; }
    body.asa-product-detail-v3 .asa-hero-title .elementor-heading-title { font-size: clamp(31px, 9vw, 38px) !important; line-height: 1.1 !important; }
    body.asa-product-detail-v3 .asa-hero-subtitle { margin-bottom: 23px !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry,
    body.asa-product-detail-v3 .asa-v292-rfq { width: calc(100% - 28px) !important; margin: 16px auto 0 !important; border-radius: 14px !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry > .e-con-inner,
    body.asa-product-detail-v3 .asa-quick-inquiry > .elementor-container,
    body.asa-product-detail-v3 .asa-quick-inquiry.e-con,
    body.asa-product-detail-v3 .asa-v292-rfq-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 14px !important; padding: 17px !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry form > fieldset,
    body.asa-product-detail-v3 .asa-v292-rfq-form form > fieldset { grid-template-columns: minmax(0, 1fr) !important; gap: 11px !important; }

    body.asa-product-detail-v3 .asa-quick-inquiry input,
    body.asa-product-detail-v3 .asa-quick-inquiry select,
    body.asa-product-detail-v3 .asa-quick-inquiry button,
    body.asa-product-detail-v3 .asa-quick-inquiry .ff-btn-submit,
    body.asa-product-detail-v3 .asa-v292-rfq-form input,
    body.asa-product-detail-v3 .asa-v292-rfq-form select,
    body.asa-product-detail-v3 .asa-v292-rfq-form button,
    body.asa-product-detail-v3 .asa-v292-rfq-form .ff-btn-submit { width: 100% !important; min-width: 0 !important; }

    body.asa-product-detail-v3 .asa-key-features-heading { width: calc(100% - 28px) !important; margin: 28px auto 22px !important; }
    body.asa-product-detail-v3 .asa-key-features-heading .elementor-heading-title { font-size: 30px !important; }

    body.asa-product-detail-v3 .asa-feature-section { width: calc(100% - 28px) !important; margin-bottom: 28px !important; }
    body.asa-product-detail-v3 .asa-feature-section.e-con,
    body.asa-product-detail-v3 .asa-feature-section > .e-con-inner,
    body.asa-product-detail-v3 .asa-feature-section > .elementor-container { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }

    body.asa-product-detail-v3 .asa-feature-card,
    body.asa-product-detail-v3 .asa-feature-section .e-con:has(> .asa-feature-title),
    body.asa-product-detail-v3 .asa-feature-section .elementor-column:has(.asa-feature-title) { min-height: 0 !important; padding: 22px !important; }

    body.asa-product-detail-v3 .asa-first-module { width: calc(100% - 28px) !important; margin-bottom: 28px !important; }
    body.asa-product-detail-v3 .asa-first-module.e-con,
    body.asa-product-detail-v3 .asa-first-module > .e-con-inner,
    body.asa-product-detail-v3 .asa-first-module > .elementor-container { display: flex !important; flex-direction: column !important; }

    body.asa-product-detail-v3 .asa-first-module-media,
    body.asa-product-detail-v3 .asa-first-module .e-con:has(.asa-import-image),
    body.asa-product-detail-v3 .asa-first-module .elementor-column:has(.asa-import-image) { order: 1 !important; }
    body.asa-product-detail-v3 .asa-first-module-copy,
    body.asa-product-detail-v3 .asa-first-module .e-con:has(.asa-module-title),
    body.asa-product-detail-v3 .asa-first-module .elementor-column:has(.asa-module-title) { order: 2 !important; padding: 28px 22px !important; }
    body.asa-product-detail-v3 .asa-first-module .asa-module-title .elementor-heading-title { font-size: 28px !important; }

    body.asa-product-detail-v3 .asa-final-cta { width: calc(100% - 28px) !important; margin: 38px auto 24px !important; padding: 34px 20px !important; border-radius: 17px !important; }
    body.asa-product-detail-v3 .asa-final-cta .elementor-heading-title { font-size: 29px !important; }
    body.asa-product-detail-v3 .asa-final-cta-copy { margin: 14px auto 20px !important; }
}
