/*
 * Belle Esthétique – Modern 0.6.6
 * Joomla 5.4.8 / Gantry 5.6.3 / Helium 5.6.3
 * Global design foundation + modernised Gantry Home Outline 13.
 */
:root {
  --be-rose:#c39eab;
  --be-rose-dark:#8c5b6b;
  --be-rose-deep:#784958;
  --be-rose-soft:#f8f1f3;
  --be-rose-faint:#fcf8f9;
  --be-cream:#fffdfd;
  --be-ink:#252b2b;
  --be-text:#343a3a;
  --be-muted:#5c6464;
  --be-border:rgba(195,158,171,.24);
  --be-shadow:0 20px 55px rgba(39,46,46,.10);
  --be-shadow-soft:0 10px 30px rgba(39,46,46,.07);
  --be-radius:22px;
  --be-radius-sm:14px;
  --be-speed:260ms cubic-bezier(.2,.7,.2,1);
}
html { scroll-behavior:smooth; }
body {
  color:var(--be-text);
  background:#faf7f8;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Navigation */
#g-navigation {
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid rgba(195,158,171,.14);
  box-shadow:0 7px 28px rgba(39,46,46,.07) !important;
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  transition:box-shadow var(--be-speed),background var(--be-speed);
}
#g-navigation .g-container { width:min(94%,1280px); }
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container { position:relative; }
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container::after {
  content:""; position:absolute; left:50%; right:50%; bottom:.35rem; height:1px;
  background:var(--be-rose); transition:left var(--be-speed),right var(--be-speed);
}
#g-navigation .g-main-nav .g-toplevel > li:hover > .g-menu-item-container::after,
#g-navigation .g-main-nav .g-toplevel > li.active > .g-menu-item-container::after { left:18%; right:18%; }

/* Standard pages */
#g-main {
  background:
    radial-gradient(circle at 8% 4%,rgba(195,158,171,.11),transparent 28rem),
    linear-gradient(180deg,#fcf9fa 0%,#faf7f8 100%) !important;
  padding:clamp(1.7rem,3vw,3.2rem) 0 clamp(2.5rem,5vw,5rem);
}
#g-main > .g-container,#g-main .g-container { width:min(94%,1280px) !important; }
#g-main .g-mainbar > .g-content {
  background:#fff;
  border:1px solid rgba(195,158,171,.17);
  border-radius:24px;
  box-shadow:var(--be-shadow);
  padding:clamp(1.4rem,2.6vw,2.8rem) !important;
}
#g-main .g-mainbar .platform-content + .platform-content { margin-top:1.5rem; }
#g-sidebar .g-content,#g-aside .g-content,#g-main .g-sidebar .g-content,#g-main .g-aside .g-content {
  background:linear-gradient(145deg,#fff,var(--be-rose-faint));
  border:1px solid var(--be-border);
  border-radius:18px;
  box-shadow:var(--be-shadow-soft);
  padding:1.25rem !important;
  margin-bottom:1.2rem;
  transition:transform var(--be-speed),box-shadow var(--be-speed);
}
#g-sidebar .g-content:hover,#g-aside .g-content:hover { transform:translateY(-2px); box-shadow:var(--be-shadow); }

/* Typography */
h1,h2,h3,h4,h5 { color:var(--be-rose-dark); font-weight:300; letter-spacing:.015em; }
#g-main h1 { font-size:clamp(2rem,2.5vw,3rem); margin-bottom:1.45rem; }
#g-main h2 { font-size:clamp(1.45rem,1.65vw,2.05rem); margin-top:2.15rem; margin-bottom:1rem; }
#g-main h2::after,#g-main .moduletable > h3::after {
  content:""; display:block; width:3.25rem; height:2px; margin-top:.7rem;
  border-radius:999px; background:linear-gradient(90deg,var(--be-rose),rgba(195,158,171,.12));
}
#g-main p { margin-bottom:1.05rem; }
#g-main strong { color:var(--be-ink); }
#g-main li::marker { color:var(--be-rose); }

/* Buttons */
.be-button,#g-main .button,#g-main .btn,#g-main a[class*="button"],#g-main .readmore a,
.g-home-particles .button {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px;
  padding:.8rem 1.6rem; border-radius:999px; border:1px solid var(--be-rose-dark);
  background:var(--be-rose-dark); color:#fff !important; text-decoration:none !important;
  font-size:.78rem; font-weight:600; letter-spacing:.065em; text-transform:uppercase;
  box-shadow:0 9px 22px rgba(195,158,171,.18);
  transition:transform var(--be-speed),box-shadow var(--be-speed),background var(--be-speed),color var(--be-speed);
}
.be-button:hover,#g-main .button:hover,#g-main .btn:hover,#g-main a[class*="button"]:hover,#g-main .readmore a:hover,
.g-home-particles .button:hover {
  transform:translateY(-2px); background:var(--be-rose-deep); border-color:var(--be-rose-deep);
  box-shadow:0 14px 30px rgba(163,114,129,.23);
}
.be-button--ghost {
  background:transparent !important; color:var(--be-rose-dark) !important;
  box-shadow:none !important;
}
.be-button--ghost:hover { color:#fff !important; background:var(--be-rose-dark) !important; }
.be-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.4rem; }

/* Images / content surfaces */
#g-main img { max-width:100%; height:auto; }
#g-main .item-page img,#g-main article img {
  border-radius:var(--be-radius-sm);
  transition:transform 420ms cubic-bezier(.2,.7,.2,1),box-shadow 420ms cubic-bezier(.2,.7,.2,1);
}
#g-main .item-page img:not([src*="logo"]):hover,#g-main article img:not([src*="logo"]):hover { transform:translateY(-2px); box-shadow:var(--be-shadow-soft); }
.be-team-card,.be-laser-intro,.be-note,.be-surface,blockquote,details {
  border:1px solid var(--be-border) !important;
  border-radius:var(--be-radius) !important;
  background:linear-gradient(135deg,var(--be-rose-faint),#fff) !important;
  box-shadow:var(--be-shadow-soft);
}
.be-team-card,.be-laser-intro { padding:clamp(1rem,2vw,1.4rem); }
.be-note,.be-surface,blockquote,details { padding:1rem 1.15rem; }

/* Tables and forms */
#g-main table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; background:#fff; border:1px solid var(--be-border); border-radius:14px; box-shadow:var(--be-shadow-soft); }
#g-main table th,#g-main table td { padding:.82rem 1rem; border-bottom:1px solid rgba(39,46,46,.07); }
#g-main table th { background:var(--be-rose-soft); color:var(--be-ink); }
#g-main input[type="text"],#g-main input[type="email"],#g-main input[type="tel"],#g-main input[type="search"],#g-main select,#g-main textarea {
  border:1px solid rgba(39,46,46,.17); border-radius:12px; background:#fff; padding:.72rem .9rem;
  transition:border-color var(--be-speed),box-shadow var(--be-speed);
}
#g-main input:focus,#g-main select:focus,#g-main textarea:focus { outline:none; border-color:var(--be-rose); box-shadow:0 0 0 3px rgba(195,158,171,.13); }

/* HOME: hero */
.g-home-particles #g-header { position:relative; }
.g-home-particles .g-owlcarousel .g-owlcarousel-item-wrapper::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(25,29,29,.20),rgba(25,29,29,.02) 45%,rgba(25,29,29,.12));
}
.g-home-particles .g-owlcarousel .g-owlcarousel-item-content-container { z-index:2; }
.g-home-particles .g-owlcarousel .g-owlcarousel-item-title {
  font-size:clamp(2.4rem,5vw,4.8rem) !important; line-height:1.05 !important;
  letter-spacing:.035em; text-shadow:0 5px 24px rgba(0,0,0,.25) !important;
}
.g-home-particles .g-owlcarousel .g-owlcarousel-item-desc {
  font-size:clamp(.95rem,1.4vw,1.3rem) !important; letter-spacing:.14em; text-transform:uppercase;
}
.g-home-particles .g-owlcarousel .button { margin-top:1.1rem; border-color:rgba(255,255,255,.8); background:rgba(255,255,255,.16); backdrop-filter:blur(8px); }
.g-home-particles .g-owlcarousel .button:hover { background:#fff; color:var(--be-rose-dark) !important; border-color:#fff; }

/* HOME: common sections */
.g-home-particles #g-intro,.g-home-particles #g-features,.g-home-particles #g-utility,.g-home-particles #g-above,.g-home-particles #g-expanded {
  padding:clamp(2.2rem,5vw,5rem) 0;
}
.g-home-particles #g-intro,.g-home-particles #g-features,.g-home-particles #g-utility,.g-home-particles #g-above { background:#faf7f8; }
.g-home-particles #g-intro .g-container,.g-home-particles #g-features .g-container,.g-home-particles #g-utility .g-container,.g-home-particles #g-above .g-container,.g-home-particles #g-expanded .g-container { width:min(92%,1180px); }

/* HOME: intro */
.g-home-particles #g-intro .g-content {
  max-width:980px; margin:0 auto; text-align:center;
  background:#fff; border:1px solid rgba(195,158,171,.16); border-radius:24px;
  box-shadow:var(--be-shadow-soft); padding:clamp(2rem,4vw,3.4rem) !important;
}
.be-home-intro .be-eyebrow,.be-section-head .be-eyebrow,.be-home-laser__content .be-eyebrow,.be-home-values .be-eyebrow,.be-home-claim .be-eyebrow {
  display:block; color:var(--be-rose-dark); font-size:.76rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:.65rem;
}
.be-home-intro h1 { margin:.1rem 0 1rem; color:var(--be-rose-dark); font-weight:300; font-size:clamp(2rem,4vw,3.6rem); line-height:1.12; text-transform:none; }
.be-home-intro .be-lead { max-width:760px; margin:0 auto; color:var(--be-text); font-size:clamp(1rem,1.35vw,1.16rem); }
.be-home-intro .be-actions { justify-content:center; }

