/* Existing-theme refinement. Only the explicitly enabled homepages receive these rules. */
.raitz-enhanced {
  --raitz-ui-ink: #24282c;
  --raitz-ui-line: #dfe5e7;
  --raitz-ui-shadow: 0 12px 32px rgb(29 42 49 / 8%);
}

.raitz-enhanced :is(a, button, input, textarea, select):focus-visible {
  outline: 3px solid #15788b;
  outline-offset: 4px;
}

.raitz-enhanced :is(.elementor-location-header, #masthead, #header-full) {
  position: relative;
  z-index: 5;
}

/* Communications: retain the office photograph and inquiry form, improve its contrast. */
.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header {
  box-shadow: 0 4px 24px rgb(31 36 43 / 7%);
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-button {
  border-radius: 8px;
  line-height: 1.15;
  white-space: nowrap;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-2a9b86e {
  --min-height: 0px;
  min-height: 0;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 {
  background: linear-gradient(135deg, rgb(25 29 33 / 94%), rgb(25 29 33 / 83%));
  padding: 20px 16px;
  height: auto;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-0d925bd {
  padding: 0;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 .forminator-row {
  margin-bottom: 12px !important;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 :is(.forminator-label, .forminator-checkbox-label) {
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 :is(.forminator-input, .forminator-textarea) {
  border: 1px solid rgb(255 255 255 / 30%) !important;
  border-radius: 7px !important;
  background: #f8f8f7 !important;
  color: #24282c !important;
  min-height: 44px;
  font-size: 16px !important;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 .forminator-textarea {
  height: 88px !important;
  min-height: 88px !important;
  resize: vertical;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 .forminator-checkbox {
  min-height: 44px;
  margin: 0 !important;
  align-items: center;
  pointer-events: auto !important;
  cursor: pointer;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 .forminator-description {
  color: #d9dfe3 !important;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 .forminator-button {
  min-height: 44px;
  border-radius: 7px !important;
  padding: 12px 24px !important;
}

.raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-698e646 .elementor-widget-image img {
  border-radius: 12px;
}

/* The floating English badge keeps its link without covering the inquiry hit area. */
.raitz-enhanced--communications-en .elementor-element-1625dd5 {
  pointer-events: none;
}

.raitz-enhanced--communications-en .elementor-element-1625dd5 a {
  pointer-events: auto;
}

/* Production: reuse the header's logo, title, tools and navigation in a compact grid. */
.raitz-enhanced--production #header-text-nav-container {
  border-bottom: 1px solid var(--raitz-ui-line);
}

.raitz-enhanced--production #featured-slider {
  box-shadow: var(--raitz-ui-shadow);
}

.raitz-enhanced--production #featured-slider .slider-read-more-button {
  border-radius: 6px;
  min-height: 44px;
}

.raitz-enhanced--production :is(.widget_featured_posts .post-featured-image img, .widget_service_block img) {
  border-radius: 8px;
}

.raitz-enhanced--production #main {
  padding-top: 28px;
}

/* Outdoor: archive artwork remains intact; warm surfaces support its official blue. */
.raitz-enhanced.raitz-enhanced--outdoor {
  background-color: #f4f2ed;
}

.raitz-enhanced--outdoor #header-full {
  background: #fffefa;
}

.raitz-enhanced--outdoor #branding {
  background: #fffefa;
}

.raitz-enhanced--outdoor #slider {
  border-radius: 10px;
  box-shadow: var(--raitz-ui-shadow);
}

.raitz-enhanced--outdoor #front-columns {
  margin-top: 32px;
}

.raitz-enhanced--outdoor #front-columns .column-image {
  border-radius: 14px;
  box-shadow: var(--raitz-ui-shadow);
}

.raitz-enhanced--outdoor #front-columns .column-image > a.clickable-column {
  height: auto;
}

.raitz-enhanced--outdoor #front-columns .column-image > a.clickable-column img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

.raitz-enhanced--outdoor #front-columns .column-text {
  color: var(--raitz-ui-ink);
  line-height: 1.65;
}

/* Wide cards retain Tempera's overlay; mobile and plain-card modes use white cards. */
@media (min-width: 1101px) {
  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-text {
    color: #fff;
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-image:focus-within :is(.column-image-inside, .column-text) {
    left: 0;
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .column-image:focus-within .columnmore {
    bottom: 30px;
  }

  .raitz-enhanced--outdoor:is(.coldisplay0, .coldisplay1):not(.temobile) #front-columns .columnmore a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
  }
}

/* Keep narrow desktop cards readable without fitting copy and a button over a small image. */
@media (min-width: 801px) and (max-width: 1100px) {
  .raitz-enhanced--outdoor #front-columns .column-image {
    overflow: visible;
  }

  .raitz-enhanced--outdoor #front-columns .column-image-inside {
    display: none;
  }

  .raitz-enhanced--outdoor #front-columns .column-text {
    position: static;
    display: block;
    margin: 0 auto;
    padding: 12px 0;
    transform: none;
    transition: none;
  }

  .raitz-enhanced--outdoor #front-columns .columnmore {
    position: static;
    margin-bottom: 12px;
  }
}

