:root{
	--ch-mark-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 71 47'%3E%3Cpath d='M42.81 32.87C36.87 32.87 30.93 32.92 24.99 32.85C21.38 32.95 18.04 30.94 16.44 27.70C13.16 21.47 17.72 14.18 24.92 14.11C31.76 14.05 38.60 14.09 45.44 14.09C50.51 14.09 55.59 14.10 60.66 14.09C62.37 14.17 64.00 13.35 64.95 11.92C67.11 8.65 64.33 5.42 61.68 5.09C61.11 5.04 60.53 5.02 59.95 5.04C55.00 5.03 50.06 5.03 45.11 5.04C43.92 5.04 42.88 4.76 42.33 3.54C41.77 2.34 42.29 0.90 43.50 0.33C43.80 0.19 44.13 0.11 44.47 0.11C50.25 0.09 56.05 -0.18 61.81 0.19C66.94 0.51 70.85 4.93 70.53 10.06C70.50 10.62 70.42 11.16 70.29 11.70C69.27 15.93 65.20 18.99 60.48 18.98C48.73 18.95 36.97 18.98 25.22 18.96C23.37 18.84 21.62 19.82 20.77 21.47C19.16 24.50 21.46 27.96 25.10 27.98C31.30 28.01 37.49 27.98 43.69 27.98C49.51 27.98 55.32 27.93 61.13 28.01C66.28 27.96 70.49 32.10 70.54 37.25C70.55 39.04 70.05 40.80 69.10 42.31C67.49 45.08 64.52 46.77 61.32 46.74C55.79 46.82 50.27 46.78 44.74 46.77C43.40 46.88 42.22 45.88 42.10 44.54C42.10 44.47 42.09 44.40 42.09 44.33C42.15 42.95 43.30 41.86 44.69 41.90C45.04 41.88 45.39 41.89 45.75 41.89C50.82 41.89 55.90 41.91 60.97 41.89C63.52 41.87 65.69 39.84 65.71 37.51C65.70 34.95 63.61 32.87 61.04 32.89C61.04 32.89 61.04 32.89 61.03 32.89C55.83 32.86 50.63 32.88 45.43 32.89H42.82V32.87' fill='%23000' fill-opacity='.10'/%3E%3Cpath d='M28.96 46.76C26.36 46.67 23.10 47.00 19.88 46.42C13.38 45.39 7.61 41.69 3.94 36.23C1.18 32.37 -0.19 27.70 0.02 22.97C0.45 13.58 5.09 6.85 13.38 2.63C16.78 0.92 20.54 0.06 24.35 0.11C28.55 0.12 32.76 0.11 36.97 0.11C38.35 -0.00 39.56 1.01 39.69 2.39C39.69 2.45 39.69 2.51 39.69 2.58C39.71 4.05 38.64 5.05 36.98 5.05C32.67 5.07 28.36 4.98 24.06 5.08C15.83 5.27 9.70 8.99 6.31 16.56C3.61 22.61 4.42 28.56 8.28 33.92C12.11 39.22 17.45 41.82 23.97 41.89C28.21 41.95 32.45 41.90 36.69 41.91C37.37 41.84 38.05 41.99 38.63 42.33C39.53 42.96 39.92 44.10 39.58 45.15C39.27 46.13 38.34 46.79 37.30 46.75C34.73 46.77 32.16 46.75 28.96 46.75' fill='%23000' fill-opacity='.07'/%3E%3C/svg%3E");
	--ch-mark-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 71 47'%3E%3Cpath d='M42.81 32.87C36.87 32.87 30.93 32.92 24.99 32.85C21.38 32.95 18.04 30.94 16.44 27.70C13.16 21.47 17.72 14.18 24.92 14.11C31.76 14.05 38.60 14.09 45.44 14.09C50.51 14.09 55.59 14.10 60.66 14.09C62.37 14.17 64.00 13.35 64.95 11.92C67.11 8.65 64.33 5.42 61.68 5.09C61.11 5.04 60.53 5.02 59.95 5.04C55.00 5.03 50.06 5.03 45.11 5.04C43.92 5.04 42.88 4.76 42.33 3.54C41.77 2.34 42.29 0.90 43.50 0.33C43.80 0.19 44.13 0.11 44.47 0.11C50.25 0.09 56.05 -0.18 61.81 0.19C66.94 0.51 70.85 4.93 70.53 10.06C70.50 10.62 70.42 11.16 70.29 11.70C69.27 15.93 65.20 18.99 60.48 18.98C48.73 18.95 36.97 18.98 25.22 18.96C23.37 18.84 21.62 19.82 20.77 21.47C19.16 24.50 21.46 27.96 25.10 27.98C31.30 28.01 37.49 27.98 43.69 27.98C49.51 27.98 55.32 27.93 61.13 28.01C66.28 27.96 70.49 32.10 70.54 37.25C70.55 39.04 70.05 40.80 69.10 42.31C67.49 45.08 64.52 46.77 61.32 46.74C55.79 46.82 50.27 46.78 44.74 46.77C43.40 46.88 42.22 45.88 42.10 44.54C42.10 44.47 42.09 44.40 42.09 44.33C42.15 42.95 43.30 41.86 44.69 41.90C45.04 41.88 45.39 41.89 45.75 41.89C50.82 41.89 55.90 41.91 60.97 41.89C63.52 41.87 65.69 39.84 65.71 37.51C65.70 34.95 63.61 32.87 61.04 32.89C61.04 32.89 61.04 32.89 61.03 32.89C55.83 32.86 50.63 32.88 45.43 32.89H42.82V32.87' fill='%23122D5A' fill-opacity='.05'/%3E%3Cpath d='M28.96 46.76C26.36 46.67 23.10 47.00 19.88 46.42C13.38 45.39 7.61 41.69 3.94 36.23C1.18 32.37 -0.19 27.70 0.02 22.97C0.45 13.58 5.09 6.85 13.38 2.63C16.78 0.92 20.54 0.06 24.35 0.11C28.55 0.12 32.76 0.11 36.97 0.11C38.35 -0.00 39.56 1.01 39.69 2.39C39.69 2.45 39.69 2.51 39.69 2.58C39.71 4.05 38.64 5.05 36.98 5.05C32.67 5.07 28.36 4.98 24.06 5.08C15.83 5.27 9.70 8.99 6.31 16.56C3.61 22.61 4.42 28.56 8.28 33.92C12.11 39.22 17.45 41.82 23.97 41.89C28.21 41.95 32.45 41.90 36.69 41.91C37.37 41.84 38.05 41.99 38.63 42.33C39.53 42.96 39.92 44.10 39.58 45.15C39.27 46.13 38.34 46.79 37.30 46.75C34.73 46.77 32.16 46.75 28.96 46.75' fill='%23122D5A' fill-opacity='.04'/%3E%3C/svg%3E");
	--ch-pipes-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='40' viewBox='0 0 560 40'%3E%3Crect width='560' height='14' rx='7' fill='%2300CCB3'/%3E%3Crect y='26' width='420' height='14' rx='7' fill='%23FFFFFF'/%3E%3C/svg%3E");
	--ch-pipes-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='40' viewBox='0 0 560 40'%3E%3Crect width='560' height='14' rx='7' fill='%23122D5A'/%3E%3Crect y='26' width='420' height='14' rx='7' fill='%2300CCB3'/%3E%3C/svg%3E");
}
/* ==========================================================================
   Coolhome theme styles
   Colours and type sizes come from the Coolhome Figma design system.
   Page layouts are Elementor settings; this file styles the theme header,
   footer fallback, forms and a few shared component classes (prefixed ch-).
   ========================================================================== */
