/* vzd-engine · lefrema-orthetik.de · hoja del sitio.
   1. Fuentes servidas desde el sitio (includes/fonts.php): Playfair Display y Poppins, SIL OFL, latin + latin-ext.
   2. El CSS que vivía en el Customizer hasta el 2026-10-30, sin el parche del copyright ni las reglas de Slider Revolution.
   3. Lo que hacía el JS de WPBakery, ahora desde el primer pintado. */

@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/playfair-display-400i-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/playfair-display-400i-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:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/playfair-display-400-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/playfair-display-400-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:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/poppins-400i-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/poppins-400i-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:'Poppins';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/poppins-500i-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/poppins-500i-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:'Poppins';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/poppins-700i-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/poppins-700i-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:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400-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:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500-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:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700-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}

/* ============================================================
   LeFreMA Orthetik — Custom CSS
   ============================================================ */

:root {
  --col:   #60635f;
  --dark:  #4a4d48;
  --gold:  #faa41a;
  --bg-nav: rgba(255,255,255,.82);
  --blur:  blur(3px) saturate(120%);
  --shadow-nav: 0 4px 14px rgba(0,0,0,.06);
  --font:  "Playfair Display", serif;
}

/* Reset + base */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--font) !important;
  color: var(--col) !important;
  font-weight: 400 !important;
  overflow-x: hidden !important;
}

.top_panel_wrap, header { overflow: visible !important; }

/* Nav bar */
.top_panel_navi,
.top_panel_navi.sc_layouts_row_fixed,
.top_panel_navi.sc_layouts_row_fixed_on {
  background: var(--bg-nav) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  box-shadow: var(--shadow-nav) !important;
  border: none !important;
  padding: 12px 18px !important;
}

.top_panel_navi.sc_layouts_row_fixed,
.top_panel_navi.sc_layouts_row_fixed_on {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-width: 100vw !important;
  z-index: 99999 !important;
  box-sizing: border-box !important;
  transform: translateZ(0);
}

