/* VetDuo Elementor-Widgets: structure only. Sizes, colours and fonts come from the widget
   controls (their CSS has higher specificity than the rules here). */

/* Ecken-Icon + Öffnungsstatus: a tile in a corner of the picture, with a ring in the section colour.
   Sizes: --icon-size, --icon-offset, --vd-gap, --radius-notch-inner / --badge-* (controls). */
.elementor-element.vd-notch{
  position:absolute;
  box-sizing:border-box;
  border:var(--vd-gap) solid var(--section-bg,#fff);
  border-radius:calc(var(--vd-gap) + var(--radius-notch-inner));
  background-clip:padding-box;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
  transition:background-color .25s ease,border-color .2s ease;
}
.vd-notch .elementor-icon-wrapper{width:48%;height:48%;display:flex}
.vd-notch .elementor-icon{display:block;width:100%;height:100%;font-size:inherit;color:inherit}
.vd-notch .elementor-icon svg{width:100%;height:100%}
.vd-notch .elementor-icon i{font-size:calc(var(--icon-size) * .48)}
.vd-notch--tl{top:calc(var(--icon-offset) - var(--vd-gap));left:calc(var(--icon-offset) - var(--vd-gap))}
.vd-notch--tr{top:calc(var(--icon-offset) - var(--vd-gap));right:calc(var(--icon-offset) - var(--vd-gap))}
.vd-notch--bl{bottom:calc(var(--icon-offset) - var(--vd-gap));left:calc(var(--icon-offset) - var(--vd-gap))}
.vd-notch--br{bottom:calc(var(--icon-offset) - var(--vd-gap));right:calc(var(--icon-offset) - var(--vd-gap))}
.vd-notch:is(.vd-notch--tl,.vd-notch--tr,.vd-notch--bl,.vd-notch--br){width:calc(var(--icon-size) + var(--vd-gap) * 2);height:calc(var(--icon-size) + var(--vd-gap) * 2)}
.vd-notch--badge{
  top:calc(var(--badge-top) - var(--vd-gap));
  right:calc(var(--badge-right) - var(--vd-gap));
  width:calc(var(--badge-w) + var(--vd-gap) * 2);
  height:calc(var(--badge-h) + var(--vd-gap) * 2);
  text-align:center;
  padding:8px 10px;
}

/* Öffnungszeiten */
.hours,.footer-hours{display:grid;grid-template-columns:auto 1fr}
.hours dd,.footer-hours dd{margin:0}
.hours__range{white-space:nowrap}
@media (max-width:600px){.hours .hours__range{display:block}.hours .hours__sep{display:none}}

/* FAQ-Liste */
.faq{display:grid}
.faq__item{border-top:1px solid #E4E5E4}
.faq__item:last-child{border-bottom:1px solid #E4E5E4}
.faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:"+";flex:0 0 auto;font-size:28px;line-height:1;font-weight:300}
.faq__item[open] .faq__q::after{content:"\2212"}
.faq__a{max-width:72ch;display:grid}
.faq__a > p,.faq__a > ul{margin:0}
.faq__a > ul{padding-left:1.2em;display:grid;gap:8px}
.faq__a strong{font-weight:700}
.faq__a a:not(.faq__link):not(.card__link){text-decoration:underline;text-underline-offset:3px}

/* Leistungsliste */
ul.svc-list{list-style:none;margin:0;padding:0;display:grid}
.svc-list li{display:flex;gap:12px;align-items:flex-start}
.svc-list li::before{content:"";flex:0 0 auto;width:var(--check-size,22px);height:var(--check-size,22px);margin-top:3px;-webkit-mask:var(--vd-check) center/contain no-repeat;mask:var(--vd-check) center/contain no-repeat}
.svc-list{--vd-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.svc-list__label,.svc-list__note{display:block}

/* Überschrift mit Icon */
.vd-ih{display:flex;align-items:center;margin:0}
.vd-ih__icon{display:flex;flex:0 0 auto}
.vd-ih__icon svg{width:100%;height:100%}
.vd-ih__icon svg.e-font-icon-svg{fill:currentColor}
.vd-ih__icon i{font-size:inherit;line-height:1}

/* Ganze Box verlinken */
.e-con.vd-box-link{cursor:pointer}

/* Sprung-Chips */
.vd-chips{display:flex;flex-wrap:wrap}
.vd-chip{display:inline-flex;align-items:center;border-style:solid;text-decoration:none;transition:background-color 120ms cubic-bezier(.2,.7,.2,1)}
.vd-chip:hover{text-decoration:none}
.vd-chip__icon{display:flex;flex:0 0 auto}
.vd-chip__icon svg{width:100%;height:100%}
.vd-chip__icon svg.e-font-icon-svg{fill:currentColor}