:root {
	--ch-navy: #122D5A; --ch-teal: #00CCB3; --ch-white: #fff; --ch-mist: #F3F6F8; --ch-slate: #5B6B82;
	--ch-navy-80: #41577B; --ch-navy-60: #71819C; --ch-navy-40: #A0ABBD; --ch-navy-20: #D0D5DE;
	--ch-teal-80: #33D6C2; --ch-teal-20: #CCF5F0;
	--ch-font: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ch-radius: 16px; --ch-gutter: 24px; --ch-max: 1440px;
}
@media (max-width: 767px) { :root { --ch-gutter: 20px; } }

/* ---------- base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body.coolhome { margin: 0; font-family: var(--ch-font); font-size: 16px; line-height: 1.6; color: var(--ch-slate); background: #fff; -webkit-font-smoothing: antialiased; }
body.coolhome img { max-width: 100%; height: auto; }
body.coolhome a { color: var(--ch-navy); }
.ch-menu-open, .ch-menu-open body { overflow: hidden; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ch-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--ch-navy); color: #fff !important; padding: 10px 16px; border-radius: 8px; }
.ch-skip:focus { left: 8px; }
:where(.coolhome) :focus-visible { outline: 3px solid var(--ch-teal); outline-offset: 2px; }
.ch-i { flex: none; display: inline-block; vertical-align: middle; }

/* ---------- buttons (theme templates and forms) ---------- */
.ch-button, button.ch-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 16px 28px; border: 0; border-radius: 999px; background: var(--ch-teal); color: var(--ch-navy) !important;
	font: 600 15px/1 var(--ch-font); letter-spacing: .2px; text-decoration: none; cursor: pointer; transition: background .2s, transform .2s;
}
.ch-button:hover { background: var(--ch-teal-80); }
.ch-button:active { transform: translateY(1px); }
.ch-button[disabled] { opacity: .6; cursor: progress; }
.ch-button--block { width: 100%; }

