/* =========================================================
   탐텍씨엔에스 – 모던 정리 레이어
   · 아이콘: 무채색 라인 (배경 타일 없음)
   · 버튼: 기본은 잉크(짙은 남색), 초록은 작은 라벨·활성 표시에만
   ========================================================= */
:root {
    --tmx-ink: #0F172A;
    --tmx-ink2: #334155;
    --tmx-mute: #64748B;
    --tmx-line: #E2E8F0;
    --tmx-soft: #F8FAFC;
    --tmx-accent: #059669;
}

/* ---------- 공통 버튼 ---------- */
.tmh-btn--primary, .tma-btn--primary, .tm-home-cta-submit, .tm-contact-form-card button.is-wide,
.tm-product-search button, .tmpc-help > a, .tm-custom-quote-cta > a, .tm-app2__intro > a,
.tmh-dist + .tmh-btn--primary {
    background: var(--tmx-ink) !important;
    border-color: var(--tmx-ink) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.tmh-btn--primary:hover, .tma-btn--primary:hover, .tm-home-cta-submit:hover, .tm-contact-form-card button.is-wide:hover,
.tm-product-search button:hover, .tmpc-help > a:hover, .tm-custom-quote-cta > a:hover, .tm-app2__intro > a:hover {
    background: #1E293B !important;
    border-color: #1E293B !important;
}
.tmh-btn--ghost { border-color: #CBD5E1 !important; color: var(--tmx-ink) !important; }

/* ---------- 메가메뉴: 제품 찾기 · 적용분야 ---------- */
.tmm { border-color: var(--tmx-line) !important; box-shadow: 0 24px 60px rgba(15, 23, 42, .10); }
.tmm-search:focus-within { border-color: var(--tmx-ink) !important; }
.tmm-search button { background: var(--tmx-ink) !important; }
.tmm-cats { gap: 4px 8px !important; }
.tmm-cat { padding: 14px 12px !important; border-color: transparent !important; border-radius: 14px !important; background: transparent !important; box-shadow: none !important; transform: none !important; }
.tmm-cat:hover { background: var(--tmx-soft) !important; border-color: transparent !important; }
.tmm-ic, .tmmo-cats .tmm-ic { width: 28px !important; height: 28px !important; border-radius: 0 !important; background: none !important; color: var(--tmx-ink) !important; }
.tmm-ic svg { width: 24px !important; height: 24px !important; stroke-width: 1.5 !important; }
.tmm-cat b { font-weight: 800 !important; }
.tmm-cat:hover b { text-decoration: underline; text-underline-offset: 3px; }
.tmm-cat i { color: #94A3B8 !important; font-weight: 600 !important; }
.tmm-bbtn small { color: #94A3B8 !important; }
.tmm-bbtn.is-on { border-color: var(--tmx-ink) !important; background: var(--tmx-ink) !important; }
.tmm-lines > div { background: transparent !important; padding: 4px 0 !important; }
.tmm-lines b { color: var(--tmx-ink); }
.tmm-lines a:hover { color: var(--tmx-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
.tmm-pop a:hover { border-color: var(--tmx-ink) !important; }
.tmm-pop small { color: #94A3B8 !important; font-weight: 700 !important; }
.tmm-quote { border-color: var(--tmx-line) !important; background: #fff !important; }
.tmm-quote em { color: var(--tmx-ink2) !important; font-weight: 700; }
.tmm-quote:hover { border-color: var(--tmx-ink) !important; }
.tmm-app { padding: 16px !important; border-color: transparent !important; background: transparent !important; box-shadow: none !important; transform: none !important; }
.tmm-app:hover { background: var(--tmx-soft) !important; }
.tmm-app b { margin-top: 10px !important; font-size: 16px !important; font-weight: 800 !important; }
.tmmo-cats a { border-color: var(--tmx-line) !important; }

/* ---------- 메가메뉴: 회사소개 · 고객지원 · 맞춤견적 (컬럼형) ---------- */
.tm-mega__panel--cols { display: none; }
.tm-mega__panel--cols.is-active, .tm-mega__panel--cols.is-open, .tm-mega__panel--cols.is-on { display: block; }
.tm-mega-cols { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 0; overflow: hidden; border: 1px solid var(--tmx-line); border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(15, 23, 42, .10); font-family: var(--tm-font, 'Pretendard', sans-serif); color: var(--tmx-ink); text-align: left; word-break: keep-all; }
.tm-mega-cols a { text-decoration: none; }
.tm-mega-cols__intro { display: flex; flex-direction: column; padding: 30px 28px; border-right: 1px solid #EEF2F6; background: var(--tmx-soft); }
.tm-mega-cols__intro p { margin: 0 0 8px; color: var(--tmx-accent); font-size: 11.5px; font-weight: 800; letter-spacing: .16em; }
.tm-mega-cols__intro h3 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -.04em; }
.tm-mega-cols__intro span { margin-top: 10px; color: var(--tmx-mute); font-size: 14px; font-weight: 500; line-height: 1.6; }
.tm-mega-cols__intro a { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 24px; color: var(--tmx-ink) !important; font-size: 14px; font-weight: 800; }
.tm-mega-cols__intro a i { font-style: normal; transition: transform .2s; }
.tm-mega-cols__intro a:hover i { transform: translateX(4px); }
.tm-mega-cols__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 10px; margin: 0; padding: 22px 24px 26px; list-style: none; align-content: start; }
.tm-mega-col { min-width: 0; }
.tm-mega-col__head { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; padding: 14px 14px 14px 12px; border-radius: 14px; color: var(--tmx-ink) !important; transition: background .2s; }
.tm-mega-col__head:hover { background: var(--tmx-soft); }
.tm-mega-col__ic { grid-row: span 2; display: inline-flex; align-items: flex-start; justify-content: center; padding-top: 1px; color: var(--tmx-ink); }
.tm-mega-col__ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.tm-mega-col__head strong { font-size: 16px; font-weight: 800; letter-spacing: -.03em; }
.tm-mega-col__head:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.tm-mega-col__head em { color: var(--tmx-mute); font-size: 13px; font-style: normal; font-weight: 500; line-height: 1.5; }
.tm-mega-col__sub { margin: 2px 0 6px 54px; padding: 0; list-style: none; }
.tm-mega-col__sub li { margin: 0; }
.tm-mega-col__sub li.is-head { margin-top: 8px; color: #94A3B8; font-size: 12px; font-weight: 800; }
.tm-mega-col__sub a { display: block; padding: 4px 0; color: var(--tmx-ink2) !important; font-size: 13.5px; font-weight: 500; }
.tm-mega-col__sub a:hover { color: var(--tmx-ink) !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 메인 ---------- */
.tmh-prod__txt > em { color: var(--tmx-mute) !important; }
.tmh-intro__brands b { color: var(--tmx-mute) !important; }
.tmh-dist i { color: var(--tmx-ink) !important; }
.tmh-brand__badge.is-dist { border-color: var(--tmx-line) !important; background: #fff !important; color: var(--tmx-ink2) !important; }
.tm-promo-chip__meta > b { background: var(--tmx-ink) !important; color: #fff !important; }
.tm-promo-strip__head h2 em { background: var(--tmx-ink) !important; color: #fff !important; }
/* 적용분야 탭 */
.tm-app2__tab.is-active { background: var(--tmx-ink) !important; border-color: var(--tmx-ink) !important; color: #fff !important; }
.tm-app2__tab.is-active svg, .tm-app2__tab.is-active i { color: #fff !important; stroke: currentColor; }
.tm-app2__intro { background: var(--tmx-soft) !important; border-color: var(--tmx-line) !important; }
.tm-app2__intro-icon { background: none !important; color: var(--tmx-ink) !important; border: 0 !important; }
.tm-app2__intro-icon svg { stroke: currentColor !important; }
.tm-app2__intro ul li { color: var(--tmx-ink2) !important; background: #fff !important; border-color: var(--tmx-line) !important; }
/* 원스톱 서비스 */
.tmh-svc__item, .tmh-svc__item--quote { background: #fff !important; border-color: var(--tmx-line) !important; }
.tmh-svc__item:hover { border-color: var(--tmx-ink) !important; }
.tmh-svc__icon { background: none !important; color: var(--tmx-ink) !important; border: 0 !important; width: auto !important; height: auto !important; padding: 0 !important; justify-content: flex-start !important; }
.tmh-svc__icon svg { width: 30px !important; height: 30px !important; stroke: currentColor !important; stroke-width: 1.5 !important; fill: none !important; }
.tmh-svc__icon svg path { stroke: currentColor !important; }
.tmh-svc__item ul li { color: var(--tmx-ink2) !important; background: var(--tmx-soft) !important; border-color: transparent !important; }
.tmh-svc__item > a { color: var(--tmx-ink) !important; }

/* ---------- 서브페이지 공통 ---------- */
.tm-application-side a.is-active, .tm-product-side a.is-active, .tmpc-side-brands a.is-active { background: var(--tmx-soft) !important; color: var(--tmx-ink) !important; border-color: transparent !important; box-shadow: inset 3px 0 0 var(--tmx-ink) !important; font-weight: 800 !important; }
.tmpc-side-brands a.is-active small, .tm-product-side .is-active > small { background: var(--tmx-ink) !important; color: #fff !important; }
.tm-product-side__box > em, .tm-application-side__box > p { color: #94A3B8 !important; }

/* 적용분야 페이지 */
.tma-field > em { color: #94A3B8 !important; }
.tma-cats__ic { background: none !important; color: var(--tmx-ink) !important; }
.tma-cats__ic svg { stroke: currentColor !important; stroke-width: 1.5 !important; }
.tma-cats__ic svg path { stroke: currentColor !important; }
.tma-check, .tma-cta { background: var(--tmx-soft) !important; border-color: var(--tmx-line) !important; }
.tma-check svg, .tma-check i { color: var(--tmx-ink) !important; }

/* 제품 찾기 · 브랜드 */
.tm-group-title > span { background: var(--tmx-soft) !important; color: var(--tmx-ink) !important; border: 1px solid var(--tmx-line) !important; }
.tm-group-title > a { color: var(--tmx-ink2) !important; }
.tm-panel-head > div > span { color: var(--tmx-mute) !important; }
.tm-panel-head > em { color: var(--tmx-ink) !important; }
.tmpc-help { background: var(--tmx-soft) !important; border-color: var(--tmx-line) !important; }
.tm-product-card__actions > a { background: #fff !important; border-color: var(--tmx-line) !important; color: var(--tmx-ink) !important; }
.tm-product-card__actions > a:hover { border-color: var(--tmx-ink) !important; }

/* 문의 */
.tm-contact-info__list dt { color: var(--tmx-mute) !important; }

/* 이벤트 · 맞춤견적 */
.tm-promo-item__status { background: var(--tmx-ink) !important; color: #fff !important; }
.tm-promo-item__tag { color: var(--tmx-mute) !important; }
.tm-custom-quote-card__top > em { background: var(--tmx-soft) !important; border-color: var(--tmx-line) !important; color: var(--tmx-ink) !important; }
.tm-custom-quote-card__top > span { color: var(--tmx-mute) !important; }

/* 회사소개 CTA */
.tmc-cta { background: var(--tmx-soft) !important; border-color: var(--tmx-line) !important; }

@media (max-width: 1100px) {
    .tm-mega-cols { grid-template-columns: 240px minmax(0, 1fr); }
}

/* 보강 */
html body .tm-home-cta-submit, html body button.tm-home-cta-submit { background: var(--tmx-ink) !important; border-color: var(--tmx-ink) !important; color: #fff !important; }
.tm-custom-quote-toolbar button.is-active, .tm-custom-quote-list button.is-active { background: var(--tmx-ink) !important; border-color: var(--tmx-ink) !important; color: #fff !important; }
html body .tm-home-cta .tm-home-cta-form .tm-home-cta-submit, html body .tm-home-cta .tm-home-cta-form button[type="submit"] { background: var(--tmx-ink) !important; border-color: var(--tmx-ink) !important; }
html body .tm-home-cta .tm-home-cta-form .tm-home-cta-submit:hover, html body .tm-home-cta .tm-home-cta-form button[type="submit"]:hover { background: #1E293B !important; border-color: #1E293B !important; }
.tmh-intro__svc li::before { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/18px no-repeat !important; }
.tma-check li::before { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat !important; }

/* ---------- 초록 그림자 제거 ---------- */
.cta,
.gas-item:has(input:checked),
.mie-check-grid label:has(input:checked),
.mie-choice-grid button.is-selected,
.mie-equipment-card.is-selected,
.opt input:checked + span,
.tm-action:hover,
.tm-app2__tab.is-active,
.tm-dc-card:hover,
.tm-dc-related-product:hover,
.tm-home-about__button:hover,
.tm-home-app__layout .tm-home-app__tab.is-active,
.tm-tc-cta,
.tm-temp-image-grid input:checked+span,
.tm-temp-model-card.is-selected,
.tm-temp-option-grid input:checked+span,
.tm-temp-well-grid input:checked+span,
.tm-ts-cta,
.tm-ts-model-card.is-selected,
.tmh-btn--primary,
.tmh-dist a:hover,
.tmm-app:hover,
.tmm-cat:hover,
.tss-image-grid button.is-selected,
.tss-info-grid button.is-selected,
.tss-model-card.is-selected,
.tss-page .tss-connector-color-row button.is-selected,
.tss-page .tss-image-grid button.is-selected,
.tss-page .tss-info-grid button.is-selected,
.tss-page .tss-model-card.is-selected,
.tss-page .tss-next,
.tss-page .tss-select-grid button.is-selected,
.tss-page .tss-step-menu button.is-active,
.tss-page .tss-submit,
.tss-page .tss-type-color-grid button.is-selected,
.tss-page .tss-well-grid button.is-selected,
.tss-page button.is-selected,
.tss-select-grid button.is-selected,
.tss-well-grid button.is-selected,
.tsw-choice-grid button.is-selected,
.tsw-image-grid button.is-selected,
.tsw-info-grid button.is-selected,
.tsw-model-card.is-selected,
.tsw-well-grid button.is-selected,
.tt-chip.active,
.tt-downloads a.tt-dlcard:hover,
.uq-type-card.is-selected,
.wqs-check-grid label.is-selected,
.wqs-check-grid label:has(input:checked),
.wqs-next,
.wqs-option-card.is-selected,
.wqs-option-card:has(input:checked),
.wqs-product-card.is-selected,
.wqs-submit,
a.tm-cv-product:hover {
    box-shadow: none !important;
    text-shadow: none !important;
}
.mie-fields input:focus,
.mie-fields select:focus,
.mie-fields textarea:focus,
.pb-input:focus,
.tm-about-builder input:focus,
.tm-about-builder select:focus,
.tm-about-builder textarea:focus,
.tm-action:focus-visible,
.tm-cal-form input:focus,
.tm-cal-form select:focus,
.tm-cal-form textarea:focus,
.tm-dc-editor textarea:focus,
.tm-dc-field input:focus,
.tm-dc-field select:focus,
.tm-home-about__button:focus-visible,
.tm-tc-field input:focus,
.tm-tc-field select:focus,
.tm-tc-field textarea:focus,
.tm-ts-field input:focus,
.tm-ts-field select:focus,
.tm-ts-field textarea:focus,
.tm-width-control select:focus,
.tmh-hb input:focus,
.tmh-hb textarea:focus,
.tss-page .filebox input[type="file"]:focus,
.tss-page .tss-fields input:focus,
.tss-page .tss-fields select:focus,
.tss-page .tss-fields textarea:focus,
.tss-page .tss-textarea textarea:focus,
.ttw input:focus,
.ttw select:focus,
.ttw textarea:focus,
.wqs-fields input:focus,
.wqs-fields select:focus,
.wqs-fields textarea:focus,
.wqs-gas-tools input:focus,
body .tm-home-cta-form input:focus,
body .tm-home-cta-form select:focus,
body .tm-home-cta-form textarea:focus,
input:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 3px rgba(15, 23, 42, .08) !important;
}

/* ---------- 메가메뉴 항목: 기본 배경 ---------- */
.tm-mega-cols__list { gap: 10px !important; }
.tm-mega-col__head { background: var(--tmx-soft); border: 1px solid #EEF2F6; height: 100%; }
.tm-mega-col__head:hover { background: #EEF2F6; border-color: #E2E8F0; }
.tm-mega-col__head:hover strong { text-decoration: none; }
.tm-mega-col { display: flex; flex-direction: column; }
.tm-mega-cols__intro { background: #fff !important; }
.tmm-cats { gap: 8px !important; }
.tmm-cat, .tmm-app { background: var(--tmx-soft) !important; border: 1px solid #EEF2F6 !important; }
.tmm-cat:hover, .tmm-app:hover { background: #EEF2F6 !important; border-color: #E2E8F0 !important; }
.tmm-cat:hover b { text-decoration: none; }
.tmm-apps { gap: 8px !important; }

/* ---------- 브랜드로 찾기 ---------- */
.tmm-brand { grid-template-columns: 300px minmax(0, 1fr) !important; gap: 24px !important; }
.tmm-bgroup h4 { margin: 0 0 8px !important; color: #94A3B8 !important; font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .06em !important; }
.tmm-bgrid { gap: 6px !important; }
.tmm-bbtn { height: 40px !important; padding: 0 12px !important; border: 1px solid #EEF2F6 !important; border-radius: 10px !important; background: var(--tmx-soft) !important; font-weight: 700 !important; transition: background .15s, border-color .15s; }
.tmm-bbtn:hover { background: #EEF2F6 !important; }
.tmm-bbtn small { padding: 2px 6px; border-radius: 6px; background: #fff; color: var(--tmx-mute) !important; font-size: 10.5px !important; font-weight: 700 !important; }
.tmm-bbtn.is-on { background: var(--tmx-ink) !important; border-color: var(--tmx-ink) !important; color: #fff !important; }
.tmm-bbtn.is-on small { background: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .85) !important; }

.tmm-bdetail { padding: 0 !important; border: 1px solid var(--tmx-line) !important; border-radius: 18px !important; background: #fff !important; overflow: hidden; }
.tmm-bdetail.is-on { display: flex !important; flex-direction: column; }
.tmm-bhead { display: flex !important; align-items: center !important; gap: 18px !important; margin: 0 !important; padding: 20px 22px !important; border-bottom: 1px solid #EEF2F6; background: linear-gradient(180deg, #FFFFFF, #F8FAFC); }
.tmm-bhead > div { display: flex; align-items: center; gap: 16px; min-width: 0; flex: 1; }
.tmm-bhead img { flex: none; box-sizing: border-box; width: 132px !important; max-width: none !important; height: 56px !important; padding: 10px 14px; border: 1px solid #EEF2F6; border-radius: 12px; background: #fff; object-fit: contain !important; object-position: center !important; }
.tmm-bhead strong { font-size: 20px !important; font-weight: 800 !important; }
.tmm-bhead p { margin: 0 !important; color: var(--tmx-ink2) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.5; }
.tmm-bhead > a { display: inline-flex !important; align-items: center; gap: 6px; height: 38px; padding: 0 14px !important; border-radius: 10px !important; background: var(--tmx-ink) !important; color: #fff !important; font-size: 13px !important; font-weight: 700 !important; white-space: nowrap; }
.tmm-bhead > a::after { content: "→" !important; transition: transform .2s; }
.tmm-bhead > a:hover::after { transform: translateX(3px); }
.tmm-lines { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; gap: 0 !important; padding: 8px 10px 14px; }
.tmm-lines > div { padding: 12px 12px 6px !important; border-radius: 0 !important; background: transparent !important; }
.tmm-lines b { display: flex !important; align-items: center; gap: 8px; margin: 0 0 8px !important; padding-bottom: 8px; border-bottom: 1px solid #EEF2F6; color: var(--tmx-ink) !important; font-size: 13.5px !important; font-weight: 800 !important; }
.tmm-lines b::before { content: ""; width: 6px; height: 6px; border-radius: 2px; background: var(--tmx-ink); }
.tmm-lines a { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; margin: 0 -8px; padding: 7px 8px !important; border-radius: 8px; color: var(--tmx-ink2) !important; font-size: 13.5px !important; font-weight: 500 !important; text-decoration: none !important; }
.tmm-lines a::after { content: "›"; color: #CBD5E1; font-size: 16px; line-height: 1; transition: transform .15s, color .15s; }
.tmm-lines a:hover { background: var(--tmx-soft); color: var(--tmx-ink) !important; }
.tmm-lines a:hover::after { color: var(--tmx-ink); transform: translateX(2px); }
