/* ThermaVein uses the existing Pulse Aesthetics components and teal palette. */
.page-thermavein { --color-pulse-main: var(--color-laser); --color-pulse-deep: var(--color-laser); }
.page-thermavein .hero-content { transform: none; }
.page-thermavein .hero-content h1 { text-wrap: balance; }
.page-thermavein .hero-content p { color: white; max-width: none; }
.page-thermavein .hero-content .btn-group { margin-top: 1.5rem; }
.thermavein-split { align-items: start; }
.thermavein-split > * { min-width: 0; }
.page-thermavein .content-col .btn-group { justify-content: flex-start; }
.thermavein-contain img { object-fit: contain; background: white; padding: 5%; }
.thermavein-section-heading { max-width: 900px; margin-inline: auto; }
.thermavein-section-heading p { max-width: none; }
.thermavein-narrow { max-width: 960px; }
.thermavein-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem; margin: 3.5rem 0 0; padding: 0; list-style: none; }
.thermavein-steps li { text-align: center; }
.thermavein-steps img { display: block; width: min(240px,80%); height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 50%; box-shadow: var(--shadow-card); margin: 0 auto 2rem; }
.thermavein-steps h3 { margin-bottom: .6rem; }
.thermavein-steps p { max-width: 320px; margin-inline: auto; }
.thermavein-list { padding-left: 1.3rem; margin: 1.5rem 0; color: var(--text-muted); }
.thermavein-list li { padding-left: .35rem; margin-bottom: .85rem; line-height: 1.8; }
.thermavein-list li::marker { color: var(--color-laser); }
.thermavein-table-scroll { overflow-x: auto; border: 1px solid var(--border-light); border-radius: var(--radius-md); margin: 2.5rem 0; background: white; }
.thermavein-table-scroll table { width: 100%; border-collapse: collapse; text-align: left; font-size: .95rem; }
.thermavein-table-scroll th, .thermavein-table-scroll td { padding: 1.25rem; vertical-align: top; border-bottom: 1px solid var(--border-light); color: var(--text-muted); }
.thermavein-table-scroll th { color: var(--text-main); font-weight: 500; }
.thermavein-table-scroll thead { background: var(--bg-surface-alt); }
.thermavein-table-scroll tr:last-child > * { border-bottom: 0; }
.thermavein-compare { min-width: 820px; table-layout: fixed; }
.thermavein-compare th:first-child { width: 19%; }
.thermavein-compare td:nth-child(2), .thermavein-compare thead th:nth-child(2) { background: #eaf6f7; }
.thermavein-price-grid { margin-top: 3rem; }
.thermavein-price-grid .thermavein-table-scroll { margin-top: 0; }
.thermavein-price td:last-child { font-size: 1.25rem; color: var(--text-main); }
.thermavein-price td:last-child, .thermavein-price th:last-child { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.thermavein-table-note { text-align: center; }
.thermavein-table-note p { max-width: 900px; margin-inline: auto; }
.page-thermavein #faqs .faq-container { margin-top: 3rem; }
.thermavein-faq-heading { margin: 0; font-size: inherit; }
.page-thermavein .faq-question { width: 100%; border: 0; text-align: left; font-family: inherit; gap: 1rem; }
.page-thermavein .faq-toggle-icon { flex-shrink: 0; font-weight: 300; color: var(--text-muted); transform: rotate(-45deg); }
.page-thermavein .faq-item.active .faq-toggle-icon { transform: rotate(0deg); color: var(--color-laser-brand); }
.page-thermavein .faq-content-wrapper { padding: 1.5rem; }
.page-thermavein .faq-content-wrapper p { padding: 0; margin-bottom: 1rem; }
.page-thermavein .faq-content-wrapper > :last-child { margin-bottom: 0; }
.page-thermavein .faq-content-wrapper li { font-size: .95rem; }
.page-thermavein #faqs .btn-group { justify-content: center; margin-top: 2.5rem; }
.thermavein-disclaimer { padding-top: 0; padding-bottom: 2rem; }
.thermavein-disclaimer-panel { background: rgba(154,215,217,.08); border: 1px solid rgba(154,215,217,.3); border-radius: var(--radius-md,10px); padding: 1.25rem 1.5rem; }
.thermavein-disclaimer p { font-size: .85rem; color: var(--text-muted); margin: 0; line-height: 1.6; max-width: none; }
.thermavein-recovery-grid { align-items: start; gap: 4rem; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.thermavein-recovery-grid .image-col { margin-top: 2rem; }
.thermavein-recovery-grid .recovery-box { border-left-color: var(--color-laser); box-shadow: var(--shadow-sm); }
.thermavein-recovery-grid .recovery-list li { margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--border-light); }
.thermavein-recovery-grid .recovery-list li:first-child { padding-top: 0; }
.thermavein-recovery-grid .recovery-list li:last-child { border-bottom: 0; }
.thermavein-recovery-grid .recovery-list li strong { flex: 0 0 140px; }
.thermavein-recovery-grid .recovery-list li span { flex: 1; min-width: 0; }
.thermavein-recovery-grid .btn-group { margin-top: 1.5rem; }
@media(max-width: 991px) {
 .thermavein-recovery-grid { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
 .thermavein-recovery-grid .image-wrapper { max-height: 440px; }
}
@media(max-width: 767px) {
 .thermavein-recovery-grid .recovery-box { padding: 1.5rem; }
 .thermavein-recovery-grid .recovery-list li strong { flex: auto; }
 .thermavein-recovery-grid .btn { white-space: normal; text-align: center; }
}
.page-thermavein :is(a,button,.thermavein-table-scroll):focus-visible { outline: 3px solid #387f82; outline-offset: 4px; }
@media(max-width: 992px) {
 .page-thermavein .laser-hero .hero-content { max-width: none; }
 .thermavein-steps { gap: 1.5rem; }
}
@media(max-width: 600px) {
 .thermavein-steps { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
 .thermavein-steps img { max-width: 200px; }
 .thermavein-table-scroll th, .thermavein-table-scroll td { padding: .85rem .65rem; font-size: .85rem; }
 .thermavein-price td:last-child { font-size: 1rem; }
 .thermavein-price th:first-child { width: 40%; }
 .page-thermavein .faq-question { padding: 1.25rem; }
}
@media(prefers-reduced-motion:reduce) {
 .page-thermavein .faq-answer { transition: none; }
 .page-thermavein :is(.fade-up-1,.fade-up-2,.fade-up-3) { animation: none; opacity: 1; transform: none !important; }
 .page-thermavein :is(.reveal,.reveal-left,.reveal-right) { transition: none; opacity: 1; transform: none !important; }
}
