/* Local fonts */
@font-face {
  font-family: "Ovo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts-site/ovo-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts-site/roboto-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./fonts-site/roboto-700.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./fonts-site/roboto-700.woff2") format("woff2");
}

/* Brand – deep burgundy (buttons, icons, links) */
:root,
html,
body,
.elementor-kit-7,
body.elementor-kit-7 {
  --e-global-color-primary: #8B2942 !important;
  --e-global-color-accent: #8B2942 !important;
  --e-global-color-54241e2: #A83A56 !important;
  --e-global-color-ded76d5: #8B2942F5 !important;
  --e-global-color-c44fc86: #3A1020 !important;
  --e-global-color-099a4d2: #F4EAEE !important;
}

/* Base layout – works on all devices */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0 auto !important;
  max-width: 1140px !important;
  width: 100% !important;
  overflow-x: hidden !important;
  background: #e3e3e3;
  -webkit-hyphens: none;
  hyphens: none;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

.elementor-section .elementor-container {
  max-width: 100%;
}

.elementor-kit-7 a {
  color: #8B2942 !important;
}
.elementor-kit-7 a:hover {
  color: #A83A56 !important;
}

/* Buttons */
.elementor-kit-7 .elementor-button,
.elementor-kit-7 a.elementor-button,
.elementor-kit-7 .elementor-button-link,
.elementor-kit-7 .elementor-button.elementor-size-sm,
.elementor-kit-7 .elementor-button.elementor-size-md,
.elementor-kit-7 .elementor-button.elementor-size-lg {
  background-color: #8B2942 !important;
  border-color: #8B2942 !important;
  color: #fff !important;
  fill: #fff !important;
}
.elementor-kit-7 .elementor-button:hover,
.elementor-kit-7 a.elementor-button:hover,
.elementor-kit-7 .elementor-button-link:hover {
  background-color: #A83A56 !important;
  border-color: #A83A56 !important;
  color: #fff !important;
}
.elementor-kit-7 .elementor-button .elementor-button-text,
.elementor-kit-7 .elementor-button i,
.elementor-kit-7 .elementor-button .fas,
.elementor-kit-7 .elementor-button .far {
  color: #fff !important;
}

/* Icons (lists, accordion, stacked) – not inside white buttons above */
.elementor-kit-7 .elementor-icon-list-icon i,
.elementor-kit-7 .elementor-accordion-icon,
.elementor-kit-7 .elementor-accordion-icon i,
.elementor-kit-7 .elementor-view-default .elementor-icon,
.elementor-kit-7 .elementor-view-default .elementor-icon i {
  color: #8B2942 !important;
}
.elementor-kit-7 .elementor-view-stacked .elementor-icon {
  background-color: #8B2942 !important;
  color: #fff !important;
}
.elementor-kit-7 .elementor-view-stacked .elementor-icon i {
  color: #fff !important;
}

/* Logo navy → burgundy tone */
img[src*="Logo_MRM"], img[src*="logo-thomas-schmidt"] { max-width: 220px; width: 100%; height: auto; }

/* Header */
.elementor-41 .elementor-element-35db1da7 {
  width: 100% !important;
  left: auto !important;
  right: auto !important;
  inset-inline-start: auto !important;
}

.elementor-41 .elementor-element-35db1da7 .elementor-container {
  align-items: center;
  flex-wrap: wrap;
}

/* Tablet */
@media screen and (max-width: 1024px) {
  body {
    max-width: 100% !important;
    box-shadow: none !important;
  }

  .elementor-41 .elementor-element-35db1da7 {
    padding: 10px 20px !important;
  }

  .elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Mobile */
@media screen and (max-width: 767px) {
  body {
    max-width: 100% !important;
    box-shadow: none !important;
  }

  .elementor-41 .elementor-element-35db1da7 {
    padding: 12px 14px !important;
  }

  .elementor-41 .elementor-element-35db1da7 .elementor-container {
    flex-direction: column !important;
    gap: 8px;
  }

  .elementor-41 .elementor-element-d80afaa,
  .elementor-41 .elementor-element-72ae77bd {
    width: 100% !important;
  }

  .elementor-41 .elementor-element-72ae77bd .elementor-widget-wrap {
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 8px;
  }

  img[src*="Logo_MRM"], img[src*="logo-thomas-schmidt"] { max-width: 220px; width: 100%; height: auto; }

  .elementor-heading-title {
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .elementor-button {
    width: 100% !important;
    text-align: center !important;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .elementor-icon-list-items {
    padding-left: 0;
  }

  /* Stack columns */
  .elementor-column.elementor-col-50,
  .elementor-column.elementor-col-33,
  .elementor-column.elementor-col-66,
  .elementor-column[data-element_type="column"] {
    width: 100% !important;
  }

  .elementor-section > .elementor-container {
    flex-wrap: wrap !important;
  }

  /* Hero readability */
  .elementor-275 .elementor-element-3a7ae368 {
    min-height: auto !important;
  }

  .elementor-275 .elementor-element-3a7ae368 .elementor-heading-title {
    font-size: clamp(22px, 6vw, 32px) !important;
    line-height: 1.25 !important;
  }

  .elementor-widget-image img,
  .elementor-widget-image figure {
    margin-left: auto;
    margin-right: auto;
  }

  /* Forms / inputs if present */
  input,
  textarea,
  select,
  button {
    max-width: 100%;
    font-size: 16px !important; /* prevents iOS zoom */
  }
}

/* Small phones */
@media screen and (max-width: 480px) {
  .elementor-41 .elementor-element-35db1da7 {
    padding: 10px 12px !important;
  }

  .elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .elementor-icon-list-text {
    font-size: 14px !important;
  }
}

/* Desktop shadow frame only when wide enough */
@media screen and (min-width: 769px) {
  body {
    box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 23%);
  }
}
