/*
 * TODA ROAD color refresh.
 * Scope: production site-wide color layer. Layout, content, images, and motion are unchanged.
 * Rollback: remove the todaroad2026-color-refresh enqueue block in functions.php.
 */
:root {
    --tdr-test-ink: #20343a;
    --tdr-test-muted: #64747a;
    --tdr-test-mint: #2ec4b6;
    --tdr-test-sky: #00a6fb;
    --tdr-test-amber: #ffb703;
    --tdr-test-leaf: #7cb342;
    --tdr-test-coral: #ff6b6b;
    --tdr-test-soft: #f3fbf8;
    --tdr-test-cloud: #f7fbff;
    --tdr-test-lagoon: #e9fbf6;
    --tdr-test-sun: #fff8dc;
    --tdr-test-lilac: #f6f2ff;
    --tdr-test-glass: rgba(255, 255, 255, 0.72);
}

#header::after {
    background: linear-gradient(90deg,
        var(--tdr-test-mint) 0%,
        var(--tdr-test-mint) 34%,
        var(--tdr-test-sky) 34%,
        var(--tdr-test-sky) 68%,
        var(--tdr-test-amber) 68%,
        var(--tdr-test-amber) 100%);
}

.nav-list li a:hover,
.mega-dropdown-title-en,
.mega-dropdown-item:hover,
.mobile-menu a:hover,
.footer-company-links a:hover,
.footer-nav-col h4 a:hover,
.footer-nav-col ul li a:hover {
    color: var(--tdr-test-mint) !important;
}

.nav-list li a::after,
.mega-dropdown {
    border-color: var(--tdr-test-mint);
}

.nav-list li a::after,
.section-title-row.anim::after,
.section-title-row {
    background: none;
}

.section-title-row {
    border-bottom-color: var(--tdr-test-mint);
}

.section-title-row.anim::after {
    background: linear-gradient(90deg, var(--tdr-test-mint), var(--tdr-test-sky), var(--tdr-test-amber));
}

.section-title-en,
.news-title,
.news-viewall,
.recruit-catch,
.footer-company-name,
.footer-nav-col h4 {
    color: var(--tdr-test-ink);
}

.section-title-ja,
.news-date,
.footer-address,
.copyright {
    color: var(--tdr-test-muted);
}

.tile-item:hover .tile-link-icon,
.news-viewall-icon,
.recruit-btn-icon,
.page-top,
.wkm-more {
    background: var(--tdr-test-mint) !important;
    color: #fff;
}

.news-viewall:hover .news-viewall-icon,
.recruit-btn:hover .recruit-btn-icon,
.page-top:hover,
.wkm-more:hover {
    background: var(--tdr-test-amber) !important;
    color: var(--tdr-test-ink);
}

.recruit-btn {
    background: transparent !important;
    color: var(--tdr-test-ink);
}

.anim-shutter::before {
    background: var(--tdr-test-sky);
}

.tile-grid > .tile-item:nth-child(odd).anim-shutter::before,
.projects-list > .project-item:nth-child(even) .anim-shutter::before {
    background: var(--tdr-test-mint);
}

.news-tag {
    background: var(--tdr-test-ink);
}

.news-tag[data-cat="news"] { background: var(--tdr-test-mint); }
.news-tag[data-cat="employment"] { background: var(--tdr-test-sky); }
.news-tag[data-cat="topics"] { background: var(--tdr-test-leaf); }
.news-tag[data-cat="ir"] { background: var(--tdr-test-amber); color: var(--tdr-test-ink); }

.news-new {
    color: var(--tdr-test-coral);
}