/* Logo */
.sc_layouts_logo img {
  max-height: 76px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

/* Call text */
.sc_layouts_iconed_text_line1 {
  font-size: 14px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
.sc_layouts_iconed_text_line2 {
  font-size: 16px !important;
  line-height: 1.2 !important;
  margin: 2px 0 0 !important;
  color: var(--gold) !important;
}

/* Links */
.top_panel_navi a,
header a,
.top_panel_wrap a {
  color: var(--col) !important;
  text-decoration: none !important;
}
.top_panel_navi a:hover,
header a:hover,
.top_panel_wrap a:hover { color: var(--gold) !important; }

/* Desktop submenu */
@media (min-width: 768px) {
  .menu_main_nav > li .submenu {
    background: var(--bg-nav) !important;
    backdrop-filter: var(--blur) !important;
    -webkit-backdrop-filter: var(--blur) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.06) !important;
    padding: 8px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(96,99,94,.12) !important;
  }
  .menu_main_nav > li .submenu > li > a {
    display: block !important;
    padding: 10px 14px !important;
    margin: 6px 0 !important;
    color: var(--col) !important;
    background: rgba(242,245,245,.28) !important;
    border: 1px solid rgba(96,99,94,.18) !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    transition: background .18s, color .18s, border-color .18s, transform .12s;
  }
  .menu_main_nav > li .submenu > li > a:hover {
    color: var(--gold) !important;
    background: rgba(250,164,26,.10) !important;
    border-color: rgba(250,164,26,.35) !important;
    transform: translateY(-1px);
  }
}

/* Mobile nav */
@media (max-width: 767px) {
  .top_panel_navi,
  .top_panel_navi .sc_layouts_row,
  .top_panel_navi.sc_layouts_row_fixed,
  .top_panel_navi.sc_layouts_row_fixed_on {
    margin: 0 !important;
    padding: 4px 14px !important;
    min-height: 52px !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(6px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(120%) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.05) !important;
    border: none !important;
  }

  .top_panel_navi.sc_layouts_row_fixed,
  .top_panel_navi.sc_layouts_row_fixed_on {
    padding: 0 20px 8px 15px !important;
  }

  .top_panel_navi .columns_wrap {
    display: grid !important;
    grid-template-columns: 1fr 54px !important;
    grid-template-areas: "logo burger" "call call" !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    border: none !important;
  }
  .top_panel_navi .columns_wrap > .sc_layouts_column {
    width: auto !important;
    max-width: none !important;
    flex: initial !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: initial !important;
    border: none !important;
  }
  .top_panel_navi .columns_wrap > .sc_layouts_column:nth-child(1) { grid-area: logo !important; }
  .top_panel_navi .columns_wrap > .sc_layouts_column:nth-child(2) { grid-area: burger !important; }
  .top_panel_navi .columns_wrap > .sc_layouts_column:nth-child(3) { grid-area: call !important; }
  .top_panel_navi .columns_wrap > .sc_layouts_column:nth-child(4) { display: none !important; }

  .sc_layouts_logo,
  .sc_layouts_logo a,
  .sc_layouts_logo img { display: block !important; margin: 0 !important; }
  .sc_layouts_logo img { max-height: 54px !important; }

  .sc_layouts_menu_mobile_button {
    display: block !important;
    transform: scale(1.12) !important;
    padding: 6px !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
  }
  .sc_layouts_menu_mobile_button::before,
  .sc_layouts_menu_mobile_button::after { display: none !important; }

  .top_panel_navi .sc_layouts_column_align_center {
    text-align: center !important;
    justify-self: center !important;
    margin-top: 0 !important;
  }
  .sc_layouts_iconed_text_line1 {
    font-size: 11px !important;
    color: #6f736f !important;
  }
  .sc_layouts_iconed_text_line2 {
    font-size: 15px !important;
    color: rgba(250,164,26,.9) !important;
    font-weight: 700 !important;
    margin-top: 1px !important;
    line-height: 1.15 !important;
  }
  .page_content_wrap > *:first-child { margin-top: 0 !important; padding-top: 0 !important; }
}


/* Service icon blocks */
a.sc_services_item_icon.icon-child::before,
a.sc_services_item_icon.icon-github::before,
a.sc_services_item_icon.icon-steam::before {
  content: "" !important;
  display: none !important;
}

a.sc_services_item_icon.icon-child,
a.sc_services_item_icon.icon-github,
a.sc_services_item_icon.icon-steam {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 80px !important;
  height: 80px !important;
}
a.sc_services_item_icon.icon-child  { background-image: url('https://lefrema-orthetik.de/wp-content/uploads/2025/11/icon-1-e1763397661107.png') !important; }
a.sc_services_item_icon.icon-github { background-image: url('https://lefrema-orthetik.de/wp-content/uploads/2025/11/icon-2-e1763397752875.png') !important; }
a.sc_services_item_icon.icon-steam  { background-image: url('https://lefrema-orthetik.de/wp-content/uploads/2025/11/icon-3-e1763397818184.png') !important; }


/* Icon blocks: mobile visible content */
@media (max-width: 767px) {
  .sc_services_item.with_content .sc_services_item_info {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
  .sc_services_item .sc_services_item_content {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    margin-top: 8px !important;
    text-align: center !important;
    padding: 0 10px 8px !important;
  }
  .sc_services_item .sc_services_item_content p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #7c8fa7 !important;
  }
  .trx_addons_column-1_3 { padding-bottom: 8px !important; margin-bottom: 8px !important; }
  .sc_services_item       { margin-bottom: 4px !important; padding-bottom: 4px !important; }
  .sc_services_columns_wrap { margin-bottom: 0 !important; }
  .trx_addons_column-1_3:last-child,
  .sc_services_item:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
}

/* Orange button */
.scheme_default .sc_button_hover_slide_left {
  background: linear-gradient(to right, #62635f 50%, #FFA24D 50%) no-repeat scroll right bottom / 210% 100% !important;
}

/* Image gallery (home) */
.wpb_image_grid_ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  height: auto !important;
  overflow: visible !important;
}
.wpb_image_grid_ul .isotope-item { position: static !important; left: auto !important; top: auto !important; }

@media (max-width: 767px) {
  .wpb_image_grid_ul .isotope-item:nth-child(n+6) { display: none !important; }
  .wpb_image_grid_ul img { width: 120px !important; height: auto !important; }
}

/* Google Maps / contact block */
.sc_googlemap_content_area .wpb_text_column .wpb_wrapper { text-align: center !important; }
.sc_googlemap_content_area .wpb_text_column .wpb_wrapper > div[style*="max-width: 420px"] {
  display: inline-block !important;
  max-width: 420px !important;
  margin: 0 auto !important;
}
.sc_googlemap_content_area .wpb_text_column .wpb_wrapper > div[style*="max-width: 420px"] p {
  font-size: 1.33rem !important;
  line-height: 1.6 !important;
}
.sc_googlemap_content_area .wpb_text_column .wpb_wrapper > div[style*="max-width: 420px"] p[style*="font-weight: 800"] {
  font-size: 1.55rem !important;
}

/* Title panel */
.sc_layouts_title_breadcrumbs,
.sc_layouts_title_breadcrumbs *,
.top_panel_title .breadcrumbs { display: none !important; }

.top_panel_title.sc_layouts_row.sc_layouts_row_type_normal {
  position: relative !important;
  margin: 0 !important;
  padding: 24px 0 !important;
  z-index: 1 !important;
  display: block !important;
  overflow: visible !important;
  float: none !important;
  clear: both !important;
  background: linear-gradient(135deg, var(--dark) 0%, var(--col) 60%, #7a7d78 100%) !important;
  border-bottom: 3px solid rgba(250,164,26,.55) !important;
}

.sc_layouts_title_caption {
  font-family: var(--font) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.18) !important;
  color: #fff !important;
}

/* Page content spacing */
.page_content_wrap { margin-top: 0 !important; }

.page_content_wrap .content_wrap {
  padding-top: 36px !important;
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  .page_content_wrap .content_wrap { padding-top: 20px !important; }
}

/* Responsive title */
@media (min-width: 1024px) {
  .sc_layouts_title_caption { font-size: 3.2rem !important; line-height: 1.15 !important; }
  .page_content_wrap .content_wrap .content { max-width: 720px !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .top_panel_title.sc_layouts_row.sc_layouts_row_type_normal { padding: 20px 0 !important; }
  .sc_layouts_title_caption {
    font-size: 2.8rem !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
  }
  .post_featured, .post_thumbnail { margin-bottom: 28px !important; }
}

@media (max-width: 767px) {
  .top_panel_title.sc_layouts_row.sc_layouts_row_type_normal { padding: 20px 0 16px !important; }
  .sc_layouts_title_caption { font-size: 2rem !important; letter-spacing: .01em !important; }
  .post_featured,
  .post_thumbnail,
  .wp-post-image,
  .services_page .post_featured,
  figure.post_featured,
  .entry-thumbnail,
  .hentry .post_featured {
    margin-top: 12px !important;
    margin-bottom: 16px !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }
  .post_featured img, .post_thumbnail img { margin-bottom: 16px !important; }
}

/* Featured image: hover zoom */
.services_page_featured img,
.post_featured img,
.wp-post-image {
  border-radius: 10px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.13) !important;
  transition: transform .35s ease, box-shadow .35s ease !important;
  display: block !important;
}
.services_page_featured img:hover,
.post_featured img:hover,
.wp-post-image:hover {
  transform: scale(1.015) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.18) !important;
}

