@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;1,400;1,500&family=Poppins:wght@400;500;600;700&display=swap');

/* ============================================================
   AC Product Description — scoped, WP-proof
   ============================================================ */
.ac-desc {
    font-family: "Montserrat", sans-serif !important;
    color: #333 !important;
    line-height: 1.6 !important;
    font-size: 16px !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.ac-desc *, .ac-desc *::before, .ac-desc *::after {
    box-sizing: border-box !important;
}
/* Reset only direct ac- elements, NOT third-party widgets */
.ac-desc [class^="ac-"], .ac-desc [class*=" ac-"] {
    margin: 0;
    padding: 0;
}
.ac-desc img:not([class*="atr-"]) {
    max-width: 100% !important;
    display: block !important;
}
.ac-desc button { font-family: inherit !important; }
.ac-desc p:last-child { margin-bottom: 0 !important; }

.ac-desc__inner {
    margin: 0 auto;
    padding: 0 !important;
}

/* ===== STICKY NAV ===== */
.ac-nav {
    position: relative;
    z-index: 11;
    background: rgba(255,255,255,0.97) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}
.ac-nav.ac-nav--fixed {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    top: var(--ac-nav-top, 165px) !important;
    z-index: 11 !important;
}
.ac-nav__spacer { display: none; }
.ac-nav__spacer--on { display: block !important; }

.ac-nav__track {
    margin: 0 auto;
    display: flex !important;
    gap: 4px !important;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 6px 16px !important;
    justify-content: flex-start !important;
}
/* Center links when they fit, scroll from left when they overflow */
.ac-nav__track::before,
.ac-nav__track::after {
    content: '' !important;
    flex: 1 0 0px !important;
}
.ac-nav__track::-webkit-scrollbar { display: none; }

.ac-nav__link {
    flex-shrink: 0 !important;
    padding: 5px 12px !important;
    border-radius: 16px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #666 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
    border: none !important;
    background: none !important;
    line-height: 1.3 !important;
    display: inline-block !important;
}

/* Scroll fade hint on right edge */
.ac-nav::after {
    content: '›' !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-right: 10px !important;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.97) 40%) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #555 !important;
    pointer-events: none !important;
    z-index: 2 !important;
    transition: opacity 0.3s !important;
}
.ac-nav.ac-nav--scrolled-end::after {
    opacity: 0 !important;
}

