/*
 * GoodHomeTime Article Style Pro
 * Palette:
 * Forest: #173D2B
 * Deep Forest: #102E21
 * Sage: #EAF1E8
 * Warm Beige: #F7F1E6
 * Fire Orange: #E66A2C
 * Amber: #F2A541
 * Ink: #1F2B24
 * Muted: #66736B
 * Border: #DCE5DD
 */

/* ==========================================================
   1. ARTICLE WRAPPER / TYPOGRAPHY
   ========================================================== */
.aauto-blog-wrap {
    --ght-forest: #173D2B;
    --ght-forest-dark: #102E21;
    --ght-sage: #EAF1E8;
    --ght-beige: #F7F1E6;
    --ght-orange: #E66A2C;
    --ght-amber: #F2A541;
    --ght-ink: #1F2B24;
    --ght-muted: #66736B;
    --ght-border: #DCE5DD;
    --ght-white: #FFFFFF;
    --ght-shadow: 0 10px 30px rgba(23, 61, 43, 0.08);

    color: var(--ght-ink);
    font-size: 18px;
    line-height: 1.78;
    max-width: 860px;
    margin: 0 auto;
    overflow-wrap: anywhere;
}

.aauto-blog-wrap * {
    box-sizing: border-box;
}

.aauto-blog-wrap p {
    margin: 0 0 1.25em;
}

.aauto-blog-wrap h2,
.aauto-blog-wrap h3,
.aauto-blog-wrap h4 {
    color: var(--ght-forest-dark);
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.aauto-blog-wrap h2 {
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    margin: 2.2em 0 .7em;
    padding-bottom: .42em;
    border-bottom: 2px solid var(--ght-sage);
}

.aauto-blog-wrap h3 {
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    margin: 1.65em 0 .55em;
}

.aauto-blog-wrap a {
    color: var(--ght-forest);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.aauto-blog-wrap a:hover {
    color: var(--ght-orange);
}

.aauto-blog-wrap ul,
.aauto-blog-wrap ol {
    margin: .8em 0 1.35em 1.2em;
}

.aauto-blog-wrap li {
    margin: .45em 0;
}

.aauto-blog-wrap img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

.aauto-blog-wrap figure {
    margin: 1.7em 0;
}

.aauto-blog-wrap figcaption {
    color: var(--ght-muted);
    font-size: .88rem;
    text-align: center;
    margin-top: .55em;
}

/* ==========================================================
   2. QUICK ANSWER
   ========================================================== */
.aauto-quick-answer {
    position: relative;
    background: linear-gradient(135deg, var(--ght-forest-dark), var(--ght-forest));
    color: #fff;
    border-radius: 18px;
    padding: 24px 26px;
    margin: 1.4em 0 1.8em;
    box-shadow: var(--ght-shadow);
    overflow: hidden;
}

.aauto-quick-answer:after {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    right: -45px;
    top: -55px;
    border-radius: 50%;
    background: rgba(242, 165, 65, .16);
}

.aauto-quick-answer p {
    margin: 0;
    color: #fff;
}

.aauto-qa-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    background: var(--ght-orange);
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 8px 11px;
    margin-bottom: 12px;
}

/* ==========================================================
   3. KEY TAKEAWAYS
   ========================================================== */
.aauto-takeaway-box {
    background: var(--ght-beige);
    border: 1px solid #E8DCC7;
    border-left: 5px solid var(--ght-orange);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 1.5em 0 1.8em;
}

.aauto-takeaway-label {
    display: block;
    color: var(--ght-forest-dark);
    font-weight: 800;
    margin-bottom: 10px;
    font-size: 1.05rem;
}

.aauto-takeaway-box ul {
    margin: 0;
    padding-left: 1.15em;
}

.aauto-takeaway-box li::marker {
    color: var(--ght-orange);
}

/* ==========================================================
   4. TIP / NOTE / WARNING
   ========================================================== */
.aauto-tip-box,
.aauto-note-box,
.aauto-warning-box {
    border-radius: 14px;
    padding: 20px 22px;
    margin: 1.45em 0;
}

.aauto-tip-box {
    background: #EEF6ED;
    border: 1px solid #D5E7D3;
    border-left: 5px solid #4F8A5B;
}

.aauto-note-box {
    background: #F6F8F5;
    border: 1px solid var(--ght-border);
    border-left: 5px solid #7A8F82;
}

.aauto-warning-box {
    background: #FFF4EA;
    border: 1px solid #F3D7BF;
    border-left: 5px solid var(--ght-orange);
}

.aauto-tip-label,
.aauto-note-label,
.aauto-warn-label {
    display: block;
    font-weight: 800;
    color: var(--ght-forest-dark);
    margin-bottom: 7px;
}

.aauto-warning-box .aauto-warn-label {
    color: #A84618;
}

.aauto-tip-box p:last-child,
.aauto-note-box p:last-child,
.aauto-warning-box p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   5. DID YOU KNOW
   ========================================================== */
.aauto-did-you-know {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    background: var(--ght-sage);
    border: 1px solid #D6E5D6;
    border-radius: 16px;
    padding: 20px 22px;
    margin: 1.5em 0;
}

.aauto-dyk-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ght-forest);
    color: #fff;
    font-weight: 900;
}

