:root {
  --holistica-navy: #1f2a30;
  --holistica-olive: #4f5b43;
  --holistica-sage: #aeb8a3;
  --holistica-beige: #efe2d8;
  --holistica-gold: #c8a75d;
  --holistica-white: #fff;
  --holistica-heading: 'Montserrat', sans-serif;
  --holistica-body: 'Lora', Georgia, serif;
  --holistica-micro: 'Inter', sans-serif;
}
.holistica-widget-section { position: relative; box-sizing: border-box; color: var(--holistica-navy); font-family: var(--holistica-body); }
.holistica-widget-section *, .holistica-widget-section *::before, .holistica-widget-section *::after { box-sizing: border-box; }
.holistica-container { width: min(100%, 1280px); margin: 0 auto; padding-left: 1rem; padding-right: 1rem; }
.holistica-container--narrow { max-width: 860px; }
.holistica-widget-section h1, .holistica-widget-section h2, .holistica-widget-section h3 { color: var(--holistica-navy); font-family: var(--holistica-heading); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.holistica-eyebrow { margin: 0 0 1rem; color: var(--holistica-gold); font-family: var(--holistica-micro); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.holistica-separator { display: block; width: 60px; height: 1px; background: var(--holistica-gold); margin: 1.25rem 0; }
.holistica-section-heading { max-width: 720px; margin-bottom: 3.5rem; }
.holistica-section-heading--center { margin-right: auto; margin-left: auto; text-align: center; }
.holistica-section-heading--center .holistica-separator { margin-right: auto; margin-left: auto; }
.holistica-section-heading h1, .holistica-section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 2.8rem); }
.holistica-section-heading__text { color: rgba(31, 42, 48, .7); font-size: 1rem; line-height: 1.75; }
.holistica-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; padding: .75rem 1.55rem; border: 0; border-radius: 999px; background: var(--holistica-olive); color: #fff !important; font-family: var(--holistica-micro); font-size: .875rem; font-weight: 600; text-decoration: none !important; transition: background .25s ease, transform .25s ease, box-shadow .25s ease; }
.holistica-button:hover, .holistica-button:focus { background: var(--holistica-gold); box-shadow: 0 8px 20px rgba(31, 42, 48, .15); color: var(--holistica-navy) !important; transform: translateY(-1px); }
.holistica-button--large { min-height: 56px; padding: 1rem 2rem; }
.holistica-text-link { color: var(--holistica-olive); font-family: var(--holistica-micro); font-size: .875rem; font-weight: 600; text-decoration: none; }
.holistica-text-link:hover { color: var(--holistica-gold); }
.holistica-topbar { background: var(--holistica-navy); color: rgba(255,255,255,.8); font-family: var(--holistica-micro); font-size: .8125rem; }
.holistica-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 36px; }
.holistica-topbar__contacts { display: flex; gap: 1.5rem; }
.holistica-topbar__link, .holistica-topbar__address { display: inline-flex; align-items: center; gap: .45rem; color: inherit; text-decoration: none; }
.holistica-topbar__link span, .holistica-topbar__address span { color: var(--holistica-gold); }
.holistica-header { z-index: 100; background: rgba(239,226,216,.98); font-family: var(--holistica-micro); }
.holistica-header--sticky { position: sticky; top: 0; }
.holistica-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 80px; }
.holistica-brand { display: flex; flex-direction: column; color: var(--holistica-olive); line-height: 1; text-decoration: none; }
.holistica-brand__image { width: auto; height: 48px; max-width: 190px; object-fit: contain; object-position: left center; }
.holistica-brand__text { font-family: var(--holistica-heading); font-size: 1.4rem; font-weight: 700; }
.holistica-brand__subtitle { margin-top: .3rem; color: rgba(79,91,67,.65); font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; }
.holistica-navigation { flex: 1; }
.holistica-navigation__list { display: flex; justify-content: center; gap: 1.4rem; margin: 0; padding: 0; list-style: none; }
.holistica-navigation__item { position: relative; }
.holistica-navigation__item > a { display: inline-flex; align-items: center; gap: .25rem; padding: .6rem 0; color: rgba(79,91,67,.84); font-size: .8125rem; font-weight: 600; letter-spacing: .02em; text-decoration: none; transition: color .2s; }
.holistica-navigation__item > a:hover { color: var(--holistica-gold); }
.holistica-navigation__chevron { font-size: 1rem; line-height: .8; }
.holistica-navigation__submenu { position: absolute; top: calc(100% + .5rem); left: -1rem; display: none; min-width: 190px; margin: 0; padding: .55rem; border: 1px solid rgba(174,184,163,.25); border-radius: .6rem; background: #fff; box-shadow: 0 16px 35px rgba(31,42,48,.12); list-style: none; }
.holistica-navigation__item:hover .holistica-navigation__submenu { display: block; }
.holistica-navigation__submenu a { display: block; padding: .55rem .65rem; border-radius: .35rem; color: rgba(79,91,67,.85); font-size: .8125rem; text-decoration: none; }
.holistica-navigation__submenu a:hover { background: rgba(239,226,216,.65); color: var(--holistica-gold); }
.holistica-menu-toggle, .holistica-header__mobile { display: none; }
.holistica-hero { display: flex; align-items: center; min-height: min(90vh, 900px); overflow: hidden; background: var(--holistica-hero-bg); }
.holistica-hero__media, .holistica-hero__overlay { position: absolute; inset: 0; }
.holistica-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.holistica-hero__overlay { background: linear-gradient(90deg, color-mix(in srgb, var(--holistica-hero-bg) 95%, transparent), color-mix(in srgb, var(--holistica-hero-bg) 75%, transparent), color-mix(in srgb, var(--holistica-hero-bg) 34%, transparent)); }
.holistica-hero__content { position: relative; z-index: 1; max-width: 1280px; padding-top: 6rem; padding-bottom: 6rem; }
.holistica-hero__content > * { max-width: 680px; }
.holistica-hero__title { margin: 0 0 1.5rem; font-size: clamp(3rem, 6vw, 5.2rem); }
.holistica-hero__title span { color: var(--holistica-olive); }
.holistica-hero__description { margin-bottom: 2.5rem; color: rgba(31,42,48,.75); font-size: 1.1rem; line-height: 1.75; }
.holistica-collection, .holistica-managed-section, .holistica-testimonials, .holistica-faq, .holistica-booking, .holistica-booking-page { padding-top: 5rem; padding-bottom: 5rem; }
.holistica-collection { background: var(--holistica-beige); }
.holistica-card-grid, .holistica-testimonial-grid { display: grid; gap: 1.5rem; }
.holistica-card-grid--1 { grid-template-columns: 1fr; }.holistica-card-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }.holistica-card-grid--3, .holistica-testimonial-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }.holistica-card-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.holistica-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(174,184,163,.32); border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: 0 2px 8px rgba(31,42,48,.035); transition: box-shadow .3s, transform .3s; }
.holistica-card:hover { box-shadow: 0 15px 32px rgba(31,42,48,.12); transform: translateY(-4px); }
.holistica-card__media { aspect-ratio: 16/10; overflow: hidden; }.holistica-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.holistica-card:hover .holistica-card__media img { transform: scale(1.04); }
.holistica-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.65rem; }
.holistica-card__body h3 { margin: 0 0 .7rem; font-size: 1.2rem; }.holistica-card__eyebrow { margin: 0 0 .45rem; color: var(--holistica-gold); font-family: var(--holistica-micro); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.holistica-card__excerpt { margin-bottom: 1.25rem; color: rgba(31,42,48,.68); font-size: .875rem; line-height: 1.7; }.holistica-card__price { margin-top: auto; color: var(--holistica-olive); font-family: var(--holistica-micro); font-size: .875rem; font-weight: 700; }
.holistica-managed-section--empathy { background: #fff; }.holistica-managed-section--steps { background: var(--holistica-sage); }.holistica-managed-section--about { background: var(--holistica-beige); }.holistica-managed-section--cta { overflow: hidden; color: #fff; background: var(--holistica-navy); }.holistica-managed-section--cta h2, .holistica-managed-section--cta .holistica-section-heading__text { color: #fff; }.holistica-managed-section__background { position:absolute; inset:0; }.holistica-managed-section__background img { width:100%;height:100%;object-fit:cover; }.holistica-managed-section__overlay { position:absolute; inset:0; background:rgba(31,42,48,.78); }.holistica-managed-section--cta .holistica-managed-section__inner { position:relative; z-index:1; text-align:center; }.holistica-managed-section--cta .holistica-section-heading { margin-right:auto; margin-left:auto; }
.holistica-managed-items { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }.holistica-managed-item { padding: 2rem; border: 1px solid rgba(174,184,163,.32); border-radius: 24px; background: rgba(255,255,255,.75); color: rgba(31,42,48,.72); line-height:1.7; }.holistica-managed-item h3 { margin: 0 0 .75rem; font-size: 1.2rem; }.holistica-step-number { display: inline-flex; align-items:center; justify-content:center; width: 48px; height:48px; margin-bottom:1.25rem; border-radius:16px; background:var(--holistica-olive); color:#fff; font-family:var(--holistica-micro); font-weight:700; }.holistica-managed-section__cta { margin-top:2.5rem; text-align:center; }
.holistica-about-grid, .holistica-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4rem; align-items:center; }.holistica-about-copy { color:rgba(31,42,48,.72); line-height:1.8; }.holistica-about-image { overflow:hidden; border-radius:24px; aspect-ratio:4/5; }.holistica-about-image img { width:100%; height:100%; object-fit:cover; }.holistica-rich-content { max-width:860px; margin:0 auto; color:rgba(31,42,48,.78); line-height:1.8; }.holistica-rich-content h1,.holistica-rich-content h2,.holistica-rich-content h3 { margin-top:2rem; }.holistica-rich-content img { max-width:100%; height:auto; border-radius:16px; }
.holistica-testimonials { background:var(--holistica-beige); }.holistica-testimonial { padding:2rem; border-radius:24px; background:#fff; box-shadow:0 2px 8px rgba(31,42,48,.04); }.holistica-testimonial__stars { color:var(--holistica-gold); letter-spacing:.12em; }.holistica-testimonial blockquote { margin:1rem 0; color:rgba(31,42,48,.74); line-height:1.75; }.holistica-testimonial__author { margin:0; color:var(--holistica-olive); font-family:var(--holistica-micro); font-size:.825rem; font-weight:700; }.holistica-testimonial span { color:rgba(31,42,48,.5); font-size:.75rem; }
.holistica-faq { background:#fff; }.holistica-accordion__item { border-bottom:1px solid rgba(174,184,163,.4); }.holistica-accordion__trigger { display:flex; align-items:center; justify-content:space-between; width:100%; padding:1.2rem 0; border:0; background:transparent; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:1.05rem; font-weight:700; text-align:left; cursor:pointer; }.holistica-accordion__trigger span:last-child { color:var(--holistica-gold); font-size:1.5rem; }.holistica-accordion__panel { padding:0 0 1.4rem; color:rgba(31,42,48,.72); line-height:1.75; }
.holistica-booking { background:var(--holistica-beige); }.holistica-booking__panel { max-width:720px; margin:0 auto; padding:2.4rem; border-radius:24px; background:#fff; box-shadow:0 15px 35px rgba(31,42,48,.08); }.holistica-booking__panel h2 { margin-top:0; }.holistica-form { display:grid; gap:1rem; }.holistica-form__field label { display:block; margin-bottom:.45rem; font-family:var(--holistica-micro); font-size:.8rem; font-weight:600; }.holistica-form__field input:not([type=checkbox]), .holistica-form__field textarea, .holistica-form__field select { width:100%; padding:.8rem .9rem; border:1px solid rgba(79,91,67,.25); border-radius:9px; background:#fff; color:var(--holistica-navy); font:inherit; }.holistica-form__field textarea { resize:vertical; }.holistica-form__field--checkbox label { display:flex; align-items:flex-start; gap:.7rem; line-height:1.45; }.holistica-honeypot { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; }
.holistica-contact-list { display:grid; gap:1rem; margin:2rem 0 0; padding:0; list-style:none; }.holistica-contact-list li { display:grid; gap:.2rem; }.holistica-contact-list strong { color:var(--holistica-olive); font-family:var(--holistica-micro); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }.holistica-contact-list a { color:var(--holistica-navy); text-decoration:none; }.holistica-contact-map { width:100%; min-height:360px; border:0; border-radius:24px; }
.holistica-footer { padding-top:5rem; padding-bottom:2rem; background:var(--holistica-navy); color:rgba(255,255,255,.66); }.holistica-footer h2,.holistica-footer h3 { color:#fff; }.holistica-footer h3 { margin-top:0; font-family:var(--holistica-micro); font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; }.holistica-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; }.holistica-footer__brand img { width:auto; height:44px; margin-bottom:1.3rem; filter:brightness(0) invert(1); }.holistica-footer ul { margin:0; padding:0; list-style:none; }.holistica-footer li { margin-bottom:.8rem; }.holistica-footer a { color:rgba(255,255,255,.66); font-size:.85rem; text-decoration:none; }.holistica-footer a:hover { color:var(--holistica-gold); }.holistica-social-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }.holistica-footer__bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.45); font-family:var(--holistica-micro); font-size:.7rem; }.holistica-footer__bottom ul { display:flex; flex-wrap:wrap; gap:1rem; }.holistica-footer__bottom li { margin:0; }
.holistica-floating-booking, .holistica-whatsapp { position:fixed; right:24px; z-index:99; display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.75rem 1.1rem; border-radius:999px; box-shadow:0 8px 25px rgba(31,42,48,.2); color:#fff !important; font-family:var(--holistica-micro); font-size:.8rem; font-weight:700; text-decoration:none !important; }.holistica-floating-booking { bottom:24px; background:var(--holistica-olive); }.holistica-whatsapp { bottom:84px; background:#25d366; }
@media (max-width: 991px) { .holistica-navigation, .holistica-header__cta { display:none; }.holistica-menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:4px; width:40px; height:40px; padding:0; border:0; background:transparent; }.holistica-menu-toggle span { display:block; width:23px; height:2px; background:var(--holistica-olive); }.holistica-header__mobile { position:absolute; top:100%; right:0; left:0; padding:1.25rem 0 1.5rem; border-top:1px solid rgba(174,184,163,.35); background:var(--holistica-beige); }.holistica-header__mobile[hidden] { display:none; }.holistica-mobile-navigation { margin:0 0 1rem; padding:0; list-style:none; }.holistica-mobile-navigation > li { padding:.65rem 0; border-bottom:1px solid rgba(174,184,163,.25); }.holistica-mobile-navigation a { color:var(--holistica-olive); font-family:var(--holistica-micro); font-size:.9rem; font-weight:600; text-decoration:none; }.holistica-mobile-navigation ul { display:grid; gap:.5rem; margin:.75rem 0 0 1rem; padding:0; list-style:none; }.holistica-mobile-navigation ul a { color:rgba(79,91,67,.68); font-size:.8rem; }.holistica-header__mobile-cta { display:flex; }.holistica-card-grid--4 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 767px) { .holistica-desktop-only { display:none; }.holistica-hero { min-height:640px; }.holistica-hero__overlay { background:linear-gradient(90deg, color-mix(in srgb, var(--holistica-hero-bg) 94%, transparent), color-mix(in srgb, var(--holistica-hero-bg) 72%, transparent)); }.holistica-hero__title { font-size:clamp(2.5rem,12vw,4rem); }.holistica-collection,.holistica-managed-section,.holistica-testimonials,.holistica-faq,.holistica-booking,.holistica-booking-page { padding-top:3.75rem; padding-bottom:3.75rem; }.holistica-section-heading { margin-bottom:2.5rem; }.holistica-card-grid--2,.holistica-card-grid--3,.holistica-card-grid--4,.holistica-testimonial-grid,.holistica-managed-items,.holistica-about-grid,.holistica-contact-grid,.holistica-footer__grid { grid-template-columns:1fr; }.holistica-footer__bottom { flex-direction:column; }.holistica-topbar__inner { justify-content:center; }.holistica-topbar__address { display:none; }.holistica-booking__panel { padding:1.4rem; }.holistica-floating-booking { right:16px; bottom:16px; }.holistica-whatsapp { right:16px; bottom:76px; } }

/* Fallback storefront and dynamically routed content pages. These are used when a
   Creative Elements document has not yet been assigned to a PrestaShop page. */
.holistica-fallback-site { overflow:hidden; background:#fff; color:var(--holistica-navy); }
.holistica-fallback-header { position:sticky; top:0; z-index:200; border-bottom:1px solid rgba(79,91,67,.12); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.holistica-fallback-header__inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:78px; }
.holistica-fallback-header .holistica-brand { display:block; color:var(--holistica-olive); font-family:var(--holistica-heading); font-size:1.42rem; font-weight:700; }
.holistica-fallback-nav ul { display:flex; align-items:center; gap:1.25rem; margin:0; padding:0; list-style:none; }
.holistica-fallback-nav a { color:rgba(31,42,48,.82); font-family:var(--holistica-micro); font-size:.78rem; font-weight:600; text-decoration:none; }
.holistica-fallback-nav a:hover { color:var(--holistica-gold); }
.holistica-fallback-site .holistica-managed-section--empathy .holistica-managed-item { border:0; background:transparent; text-align:center; box-shadow:none; }
.holistica-fallback-site .holistica-managed-section--empathy .holistica-managed-item p { margin:0; font-size:1.13rem; line-height:1.78; }
.holistica-fallback-site .holistica-managed-items--steps .holistica-managed-item { background:rgba(255,255,255,.75); }
.holistica-content-page { min-height:60vh; background:#fff; color:var(--holistica-navy); }
.holistica-content-page__hero { padding:6.5rem 0 5rem; background:linear-gradient(120deg, #344436, #1f2a30); color:#fff; }
.holistica-content-page__hero h1 { max-width:900px; margin:.3rem 0 0; color:#fff; font-family:var(--holistica-heading); font-size:clamp(2.6rem,6vw,4.6rem); line-height:1.08; }
.holistica-content-page__hero p:not(.holistica-eyebrow) { max-width:720px; margin:1.25rem 0 0; color:rgba(255,255,255,.78); font-family:var(--holistica-body); font-size:1.08rem; line-height:1.75; }
.holistica-content-page__body { padding-top:5rem; padding-bottom:5rem; }
.holistica-content-page__article { max-width:880px; margin:0 auto; color:rgba(31,42,48,.8); font-family:var(--holistica-body); font-size:1.06rem; line-height:1.85; }
.holistica-content-page__article h1,.holistica-content-page__article h2,.holistica-content-page__article h3 { margin-top:2.1rem; color:var(--holistica-navy); font-family:var(--holistica-heading); }
.holistica-content-page__article img { max-width:100%; height:auto; border-radius:20px; }
.holistica-content-page__feature { display:block; width:100%; max-height:520px; margin:0 0 2.2rem; object-fit:cover; }
.holistica-content-page__booking { margin-top:2.5rem; }
.holistica-content-page .holistica-card__body h2 { margin:0 0 .7rem; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:1.18rem; line-height:1.3; }
.holistica-content-page .holistica-section-heading { margin-top:4.5rem; }
.holistica-related-pages { display:grid; gap:1px; max-width:880px; margin:3.5rem auto 0; overflow:hidden; border:1px solid rgba(79,91,67,.18); border-radius:18px; background:rgba(79,91,67,.18); }
.holistica-related-pages h2 { grid-column:1/-1; margin:0; padding:1.5rem 1.7rem; background:#fff; color:var(--holistica-navy); font-family:var(--holistica-heading); }
.holistica-related-pages a { display:grid; gap:.45rem; padding:1.35rem 1.7rem; background:#fff; color:var(--holistica-navy); text-decoration:none; }
.holistica-related-pages a:hover { background:var(--holistica-beige); }
.holistica-related-pages span { color:rgba(31,42,48,.65); font-family:var(--holistica-body); font-size:.91rem; line-height:1.55; }
.holistica-contact-grid { align-items:start; max-width:980px; margin:0 auto; }
.holistica-contact-form { display:grid; gap:1rem; padding:2rem; border-radius:20px; background:var(--holistica-beige); }
.holistica-contact-form label { display:grid; gap:.45rem; color:var(--holistica-navy); font-family:var(--holistica-micro); font-size:.8rem; font-weight:700; }
.holistica-contact-form input,.holistica-contact-form textarea { width:100%; padding:.8rem .9rem; border:1px solid rgba(79,91,67,.25); border-radius:8px; background:#fff; color:var(--holistica-navy); font:inherit; }
@media (max-width: 991px) { .holistica-fallback-nav { display:none; } }
@media (max-width: 767px) { .holistica-fallback-header__inner { min-height:64px; gap:.75rem; }.holistica-fallback-header .holistica-button { min-height:40px; padding:.6rem 1rem; font-size:.75rem; }.holistica-content-page__hero { padding:4.5rem 0 3.5rem; }.holistica-content-page__body { padding-top:3.25rem; padding-bottom:3.25rem; } }

/* Reference-matched interactive components and individual section designs. */
.holistica-topbar { min-height:40px; background:#1f2a30; color:#f4efe6; }
.holistica-topbar__inner { min-height:40px; padding-top:.45rem; padding-bottom:.45rem; }
.holistica-topbar__contacts { align-items:center; gap:2rem; min-width:0; }
.holistica-topbar__link,.holistica-topbar__address { color:#f4efe6; font-size:.8rem; font-weight:600; letter-spacing:.01em; opacity:1; white-space:nowrap; }
.holistica-topbar__link:hover { color:var(--holistica-gold); }
.holistica-topbar__icon { color:var(--holistica-gold); font-size:.92rem; }

.holistica-faq { background:var(--holistica-olive); color:#f6f1e8; }
.holistica-faq .holistica-section-heading { max-width:900px; }
.holistica-faq .holistica-section-heading h2 { color:#f6f1e8; font-size:clamp(2.15rem,4.5vw,3.45rem); }
.holistica-faq .holistica-accordion { max-width:1020px; margin:0 auto; }
.holistica-faq .holistica-accordion__item { border-color:rgba(246,241,232,.15); }
.holistica-faq .holistica-accordion__trigger { padding:1.55rem 0; color:#f6f1e8; font-size:clamp(1rem,1.7vw,1.28rem); }
.holistica-faq .holistica-accordion__trigger span:last-child { color:#e9dcba; font-size:1.45rem; transition:transform .2s; }
.holistica-faq .holistica-accordion__trigger[aria-expanded="true"] span:last-child { transform:rotate(45deg); }
.holistica-faq .holistica-accordion__panel { color:rgba(246,241,232,.82); font-size:1rem; }

.holistica-video-section { background:#1f2a30; color:#f4efe6; }
.holistica-video-section .holistica-section-heading h2 { color:#f4efe6; }
.holistica-video-section .holistica-section-heading__text { color:rgba(244,239,230,.7); }
.holistica-video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; }
.holistica-video-card { overflow:hidden; border-radius:14px; background:#2b3940; box-shadow:0 15px 30px rgba(0,0,0,.22); }
.holistica-video-card__trigger { display:block; width:100%; padding:0; border:0; background:transparent; color:#f4efe6; text-align:left; cursor:pointer; }
.holistica-video-card__trigger:disabled { cursor:default; opacity:.72; }
.holistica-video-card__media { position:relative; display:block; aspect-ratio:9/13; overflow:hidden; background:#17242b; }
.holistica-video-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.holistica-video-card__trigger:hover .holistica-video-card__media img { transform:scale(1.04); }
.holistica-video-card__media::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.35)); content:""; }
.holistica-video-card__badge { position:absolute; z-index:1; top:1rem; left:1rem; padding:.35rem .6rem; border-radius:999px; background:rgba(31,42,48,.83); color:#fff; font-family:var(--holistica-micro); font-size:.68rem; }
.holistica-video-card__play { position:absolute; z-index:1; top:50%; left:50%; display:grid; width:64px; height:64px; place-items:center; transform:translate(-50%,-50%); border-radius:50%; background:rgba(245,231,222,.88); color:var(--holistica-olive); font-size:1.35rem; padding-left:.16rem; }
.holistica-video-card__body { display:grid; gap:.5rem; padding:1rem 1.1rem 1.25rem; }
.holistica-video-card__body strong { color:#f4efe6; font-family:var(--holistica-heading); font-size:.91rem; line-height:1.35; }
.holistica-video-card__body span { color:rgba(244,239,230,.68); font-family:var(--holistica-body); font-size:.76rem; line-height:1.5; }

.holistica-about-reference { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:4.5rem; align-items:center; }
.holistica-about-reference__content { max-width:700px; }
.holistica-about-reference__content .holistica-section-heading { margin-bottom:1.65rem; }
.holistica-about-reference__content .holistica-section-heading h2 { font-size:clamp(2rem,3vw,3rem); }
.holistica-about-reference__image { align-self:end; min-height:500px; overflow:hidden; }
.holistica-about-reference__image img { display:block; width:100%; height:100%; max-height:650px; object-fit:contain; object-position:center bottom; }
.holistica-credential-list { display:flex; flex-wrap:wrap; gap:.65rem .7rem; margin:1.75rem 0 2rem; padding:0; list-style:none; }
.holistica-credential-list li { display:inline-flex; align-items:center; gap:.42rem; padding:.52rem .75rem; border:1px solid rgba(79,91,67,.16); border-radius:999px; background:rgba(255,255,255,.68); box-shadow:0 3px 8px rgba(31,42,48,.04); color:var(--holistica-navy); font-family:var(--holistica-micro); font-size:.73rem; }
.holistica-credential-list li span { color:var(--holistica-gold); }
.holistica-about-reference__link { display:inline-flex; align-items:center; gap:.5rem; }

.holistica-managed-section--empathy { background:#fff; }
.holistica-empathy__primary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; max-width:1100px; margin:0 auto 2rem; }
.holistica-empathy__card { min-height:170px; padding:2.2rem; border:1px solid rgba(79,91,67,.18); border-radius:18px; color:rgba(31,42,48,.7); font-size:1.03rem; line-height:1.7; }
.holistica-empathy__highlights { display:grid; gap:1rem; max-width:820px; margin:0 auto; }
.holistica-empathy__highlights article { padding:1.2rem 1.75rem; border:1px solid rgba(79,91,67,.17); border-radius:16px; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:1.15rem; font-weight:700; text-align:center; }

.holistica-managed-section--steps { background:var(--holistica-sage); }
.holistica-steps-reference { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; max-width:1060px; margin:0 auto; }
.holistica-step-reference { padding:2rem 2.5rem; border-radius:23px; background:rgba(255,255,255,.83); color:rgba(31,42,48,.7); text-align:center; line-height:1.7; }
.holistica-step-reference__icon { display:grid; width:64px; height:64px; margin:0 auto 1.5rem; place-items:center; border-radius:18px; background:var(--holistica-olive); color:#fff; font-size:1.35rem; }
.holistica-step-reference__number { margin:0 0 .75rem; color:var(--holistica-gold); font-family:var(--holistica-micro); font-size:.72rem; font-weight:700; letter-spacing:.15em; }
.holistica-step-reference h3 { margin:0 0 .85rem; font-size:1.35rem; }

.holistica-managed-section--cta { min-height:385px; display:flex; align-items:center; background:#1f2a30; }
.holistica-banner-reference { position:relative; z-index:1; max-width:1100px; margin:0 auto; color:#f5eee5; text-align:center; }
.holistica-banner-reference h2 { margin:0 0 1.1rem; color:#f5eee5; font-size:clamp(2rem,4.2vw,3.4rem); }
.holistica-banner-reference > div { max-width:620px; margin:0 auto 2rem; color:rgba(245,238,229,.82); font-size:1.08rem; line-height:1.65; }
.holistica-button--gold { background:var(--holistica-gold); color:var(--holistica-navy) !important; }
.holistica-button--gold:hover { background:#f0d287; }

.holistica-modal[hidden] { display:none !important; }
.holistica-modal { position:fixed; z-index:99999; inset:0; display:grid; place-items:center; padding:1.25rem; }
.holistica-modal__backdrop { position:absolute; inset:0; background:rgba(15,25,29,.78); backdrop-filter:blur(4px); }
.holistica-modal__dialog { position:relative; z-index:1; width:min(100%,680px); max-height:calc(100vh - 2.5rem); overflow:auto; padding:2.35rem; border-radius:24px; background:#fff; box-shadow:0 25px 70px rgba(0,0,0,.35); }
.holistica-modal__dialog--video { width:min(100%,900px); background:#17242b; color:#f5eee5; }
.holistica-modal__dialog--video h2 { margin:0 2rem 1.2rem 0; color:#f5eee5; font-size:1.2rem; }
.holistica-modal__close { position:absolute; top:.85rem; right:.85rem; display:grid; width:34px; height:34px; place-items:center; border:0; border-radius:50%; background:rgba(79,91,67,.11); color:var(--holistica-navy); font-size:1.45rem; line-height:1; cursor:pointer; }
.holistica-modal__dialog--video .holistica-modal__close { background:rgba(255,255,255,.14); color:#fff; }
.holistica-modal__intro { margin:0 0 1.5rem; color:rgba(31,42,48,.68); line-height:1.6; }
.holistica-video-player { aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#0f171a; }
.holistica-video-player iframe,.holistica-video-player video { width:100%; height:100%; border:0; }
body.holistica-modal-open { overflow:hidden; }

@media (max-width:991px) { .holistica-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.holistica-about-reference { grid-template-columns:1fr; gap:2rem; }.holistica-about-reference__image { min-height:360px; max-width:460px; margin:0 auto; }.holistica-steps-reference { gap:1.25rem; } }
@media (max-width:767px) { .holistica-topbar__inner { flex-wrap:wrap; justify-content:center; gap:.45rem 1rem; min-height:unset; }.holistica-topbar__contacts { flex-wrap:wrap; justify-content:center; gap:.45rem 1rem; }.holistica-topbar__address { width:100%; justify-content:center; }.holistica-video-grid,.holistica-empathy__primary,.holistica-steps-reference { grid-template-columns:1fr; }.holistica-video-card__media { aspect-ratio:9/11; }.holistica-empathy__card { min-height:0; padding:1.5rem; }.holistica-empathy__highlights article { padding:1rem 1.2rem; font-size:1rem; }.holistica-step-reference { padding:1.7rem 1.35rem; }.holistica-managed-section--cta { min-height:330px; }.holistica-modal { padding:.65rem; }.holistica-modal__dialog { max-height:calc(100vh - 1.3rem); padding:1.5rem 1.2rem; border-radius:18px; } }
.holistica-collection--custom-bg { background-image:linear-gradient(rgba(239,226,216,.86),rgba(239,226,216,.86)),var(--holistica-custom-section-bg); background-position:center; background-size:cover; }
.holistica-video-section.holistica-collection--custom-bg { background-image:linear-gradient(rgba(31,42,48,.88),rgba(31,42,48,.88)),var(--holistica-custom-section-bg); }

/* Prevent Creative Elements/theme focus decoration from drawing a blue card border. */
.holistica-video-card__trigger,.holistica-video-card__trigger:hover,.holistica-video-card__trigger:focus,.holistica-video-card__trigger:focus-visible,.holistica-button,.holistica-button:hover,.holistica-button:focus,.holistica-button:focus-visible,.holistica-floating-booking,.holistica-floating-booking:focus { border:0 !important; outline:0 !important; box-shadow:none; }
.holistica-video-card__trigger:focus-visible,.holistica-button:focus-visible { box-shadow:0 0 0 3px rgba(200,167,93,.55) !important; }
.holistica-booking-player { height:min(76vh,720px); overflow:hidden; border-radius:14px; background:#fff; }
.holistica-booking-player iframe { width:100%; height:100%; border:0; }
.holistica-video-card__trigger:focus-visible,.holistica-button:focus-visible { box-shadow:none !important; }

/* Reference-style desktop dropdown navigation. */
.holistica-navigation__parent { display:inline-flex; align-items:center; gap:.28rem; padding:.6rem 0; border:0; background:transparent; color:rgba(79,91,67,.84); font-family:var(--holistica-micro); font-size:.8125rem; font-weight:600; letter-spacing:.02em; cursor:pointer; transition:color .2s ease; }
.holistica-navigation__parent:hover,.holistica-navigation__item:focus-within .holistica-navigation__parent { color:var(--holistica-gold); }
.holistica-navigation__item:hover .holistica-navigation__submenu,.holistica-navigation__item:focus-within .holistica-navigation__submenu { display:block; animation:holistica-dropdown-in .18s ease both; }
.holistica-navigation__item:hover .holistica-navigation__chevron,.holistica-navigation__item:focus-within .holistica-navigation__chevron { transform:rotate(180deg); }
.holistica-navigation__chevron { display:inline-block; transition:transform .2s ease; }
.holistica-navigation__submenu { top:calc(100% + .35rem); left:-1.1rem; min-width:182px; padding:.8rem .6rem; border:0; border-radius:14px; box-shadow:0 16px 32px rgba(31,42,48,.16); }
.holistica-navigation__submenu a { padding:.66rem .72rem; color:rgba(79,91,67,.8); font-size:.82rem; transition:color .18s ease,background .18s ease; }
.holistica-navigation__submenu a:hover { background:rgba(239,226,216,.72); color:var(--holistica-olive); }
@keyframes holistica-dropdown-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.holistica-mobile-navigation__parent { display:flex; align-items:center; justify-content:space-between; width:100%; padding:0; border:0; background:transparent; color:var(--holistica-olive); font:600 .9rem var(--holistica-micro); text-align:left; }
.holistica-mobile-navigation__parent span { color:var(--holistica-gold); transition:transform .2s; }
.holistica-mobile-navigation__parent[aria-expanded="true"] span { transform:rotate(180deg); }

/* Reference service detail layout. */
.holistica-service-hero__cta { margin-top:2rem; }
.holistica-service-detail { max-width:1040px; margin:0 auto; }
.holistica-service-detail__intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:3rem; align-items:start; margin-bottom:5rem; }
.holistica-service-detail__feature { width:100%; max-height:480px; border-radius:24px; object-fit:cover; }
.holistica-service-detail .holistica-rich-content { max-width:none; margin:0; }
.holistica-service-block { margin:0 0 4rem; padding:3rem; border:1px solid rgba(79,91,67,.14); border-radius:24px; background:#fff; }
.holistica-service-block--soft { background:var(--holistica-beige); border:0; }
.holistica-service-block header { max-width:760px; margin-bottom:2rem; }
.holistica-service-block h2,.holistica-service-difference h2,.holistica-service-final-cta h2 { margin:0; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:clamp(1.8rem,3vw,2.7rem); }
.holistica-service-checklist { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.holistica-service-checklist li { position:relative; padding-left:1.8rem; color:rgba(31,42,48,.75); font-size:1.02rem; line-height:1.65; }
.holistica-service-checklist li::before { position:absolute; top:.48rem; left:0; width:.72rem; height:.72rem; border-radius:50%; background:var(--holistica-gold); content:""; box-shadow:0 0 0 4px rgba(200,167,93,.14); }
.holistica-service-block__closing { margin:2rem 0 0; color:var(--holistica-olive); font-family:var(--holistica-heading); font-weight:700; }
.holistica-service-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.holistica-service-steps article { padding:1.75rem; border-radius:18px; background:rgba(255,255,255,.84); }
.holistica-service-steps span { display:block; width:42px; height:4px; margin-bottom:1.2rem; border-radius:999px; background:var(--holistica-gold); }
.holistica-service-steps h3 { margin:0 0 .8rem; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:1.1rem; }
.holistica-service-steps p { margin:0; color:rgba(31,42,48,.72); line-height:1.65; }
.holistica-service-difference { margin:0 0 4rem; padding:4rem; border-radius:24px; background:var(--holistica-olive); color:rgba(246,241,232,.87); }
.holistica-service-difference h2 { color:#f6f1e8; }.holistica-service-difference blockquote { margin:1.8rem 0; color:#e8d39d; font:1.35rem/1.5 var(--holistica-body); }
.holistica-service-difference p:last-child { max-width:780px; margin-bottom:0; line-height:1.8; }
.holistica-service-price { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin:0 0 4rem; padding:2.5rem 3rem; border-radius:22px; background:var(--holistica-navy); color:#f6f1e8; }
.holistica-service-price .holistica-eyebrow { margin-bottom:.5rem; }.holistica-service-price strong { display:block; font:700 2.2rem var(--holistica-heading); }.holistica-service-price span { display:block; margin-top:.6rem; color:rgba(246,241,232,.78); font-size:.92rem; }
.holistica-service-faq details { border-top:1px solid rgba(79,91,67,.17); }.holistica-service-faq summary { display:flex; align-items:center; justify-content:space-between; padding:1.15rem 0; color:var(--holistica-navy); font:700 1.02rem var(--holistica-heading); cursor:pointer; list-style:none; }.holistica-service-faq summary::-webkit-details-marker { display:none; }.holistica-service-faq summary span { color:var(--holistica-gold); font-size:1.4rem; }.holistica-service-faq details[open] summary span { transform:rotate(45deg); }.holistica-service-faq details p { max-width:790px; margin:0 0 1.25rem; color:rgba(31,42,48,.72); line-height:1.75; }
.holistica-service-final-cta { padding:4.5rem 2rem; border-radius:24px; background:linear-gradient(115deg,#24322b,#1f2a30); color:#f6f1e8; text-align:center; }.holistica-service-final-cta p { margin:0 0 .8rem; color:#e8d39d; font-family:var(--holistica-micro); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.holistica-service-final-cta h2 { max-width:720px; margin:0 auto 2rem; color:#f6f1e8; }
@media (max-width:767px) { .holistica-service-detail__intro,.holistica-service-steps { grid-template-columns:1fr; }.holistica-service-block,.holistica-service-difference { padding:2rem 1.35rem; }.holistica-service-price { flex-direction:column; align-items:flex-start; padding:2rem 1.35rem; }.holistica-service-final-cta { padding:3rem 1.35rem; } }

/* Compact brand mark for dynamic content headers. */
.holistica-dynamic-shell .holistica-header__inner { min-height:68px; }
.holistica-dynamic-shell .holistica-brand__image { height:36px; max-width:150px; }
.holistica-dynamic-shell .holistica-brand__text { font-size:1.15rem; }

/* Do not expose desktop hover dropdowns on touch/tablet layouts. */
@media (max-width: 900px) {
  .holistica-header .holistica-navigation { display:none !important; }
  .holistica-header .holistica-header__cta { display:none !important; }
  .holistica-header .holistica-menu-toggle { display:inline-flex !important; }
  .holistica-header .holistica-navigation__submenu { display:none !important; }
  .holistica-header__mobile { display:block; background:#fff; border-top:1px solid rgba(79,91,67,.1); }
  .holistica-header__mobile[hidden] { display:none !important; }
  .holistica-mobile-navigation { display:grid; gap:1rem; margin:0; padding:1.3rem 0; list-style:none; }
  .holistica-mobile-navigation > li { margin:0; }
  .holistica-mobile-navigation a { color:var(--holistica-olive); font-family:var(--holistica-micro); font-size:.95rem; font-weight:600; text-decoration:none; }
  .holistica-mobile-navigation ul { display:grid; gap:.65rem; margin:.8rem 0 0 1rem; padding:0; list-style:none; }
  .holistica-mobile-navigation ul[hidden] { display:none; }
  .holistica-topbar__inner { gap:.45rem; align-items:flex-start; flex-direction:column; padding:.55rem 0; }
  .holistica-topbar__contacts { flex-wrap:wrap; gap:.65rem; }
}

/* Lighter reference navigation typography. */
.holistica-navigation__list > .holistica-navigation__item > a,
.holistica-navigation__parent { font-size:.83rem; font-weight:400; letter-spacing:.008em; }
.holistica-navigation__submenu a { font-size:.82rem; font-weight:400; letter-spacing:.005em; }
.holistica-navigation__chevron { font-size:.9em; font-weight:400; }

/* Knowledge article detail layout. */
.holistica-article-detail { max-width:860px; margin:0 auto; }
.holistica-article-detail__meta { display:flex; gap:.8rem; margin:0 0 1.25rem; color:var(--holistica-gold); font-family:var(--holistica-micro); font-size:.74rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.holistica-article-detail__meta span + span::before { margin-right:.8rem; color:rgba(79,91,67,.45); content:'•'; }
.holistica-article-detail__feature { display:block; width:100%; max-height:470px; margin:0 0 2.5rem; border-radius:24px; object-fit:cover; }
.holistica-article-detail__body { color:rgba(31,42,48,.82); font-size:1.08rem; line-height:1.85; }
.holistica-article-detail__body h2 { margin:3rem 0 1rem; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:clamp(1.65rem,2.7vw,2.35rem); line-height:1.25; }
.holistica-article-detail__body h3 { margin:2rem 0 .7rem; color:var(--holistica-olive); font-family:var(--holistica-heading); font-size:1.35rem; }
.holistica-article-detail__body p { margin:0 0 1.25rem; }
.holistica-article-detail__body ul,.holistica-article-detail__body ol { display:grid; gap:.7rem; margin:1.4rem 0 1.6rem; padding-left:1.4rem; }
.holistica-article-detail__body li::marker { color:var(--holistica-gold); }
.holistica-article-detail__body blockquote { margin:2.3rem 0; padding:1.4rem 1.6rem; border-left:3px solid var(--holistica-gold); border-radius:0 14px 14px 0; background:var(--holistica-beige); color:var(--holistica-olive); font:1.18rem/1.65 var(--holistica-heading); }
.holistica-article-detail__cta { margin:4rem 0; padding:3.25rem; border-radius:24px; background:linear-gradient(115deg,#24322b,#1f2a30); color:#f6f1e8; text-align:center; }
.holistica-article-detail__cta h2 { max-width:620px; margin:.7rem auto 1.8rem; color:#f6f1e8; font-family:var(--holistica-heading); font-size:clamp(1.65rem,3vw,2.35rem); }
.holistica-article-related { max-width:1120px; margin:5rem auto 0; padding-top:4rem; border-top:1px solid rgba(79,91,67,.16); }
.holistica-article-related header { margin-bottom:2rem; text-align:center; }
.holistica-article-related h2 { margin:.4rem 0 0; color:var(--holistica-navy); font-family:var(--holistica-heading); font-size:clamp(1.7rem,3vw,2.5rem); }
@media (max-width:767px) { .holistica-article-detail__body { font-size:1rem; }.holistica-article-detail__cta { padding:2.4rem 1.35rem; }.holistica-article-detail__feature { border-radius:18px; }.holistica-article-related { margin-top:3rem; padding-top:3rem; } }

/* ZnanyLekarz calendar widget: keep an explicit loading state and provide a
   legible fallback instead of showing a browser broken-document placeholder. */
.holistica-booking-player { position: relative; min-height: min(68vh, 720px); background: #fff; overflow: hidden; }
.holistica-booking-player iframe { position: relative; z-index: 2; display: block; width: 100%; min-height: min(68vh, 720px); border: 0; background: #fff; }
.holistica-booking-player__loading { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; color: #65705a; font-size: .95rem; background: #fff; }
.holistica-booking-player__fallback { min-height: min(56vh, 560px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; max-width: 34rem; margin: 0 auto; padding: 2rem; text-align: center; color: #26343a; }
.holistica-booking-player__fallback h3 { margin: 0; font-family: var(--holistica-font-heading, Lora, serif); font-size: clamp(1.55rem, 3vw, 2.2rem); }
.holistica-booking-player__fallback p { margin: 0 0 .75rem; color: #617078; line-height: 1.65; }
.holistica-modal__external-link { margin: .75rem 0 0; text-align: center; }
.holistica-modal__external-link a { color: #4f5b43; font-size: .9rem; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 700px) { .holistica-booking-player, .holistica-booking-player iframe { min-height: 70vh; } }

/* Desktop dropdown hover bridge: the transparent area belongs to the parent
   list item, so moving the cursor from the label into its panel cannot close it. */
@media (min-width: 901px) {
  .holistica-navigation__item.has-children::after { content:""; position:absolute; z-index:20; top:100%; left:-1.35rem; right:-1.35rem; height:.7rem; }
  .holistica-navigation__submenu { z-index:21; }
  .holistica-navigation__item.has-children:hover::after,
  .holistica-navigation__item.has-children:focus-within::after { pointer-events:auto; }
}

/* Global corner actions, inspired by the reference site's persistent booking
   CTA on the right and WhatsApp contact action on the left. */
.holistica-fixed-booking { position:fixed; right:1.5rem; bottom:1.5rem; z-index:90; display:inline-flex; align-items:center; gap:.55rem; min-height:3.25rem; padding:.7rem 1rem; border:0; border-radius:999px; background:#4f5b43; color:#fff; box-shadow:0 12px 28px rgba(31,42,48,.25); font-family:var(--holistica-micro, Inter, sans-serif); font-size:.88rem; font-weight:500; cursor:pointer; transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.holistica-fixed-booking:hover { transform:translateY(-2px); background:#c8a75d; color:#1f2a30; box-shadow:0 16px 32px rgba(31,42,48,.3); }
.holistica-fixed-booking__icon { display:inline-flex; align-items:center; justify-content:center; width:1.3rem; height:1.3rem; border:1px solid currentColor; border-radius:50%; font-size:.75rem; line-height:1; }
.holistica-fixed-whatsapp { position:fixed; left:1.5rem; bottom:1.5rem; z-index:90; display:inline-flex; align-items:center; justify-content:center; width:3.75rem; height:3.75rem; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 12px 28px rgba(31,42,48,.25); transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.holistica-fixed-whatsapp svg { width:2rem; height:2rem; }
.holistica-fixed-whatsapp:hover { transform:scale(1.07); background:#20bd5a; box-shadow:0 16px 32px rgba(31,42,48,.3); }
.holistica-fixed-booking:focus-visible,.holistica-fixed-whatsapp:focus-visible { outline:2px solid #c8a75d; outline-offset:3px; }
@media (max-width:700px) { .holistica-fixed-booking { right:1rem; bottom:1rem; min-height:3rem; padding:.65rem .85rem; } .holistica-fixed-booking__label { display:none; } .holistica-fixed-whatsapp { left:1rem; bottom:1rem; width:3.25rem; height:3.25rem; } .holistica-fixed-whatsapp svg { width:1.75rem; height:1.75rem; } }

/* Intentionally borderless interaction state: prevent browser/theme focus rings
   after clicking Holistica buttons, accordions, cards, dropdowns or links. */
.holistica-dynamic-shell *,
.holistica-topbar *,
.holistica-header *,
.holistica-hero *,
.holistica-section *,
.holistica-modal *,
.holistica-fixed-booking,
.holistica-fixed-whatsapp,
[class^="holistica-"] *,
[class*=" holistica-"] * { -webkit-tap-highlight-color: transparent; }
.holistica-dynamic-shell :focus,
.holistica-dynamic-shell :focus-visible,
.holistica-topbar :focus,
.holistica-topbar :focus-visible,
.holistica-header :focus,
.holistica-header :focus-visible,
.holistica-hero :focus,
.holistica-hero :focus-visible,
.holistica-section :focus,
.holistica-section :focus-visible,
.holistica-modal :focus,
.holistica-modal :focus-visible,
.holistica-fixed-booking:focus,
.holistica-fixed-booking:focus-visible,
.holistica-fixed-whatsapp:focus,
.holistica-fixed-whatsapp:focus-visible,
[class^="holistica-"]:focus,
[class^="holistica-"]:focus-visible,
[class*=" holistica-"]:focus,
[class*=" holistica-"]:focus-visible { outline: none !important; box-shadow: none !important; }

/* Responsive video modal: portrait Instagram embeds keep their full 9:16
   frame, while landscape media uses the available dialog width. */
.holistica-modal__dialog--video { width:min(96vw, 980px); max-height:calc(100svh - 2rem); padding:clamp(1rem, 2vw, 2rem); display:flex; flex-direction:column; overflow:hidden; }
.holistica-modal__dialog--video h2 { flex:0 0 auto; max-width:calc(100% - 3rem); margin:0 3rem 1rem 0; overflow-wrap:anywhere; }
.holistica-video-player { flex:0 1 auto; min-height:0; max-width:100%; margin:0 auto; background:#05080a; }
.holistica-video-player--horizontal { width:100%; aspect-ratio:16/9; max-height:calc(100svh - 10rem); }
.holistica-video-player--vertical { width:auto; height:min(72svh, 820px); max-width:100%; aspect-ratio:9/16; }
.holistica-video-player iframe,.holistica-video-player video { display:block; width:100%; height:100%; border:0; object-fit:contain; }
@media (max-width:700px) {
  .holistica-modal__dialog--video { width:100vw; max-height:100svh; min-height:100svh; padding:1rem; border-radius:0; justify-content:center; }
  .holistica-modal__dialog--video h2 { font-size:1rem; line-height:1.35; margin-bottom:.75rem; }
  .holistica-video-player--vertical { height:calc(100svh - 7.25rem); max-height:calc(100svh - 7.25rem); }
  .holistica-video-player--horizontal { max-height:calc(100svh - 7.25rem); }
}

/* Mobile detail-page refinement: preserve the reference hierarchy without
   desktop spacing, oversized headings or content hidden behind fixed actions. */
@media (max-width: 767px) {
  .holistica-dynamic-shell,
  .holistica-content-page { overflow-x: clip; }
  .holistica-dynamic-shell .holistica-container { padding-right: 1.15rem; padding-left: 1.15rem; }
  .holistica-dynamic-shell .holistica-header__inner { min-height: 60px; }
  .holistica-dynamic-shell .holistica-brand__image { height: 30px; max-width: 132px; }
  .holistica-topbar { font-size: .66rem; }
  .holistica-topbar__inner { align-items: center; padding: .42rem 0; }

  .holistica-content-page__hero { padding: 2.8rem 0 2.55rem; }
  .holistica-content-page__hero .holistica-eyebrow { margin-bottom: .7rem; font-size: .64rem; letter-spacing: .16em; }
  .holistica-content-page__hero h1 { max-width: 100%; font-size: clamp(2rem, 9vw, 2.65rem); line-height: 1.12; letter-spacing: -.025em; }
  .holistica-content-page__hero p:not(.holistica-eyebrow) { margin-top: 1rem; font-size: .95rem; line-height: 1.65; }
  .holistica-service-hero__cta { width: 100%; margin-top: 1.45rem; }
  .holistica-content-page__body { padding-top: 2.3rem; padding-bottom: 6.7rem; }

  .holistica-article-detail,
  .holistica-content-page__article,
  .holistica-service-detail { width: 100%; }
  .holistica-article-detail__meta { flex-wrap: wrap; gap: .38rem .62rem; margin-bottom: 1rem; font-size: .62rem; letter-spacing: .075em; line-height: 1.45; }
  .holistica-article-detail__meta span + span::before { margin-right: .62rem; }
  .holistica-article-detail__feature,
  .holistica-content-page__feature,
  .holistica-service-detail__feature { max-height: none; aspect-ratio: 16 / 10; margin-bottom: 1.6rem; border-radius: 16px; object-fit: cover; }
  .holistica-article-detail__body,
  .holistica-content-page__article,
  .holistica-service-detail .holistica-rich-content { font-size: 1rem; line-height: 1.76; }
  .holistica-article-detail__body p,
  .holistica-content-page__article p,
  .holistica-service-detail .holistica-rich-content p { margin-bottom: 1.15rem; }
  .holistica-article-detail__body h2,
  .holistica-content-page__article h2,
  .holistica-service-detail .holistica-rich-content h2 { margin: 2.25rem 0 .85rem; font-size: clamp(1.55rem, 7vw, 2rem); line-height: 1.24; }
  .holistica-article-detail__body h3,
  .holistica-content-page__article h3,
  .holistica-service-detail .holistica-rich-content h3 { margin: 1.6rem 0 .65rem; font-size: 1.22rem; line-height: 1.3; }
  .holistica-article-detail__body ul,
  .holistica-article-detail__body ol,
  .holistica-content-page__article ul,
  .holistica-content-page__article ol { gap: .55rem; margin: 1.1rem 0 1.35rem; padding-left: 1.2rem; }
  .holistica-article-detail__body blockquote { margin: 1.7rem 0; padding: 1.15rem 1.2rem; border-radius: 0 12px 12px 0; font-size: 1.04rem; line-height: 1.55; }
  .holistica-article-detail__body img,
  .holistica-content-page__article img,
  .holistica-service-detail .holistica-rich-content img { max-width: 100%; height: auto; margin: 1.25rem 0; border-radius: 14px; }
  .holistica-article-detail__body iframe,
  .holistica-content-page__article iframe,
  .holistica-service-detail .holistica-rich-content iframe { max-width: 100%; }

  .holistica-article-detail__cta { margin: 2.8rem 0 0; padding: 2.15rem 1.25rem; border-radius: 18px; }
  .holistica-article-detail__cta h2 { font-size: 1.55rem; line-height: 1.28; }
  .holistica-article-related { margin-top: 2.75rem; padding-top: 2.5rem; }
  .holistica-article-related h2 { font-size: 1.75rem; }

  .holistica-service-detail__intro { gap: 1.5rem; margin-bottom: 2.8rem; }
  .holistica-service-block { margin-bottom: 2.25rem; padding: 1.6rem 1.2rem; border-radius: 18px; }
  .holistica-service-block h2,
  .holistica-service-difference h2,
  .holistica-service-final-cta h2 { font-size: 1.65rem; line-height: 1.25; }
  .holistica-service-checklist { gap: .75rem; }
  .holistica-service-checklist li { padding-left: 1.45rem; font-size: .96rem; line-height: 1.58; }
  .holistica-service-checklist li::before { top: .44rem; width: .58rem; height: .58rem; }
  .holistica-service-difference { margin-bottom: 2.25rem; padding: 2rem 1.25rem; border-radius: 18px; }
  .holistica-service-price { gap: 1.15rem; margin-bottom: 2.25rem; padding: 1.7rem 1.25rem; border-radius: 18px; }
  .holistica-service-price strong { font-size: 1.8rem; }
  .holistica-service-price .holistica-button { width: 100%; }
  .holistica-service-final-cta { padding: 2.65rem 1.25rem; border-radius: 18px; }

  .holistica-fixed-booking { right: calc(.75rem + env(safe-area-inset-right)); bottom: calc(.75rem + env(safe-area-inset-bottom)); min-height: 2.65rem; padding: .55rem .72rem; font-size: .68rem; box-shadow: 0 8px 20px rgba(31,42,48,.25); }
  .holistica-fixed-booking__label { display: inline; }
  .holistica-fixed-booking__icon { width: 1.05rem; height: 1.05rem; font-size: .62rem; }
  .holistica-fixed-whatsapp { left: calc(.75rem + env(safe-area-inset-left)); bottom: calc(.75rem + env(safe-area-inset-bottom)); width: 2.65rem; height: 2.65rem; box-shadow: 0 8px 20px rgba(31,42,48,.25); }
  .holistica-fixed-whatsapp svg { width: 1.4rem; height: 1.4rem; }
}

@media (max-width: 390px) {
  .holistica-content-page__hero { padding-top: 2.4rem; padding-bottom: 2.2rem; }
  .holistica-content-page__hero h1 { font-size: 1.9rem; }
  .holistica-content-page__hero p:not(.holistica-eyebrow) { font-size: .9rem; }
  .holistica-fixed-booking { max-width: calc(100vw - 5.4rem); }
  .holistica-fixed-booking__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .holistica-service-block,
  .holistica-service-difference,
  .holistica-service-price { padding-right: 1.05rem; padding-left: 1.05rem; }
}

/* Structured service and programme card information */
.holistica-offer-card__badge { display: inline-flex; margin: 0 0 .65rem; padding: .28rem .62rem; border-radius: 999px; background: #efe2d8; color: #4f5b43; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.holistica-offer-card__duration { margin: -.15rem 0 .75rem; color: #4f5b43; font-size: .86rem; font-weight: 700; }
.holistica-offer-card__features { margin: .9rem 0 1rem; padding: 0; list-style: none; color: #52605c; font-size: .86rem; line-height: 1.55; }
.holistica-offer-card__features li { position: relative; padding-left: 1.05rem; margin-bottom: .34rem; }
.holistica-offer-card__features li::before { content: '•'; position: absolute; left: 0; color: #c8a75d; font-weight: 800; }
.holistica-offer-card__specialist { margin: .8rem 0; color: #59625f; font-size: .84rem; }
.holistica-offer-card__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.holistica-button--small { min-height: 2.35rem; padding: .52rem .85rem; font-size: .78rem; }
.holistica-offer-summary { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1.1rem; margin: 0 0 2rem; padding: 1rem 1.15rem; border: 1px solid rgba(79,91,67,.18); background: #f7f3ee; }
.holistica-offer-summary .holistica-offer-card__badge, .holistica-offer-summary .holistica-offer-card__duration, .holistica-offer-summary .holistica-offer-card__specialist { margin: 0; }
@media (max-width: 700px) { .holistica-offer-card__actions { align-items: flex-start; flex-direction: column; } .holistica-offer-card__actions .holistica-button { width: 100%; } .holistica-offer-summary { align-items: flex-start; flex-direction: column; } }

/* Wiedza discovery controls */
.holistica-wiedza-filters { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0 0 2rem; }
.holistica-wiedza-filters a { padding: .5rem .85rem; border: 1px solid rgba(79,91,67,.28); border-radius: 999px; color: #4f5b43; font-family: var(--holistica-micro); font-size: .78rem; font-weight: 600; text-decoration: none; }
.holistica-wiedza-filters a:hover, .holistica-wiedza-filters a.is-active { border-color: #4f5b43; background: #4f5b43; color: #fff; }
.holistica-wiedza-featured { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); overflow: hidden; margin-bottom: 3rem; border-radius: 24px; background: #efe2d8; }
.holistica-wiedza-featured > img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.holistica-wiedza-featured > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 2.5rem; }
.holistica-wiedza-featured h2 { margin: 0 0 1rem; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.holistica-wiedza-featured p:not(.holistica-eyebrow) { color: rgba(31,42,48,.72); line-height: 1.7; }
.holistica-wiedza-videos { margin: 4.5rem 0; padding: 3rem 0; border-top: 1px solid rgba(79,91,67,.15); border-bottom: 1px solid rgba(79,91,67,.15); }
.holistica-video-card { cursor: pointer; }
.holistica-video-card [data-holistica-video-trigger] { padding: 0; border: 0; background: transparent; cursor: pointer; }
@media (max-width: 700px) { .holistica-wiedza-featured { grid-template-columns: 1fr; } .holistica-wiedza-featured > img { min-height: 210px; } .holistica-wiedza-featured > div { padding: 1.5rem; } .holistica-wiedza-filters { gap: .45rem; } }

/* Cookie preference prompt */
.holistica-cookie-consent { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1001; display: flex; align-items: center; gap: 1.5rem; max-width: 650px; padding: 1.1rem 1.25rem; border: 1px solid rgba(200,167,93,.5); border-radius: 15px; background: #1f2a30; box-shadow: 0 18px 45px rgba(31,42,48,.3); color: rgba(255,255,255,.82); font-family: var(--holistica-micro); }
.holistica-cookie-consent strong { display: block; margin-bottom: .3rem; color: #fff; }
.holistica-cookie-consent p { margin: 0; font-size: .78rem; line-height: 1.5; }
.holistica-cookie-consent__actions { display: flex; flex: none; gap: .55rem; }
.holistica-cookie-consent__actions button:first-child { padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; background: transparent; color: #fff; font: inherit; font-size: .75rem; cursor: pointer; }
@media (max-width: 700px) { .holistica-cookie-consent { right: .8rem; bottom: .8rem; left: .8rem; align-items: flex-start; flex-direction: column; gap: .85rem; } .holistica-cookie-consent__actions { width: 100%; } .holistica-cookie-consent__actions button { flex: 1; } }

/* Independent patient portal */
.holistica-patient-panel { padding: 5rem 0; background: #f7f5f1; }
.holistica-patient-auth { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.holistica-patient-auth .holistica-booking__panel { max-width: none; margin: 0; }
.holistica-patient-auth label { display: grid; gap: .4rem; color: #1f2a30; font-family: var(--holistica-micro); font-size: .82rem; font-weight: 600; }
.holistica-patient-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.holistica-patient-summary section { padding: 1.5rem; border: 1px solid rgba(79,91,67,.18); border-radius: 16px; background: #fff; }
.holistica-patient-summary h2 { margin-top: 0; font-size: 1.2rem; }
.holistica-patient-summary article { display: grid; gap: .25rem; padding: .75rem 0; border-top: 1px solid rgba(79,91,67,.12); font-size: .86rem; }
.holistica-patient-summary article span { color: rgba(31,42,48,.58); }
@media (max-width: 800px) { .holistica-patient-auth,.holistica-patient-summary { grid-template-columns: 1fr; } .holistica-patient-panel { padding: 3rem 0; } }

/* Program and service detail pages without a feature image: use one centered reading column. */
.holistica-service-detail__intro:has(> .holistica-rich-content:only-child) {
  display: block;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}
.holistica-service-detail__intro:has(> .holistica-rich-content:only-child) .holistica-rich-content {
  width: 100%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}

/* Reference-aligned programme detail summary. */
.holistica-program-detail { max-width: 1180px; }
.holistica-program-overview { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(280px,.85fr); gap:2rem; margin:0 0 4.5rem; padding:0; }
.holistica-program-overview__includes, .holistica-program-overview__apply { padding:2.25rem; border-radius:18px; background:#fff; box-shadow:0 10px 32px rgba(31,42,48,.06); }
.holistica-program-overview__includes h2, .holistica-program-overview__apply h2 { margin:0 0 .8rem; color:var(--holistica-navy); font:700 1.25rem/1.25 var(--holistica-heading); }
.holistica-program-overview__includes ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.5rem; margin:1.1rem 0 0; padding:0; list-style:none; color:rgba(31,42,48,.72); line-height:1.55; }
.holistica-program-overview__includes li { position:relative; padding-left:1.25rem; }
.holistica-program-overview__includes li:before { content:'✓'; position:absolute; left:0; color:var(--holistica-olive); font-weight:700; }
.holistica-program-overview__apply { background:#f8f5ef; }
.holistica-program-overview__apply p { margin:0 0 1.3rem; color:rgba(31,42,48,.67); font-size:.9rem; line-height:1.65; }
.holistica-program-detail .holistica-service-detail__intro { max-width:960px; margin-right:auto; margin-left:auto; }
.holistica-program-detail .holistica-service-block, .holistica-program-detail .holistica-service-difference, .holistica-program-detail .holistica-service-price, .holistica-program-detail .holistica-service-final-cta { max-width:960px; margin-right:auto; margin-left:auto; }
@media (max-width:767px) { .holistica-program-overview { grid-template-columns:1fr; gap:1rem; margin-bottom:2.5rem; }.holistica-program-overview__includes, .holistica-program-overview__apply { padding:1.5rem 1.25rem; border-radius:16px; }.holistica-program-overview__includes ul { grid-template-columns:1fr; gap:.55rem; } }

.holistica-program-overview--apply-only { grid-template-columns:minmax(300px,460px); justify-content:end; }
.holistica-program-overview--apply-only .holistica-program-overview__apply { min-height:0; }

/* Full reference programme page surface system. */
.holistica-content-page:has(.holistica-program-detail) { background:#f2e6dc; }
.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__hero { padding:5.75rem 0 4.6rem; background:radial-gradient(circle at 12% 5%,rgba(99,125,84,.25),transparent 38%),linear-gradient(115deg,#304833 0%,#1e2b29 72%); }
.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__hero h1 { max-width:1080px; font-size:clamp(2.8rem,5vw,4.7rem); }
.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__hero p:not(.holistica-eyebrow) { max-width:740px; }
.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__body { padding-top:5.5rem; padding-bottom:6rem; }
.holistica-content-page:has(.holistica-program-detail) .holistica-program-overview { margin-bottom:4rem; }
.holistica-content-page:has(.holistica-program-detail) .holistica-program-overview__includes,.holistica-content-page:has(.holistica-program-detail) .holistica-program-overview__apply { border:1px solid rgba(79,91,67,.08); box-shadow:0 18px 45px rgba(63,51,42,.08); }
.holistica-content-page:has(.holistica-program-detail) .holistica-service-detail__intro,.holistica-content-page:has(.holistica-program-detail) .holistica-service-block,.holistica-content-page:has(.holistica-program-detail) .holistica-service-difference,.holistica-content-page:has(.holistica-program-detail) .holistica-service-price { background:#fff; box-shadow:0 12px 34px rgba(63,51,42,.055); }
@media (max-width:767px) { .holistica-content-page:has(.holistica-program-detail) .holistica-content-page__hero { padding:3.6rem 0 3rem; }.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__body { padding-top:2.5rem; } }

/* Reference programme layout: main content and action column work together. */
@media (min-width: 900px) {
  .holistica-content-page:has(.holistica-program-detail) .holistica-program-detail { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(300px,.85fr); gap:2rem; align-items:start; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-program-overview { display:contents; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-program-overview__includes { grid-column:1; grid-row:1; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-program-overview__apply { grid-column:2; grid-row:1 / span 2; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-offer-summary { grid-column:1; grid-row:2; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-service-detail__intro { grid-column:1; grid-row:3; max-width:none; width:100%; margin:0; padding:2.7rem 3rem; border:1px solid rgba(79,91,67,.08); border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(63,51,42,.07); }
  .holistica-content-page:has(.holistica-program-detail) .holistica-service-price { grid-column:2; grid-row:3; position:sticky; top:110px; width:100%; margin:0; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-service-block,.holistica-content-page:has(.holistica-program-detail) .holistica-service-difference { grid-column:1; width:100%; }
  .holistica-content-page:has(.holistica-program-detail) .holistica-service-final-cta { grid-column:1 / -1; width:100%; }
}
@media (max-width:899px) { .holistica-content-page:has(.holistica-program-detail) .holistica-service-detail__intro { padding:1.5rem 1.25rem; border:1px solid rgba(79,91,67,.08); border-radius:16px; background:#fff; } }

.holistica-program-signup { display:grid; gap:.8rem; margin-top:1rem; }
.holistica-program-signup label { display:grid; gap:.32rem; color:var(--holistica-navy); font-family:var(--holistica-micro); font-size:.74rem; font-weight:700; }
.holistica-program-signup input,.holistica-program-signup select { width:100%; padding:.68rem .72rem; border:1px solid rgba(79,91,67,.22); border-radius:8px; background:#fff; color:var(--holistica-navy); font:inherit; }
.holistica-program-signup .holistica-button { width:100%; margin-top:.35rem; }

/* Live correction: when programme feature rows are empty, the main reading card begins beside the signup card. */
@media (min-width:900px) {
  .holistica-content-page:has(.holistica-program-overview--apply-only) .holistica-program-detail { grid-template-rows:auto auto; }
  .holistica-content-page:has(.holistica-program-overview--apply-only) .holistica-program-overview__apply { grid-column:2; grid-row:1 / span 3; }
  .holistica-content-page:has(.holistica-program-overview--apply-only) .holistica-offer-summary { grid-column:1; grid-row:1; margin:0 0 1.25rem; padding:1.2rem 1.5rem; }
  .holistica-content-page:has(.holistica-program-overview--apply-only) .holistica-service-detail__intro { grid-column:1; grid-row:2; }
  .holistica-content-page:has(.holistica-program-overview--apply-only) .holistica-service-price { grid-column:2; grid-row:4; position:static; margin-top:0; }
}

/* Standalone programme detail template. */
.holistica-content-page:has(.holistica-program-page) { background:#f2e6dc; }
.holistica-program-page { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(300px,.8fr); gap:2rem; max-width:1180px; margin:0 auto; align-items:start; }
.holistica-program-page__main { display:grid; gap:1.75rem; }
.holistica-program-page__content,.holistica-program-page__includes,.holistica-program-page__faq,.holistica-program-page__signup,.holistica-program-page__price { border:1px solid rgba(79,91,67,.1); border-radius:18px; background:#fff; box-shadow:0 16px 42px rgba(63,51,42,.07); }
.holistica-program-page__content { padding:2.8rem 3rem; }
.holistica-program-page__content .holistica-rich-content { max-width:none; }
.holistica-program-page__duration { margin:0 0 2rem; padding:.7rem 1rem; border-radius:8px; background:#f8f5ef; color:var(--holistica-olive); font-family:var(--holistica-micro); font-weight:700; }
.holistica-program-page__includes,.holistica-program-page__faq { padding:2rem 2.25rem; }
.holistica-program-page__includes h2,.holistica-program-page__faq h2,.holistica-program-page__signup h2 { margin:0 0 1rem; color:var(--holistica-navy); font-family:var(--holistica-heading); }
.holistica-program-page__includes ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1.5rem; padding:0; margin:0; list-style:none; }
.holistica-program-page__includes li { position:relative; padding-left:1.25rem; line-height:1.55; }.holistica-program-page__includes li:before { content:'✓'; position:absolute; left:0; color:var(--holistica-olive); }
.holistica-program-page__aside { display:grid; gap:1.4rem; position:sticky; top:110px; }
.holistica-program-page__signup { padding:2rem; background:#f8f5ef; }.holistica-program-page__price { padding:1.5rem 2rem; }.holistica-program-page__price p { margin:0 0 .35rem; color:var(--holistica-olive); font-family:var(--holistica-micro); font-size:.75rem; text-transform:uppercase; letter-spacing:.13em; }.holistica-program-page__price strong { display:block; font:700 2rem var(--holistica-heading); color:var(--holistica-navy); }.holistica-program-page__price span { display:block; margin-top:.3rem; color:rgba(31,42,48,.6); }
.holistica-program-page__faq details { padding:1rem 0; border-top:1px solid rgba(79,91,67,.12); }.holistica-program-page__faq summary { cursor:pointer; font-weight:700; }.holistica-program-page__faq p { margin:1rem 0 0; }
@media (max-width:899px) { .holistica-program-page { grid-template-columns:1fr; }.holistica-program-page__aside { position:static; order:-1; }.holistica-program-page__content { padding:1.6rem 1.25rem; }.holistica-program-page__includes { padding:1.5rem 1.25rem; }.holistica-program-page__includes ul { grid-template-columns:1fr; } }

/* Global mobile subpage hero system: services, programmes, articles, listings, contact and static pages. */
@media (max-width:767px) {
  .holistica-topbar__inner { min-height:32px; padding-top:.28rem; padding-bottom:.28rem; }
  .holistica-topbar__contacts { width:100%; justify-content:center; gap:.8rem; overflow:hidden; }
  .holistica-topbar__link { max-width:48%; overflow:hidden; font-size:.66rem; text-overflow:ellipsis; }
  .holistica-header__inner { min-height:62px; }.holistica-brand__image { height:34px; max-width:145px; }
  .holistica-content-page__hero,.holistica-content-page:has(.holistica-program-page) .holistica-content-page__hero,.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__hero { min-height:0; padding:3rem 0 2.65rem; }
  .holistica-content-page__hero .holistica-eyebrow { margin-bottom:.7rem; font-size:.62rem; letter-spacing:.16em; }
  .holistica-content-page__hero h1,.holistica-content-page:has(.holistica-program-page) .holistica-content-page__hero h1,.holistica-content-page:has(.holistica-program-detail) .holistica-content-page__hero h1 { max-width:100%; font-size:clamp(2rem,9vw,3rem); line-height:1.12; overflow-wrap:anywhere; }
  .holistica-content-page__hero p:not(.holistica-eyebrow) { margin-top:1rem; font-size:.93rem; line-height:1.65; }
  .holistica-service-hero__cta { width:100%; margin-top:1.5rem; }.holistica-content-page__body { padding-top:2.1rem; padding-bottom:3.5rem; }
  .holistica-article-detail__feature,.holistica-content-page__feature { margin-bottom:1.4rem; border-radius:14px; }.holistica-article-detail__body,.holistica-content-page__article { font-size:1rem; line-height:1.75; }
}

/* Standalone service detail surface: readable left content flow with a persistent price and booking action. */
.holistica-content-page:has(.holistica-service-detail):not(:has(.holistica-program-page)) { background:#f2e6dc; }
.holistica-content-page:has(.holistica-service-detail):not(:has(.holistica-program-page)) .holistica-content-page__body { max-width:1220px; padding-top:4.6rem; padding-bottom:5.5rem; }
.holistica-service-detail { max-width:1180px; }
.holistica-service-detail__intro,.holistica-service-detail .holistica-offer-summary,.holistica-service-detail .holistica-service-block,.holistica-service-detail .holistica-service-difference,.holistica-service-detail .holistica-service-price,.holistica-service-detail .holistica-service-final-cta { border:1px solid rgba(79,91,67,.10); box-shadow:0 16px 42px rgba(63,51,42,.07); }
.holistica-service-detail__intro { display:grid; grid-template-columns:1fr; gap:1.75rem; margin:0; padding:2.8rem 3rem; border-radius:18px; background:#fff; }
.holistica-service-detail__intro:has(> .holistica-rich-content:only-child) { display:block; max-width:none; margin:0; }
.holistica-service-detail__intro:has(> .holistica-rich-content:only-child) .holistica-rich-content { max-width:none; }
.holistica-service-detail__feature { max-height:440px; margin:0; border-radius:13px; object-fit:cover; }
.holistica-service-detail .holistica-offer-summary { align-items:center; margin:0; padding:1.1rem 1.4rem; border-radius:14px; background:#f8f5ef; }
.holistica-service-detail .holistica-service-block { margin:0; border-radius:18px; box-shadow:0 16px 42px rgba(63,51,42,.07); }
.holistica-service-detail .holistica-service-difference { margin:0; border:0; border-radius:18px; }
.holistica-service-detail .holistica-service-price { margin:0; border:0; border-radius:18px; box-shadow:0 18px 45px rgba(31,42,48,.16); }
.holistica-service-detail .holistica-service-final-cta { margin:0; border:0; border-radius:18px; }
@media (min-width:900px) {
  .holistica-service-detail { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(300px,.8fr); gap:1.75rem 2rem; align-items:start; }
  .holistica-service-detail > .holistica-offer-summary,.holistica-service-detail > .holistica-service-detail__intro,.holistica-service-detail > .holistica-service-block,.holistica-service-detail > .holistica-service-difference { grid-column:1; width:100%; }
  .holistica-service-detail > .holistica-offer-summary { grid-row:1; }
  .holistica-service-detail > .holistica-service-detail__intro { grid-row:2; }
  .holistica-service-detail > .holistica-service-price { position:sticky; top:110px; grid-column:2; grid-row:1 / span 3; width:100%; align-self:start; }
  .holistica-service-detail > .holistica-service-final-cta { grid-column:1 / -1; width:100%; }
}
@media (max-width:899px) {
  .holistica-content-page:has(.holistica-service-detail):not(:has(.holistica-program-page)) .holistica-content-page__body { padding-top:2.1rem; padding-bottom:3.5rem; }
  .holistica-service-detail { display:grid; gap:1.15rem; }
  .holistica-service-detail > .holistica-service-price { order:-2; }
  .holistica-service-detail > .holistica-offer-summary { order:-1; }
  .holistica-service-detail__intro { padding:1.55rem 1.25rem; border-radius:16px; }
  .holistica-service-detail .holistica-service-block,.holistica-service-detail .holistica-service-difference,.holistica-service-detail .holistica-service-price,.holistica-service-detail .holistica-service-final-cta { margin:0; border-radius:16px; }
  .holistica-service-detail .holistica-service-block { padding:1.6rem 1.25rem; }
}

/* Standalone service page template — intentionally independent from holistica-service-detail. */
.holistica-content-page:has(.holistica-service-page) { background:#f2e6dc; }
.holistica-content-page:has(.holistica-service-page) .holistica-content-page__body { max-width:1220px; padding-top:4.6rem; padding-bottom:5.8rem; }
.holistica-service-page { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(300px,.8fr); gap:2rem; max-width:1180px; margin:0 auto; align-items:start; }
.holistica-service-page__main { display:grid; gap:1.75rem; min-width:0; }
.holistica-service-page__content,.holistica-service-page__card,.holistica-service-page__difference,.holistica-service-page__booking,.holistica-service-page__price { border:1px solid rgba(79,91,67,.10); border-radius:18px; box-shadow:0 16px 42px rgba(63,51,42,.07); }
.holistica-service-page__content { padding:2.8rem 3rem; background:#fff; }
.holistica-service-page__content .holistica-rich-content { max-width:none; margin:0; }
.holistica-service-page__summary { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem 1rem; margin:0 0 1.8rem; padding:1rem 1.15rem; border:1px solid rgba(79,91,67,.14); border-radius:12px; background:#f8f5ef; }
.holistica-service-page__summary .holistica-offer-card__badge,.holistica-service-page__summary .holistica-offer-card__duration,.holistica-service-page__summary .holistica-offer-card__specialist { margin:0; }
.holistica-service-page__feature { display:block; width:100%; max-height:440px; margin:0 0 2rem; border-radius:13px; object-fit:cover; }
.holistica-service-page__card { padding:2.25rem 2.4rem; background:#fff; }.holistica-service-page__card header { margin-bottom:1.45rem; }.holistica-service-page__card header .holistica-eyebrow { margin-bottom:.55rem; }.holistica-service-page__card h2,.holistica-service-page__difference h2,.holistica-service-page__booking h2 { margin:0; color:var(--holistica-navy); font:700 clamp(1.55rem,2.8vw,2.3rem)/1.2 var(--holistica-heading); }
.holistica-service-page__card--steps { background:#f8f5ef; }.holistica-service-page__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.holistica-service-page__steps article { padding:1.55rem; border-radius:14px; background:rgba(255,255,255,.88); }.holistica-service-page__step-number { display:grid; width:2rem; height:2rem; margin:0 0 1rem; place-items:center; border-radius:50%; background:var(--holistica-olive); color:#fff; font-family:var(--holistica-micro); font-size:.75rem; font-weight:700; }.holistica-service-page__steps h3 { margin:0 0 .65rem; color:var(--holistica-navy); font:700 1.05rem/1.35 var(--holistica-heading); }.holistica-service-page__steps p { margin:0; color:rgba(31,42,48,.7); line-height:1.62; }
.holistica-service-page__difference { padding:3rem; border:0; background:var(--holistica-olive); color:rgba(246,241,232,.87); }.holistica-service-page__difference h2 { color:#f6f1e8; }.holistica-service-page__difference blockquote { margin:1.6rem 0; color:#e8d39d; font:1.3rem/1.5 var(--holistica-body); }.holistica-service-page__difference p:last-child { margin-bottom:0; line-height:1.8; }
.holistica-service-page__faq details { border-top:1px solid rgba(79,91,67,.16); }.holistica-service-page__faq summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 0; color:var(--holistica-navy); font:700 1rem/1.45 var(--holistica-heading); cursor:pointer; list-style:none; }.holistica-service-page__faq summary::-webkit-details-marker { display:none; }.holistica-service-page__faq summary span { color:var(--holistica-gold); font-size:1.4rem; }.holistica-service-page__faq details[open] summary span { transform:rotate(45deg); }.holistica-service-page__faq details p { margin:0 0 1.2rem; color:rgba(31,42,48,.72); line-height:1.75; }
.holistica-service-page__aside { position:sticky; top:110px; display:grid; gap:1.4rem; }.holistica-service-page__booking { padding:2rem; background:#f8f5ef; }.holistica-service-page__booking .holistica-eyebrow { margin-bottom:.55rem; }.holistica-service-page__booking > p:not(.holistica-eyebrow) { margin:1rem 0 1.4rem; color:rgba(31,42,48,.68); font-size:.93rem; line-height:1.65; }.holistica-service-page__booking .holistica-button { width:100%; }
.holistica-service-page__price { padding:1.5rem 2rem; background:#1f2a30; color:#f6f1e8; }.holistica-service-page__price p { margin:0 0 .45rem; color:#e8d39d; font-family:var(--holistica-micro); font-size:.72rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.holistica-service-page__price strong { display:block; font:700 2rem/1.1 var(--holistica-heading); }.holistica-service-page__price span { display:block; margin-top:.55rem; color:rgba(246,241,232,.78); font-size:.88rem; line-height:1.55; }
@media (max-width:899px) { .holistica-content-page:has(.holistica-service-page) .holistica-content-page__body { padding-top:2.1rem; padding-bottom:3.5rem; }.holistica-service-page { grid-template-columns:1fr; gap:1.2rem; }.holistica-service-page__aside { position:static; order:-1; }.holistica-service-page__content { padding:1.55rem 1.25rem; border-radius:16px; }.holistica-service-page__card,.holistica-service-page__difference,.holistica-service-page__booking,.holistica-service-page__price { border-radius:16px; }.holistica-service-page__card { padding:1.6rem 1.25rem; }.holistica-service-page__difference { padding:2rem 1.25rem; }.holistica-service-page__steps { grid-template-columns:1fr; }.holistica-service-page__booking { padding:1.55rem 1.25rem; }.holistica-service-page__price { padding:1.35rem 1.25rem; } }

/* Unified subpage surface system for knowledge, listings, pricing, static and contact views. */
.holistica-content-page--article_detail,.holistica-content-page--listing,.holistica-content-page--pricing,.holistica-content-page--about,.holistica-content-page--steps,.holistica-content-page--contact,.holistica-content-page--detail { background:#f2e6dc; }
.holistica-content-page--article_detail .holistica-content-page__body,.holistica-content-page--listing .holistica-content-page__body,.holistica-content-page--pricing .holistica-content-page__body,.holistica-content-page--about .holistica-content-page__body,.holistica-content-page--steps .holistica-content-page__body,.holistica-content-page--contact .holistica-content-page__body,.holistica-content-page--detail .holistica-content-page__body { max-width:1220px; padding-top:4.6rem; padding-bottom:5.8rem; }
/* Independent knowledge article layout */
.holistica-article-page { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(300px,.8fr); gap:2rem; max-width:1180px; margin:0 auto; align-items:start; }
.holistica-article-page__content,.holistica-article-page__cta { border:1px solid rgba(79,91,67,.10); border-radius:18px; box-shadow:0 16px 42px rgba(63,51,42,.07); }.holistica-article-page__content { padding:2.8rem 3rem; background:#fff; }.holistica-article-page__meta { display:flex; flex-wrap:wrap; gap:.55rem .85rem; margin:0 0 1.4rem; color:var(--holistica-olive); font-family:var(--holistica-micro); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.holistica-article-page__meta span + span::before { margin-right:.85rem; color:var(--holistica-gold); content:'•'; }.holistica-article-page__feature { display:block; width:100%; max-height:480px; margin:0 0 2.2rem; border-radius:13px; object-fit:cover; }.holistica-article-page__body { color:rgba(31,42,48,.8); font-family:var(--holistica-body); font-size:1.06rem; line-height:1.85; }.holistica-article-page__body h2,.holistica-article-page__body h3 { color:var(--holistica-navy); font-family:var(--holistica-heading); }.holistica-article-page__body h2 { margin:2.2rem 0 .9rem; font-size:clamp(1.65rem,3vw,2.35rem); }.holistica-article-page__body h3 { margin:1.6rem 0 .7rem; font-size:1.3rem; }.holistica-article-page__body img { max-width:100%; height:auto; border-radius:13px; }.holistica-article-page__aside { position:sticky; top:110px; }.holistica-article-page__cta { padding:2rem; background:#f8f5ef; }.holistica-article-page__cta h2 { margin:0; color:var(--holistica-navy); font:700 1.75rem/1.2 var(--holistica-heading); }.holistica-article-page__cta > p:not(.holistica-eyebrow) { margin:1rem 0 1.4rem; color:rgba(31,42,48,.68); line-height:1.65; }.holistica-article-page__cta .holistica-button { width:100%; }
.holistica-article-related { max-width:1180px; margin:3.5rem auto 0; }.holistica-article-related > header { max-width:680px; margin-bottom:1.65rem; }.holistica-article-related h2 { margin:0; color:var(--holistica-navy); font:700 clamp(1.7rem,3vw,2.45rem)/1.2 var(--holistica-heading); }
/* Discovery, price and static content surfaces */
.holistica-content-page--listing .holistica-wiedza-filters { padding:1rem; border:1px solid rgba(79,91,67,.10); border-radius:14px; background:#fff; box-shadow:0 10px 26px rgba(63,51,42,.05); }.holistica-content-page--listing .holistica-card,.holistica-content-page--pricing .holistica-card { border-color:rgba(79,91,67,.10); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(63,51,42,.06); }.holistica-content-page--listing .holistica-wiedza-featured { border:1px solid rgba(79,91,67,.10); box-shadow:0 16px 42px rgba(63,51,42,.07); }.holistica-content-page--pricing .holistica-pricing-cta { max-width:1180px; margin:4rem auto 0; padding:3.8rem 2rem; border-radius:18px; background:linear-gradient(115deg,#24322b,#1f2a30); color:#f6f1e8; text-align:center; }.holistica-content-page--pricing .holistica-pricing-cta h2 { margin:.4rem auto 1rem; max-width:700px; color:#f6f1e8; font:700 clamp(1.8rem,3.5vw,2.8rem)/1.2 var(--holistica-heading); }.holistica-content-page--pricing .holistica-pricing-cta > p:not(.holistica-eyebrow) { max-width:640px; margin:0 auto 1.5rem; color:rgba(246,241,232,.8); }
.holistica-content-page--about .holistica-content-page__article,.holistica-content-page--steps .holistica-content-page__article,.holistica-content-page--detail .holistica-content-page__article { max-width:960px; margin:0 auto; padding:2.8rem 3rem; border:1px solid rgba(79,91,67,.10); border-radius:18px; background:#fff; box-shadow:0 16px 42px rgba(63,51,42,.07); }.holistica-content-page--about .holistica-related-pages,.holistica-content-page--steps .holistica-related-pages { max-width:960px; border-color:rgba(79,91,67,.10); background:rgba(79,91,67,.10); box-shadow:0 12px 30px rgba(63,51,42,.05); }.holistica-content-page--contact .holistica-contact-grid > div { padding:2.4rem; border:1px solid rgba(79,91,67,.10); border-radius:18px; background:#fff; box-shadow:0 16px 42px rgba(63,51,42,.07); }.holistica-content-page--contact .holistica-contact-grid > div h2 { margin-top:0; }.holistica-content-page--contact .holistica-contact-form { padding:0; background:transparent; }
@media (max-width:899px) { .holistica-content-page--article_detail .holistica-content-page__body,.holistica-content-page--listing .holistica-content-page__body,.holistica-content-page--pricing .holistica-content-page__body,.holistica-content-page--about .holistica-content-page__body,.holistica-content-page--steps .holistica-content-page__body,.holistica-content-page--contact .holistica-content-page__body,.holistica-content-page--detail .holistica-content-page__body { padding-top:2.1rem; padding-bottom:3.5rem; }.holistica-article-page { grid-template-columns:1fr; gap:1.2rem; }.holistica-article-page__aside { position:static; order:-1; }.holistica-article-page__content { padding:1.55rem 1.25rem; border-radius:16px; }.holistica-article-page__cta { padding:1.55rem 1.25rem; border-radius:16px; }.holistica-article-page__body { font-size:1rem; line-height:1.75; }.holistica-article-page__body h2 { font-size:clamp(1.55rem,7vw,2rem); }.holistica-article-related { margin-top:2.5rem; }.holistica-content-page--about .holistica-content-page__article,.holistica-content-page--steps .holistica-content-page__article,.holistica-content-page--detail .holistica-content-page__article,.holistica-content-page--contact .holistica-contact-grid > div { padding:1.55rem 1.25rem; border-radius:16px; }.holistica-content-page--pricing .holistica-pricing-cta { margin-top:2.5rem; padding:2.7rem 1.25rem; border-radius:16px; } }

/* Complete article typography and neutralize legacy article-related alignment. */
.holistica-article-page__body p { margin:0 0 1.25rem; }.holistica-article-page__body ul,.holistica-article-page__body ol { display:grid; gap:.7rem; margin:1.4rem 0 1.6rem; padding-left:1.4rem; }.holistica-article-page__body li::marker { color:var(--holistica-gold); }.holistica-article-page__body blockquote { margin:2.3rem 0; padding:1.4rem 1.6rem; border-left:3px solid var(--holistica-gold); border-radius:0 14px 14px 0; background:#f8f5ef; color:var(--holistica-olive); font:1.18rem/1.65 var(--holistica-heading); }.holistica-article-page__body iframe { max-width:100%; }.holistica-article-related { padding-top:0; border-top:0; }.holistica-article-related > header { text-align:left; }
@media (max-width:899px) { .holistica-article-page__body p { margin-bottom:1.15rem; }.holistica-article-page__body ul,.holistica-article-page__body ol { gap:.55rem; margin:1.1rem 0 1.35rem; padding-left:1.2rem; }.holistica-article-page__body blockquote { margin:1.7rem 0; padding:1.15rem 1.2rem; font-size:1.04rem; line-height:1.55; } }

/* Home header uses the same logo asset and dimensions as dynamic page headers. */
.holistica-fallback-header .holistica-brand { display:flex; align-items:center; min-width:0; font-size:inherit; }
.holistica-fallback-header .holistica-brand__image { width:auto; height:48px; max-width:190px; object-fit:contain; object-position:left center; }
.holistica-fallback-header .holistica-brand__text { font-size:1.4rem; line-height:1; }
@media (max-width:767px) { .holistica-fallback-header .holistica-brand__image { height:34px; max-width:145px; }.holistica-fallback-header .holistica-brand__text { font-size:1.2rem; } }

/* Creative Elements can inject width:100% / height:auto on the logo image. Force the shared header logo geometry. */
.holistica-header .holistica-brand__image { display:block !important; width:auto !important; height:36px !important; max-width:150px !important; max-height:36px !important; min-width:0 !important; object-fit:contain !important; object-position:left center !important; }
@media (max-width:767px) { .holistica-header .holistica-brand__image { height:32px !important; max-width:132px !important; max-height:32px !important; } }

/* Creative Elements renders the Holistica header without the module's --sticky class. Make the actual widget container sticky. */
.elementor-widget-holistica_header { position:sticky !important; top:0 !important; z-index:1000 !important; width:100% !important; overflow:visible !important; }
.elementor-widget-holistica_header .holistica-header { position:relative !important; top:auto !important; z-index:1000 !important; width:100% !important; background:rgba(239,226,216,.98) !important; box-shadow:0 7px 18px rgba(31,42,48,.08); }
@media (max-width:767px) { .elementor-widget-holistica_header { z-index:1100 !important; }.elementor-widget-holistica_header .holistica-header { box-shadow:0 5px 14px rgba(31,42,48,.08); } }

/* Dynamic Holistica pages render outside the normal theme layout; remove browser/body gutter only for this shell. */
html:has(.holistica-dynamic-shell), body:has(.holistica-dynamic-shell) { margin:0 !important; padding:0 !important; width:100% !important; max-width:none !important; }
body:has(.holistica-dynamic-shell) .holistica-dynamic-shell { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }

/* Mobile-first safeguard for every dynamic subpage. The template now defines a real device viewport. */
@media (max-width:899px) {
  html:has(.holistica-dynamic-shell), body:has(.holistica-dynamic-shell) { overflow-x:hidden !important; }
  .holistica-content-page { min-height:0 !important; }
  .holistica-content-page__body { width:100% !important; max-width:none !important; min-width:0 !important; padding:2rem 1rem 5.25rem !important; }
  .holistica-content-page__hero { min-width:0; }
  .holistica-content-page__hero .holistica-container { min-width:0; }
  .holistica-service-page,
  .holistica-program-page,
  .holistica-article-page,
  .holistica-service-detail,
  .holistica-program-detail,
  .holistica-program-overview,
  .holistica-contact-grid,
  .holistica-content-page--listing .holistica-card-grid,
  .holistica-content-page--pricing .holistica-card-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; width:100% !important; min-width:0 !important; gap:1rem !important; }
  .holistica-service-page__main,
  .holistica-program-page__main,
  .holistica-article-page__main,
  .holistica-service-page__aside,
  .holistica-program-page__aside,
  .holistica-article-page__aside { min-width:0 !important; width:100% !important; }
  .holistica-service-page__aside,
  .holistica-program-page__aside,
  .holistica-article-page__aside { position:static !important; order:-1 !important; }
  .holistica-service-page__booking,
  .holistica-service-page__price,
  .holistica-program-page__signup,
  .holistica-program-page__price,
  .holistica-article-page__cta,
  .holistica-service-detail > .holistica-service-price { width:100% !important; margin:0 !important; }
  .holistica-service-page__content,
  .holistica-service-page__card,
  .holistica-service-page__difference,
  .holistica-program-page__content,
  .holistica-program-page__includes,
  .holistica-program-page__faq,
  .holistica-article-page__content,
  .holistica-content-page--about .holistica-content-page__article,
  .holistica-content-page--steps .holistica-content-page__article,
  .holistica-content-page--detail .holistica-content-page__article { min-width:0 !important; }
  .holistica-service-page__feature,
  .holistica-program-page img,
  .holistica-article-page__feature,
  .holistica-content-page__article img { max-width:100% !important; height:auto !important; }
}
@media (max-width:767px) {
  .holistica-content-page__body { padding:1.5rem .8rem 5rem !important; }
  .holistica-content-page__hero { padding:2.35rem 0 2.15rem !important; }
  .holistica-content-page__hero h1 { font-size:clamp(1.85rem,9.3vw,2.65rem) !important; line-height:1.12 !important; }
  .holistica-content-page__hero p:not(.holistica-eyebrow) { font-size:.9rem !important; line-height:1.62 !important; }
  .holistica-service-page__content,
  .holistica-service-page__card,
  .holistica-service-page__difference,
  .holistica-service-page__booking,
  .holistica-service-page__price,
  .holistica-program-page__content,
  .holistica-program-page__includes,
  .holistica-program-page__faq,
  .holistica-program-page__signup,
  .holistica-program-page__price,
  .holistica-article-page__content,
  .holistica-article-page__cta,
  .holistica-content-page--about .holistica-content-page__article,
  .holistica-content-page--steps .holistica-content-page__article,
  .holistica-content-page--detail .holistica-content-page__article { padding:1.35rem 1.1rem !important; border-radius:15px !important; }
}

/* The dynamic template is rendered outside widget-section, so restore border-box sizing before mobile width + padding rules run. */
@media (max-width:899px) {
  .holistica-dynamic-shell,
  .holistica-dynamic-shell *,
  .holistica-dynamic-shell *::before,
  .holistica-dynamic-shell *::after { box-sizing:border-box !important; }
  .holistica-dynamic-shell,
  .holistica-content-page,
  .holistica-content-page__body,
  .holistica-content-page__hero,
  .holistica-dynamic-shell .holistica-container { max-width:100% !important; }
  .holistica-dynamic-shell .holistica-container { width:100% !important; }
}

/* --------------------------------------------------------------------------
   Language selector — four supported storefront languages                    */
.holistica-topbar__inner{position:relative;gap:.85rem}
.holistica-language-switcher{position:relative;z-index:80;margin-left:auto;flex:0 0 auto;font-family:Inter,Arial,sans-serif}
.holistica-language-switcher__current{display:inline-flex;align-items:center;gap:.36rem;min-height:30px;padding:.25rem .48rem;border:1px solid rgba(239,226,216,.32);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:600 .68rem/1 Inter,Arial,sans-serif;letter-spacing:.08em;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;outline:none}
.holistica-language-switcher__current:hover,.holistica-language-switcher__current[aria-expanded="true"]{background:rgba(255,255,255,.17);border-color:rgba(239,226,216,.7);transform:translateY(-1px)}
.holistica-language-switcher__flag{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1rem;line-height:1;flex:0 0 auto}
.holistica-language-switcher__code{font-size:.65rem;font-weight:700;letter-spacing:.08em;white-space:nowrap}
.holistica-language-switcher__chevron{font-size:.9rem;line-height:.6;transition:transform .2s ease}
.holistica-language-switcher__current[aria-expanded="true"] .holistica-language-switcher__chevron{transform:rotate(180deg)}
.holistica-language-switcher__menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:168px;padding:.36rem;border:1px solid rgba(31,42,48,.12);border-radius:13px;background:#fff;box-shadow:0 16px 36px rgba(31,42,48,.2);overflow:hidden}
.holistica-language-switcher__menu[hidden]{display:none!important}
.holistica-language-switcher__option{display:grid;grid-template-columns:1.25rem 1fr auto;align-items:center;gap:.55rem;padding:.58rem .64rem;border-radius:9px;color:#1f2a30!important;text-decoration:none!important;font:500 .78rem/1.15 Inter,Arial,sans-serif;transition:background .16s ease,color .16s ease}
.holistica-language-switcher__option:hover,.holistica-language-switcher__option:focus{background:#efe2d8;color:#4f5b43!important;outline:none}
.holistica-language-switcher__option.is-active{background:#f6eee8;color:#4f5b43!important;font-weight:700}
.holistica-language-switcher__option .holistica-language-switcher__code{color:#8b786b;font-size:.58rem}
.holistica-language-switcher .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media (max-width:767px){
  .holistica-topbar{overflow:visible!important}
  .holistica-topbar__inner{min-height:32px;padding-top:.22rem!important;padding-bottom:.22rem!important;gap:.45rem!important}
  .holistica-topbar__contacts{min-width:0;overflow:hidden;white-space:nowrap}
  .holistica-topbar__contacts .holistica-topbar__link{max-width:45vw;overflow:hidden;text-overflow:ellipsis}
  .holistica-topbar__address{display:none!important}
  .holistica-language-switcher{margin-left:auto}
  .holistica-language-switcher__current{min-height:27px;padding:.2rem .4rem;font-size:.61rem}
  .holistica-language-switcher__flag{font-size:.9rem}
  .holistica-language-switcher__menu{position:fixed;top:42px;right:.65rem;left:auto;min-width:176px;max-width:calc(100vw - 1.3rem);box-shadow:0 18px 44px rgba(31,42,48,.28)}
  .holistica-language-switcher__option{padding:.7rem .7rem;font-size:.84rem}
}
@media (max-width:390px){
  .holistica-topbar__contacts .holistica-topbar__link:last-child{display:none}
  .holistica-language-switcher__code{font-size:.58rem}
}
.holistica-topbar{position:relative;z-index:100;overflow:visible!important}

/* Direct language links: flags remain visible side by side. */
.holistica-language-switcher{display:flex;align-items:center;gap:.28rem;padding:.18rem;border:1px solid rgba(239,226,216,.24);border-radius:999px;background:rgba(255,255,255,.06)}
.holistica-language-switcher__option{display:inline-flex!important;align-items:center;justify-content:center;gap:.2rem;min-width:31px;min-height:29px;margin:0;padding:.22rem .3rem!important;border:1px solid transparent;border-radius:999px;background:transparent!important;color:rgba(255,255,255,.76)!important;text-decoration:none!important;font:700 .59rem/1 Inter,Arial,sans-serif;letter-spacing:.04em;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.holistica-language-switcher__option:hover,.holistica-language-switcher__option:focus{background:rgba(255,255,255,.14)!important;border-color:rgba(239,226,216,.42);color:#fff!important;outline:none;transform:translateY(-1px)}
.holistica-language-switcher__option.is-active{min-width:44px;background:#efe2d8!important;border-color:#efe2d8;color:#1f2a30!important;box-shadow:0 2px 9px rgba(0,0,0,.15)}
.holistica-language-switcher__option .holistica-language-switcher__flag{font-size:.9rem}
.holistica-language-switcher__option .holistica-language-switcher__code{color:inherit;font-size:.58rem;letter-spacing:.04em}
.holistica-language-switcher__option:not(.is-active) .holistica-language-switcher__code{display:none}
.holistica-language-switcher__current,.holistica-language-switcher__menu,.holistica-language-switcher__chevron{display:none!important}
@media (max-width:767px){
  .holistica-language-switcher{gap:.14rem;padding:.12rem;margin-left:auto}
  .holistica-language-switcher__option{min-width:25px;min-height:24px;padding:.14rem .17rem!important}
  .holistica-language-switcher__option.is-active{min-width:36px}
  .holistica-language-switcher__option .holistica-language-switcher__flag{font-size:.8rem}
  .holistica-language-switcher__option .holistica-language-switcher__code{font-size:.5rem}
}

/* Linked content-card media and the footer rendered after dynamic subpages. */
.holistica-card__media > a,.holistica-wiedza-featured__media{display:block;color:inherit;text-decoration:none;line-height:0}
.holistica-card__media > a:focus-visible,.holistica-wiedza-featured__media:focus-visible{outline:2px solid #c8a75d;outline-offset:3px}
.holistica-footer--dynamic{margin-top:0}

/* Patient portal production workspace */
.holistica-patient-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.holistica-patient-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.holistica-patient-card{background:#fff;border:1px solid rgba(31,42,48,.10);border-radius:22px;padding:1.55rem;box-shadow:0 14px 34px rgba(31,42,48,.07)}.holistica-patient-card--wide{grid-column:1/-1}.holistica-patient-card__head{display:flex;gap:1rem;align-items:start;justify-content:space-between}.holistica-patient-card h2,.holistica-patient-card h3{margin:.15rem 0 1rem;color:#1f2a30}.holistica-patient-item{display:grid;gap:.35rem;padding:1rem 0;border-bottom:1px solid rgba(31,42,48,.09)}.holistica-patient-item:last-child{border-bottom:0}.holistica-patient-item strong{font-family:Lora,serif;font-size:1.08rem;color:#1f2a30}.holistica-patient-item span,.holistica-patient-document small{font-size:.78rem;color:#64706a}.holistica-patient-item p{margin:.25rem 0 0;line-height:1.65}.holistica-patient-badge{display:inline-flex;align-items:center;line-height:1.3;border-radius:999px;background:#efe2d8;color:#4f5b43;padding:.5rem .75rem;font-size:.78rem;font-weight:700}.holistica-patient-document{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid rgba(31,42,48,.09);color:#1f2a30;text-decoration:none}.holistica-patient-document:hover{color:#4f5b43}.holistica-patient-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}.holistica-patient-inline-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(31,42,48,.1)}.holistica-specialist-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}.holistica-specialist-list{position:sticky;top:110px;background:#1f2a30;border-radius:22px;padding:1.25rem;color:#fff}.holistica-specialist-list h2{color:#fff;font-size:1.35rem;margin:.25rem 0 1rem}.holistica-specialist-list__patient{display:grid;gap:.25rem;padding:.85rem;border-radius:14px;color:#fff;text-decoration:none;border:1px solid transparent}.holistica-specialist-list__patient:hover,.holistica-specialist-list__patient.is-active{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25)}.holistica-specialist-list__patient small{opacity:.75}.holistica-specialist-list__patient em{font-size:.72rem;color:#e8c975;font-style:normal}.holistica-specialist-case{min-width:0}.holistica-specialist-case__head{margin-bottom:1.25rem}.holistica-specialist-case__head h2{margin:.25rem 0;color:#1f2a30}.holistica-specialist-case__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.holistica-patient-document-list{margin-top:1rem}.holistica-patient-panel .holistica-form select,.holistica-patient-panel .holistica-form textarea{width:100%;border:1px solid #d9d1c9;border-radius:10px;padding:.75rem;font:inherit;background:#fff;color:#1f2a30}.holistica-patient-panel .holistica-form textarea{resize:vertical}.holistica-patient-panel .alert{border-radius:14px;margin-bottom:1rem}.holistica-patient-panel .alert ul{margin:0;padding-left:1.2rem}@media(max-width:767px){.holistica-patient-heading{display:grid}.holistica-patient-dashboard,.holistica-specialist-workspace,.holistica-specialist-case__grid{grid-template-columns:1fr}.holistica-patient-card--wide{grid-column:auto}.holistica-specialist-list{position:static}.holistica-patient-card{padding:1.15rem;border-radius:17px}.holistica-patient-card__head{display:grid}.holistica-patient-actions{display:grid}.holistica-patient-actions form,.holistica-patient-actions .holistica-button{width:100%}}
