/* Existing Directorist detail components, using the approved child theme design. */
.ttg-tool-detail-page { background:#f7f9fc; color:#0f172a; }
.ttg-tool-detail-page .ttg-detail-main { max-width:1280px; padding:30px 36px 55px; margin:0 auto!important; }
.ttg-tool-detail-page .ttg-detail-back { margin:0 0 22px; font-size:12px; font-weight:750; }
.ttg-tool-detail-page .ttg-detail-back a { text-decoration:none; }
.ttg-tool-detail-page .directorist-single-contents-area .directorist-container-fluid { padding:0; }
.ttg-tool-detail-page .directorist-single-contents-area .directorist-row { margin:0; }
.ttg-tool-detail-page .directorist-single-contents-area .directorist-row > :is(.directorist-col-lg-8,.directorist-col-lg-12) { padding:0; flex:0 0 100%; max-width:100%; width:100%; }
.ttg-tool-detail-page .directorist-single-wrapper { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; align-items:start; }
.ttg-tool-detail-page .directorist-single-wrapper > * { min-width:0; grid-column:1; margin:0; }
.ttg-tool-detail-page .directorist-single-wrapper > .directorist-single-listing-header { grid-column:1/-1; padding:28px 30px; background:#fff; border:1px solid #dfe7ef; border-radius:9px; margin:0 0 6px; }
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-overview { grid-row:2; }
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-technical { grid-column:2; grid-row:2; }
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-links { grid-column:1; grid-row:3; }
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-media { grid-row:4; }
.ttg-tool-detail-page .directorist-card,
.ttg-tool-detail-page .directorist-review-container { background:#fff; border:1px solid #dfe7ef; border-radius:9px; box-shadow:0 2px 6px #0f172a03; overflow-wrap:anywhere; }
.ttg-tool-detail-page .directorist-card__header { padding:20px 25px; border-bottom:1px solid #edf1f5; background:transparent; }
.ttg-tool-detail-page .directorist-card__header__title { margin:0; font-size:19px; letter-spacing:-.4px; font-weight:750; line-height:1.4; }
.ttg-tool-detail-page .directorist-card__header-icon { display:none; }
.ttg-tool-detail-page .directorist-card__body { padding:24px 25px; }
.ttg-tool-detail-page .directorist-single-listing-title h1,
.ttg-tool-detail-page .directorist-single-listing-title .directorist-listing-title { font-size:clamp(30px,3.5vw,44px); line-height:1.2; letter-spacing:-1.4px; margin:0 0 13px; }
.ttg-tool-detail-page .directorist-single-tagline { color:#526071; font-size:16px; line-height:1.7; }
.ttg-tool-detail-page .directorist-single-listing-top { margin-bottom:24px; flex-wrap:wrap; gap:14px; }
.ttg-tool-detail-page .directorist-single-listing-top :is(a,button) { font-size:12px; border-radius:5px; }
.ttg-tool-detail-page .directorist-single-listing-header a { text-decoration:none; }
.ttg-tool-detail-page .directorist-single-listing-header .directorist-single-listing-category a { color:#006c4a; }
.ttg-tool-detail-page .directorist-listing-details__text { color:#334155; font-size:15px; line-height:1.85; }
.ttg-tool-detail-page .directorist-listing-details__text p { margin:0 0 18px; }
.ttg-tool-detail-page .directorist-listing-details__text p:last-child { margin-bottom:0; }
.ttg-tool-detail-page :is(.ttg-detail-technical,.ttg-detail-links,.ttg-detail-sources) .directorist-single-info { display:block; margin:0; padding:13px 0; border-bottom:1px solid #edf1f5; }
.ttg-tool-detail-page :is(.ttg-detail-technical,.ttg-detail-links,.ttg-detail-sources) .directorist-single-info:first-child { padding-top:0; }
.ttg-tool-detail-page :is(.ttg-detail-technical,.ttg-detail-links,.ttg-detail-sources) .directorist-single-info:last-child { border-bottom:0; padding-bottom:0; }
.ttg-tool-detail-page .directorist-single-info__label { width:auto; max-width:none; padding:0; display:block; font-size:11px; font-weight:750; letter-spacing:.3px; color:#526071; margin:0 0 6px; }
.ttg-tool-detail-page .directorist-single-info__label::after { display:none; }
.ttg-tool-detail-page .directorist-single-info__label-icon { display:none; }
.ttg-tool-detail-page .directorist-single-info__value { width:auto; flex-basis:auto; font-size:14px; color:#0f172a; line-height:1.65; overflow-wrap:anywhere; }
.ttg-tool-detail-page .ttg-detail-links .directorist-single-info__value a { color:#006c4a; font-size:13px; }
.ttg-tool-detail-page .directorist-single-listing-slider-wrap { max-width:100%; --gallery-crop-width:100%!important; }
.ttg-tool-detail-page .directorist-single-listing-slider { max-width:100%!important; width:100%!important; height:360px!important; }
.ttg-tool-detail-page .directorist-single-listing-slider .swiper-slide img { width:100%; height:100%; object-fit:contain!important; }
.ttg-tool-detail-page .directorist-single-listing-slider-thumbnails { max-width:100%; }
.ttg-tool-detail-page .directorist-review-container .directorist-card__header { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.ttg-tool-detail-page .directorist-review-container :is(input,textarea) { border:1px solid #cbd5e1; border-radius:5px; font:inherit; }
.ttg-tool-detail-page .directorist-review-container button[type="submit"] { background:#006c4a; color:white; border:1px solid #006c4a; border-radius:5px; padding:12px 20px; font-size:13px; font-weight:750; }
.ttg-tool-detail-page .ttg-detail-sources { background:#f0f4f9; }
.ttg-tool-detail-page .ttg-detail-sources .directorist-single-info__value { font-size:12px; }
.ttg-tool-detail-page .ttg-results-navigation { margin:0 0 24px; }
@media(max-width:960px) {
    .ttg-tool-detail-page .directorist-single-wrapper { display:flex; flex-direction:column; gap:22px; }
    .ttg-tool-detail-page .directorist-single-wrapper > * { width:100%; }
    .ttg-tool-detail-page .directorist-single-listing-slider { height:300px!important; }
}
@media(max-width:480px) {
    .ttg-tool-detail-page .ttg-detail-main { padding:24px 22px 35px; }
    .ttg-tool-detail-page .directorist-single-wrapper > .directorist-single-listing-header { padding:22px 18px; }
    .ttg-tool-detail-page .directorist-card__header { padding:18px; }
    .ttg-tool-detail-page .directorist-card__body { padding:20px 18px; }
    .ttg-tool-detail-page .directorist-single-listing-title h1 { font-size:31px; letter-spacing:-1px; overflow-wrap:anywhere; }
    .ttg-tool-detail-page .directorist-single-listing-slider { height:220px!important; }
    .ttg-tool-detail-page .directorist-review-container .directorist-card__header { align-items:start; flex-direction:column; }
}

/* Neutralize legacy spacing inside the native detail components. */
.ttg-tool-detail-page .ttg-detail-main > .directorist-single-contents-area { margin:0!important; }
.ttg-tool-detail-page .directorist-single-contents-area .directorist-row > .directorist-col-lg-12 { margin:0; }
.ttg-tool-detail-page .directorist-single-wrapper { padding:0; margin:0; }
.ttg-tool-detail-page .directorist-single-listing-header .directorist-single-listing-top { margin:0 0 22px; }
.ttg-tool-detail-page .directorist-single-listing-quick-action { flex:1; width:auto; min-width:0; gap:12px; }
.ttg-tool-detail-page .directorist-listing-single__quick-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ttg-tool-detail-page .directorist-single-listing-header h1.directorist-listing-details__listing-title { font-size:clamp(30px,3.5vw,44px); line-height:1.2; letter-spacing:-1.4px; margin:0 0 12px; text-wrap:initial; }
.ttg-tool-detail-page .directorist-listing-details__tagline { color:#526071; font-size:16px; line-height:1.7; margin:0 0 18px; }
.ttg-tool-detail-page .directorist-listing-single-quickinfo { margin:0; }
.ttg-tool-detail-page .directorist-single-info__label__text::after { display:none; }
@media(max-width:600px) {
    .ttg-tool-detail-page .directorist-single-listing-quick-action { flex-wrap:wrap; }
    .ttg-tool-detail-page .directorist-listing-single__quick-actions { gap:6px; }
    .ttg-tool-detail-page .directorist-single-listing-header h1.directorist-listing-details__listing-title { font-size:30px; }
}

/* Compact specifications and readable native review controls. */
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:12px; align-items:start; padding:11px 0; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info__label { margin:0; line-height:1.65; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info__value { font-size:13px; }
.ttg-tool-detail-page .directorist-review-container a.directorist-btn { background:#006c4a; color:#fff; text-decoration:none; font-size:12px; border-radius:5px; }
.ttg-tool-detail-page .directorist-review-container textarea { height:160px!important; min-height:120px; resize:vertical; }
.ttg-tool-detail-page .directorist-review-container .br-widget a { background:transparent; }
.ttg-tool-detail-page .directorist-review-container .br-widget a::before { background-color:#8b96a5; }
.ttg-tool-detail-page .directorist-review-container .br-widget a:is(.br-active,.br-selected,.br-current)::before { background-color:#c88b16; }

.ttg-tool-detail-page .ttg-detail-technical .directorist-details-info-wrap { gap:0; }
.ttg-tool-detail-page :is(.ttg-detail-technical,.ttg-detail-links,.ttg-detail-sources) .directorist-single-info { margin:0!important; }
@media(min-width:961px) {
    .ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-technical { grid-row:2 / span 3; }
    .ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-links { grid-row:3; }
    .ttg-tool-detail-page .directorist-single-wrapper > .directorist-review-container { grid-row:5; }
    .ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-sources { grid-row:6; }
}

@media(max-width:600px) {
    .ttg-tool-detail-page .directorist-single-listing-top .directorist-social-share { font-size:12px!important; padding:0 10px; }
}

/* The results navigation is injected before the native header when applicable. */
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-result-navigation { grid-column:1/-1; margin:0; }
@media(min-width:961px) {
    .ttg-tool-detail-page .directorist-single-wrapper > .directorist-single-listing-header { grid-row:1; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-result-navigation { grid-row:1; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .directorist-single-listing-header { grid-row:2; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-detail-overview { grid-row:3; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-detail-technical { grid-row:3 / span 3; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-detail-media { grid-row:5; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-detail-links { grid-row:4; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .directorist-review-container { grid-row:6; }
    .ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-detail-sources { grid-row:7; }
}

/* Compact results navigation, matching the detail cards. */
.ttg-tool-detail-page .ttg-result-navigation { padding:10px 14px; gap:14px; background:#fff; border:1px solid #dfe7ef; border-radius:9px; color:#334155; box-shadow:0 2px 6px #0f172a03; }
.ttg-tool-detail-page .ttg-result-arrow { padding:2px 0; gap:2px; font-size:12px; line-height:1.35; width:fit-content; max-width:100%; }
.ttg-tool-detail-page .ttg-result-previous { justify-self:start; }
.ttg-tool-detail-page .ttg-result-next { justify-self:end; }
.ttg-tool-detail-page .ttg-result-arrow[href]:hover { background:transparent; box-shadow:none; }
.ttg-tool-detail-page .ttg-result-arrow small { font-size:11px; line-height:1.35; }
.ttg-tool-detail-page .ttg-result-position { padding:0 4px; gap:2px; }
.ttg-tool-detail-page .ttg-result-position strong { font-size:14px; line-height:1.4; }
.ttg-tool-detail-page .ttg-result-eyebrow { font-size:9px; line-height:1.3; letter-spacing:.6px; }
.ttg-tool-detail-page .ttg-result-back { font-size:11px; line-height:1.4; }
@media(max-width:600px) {
    .ttg-tool-detail-page .ttg-result-navigation { padding:9px 10px; gap:6px; }
    .ttg-tool-detail-page .ttg-result-arrow { font-size:11px; padding:2px 0; }
    .ttg-tool-detail-page .ttg-result-arrow small { font-size:10px; }
}

/* Align native specification fields and use compact technology tags. */
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info { align-items:baseline; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info__label { min-width:0; width:auto; max-width:100%; flex-basis:auto; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info__label__text::before { display:none; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-info__value { min-width:0; margin:0!important; padding:0; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-details-info-wrap > .directorist-single-info__label { flex:0 0 100%; width:100%; margin:16px 0 8px; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-tag-list { display:flex; flex-direction:row; flex-wrap:wrap; flex:0 0 100%; width:100%; align-items:flex-start; gap:6px; padding:0; margin:0; list-style:none; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-tag-list > li { flex:0 1 auto; width:auto; max-width:100%; min-width:0; margin:0!important; padding:0; list-style:none; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-tag-list > li > a { display:inline-flex; align-items:center; width:auto; max-width:100%; min-width:0; gap:0; padding:3px 7px; border:1px solid #d5dce4; border-radius:4px; background:#eef1f5; color:#334155; font-size:11px; font-weight:500; line-height:1.45; text-decoration:none; white-space:normal; overflow-wrap:anywhere; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-tag-list > li > a .directorist-icon-mask { display:none; }
.ttg-tool-detail-page .ttg-detail-technical .directorist-single-tag-list > li > a:hover { background:#e3e8ee; border-color:#9aa9b9; }

/* Stack the native Technical Details and optional Publisher cards independently. */
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-sidebar { grid-column:2; grid-row:2 / span 5; display:flex; flex-direction:column; gap:24px; min-width:0; }
.ttg-tool-detail-page .ttg-detail-sidebar > .directorist-card { margin:0; width:100%; min-width:0; }
.ttg-tool-detail-page .directorist-single-wrapper:has(> .ttg-result-navigation) > .ttg-detail-sidebar { grid-row:3 / span 5; }
.ttg-tool-detail-page .ttg-choice-tags { display:flex; flex-wrap:wrap; gap:6px; align-items:flex-start; }
.ttg-tool-detail-page .ttg-value-tag { display:inline-block; max-width:100%; padding:3px 7px; border:1px solid #d5dce4; border-radius:4px; background:#eef1f5; color:#334155; font-size:11px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-details-info-wrap { gap:0; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-single-info { display:block; padding:12px 0; margin:0!important; border-bottom:1px solid #edf1f5; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-single-info:first-child { padding-top:0; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-single-info:last-child { padding-bottom:0; border-bottom:0; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-single-info__label { width:auto; min-width:0; margin:0 0 6px; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-single-info__label__text::before { display:none; }
.ttg-tool-detail-page .ttg-detail-publisher .directorist-single-info__value { margin:0!important; min-width:0; font-size:13px; }
@media(max-width:960px) { .ttg-tool-detail-page .directorist-single-wrapper > .ttg-detail-sidebar { width:100%; gap:22px; } }

/* Native carousel: one row of three related cards on desktop. */
.ttg-tool-detail-page .directorist-single-wrapper > .ttg-similar-tools { grid-column:1/-1; grid-row:8; width:100%; min-width:0; margin:0; }
.ttg-tool-detail-page .ttg-similar-tools .directorist-related-listing-header__title { font-size:23px; font-weight:750; margin:0 0 22px; }
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing > .swiper-wrapper { align-items:stretch; }
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing > .swiper-wrapper > .swiper-slide { height:auto; }
.ttg-tool-detail-page .ttg-similar-tools .directorist-listing-card { height:100%; }
.ttg-tool-detail-page .ttg-similar-tools button.directorist-swiper__nav { border:1px solid #dfe7ef; }
.ttg-tool-detail-page .ttg-similar-tools button.directorist-swiper__nav:focus-visible { outline:3px solid #006c4a; outline-offset:3px; }

/* Keep carousel controls visible instead of relying on mouse hover. */
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing { margin:0; padding:0; width:100%; overflow:hidden; }
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing > .directorist-swiper__navigation { display:flex; justify-content:flex-end; gap:8px; margin:14px 0 0; }
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing > .directorist-swiper__navigation > button { display:flex; align-items:center; justify-content:center; position:static; transform:none; opacity:1; width:36px; height:36px; min-height:0; margin:0; padding:0; border-radius:50%; background:#fff; color:#334155; box-shadow:none; }
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing > .directorist-swiper__navigation > button:disabled { opacity:.35; }
.ttg-tool-detail-page .ttg-similar-tools > .directorist-swiper-related-listing.slider-has-less-items > .directorist-swiper__navigation { display:none; }

/* Preserve image containment inside each card's existing gallery. */
.ttg-tool-detail-page .ttg-similar-tools .directorist-thumnail-card .directorist-swiper-listing > .swiper-wrapper,
.ttg-tool-detail-page .ttg-similar-tools .directorist-thumnail-card .directorist-swiper-listing > .swiper-wrapper > .swiper-slide,
.ttg-tool-detail-page .ttg-similar-tools .directorist-thumnail-card .directorist-swiper-listing > .swiper-wrapper > .swiper-slide > a,
.ttg-tool-detail-page .ttg-similar-tools .directorist-thumnail-card .directorist-swiper-listing > .swiper-wrapper > .swiper-slide > a > figure { height:100%; }