.aauto-dyk-label {
    display: block;
    color: var(--ght-forest-dark);
    font-weight: 800;
    margin-bottom: 5px;
}

.aauto-dyk-body p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   6. PRO TIPS
   ========================================================== */
.aauto-pro-tips {
    background: var(--ght-forest-dark);
    color: #fff;
    border-radius: 18px;
    padding: 22px 24px;
    margin: 1.5em 0;
}

.aauto-pro-tips-title {
    display: block;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
}

.aauto-pro-tips ul {
    margin-bottom: 0;
}

.aauto-pro-tips li::marker {
    color: var(--ght-amber);
}

/* ==========================================================
   7. PROS / CONS
   ========================================================== */
.aauto-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 1.5em 0;
}

.aauto-compare-col {
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--ght-border);
    background: #fff;
    box-shadow: 0 6px 18px rgba(23, 61, 43, .05);
}

.aauto-compare-col.good {
    border-top: 4px solid #4F8A5B;
}

.aauto-compare-col.bad {
    border-top: 4px solid var(--ght-orange);
}

.aauto-compare-title {
    display: block;
    font-weight: 850;
    color: var(--ght-forest-dark);
    margin-bottom: 8px;
}

/* ==========================================================
   8. DO / DON'T
   ========================================================== */
.aauto-dos-donts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 1.55em 0;
}

.aauto-dos,
.aauto-donts {
    border-radius: 16px;
    padding: 20px 22px;
}

.aauto-dos {
    background: #EDF7EE;
    border: 1px solid #D2E8D4;
}

.aauto-donts {
    background: #FFF1E8;
    border: 1px solid #F1D5C2;
}

.aauto-dos-title,
.aauto-donts-title {
    display: block;
    font-weight: 850;
    margin-bottom: 8px;
}