/* HOME: service heading and existing service modules */
.be-section-head { text-align:center; max-width:760px; margin:0 auto .8rem; }
.be-section-head h2 { margin:.2rem 0 .75rem; font-size:clamp(1.8rem,3vw,2.8rem); text-transform:none; }
.be-section-head p { color:var(--be-muted); font-size:1.02rem; }
.g-home-particles #g-features .g-grid > .g-block:not(.be-services-head-block) > .g-content {
  height:calc(100% - 1.2rem); margin:.6rem; padding:1rem !important; background:#fff;
  border:1px solid rgba(195,158,171,.16); border-radius:18px; box-shadow:var(--be-shadow-soft);
  transition:transform var(--be-speed),box-shadow var(--be-speed),border-color var(--be-speed);
  overflow:hidden;
}
.g-home-particles #g-features .g-grid > .g-block:not(.be-services-head-block) > .g-content:hover { transform:translateY(-5px); box-shadow:var(--be-shadow); border-color:rgba(195,158,171,.38); }
.g-home-particles #g-features .be-services-head-block > .g-content { background:transparent; border:0; box-shadow:none; padding:.5rem 1rem 1.4rem !important; margin:0; }
.g-home-particles #g-features img { border-radius:12px; width:100%; }

/* HOME: laser */
.be-home-laser {
  display:grid; grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr); gap:clamp(1.5rem,4vw,4rem); align-items:center;
  background:linear-gradient(135deg,#fff 0%,var(--be-rose-faint) 100%);
  border:1px solid var(--be-border); border-radius:28px; padding:clamp(1rem,2.4vw,2rem); box-shadow:var(--be-shadow);
}
.be-home-laser__media { min-height:360px; border-radius:20px; overflow:hidden; background:var(--be-rose-soft); }
.be-home-laser__media img { width:100%; height:100%; min-height:360px; object-fit:cover; object-position:center 35%; display:block; }
.be-home-laser__content { padding:clamp(.4rem,1.6vw,1.2rem); }
.be-home-laser__content h2 { margin:.15rem 0 .9rem; font-size:clamp(2rem,3.8vw,3.2rem); line-height:1.12; text-transform:none; }
.be-home-laser__content .be-lead { font-size:1.08rem; }
.be-home-laser__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1rem; margin:1.25rem 0; padding:0; list-style:none; }
.be-home-laser__list li { position:relative; padding-left:1.35rem; }
.be-home-laser__list li::before { content:"✓"; position:absolute; left:0; color:var(--be-rose-dark); font-weight:700; }

/* HOME: values */
.be-home-values { text-align:center; }
.be-home-values > h2 { margin:.15rem 0 .75rem; font-size:clamp(1.8rem,3vw,2.7rem); text-transform:none; }
.be-home-values__intro { max-width:720px; margin:0 auto 1.5rem; color:var(--be-muted); }
.be-home-values__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.be-value-card { background:#fff; border:1px solid var(--be-border); border-radius:18px; padding:1.55rem; box-shadow:var(--be-shadow-soft); text-align:left; }
.be-value-card__icon { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; margin-bottom:1rem; background:var(--be-rose-soft); color:var(--be-rose-dark); font-size:1.1rem; }
.be-value-card h3 { margin:0 0 .55rem; color:var(--be-ink); font-size:1.12rem; font-weight:600; text-transform:none; }
.be-value-card p { margin:0; color:var(--be-muted); }

/* HOME: brand claim on existing full-width image section */
.g-home-particles #g-testimonials { position:relative; }
.g-home-particles #g-testimonials .g-content { padding:clamp(3rem,7vw,7rem) 1rem !important; }
.be-home-claim { max-width:720px; margin:0 auto; text-align:center; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.75); border-radius:24px; box-shadow:var(--be-shadow); padding:clamp(1.7rem,3vw,2.8rem); backdrop-filter:blur(8px); }
.be-home-claim blockquote { margin:.4rem 0 0; border:0 !important; background:transparent !important; box-shadow:none; padding:0; }
.be-home-claim blockquote p { font-size:clamp(1.7rem,3.4vw,2.8rem); line-height:1.2; color:var(--be-ink); font-weight:300; margin:0 0 .6rem; }
.be-home-claim blockquote footer { color:var(--be-rose-dark); font-size:.86rem; letter-spacing:.09em; text-transform:uppercase; }

/* HOME: FAQ */
.be-home-faq { max-width:1000px; margin:0 auto; }
.be-home-faq__head { text-align:center; margin-bottom:1.4rem; }
.be-home-faq__head h2 { margin:0 0 .5rem; font-size:clamp(1.8rem,3vw,2.6rem); text-transform:none; }
.be-home-faq__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.be-faq-card { background:#fff; border:1px solid var(--be-border); border-radius:18px; padding:1.45rem; box-shadow:var(--be-shadow-soft); }
.be-faq-card h3 { margin:0 0 .65rem; color:var(--be-ink); font-size:1.05rem; font-weight:650; text-transform:none; }
.be-faq-card p { margin:0; }
.be-home-faq .be-actions { justify-content:center; }

/* 0.4.1 – Kontrast & Lesbarkeit */
.g-home-particles #g-intro,
.g-home-particles #g-features,
.g-home-particles #g-utility,
.g-home-particles #g-above,
.g-home-particles #g-expanded {
  color:var(--be-text);
}

/* Brand-Rosé bleibt als Akzent; leserelevante Texte nutzen einen dunkleren Roséton. */
.be-home-intro .be-eyebrow,
.be-section-head .be-eyebrow,
.be-home-laser__content .be-eyebrow,
.be-home-values .be-eyebrow,
.be-home-claim .be-eyebrow,
.be-home-faq .be-eyebrow {
  color:var(--be-rose-deep) !important;
}

.be-section-head h2,
.be-home-values > h2,
.be-home-faq__head h2,
.be-home-laser__content h2 {
  color:var(--be-rose-dark) !important;
}

.be-section-head p,
.be-home-values__intro,
.be-value-card p,
.be-faq-card p,
.be-home-faq__head p,
.be-home-intro .be-lead {
  color:var(--be-text) !important;
  opacity:1 !important;
}

/* Bestehende Leistungs-Cards */
.g-home-particles #g-features .g-content,
.g-home-particles #g-features .g-content p,
.g-home-particles #g-features .g-content li {
  color:var(--be-text) !important;
}
.g-home-particles #g-features .g-content h1,
.g-home-particles #g-features .g-content h2,
.g-home-particles #g-features .g-content h3,
.g-home-particles #g-features .g-content h4 {
  color:var(--be-rose-dark) !important;
}
.g-home-particles #g-features .g-content p {
  font-size:.96rem;
  line-height:1.65;
}

/* Dauerhafte Haarentfernung – explizite Farben, damit Gantry-Sektionsfarben nicht durchschlagen. */
.be-home-laser {
  background:linear-gradient(135deg,#ffffff 0%,#f7eef1 100%);
  border-color:rgba(140,91,107,.24);
}
.be-home-laser__content,
.be-home-laser__content p,
.be-home-laser__content .be-lead,
.be-home-laser__content li {
  color:#303737 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.be-home-laser__content .be-lead {
  font-size:1.08rem;
  line-height:1.65;
}
.be-home-laser__list {
  gap:.7rem;
}
.be-home-laser__list li {
  position:relative;
  padding:.78rem .85rem .78rem 2.2rem;
  min-height:3rem;
  display:flex;
  align-items:center;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(140,91,107,.22);
  border-radius:12px;
  box-shadow:0 5px 16px rgba(39,46,46,.055);
  font-size:.95rem;
  font-weight:500;
  line-height:1.45;
}
.be-home-laser__list li::before {
  left:.78rem;
  top:50%;
  transform:translateY(-50%);
  width:1.05rem;
  height:1.05rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f1e2e7;
  color:var(--be-rose-deep) !important;
  font-size:.72rem;
  line-height:1;
}

/* Karten: Text nicht zu hell. */
.be-value-card,
.be-faq-card {
  color:var(--be-text);
}
.be-value-card h3,
.be-faq-card h3 {
  color:var(--be-ink) !important;
}

/* Buttons: AA-tauglicherer Dunkel-Rosé-Kontrast mit weißer Schrift. */
.be-button,
#g-main .button,
#g-main .btn,
#g-main a[class*="button"],
#g-main .readmore a,
.g-home-particles .button {
  background:var(--be-rose-dark);
  border-color:var(--be-rose-dark);
  color:#fff !important;
}
.be-button:hover,
#g-main .button:hover,
#g-main .btn:hover,
#g-main a[class*="button"]:hover,
#g-main .readmore a:hover,
.g-home-particles .button:hover {
  background:var(--be-rose-deep);
  border-color:var(--be-rose-deep);
}
.be-button--ghost {
  background:#fff !important;
  border-color:var(--be-rose-dark) !important;
  color:var(--be-rose-deep) !important;
}
.be-button--ghost:hover {
  background:var(--be-rose-deep) !important;
  color:#fff !important;
}

/* Tastaturbedienung */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline:3px solid #784958 !important;
  outline-offset:3px;
}