.raitz-enhanced--outdoor #front-columns .columnmore a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: 6px;
  background: #276477;
  color: #fff;
}

@media (min-width: 1025px) {
  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 {
    width: clamp(340px, 26vw, 400px);
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-element-2bd1e97 {
    min-width: 206px;
  }
}

@media (min-width: 801px) {
  .raitz-enhanced--production #header-text-nav-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
    padding: 18px 0 12px;
  }

  .raitz-enhanced--production #header-text-nav-wrap::before,
  .raitz-enhanced--production #header-text-nav-wrap::after,
  .raitz-enhanced--production #header-right-sidebar::before,
  .raitz-enhanced--production #header-right-sidebar::after {
    display: none;
  }

  .raitz-enhanced--production #header-left-section {
    display: flex;
    align-items: center;
    flex: 1 1 620px;
    gap: 20px;
    float: none;
    margin: 0;
  }

  .raitz-enhanced--production #header-logo-image {
    flex: 0 0 205px;
    float: none;
    padding: 0;
  }

  .raitz-enhanced--production #header-logo-image img {
    width: 205px;
    height: auto;
    object-fit: contain;
  }

  .raitz-enhanced--production #header-text {
    float: none;
    padding: 0;
  }

  .raitz-enhanced--production #site-title {
    font-size: clamp(18px, 1.45vw, 22px);
    line-height: 1.35;
  }

  .raitz-enhanced--production #site-title a {
    font-size: inherit;
    line-height: inherit;
  }

  .raitz-enhanced--production #site-description {
    padding-bottom: 0;
    line-height: 1.5;
  }

  .raitz-enhanced--production #header-right-section {
    display: contents;
  }

  .raitz-enhanced--production #header-right-sidebar {
    display: flex;
    flex: 0 1 270px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px 12px;
  }

  .raitz-enhanced--production #header-right-sidebar :is(.widget, .textwidget) {
    padding: 0;
    margin: 0;
  }

  .raitz-enhanced--production #header-right-sidebar .widget_search {
    flex: 1 1 100%;
  }

  .raitz-enhanced--production #header-right-sidebar :is(.search-wrap, .search-form) {
    display: flex;
    justify-content: flex-end;
  }

  .raitz-enhanced--production #header-right-sidebar .search-field {
    width: 100%;
  }

  .raitz-enhanced--production #header-right-sidebar :is(.search-field, .search-form button, .goog-te-combo) {
    min-height: 38px;
  }

  .raitz-enhanced--production #header-right-sidebar :is(#google_language_translator, .textwidget > div) {
    height: auto;
    min-height: 0;
  }

  .raitz-enhanced--production #site-navigation {
    flex: 1 1 100%;
    float: none;
    padding: 8px 0 0;
    border-top: 1px solid var(--raitz-ui-line);
  }

  .raitz-enhanced--production #site-navigation .menu > li {
    margin-left: 18px;
  }

  .raitz-enhanced--production #site-navigation .menu > li:first-child {
    margin-left: 0;
  }

  .raitz-enhanced--production #site-navigation .menu > li > a {
    padding: 7px 0;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .raitz-enhanced--production #header-left-section {
    flex-basis: 420px;
    gap: 16px;
  }

  .raitz-enhanced--production #header-logo-image {
    flex-basis: 160px;
  }

  .raitz-enhanced--production #header-logo-image img {
    width: 160px;
  }

  .raitz-enhanced--production #header-right-sidebar {
    flex-basis: 270px;
  }

  .raitz-enhanced--production #site-navigation .menu > li {
    margin-left: 14px;
  }
}

@media (max-width: 800px) {
  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-element-8ce87fe {
    gap: 4px;
    padding: 8px 12px 12px;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header :is(.elementor-element-1ccb953, .elementor-element-2bd1e97, .elementor-element-8f8496a) {
    padding: 0;
    min-height: 0;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-widget-image img {
    width: 110px;
    height: auto;
    object-fit: contain;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-widget-nav-menu {
    width: 100%;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-nav-menu {
    justify-content: center;
    gap: 0 8px;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-nav-menu .elementor-item {
    min-height: 44px;
    padding: 8px 6px;
    font-size: 16px;
    line-height: 1.25;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-location-header .elementor-button {
    min-height: 44px;
    padding: 11px 16px;
    font-size: 18px;
  }

  .raitz-enhanced:is(.raitz-enhanced--communications, .raitz-enhanced--communications-en) .elementor-element-cfd09c3 {
    padding: 20px;
  }

  .raitz-enhanced--production #header-text-nav-wrap {
    padding-bottom: 12px;
  }

  .raitz-enhanced--production #main {
    padding-top: 20px;
  }

  .raitz-enhanced--production #site-title {
    font-size: clamp(12px, 3.35vw, 15px) !important;
    line-height: 1.4 !important;
  }

  .raitz-enhanced--outdoor #front-columns {
    margin-top: 20px;
  }

  .raitz-enhanced--outdoor #front-columns .column-header-image {
    font-size: clamp(23px, 6.2vw, 28px);
    line-height: 1.25;
  }

  .raitz-enhanced--outdoor #slider {
    border-radius: 0;
  }
}