.aauto-dos-title { color: #2E6B3A; }
.aauto-donts-title { color: #A84618; }

/* ==========================================================
   9. CHECKLIST
   ========================================================== */
.aauto-checklist {
    background: #fff;
    border: 1px solid var(--ght-border);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 1.5em 0;
    box-shadow: var(--ght-shadow);
}

.aauto-checklist-title {
    display: block;
    color: var(--ght-forest-dark);
    font-weight: 850;
    margin-bottom: 10px;
}

.aauto-checklist ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.aauto-checklist li {
    position: relative;
    padding-left: 30px;
}

.aauto-checklist li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: var(--ght-sage);
    color: var(--ght-forest);
    font-weight: 900;
    font-size: 13px;
    display: grid;
    place-items: center;
}

/* ==========================================================
   10. STEPS
   ========================================================== */
.aauto-steps {
    display: grid;
    gap: 14px;
    margin: 1.5em 0;
}

.aauto-step {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
    border: 1px solid var(--ght-border);
    border-radius: 16px;
    background: #fff;
    padding: 18px 20px;
}

.aauto-step-num {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    background: var(--ght-orange);
    color: #fff;
    border-radius: 50%;
    font-weight: 900;
}

.aauto-step-body strong {
    display: block;
    color: var(--ght-forest-dark);
    margin: 2px 0 4px;
}

.aauto-step-body p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   11. TOOLS BOX
   ========================================================== */
.aauto-tools-box {
    background: var(--ght-beige);
    border: 1px solid #E8DCC7;
    border-radius: 16px;
    padding: 22px 24px;
    margin: 1.5em 0;
}

.aauto-tools-title {
    display: block;
    font-weight: 850;
    color: var(--ght-forest-dark);
    margin-bottom: 12px;
}

.aauto-tools-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.aauto-tool-tag {
    display: inline-flex;
    background: #fff;
    color: var(--ght-forest-dark);
    border: 1px solid #E1D7C6;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: .9rem;
    font-weight: 700;
}

/* ==========================================================
   12. COST BOX
   ========================================================== */
.aauto-cost-box {
    border: 1px solid var(--ght-border);
    border-radius: 16px;
    overflow: hidden;
    margin: 1.5em 0;
    background: #fff;
}

.aauto-cost-label {
    display: block;
    background: var(--ght-forest);
    color: #fff;
    font-weight: 850;
    padding: 12px 18px;
}

.aauto-cost-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-top: 1px solid var(--ght-border);
}

/* ==========================================================
   13. HIGHLIGHT
   ========================================================== */
.aauto-highlight {
    background: linear-gradient(135deg, var(--ght-orange), #C9521B);
    color: #fff;
    border-radius: 16px;
    padding: 22px 24px;
    margin: 1.6em 0;
}

.aauto-highlight-text {
    display: block;
    font-size: 1.15rem;
    line-height: 1.45;
    font-weight: 850;
}

.aauto-highlight-sub {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.88);
    font-size: .93rem;
}

/* ==========================================================
   14. INSPECTION / SAFETY ALERT
   ========================================================== */
.aauto-mechanic-box {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    border: 1px solid #F0D0BA;
    background: #FFF7F0;
    border-radius: 16px;
    padding: 20px 22px;
    margin: 1.55em 0;
}

.aauto-mechanic-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    background: var(--ght-orange);
    color: #fff;
    border-radius: 50%;
    font-weight: 900;
}

.aauto-mechanic-label {
    display: block;
    font-weight: 850;
    color: #A84618;
    margin-bottom: 5px;
}

.aauto-mechanic-body p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   15. SUMMARY
   ========================================================== */
.aauto-summary-box {
    background: var(--ght-sage);
    border: 1px solid #D4E3D4;
    border-radius: 16px;
    padding: 22px 24px;
    margin: 1.6em 0;
}

.aauto-summary-label {
    display: block;
    color: var(--ght-forest-dark);
    font-weight: 850;
    margin-bottom: 9px;
}

.aauto-summary-box ul {
    margin-bottom: 0;
}

/* ==========================================================
   16. TABLES
   ========================================================== */
.aauto-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--ght-border);
    border-radius: 16px;
    margin: 1.6em 0;
    background: #fff;
}

.aauto-table-wrap table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    margin: 0;
}

.aauto-table-wrap th,
.aauto-table-wrap td {
    padding: 14px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--ght-border);
}

.aauto-table-wrap th {
    background: var(--ght-forest-dark);
    color: #fff;
    font-size: .92rem;
    letter-spacing: .01em;
}

.aauto-table-wrap tbody tr:nth-child(even) {
    background: #F8FAF7;
}