/* Article content */
.services_page_content p,
.entry-content p,
.post_content p {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: #3a3d38 !important;
}

.services_page_content p.section-title,
.entry-content p.section-title,
.post_content p.section-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #2a2d28 !important;
  border-left: 3px solid var(--gold) !important;
  padding-left: 12px !important;
  margin: 1.8em 0 1em !important;
  line-height: 1.4 !important;
}

.services_page_content ul li,
.entry-content ul li,
.post_content ul li {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #3a3d38 !important;
  line-height: 1.75 !important;
  margin-bottom: 0.5em !important;
}

.services_page_content ul li strong,
.entry-content ul li strong,
.post_content ul li strong {
  color: #2a2d28 !important;
  font-weight: 700 !important;
}

/* Team cards */
.sc_team_item h4.sc_team_item_title,
.sc_team_item .sc_team_item_title a {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}
@media (max-width: 767px) {
  .sc_services_item.without_content.with_image {
    position: relative !important;
    height: 200px !important;
    overflow: hidden !important;
  }

  .sc_services_item.without_content.with_image .sc_services_item_header {
    height: 200px !important;
  }

  .sc_services_item.without_content.with_image .sc_services_item_content {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 200px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
/* ============================================================
   vzd-engine 1.0.0 (2026-10-30): lo que hacía el JS de WPBakery,
   ahora desde el primer pintado. Nada de esto se calcula en el
   navegador.
   ============================================================ */

/* Cabecera en el flujo. Con header_position «over» el tema saca la cabecera del flujo
   (absolute) y la barra va fixed: el JS medía la barra en window.load y empujaba la página
   y la banda de título a mano, y la página bajaba de golpe. Ahora la cabecera no genera caja,
   la barra es sticky (ocupa su altura, se queda arriba al bajar) y la banda de título la sigue
   en el flujo. Ninguna altura escrita: vale para cualquier anchura, idioma o logo.
   overflow-x pasa de hidden a clip, y el overflow:hidden del tema en .page_wrap también: hidden
   convierte el elemento en contenedor de scroll y un sticky dentro no se pega a la ventana (la
   barra se iba con el scroll, 1.1.1). clip recorta igual: mismo primer pantallazo al píxel y mismas
   alturas de página, medido en 5 plantillas × 3 anchuras. Sin clip (Safari < 16) la barra
   simplemente no se queda arriba. */
html, body { overflow-x: clip !important; }
.page_wrap { padding-top: 0 !important; overflow: clip !important; }
header.top_panel { display: contents !important; }
.top_panel_navi,
.top_panel_navi.sc_layouts_row_fixed,
.top_panel_navi.sc_layouts_row_fixed_on {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
}
.admin-bar .top_panel_navi { top: 32px !important; }
@media (max-width: 782px) { .admin-bar .top_panel_navi { top: 46px !important; } }
.top_panel_title.sc_layouts_row.sc_layouts_row_type_normal { margin-top: 0 !important; }
/* trx_addons mete un hueco del alto de la fila fija al hacer scroll: con sticky sobra. */
.sc_layouts_row_fixed_placeholder { display: none !important; }

/* Filas «stretch» de WPBakery (fondo a todo el ancho, contenido en la caja): su JS las ensancha
   en DOMContentLoaded con left/width/padding en línea y el contenido de debajo saltaba (CLS 0,16
   en /leistungen/ a 1280 px). Las mismas cajas, al píxel, desde el primer pintado. En cqw y no en
   vw para no contar la barra de scroll de Windows; -15px es el canal de .vc_row que el JS descuenta.
   El JS sigue corriendo y lo que escribe en línea pierde contra estos !important (mismo valor). */
.page_content_wrap { container-type: inline-size; }
.vc_row[data-vc-full-width] {
  position: relative !important; left: 0 !important; width: auto !important;
  margin-left: calc(50% - 50cqw) !important; margin-right: calc(50% - 50cqw) !important;
}
.vc_row[data-vc-full-width]:not([data-vc-stretch-content]) {
  padding-left: calc(50cqw - 50% - 15px) !important; padding-right: calc(50cqw - 50% - 15px) !important;
}

/* Home DE y EN: el contenido arranca pegado a la barra (era el padding 0 del JS). Leistungen
   (DE, 97): la primera fila (fondo de ladrillo) arranca pegada a la banda de título, como antes. */
body.home .content_wrap,
body.page-id-1728 .content_wrap,
body.page-id-97 .page_content_wrap .content_wrap { padding-top: 0 !important; }

/* Botones «simple» del tema (los «Mehr erfahren» de los bloques de servicio): el JS los ocultaba. */
a.sc_button.sc_button_simple { display: none !important; }

/* Teléfono: enlace tel: puesto en el servidor, con el aspecto del texto que había. */
a[href^="tel:"] { color: inherit !important; text-decoration: none !important; }

/* Botón de CookieYes para volver a abrir el banner: la galleta que dibujaba el JS. */
.cky-btn-revisit-wrapper .cky-btn-revisit {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='30' fill='%23c8873a'/%3E%3Ccircle cx='20' cy='22' r='4' fill='%237a4a1e'/%3E%3Ccircle cx='38' cy='18' r='3' fill='%237a4a1e'/%3E%3Ccircle cx='44' cy='34' r='4' fill='%237a4a1e'/%3E%3Ccircle cx='26' cy='40' r='3' fill='%237a4a1e'/%3E%3Ccircle cx='38' cy='46' r='4' fill='%237a4a1e'/%3E%3Ccircle cx='18' cy='36' r='2.5' fill='%237a4a1e'/%3E%3C/svg%3E") center / 32px 32px no-repeat !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img { opacity: 0 !important; }

/* Pie: Instagram, enlaces legales y copyright, ya en el HTML (opción del tema por idioma). La
   plantilla pasa el texto por wp_kses_data, que se come los <br>: las tres líneas las hace el CSS
   (Instagram en su propia fila, salto después del último enlace legal). */
.copyright_text { font-size: 14px; line-height: 1.9; }
.copyright_text a[href*="/cookie-richtlinie/"]::after { content: "\A"; white-space: pre; }
.copyright_text a { color: inherit !important; text-decoration: none !important; }
.copyright_text a:hover { color: var(--gold) !important; }
.copyright_text a[href*="instagram.com"] {
  display: flex; width: fit-content; margin: 0 auto 6px; align-items: center; gap: 6px; font-size: 1.2em;
}
.copyright_text a[href*="instagram.com"]::before {
  content: ""; width: 20px; height: 20px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
}
.copyright_text a[href*="/impressum/"],
.copyright_text a[href*="/datenschutzerklaerung/"],
.copyright_text a[href*="/cookie-richtlinie/"] { font-size: .85em; }

/* Crédito (includes/credit.php): última franja, mismo fondo que el copyright del tema (scheme dark). */
.vzd-credit { background: #0e0d12; border-top: 1px solid rgba(255,255,255,.1); padding: 14px 20px; text-align: center; line-height: 1; }
.vzd-credit-badge {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px; background: rgba(255,255,255,.06); color: rgba(247,247,247,.82) !important; font-size: 13px;
  line-height: 1; letter-spacing: .01em; text-decoration: none !important; font-family: inherit;
  transition: color .15s, border-color .15s, background .15s;
}
.vzd-credit-badge:hover, .vzd-credit-badge:focus-visible { color: #fff !important; border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.12); }
.vzd-credit-badge strong { font-weight: 600; color: #fff; }
.vzd-credit-mark { display: block; flex: none; }