body {
    background:
        linear-gradient(180deg, #ffffff 0%, var(--tdr-test-cloud) 34%, var(--tdr-test-lagoon) 62%, #ffffff 100%);
}

main {
    background: transparent;
}

.hero-section::after {
    content: '';
    position: absolute;
    left: -8vw;
    right: -8vw;
    bottom: -1px;
    height: 120px;
    z-index: 9;
    background: linear-gradient(105deg, rgba(255, 255, 255, 0) 0%, rgba(46, 196, 182, 0.18) 48%, rgba(0, 166, 251, 0.16) 100%);
    clip-path: polygon(0 38%, 100% 0, 100% 100%, 0% 100%);
    pointer-events: none;
}

.news-section,
.corporate-section,
.wkm-section,
.recruit-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.news-section {
    background:
        radial-gradient(circle at 12% 16%, rgba(46, 196, 182, 0.18), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, var(--tdr-test-cloud) 100%);
}

.corporate-section {
    background:
        radial-gradient(circle at 88% 4%, rgba(255, 183, 3, 0.20), transparent 30%),
        linear-gradient(160deg, var(--tdr-test-lagoon) 0%, #ffffff 58%, #f8fffc 100%);
}

.wkm-section {
    background:
        radial-gradient(circle at 8% 20%, rgba(0, 166, 251, 0.14), transparent 32%),
        radial-gradient(circle at 94% 86%, rgba(124, 179, 66, 0.16), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f3fbff 100%) !important;
}

.recruit-section {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 183, 3, 0.22), transparent 26%),
        radial-gradient(circle at 15% 92%, rgba(46, 196, 182, 0.18), transparent 30%),
        linear-gradient(145deg, var(--tdr-test-lilac) 0%, #ffffff 45%, #effbf7 100%);
}

.news-section::before,
.corporate-section::before,
.wkm-section::before,
.recruit-section::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 84px;
    z-index: -1;
    background: linear-gradient(120deg, rgba(46, 196, 182, 0.16), rgba(0, 166, 251, 0.12), rgba(255, 183, 3, 0.14));
    clip-path: polygon(0 0, 100% 0, 100% 38%, 0 100%);
    opacity: 0.88;
}

.news-section::after,
.corporate-section::after,
.wkm-section::after,
.recruit-section::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: linear-gradient(90deg, rgba(32, 52, 58, 0.035) 1px, transparent 1px),
                      linear-gradient(180deg, rgba(32, 52, 58, 0.025) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.38), transparent 66%);
    pointer-events: none;
}

.news-item {
    padding-left: 18px;
    padding-right: 18px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(4px);
}

.news-item + .news-item {
    margin-top: 6px;
}

.news-item:hover {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 46px rgba(46, 196, 182, 0.13);
}

.tile-item,
.wkm-cell,
.recruit-card {
    box-shadow: 0 18px 50px rgba(32, 52, 58, 0.10);
}

.section-title-row {
    background: var(--tdr-test-glass);
    padding: 16px 18px 20px;
    border-radius: 8px 8px 0 0;
    backdrop-filter: blur(6px);
}

.section-title-row.anim {
    background: var(--tdr-test-glass);
}

@media (prefers-reduced-motion: no-preference) {
    .news-section::before,
    .corporate-section::before,
    .wkm-section::before,
    .recruit-section::before {
        background-size: 220% 100%;
        animation: tdrTestColorSweep 11s ease-in-out infinite alternate;
    }
}

@keyframes tdrTestColorSweep {
    from { background-position: 0% 50%; }
    to { background-position: 100% 50%; }
}

.recruit-card-overlay--red span,
.recruit-card-overlay--blue span,
.recruit-card-overlay--gray span {
    color: var(--tdr-test-ink);
}

.recruit-card-overlay--red span { background: rgba(46, 196, 182, 0.92); }
.recruit-card-overlay--blue span { background: rgba(0, 166, 251, 0.92); color: #fff; }
.recruit-card-overlay--gray span { background: rgba(255, 183, 3, 0.94); }

.footer {
    border-top-color: var(--tdr-test-mint);
}

.footer-company-links a::after,
.footer-nav-col ul li a::before {
    background: var(--tdr-test-mint);
}

.hero-title,
.hero-sub {
    text-shadow: 2px 2px 6px rgba(20, 38, 42, 0.42), 0 4px 20px rgba(20, 38, 42, 0.22);
}

/* TOP ヒーロー TODAROAD ロゴ: 青①#8fd3f4 塗りつぶし版（preview view.html?v=top02&c=b1&s=fill 相当） */
.svg-draw {
    stroke: #8fd3f4;
}
.svg-draw.is-filled {
    fill: #8fd3f4;
}


/* ========================================
   Site-wide page backgrounds
======================================== */
.page-hero,
.news-hero {
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 183, 3, 0.24), transparent 30%),
        radial-gradient(circle at 16% 86%, rgba(46, 196, 182, 0.24), transparent 34%),
        linear-gradient(135deg, #f7fbff 0%, #e9fbf6 56%, #fff8dc 100%) !important;
    color: var(--tdr-test-ink) !important;
    position: relative;
    overflow: hidden;
}