/* Footer */
#g-footer { background:#272e2e !important; border-top:3px solid rgba(195,158,171,.35); }
#g-footer .g-container { width:min(92%,1120px); }
#g-footer a { transition:color var(--be-speed); }
#g-footer a:hover { color:#fff !important; }

/* Scroll reveal */
.be-reveal { opacity:0; transform:translate3d(0,20px,0); transition:opacity 650ms cubic-bezier(.2,.7,.2,1),transform 650ms cubic-bezier(.2,.7,.2,1); }
.be-reveal.is-visible { opacity:1; transform:none; }

@media (max-width:960px) {
  #g-main { padding-top:1rem; }
  #g-main .g-mainbar > .g-content { padding:1.15rem !important; border-radius:18px; }
  #g-sidebar .g-content,#g-aside .g-content { border-radius:16px; }
  .g-home-particles #g-features .g-grid > .g-block:not(.be-services-head-block) > .g-content { margin:.4rem 0; }
  .be-home-laser { grid-template-columns:1fr; }
  .be-home-laser__media,.be-home-laser__media img { min-height:420px; max-height:560px; }
  .be-home-values__grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  #g-main h1 { font-size:clamp(1.75rem,8vw,2.25rem); }
  #g-main h2 { font-size:clamp(1.3rem,6.5vw,1.75rem); }
  #g-main .button,#g-main .btn,#g-main a[class*="button"] { width:100%; margin-right:0 !important; margin-bottom:.65rem; }
  #g-main table { display:block; overflow-x:auto; }
  .be-actions { flex-direction:column; }
  .be-actions .be-button,.be-actions .button { width:100%; }
  .be-home-laser { border-radius:20px; padding:.8rem; }
  .be-home-laser__media,.be-home-laser__media img { min-height:330px; }
  .be-home-laser__list,.be-home-faq__grid { grid-template-columns:1fr; }
  .g-home-particles #g-intro .g-content { border-radius:18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .be-reveal { opacity:1 !important; transform:none !important; }
}


/* 0.4.2 – Typografie, Abstände und Responsive-Finetuning */
:root {
  --be-reading: 74ch;
  --be-section-space: clamp(3rem, 5vw, 5.5rem);
}

/* Grundlesbarkeit: Gantry/Helium war auf großen Displays etwas zu klein. */
body {
  font-size: clamp(16px, 0.15vw + 15.4px, 17px);
}
body p,
body li,
body dd,
body dt {
  line-height: 1.7;
}

/* Navigation etwas ruhiger und besser anklickbar. */
#g-navigation .g-content {
  padding-top: .75rem !important;
  padding-bottom: .75rem !important;
}
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: .9rem;
  letter-spacing: .025em;
}

/* Standard-Unterseiten */
#g-main .item-page,
#g-main article,
#g-main .blog-item {
  font-size: 1rem;
}
#g-main .item-page > p,
#g-main article > p,
#g-main .item-page > ul,
#g-main .item-page > ol {
  max-width: var(--be-reading);
}
#g-main h1,
#g-main h2,
#g-main h3,
.be-home-intro h1,
.be-section-head h2,
.be-home-laser__content h2,
.be-home-values > h2,
.be-home-faq__head h2 {
  text-wrap: balance;
}
#g-main p,
#g-main li {
  font-size: 1rem;
}

/* Startseite: einheitlicher vertikaler Rhythmus. */
.g-home-particles #g-intro,
.g-home-particles #g-features,
.g-home-particles #g-utility,
.g-home-particles #g-above,
.g-home-particles #g-expanded {
  padding-top: var(--be-section-space);
  padding-bottom: var(--be-section-space);
}
.g-home-particles #g-intro .g-container,
.g-home-particles #g-features .g-container,
.g-home-particles #g-utility .g-container,
.g-home-particles #g-above .g-container,
.g-home-particles #g-expanded .g-container {
  width: min(92%, 1240px);
}

/* Intro: breiter, größere Textfläche und angenehmere Button-Abstände. */
.g-home-particles #g-intro .g-content {
  max-width: 1040px;
  padding: clamp(2.25rem, 4.2vw, 3.8rem) !important;
}
.be-home-intro .be-lead {
  max-width: 800px;
  font-size: clamp(1rem, .95rem + .2vw, 1.16rem);
  line-height: 1.75;
}
.be-home-intro .be-actions {
  margin-top: 1.6rem;
}

/* Leistungsbereich: größere Karten, konsistente Bilder und Textgrößen. */
.be-section-head {
  max-width: 820px;
  margin-bottom: 1.25rem;
}
.be-section-head p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.02rem !important;
  line-height: 1.7;
}
.g-home-particles #g-features .g-grid > .g-block:not(.be-services-head-block) > .g-content {
  padding: 1.15rem !important;
  border-radius: 20px;
}
.g-home-particles #g-features img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  margin-bottom: .85rem;
}
.g-home-particles #g-features .g-content h1,
.g-home-particles #g-features .g-content h2,
.g-home-particles #g-features .g-content h3,
.g-home-particles #g-features .g-content h4 {
  font-size: 1.05rem !important;
  line-height: 1.35;
  margin-bottom: .55rem;
}
.g-home-particles #g-features .g-content p,
.g-home-particles #g-features .g-content li {
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

/* Laserbereich: mehr Raum für Text, größere Vorteile und klare CTAs. */
.be-home-laser {
  width: min(100%, 1120px);
  margin: 0 auto;
  grid-template-columns: minmax(300px, .82fr) minmax(420px, 1.18fr);
  gap: clamp(1.75rem, 3.4vw, 3.4rem);
  padding: clamp(1.2rem, 2.5vw, 2.2rem);
}
.be-home-laser__content {
  padding: clamp(.5rem, 1.4vw, 1.15rem);
}
.be-home-laser__content h2 {
  font-size: clamp(2rem, 3.2vw, 3rem);
}
.be-home-laser__content .be-lead {
  font-size: 1.06rem !important;
  line-height: 1.72 !important;
}
.be-home-laser__list {
  gap: .8rem;
  margin: 1.4rem 0 1.55rem;
}
.be-home-laser__list li {
  min-height: 3.4rem;
  padding: .9rem .95rem .9rem 2.4rem;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
.be-home-laser__list li::before {
  left: .9rem;
}

/* Werte-/FAQ-Karten */
.be-home-values__intro,
.be-home-faq__head p {
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
}
.be-value-card,
.be-faq-card {
  padding: clamp(1.35rem, 2vw, 1.75rem);
}
.be-value-card h3,
.be-faq-card h3 {
  font-size: 1.08rem !important;
  line-height: 1.4;
}
.be-value-card p,
.be-faq-card p {
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

/* Buttons / Touch-Ziele */
.be-button,
#g-main .button,
#g-main .btn,
#g-main a[class*="button"],
#g-main .readmore a,
.g-home-particles .button {
  min-height: 46px;
  padding: .82rem 1.5rem;
  font-size: .8rem;
  line-height: 1.2;
}

/* Footer nicht mehr so kleinteilig. */
#g-footer {
  font-size: .94rem;
}
#g-footer p,
#g-footer li,
#g-footer a {
  line-height: 1.65;
}

/* Hover nur auf Geräten mit echtem Hover – verhindert "springende" Cards auf Touchscreens. */
@media (hover: none) {
  #g-sidebar .g-content:hover,
  #g-aside .g-content:hover,
  .g-home-particles #g-features .g-grid > .g-block:not(.be-services-head-block) > .g-content:hover,
  #g-main .item-page img:not([src*="logo"]):hover,
  #g-main article img:not([src*="logo"]):hover {
    transform: none;
    box-shadow: var(--be-shadow-soft);
  }
}

/* Tablet */
@media (max-width: 960px) {
  :root { --be-section-space: clamp(2.5rem, 6vw, 4rem); }
  body { font-size: 16px; }

  .be-home-laser {
    grid-template-columns: 1fr;
    max-width: 760px;
  }
  .be-home-laser__media {
    min-height: 0;
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 4 / 3;
  }
  .be-home-laser__media img {
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 3;
    object-position: center 30%;
  }
  .be-home-laser__content {
    text-align: center;
  }
  .be-home-laser__content .be-actions {
    justify-content: center;
  }
  .be-home-laser__list {
    text-align: left;
  }

  #g-main .g-mainbar > .g-content {
    padding: clamp(1.25rem, 3vw, 1.8rem) !important;
  }
}

