/* Arabic uses a local font with connected-script shaping. Latin characters keep
   the kit's existing font; other languages do not download this font file. */
@font-face {
  font-family: "Pauly Arabic";
  src: url("../fonts/noto-sans-arabic-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-089F, U+08A0-08FF,
                 U+FB50-FDFF, U+FE70-FEFF;
}
html:lang(ar) body[class*="elementor-kit-"] {
  --e-global-typography-primary-font-family: "Pauly Arabic", "Work Sans";
  --e-global-typography-secondary-font-family: "Pauly Arabic", "Work Sans";
  --e-global-typography-text-font-family: "Pauly Arabic", "Work Sans";
  --e-global-typography-accent-font-family: "Pauly Arabic", "Work Sans";
  font-family: "Pauly Arabic", "Work Sans", sans-serif;
}
html:lang(ar) .elementor :is(h1, h2, h3, h4, p, li, dt, dd,
  .elementor-heading-title, .elementor-button-text, .op-timeline__title,
  .op-timeline__text, .op-eyebrow) {
  letter-spacing: normal;
}
/* Isolate numeric content, not the whole card: its description remains RTL. */
html:lang(ar) :is(
  a[href^="tel:"] .elementor-icon-list-text,
  a[href^="tel:"] .op-iconcard__label .elementor-heading-title,
  a[href^="tel:"] .table-value,
  .table-hours dd
) {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: right;
}
html:lang(ar) .op-timeline__year {
  direction: ltr;
  unicode-bidi: plaintext;
  text-align: right;
}
/* Address and fax values can start with digits. Use their own text direction;
   Arabic values retain their natural direction and the table stays RTL. */
html:lang(ar) .table-value {
  direction: ltr;
  unicode-bidi: plaintext;
  text-align: right;
}

/* Keep phone numbers, email addresses and postal lines readable in RTL copy. */
html:lang(ar) .elementor-widget-html :is(a[href^="tel:"], a[href^="mailto:"]) {
  direction: ltr;
  unicode-bidi: isolate;
}
html:lang(ar) .elementor-widget-html p:has(> br):has(a[href^="mailto:"]) {
  unicode-bidi: plaintext;
  text-align: right;
}

/* Site Settings owns brand values. Repeat on the kit body because Elementor's
   variables are scoped there, not on :root. Fallbacks cover non-Elementor views. */
:root, body[class*="elementor-kit-"]{
  --op-primary:var(--e-global-color-primary, #EE7402);
  --op-primary-dark:var(--e-global-color-ae5e11d, #FF6A1D);
  --op-text:var(--e-global-color-text, #2A2A2A);
  --op-muted:var(--e-global-color-1666a02, #575D6B);
  --op-border:var(--e-global-color-9bdca7f, #E6E8EC);
  --op-surface:var(--e-global-color-98ca5f5, #FFFFFF);
  --op-surface-2:var(--e-global-color-dce7945, #F3F4F6);
  --op-focus-ring:var(--e-global-color-7d36a1d, rgba(255, 106, 29, 0.25));
  --op-ink:var(--e-global-color-accent, #1E1E1E);
  --op-portrait-position:center top;
  --op-original-gray:#58585a;
	
  --op-radius-lg:16px;
  --op-radius-md:14px;
  --op-card-space-block:26px;
  --op-card-space-inline:26px;
  --op-reading-width:72ch;

  --op-shadow:0 10px 26px rgba(0,0,0,.05);
  --op-shadow-hover:0 12px 28px rgba(0,0,0,.15);
}
@media (max-width: 767px) {
  :root, body[class*="elementor-kit-"] {
    --op-card-space-block:23px;
    --op-card-space-inline:18px;
  }
}

/* Keep Elementor's sticky children inside one header layer so the native
   keyboard skip link can remain visible above the navigation. */
.elementor-location-header {
  position: relative;
  isolation: isolate;
  z-index: 1000;
}

.header-nav .e-n-menu-heading {
  display: flex;
  flex-wrap: nowrap;              /* niemals umbrechen */
  justify-content: space-between; /* maximaler freier Raum */
  width: 100%;
}

.header-nav .e-n-menu-item {
  flex: 0 0 auto;                 /* BREITE = Inhalt */
  white-space: nowrap;
}

/* === LÜCKEN SCHLIESSEN – HIT AREA === */
.header-nav .e-n-menu-item > .e-n-menu-title,
.header-nav .e-n-menu-item > .e-n-menu-title-container,
.header-nav .e-n-menu-item > .e-n-menu-title-container > a {
  display: flex;
  align-items: center;
  height: 100%;
  padding-left: 8px;   /* füllt die Zwischenräume */
  padding-right: 8px;   /* füllt die Zwischenräume */
}


.header-nav nav{
    height: 88px;
}
.header-nav nav>div{
    height: 88px;
}
.header-nav nav ul{
    height: 100%;
}
.header-nav nav ul a{
    height: 100%;
  
}
.header-nav nav ul button{
    height: 100%;
}


/* =========================
   MEGA MENU PANELS – PAULY
   ========================= */

/* Design Tokens */
:root{
  --mm-width: 1050px;           /* alle gleich breit */
  --mm-gap: -10px;               /* Abstand unter Headerkante (12 oder 16) */
  --mm-radius: 14px;
  --mm-pad-x: 0;
  --mm-pad-y: 0;
  --mm-border: #E6E8EC;
  --mm-shadow: 0 28px 70px rgba(0,0,0,.10);
}

/* Dropdown-Wrapper: sorgt dafür, dass Panel sauber unter Header startet */
.header-shell .mm-shell {
  background-color: transparent;
}
.header-shell .e-n-menu-content .mm{
  margin-top: var(--mm-gap);
}
/* Das eigentliche Panel */
.mm{
  width: 100%;
  max-width: var(--mm-width);
  margin-left: auto;
  margin-right: auto;

  background: #fff;
  border: 1px solid var(--mm-border);
  border-bottom-left-radius: var(--mm-radius);
  border-bottom-right-radius: var(--mm-radius);
  box-shadow: var(--mm-shadow);

  overflow: clip;               /* modern; fallback -> hidden */
}

/* Innenraum (Elementor Container Inhalt) */
.mm > .e-con-inner{
  padding: var(--mm-pad-y) var(--mm-pad-x);
}

/* Responsive Anpassungen */
@media (max-width: 1440px){
  :root{ --mm-width: 1240px; }
}
@media (max-width: 1280px){
  :root{ --mm-width: 1120px; --mm-pad-x: 28px; }
}
@media (max-width: 1024px){
  :root{ --mm-width: 100%; --mm-pad-x: 22px; --mm-pad-y: 22px; }
  .mm{ border-radius: 12px; }
}
@media (max-width: 767px){
  :root{ --mm-gap: 8px; --mm-pad-x: 18px; --mm-pad-y: 18px; }
}

/* Desktop language navigation stays in its existing header row so it cannot
   cover page content. Mobile uses the language links inside the menu. */
.lang-switcher--desktop {
  display: flex;
  flex-direction: row;
  gap: 6px;
  width: max-content;
  margin-block: 8px;
  margin-inline-start: auto;
  padding: 6px;
  border: 1px solid var(--op-border);
  border-radius: var(--op-radius-md);
  background: var(--op-surface);
}
.lang-switcher--desktop a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--op-ink);
  text-decoration: none;
  border-radius: 10px;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.lang-switcher--desktop a:hover {
  background-color: var(--op-surface-2);
}
.lang-switcher--desktop a.active {
  background-color: var(--op-primary);
  color: var(--op-ink);
  font-weight: 600;
}
.lang-switcher--desktop a:focus-visible {
  outline: 2px solid var(--op-ink);
  outline-offset: 2px;
}
@media (min-width: 1025px) {
  /* Mirror the existing header row's physical 36px right inset in RTL. */
  html[dir="rtl"] .lang-switcher--desktop {
    margin-inline-end: 36px;
  }
}
@media (max-width: 1024px) {
  .lang-switcher--desktop { display: none; }
}

/* ================================
   Sections
================================ */
   	.op-default-section{
		padding: 68px 10px; 
	}
	.op-surface, .op-hero-light{
		background-color: var(--op-surface);
	}
	.op-surface-2, .op-hero-dark{
		background-color: var(--op-surface-2);
	}
.op-surface-switch-1{
		background-color: var(--op-surface);
	}
@media (max-width: 767px) {
.op-surface-switch-1{
		background-color: var(--op-surface-2);
	}
}
.op-surface-switch-2{
		background-color: var(--op-surface-2);
	}
@media (max-width: 767px) {
.op-surface-switch-2{
		background-color: var(--op-surface);
	}
}
.op-slimtop-section{
		padding: 0px 10px 68px; 
	}
.op-slimbottom-section{
		padding: 68px 10px 0px; 
	}
.op-hero {
  background-color: #ffffff;
  background-image: linear-gradient(
    260deg, /* fast horizontal, minimal diagonal */
    rgba(243, 244, 246, 0.45) 0%,
    rgba(243, 244, 246, 0.22) 20%,
    rgba(243, 244, 246, 0.10) 32%,
    #ffffff 50%
  );
}

	.op-textcon{
		max-width: 700px;
		padding: 0;
	}
	.footer-section{
	padding: 60px 0px 22px; 
	}

/* Legal navigation shares the site's comfortable touch target. Keep room for
   the persistent consent control without modifying the consent plugin. */
.elementor-location-footer .footer-bottom .op-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element.footer-bottom {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.op-default-section{
		padding: 48px 10px; 
	}
	.op-slimtop-section{
		padding: 0px 10px 48px; 
	}
	.op-slimbottom-section{
			padding: 48px 10px 0px; 
	}

  .op-hero {
    background-color: #ffffff;
    background-image: linear-gradient(
      270deg, /* wieder komplett waagerecht */
      rgba(243, 244, 246, 0.18) 0%,
      #ffffff 45%
    );
  }
	
	.op-textcon{
		max-width: 100%;
	}
	.footer-section{
		padding: 48px 0px 22px; 
	}
}
@media (max-width: 767px) {
	.op-default-section:not(.op-hero):not(.op-hero-dark):not(.op-hero-light){
		padding: 28px 0px; 
	}
	.op-default-section.op-hero, .op-default-section.op-hero-dark, .op-default-section.op-hero-light{
		padding: 0px 0px 28px; 
	}
	.op-slimtop-section{
		padding: 0px 0px 28px; 
	}
	.op-slimbottom-section{
			padding: 28px 0px 0px; 
	}
  .op-hero{
    background-image:none;
    background-color:#fff;
  }
	.op-textcon{
		max-width: 100%;
	}
	.footer-section{
		padding: 28px 0px 22px; 
	}
}





	
/* Text links */
.op-link a, .op-link-a{
  color: var(--op-text);
  text-decoration:none;
  border-bottom:1px solid rgba(17,17,17,.18);
}
.op-link a:hover, .op-link-a:hover{
  border-bottom-color: rgba(255,106,29,.65);
}

.op-ul-list ul{
  padding: 0 20px;
  margin: 12px 0 0px;
}
.op-ul-list ul li{
  margin: 10px 0;
}
.op-ul-list ul li::marker{
  font-size: 115%;
  color: var(--op-primary);
  margin-top: 6px;
}

.op-linkslist{
  background:#fff;
  border: 1px solid var(--op-border);
  border-radius: 16px;
  overflow: hidden;
  padding: 0;
}
.op-linkslist .op-linkslist-row{
  padding: 14px 14px;
  border-top: 1px solid var(--op-border);
}
.op-linkslist .op-linkslist-row:first-child{ border-top:0; }
.op-linkslist-row:hover{
  background-color: var(--op-surface-2);
}
.op-linkslist .elementor-icon {
  color: var(--op-text);
  background-color: transparent;
  font-size: 20px;
  font-weight: 400
}
.op-linkslist .elementor-icon-wrapper{
  padding: 0;
  height: 42px;
}
.op-linkslist__label{
  font-weight: 400;
  font-size: 17px;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.op-linkslist__meta{
  margin-top: 10px;
  font-size: 12px;
  color: var(--op-muted);
}

.no-margin-block-end p{
	margin-block-end: 0;
	margin-bottom: 0;
}

/* Native Elementor forms: readable labels, familiar controls, no JS framework. */
.elementor .op-card .elementor-element.op-form.op-info {
  /* A card already supplies the surface. Avoid a second box and four gutters. */
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.op-form .op-link-a {
  border-bottom: 0;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.op-form .op-link-a[href^="tel:"] {
  display: inline-block;
  inline-size: max-content;
  max-inline-size: 100%;
}
.elementor .elementor-element.op-form .elementor-field-group > .elementor-field-label {
  color: var(--op-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  padding-bottom: 6px;
}
.elementor .elementor-element.op-form .elementor-field-textual {
  min-height: 48px;
  font-size: 16px;
  line-height: 1.5;
}
.elementor .elementor-element.op-form input:is([type="email"], [type="tel"]) {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: start;
}
.elementor .elementor-element.op-form textarea.elementor-field-textual {
  min-height: 160px;
  resize: vertical;
}
.op-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.elementor .elementor-element.op-form .elementor-field-type-acceptance input[type="checkbox"] {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  /* Elementor's general input padding must not resize a native checkbox. */
  padding: 0;
  border: 0;
  border-radius: 0;
  margin: 3px 0 0;
  accent-color: var(--op-ink);
}
.op-form .elementor-field-type-acceptance label {
  color: var(--op-text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  min-height: 44px;
  margin-bottom: 0;
}
.op-form .elementor-field-type-acceptance .elementor-field-label{
	display: none;
}
.op-form .elementor-field-type-acceptance label a{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.elementor .elementor-element.op-form .elementor-form .elementor-field-type-html {
  font-size: 14px;
  line-height: 1.6;
}
.elementor .elementor-element.op-form .elementor-form .elementor-button[type="submit"] {
  min-height: 48px;
  color: var(--op-ink);
  background-color: var(--op-primary);
}
.elementor .elementor-element.op-form .elementor-form .elementor-button[type="submit"]:is(:hover, :focus) {
  color: var(--op-ink);
  background-color: var(--op-primary-dark);
}
.elementor .elementor-element.op-form .elementor-form .elementor-button[type="submit"] svg * {
  fill: currentColor;
}
.op-form .elementor-message {
  padding: 14px 16px;
  border: 1px solid currentColor;
  border-radius: var(--op-radius-md);
  line-height: 1.6;
  scroll-margin-top: var(--op-header-offset, 110px);
}
.op-form .elementor-message.elementor-message-success { color: #206042; }
.op-form .elementor-message.elementor-message-danger,
.op-form .elementor-help-inline { color: #9e2424; }
.op-form .elementor-field-textual[aria-invalid="true"] {
  border-color: #9e2424;
}

.op-biglink a{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color: var(--op-text);
  font-weight: 650;
  border-bottom: 1px solid rgba(17,17,17,.18);
  padding-bottom: 9px;
  transition: color .12s ease, border-color .12s ease;
}
.op-biglink a:hover{
  color: var(--op-text);
  border-bottom-color: rgba(255,106,29,.65);
}

.op-eyebrow{
font-size: 13px;
letter-spacing: .16em;
text-transform: uppercase;
color: rgba(17,17,17,.55);
color: var(--op-original-gray);
margin-bottom: 10px;
line-height: 1.3;
}
.eyeborder{
	padding-bottom: 8px;
	border-bottom: 1px solid var(--op-border);
}
.op-single-eyebrow{
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--op-muted);
    margin: 6px 0 14px;
    line-height: 1.4;
	
  }

.op-breadcrumbs,
.rank-math-breadcrumb{
  font-size: 13px;
  line-height: 1.45;
  color: var(--op-muted);
  margin: 0 0 6px;
  letter-spacing: 0;
  text-transform: none;
}

.rank-math-breadcrumb a{
  color: inherit;
  text-decoration: none;
}

.rank-math-breadcrumb a:hover,
.rank-math-breadcrumb a:focus{
  text-decoration: underline;
}

.rank-math-breadcrumb .separator{
  opacity: .55;
  margin: 0 .35em;
}

.rank-math-breadcrumb p{
  margin: 0;
}

@media (max-width:767px){ .op-eyebrow{ font-size: 13px; } }
/* Cards */
.op-card{
  border-radius:var(--op-radius-lg);
  background:var(--op-surface);
  box-shadow:var(--op-shadow);
  padding:var(--op-card-space-block) var(--op-card-space-inline);
  overflow: hidden;
}
.op-card:not(.op-plusborder){
  border:1px solid var(--op-border);
}
.op-card.op-plusborder{
  border:1px solid rgba(255,106,29,.22);	
}

/* CMP remains the only consent owner. Presentation must not clip any choice. */
.cc-window.cc-floating {
  box-sizing: border-box;
  width: 420px;
  left: auto;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  border: 1px solid var(--op-border);
  border-radius: var(--op-radius-lg);
  padding: 20px;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - max(12px, env(safe-area-inset-top, 0px)) - max(12px, env(safe-area-inset-bottom, 0px)));
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: var(--op-shadow-hover);
  text-align: start;
  /* Elementor's sticky header uses the same top layer; CMP is appended last. */
  z-index: 2147483647;
}
html:lang(ar) :is(.cc-window, .cc-revoke) {
  font-family: "Pauly Arabic", "Work Sans", sans-serif;
  letter-spacing: normal;
}
html[dir="rtl"] .cc-window.cc-floating {
  right: auto;
  left: max(12px, env(safe-area-inset-left, 0px));
}
.cc-window .cc-compliance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.cc-window a.cc-link[href] {
  opacity: 1;
}
.cc-window .cc-compliance .cc-btn {
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px 8px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
  border-radius: 10px;
}
.cc-window .cc-switch-element {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-block: 12px;
}
.cc-window .cc-switch {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 8px;
}
.cc-window .cc-switch .cc-slider {
  inset: 10px 0;
  border-radius: 12px;
  background: #767b83;
}
.cc-window .cc-switch .cc-slider::before {
  width: 18px;
  height: 18px;
  left: 3px;
  bottom: 3px;
  border-radius: 50%;
}
.cc-window .cc-switch input:checked + .cc-slider::before {
  transform: translateX(20px);
}
.cc-window .cc-switch input:checked + .cc-slider {
  background: var(--op-ink);
}
html[dir="rtl"] .cc-window .cc-switch .cc-slider::before {
  left: auto;
  right: 3px;
}
html[dir="rtl"] .cc-window .cc-switch input:checked + .cc-slider::before {
  transform: translateX(-20px);
}
.cc-window .cc-switch-label { min-width: 0; margin: 0; line-height: 1.45; }
.cc-window .cc-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
/* Keep the CMP's own visibility, label and click handler. The icon is only a
   compact presentation of its persistent settings button, never a new chooser. */
.cc-revoke[role="button"][aria-label] {
  left: auto;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  min-width: 48px;
  min-height: 48px;
  padding: 12px;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--op-border);
  border-radius: 16px;
  color: var(--op-ink);
  background: var(--op-surface);
  box-shadow: var(--op-shadow);
  line-height: 1.5;
  text-decoration: none;
  overflow: visible;
  z-index: 2147483647;
}
html[dir="rtl"] .cc-revoke[role="button"][aria-label] {
  right: auto;
  left: max(12px, env(safe-area-inset-left, 0px));
}
/* A labelled text button remains the fallback in browsers without CSS masks. */
@supports (mask-image: url("")) or (-webkit-mask-image: url("")) {
  .cc-revoke[role="button"][aria-label] {
    width: 48px;
    height: 48px;
    font-size: 0;
  }
  .cc-revoke[role="button"][aria-label]::before {
    content: "";
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M3 6h3m4 0h11M3 12h11m4 0h3M3 18h5m4 0h9'/%3E%3Ccircle cx='8' cy='6' r='2'/%3E%3Ccircle cx='16' cy='12' r='2'/%3E%3Ccircle cx='10' cy='18' r='2'/%3E%3C/g%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'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M3 6h3m4 0h11M3 12h11m4 0h3M3 18h5m4 0h9'/%3E%3Ccircle cx='8' cy='6' r='2'/%3E%3Ccircle cx='16' cy='12' r='2'/%3E%3Ccircle cx='10' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  }
}
.cc-window :is(.cc-btn, .cc-switch, .cc-link):focus-visible,
.cc-revoke[role="button"][aria-label]:focus-visible {
  outline: 2px solid var(--op-ink);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .cc-window, .cc-revoke, .cc-window .cc-slider,
  .cc-window .cc-slider::before {
    transition-duration: 0.01ms !important;
  }
}
@media (forced-colors: active) {
  .cc-revoke[role="button"][aria-label] {
    width: auto;
    height: auto;
    font-size: 16px;
    color: ButtonText;
    background: ButtonFace;
    border-color: ButtonText;
  }
  .cc-revoke[role="button"][aria-label]::before {
    display: none;
  }
}
@media (max-width: 767px) {
  .cc-window.cc-floating, html[dir="rtl"] .cc-window.cc-floating {
    width: auto;
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
  }
  .cc-window .cc-compliance { grid-template-columns: minmax(0, 1fr); }
}
	

.op-linkcard, .op-iconcard, .op-article article{
  border-radius: var(--op-radius-lg);

  text-decoration:none;
  color: var(--op-text);
  box-shadow: 0 4px 12px rgba(0,0,0,.02);
  transition: transform .12s ease, box-shadow .12s ease,
    border-color .12s ease, background-color .12s ease;

  display:flex;
  flex-direction: column;
  justify-content: space-between;
}
.op-linkcard:not(.op-plusborder), .op-iconcard:not(.op-plusborder), .op-article article:not(.op-plusborder){
  border: 1px solid var(--op-border);
}
.op-linkcard.op-plusborder, .op-iconcard.op-plusborder, .op-article article.op-plusborder{
  border:1px solid rgba(255,106,29,.22);	
}
.op-linkcard,
.op-linkcard.extra-padding{
  background: var(--op-surface);
  padding:var(--op-card-space-block) var(--op-card-space-inline);
}
.op-iconcard{
  min-height: 56px;
  background: var(--op-surface-2);
  padding: 20px 16px 19px 8px;	
}
.op-iconcard.narrowheight{
  padding: 13px 16px 13px 8px;
}
.op-article article{
  background: var(--op-surface);
  padding: 16px 16px 14px;
}
.op-linkcard__label, .op-iconcard__label{
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.op-linkcard__meta, .op-iconcard__meta{
  margin-top: 12px;
  font-size: 13px;
  color: var(--op-muted);
}

.op-article article .elementor-post__text{
  padding: 4px 16px 18px;
}

.op-article article .elementor-post__title{
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.15;
  font-size: 18px;
  margin-bottom: 8px;
  overflow-wrap: anywhere;
}
.op-article article .elementor-post__excerpt{
  color: var(--op-text);
  line-height: 1.65;
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.op-article article .elementor-post__excerpt p { color: inherit; }
.op-article article .post-categories{
  font-size: 13px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--op-muted);
  margin-bottom: 8px;
}

/* Elementor Posts: Thumbnail darf beim Hover NICHT aufhellen (scoped) */
.op-article article.elementor-post:hover .elementor-post__thumbnail__link,
.op-article article.elementor-post:hover .elementor-post__thumbnail,
.op-article article.elementor-post:hover .elementor-post__thumbnail img{
  opacity: 1 !important;
  filter: none !important;
  background: transparent !important;
}

/* mögliche Overlay-Layer */
.op-article article.elementor-post .elementor-post__thumbnail__link:before,
.op-article article.elementor-post .elementor-post__thumbnail__link:after,
.op-article article.elementor-post .elementor-post__thumbnail:before,
.op-article article.elementor-post .elementor-post__thumbnail:after{
  opacity: 0 !important;
  background: transparent !important;
}

/* One reading measure for the shared article widget, also visible in Elementor.
   Keep the hero, booking section and other page layouts at their own widths. */
.elementor .elementor-element.elementor-widget.op-single-post {
  inline-size:100%;
  max-inline-size:min(100%, var(--op-reading-width));
  margin-inline:auto;
}
.elementor .op-single-post :is(p, li) {
  line-height:1.65;
}
.op-single-post h2{
  margin-top: 46px;
  margin-bottom: 14px;
}
.op-single-post h3{
  margin-top: 28px;
  margin-bottom: 12px;
}




/* Only whole-card links lift. Static information panels must not suggest an
   unavailable action. Touch clients do not need sticky hover decoration. */
@media (hover: hover) and (pointer: fine) {
.op-linkcard:is(a[href], button):not(.no-hover):hover,
.op-iconcard:is(a[href], button):not(.no-hover):hover,
.op-article article:hover{
  transform: translateY(-2px);
  box-shadow: var(--op-shadow-hover);
  border-color: rgba(255,106,29,.28);
  background-color: var(--op-surface) !important;
}
}
.op-linkcard:is(a[href], button):focus-visible,
.op-iconcard:is(a[href], button):focus-visible,
.op-article article:focus-visible{
  outline: 2px solid var(--op-ink);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px var(--op-surface);
  border-color: rgba(255,106,29,.28);
}
.op-iconcard .elementor-icon, .op-card .elementor-icon, .op-linkcard .elementor-icon {
  background-color: var(--op-surface);
  color: var(--op-primary);
  font-size: 20px;
  border-radius: 16px 16px 16px 16px;
  border: 1px solid var(--op-border);
}
.op-iconcard .elementor-icon-wrapper, .op-card .elementor-icon-wrapper, .op-linkcard .elementor-icon-wrapper{
  padding: 0;
  height: 42px;
}
.op-contentlink{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.op-contentlink a{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration:none;
  transition: transform .20s ease, box-shadow .14s ease, background .20s ease, border-color .20s ease;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.op-contentlink span{
	padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,106,29,.28);
  background: rgba(255,106,29,.08);
  color: rgba(17,17,17,.82);
  font-size: 13px;
}
@media (max-width: 1024px) and (min-width: 768px) {
	.op-contentlink a{
width: auto;
  }
	}
@media (max-width: 768px) {
.op-contentlink a{
width: 100%;
text-align: center;
display: inline-block;
  }
}
.op-badges{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}
.op-badge, .op-badges a{
  font-size: 12px;
  border-radius: 999px;
  padding: 6px 10px;
  display:inline-flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  transition: transform .20s ease, box-shadow .14s ease, background .20s ease, border-color .20s ease;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.op-contentlink a:not(.op-contentlink--strong),
.op-badges a:not(.op-badge--strong){
  border: 1px solid rgba(231,233,238,.9);
  background: rgba(255,255,255,1);
  color: var(--op-text);
}

@media (hover: hover) and (pointer: fine) {
.op-contentlink a:not(.op-contentlink--strong):hover,
.op-badges a:not(.op-badge--strong):hover{
  transform: translateY(-1.85px);
  background: rgba(255,255,255,1);
  /*border-color: rgba(15,23,42,.18);*/
  border: 1px solid rgba(255,106,29,.28);
  box-shadow: 0 8px 23px rgba(0,0,0,.08);
}
}
.op-contentlink--strong i{
margin-right: 3px;
}
.op-contentlink--strong, .op-badge--strong{
  background: rgba(255,106,29,.10);
  border: 1px solid rgba(255,106,29,.28);
  color: var(--op-text);
}
.op-contentlink--strong:hover,
.op-badge--strong:hover{
  transform: translateY(-1.85px);
  background:#FFF;
  border-color: rgba(255,106,29,.32);
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}


.medcard{
	border:1px solid var(--op-border);
  	border-radius:var(--op-radius-lg);
  	background:var(--op-surface);
  	box-shadow:var(--op-shadow);
}

/* Opt-in for native full-width Elementor rows of wrapped doctor cards.
   Use the row's available width, including rows nested inside a half column. */
.elementor .elementor-element.op-docgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  align-items: start;
  min-width: 0;
}
.elementor .elementor-element.op-docgrid > .e-con {
  width: 100%;
  min-width: 0;
  padding: 0;
}

/* Keep the team portraits readable within the available column width.
   Wrapping column containers can under-size aspect-ratio cards in WebKit. */
.elementor .elementor-element.elementor-element-569bd69 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  align-items: start;
}
.elementor .elementor-element.elementor-element-569bd69 > .e-con {
  width: 100%;
  flex-wrap: nowrap;
  padding: 0;
}
.elementor .elementor-element.elementor-element-569bd69 .medcard .elementor-cta__content {
  padding: var(--op-card-space-block) var(--op-card-space-inline);
}

.medcard .elementor-cta__bg-wrapper{
	min-height: 285px;
	position: relative;
  	width: 100%;
	overflow: hidden;
}

.medcard .elementor-cta__bg{
background-position: 50%;
  background-size: cover;
  z-index: 1;
}
.medcard .elementor-cta__content {
  min-height: 160px;
  text-align: start;
  padding:var(--op-card-space-block) var(--op-card-space-inline);
  background-color: var(--op-surface);
}
/* Translated Elementor copies can retain an explicit LTR end alignment. */
html:lang(ar) .elementor .elementor-element.medcard .elementor-cta__content {
  text-align: start;
}


.medcard .elementor-cta__description{
  margin-top: 6px;
  color: var(--op-muted);
  font-size: 16px;
  line-height: 1.6;
}
.medcard .elementor-cta__button, .op-linkcard .op-linkcard-button span,
.op-iconcard .op-iconcard-button span{
  font-size: 14px;
  color: #111;
  text-decoration: none;
  border-top: none;
  border-left: none;
  border-right: none; 
  border-radius: 0;
  border-bottom: 1px solid rgba(17,17,17,.18);
  font-weight: 400;
  padding: 0 0 4px 0;
}
/* Card actions are text links, regardless of the Elementor kit's load order. */
.elementor .elementor-element.medcard .elementor-cta__button {
  background: transparent;
}
.op-linkcard .op-linkcard-button{
	display: table;
}
.medcard .elementor-cta__button:hover,
.medcard:hover .elementor-cta__button,
.op-linkcard:not(.no-hover):hover .op-linkcard-button span,
.op-iconcard:not(.no-hover):hover .op-iconcard-button span{
  border-top: none;
  border-left: none;
  border-right: none; 
  border-bottom-color: rgba(255,106,29,.9);
  
}

.op-teaserpill-wrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 18px;
}
.op-teaserpill{
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--op-border);
  color:#333;
  font-size: 13px;
}
.op-info{
  padding: 14px;
  border-radius: var(--op-radius-md);
  background: rgba(246,247,249,.75);
  border: 1px solid rgba(231,233,238,.65);
}

.faqcon{
  padding: 32px 14px 20px;
}
.op-info:not(.op-plusborder){
  border: 1px solid rgba(231,233,238,.65);
}
.op-info.op-plusborder{
  border:1px solid rgba(255,106,29,.22);	
}
.op-info__row{
  padding: 0;
  align-items: start;
}
.op-info__left{
	padding: 0;
	width:20%;
}
.op-info__right{
	padding: 0;
	width:80%;
}
.op-info__label{
  color: #7A8088;
  font-size: 13px;
}
.op-info__value{
  color: var(--op-text);
  line-height: 1.6;
  font-size: 14px;
}
.op-info__value a{
  text-decoration: underline;
}
.op-hours{ display:grid; gap: 6px; }
.op-hours__line{
  display:flex;
  justify-content: space-between;
  gap: 14px;
}
.op-note{
  color: var(--op-muted);
  font-size: 14px;
}

.op-info .op-info__row .elementor-empty-view{
	min-height: 22px !important;
}
@media (max-width: 767px){
  .op-info__row:not(.mobile-wrap){
  flex-wrap: nowrap;
	}
  .op-info__row.mobile-wrap{
  gap: 4px;
	}
.op-info__row.mobile-wrap .op-info__left{
	padding: 0;
	width:100%;
}
.op-info__row.mobile-wrap .op-info__right{
	padding: 0;
	width:100%;
}
}


.op-microtrust{
  font-size:14px;
  line-height:1.6;
  color:var(--op-muted);
  margin-top:18px;
}

/* Native Elementor Grid owns placement. These classes own shared presentation. */
.elementor .op-intro-grid { text-align: start; }
.elementor .op-intro-grid > .e-con-inner > *,
.elementor .op-intro-grid > * { min-inline-size: 0; }
.elementor .op-intro-grid .op-intro-heading .elementor-heading-title { overflow-wrap: anywhere; hyphens: none; }
.elementor .op-intro-grid .op-intro-copy { max-inline-size: 65ch; }
.elementor .op-intro-grid .op-intro-copy p:last-child { margin-block-end: 0; }
.elementor .op-intro-image { inline-size: 100%; }
.elementor .op-intro-image img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: var(--op-portrait-position);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .07);
}
.elementor .op-intro-actions { flex-wrap: wrap; }
.elementor .op-intro-actions .op-biglink { margin-block-start: 0; }
.elementor .op-intro-grid .op-microtrust { margin-block-start: 0; color: var(--op-muted); }
.elementor .op-intro-grid a[href^="tel:"] { direction: ltr; unicode-bidi: isolate; }
:lang(ar) .op-intro-grid .op-eyebrow { letter-spacing: normal; text-transform: none; }
@media (max-width: 767px) {
  .elementor .op-intro-image img { border-radius: 18px; box-shadow: none; }
  .elementor .op-intro-actions .elementor-widget { inline-size: 100%; }
  .elementor .op-intro-actions .cta-doctolib { inline-size: 100%; min-block-size: 56px; margin: 0; }
  .elementor .op-intro-actions .op-biglink a { min-block-size: 52px; }
}

.op-faq-accordeon details{
  box-shadow: 0 14px 34px rgba(0,0,0,.06);
  border: 1px solid var(--op-border);
  border-radius: 16px !important;
  background: #fff;
}

.op-faq-accordeon details>summary{   
  cursor: pointer;
  font-weight: 700;
  color: #111;
}
.op-faq-accordeon details>div{
  background: #fff;
  color: var(--op-muted);
  line-height: 1.7;
  border-bottom-left-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
}
/* ================================
   CTA Grundkörper
================================ */
@media (max-width:1310px){ .header-phone-cta{ display:none !important; } }
.elementor .header-phone-cta { flex-shrink: 0; }
.header-phone-cta a[href^="tel:"] .elementor-icon-list-text {
  white-space: nowrap;
  direction: ltr;
  unicode-bidi: isolate;
}

.cta-doctolib,.cta-primary, .cta-jameda {
display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 9px 18px 8px;
  min-height: 44px;

 

  border-radius: 14px;
  text-decoration: none;

  font-family: inherit;
  line-height: 1.1;

  transition: background-color .16s ease, color .16s ease,
    box-shadow .16s ease, transform .16s ease;
  margin-top: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
.cta-doctolib,.cta-primary {
  padding: 9px 18px 8px;
}
.cta-jameda {
  padding: 9px 18px 8px;
}
.cta-doctolib,.cta-primary, .cta-jameda {
  background-color: #ee7402;
  background: #ee7402;
  color: #111;
}
.cta-jameda {
  /* White text/logo: the former #00c3a5 only reached 2.25:1. */
  background-color: #006b5c;
  background: #006b5c;
  color: #FFF;
}
/* Titel */
.cta-doctolib .cta-title, .cta-primary .cta-title, .cta-jameda .cta-title{
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.2px;
}
.cta-jameda .cta-title{
 color:#FFF;	
}
/* Subline */
.cta-doctolib .cta-sub, .cta-primary .cta-sub{
  margin-top: 2px;
  display: flex;
  align-items: center;
}
.cta-doctolib .cta-sub, .cta-primary .cta-sub{
  opacity: 0.7;
}
.cta-jameda .cta-sub{
  opacity: 1;
}
.cta-doctolib-logo-wrap, .cta-jameda-logo-wrap {
  height: 14px;              /* EINZIGE relevante Größe */
  max-width: 90px;           /* verhindert Ausufern */
  display: flex;
  align-items: center;
}
.cta-jameda-logo-wrap {
 margin-top: 2px;
}
/* SVG zwingen, sich zu fügen */
.cta-doctolib-logo-wrap img, .cta-jameda-logo-wrap img {
  height: 100%; 
  width: auto;
  max-width: 100%;
  display: block;
  object-fit: contain;
  border-radius: 0 !important;
}

/* Hover – ruhig, hochwertig */
@media (hover: hover) and (pointer: fine) {
.cta-doctolib:hover, .cta-primary:hover, .cta-jameda:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.14);
  color: #111;
  background: #FF6A1D !important;
  opacity: 1 !important;
}
.cta-doctolib:hover span, .cta-primary:hover span {

  color: #111;
}
.cta-jameda:hover span {

  color: #FFF;
}
.cta-jameda:hover {
  background: #00594d !important;
  color: #FFF;
}
}
/* Focus uses the shared two-tone ring below, without moving the target. */
@media (max-width: 767px){
 .op-cta-html, .elementor-widget-html{
	width:100%;
}
 .op-cta-html .cta-doctolib, .elementor-widget-html .cta-doctolib, .elementor-widget-html .cta-primary, .elementor-widget-html .cta-jameda{
	 border: none;
	width: 100%;
  min-height: 62px;
  padding: 14px 16px;
  border-radius: 16px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.01em;
  -webkit-tap-highlight-color: transparent;
}
	.elementor-widget-html .cta-jameda{

  padding: 14px 16px 14px;

}
.op-biglink{
	width:100%;
}

.op-biglink a{
	 border: none;
	width: 100%;
  min-height: 62px;
  padding: 14px 16px;
  border-radius: 16px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,246,247,0.95);
    background-image: none;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
  color: rgba(0,0,0,.8);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.01em;
  -webkit-tap-highlight-color: transparent;
}
	
	.op-linkcard .e-con-full.e-flex.e-con.e-child{
		padding:0;
	}
}

/* Timeline */
.op-timeline{
  list-style:none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--op-border);
  border-radius: 22px;
  overflow:hidden;
  background: #fff;
}
.op-timeline__item{
  display:grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 16px;
  border-top: 1px solid var(--op-border);
}
@media (max-width: 768px){
.op-timeline__item{
  grid-template-columns: 95px minmax(0, 1fr);
	}
}
@media (max-width: 480px){
  .op-timeline__item{
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
.op-timeline__body{
  min-width: 0;
  overflow-wrap: anywhere;
}
.op-timeline__item:first-child{ border-top: 0; }
.op-timeline__year{
  font-weight: 800;
  color: rgba(17,17,17,.82);
}
.op-timeline__title{
  font-weight: 750;
  letter-spacing: -0.01em;
}
.op-timeline__text{
  margin-top: 4px;
  color: rgba(17,17,17,.72);
  line-height: 1.65;
  font-size: 14px;
}
.op-timeline-note{
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid var(--op-border);
  background: rgba(255,255,255,.92);
  padding: 14px 16px;
  color: rgba(17,17,17,.78);
  line-height: 1.6;
}
.op-ctaBanner {
  margin-top: 10px;
  background: linear-gradient(180deg, rgba(255,106,29,.10), rgba(255,106,29,.04));
  border: 1px solid rgba(255,106,29,.18);
  border-radius: 22px;
  padding: 18px;
}
.op-ctaBand__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
/* Keep contact columns from collapsing when Elementor gives both full width. */
.elementor .elementor-element.op-ctaBand__inner {
  flex-wrap: wrap;
}
@media (max-width: 1024px) {
  .elementor .elementor-element.op-card:has(> .op-info:not(.op-form)) {
    flex-wrap: wrap;
  }
}

/* Older contact layouts nest percentage-width cards inside another column.
   Give these cards a full row on smaller screens so opening hours stay readable. */
@media (max-width: 1150px) {
  .elementor .op-slimtop-section .e-con-inner:has(> .e-con > .op-card .table-hours) {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .elementor .op-slimtop-section .e-con-inner:has(> .e-con > .op-card .table-hours) > .e-con,
  .elementor .op-slimtop-section .e-con:has(> .op-card .table-hours) > .op-card {
    --width: 100%;
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
  }
}



:root{
  --table-ink:#111;
  --table-muted2:#5b6068;

  --table-line:#E7E9EE;
  --table-soft:rgba(0,0,0,.02);

  --table-accent:#FF6A1D;
  --table-focus:rgba(255,106,29,.22);

  --table-row-min:48px;
  --table-pad-x:14px;
  --table-pad-y:10px;

  --table-card-radius:18px;
  --table-card-shadow:0 10px 24px rgba(0,0,0,.05);
  --table-row-hover:rgba(255,106,29,.045);
}

.table-card{
  background:#fff;
  border:1px solid var(--table-line);
  border-radius:var(--table-card-radius);
  box-shadow:var(--table-card-shadow);
  padding:18px;
}

.table-rows{
  display:block;
}

.table-row{
  position:relative;
  display:grid;
  grid-template-columns: 123px 1fr auto;
  gap:12px;

  min-height:var(--table-row-min);
  padding:var(--table-pad-y) var(--table-pad-x);

  border-top:1px solid rgba(231,233,238,.70);
  color:var(--table-ink);
  background:transparent;

  align-items:start;
}
.footer-special-table .table-row{
	grid-template-columns: 20px 1fr auto;
}
.footer-special-table .special-table-row{
	grid-template-columns: 1fr !important;
}


.table-special-row{
	grid-template-columns: 1fr;
	padding:0px 0px;
}
.table-row--first{ border-top:0; }

.table-label{
  color:var(--op-muted);
  font-size:13px;
  line-height:1.25;
  padding-top:2px;
  user-select:none;
}

.table-value{
  color:#1b1f26;
  font-size:14px;
  line-height:1.55;
  min-width:0;
  word-break:break-word;
}

.table-icon{
  display:flex;
  align-items:flex-start;
  padding-top:2px;
  opacity:.45;
  transition:opacity .12s ease, transform .12s ease;
}

.table-row--link{
  text-decoration:none;
  cursor:pointer;
  transition:background-color .12s ease;
  -webkit-tap-highlight-color:transparent;
}

.table-row--link:hover{
  background:var(--table-row-hover);
}

.table-row--link:hover .table-icon{
  opacity:.78;
  transform:translateY(-1px);
}

.table-row--link:focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px var(--table-focus);
  background:var(--table-row-hover);
}

.table-row--link:focus-visible .table-icon{
  opacity:.90;
}

/* dezente Accent-Line links nur bei Link-Zeilen */
.table-row--link::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  bottom:-1px;
  width:2px;
  background:transparent;
  transition:background-color .12s ease;
}

.table-row--link:hover::before,
.table-row--link:focus-visible::before{
  background:rgba(255,106,29,.65);
}

.table-inline-link{
  color:#1b1f26;
  text-decoration:none;
  border-bottom:1px solid rgba(17,17,17,.18);
  padding-bottom:1px;
}
.table-inline-link:hover{
  border-bottom-color:rgba(255,106,29,.9);
}

/* Hours */
.table-hours{
  margin:0;
  display:grid;
  gap:0px;
}

.table-hours__row{
  display:grid;
  grid-template-columns:minmax(max-content, 7rem) minmax(0, 1fr);
  gap:8px;

  padding:12px 10px 10px;
  border-bottom: 1px solid RGBA(231, 233, 238, 0.87);
  background:rgba(0,0,0,.012);
  background: #FFFFFF;
  max-width: 360px;
}
.footer-sprechzeiten .table-hours__row{
	background:transparent;
}
.no-border-bottom{
	border-bottom: none;
}
.table-hours dt{
  margin:0;
  font-weight:600;
  color:#2a2f36;
  line-height:1.25;
  white-space:nowrap;
  hyphens:none;
}
.table-hours dd{
  margin:0;
  min-inline-size:0;
  color:var(--table-muted2);
  line-height:1.45;
}
@media (min-width: 769px){
footer .table-icon.pauly-arrow-up-right{
	display: none;
	
}
}
@media (max-width: 768px){
  :root{ --table-row-min: 52px; }

  .table-row{
    grid-template-columns: 1fr;
    gap:6px;
    padding:12px 12px;
  }

  .table-icon{
    position:absolute;
    right:12px;
    top:12px;
    padding-top:0;
    align-items:center;
  }

  .table-row:not(.table-special-row) .table-value{
    padding-right:34px; /* Platz fürs Icon */
  }
 .table-value{
    padding-right:0; /* Platz fürs Icon */
  }
  .table-hours__row{
    gap:4px;
	max-width: 100%;
	padding:12px 6px 10px;
  }
	.table-special-row{
padding:0px 0px;
	}

  .table-hours dt{ font-weight:600; }
}
.table-hours dd{ font-size:14px; }

/* Share the longest weekday's width across rows in every language. Older
   browsers keep the independent two-column grid above. */
@supports (grid-template-columns: subgrid) {
  .table-hours {
    grid-template-columns:max-content minmax(0, 1fr);
    column-gap:8px;
    max-inline-size:360px;
  }
  .table-hours__row {
    grid-column:1 / -1;
    grid-template-columns:subgrid;
    max-width:none;
  }
  @media (max-width:768px) {
    .table-hours {
      column-gap:4px;
      max-inline-size:none;
    }
  }
}

@media (prefers-reduced-motion: reduce){
  .table-row--link,
  .table-icon,
  .table-row--link::before{
    transition:none;
  }
}

/* Portraits only: medcard is also used for non-portrait content. A custom
   property allows an intentional exception without copying selector rules. */
.elementor .elementor-element.op-portrait {
  background-position: var(--op-portrait-position);
}
.elementor .op-portrait-card .elementor-cta__bg {
  background-position: var(--op-portrait-position);
}
.elementor .op-portrait-image img {
  object-position: var(--op-portrait-position);
}

/* Strong keyboard focus without changing normal pointer/cookie styling. */
body[class*="elementor-kit-"] :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--op-ink);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px var(--op-surface);
  scroll-margin-top: 110px;
}
.elementor :is(h1, h2, h3, [id]) {
  scroll-margin-top: 110px;
}
/* Long German medical terms must not create horizontal scrolling on small
   phones. Language-aware hyphenation, with a fallback for client dictionaries. */
.elementor .op-single-post :is(p, li),
.elementor .elementor-widget-text-editor,
.elementor .e-n-accordion-item-title-text,
.elementor .elementor-heading-title,
.site-main .entry-title {
  hyphens: auto;
  overflow-wrap: anywhere;
}
.elementor :is(h1, h2, h3) {
  hyphens: auto;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
/* Keep long reference URLs readable inside narrow privacy text columns. */
.privacy-policy main .elementor-widget-html :is(p, li) a[href] {
  overflow-wrap: anywhere;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  .op-linkcard:hover, .op-iconcard:hover, .op-article article:hover,
  .op-contentlink a:hover, .op-badges a:hover,
  .cta-doctolib:hover, .cta-primary:hover, .cta-jameda:hover {
    /* Override the more specific actionable-hover selector above. */
    transform: none !important;
  }
  .elementor *, .elementor *::before, .elementor *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