.page-hero::after,
.news-hero::after {
    content: '';
    position: absolute;
    inset: auto -8vw -1px -8vw;
    height: 92px;
    background: linear-gradient(110deg, rgba(46, 196, 182, 0.24), rgba(0, 166, 251, 0.18), rgba(255, 183, 3, 0.18));
    clip-path: polygon(0 40%, 100% 0, 100% 100%, 0 100%);
    pointer-events: none;
}

.page-hero-title,
.page-hero-current-en,
.news-hero-en,
.sub-title-en,
.rec-title-en,
.ngt-head-en,
.gl-hero-tag,
.ma-hero-kicker {
    color: var(--tdr-test-mint) !important;
}

.page-hero-sub,
.page-hero-current-ja,
.news-hero-ja,
.sub-title-ja,
.rec-title-ja,
.ngt-head-ja,
.ma-hero-title,
.edu-heading {
    color: var(--tdr-test-ink) !important;
}

/* 募集要項セクションは写真背景のため、見出しだけ白＋黒シャドーで可読性を確保 */
.rec-guidelines .rec-title-ja {
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.6);
}

.sub-title-line,
.rec-more-icon,
.branch-toggle-icon,
.branch-toggle::before,
.financial-link span,
.ngt-btn,
.gl-cat.on,
.gl-tile-pill,
.news-archive-arrow,
.news-archive-cat {
    background: var(--tdr-test-mint) !important;
    border-color: var(--tdr-test-mint) !important;
    color: #fff !important;
}

.sub-section,
.rec-section,
.rec-stories-section,
.rec-training-section,
.rec-numbers-section,
.rec-gallery-section,
.rec-guideline-section,
.wk-works,
.edu-intro-section,
.edu-section,
.ngt-highlights,
.ngt-entry,
.ngt-req,
.ma-hero,
.ma-qa-section,
.gl-section,
.news-archive,
.partners-section,
.contact-section,
.terms-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 12%, rgba(46, 196, 182, 0.13), transparent 30%),
        linear-gradient(145deg, #ffffff 0%, var(--tdr-test-cloud) 100%) !important;
}

.sub-section:nth-of-type(even),
.rec-stories-section,
.rec-numbers-section,
.wk-works,
.edu-section:nth-of-type(even),
.ngt-req,
.ma-qa-section:nth-of-type(even),
.gl-section {
    background:
        radial-gradient(circle at 84% 8%, rgba(255, 183, 3, 0.16), transparent 28%),
        linear-gradient(155deg, var(--tdr-test-lagoon) 0%, #ffffff 62%, #f8fffc 100%) !important;
}

.sub-section::before,
.rec-section::before,
.rec-stories-section::before,
.rec-training-section::before,
.rec-numbers-section::before,
.rec-gallery-section::before,
.rec-guideline-section::before,
.wk-works::before,
.edu-intro-section::before,
.edu-section::before,
.ngt-highlights::before,
.ngt-entry::before,
.ngt-req::before,
.ma-hero::before,
.ma-qa-section::before,
.gl-section::before,
.news-archive::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 72px;
    z-index: -1;
    background: linear-gradient(120deg, rgba(46, 196, 182, 0.14), rgba(0, 166, 251, 0.11), rgba(255, 183, 3, 0.13));
    clip-path: polygon(0 0, 100% 0, 100% 34%, 0 100%);
    pointer-events: none;
}