/* Smartphone */
@media (max-width: 640px) {
  :root {
    --be-radius: 18px;
    --be-radius-sm: 12px;
    --be-section-space: 2.5rem;
  }

  #g-navigation .g-content {
    padding-top: .55rem !important;
    padding-bottom: .55rem !important;
  }

  .g-home-particles #g-intro .g-container,
  .g-home-particles #g-features .g-container,
  .g-home-particles #g-utility .g-container,
  .g-home-particles #g-above .g-container,
  .g-home-particles #g-expanded .g-container,
  #g-main > .g-container,
  #g-main .g-container {
    width: min(94%, 100%) !important;
  }

  .g-home-particles #g-intro .g-content {
    padding: 1.55rem 1.15rem !important;
  }
  .be-home-intro h1 {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
  }
  .be-home-intro .be-lead,
  .be-section-head p,
  .be-home-values__intro,
  .be-home-faq__head p {
    font-size: 1rem !important;
  }

  /* Gantry-Karten wirklich einspaltig. */
  .g-home-particles #g-features .g-grid {
    display: block !important;
  }
  .g-home-particles #g-features .g-grid > .g-block,
  .g-home-particles #g-features .g-grid > .g-block.size-25,
  .g-home-particles #g-features .g-grid > .g-block.size-33-3,
  .g-home-particles #g-features .g-grid > .g-block.size-50 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .g-home-particles #g-features .g-grid > .g-block:not(.be-services-head-block) > .g-content {
    margin: .55rem 0 !important;
    padding: 1rem !important;
  }
  .g-home-particles #g-features img {
    aspect-ratio: 16 / 10;
  }

  .be-home-laser {
    padding: .85rem;
    gap: 1.25rem;
  }
  .be-home-laser__media,
  .be-home-laser__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
  }
  .be-home-laser__content {
    padding: .35rem .25rem .5rem;
    text-align: left;
  }
  .be-home-laser__content h2 {
    font-size: clamp(1.65rem, 8vw, 2.15rem);
  }
  .be-home-laser__list {
    grid-template-columns: 1fr;
    gap: .65rem;
  }
  .be-home-laser__list li {
    min-height: 0;
  }

  .be-home-values__grid,
  .be-home-faq__grid {
    grid-template-columns: 1fr;
  }

  .be-actions {
    gap: .55rem;
  }
  .be-actions .be-button,
  .be-actions .button {
    min-height: 48px;
  }

  /* Footer auf Mobilgeräten lesbar und mittig. */
  #g-footer .g-grid {
    display: block !important;
  }
  #g-footer .g-block {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  #g-footer .g-content {
    text-align: center;
    padding: .8rem 1rem !important;
  }
}

/* ========================================================================
   Belle Esthétique – Modern 0.4.3
   Unterseiten-Finetuning: Über uns, Behandlungen, Laser, Preise, Kontakt.
   ======================================================================== */

/* Unterseiten bekommen eine ruhigere Bühne und etwas mehr optische Führung. */
html[data-belle-page]:not([data-belle-page="home"]) #g-main {
  padding-top: clamp(2.2rem, 4vw, 4rem);
}
html[data-belle-page]:not([data-belle-page="home"]) #g-main .g-mainbar > .g-content {
  padding: clamp(1.7rem, 3vw, 3.25rem) !important;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-main .item-page,
html[data-belle-page]:not([data-belle-page="home"]) #g-main article {
  color: var(--be-text);
}
html[data-belle-page]:not([data-belle-page="home"]) #g-main .item-page > h1:first-child,
html[data-belle-page]:not([data-belle-page="home"]) #g-main article > h1:first-child {
  margin-top: 0;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-main .item-page > p:first-of-type,
html[data-belle-page]:not([data-belle-page="home"]) #g-main article > p:first-of-type {
  font-size: 1.04rem;
  line-height: 1.78;
}

/* Sidebar: klarere visuelle Navigation statt losem Text. */
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside {
  align-self: flex-start;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar .g-content,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside .g-content {
  padding: 1.35rem 1.25rem !important;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar h3,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside h3,
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar .g-title,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside .g-title {
  color: var(--be-rose-dark) !important;
  font-size: 1.03rem !important;
  line-height: 1.35;
  letter-spacing: .045em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar ul,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar li,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside li {
  margin: 0;
  border-bottom: 1px solid rgba(140,91,107,.10);
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar li:last-child,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside li:last-child {
  border-bottom: 0;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar li > a,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside li > a {
  display: block;
  padding: .63rem .25rem;
  color: var(--be-text) !important;
  text-decoration: none;
  transition: color var(--be-speed), padding-left var(--be-speed), background var(--be-speed);
}
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar li > a:hover,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside li > a:hover,
html[data-belle-page]:not([data-belle-page="home"]) #g-sidebar li.active > a,
html[data-belle-page]:not([data-belle-page="home"]) #g-aside li.active > a {
  color: var(--be-rose-deep) !important;
  padding-left: .65rem;
  background: linear-gradient(90deg, rgba(195,158,171,.10), transparent);
}

/* Abschnittstrenner auf Content-Seiten. */
html[data-belle-page]:not([data-belle-page="home"]) #g-main hr {
  border: 0;
  height: 1px;
  margin: 2.3rem 0;
  background: linear-gradient(90deg, transparent, rgba(140,91,107,.24), transparent);
}

/* Über uns: Christine-Galerie und Monirah-Block optisch zusammenführen. */
html[data-belle-page="about"] #g-main .item-page img {
  box-shadow: 0 10px 28px rgba(39,46,46,.075);
}
html[data-belle-page="about"] .belle-team-member-monirah {
  margin-top: 2.4rem;
  padding: clamp(1.2rem, 2.4vw, 2rem);
  border: 1px solid var(--be-border);
  border-radius: 24px;
  background: linear-gradient(135deg,#fff 0%,var(--be-rose-faint) 100%);
  box-shadow: var(--be-shadow-soft);
}
html[data-belle-page="about"] .belle-team-member-monirah > h2 {
  margin-top: 0 !important;
}
html[data-belle-page="about"] .belle-team-member-monirah .g-grid {
  align-items: center;
  gap: clamp(1rem, 2.4vw, 2rem);
}
html[data-belle-page="about"] .belle-team-member-monirah .g-content {
  margin: 0 !important;
  padding: .35rem !important;
}
html[data-belle-page="about"] .belle-team-member-monirah img {
  border-radius: 18px !important;
  box-shadow: var(--be-shadow-soft);
}
html[data-belle-page="about"] .belle-team-member-monirah p {
  font-size: 1rem;
  line-height: 1.72;
}

/* Behandlungen: Bilder als klare visuelle Trenner, Text leichter scannbar. */
html[data-belle-page="treatments"] #g-main .item-page img,
html[data-belle-page="treatments"] #g-main article img {
  width: 100%;
  margin: 1.15rem 0 1.05rem;
  border-radius: 18px !important;
  box-shadow: var(--be-shadow-soft);
}
html[data-belle-page="treatments"] #g-main .item-page p strong:first-child,
html[data-belle-page="treatments"] #g-main article p strong:first-child {
  color: var(--be-ink);
}
html[data-belle-page="treatments"] #g-main .item-page ul,
html[data-belle-page="treatments"] #g-main article ul {
  padding-left: 1.25rem;
  margin-top: .65rem;
  margin-bottom: 1.25rem;
}
html[data-belle-page="treatments"] #g-main .item-page li,
html[data-belle-page="treatments"] #g-main article li {
  margin: .38rem 0;
  line-height: 1.62;
}

/* Dauerhafte Haarentfernung: Intro explizit als hochwertige Zweispalten-Card. */
html[data-belle-page="laser"] .belle-laser-intro {
  display: flex;
  align-items: center;
  gap: clamp(1.1rem, 2.6vw, 2.6rem);
  margin-bottom: 2.4rem;
  padding: clamp(1.15rem, 2.4vw, 2rem);
  border: 1px solid rgba(140,91,107,.22);
  border-radius: 24px;
  background: linear-gradient(135deg,#fff 0%,#f8f1f3 100%);
  box-shadow: var(--be-shadow-soft);
}
html[data-belle-page="laser"] .belle-laser-intro > .g-block {
  min-width: 0;
}
html[data-belle-page="laser"] .belle-laser-intro .g-content {
  margin: 0 !important;
  padding: .35rem !important;
}
html[data-belle-page="laser"] .belle-laser-intro img {
  max-width: 360px !important;
  width: 100% !important;
  border-radius: 18px !important;
  box-shadow: var(--be-shadow-soft);
}
html[data-belle-page="laser"] #g-main h3 {
  color: var(--be-rose-dark) !important;
  font-size: 1.25rem;
  margin: 1.8rem 0 .8rem;
}
html[data-belle-page="laser"] #g-main ul {
  display: grid;
  gap: .6rem;
  padding: 0;
  list-style: none;
  margin: 1rem 0 1.4rem;
}
html[data-belle-page="laser"] #g-main ul > li {
  position: relative;
  padding: .78rem .9rem .78rem 2.35rem;
  border: 1px solid rgba(140,91,107,.18);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(39,46,46,.045);
  color: var(--be-text);
  line-height: 1.55;
}
html[data-belle-page="laser"] #g-main ul > li::before {
  content: "✓";
  position: absolute;
  left: .82rem;
  top: .78rem;
  width: 1.05rem;
  height: 1.05rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f1e2e7;
  color: var(--be-rose-deep);
  font-size: .72rem;
  font-weight: 700;
}
html[data-belle-page="laser"] #g-main ul > li::marker { content: ""; }

/* Preise: auch bestehende einfache Tabellen/listen bekommen eine ruhige Preisoptik. */
html[data-belle-page="prices"] #g-main table {
  font-size: 1rem;
}
html[data-belle-page="prices"] #g-main table tr:nth-child(even) td {
  background: rgba(248,241,243,.55);
}
html[data-belle-page="prices"] #g-main table td:last-child,
html[data-belle-page="prices"] #g-main table th:last-child {
  text-align: right;
  white-space: nowrap;
  color: var(--be-ink);
  font-weight: 600;
}
html[data-belle-page="prices"] #g-main .item-page > p,
html[data-belle-page="prices"] #g-main article > p {
  max-width: 860px;
}

