:root { --te-primary:#a9772d; --te-primary-light:#d8bc7b; --te-silver:#d4d5d7; --te-ink:#17191d; }
body { background:#f2f2f2; }
.te-preview-note {position:relative;z-index:10010;background:#e9e2d0;color:#3f3b30;text-align:center;padding:7px 16px;font:500 12px/1.5 'Montserrat',sans-serif;letter-spacing:.025em;}
.te-hero {background:linear-gradient(90deg,rgba(13,20,23,.68),rgba(13,20,23,.3)),url("/wp-content/uploads/2025/01/Anthrazit_Schroeder_009.jpg") center 55%/cover !important;}
.te-hero::before {background:none !important;}
header img[src='/assets/logo.svg'],footer img[src='/assets/logo.svg'],header img[src='/assets/raumvora-logo.svg'],footer img[src='/assets/raumvora-logo.svg'],footer img[src='/assets/raumvora-logo-footer.svg'] {width:250px !important;height:auto !important;max-height:95px;object-fit:contain;}
header img[src='/assets/pergolux-dachsysteme-logo.svg'],footer img[src='/assets/pergolux-dachsysteme-logo.svg'],footer img[src='/assets/pergolux-dachsysteme-logo-footer.svg'] {width:270px !important;height:auto !important;max-height:95px;object-fit:contain;}
header img[src='/assets/terrassenbau-exklusiv-logo.png'],footer img[src='/assets/terrassenbau-exklusiv-logo.png'] {width:290px !important;height:auto !important;max-height:98px;object-fit:contain;transform:none!important;filter:none!important;opacity:1!important;}
header img[src='/assets/raumvora-logo.svg'] {transform:none!important;filter:none!important;opacity:1!important;}
footer img[src='/assets/raumvora-logo-footer.svg'] {transform:none!important;filter:none!important;opacity:1!important;}
header img[src='/assets/pergolux-dachsysteme-logo.svg'],footer img[src='/assets/pergolux-dachsysteme-logo-footer.svg'] {transform:none!important;filter:none!important;opacity:1!important;}
.te-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.te-consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0;font-size:14px;line-height:1.5}.te-consent input{margin-top:3px;flex:0 0 auto}.te-form-note{font-size:13px;color:#59616d}.te-contact-card a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.te-width {max-width:1400px;margin-inline:auto;padding-inline:30px;}
.te-eyebrow {font-size:13px;letter-spacing:.12em;font-weight:600;text-transform:uppercase;color:var(--te-primary);}
.te-placeholder-section {padding:90px 0;background:#e8e8e6;color:var(--te-ink);}
.te-placeholder-section h2,.te-contact-intro h1,.te-faq h2,.te-contact-grid h2 {font-family:'Montserrat',sans-serif;line-height:1.12;}
.te-placeholder-section h2 {font-size:clamp(30px,4vw,52px);font-weight:600;}
.te-placeholder-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px;}
.te-placeholder-grid > div {background:#f5f5f3;border:1px dashed #bfc2b8;border-radius:16px;padding:60px 24px;text-align:center;color:#696d62;}
.te-page-content {font-family:'Montserrat',sans-serif;color:var(--te-ink);}
.te-contact-intro {padding-block:90px 65px;}
.te-contact-intro h1 {font-size:clamp(40px,5vw,76px);font-weight:650;letter-spacing:-.035em;margin:18px 0 30px;}
.te-contact-intro h1 span {font-weight:400;}
.te-contact-intro > p:not(.te-eyebrow) {max-width:720px;font-size:18px;line-height:1.7;}
.te-contact-grid {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:70px;padding-bottom:90px;}
.te-contact-grid h2 {font-size:30px;font-weight:600;}
.te-contact-card {background:var(--te-ink);color:white;padding:40px;border-radius:14px;align-self:start;}
.te-contact-card dt {font-size:12px;letter-spacing:.07em;opacity:.65;text-transform:uppercase;margin-top:28px;}
.te-contact-card dd {margin:6px 0;font-size:18px;}
.te-contact-card p:last-child {font-size:13px;opacity:.7;margin-top:35px;}
.te-draft-hint {font-size:13px !important;line-height:1.6;background:#f3ead7;padding:14px 18px;border-radius:8px;color:#4b3a26;}
#te-inquiry {margin-top:25px;}
#te-inquiry fieldset {border:0;margin:0;padding:0;min-width:0;}
#te-inquiry legend {font-weight:600;font-size:20px;margin-bottom:22px;}
.te-progress {height:4px;background:#dedfe1;margin-bottom:30px;border-radius:4px;overflow:hidden;}
.te-progress span {display:block;width:33.33%;height:100%;background:var(--te-primary);transition:width .2s;}
.te-choice-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px;}
.te-choice-grid label {display:flex;gap:12px;border:1px solid #d0d1d3;padding:18px 14px;align-items:center;border-radius:8px;background:#fafaf8;cursor:pointer;}
.te-choice-grid label:has(input:checked) {border-color:var(--te-primary);background:#f3ead7;}
.te-choice-grid input {accent-color:var(--te-primary);width:17px;height:17px;}
.te-field {display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:14px;font-weight:500;}
.te-field input,.te-field textarea {font:inherit !important;background:#fafaf8 !important;border:1px solid #c9cec2 !important;border-radius:7px !important;padding:14px !important;min-width:0;width:100%;color:var(--te-ink);}
.te-input-grid {display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
#te-inquiry button {font:600 14px 'Montserrat',sans-serif;background:var(--te-primary);border:1px solid var(--te-primary);color:#fff;padding:15px 23px;border-radius:8px;cursor:pointer;}
#te-inquiry button[data-back] {background:transparent;color:var(--te-ink);border-color:#bac1ae;}
.te-form-actions {display:flex;gap:12px;justify-content:space-between;margin-top:10px;}
#te-summary {padding:20px;background:#fff;border-radius:10px;margin:0 0 20px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;}
.te-faq {padding-bottom:100px;}
.te-faq h2 {font-size:40px;margin:18px 0 30px;}
.te-faq details {max-width:900px;border-bottom:1px solid #cbd0c4;padding:20px 0;}
.te-faq summary {font-weight:600;cursor:pointer;}
.te-faq details p {line-height:1.7;}
.te-detail-section {padding:100px 0;background:#f2f2f2;color:var(--te-ink);font-family:'Montserrat',sans-serif;}
.te-home-detail,.te-contact-process {background:#e8e8e8;}
.te-detail-heading {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr);gap:70px;align-items:end;margin-bottom:46px;}
.te-detail-heading h2 {font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.035em;margin:15px 0 0;font-weight:600;max-width:900px;}
.te-detail-heading>p {font-size:17px;line-height:1.7;margin:0;color:#565d55;}
.te-detail-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.te-detail-card {min-height:260px;padding:32px;border:1px solid #d0d1d3;border-radius:14px;background:#fafafa;display:flex;flex-direction:column;}
.te-detail-card>span {display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--te-primary);color:#fff;font-size:12px;font-weight:700;}
.te-detail-card h3 {font-size:23px;line-height:1.2;margin:42px 0 12px;}
.te-detail-card p {margin:auto 0 0;line-height:1.65;color:#5c625a;}
.te-visual-pair {display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px;}
.te-visual-pair>figure {min-height:340px;border-radius:14px;margin:0;color:#fff;overflow:hidden;position:relative;background:#20252a;}
.te-visual-pair img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.te-visual-pair figure::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgb(10 14 17 / 78%));}
.te-visual-pair figcaption {position:absolute;z-index:1;inset:auto 30px 30px;display:flex;flex-direction:column;color:#fff;font-style:normal;text-shadow:0 2px 8px rgb(0 0 0 / 75%);}
.te-visual-pair span {font-size:11px;letter-spacing:.15em;opacity:.82;color:#fff;font-style:normal;font-weight:600;}
.te-visual-pair strong {display:block;font-size:27px;line-height:1.15;margin-top:8px;color:#fff;font-style:normal;font-weight:650;}
.elementor-element-e93548a .swiper-slide-inner {display:block;width:100%;aspect-ratio:2 / 3;overflow:hidden;border-radius:10px;background:#e4e6e1;}
.elementor-element-e93548a .swiper-slide-image {display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center;border-radius:0!important;}
.elementor-element-53944c7 .swiper-slide-inner,.elementor-element-b65c6cc .swiper-slide-inner {display:block;width:100%;aspect-ratio:2 / 3;overflow:hidden;border-radius:10px;background:#e4e6e1;}
.elementor-element-53944c7 .swiper-slide-image,.elementor-element-b65c6cc .swiper-slide-image {display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center;border-radius:0!important;}
.elementor-element-1229195 .elementor-widget-container {width:100%;aspect-ratio:2 / 3;overflow:hidden;border-radius:10px;background:#e4e6e1;}
.elementor-element-1229195 img {display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center;}
.te-credits {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px;}
.te-credits figure {margin:0;border:1px solid #dfe2db;border-radius:12px;overflow:hidden;background:#fff;}
.te-credits img {display:block;width:100%;height:220px;object-fit:cover;}
.te-credits figcaption {display:flex;flex-direction:column;gap:6px;padding:15px;}
.te-credits a,.te-credits figcaption span {color:var(--te-green);font-size:14px;}
.te-trust-strip {padding:25px 0;background:var(--te-ink);color:#fff;font:500 13px/1.3 'Montserrat',sans-serif;}
.te-trust-strip .te-width {display:flex;justify-content:space-between;gap:25px;overflow-x:auto;}
.te-trust-strip span {white-space:nowrap;display:flex;align-items:center;gap:8px;}
.te-trust-strip span::before {content:'✓';color:var(--te-primary);font-weight:800;}
.te-reference-placeholder {display:grid;grid-template-columns:1.05fr .95fr;gap:40px;margin-top:70px;padding:42px;background:var(--te-ink);color:#fff;border-radius:16px;align-items:center;}
.te-reference-placeholder h3 {font-size:clamp(26px,3vw,42px);line-height:1.12;margin:14px 0 16px;}
.te-reference-placeholder p:not(.te-eyebrow) {color:#cbd0d3;line-height:1.65;}
.te-reference-cards {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.te-reference-cards span {min-height:150px;border:1px dashed rgb(255 255 255 / 28%);border-radius:10px;display:grid;place-items:center;text-align:center;padding:15px;color:#cbd0d3;font-size:12px;}
.te-service-detail {background:#ededee;}
.te-about-detail {background:#e4e4e5;}

/* Logo-derived gold, charcoal and silver color system. */
.elementor-button,.elementor-button-link,.te-runtime .elementor-button {background-color:var(--te-primary)!important;border-color:var(--te-primary)!important;color:#fff!important;}
.elementor-button:hover,.elementor-button:focus-visible {background-color:#81591f!important;border-color:#81591f!important;color:#fff!important;}

/* About page: make the hero and the fourth visual card true full-bleed images. */
.elementor-3114 .elementor-element.elementor-element-f8b459e:not(.elementor-motion-effects-element-type-background),
.elementor-3114 .elementor-element.elementor-element-f8b459e > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.elementor-3114 .elementor-element.elementor-element-e7064c4:not(.elementor-motion-effects-element-type-background),
.elementor-3114 .elementor-element.elementor-element-e7064c4 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image:url("/assets/ai-projects/pergola-freistehend.jpg")!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.elementor-3114 .elementor-element.elementor-element-e7064c4::before {
  background:linear-gradient(180deg,transparent 45%,rgb(20 26 35 / 28%))!important;
}
.elementor-3114 .elementor-element.elementor-element-e7064c4 {
  position:relative;
  overflow:hidden;
  --padding-top:0;
  --padding-right:0;
  --padding-bottom:0;
  --padding-left:0;
}
.elementor-3114 .te-about-card-image-widget,
.elementor-3114 .te-about-card-image-widget > .elementor-widget-container,
.elementor-3114 .te-about-card-image-widget .te-lightbox-trigger {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
}
.elementor-3114 .te-about-card-image-widget img {
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  object-position:center;
}
.elementor-1450 .te-consultation-image .elementor-widget-container {
  width:100%;
  aspect-ratio:3 / 2;
  overflow:hidden;
  border-radius:10px;
}
.elementor-1450 .te-consultation-image .te-lightbox-trigger,
.elementor-1450 .te-consultation-image img {
  display:block;
  width:100%!important;
  height:100%!important;
}
.elementor-1450 .te-consultation-image img {
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px){.te-detail-heading{grid-template-columns:1fr;gap:22px}.te-reference-placeholder{grid-template-columns:1fr}.te-visual-pair{grid-template-columns:1fr 1fr}.te-detail-card{min-height:230px}.te-credits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.te-width{padding-inline:20px}.te-contact-intro{padding-block:50px 35px}.te-contact-grid{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.te-contact-intro h1{font-size:42px}.te-contact-intro>p:not(.te-eyebrow){font-size:16px}.te-placeholder-grid{grid-template-columns:1fr}.te-placeholder-section{padding-block:55px}.te-input-grid{grid-template-columns:1fr}.te-choice-grid{grid-template-columns:1fr 1fr;font-size:12px;gap:8px}.te-choice-grid label{padding:15px 10px}.te-preview-note{font-size:10px}.te-contact-card{padding:28px}.te-form-actions{flex-wrap:wrap}header img[src='/assets/logo.svg'],header img[src='/assets/raumvora-logo.svg']{width:190px!important;max-height:70px}.te-hero{background-position:60% center!important}.te-detail-section{padding:62px 0}.te-detail-grid{grid-template-columns:1fr}.te-detail-card{min-height:0}.te-detail-card h3{margin-top:26px}.te-visual-pair{grid-template-columns:1fr}.te-visual-pair>figure{min-height:260px}.te-reference-placeholder{padding:28px}.te-reference-cards{grid-template-columns:1fr}.te-reference-cards span{min-height:75px}.te-trust-strip .te-width{justify-content:flex-start}.te-credits{grid-template-columns:1fr}.te-credits img{height:210px}}
@media(max-width:767px){header img[src='/assets/terrassenbau-exklusiv-logo.png']{width:205px!important;max-height:70px}footer img[src='/assets/terrassenbau-exklusiv-logo.png']{width:240px!important;max-height:90px}}