.sub-section::after,
.rec-section::after,
.rec-stories-section::after,
.rec-training-section::after,
.rec-numbers-section::after,
.rec-gallery-section::after,
.rec-guideline-section::after,
.wk-works::after,
.edu-intro-section::after,
.edu-section::after,
.ngt-highlights::after,
.ngt-entry::after,
.ngt-req::after,
.ma-hero::after,
.ma-qa-section::after,
.gl-section::after,
.news-archive::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: linear-gradient(90deg, rgba(32, 52, 58, 0.032) 1px, transparent 1px),
                      linear-gradient(180deg, rgba(32, 52, 58, 0.024) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.32), transparent 62%);
    pointer-events: none;
}

.sub-container,
.wk-works-inner,
.edu-intro-wrap,
.edu-wrap,
.ngt-wrap,
.ma-hero-inner,
.ma-qa-inner,
.gl-section-inner,
.news-archive-container {
    position: relative;
    z-index: 1;
}

.info-table-wrapper,
.dispatch-block,
.branch-card,
.awards-card,
.wk-card,
.rec-story-card,
.training-chart,
.edu-flex,
.ngt-hl,
.ngt-table,
.ma-qa-inner,
.gl-filter-inner,
.news-archive-item,
.iso-quality,
.iso-cert-card,
.financial-row {
    box-shadow: 0 18px 48px rgba(32, 52, 58, 0.10) !important;
    border-color: rgba(46, 196, 182, 0.22) !important;
}

.sub-bg-num,
.sub-bg-text {
    color: rgba(46, 196, 182, 0.10) !important;
}

.history-timeline::before,
.timeline-bar,
.timeline-bar--continuous,
.ngt-tag,
.ngt-tag--blue,
.awards-label,
.branch-toggle,
.financial-link,
.rec-more,
.gl-cat,
.news-archive-new {
    border-color: var(--tdr-test-mint) !important;
    color: var(--tdr-test-ink) !important;
}

.timeline-bar,
.timeline-bar--continuous,
.ngt-tag,
.ngt-tag--blue,
.awards-label,
.news-archive-new {
    background: rgba(46, 196, 182, 0.14) !important;
}

/* 拠点一覧: 旧テーマの赤背景を残さず、ページ共通のミント配色へ統一 */
.branch-toggle {
    background: var(--tdr-test-mint) !important;
}

.rec-more:hover .rec-more-icon,
.branch-toggle:hover,
.financial-link:hover,
.ngt-btn:hover,
.gl-cat:hover,
.news-archive-item:hover .news-archive-arrow {
    background: var(--tdr-test-amber) !important;
    border-color: var(--tdr-test-amber) !important;
    color: var(--tdr-test-ink) !important;
}

@media (prefers-reduced-motion: no-preference) {
    .page-hero::after,
    .news-hero::after,
    .sub-section::before,
    .rec-section::before,
    .rec-stories-section::before,
    .rec-training-section::before,
    .rec-numbers-section::before,
    .rec-gallery-section::before,
    .rec-guideline-section::before,
    .wk-works::before,
    .edu-intro-section::before,
    .edu-section::before,
    .ngt-highlights::before,
    .ngt-entry::before,
    .ngt-req::before,
    .ma-hero::before,
    .ma-qa-section::before,
    .gl-section::before,
    .news-archive::before {
        background-size: 220% 100%;
        animation: tdrTestColorSweep 12s ease-in-out infinite alternate;
    }
}


/* ========================================
   Profile page refinements
======================================== */
#policy .sub-title-ja {
    color: #fff !important;
}

#financial .dispatch-block {
    padding: 30px 34px;
    background: rgba(255, 255, 255, 0.78);
    border-radius: 8px;
}

#financial .financial-list {
    max-width: none;
}

#financial .financial-row {
    gap: 28px;
    padding: 18px 22px;
    margin-bottom: 12px;
    border: 1px solid rgba(46, 196, 182, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
}

#financial .financial-row:last-child {
    margin-bottom: 0;
}

#financial .financial-label {
    flex: 1 1 auto;
    min-width: 0;
}

#financial .financial-link {
    flex: 0 0 auto;
    white-space: nowrap;
}