/* Kontakt / Formulare: mehr Luft, bessere Felder und klarer Absende-CTA. */
html[data-belle-page="contact"] #g-main form,
html[data-belle-page="contact"] #g-main .formResponsive,
html[data-belle-page="contact"] #g-main .rsform {
  max-width: 820px;
}
html[data-belle-page="contact"] #g-main .rsform-block,
html[data-belle-page="contact"] #g-main .control-group,
html[data-belle-page="contact"] #g-main .form-group {
  margin-bottom: 1rem;
}
html[data-belle-page="contact"] #g-main label {
  display: block;
  margin-bottom: .4rem;
  color: var(--be-ink);
  font-weight: 600;
}
html[data-belle-page="contact"] #g-main input[type="text"],
html[data-belle-page="contact"] #g-main input[type="email"],
html[data-belle-page="contact"] #g-main input[type="tel"],
html[data-belle-page="contact"] #g-main select,
html[data-belle-page="contact"] #g-main textarea {
  width: 100%;
  min-height: 46px;
  background: #fff;
}
html[data-belle-page="contact"] #g-main textarea { min-height: 150px; }

/* Unterseiten-Buttons: Outline-Varianten wirklich als Outline darstellen. */
html[data-belle-page]:not([data-belle-page="home"]) #g-main .button-outline,
html[data-belle-page]:not([data-belle-page="home"]) #g-main a.button-outline {
  background: transparent !important;
  color: var(--be-rose-dark) !important;
  box-shadow: none !important;
}
html[data-belle-page]:not([data-belle-page="home"]) #g-main .button-outline:hover,
html[data-belle-page]:not([data-belle-page="home"]) #g-main a.button-outline:hover {
  background: var(--be-rose-dark) !important;
  color: #fff !important;
}

/* Unterseiten Responsive */
@media (max-width: 960px) {
  html[data-belle-page]:not([data-belle-page="home"]) #g-main > .g-container,
  html[data-belle-page]:not([data-belle-page="home"]) #g-main .g-container {
    width: min(95%, 100%) !important;
  }
  html[data-belle-page="laser"] .belle-laser-intro {
    display: block;
  }
  html[data-belle-page="laser"] .belle-laser-intro .g-block,
  html[data-belle-page="about"] .belle-team-member-monirah .g-block {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  html[data-belle-page="laser"] .belle-laser-intro img {
    margin-top: 1rem !important;
    max-width: 480px !important;
  }
}

@media (max-width: 640px) {
  html[data-belle-page]:not([data-belle-page="home"]) #g-main {
    padding-top: 1.25rem;
  }
  html[data-belle-page]:not([data-belle-page="home"]) #g-main .g-mainbar > .g-content {
    padding: 1.15rem !important;
    border-radius: 18px;
  }
  html[data-belle-page]:not([data-belle-page="home"]) #g-main h1 {
    font-size: clamp(1.75rem, 9vw, 2.25rem);
  }
  html[data-belle-page]:not([data-belle-page="home"]) #g-main h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
  }
  html[data-belle-page="about"] .belle-team-member-monirah {
    padding: 1rem;
  }
  html[data-belle-page="about"] .belle-team-member-monirah .g-grid {
    display: block !important;
  }
  html[data-belle-page="laser"] #g-main ul > li {
    padding-right: .75rem;
  }
}

/* ========================================================================
   Belle Esthétique – Modern 0.4.4
   Layout-Korrektur: konfliktfreie Raster, saubere Abschnittstrennung,
   weniger Leerraum in Team- und Laserbereichen.
   ======================================================================== */

/*
 * WICHTIG:
 * Die in 0.2.x eingebetteten Gantry-Nested-Grids (size-60 + size-40 + gap)
 * konnten umbrechen, weil 60% + 40% + gap breiter als 100% wurden.
 * 0.4.4 verwendet deshalb in unseren eigenen Inhaltsblöcken native CSS-Grids
 * ohne Gantry-size-Klassen.
 */

/* Dauerhafte Haarentfernung: Text und Foto bleiben auf Desktop sicher nebeneinander. */
html[data-belle-page="laser"] .belle-laser-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr) !important;
  align-items: center !important;
  gap: clamp(1.35rem, 3vw, 2.75rem) !important;
  margin: 0 0 2rem !important;
  padding: clamp(1.35rem, 2.5vw, 2.1rem) !important;
  min-height: 0 !important;
  overflow: hidden;
}
html[data-belle-page="laser"] .belle-laser-intro > * {
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
html[data-belle-page="laser"] .belle-laser-intro__content {
  align-self: center;
}
html[data-belle-page="laser"] .belle-laser-intro__content > :first-child { margin-top: 0; }
html[data-belle-page="laser"] .belle-laser-intro__content > :last-child { margin-bottom: 0; }
html[data-belle-page="laser"] .belle-laser-intro__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
html[data-belle-page="laser"] .belle-laser-intro__media img {
  display: block;
  width: min(100%, 270px) !important;
  max-width: 270px !important;
  height: auto !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
  box-shadow: var(--be-shadow-soft);
}

/* Der Folgeabschnitt startet eindeutig unterhalb der Intro-Card. */
html[data-belle-page="laser"] .belle-laser-intro + h2 {
  clear: both;
  margin-top: 0 !important;
  padding-top: .2rem;
}

/* Über uns: Monirah als kompakte horizontale Team-Card statt hoher Leerfläche. */
html[data-belle-page="about"] .belle-team-member-monirah {
  clear: both;
  margin: 2rem 0 0 !important;
  padding: clamp(1.3rem, 2.4vw, 2rem) !important;
  min-height: 0 !important;
  overflow: hidden;
}
html[data-belle-page="about"] .belle-team-member-monirah > h2 {
  margin: 0 0 1.25rem !important;
}
html[data-belle-page="about"] .belle-team-member__grid {
  display: grid !important;
  grid-template-columns: minmax(180px, 245px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(1.3rem, 3vw, 2.4rem) !important;
  width: 100%;
}
html[data-belle-page="about"] .belle-team-member__media,
html[data-belle-page="about"] .belle-team-member__content {
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
html[data-belle-page="about"] .belle-team-member__media {
  margin: 0;
}
html[data-belle-page="about"] .belle-team-member__media img {
  display: block;
  width: 100% !important;
  max-width: 245px !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 18px !important;
  box-shadow: var(--be-shadow-soft);
}
html[data-belle-page="about"] .belle-team-member__content > :first-child { margin-top: 0; }
html[data-belle-page="about"] .belle-team-member__content > :last-child { margin-bottom: 0; }
html[data-belle-page="about"] .belle-team-member__content p {
  max-width: 660px;
}
html[data-belle-page="about"] .belle-team-member__actions,
html[data-belle-page="laser"] .belle-laser-intro__actions,
html[data-belle-page="treatments"] .belle-treatment-teaser__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.1rem;
}

/* Behandlungen: unser neu eingefügter Laser-Teaser beginnt immer nach allen
   vorhandenen Floats/Bildern und wird als eigener Abschnitt sichtbar. */
html[data-belle-page="treatments"] .belle-treatment-teaser {
  display: block;
  clear: both !important;
  width: 100%;
  margin: 2rem 0 0 !important;
  padding: clamp(1.2rem, 2.4vw, 1.8rem);
  border: 1px solid var(--be-border);
  border-radius: 20px;
  background: linear-gradient(135deg, #fff 0%, var(--be-rose-faint) 100%);
  box-shadow: var(--be-shadow-soft);
  isolation: isolate;
}
html[data-belle-page="treatments"] .belle-treatment-teaser::before,
html[data-belle-page="treatments"] .belle-treatment-teaser::after {
  content: "";
  display: table;
  clear: both;
}
html[data-belle-page="treatments"] .belle-treatment-teaser > h2 {
  margin: 0 0 .85rem !important;
}
html[data-belle-page="treatments"] .belle-treatment-teaser > p:last-of-type {
  margin-bottom: 0;
}

/* Alte Floats dürfen nicht in unsere neuen Bereiche hineinragen. */
html[data-belle-page="about"] .belle-team-member-monirah,
html[data-belle-page="laser"] .belle-laser-intro,
html[data-belle-page="treatments"] .belle-treatment-teaser {
  contain: layout paint;
}

/* Etwas kompakterer Abschluss der Unterseiten – kein unnötig großer Leerraum. */
html[data-belle-page]:not([data-belle-page="home"]) #g-main {
  padding-bottom: clamp(2rem, 3.5vw, 3.25rem) !important;
}

@media (max-width: 900px) {
  html[data-belle-page="laser"] .belle-laser-intro,
  html[data-belle-page="about"] .belle-team-member__grid {
    grid-template-columns: 1fr !important;
  }
  html[data-belle-page="laser"] .belle-laser-intro__media {
    justify-content: flex-start;
  }
  html[data-belle-page="laser"] .belle-laser-intro__media img,
  html[data-belle-page="about"] .belle-team-member__media img {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
  }
}

@media (max-width: 640px) {
  html[data-belle-page="laser"] .belle-laser-intro,
  html[data-belle-page="about"] .belle-team-member-monirah,
  html[data-belle-page="treatments"] .belle-treatment-teaser {
    padding: 1rem !important;
    border-radius: 16px;
  }
  html[data-belle-page="laser"] .belle-laser-intro__media img,
  html[data-belle-page="about"] .belle-team-member__media img {
    width: 100% !important;
    max-width: 100% !important;
  }
  html[data-belle-page="about"] .belle-team-member__actions,
  html[data-belle-page="laser"] .belle-laser-intro__actions,
  html[data-belle-page="treatments"] .belle-treatment-teaser__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  html[data-belle-page="about"] .belle-team-member__actions a,
  html[data-belle-page="laser"] .belle-laser-intro__actions a,
  html[data-belle-page="treatments"] .belle-treatment-teaser__actions a {
    width: 100%;
  }
}


/* ========================================================================
   Belle Esthétique – Modern 0.4.6
   Schulungen + FAQ + Preise: vollständige visuelle Modernisierung
   ======================================================================== */

/* Shared page intro / visual */
.be-page-visual { margin:0 0 1.25rem; overflow:hidden; border-radius:20px; box-shadow:var(--be-shadow-soft); }
.be-page-visual img { display:block; width:100%; max-height:330px; object-fit:cover; border-radius:0 !important; }
.be-page-intro { margin:0 0 1.5rem; max-width:760px; }
.be-page-intro .be-eyebrow,.be-training-hero .be-eyebrow { display:block; color:var(--be-rose-dark); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.45rem; }
.be-page-intro p { color:var(--be-muted); font-size:1.02rem; margin:0; }

/* PREISE */
html[data-belle-page="prices"] #g-main .item-page > h1,
html[data-belle-page="prices"] #g-main .page-header { margin-bottom:1.25rem; }
html[data-belle-page="prices"] .be-prices-page { max-width:980px; }
.be-prices-intro { margin-bottom:1.2rem; }
.be-price-highlight {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.05rem 1.3rem; margin:0 0 1rem; border-radius:16px;
  background:linear-gradient(135deg,var(--be-rose-dark),var(--be-rose-deep)); color:#fff;
  box-shadow:0 10px 25px rgba(120,73,88,.16);
}
.be-price-highlight span { font-weight:600; font-size:1rem; }
.be-price-highlight strong { color:#fff !important; font-size:1.18rem; }
.be-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.be-price-card {
  background:#fff; border:1px solid var(--be-border); border-radius:18px;
  box-shadow:var(--be-shadow-soft); padding:1.25rem; min-width:0;
}
.be-price-card__head { display:flex; align-items:center; gap:.75rem; padding-bottom:.85rem; border-bottom:1px solid rgba(39,46,46,.08); }
.be-price-card__head h2 { margin:0 !important; font-size:1.28rem !important; color:var(--be-ink) !important; font-weight:500 !important; }
.be-price-card__head h2::after { display:none !important; }
.be-price-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--be-rose-soft); color:var(--be-rose-dark); font-size:.72rem; font-weight:700; }
.be-price-list { margin-top:.35rem; }
.be-price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:baseline; padding:.7rem 0; border-bottom:1px solid rgba(39,46,46,.065); }
.be-price-row:last-child { border-bottom:0; }
.be-price-row span { color:var(--be-text); }
.be-price-row strong { color:var(--be-ink) !important; white-space:nowrap; font-weight:650; }
.be-price-card__note { margin:.7rem 0 0 !important; color:var(--be-muted); font-size:.9rem; }
.be-prices-actions { justify-content:center; margin-top:1.35rem; }

