/* Contact (template-contact-v2.php) and thank-you (template-thank-you-v2.php) pages.
   Shared v2 components come from cpd-v2 / home-v2; form fields reuse the popup styles (.site-popup__* in global.min.css). */

.ct2 .ct2-hero-section .home2-hero { padding-bottom: clamp(32px, 4vw, 56px); }
.ct2 .ct2-hero__title { max-width: 900px; }
.ct2 .ct2-hero__lead a { color: var(--cpd-red); text-decoration: underline; text-underline-offset: 3px; }
.ct2 .ct2-check { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 50%; background: var(--cpd-green); color: var(--cpd-white); box-shadow: 0 12px 32px -14px rgba(0, 182, 122, .7); }

/* Contact: form + details */
.ct2 .ct2-contact { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; align-items: start; padding-top: 8px; }
.ct2 .ct2-form-card { padding: clamp(24px, 3vw, 40px); border-radius: 22px; background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.ct2 .ct2-form-card__title { margin: 0 0 24px; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.2; font-weight: 500; color: var(--cpd-ink); }
.ct2 .ct2-form { display: flex; flex-direction: column; gap: 4px; }
.ct2 .ct2-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ct2 .ct2-form .site-popup__actions { margin-top: 8px; }
.ct2 .ct2-form .site-popup__submit { width: 100%; }

.ct2 .ct2-info { display: flex; flex-direction: column; gap: 4px; padding: clamp(24px, 3vw, 32px); border-radius: 22px; background: var(--cpd-ink); color: var(--cpd-white); position: sticky; top: 110px; }
.ct2 .ct2-info__block { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.ct2 .ct2-info__block:first-child { padding-top: 0; }
.ct2 .ct2-info__icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(255, 255, 255, .08); color: var(--cpd-red-soft); }
.ct2 .ct2-info__label { display: block; margin-bottom: 4px; font-size: 13px; line-height: 18px; letter-spacing: .04em; text-transform: uppercase; color: #B2B5BC; }
.ct2 .ct2-info__value { font-size: 17px; line-height: 25px; color: var(--cpd-white); font-style: normal; text-decoration: none; }
.ct2 a.ct2-info__value:hover { color: var(--cpd-red-soft); }
.ct2 .ct2-info__links { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 20px; }
.ct2 .ct2-info__chip { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); color: var(--cpd-white); font-size: 14px; text-decoration: none; transition: background .2s ease; }
.ct2 .ct2-info__chip:hover { background: rgba(255, 255, 255, .16); }

/* What happens next */
.ct2 .ct2-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: none; }
.ct2 .ct2-step { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; border-radius: 20px; background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.ct2 .ct2-step__num { font-size: 14px; line-height: 20px; font-weight: 500; color: var(--cpd-red); }
.ct2 .ct2-step__title { margin: 0; font-size: 20px; line-height: 26px; font-weight: 500; color: var(--cpd-ink); }
.ct2 .ct2-step__text { margin: 0; font-size: 15px; line-height: 23px; color: var(--cpd-muted); }

/* While you wait */
.ct2 .ct2-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ct2 .ct2-link-card { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 28px 64px 28px 24px; border-radius: 20px; background: var(--cpd-white); border: 1px solid var(--cpd-line); color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.ct2 .ct2-link-card:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -24px rgba(16, 24, 40, .35); }
.ct2 .ct2-link-card__title { font-size: 20px; line-height: 26px; font-weight: 500; color: var(--cpd-ink); }
.ct2 .ct2-link-card__text { font-size: 15px; line-height: 23px; color: var(--cpd-muted); }
.ct2 .ct2-link-card__arrow { position: absolute; top: 24px; right: 22px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: var(--cpd-ink); color: var(--cpd-white); }

@media (max-width: 1100px) {
    .ct2 .ct2-contact { grid-template-columns: 1fr; }
    .ct2 .ct2-info { position: static; }
    .ct2 .ct2-steps, .ct2 .ct2-links { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .ct2 .ct2-form__row { grid-template-columns: 1fr; gap: 0; }
    /* 16px stops iOS Safari from zooming into the page when a field gets focus */
    .ct2 .ct2-form .site-popup__field input, .ct2 .ct2-form .site-popup__field textarea { font-size: 16px; }
    .ct2 a.ct2-info__value { display: inline-block; padding: 10px 0; margin: -10px 0; }
}