#womenplan .dispatch-block {
    max-width: 900px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#womenplan .womenplan-intro {
    max-width: 820px;
    margin: 0 auto 34px;
    padding: 0;
    border-bottom: 0;
    color: var(--tdr-test-ink);
    font-size: 1.55rem;
    line-height: 2.05;
    text-align: left;
}

#womenplan .info-table-wrapper {
    padding: 26px 30px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(46, 196, 182, 0.18);
    border-radius: 8px;
}


/* ========================================
   Employment page refinements
======================================== */
.rec-facts .rec-title-ja,
.rec-facts .rec-title-en {
    color: #fff !important;
    text-shadow: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.rec-facts-header {
    background: transparent !important;
    box-shadow: none !important;
}

/* ========================================
   Message page refinements
======================================== */
.ma-qa-inner {
    padding: clamp(24px, 4vw, 64px);
}

.ma-qa-num-col {
    padding-left: 8px;
}

/* ========================================
   Career page refinements
======================================== */
.ngt-highlights {
    position: relative;
    z-index: 3;
    overflow: visible;
}

.ngt-highlights .ngt-wrap,
.ngt-hl-grid {
    position: relative;
    z-index: 5;
}

.ngt-hl-grid {
    isolation: isolate;
}

.ngt-hero {
    z-index: 1;
}

.ngt-hero-bg {
    z-index: 0;
}

.ngt-hero-inner {
    z-index: 2;
}

@media (max-width: 768px) {
    .ma-qa-inner {
        padding-left: 0;
        padding-right: 0;
    }
    .ma-qa-num-col {
        padding-left: 0;
    }
}


/* Message page: add breathing room below Q3 and Q5 text-only blocks. */
.ma-qa-section:nth-of-type(5) .ma-qa-body-ed,
.ma-qa-section:nth-of-type(7) .ma-qa-body-ed {
    margin-bottom: clamp(44px, 5vw, 72px);
}

/* ========================================
   Partners / Contact page background refresh
======================================== */
.pt-section,
.fm-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.pt-message {
    background:
        radial-gradient(circle at 82% 16%, rgba(0, 166, 251, 0.17), transparent 30%),
        radial-gradient(circle at 12% 82%, rgba(46, 196, 182, 0.16), transparent 34%),
        linear-gradient(145deg, #ffffff 0%, var(--tdr-test-cloud) 56%, #eefcf7 100%) !important;
}

.pt-download {
    background:
        radial-gradient(circle at 10% 18%, rgba(255, 183, 3, 0.18), transparent 30%),
        radial-gradient(circle at 92% 78%, rgba(46, 196, 182, 0.16), transparent 30%),
        linear-gradient(155deg, var(--tdr-test-lagoon) 0%, #ffffff 58%, #f7fbff 100%) !important;
}

.pt-helpline,
.fm-section {
    background:
        radial-gradient(circle at 88% 10%, rgba(255, 183, 3, 0.20), transparent 28%),
        radial-gradient(circle at 12% 88%, rgba(0, 166, 251, 0.13), transparent 32%),
        linear-gradient(150deg, #ffffff 0%, var(--tdr-test-sun) 42%, #effbf7 100%) !important;
}

.pt-section::before,
.fm-section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 76px;
    z-index: -1;
    background: linear-gradient(120deg, rgba(46, 196, 182, 0.16), rgba(0, 166, 251, 0.12), rgba(255, 183, 3, 0.16));
    clip-path: polygon(0 0, 100% 0, 100% 36%, 0 100%);
    pointer-events: none;
}

.pt-section::after,
.fm-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: linear-gradient(90deg, rgba(32, 52, 58, 0.032) 1px, transparent 1px),
                      linear-gradient(180deg, rgba(32, 52, 58, 0.024) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.30), transparent 66%);
    pointer-events: none;
}

.pt-message-inner,
.pt-download-inner,
.pt-helpline-inner,
.fm-container {
    position: relative;
    z-index: 1;
}

.pt-message::before {
    color: rgba(46, 196, 182, 0.12) !important;
}

.pt-kicker,
.pt-block-head-num,
.pt-block-head-en,
.pt-dl-format span,
.pt-notice-label,
.pt-help-list-num,
.pt-contact-label,
.fm-head-en,
.fm-group-num,
.fm-group-en {
    color: var(--tdr-test-mint) !important;
}

.pt-heading small,
.fm-intro {
    color: var(--tdr-test-muted) !important;
}

.pt-block-head-text,
.fm-group-text {
    border-bottom-color: var(--tdr-test-ink) !important;
}

.pt-download::before,
.pt-contact::before,
.fm-head-ja::after,
.pt-help-panel-title::before {
    background: linear-gradient(90deg, var(--tdr-test-mint), var(--tdr-test-sky), var(--tdr-test-amber)) !important;
}

.pt-dl-card,
.pt-notice,
.pt-help-panel,
.fm-form-wrap,
.fm-consent,
.fm-privacy-note {
    background: rgba(255, 255, 255, 0.82) !important;
    border-color: rgba(46, 196, 182, 0.18) !important;
    box-shadow: 0 18px 50px rgba(32, 52, 58, 0.08);
    backdrop-filter: blur(5px);
}

/* フォームの白カードに内側の余白を持たせる
   （白背景の左右に余白がなく、項目名や入力欄が端に貼り付いて見えるため） */
.fm-form-wrap {
    padding: 44px 48px 48px !important;
    border-radius: 10px;
}
.fm-consent,
.fm-privacy-note {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

@media (max-width: 768px) {
    .fm-form-wrap {
        padding: 28px 20px 32px !important;
    }
    .fm-consent,
    .fm-privacy-note {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

.pt-dl-card:hover {
    border-color: var(--tdr-test-mint) !important;
    box-shadow: 0 20px 52px rgba(46, 196, 182, 0.16) !important;
}

.pt-dl-card:hover .pt-dl-arrow,
.fm-privacy-note a,
.fm-consent-policy a {
    color: var(--tdr-test-mint) !important;
}

.pt-notice {
    border-left-color: var(--tdr-test-amber) !important;
}

.pt-help-list-num {
    border-right-color: var(--tdr-test-mint) !important;
}

.pt-contact {
    background:
        radial-gradient(circle at 92% 16%, rgba(255, 183, 3, 0.18), transparent 26%),
        linear-gradient(145deg, rgba(255,255,255,0.92), rgba(233,251,246,0.92)) !important;
    border-color: rgba(46, 196, 182, 0.24) !important;
    box-shadow: 0 22px 58px rgba(32, 52, 58, 0.10);
}

.pt-contact::after {
    color: rgba(0, 166, 251, 0.08) !important;
}

.pt-contact-btn,
.fm-next-btn,
.fm-send-btn,
.fm-complete-btn,
.fm-tag.req {
    background: var(--tdr-test-mint) !important;
    box-shadow: 0 12px 28px rgba(46, 196, 182, 0.24) !important;
    color: #fff !important;
}

.pt-contact-btn:hover,
.fm-next-btn:hover,
.fm-send-btn:hover:not(:disabled),
.fm-complete-btn:hover,
.fm-zip-btn:hover {
    background: var(--tdr-test-sky) !important;
    box-shadow: 0 14px 30px rgba(0, 166, 251, 0.24) !important;
}

.fm-zip-btn,
.pt-help-sub li::before {
    background: var(--tdr-test-sky) !important;
}

.fm-tag.opt {
    background: var(--tdr-test-cloud) !important;
    color: var(--tdr-test-muted) !important;
}

.fm-form-wrap input:focus,
.fm-form-wrap textarea:focus,
.fm-form-wrap select:focus {
    border-color: var(--tdr-test-mint) !important;
    box-shadow: 0 0 0 3px rgba(46, 196, 182, 0.14) !important;
}

.fm-consent-check input[type="checkbox"] {
    accent-color: var(--tdr-test-mint);
}

/* Contact page: keep form fields away from the glass panel edges. */
body.page-template-page-contact .fm-form-wrap {
    padding: clamp(28px, 4vw, 46px);
}

@media (max-width: 768px) {
    body.page-template-page-contact .fm-form-wrap {
        padding: 24px 18px;
    }
}