/* ===== ANNOUNCEMENT BARS — compact on mobile only ===== */
@media (max-width: 1023px) {
    .aura-announcement-bar.aura-ab-all.is-sticky {
        padding: 6px 0 !important;
        font-size: 10px !important;
        line-height: 1.3 !important;
    }
    .aura-announcement-bar.aura-ab-all.is-sticky .aura-ab-item {
        font-size: 10px !important;
        gap: 5px !important;
        padding: 0 28px !important;
    }
    .aura-announcement-bar.aura-ab-all.is-sticky .aura-ab-icon svg {
        width: 12px !important;
        height: 12px !important;
    }
    .aura-announcement-bar.aura-ab-all.is-sticky .aura-ab-emoji {
        font-size: 12px !important;
    }
    .aura-announcement-bar.aura-ab-all.is-sticky .aura-ab-text {
        letter-spacing: 0.01em !important;
    }
}
.ac-nav__link:hover { background: #f3f3f3 !important; color: #333 !important; }
.ac-nav__link.active { background: #1a1a1a !important; color: #fff !important; }

/* ===== SECTIONS ===== */
.ac-section { padding: 30px 0 !important; }
.ac-section + .ac-section { margin-top: 0 !important; }

/* ===== FEATURE BLOCK ===== */
.ac-feat {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    margin: 0 auto;
}
.ac-feat__icon { flex-shrink: 0 !important; }
.ac-feat__circle {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    border-radius: 50% !important;
    background: #f3f3f3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}
.ac-feat__circle svg { width: 32px !important; height: 32px !important; fill: none !important; stroke: #333 !important; stroke-width: 1.5 !important; }
.ac-feat__body { flex: 1 !important; min-width: 0 !important; }

.ac-feat__heading {
    font-family: "Poppins", sans-serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    margin-bottom: 20px !important;
}
.ac-accent {
    font-family: "Playfair Display", serif !important;
    font-style: italic !important;
    font-weight: 500 !important;
}
.ac-marker { background: linear-gradient(to top, #d4e0ed 40%, transparent 40%) !important; }

.ac-feat__text { font-size: 15.5px !important; line-height: 1.65 !important; margin-bottom: 0 !important; }
.ac-feat__intro { font-size: 13.5px !important; font-style: italic !important; color: #888 !important; line-height: 1.6 !important; margin-bottom: 14px !important; }

.ac-feat--bg {
    background: #f7f7f9 !important;
    padding: 32px !important;
    border-radius: 18px !important;
}
.ac-feat--bg .ac-feat__circle,
.ac-feat__circle--white { background: #fff !important; }

/* ===== NUMBERED LIST ===== */
.ac-list {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    counter-reset: benefit !important;
}
.ac-list li {
    margin-bottom: 14px !important;
    padding-left: 34px !important;
    position: relative !important;
    counter-increment: benefit !important;
}
.ac-list li::before {
    content: counter(benefit) !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #d4d4d8 !important;
    color: #555 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ===== IMAGE SLIDER ===== */
.ac-slider { position: relative !important; overflow: hidden !important; margin: 0 auto; }
.ac-slider__track { display: flex !important; gap: 14px !important; transition: transform 0.4s ease !important; }
.ac-slider__slide {
    flex: 0 0 calc(25% - 11px) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #f3f3f3 !important;
    aspect-ratio: 1/1 !important;
}
.ac-slider__slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ac-slider__ctrls { display: flex !important; justify-content: center !important; gap: 10px !important; margin-top: 18px !important; }
.ac-slider__btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 50% !important;
    border: 1px solid #d4d4d8 !important;
    background: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: all 0.2s !important;
}
.ac-slider__btn:hover { background: #f0f0f0 !important; border-color: #bbb !important; }
.ac-slider__btn svg { width: 15px !important; height: 15px !important; stroke: #555 !important; fill: none !important; stroke-width: 2 !important; }

/* ===== INGREDIENTS TABLE ===== */
.ac-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 15px !important;
    margin-top: 28px !important;
    background: #fff !important;
    border: 2px solid #e0e0e3 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}
.ac-table__hd {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #555 !important;
    background: #fafafa !important;
}
.ac-table__hd td { padding: 16px 24px !important; border-bottom: 2px solid #e0e0e3 !important; }
.ac-table__hd td:last-child { text-align: right !important; }
.ac-table__row td { padding: 14px 24px !important; border-bottom: 1px solid #f0f0f0 !important; vertical-align: top !important; }
.ac-table__row:last-child td { border-bottom: none !important; }
.ac-table__row td:last-child { text-align: right !important; font-weight: 600 !important; white-space: nowrap !important; }

/* ===== SURVEY ===== */
.ac-survey-hdr {
    background: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
}
.ac-survey-hdr__card {
    background: #fff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 20px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.ac-survey-hdr__logo {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}
.ac-survey-hdr__logo img { height: 30px !important; width: auto !important; }
.ac-survey-hdr__title {
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    margin-bottom: 6px !important;
    color: #1a1a1a !important;
}
.ac-survey-hdr__text { font-size: 13.5px !important; line-height: 1.55 !important; color: #666 !important; }

.ac-survey-group {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 16px !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
}
.ac-survey {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    overflow: visible !important;
    min-height: 0 !important;
    border: none !important;
    border-bottom: none !important;
    border-radius: 18px !important;
    background: #fff !important;
    padding: 32px 24px !important;
}
.ac-survey:last-child {
    border-bottom: none !important;
}
.ac-survey__left {
    flex: none !important;
    background: none !important;
    padding: 0 !important;
    border-right: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #333 !important;
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #e8e8eb !important;
    width: 100% !important;
}
.ac-survey__prefix { font-size: 11px !important; color: #333 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .8px !important; margin-bottom: 2px !important; }
.ac-survey__number { font-family: "Poppins", sans-serif !important; font-size: 34px !important; font-weight: 700 !important; line-height: 1 !important; color: #333 !important; }
.ac-survey__suffix { font-family: "Playfair Display", serif !important; font-style: italic !important; font-size: 12px !important; color: #333 !important; margin-top: 2px !important; }
.ac-survey__right {
    flex: 1 1 auto !important;
    background: none !important;
    padding: 20px 0 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
.ac-survey__pct { font-family: "Playfair Display", serif !important; font-style: italic !important; font-weight: 500 !important; font-size: 44px !important; margin-bottom: 14px !important; color: #333 !important; line-height: 1 !important; }
.ac-survey__text { font-size: 13px !important; line-height: 1.55 !important; color: #888 !important; }

/* ===== VIDEO CAROUSEL ===== */
.ac-vids {
    overflow: hidden !important;
    width: 100% !important;
    position: relative !important;
}
.ac-vids__track {
    display: flex !important;
    will-change: transform !important;
}
.ac-vids__item {
    flex-shrink: 0 !important;
    width: 190px !important;
    margin-right: 14px !important;
    aspect-ratio: 9/16 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #e8e8ec !important;
}
.ac-vids__item video,
.ac-vids__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    pointer-events: none !important;
}

/* ===== INGREDIENTS DETAIL ===== */
.ac-ingr { font-size: 15.5px !important; line-height: 1.65 !important; }
.ac-ingr__title { font-weight: 600 !important; margin-bottom: 16px !important; font-size: 15px !important; }
.ac-ingr__list { counter-reset: ingredient !important; }
.ac-ingr__group {
    margin-bottom: 22px !important;
    padding-left: 34px !important;
    position: relative !important;
    counter-increment: ingredient !important;
}
.ac-ingr__group::before {
    content: counter(ingredient) !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #d4d4d8 !important;
    color: #555 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.ac-ingr__name { font-weight: 600 !important; margin-bottom: 10px !important; }
.ac-ingr__group ul { list-style: disc !important; padding-left: 0 !important; }
.ac-ingr__group ul li { margin-bottom: 6px !important; }

/* ===== INFO BLOCKS ===== */
.ac-info {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    margin: 0 auto;
    padding: 0 !important;
}
.ac-info + .ac-info { border-top: none !important; margin-top: 40px !important; }
.ac-info__icon {
    flex-shrink: 0 !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-radius: 50% !important;
    background: #f3f3f3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}
.ac-info__icon svg { width: 28px !important; height: 28px !important; fill: none !important; stroke: #333 !important; stroke-width: 1.5 !important; }
.ac-info__body { flex: 1 !important; min-width: 0 !important; }
.ac-info__heading {
    font-family: "Poppins", sans-serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
    color: #333 !important;
}
.ac-info__text { font-size: 14.5px !important; line-height: 1.65 !important; color: #555 !important; }
.ac-info__text ul { list-style: disc outside !important; padding-left: 18px !important; margin-left: 0 !important; margin-top: 8px !important; }
.ac-info__text ul li { margin-bottom: 4px !important; }
.ac-info__capacity { margin-top: 8px !important; font-weight: 600 !important; color: #333 !important; font-size: 14px !important; }

/* ===== FAQ ===== */
.ac-faq {
    margin: 0 auto;
    background: #f7f7f9 !important;
    border-radius: 18px !important;
    padding: 36px 32px !important;
}
.ac-faq .ac-feat__heading { margin-bottom: 24px !important; }
.ac-faq__item { border-bottom: 1px solid #d8d8dc !important; }
.ac-faq__item:first-of-type { border-top: 1px solid #d8d8dc !important; }
.ac-faq__q {
    width: 100% !important;
    background: none !important;
    border: none !important;
    padding: 16px 0 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-align: left !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    line-height: 1.5 !important;
}
.ac-faq__q:hover { color: #555 !important; }
.ac-faq__icon {
    flex-shrink: 0 !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 50% !important;
    background: rgba(0,0,0,0.05) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s, background 0.3s !important;
    padding: 0 !important;
}
.ac-faq__icon svg { width: 14px !important; height: 14px !important; stroke: #888 !important; fill: none !important; stroke-width: 2.5 !important; }
.ac-faq__item.active .ac-faq__icon { transform: rotate(180deg) !important; background: rgba(0,0,0,0.08) !important; }
.ac-faq__a { max-height: 0; overflow: hidden !important; transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94) !important; }
.ac-faq__a-inner { padding: 0 0 16px !important; font-size: 14px !important; line-height: 1.7 !important; color: #666 !important; }

/* ===== SHOW ALL REVIEWS BUTTON ===== */
.ac-show-all-reviews:hover {
    background: #f5f5f5 !important;
    border-color: #999 !important;
}

/* ===== TRUSTMATE BOX ===== */
.ac-trustmate-box {
    background: #FAF7F5 !important;
    border-radius: 18px !important;
    padding: 32px !important;
}
/* Widen the TrustMate reviews widget inside the box */
.ac-trustmate-box .atr-widget {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
/* Keep header in one line */
.ac-trustmate-box .atr-widget-header {
    flex-wrap: nowrap !important;
    align-items: center !important;
}
.ac-trustmate-box .atr-header-right {
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
}
.ac-trustmate-box .atr-sort-toggle .atr-sort-label {
    white-space: nowrap !important;
}

/* ===== TRUSTMATE WIDGET PROTECTION ===== */
/* Let the TrustMate widget keep its own styles inside .ac-desc */
.ac-desc .atr-widget,
.ac-desc .atr-widget * {
    box-sizing: border-box;
}
.ac-desc .atr-widget img {
    display: inline !important;
    max-width: none !important;
}
.ac-desc .atr-widget .atr-reviews-masonry {
    margin-top: 16px !important;
}
.ac-desc .atr-widget .atr-star {
    width: auto !important;
    height: auto !important;
}
/* Protect slider widget too */
.ac-desc .atr-slider,
.ac-desc .atr-slider * {
    box-sizing: border-box;
}
.ac-desc .atr-slider img {
    display: inline !important;
    max-width: none !important;
}
.ac-desc .atr-slider .atr-star {
    width: auto !important;
    height: auto !important;
}
.ac-desc .atr-slider__count {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
}
.ac-desc .atr-slider__stats .atr-stars .atr-star {
    width: 16px !important;
    height: 16px !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .ac-desc { line-height: 1.75 !important; }
    .ac-desc__inner { padding: 0 !important; }
    .ac-section { padding: 24px 0 !important; }

    .ac-nav__track { padding: 5px 10px !important; }
    .ac-nav__link { font-size: 11px !important; padding: 4px 10px !important; }

    .ac-feat { flex-wrap: wrap !important; align-items: center !important; gap: 16px !important; }
    .ac-feat__body { display: contents !important; }
    .ac-feat__heading { flex: 1 !important; margin-bottom: 18px !important; font-size: 20px !important; }
    .ac-accent { font-size: 24px !important; }
    .ac-info__heading { font-size: 21px !important; margin-bottom: 12px !important; }
    .ac-feat__text, .ac-feat__intro, .ac-list, .ac-ingr, .ac-info__text { flex: 0 0 100% !important; }
    .ac-survey__text { flex: 0 1 auto !important; }
    .ac-feat__text, .ac-list, .ac-ingr, .ac-info__text { font-size: 15px !important; line-height: 1.75 !important; }
    .ac-feat__intro { font-size: 13px !important; line-height: 1.7 !important; }
    .ac-feat--bg { padding: 20px 16px !important; border-radius: 14px !important; }

    .ac-feat__circle { width: 52px !important; height: 52px !important; min-width: 52px !important; }
    .ac-feat__circle svg { width: 24px !important; height: 24px !important; }

    .ac-slider__slide { flex: 0 0 calc(50% - 7px) !important; aspect-ratio: 1/1 !important; }
    .ac-trustmate-box { padding: 20px 16px !important; border-radius: 14px !important; }
    .ac-trustmate-box .atr-widget-header { flex-wrap: wrap !important; }

    .ac-table { font-size: 13px !important; margin-top: 0 !important; }
    .ac-table__hd td, .ac-table__row td { padding: 12px 14px !important; }

    .ac-survey-group { grid-template-columns: 1fr !important; gap: 8px !important; }
    .ac-survey { padding: 16px 20px !important; flex-direction: row !important; text-align: left !important; border-radius: 12px !important; background: #fff !important; border: 1px solid #ebebeb !important; gap: 16px !important; align-items: center !important; }
    .ac-survey__left { margin-bottom: 0 !important; padding-bottom: 0 !important; border-bottom: none !important; border-right: 1px solid #e8e8eb !important; padding-right: 16px !important; flex: 0 0 auto !important; min-width: 65px !important; width: auto !important; }
    .ac-survey__right { align-items: flex-start !important; text-align: left !important; padding: 0 !important; }
    .ac-survey__number { font-size: 26px !important; }
    .ac-survey__prefix { font-size: 9px !important; }
    .ac-survey__suffix { font-size: 10px !important; }
    .ac-survey__pct { font-size: 26px !important; margin-bottom: 8px !important; }
    .ac-survey__text { font-size: 11.5px !important; max-width: none !important; line-height: 1.45 !important; }

    .ac-info { gap: 16px !important; padding: 0 !important; }
    .ac-info + .ac-info { margin-top: 32px !important; }
    .ac-info__icon { width: 48px !important; height: 48px !important; min-width: 48px !important; }
    .ac-info__icon svg { width: 22px !important; height: 22px !important; }

    .ac-product-info { flex-direction: column !important; }
    .ac-product-info__item { border-right: none !important; border-bottom: 1px solid #e8e8eb !important; padding: 14px 20px !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 16px !important; text-align: left !important; }
    .ac-product-info__item:last-child { border-bottom: none !important; }
    .ac-product-info__icon { margin-bottom: 0 !important; flex-shrink: 0 !important; width: 28px !important; height: 24px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
    .ac-product-info__icon svg { width: 22px !important; height: 22px !important; }
    .ac-product-info__label { margin-bottom: 2px !important; text-align: left !important; }
    .ac-product-info__value { font-size: 13px !important; text-align: left !important; }

    .ac-faq { padding: 24px 16px !important; border-radius: 14px !important; }
    .ac-faq__q { font-size: 14px !important; padding: 14px 0 !important; }
    .ac-faq__a-inner { font-size: 13.5px !important; line-height: 1.75 !important; }
    .ac-faq__icon { width: 26px !important; height: 26px !important; min-width: 26px !important; }
}

@media (max-width: 480px) {
    .ac-survey { padding: 14px 16px !important; gap: 14px !important; }
    .ac-survey__left { min-width: 55px !important; padding-right: 14px !important; }
    .ac-survey__number { font-size: 22px !important; }
    .ac-survey__pct { font-size: 22px !important; }
    .ac-survey__text { font-size: 10.5px !important; }
}

/* ===== RESEARCH PDF BUTTONS ===== */
.ac-research {
    margin-top: 24px;
}
.ac-research__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin-top: 20px !important;
    margin-bottom: 12px !important;
}
.ac-research__btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.ac-research__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px !important;
    border: 1px solid #d4d4d8;
    border-radius: 12px;
    background: #fff;
    color: #1a1a1a;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
}
.ac-research__btn svg {
    width: 18px;
    height: 18px;
}

/* Survey hdr card — mobile */
@media (max-width: 768px) {
    .ac-survey-hdr__card { padding: 16px 18px !important; border-radius: 12px !important; }
    .ac-survey-hdr__logo img { height: 24px !important; }
    .ac-survey-hdr__title { font-size: 13px !important; }
    .ac-survey-hdr__text { font-size: 12px !important; }
}

/* Research — mobile overrides (must be AFTER base styles) */
@media (max-width: 768px) {
    .ac-desc .ac-research__label { font-size: 10px !important; margin-bottom: 6px !important; color: #888 !important; }
    .ac-desc .ac-research__btns { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; }
    .ac-desc .ac-research__btn { font-size: 10px !important; padding: 6px 12px !important; gap: 5px !important; border-radius: 8px !important; }
    .ac-desc .ac-research__btn svg { width: 12px !important; height: 12px !important; }
}
.ac-research__btn:hover {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: #1a1a1a !important;
}
.ac-research__btn:hover svg { stroke: #fff !important; }
.ac-research__btn svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #555 !important;
    fill: none !important;
    stroke-width: 2 !important;
    transition: stroke 0.2s !important;
}

/* ===== PRODUCT INFO TABLE ===== */
.ac-product-info {
    display: flex !important;
    border: 2px solid #e0e0e3 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    background: #fff !important;
}
/* Tighter top padding — product-info visually needs less space above */
.ac-section--product-info { padding-top: 8px !important; }
.ac-product-info__item {
    flex: 1 !important;
    padding: 18px 16px !important;
    text-align: center !important;
    border-right: 1px solid #e8e8eb !important;
}
.ac-product-info__item:last-child {
    border-right: none !important;
}
.ac-product-info__icon {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
}
.ac-product-info__icon svg {
    width: 24px !important;
    height: 24px !important;
    stroke: #888 !important;
    fill: none !important;
    stroke-width: 1.5 !important;
}
.ac-product-info__label {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    color: #999 !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    text-align: center;
}
.ac-product-info__value {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1.4 !important;
}

/* ===== SURVEY DESKTOP POLISH ===== */
@media (min-width: 769px) {
    .ac-survey-group {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 18px !important;
    }
    .ac-survey {
        padding: 36px 24px !important;
    }
    .ac-survey__number {
        font-size: 38px !important;
    }
    .ac-survey__pct {
        font-size: 48px !important;
    }
    .ac-survey__text {
        font-size: 13px !important;
    }
}

/* ===== HIDE PRODUCT BADGES ===== */
.single-product .product-label.type-bubble,
li.product .onsale {
    display: none !important;
}

/* ==========================================================================
   PDF VIEWER MODAL
   ========================================================================== */
.apd-pdf-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.apd-pdf-modal.active {
    display: flex;
}

.apd-pdf-modal__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.apd-pdf-modal__container {
    position: relative;
    width: 100%;
    max-width: 900px;
    height: 90vh;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: apdModalIn 0.2s ease-out;
}

@keyframes apdModalIn {
    from { opacity: 0; transform: scale(0.96) translateY(10px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

.apd-pdf-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.apd-pdf-modal__title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.apd-pdf-modal__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.apd-pdf-modal__download {
    width: 36px;
    height: 36px;
    border: none;
    background: #f3f4f6;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    text-decoration: none;
    transition: all 0.15s ease;
}

.apd-pdf-modal__download:hover {
    background: #e5e7eb;
    color: #1a1a1a;
}

.apd-pdf-modal__close {
    width: 36px;
    height: 36px;
    border: none;
    background: #f3f4f6;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    transition: all 0.15s ease;
}

.apd-pdf-modal__close:hover {
    background: #fee2e2;
    color: #ef4444;
}

.apd-pdf-modal__body {
    flex: 1;
    overflow: hidden;
}

.apd-pdf-modal__iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Mobile */
@media (max-width: 640px) {
    .apd-pdf-modal {
        padding: 0;
    }

    .apd-pdf-modal__container {
        max-width: 100%;
        height: 100vh;
        border-radius: 0;
    }
}