/* ==========================================================
   17. NICHE CALLOUT
   ========================================================== */
.aauto-niche-callout {
    position: relative;
    background: linear-gradient(135deg, #F7F1E6, #EEF4EA);
    border: 1px solid #E0E4D9;
    border-radius: 18px;
    padding: 22px 24px;
    margin: 1.55em 0;
}

.aauto-niche-label {
    display: inline-block;
    color: var(--ght-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

/* ==========================================================
   18. PRODUCT / OPTION PICKS
   ========================================================== */
.aauto-product-picks {
    display: grid;
    gap: 14px;
    margin: 1.6em 0;
}

.aauto-product-pick {
    position: relative;
    background: #fff;
    border: 1px solid var(--ght-border);
    border-radius: 16px;
    padding: 20px 22px;
    box-shadow: 0 8px 22px rgba(23,61,43,.05);
}

.aauto-pick-badge {
    display: inline-block;
    border-radius: 999px;
    background: var(--ght-orange);
    color: #fff;
    padding: 5px 9px;
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 8px;
}

.aauto-product-pick strong {
    display: block;
    color: var(--ght-forest-dark);
    font-size: 1.05rem;
    margin-bottom: 4px;
}

.aauto-product-pick p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   19. WHO THIS FITS
   ========================================================== */
.aauto-fit-box {
    background: #fff;
    border: 1px solid var(--ght-border);
    border-radius: 18px;
    padding: 22px;
    margin: 1.6em 0;
}

.aauto-fit-title {
    display: block;
    font-weight: 850;
    color: var(--ght-forest-dark);
    margin-bottom: 12px;
}

.aauto-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.aauto-fit-card {
    border-radius: 14px;
    background: var(--ght-sage);
    padding: 16px;
}

.aauto-fit-card strong {
    color: var(--ght-forest-dark);
}

.aauto-fit-card p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   20. SPEC GRID
   ========================================================== */
.aauto-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 1.6em 0;
}

.aauto-spec-card {
    background: #fff;
    border: 1px solid var(--ght-border);
    border-radius: 14px;
    padding: 17px 18px;
}

.aauto-spec-card span {
    display: block;
    color: var(--ght-muted);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}

.aauto-spec-card strong {
    color: var(--ght-forest-dark);
}

/* ==========================================================
   21. RATING BARS
   ========================================================== */
.aauto-rating-bars {
    display: grid;
    gap: 12px;
    border: 1px solid var(--ght-border);
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    margin: 1.5em 0;
}

.aauto-rating-row {
    display: grid;
    grid-template-columns: minmax(110px, .7fr) minmax(120px, 1.5fr) 55px;
    gap: 12px;
    align-items: center;
}

.aauto-rating-track {
    height: 10px;
    border-radius: 999px;
    background: #E8EEE9;
    overflow: hidden;
}

.aauto-rating-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--ght-forest), var(--ght-orange));
}

/* ==========================================================
   22. VERDICT
   ========================================================== */
.aauto-verdict-box {
    background: var(--ght-forest-dark);
    color: #fff;
    border-radius: 18px;
    padding: 24px 26px;
    margin: 1.7em 0;
}

.aauto-verdict-label {
    display: block;
    color: var(--ght-amber);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: .8rem;
    margin-bottom: 8px;
}

.aauto-verdict-box p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   23. IMAGE PLACEHOLDER
   ========================================================== */
.aauto-img-placeholder {
    min-height: 180px;
    border: 2px dashed #BAC8BC;
    background: #F8FAF7;
    color: var(--ght-muted);
    border-radius: 16px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 25px;
    margin: 1.5em 0;
}

/* ==========================================================
   24. TABLE OF CONTENTS
   ========================================================== */
.aauto-toc,
.aauto-table-of-contents {
    background: #fff;
    border: 1px solid var(--ght-border);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 1.5em 0 1.8em;
}

