/* Native The7/Elementor refinement: existing red/white palette and Alegreya identity. */
.lipo-ci-native { --lipo-red:#b40404; }
.lipo-ci-native h1,.lipo-ci-native h2,.lipo-ci-native h3,.lipo-ci-native h4 { overflow-wrap:break-word; hyphens:auto; }
.lipo-polished { scroll-margin-top:130px; }
.lipo-section > .elementor-container { max-width:1180px!important; margin-inline:auto; }
.lipo-polished .elementor-widget-text-editor,
.lipo-polished .box-description { font-family:Inter,Arial,sans-serif!important; font-size:16px!important; font-weight:400!important; line-height:1.7!important; letter-spacing:normal; }
.lipo-polished .elementor-widget-text-editor :is(strong,b),.lipo-polished .box-description :is(strong,b) { font-weight:500; }
.lipo-polished .elementor-widget-text-editor p { margin:0 0 1.1em; }
.lipo-polished h1,.lipo-polished h2 { letter-spacing:-.02em!important; text-transform:none!important; line-height:1.16!important; }
.lipo-polished h3,.lipo-polished h4,.lipo-polished .box-heading { font-family:Inter,Arial,sans-serif!important; font-weight:500!important; font-size:19px!important; line-height:1.4!important; letter-spacing:-.01em; text-transform:none!important; }
.lipo-polished .box-heading a,.lipo-polished h3 a { font:inherit!important; letter-spacing:inherit!important; }
.lipo-polished .elementor-widget-text-editor h2 { font-size:30px; margin:1.7em 0 .65em; }
.lipo-polished .elementor-widget-text-editor h3 { margin:1.4em 0 .65em; }
.lipo-polished .elementor-widget-text-editor h2:first-child,.lipo-polished .elementor-widget-text-editor h3:first-child { margin-top:0; }
.lipo-polished .elementor-inner-section .elementor-column > .elementor-widget-wrap { align-content:flex-start!important; }
.lipo-detail .elementor-widget-text-editor li span { background:transparent!important; }
.lipo-polished .elementor-widget-text-editor ul { padding-left:1.2em; }
.lipo-section-mark { display:none; }
.lipo-photo img { border-radius:8px; }
.lipo-detail .lipo-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.lipo-portrait img { max-width:340px!important; width:100%; }
.lipo-card-grid .dt-css-grid { gap:24px!important; }
.lipo-card-grid .the7-icon-box-grid { border:1px solid #eadfdf; border-radius:8px; padding:26px; height:100%; background:#fff; box-sizing:border-box; }
.lipo-card-grid .elementor-icon { width:34px!important; height:34px!important; }
.lipo-card-grid .box-description { margin-top:12px!important; }
.lipo-card-grid .box-description a { display:inline-block; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.lipo-polished .box-description a[href],.lipo-polished .elementor-widget-text-editor a[href] { color:#9d0303!important; }
.lipo-polished article h3,.lipo-polished article .entry-title { font-size:18px!important; line-height:1.4!important; hyphens:none!important; overflow-wrap:break-word; }
.lipo-polished article .post-thumbnail,.lipo-polished article .post-entry-content { box-shadow:0 3px 12px #00000015!important; }
.lipo-polished .elementor-widget-the7_button_widget a { border-radius:5px!important; font-family:Inter,Arial,sans-serif!important; font-size:14px!important; font-weight:500!important; min-height:48px!important; height:auto!important; line-height:20px!important; box-sizing:border-box; padding:13px 23px!important; box-shadow:0 3px 9px #00000018!important; }
.lipo-hero .elementor-widget-the7_button_widget { margin:6px!important; }
.elementor-element-76a2c49.lipo-card-grid .the7-icon-box-grid { border:0; padding:10px 0; background:transparent; }
.elementor-element-76a2c49.lipo-card-grid .dt-css-grid { gap:10px!important; }
.lipo-polished a:focus-visible,.lipo-modern-header a:focus-visible,.lipo-modern-footer a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.lipo-hero .elementor-element-962e00c h1 { font-size:clamp(44px,6vw,76px)!important; line-height:1.05!important; }
.lipo-hero .elementor-widget-heading p { font-family:Inter,Arial,sans-serif!important; font-size:17px!important; line-height:1.55!important; font-weight:400!important; }
.lipo-hero .elementor-element-658d3e0 p { font-size:clamp(21px,2.2vw,28px)!important; }
.lipo-hero .elementor-element-9142a00 > .elementor-widget-wrap { padding-bottom:48px!important; }
.lipo-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font:13px/1.6 Inter,Arial,sans-serif; color:#555; margin:0 0 24px; }
.lipo-breadcrumb a { color:#9d0303; }
.lipo-detail > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading { margin-bottom:28px; }
.lipo-detail > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-spacer { display:none; }
.lipo-ci-table th { font-family:Inter,Arial,sans-serif; font-size:15px; font-weight:500; }
.lipo-ci-table td { font:15px/1.65 Inter,Arial,sans-serif; }
.lipo-ci-table :is(strong,b) { font-weight:500; }
.lipo-ci-table thead { background:#f8f5f5; }
.lipo-ci-table a { color:#a50303; font-weight:500; }
.lipo-modern-header { background:rgba(255,255,255,.76)!important; backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%); height:88px!important; min-height:88px!important; padding:0 32px!important; overflow:visible!important; }
.lipo-modern-header #LipoLogo { position:absolute!important; top:4px; bottom:auto; left:32px; width:104px!important; flex-shrink:0; }
.elementor-6758 .elementor-element.elementor-element-ca8f0e1 { border-width:0 0 10px 0!important; }
.lipo-modern-header #LipoLogo img { display:block; width:104px!important; max-width:none!important; }
.lipo-modern-header .elementor-element-28e9d60 { margin-left:auto; width:calc(100% - 150px)!important; }
.lipo-modern-header .e-n-menu-title-text { font:400 14px/1.5 Inter,Arial,sans-serif!important; }
.lipo-modern-header .e-n-menu-title-container { padding-block:12px; }
.lipo-modern-header .e-n-menu-item:last-child .e-n-menu-title-container { background:#b40404; color:#fff!important; border-radius:5px; padding:12px 18px; }
.lipo-modern-header .e-n-menu-item:last-child .e-n-menu-title-text { color:#fff!important; }
.lipo-modern-header .e-n-menu-item:last-child .e-n-menu-title-text { font-weight:500!important; }
.lipo-modern-header .e-n-menu-title-container { text-decoration:none!important; }
:is(.page-id-9097,.page-id-9098,.page-id-9099,.page-id-9100,.page-id-9101,.page-id-9102,.page-id-9103) .lipo-modern-header a[href="/massagen/"],
.page-id-9104 .lipo-modern-header a[href="/head-spa/"],
.page-id-9105 .lipo-modern-header a[href="/team/"],
.page-id-9106 .lipo-modern-header a[href="/studio/"],
.page-id-9107 .lipo-modern-header a[href="/kontakt-anfahrt/"],
.page-id-9109 .lipo-modern-header a[href="/massagen-finder/"] { text-decoration:underline!important; text-underline-offset:7px; }
.lipo-modern-footer h4 { font:500 16px/1.5 Inter,Arial,sans-serif!important; }
.lipo-modern-footer p,.lipo-modern-footer a { font-family:Inter,Arial,sans-serif!important; font-size:14px; line-height:1.8; font-weight:400!important; color:#fff!important; }
.lipo-modern-footer a { text-underline-offset:4px; text-decoration:underline; }
.lipo-modern-footer a:hover { color:#fff!important; text-decoration-thickness:2px; }
/* Secondary labels and FAQ controls use the same calm sans-serif scale. */
.lipo-ci-native .elementor-counter-title { font:400 14px/1.5 Inter,Arial,sans-serif!important; letter-spacing:.06em; }
.lipo-ci-native #faq .elementor-tab-title,.lipo-ci-native #faq .elementor-accordion-title { font:500 17px/1.5 Inter,Arial,sans-serif!important; letter-spacing:normal; }
.lipo-ci-native #faq .elementor-tab-content { font:400 16px/1.7 Inter,Arial,sans-serif!important; }
/* Center the desktop navigation within the whole header; keep the logo at left. */
@media(min-width:1025px) {
 .lipo-modern-header .elementor-element-28e9d60 { width:100%!important; margin-inline:0!important; justify-content:center!important; }
 .lipo-modern-header .e-n-menu-heading { justify-content:center!important; flex-wrap:nowrap!important; column-gap:clamp(8px,1.4vw,22px)!important; }
 .lipo-modern-header .e-n-menu-item { margin:0!important; }
 .lipo-modern-header .e-n-menu-title { padding:0 4px!important; }
 .lipo-modern-header .e-n-menu-title-text { white-space:nowrap; }
}
@media(max-width:1024px) {
 .lipo-modern-header .e-n-menu-wrapper { background:#fff!important; box-shadow:0 10px 24px #00000012; max-height:calc(100dvh - 110px); overflow-y:auto; }
 .lipo-modern-header .e-n-menu-title-container { min-height:48px; }
 .lipo-modern-header .e-n-menu-heading { padding:16px 24px 24px!important; }
 .lipo-modern-header .e-n-menu-toggle { min-width:44px; min-height:44px; }
 .lipo-modern-header .e-n-menu { justify-content:flex-end!important; }
 .lipo-modern-header .e-n-menu-toggle { margin-left:auto!important; margin-right:0!important; }
}
@media(max-width:767px) {
 .lipo-modern-header { height:78px!important; min-height:78px!important; padding:0 20px!important; }
 .lipo-modern-header #LipoLogo { left:20px; top:4px; width:96px!important; }
 .lipo-modern-header #LipoLogo img { width:96px!important; }
 .lipo-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0!important; }
 .lipo-polished .elementor-widget-text-editor,.lipo-polished .box-description { font-size:16px!important; line-height:1.7!important; }
 .lipo-polished h1 { font-size:32px!important; }
 .lipo-polished h2 { font-size:28px!important; }
 .lipo-polished .elementor-widget-text-editor h2 { font-size:25px!important; }
 .lipo-polished h3,.lipo-polished h4,.lipo-polished .box-heading { font-size:18px!important; }
 .lipo-card-grid .the7-icon-box-grid { padding:22px; }
 .lipo-card-grid .dt-css-grid { gap:16px!important; }
 .lipo-detail .elementor-inner-section .elementor-widget-wrap { padding:12px 0!important; }
 .lipo-polished .elementor-widget-the7_button_widget a { max-width:100%; white-space:normal; text-align:center; }
 .lipo-hero .elementor-element-962e00c h1 { font-size:44px!important; }
 .lipo-hero .elementor-widget-heading p { font-size:16px!important; }
 .lipo-hero .elementor-element-658d3e0 p { font-size:21px!important; }
 .lipo-breadcrumb { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .lipo-polished * { animation:none!important; transition:none!important; } }