/* FAQ */
html[data-belle-page="faq"] .be-faq-page { max-width:980px; }
.be-faq-list { display:grid; gap:.75rem; }
.be-faq-item {
  padding:0 !important; overflow:hidden; background:#fff !important;
  border:1px solid var(--be-border) !important; border-radius:16px !important;
  box-shadow:var(--be-shadow-soft); transition:border-color var(--be-speed),box-shadow var(--be-speed),transform var(--be-speed);
}
.be-faq-item:hover { border-color:rgba(140,91,107,.35) !important; box-shadow:var(--be-shadow); transform:translateY(-1px); }
.be-faq-item summary {
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1rem 1.15rem; color:var(--be-ink); font-weight:650; line-height:1.35;
}
.be-faq-item summary::-webkit-details-marker { display:none; }
.be-faq-item summary::after { content:"+"; flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--be-rose-soft); color:var(--be-rose-dark); font-size:1.15rem; font-weight:400; transition:transform var(--be-speed),background var(--be-speed); }
.be-faq-item[open] summary::after { content:"−"; background:var(--be-rose-dark); color:#fff; }
.be-faq-item[open] summary { color:var(--be-rose-deep); }
.be-faq-answer { padding:0 1.15rem 1.15rem; color:var(--be-text); border-top:1px solid rgba(39,46,46,.055); }
.be-faq-answer > :first-child { margin-top:1rem; }
.be-faq-answer > :last-child { margin-bottom:0; }
.be-faq-answer ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.3rem 1.25rem; padding-left:1.15rem; }
.be-faq-actions { justify-content:center; margin-top:1.35rem; }