.aauto-toc-title {
    font-weight: 850;
    color: var(--ght-forest-dark);
    margin-bottom: 8px;
}

.aauto-toc ul,
.aauto-table-of-contents ul {
    margin-bottom: 0;
}

/* ==========================================================
   25. FAQ ACCORDION
   ========================================================== */
.aauto-faq-wrap {
    display: grid;
    gap: 11px;
    margin: 1.5em 0 1.8em;
}

.aauto-faq-item {
    border: 1px solid var(--ght-border);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(23,61,43,.035);
}

.aauto-faq-q {
    position: relative;
    cursor: pointer;
    padding: 17px 52px 17px 18px;
    font-weight: 800;
    line-height: 1.45;
    color: var(--ght-forest-dark);
    user-select: none;
}

.aauto-faq-q:after {
    content: "+";
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ght-sage);
    color: var(--ght-forest);
    font-size: 1.15rem;
    font-weight: 900;
}

.aauto-faq-item.is-open .aauto-faq-q:after {
    content: "−";
    background: var(--ght-orange);
    color: #fff;
}

.aauto-faq-a {
    display: none;
    padding: 0 18px 18px;
    color: var(--ght-ink);
}

.aauto-faq-item.is-open .aauto-faq-a {
    display: block;
}

.aauto-faq-a p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   26. STAT STRIP
   ========================================================== */
.aauto-stat-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    margin: 1.5em 0;
}

.aauto-stat-item {
    background: var(--ght-forest-dark);
    color: #fff;
    border-radius: 15px;
    padding: 18px;
    text-align: center;
}

.aauto-stat-number {
    display: block;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--ght-amber);
}

.aauto-stat-desc {
    display: block;
    margin-top: 4px;
    font-size: .88rem;
    color: rgba(255,255,255,.88);
}

/* ==========================================================
   27. BUTTONS / CTA SAFETY
   ========================================================== */
.aauto-blog-wrap .aauto-btn,
.aauto-blog-wrap .aauto-cta,
.aauto-blog-wrap a.aauto-btn,
.aauto-blog-wrap a.aauto-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 10px;
    padding: 11px 18px;
    background: var(--ght-orange);
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 7px 16px rgba(230,106,44,.18);
    transition: transform .18s ease, box-shadow .18s ease;
}

.aauto-blog-wrap .aauto-btn:hover,
.aauto-blog-wrap .aauto-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(230,106,44,.23);
}

/* ==========================================================
   28. ACCESSIBILITY
   ========================================================== */