/* ---------- announcement strip ---------- */
.ch-announce { background: var(--ch-navy); color: #fff; font-size: 14px; line-height: 1.5; overflow: hidden; }
.ch-announce__track { max-width: var(--ch-max); margin: 0 auto; padding: 11px var(--ch-gutter); display: flex; justify-content: center; }
.ch-announce__item { display: inline-flex; align-items: center; gap: 14px; white-space: nowrap; }
.ch-announce .ch-i { color: var(--ch-teal); }
.ch-announce a { color: var(--ch-teal) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1024px) {
	.ch-announce__track { justify-content: flex-start; padding: 9px 0; }
	.ch-announce__item { padding-left: 100%; animation: ch-ticker 22s linear infinite; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .ch-announce__item { animation: none; padding-left: var(--ch-gutter); white-space: normal; } }
@keyframes ch-ticker { to { transform: translateX(-100%); } }

/* ---------- header ---------- */
.ch-header { position: sticky; top: 0; z-index: 90; background: #fff; border-bottom: 1px solid var(--ch-navy-20); transition: box-shadow .2s; }
.admin-bar .ch-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ch-header { top: 0; } }
.ch-header.is-scrolled { box-shadow: 0 6px 24px rgba(18, 45, 90, .08); }
.ch-header__inner { max-width: var(--ch-max); margin: 0 auto; padding: 0 var(--ch-gutter); height: 88px; display: flex; align-items: center; gap: 32px; }
.ch-logo, .custom-logo-link { display: inline-flex; flex: none; }
.ch-logo img, .custom-logo { width: 240px; height: auto; display: block; }
.ch-nav { margin-left: auto; }
.ch-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 40px; }
.ch-nav__list a { color: var(--ch-navy); text-decoration: none; font: 500 15px/1.4 var(--ch-font); padding: 8px 0; border-bottom: 2px solid transparent; transition: border-color .2s; }
.ch-nav__list a:hover, .ch-nav__list .current-menu-item > a, .ch-nav__list .current_page_item > a, .ch-nav__list .current-page-ancestor > a { border-color: var(--ch-teal); }
.ch-header__actions { display: flex; align-items: center; gap: 28px; margin-left: 40px; }
.ch-header__phone { display: inline-flex; align-items: center; gap: 7px; color: var(--ch-navy) !important; font: 500 15px/1.4 var(--ch-font); text-decoration: none; white-space: nowrap; }
.ch-header__phone .ch-i { color: var(--ch-teal); }
.ch-menu-toggle { display: none; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--ch-navy-20); background: #fff; color: var(--ch-navy); font: 600 15px/1 var(--ch-font); cursor: pointer; }
.ch-menu-toggle span { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 1280px) { .ch-nav__list { gap: 24px; } .ch-header__actions { margin-left: 24px; gap: 20px; } }
@media (max-width: 1160px) {
	.ch-nav { display: none; }
	.ch-header__actions { margin-left: auto; }
	.ch-menu-toggle { display: inline-flex; }
}
@media (max-width: 767px) {
	.ch-header__inner { height: 64px; gap: 12px; }
	.ch-logo img, .custom-logo { width: 150px; }
	.ch-header__actions { gap: 10px; }
	.ch-header__actions > .ch-button { display: none; }
	.ch-header__phone span { display: none; }
	.ch-header__phone { width: 44px; height: 44px; justify-content: center; border-radius: 50%; background: var(--ch-teal-20); }
	.ch-header__phone .ch-i { color: var(--ch-navy); }
}

/* mobile menu overlay */
.ch-mobile-menu { position: fixed; inset: 0; z-index: 200; background: var(--ch-navy); color: #fff; padding: 18px 20px 32px; overflow-y: auto; display: flex; flex-direction: column; }
.ch-mobile-menu[hidden] { display: none; }
.ch-mobile-menu__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.ch-mobile-menu__top .ch-logo img { width: 150px; }
.ch-menu-close { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: var(--ch-navy); border: 0; border-radius: 999px; padding: 12px 18px; font: 600 15px/1 var(--ch-font); cursor: pointer; }
.ch-mobile-menu__list { list-style: none; margin: 0 0 28px; padding: 0; }
.ch-mobile-menu__list a { display: flex; align-items: center; justify-content: space-between; padding: 17px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); color: #fff !important; text-decoration: none; font: 500 19px/1.3 var(--ch-font); }
.ch-mobile-menu__list .ch-i { color: var(--ch-teal); }
.ch-mobile-menu__small { list-style: none; margin: 0 0 32px; padding: 0; display: flex; gap: 24px; }
.ch-mobile-menu__small a { color: var(--ch-navy-20) !important; text-decoration: none; font-size: 15px; }
.ch-mobile-menu__phone { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 20px; color: #fff !important; text-decoration: none; font: 500 17px/1 var(--ch-font); }
.ch-mobile-menu__phone .ch-i { color: var(--ch-teal); }

/* simplified header (quote flow) */
.ch-header--simple { position: relative; }
.ch-header--simple .ch-header__inner { justify-content: space-between; }
.ch-header__talk { display: inline-flex; align-items: center; gap: 9px; color: var(--ch-slate) !important; text-decoration: none; font-size: 16px; }
.ch-header__talk .ch-i { color: var(--ch-teal); }
.ch-header__talk strong { color: var(--ch-navy); font-weight: 600; font-size: 15px; }
@media (max-width: 767px) { .ch-header__talk > span { display: none; } }

/* ---------- plain content pages (posts, legal pages) ---------- */
.ch-content { max-width: 820px; margin: 0 auto; padding: 72px var(--ch-gutter) 96px; }
.ch-content__title { color: var(--ch-navy); font: 500 52px/1.1 var(--ch-font); letter-spacing: -.78px; margin: 0 0 24px; }
.ch-entry__content h2, .ch-entry__content h3 { color: var(--ch-navy); font-weight: 500; }
.ch-entry + .ch-entry { margin-top: 40px; }
.ch-label { font: 600 13px/1.2 var(--ch-font); letter-spacing: .5px; color: var(--ch-slate); margin: 0 0 12px; }
@media (max-width: 767px) { .ch-content__title { font-size: 34px; } }

/* footer fallback (shown only before setup has run) */
.ch-footer-fallback { background: var(--ch-navy); color: var(--ch-navy-20); }
.ch-footer-fallback__inner { max-width: var(--ch-max); margin: 0 auto; padding: 64px var(--ch-gutter); }
.ch-footer-fallback a { color: #fff; }
.ch-footer-fallback__small { font-size: 14px; }

/* ==========================================================================
   Elementor component classes
   ========================================================================== */
.elementor-widget-text-editor p { margin: 0 0 1em; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-heading .elementor-heading-title a { color: inherit; }
.ch-breadcrumb a { color: var(--ch-slate) !important; text-decoration: none; }
.ch-breadcrumb a:hover { color: var(--ch-navy) !important; text-decoration: underline; }
.ch-block-wrap { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; }
.ch-block-wrap > .elementor-widget-shortcode, .ch-block-wrap .elementor-shortcode { width: 100%; }
.ch-block-missing, .ch-block-note { padding: 12px 16px; margin: 8px; background: #FFF7D6; color: #5a4a00; border-radius: 8px; font-size: 14px; }
.ch-block-note { background: var(--ch-teal-20); color: var(--ch-navy); }

/* buttons */
.ch-btn .elementor-button { transition: background-color .2s, color .2s, transform .2s; }
.ch-btn .elementor-button:active { transform: translateY(1px); }
.ch-btn--text .elementor-button-icon svg, .ch-btn--text-dark .elementor-button-icon svg, .ch-card-link .elementor-button-icon svg { fill: var(--ch-teal) !important; width: 16px; height: 16px; transition: transform .2s; }
.ch-btn--text .elementor-button:hover .elementor-button-icon svg, .ch-btn--text-dark .elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }
.ch-btn--text .elementor-button-text, .ch-btn--text-dark .elementor-button-text { text-decoration: none; }
.ch-btn .elementor-button-icon svg { fill: currentColor; }

/* cards */
.ch-card { overflow: hidden; transition: box-shadow .25s, transform .25s; }
.ch-card--room:hover, .ch-card--brand:hover, .ch-article-card:hover { box-shadow: 0 16px 40px rgba(18, 45, 90, .10); transform: translateY(-2px); }
.ch-card-img { width: 100%; }
.ch-card-img img { width: 100% !important; display: block; border-radius: 0 !important; }
.ch-card .ch-card-link { margin-top: auto; }
.ch-card--room > .e-con:last-child, .ch-card--unit > .e-con:last-child, .ch-article-card > .e-con:last-child { flex-grow: 1; }
.ch-review { justify-content: space-between; }
.ch-pill .elementor-heading-title { white-space: nowrap; }
.ch-pill--lg { --padding: 8px 14px; }
.ch-img img, .ch-col-img img { width: 100%; display: block; }
.ch-col-img { flex: 1 1 0; min-width: 0; }
.ch-hero-img { flex: 0 1 680px; min-width: 0; }
.ch-logo-img img { object-fit: contain; max-width: 100%; }

/* numbered circles */
.ch-num { flex: none; width: 41px; height: 41px; border-radius: 50%; background: var(--ch-navy); display: flex !important; align-items: center; justify-content: center; }
.ch-num .elementor-heading-title { line-height: 1 !important; }
.ch-num--lg { width: 48px; height: 48px; }
.ch-diagram-step .ch-num { width: 28px; height: 28px; }
.ch-diagram-step .ch-num .elementor-heading-title { font-size: 13px !important; font-weight: 600 !important; }

/* timeline */
.ch-timeline-step { position: relative; }
.ch-timeline-step:not(:last-child)::after { content: ""; position: absolute; left: 23px; top: 56px; bottom: 8px; width: 2px; background: var(--ch-navy-20); }

/* icon lists */
.ch-checks .elementor-icon-list-icon svg { width: 1em; height: 1em; }
.ch-checks.elementor-icon-list--layout-inline .elementor-icon-list-items, .ch-checks .elementor-inline-items { flex-wrap: wrap; row-gap: 8px; }
.ch-bullets .elementor-icon-list-icon svg { width: 8px !important; height: 8px !important; }
.ch-bullets .elementor-icon-list-icon { padding-top: 6px; }
.ch-stages { --gap: 16px; }
.ch-topics .elementor-icon-list-item a { padding: 8px 0; }
.ch-topics .elementor-icon-list-icon svg { width: 14px !important; height: 14px !important; }
.ch-sticky { position: sticky; top: 120px; }
@media (max-width: 1024px) { .ch-sticky { position: static; } }

/* features (icon boxes) */
.ch-feature .elementor-icon-box-title { margin-top: 0; }
.ch-feature .elementor-icon-box-description { margin: 0; }
.ch-appfeat .elementor-icon-box-wrapper { align-items: flex-start; text-align: left; }
.ch-appfeat .elementor-icon { font-size: 20px !important; padding: 12px !important; }

/* hero proof */
.ch-proof-count { border-left: 1px solid rgba(255, 255, 255, .7); padding-left: 24px !important; }
.ch-hero--photo { overflow: hidden; }
@media (max-width: 767px) {
	.ch-hero--photo::before { background-image: linear-gradient(180deg, rgba(18, 46, 89, .7) 0%, rgba(18, 46, 89, .92) 100%) !important; }
	.ch-hero-img { flex-basis: auto; width: 100%; }
}

/* bordered strips */
.ch-bordered { border-top: 1px solid var(--ch-navy-20); border-bottom: 1px solid var(--ch-navy-20); }
.ch-bordered + .ch-block-wrap .ch-bordered, .ch-block-wrap + .ch-block-wrap .ch-acc-strip { border-top: 0; }
.ch-trustbar .elementor-icon-list-item { align-items: center !important; }
.ch-acc-row .ch-logo-img img { height: 56px !important; width: auto !important; }
@media (max-width: 1024px) { .ch-acc-row { --flex-direction: row !important; overflow-x: auto; flex-wrap: nowrap !important; width: 100%; justify-content: flex-start !important; scrollbar-width: none; } .ch-acc-row > .elementor-widget { flex: none !important; } .ch-acc-row .ch-logo-img img { height: 48px !important; } }

/* in-page navigation */
.ch-inpage-nav { position: sticky; top: 88px; z-index: 40; border-bottom: 1px solid var(--ch-navy-20); }
.admin-bar .ch-inpage-nav { top: 120px; }
@media (max-width: 767px) {
	.ch-inpage-nav { top: 64px; }
	.ch-chips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
	.ch-chips > * { flex: none !important; }
}

/* video placeholder */
.ch-video { overflow: hidden; cursor: pointer; }
.ch-play .elementor-icon { box-shadow: 0 0 0 4px #fff; }
.ch-play .elementor-icon { width: 112px; height: 112px; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; }
.ch-play .elementor-icon svg { width: 34px; height: 34px; margin-left: 4px; }
@media (max-width: 767px) {
	.ch-play .elementor-icon { width: 64px; height: 64px; } .ch-play .elementor-icon svg { width: 20px; height: 20px; }
	.ch-video .elementor-heading-title { font-size: 17px !important; }
	.ch-stages { --flex-direction: row !important; flex-wrap: wrap !important; --gap: 10px !important; }
	.ch-stages > .elementor-widget-icon { display: none; }
}

/* comparison bars (Elementor Progress widget) */
.ch-bar .elementor-title { display: block; margin-bottom: 8px; color: var(--ch-navy); }
.ch-bar .elementor-progress-wrapper { overflow: visible; }
.ch-bar .elementor-progress-text { position: absolute; right: 0; top: -34px; line-height: 1.35; padding: 0; color: var(--ch-navy) !important; font-weight: 500; font-size: 20px; }
.ch-bar .elementor-progress-bar { position: static; }
.ch-bar .elementor-progress-wrapper { position: relative; }
.ch-bar .elementor-progress-percentage { display: none; }

/* tables built from containers */
.ch-table { overflow: hidden; }
.ch-table-row + .ch-table-row { border-top: 1px solid var(--ch-navy-20); }
@media (max-width: 767px) { .ch-table-head { display: none !important; } }

/* FAQ accordions */
.ch-faq .elementor-accordion-item, .ch-faq .elementor-toggle-item { border: 0 !important; border-bottom: 1px solid var(--ch-navy-20) !important; margin: 0 !important; }
.ch-faq .elementor-tab-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0 !important; border: 0 !important; cursor: pointer; }
.ch-faq .elementor-tab-title a { color: var(--ch-navy) !important; text-decoration: none; }
.ch-faq .elementor-accordion-icon, .ch-faq .elementor-toggle-icon { order: 2; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--ch-mist); display: inline-flex !important; align-items: center; justify-content: center; }
.ch-faq .elementor-accordion-icon svg, .ch-faq .elementor-toggle-icon svg { width: 14px; height: 14px; fill: var(--ch-navy) !important; }
.ch-faq .elementor-active .elementor-accordion-icon, .ch-faq .elementor-active .elementor-toggle-icon { background: var(--ch-navy); }
.ch-faq .elementor-active .elementor-accordion-icon svg, .ch-faq .elementor-active .elementor-toggle-icon svg { fill: #fff !important; }
.ch-faq .elementor-tab-content { border: 0 !important; padding: 0 64px 24px 0 !important; }
.ch-faq .elementor-tab-content p { margin: 0; }
@media (max-width: 767px) { .ch-faq .elementor-tab-content { padding-right: 0 !important; } }

/* decorative pipelines and brand mark (add these classes to any container) */
.ch-pipes-dark, .ch-pipes-light { position: relative; overflow: hidden; }
.ch-pipes-dark::after, .ch-pipes-light::after { content: ""; position: absolute; left: -40px; bottom: 24px; width: 560px; height: 40px; background: var(--ch-pipes-dark) no-repeat; pointer-events: none; z-index: 2; }
.ch-pipes-light::after { background-image: var(--ch-pipes-light); }
.ch-pipes-top::after { top: 20px; bottom: auto; left: -40px; }
.ch-mark-dark { background-image: var(--ch-mark-dark) !important; background-repeat: no-repeat !important; background-size: 900px auto !important; background-position: right -180px top -90px !important; }
.ch-mark-light { background-image: var(--ch-mark-light) !important; background-repeat: no-repeat !important; background-size: 900px auto !important; background-position: right -160px center !important; }
.ch-footer.ch-mark-dark { background-image: none !important; }
@media (max-width: 767px) {
	.ch-pipes-dark::after, .ch-pipes-light::after { width: 280px; height: 20px; background-size: 280px 20px; bottom: 16px; left: -20px; }
	.ch-pipes-top::after { top: 16px; bottom: auto; }
	.ch-mark-dark, .ch-mark-light { background-size: 420px auto !important; background-position: right -140px top -40px !important; }
}

/* mobile swipe carousels (add class ch-swipe to a row container) */
.ch-dots { display: none; }
@media (max-width: 767px) {
	.ch-swipe { --flex-direction: row !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: calc(-1 * var(--ch-gutter)); padding-right: var(--ch-gutter) !important; --gap: 16px !important; }
	.ch-swipe::-webkit-scrollbar { display: none; }
	.ch-swipe > .e-con { --width: 84% !important; flex: 0 0 84% !important; scroll-snap-align: start; }
	.ch-dots { display: flex; gap: 8px; margin-top: 4px; }
	.ch-dots span { width: 8px; height: 8px; border-radius: 4px; background: var(--ch-navy-20); transition: width .2s, background .2s; }
	.ch-dots span.is-active { width: 20px; background: var(--ch-teal); }
}

/* how-it-works diagram (Air conditioning page) */
.ch-diagram { position: relative; height: 220px; }
.ch-diagram__wall { position: absolute; top: 0; bottom: 0; left: 62%; width: 40px; background: var(--ch-navy-20); }
.ch-diagram__wall span { position: absolute; top: -30px; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 14px; color: var(--ch-slate); }
.ch-diagram__indoor { position: absolute; left: 10%; top: 30px; width: 40%; height: 90px; background: #fff; border: 1px solid var(--ch-navy-20); border-radius: 28px; }
.ch-diagram__indoor i { position: absolute; left: 8%; right: 8%; bottom: 22px; height: 8px; border-radius: 4px; background: var(--ch-navy-20); }
.ch-diagram__indoor b { position: absolute; top: 112px; left: 30%; height: 8px; width: 36%; border-radius: 4px; background: var(--ch-teal); opacity: .9; }
.ch-diagram__indoor b + b { top: 132px; left: 34%; width: 28%; opacity: .6; }
.ch-diagram__indoor b + b + b { top: 152px; left: 39%; width: 20%; opacity: .35; }
.ch-diagram__pipes { position: absolute; left: 50%; top: 60px; width: 30%; }
.ch-diagram__pipes i { display: block; height: 14px; border-radius: 7px; background: var(--ch-navy); margin-bottom: 8px; }
.ch-diagram__pipes i + i { background: var(--ch-teal); }
.ch-diagram__outdoor { position: absolute; right: 4%; top: 20px; width: 17%; height: 170px; background: #fff; border: 1px solid var(--ch-navy-20); border-radius: 20px; }
.ch-diagram__outdoor i { position: absolute; left: 50%; top: 50%; width: 96px; height: 96px; transform: translate(-50%, -50%); border-radius: 50%; border: 8px solid var(--ch-mist); }
@media (max-width: 767px) { .ch-diagram { height: 150px; transform: scale(.9); transform-origin: left top; } .ch-diagram__outdoor { height: 110px; } .ch-diagram__outdoor i { width: 56px; height: 56px; border-width: 6px; } .ch-diagram__indoor { height: 64px; } .ch-diagram__indoor b { display: none; } }

/* footer (Elementor block) */
.ch-footer .ch-footer-links .elementor-icon-list-icon, .ch-footer .ch-footer-legal .elementor-icon-list-icon { display: none !important; }
.ch-footer .ch-footer-links .elementor-icon-list-text, .ch-footer .elementor-icon-list-item a { padding-left: 0 !important; }
.ch-footer a:hover .elementor-icon-list-text { color: var(--ch-teal) !important; }
.ch-footer-base { border-top: 1px solid rgba(255, 255, 255, .18); }
.ch-footer-biz .ch-btn .elementor-button-text { text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.ch-footer-biz > .elementor-widget-icon-list { flex: 1 1 auto; }
.ch-footer-col { flex: 0 1 auto; }
@media (max-width: 1024px) and (min-width: 768px) { .ch-footer-cols > .e-con:first-child { --width: 100% !important; } }
@media (max-width: 767px) { .ch-footer-cols > .e-con { --width: 100% !important; } .ch-footer-biz { flex-direction: column; align-items: flex-start !important; } .ch-footer-base { flex-direction: column-reverse; align-items: flex-start !important; } }

/* quote band quick start */
.ch-quick__options { border: 0; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ch-quick__opt { position: relative; }
.ch-quick__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.ch-quick__opt span { display: flex; align-items: center; justify-content: center; height: 83px; border: 1px solid var(--ch-navy-20); border-radius: 16px; background: #fff; color: var(--ch-navy); font: 500 24px/1 var(--ch-font); transition: background .15s, border-color .15s; }
.ch-quick__opt input:checked + span { background: var(--ch-teal-20); border-color: var(--ch-teal); }
.ch-quick__opt input:focus-visible + span { outline: 3px solid var(--ch-teal); outline-offset: 2px; }
@media (max-width: 767px) { .ch-quick__opt span { height: 60px; font-size: 20px; } .ch-quick .ch-button { width: 100%; } }

/* FAQ search */
.ch-faq-search { position: relative; max-width: 720px; }
.ch-faq-search svg { position: absolute; left: 20px; top: 18px; color: var(--ch-slate); }
.ch-faq-search input { width: 100%; box-sizing: border-box; padding: 18px 20px 18px 56px; border: 1px solid var(--ch-navy-40); border-radius: 999px; background: #fff; font: 400 16px/1.4 var(--ch-font); color: var(--ch-navy); }
.ch-faq-search__none { margin: 12px 0 0; }

/* ---------- forms ---------- */
.ch-form { display: flex; flex-direction: column; gap: 20px; }
.ch-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 767px) { .ch-form__row { grid-template-columns: 1fr; gap: 20px; } }
.ch-field { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.ch-field label, .chq-q, .chq-group legend.chq-q { font: 600 13px/1.2 var(--ch-font); letter-spacing: .5px; color: var(--ch-navy); }
.ch-field input, .ch-field select, .ch-field textarea {
	width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--ch-navy-40); border-radius: 8px; background: #fff;
	font: 400 16px/1.5 var(--ch-font); color: var(--ch-navy); transition: border-color .15s, box-shadow .15s;
}
.ch-field input::placeholder, .ch-field textarea::placeholder { color: var(--ch-slate); opacity: .8; }
.ch-field input:focus, .ch-field select:focus, .ch-field textarea:focus { outline: none; border-color: var(--ch-teal); box-shadow: 0 0 0 3px var(--ch-teal-20); }
.ch-form .ch-button { align-self: flex-start; }
.ch-form__note { display: flex; gap: 9px; align-items: center; margin: 0; font-size: 14px; color: var(--ch-slate); }
.ch-form__note .ch-i { color: var(--ch-teal); }
.ch-form__error, .chq-error { margin: 0; padding: 12px 16px; border-radius: 8px; background: #FDECEC; color: #8A1C1C; font-size: 14px; }
.ch-form__done h3 { color: var(--ch-navy); font: 500 24px/1.3 var(--ch-font); margin: 0 0 8px; }
.ch-hp { position: absolute !important; left: -9999px; }

/* ---------- quote flow ---------- */
body.coolhome.ch-quote-page { background: var(--ch-mist); }
.ch-quote-wrap { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.chq { min-height: calc(100vh - 89px); }
.chq-progress { height: 6px; background: var(--ch-navy-20); }
.chq-progress span { display: block; height: 100%; background: var(--ch-teal); transition: width .35s ease; }
.chq-body { max-width: var(--ch-max); margin: 0 auto; padding: 72px var(--ch-gutter) 96px; display: grid; grid-template-columns: minmax(0, 900px) 420px; justify-content: space-between; gap: 64px; align-items: start; }
@media (max-width: 1100px) { .chq-body { grid-template-columns: 1fr; padding-top: 40px; } }
.chq-step[hidden], .chq-body[hidden] { display: none; }
.chq-step { display: flex; flex-direction: column; gap: 32px; }
.chq-step > .ch-label { margin: 0 0 -16px; }
.chq-title { margin: 0; color: var(--ch-navy); font: 500 52px/1.1 var(--ch-font); letter-spacing: -.78px; outline: none; }
.chq-intro { margin: -12px 0 0; font-size: 19px; color: var(--ch-slate); }
@media (max-width: 767px) { .chq-title { font-size: 34px; } .chq-intro { font-size: 17px; } }
.chq-group { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.chq-group > legend { padding: 0; margin-bottom: 16px; color: var(--ch-navy); font: 500 24px/1.3 var(--ch-font); }
.chq-group > legend.chq-q { margin-bottom: 12px; }
.chq-cards { display: grid; gap: 24px; }
.chq-cards--2 { grid-template-columns: 1fr 1fr; }
.chq-cards--compact { gap: 16px 24px; }
@media (max-width: 767px) { .chq-cards--2 { grid-template-columns: 1fr; gap: 16px; } }
.chq-card, .chq-room__toggle {
	position: relative; display: flex; align-items: center; gap: 16px; padding: 24px 56px 24px 24px; background: #fff;
	border: 1px solid var(--ch-navy-20); border-radius: 16px; cursor: pointer; text-align: left; font: inherit; color: inherit;
	transition: border-color .15s, background .15s, box-shadow .15s; width: 100%; box-sizing: border-box;
}
.chq-card:hover, .chq-room__toggle:hover { border-color: var(--ch-navy-40); }
.chq-card input { position: absolute; opacity: 0; pointer-events: none; }
.chq-cards--big .chq-card { flex-direction: column; align-items: flex-start; padding: 32px; min-height: 192px; }
.chq-card__icon { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--ch-teal-20); color: var(--ch-navy); display: inline-flex; align-items: center; justify-content: center; }
.chq-card__text { display: flex; flex-direction: column; gap: 4px; }
.chq-card__title { color: var(--ch-navy); font: 500 20px/1.35 var(--ch-font); }
.chq-card__desc { color: var(--ch-slate); font-size: 14px; line-height: 1.5; }
.chq-card__tick { position: absolute; top: 20px; right: 20px; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--ch-navy-40); display: inline-flex; align-items: center; justify-content: center; color: transparent; background: #fff; }
.chq-card:has(input:checked), .chq-room.is-on .chq-room__toggle { background: var(--ch-teal-20); border-color: var(--ch-teal); }
.chq-card:has(input:checked) .chq-card__tick, .chq-room.is-on .chq-card__tick { background: var(--ch-teal); border-color: var(--ch-teal); color: var(--ch-navy); }
.chq-card:has(input:checked) .chq-card__icon, .chq-room.is-on .chq-card__icon { background: #fff; }
.chq-card:has(input:focus-visible) { outline: 3px solid var(--ch-teal); outline-offset: 2px; }
.chq-cards--compact .chq-card { padding: 20px 56px 20px 20px; }
.chq-cards--compact .chq-card__icon { width: 44px; height: 44px; }
.chq-cards--compact .chq-card__title { font-size: 16px; font-weight: 500; }
.chq-service { margin: 0; font-size: 16px; }
.chq-service a { font-weight: 600; }
.chq-rooms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px) { .chq-rooms { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .chq-rooms { grid-template-columns: 1fr; gap: 16px; } }
.chq-room { display: flex; flex-direction: column; }
.chq-room__toggle { flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px; min-height: 171px; }
.chq-room.is-on .chq-room__toggle { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.chq-counter { display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: #fff; border: 1px solid var(--ch-teal); border-top: 0; border-radius: 0 0 16px 16px; }
.chq-counter[hidden] { display: none; }
.chq-counter button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ch-navy-20); background: var(--ch-mist); color: var(--ch-navy); font: 500 20px/1 var(--ch-font); cursor: pointer; }
.chq-counter output { min-width: 18px; text-align: center; font: 500 20px/1 var(--ch-font); color: var(--ch-navy); }
.chq-counter span { color: var(--ch-slate); font-size: 14px; }
.chq-detail { background: #fff; border-radius: 16px; padding: 28px 32px; display: flex; flex-direction: column; gap: 20px; }
.chq-detail + .chq-detail { margin-top: 20px; }
.chq-room-details:empty { display: none; }
.chq-detail__title { margin: 0; display: flex; align-items: center; gap: 12px; color: var(--ch-navy); font: 500 24px/1.3 var(--ch-font); }
.chq-detail__icon { width: 41px; height: 41px; border-radius: 50%; background: var(--ch-teal-20); display: inline-flex; align-items: center; justify-content: center; }
.chq-detail__icon svg { width: 22px; height: 22px; }
.chq-detail__qs { display: flex; flex-wrap: wrap; gap: 24px 36px; }
.chq-q { margin: 0 0 12px; }
.chq-pills { display: flex; flex-wrap: wrap; gap: 12px 16px; }
.chq-pill { position: relative; }
.chq-pill input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.chq-pill span { display: inline-flex; align-items: center; padding: 11px 20px; border: 1px solid var(--ch-navy-20); border-radius: 999px; background: #fff; color: var(--ch-navy); font: 500 15px/1.3 var(--ch-font); transition: background .15s, border-color .15s; }
.chq-pill input:checked + span { background: var(--ch-teal-20); border-color: var(--ch-teal); }
.chq-pill input:focus-visible + span { outline: 3px solid var(--ch-teal); outline-offset: 2px; }
.chq-help { margin: 0; font-size: 14px; color: var(--ch-slate); }
.chq-fields { display: flex; flex-direction: column; gap: 24px; background: #fff; border-radius: 16px; padding: 32px; }
@media (max-width: 767px) { .chq-fields, .chq-detail { padding: 24px 20px; } }
.chq-check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--ch-navy); cursor: pointer; }
.chq-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--ch-teal); flex: none; }
.chq-actions { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.chq-back, .chq-skip, .chq-edit { display: inline-flex; align-items: center; gap: 7px; padding: 4px 0; border: 0; background: none; color: var(--ch-navy); font: 600 15px/1 var(--ch-font); cursor: pointer; }
.chq-back .ch-i, .chq-edit .ch-i { color: var(--ch-teal); }
.chq-skip { color: var(--ch-slate); text-decoration: underline; text-underline-offset: 3px; }
.chq-aside { background: #fff; border-radius: 20px; padding: 40px; position: sticky; top: 24px; }
@media (max-width: 1100px) { .chq-aside { position: static; } }
@media (max-width: 767px) { .chq-aside { padding: 28px 24px; } }
.chq-aside__title { margin: 0 0 24px; color: var(--ch-navy); font: 500 20px/1.35 var(--ch-font); }
.chq-next { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.chq-next li { display: flex; align-items: center; gap: 12px; color: var(--ch-navy); }
.chq-next span { flex: none; width: 31px; height: 31px; border-radius: 50%; background: var(--ch-navy); color: var(--ch-teal); display: inline-flex; align-items: center; justify-content: center; font: 600 13px/1 var(--ch-font); }
.chq-aside hr { border: 0; border-top: 1px solid var(--ch-navy-20); margin: 24px 0; }
.chq-stars { display: flex; gap: 4px; color: #FBBC04; margin-bottom: 8px; }
.chq-aside__quote, .chq-aside__small { margin: 0 0 12px; font-size: 14px; color: var(--ch-slate); }
.chq-summary { margin: 0 0 20px; display: grid; grid-template-columns: auto 1fr; }
.chq-summary dt, .chq-summary dd { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--ch-navy-20); font-size: 14px; }
.chq-summary dt { color: var(--ch-slate); padding-right: 16px; }
.chq-summary dd { color: var(--ch-navy); font-weight: 500; text-align: right; }
.chq-thanks { max-width: 960px; margin: 0 auto; padding: 96px var(--ch-gutter); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; outline: none; }
.chq-thanks[hidden] { display: none; }
.chq-thanks__icon { width: 83px; height: 83px; border-radius: 50%; background: var(--ch-teal); color: var(--ch-navy); display: inline-flex; align-items: center; justify-content: center; }
.chq-thanks .chq-intro { margin: 0; max-width: 720px; }
.chq-thanks__cards { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 16px; }
.chq-thanks__cards > div { background: #fff; border-radius: 16px; padding: 32px 24px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.chq-thanks__cards .ch-i { color: var(--ch-teal); margin-bottom: 8px; }
.chq-thanks__cards h2 { margin: 0; color: var(--ch-navy); font: 500 20px/1.35 var(--ch-font); }
.chq-thanks__cards p { margin: 0; font-size: 14px; }
.chq-thanks__links { display: flex; gap: 40px; flex-wrap: wrap; justify-content: center; }
.chq-thanks__links a { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; font-size: 15px; text-decoration: none; }
.chq-thanks__links .ch-i { color: var(--ch-teal); }
@media (max-width: 767px) { .chq-thanks__cards { grid-template-columns: 1fr; } .chq-thanks { padding: 56px var(--ch-gutter); } }

/* ---------- protect theme UI from site-wide Elementor/kit button and field styles ---------- */
body .chq button:not(.ch-button), body .ch-form button:not(.ch-button), body .ch-header button, body .ch-mobile-menu button {
	background: none; border: 0; border-radius: 0; padding: 0; margin: 0; box-shadow: none; color: inherit;
	font: inherit; letter-spacing: normal; text-transform: none; line-height: inherit; min-height: 0; width: auto;
}
body .chq button.chq-room__toggle { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; padding: 24px 56px 24px 24px; min-height: 171px; background: #fff; border: 1px solid var(--ch-navy-20); border-radius: 16px; text-align: left; color: var(--ch-slate); cursor: pointer; }
body .chq .chq-room.is-on button.chq-room__toggle { background: var(--ch-teal-20); border-color: var(--ch-teal); border-radius: 16px 16px 0 0; }
body .chq .chq-counter button:not(.ch-button) { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ch-navy-20); background: var(--ch-mist); color: var(--ch-navy); font: 500 20px/1 var(--ch-font); display: inline-flex; align-items: center; justify-content: center; }
body .chq button.chq-back, body .chq button.chq-skip, body .chq button.chq-edit { display: inline-flex; align-items: center; gap: 7px; padding: 4px 0; color: var(--ch-navy); font: 600 15px/1 var(--ch-font); cursor: pointer; }
body .chq button.chq-skip { color: var(--ch-slate); text-decoration: underline; text-underline-offset: 3px; }
body .ch-header button.ch-menu-toggle { display: none; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--ch-navy-20); background: #fff; color: var(--ch-navy); font: 600 15px/1 var(--ch-font); cursor: pointer; }
@media (max-width: 1160px) { body .ch-header button.ch-menu-toggle { display: inline-flex; } }
body .ch-mobile-menu button.ch-menu-close { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: var(--ch-navy); border-radius: 999px; padding: 12px 18px; font: 600 15px/1 var(--ch-font); cursor: pointer; }
body .ch-button, body button.ch-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 28px; border: 0; border-radius: 999px; background: var(--ch-teal); color: var(--ch-navy); font: 600 15px/1 var(--ch-font); letter-spacing: .2px; text-transform: none; box-shadow: none; }
body .ch-button:hover, body button.ch-button:hover { background: var(--ch-teal-80); color: var(--ch-navy); }
body .ch-form .ch-field input, body .ch-form .ch-field select, body .ch-form .ch-field textarea,
body .chq .ch-field input, body .chq .ch-field select, body .chq .ch-field textarea {
	width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--ch-navy-40); border-radius: 8px; background: #fff;
	font: 400 16px/1.5 var(--ch-font); color: var(--ch-navy); box-shadow: none; min-height: 0; height: auto;
}
body .ch-form .ch-field input:focus, body .ch-form .ch-field select:focus, body .ch-form .ch-field textarea:focus,
body .chq .ch-field input:focus, body .chq .ch-field select:focus, body .chq .ch-field textarea:focus { outline: none; border-color: var(--ch-teal); box-shadow: 0 0 0 3px var(--ch-teal-20); }
body .ch-faq-search input { width: 100%; box-sizing: border-box; padding: 18px 20px 18px 56px; border: 1px solid var(--ch-navy-40); border-radius: 999px; background: #fff; font: 400 16px/1.4 var(--ch-font); color: var(--ch-navy); }
body .chq button.chq-room__toggle:hover { border-color: var(--ch-navy-40); }
body .chq .chq-room.is-on button.chq-room__toggle:hover { border-color: var(--ch-teal); }
body .chq button.chq-room__toggle:hover, body .chq button.chq-room__toggle:focus { background: #fff; color: var(--ch-slate); }
body .chq .chq-room.is-on button.chq-room__toggle, body .chq .chq-room.is-on button.chq-room__toggle:hover, body .chq .chq-room.is-on button.chq-room__toggle:focus { background: var(--ch-teal-20); }
body .chq .chq-counter button:not(.ch-button):hover, body .chq .chq-counter button:not(.ch-button):focus { background: var(--ch-teal-20); color: var(--ch-navy); }
body .chq button.chq-back:hover, body .chq button.chq-back:focus, body .chq button.chq-skip:hover, body .chq button.chq-edit:hover { background: none; color: var(--ch-navy); }
body .ch-header button.ch-menu-toggle:hover, body .ch-header button.ch-menu-toggle:focus { background: var(--ch-mist); color: var(--ch-navy); }
body .ch-mobile-menu button.ch-menu-close:hover, body .ch-mobile-menu button.ch-menu-close:focus { background: #fff; color: var(--ch-navy); }
body .ch-button, body button.ch-button { box-sizing: border-box; }
@media (max-width: 767px) { .ch-stages { justify-content: flex-start !important; } }
/* shared block placeholder (Elementor editor only) */
.ch-block-placeholder { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; padding: 28px 24px; background: repeating-linear-gradient(135deg, var(--ch-mist), var(--ch-mist) 12px, #fff 12px, #fff 24px); border: 2px dashed var(--ch-navy-40); color: var(--ch-navy); font: 400 14px/1.5 var(--ch-font); }
.ch-block-placeholder strong { font: 600 16px/1.3 var(--ch-font); }
.ch-block-placeholder a { margin-left: auto; color: var(--ch-navy); font-weight: 600; }
.ch-block-placeholder--footer { background: var(--ch-navy); color: #fff; border-color: rgba(255,255,255,.3); }