/* SCHULUNGEN category blog */
html[data-belle-page="training"] .com-content-category-blog > h1,
html[data-belle-page="training"] .com-content-category-blog > h2 { margin-bottom:1.15rem !important; }
html[data-belle-page="training"] .category-desc { margin:0 0 1.45rem; }
.be-training-hero {
  display:grid; grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr); gap:clamp(1.25rem,3vw,2.35rem); align-items:center;
  background:linear-gradient(135deg,#fff,var(--be-rose-faint)); border:1px solid var(--be-border); border-radius:22px; padding:clamp(1rem,2.2vw,1.5rem); box-shadow:var(--be-shadow-soft);
}
.be-training-hero__media { border-radius:16px; overflow:hidden; min-width:0; }
.be-training-hero__media img { display:block; width:100%; height:100%; min-height:260px; max-height:350px; object-fit:cover; border-radius:0 !important; }
.be-training-hero__content { min-width:0; }
.be-training-hero__content h2 { margin:.1rem 0 .7rem !important; color:var(--be-ink) !important; font-size:clamp(1.55rem,2.2vw,2.2rem) !important; line-height:1.18; }
.be-training-hero__content h2::after { display:none !important; }
.be-training-benefits { display:flex; flex-wrap:wrap; gap:.45rem; margin:1rem 0 .2rem; }
.be-training-benefits span { display:inline-flex; padding:.43rem .7rem; border-radius:999px; background:#fff; border:1px solid var(--be-border); color:var(--be-rose-deep); font-size:.78rem; font-weight:600; }
html[data-belle-page="training"] .items-leading {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:stretch;
}
html[data-belle-page="training"] .items-leading > .blog-item {
  display:flex; min-width:0; margin:0 !important; background:#fff; border:1px solid var(--be-border); border-radius:18px; box-shadow:var(--be-shadow-soft); overflow:hidden;
  transition:transform var(--be-speed),box-shadow var(--be-speed),border-color var(--be-speed);
}
html[data-belle-page="training"] .items-leading > .blog-item:hover { transform:translateY(-3px); box-shadow:var(--be-shadow); border-color:rgba(140,91,107,.32); }
html[data-belle-page="training"] .blog-item .item-content { display:flex; flex-direction:column; width:100%; padding:1.25rem; }
html[data-belle-page="training"] .blog-item .item-content > h2,
html[data-belle-page="training"] .blog-item .item-content .page-header h2 { margin:0 0 .65rem !important; font-size:1.3rem !important; color:var(--be-rose-deep) !important; line-height:1.22; }
html[data-belle-page="training"] .blog-item .item-content > h2::after,
html[data-belle-page="training"] .blog-item .item-content .page-header h2::after { display:none !important; }
.be-training-card-intro { display:flex; flex-direction:column; flex:1; }
.be-training-card-intro p { margin:.8rem 0 0 !important; color:var(--be-muted); }
.be-training-meta { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.65rem .75rem; border-radius:12px; background:var(--be-rose-faint); border:1px solid rgba(195,158,171,.18); }
.be-training-meta span { color:var(--be-rose-deep); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.be-training-meta strong { color:var(--be-ink) !important; font-size:.9rem; white-space:nowrap; }
html[data-belle-page="training"] .blog-item .readmore { margin:auto 0 0; padding-top:1rem; }
html[data-belle-page="training"] .blog-item .readmore a { width:100%; }

/* Training article detail pages */
html[data-belle-page="training"] .item-page .be-training-card-intro { max-width:760px; margin:0 0 1.25rem; padding:1rem; border:1px solid var(--be-border); border-radius:16px; background:var(--be-rose-faint); }
html[data-belle-page="training"] .item-page ul { margin:0 0 1.25rem; padding:1rem 1.1rem 1rem 2.1rem; background:#fff; border:1px solid rgba(195,158,171,.18); border-radius:14px; box-shadow:var(--be-shadow-soft); }

@media (max-width:900px) {
  .be-price-grid,.be-training-hero,html[data-belle-page="training"] .items-leading { grid-template-columns:1fr !important; }
  .be-training-hero__media img { min-height:0; max-height:420px; }
}
@media (max-width:640px) {
  .be-price-card { padding:1rem; }
  .be-price-row { grid-template-columns:1fr auto; gap:.65rem; font-size:.94rem; }
  .be-faq-answer ul { grid-template-columns:1fr; }
  .be-faq-item summary { padding:.9rem; }
  .be-faq-answer { padding:0 .9rem .9rem; }
  .be-training-hero { padding:.9rem; border-radius:17px; }
  .be-training-hero__content .be-actions a { width:100%; }
  html[data-belle-page="training"] .blog-item .item-content { padding:1rem; }
  .be-training-meta { align-items:flex-start; flex-direction:column; gap:.2rem; }
}
/* ========================================================================
   Belle Esthétique – Modern 0.4.7
   Mobile Cleanup: echte Einspalten-Layouts, weniger Leerraum,
   keine Desktop-Floats, kompaktere Sidebars und robuste Mobile-Reveals.
   ======================================================================== */

@media (max-width: 640px) {
  /* Auf Mobilgeräten keine Inhalte durch Scroll-Reveal verstecken. */
  .be-reveal,
  .be-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    transition-delay: 0ms !important;
  }

  /* Generell: keine künstlichen Höhen / großen vertikalen Leerflächen. */
  #g-main,
  #g-main .g-container,
  #g-main .g-grid,
  #g-main .g-block,
  #g-main .g-content,
  #g-main .platform-content,
  #g-main .item-page,
  #g-main article,
  .g-home-particles #g-intro,
  .g-home-particles #g-features,
  .g-home-particles #g-utility,
  .g-home-particles #g-above,
  .g-home-particles #g-expanded {
    min-height: 0 !important;
    height: auto !important;
  }

  .g-home-particles #g-intro,
  .g-home-particles #g-features,
  .g-home-particles #g-utility,
  .g-home-particles #g-above,
  .g-home-particles #g-expanded {
    padding-top: 1.35rem !important;
    padding-bottom: 1.35rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* STARTSEITE: kompakter, keine riesigen Zwischenräume. */
  html[data-belle-page="home"] .be-home-intro,
  html[data-belle-page="home"] .be-section-head,
  html[data-belle-page="home"] .be-home-laser,
  html[data-belle-page="home"] .be-home-values,
  html[data-belle-page="home"] .be-home-claim,
  html[data-belle-page="home"] .be-home-faq {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  html[data-belle-page="home"] .be-home-intro {
    padding: 1.15rem !important;
  }
  html[data-belle-page="home"] .be-home-intro h1 {
    margin-bottom: .7rem !important;
  }
  html[data-belle-page="home"] .be-home-intro .be-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    margin-top: 1rem !important;
  }
  html[data-belle-page="home"] .be-home-intro .be-actions a {
    width: 100% !important;
  }
  html[data-belle-page="home"] .be-home-laser {
    gap: .85rem !important;
    padding: .9rem !important;
  }
  html[data-belle-page="home"] .be-home-laser__media {
    aspect-ratio: 4 / 5 !important;
    max-width: 100% !important;
  }
  html[data-belle-page="home"] .be-home-laser__media img {
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center 28% !important;
  }
  html[data-belle-page="home"] .be-home-values__grid,
  html[data-belle-page="home"] .be-home-faq__grid {
    gap: .75rem !important;
  }

  /* ÜBER UNS: sämtliche alten Desktop-Floats auflösen. */
  html[data-belle-page="about"] #g-main .item-page img[style*="float"],
  html[data-belle-page="about"] #g-main .item-page img.pull-left,
  html[data-belle-page="about"] #g-main .item-page img.pull-right,
  html[data-belle-page="about"] #g-main .item-page img.float-start,
  html[data-belle-page="about"] #g-main .item-page img.float-end,
  html[data-belle-page="about"] #g-main .item-page .pull-left,
  html[data-belle-page="about"] #g-main .item-page .pull-right,
  html[data-belle-page="about"] #g-main .item-page .float-start,
  html[data-belle-page="about"] #g-main .item-page .float-end {
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: .9rem 0 1.15rem !important;
  }
  html[data-belle-page="about"] #g-main .item-page p,
  html[data-belle-page="about"] #g-main .item-page li {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  html[data-belle-page="about"] .belle-team-member-monirah {
    margin-top: 1.2rem !important;
    padding: .95rem !important;
  }
  html[data-belle-page="about"] .belle-team-member__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: .9rem !important;
  }
  html[data-belle-page="about"] .belle-team-member__media {
    order: 1;
    width: 100% !important;
  }
  html[data-belle-page="about"] .belle-team-member__content {
    order: 2;
    width: 100% !important;
  }
  html[data-belle-page="about"] .belle-team-member__media img {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 auto !important;
  }

  /* BEHANDLUNGEN: Abschluss kompakt; Teaser darf keine Resthöhe erzeugen. */
  html[data-belle-page="treatments"] .belle-treatment-teaser {
    margin-top: 1.15rem !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 1rem !important;
  }
  html[data-belle-page="treatments"] .belle-treatment-teaser + * {
    margin-top: 0 !important;
  }
  html[data-belle-page="treatments"] #g-main {
    padding-bottom: 1.5rem !important;
  }

  /* DAUERHAFTE HAARENTFERNUNG: Intro kompakt und Sidebar mobil entschlacken. */
  html[data-belle-page="laser"] .belle-laser-intro {
    gap: .85rem !important;
    margin-bottom: 1.25rem !important;
    padding: 1rem !important;
  }
  html[data-belle-page="laser"] .belle-laser-intro__media {
    order: 2;
    justify-content: center !important;
  }
  html[data-belle-page="laser"] .belle-laser-intro__media img {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
  }
  html[data-belle-page="laser"] .belle-laser-intro__content {
    order: 1;
  }
  html[data-belle-page="laser"] #g-sidebar .g-content,
  html[data-belle-page="laser"] #g-aside .g-content {
    padding: 1rem !important;
    margin: .75rem 0 !important;
    border-radius: 16px !important;
  }
  html[data-belle-page="laser"] #g-sidebar img[src*="logo"],
  html[data-belle-page="laser"] #g-aside img[src*="logo"] {
    width: min(58%, 190px) !important;
    max-width: 190px !important;
    margin: 0 auto 1rem !important;
    display: block !important;
  }
  /* Bereichsnavigation mobil kompakt halten. */
  html[data-belle-page="laser"] #g-sidebar .nav,
  html[data-belle-page="laser"] #g-sidebar ul.menu,
  html[data-belle-page="laser"] #g-aside .nav,
  html[data-belle-page="laser"] #g-aside ul.menu {
    max-height: 0;
    overflow: hidden;
    margin: 0 !important;
    opacity: 0;
  }
  html[data-belle-page="laser"] #g-sidebar .g-content:hover .nav,
  html[data-belle-page="laser"] #g-sidebar .g-content:focus-within .nav,
  html[data-belle-page="laser"] #g-sidebar .g-content:hover ul.menu,
  html[data-belle-page="laser"] #g-sidebar .g-content:focus-within ul.menu,
  html[data-belle-page="laser"] #g-aside .g-content:hover .nav,
  html[data-belle-page="laser"] #g-aside .g-content:focus-within .nav,
  html[data-belle-page="laser"] #g-aside .g-content:hover ul.menu,
  html[data-belle-page="laser"] #g-aside .g-content:focus-within ul.menu {
    max-height: 900px;
    opacity: 1;
  }

  /* SCHULUNGEN / FAQ / PREISE: bereits gut, nur Leerraum vor Footer reduzieren. */
  html[data-belle-page="training"] #g-main,
  html[data-belle-page="faq"] #g-main,
  html[data-belle-page="prices"] #g-main {
    padding-bottom: 1.6rem !important;
  }
  html[data-belle-page="training"] .be-training-hero,
  html[data-belle-page="faq"] .be-faq-page,
  html[data-belle-page="prices"] .be-prices-page {
    margin-bottom: 0 !important;
  }

  /* Footer kompakter. */
  #g-footer {
    margin-top: 0 !important;
    padding-top: .65rem !important;
    padding-bottom: .65rem !important;
  }
  #g-footer .g-content {
    padding: .55rem .8rem !important;
  }
}

/* ========================================================================
   Belle Esthétique – Modern 0.4.8
   Work audit fixes: repaired training grid + narrow-phone price layout.
   ======================================================================== */

/* Schulungen: robustes Kartenraster über die unterschiedlichen Joomla-Blog-Wrapper. */
html[data-belle-page="training"] #g-main .com-content-category-blog .be-training-grid,
html[data-belle-page="training"] #g-main .com-content-category-blog .items-leading,
html[data-belle-page="training"] #g-main .com-content-category-blog .blog-items {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1.15rem !important;
  align-items:stretch !important;
  margin-top:1.25rem !important;
}
html[data-belle-page="training"] #g-main .com-content-category-blog .be-training-grid > *,
html[data-belle-page="training"] #g-main .com-content-category-blog .items-leading > *,
html[data-belle-page="training"] #g-main .com-content-category-blog .blog-items > * {
  min-width:0 !important;
}
html[data-belle-page="training"] #g-main .com-content-category-blog .blog-item {
  display:flex !important;
  height:100% !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid rgba(195,158,171,.24) !important;
  border-radius:18px !important;
  box-shadow:0 10px 30px rgba(66,52,57,.07) !important;
  overflow:hidden !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
html[data-belle-page="training"] #g-main .com-content-category-blog .blog-item:hover {
  transform:translateY(-3px);
  border-color:rgba(140,91,107,.38) !important;
  box-shadow:0 16px 38px rgba(66,52,57,.11) !important;
}
html[data-belle-page="training"] #g-main .com-content-category-blog .blog-item .item-content {
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  padding:1.25rem !important;
}
html[data-belle-page="training"] .be-training-meta--generated {
  margin:.25rem 0 .85rem !important;
}
html[data-belle-page="training"] #g-main .com-content-category-blog .readmore {
  margin-top:auto !important;
  padding-top:1rem !important;
}
html[data-belle-page="training"] #g-main .com-content-category-blog .readmore a {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:44px !important;
  border-radius:999px !important;
}

@media (max-width:960px) {
  html[data-belle-page="training"] #g-main .com-content-category-blog .be-training-grid,
  html[data-belle-page="training"] #g-main .com-content-category-blog .items-leading,
  html[data-belle-page="training"] #g-main .com-content-category-blog .blog-items {
    grid-template-columns:1fr !important;
  }
}