.aauto-blog-wrap :focus-visible {
    outline: 3px solid rgba(230,106,44,.35);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .aauto-blog-wrap *,
    .aauto-blog-wrap *:before,
    .aauto-blog-wrap *:after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* ==========================================================
   29. MOBILE
   ========================================================== */
@media (max-width: 767px) {
    .aauto-blog-wrap {
        font-size: 17px;
        line-height: 1.7;
    }

    .aauto-blog-wrap h2 {
        margin-top: 1.8em;
    }

    .aauto-quick-answer,
    .aauto-takeaway-box,
    .aauto-tip-box,
    .aauto-note-box,
    .aauto-warning-box,
    .aauto-pro-tips,
    .aauto-checklist,
    .aauto-tools-box,
    .aauto-verdict-box,
    .aauto-highlight,
    .aauto-summary-box,
    .aauto-niche-callout,
    .aauto-fit-box {
        padding: 18px;
        border-radius: 14px;
    }

    .aauto-compare,
    .aauto-dos-donts,
    .aauto-fit-grid,
    .aauto-spec-grid {
        grid-template-columns: 1fr;
    }

    .aauto-rating-row {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .aauto-step,
    .aauto-did-you-know,
    .aauto-mechanic-box {
        grid-template-columns: 38px 1fr;
        gap: 11px;
    }

    .aauto-step-num,
    .aauto-dyk-icon,
    .aauto-mechanic-icon {
        width: 38px;
        height: 38px;
    }

    .aauto-cost-row {
        flex-direction: column;
        gap: 4px;
    }
}

/* ==========================================================
   30. PRODUCT ROUNDUP COMPONENTS — v1.1.0
   ========================================================== */
.aauto-roundup-article .aauto-evaluation-note { background:#F6F8F5; border:1px solid var(--ght-border); border-left:5px solid var(--ght-forest); border-radius:16px; padding:20px 22px; margin:1.7em 0; }
.aauto-roundup-article .aauto-evaluation-note strong { display:block; color:var(--ght-forest-dark); margin-bottom:7px; }
.aauto-roundup-article .aauto-evaluation-note p:last-child { margin-bottom:0; }
.aauto-roundup-table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--ght-border); border-radius:16px; background:#fff; margin:1.4em 0 2em; box-shadow:0 8px 24px rgba(23,61,43,.06); }
.aauto-roundup-table { width:100%; min-width:700px; border-collapse:collapse; margin:0!important; }
.aauto-roundup-table th,.aauto-roundup-table td { padding:14px 15px; border-bottom:1px solid var(--ght-border); text-align:left; vertical-align:middle; }
.aauto-roundup-table th { background:var(--ght-forest-dark); color:#fff; font-size:.9rem; white-space:nowrap; }
.aauto-roundup-table tbody tr:nth-child(even) { background:#F8FAF7; }
.aauto-roundup-table tbody tr:hover { background:#F3F7F1; }
.aauto-table-product { min-width:220px; font-weight:800; }
.aauto-table-product a { text-decoration:none; color:var(--ght-forest-dark); }
.aauto-table-image { width:110px; text-align:center!important; }
.aauto-table-image img { width:82px; height:82px; object-fit:contain; background:#fff; border:1px solid var(--ght-border); border-radius:12px; padding:5px; }
.aauto-table-cta { min-width:130px; }
.aauto-table-button,.aauto-amazon-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border-radius:10px; padding:11px 16px; background:var(--ght-orange); color:#fff!important; text-decoration:none!important; font-weight:850; text-align:center; box-shadow:0 7px 16px rgba(230,106,44,.18); transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.aauto-table-button:hover,.aauto-amazon-button:hover { background:#C9531C; transform:translateY(-1px); box-shadow:0 10px 20px rgba(230,106,44,.24); }
.aauto-product-card { position:relative; background:#fff; border:1px solid var(--ght-border); border-radius:20px; padding:28px; margin:2em 0; box-shadow:0 12px 32px rgba(23,61,43,.08); overflow:hidden; }
.aauto-product-ribbon { display:inline-flex; align-items:center; background:var(--ght-forest); color:#fff; border-radius:999px; padding:7px 11px; font-size:.76rem; line-height:1; font-weight:900; letter-spacing:.04em; text-transform:uppercase; margin-bottom:12px; }
.aauto-product-ribbon.editor-choice { background:#8A5A24; }
.aauto-product-ribbon.best-value { background:var(--ght-orange); }
.aauto-product-title { margin-top:.15em!important; border:0!important; }
.aauto-product-title a { color:var(--ght-forest-dark); text-decoration:none; }
.aauto-product-image-wrap { display:flex; justify-content:center; align-items:center; min-height:260px; padding:18px; background:#FAFBF9; border:1px solid #EEF2ED; border-radius:16px; margin:16px 0; }
.aauto-product-image-wrap img,.aauto-product-image { display:block; width:auto; max-width:100%; max-height:300px; object-fit:contain; margin:0 auto; }
.aauto-product-cta { text-align:center; margin:15px 0 19px; }
.aauto-product-cta .aauto-amazon-button { min-width:min(100%,260px); }
.aauto-feature-list { margin:.8em 0 1.4em 1.15em!important; padding:0; }
.aauto-feature-list li::marker { color:var(--ght-orange); }
.aauto-best-for { background:var(--ght-sage); border:1px solid #D5E5D5; border-radius:12px; padding:13px 15px; margin:.7em 0 1.25em; }
.aauto-best-for strong { color:var(--ght-forest-dark); }
.aauto-value-guide { background:var(--ght-beige); border:1px solid #E7DCC8; border-radius:18px; overflow:hidden; margin:1.6em 0; }
.aauto-value-label { display:block; background:var(--ght-forest); color:#fff; font-weight:900; padding:13px 18px; }
.aauto-value-grid { display:grid; gap:0; }
.aauto-value-card { padding:17px 19px; border-top:1px solid #E7DCC8; background:rgba(255,255,255,.62); }
.aauto-value-card:first-child { border-top:0; }
.aauto-value-tier { display:block; color:var(--ght-orange); font-size:.82rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px; }
.aauto-value-card p:last-child { margin-bottom:0; }
.aauto-faq { display:grid; gap:11px; margin:1.5em 0 1.8em; }
.aauto-faq .aauto-faq-item { border:1px solid var(--ght-border); border-radius:14px; background:#fff; overflow:hidden; }
.aauto-faq button.aauto-faq-q { display:block; width:100%; border:0; background:#fff; text-align:left; font:inherit; position:relative; cursor:pointer; padding:17px 52px 17px 18px; font-weight:800; line-height:1.45; color:var(--ght-forest-dark); }
.aauto-faq button.aauto-faq-q:after { content:"+"; position:absolute; right:17px; top:50%; transform:translateY(-50%); width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--ght-sage); color:var(--ght-forest); font-size:1.15rem; font-weight:900; }
.aauto-faq .aauto-faq-item.is-open button.aauto-faq-q:after { content:"−"; background:var(--ght-orange); color:#fff; }
.aauto-faq .aauto-faq-a { padding:0 18px 18px; }
.aauto-faq .aauto-faq-a[hidden] { display:none; }
.aauto-faq .aauto-faq-item.is-open .aauto-faq-a { display:block; }
@media (max-width:767px) { .aauto-product-card{padding:20px 17px;border-radius:16px}.aauto-product-image-wrap{min-height:210px;padding:12px}.aauto-product-image-wrap img,.aauto-product-image{max-height:240px}.aauto-table-button{min-height:42px;padding:9px 12px} }


/* ==========================================================
   31. SINGLE PRODUCT REVIEW COMPONENTS — v1.2.0
   ========================================================== */
.aauto-review-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 280px;
    margin: 1.5em 0 1.8em;
    padding: 22px;
    background: #FAFBF9;
    border: 1px solid #E8EEE8;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(23,61,43,.06);
}
.aauto-review-product-image a {
    display: block;
    text-decoration: none;
}
.aauto-review-product-image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 430px;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 14px;
}

.aauto-cta-box {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 22px;
    align-items: center;
    margin: 1.7em 0;
    padding: 24px 26px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--ght-forest-dark), var(--ght-forest));
    border: 1px solid rgba(242,165,65,.24);
    box-shadow: 0 14px 32px rgba(23,61,43,.15);
}
.aauto-cta-info { min-width: 0; }
.ght-cta-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(242,165,65,.18);
    color: #FFD9A3;
    font-weight: 850;
    font-size: .75rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.aauto-cta-title {
    display: block;
    color: #fff;
    font-size: 1.18rem;
    font-weight: 850;
    line-height: 1.4;
    margin-bottom: 6px;
}
.aauto-cta-text {
    display: block;
    color: rgba(255,255,255,.82);
    line-height: 1.6;
    font-size: .94rem;
}
.aauto-cta-action { text-align: center; }
.aauto-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 21px;
    border-radius: 999px;
    background: var(--ght-orange);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 850;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(230,106,44,.28);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.aauto-cta-btn:hover {
    background: #C9531C;
    transform: translateY(-1px);
    box-shadow: 0 11px 24px rgba(230,106,44,.34);
}

/* Single-review FAQ uses the same shared accordion system. */
.aauto-faq .aauto-faq-q {
    position: relative;
    cursor: pointer;
    padding: 17px 52px 17px 18px;
    font-weight: 800;
    color: var(--ght-forest-dark);
    background: #fff;
}
.aauto-faq .aauto-faq-q:after {
    content: "+";
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ght-sage);
    color: var(--ght-forest);
    font-weight: 900;
}
.aauto-faq .aauto-faq-item.is-open .aauto-faq-q:after {
    content: "−";
    background: var(--ght-orange);
    color: #fff;
}

@media (max-width: 767px) {
    .aauto-review-product-image {
        min-height: 220px;
        padding: 14px;
    }
    .aauto-review-product-image img {
        max-height: 320px;
    }
    .aauto-cta-box {
        grid-template-columns: 1fr;
        padding: 20px 18px;
        text-align: center;
    }
    .aauto-cta-btn {
        width: 100%;
        white-space: normal;
    }
}


/* ==========================================================
   32. SINGLE PRODUCT COMPARISON COMPONENTS — v1.3.0
   ========================================================== */
.aauto-comparison-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 18px;
    align-items: center;
    margin: 1.6em 0 1.9em;
    padding: 22px;
    background: linear-gradient(135deg, #F8FAF7, var(--ght-beige));
    border: 1px solid var(--ght-border);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(23,61,43,.07);
}
.aauto-comparison-product {
    min-width: 0;
    text-align: center;
}
.aauto-comparison-product a {
    display: block;
    text-decoration: none;
}
.aauto-comparison-product img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 220px;
    object-fit: contain;
    margin: 0 auto 12px;
    padding: 10px;
    background: #fff;
    border: 1px solid #E7ECE7;
    border-radius: 14px;
}
.aauto-comparison-product strong {
    display: block;
    color: var(--ght-forest-dark);
    font-size: 1rem;
    line-height: 1.4;
}
.aauto-comparison-vs {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ght-orange);
    color: #fff;
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: .05em;
    box-shadow: 0 8px 18px rgba(230,106,44,.24);
}

.aauto-comparison-cta-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 1.25em 0 1.8em;
}
.aauto-comparison-cta-row .aauto-amazon-button {
    min-width: 230px;
}

.aauto-comparison-info-card {
    background: #fff;
    border: 1px solid var(--ght-border);
    border-left: 5px solid var(--ght-orange);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 1.25em 0 1.6em;
    box-shadow: 0 8px 22px rgba(23,61,43,.05);
}
.aauto-comparison-info-label {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--ght-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.aauto-comparison-info-card > strong {
    display: block;
    color: var(--ght-forest-dark);
    font-size: 1.08rem;
    margin-bottom: 7px;
}
.aauto-comparison-info-card p:last-of-type {
    margin-bottom: 14px;
}

.aauto-comparison-article .aauto-table-wrap table {
    min-width: 650px;
}
.aauto-comparison-article .aauto-table-wrap th:first-child,
.aauto-comparison-article .aauto-table-wrap td:first-child {
    font-weight: 800;
    color: var(--ght-forest-dark);
}
.aauto-comparison-article .aauto-fit-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
}

@media (max-width: 767px) {
    .aauto-comparison-hero {
        grid-template-columns: 1fr;
        padding: 17px;
    }
    .aauto-comparison-product img {
        height: 190px;
    }
    .aauto-comparison-vs {
        margin: 0 auto;
    }
    .aauto-comparison-cta-row {
        display: grid;
        grid-template-columns: 1fr;
    }
    .aauto-comparison-cta-row .aauto-amazon-button {
        width: 100%;
        min-width: 0;
    }
    .aauto-comparison-article .aauto-fit-grid {
        grid-template-columns: 1fr;
    }
}
