/*
Theme Name: Kadence CAAS
Theme URI: https://caasservices.com
Description: CAAS Services child theme for Kadence — brand colors, Norwester headings, Montserrat body.
Author: CAAS Services
Template: kadence
Version: 1.7.0
Text Domain: kadence-caas
*/
@font-face {
  font-family: 'Norwester';
  src: url('assets/fonts/norwester-es.woff2') format('woff2'), url('assets/fonts/norwester-es.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
:root { --caas-teal:#41B8B7; --caas-emerald:#75E1B6; --caas-dark:#222020; --caas-light:#F1F1F1; }
body { font-family: 'Montserrat', system-ui, sans-serif; color: #222020; }
h1,h2,h3,h4,h5,h6,.entry-title,.wp-block-kadence-advancedheading {
  font-family: 'Norwester','Montserrat',sans-serif !important; letter-spacing: .02em; font-weight: 400;
}
/* buttons */
.caas-btn-call,.caas-btn-es,.caas-btn-quote {
  display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
  padding:.65rem .95rem; border-radius:6px; font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:.8rem; text-decoration:none !important; white-space:nowrap; line-height:1.2;
  transition:transform .15s ease, box-shadow .15s ease;
}
.caas-btn-call:hover,.caas-btn-es:hover,.caas-btn-quote:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(0,0,0,.15); }
.caas-header-phones { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.caas-hero-ctas { gap:.6rem; margin-top:1.5rem; }
.caas-hero-ctas a { font-size:.95rem; padding:.85rem 1.2rem; }
/* header */
.site-header-item .header-html-inner,.site-header-item .mobile-html-inner { display:flex; flex-wrap:nowrap; align-items:center; gap:.5rem; }
.caas-lang-switch { font-size:.8rem; }
.caas-lang-switch a { color:#222020; font-weight:600; text-decoration:none; }
/* full-bleed sections */
.entry-content .alignfull { width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.entry-content .alignfull > * { max-width:1200px; margin-left:auto; margin-right:auto; }
.entry-content > .wp-block-group.alignfull { margin-top:0; margin-bottom:0; }
.caas-hero { background:#222020; color:#F1F1F1; padding:4.5rem 1.5rem 4rem; }
.caas-hero h1 { color:#F1F1F1; font-size:clamp(2rem,4.5vw,3.1rem); line-height:1.12; margin:.25rem 0 1rem; max-width:900px; }
.caas-hero .caas-lead { font-size:1.1rem; max-width:760px; opacity:.92; }
.caas-kicker { color:#75E1B6; text-transform:uppercase; letter-spacing:.12em; font-weight:700; font-size:.8rem; margin:0; }
.caas-trust { background:#75E1B6; padding:.9rem 1.25rem; }
.caas-trust-text { text-align:center; font-weight:600; margin:0; color:#222020; }
.caas-section { padding:3.75rem 1.5rem; }
.caas-section-alt { background:#F1F1F1; }
.caas-section h2 { margin-top:0; font-size:clamp(1.6rem,3vw,2.2rem); }
.caas-muted { color:#555; }
.caas-placeholder { background:#fff8e1; border:1px dashed #d4a017; padding:1rem; border-radius:6px; }
.caas-dark { color:#F1F1F1; }
.caas-dark h1,.caas-dark h2,.caas-dark h3 { color:#F1F1F1; }
.caas-dark a:not([class]) { color:#75E1B6; }
.caas-cta { background:#222020; padding:4rem 1.5rem; }
.caas-cta .fluentform { max-width:720px; margin:1.5rem auto 0; }
.caas-dark .ff-el-input--label label { color:#F1F1F1 !important; }
/* lists */
.caas-checklist { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:.6rem 2rem; }
.caas-checklist li { position:relative; padding-left:1.8rem; }
.caas-checklist li::before { content:"✓"; position:absolute; left:0; top:0; color:#222020; background:#75E1B6; width:1.25rem; height:1.25rem; border-radius:50%; font-size:.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; margin-top:.2rem; }
/* cards */
.caas-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem; margin-top:1.5rem; }
.caas-card { display:block; background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:1.5rem; text-decoration:none !important; color:#222020 !important; transition:box-shadow .15s, transform .15s, border-color .15s; }
.caas-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); border-color:#41B8B7; }
.caas-card h3 { margin:0 0 .5rem; font-size:1.3rem; }
.caas-card p { margin:0 0 1rem; color:#444; }
.caas-card-link { color:#1f7f7e; font-weight:700; }
.caas-why { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.5rem; margin-top:1.5rem; }
.caas-why h3 { font-size:1.15rem; margin:0 0 .4rem; }
.caas-why > div { background:#fff; border-radius:10px; padding:1.25rem; border-top:4px solid #41B8B7; }
/* steps */
.caas-steps { list-style:none; padding:0; margin:1.5rem 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.5rem; }
.caas-steps li { background:#fff; border-radius:10px; padding:1.5rem; }
.caas-step-num { display:inline-flex; width:2.2rem; height:2.2rem; border-radius:50%; background:#41B8B7; color:#222020; font-weight:800; align-items:center; justify-content:center; }
.caas-steps h3 { margin:.75rem 0 .4rem; font-size:1.15rem; }
.caas-steps p { margin:0; color:#444; }
/* areas */
.caas-areas { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-top:1rem; }
.caas-areas a { display:inline-block; padding:.55rem 1rem; border:1px solid #41B8B7; border-radius:999px; text-decoration:none; color:#222020; font-weight:600; }
.caas-areas a:hover { background:#41B8B7; }
/* photo placeholders */
.caas-photo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.25rem; margin-top:1.5rem; }
.caas-photo-grid-1 { grid-template-columns:minmax(0,480px); }
.caas-photo { margin:0; }
.caas-photo-box { aspect-ratio:4/3; background:repeating-linear-gradient(45deg,#e9e9e9,#e9e9e9 10px,#f4f4f4 10px,#f4f4f4 20px); border:2px dashed #bdbdbd; border-radius:10px; display:flex; align-items:center; justify-content:center; font-weight:700; color:#666; font-size:.9rem; }
.caas-photo figcaption { margin-top:.5rem; font-size:.9rem; color:#444; text-align:center; }
.caas-photo.is-hidden { display:none; }
.caas-filters { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.caas-filter { border:1px solid #222020; background:#fff; color:#222020; border-radius:999px; padding:.5rem 1rem; font-weight:600; cursor:pointer; font-family:'Montserrat',sans-serif; }
.caas-filter.is-active,.caas-filter:hover { background:#222020; color:#F1F1F1; }
/* FAQ */
.caas-faq-list { max-width:820px; margin:1.25rem auto 0; }
.caas-faq { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:1rem 1.25rem; margin-bottom:.75rem; }
.caas-section-alt .caas-faq { border-color:#ddd; }
.caas-faq summary { font-weight:700; cursor:pointer; }
.caas-faq p { margin:.75rem 0 0; }
/* contact */
.caas-contact-card { background:#F1F1F1; border-radius:10px; padding:1.5rem; }
.caas-contact-card h3 { font-size:1.1rem; margin:1.25rem 0 .4rem; }
.caas-contact-card h3:first-child { margin-top:0; }
.caas-contact-card p { margin:.4rem 0; }
.caas-contact-card .caas-btn-call,.caas-contact-card .caas-btn-es { font-size:.95rem; width:100%; max-width:280px; }
/* fluent form */
.frm-fluent-form .ff-el-form-control { border-radius:6px; }
.frm-fluent-form .ff-btn-submit,.frm-fluent-form button[type=submit] { background:#75E1B6 !important; color:#222020 !important; font-weight:800; border:none !important; border-radius:999px; padding:.9rem 1.8rem; font-size:1rem; box-shadow:0 4px 14px rgba(34,32,32,.22); transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.frm-fluent-form .ff-btn-submit:hover,.frm-fluent-form button[type=submit]:hover { background:#8DE9C4 !important; transform:translateY(-2px); box-shadow:0 8px 22px rgba(34,32,32,.28); }
/* footer */
.site-footer,#colophon { background:#222020; color:#F1F1F1; }
.site-footer a,#colophon a { color:#75E1B6; }
.site-footer .widget-title,#colophon .widget-title { color:#F1F1F1; font-family:Norwester,Montserrat,sans-serif; }
@media (max-width:1100px) { .caas-lang-switch { display:none; } }
@media (max-width:767px) {
  .caas-btn-call,.caas-btn-es,.caas-btn-quote { font-size:.68rem; padding:.5rem .55rem; }
  .caas-hero { padding:3rem 1.25rem 2.75rem; }
  .caas-hero-ctas a { font-size:.85rem; padding:.75rem .9rem; }
  .caas-section { padding:2.75rem 1.25rem; }
  .mobile-html-inner .caas-header-phones { flex-direction:column; gap:.3rem; }
  .caas-contact-card .caas-btn-call,.caas-contact-card .caas-btn-es { font-size:.9rem; padding:.75rem; }
}
/* footer quick nav contrast */
.site-footer .footer-navigation a,#colophon .footer-navigation a,.site-footer .footer-navigation .menu > li > a { color:#F1F1F1 !important; }
.site-footer .footer-navigation a:hover { color:#75E1B6 !important; }
.site-footer .site-footer-row-container-inner { background:#222020; }
/* language item in nav */
.menu-item-object-language_switcher .trp-flag-image { margin-right:.35rem; vertical-align:middle; }
.menu-item-object-language_switcher > a { font-weight:700; }
/* desktop header: keep CTAs on one line */
#masthead .caas-header-phones { flex-wrap:nowrap; }
#masthead .header-button { white-space:nowrap; }
@media (min-width:1025px) and (max-width:1280px) {
  #masthead .header-navigation .menu > li > a { padding-left:.55em; padding-right:.55em; }
}
/* guarantee side gutters on full-bleed sections (Kadence resets group padding on small screens) */
.entry-content .caas-hero,.entry-content .caas-section,.entry-content .caas-cta,.entry-content .caas-trust {
  box-sizing:border-box; padding-left:clamp(1.25rem,4vw,2rem) !important; padding-right:clamp(1.25rem,4vw,2rem) !important;
}
.caas-checklist { padding-left:0 !important; }
.entry-content .caas-steps,.entry-content .caas-areas { padding-left:0 !important; margin-left:0 !important; }

/* ---------- M3: Spanish pages: Spanish line is the primary call button, shown first ---------- */
.translatepress-es_ES .caas-header-phones .caas-btn-es { order:-1; }
.caas-contact-phones { flex-direction:column; align-items:flex-start; margin:.4rem 0; }
/* ES desktop nav: Spanish labels are longer; keep the menu on one line */
@media (min-width:1025px) {
  .translatepress-es_ES #masthead .header-menu-container > ul { flex-wrap:nowrap; }
  .translatepress-es_ES #masthead .header-menu-container > ul > li.menu-item > a { padding-left:.5em; padding-right:.5em; white-space:nowrap; }
}
#mobile-drawer .caas-header-phones { align-items:flex-start; }
@media (min-width:1025px) {
  #masthead .site-header-main-section-left,
  #masthead .site-header-main-section-right { flex:0 0 auto; }
  #masthead .site-header-main-section-center { flex:1 0 auto; justify-content:center; }
  #masthead .site-header-main-section-right { margin-left:.9rem; }
  #masthead .header-menu-container > ul > li { flex-shrink:0; }
}
@media (min-width:1025px) and (max-width:1200px) {
  .translatepress-es_ES #masthead .header-menu-container .trp-flag-image,
  .translatepress-es_ES #masthead .header-menu-container .trp-menu-ls-label img { display:none; }
  .translatepress-es_ES #masthead .header-menu-container > ul > li.menu-item > a { font-size:.8em; padding-left:.25em; padding-right:.25em; }
}
@media (min-width:1025px) and (max-width:1400px) {
  .translatepress-es_ES #masthead .header-menu-container > ul > li.menu-item > a { padding-left:.3em; padding-right:.3em; font-size:.86em; }
  .translatepress-es_ES #masthead .site-branding img { max-width:104px; }
}
/* Narrow desktops (1025-1200px): keep the header on one line in both languages */
@media (min-width:1025px) and (max-width:1200px) {
  #masthead .header-menu-container > ul { flex-wrap:nowrap; }
  #masthead .header-menu-container > ul > li { flex-shrink:0; }
  #masthead .header-menu-container > ul > li.menu-item > a { font-size:.85em; padding-left:.35em; padding-right:.35em; white-space:nowrap; }
  #masthead .site-branding img { max-width:96px; }
}
/* Family owned & operated: footer line */
.caas-footer-family { color:#75E1B6; margin-bottom:.5rem; }

/* ---------- M5: compact layout components ---------- */
.caas-hero.caas-hero-compact { padding:3.25rem 1.5rem 3rem; }
.caas-hero-compact .caas-lead { font-size:1.05rem; }
.caas-hero-compact .caas-hero-ctas { margin-top:1.1rem; }
.caas-section.caas-section-tight { padding:2.5rem 1.5rem; }
.caas-section-tight h2 { margin-bottom:.4rem; }
.caas-section-tight .caas-faq-list { margin-top:.75rem; }
.caas-grid5 { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin-top:1.1rem; }
.caas-grid4 .caas-grid5,.caas-grid5.caas-grid4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.caas-mini { display:block; background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:1rem 1.1rem; text-decoration:none !important; color:#222020 !important; transition:box-shadow .15s, border-color .15s; }
a.caas-mini:hover { border-color:#41B8B7; box-shadow:0 6px 18px rgba(0,0,0,.07); }
.caas-mini h3 { font-size:1.05rem; margin:0 0 .35rem; line-height:1.25; }
.caas-mini p { font-size:.88rem; margin:0; color:#444; line-height:1.45; }
.caas-why4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1.1rem; }
.caas-why4 > div { background:#fff; border-radius:10px; padding:1rem; border-top:3px solid #41B8B7; }
.caas-why4 h3 { font-size:1rem; margin:0 0 .3rem; }
.caas-why4 p { font-size:.88rem; margin:0; color:#444; }
.caas-teaser { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.1rem; }
.caas-teaser a { text-decoration:none !important; color:#444 !important; font-size:.85rem; text-align:center; }
.caas-teaser .caas-photo-box { aspect-ratio:16/7; font-size:.75rem; margin-bottom:.35rem; }
.caas-strip { background:#F1F1F1; padding:1.1rem 1.5rem; }
.caas-strip p { margin:0; text-align:center; font-weight:600; }
.caas-cta-compact { background:#222020; padding:2.75rem 1.5rem; text-align:center; }
.caas-cta-compact h2 { margin:0 0 .4rem; }
.caas-cta-compact p { max-width:760px; margin-left:auto; margin-right:auto; }
.caas-cta-compact .caas-header-phones { justify-content:center; }
.caas-cols3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:1rem; }
.caas-cols3 h3 { font-size:1.15rem; margin:0 0 .5rem; }
.caas-cols3 .caas-checklist { grid-template-columns:1fr; gap:.35rem; margin:0; }
.caas-checklist.caas-compact-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem 1.5rem; margin:.75rem 0; }
.caas-next { list-style:none; padding:0; margin:0; counter-reset:n; }
.caas-next li { counter-increment:n; position:relative; padding-left:2.6rem; margin-bottom:1rem; }
.caas-next li::before { content:counter(n); position:absolute; left:0; top:0; width:1.9rem; height:1.9rem; border-radius:50%; background:#41B8B7; color:#222020; font-weight:800; display:flex; align-items:center; justify-content:center; }
.caas-next h3 { font-size:1.05rem; margin:0 0 .2rem; }
.caas-next p { margin:0; color:#444; font-size:.95rem; }
.caas-county h2 { margin-bottom:.2rem; }
@media (max-width:1024px) {
  .caas-grid5,.caas-grid5.caas-grid4 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .caas-why4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .caas-cols3 { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .caas-hero.caas-hero-compact { padding:2.4rem 1.25rem 2.2rem; }
  .caas-hero-compact .caas-lead { font-size:1rem; }
  .caas-section.caas-section-tight { padding:2rem 1.25rem; }
  .caas-grid5,.caas-grid5.caas-grid4 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
  .caas-grid5 > :last-child:nth-child(odd) { grid-column:span 2; }
  .caas-mini { padding:.8rem .85rem; }
  .caas-mini h3 { font-size:.95rem; }
  .caas-mini p { font-size:.8rem; }
  .caas-why4 { gap:.6rem; }
  .caas-why4 > div { padding:.75rem; }
  .caas-why4 h3 { font-size:.92rem; }
  .caas-why4 p { font-size:.8rem; }
  .caas-teaser { gap:.5rem; }
  .caas-teaser a { font-size:.72rem; }
  .caas-teaser .caas-photo-box { aspect-ratio:4/3; font-size:.5rem; border-width:1px; padding:.2rem; text-align:center; }
  .caas-checklist.caas-compact-list { grid-template-columns:1fr; }
  .caas-cta-compact { padding:2.2rem 1.25rem; }
  .caas-strip { padding:1rem 1.25rem; }
}
.entry-content .caas-cta-compact,.entry-content .caas-strip { box-sizing:border-box; padding-left:clamp(1.25rem,4vw,2rem) !important; padding-right:clamp(1.25rem,4vw,2rem) !important; }
.caas-why4 a[href^="tel"],.caas-next p { white-space:normal; }
.caas-why4 a[href^="tel"] { white-space:nowrap; }
.caas-county + .caas-grid5 + p,.caas-section-tight .caas-grid5 + .wp-block-paragraph { margin-top:.9rem; }

/* ---------- M6: Free Quote is the primary CTA; phone buttons are secondary ---------- */
:root { --caas-ico-globe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19'/%3E%3Cpath d='M12 2.5a14.5 14.5 0 0 1 0 19a14.5 14.5 0 0 1 0-19z'/%3E%3C/svg%3E"); --caas-ico-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); --caas-ico-quote:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H7a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2'/%3E%3Crect x='9' y='2.5' width='6' height='3.5' rx='1'/%3E%3Cpath d='m9 13.5 2 2 4-4.5'/%3E%3C/svg%3E"); }
/* secondary: phone buttons (outlined teal) */
.caas-btn-call,.caas-btn-es { background:transparent; color:#222020 !important; border:2px solid #41B8B7; border-radius:8px; padding:.55rem .85rem; }
.caas-btn-call::before,.caas-btn-es::before,.caas-mbar-call::before { content:""; flex:0 0 auto; width:1em; height:1em; background:currentColor; -webkit-mask:var(--caas-ico-phone) center/contain no-repeat; mask:var(--caas-ico-phone) center/contain no-repeat; }
.caas-btn-call:hover,.caas-btn-es:hover { background:#41B8B7; color:#222020 !important; box-shadow:none; }
.caas-dark .caas-btn-call,.caas-dark .caas-btn-es { color:#F1F1F1 !important; }
.caas-dark .caas-btn-call:hover,.caas-dark .caas-btn-es:hover { color:#222020 !important; }
/* primary: Free Quote (mint #75E1B6 + #222020 text, contrast 10.2:1) */
.caas-btn-quote,#masthead .header-button,#masthead .button.header-button,.caas-mbar-quote {
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  background:#75E1B6 !important; color:#222020 !important; border:0 !important; border-radius:999px !important;
  font-family:'Montserrat',sans-serif; font-weight:800 !important; letter-spacing:.01em; text-decoration:none !important; white-space:nowrap; line-height:1.2;
  box-shadow:0 4px 14px rgba(34,32,32,.22);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.caas-btn-quote::before,#masthead .header-button::before,.caas-mbar-quote::before { content:""; flex:0 0 auto; width:1.15em; height:1.15em; background:currentColor; -webkit-mask:var(--caas-ico-quote) center/contain no-repeat; mask:var(--caas-ico-quote) center/contain no-repeat; }
.caas-btn-quote:hover,.caas-btn-quote:focus-visible,#masthead .header-button:hover,#masthead .header-button:focus-visible,.caas-mbar-quote:hover {
  background:#8DE9C4 !important; transform:translateY(-2px); box-shadow:0 8px 22px rgba(34,32,32,.3); animation:none;
}
.caas-dark .caas-btn-quote { box-shadow:0 4px 18px rgba(117,225,182,.28); }
#masthead .header-button { font-size:.92rem !important; padding:.72rem 1.35rem !important; }
/* Free Quote first, then phones (Spanish line first on /es/) */
.caas-header-phones .caas-btn-quote { order:-2; }
.caas-hero-ctas { align-items:center; }
.caas-hero-ctas .caas-btn-quote { font-size:1.12rem; padding:1rem 1.8rem; }
.caas-hero-ctas .caas-btn-call,.caas-hero-ctas .caas-btn-es { font-size:.86rem; padding:.62rem .95rem; }
/* attention pulse (motion only if the user allows it) */
@keyframes caas-quote-pulse {
  0%,68% { box-shadow:0 4px 14px rgba(34,32,32,.22),0 0 0 0 rgba(117,225,182,.75); }
  100% { box-shadow:0 4px 14px rgba(34,32,32,.22),0 0 0 14px rgba(117,225,182,0); }
}
@media (prefers-reduced-motion: no-preference) {
  .caas-btn-quote,#masthead .header-button,.caas-mbar-quote { animation:caas-quote-pulse 3.6s ease-out 1.2s infinite; }
  .caas-btn-quote:hover,#masthead .header-button:hover,.caas-mbar-quote:hover { animation:none; }
}
@media (prefers-reduced-motion: reduce) {
  .caas-btn-quote,#masthead .header-button,.caas-mbar-quote,.frm-fluent-form .ff-btn-submit,.caas-btn-call,.caas-btn-es { animation:none !important; transition:none !important; }
  .caas-btn-quote:hover,#masthead .header-button:hover,.caas-mbar-quote:hover,.frm-fluent-form .ff-btn-submit:hover { transform:none !important; }
}
/* desktop header widths: quote button always visible, header on one line 1025-1440 */
@media (min-width:1025px) {
  #masthead .caas-header-phones { gap:.35rem; }
  #masthead .caas-btn-call,#masthead .caas-btn-es { font-size:.74rem; padding:.42rem .6rem; border-width:1.5px; }
  #masthead .site-header-main-section-right .site-header-item + .site-header-item { margin-left:.55rem; }
}
@media (min-width:1025px) and (max-width:1400px) {
  #masthead .header-button { font-size:.84rem !important; padding:.62rem 1.05rem !important; }
  #masthead .caas-btn-call,#masthead .caas-btn-es { font-size:.68rem; padding:.4rem .5rem; }
}
/* 1025-1199: phone buttons show icon + number only (language tag on the second line) */
@media (min-width:1025px) and (max-width:1199px) {
  #masthead .caas-btn-call[data-num],#masthead .caas-btn-es[data-num] { font-size:0; gap:.3rem; padding:.4rem .5rem; }
  #masthead .caas-btn-call[data-num]::after,#masthead .caas-btn-es[data-num]::after { content:attr(data-num); font-size:.7rem; }
  #masthead .caas-btn-call[data-num]::before { width:.8rem; height:.8rem; }
  #masthead .caas-btn-es[data-num]::before { content:"ES"; -webkit-mask:none; mask:none; background:var(--caas-violet); color:#fff; width:auto; height:auto; font-size:.56rem; font-weight:800; line-height:1; padding:.16rem .22rem; border-radius:3px; }
  .translatepress-es_ES #masthead .caas-btn-es[data-num]::before { content:""; color:inherit; background:currentColor; -webkit-mask:var(--caas-ico-phone) center/contain no-repeat; mask:var(--caas-ico-phone) center/contain no-repeat; width:.8rem; height:.8rem; padding:0; }
  .translatepress-es_ES #masthead .caas-btn-call[data-num]::before { content:"EN"; -webkit-mask:none; mask:none; background:var(--caas-violet); color:#fff; width:auto; height:auto; font-size:.56rem; font-weight:800; line-height:1; padding:.16rem .22rem; border-radius:3px; }
  #masthead .header-button { font-size:.8rem !important; padding:.58rem .9rem !important; gap:.35rem; }
}
@media (min-width:1025px) and (max-width:1150px) {
  #masthead .site-branding img { max-width:84px; }
  #masthead .header-menu-container > ul > li.menu-item > a { font-size:.9em; padding-left:.4em; padding-right:.4em; }
  .translatepress-es_ES #masthead .header-menu-container > ul > li.menu-item > a { font-size:.84em; padding-left:.3em; padding-right:.3em; }
  #masthead .header-menu-container .trp-flag-image,#masthead .header-menu-container .trp-menu-ls-label img { display:none; }
  #masthead .site-header-main-section-right { margin-left:.5rem; }
}
/* mobile header phones stay light and compact */
@media (max-width:1024px) {
  .mobile-html-inner .caas-btn-call,.mobile-html-inner .caas-btn-es { border-width:1.5px; }
}
@media (max-width:767px) {
  .caas-btn-call,.caas-btn-es { font-size:.68rem; padding:.42rem .5rem; }
  .caas-hero-ctas { gap:.5rem; }
  .caas-hero-ctas .caas-btn-quote { flex:1 1 100%; font-size:1.08rem; padding:.95rem 1.2rem; }
  .caas-hero-ctas .caas-btn-call,.caas-hero-ctas .caas-btn-es { flex:1 1 0; min-width:0; font-size:.74rem; padding:.6rem .4rem; }
}
/* mobile sticky bottom bar (phones only) */
.caas-mbar { display:none; }
@media (max-width:768px) {
  body { padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px)); }
  .caas-mbar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:990; gap:.6rem; align-items:center;
    padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom, 0px)); background:#222020; box-shadow:0 -4px 18px rgba(0,0,0,.2); }
  .caas-mbar-quote { flex:1 1 auto; font-size:1.08rem; padding:.9rem 1rem; }
  .caas-mbar-call { flex:0 0 54px; width:54px; height:54px; border-radius:50%; border:2px solid #41B8B7; display:flex; align-items:center; justify-content:center; color:#F1F1F1 !important; text-decoration:none !important; }
  .caas-mbar-call::before { width:22px; height:22px; }
  .caas-mbar-call:hover { background:#41B8B7; color:#222020 !important; }
  body.showing-popup-drawer-from-right .caas-mbar,body.showing-popup-drawer-from-left .caas-mbar { display:none; }
}
/* M6 ES fit: Spanish labels are longer */
@media (min-width:1025px) and (max-width:1150px) {
  .translatepress-es_ES #masthead .site-branding img { max-width:80px; }
}
@media (min-width:1025px) and (max-width:1100px) {
  .translatepress-es_ES #masthead .header-button { font-size:.74rem !important; padding:.55rem .75rem !important; gap:.3rem; }
  .translatepress-es_ES #masthead .header-menu-container > ul > li.menu-item > a { font-size:.82em; padding-left:.26em; padding-right:.26em; }
  .translatepress-es_ES #masthead .caas-btn-call[data-num]::after,.translatepress-es_ES #masthead .caas-btn-es[data-num]::after { font-size:.66rem; }
}
@media (min-width:1401px) and (max-width:1480px) {
  .translatepress-es_ES #masthead .site-branding img { max-width:130px; }
  .translatepress-es_ES #masthead .caas-btn-call,.translatepress-es_ES #masthead .caas-btn-es { font-size:.68rem; padding:.4rem .5rem; }
  .translatepress-es_ES #masthead .header-button { font-size:.86rem !important; padding:.66rem 1.1rem !important; }
  .translatepress-es_ES #masthead .header-menu-container > ul > li.menu-item > a { padding-left:.4em; padding-right:.4em; }
}
/* desktop/tablet: floating Free Quote (bottom-right), hidden on /free-quote/ and when the footer is in view */
@media (min-width:769px) {
  .caas-mbar { display:block; position:fixed; right:24px; bottom:24px; z-index:990; transition:opacity .2s ease, visibility .2s ease; }
  .caas-mbar-call { display:none !important; }
  .caas-mbar-quote { font-size:1.02rem; padding:.95rem 1.5rem; box-shadow:0 8px 26px rgba(34,32,32,.32); }
  .caas-mbar.is-quote-page { display:none; }
  .caas-mbar.is-near-footer { opacity:0; visibility:hidden; }
}
@media (max-width:1024px) {
  .mobile-html-inner { gap:.45rem; }
}
@media (max-width:560px) {
  .mobile-html-inner .caas-btn-call[data-num],.mobile-html-inner .caas-btn-es[data-num] { font-size:0; gap:.28rem; padding:.34rem .45rem; }
  .mobile-html-inner .caas-btn-call[data-num]::after,.mobile-html-inner .caas-btn-es[data-num]::after { content:attr(data-num); font-size:.66rem; }
  .mobile-html-inner .caas-btn-call[data-num]::before { width:.72rem; height:.72rem; }
  .mobile-html-inner .caas-btn-es[data-num]::before { content:"ES"; -webkit-mask:none; mask:none; background:var(--caas-violet); color:#fff; width:auto; height:auto; font-size:.52rem; font-weight:800; line-height:1; padding:.14rem .2rem; border-radius:3px; }
  .translatepress-es_ES .mobile-html-inner .caas-btn-es[data-num]::before { content:""; color:inherit; background:currentColor; -webkit-mask:var(--caas-ico-phone) center/contain no-repeat; mask:var(--caas-ico-phone) center/contain no-repeat; width:.72rem; height:.72rem; padding:0; }
  .translatepress-es_ES .mobile-html-inner .caas-btn-call[data-num]::before { content:"EN"; -webkit-mask:none; mask:none; background:var(--caas-violet); color:#fff; width:auto; height:auto; font-size:.52rem; font-weight:800; line-height:1; padding:.14rem .2rem; border-radius:3px; }
}
@media (max-width:400px) {
  #mobile-header .site-branding img,#mobile-header .custom-logo { max-width:92px; width:92px; height:auto; }
  .mobile-html-inner { gap:.3rem; }
  .mobile-html-inner .caas-btn-call[data-num]::after,.mobile-html-inner .caas-btn-es[data-num]::after { font-size:.62rem; }
}
@media (max-width:350px) {
  #mobile-header .site-branding img,#mobile-header .custom-logo { max-width:76px; width:76px; }
  .mobile-html-inner .caas-btn-call[data-num],.mobile-html-inner .caas-btn-es[data-num] { padding:.3rem .35rem; }
}
/* mobile drawer (dark): light phone buttons; the drawer already has the menu language switcher */
#mobile-drawer .caas-btn-call,#mobile-drawer .caas-btn-es { color:#F1F1F1 !important; }
#mobile-drawer .caas-btn-call:hover,#mobile-drawer .caas-btn-es:hover { color:#222020 !important; }

/* ---------- M7: English | Español toggle ---------- */
.caas-lang-toggle { display:inline-flex; align-items:center; border-radius:999px; padding:2px; font-family:'Montserrat',sans-serif; font-weight:700; line-height:1; white-space:nowrap; }
.caas-lang-globe { flex:0 0 auto; width:14px; height:14px; margin:0 .3rem 0 .45rem; background:currentColor; -webkit-mask:var(--caas-ico-globe) center/contain no-repeat; mask:var(--caas-ico-globe) center/contain no-repeat; }
.caas-lang-opt { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; text-decoration:none !important; }
.caas-lang-opt.is-current { background:#75E1B6; color:#222020 !important; }
.caas-lang-sep { opacity:.4; font-weight:400; padding:0 .1rem; }
/* desktop top bar (Kadence shows #main-header only at 1025+) */
.caas-topbar { background:#222020; color:#F1F1F1; min-height:38px; display:flex; align-items:center; }
.caas-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; }
.caas-topbar-note { margin:0; font-size:.76rem; font-weight:600; letter-spacing:.03em; color:#F1F1F1; opacity:.92; }
.caas-lang-toggle-full { border:1px solid rgba(241,241,241,.35); color:#F1F1F1; }
.caas-lang-toggle-full .caas-lang-opt { font-size:.76rem; padding:.34rem .75rem; color:#F1F1F1 !important; }
.caas-lang-toggle-full a.caas-lang-opt:hover,.caas-lang-toggle-full a.caas-lang-opt:focus-visible { color:#75E1B6 !important; text-decoration:underline !important; }
/* mobile header toggle (320-1024), same style on a white header */
.caas-lang-toggle-code { border:1.5px solid #222020; color:#222020; background:#fff; }
.caas-lang-toggle-code .caas-lang-globe { width:13px; height:13px; margin:0 .2rem 0 .35rem; }
.caas-lang-toggle-code .caas-lang-opt { font-size:.72rem; font-weight:800; min-width:30px; min-height:32px; padding:0 .45rem; color:#222020 !important; }
.caas-lang-toggle-code a.caas-lang-opt:hover,.caas-lang-toggle-code a.caas-lang-opt:focus-visible { background:#E6F8F0; }
.caas-lang-toggle-code .caas-lang-sep { display:none; }
#mobile-drawer .caas-lang-toggle { display:none !important; }
@media (max-width:400px) {
  .caas-lang-toggle-code .caas-lang-globe { display:none; }
  .caas-lang-toggle-code .caas-lang-opt { min-width:28px; padding:0 .38rem; }
}
/* M7: toggle is wider than the old pill; tighten the mobile header up to 480px */
@media (max-width:480px) {
  #mobile-header .site-branding img,#mobile-header .custom-logo { max-width:104px; width:104px; height:auto; }
  .caas-lang-toggle-code .caas-lang-globe { display:none; }
  .caas-lang-toggle-code .caas-lang-opt { min-width:28px; padding:0 .38rem; }
  .mobile-html-inner { gap:.35rem; }
}
@media (max-width:400px) {
  #mobile-header .site-branding img,#mobile-header .custom-logo { max-width:92px; width:92px; }
}
@media (max-width:350px) {
  #mobile-header .site-branding img,#mobile-header .custom-logo { max-width:76px; width:76px; }
}

/* ---------- M8: violet accents (hints only; Free Quote stays mint) ---------- */
:root { --caas-violet:#6B4EDB; --caas-violet-light:#A58CFF; }
/* phone buttons on light backgrounds: violet outline/text/icon (5.62:1 on white, 4.97:1 on #F1F1F1) */
.caas-btn-call,.caas-btn-es { border-color:var(--caas-violet); color:var(--caas-violet) !important; }
.caas-btn-call:hover,.caas-btn-es:hover,.caas-btn-call:focus-visible,.caas-btn-es:focus-visible { background:var(--caas-violet); border-color:var(--caas-violet); color:#fff !important; }
/* phone buttons on dark backgrounds (hero, CTAs, mobile menu): light violet (6.02:1 on #222020) */
.caas-dark .caas-btn-call,.caas-dark .caas-btn-es,#mobile-drawer .caas-btn-call,#mobile-drawer .caas-btn-es { border-color:var(--caas-violet-light); color:var(--caas-violet-light) !important; }
.caas-dark .caas-btn-call:hover,.caas-dark .caas-btn-es:hover,.caas-dark .caas-btn-call:focus-visible,.caas-dark .caas-btn-es:focus-visible,
#mobile-drawer .caas-btn-call:hover,#mobile-drawer .caas-btn-es:hover { background:var(--caas-violet-light); border-color:var(--caas-violet-light); color:#222020 !important; }
/* inline phone links */
.entry-content a[href^="tel:"]:not([class]) { color:var(--caas-violet); }
.caas-dark a[href^="tel:"]:not([class]),#colophon a[href^="tel:"] { color:var(--caas-violet-light) !important; }
/* mobile sticky bar call button: violet fill, white icon, light-violet ring for contrast on the dark bar */
.caas-mbar-call { background:var(--caas-violet); border-color:var(--caas-violet-light) !important; color:#fff !important; }
.caas-mbar-call:hover,.caas-mbar-call:focus-visible { background:var(--caas-violet-light); color:#222020 !important; }
/* accent 1: short violet rule under section headings */
.caas-section h2::after { content:""; display:block; width:44px; height:3px; border-radius:2px; background:var(--caas-violet); margin:.45rem 0 0; }
.caas-section h2.has-text-align-center::after { margin-left:auto; margin-right:auto; }
.caas-dark h2::after { background:var(--caas-violet-light); }
/* accent 2: violet check icons in service lists (white on violet 5.62:1) */
.caas-checklist li::before { background:var(--caas-violet); color:#fff; }
/* accent 3: FAQ markers and open state */
.caas-faq summary::marker { color:var(--caas-violet); }
.caas-faq[open] { border-color:var(--caas-violet); box-shadow:inset 3px 0 0 var(--caas-violet); }
/* fix: current language is dark text on mint in both toggles (10.19:1) */
.caas-lang-toggle .caas-lang-opt.is-current { color:#222020 !important; background:#75E1B6; }
/* ---------- M9: real project photos ---------- */
.caas-img { display:block; width:100%; height:auto; object-fit:cover; border-radius:10px; background:#e9e9e9; }
.caas-teaser-photos .caas-img { aspect-ratio:3/2; margin-bottom:.4rem; }
.caas-teaser-photos a:hover .caas-img { box-shadow:0 6px 18px rgba(0,0,0,.12); }
.caas-projects .caas-img { aspect-ratio:4/3; }
.caas-photo-grid-1 .caas-img { aspect-ratio:4/3; }
.caas-photo figcaption { margin-top:.5rem; }
@media (max-width:767px) {
  .caas-teaser-photos .caas-img { aspect-ratio:1/1; border-radius:8px; }
  .caas-teaser-photos a { font-size:.7rem; line-height:1.3; }
}
