/* WordPress integration without changing the approved site layout. */
.wp-block-kellina-section{margin:0}.kk-editor-section{margin:0}
.kk-vector{pointer-events:none}
.editorial{max-width:1000px;margin:auto}.editorial h1{color:var(--forest)}
.admin-bar .mobile-contact-bar{z-index:999}
#primary-navigation [aria-current=page]{text-decoration:underline;text-underline-offset:5px}

.button .kk-editable-label{font:inherit}.method-topic>.kk-editable-label{margin:0}

/* Portraits on the additional concern pages retain their full framing. */
.additional-topic-hero .concern-photo img{height:395px;object-fit:contain;border-radius:0}
.additional-topic-hero h1 em{color:#426653}
@media(max-width:700px){.additional-topic-hero .concern-photo img{height:330px}}

/* Language links remain visible even while the mobile menu is closed. */
header{gap:20px}.language-switch{display:flex;gap:6px;align-items:center;font-size:12px;flex-shrink:0;white-space:nowrap}.language-switch a{padding:9px 4px}.language-switch a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:5px}
@media(min-width:1101px){header #primary-navigation{gap:20px}.language-switch{margin-left:0}}
@media(max-width:1100px){header .brand{margin-right:auto}.language-switch{order:2}header .menu-toggle{order:3}header #primary-navigation{order:4;flex-basis:100%}}
@media(max-width:420px){header{gap:9px}header .brand{font-size:25px}header .brand span{font-size:7px;letter-spacing:1px}.language-switch{gap:2px}.language-switch a{padding:9px 3px}.menu-toggle{padding:9px 8px}}

.phone-offer{background:var(--sage);display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.phone-offer .price{font-size:14px;margin:24px 0}.phone-offer .price span{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.phone-offer .cost-orientation{font-size:14px}.phone-offer .text-link{margin:8px 22px 8px 0}.fee-list{max-width:900px;margin:30px 0}.fee-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.fee-row strong{white-space:nowrap}.fees-overview>p{max-width:900px}.fees-overview .cost-orientation{font-size:14px}
@media(max-width:700px){.phone-offer{grid-template-columns:1fr;gap:20px}.fee-row{font-size:15px;gap:16px}.phone-offer .price span{gap:12px}}
@media(min-width:1101px) and (max-width:1300px){header{flex-wrap:wrap}header #primary-navigation{order:4;flex-basis:100%;justify-content:flex-end}.language-switch{margin-left:auto}}

/* Session emphasis follows its section background. */
.cost-orientation strong{color:inherit}
.contact .cost-orientation strong{color:var(--cream)}

/* New homepage portrait: calm rectangular framing, full face and natural proportions. */
.hero-portrait .hero-image{max-width:440px;width:100%;justify-self:center;padding-top:0;margin-bottom:40px}.hero-portrait .hero-image img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:6px}.hero-portrait .hero-copy{align-self:center}.hero-portrait .hero-foot{margin-top:0}
@media(max-width:700px){.hero-portrait .hero-image{max-width:380px;margin-bottom:30px}.hero-portrait .hero-image img{border-radius:4px}}

/* Editorial links remain readable without a card grid. */
.kk-media-links { display:flex; flex-direction:column; align-items:flex-start; gap:24px; margin-top:32px; }
.kk-media-links a { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.smoking-feature { border-top:1px solid rgba(32,64,52,.15); }
.smoking-feature .text-link { margin-top:16px; }

.kk-reviews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin:36px 0; }
.kk-review { grid-row:span 4; display:grid; grid-template-rows:subgrid; row-gap:18px; margin:0; padding:28px; background:#eef0e4; border:1px solid rgba(32,64,52,.15); }
.kk-review > * { margin:0; }
.kk-review-stars { color:#365747; letter-spacing:.14em; font-size:18px; }
.kk-review blockquote { font-family:inherit; font-size:20px; line-height:1.55; }
.kk-review figcaption { font-weight:700; }
.kk-review .text-link { justify-self:start; }
@media(max-width:619px){ .kk-reviews { grid-template-columns:1fr; gap:24px; } .kk-review { padding:24px; } }
@supports not (grid-template-rows:subgrid){ .kk-review { display:flex; flex-direction:column; } .kk-review blockquote { flex:1; } }

.kk-google-summary { font-weight:700; color:inherit; }
.trust a > .kk-google-summary { display:block; font-size:14px; margin-bottom:6px; }

/* Review source notes sit on a light background, unlike the hero microcopy. */
#erfahrungen .micro { color:var(--muted); font-size:14px; line-height:1.6; }

/* Three reviews: aligned rows, no incomplete second row. */
.kk-reviews { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1000px){ .kk-reviews { grid-template-columns:1fr; } }
.kk-video-dialog { width:min(960px,92vw); max-height:90vh; padding:24px; border:0; border-radius:8px; background:var(--cream); color:var(--ink); }
.kk-video-dialog::backdrop { background:rgba(10,25,20,.82); }
.kk-video-close { display:block; margin:0 0 20px auto; padding:10px 16px; font:inherit; cursor:pointer; background:var(--forest); color:var(--cream); border:0; border-radius:4px; }
.kk-video-content iframe { display:block; width:100%; aspect-ratio:16/9; border:0; }
.kk-video-content button { cursor:pointer; }
.kk-video-open { overflow:hidden; }

.overview-portrait img,.portrait-photo img,.hero-portrait .hero-image img { border-radius:8px; }
#telefonische-therapie p a { text-decoration:underline; text-underline-offset:3px; }

/* Show the complete room photograph on concern pages at every breakpoint. */
.concern-full-hero .concern-full-photo, .concern-full-hero .concern-photo img.concern-full-photo { display:block; width:100%; height:auto; max-height:none; aspect-ratio:4/3; object-fit:contain; border-radius:8px; }
.concern-full-hero .overview-portrait { max-width:none; width:100%; }
.concern-full-hero .first-talk { align-self:start; }
.contact-invitation a { text-decoration:underline; text-underline-offset:3px; }
.contact-actions .contact-invitation { font-size:17px; line-height:1.7; }

/* Four equal approaches: shared heading, copy and link rows at every width. */
.working-methods-grid { display:grid; grid-template-columns:1fr; gap:28px; margin-top:28px; }
.working-methods-grid > article { display:grid; grid-template-rows:subgrid; grid-row:span 4; row-gap:18px; min-width:0; padding:24px 0 0; border-top:1px solid var(--line); }
.working-methods-grid > article > * { margin:0; min-width:0; }
.working-methods-grid > article > h3 { font-size:clamp(26px,2.5vw,34px); line-height:1.2; }
.working-methods-grid > article > p { font-size:16px; line-height:1.65; color:var(--muted); }
.working-methods-grid .number { font-size:12px; }
.working-methods-grid .text-link { align-self:start; justify-self:start; font-size:14px; gap:8px; }
.working-methods-info { margin-top:36px; padding:24px 28px; background:var(--sage); border-radius:8px; color:var(--ink); }
.working-methods-info p { max-width:none; margin:0; font-size:16px; line-height:1.7; }
@media(min-width:620px){ .working-methods-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@supports not (grid-template-rows:subgrid){ .working-methods-grid > article { display:flex; flex-direction:column; gap:18px; } .working-methods-grid > article > h3 { min-height:2.4em; } .working-methods-grid > article > p { flex:1; } }

.working-methods-intro { align-items:center; gap:6%; }
.working-methods-visual .eyebrow { margin-bottom:20px; }
.working-methods-photo { margin:0; }
.working-methods-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; border-radius:8px; }
@media(max-width:700px){ .working-methods-intro { grid-template-columns:1fr; gap:28px; } }

/* Photo and introduction above a consistent two-by-two methods grid. */
.working-methods-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:32px 6%; }
.working-methods-split > .working-methods-visual { position:static; }
.working-methods-copy { display:contents; }
.working-methods-copy > div > p { color:var(--muted); margin:24px 0; }
.working-methods-copy .working-methods-grid { grid-column:1 / -1; }
@media(max-width:700px){ .working-methods-split { grid-template-columns:1fr; } }

/* All concern hero captions share the same typography and spacing. */
.concern-full-hero figure figcaption { margin:14px 0 0; padding:0; font-family:inherit; font-size:14px; font-weight:400; font-style:normal; line-height:1.5; letter-spacing:normal; text-align:left; color:inherit; opacity:1; }
a[href^="tel:"] { white-space:nowrap; }
