/* Tema Voltz (bootstrap, main.css e doutor-house.css do Relicario) reduzido às regras que as páginas usam (eletricista e inicial).
   Gerado a 2026-09-17 a partir de tmp/purga.html; não se edita à mão: as adaptações vivem em doutorhouse.css. */
/* bootstrap.min.css */
:root { --bs-blue: #0d6efd; --bs-indigo: #6610f2; --bs-purple: #6f42c1; --bs-pink: #d63384; --bs-red: #dc3545; --bs-orange: #fd7e14; --bs-yellow: #ffc107; --bs-green: #198754; --bs-teal: #20c997; --bs-cyan: #0dcaf0; --bs-black: #000; --bs-white: #fff; --bs-gray: #6c757d; --bs-gray-dark: #343a40; --bs-gray-100: #f8f9fa; --bs-gray-200: #e9ecef; --bs-gray-300: #dee2e6; --bs-gray-400: #ced4da; --bs-gray-500: #adb5bd; --bs-gray-600: #6c757d; --bs-gray-700: #495057; --bs-gray-800: #343a40; --bs-gray-900: #212529; --bs-primary: #0d6efd; --bs-secondary: #6c757d; --bs-success: #198754; --bs-info: #0dcaf0; --bs-warning: #ffc107; --bs-danger: #dc3545; --bs-light: #f8f9fa; --bs-dark: #212529; --bs-primary-rgb: 13,110,253; --bs-secondary-rgb: 108,117,125; --bs-success-rgb: 25,135,84; --bs-info-rgb: 13,202,240; --bs-warning-rgb: 255,193,7; --bs-danger-rgb: 220,53,69; --bs-light-rgb: 248,249,250; --bs-dark-rgb: 33,37,41; --bs-white-rgb: 255,255,255; --bs-black-rgb: 0,0,0; --bs-body-color-rgb: 33,37,41; --bs-body-bg-rgb: 255,255,255; --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-body-font-family: var(--bs-font-sans-serif); --bs-body-font-size: 1rem; --bs-body-font-weight: 400; --bs-body-line-height: 1.5; --bs-body-color: #212529; --bs-body-bg: #fff; --bs-border-width: 1px; --bs-border-style: solid; --bs-border-color: #dee2e6; --bs-border-color-translucent: rgba(0, 0, 0, 0.175); --bs-border-radius: 0.375rem; --bs-border-radius-sm: 0.25rem; --bs-border-radius-lg: 0.5rem; --bs-border-radius-xl: 1rem; --bs-border-radius-2xl: 2rem; --bs-border-radius-pill: 50rem; --bs-heading-color: ; --bs-link-color: #0d6efd; --bs-link-hover-color: #0a58ca; --bs-code-color: #d63384; --bs-highlight-bg: #fff3cd; }
*, ::after, ::before { box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference){
:root { scroll-behavior: smooth; }
}
body { margin: 0px; font-family: var(--bs-body-font-family); font-size: var(--bs-body-font-size); font-weight: var(--bs-body-font-weight); line-height: var(--bs-body-line-height); color: var(--bs-body-color); text-align: var(--bs-body-text-align); background-color: var(--bs-body-bg); text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { margin-top: 0px; margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; color: var(--bs-heading-color); }
.h1, h1 { font-size: calc(1.375rem + 1.5vw); }
@media (min-width: 1200px){
.h1, h1 { font-size: 2.5rem; }
}
.h2, h2 { font-size: calc(1.325rem + 0.9vw); }
@media (min-width: 1200px){
.h2, h2 { font-size: 2rem; }
}
.h3, h3 { font-size: calc(1.3rem + 0.6vw); }
@media (min-width: 1200px){
.h3, h3 { font-size: 1.75rem; }
}
p { margin-top: 0px; margin-bottom: 1rem; }
ol, ul { padding-left: 2rem; }
dl, ol, ul { margin-top: 0px; margin-bottom: 1rem; }
ol ol, ol ul, ul ol, ul ul { margin-bottom: 0px; }
b, strong { font-weight: bolder; }
.small, small { font-size: 0.875em; }
a { color: var(--bs-link-color); text-decoration: underline; }
a:hover { color: var(--bs-link-hover-color); }
figure { margin: 0px 0px 1rem; }
img, svg { vertical-align: middle; }
label { display: inline-block; }
button { border-radius: 0px; }
button:focus:not(:focus-visible) { outline: 0px; }
button, input, optgroup, select, textarea { margin: 0px; font-family: inherit; font-size: inherit; line-height: inherit; }
button, select { text-transform: none; }
select { overflow-wrap: normal; }
[type="button"], [type="reset"], [type="submit"], button { appearance: button; }
[type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled), button:not(:disabled) { cursor: pointer; }
textarea { resize: vertical; }
::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-year-field { padding: 0px; }
::-webkit-inner-spin-button { height: auto; }
::-webkit-search-decoration { appearance: none; }
::-webkit-color-swatch-wrapper { padding: 0px; }
::-webkit-file-upload-button { font: inherit; appearance: button; }
[hidden] { display: none !important; }
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-right: auto; margin-left: auto; }
@media (min-width: 576px){
.container, .container-sm { max-width: 540px; }
}
@media (min-width: 768px){
.container, .container-md, .container-sm { max-width: 720px; }
}
@media (min-width: 992px){
.container, .container-lg, .container-md, .container-sm { max-width: 960px; }
}
@media (min-width: 1200px){
.container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1140px; }
}
@media (min-width: 1400px){
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: 1320px; }
}
.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(-1 * var(--bs-gutter-y)); margin-right: calc(-.5 * var(--bs-gutter-x)); margin-left: calc(-.5 * var(--bs-gutter-x)); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-top: var(--bs-gutter-y); }
.col-5 { flex: 0 0 auto; width: 41.6667%; }
.col-7 { flex: 0 0 auto; width: 58.3333%; }
.col-12 { flex: 0 0 auto; width: 100%; }
.g-4, .gx-4 { --bs-gutter-x: 1.5rem; }
.g-4, .gy-4 { --bs-gutter-y: 1.5rem; }
@media (min-width: 768px){
.col-md-4 { flex: 0 0 auto; width: 33.3333%; }
.col-md-6 { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px){
.col-lg-11 { flex: 0 0 auto; width: 91.6667%; }
}
@media (min-width: 1200px){
.col-xl { flex: 1 0 0%; }
.col-xl-2 { flex: 0 0 auto; width: 16.6667%; }
.col-xl-3 { flex: 0 0 auto; width: 25%; }
.col-xl-4 { flex: 0 0 auto; width: 33.3333%; }
.col-xl-5 { flex: 0 0 auto; width: 41.6667%; }
.col-xl-6 { flex: 0 0 auto; width: 50%; }
.col-xl-7 { flex: 0 0 auto; width: 58.3333%; }
.col-xl-8 { flex: 0 0 auto; width: 66.6667%; }
.col-xl-10 { flex: 0 0 auto; width: 83.3333%; }
.col-xl-12 { flex: 0 0 auto; width: 100%; }
.g-xl-5, .gx-xl-5 { --bs-gutter-x: 3rem; }
.g-xl-5, .gy-xl-5 { --bs-gutter-y: 3rem; }
}
.collapse:not(.show) { display: none; }
.collapsing { height: 0px; overflow: hidden; transition: height 0.35s; }
@media (prefers-reduced-motion: reduce){
.collapsing { transition: none; }
}
.accordion { --bs-accordion-color: #000; --bs-accordion-bg: #fff; --bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease; --bs-accordion-border-color: var(--bs-border-color); --bs-accordion-border-width: 1px; --bs-accordion-border-radius: 0.375rem; --bs-accordion-inner-border-radius: calc(0.375rem - 1px); --bs-accordion-btn-padding-x: 1.25rem; --bs-accordion-btn-padding-y: 1rem; --bs-accordion-btn-color: var(--bs-body-color); --bs-accordion-btn-bg: var(--bs-accordion-bg); --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-icon-width: 1.25rem; --bs-accordion-btn-icon-transform: rotate(-180deg); --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-focus-border-color: #86b7fe; --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); --bs-accordion-body-padding-x: 1.25rem; --bs-accordion-body-padding-y: 1rem; --bs-accordion-active-color: #0c63e4; --bs-accordion-active-bg: #e7f1ff; }
.accordion-button { position: relative; display: flex; align-items: center; width: 100%; padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); font-size: 1rem; color: var(--bs-accordion-btn-color); text-align: left; background-color: var(--bs-accordion-btn-bg); border: 0px; border-radius: 0px; overflow-anchor: none; transition: var(--bs-accordion-transition); }
@media (prefers-reduced-motion: reduce){
.accordion-button { transition: none; }
}
.accordion-button:not(.collapsed) { color: var(--bs-accordion-active-color); background-color: var(--bs-accordion-active-bg); box-shadow: inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color); }
.accordion-button:not(.collapsed)::after { background-image: var(--bs-accordion-btn-active-icon); transform: var(--bs-accordion-btn-icon-transform); }
.accordion-button::after { flex-shrink: 0; width: var(--bs-accordion-btn-icon-width); height: var(--bs-accordion-btn-icon-width); margin-left: auto; content: ""; background-image: var(--bs-accordion-btn-icon); background-repeat: no-repeat; background-size: var(--bs-accordion-btn-icon-width); transition: var(--bs-accordion-btn-icon-transition); }
@media (prefers-reduced-motion: reduce){
.accordion-button::after { transition: none; }
}
.accordion-button:hover { z-index: 2; }
.accordion-button:focus { z-index: 3; border-color: var(--bs-accordion-btn-focus-border-color); outline: 0px; box-shadow: var(--bs-accordion-btn-focus-box-shadow); }
.accordion-header { margin-bottom: 0px; }
.accordion-item { color: var(--bs-accordion-color); background-color: var(--bs-accordion-bg); border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); }
.accordion-item:first-of-type { border-top-left-radius: var(--bs-accordion-border-radius); border-top-right-radius: var(--bs-accordion-border-radius); }
.accordion-item:first-of-type .accordion-button { border-top-left-radius: var(--bs-accordion-inner-border-radius); border-top-right-radius: var(--bs-accordion-inner-border-radius); }
.accordion-item:not(:first-of-type) { border-top: 0px; }
.accordion-item:last-of-type { border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius); }
.accordion-item:last-of-type .accordion-button.collapsed { border-bottom-right-radius: var(--bs-accordion-inner-border-radius); border-bottom-left-radius: var(--bs-accordion-inner-border-radius); }
.accordion-item:last-of-type .accordion-collapse { border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius); }
.accordion-body { padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); }
/*KF:progress-bar-stripes*/@-webkit-keyframes progress-bar-stripes { 
  0% { background-position-x: 1rem; }
}
/*KF:spinner-border*/@-webkit-keyframes spinner-border { 
  100% { transform: rotate(360deg); }
}
/*KF:spinner-grow*/@-webkit-keyframes spinner-grow { 
  0% { transform: scale(0); }
  50% { opacity: 1; transform: none; }
}
/*KF:placeholder-glow*/@-webkit-keyframes placeholder-glow { 
  50% { opacity: 0.2; }
}
/*KF:placeholder-wave*/@-webkit-keyframes placeholder-wave { 
  100% { mask-position: -200% 0%; }
}
.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; border: 0px !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-none { display: none !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-center { align-items: center !important; }
.align-items-stretch { align-items: stretch !important; }
.m-auto { margin: auto !important; }
.text-end { text-align: right !important; }
.text-center { text-align: center !important; }
@media (min-width: 992px){
.d-lg-none { display: none !important; }
}
@media (min-width: 1200px){
.d-xl-block { display: block !important; }
.d-xl-none { display: none !important; }
}
/* fontawesome-subset.css */
@font-face { font-family: "Font Awesome 6 Pro"; font-style: normal; font-weight: 900; font-display: swap; src: url("/assets/fonts/fa-solid-900.woff2?v=2026-09-18j") format("woff2"); }
.fa-solid, .fa-regular, .fa-brands { display: var(--fa-display, inline-block); font-style: normal; font-variant: normal; line-height: 1; text-rendering: auto; -webkit-font-smoothing: antialiased; }
.fa-solid { font-family: "Font Awesome 6 Pro"; font-weight: 900; }
.fa-arrow-right::before { content: ""; }
.fa-arrow-right-arrow-left::before { content: ""; }
.fa-bars-staggered::before { content: ""; }
.fa-bolt::before { content: ""; }
.fa-building-circle-check::before { content: ""; }
.fa-certificate::before { content: ""; }
.fa-charging-station::before { content: ""; }
.fa-clipboard-check::before { content: ""; }
.fa-comments::before { content: ""; }
.fa-envelope::before { content: ""; }
.fa-file-invoice-dollar::before { content: ""; }
.fa-file-signature::before { content: ""; }
.fa-gauge-high::before { content: ""; }
.fa-helmet-safety::before { content: ""; }
.fa-location-dot::before { content: ""; }
.fa-mobile-screen-button::before { content: ""; }
.fa-phone::before { content: ""; }
.fa-plug-circle-bolt::before { content: ""; }
.fa-plug-circle-xmark::before { content: ""; }
.fa-route::before { content: ""; }
.fa-screwdriver-wrench::before { content: ""; }
.fa-shield-halved::before { content: ""; }
.fa-table-cells::before { content: ""; }
.fa-triangle-exclamation::before { content: ""; }
.fa-truck-fast::before { content: ""; }
.fa-xmark::before { content: ""; }
/* main.css */
a, a:hover { text-decoration: none; }
ul { padding: 0px; margin: 0px; }
ul li { list-style: none; }
h2, p { margin-bottom: 0px; }
h1, h2, h3, h4, h5, h6 { margin-bottom: 0px; }
input, textarea { background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; outline: none; }
img { max-width: 100%; max-height: 100%; transition: 0.4s ease-in-out; }
.space8 { height: 8px; }
.space16 { height: 16px; }
.space20 { height: 20px; }
.space24 { height: 24px; }
.space30 { height: 30px; }
.space32 { height: 32px; }
.space60 { height: 60px; }
@keyframes pulse-border { 
  0% { transform: translateX(-50%) translateY(-50%) translateZ(0px) scale(1); opacity: 1; }
  100% { transform: translateX(-50%) translateY(-50%) translateZ(0px) scale(1.5); opacity: 0; }
}
:root { --ztc-text-text-1: #fff; --ztc-text-text-2: #0F0D0D; --ztc-text-text-3: #5B5D61; --ztc-text-text-4: #E8040F; --ztc-bg-bg-1: #fff; --ztc-bg-bg-2: #0F0D0D; --ztc-bg-bg-3: #E8040F; --ztc-bg-bg-4: #F4F4F9; --ztc-border-border-1: #E5E7EB; --ztc-border-border-2: #dfdcdc; --ztc-font-size-font-s10: 10px; --ztc-font-size-font-s12: 12px; --ztc-font-size-font-s14: 14px; --ztc-font-size-font-s16: 16px; --ztc-font-size-font-s18: 18px; --ztc-font-size-font-s20: 20px; --ztc-font-size-font-s22: 22px; --ztc-font-size-font-s24: 24px; --ztc-font-size-font-s26: 26px; --ztc-font-size-font-s28: 28px; --ztc-font-size-font-s30: 30px; --ztc-font-size-font-s32: 32px; --ztc-font-size-font-s34: 34px; --ztc-font-size-font-s36: 36px; --ztc-font-size-font-s38: 38px; --ztc-font-size-font-s40: 40px; --ztc-font-size-font-s42: 42px; --ztc-font-size-font-s44: 44px; --ztc-font-size-font-s46: 46px; --ztc-font-size-font-s48: 48px; --ztc-font-size-font-s50: 50px; --ztc-font-size-font-s52: 52px; --ztc-font-size-font-s54: 54px; --ztc-font-size-font-s56: 56px; --ztc-font-size-font-s58: 58px; --ztc-font-size-font-s60: 60px; --ztc-font-size-font-s62: 62px; --ztc-font-size-font-s64: 64px; --ztc-font-size-font-s66: 66px; --ztc-font-size-font-s68: 68px; --ztc-font-size-font-s70: 70px; --ztc-font-size-font-s72: 72px; --ztc-specing-height6: 6px; --ztc-specing-height8: 8px; --ztc-specing-height10: 10px; --ztc-specing-height12: 12px; --ztc-specing-height14: 114px; --ztc-specing-height16: 16px; --ztc-specing-height18: 18px; --ztc-specing-height20: 20px; --ztc-specing-height22: 22px; --ztc-specing-height24: 24px; --ztc-specing-height26: 26px; --ztc-specing-height28: 28px; --ztc-specing-height30: 30px; --ztc-specing-height32: 32px; --ztc-specing-height34: 34px; --ztc-specing-height36: 36px; --ztc-specing-height38: 38px; --ztc-specing-height40: 40px; --ztc-specing-height42: 42px; --ztc-specing-height44: 44px; --ztc-specing-height46: 46px; --ztc-specing-height48: 48px; --ztc-specing-height50: 50px; --ztc-specing-height52: 52px; --ztc-specing-height54: 54px; --ztc-specing-height56: 56px; --ztc-specing-height58: 58px; --ztc-specing-height60: 60px; --ztc-specing-height70: 70px; --ztc-specing-height80: 80px; --ztc-specing-height90: 90px; --ztc-specing-height100: 100px; --ztc-specing-height110: 110px; --ztc-specing-height120: 120px; --ztc-specing-height130: 130px; --ztc-weight-regular: 400; --ztc-weight-medium: 500; --ztc-weight-semibold: 600; --ztc-weight-bold: 700; --ztc-weight-black: 800; --ztc-family-font1: 'Host Grotesk', sans-serif; }
.heading1 h2 { color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s44); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 52px; }
@media (max-width: 767px){
.heading1 h2 { font-size: var(--ztc-font-size-font-s32); line-height: 40px; }
}
.heading1 p { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 24px; }
.vl-btn1 { color: var(--ztc-text-text-1); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s18); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 18px; display: inline-block; transition: 0.6s; background: var(--ztc-bg-bg-3); padding: 18px 24px; border-radius: 4px; position: relative; z-index: 1; }
.vl-btn1::after { position: absolute; content: ""; height: 100%; width: 0px; right: 0px; top: 0px; transition: 0.4s; background: var(--ztc-bg-bg-2); z-index: -1; border-radius: 4px; }
.vl-btn1 i { margin-left: 4px; transform: rotate(-45deg); transition: 0.4s; }
.vl-btn1:hover { transition: 0.4s; transform: translateY(-10px); color: var(--ztc-text-text-1); }
.vl-btn1:hover::after { width: 100%; transition: 0.6s; left: 0px; right: inherit; }
.vl-btn1:hover i { transform: rotate(0deg); transition: 0.4s; }
.sp1 { padding: 100px 0px; }
@media (max-width: 767px){
.sp1 { padding: 50px 0px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.sp1 { padding: 50px 0px; }
}
.sp2 { padding: 100px 0px 70px; }
@media (max-width: 767px){
.sp2 { padding: 50px 0px 20px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.sp2 { padding: 50px 0px 20px; }
}
.space-margin60 { margin-bottom: 60px; }
@media (max-width: 767px){
.space-margin60 { margin-bottom: 30px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.space-margin60 { margin-bottom: 30px; }
}
.service1 { position: relative; z-index: 1; overflow: hidden; background: var(--ztc-bg-bg-4); }
.service1 .service-main-boxarea { position: relative; z-index: 1; overflow: hidden; transition: 0.4s; border-radius: 8px; border: 1px solid var(--STOK-COLOR, #DCDCDC); padding: 30px; margin-bottom: 30px; }
.service1 .service-main-boxarea:hover::after { width: 100%; transition: 0.6s; left: 0px; right: inherit; }
.service1 .service-main-boxarea:hover .s-img1 { width: 100%; transition: 0.6s; left: 0px; right: inherit; }
.service1 .service-main-boxarea:hover .title { color: var(--ztc-text-text-1); transition: 0.4s; }
.service1 .service-main-boxarea:hover p { color: var(--ztc-text-text-1); transition: 0.4s; opacity: 0.9; }
.service1 .service-main-boxarea::after { position: absolute; content: ""; height: 100%; width: 0px; right: 0px; bottom: 0px; transition: 0.6s; background: var(--ztc-bg-bg-3); opacity: 0.8; z-index: -1; }
.service1 .service-main-boxarea .s-img1 { position: absolute; top: 0px; width: 0px; right: 0px; height: 100%; transition: 0.6s; z-index: -2; object-fit: cover; }
.service1 .service-main-boxarea .icons { width: 80px; height: 80px; text-align: center; line-height: 80px; display: inline-block; transition: 0.4s; background: var(--ztc-bg-bg-1); clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); }
.service1 .service-main-boxarea .title { color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s24); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 28px; display: inline-block; transition: 0.4s; padding-bottom: 16px; border-bottom: 1px solid rgb(220, 220, 220); }
.service1 .service-main-boxarea p { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 24px; transition: 0.4s; }
.service2 { position: relative; z-index: 1; overflow: hidden; background: var(--ztc-bg-bg-4); }
.service2 .service-widget-boxarea { position: relative; z-index: 1; overflow: hidden; background: var(--ztc-bg-bg-1); margin-bottom: 30px; transition: 0.4s; border-radius: 8px; }
.service2 .service-widget-boxarea:hover { transform: translateY(-10px); transition: 0.4s; }
.service2 .service-widget-boxarea:hover .img1 img { transform: scale(1.1) rotate(-4deg); transition: 0.4s; }
.service2 .service-widget-boxarea:hover .s-content-area .icons { background: var(--ztc-bg-bg-3); transition: 0.4s; transform: rotateY(-180deg); }
.service2 .service-widget-boxarea .img1 { position: relative; z-index: 1; overflow: hidden; border-radius: 8px 8px 0px 0px; }
.service2 .service-widget-boxarea .img1 img { height: 100%; width: 100%; object-fit: cover; transition: 0.4s; border-radius: 8px 8px 0px 0px; }
.service2 .service-widget-boxarea .s-content-area { padding: 46px 30px 30px; position: relative; z-index: 1; }
.service2 .service-widget-boxarea .s-content-area .icons { height: 60px; width: 60px; text-align: center; line-height: 60px; display: inline-block; transition: 0.4s; background: var(--ztc-bg-bg-4); border-radius: 4px; position: absolute; top: -30px; }
.service2 .service-widget-boxarea .s-content-area .title { color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s24); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 30px; display: inline-block; transition: 0.4s; }
.service2 .service-widget-boxarea .s-content-area .title:hover { color: var(--ztc-text-text-4); transition: 0.4s; }
.service2 .service-widget-boxarea .s-content-area p { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 24px; }
.hero-slider-main-area2 { position: relative; z-index: 1; }
.hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide.slick-current.slick-active .hero-bg1 { transform: scale(1.1); }
.hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide.slick-current.slick-active h1, .hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide.slick-current.slick-active .hero-slide-title { transition: transform 1600ms, opacity 1600ms; transform: translateX(0px); opacity: 1; }
.hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide.slick-current.slick-active p { transition: transform 1700ms, opacity 1700ms; transform: translateX(0px); opacity: 0.9 !important; }
.hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide.slick-current.slick-active .play-btns-area { transition: transform 1800ms, opacity 1800ms; transform: translateX(0px); opacity: 1; }
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 { position: relative; z-index: 1; overflow: hidden; padding: 290px 0px 235px; }
@media (max-width: 767px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 { padding: 170px 0px 235px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 { padding: 180px 0px 235px; }
}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2::after { position: absolute; content: ""; height: 100%; left: 0px; top: 0px; background: linear-gradient(90deg, rgb(15, 13, 13) 0%, rgba(15, 13, 13, 0) 117.69%); width: 100%; z-index: -1; }
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1 { position: absolute; top: 0px; left: 0px; width: 100%; z-index: -2; height: 100%; object-fit: cover; transform: scale(1); transition: transform 8000ms, opacity 1800ms ease-in; }
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading { padding: 0px 40px 0px 0px; position: relative; }
@media (max-width: 767px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading { padding: 0px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading { padding: 0px; }
}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title { color: var(--ztc-text-text-1); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s70); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 82px; display: inline-block; transition: transform 1400ms, opacity 1400ms; transform: translateX(-800px); position: relative; opacity: 0; }
@media (max-width: 767px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title { font-size: var(--ztc-font-size-font-s32); line-height: 40px; }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title { font-size: var(--ztc-font-size-font-s60); line-height: 70px; }
}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading p { color: var(--ztc-text-text-1); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s20); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 28px; transition: transform 1400ms, opacity 1400ms; transform: translateX(-900px); position: relative; opacity: 0 !important; }
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .play-btns-area { display: flex; align-items: center; transition: transform 1400ms, opacity 1400ms; transform: translateX(-1000px); position: relative; opacity: 0; }
@media (max-width: 767px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .play-btns-area { display: inline-block; }
}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .play-btns-area .play-btn { color: var(--ztc-text-text-1); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s18); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 18px; padding-left: 24px; display: inline-block; }
@media (max-width: 767px){
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .play-btns-area .play-btn { padding-left: 0px; margin-top: 20px; }
}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .play-btns-area .play-btn .video { height: 56px; width: 56px; text-align: center; line-height: 56px; border-radius: 50%; display: inline-block; transition: 0.4s; color: var(--ztc-text-text-4); background: var(--ztc-bg-bg-1); font-size: var(--ztc-font-size-font-s20); margin: 0px 10px 0px 0px; position: relative; z-index: 1; }
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .play-btns-area .play-btn .video::after { position: absolute; content: ""; height: 100%; width: 100%; left: 28px; top: 28px; background: var(--ztc-bg-bg-1); transition: 0.4s; border-radius: 50%; z-index: -1; animation: 1500ms ease-out 0s infinite normal none running pulse-border; opacity: 0.4; }
.vl-header-action-item { float: right; border: 1px solid var(--ztc-text-text-1); padding: 6px; border-radius: 4px; color: var(--ztc-text-text-2); }
.vl-header-action-item button { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; outline: none; background: none; transition: 0.4s; color: var(--ztc-text-text-1); font-size: var(--ztc-font-size-font-s20); }
.vl-offcanvas { position: fixed; background: var(--ztc-bg-bg-3); width: 450px; z-index: 99; right: 0px; top: 0px; padding: 50px 40px; height: 100%; opacity: 0; visibility: hidden; transform: translateX(100%); transition: 0.3s; overflow-y: scroll; overscroll-behavior-y: contain; scrollbar-width: none; }
@media only screen and (max-width: 450px){
.vl-offcanvas { width: 100%; }
}
.vl-offcanvas-open { opacity: 1; visibility: visible; transform: translateX(0px); }
.vl-offcanvas-close-toggle { font-size: var(--ztc-font-size-font-s30); color: var(--vl-heading-color); }
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), (max-width: 767px){
.vl-offcanvas-header { margin-bottom: 40px; }
}
.vl-offcanvas-info span a { display: block; color: var(--ztc-text-text-1); margin-bottom: 10px; }
.vl-offcanvas-info span a i { margin: 0px 4px 0px 0px; }
.vl-offcanvas-sm-title { font-size: var(--ztc-font-size-font-s24); color: var(--ztc-text-text-1); }
.vl-offcanvas-overlay { position: fixed; top: 0px; left: 0px; z-index: 50; width: 100%; height: 100%; visibility: hidden; opacity: 0; background: rgba(24, 24, 24, 0.4); }
.vl-offcanvas-overlay-open { opacity: 0.7; visibility: visible; }
.vl-offcanvas .vl-offcanvas-logo { height: 50px; width: 164px; object-fit: contain; }
.vl-offcanvas .vl-offcanvas-close button { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: none; outline: none; color: var(--ztc-text-text-1); }
.vl-offcanvas-menu ul { list-style: none; }
.vl-offcanvas-menu ul li { position: relative; }
.vl-offcanvas-menu ul li a { padding: 8px 0px; display: block; font-size: var(--ztc-font-size-font-s18); font-weight: var(--ztc-weight-medium); color: var(--ztc-text-text-1); transition: 0.4s; }
.vl-offcanvas-menu ul li > a { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.vl-offcanvas-menu ul li .sub-menu { display: none; padding-left: 20px; }
.vl-footer1-section-area { position: relative; z-index: 1; overflow: hidden; padding: 275px 0px 32px; background: var(--ztc-bg-bg-4); }
.vl-footer1-section-area .elements3 { position: absolute; bottom: 0px; right: 0px; }
.vl-footer1-section-area .footer-logo-area { position: relative; z-index: 1; }
.vl-footer1-section-area .footer-logo-area img { width: 175px; height: 62px; object-fit: contain; }
.vl-footer1-section-area .footer-logo-area p { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 24px; }
.vl-footer1-section-area .footer-widget-area.foot-padding1 { padding-left: 70px; }
@media (max-width: 767px){
.vl-footer1-section-area .footer-widget-area.foot-padding1 { padding: 0px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.vl-footer1-section-area .footer-widget-area.foot-padding1 { padding: 0px; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
.vl-footer1-section-area .footer-widget-area.foot-padding1 { padding: 0px; }
}
.vl-footer1-section-area .footer-widget-area.foot-padding1 ul li { padding-top: 24px; }
.vl-footer1-section-area .footer-widget-area.foot-padding1 ul li a { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 16px; display: inline-block; transition: 0.4s; }
.vl-footer1-section-area .footer-widget-area.foot-padding1 ul li a:hover { color: var(--ztc-text-text-4); transition: 0.4s; padding-left: 5px; }
.vl-footer1-section-area .footer-widget-area.foot-padding2 ul li { padding-top: 24px; }
.vl-footer1-section-area .footer-widget-area.foot-padding2 ul li a { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 16px; display: inline-block; transition: 0.4s; }
.vl-footer1-section-area .footer-widget-area.foot-padding2 ul li a:hover { color: var(--ztc-text-text-4); transition: 0.4s; padding-left: 5px; }
.vl-footer1-section-area .footer-widget-area h3 { color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s24); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 24px; margin-bottom: 4px; }
.vl-footer1-section-area .footer-widget-area ul li { padding-top: 24px; }
.vl-footer1-section-area .footer-widget-area ul li a { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 18px; display: inline-block; transition: 0.4s; }
.vl-footer1-section-area .footer-widget-area ul li a:hover { color: var(--ztc-text-text-4); transition: 0.4s; }
.vl-footer1-section-area .copyright-area { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--ztc-border-border-1); padding-top: 24px; }
@media (max-width: 767px){
.vl-footer1-section-area .copyright-area { display: block; text-align: center; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.vl-footer1-section-area .copyright-area { display: block; text-align: center; }
}
.vl-footer1-section-area .copyright-area a { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 16px; display: inline-block; transition: 0.4s; }
@media (max-width: 767px){
.vl-footer1-section-area .copyright-area a { line-height: 24px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.vl-footer1-section-area .copyright-area ul { padding-top: 20px; }
}
@media (max-width: 767px){
.vl-footer1-section-area .copyright-area ul { padding-top: 20px; }
}
.vl-footer1-section-area .copyright-area ul li { display: inline-block; }
.vl-footer1-section-area .copyright-area ul li a { color: var(--ztc-text-text-3); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 16px; display: inline-block; transition: 0.4s; }
.vl-footer1-section-area .copyright-area ul li span { display: inline-block; margin: 0px 16px; color: var(--ztc-border-border-1); }
.homepage2-body .vl-transparent-header { position: absolute; top: 0px; left: 0px; right: 0px; z-index: 99; padding: 16px 0px; }
@media (max-width: 767px){
.homepage2-body .vl-transparent-header { background: var(--ztc-bg-bg-2); }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.homepage2-body .vl-transparent-header { background: var(--ztc-bg-bg-2); }
}
.homepage2-body .vl-transparent-header::after { position: absolute; content: ""; height: 1px; width: 100%; left: 0px; bottom: 0px; background: rgb(122, 122, 122); opacity: 0.3; }
.homepage2-body .vl-transparent-header .vl-logo img { width: 164px; height: 50px; object-fit: contain; }
.homepage2-body .vl-main-menu ul { text-align: center; }
.homepage2-body .vl-main-menu ul > li { display: inline-block; position: relative; }
.homepage2-body .vl-main-menu ul > li > a { color: var(--ztc-text-text-1); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s18); display: inline-block; position: relative; transition: 0.4s; padding: 0px 16px; font-weight: var(--ztc-weight-medium); }
.homepage2-body .vl-main-menu ul > li:hover a { color: var(--ztc-text-text-4); }
.homepage2-body .vl-main-menu ul > li .sub-menu { position: absolute; top: 201%; width: 220px; left: 0px; background: var(--ztc-bg-bg-2); padding: 12px 20px 24px; opacity: 0; visibility: hidden; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; transition: 0.4s; border-radius: 4px; transform-origin: center top; transform: scale(1, 0); }
.homepage2-body .vl-main-menu ul > li .sub-menu::after { position: absolute; content: ""; height: 5px; left: 0px; width: 100%; background: var(--ztc-bg-bg-3); top: 0px; }
.homepage2-body .vl-main-menu ul > li .sub-menu li { margin-right: 0px; display: block; text-align: start; }
.homepage2-body .vl-main-menu ul > li .sub-menu li a { color: var(--ztc-text-text-1); display: inline-block; font-size: var(--ztc-font-size-font-s18); position: relative; z-index: 1; padding: 12px 0px 0px; font-weight: var(--ztc-weight-medium); }
.homepage2-body .vl-main-menu ul > li .sub-menu li a::after { position: absolute; content: ""; height: 2px; width: 0px; transition: 0.4s; left: 0px; bottom: 0px; background: var(--ztc-bg-bg-3); z-index: 1; }
.homepage2-body .vl-main-menu ul > li .sub-menu li a:hover::after { width: 50%; transition: 0.4s; }
.homepage2-body .vl-main-menu ul > li .sub-menu li a::before { display: none; }
.homepage2-body .vl-main-menu ul > li .sub-menu li:hover > a { color: var(--ztc-text-text-4); }
.homepage2-body .vl-main-menu ul > li:hover a { color: var(--ztc-text-text-4); }
.homepage2-body .vl-main-menu ul > li:hover .sub-menu { opacity: 1; visibility: visible; top: 201%; transform: scale(1); transition: 0.4s; }
.homepage2-body .header-sticky { position: fixed; left: 0px; right: 0px; top: 0px; animation: 0.7s ease-in-out 0s 1 normal none running vlfadeInDown; background-color: rgba(0, 0, 0, 0.76); }
@keyframes vlfadeInDown { 
  0% { opacity: 0; transform: translateY(-100%); }
  100% { opacity: 1; transform: translateY(0px); }
}
.others2 { position: relative; z-index: 1; padding: 0px; }
.others2 .others-boxarea { text-align: center; border-radius: 8px; background: var(--ztc-bg-bg-1); box-shadow: rgba(0, 0, 0, 0.13) 0px 4px 40px 0px; padding: 30px; transition: 0.4s; margin-bottom: 30px; position: relative; z-index: 2; top: -100px; }
.others2 .others-boxarea:hover { background: var(--ztc-bg-bg-3); transition: 0.4s; transform: translateY(-10px); }
.others2 .others-boxarea:hover .title { color: var(--ztc-text-text-1); transition: 0.4s; }
.others2 .others-boxarea .icons { margin-bottom: 24px; }
.others2 .others-boxarea .title { color: var(--ztc-text-text-2); text-align: center; font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s24); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 32px; transition: 0.4s; }
.team1 { position: relative; z-index: 1; overflow: hidden; }
.faq1 { position: relative; z-index: 1; overflow: hidden; }
.faq1 .faq-main-area { position: relative; z-index: 1; }
.faq1 .faq-main-area .accordion { position: relative; z-index: 1; }
.faq1 .faq-main-area .accordion .accordion-item { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: var(--ztc-bg-bg-3); border-radius: 8px; }
.faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button { outline: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: var(--ztc-bg-bg-4); box-shadow: none; padding: 30px; transition: 0.4s; color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s24); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 24px; border-radius: 6px; }
@media (max-width: 767px){
.faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button { font-size: var(--ztc-font-size-font-s20); line-height: 26px; }
}
.faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) { background: none; transition: 0.4s; color: var(--ztc-text-text-1); padding: 30px 30px 18px; }
.faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button:not(.collapsed)::after { filter: brightness(0) invert(1); }
.faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button .number { color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s18); font-style: normal; font-weight: var(--ztc-weight-bold); line-height: 18px; display: inline-block; clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); padding: 15px 12px; box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 30px; position: absolute; z-index: 1; background: var(--ztc-bg-bg-1); left: -24px; top: 50%; margin-top: -24px; }
.faq1 .faq-main-area .accordion .accordion-item .accordion-body { padding: 0px; }
.faq1 .faq-main-area .accordion .accordion-item .accordion-body p { color: rgba(255, 255, 255, 0.9); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s16); font-style: normal; font-weight: var(--ztc-weight-regular); line-height: 24px; padding: 0px 30px 30px; }
.cta1-aection-area { position: relative; z-index: 2; margin-bottom: -200px; }
.cta1-aection-area .cta-bg-area { position: relative; z-index: 1; background: var(--ztc-bg-bg-3); border-radius: 16px; padding: 0px 60px; }
@media (max-width: 767px){
.cta1-aection-area .cta-bg-area { padding: 24px 24px 0px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.cta1-aection-area .cta-bg-area { padding: 40px 40px 0px; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
.cta1-aection-area .cta-bg-area { padding: 40px 40px 0px; }
}
.cta1-aection-area .cta-bg-area .elements4 { position: absolute; z-index: -1; right: 0px; top: 0px; }
.cta1-aection-area .cta-bg-area .cta-images-area { position: relative; z-index: 1; }
@media (max-width: 767px){
.cta1-aection-area .cta-bg-area .cta-images-area { top: 30px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.cta1-aection-area .cta-bg-area .cta-images-area { top: 30px; }
}
.cta1-aection-area .cta-bg-area .cta-images-area img { height: 100%; width: 100%; object-fit: cover; border-radius: 8px; }
.cta1-aection-area .cta-bg-area .cta-heading h2 { color: var(--ztc-text-text-1); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s44); font-style: normal; font-weight: var(--ztc-weight-black); line-height: 54px; }
@media (max-width: 767px){
.cta1-aection-area .cta-bg-area .cta-heading h2 { font-size: var(--ztc-font-size-font-s32); line-height: 40px; }
}
.cta1-aection-area .cta-bg-area .cta-heading p { color: rgba(255, 255, 255, 0.9); font-family: var(--ztc-family-font1); font-size: var(--ztc-font-size-font-s18); font-style: normal; font-weight: var(--ztc-weight-medium); line-height: 26px; }
.choose1 { position: relative; z-index: 1; overflow: hidden; }
.choose1 .choose-heading { padding: 0px 50px 0px 0px; }
@media (max-width: 767px){
.choose1 .choose-heading { padding: 0px; margin-bottom: 30px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.choose1 .choose-heading { padding: 0px; margin-bottom: 30px; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
.choose1 .choose-heading { padding: 0px; margin-bottom: 30px; }
}
.choose1 .choose-heading .choose-boxarea .icons { height: 48px; width: 48px; text-align: center; line-height: 48px; display: inline-block; transition: 0.4s; background: var(--ztc-bg-bg-4); position: absolute; border-radius: 8px; }
.choose1 .choose-heading .choose-boxarea .content-area { padding-left: 64px; }
.about2 { position: relative; z-index: 1; overflow: hidden; }
.about2 .about2-heading { padding: 0px 70px 0px 0px; }
@media (max-width: 767px){
.about2 .about2-heading { padding: 0px; margin-top: 30px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.about2 .about2-heading { padding: 0px; margin-top: 30px; }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px){
.about2 .about2-heading { padding: 0px; margin-top: 30px; }
}
.about2 .about2-heading .choose-boxarea .icons { height: 48px; width: 48px; text-align: center; line-height: 48px; display: inline-block; transition: 0.4s; background: var(--ztc-bg-bg-4); position: absolute; border-radius: 8px; }
.about2 .about2-heading .choose-boxarea .content-area { padding-left: 64px; }
.about2 .about2-heading .btn-area1 { display: flex; align-items: center; padding-top: 38px; border-top: 1px solid var(--ztc-bg-bg-4); }
/* doutor-house.css */
html, body { overflow-x: hidden; }
[hidden] { display: none !important; }
#inicio, #urgencias, #servicos, #processo, #trabalhos, #areas, #formulario, #blog, #contacto, #titulo-cobertura { scroll-margin-top: 96px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 99999; padding: 12px 16px; border-radius: 4px; background: rgb(255, 255, 255); color: var(--ztc-text-text-2); font-weight: 700; transform: translateY(-180%); transition: transform 160ms; }
.skip-link:focus-visible { transform: translateY(0px); }
.heading1 .vl-section-title { font-size: clamp(36px, 3vw, 44px); line-height: 1.18; text-wrap: balance; }
a, button, [role="button"] { touch-action: manipulation; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: rgb(255, 42, 31) solid 3px; outline-offset: 3px; }
.homepage2-body .vl-transparent-header .vl-logo img { width: 188px; height: auto; }
.hero-slider-main-area2 .hero1-heading .hero-keyword { color: var(--ztc-text-text-4); }
.vl-offcanvas-logo img, .sidebar-logo img { width: 230px; height: auto; }
.vl-footer1-section-area .footer-logo-area > img { width: 200px; height: auto; }
.vl-main-menu > nav > ul > li > .vl-mega-menu, .vl-main-menu > nav > ul > li > a span { display: none !important; }
.service2 .service-card-column { display: flex; }
.service2 .service-card-column .service-widget-boxarea { display: flex; width: 100%; flex-direction: column; }
.service2 .service-card-column .img1 img { height: 240px; object-fit: cover; }
.service2 .service-card-column .s-content-area { display: flex; flex: 1 1 0%; flex-direction: column; }
.header-phone-button, .hero1-heading .vl-btn1 { white-space: nowrap; }
.call-icon-up { display: inline-block; transform-origin: center center; transform: rotate(0deg) !important; }
.vl-btn1 i.call-icon-up, .vl-btn1:hover i.call-icon-up, .cta-phone i.call-icon-up, a svg.call-icon-up { transform: rotate(0deg) !important; }
.header-phone-button, .header-phone-button:hover { color: rgb(255, 255, 255) !important; }
.mobile-header-actions { gap: 10px; white-space: nowrap; }
.mobile-header-phone { display: inline-flex; min-height: 40px; align-items: center; gap: 7px; border-radius: 5px; background: var(--ztc-bg-bg-3); color: rgb(255, 255, 255); font-size: 13px; font-weight: 700; padding: 0px 10px; }
.mobile-header-phone:hover { color: rgb(255, 255, 255); }
.mobile-header-actions .vl-offcanvas-toggle { flex: 0 0 auto; }
.others2 .benefit-card { display: flex; min-height: 270px; flex-direction: column; align-items: center; }
.others2 .benefit-card .title { min-height: 64px; }
.others2 .benefit-card p { margin-top: 14px; color: var(--ztc-text-text-3); font-size: 15px; line-height: 23px; transition: color 0.4s; }
.others2 .benefit-card:hover p { color: rgba(255, 255, 255, 0.88); }
.others2 .benefit-card .icons i { display: inline-flex; width: 60px; height: 60px; align-items: center; justify-content: center; color: var(--ztc-text-text-4); font-size: 38px; transition: color 0.4s; }
.others2 .benefit-card:hover .icons i { color: rgb(255, 255, 255); }
.service2 .service-widget-boxarea .s-content-area .icons i { color: rgb(255, 255, 255); font-size: 27px; transition: color 0.4s, transform 0.4s; }
.service2 .service-widget-boxarea .s-content-area .icons { background: var(--ztc-bg-bg-3); }
.service2 .service-widget-boxarea:hover .s-content-area .icons { background: rgb(255, 255, 255); }
.service2 .service-widget-boxarea:hover .s-content-area .icons i { color: var(--ztc-text-text-4); transform: rotateY(180deg); }
.service2 .service-card-column .s-content-area .title { min-height: 52px; font-size: 20px; line-height: 26px; text-wrap: balance; }
.service2 .service-card-column .s-content-area p { line-height: 1.55; }
.choose-boxarea .icons i { color: var(--ztc-text-text-2); font-size: 22px; }
.service1 .service-main-boxarea .icons i { color: var(--ztc-text-text-2); font-size: 30px; }
.others2 .benefit-card .icons, .service2 .service-widget-boxarea .s-content-area .icons, .choose-boxarea .icons, .service1 .service-main-boxarea .icons { display: flex; align-items: center; justify-content: center; }
.others2 .benefit-card .icons i, .service2 .service-widget-boxarea .s-content-area .icons i, .choose-boxarea .icons i, .service1 .service-main-boxarea .icons i { flex: 0 0 auto; font-weight: 900; line-height: 1; text-align: center; }
.step-kicker { display: inline-block; margin-bottom: 16px; color: rgb(255, 61, 0); font-weight: 700; letter-spacing: 0.08em; }
.process-card-section .process-card-column { display: flex; }
.process-card-section .service-main-boxarea { display: flex; width: 100%; flex-direction: column; }
.process-card-section .service-main-boxarea .content-area { display: flex; flex: 1 1 0%; flex-direction: column; }
.process-card-section .process-step-label { position: relative; z-index: 1; margin-bottom: 12px; }
.process-card-section .service-main-boxarea:hover .process-step-label { color: var(--ztc-text-text-1); }
.cta1-aection-area .cta-bg-area .cta-images-area { display: flex; aspect-ratio: 570 / 563; align-items: flex-end; justify-content: flex-end; }
.cta1-aection-area .cta-bg-area .cta-images-area img { display: block; width: auto; max-width: 100%; height: 100%; object-fit: contain; object-position: center bottom; border-radius: 0px; }
@media (min-width: 1200px){
.process-card-section .service-main-boxarea .title { font-size: 21px; line-height: 28px; }
}
.theme-single-image { position: relative; z-index: 1; width: 100%; max-width: 570px; padding: 0px 26px 26px; }
.theme-single-image-evaluation { margin-left: auto; }
.theme-single-image::after { position: absolute; z-index: 0; right: 0px; bottom: 0px; width: 168px; height: 150px; border: 2px solid rgb(216, 47, 32); border-radius: 8px; content: ""; }
.theme-single-image figure { position: relative; z-index: 1; overflow: hidden; height: 560px; margin: 0px; border-radius: 8px; }
.theme-single-image figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.theme-image-badge { position: absolute; z-index: 2; display: flex; top: 0px; left: 0px; width: 230px; min-height: 136px; padding: 22px 24px; flex-direction: column; align-items: center; justify-content: center; color: rgb(255, 255, 255); background: rgb(216, 47, 32); text-align: center; }
.theme-image-badge strong, .theme-image-badge span { display: block; }
.theme-image-badge strong { font-size: 34px; font-weight: 800; line-height: 1; }
.theme-image-badge span { margin-top: 12px; font-size: 18px; font-weight: 700; line-height: 1.25; }
@media (max-width: 1199px){
.theme-single-image, .theme-single-image-evaluation { margin: 0px auto 40px; }
}
@media (max-width: 575px){
.theme-single-image { padding: 0px 16px 16px; }
.theme-single-image::after { width: 118px; height: 110px; }
.theme-single-image figure { height: 420px; }
.theme-image-badge { width: 176px; min-height: 104px; padding: 16px; }
.theme-image-badge strong { font-size: 28px; }
.theme-image-badge span { margin-top: 8px; font-size: 15px; }
}
.work-pairs-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 56px 42px; }
.before-after-card { min-width: 0px; }
.before-after-visual { position: relative; min-height: 530px; padding: 0px 68px 68px 0px; }
.before-after-frame { position: relative; overflow: hidden; margin: 0px; background: rgb(232, 233, 237); border-radius: 10px; box-shadow: rgba(18, 32, 61, 0.12) 0px 18px 42px; }
.before-after-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.before-after-primary { height: 460px; }
.before-after-secondary { position: absolute; right: 0px; bottom: 0px; width: 55%; height: 290px; border: 8px solid rgb(255, 255, 255); box-shadow: rgba(18, 32, 61, 0.22) 0px 18px 38px; }
.before-after-label { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 7px 12px; border-radius: 4px; color: rgb(255, 255, 255); background: rgb(216, 47, 32); font-size: 13px; font-weight: 800; letter-spacing: 0.08em; line-height: 1; text-transform: uppercase; }
.before-after-secondary .before-after-label { background: rgb(17, 43, 98); }
.before-after-copy { padding: 8px 6px 0px; }
.before-after-copy h3 { margin: 0px 0px 8px; color: rgb(14, 15, 18); font-size: 25px; line-height: 1.25; }
.before-after-copy p { margin: 0px; color: rgb(95, 100, 112); font-size: 16px; line-height: 1.6; }
@media (max-width: 767px){
.work-pairs-grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 575px){
.before-after-visual { min-height: 430px; padding: 0px 34px 54px 0px; }
.before-after-primary { height: 370px; }
.before-after-secondary { width: 60%; height: 220px; border-width: 6px; }
.before-after-copy h3 { font-size: 22px; }
}
.contact-request-section { background: rgb(247, 247, 251); }
.contact-request-section .contact-form-panel { padding: 34px 36px 36px; border: 1px solid rgb(226, 227, 232); border-radius: 8px; background: rgb(255, 255, 255); box-shadow: rgba(15, 13, 13, 0.08) 0px 18px 40px; }
.request-form .input-area { margin-top: 18px; }
.request-form .field-label { display: block; margin-bottom: 8px; color: var(--ztc-text-text-2); font-size: 14px; font-weight: 700; line-height: 1.3; }
.request-form .field-label span { color: var(--ztc-text-text-4); }
.request-form input, .request-form select, .request-form textarea { width: 100%; border: 1px solid rgb(216, 217, 223); border-radius: 8px; background: rgb(241, 241, 246); color: var(--ztc-text-text-2); font-family: inherit; font-size: 16px; outline: transparent solid 2px; outline-offset: 2px; }
.request-form input, .request-form select { height: 54px; padding: 0px 16px; }
.request-form textarea { min-height: 148px; padding: 18px 16px; resize: vertical; }
.request-form input:focus, .request-form select:focus, .request-form textarea:focus { border-color: var(--ztc-text-text-4); box-shadow: rgba(255, 42, 31, 0.12) 0px 0px 0px 3px; }
.form-privacy-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; color: var(--ztc-text-text-3); }
.form-privacy-note > i { margin-top: 4px; color: var(--ztc-text-text-4); }
.form-privacy-note p { margin: 0px; font-size: 13px; line-height: 1.55; }
.form-privacy-note a { color: var(--ztc-text-text-2); font-weight: 700; text-decoration: underline; }
.request-form .form-submit .vl-btn1 { width: 100%; justify-content: center; border: 0px; }
.cta-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; max-width: 620px; padding: 10px; border-radius: 8px; background: var(--ztc-bg-bg-1); }
.cta-contact-actions .cta-phone { display: inline-flex; flex: 1 1 0%; min-height: 56px; align-items: center; gap: 10px; padding: 0px 12px; color: var(--ztc-text-text-2); font-size: 18px; font-weight: 700; }
.footer-phone-icon { width: 24px; color: rgb(91, 93, 97); text-align: center; }
@media (max-width: 1199px){
.homepage2-body .vl-transparent-header .vl-logo img { width: 124px; }
.contact-request-section .contact-form-panel { margin-top: 10px; }
.heading1 .vl-section-title { font-size: clamp(34px, 4vw, 40px); }
}
@media (min-width: 1200px){
.about2-heading .vl-section-title, .choose-heading .vl-section-title, .areas-copy .vl-section-title, .process-card-section .vl-section-title, .team1 > .container > .row:first-child .vl-section-title, .vl-blog-2-area > .container > .row:first-child .vl-section-title, .contact-guidance .vl-section-title { white-space: nowrap; }
}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1 { filter: brightness(0.88); }
@media (max-width: 767px){
html, body { overflow-x: hidden; }
.hero-slider-main-area2 .hero-bg-avarias-epi { object-position: 72% center; }
.hero-slider-main-area2 .container, .hero-slider-main-area2 .row, .hero-slider-main-area2 .col-xl-7, .hero-slider-main-area2 .hero1-heading { width: 100%; max-width: 100%; }
.hero-slider-main-area2 .hero1-heading h1, .hero-slider-main-area2 .hero1-heading .hero-slide-title, .hero-slider-main-area2 .hero1-heading p { display: block; width: 100%; max-width: 100%; white-space: normal; overflow-wrap: normal; }
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title { font-size: clamp(20px, 7vw, 32px); line-height: 1.22; }
.vl-header-action-item { text-align: right; }
.homepage2-body .vl-transparent-header .container { width: 100%; max-width: none; padding-right: 8px; padding-left: 8px; }
.homepage2-body .vl-transparent-header .row { flex-wrap: nowrap; margin-right: 0px; margin-left: 0px; }
.homepage2-body .vl-transparent-header .mobile-logo-column { width: 44%; max-width: 44%; flex: 0 0 44%; padding-right: 0px; padding-left: 0px; }
.homepage2-body .vl-transparent-header .mobile-actions-column { width: auto; max-width: none; min-width: 0px; flex: 1 1 auto; padding-right: 0px; padding-left: 0px; }
.homepage2-body .vl-transparent-header .vl-logo img { width: 100%; max-width: 155px; }
.mobile-header-actions { width: 100%; gap: 8px; padding: 0px; border: 0px; }
.mobile-header-phone { min-width: 0px; min-height: 44px; flex: 1 1 auto; justify-content: center; gap: 6px; padding: 0px 10px; font-size: 14px; }
.mobile-header-actions .vl-offcanvas-toggle { width: 44px; height: 44px; padding: 0px; }
.mobile-header-actions .vl-offcanvas-toggle i { font-size: 22px; }
.about2 .about2-heading .btn-area1 { flex-wrap: wrap; gap: 14px; }
.others2 .benefit-card { min-height: 0px; }
.others2 .benefit-card .title { min-height: 0px; }
.contact-request-section .contact-form-panel { padding: 26px 20px 28px; }
.heading1 .vl-section-title { font-size: clamp(28px, 7.8vw, 32px); line-height: 1.16; white-space: normal; }
.service2 .service-card-column .s-content-area .title, .vl-blog-1-title { min-height: 0px; }
.process-card-section .service-main-boxarea .title { font-size: 18px; white-space: nowrap; }
.cta-contact-actions { align-items: stretch; flex-direction: column; padding: 12px; }
.cta-contact-actions .cta-phone, .cta-contact-actions .vl-btn1 { width: 100%; justify-content: center; text-align: center; }
.cta1-aection-area .cta-bg-area { overflow: hidden; }
.cta1-aection-area .cta-bg-area .cta-heading h2 { font-size: clamp(24px, 6.5vw, 28px); line-height: 1.2; white-space: nowrap; }
#contacto .cta-bg-area .cta-heading h2 { white-space: normal; text-wrap-style: balance; }
.cta1-aection-area .cta-bg-area .cta-images-area { top: 0px; }
}
@media (prefers-reduced-motion: reduce){
*, ::before, ::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
.contact-page :where(a, button, input, select, textarea) { touch-action: manipulation; }
.contact-page :where(a, button, input, select, textarea):focus-visible { outline: rgb(255, 51, 41) solid 3px; outline-offset: 3px; }
.contact-page-details { padding-right: 18px; }
.contact-page-details > p { max-width: 540px; color: var(--ztc-text-text-3); font-size: 17px; line-height: 1.7; }
.contact-detail-list { display: grid; gap: 14px; margin-top: 30px; }
.contact-detail-card { display: grid; grid-template-columns: 54px minmax(0px, 1fr) 24px; gap: 16px; align-items: center; padding: 17px 18px; border-top: 1px solid rgb(225, 227, 234); border-right: 1px solid rgb(225, 227, 234); border-bottom: 1px solid rgb(225, 227, 234); border-image: none; border-left: 4px solid var(--ztc-text-text-4); border-radius: 4px; background: rgb(255, 255, 255); color: var(--ztc-text-text-2); box-shadow: rgba(15, 34, 76, 0.06) 0px 12px 34px; transition: transform 180ms, border-color 180ms, box-shadow 180ms; }
.contact-detail-card:hover { color: var(--ztc-text-text-2); border-color: rgba(208, 0, 0, 0.55); transform: translateY(-2px); box-shadow: rgba(15, 34, 76, 0.1) 0px 16px 38px; }
.contact-detail-icon { display: inline-flex; width: 54px; height: 54px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ztc-text-text-4); color: rgb(255, 255, 255); font-size: 20px; }
.contact-detail-card small, .contact-detail-card strong { display: block; }
.contact-detail-card small { margin-bottom: 3px; color: var(--ztc-text-text-3); font-size: 13px; }
.contact-detail-card strong { overflow-wrap: anywhere; font-size: 17px; }
.contact-detail-arrow { color: var(--ztc-text-text-4); }
.contact-service-note { display: flex; gap: 16px; margin-top: 28px; padding: 22px; border-radius: 4px; background: var(--ztc-text-text-2); }
.contact-service-note-icon { display: inline-flex; width: 42px; height: 42px; flex: 0 0 42px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ztc-text-text-4); color: rgb(255, 255, 255); }
.contact-service-note h3 { margin: 0px; color: rgb(255, 255, 255); font-size: 19px; }
.contact-service-note p { margin: 7px 0px 0px; color: rgba(255, 255, 255, 0.78); line-height: 1.55; }
.contact-form-panel.contact-form-panel--featured { padding: 38px 42px 42px; border-right: 1px solid rgb(226, 227, 232); border-bottom: 1px solid rgb(226, 227, 232); border-left: 1px solid rgb(226, 227, 232); border-image: none; border-top: 5px solid var(--ztc-text-text-4); border-radius: 4px; background: rgb(255, 255, 255); box-shadow: rgba(15, 34, 76, 0.1) 0px 20px 55px; }
.contact-form-panel--featured > h2 { margin: 0px; color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: clamp(32px, 3vw, 44px); font-weight: 800; line-height: 1.14; }
.contact-form-panel--featured > p:not(.contact-form-kicker) { margin: 14px 0px 0px; color: var(--ztc-text-text-3); line-height: 1.65; }
.contact-coverage-section { position: relative; overflow: hidden; background: rgb(246, 247, 250); }
.contact-coverage-heading { max-width: 760px; margin: 0px auto 38px; }
.contact-coverage-heading > p { max-width: 690px; margin: 0px auto; }
.contact-coverage-list { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 14px; max-width: 980px; margin: 0px auto; padding: 0px; list-style: none; }
.contact-coverage-list li { position: relative; margin: 0px; padding: 16px 18px 16px 46px; border: 1px solid rgb(225, 228, 234); border-radius: 4px; background: rgb(255, 255, 255); color: var(--ztc-text-text-2); font-family: var(--ztc-family-font1); font-size: 17px; font-weight: 700; line-height: 1.35; box-shadow: rgba(15, 34, 76, 0.05) 0px 8px 24px; }
.contact-coverage-list li::before { content: ""; position: absolute; top: 50%; left: 20px; width: 10px; height: 10px; border-radius: 50%; background: var(--ztc-text-text-4); transform: translateY(-50%); }
@media (max-width: 767px){
.contact-coverage-list { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; }
.contact-coverage-list li { padding: 13px 12px 13px 34px; font-size: 15px; }
.contact-coverage-list li::before { left: 14px; width: 8px; height: 8px; }
}
@media (max-width: 1199px){
.contact-page-details { padding-right: 0px; }
}
@media (max-width: 767px){
.contact-detail-card { grid-template-columns: 48px minmax(0px, 1fr) 18px; gap: 12px; padding: 14px; }
.contact-detail-icon { width: 48px; height: 48px; }
.contact-detail-card strong { font-size: 15px; }
.contact-form-panel.contact-form-panel--featured { padding: 28px 20px 30px; }
}
.about-page :is(#about-page-title, #about-company-title, #approach-title, #work-principles-title, #about-cta-title) { scroll-margin-top: 96px; }
:is(.about-page, .contact-page) .all-inner-header-area .inner-images-area { display: flex; width: 100%; max-width: 500px; aspect-ratio: 500 / 329; align-items: flex-end; justify-content: center; margin-left: auto; }
:is(.about-page, .contact-page) .all-inner-header-area .inner-images-area .img1 { display: flex; width: 100%; height: 100%; align-items: flex-end; justify-content: center; }
:is(.about-page, .contact-page) .all-inner-header-area .inner-images-area .img1 img { width: auto; max-width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
:is(.about-page, .contact-page) .all-inner-header-area .about-banner-technician { position: relative; aspect-ratio: 640 / 614; }
:is(.about-page, .contact-page) .all-inner-header-area .about-banner-technician img { position: absolute; inset: 0px; transform: translateX(72px); }
@media (max-width: 767px){
:is(.about-page, .contact-page) .all-inner-header-area .inner-images-area { margin-right: auto; }
:is(.about-page, .contact-page) .all-inner-header-area .about-banner-technician img { transform: translateX(40px); }
}
.service-page :is(#service-page-title, #services-list-title, #small-jobs-title, #form-title, #service-cta-title) { scroll-margin-top: 96px; }
.service-page :is(.vl-section-title, .all-inner-header-area h1, .cta-heading h2) { text-wrap: balance; }
/* Logótipo «Doutor House — Reparações ao Domicílio» (pedidos de Luiz de 2026-10-01): tamanhos */
.vl-footer1-section-area .footer-logo-area > img { width: 330px; max-width: 100%; height: auto; }
.vl-offcanvas .vl-offcanvas-header { flex-wrap: wrap; row-gap: 14px; }
.vl-offcanvas .vl-offcanvas-close { order: -1; width: 100%; display: flex; justify-content: flex-end; }
.vl-offcanvas .vl-offcanvas-logo { height: auto; width: 100%; max-width: 340px; }
.vl-offcanvas .vl-offcanvas-logo a { display: flex; width: 100%; background: #fff; border-radius: 10px; padding: 6px 14px 6px 6px; }
.vl-offcanvas .vl-offcanvas-logo img { width: 100%; height: auto; }
@media (min-width: 1200px) {
  .homepage2-body .vl-transparent-header .row > .mobile-logo-column { flex: 0 0 auto; width: auto; max-width: none; }
  .homepage2-body .vl-transparent-header .row > .col-xl-6 { flex: 1 1 0; width: auto; max-width: none; min-width: 0; }
  .homepage2-body .vl-transparent-header .row > .mobile-actions-column { flex: 0 0 auto; width: auto; max-width: none; }
  .homepage2-body .vl-transparent-header { padding: 4px 0px; }
  .homepage2-body .vl-transparent-header .vl-logo img { width: 260px; height: auto; }
  .homepage2-body .header-sticky .vl-logo img { width: 220px; }
}
/* Implementação v8 (Especificação v2, 2026-10-01): mensagens de erro do formulário, cartão de Contactos em tablet e botões flutuantes com o menu lateral aberto */
.request-form .erro-campo { margin: 6px 0 0; color: #C40000; font-size: 15px; line-height: 1.4; font-weight: 600; }
.request-form .erro-resumo { margin: 0 0 18px; padding: 12px 14px; border: 2px solid #C40000; border-radius: 8px; background: #F4F4F9; color: #0F0D0D; font-size: 16px; line-height: 1.4; font-weight: 600; }
.request-form input[aria-invalid="true"], .request-form select[aria-invalid="true"], .request-form textarea[aria-invalid="true"] { border-color: #C40000; border-width: 2px; }
@media (min-width: 768px) and (max-width: 1199px) {
  .others2.confianca .row > .col-md-6:last-child:nth-child(odd) { flex: 0 0 100%; width: 100%; max-width: 100%; }
}
@media (max-width: 1199px) {
  .vl-acoes[inert] { display: none; }
}

/* doutorhouse.pt — adaptações ao tema Voltz (Homepage 02, como no cofre Relicario).
   Só o que o tema não traz: letra própria, custo da chamada, cartões com mais itens,
   ícones que faltam no subconjunto e o botão flutuante. 2026-09-17. */

/* Letra alojada no próprio site (sem Google Fonts). */
@font-face{font-family:"Host Grotesk";font-style:normal;font-weight:300 800;font-display:swap;src:url("/assets/css/fonts/host-grotesk-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Host Grotesk";font-style:normal;font-weight:300 800;font-display:swap;src:url("/assets/css/fonts/host-grotesk-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Ícones do mesmo tipo de letra do tema que o subconjunto não declarava. */
.fa-angle-down:before{content:"\f107"}
.fa-temperature-high:before{content:"\f769"}
.fa-table-list:before{content:"\f00b"}
.fa-faucet-drip:before{content:"\e006"}
.fa-toilet:before{content:"\f7d8"}
.fa-window-maximize:before{content:"\f2d0"}
.fa-key:before{content:"\f084"}
.fa-fire-flame-simple:before{content:"\f46a"}
.fa-shower:before{content:"\f2cc"}
.fa-clock:before{content:"\f017"}

html{overflow-x:clip}
.oculto-visual{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vl-offcanvas:not(.vl-offcanvas-open){display:none}
.fundo-cinza{background:#f6f7fa}
.space8{height:8px}


/* Custo da chamada (DL 59/2021): só junto aos números à vista — chamada final, formulário e rodapé. */
.tel-grupo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}
.custo{display:block;font-size:13px;line-height:1.3;font-weight:400;color:var(--ztc-text-text-3)}
.vl-footer1-section-area .footer-widget-area ul li .custo{margin:4px 0 0 29px}
.contact-detail-card small.custo{margin-top:4px;font-size:13px}

.homepage2-body .vl-main-menu ul>li>a i{font-size:14px;margin-left:4px}

/* Banner: o título do texto aprovado é longo. */
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{display:block;font-size:60px;line-height:68px}
@media (max-width:1399px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{font-size:52px;line-height:60px}}
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{font-size:32px;line-height:40px}}
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding:220px 0 150px}
@media (max-width:991px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding:150px 0 90px}}
.hero-slider-main-area2 .hero1-heading .hero-chamada{font-weight:700}
.hero-slider-main-area2 .hero1-heading .play-btns-area{flex-wrap:wrap;align-items:flex-start;gap:16px 24px}

/* Cartões com ícone (choose-boxarea) em grelha. */
.grelha-cartoes{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.grelha-cartoes.grelha-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:767px){.grelha-cartoes.grelha-2{grid-template-columns:1fr}}
.grelha-cartoes .choose-boxarea{margin:0;height:100%}
.choose-boxarea .cartao-titulo{color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:20px;font-weight:var(--ztc-weight-bold);line-height:26px;margin:0 0 8px}
.choose-boxarea .content-area p{margin:0}
.about2 .about2-heading .choose-boxarea{margin-top:0}

/* Serviços em grelha (como "Também Tratamos Dos Trabalhos Mais Simples"). */
.service-small-jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.service-small-jobs-grid li{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto 1fr;column-gap:16px;align-content:center;padding:22px 24px;border:1px solid #dfe3eb;border-radius:8px;background:#fff}
.service-small-jobs-grid li>span{display:inline-grid;width:58px;height:58px;grid-row:1/3;place-items:center;align-self:center;color:#fff;background:var(--ztc-bg-bg-3);clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}
.service-small-jobs-grid li>span i{font-size:22px}
.service-small-jobs-grid strong{align-self:center;color:var(--ztc-text-text-2);font-size:18px;line-height:1.3}
.service-small-jobs-grid li:has(small) strong{align-self:end}
.service-small-jobs-grid small{display:block;margin-top:6px;color:var(--ztc-text-text-3);font-size:16px;line-height:1.45}
.service-small-jobs-grid p{grid-row:1/3;align-self:center;margin:0;color:var(--ztc-text-text-3);font-size:17px;line-height:1.45}
.service-small-jobs-grid p a{color:var(--ztc-text-text-4);font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:11px 0;margin:-11px 0}
.service-small-jobs-grid.grelha-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-small-jobs-grid.grelha-4 li{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:16px;align-content:start}
.service-small-jobs-grid.grelha-4 li>span{grid-row:auto}
.service-small-jobs-grid.grelha-4 p{grid-row:auto}
@media (max-width:1199px){.service-small-jobs-grid.grelha-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.service-small-jobs-grid,.service-small-jobs-grid.grelha-4{grid-template-columns:1fr}}

/* Confiança: os cartões do tema sem a sobreposição ao banner. */
.others2.confianca .others-boxarea{top:0;height:calc(100% - 30px)}
.others2 .benefit-card h3.title{display:block;color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:22px;font-weight:var(--ztc-weight-bold);line-height:28px;margin:0 0 12px}
.others2 .benefit-card:hover h3.title{color:var(--ztc-text-text-1)}
.fecho-centrado{text-align:center;margin-top:24px}

/* Passos: cinco cartões, lista ordenada sem números do navegador. */
.lista-passos{list-style:none;padding:0;margin-top:0;margin-bottom:0;--bs-gutter-y:30px}
.process-card-section .service-main-boxarea h3.title{display:block;color:var(--ztc-text-text-2);font-size:22px;line-height:28px;font-weight:var(--ztc-weight-bold);margin:0;position:relative;z-index:1;transition:color .4s}
.process-card-section .service-main-boxarea:hover h3.title{color:var(--ztc-text-text-1)}
.process-card-section .service-main-boxarea{margin-bottom:0}

/* Perguntas frequentes. */
@media (max-width:575px){
  .faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button .number{left:8px}
  .faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button,
  .faq1 .faq-main-area .accordion .accordion-item .accordion-header .accordion-button:not(.collapsed){padding-left:68px}
}

/* Chamada final: o telefone e o custo lado a lado com o pedido de contacto. */
.cta-contact-actions .tel-grupo{flex:1;gap:0;padding:6px 12px}
.cta-contact-actions .cta-phone{min-height:40px;padding:0}
.cta-contact-actions .custo{color:var(--ztc-text-text-3)}

/* Botão flutuante de chamada no telemóvel. */
.vl-acoes{position:fixed;right:16px;bottom:16px;z-index:99;display:none}
@media (max-width:1199px){.vl-acoes{display:flex}}
.vl-acao{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.28);background:#15803D;color:#fff;font-size:22px}
.vl-acao:hover{color:#fff}

/* Foco visível e movimento reduzido. */
:focus-visible{outline:3px solid #C40000!important;outline-offset:2px!important}
.vl-header-area :focus-visible,.hero-slider-main-area2 :focus-visible,.cta-bg-area :focus-visible,.vl-offcanvas :focus-visible{outline-color:#fff!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Os títulos aprovados são mais longos do que os do Relicario: podem partir linha. */
.heading1 .vl-section-title{white-space:normal!important}

/* Chamada final: o título em três linhas precisa de respiro dentro do bloco vermelho. */
@media (min-width:1200px){.cta1-aection-area .cta-bg-area .cta-heading{padding:56px 0}}

/* Menu do telemóvel: logótipo com as cores, submenu de serviços que abre e fecha. */
.vl-offcanvas,.vl-offcanvas button{font-family:var(--ztc-family-font1)}
.vl-offcanvas-menu .menu-sub-botao{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;color:var(--ztc-text-text-1);font:inherit;font-size:var(--ztc-font-size-font-s18);font-weight:var(--ztc-weight-semibold,600);cursor:pointer}
.vl-offcanvas-menu .menu-sub-botao[aria-expanded="true"] i{transform:rotate(180deg)}
.vl-offcanvas-menu ul li .sub-menu:not([hidden]){display:block!important;position:static;opacity:1;visibility:visible;transform:none;padding:4px 0 8px 16px;background:none;box-shadow:none}
.vl-offcanvas-menu ul li .sub-menu[hidden]{display:none!important}
.vl-offcanvas-menu ul li .sub-menu li a{font-size:16px}

/* Títulos com maiúscula em cada palavra, como no Relicario. O texto no código fica como foi aprovado. */
.hero1-heading h1,
.hero1-heading .hero-slide-title,
.heading1 .vl-section-title:not(.titulo-frase),
.cta-heading h2,
.choose-boxarea .cartao-titulo,
.others2 .benefit-card h3.title,
.process-card-section .service-main-boxarea h3.title,
.service-small-jobs-grid strong{text-transform:capitalize}

/* O que a Doutor House faz: nove cartões, 3x3. */
.service-small-jobs-grid.grelha-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1199px){.service-small-jobs-grid.grelha-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.service-small-jobs-grid.grelha-3{grid-template-columns:1fr}}

/* Botões "Ligar agora" centrados nos fechos de secção. */
.fecho-centrado .btn-area1{display:flex;justify-content:center}

/* Etiquetas vermelhas por cima dos títulos: o estilo do "h5" do tema, num parágrafo (a ordem dos títulos fica certa). */
.heading1 p.vl-section-subtitle,.about2-heading p.vl-section-subtitle,.choose-heading p.vl-section-subtitle{margin:0;color:var(--ztc-text-text-4);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s16);font-weight:var(--ztc-weight-regular);line-height:16px;text-transform:uppercase}
p.vl-section-subtitle span{display:inline-block;margin:0 4px}

/* Custo da chamada sobre fundo escuro (cabeçalho e banner, só no computador). */
.vl-header-area .custo,.hero1-heading .custo{color:rgba(255,255,255,.85)}
.vl-header-area .tel-grupo{gap:4px}
.tel-grupo-direita{align-items:flex-end}

/* Confiança: o tema tira o espaço às secções "others2" (no Relicario ficam sobre o banner). */
.others2.confianca{padding:100px 0 70px}
@media (max-width:991px){.others2.confianca{padding:60px 0 40px}}

/* ===== Skill design-de-pagina, 2026-09-17: regras medidas em 375, 768, 1366 e 1920 ===== */

/* H1 com no máximo 2 linhas no portátil e no computador: coluna mais larga e letra ajustada. */
@media (min-width:1200px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{font-size:50px;line-height:58px;max-width:1040px}
  .hero-slider-main-area2 .hero1-heading p{max-width:720px}
}
@media (min-width:1400px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{font-size:56px;line-height:64px;max-width:1120px}
}

/* Título da chamada final com no máximo 2 linhas no portátil. */
@media (min-width:1200px) and (max-width:1399px){.cta1-aection-area .cta-bg-area .cta-heading h2{font-size:38px;line-height:46px}}

/* O mesmo espaço entre todas as secções: 100px no computador, 50px no tablet e no telemóvel. */
.others2.confianca,.process-card-section.sp2,#trabalhos.sp2{padding-top:100px;padding-bottom:100px}
@media (max-width:991px){.others2.confianca,.process-card-section.sp2,#trabalhos.sp2{padding-top:50px;padding-bottom:50px}}

/* Tablet: grelhas simétricas (9 serviços em 3x3; 3 passos numa linha). */
@media (min-width:768px) and (max-width:1199px){
  .service-small-jobs-grid.grelha-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-small-jobs-grid.grelha-3 li{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:12px;align-content:start}
  .service-small-jobs-grid.grelha-3 li>span{grid-row:auto}
}

/* Áreas de toque de 44px. */
.vl-logo a{display:inline-flex;align-items:center;min-height:44px}
.header-phone-button,.mobile-header-phone,.cta-contact-actions .cta-phone{min-height:44px}
.mobile-header-actions .vl-offcanvas-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* ===== Verificação independente de 2026-09-17 (skill design-de-pagina, ronda 1) ===== */

/* Contraste: texto branco inteiro sobre vermelho; etiquetas vermelhas mais escuras sobre cinza. */
.faq1 .faq-main-area .accordion .accordion-item .accordion-body p,.cta1-aection-area .cta-bg-area .cta-heading p{color:#fff}
.fundo-cinza .vl-section-subtitle{color:#C40000!important}

/* Formulário: texto de exemplo e contorno dos campos visíveis. */
.request-form input::placeholder,.request-form textarea::placeholder{color:#5B5D61}
.request-form input,.request-form select,.request-form textarea{border-color:#8A8D94}

/* Áreas de toque de 44px no menu e no rodapé. */
.homepage2-body .vl-main-menu ul>li>a{display:inline-flex;align-items:center;min-height:44px}
.vl-footer1-section-area .footer-widget-area ul li,.vl-footer1-section-area .footer-widget-area.foot-padding1 ul li,.vl-footer1-section-area .footer-widget-area.foot-padding2 ul li{margin-top:0;padding-top:4px}
.vl-footer1-section-area .footer-widget-area ul li a,.vl-footer1-section-area .copyright-area a{display:inline-flex;align-items:center;min-height:44px}
.vl-footer1-section-area .footer-widget-area h3{line-height:1.25}

/* Um só cinzento e fundos alternados; a chamada final sem faixa branca. */
.fundo-cinza{background:var(--ztc-bg-bg-4)}
.process-card-section,.contact-request-section,.faq1{background:#fff}
.contact-coverage-section.fundo-cinza{background:var(--ztc-bg-bg-4)}
.cta1-aection-area{background:var(--ztc-bg-bg-4)}

/* Colunas empilhadas (tablet e telemóvel): o mesmo espaço entre imagem e texto. */
@media (max-width:1199px){
  .about2 .row>[class*=col-xl]+[class*=col-xl],.choose1 .row>[class*=col-xl]+[class*=col-xl]{margin-top:40px}
  .about2 .about2-heading,.choose1 .choose-heading{padding-top:0;margin-top:0}
  .about2 .theme-single-image,.choose1 .theme-single-image{margin-top:0;margin-bottom:0}
}

/* Títulos de cartão com o mesmo tamanho; títulos da confiança alinhados. */
.choose-boxarea .cartao-titulo,.before-after-copy h3{font-size:22px;line-height:28px}
@media (min-width:1200px) and (max-width:1399px){.others2 .benefit-card h3.title{min-height:84px}}
@media (min-width:1400px){.others2 .benefit-card h3.title{min-height:56px}}

/* Passos: a imagem só aparece ao passar o rato; em ecrãs de toque não se descarrega nem se mostra. */
.process-card-section .s-img1.foto-por-enviar{min-height:0}
.process-card-section .s-img1.foto-por-enviar span{display:none}
@media (hover:none){.process-card-section .s-img1{display:none}}

/* Telemóvel: o botão de chamada do banner dentro do primeiro ecrã. */
/* Banner no telemóvel: conteúdo a meio entre o topo e o fundo. O cabeçalho fixo ocupa 88px,
   por isso o espaço de cima leva mais 88 para os dois ficarem iguais à vista (decisão do Luiz, 2026-09-18). */
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding:172px 0 84px}}

/* Ronda 2: sem margem por baixo do texto quando as colunas empilham (a medida conta a partir do decorativo da foto). */
@media (max-width:1199px){.choose1 .choose-heading,.about2 .about2-heading{margin-bottom:0}}

/* ===== Pedidos do Luiz, 2026-09-17: quebras de linha e banner ===== */

/* Títulos partidos por grupos de sentido: cada grupo numa linha a partir do tablet; no telemóvel seguem juntos,
   sem palavra curta no fim da linha (espaço inseparável no HTML) e sem palavra sozinha na última linha. */
.linha{display:block}
@media (max-width:767px){.linha{display:inline}}
h1,h2,h3,p{text-wrap:pretty}

/* Banner mais escuro para ler melhor, sobretudo no telemóvel. */
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2::after{background:linear-gradient(90deg,rgba(15,13,13,.94) 0%,rgba(15,13,13,.92) 40%,rgba(15,13,13,.88) 60%,rgba(15,13,13,.30) 100%)}
@media (max-width:767px){
  /* Topo mais escuro: e onde fica o titulo, e o vermelho da marca so passa o minimo de
     contraste de texto grande (3:1) com o escurecimento a 0,88 ou mais (2026-09-18). */
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2::after{background:linear-gradient(180deg,rgba(15,13,13,.94) 0%,rgba(15,13,13,.90) 30%,rgba(15,13,13,.72) 65%,rgba(15,13,13,.88) 100%)}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1{filter:none}
}

/* Descrição do banner em 3 linhas no portátil e no computador, sem palavra solta. */
@media (min-width:1200px){.hero-slider-main-area2 .hero1-heading p{max-width:880px}}

/* Quebras medidas a 1920, 768 e 375 (2026-09-17). */
@media (min-width:1200px){.about2-heading .vl-section-title,.choose-heading .vl-section-title{font-size:40px;line-height:48px}}
@media (min-width:768px) and (max-width:1199px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{font-size:44px;line-height:52px}
  .hero-slider-main-area2 .hero1-heading p{font-size:18px;line-height:27px}
  .cta1-aection-area .cta-bg-area .cta-heading h2{font-size:34px;line-height:42px}
}
@media (max-width:767px){
  .linha{display:block}
  .heading1 .vl-section-title,.cta1-aection-area .cta-bg-area .cta-heading h2{font-size:26px!important;line-height:32px!important}
}

/* ===== Página inicial, 2026-09-17 ===== */

/* Espaço da fotografia por enviar (decisão do Luiz: substitui-se quando os técnicos enviarem). */
.foto-por-enviar{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:220px;background:repeating-linear-gradient(45deg,#E9EAF0 0 12px,#F1F2F6 12px 24px);border:2px dashed #B9BCC6;color:#5B5D61;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:center}
.before-after-frame .foto-por-enviar{min-height:0;aspect-ratio:3/4}
.service2 .service-widget-boxarea .img1 .foto-por-enviar{aspect-ratio:4/3;min-height:0}
.service2 .service-widget-boxarea .img1 img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}

/* Serviços: 3x3 do tablet ao computador; cartões da mesma altura. */
.service2 .service-card-column{display:flex}
.service2 .service-widget-boxarea{width:100%;display:flex;flex-direction:column}
.service2 .service-widget-boxarea .s-content-area a.title{display:block}

/* Confiança com cinco factos: uma linha no computador, 3+2 no tablet, uma coluna no telemóvel. */
.grelha-cinco{--bs-gutter-y:24px}
.grelha-cinco .col-cinco{flex:0 0 20%;max-width:20%;padding:0 12px}
@media (max-width:1199px){.grelha-cinco .col-cinco{flex:0 0 33.333%;max-width:33.333%}}
@media (max-width:767px){.grelha-cinco .col-cinco{flex:0 0 100%;max-width:100%}}
.grelha-cinco .benefit-card{height:calc(100% - 30px)}
@media (min-width:1200px){.grelha-cinco .benefit-card h3.title{min-height:84px}}
@media (min-width:1200px) and (max-width:1399px){.about2-heading .vl-section-title,.choose-heading .vl-section-title{font-size:36px;line-height:44px}}
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1, .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title{font-size:28px;line-height:35px}}
.service2 .service-widget-boxarea .s-content-area a.title{min-height:44px;display:flex;align-items:center}
.contact-request-section.fundo-cinza{background:var(--ztc-bg-bg-4)}
.about2-heading p a,.choose-heading p a,.fecho-centrado p a{color:var(--ztc-text-text-4);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fundo-cinza .about2-heading p a,.fundo-cinza .choose-heading p a{color:#C40000}

/* Verificação independente da página inicial (2026-09-17, ronda 1). */
.service2 .service-widget-boxarea .title{text-transform:capitalize}
.service2 .titulo-servico{margin:0;font-size:inherit;line-height:inherit}
.step-kicker,.process-card-section .process-step-label{color:#C40000}
.process-step-label,.foto-por-enviar,.before-after-label,.before-after-copy,.before-after-copy h3,.custo,.contact-detail-card small,.contact-detail-card strong{font-family:var(--ztc-family-font1)}
@media (max-width:767px){.service2 .service-widget-boxarea .img1,.service2 .service-widget-boxarea .img1 img,.service2 .service-widget-boxarea .img1 .foto-por-enviar{height:160px;aspect-ratio:auto;object-fit:cover}}
@media (min-width:992px){.contact-coverage-heading{max-width:1000px}}
@media (min-width:768px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1{object-position:50% 0%}}
/* Banner do chaveiro no telemóvel: o técnico fica em baixo à direita da imagem vertical. */
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-chaveiro{object-position:75% 70%}}
@media (min-width:768px) and (max-width:1199px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-chaveiro{object-position:85% 40%}}
/* Banner do vidraceiro: o técnico fica à direita nas duas imagens. */
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-vidraceiro{object-position:75% 60%}}
@media (min-width:768px) and (max-width:1199px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-vidraceiro{object-position:85% 40%}}
/* Banner das caldeiras no telemóvel: a caldeira e a mão ficam a meio da imagem vertical. */
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-caldeiras{object-position:55% 35%}}

/* Banner da página inicial: imagem 21:9 sem rosto, inteira em largura e altura (decisão do Luiz, 2026-09-17). */
@media (min-width:768px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{min-height:42.86vw;display:flex;align-items:center;background:#0F0D0D}
  .pagina-inicio .hero-slider-main-area2 .hero-main-section-area2>.container{width:100%}
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide .hero-main-section-area2 .hero-bg1{transform:none!important;object-fit:cover;object-position:50% 50%}
}
@media (min-width:768px) and (max-width:1199px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide .hero-main-section-area2 .hero-bg1{object-position:100% 50%}}
@media (min-width:1200px) and (max-width:1599px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading p{max-width:740px;font-size:17px!important;line-height:26px!important}}
@media (min-width:1200px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding:120px 0 50px}}
@media (min-width:1600px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading p{max-width:800px}}
@media (min-width:1200px) and (max-width:1599px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading p{max-width:640px;font-size:15px!important;line-height:23px!important}}
/* Imagem 21:9 inteira abaixo do menu: a chave não passa por baixo do menu (2026-09-17). */
@media (min-width:1200px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{min-height:calc(42.86vw + 100px)}
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide .hero-main-section-area2 .hero-bg1{top:100px;height:calc(100% - 100px)}
}
@media (min-width:1600px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading p{max-width:830px;font-size:18px!important;line-height:28px!important}}

/* Página inicial: carrossel de 2 slides como no Relicario (fade, pontos à esquerda com os traços vermelhos) e faixa de cartões sobreposta ao banner (decisão do Luiz, 2026-09-17). */
.hero-main-slider-widget2[aria-roledescription]{display:grid;position:relative}
.hero-main-slider-widget2[aria-roledescription]>.slick-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 0s linear 1.2s}
.hero-main-slider-widget2[aria-roledescription]>.slick-slide.slick-active{opacity:1;visibility:visible;z-index:1;transition:opacity 1.2s ease}
.hero-main-slider-widget2[aria-roledescription]>.slick-slide>.hero-main-section-area2{min-height:100%}
.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .slick-slide .hero-main-section-area2 .hero-bg-quadro{object-position:50% 0%}
.hero-main-slider-widget2 .slick-dots{position:absolute;left:50px;top:50%;z-index:5;margin:0;padding:0;list-style:none;transform:translateY(-50%)}
.hero-main-slider-widget2 .slick-dots::after,.hero-main-slider-widget2 .slick-dots::before{position:absolute;content:"";height:62px;width:4px;left:20px}
.hero-main-slider-widget2 .slick-dots::after{top:-75px;background:linear-gradient(0deg,#E8040F 0%,rgba(130,2,8,0) 100%)}
.hero-main-slider-widget2 .slick-dots::before{top:calc(100% + 13px);background:linear-gradient(180deg,#E8040F 0%,rgba(130,2,8,0) 100%)}
.hero-main-slider-widget2 .slick-dots li{display:flex;width:44px;height:44px;align-items:center;justify-content:center}
.hero-main-slider-widget2 .slick-dots button{position:relative;display:block;width:14px;height:14px;padding:0;border:0;border-radius:50%;background:var(--ztc-bg-bg-3);cursor:pointer}
.hero-main-slider-widget2 .slick-dots button::before{position:absolute;content:"";inset:-15px}
.hero-main-slider-widget2 .slick-dots button::after{position:absolute;content:"";width:24px;height:24px;left:-5px;top:-5px;border-radius:50%;background:var(--ztc-bg-bg-1);z-index:-1;opacity:0;transition:opacity .4s}
.hero-main-slider-widget2 .slick-dots li.slick-active button{background:var(--ztc-bg-bg-1)}
.hero-main-slider-widget2 .slick-dots li.slick-active button::after{opacity:1}
.hero-main-slider-widget2 .slick-dots button:focus-visible{outline:2px solid #fff;outline-offset:8px}
@media (min-width:1200px) and (max-width:1599px){.hero-main-slider-widget2 .slick-dots{left:20px}}
@media (max-width:1199px){.hero-main-slider-widget2 .slick-dots{left:auto;right:10px;top:63%}}
.others2.faixa-banner{background:url("/assets/img/ot-bg1.webp") center/cover no-repeat}
.others2.faixa-banner .row>div{display:flex}
.others2.faixa-banner .others-boxarea{width:100%}
.others2.faixa-banner .benefit-card h3.title{min-height:56px;margin-bottom:0}
@media (max-width:1199px){.others2.faixa-banner .benefit-card h3.title{min-height:0}}
.others2.faixa-banner{margin-bottom:-70px}
/* Espaço no fundo do banner para os cartões que sobem 100px (e para os pontos, no telemóvel e no tablet). */
@media (min-width:1200px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding-bottom:170px}}
@media (max-width:1199px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding-bottom:200px}
  .hero-main-slider-widget2 .slick-dots{display:flex;top:auto;bottom:124px;left:50%;right:auto;transform:translateX(-50%)}
  .hero-main-slider-widget2 .slick-dots::after,.hero-main-slider-widget2 .slick-dots::before{top:20px;width:62px;height:4px}
  .hero-main-slider-widget2 .slick-dots::after{left:-66px;background:linear-gradient(270deg,#E8040F 0%,rgba(130,2,8,0) 100%)}
  .hero-main-slider-widget2 .slick-dots::before{left:calc(100% + 4px);background:linear-gradient(90deg,#E8040F 0%,rgba(130,2,8,0) 100%)}
}
/* Slide 2: descrição mais longa; coluna mais larga para caber em 3 linhas (passa por cima das costas do técnico, na zona escurecida). */
@media (min-width:1200px) and (max-width:1599px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title~p:not(.hero-chamada){max-width:780px}}
@media (min-width:1600px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading .hero-slide-title~p:not(.hero-chamada){max-width:980px}}
/* Carrossel: slides escondidos só na imagem (continuam legíveis para os leitores de ecrã); botão de pausa (WCAG 2.2.2). */
.hero-main-slider-widget2[aria-roledescription]>.slick-slide{visibility:visible;pointer-events:none;transition:opacity 1.2s ease}
.hero-main-slider-widget2[aria-roledescription]>.slick-slide.slick-active{pointer-events:auto}
.hero-main-slider-widget2 .slick-dots .carrossel-pausa{width:14px;height:14px;border-radius:0;background:transparent}
.hero-main-slider-widget2 .slick-dots .carrossel-pausa::after{display:none}
.hero-main-slider-widget2 .slick-dots .carrossel-pausa{background:linear-gradient(90deg,#fff 0 4px,transparent 4px 10px,#fff 10px 14px)}
.hero-main-slider-widget2 .slick-dots .carrossel-pausa.em-pausa{background:#fff;clip-path:polygon(15% 0,100% 50%,15% 100%)}
/* Contraste: fundo mais escuro por baixo do título e da descrição. */
@media (min-width:768px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2::after{background:linear-gradient(90deg,rgba(15,13,13,.96) 0%,rgba(15,13,13,.90) 40%,rgba(15,13,13,.80) 58%,rgba(15,13,13,.30) 100%)}}
@media (min-width:768px) and (max-width:1199px){.pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2::after{background:linear-gradient(90deg,rgba(15,13,13,.96) 0%,rgba(15,13,13,.90) 50%,rgba(15,13,13,.80) 100%)}}
@media (max-width:767px){.hero-main-slider-widget2 .slick-dots::after,.hero-main-slider-widget2 .slick-dots::before{width:40px}.hero-main-slider-widget2 .slick-dots::after{left:-44px}}
.fecho-forte{font-weight:700}
.process-card-section.fundo-cinza{background:#f6f7fa}
/* Segundo botão, mais discreto do que o de chamar (urgência 24 horas). */
.vl-btn1.btn-claro{background:#fff;color:var(--ztc-text-text-2);box-shadow:inset 0 0 0 2px var(--ztc-bg-bg-3)}
.vl-btn1.btn-claro:hover{color:var(--ztc-text-text-1)}
.about2 .play-btns-area{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
/* Número à vista no corpo da página (secção de urgência). */
.tel-texto{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:26px;font-weight:var(--ztc-weight-bold);line-height:1.2}
.tel-texto i{color:var(--ztc-text-text-4);font-size:20px}
.tel-texto:hover{color:var(--ztc-text-text-4)}
/* Banner com a mesma altura em todas as páginas (a da página inicial): imagem 21:9 inteira abaixo do menu (pedido do Luiz, 2026-09-17). */
@media (min-width:1200px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{min-height:calc(42.86vw + 100px);display:flex;align-items:center;padding:120px 0 50px;background:#0F0D0D}
  .hero-slider-main-area2 .hero-main-section-area2>.container{width:100%}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1{top:100px;height:calc(100% - 100px);transform:none!important;object-fit:cover;object-position:50% 20%}
}
/* Título de secção comprido: menos letra para caber em 2 linhas no portátil e no computador. */
@media (min-width:1200px){.heading1 .vl-section-title.titulo-longo{font-size:36px;line-height:46px}}
@media (min-width:1200px){.heading1 .vl-section-title.titulo-muito-longo{font-size:30px;line-height:40px}}
@media (min-width:1600px){.heading1 .vl-section-title.titulo-muito-longo{font-size:32px;line-height:42px}}
/* Ícones usados na página de esquentadores que o subconjunto não declarava. */
.fa-power-off:before{content:"\f011"}
.fa-person-walking:before{content:"\f554"}
.fa-phone-slash:before{content:"\f3dd"}
.nao-parte{white-space:nowrap}
/* Banner sem fotografia: fundo escuro para o texto manter contraste em todas as larguras. */
.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{background:#0F0D0D}

/* Secção de segurança (gás) na página de esquentadores: aviso, medidas numeradas e linhas de emergência. */
.seguranca-section{background:#fff}
.aviso-gas{display:flex;gap:16px;align-items:flex-start;max-width:1000px;margin:0 auto 40px;padding:24px 28px;border-radius:8px;background:#FDECEC;border-left:6px solid var(--ztc-bg-bg-3)}
.aviso-gas-icone i{font-size:26px;color:var(--ztc-bg-bg-3);line-height:1.2}
.aviso-gas p{margin:0;color:var(--ztc-text-text-2);font-size:17px;line-height:1.5}
.lista-medidas{max-width:1000px;margin:0 auto;padding:0 0 0 20px;columns:2;column-gap:48px}
.lista-medidas li{margin:0 0 14px;padding-left:6px;color:var(--ztc-text-text-3);font-size:16px;line-height:1.5;break-inside:avoid}
.lista-medidas li::marker{color:var(--ztc-text-text-4);font-weight:700}
@media (max-width:767px){.lista-medidas{columns:1}}
.linhas-emergencia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;margin:32px auto 0;padding:0;list-style:none}
.linhas-emergencia li{padding:24px 28px;border:1px solid #dfe3eb;border-radius:8px;background:#fff}
.linha-emergencia-nome{display:block;color:var(--ztc-text-text-2);font-weight:700;font-size:18px}
.linha-emergencia-numero{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ztc-text-text-4);font-size:24px;font-weight:700}
.linhas-emergencia .custo{margin-bottom:8px}
.linhas-emergencia p{margin:0;color:var(--ztc-text-text-3);font-size:15px;line-height:1.5}
@media (max-width:767px){.linhas-emergencia{grid-template-columns:1fr}}
.seguranca-nota{max-width:1000px;margin:32px auto 0}
.seguranca-nota p{margin:0;color:var(--ztc-text-text-3);font-size:16px;line-height:1.6}
.seguranca-subtitulo{max-width:1000px;margin:40px auto 16px;color:var(--ztc-text-text-2);font-size:22px;line-height:28px;font-weight:var(--ztc-weight-bold)}
.cartoes-seguranca{max-width:1000px;margin:0 auto}
.cartoes-seguranca .choose-boxarea{position:relative;padding:24px 28px 24px 84px;border:1px solid #dfe3eb;border-radius:8px;background:#fff}
.cartoes-seguranca .choose-boxarea .icons{position:absolute;left:28px;top:24px;width:44px;height:44px;border-radius:8px;background:var(--ztc-bg-bg-4)}
.cartoes-seguranca .choose-boxarea .icons i{font-size:20px;color:var(--ztc-text-text-2)}
.cartoes-seguranca .choose-boxarea .content-area p{margin:0;color:var(--ztc-text-text-3);font-size:16px;line-height:1.5}

.seguranca-intro{max-width:1000px;margin:32px auto 16px;color:var(--ztc-text-text-2);font-size:17px;line-height:1.5;font-weight:600}

.grelha-cartoes.grelha-2 > .cartao-largo{grid-column:1 / -1}
@media (max-width:767px){.grelha-cartoes.grelha-2 > .cartao-largo{grid-column:auto}}

/* Titulos mais longos do que os das outras paginas (caldeiras). */
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1.titulo-longo{font-size:20px;line-height:27px}}
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1.titulo-muito-longo{font-size:18px;line-height:25px}}
@media (min-width:768px) and (max-width:1199px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1.titulo-muito-longo{font-size:36px;line-height:46px}}
@media (min-width:1200px){.cta1-aection-area .cta-bg-area .cta-heading h2.cta-titulo-longo{font-size:34px;line-height:42px}}
@media (min-width:1200px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-longo p{font-size:18px;line-height:27px}}
@media (min-width:1200px) and (max-width:1599px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-muito-longo p{font-size:17px;line-height:26px}}
@media (min-width:1600px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-muito-longo p{max-width:1200px}}
@media (min-width:1200px) and (max-width:1599px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1.titulo-longo{font-size:38px;line-height:48px}}
@media (min-width:1600px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading h1.titulo-longo{font-size:46px;line-height:58px}}
@media (max-width:767px){.hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-longo p{font-size:17px;line-height:26px}}

/* Menu Serviços: abre o submenu em vez de saltar para uma página (2026-09-18). */
.homepage2-body .vl-main-menu ul > li.submenu-aberto > .sub-menu{opacity:1;visibility:visible;transform:scale(1)}
.vl-main-menu nav ul li > a[role="button"]{cursor:pointer}
.homepage2-body .vl-main-menu ul > li > .sub-menu{width:auto;min-width:220px}
.homepage2-body .vl-main-menu ul > li > .sub-menu li a{white-space:nowrap}

/* Página inicial no telemóvel: as bolinhas ficam numa faixa entre o fim do conteúdo e os
   cartões que sobem por cima do banner. O espaço de cima desconta os 88px do cabeçalho fixo
   para o conteúdo ficar a meio à vista (2026-09-18). */
@media (max-width:767px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2{padding-top:134px;padding-bottom:200px}
  .hero-main-slider-widget2 .slick-dots{bottom:110px}
}
.grelha-cartoes.grelha-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1199px){.grelha-cartoes.grelha-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.grelha-cartoes.grelha-3{grid-template-columns:1fr}}
@media (min-width:1200px){.cta1-aection-area .cta-bg-area .cta-heading h2.cta-titulo-xl{font-size:30px;line-height:38px}}
@media (min-width:768px) and (max-width:1199px){
  .grelha-cartoes.grelha-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cartoes-seguranca .choose-boxarea{padding:20px 18px}
  .cartoes-seguranca .choose-boxarea .icons{position:static;margin-bottom:12px}
}

/* Cabecalho das paginas interiores (contactos e privacidade), 2026-09-19.
   O tema traz o inner header so para as paginas do Relicario; aqui fica a versao sem imagem,
   com o cabecalho transparente por cima, como nos banners das outras paginas. */
.pagina-interior-header{position:relative;z-index:1;overflow:hidden;padding:190px 0 90px;background:var(--ztc-bg-bg-2)}
.pagina-interior-header::after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,#0F0D0D 0%,#221D1D 100%);z-index:-2}
.pagina-interior-header .heading1 h1{color:var(--ztc-text-text-1);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s60);font-weight:var(--ztc-weight-bold);line-height:1.13;margin-bottom:0}
.pagina-interior-header .heading1 h1 .linha{display:block}
.pagina-interior-header .heading1 p{color:var(--ztc-text-text-1);margin-bottom:0}
.pagina-interior-header .custo{color:var(--ztc-text-text-1);opacity:.85}
@media (max-width:1399px){.pagina-interior-header{padding:170px 0 80px}.pagina-interior-header .heading1 h1{font-size:var(--ztc-font-size-font-s48)}}
@media (max-width:991px){.pagina-interior-header{padding:150px 0 64px}.pagina-interior-header .heading1 h1{font-size:var(--ztc-font-size-font-s40)}}
@media (max-width:767px){.pagina-interior-header{padding:130px 0 56px}.pagina-interior-header .heading1 h1{font-size:var(--ztc-font-size-font-s32);line-height:1.2}}
/* Contactos: o titulo do formulario e longo e a caixa e estreita; a letra desce para caber em 2 linhas. */
.contact-form-panel h2.titulo-formulario-longo{font-size:clamp(24px,1.95vw,38px);line-height:1.16}
/* O titulo do formulario dos contactos parte em 2 linhas em qualquer largura, mas em sitios diferentes:
   no computador "Peca uma reparacao a Doutor House / por escrito";
   no telemovel "Peca uma reparacao / a Doutor House por escrito" (decisao do Luiz, 2026-09-19). */
.titulo-formulario-longo .g1,.titulo-formulario-longo .g2{display:inline}
.titulo-formulario-longo .g3{display:block}
@media (max-width:767px){.titulo-formulario-longo .g1{display:block}.titulo-formulario-longo .g2,.titulo-formulario-longo .g3{display:inline}}

/* Barra flutuante com dois botoes (telemovel e tablet), decisao do Luiz de 2026-09-19:
   chamada e WhatsApp, no mesmo numero. Empilhados, para nao ocuparem largura. */
.vl-acoes{flex-direction:column;gap:12px;align-items:flex-end}
.vl-acao-whatsapp{background:#128C7E}
.vl-acao-whatsapp svg{width:28px;height:28px;display:block}

/* Correcoes da verificacao independente de 2026-09-19, pagina de contactos. */
/* 1. O custo dentro do paragrafo do formulario e uma frase, nao um bloco: senao o ponto final cai sozinho. */
.contact-form-panel p .custo{display:inline;font-size:inherit;color:inherit}
/* 2. O telefone dentro desse paragrafo segue a ligacao da nota de privacidade, e nao o azul do Bootstrap. */
.contact-form-panel p a[href^="tel:"]{color:var(--ztc-text-text-2);font-weight:700;text-decoration:underline}
/* 13. Foco branco tambem no cabecalho escuro das paginas interiores. */
.pagina-interior-header :focus-visible{outline-color:#fff!important}
/* 4. Com o menu aberto, os botoes flutuantes saem da frente. */
@media (max-width:1199px){.vl-offcanvas-open ~ .vl-acoes{display:none}}

/* Pagina legal, so texto (privacidade). Coluna estreita para a leitura. */
.pagina-texto-coluna h2{font-size:clamp(22px,2vw,30px);line-height:1.25;margin:0 0 14px}
.pagina-texto-coluna h2+p{margin-top:0}
.pagina-texto-coluna p{color:var(--ztc-text-text-3);font-size:17px;line-height:1.7;margin:0 0 14px}
.pagina-texto-coluna p+h2{margin-top:36px}
.pagina-texto-coluna a{color:var(--ztc-text-text-2);font-weight:700;text-decoration:underline}
.pagina-texto-coluna .custo{display:inline;font-size:inherit;color:inherit}

/* Correcoes da verificacao independente de 2026-09-19, pagina de privacidade. */
/* 2 e 3. Titulos e frase de entrada partem por grupos de sentido. */
.pagina-texto-coluna h2,.pagina-interior-header .heading1 p{text-wrap:balance}
/* 4. No telemovel, o texto nao passa por baixo dos botoes flutuantes. */
@media (max-width:767px){.pagina-texto-coluna{padding-right:72px}}
/* 6. A ligacao do telefone dentro do texto ganha area de toque sem mexer na entrelinha. */
.pagina-texto-coluna a[href^="tel:"]{display:inline-block;padding-block:10px;margin-block:-10px}
/* Titulo do cabecalho dos contactos numa linha so (decisao do Luiz, 2026-09-19).
   Cabe nas outras larguras; no telemovel a letra desce para caber. */
@media (max-width:767px){.pagina-interior-header .heading1 h1.titulo-uma-linha{font-size:clamp(22px,7.2vw,32px);line-height:1.2}}
/* Botoes flutuantes mais pequenos no telemovel (decisao do Luiz, 2026-09-19):
   48px, o minimo confortavel para o dedo, e mais encostados ao canto, para taparem menos texto. */
@media (max-width:767px){
  .vl-acoes{right:12px;bottom:12px;gap:10px}
  .vl-acao{width:48px;height:48px;font-size:19px}
  .vl-acao-whatsapp svg{width:24px;height:24px}
}
/* No computador e no tablet o titulo do formulario dos contactos fica numa linha so
   (decisao do Luiz, 2026-09-19). No telemovel mantem-se em duas, com o corte proprio. */
@media (min-width:768px){
  .titulo-formulario-longo .g1,.titulo-formulario-longo .g2,.titulo-formulario-longo .g3{display:inline}
  .contact-form-panel h2.titulo-formulario-longo{font-size:clamp(20px,1.75vw,29px)}
}

/* Areas de toque do menu do telemovel (verificacao independente de 2026-09-19):
   fechar, "Servicos", os 9 servicos, "Inicio", "Contactos" e "Ligar agora" estavam abaixo de 44px. */
.vl-offcanvas-close-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.vl-offcanvas-menu .menu-sub-botao{min-height:44px}
.vl-offcanvas-menu nav ul li > a{display:flex;align-items:center;min-height:44px}
.vl-offcanvas-menu ul li .sub-menu li a{min-height:44px}
.vl-offcanvas-info span > a{display:inline-flex;align-items:center;min-height:44px}
.vl-offcanvas-logo a{display:inline-flex;align-items:center;min-height:44px}
/* Separador do rodape: estava a 1,13:1 e nao se via (verificacao de 2026-09-19). */
.vl-footer1-section-area .copyright-area ul li span{color:var(--ztc-text-text-3)}
/* O rotulo do painel do menu deixou de ser h3; mantem o aspeto que tinha. */
p.vl-offcanvas-sm-title{margin:0}

/* Banner da pagina inicial com a mesma altura das outras (pedido do Luiz, 2026-09-19).
   A altura comum ja estava definida no slide, mas na pagina inicial o slide vive dentro do
   carrossel e herdava 100% de um pai sem altura: passa a estar tambem no carrossel e no slide. */
@media (min-width:768px) and (max-width:1199px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2,
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 > .slick-slide{min-height:42.86vw}
}
@media (min-width:1200px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2,
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 > .slick-slide{min-height:calc(42.86vw + 100px)}
}

/* Movimento reduzido: em vez de desligar tudo, fica uma transicao curta de opacidade no menu e no
   submenu, para quem pede menos movimento continuar a perceber que abriram (decisao de 2026-09-19). */
@media (prefers-reduced-motion:reduce){
  .vl-offcanvas,.vl-offcanvas-overlay,.vl-offcanvas-menu .sub-menu,.menu-com-sub .sub-menu{transition:opacity 120ms linear!important}
}

/* Banner de desentupimentos: letra maior a pedido do Luiz, 2026-09-19. Vale so nesta pagina, para
   nao mexer nas outras que usam titulo-longo e banner-longo. Tamanhos medidos no navegador para o
   titulo ficar em 2 linhas com a quebra no sitio decidido. */
@media (max-width:767px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos h1.titulo-longo{font-size:24px;line-height:31px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos p{font-size:18px;line-height:27px}
}
@media (min-width:768px) and (max-width:1199px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos h1.titulo-longo{font-size:48px;line-height:56px}
}
@media (min-width:1200px) and (max-width:1599px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos h1.titulo-longo{font-size:48px;line-height:58px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos p{font-size:20px;line-height:28px}
}
@media (min-width:1600px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos h1.titulo-longo{font-size:56px;line-height:66px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-desentupimentos p{font-size:20px;line-height:28px}
}

/* Banner de vidraceiro: letra maior a pedido do Luiz, 2026-09-19. Vale so nesta pagina. O titulo e
   mais comprido que o de desentupimentos, por isso no telemovel para nos 22px, o maior tamanho que
   ainda o deixa em 2 linhas (medido no navegador a 375px e a 360px). */
@media (max-width:767px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro h1.titulo-longo{font-size:22px;line-height:29px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro p{font-size:18px;line-height:27px}
}
@media (min-width:768px) and (max-width:1199px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro h1.titulo-longo{font-size:48px;line-height:56px}
}
@media (min-width:1200px) and (max-width:1599px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro h1.titulo-longo{font-size:48px;line-height:58px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro p{font-size:20px;line-height:28px}
}
@media (min-width:1600px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro h1.titulo-longo{font-size:56px;line-height:66px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-vidraceiro p{font-size:20px;line-height:28px}
}

/* Banner de termoacumuladores: no tablet os 44px do tema dao 3 linhas ao titulo, e a regra pede 2.
   42px e o maior tamanho medido que o deixa em 2 linhas. As outras larguras ficam com os tamanhos
   do tema. (A regra nasceu a 2026-09-19 para um titulo de 3 linhas; o titulo mudou nesse mesmo dia
   para 2 linhas e o limite continua a ser preciso, pela mesma medicao.) */
@media (min-width:768px) and (max-width:1199px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-termoacumuladores h1.titulo-longo{font-size:42px;line-height:50px}
}

/* Banner de estores: titulo em 3 linhas fixas e letra maior (pedido do Luiz, 2026-09-19). As tres
   linhas sao curtas, por isso ha folga: os tamanhos abaixo sao os mesmos das outras paginas cujo
   banner cresceu hoje, nao o maximo que caberia. */
@media (max-width:767px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores h1.titulo-longo{font-size:26px;line-height:34px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores p{font-size:18px;line-height:27px}
}
@media (min-width:768px) and (max-width:1199px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores h1.titulo-longo{font-size:48px;line-height:56px}
}
@media (min-width:1200px) and (max-width:1599px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores h1.titulo-longo{font-size:48px;line-height:58px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores p{font-size:20px;line-height:28px}
}
@media (min-width:1600px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores h1.titulo-longo{font-size:56px;line-height:66px}
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero1-heading.banner-estores p{font-size:20px;line-height:28px}
}

/* Contraste do banner no tablet (768-1199), achado da verificacao de 2026-09-19: nesta largura o
   texto ocupa quase toda a largura e as ultimas palavras caiam na zona clara da fotografia, onde o
   escurecimento ja so vai a 30%. Em vez de escurecer tudo, reenquadra-se a imagem para a parte
   escura ficar debaixo do texto, como ja se fazia no chaveiro e no vidraceiro. Valores escolhidos
   por varrimento horizontal medido com sistema/medicoes/medir-contraste.js. */
@media (min-width:768px) and (max-width:1199px){
  /* palavra-chave 3,25 (era 3,25 a falhar 2,96) e descricao 5,13 */
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-canalizador{object-position:60% 50%}
  /* palavra-chave 3,18 (era 2,49) e descricao 5,28 */
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-desentupimentos{object-position:60% 50%}
  /* palavra-chave 3,49 e descricao 8,10 (era 3,76, abaixo do minimo de 4,5) */
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-eletricista{object-position:40% 50%}
}

/* Caldeiras, esquentadores e termoacumuladores: nestas tres a fotografia e clara em toda a faixa
   onde assenta o titulo vermelho, e nenhum enquadramento chega ao minimo de contraste no tablet
   (melhores medidos: 1,64, 2,62 e 2,72, contra 3). So aqui se escurece a largura toda entre 768 e
   1199, o que faz a fotografia quase desaparecer nessa largura. Decisao do Luiz, 2026-09-19:
   a leitura manda sobre a nitidez da imagem. */
@media (min-width:768px) and (max-width:1199px){
  .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2.banner-escuro-tablet::after{background:linear-gradient(90deg,rgba(15,13,13,.94) 0%,rgba(15,13,13,.92) 50%,rgba(15,13,13,.88) 100%)}
}

/* Pagina inicial, primeiro banner no tablet: a 100% a palavra-chave media 3,02 contra o minimo de
   3, duas centesimas de folga. A 90% sobe para 3,73 e a imagem, ja muito escura nesta largura,
   fica indistinguivel a olho. Medido com o carrossel parado e a animacao de entrada neutralizada,
   porque a medir em movimento o valor falseia (2026-09-19). O segundo banner passa sem mexer: 4,08. */
@media (min-width:768px) and (max-width:1199px){
  .pagina-inicio .hero-slider-main-area2 .hero-main-slider-widget2 .hero-main-section-area2 .hero-bg1.hero-bg-ferramentas{object-position:90% 50%}
}

/* "Trabalhos de termoacumuladores realizados": o grupo que nao se parte media 373px a 26px, numa
   coluna de 351, e o fim da palavra ficava cortado fora do ecra no telemovel (sem barra de
   deslocacao, ou seja perdido). A 24px o grupo mede 345 e cabe. Achado da verificacao de
   2026-09-19. Unico caso em 55 usos de .nao-parte nas oito paginas. */
@media (max-width:767px){
  /* o !important e para vencer a regra dos 26px!important da linha 257, que vale para todos
     os titulos de seccao no telemovel. */
  .heading1 .vl-section-title.titulo-trabalhos-termo{font-size:24px!important;line-height:30px!important}
}

/* Telemoveis estreitos (abaixo de 360px): mesmo aos 24px o grupo nao cabe, e o fim da palavra
   ficava cortado. Aqui deixa-se partir: fica "realizados" sozinho na ultima linha, o que nao e
   bonito, mas texto cortado e pior do que texto mal partido. */
@media (max-width:359px){
  .heading1 .vl-section-title.titulo-trabalhos-termo .nao-parte{white-space:normal}
}
/* Implementação v14 (2026-10-03): aviso do custo da chamada no botão do telefone do cabeçalho do computador, por baixo do número (DL 59/2021; aprovado por Luiz a 2026-10-03). A altura mínima de 44 px e o número numa só linha ficam. */
.header-phone-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;padding-top:8px;padding-bottom:8px;padding-left:15.5px;padding-right:15.5px}
.header-phone-button .numero-cabecalho{white-space:nowrap}
.header-phone-button .custo-cabecalho,.mobile-header-phone .custo-ligar,.ligar-com-custo .custo-ligar{font-size:13px;font-weight:400;white-space:nowrap}

/* Aviso do custo da chamada nas ligações «Ligar» (montagem v15, 2026-10-05; decisão de Luiz «fica C»): cabeçalho do
   telemóvel e do tablet (número com o aviso por baixo), menu lateral e vl-btn1 da Início («Ligar agora» com o aviso por baixo).
   O tamanho, o peso e a cor do aviso vêm da regra aprovada .header-phone-button .custo-cabecalho (acima). */
.mobile-header-phone,.ligar-com-custo{flex-direction:column;justify-content:center;gap:0;line-height:1.15}
.mobile-header-phone{align-items:center;padding-top:4px;padding-bottom:4px}
.mobile-header-phone .custo-ligar{white-space:normal;text-align:center}
.vl-offcanvas-info .ligar-com-custo{align-items:flex-start}
.btn-area1 .ligar-com-custo{display:inline-flex;align-items:center;padding-top:8px;padding-bottom:8px}
.mobile-header-phone .ligar-rotulo,.ligar-com-custo .ligar-rotulo{white-space:nowrap}

/* Páginas de concelho de Termoacumuladores: regras adicionais, iguais às de Canalizador em Lisboa v2 (herdadas de Eletricista em Lisboa, REQ-VIS-14).
   voltz.css e doutorhouse.css ficam iguais aos da referência; aqui não entram valores de cor novos. */

/* Banner: número e aviso do custo da chamada à vista em todas as larguras (decisão de Luiz de 2026-10-03, DL 59/2021; substitui a de 2026-09-25, que escondia o aviso abaixo de 768 px). */

/* Título do bloco local em 2 linhas no telemóvel: letra ajustada à largura, só neste título (decisão de Luiz, 2026-09-25, opção A).
   !important porque doutorhouse.css fixa 26px/32px com !important em todos os títulos de secção no telemóvel. */
@media (max-width:767px){
  .heading1 .vl-section-title.titulo-duas-linhas{font-size:min(26px,calc((100vw - 24px) * .066)) !important;line-height:1.25 !important}
  .titulo-duas-linhas .linha{display:block}
}

/* Listas que substituem article/div da referência. */
.lista-trabalhos,.contact-detail-list{list-style:none;padding:0;margin-bottom:0}
.lista-trabalhos{margin-top:0}

/* Legendas da galeria em parágrafo, com o tamanho dos títulos das legendas da referência. */
.before-after-copy p{margin:0;color:var(--ztc-text-text-2);font-size:22px;line-height:28px;font-weight:var(--ztc-weight-bold)}

/* Títulos de nível 3 nos contactos (observação 6 da revisão da Especificação v3), menores do que o h2 "Contactos"
   (observação 2 da revisão da Implementação v1): 32 px no computador, 22 px no telemóvel. */
.contact-form-panel--featured>h3{margin:0;color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s32);font-weight:var(--ztc-weight-bold);line-height:40px}

.heading1 h3.titulo-frase{margin:0;color:var(--ztc-text-text-2);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s32);font-style:normal;font-weight:var(--ztc-weight-bold);line-height:40px}
@media (max-width:767px){.heading1 h3.titulo-frase,.contact-form-panel--featured>h3{font-size:var(--ztc-font-size-font-s22);line-height:30px}}

/* Título do banner em duas linhas e todo em branco, a mesma cor do resto do h1 (pedido de Luiz, 2026-09-25). */
.hero1-heading h1 .linha{display:block}
.hero-slider-main-area2 .hero1-heading .hero-keyword{color:var(--ztc-text-text-1)}

/* Foco visível nos botões «Ligar 934 642 220» e «Pedir orçamento» da chamada final (REQ-VIS-03 e REQ-VIS-14
   da Especificação v8, CA-06 e CA-13). doutorhouse.css linha 103 põe o contorno branco em todo o ".cta-bg-area",
   incluindo esta caixa branca ".cta-contact-actions", onde fica invisível. Aqui o contorno volta a #C40000
   só dentro da caixa branca. !important porque doutorhouse.css também usa !important. */
.cta-bg-area .cta-contact-actions :focus-visible{outline:3px solid #C40000!important;outline-offset:2px!important}

/* Títulos com 2 linhas em todas as larguras (pedido de Luiz, 2026-09-26: 'Canalizador urgente em Lisboa, de dia ou
   de noite' com 2 linhas). No telemóvel a letra vem da regra .titulo-duas-linhas acima (cerca de 19,5 px a 320 px;
   'Canalizador Urgente Em Lisboa,' mede 405,2 px a 28 px, logo cerca de 282 px, dentro dos 296 px). */
.titulo-duas-linhas-sempre .linha{display:block}
/* A partir de 1200 px, .about2-heading tem 70 px de recuo à direita (tema); a 1.ª linha do título (cerca de 579 px a
   40 px) não cabia nos 566 px e partia em 3 linhas. Só este título usa o recuo; os parágrafos não mudam. */
@media (min-width:1200px){.about2-heading .titulo-duas-linhas-sempre{margin-right:-70px}}

/* Grelha de serviços de Canalizadores com 9 itens: a ligação para /termoacumuladores/ dentro do cartão herda a cor
   do texto e fica sublinhada, para se distinguir sem cor nova. */
.service-small-jobs-grid small a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* H1 comprido no telemóvel (QA do lote, 2026-09-25, CA-18/REQ-VIS-15): a classe h1-largura-<B> vai no <h1>
   quando o título medido a 28 px passa de 262 px (metodo-em-lote/gerador/medir_h1.py); a letra reduz só o necessário para
   '<serviço> <prep> <concelho>' caber numa linha: min(28px, (100vw - 56px) * 28 / B). !important porque
   doutorhouse.css fixa o tamanho do H1 com seletores mais específicos. */
@media (max-width:767px){
}

/* v2 (pedido de Luiz, 2026-09-26): cartões Ligar agora / WhatsApp no banner e "Pedir orçamento" no cabeçalho.
   Cores: vermelho da marca (--ztc-bg-bg-3, 4,71:1 com branco) e verde WhatsApp escurecido #0E7A6E (5,21:1; o #128C7E
   do botão flutuante dá 4,14:1, abaixo de 4,5:1 para a etiqueta de 13 px — verificador independente, 2026-09-26).
   No hover escurece em vez de clarear, para o contraste não descer. */
/* !important: voltz.css centra .play-btns-area com um seletor de 5 classes; aqui os topos dos cartões ficam alinhados */
/* display também com !important: voltz.css passa .play-btns-area a inline-block no telemóvel */
.hero1-heading .banner-cartoes{display:flex !important;flex-wrap:wrap;align-items:flex-start !important;gap:16px}
.banner-cartoes .tel-grupo{gap:8px}
.cartao-acao{display:inline-flex;align-items:center;gap:18px;min-height:80px;min-width:250px;padding:14px 28px;border-radius:14px;color:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s,filter .2s}
.cartao-acao:hover,.cartao-acao:focus-visible{color:#fff;transform:translateY(-2px);filter:brightness(.9)}
.cartao-acao:focus-visible{outline:3px solid #fff;outline-offset:3px}
.cartao-ligar{background:var(--ztc-bg-bg-3)}
.cartao-whatsapp{background:#0E7A6E}
.cartao-acao>i{font-size:26px;flex:0 0 auto}
.cartao-acao>svg{flex:0 0 auto}
.cartao-texto{display:flex;flex-direction:column;line-height:1.1;font-family:var(--ztc-family-font1)}
.cartao-etiqueta{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cartao-valor{font-size:28px;font-weight:800;text-transform:uppercase;white-space:nowrap}
@media (max-width:575px){
  .hero1-heading .banner-cartoes{flex-direction:column;align-items:stretch !important;gap:12px}
  .banner-cartoes .tel-grupo{align-items:stretch}
  .cartao-acao{min-width:0;width:100%;min-height:68px;padding:12px 20px;gap:14px}
  .cartao-valor{font-size:24px}
}
/* Entre 576 e 767 px os dois cartões (281 + 252 px + espaço) não cabiam nos 528–572 px do banner e o flex-wrap punha-os
   um por baixo do outro (revisão independente do QA, F-4, 2026-09-26). Nesta faixa: duas colunas iguais, valor de 24 px
   e espaçamento do telemóvel. Medido a 576, 600, 620, 700 e 767 px: lado a lado, texto dentro do cartão; 768 px igual. */
@media (min-width:576px) and (max-width:767px){
  .hero1-heading .banner-cartoes{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
  .banner-cartoes .tel-grupo{align-items:stretch}
  .cartao-acao{min-width:0;width:100%;min-height:68px;padding:12px 20px;gap:14px}
  .cartao-valor{font-size:24px}
}
/* Cabeçalho: display com !important porque voltz.css tem .d-xl-block{display:block !important} (os dois botões ficam
   lado a lado); cor com !important no botão de contorno para o texto ficar branco (e escuro no hover) acima das regras de
   cor de .vl-btn1 e .vl-btn1:hover de voltz.css. */
@media (min-width:1200px){.vl-hero-btn.d-xl-block{display:flex !important;justify-content:flex-end;align-items:center;flex-wrap:nowrap}}
.vl-hero-btn .header-orcamento-button{background:transparent;border:2px solid #fff;color:#fff !important;white-space:nowrap;margin-right:10px;min-height:44px}
.vl-hero-btn .header-orcamento-button:hover{background:#fff;color:var(--ztc-text-text-1) !important}
/* Texto do banner 2 px mais pequeno em todas as larguras (pedido de Luiz, 2026-09-26): 20→18 px (18→16 px entre 768 e 1199 px).
   !important como na página inicial: voltz.css fixa o tamanho com um seletor de 4 classes. */
.hero-slider-main-area2 .hero1-heading p{font-size:18px !important;line-height:27px !important}
@media (min-width:768px) and (max-width:1199px){.hero-slider-main-area2 .hero1-heading p{font-size:16px !important;line-height:24px !important}}
/* Rodapé: Política de privacidade e Livro de Reclamações lado a lado no computador, um por baixo do outro no telemóvel
   (Luiz, 2026-09-26; mesmo bloco que CSS_RODAPE_LEGAL do site montado). */
.vl-footer1-section-area .copyright-area ul.rodape-legal{display:flex;flex-wrap:wrap;gap:8px 24px}
@media (max-width:767px){.vl-footer1-section-area .copyright-area ul.rodape-legal{flex-direction:column;gap:8px}}
/* Títulos com maiúscula só no início (Luiz, 2026-09-26): anula o text-transform:capitalize do doutorhouse.css
   (mesmos seletores; local.css carrega depois). Os textos já estão escritos com maiúscula inicial. */
.hero1-heading h1, .hero1-heading .hero-slide-title, .heading1 .vl-section-title:not(.titulo-frase), .cta-heading h2,
.choose-boxarea .cartao-titulo, .others2 .benefit-card h3.title, .process-card-section .service-main-boxarea h3.title,
.service-small-jobs-grid strong, .service2 .service-widget-boxarea .title{text-transform:none}
/* Galeria no telemóvel: desliza para o lado, um par de cada vez, com o seguinte a espreitar (Luiz, 2026-09-26: página
   mais curta sem tirar fotos nem texto). A lista recebe tabindex para se poder percorrer com o teclado. */
@media (max-width:767px){
  .work-pairs-grid.lista-trabalhos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:16px;overscroll-behavior-x:contain}
  .work-pairs-grid.lista-trabalhos > .before-after-card{flex:0 0 85%;scroll-snap-align:start;min-width:0}
}

/* Título da secção urgente em 2 linhas nesta página (decisão do agente, 2026-09-27, com a fórmula do lote de Canalizadores de 2026-09-26; texto sem mudança): a 1.ª linha mede 440.3 px a 28 px e não cabia em todas as larguras; a letra baixa só nos intervalos em que não cabe, nunca abaixo de 16 px (tamanho dos parágrafos). Fatores: telemovel 0.944. !important porque a regra .titulo-duas-linhas do telemóvel e o tema usam !important ou seletores mais fortes. */
/* Vila Franca de Xira: duas partes do H1 fluem em duas linhas no telemóvel estreito. */
/* Termoacumuladores: opção integral no formulário estreito. */
@media (max-width:375px){.request-form #servico{letter-spacing:-1px;padding-left:6px;padding-right:6px}}

/* Plano de ligações (2026-09-30): ligações na lista de concelhos, regras iguais às das páginas de serviço */
.contact-coverage-list li:has(a){padding:0}
.contact-coverage-list li a{display:block;padding:16px 18px 16px 46px;color:inherit;text-decoration:none}
.contact-coverage-list li a:hover{color:var(--ztc-text-text-4)}
.contact-coverage-list li a:focus-visible{outline:2px solid var(--ztc-text-text-4);outline-offset:2px}
@media (max-width:767px){.contact-coverage-list li a{padding:13px 12px 13px 34px}}

/* Cartão WhatsApp da secção de contactos (2026-09-30): ícone a verde, como o cartão do topo. */
.contact-detail-whatsapp .contact-detail-icon{background:#0E7A6E}
/* Implementação v12 (2026-10-02): Luiz retirou a regra das 2 linhas (era um pedido para um só título). Saíram desta folha as regras que encolhiam a letra dos títulos para caberem em 2 linhas; os comentários antigos que as explicam ficaram. Os títulos têm a letra normal do site e partem em quantas linhas forem precisas, com as linhas equilibradas. */
.hero1-heading h1[class*="h1-largura-"] .linha,.heading1 .vl-section-title.titulo-problemas-ajustado .linha,.heading1 .vl-section-title.titulo-urgencia-ajustado .linha,[class*="titulo-ajustado-"],[class*="titulo-ajustado-"] .linha{text-wrap:balance}

/* Regras da pré-visualização de reparacao-de-termoacumuladores.pt (gerado por montar_previa.py).
   Só o que o molde não tem: texto corrido das secções, subtítulos, listas, menus longos e páginas provisórias.
   Não muda nenhuma regra do molde. */
.texto-sec .about2-heading p{margin:0}
.texto-sec .subtitulo-secao{margin:32px 0 12px;font-size:26px;line-height:34px;font-weight:700;color:var(--ztc-text-text-2)}
.texto-sec .lista-simples{margin:0;padding-left:1.25em;list-style:disc}
.texto-sec .lista-simples li,.faq-main-area .lista-simples li{margin-top:8px;list-style:inherit}
.texto-sec.fundo-cinza .choose-boxarea .icons{background:#fff}
.texto-sec .grelha-cartoes{margin-top:8px}
.texto-sec .about2-heading>*:last-child{margin-bottom:0}
.vl-main-menu a[aria-current="page"],.vl-offcanvas-menu a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.texto-sec .about2-heading li a,.passos-texto a,.service-main-boxarea p a{color:var(--ztc-text-text-4);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fundo-cinza .about2-heading li a,.fundo-cinza .passos-texto a{color:#C40000}
.faq-main-area .accordion-body a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cta-meio{background:#F4C542}
.cta-meio .cta-meio-texto p{margin:0}
.cta-meio .cta-botoes{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.cta-meio .cartao-acao{margin:0}
.passos-texto{max-width:760px;margin:0 auto 32px;text-align:center}
.passos-texto p{margin:0}
.faq-main-area .accordion-body p{margin:0}
.faq-main-area .accordion-body p+p,.faq-main-area .accordion-body ul,.faq-main-area .accordion-body p+ul{margin-top:12px}
.faq-main-area .accordion-body .lista-simples{margin:12px 0 0;padding-left:1.25em;list-style:disc}
@media (min-width:1200px){
  .homepage2-body .vl-main-menu ul>li>.sub-menu{max-height:calc(100vh - 140px);overflow-y:auto}
  .homepage2-body .vl-main-menu>nav>ul{white-space:nowrap}
  .homepage2-body .vl-main-menu>nav>ul>li>a{font-size:17px;padding:0 7px}
}
body.sem-hero main{padding-top:120px}
body.sem-hero .homepage2-body .vl-transparent-header{background:#0f0d0d}
body.sem-hero .pagina-texto{padding-top:20px!important;padding-bottom:96px!important}
body.sem-hero .pagina-texto .titulo-pagina-texto{font-size:50px;line-height:58px;font-weight:700;color:var(--ztc-text-text-2);margin:0}
body.sem-hero .pagina-texto .about2-heading p{margin:0}
@media (max-width:767px){
  body.sem-hero main{padding-top:104px}
  body.sem-hero .pagina-texto .titulo-pagina-texto{font-size:32px;line-height:40px}
  .texto-sec .subtitulo-secao{font-size:22px;line-height:30px}
}

/* Barra de consentimento (cookies) e botão «Cookies» do rodapé (Implementação v14, medição de 2026-10-04).
   Carregada pelas 175 páginas; a barra e o botão só aparecem com JavaScript (/assets/js/consentimento.js).
   - A barra fica presa ao fundo do ecrã, por baixo dos botões flutuantes (que sobem a altura da barra enquanto ela está
     à vista) e por cima do resto; a página ganha em baixo um espaço da mesma altura, para o rodapé nunca ficar tapado, e o
     Tab desloca a página contando com a barra e mais 16 px, para o contorno de foco ficar todo à vista (scroll-padding-bottom).
   - «Recusar» e «Aceitar» com o mesmo tamanho e o mesmo aspeto; alvos de 48 px (a ligação à Política de privacidade é
     uma ligação de texto dentro da frase); texto branco sobre #0F0D0D (19:1); contorno de foco branco. */
.consentimento{position:fixed;left:0;right:0;bottom:0;z-index:98;margin:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));background:#0F0D0D;color:#fff;border-top:2px solid #fff;box-shadow:0 -6px 18px rgba(0,0,0,.22);font-family:var(--ztc-family-font1)}
.consentimento[hidden]{display:none!important}
.consentimento.consentimento-sob-o-menu{visibility:hidden}
.consentimento:focus{outline:3px solid #fff!important;outline-offset:-6px!important}
.consentimento :focus-visible{outline-color:#fff!important}
.consentimento-conteudo{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px}
.consentimento-texto{flex:1 1 520px;min-width:0;margin:0;color:#fff;font-size:15px;line-height:1.45;font-weight:400;overflow-wrap:break-word}
.consentimento-texto a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.consentimento-texto a:hover{color:#fff;text-decoration-thickness:2px}
.consentimento-botoes{flex:0 0 296px;width:296px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.consentimento-botao{width:100%;min-height:48px;margin:0;padding:10px 16px;border:2px solid #fff;border-radius:8px;background:#fff;color:#0F0D0D;font-family:var(--ztc-family-font1);font-size:16px;line-height:1.2;font-weight:600;cursor:pointer}
.consentimento-botao:hover{background:#E9E9EE;border-color:#E9E9EE}
@media (max-width:767px){
  .consentimento{padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .consentimento-texto{flex-basis:100%;font-size:14px;line-height:1.4}
  .consentimento-botoes{flex-basis:100%;width:100%}
}
html.com-consentimento{scroll-padding-bottom:calc(var(--altura-consentimento,0px) + 16px)}
html.com-consentimento body{padding-bottom:var(--altura-consentimento,0px)}
html.com-consentimento .vl-acoes{bottom:calc(var(--altura-consentimento,0px) + 16px)}
@media (max-width:767px){html.com-consentimento .vl-acoes{bottom:calc(var(--altura-consentimento,0px) + 12px)}}
/* Botão «Cookies» do rodapé, ao lado das ligações legais e com o aspeto delas. */
.item-cookies[hidden]{display:none!important}
.vl-footer1-section-area .copyright-area .ligacao-cookies{display:inline-flex;align-items:flex-start;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--ztc-text-text-3);font-family:var(--ztc-family-font1);font-size:var(--ztc-font-size-font-s16);font-weight:var(--ztc-weight-regular);line-height:16px;text-align:left;cursor:pointer}

/* Rodapé mais compacto (pedido de Luiz, 2026-10-06: «tem muitos espaço em branco, remove: inicio e contactos»).
   Só no computador: linhas das listas mais juntas e os 9 serviços em 2 colunas. No telemóvel e no tablet as ligações mantêm a
   altura de toque. */
@media (min-width:1200px){
  .vl-footer1-section-area .footer-widget-area ul li{padding:2px 0}
  .vl-footer1-section-area .footer-widget-area ul li a{min-height:0;padding-top:4px;padding-bottom:4px}
  .vl-footer1-section-area .foot-padding2 ul li a{white-space:nowrap}
  .vl-footer1-section-area .container > .space60{height:24px}
  /* Pedido de Luiz (2026-10-06): espaço igual entre as colunas. Grelha de 3 colunas com a largura do conteúdo, distribuídas com
     o mesmo intervalo; a coluna do logótipo tem largura fixa (a frase parte em linhas). */
  .vl-footer1-section-area .container > .row{display:grid;grid-template-columns:330px max-content max-content;justify-content:space-between;margin-left:0;margin-right:0}
  .vl-footer1-section-area .container > .row > [class*="col"]{width:auto;max-width:none;flex:none;padding-left:0;padding-right:0}
  .vl-footer1-section-area .foot-padding2 ul{display:grid;grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:40px}
}
/* Botões de chamada do telemóvel: «Ligar agora» + número, sem aviso (Luiz, 2026-10-06) */
.mobile-header-phone .ligar-rotulo{text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}
.mobile-header-phone .numero-ligar{font-size:17px;font-weight:700;white-space:nowrap}
/* Menu lateral do telemóvel: dois números com aviso e botão do WhatsApp (Luiz, 2026-10-06) */
.menu-contactos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.menu-contacto{display:flex;align-items:flex-start;gap:12px;min-height:44px;color:#fff;text-decoration:none}
.menu-contacto:hover,.menu-contacto:focus{color:#fff}
.menu-contacto>i{font-size:18px;margin-top:3px}
.menu-contacto-texto{display:flex;flex-direction:column;line-height:1.25}
.menu-contacto-rotulo{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.menu-contacto-numero{font-size:20px;font-weight:700;white-space:nowrap}
.menu-contacto-custo{font-size:13px;font-weight:400}
.menu-contacto-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border-radius:8px;background:#0E7A6E}
.menu-contacto-whatsapp svg{flex:none}
/* Tablet (768–1199 px), pedido de Luiz (2026-10-06): «na versão de tablet deixe o logo e o botao de tel. maior no menu,
   e organize o rodape». */
@media (min-width:768px) and (max-width:1199.98px){
  .homepage2-body .vl-transparent-header .vl-logo img{width:220px;max-width:none;height:auto}
  .homepage2-body .header-sticky .vl-logo img{width:190px}
  .mobile-header-actions{gap:12px}
  .mobile-header-phone{flex:0 0 auto;min-height:56px;padding:6px 24px}
  .mobile-header-phone .ligar-rotulo{font-size:15px}
  .mobile-header-phone .numero-ligar{font-size:23px}
  .mobile-header-actions .vl-offcanvas-toggle{width:52px;height:52px}
  .mobile-header-actions .vl-offcanvas-toggle i{font-size:26px}
  /* Rodapé: logótipo e frase | contactos; por baixo, os 9 serviços em 3 colunas; «©» e ligações legais na mesma linha. */
  .vl-footer1-section-area .container > .row{display:grid;grid-template-columns:330px max-content;justify-content:space-between;
    grid-template-areas:"logo contactos" "servicos servicos";row-gap:32px;margin-left:0;margin-right:0}
  .vl-footer1-section-area .container > .row > [class*="col"]{width:auto;max-width:none;flex:none;padding-left:0;padding-right:0}
  .vl-footer1-section-area .container > .row > :nth-child(1){grid-area:logo}
  .vl-footer1-section-area .container > .row > :nth-child(2){grid-area:servicos;border-top:1px solid var(--ztc-border-border-1);padding-top:24px}
  .vl-footer1-section-area .container > .row > :nth-child(3){grid-area:contactos}
  .vl-footer1-section-area .container > .row .space30{display:none!important}
  .vl-footer1-section-area .foot-padding2 ul{display:grid;grid-template-rows:repeat(3,auto);grid-auto-flow:column;justify-content:space-between;column-gap:24px}
  .vl-footer1-section-area .foot-padding2 ul li a{white-space:nowrap}
  .vl-footer1-section-area .container > .space60{height:32px}
  .vl-footer1-section-area .copyright-area{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;text-align:left}
  .vl-footer1-section-area .copyright-area ul{padding-top:0}
}
/* Entre 768 e 991 px «©» e as ligações legais não cabem lado a lado: ficam uma por baixo da outra, alinhadas à esquerda. */
@media (min-width:768px) and (max-width:991.98px){
  .vl-footer1-section-area .copyright-area{flex-direction:column;align-items:flex-start;gap:0}
}
/* Banner no computador (1024 px ou mais): a descrição tem largura fixa, contada em caracteres (opção B, aprovada por Luiz a 2026-10-17).
   75 ch por omissão; 62 ch nas páginas que carregam paginas-base.css; a segunda-fase.css volta aos 75 ch. O :where() baixa
   a especificidade desta regra para as outras duas a substituírem; !important porque o doutorhouse.css dá outras larguras
   ao mesmo parágrafo com seletores mais fortes. Abaixo de 1024 px nada muda. */
@media (min-width:1024px){:where(.hero1-heading) > p:not(.hero-chamada){max-width:75ch!important}}


.intro-original{max-width:1000px;padding-top:32px;padding-bottom:32px}
.original-texto .container{max-width:1100px;display:flow-root}
.original-texto .foto-original{float:right;width:min(34%,300px);margin:0 0 24px 36px}
.foto-original img{display:block;width:100%;height:auto;border-radius:12px}
.original-texto p,.original-texto h3{margin-bottom:20px}
.grelha-original{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.grelha-original .foto-original{margin:0}
.original-galeria .foto-original img{aspect-ratio:370/480;object-fit:cover}
.original-testemunhos .grelha-original{grid-template-columns:repeat(2,minmax(0,1fr))}
.testemunho-original{margin:0;padding:28px;background:#fff;border:1px solid #dedede;border-radius:12px}
.testemunho-original blockquote{margin:0 0 16px;font-style:normal}
.testemunho-original figcaption{font-weight:700}
.original-blog article{min-width:0;padding:20px;border:1px solid #dedede;border-radius:12px;background:#fff}
.original-blog article h3{font-size:24px;line-height:1.3;margin-bottom:20px}
.original-blog article img{aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}
.original-blog article p{margin:20px 0}
@media(max-width:767px){.original-texto .foto-original{float:none;width:100%;max-width:300px;margin:0 auto 24px}.grelha-original,.original-testemunhos .grelha-original{grid-template-columns:1fr}.original-galeria .grelha-original{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.original-texto .container{padding-inline:24px}}

.visual-foto{display:block;width:100%;height:auto;border-radius:12px}.visual-inserida{width:min(32%,300px);float:right;margin:0 0 24px 32px}.visual-inserida.visual-left{float:left;margin:0 32px 24px 0}.visual-galeria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1100px;margin:28px auto;padding:0 24px;clear:both}.visual-galeria img{aspect-ratio:370/480;object-fit:cover}.visual-servico{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:20px}.visual-testemunho{width:40px;height:40px;object-fit:contain;margin-bottom:12px}.visual-bloco{display:flow-root}.visual-bloco>.container{display:flow-root}.hero-bg-original{object-fit:contain!important;object-position:right center!important;background:#04176f}.hero-main-section-area2{background:#04176f}.visual-logotipo{object-fit:contain}.visual-artigo{max-width:680px;margin:24px auto}.visual-brand{max-height:90px;object-fit:contain}.visual-bg{background-size:cover!important;background-position:center!important}.visual-bg-form{background-size:cover!important;background-position:left center!important}.visual-bg-form .contact-request-form,.visual-bg-form .contact-request-info{background:rgba(255,255,255,.96);padding:24px;border-radius:12px}.visual-bg h2,.visual-bg p{position:relative}.visual-bg{background-blend-mode:multiply;background-color:#263247!important}.visual-bg,.visual-bg h2,.visual-bg p{color:white!important}@media(max-width:767px){.visual-inserida,.visual-inserida.visual-left{float:none;width:100%;max-width:300px;margin:20px auto}.visual-galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero-bg-original{object-position:right center!important;opacity:.5}.visual-servico{height:160px}.visual-bg-form .contact-request-form,.visual-bg-form .contact-request-info{padding:16px}}
body[data-visual-page="assistencia-tecnica-baxi"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="assistencia-tecnica-bosch"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="assistencia-tecnica-de-termoacumuladores"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="assistencia-tecnica-junkers"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="assistencia-tecnica-vulcano"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-avarias-em-termoacumuladores-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="avarias-em-termoacumuladores"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="contactos"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-inicio-28[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="inicio"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-instalacao-de-termoacumuladores-11[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="instalacao-de-termoacumuladores"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="manutencao-de-termoacumuladores"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="qual-o-termoacumulador-ideal-para-2-pessoas"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
body[data-visual-page="que-e-melhor-termoacumulador-ou-esquentador"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-alcochete-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-alcochete"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-almada-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-almada"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-amadora-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-amadora"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-barreiro-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-barreiro"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-cascais-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-cascais"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-lisboa-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-lisboa"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-loures-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-loures"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-mafra-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-mafra"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-margem-sul-17[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-margem-sul"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-moita-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-moita"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-montijo-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-montijo"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-odivelas-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-odivelas"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-oeiras-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-oeiras"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-palmela-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-palmela"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-seixal-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-seixal"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-sesimbra-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-sesimbra"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-setubal-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-setubal"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-sintra-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-sintra"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-reparacao-de-termoacumuladores-vila-franca-de-xira-25[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="reparacao-de-termoacumuladores-vila-franca-de-xira"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-com-fugas-de-agua-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-com-fugas-de-agua"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-com-pouca-pressao-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-com-pouca-pressao"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-com-ruidos-estranhos-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-com-ruidos-estranhos"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-demora-a-aquecer-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-demora-a-aquecer"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-nao-aquece-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-nao-aquece"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-nao-enche-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-nao-enche"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-nao-liga-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-nao-liga"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
.visual-bg-termoacumulador-nao-sai-agua-quente-9[data-bloco]{background-image:url("/assets/img/originais/d51bb90d06-ferramentas-e-acessorios-para-Reparacao-de-Termoacumuladores.jpg")}
body[data-visual-page="termoacumulador-nao-sai-agua-quente"] #formulario{background-image:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg")}
header img[src*="logo-2-1.png"]{background:white;padding:6px;border-radius:5px}.original-texto .foto-original.visual-left{float:left;margin:0 36px 24px 0}@media(max-width:767px){.original-texto .foto-original.visual-left{float:none;margin:0 auto 24px}}
/* Decisão de Luiz: 19/10/2026. Prevalece sobre a aplicação de imagens anterior. */
.contact-request-section,#formulario{background-image:none!important}
.cta-amarela{background-color:#F4C542!important;background-image:linear-gradient(rgba(244,197,66,.88),rgba(244,197,66,.88)),url("/assets/img/originais/e0391e685c-ferramentas-e-acessorios-para-assistencia-tecnica-de-Termoacumuladores.jpg")!important;background-blend-mode:normal!important;background-size:cover!important;background-position:center!important}
.cta-amarela h2,.cta-amarela p{color:#171717!important}
.cartao-whatsapp,.vl-acao-whatsapp{background:#25D366!important;color:#111!important}
.cartao-whatsapp .cartao-texto,.cartao-whatsapp .cartao-etiqueta,.cartao-whatsapp .cartao-valor{color:#111!important}
.cartao-whatsapp:hover,.cartao-whatsapp:focus-visible,.vl-acao-whatsapp:hover,.vl-acao-whatsapp:focus-visible{color:#111!important;filter:brightness(.94)}
.cartao-whatsapp svg,.vl-acao-whatsapp svg{fill:currentColor}

/* Piloto Lisboa: componentes Voltz index5 (serviços) e index (blog, FAQ, about).
   Aplicação às restantes páginas apenas após aprovação de Luiz. */
[data-bloco="reparacao-de-termoacumulador-urgente-em-lisboa"]{background-image:none!important}
.lisboa-services,.lisboa-blog{background:#f3f3f9!important}
.lisboa-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.lisboa-service-card{position:relative;overflow:hidden;border-radius:8px;height:460px;background:#d52b1e}
.lisboa-service-card .img1{height:100%;overflow:hidden}
.lisboa-service-card .img1 img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lisboa-service-card .s-content-area{position:absolute;inset:auto 0 0;background:#d52b1e;color:#fff;padding:26px 28px;transform:translateY(calc(100% - 180px));transition:transform .4s}
.lisboa-service-card .service-summary{min-height:154px}
.lisboa-service-card .icons-area{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.lisboa-service-card .icons-area i{font-size:40px;color:#fff}
.lisboa-service-card .icons-area span{font-size:44px;font-weight:700;line-height:44px;color:#ffffff66}
.lisboa-service-card h3{font-size:24px!important;line-height:1.2!important;color:#fff!important;margin:0!important}
.lisboa-service-card p,.lisboa-service-card a{font-size:16px!important;line-height:1.5!important;color:#fff!important}
.lisboa-service-card p{margin:0 0 14px!important}.lisboa-service-card a{font-weight:700;text-decoration:underline}
.lisboa-service-card:hover .s-content-area,.lisboa-service-card:focus-within .s-content-area{transform:translateY(0)}
.lisboa-service-card:hover .img1 img{transform:scale(1.06)}
.lisboa-blog .container>h2,.lisboa-blog .container>h3{text-align:center}
.lisboa-blog .grelha-original{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;margin-top:60px}
.lisboa-blog .grelha-original article{padding:0!important;border:0!important;background:transparent!important;border-radius:0;box-shadow:none;display:flex;flex-direction:column}
.lisboa-blog .blog-image img{width:100%!important;height:260px!important;object-fit:cover;border-radius:8px}
.lisboa-blog .blog-content{position:relative;margin:-40px 10px 0;padding:30px 24px;background:#fff;border-radius:8px;box-shadow:0 4px 30px #00000014;text-align:center;flex:1}
.lisboa-blog .blog-content h3,.lisboa-blog .blog-content h3 a{font-size:24px!important;line-height:1.3!important;color:#171717;margin:0 0 12px!important}
.lisboa-blog .blog-content p{font-size:16px;line-height:24px;color:#5b5b61;margin:0 0 20px}
.lisboa-blog .blog-content p:last-child{margin-bottom:0}.lisboa-blog .blog-content p a{font-size:18px;color:#171717;font-weight:700}
.lisboa-faq{background:#fff!important}
.lisboa-faq .accordion-item{margin-bottom:24px!important;border:0!important;border-radius:8px!important;background:#d52b1e!important;overflow:visible!important}
.lisboa-faq .accordion-button{padding:30px!important;font-size:24px!important;line-height:1.25!important;background:#f3f3f9!important;color:#171717!important;border-radius:6px!important;box-shadow:none!important;position:relative;overflow:visible!important}
.lisboa-faq .accordion-button:not(.collapsed){background:#d52b1e!important;color:#fff!important;padding-bottom:18px!important}
.lisboa-faq .accordion-button .number{display:inline-block!important;position:absolute;left:-24px;top:50%;margin-top:-24px;padding:15px 12px;background:#fff;color:#171717;font-size:18px;line-height:18px;clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}
.lisboa-faq .accordion-body{padding:0!important;background:#d52b1e!important;border-radius:0 0 8px 8px}
.lisboa-faq .accordion-body p{padding:0 30px 30px!important;color:#fff!important;margin:0!important;font-size:16px;line-height:24px}
.lisboa-about{background:#fff}.lisboa-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:center}
.lisboa-about .about-heading{min-width:0}.lisboa-about h2{margin-bottom:24px}.lisboa-about h3{font-size:24px;line-height:1.3;margin:24px 0 12px}
.lisboa-about p,.lisboa-about li{font-size:16px;line-height:1.6}.lisboa-about p{margin-bottom:20px}
.lisboa-about .about-images-area{min-width:0}.lisboa-about .img1 img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px}
@media(max-width:991px){.lisboa-service-grid,.lisboa-blog .grelha-original{grid-template-columns:repeat(2,minmax(0,1fr))}.lisboa-two-col{grid-template-columns:1fr;gap:30px}.lisboa-faq .faq-main-area{margin:0 16px}.lisboa-faq .accordion-button{font-size:20px!important}.lisboa-service-card{height:auto}.lisboa-service-card .img1{height:300px}.lisboa-service-card .s-content-area{position:relative;transform:none}.lisboa-service-card .service-summary{min-height:0;margin-bottom:20px}}
@media(max-width:600px){.lisboa-service-grid,.lisboa-blog .grelha-original{grid-template-columns:1fr}.lisboa-faq .accordion-button{padding:24px 24px 24px 28px!important;font-size:18px!important}.lisboa-faq .accordion-body p{padding:0 24px 24px 28px!important}.lisboa-blog .blog-content{padding:26px 20px}.lisboa-about .img1 img{aspect-ratio:1}.lisboa-service-card .img1{height:300px}}
@media(prefers-reduced-motion:reduce){.lisboa-service-card *{transition:none!important}}

/* Segunda afinação: efeitos vl-blog-1-item do Voltz, com equivalente no teclado. */
.lisboa-blog .blog-image{overflow:hidden;border-radius:8px}
.lisboa-blog .blog-image img,.lisboa-blog .blog-content,.lisboa-blog .blog-content a,.lisboa-blog .blog-content p{transition:all .4s}
.lisboa-blog article:hover .blog-image img,.lisboa-blog article:focus-within .blog-image img{transform:scale(1.1) rotate(-4deg)}
.lisboa-blog article:hover .blog-content,.lisboa-blog article:focus-within .blog-content{background:#d52b1e}
.lisboa-blog article:hover .blog-content h3,.lisboa-blog article:hover .blog-content a,.lisboa-blog article:hover .blog-content p,.lisboa-blog article:focus-within .blog-content h3,.lisboa-blog article:focus-within .blog-content a,.lisboa-blog article:focus-within .blog-content p{color:#fff!important}
.lisboa-blog .blog-content p a::after{content:'↗';display:inline-block;margin-left:8px;transition:transform .4s}
.lisboa-blog article:hover .blog-content p a::after,.lisboa-blog article:focus-within .blog-content p a::after{transform:rotate(45deg)}

/* Títulos completos, sem corte nem reticências. Banners mantêm o tamanho aprovado. */
section:not(.cta-meio):not(.cta1-aection-area) h2{font-size:32px!important;line-height:1.2!important;text-wrap:pretty}
.lisboa-blog .blog-content h3,.lisboa-blog .blog-content h3 a,.lisboa-service-card h3{font-size:22px!important;line-height:1.2!important}
section:not(.cta-meio):not(.cta1-aection-area)>.container>h3,.lisboa-services .heading1 h3{font-size:24px;line-height:1.35}

/* Restantes componentes: cartões service1/choose, galeria, testemunhos e formulário Voltz. */
.process-card-section .service-main-boxarea{background:#fff;border:0;border-radius:8px;padding:30px;height:100%;box-shadow:0 4px 30px #00000008;transition:transform .3s,box-shadow .3s}
.process-card-section .service-main-boxarea:hover{transform:translateY(-6px);box-shadow:0 12px 30px #00000014}
.process-card-section .icons{background:#f3f3f9;color:#d52b1e;border-radius:8px}
.process-card-section .title{font-size:24px!important;line-height:1.25!important}
.texto-sec .choose-boxarea{background:#fff;border:1px solid #eee;border-radius:8px;padding:26px;box-shadow:0 4px 24px #00000005}
.texto-sec .choose-boxarea .icons{color:#d52b1e}
.original-galeria .container>h2,.original-galeria .container>h3,.original-testemunhos .container>h2{text-align:center}
.original-galeria .grelha-original{gap:24px;margin-top:40px}
.original-galeria .foto-original{border-radius:8px;overflow:hidden;margin:0}
.original-galeria .foto-original img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .4s}
.original-galeria .foto-original:hover img{transform:scale(1.06)}
.original-testemunhos .grelha-original{gap:24px;margin-top:40px}
.original-testemunhos .testemunho-original{padding:32px;background:#fff;border-radius:8px;border:0;box-shadow:0 4px 30px #00000008}
.original-testemunhos blockquote{font-size:18px;line-height:1.6;border:0;padding:0}
.original-testemunhos figcaption{font-weight:700;color:#171717;border-top:1px solid #eee;padding-top:20px;margin-top:20px}
.contact-form-panel{border-radius:8px!important;background:#f3f3f9!important;box-shadow:none!important;padding:36px!important}
.contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea{background:#fff!important;border:1px solid #e1e1e7!important;border-radius:6px!important}
@media(max-width:767px){
 section:not(.cta-meio):not(.cta1-aection-area) h2{font-size:26px!important;line-height:1.2!important}
 .lisboa-service-grid,.lisboa-blog .grelha-original,.grelha-cartoes,.original-galeria .grelha-original,.original-testemunhos .grelha-original{grid-template-columns:minmax(0,1fr)!important}
 .process-card-section .lista-passos{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px}
 .process-card-section .process-card-column{width:100%!important;max-width:100%!important;margin:0}
 .lisboa-blog .blog-content h3,.lisboa-blog .blog-content h3 a,.lisboa-service-card h3{font-size:22px!important}
 .lisboa-faq .accordion-button{font-size:17px!important;line-height:1.3!important}
 section:not(.cta-meio):not(.cta1-aection-area)>.container>h3,.lisboa-services .heading1 h3{font-size:20px!important}
 .contact-form-panel{padding:24px!important}
}
@media(prefers-reduced-motion:reduce){.lisboa-blog *,.original-galeria img,.process-card-section .service-main-boxarea{transition:none!important;transform:none!important}}
@media(min-width:992px) and (max-width:1199px){section.lisboa-about:not(.cta-meio):not(.cta1-aection-area) h2{font-size:28px!important}}
@media(min-width:768px) and (max-width:991px){.process-card-section .title{font-size:20px!important}.process-card-section .service-main-boxarea{padding:24px}}
@media(max-width:389px){
 section:not(.cta-meio):not(.cta1-aection-area) h2{font-size:22px!important}
 section:not(.cta-meio):not(.cta1-aection-area)>.container>h3,.lisboa-services .heading1 h3{font-size:16px!important}
 .lisboa-faq .accordion-button{font-size:16px!important;padding-left:22px!important;padding-right:16px!important}
 .lisboa-faq .accordion-button::after{width:14px;height:14px;background-size:14px}
}

/* Problemas comuns: ícones laterais do modelo about1, sem caixa de estatística. */
.lisboa-problema{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;margin-top:24px;align-items:start}
.lisboa-problema .problema-icon{display:grid;place-items:center;width:54px;height:54px;color:#171717;background:#f3f3f9;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);font-size:23px}
.lisboa-problema h3{margin:0 0 12px!important}.lisboa-problema p{margin:0!important}
.lisboa-problema svg{display:block}
.original-testemunhos .review-visual{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.original-testemunhos .review-visual img{width:44px!important;height:44px!important;object-fit:contain;border-radius:50%}
.original-testemunhos .review-stars{color:#f6b700;font-size:24px;letter-spacing:3px;line-height:1;white-space:nowrap}
/* Client testimonials, Gripz: superfície pontilhada, cartões retos e classificação agrupada. */
section.original-testemunhos{background-color:#f5f2eb!important;background-image:url("/reparacao-de-termoacumuladores-lisboa/gripz/pattern-bg.webp")!important;background-size:auto;padding:120px 0}
.original-testemunhos .container>h2{text-transform:uppercase;max-width:780px;margin-left:auto;margin-right:auto}
.original-testemunhos .container>p{max-width:960px;margin-left:auto;margin-right:auto;text-align:center}
.original-testemunhos .grelha-original{gap:28px;margin-top:48px;align-items:stretch}
.original-testemunhos figure.testemunho-original{padding:35px 30px 30px;border-radius:0;box-shadow:none;background:#fff;display:flex;flex-direction:column;margin:0}
.original-testemunhos figure.testemunho-original[hidden]{display:none!important}
.original-testemunhos .review-visual{justify-content:flex-start;gap:10px;margin:0;min-height:50px}
.original-testemunhos .review-visual img{width:50px!important;height:50px!important;padding:8px;background:#f5f2eb;border-radius:50%;object-fit:contain}
.original-testemunhos .review-rating{display:flex;flex-direction:column;gap:4px}
.original-testemunhos .review-stars{font-size:18px;letter-spacing:0;color:#ec6a18;line-height:18px}
.original-testemunhos .review-score{font-size:14px;line-height:18px;color:#292929}
.original-testemunhos .container.heading1>h2.vl-section-title{max-width:500px;font-size:44px!important;line-height:1.18!important;text-transform:uppercase;margin:0 auto;text-align:center}
.original-testemunhos .gripz-profiles{display:inline-block!important;width:132px!important;height:58px!important;max-width:132px!important;object-fit:contain;vertical-align:middle;margin:-10px 0 0!important;border-radius:0!important}
.original-testemunhos .gripz-accent{color:#d52b1e}
.original-testemunhos .gripz-carousel{position:relative;margin-top:40px}
.original-testemunhos .gripz-viewport{overflow:hidden}
.original-testemunhos .gripz-carousel .grelha-original{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/2);gap:28px;margin:0;transition:transform .6s ease;align-items:stretch}
.original-testemunhos .gripz-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #dbdbdb;background:#f5f2eb;color:#292929;display:grid;place-items:center;padding:12px;cursor:pointer;border-radius:0;transition:background .2s,color .2s}
.original-testemunhos .gripz-arrow.prev{left:-58px}.original-testemunhos .gripz-arrow.next{right:-58px}
.original-testemunhos .gripz-arrow:hover,.original-testemunhos .gripz-arrow:focus-visible{background:#d52b1e;color:#fff;border-color:#d52b1e}
.original-testemunhos .gripz-arrow svg{width:24px;height:24px}
@media(min-width:768px){.original-testemunhos>.container{max-width:calc(100% - 140px);width:1320px}}
@media(min-width:768px) and (max-width:991px){.original-testemunhos .gripz-carousel .grelha-original{grid-auto-columns:calc((100% - 28px)/2)}.original-testemunhos .container.heading1>h2.vl-section-title{font-size:32px!important}}
@media(max-width:767px){section.original-testemunhos{padding:60px 0}.original-testemunhos .container.heading1>h2.vl-section-title{font-size:28px!important;line-height:1.2!important;max-width:500px}.original-testemunhos .gripz-profiles{width:100px!important;height:44px!important;max-width:100px!important}.original-testemunhos .gripz-carousel .grelha-original{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr)!important;transform:none!important}.original-testemunhos .gripz-arrow{display:none}}
@media(max-width:389px){.original-testemunhos .container.heading1>h2.vl-section-title{font-size:24px!important}}
@media(prefers-reduced-motion:reduce){.original-testemunhos .gripz-carousel .grelha-original{transition:none}}
.original-testemunhos blockquote{font-size:17px;line-height:1.5;padding:23px 0 20px;margin:0;flex:1}
.original-testemunhos blockquote p{font-size:17px;line-height:1.5;color:#292929;margin:0}
.original-testemunhos figcaption{font-size:18px;line-height:1.3;font-weight:600;text-transform:uppercase;border-top:1px dashed #dbdbdb;padding-top:16px;margin:0;color:#111}
@media(max-width:767px){.original-testemunhos figure.testemunho-original{padding:28px 24px}.original-testemunhos .grelha-original{gap:24px}}
[data-bloco="problemas-comuns-em-termoacumuladores-em-lisboa"] .img1 img{aspect-ratio:4/5;object-position:center}
.vl-footer1-section-area{background:#181a1f!important;padding:264px 0 0!important;border-top:4px solid #d52b1e;color:#e2e3e7}
.vl-footer1-section-area>.container>.row{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:56px;margin:0}
.vl-footer1-section-area>.container>.row>div{width:auto;max-width:none;padding:0}
.vl-footer1-section-area .footer-logo-area img{width:280px;max-width:100%;height:auto}
.vl-footer1-section-area .footer-logo-area p{color:#c7c9cf!important;font-size:16px;line-height:1.7;max-width:360px}
.vl-footer1-section-area .foot-padding2{padding:0!important}
.vl-footer1-section-area .footer-widget-area ul{padding:0;margin:8px 0 0;display:flex!important;flex-direction:column!important;columns:1!important;gap:0!important}
.vl-footer1-section-area .footer-widget-area li{margin:0 0 18px!important}
.vl-footer1-section-area .footer-widget-area a{color:#fff!important;font-size:17px!important;line-height:1.45!important;text-decoration:none}
.vl-footer1-section-area a:hover,.vl-footer1-section-area a:focus-visible{color:#ff8b7f!important;text-decoration:underline}
.vl-footer1-section-area .custo{color:#b7bac3!important;font-size:12px;display:block;margin-top:5px}
.vl-footer1-section-area .footer-phone-icon,.vl-footer1-section-area svg{margin-right:8px}
.vl-footer1-section-area .copyright-area{border-top:1px solid #ffffff26!important;padding:24px 0!important;gap:20px;align-items:center}
.vl-footer1-section-area .copyright-area a,.vl-footer1-section-area .ligacao-cookies{color:#c7c9cf!important;font-size:14px!important;line-height:1.5}
.vl-footer1-section-area .rodape-legal{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:flex-end;margin:0;padding:0}
@media(max-width:991px){.vl-footer1-section-area>.container>.row{grid-template-columns:1fr 1fr;gap:36px}.vl-footer1-section-area>.container>.row>div:first-child{grid-column:1/-1}.vl-footer1-section-area .footer-logo-area p{max-width:600px}}
@media(max-width:767px){.vl-footer1-section-area>.container>.row{grid-template-columns:1fr;gap:28px}.vl-footer1-section-area .space30{display:none!important}.vl-footer1-section-area .copyright-area{flex-direction:column;align-items:flex-start}.vl-footer1-section-area .rodape-legal{justify-content:flex-start}.lisboa-problema{grid-template-columns:46px minmax(0,1fr);gap:12px}.lisboa-problema .problema-icon{width:46px;height:46px;font-size:20px}}

.original-testemunhos .gripz-title-line{display:block;white-space:nowrap;color:inherit}/* Banner Gripz, apenas Lisboa. */
#inicio .gripz-hero{position:relative;isolation:isolate;background:#f5f2eb url("/assets/perf/hero-pattern-6dbcc11a5026.avif") center/cover no-repeat!important;padding:125px 0 180px!important;min-height:0!important;height:auto!important;overflow:hidden}
#inicio .gripz-hero:before{content:'';position:absolute;inset:0 auto auto 0;width:102px;height:150px;background:url("/reparacao-de-termoacumuladores-lisboa/gripz/hero-shape.svg") left top/contain no-repeat!important;opacity:1!important;z-index:0}
#inicio .gripz-hero:after{display:none!important}
#inicio .gripz-hero>picture{display:block;position:absolute;top:0;right:0;width:calc(50% - 11px);height:100%;z-index:0}
#inicio .gripz-hero>picture:before{content:'';position:absolute;width:43px;height:43px;left:60px;bottom:60px;background:#d52b1e;z-index:2}
#inicio .gripz-hero>picture:after{content:'';position:absolute;width:60px;height:60px;left:0;bottom:0;background:#000;z-index:2}
#inicio .gripz-hero>picture>img{position:static!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;opacity:1!important;filter:none!important;transform:none!important}
#inicio .gripz-hero>.container{position:relative;z-index:1;pointer-events:none}
#inicio .gripz-hero .row{display:block;margin:0}
#inicio .gripz-hero .row>div{width:50%;max-width:650px;padding:0 35px 0 10px;pointer-events:auto}
#inicio .gripz-hero .hero1-heading{padding:0!important;margin:0!important;text-align:left!important}
#inicio .gripz-hero h1{font-family:'Outfit',sans-serif!important;font-weight:500!important;font-size:clamp(32px,3.2vw,54px)!important;line-height:1.118!important;letter-spacing:-1.2px;text-transform:uppercase;color:#000!important;max-width:none!important;margin:0 0 15px!important;text-shadow:none!important}
#inicio .gripz-hero h1>span{color:#d52b1e!important}
#inicio .gripz-hero p{font-family:'Space Grotesk',sans-serif!important;font-size:18px!important;line-height:1.444!important;color:#292929!important;text-shadow:none!important;max-width:517px;margin:0!important}
#inicio .gripz-hero .space16,#inicio .gripz-hero .space32{display:none}
#inicio .gripz-hero .banner-cartoes{margin-top:25px;gap:14px!important;display:flex;flex-wrap:wrap}
#inicio .gripz-hero .custo{color:#292929!important}
@media(min-width:1600px){#inicio .gripz-hero{padding-top:176px!important;padding-bottom:234px!important}}
@media(max-width:991px){#inicio .gripz-hero{padding:70px 0 0!important;display:flex;flex-direction:column}#inicio .gripz-hero>.container{order:0}#inicio .gripz-hero .row>div{width:100%;max-width:100%;padding:0 12px}#inicio .gripz-hero>picture{position:relative;order:1;width:100%;height:480px;margin-top:45px}#inicio .gripz-hero h1{font-size:44px!important}#inicio .gripz-hero p{max-width:100%}}
@media(max-width:575px){#inicio .gripz-hero{padding-top:50px!important}#inicio .gripz-hero h1{font-size:clamp(25px,6.6vw,38px)!important;letter-spacing:-.6px}#inicio .gripz-hero p{font-size:16px!important}#inicio .gripz-hero>picture{height:360px}#inicio .gripz-hero .banner-cartoes{flex-direction:column;align-items:stretch}#inicio .gripz-hero .banner-cartoes .cartao-acao{width:100%}}
/* Cabeçalho existente com contraste sobre o novo fundo claro. */
header.homepage2-body{height:100px;background:#292929}
header.homepage2-body #vl-header-sticky{background:#292929!important}
#inicio .gripz-hero .banner-telefone{flex:1 1 220px;min-width:0}
#inicio .gripz-hero .cartao-ligar{width:100%;min-width:0;padding:16px 20px}
#inicio .gripz-hero .cartao-whatsapp{flex:1 1 210px;min-width:0;padding:16px 20px}
#inicio .gripz-hero .cartao-valor{font-size:23px!important}
@media(max-width:767px){header.homepage2-body{height:85px}}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url("/reparacao-de-termoacumuladores-lisboa/gripz/Outfit.ttf") format('truetype')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url("/reparacao-de-termoacumuladores-lisboa/gripz/SpaceGrotesk.ttf") format('truetype')}

#inicio .gripz-hero .cartao-whatsapp{background:#25D366!important;color:#092318!important}@media(max-width:575px){#inicio .gripz-hero .banner-telefone,#inicio .gripz-hero .cartao-whatsapp{flex:none!important}}
/* Identidade tipográfica Gripz: página-piloto de Lisboa. */
:root{--lisboa-red:#d52b1e;--lisboa-ink:#171717;--lisboa-paper:#f5f2eb}
body,p,li,blockquote,label,input,select,textarea,button,a,small,figcaption,.custo{font-family:'Space Grotesk',sans-serif!important}
h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *{font-family:Outfit,sans-serif!important;text-transform:uppercase;letter-spacing:-.02em}
h1,h2,h3,h4,h5,h6{font-weight:500!important;text-wrap:balance}
h2 .title-accent,h3 .title-accent,h4 .title-accent,h5 .title-accent,h6 .title-accent{color:var(--lisboa-red)!important}
.lisboa-service-card h3 .title-accent,.cta1-aection-area .title-accent{color:#171717!important}
.lisboa-blog .blog-card:hover .title-accent,.lisboa-blog article:hover .title-accent{color:#171717!important}
.lisboa-faq .accordion-button[aria-expanded=true] .title-accent{color:#171717!important}
.lisboa-services,.lisboa-blog,.fundo-cinza{background-color:var(--lisboa-paper)!important}
.lisboa-service-card,.lisboa-blog .img1,.lisboa-blog .blog-content,.lisboa-about .img1,.lisboa-about img{border-radius:0!important}
.original-testemunhos .gripz-title-line{line-height:1.3!important}
.original-testemunhos .gripz-title-line .gripz-profiles{margin-top:-8px!important}
input,textarea,select{font-size:16px!important}
/* Cabeçalho branco Gripz, navegação e ações existentes. */
header.homepage2-body{height:100px;background:#fff}
header.homepage2-body #vl-header-sticky{background:#fff!important;border-bottom:1px solid #eee;box-shadow:0 2px 16px #00000005;padding:18px 0!important}
header.homepage2-body #vl-header-sticky>.container{width:100%;max-width:none;padding-inline:30px}
header.homepage2-body #vl-header-sticky>.container>.row{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:24px;margin:0}
header.homepage2-body .mobile-logo-column{width:210px;flex:0 0 210px;padding:0}
header.homepage2-body .vl-logo img{width:190px!important;max-width:100%;height:auto!important}
header.homepage2-body .col-xl-6{width:auto;flex:1;padding:0}
header.homepage2-body .mobile-actions-column{width:auto;flex:0 0 auto;padding:0}
header.homepage2-body .vl-main-menu>nav>ul{display:flex;align-items:center;justify-content:center;gap:30px}
header.homepage2-body .vl-main-menu>nav>ul>li{margin:0!important}
header.homepage2-body .vl-main-menu>nav>ul>li>a{color:#171717!important;font-family:Outfit,sans-serif!important;font-size:15px!important;font-weight:500!important;text-transform:uppercase;padding:15px 0!important}
header.homepage2-body .vl-main-menu>nav>ul>li>a:hover,header.homepage2-body .vl-main-menu>nav>ul>li>a:focus-visible{color:#d52b1e!important}
header.homepage2-body .sub-menu{background:#fff!important;border-top:2px solid #d52b1e!important;border-radius:0!important;box-shadow:0 12px 30px #00000012!important}
header.homepage2-body .sub-menu a{color:#171717!important;font-family:Outfit,sans-serif!important;text-transform:uppercase;font-size:14px!important}
header.homepage2-body .sub-menu a:hover{color:#d52b1e!important;background:#f5f2eb!important}
header.homepage2-body .vl-hero-btn{display:flex!important;align-items:center;gap:20px}
header.homepage2-body .header-orcamento-button{border:1px solid #d52b1e!important;border-radius:0!important;background:#d52b1e!important;color:#fff!important;font-family:Outfit,sans-serif!important;text-transform:uppercase;font-weight:600!important;padding:16px 22px!important;margin:0!important;box-shadow:none!important}
header.homepage2-body .header-phone-button{border:1px solid #d52b1e!important;border-radius:0!important;background:#fff!important;color:#d52b1e!important;padding:10px 18px!important;margin:0!important;box-shadow:none!important}
header.homepage2-body .header-phone-button span{color:#d52b1e!important}
header.homepage2-body .vl-offcanvas-toggle{color:#171717!important;background:transparent!important}
header.homepage2-body .mobile-header-phone{border-radius:0!important;background:#d52b1e!important}
@media(max-width:1199px){header.homepage2-body .vl-hero-btn{display:none!important}header.homepage2-body #vl-header-sticky>.container{padding-inline:24px}header.homepage2-body .mobile-logo-column{flex-basis:190px;width:190px}}
@media(max-width:767px){header.homepage2-body{height:85px}header.homepage2-body #vl-header-sticky{padding:14px 0!important}header.homepage2-body #vl-header-sticky>.container{padding-inline:16px}header.homepage2-body #vl-header-sticky>.container>.row{gap:10px}header.homepage2-body .mobile-logo-column{flex:0 1 145px;width:145px}header.homepage2-body .vl-logo img{width:145px!important}header.homepage2-body .mobile-actions-column{flex:1 1 auto}}
@media(max-width:389px){header.homepage2-body .mobile-logo-column{flex-basis:115px;width:115px}header.homepage2-body .vl-logo img{width:115px!important}}
.lisboa-faq .accordion-button{display:block!important;text-align:left!important;padding-right:58px!important;background:#f5f2eb!important;border-radius:0!important}
.lisboa-faq .accordion-button:after{position:absolute;right:24px;top:50%;margin-top:-6px}
.lisboa-faq .accordion-button:not(.collapsed){background:#d52b1e!important}
.lisboa-faq .accordion-button:not(.collapsed) .title-accent{color:#171717!important}
.lisboa-blog article:focus-within .title-accent{color:#171717!important}
.lisboa-blog .blog-image,.lisboa-blog .blog-image img,.process-card-section .service-main-boxarea,.texto-sec .choose-boxarea{border-radius:0!important}
@media(max-width:767px){.lisboa-faq .faq-main-area{margin:0 4px 0 12px}.lisboa-faq .accordion-button{font-size:16px!important;padding:20px 32px 20px 20px!important;line-height:1.3!important}.lisboa-faq .accordion-button:after{right:10px}}
@media(min-width:992px) and (max-width:1199px){.lisboa-blog .blog-content h3,.lisboa-blog .blog-content h3 a{font-size:20px!important}}
@media(max-width:389px){section>.container>h3{font-size:18px!important}}
@media(max-width:767px){.lisboa-blog .container.heading1>h3.subtitulo-secao{font-size:16px!important;line-height:1.4!important}}
@media(max-width:389px){.lisboa-faq>.container{padding-left:16px!important;padding-right:12px!important}.lisboa-faq .faq-main-area{margin-left:8px;margin-right:0}.lisboa-faq .accordion-button{padding-left:14px!important;padding-right:26px!important}}
@media(min-width:992px) and (max-width:1199px){.lisboa-blog .blog-content h3,.lisboa-blog .blog-content h3 a{font-size:18px!important}}
@media(max-width:389px){.lisboa-blog>.container{padding-inline:12px!important}}
@media(max-width:389px){.lisboa-blog .container.heading1>h3.subtitulo-secao{font-size:15px!important;letter-spacing:-.025em}}
.vl-footer1-section-area .title-accent{color:#ff8b7f!important}
.title-accent{display:inline!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;white-space:normal!important}
@media(max-width:359px){.lisboa-blog .container.heading1>h3.subtitulo-secao{font-size:14px!important;text-wrap:wrap;letter-spacing:-.02em}}
/* Clarificação de Luiz: bicolor apenas sobre branco; padrões próprios do banner/elogios mantidos. */
body :is(h2,h3,h4,h5,h6) .title-accent{color:inherit!important}
body .lisboa-service-card h3 .title-accent,body .cta1-aection-area .title-accent,body .cta-meio .title-accent,body .vl-footer1-section-area .title-accent,body .lisboa-faq .accordion-button .title-accent,body .lisboa-faq .accordion-button:not(.collapsed) .title-accent,body .lisboa-faq .accordion-button[aria-expanded=true] .title-accent{color:inherit!important}
body .lisboa-about h2 .title-accent,body .lisboa-about h3 .title-accent,body .texto-sec:not(.fundo-cinza) h2 .title-accent,body .lisboa-faq .heading1 h2 .title-accent,body .contact-request-section h2 .title-accent,body .lisboa-blog .blog-content h3 .title-accent,body .process-card-section .service-main-boxarea h3 .title-accent,body .choose-boxarea h3 .title-accent{color:#d52b1e!important}
body .lisboa-blog article:hover .title-accent,body .lisboa-blog article:focus-within .title-accent{color:inherit!important}
#menu-movel{background:#fff!important;color:#171717!important}
#menu-movel a,#menu-movel button,#menu-movel .menu-contacto-custo,#menu-movel .menu-contacto-numero,#menu-movel .menu-contacto-rotulo{color:#171717!important}
#menu-movel .vl-offcanvas-menu a,#menu-movel .menu-sub-botao{font-family:Outfit,sans-serif!important;text-transform:uppercase}
#menu-movel a:hover,#menu-movel button:hover{color:#d52b1e!important}
#menu-movel .menu-contacto-whatsapp{background:#25D366!important;color:#092318!important;border-radius:0!important}
#menu-movel .vl-offcanvas-logo{border-radius:0!important;box-shadow:none!important}
/* Afinação aprovada: palavras-chave, padrão original e indicadores. */
main section h2,main section h2.vl-section-title,main section h2 *{text-transform:uppercase!important}
main section h3,main section h3 *,main .lisboa-service-card h3,main .lisboa-blog article h3,main .service-main-boxarea h3,main .choose-boxarea h3,main .lisboa-problema h3{color:inherit;text-transform:none!important}
.lisboa-services,.lisboa-blog,.fundo-cinza,.vl-footer1-section-area{background-color:#f5f2eb!important;background-image:url("/reparacao-de-termoacumuladores-lisboa/gripz/pattern-bg.webp")!important;background-size:auto!important;background-repeat:repeat!important}
.vl-footer1-section-area,.vl-footer1-section-area p,.vl-footer1-section-area a,.vl-footer1-section-area li,.vl-footer1-section-area h3,.vl-footer1-section-area h4,.vl-footer1-section-area span,.vl-footer1-section-area .custo,.vl-footer1-section-area .copyright-area a,.vl-footer1-section-area .ligacao-cookies{color:#292929!important}
.vl-footer1-section-area a:hover,.vl-footer1-section-area a:focus-visible{color:#b52318!important}
.vl-footer1-section-area .copyright-area{border-top:1px solid #d8d4ca!important}
header.homepage2-body #vl-header-sticky>.container{max-width:1400px;padding-inline:24px}
header.homepage2-body .mobile-logo-column{width:240px;flex-basis:240px}
header.homepage2-body .vl-logo img{width:230px!important}
header.homepage2-body .vl-main-menu>nav>ul{justify-content:flex-end;gap:28px;margin-right:26px}
header.homepage2-body .vl-main-menu>nav>ul>li>a{font-size:18px!important}
#inicio .gripz-hero .hero-eyebrow{display:inline-block;font-family:Outfit,sans-serif;font-size:14px;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.025em;background:#fff;color:#171717;padding:7px 10px;margin:0 0 20px;border-left:3px solid #d52b1e}
#inicio .gripz-hero .gripz-hero-description{font-size:17px!important;line-height:1.5!important;max-width:none}
.hero-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;margin-top:30px;max-width:560px}
.hero-trust-item{display:flex;gap:12px;align-items:center;min-width:0;color:#292929}
.hero-trust-item svg{width:30px;height:30px;flex:0 0 30px;color:#d52b1e}
.hero-trust-item strong{display:block;font-family:Outfit,sans-serif;font-size:19px;line-height:1.2;font-weight:600}
.hero-trust-item span{display:block;font-size:13px;line-height:1.4;margin-top:4px}
.original-testemunhos .container.heading1>h2.vl-section-title{max-width:640px}
@media(min-width:768px){#inicio .gripz-hero .gripz-hero-description>span{display:block;white-space:nowrap}}
@media(min-width:992px){#inicio .gripz-hero{padding-top:100px!important;padding-bottom:100px!important}}
@media(max-width:1199px){header.homepage2-body .mobile-logo-column{width:220px;flex-basis:220px}}
@media(max-width:767px){header.homepage2-body .mobile-logo-column{width:165px;flex-basis:165px}header.homepage2-body .vl-logo img{width:165px!important}.original-testemunhos .container.heading1>h2.vl-section-title{font-size:24px!important}.original-testemunhos .gripz-profiles{width:82px!important;max-width:82px!important;height:36px!important}}
@media(max-width:389px){header.homepage2-body .mobile-logo-column{width:125px;flex-basis:125px}header.homepage2-body .vl-logo img{width:125px!important}.original-testemunhos .container.heading1>h2.vl-section-title{font-size:22px!important}.original-testemunhos .gripz-profiles{width:70px!important;max-width:70px!important;height:31px!important}.hero-trust{gap:20px 12px}.hero-trust-item{gap:8px}.hero-trust-item strong{font-size:17px}.hero-trust-item span{font-size:12px}}
@media(max-width:359px){main section h2:not(.gripz-title){font-size:20px!important}} @media(min-width:992px) and (max-width:1199px){main .lisboa-two-col h2{font-size:24px!important}} @media(min-width:1200px) and (max-width:1399px){main .lisboa-two-col h2{font-size:28px!important}}
@media(max-width:359px){body main section:not(.cta-meio):not(.cta1-aection-area):not(.original-testemunhos) h2{font-size:20px!important}} @media(min-width:992px) and (max-width:1199px){body main section.lisboa-about:not(.cta-meio):not(.cta1-aection-area) h2{font-size:24px!important}} @media(min-width:1200px) and (max-width:1399px){body main section.lisboa-about:not(.cta-meio):not(.cta1-aection-area) h2{font-size:28px!important}}
html body footer .vl-footer1-section-area *,html body .vl-footer1-section-area .vl-footer-widget p,html body .vl-footer1-section-area .vl-footer-widget a,html body .vl-footer1-section-area .vl-footer-widget span{color:#292929!important;opacity:1!important}
html body .vl-footer1-section-area .footer-logo-area p,html body .vl-footer1-section-area .footer-widget-area a,html body .vl-footer1-section-area .footer-widget-area a *{color:#292929!important;opacity:1!important}

/* Rodapé em quatro colunas e cores pedidas por Luiz. */
html body .vl-footer1-section-area>.container>.row{grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:32px}
html body .vl-footer1-section-area .footer-widget-area h3{font-size:24px!important;text-transform:none!important;color:#171717!important;margin:0 0 26px}
html body .vl-footer1-section-area .footer-widget-area a{font-size:15px!important;overflow-wrap:anywhere}
html body .vl-footer1-section-area .footer-logo-area p{font-size:15px!important}
html body .lisboa-problema .problema-icon,html body .lisboa-problema .problema-icon svg{color:#d52b1e!important}
html body .contact-request-section h2,html body .contact-request-section h2 .title-accent{color:#171717!important}
.hero-trust-item .hero-google{stroke:none!important}
@media(max-width:991px){html body .vl-footer1-section-area>.container>.row{grid-template-columns:1fr 1fr}html body .vl-footer1-section-area>.container>.row>div:first-child{grid-column:auto}}
@media(max-width:767px){html body .vl-footer1-section-area>.container>.row{grid-template-columns:1fr;gap:32px}}

#inicio .gripz-hero .gripz-hero-description{max-width:560px;white-space:normal;font-size:17px!important;line-height:1.5!important}

.footer-social-icons{display:flex;gap:12px;margin-top:24px}.footer-social-icons>span{width:42px;height:42px;border:1px solid #171717;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#171717}
@media(min-width:992px) and (max-width:1199px){#inicio .gripz-hero .gripz-hero-description{font-size:15px!important}}

.footer-social-icons{display:flex;gap:12px;margin-top:24px}.footer-social-icons>span{width:42px;height:42px;border:1px solid #171717;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#171717}.vl-footer1-section-area .footer-social-icons svg{margin:0}
@media(min-width:992px) and (max-width:1199px){#inicio .gripz-hero .row>div{padding-left:0;padding-right:12px}}

[data-bloco="tipos-de-termoacumuladores-que-reparamos-e-instalamos"] .icons,[data-bloco="tipos-de-termoacumuladores-que-reparamos-e-instalamos"] .icons svg{color:#d52b1e!important}
.gripz-consult{padding:0 0 30px;background:#fff}.gripz-consult .consult-inner{background:#202020;padding:50px 40px;color:#fff}.gripz-consult h2{color:#fff!important;margin:0 0 36px!important}.gripz-consult .consult-grid{display:grid;grid-template-columns:1fr 1fr 1fr 110px;gap:20px;align-items:center}.consult-field{margin-bottom:18px}.consult-field:last-child{margin-bottom:0}.consult-field label{display:block;font-size:13px;color:#ddd;margin-bottom:7px}.gripz-consult input:not([type=hidden]),.gripz-consult select,.gripz-consult textarea{width:100%;min-width:0;background:#303030!important;border:1px solid #555!important;color:#fff!important;border-radius:0!important;padding:14px!important;font-size:16px!important}.gripz-consult textarea{height:157px;resize:vertical}.gripz-consult input::placeholder,.gripz-consult textarea::placeholder{color:#bbb}.gripz-consult .consult-send{width:110px;height:110px;border-radius:50%;background:#d52b1e;border:1px solid #e45246;color:#fff;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;font-size:12px}.gripz-consult .consult-send:hover{background:#b52318}.consult-privacy{font-size:12px!important;color:#bbb!important;margin:22px 0 0!important}.consult-privacy a{color:#fff!important;text-decoration:underline}.gripz-consult :focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:991px){.gripz-consult .consult-inner{padding:30px}.gripz-consult .consult-grid{grid-template-columns:1fr 1fr}.gripz-consult textarea{height:150px}}
@media(max-width:767px){.gripz-consult .consult-inner{padding:30px 20px}.gripz-consult .consult-grid{grid-template-columns:1fr}.gripz-consult .consult-send{width:100px;height:100px;justify-self:center}html body main section[data-bloco="reparacao-de-termoacumulador-de-todas-as-marcas"] h2{font-size:clamp(17px,4.5vw,26px)!important;letter-spacing:-.035em;text-wrap:balance}}
@media(max-width:767px){html body main section.lisboa-about[data-bloco="reparacao-de-termoacumulador-de-todas-as-marcas"] h2.vl-section-title{font-size:clamp(17px,4.5vw,26px)!important;letter-spacing:-.035em!important}}
@media(max-width:359px){html body main section.lisboa-about[data-bloco="reparacao-de-termoacumulador-de-todas-as-marcas"] h2.vl-section-title{font-size:16px!important;letter-spacing:-.04em!important}}

html body main section.lisboa-about[data-bloco="porque-escolher-a-doutor-house-em-lisboa"] h2.vl-section-title{font-size:24px!important;letter-spacing:-.035em!important}
.experiencia-contexto{margin-top:22px!important;font-size:17px;line-height:1.5}
@media(max-width:1199px) and (min-width:992px){html body main section.lisboa-about[data-bloco="porque-escolher-a-doutor-house-em-lisboa"] h2.vl-section-title{font-size:21px!important}}
@media(max-width:767px){html body main section.lisboa-about[data-bloco="porque-escolher-a-doutor-house-em-lisboa"] h2.vl-section-title{font-size:clamp(17px,4.6vw,24px)!important}.experiencia-contexto{font-size:16px!important}}
/* Chamada intermédia: mesmo fundo do formulário Gripz, decisão de Luiz. */
html body main section.cta-meio.cta-amarela{background:#202020!important;background-image:none!important}
html body main section.cta-meio.cta-amarela:before,html body main section.cta-meio.cta-amarela:after{background:none!important;display:none!important}
html body main section.cta-meio.cta-amarela .cta-meio-texto h2,html body main section.cta-meio.cta-amarela .cta-meio-texto p,html body main section.cta-meio.cta-amarela .cta-meio-texto strong{color:#fff!important}

/* Adaptação dos mesmos componentes às estruturas das restantes páginas. */
.lisboa-about .about-heading>figure{float:none}.lisboa-about .about-images-area img{display:block}
.lisboa-blog .grelha-blog-servico{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;margin-top:60px;clear:both}
.lisboa-blog article{padding:0!important;border:0!important;background:transparent!important;display:flex;flex-direction:column}
.lisboa-blog .blog-image img{margin:0!important}.lisboa-blog .blog-content{flex:1}
body main h2{text-transform:uppercase}body main h3,body main .accordion-button{text-transform:none!important}
body main section:not(.fundo-cinza):not(.cta-meio):not(.cta1-aection-area):not(.gripz-consult):not(.contact-request-section) h2>.title-accent{color:#d52b1e!important}
body main .lisboa-about .about-heading>h3{color:#171717!important}
.tipos-visuais .icons,.tipos-visuais .icons svg{color:#d52b1e!important}
.experiencia-visual h2{letter-spacing:-.035em}
.blog-card{border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.blog-card>a{display:block;overflow:hidden;border-radius:8px}.blog-card img{transition:transform .4s;width:100%;object-fit:cover}
.blog-card .texto{position:relative;margin:-40px 10px 0;padding:30px 18px;background:#fff;border-radius:8px;box-shadow:0 4px 30px #00000014;text-align:center;transition:background .4s}
.blog-card:hover img,.blog-card:focus-within img{transform:scale(1.1) rotate(-4deg)}
.blog-card:hover .texto,.blog-card:focus-within .texto{background:#d52b1e}.blog-card:hover .texto *,.blog-card:focus-within .texto *{color:#fff!important}
.blog-indice{background:#f5f2eb url("/reparacao-de-termoacumuladores-lisboa/gripz/pattern-bg.webp") repeat}
body:has(main.blog-indice) footer.vl-footer1-section-area,body:has(main.politica) footer.vl-footer1-section-area{padding-top:80px!important}
html body main section.cta-meio,html body main section.artigo-cta-original{background:#202020!important;background-image:none!important;color:#fff!important}
html body main section.cta-meio:before,html body main section.artigo-cta-original:before{display:none!important}
html body main section.cta-meio :is(h2,p,strong),html body main section.artigo-cta-original :is(h2,p,strong){color:#fff!important}
@media(max-width:767px){.lisboa-blog .grelha-blog-servico{grid-template-columns:minmax(0,1fr)!important}.post-concelhos{grid-template-columns:1fr!important}}
@media(min-width:768px) and (max-width:991px){.lisboa-blog .grelha-blog-servico,.lisboa-blog .artigo-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.blog-grelha{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lista-passos .service-main-boxarea{padding:20px!important}}
.lisboa-blog .artigo-cards{clear:both}.lisboa-blog .artigo-cards article>a{display:block}.lisboa-blog .artigo-cards .blog-content h3{margin:0!important}
@media(max-width:767px){.lisboa-blog .artigo-cards{grid-template-columns:1fr!important}}
@media(min-width:768px) and (max-width:1199px){.blog-grelha,.lisboa-blog .artigo-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.post-faq.lisboa-faq .accordion-button{font-size:16px!important}}
@media(max-width:359px){.lisboa-faq .accordion-button{font-size:14px!important;padding-right:12px!important;padding-left:18px!important}}

/* Correcoes da adaptacao, 19/10. Lisboa permanece como referencia intacta. */
.cobertura-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:40px;align-items:start;margin-top:36px}
.cobertura-layout .cobertura-mapa{float:none;width:100%;margin:0}
.cobertura-layout .post-concelhos{margin:0;min-width:0}
.cobertura-layout .post-concelhos a{min-width:0}
.mapa-inteiro .about-images-area .img1 img,.cobertura-layout .cobertura-mapa img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;max-height:520px}
.cobertura-resumo .lisboa-two-col{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);align-items:start}
.cobertura-resumo .grelha-cartoes{grid-template-columns:minmax(0,1fr);gap:16px}
.cobertura-resumo .choose-boxarea{display:grid;grid-template-columns:10px minmax(0,1fr);gap:16px;padding:20px 24px;background:#f5f2eb;border:1px solid #e5e1d8;align-items:start}
.cobertura-resumo .choose-boxarea .icons{width:9px;height:9px;margin:8px 0 0;background:#d52b1e;border-radius:50%}
.cobertura-resumo .choose-boxarea .icons i{display:none}
.cobertura-resumo .choose-boxarea p{margin:0}
.cobertura-resumo .choose-boxarea a{color:#171717;text-decoration:underline;text-decoration-color:#d52b1e;text-underline-offset:3px}
.cobertura-resumo .choose-boxarea a:hover{color:#d52b1e}
.tipos-corrigidos .choose-boxarea{display:flex;gap:18px;align-items:flex-start}
.tipos-corrigidos .icons{flex:0 0 40px;margin:0}
.tipos-corrigidos .icons svg{display:block;width:30px;height:30px}
.tipos-corrigidos .content-area{min-width:0}
.tipos-corrigidos .content-area h3{font-size:20px!important;line-height:1.3!important;margin:0 0 12px!important;border:0;padding:0}
.tipos-corrigidos .content-area p{font-size:16px;line-height:1.6;margin:0}
body main section.cobertura-corrigida h2 .title-accent,body main section.cobertura-resumo h2 .title-accent{color:#d52b1e!important}
@media(max-width:991px){.cobertura-layout,.cobertura-resumo .lisboa-two-col{grid-template-columns:minmax(0,1fr);gap:28px}.cobertura-layout .cobertura-mapa,.cobertura-resumo .about-images-area{max-width:360px;margin:0 auto}.cobertura-layout .post-concelhos{width:100%}}
@media(max-width:767px){.tipos-corrigidos .choose-boxarea{padding:24px;gap:12px}.tipos-corrigidos .icons{flex-basis:30px}.cobertura-resumo .choose-boxarea{padding:18px}.cobertura-layout{margin-top:24px}}
.marca-identidade{margin:0 0 24px!important;float:none!important}.marca-identidade img{width:auto!important;height:auto!important;max-width:180px!important;max-height:80px!important;object-fit:contain!important}

/* Correcoes pedidas em 20/10: componentes comuns e excecoes identificadas. */
@media(max-width:767px){
 body .lisboa-faq .accordion-button{padding:20px 38px 20px 66px!important;min-height:76px}
 body .lisboa-faq .accordion-button .number{left:10px!important;top:50%!important;margin-top:0!important;transform:translateY(-50%);width:42px;box-sizing:border-box;padding:13px 4px!important;text-align:center;font-size:16px!important;line-height:18px!important}
 body .lisboa-faq .accordion-button:after{right:12px!important}
 body .lisboa-faq .accordion-body p{padding:0 22px 24px!important}
 body [data-mobile-lines="2"]{text-wrap:wrap!important}
}
body .lisboa-about .botao-saber-mais{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:#d52b1e;color:#fff!important;border:2px solid #d52b1e;border-radius:4px;text-decoration:none!important;font-weight:600;line-height:1.3}
body .lisboa-about .botao-saber-mais:hover{background:#ab2117;border-color:#ab2117}
body .botao-saber-mais:focus-visible{outline:3px solid #171717;outline-offset:4px}
#inicio .gripz-hero h1.hero-quatro-linhas>.hero-linha{color:#000!important}
#inicio .gripz-hero h1.hero-quatro-linhas>.hero-termo{color:#d52b1e!important}
@media(min-width:992px){body .gripz-hero h1.hero-quatro-linhas>.hero-linha{display:block;white-space:nowrap}}

/* Revisão de Luiz: marcas, início, navegação e contactos. */
body[data-marcas-luiz] #inicio .gripz-hero .hero1-heading h1.marca-h1{font-size:clamp(32px,3.2vw,51px)!important}
body[data-marcas-luiz] main .cta1-aection-area .marca-nome{color:#fff!important}
body header.homepage2-body .mobile-logo-column{width:290px!important;flex:0 0 290px!important;max-width:none!important}
body header.homepage2-body .vl-logo img{width:280px!important;max-width:100%!important;height:auto}
body .cobertura-inicio-final .container{max-width:1100px}
body .cobertura-inicio-final h2{margin-bottom:32px}
body .cobertura-inicio-final p{font-size:18px;line-height:1.65;margin-bottom:20px}
body .cobertura-inicio-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center}
body .cobertura-inicio-mapa{margin:0}
body .cobertura-inicio-mapa img{display:block;width:100%;height:auto;border-radius:8px}
@media(max-width:767px){body .cobertura-inicio-layout{grid-template-columns:1fr;gap:24px}body .cobertura-inicio-mapa{width:100%;max-width:440px;margin-inline:auto}}
body .contacto-banner-imagem{isolation:isolate;background:url("/assets/img/originais/b5f666c87b-funcionarios-central-de-atendimento-ao-cliente-da-Doutor-House.jpg") center/cover!important}
body .contacto-banner-imagem:after{background:linear-gradient(90deg,rgba(12,23,37,.93),rgba(12,23,37,.72) 50%,rgba(12,23,37,.15))!important}
body .contacto-banner-imagem,body .artigo-banner{min-height:525px;display:flex;align-items:center;padding-top:100px!important;padding-bottom:80px!important}
body .contacto-banner-imagem .banner-cartoes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
body .contacto-banner-imagem .tel-grupo{display:flex;flex-direction:column;gap:8px}
@media(max-width:991px){
 body[data-marcas-luiz] #inicio .gripz-hero .hero1-heading h1.marca-h1{font-size:clamp(20px,5.7vw,46px)!important}
 body header.homepage2-body .mobile-logo-column{width:200px!important;flex-basis:200px!important}
 body header.homepage2-body .vl-logo img{width:190px!important}
}
@media(max-width:767px){
 body .contacto-banner-imagem,body .artigo-banner{min-height:540px;padding-top:75px!important;padding-bottom:55px!important}
 body .contacto-banner-imagem{background-position:65% center!important}
 body .contacto-banner-imagem .heading1 h1{font-size:32px!important;white-space:normal!important}
 body .contacto-banner-imagem .banner-cartoes{flex-direction:column}
 body .contacto-banner-imagem:after{background:rgba(12,23,37,.7)!important}
 body header.homepage2-body #vl-header-sticky>.container{padding-inline:12px!important}
 body header.homepage2-body #vl-header-sticky>.container>.row{margin:0;gap:6px;flex-wrap:nowrap}
 body header.homepage2-body .mobile-logo-column{width:180px!important;flex:0 0 180px!important;padding:0}
 body header.homepage2-body .vl-logo img{width:180px!important}
 body header.homepage2-body .mobile-actions-column{padding:0;flex:1;min-width:0}
 body header.homepage2-body .mobile-header-actions{gap:6px}
 body header.homepage2-body .mobile-header-phone{padding:5px 3px;flex:1;min-width:0}
 body header.homepage2-body .mobile-header-phone .numero-ligar{font-size:16px!important;white-space:nowrap}
 body header.homepage2-body .mobile-header-phone .ligar-rotulo{font-size:10px!important;white-space:nowrap}
 body header.homepage2-body .vl-offcanvas-toggle{width:28px;min-width:28px;padding:0}
}
@media(max-width:389px){body header.homepage2-body .mobile-logo-column{width:140px!important;flex-basis:140px!important}body header.homepage2-body .vl-logo img{width:140px!important}body .contacto-banner-imagem,body .artigo-banner{min-height:576px}}

/* As marcas seguem a cor do botão: branca no FAQ aberto, escura no fechado. */
body[data-marcas-luiz] main .accordion-button .marca-nome{color:inherit!important}
body .logos-carrossel{margin-top:28px;max-width:100%;min-width:0}
body .logos-janela{overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:8px}
body .logos-janela::-webkit-scrollbar{display:none}
body .logos-pista{display:flex;gap:16px;width:max-content;padding:8px 0}
body .logo-slide{flex:0 0 148px;width:148px;height:88px;display:flex;align-items:center;justify-content:center;padding:12px;background:white;border:1px solid #e5e5eb;border-radius:6px}
body .logo-slide img{display:block;width:124px;height:60px;object-fit:contain}
body .logo-slide:focus-visible{outline:3px solid #d52b1e;outline-offset:-3px}
body .logos-controlos{display:none}
body .logos-controlos button{background:#fff;color:#171717;border:1px solid #dcdce3;border-radius:4px;min-width:44px;min-height:44px;padding:6px 12px;font-size:15px;cursor:pointer}
body .logos-controlos button:hover,body .logos-controlos button:focus-visible{border-color:#d52b1e;color:#d52b1e}
@media(max-width:767px){body .logo-slide{flex-basis:132px;width:132px;height:80px}body .logo-slide img{width:108px;height:54px}}

.request-form .erro-campo{color:#8b0000;background:#fff;padding:4px 8px;border-radius:4px}
:focus-visible{outline:3px solid #0875c1;outline-offset:3px}
@media(min-width:992px){body[data-visual-page="inicio"] #inicio .gripz-hero h1{font-size:clamp(32px,3.1vw,48px)!important;max-width:12.6em}}