/* Sehr schmale iPhones: lange Preisbezeichnung nicht neben den Betrag quetschen. */
@media (max-width:399px) {
  html[data-belle-page="prices"] .be-price-row {
    grid-template-columns:1fr !important;
    gap:.2rem !important;
    align-items:start !important;
  }
  html[data-belle-page="prices"] .be-price-row strong {
    justify-self:start !important;
    white-space:normal !important;
    font-size:1rem !important;
  }
  html[data-belle-page="prices"] .be-price-highlight {
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:.2rem !important;
  }
}

/* ======================================================================
   Belle Modern 0.6.0 – quality cleanup / CookieHint
   ====================================================================== */
.be-cookiehint {
  box-sizing:border-box !important;
  width:min(760px, calc(100vw - 2rem)) !important;
  max-width:760px !important;
  max-height:min(82vh, 680px) !important;
  overflow:auto !important;
  padding:1.2rem 1.3rem !important;
  border-radius:18px !important;
  box-shadow:0 18px 55px rgba(37,43,43,.22) !important;
  font-size:.92rem !important;
  line-height:1.55 !important;
}
.be-cookiehint p,
.be-cookiehint li { font-size:.92rem !important; line-height:1.55 !important; }
.be-cookiehint h1,.be-cookiehint h2,.be-cookiehint h3 { line-height:1.2 !important; margin-top:0 !important; }
.be-cookiehint .be-cookie-accept {
  background:var(--be-rose-dark) !important;
  border-color:var(--be-rose-dark) !important;
  color:#fff !important;
  font-weight:700 !important;
}
.be-cookiehint .be-cookie-decline {
  background:#fff !important;
  border:1px solid rgba(120,73,88,.35) !important;
  color:var(--be-rose-deep) !important;
  font-weight:600 !important;
}
@media (max-width:640px) {
  .be-cookiehint {
    width:calc(100vw - 1rem) !important;
    max-height:76vh !important;
    padding:.9rem !important;
    border-radius:15px !important;
    font-size:.86rem !important;
  }
  .be-cookiehint p,.be-cookiehint li { font-size:.86rem !important; line-height:1.45 !important; }
  .be-cookiehint button,.be-cookiehint a[class*="button"],.be-cookiehint input[type="button"],.be-cookiehint input[type="submit"] {
    min-height:44px !important;
  }
}

/* 0.6.3 – Slider picture/source performance wrapper */
.g-home-particles .be-slider-picture,
.g-home-particles .be-slider-picture > img {
  display: block;
  width: 100%;
}
.g-home-particles .be-slider-picture > img {
  height: auto;
}

/* ======================================================================
   Belle Modern 0.6.6 – CookieHint selector/button geometry hardening
   ====================================================================== */
.be-cookiehint .cookiebuttons {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
  gap:.65rem !important;
}
.be-cookiehint #cookiehintsubmit,
.be-cookiehint #cookiehintsubmitno {
  box-sizing:border-box !important;
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  text-align:center !important;
}
.be-cookiehint #cookiehintinfo {
  flex:0 0 100% !important;
  width:100% !important;
  margin-top:.2rem !important;
}
@media (max-width:399px) {
  .be-cookiehint .cookiebuttons { gap:.5rem !important; }
  .be-cookiehint #cookiehintsubmit,
  .be-cookiehint #cookiehintsubmitno {
    font-size:.82rem !important;
    padding:.65rem .45rem !important;
  }
}

/* 0.6.8 – Slider accessibility controls */
.g-home-particles .g-owlcarousel .owl-prev,
.g-home-particles .g-owlcarousel .owl-next {
  min-width:44px !important;
  min-height:44px !important;
}
.g-home-particles .g-owlcarousel .be-slider-toggle {
  position:absolute;
  right:clamp(.65rem,2vw,1.15rem);
  bottom:clamp(.65rem,2vw,1.15rem);
  z-index:12;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  min-height:44px;
  min-width:44px;
  padding:.55rem .8rem;
  border:1px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:rgba(30,34,34,.62);
  color:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.18);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  font:inherit;
  font-size:.86rem;
  line-height:1;
  cursor:pointer;
}
.g-home-particles .g-owlcarousel .be-slider-toggle:hover,
.g-home-particles .g-owlcarousel .be-slider-toggle:focus-visible {
  background:rgba(30,34,34,.82);
  color:#fff;
}
.g-home-particles .g-owlcarousel .be-slider-toggle:focus-visible,
.g-home-particles .g-owlcarousel .owl-prev:focus-visible,
.g-home-particles .g-owlcarousel .owl-next:focus-visible {
  outline:3px solid #fff !important;
  outline-offset:3px;
}
.g-home-particles .g-owlcarousel .be-slider-toggle-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1em;
  font-weight:700;
}
@media (max-width:640px) {
  .g-home-particles .g-owlcarousel .be-slider-toggle {
    padding:.55rem .65rem;
  }
  .g-home-particles .g-owlcarousel .be-slider-toggle-text {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
}



/* ======================================================================
   Belle Modern 0.7.0 – Performance + WCAG final pass
   ====================================================================== */

/* Reserve the real 1690:955 slider geometry before Owl initialises.
   Owl's stock CSS hides .owl-carousel until JS is ready; this block keeps
   only the first raw slide visible and reserves its final height, preventing CLS. */
.g-home-particles .g-owlcarousel.owl-carousel {
  aspect-ratio:1690 / 955;
  width:100%;
  overflow:hidden;
  background:#272e2e;
}
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) {
  display:block !important;
  position:relative;
}
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item {
  display:none !important;
}
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child {
  display:block !important;
  position:absolute;
  inset:0;
}
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child,
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child .g-owlcarousel-item-wrapper,
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child .g-owlcarousel-item-img,
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child picture,
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child img {
  width:100%;
  height:100%;
}
.g-home-particles .g-owlcarousel.owl-carousel:not(.owl-loaded) > .g-owlcarousel-item:first-child img {
  object-fit:cover;
}

/* Large legacy background, now modern-image first with original JPEG fallback. */
.g-home-particles #g-testimonials {
  background-image:url('/templates/g5_helium/custom/images/_slider/slide_03b.jpg') !important;
  background-image:image-set(
    url('/media/belle_update_2027/optimised/slide-03b-desktop.avif') type('image/avif'),
    url('/media/belle_update_2027/optimised/slide-03b-desktop.webp') type('image/webp'),
    url('/templates/g5_helium/custom/images/_slider/slide_03b.jpg') type('image/jpeg')
  ) !important;
  background-size:cover !important;
  background-position:center center !important;
}
@media (max-width:767px) {
  .g-home-particles #g-testimonials {
    background-image:url('/templates/g5_helium/custom/images/_slider/slide_03b.jpg') !important;
    background-image:image-set(
      url('/media/belle_update_2027/optimised/slide-03b-mobile.avif') type('image/avif'),
      url('/media/belle_update_2027/optimised/slide-03b-mobile.webp') type('image/webp'),
      url('/templates/g5_helium/custom/images/_slider/slide_03b.jpg') type('image/jpeg')
    ) !important;
  }
}

/* Local template fonts with an explicit swap strategy. */
@font-face {
  font-family:'Raleway';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/raleway/raleway-regular/raleway-regular-webfont.woff2') format('woff2');
}
@font-face {
  font-family:'Raleway';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/raleway/raleway-medium/raleway-medium-webfont.woff2') format('woff2');
}
@font-face {
  font-family:'Raleway';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/raleway/raleway-semibold/raleway-semibold-webfont.woff2') format('woff2');
}
@font-face {
  font-family:'Raleway';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/raleway/raleway-bold/raleway-bold-webfont.woff2') format('woff2');
}
@font-face {
  font-family:'Lato';
  font-style:normal;
  font-weight:200;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/lato/lato-light/lato-light-webfont.woff2') format('woff2');
}
@font-face {
  font-family:'Lato';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/lato/lato-regular/lato-regular-webfont.woff2') format('woff2');
}
@font-face {
  font-family:'Lato';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/templates/g5_helium/fonts/lato/lato-bold/lato-bold-webfont.woff2') format('woff2');
}

/* WCAG-AA text-link colour in content areas. Buttons/navigation retain their own styling. */
#g-main a:not(.button):not(.btn):not([class*='button']),
#g-sidebar a:not(.button):not(.btn):not([class*='button']),
#g-aside a:not(.button):not(.btn):not([class*='button']) {
  color:#784958;
}
#g-main a:not(.button):not(.btn):not([class*='button']):hover,
#g-sidebar a:not(.button):not(.btn):not([class*='button']):hover,
#g-aside a:not(.button):not(.btn):not([class*='button']):hover {
  color:#5d3642;
}

/* Two-colour focus indicator remains visible on both light and dark surfaces. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline:3px solid #784958 !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 2px #ffffff !important;
}
.g-home-particles .g-owlcarousel .be-slider-toggle:focus-visible,
.g-home-particles .g-owlcarousel .owl-prev:focus-visible,
.g-home-particles .g-owlcarousel .owl-next:focus-visible {
  outline:3px solid #784958 !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 2px #ffffff !important;
}

.be-optimised-picture,
.be-optimised-picture > img {
  display:block;
  max-width:100%;
}
.be-optimised-picture > img {
  width:100%;
  height:auto;
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    scroll-behavior:auto !important;
  }
  .be-reveal,
  .g-home-particles .g-owlcarousel * {
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}
