/* Doris Salmen – WordPress-Praxiswebsite | freigegebenes Gestaltungssystem */
:root {
  --bordeaux:#8A2E34;
  --salbei:#7B8B7A;
  --stein:#C9C4B8;
  --creme:#F6F3EA;
  --anthrazit:#3D3D3A;
  --paper:#fffdfa;
  --rule:rgba(61,61,58,.13);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
  --accent-rule:clamp(106px,11vw,158px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--anthrazit);background:var(--creme);font:17px/1.76 var(--serif)}
a{color:var(--bordeaux);text-decoration:none}
a:hover{color:var(--bordeaux)}
.site{width:min(calc(100% - 48px),1510px);min-height:calc(100dvh - 64px);margin:32px auto;background:var(--paper);border:1px solid rgba(201,196,184,.24);border-radius:5px;box-shadow:0 18px 65px rgba(55,47,40,.065);display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden}
.sidebar{border-right:1px solid var(--rule);padding:34px 28px 28px;display:flex;flex-direction:column;min-width:0}
.brand-logo{display:block;width:89px;height:87px;object-fit:contain;margin:0 auto 13px auto}
.brand{font:normal clamp(28px,2.15vw,33px)/1.13 var(--serif);color:var(--bordeaux);white-space:nowrap}
.brand-rule,.small-rule{width:var(--accent-rule);height:2px;background:var(--bordeaux);margin:13px 0 12px}
.brand-sub{font:600 10px/1.5 var(--sans);letter-spacing:1.8px;color:var(--anthrazit);white-space:normal;text-align:left}
.nav{margin-top:48px}
.nav-group{border-bottom:1px solid var(--rule)}
.nav-group.current-branch{border-left:2px solid var(--bordeaux)}
.nav-item{display:flex;align-items:center}
.nav-link,.nav-child{font:inherit;text-decoration:none;color:var(--anthrazit)}
.nav-link{display:block;flex:1;min-width:0;padding:12px 12px;font-size:17px;line-height:1.6}
.nav-link.active,.nav-child.active{color:var(--bordeaux)}
.nav-link:hover,.nav-child:hover{color:var(--bordeaux);text-decoration:none}
.nav-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:35px;min-height:49px;border:0;background:transparent;cursor:pointer;color:var(--anthrazit)}
.nav-toggle svg{width:15px;height:15px;transition:transform .2s}
.nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.nav-children{display:none;padding:0 0 12px 22px}.nav-children.open{display:block}
.nav-child{display:block;padding:5px 5px 5px 0;font-size:15px;line-height:1.56}
.nav-child::before{content:"•";color:var(--salbei);margin-right:8px}
.sidebar-footer{font:13px/1.6 var(--serif);margin-top:auto;padding-top:42px;color:var(--anthrazit)}
.sidebar-footer::before{content:"";display:block;border-top:1px solid var(--rule);margin-bottom:22px}
.sidebar-footer a{color:inherit}
.main{min-width:0;padding:clamp(42px,5.2vw,75px) clamp(28px,4.0vw,57px) 76px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;min-height:730px}
.hero-text{min-width:0;max-width:510px;padding-top:clamp(95px,11vw,165px);display:flex;flex-direction:column}
.hero-kicker{margin:0 0 clamp(92px,9.5vw,148px)}
.hero-person{color:var(--bordeaux);font:normal clamp(25px,2.4vw,33px)/1.2 var(--serif);margin:0 0 6px}
.hero-profession{font:500 clamp(11px,1.1vw,14px)/1.5 var(--sans);text-transform:uppercase;letter-spacing:2.4px;color:var(--anthrazit)}
.hero-kicker .small-rule{margin-top:25px;width:var(--accent-rule)}
.hero-copy-wrap{max-width:465px}
.hero-title{color:var(--bordeaux);font:normal clamp(32px,3.2vw,48px)/1.17 var(--serif);margin:0 0 29px;letter-spacing:-.022em;text-wrap:balance}
.hero-copy{max-width:435px;font:normal clamp(18px,1.55vw,21px)/1.74 var(--serif);margin:0;hyphens:auto;text-align:left}
.hero-art-wrap{width:100%;max-width:440px;justify-self:end;padding:7px;border:1px solid var(--stein);background:var(--paper)}
.hero-art{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:var(--creme)}
/* Seiten-Typografie */
.content-page{width:100%;max-width:825px;margin-inline:auto}
.legacy-content{font-size:17px;line-height:1.78;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.legacy-content :is(h1,h2,h3,h4,h5,h6){font-family:var(--serif);font-weight:normal;color:var(--bordeaux);line-height:1.31;text-align:left;hyphens:none;letter-spacing:-.012em}
.legacy-content h1{font-size:clamp(30px,3vw,36px);margin:0 0 1.05em}
.legacy-content h2{font-size:clamp(22px,2.15vw,27px);margin:1.72em 0 .68em}
.legacy-content h3{font-size:clamp(19px,1.75vw,22px);margin:1.5em 0 .55em}
.legacy-content h4{font-size:19px;margin:1.4em 0 .55em}
.legacy-content p{margin:0 0 1.24em;text-align:justify;text-justify:inter-word}
.legacy-content p.section-intro{font-size:18px;line-height:1.72;max-width:720px}
.legacy-content a{text-decoration:underline;text-decoration-color:rgba(138,46,52,.3);text-underline-offset:3px}
.legacy-content a:hover{text-decoration:none}
.legacy-content ul,.legacy-content ol{padding-left:1.4rem;margin:0 0 1.6em}
.legacy-content li{margin:0 0 .48em;text-align:justify;text-justify:inter-word}
.legacy-content img{max-width:100%;height:auto}
/* Behandlung / Empfehlungen */
.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;grid-auto-rows:1fr;margin:35px 0}
.overview-grid .overview-card:last-child:nth-child(odd){grid-column:1 / -1}
.legacy-content .overview-card{min-height:204px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;border:1px solid var(--rule);background:color-mix(in srgb,var(--creme) 62%,white);color:var(--anthrazit);text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.legacy-content .overview-card:hover{background:var(--creme);border-color:var(--stein);transform:translateY(-1px)}
.legacy-content .overview-card h2{color:var(--bordeaux);font-size:23px;margin:0 0 15px;text-align:center}
.legacy-content .overview-card p{max-width:39ch;margin:0;text-align:center;hyphens:none;line-height:1.64}
/* Biografie und Mitgliedschaften */
.bio-header{display:grid;grid-template-columns:202px minmax(0,1fr);gap:36px;align-items:start;margin-bottom:32px}
.bio-photo{display:block;width:202px;height:auto;border:4px solid var(--creme);outline:1px solid var(--bordeaux)}
.bio-name{font-size:23px;margin-bottom:.25em!important}.person-name{color:var(--bordeaux)}
.timeline{margin:12px 0 42px}
.timeline-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.timeline-row dt{color:var(--bordeaux);text-align:left}.timeline-row dd{margin:0;text-align:justify}
/* Fachtexte, Linkliste, Literatur */
.resource-entry{border-bottom:1px solid var(--rule);padding:14px 0 18px;margin:0}
.resource-entry a:first-of-type{color:var(--bordeaux);text-decoration:none;font-size:1.035em}
.book-list{list-style:none;padding:0!important;margin:15px 0 34px!important}
.book-item{padding:16px 19px;margin:0 0 11px!important;background:color-mix(in srgb,var(--creme) 56%,white);border:1px solid var(--rule);border-left:3px solid var(--stein);overflow-wrap:anywhere}
.book-line{display:block;line-height:1.6;margin:0 0 5px;text-align:justify}
.book-line:last-child{margin-bottom:0}
.legacy-content .book-item a{text-decoration:none;color:var(--bordeaux)}
/* Kontakt, Karte mit vorheriger Zustimmung */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(200px,.82fr);gap:clamp(28px,4vw,50px)}
.contact-details{border-left:1px solid var(--rule);padding-left:22px;overflow-wrap:anywhere;font-size:16px}
.contact-details h2{margin-top:0}.contact-details address{font-style:normal;line-height:1.8;margin:0 0 22px;text-align:left}
.contact-detail-label{font:600 12px/1.5 var(--sans);letter-spacing:1px;color:var(--salbei);text-transform:uppercase;margin:18px 0 6px}
.map-section{margin-top:45px}
.map-consent{background:color-mix(in srgb,var(--creme) 70%,white);border:1px solid var(--rule);padding:26px}
.map-consent p{margin-bottom:18px}
.map-load{font:inherit;border:0;background:var(--bordeaux);color:#fff;padding:11px 17px;margin-right:14px;cursor:pointer}
.map-close{font:inherit;border:1px solid var(--stein);background:var(--paper);color:var(--bordeaux);padding:10px 15px;margin-bottom:12px;cursor:pointer}
.map-consent iframe{display:block;border:0;width:100%;height:340px}
.legal-preview-note{background:var(--creme);border-left:2px solid var(--bordeaux);padding:11px 15px;margin:0 0 30px!important;text-align:left!important;hyphens:none}
/* Bedienung */
.mobile-bar,.mobile-shade,.sidebar-close{display:none}
:is(a,button):focus-visible{outline:2px solid var(--bordeaux);outline-offset:3px}
@media(max-width:1220px){.site{grid-template-columns:255px minmax(0,1fr);width:calc(100% - 32px);margin:16px auto;min-height:calc(100dvh - 32px)}.sidebar{padding:30px 22px 24px}.main{padding:44px 33px 60px}.hero{gap:35px;min-height:600px}.hero-text{padding-top:85px}.hero-kicker{margin-bottom:98px}.hero-title{font-size:clamp(30px,3.15vw,41px)}.hero-art-wrap{max-width:390px}}
@media(max-width:980px) and (min-width:821px){.hero{gap:28px}.hero-text{padding-top:75px}.hero-kicker{margin-bottom:85px}.hero-title{font-size:30px}.hero-profession{font-size:11px;letter-spacing:1.2px}.hero-copy{font-size:17px}.brand{font-size:27px}.brand-logo{width:77px;height:76px}.main{padding:36px 23px 55px}.overview-card{min-height:185px}}
@media(max-width:820px){
 .site{display:block;width:100%;margin:0;min-height:100dvh;border:0;border-radius:0;overflow:visible;box-shadow:none}
 .mobile-bar{display:flex;align-items:center;gap:11px;position:sticky;top:0;z-index:4;padding:12px 20px;background:var(--paper);border-bottom:1px solid var(--rule)}
 .mobile-mark{width:34px;height:34px;object-fit:contain}.mobile-name{color:var(--bordeaux);font:normal 22px/1.15 var(--serif)}
 .mobile-button{margin-left:auto;background:transparent;border:1px solid var(--stein);color:var(--anthrazit);padding:8px 12px;cursor:pointer;font:16px var(--serif)}
 .sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,91vw);overflow-y:auto;min-height:auto;background:var(--paper);z-index:6;transform:translateX(-104%);transition:transform .2s;padding:24px}
 .sidebar.open{transform:translateX(0)}
 .sidebar-close{display:flex;align-items:center;justify-content:center;position:absolute;top:16px;right:15px;width:40px;height:40px;background:transparent;border:1px solid var(--stein);color:var(--anthrazit);font:normal 25px/1 var(--sans);cursor:pointer}
 .mobile-shade.open{display:block;position:fixed;inset:0;background:rgba(40,35,33,.55);z-index:5}
 .nav{margin-top:31px}.brand-logo{width:70px;height:67px;margin-bottom:9px}.brand{font-size:27px}
 .main{padding:26px 21px 62px}
 /* Mobil: Praxistexte zuerst; das Bild bleibt als kurzer visueller Abschluss. */
 .hero{display:flex;flex-direction:column;gap:28px;min-height:0}
 .hero-art-wrap{align-self:center;width:min(100%,380px);max-width:100%}
 .hero-art{width:100%;height:clamp(220px,65vw,300px);object-fit:cover;object-position:center}
 .hero-text{padding:0;max-width:none}
 .hero-kicker{margin:0 0 22px}.hero-person{font-size:25px}
 .hero-title{font-size:clamp(29px,7vw,37px);max-width:440px}
 .hero-copy{font-size:18px;max-width:500px}
 .hero-copy-wrap .wp-block-heading.hero-title{font-size:clamp(29px,7vw,37px);margin-bottom:18px}
 .hero-copy-wrap .wp-block-paragraph.hero-copy,.hero-copy-wrap p.hero-copy{font-size:18px}
 .legacy-content p,.legacy-content li{text-align:left;text-justify:auto}
 .overview-grid{grid-template-columns:1fr}.overview-grid .overview-card:last-child:nth-child(odd){grid-column:auto}
 .legacy-content .overview-card{min-height:169px}
 .bio-header{grid-template-columns:1fr;gap:25px}.bio-photo{width:min(210px,75%)}
 .contact-layout{grid-template-columns:1fr}.contact-details{border-left:0;border-top:1px solid var(--rule);padding:20px 0 0}
 .timeline-row{grid-template-columns:88px minmax(0,1fr);gap:10px}
}
@media(max-width:430px){.main{padding:22px 17px 52px}.hero{gap:24px}.hero-title{font-size:30px}.hero-profession{letter-spacing:1.35px}.legacy-content h1{font-size:29px}.legacy-content h2{font-size:23px}.legacy-content p{font-size:16px}.legacy-content .overview-card p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Brand: zentrierte Wort-Bild-Marke und bemessene Akzentlinien. */
.sidebar>.brand-logo{width:122px;height:112px;margin:0 auto 10px;object-fit:contain;flex-shrink:0}
.brand-name-lockup{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin:0 auto}
.brand-name-lockup .brand{display:block;text-align:center;width:max-content;max-width:100%;font-size:clamp(27px,2.08vw,32px);line-height:1.16;margin:0}
.brand-name-lockup .brand-rule{align-self:stretch;width:100%;height:2px;margin:10px 0 11px}
.sidebar>.brand-sub{text-align:center;letter-spacing:1.4px;font-size:10px;line-height:1.5;white-space:nowrap;margin:0 auto;color:var(--anthrazit)}
.sidebar>.nav{margin-top:51px}
/* Der Hero behält die freigegebene Komposition; die horizontale Linie wird über
   site.js pixelgenau an die tatsächliche Breite des Namens gesetzt. */
.hero-kicker .hero-person{display:table;width:max-content;max-width:100%}
.hero-kicker .small-rule{width:100%;max-width:100%;margin-top:25px}
@media(max-width:1220px){
.sidebar>.brand-logo{width:112px;height:103px}
.brand-name-lockup .brand{font-size:27px}
.sidebar>.brand-sub{letter-spacing:1px;font-size:9px}
}
@media(max-width:820px){
.sidebar>.brand-logo{width:105px;height:97px}
.brand-name-lockup .brand{font-size:28px}
.sidebar>.brand-sub{font-size:10px;letter-spacing:1.2px}
}

/* Gutenberg-Anpassungen für Seiteninhalte. */
.hero-copy-wrap .wp-block-heading.hero-title{color:var(--bordeaux);font:normal clamp(32px,3.2vw,48px)/1.17 var(--serif);margin:0 0 29px;letter-spacing:-.022em;text-wrap:balance}
.hero-copy-wrap .wp-block-paragraph.hero-copy,.hero-copy-wrap p.hero-copy{max-width:435px;font:normal clamp(18px,1.55vw,21px)/1.74 var(--serif);margin:0;hyphens:auto;text-align:left}
.legacy-content .wp-block-columns.bio-header{display:grid;grid-template-columns:202px minmax(0,1fr);gap:36px;align-items:start;margin-bottom:32px}
.legacy-content .bio-header .wp-block-column{min-width:0}
.legacy-content .bio-header .wp-block-image{margin:0}
.legacy-content .bio-header .wp-block-image img{display:block;width:202px;max-width:100%;height:auto;border:4px solid var(--creme);outline:1px solid var(--bordeaux)}
.legacy-content .wp-block-table.membership-wp-table{margin:12px 0 42px}
.legacy-content .wp-block-table.membership-wp-table table{width:100%;border-collapse:collapse}
.legacy-content .wp-block-table.membership-wp-table td{border:0;border-bottom:1px solid var(--rule);padding:13px 9px;vertical-align:top;text-align:justify}
.legacy-content .wp-block-table.membership-wp-table td:first-child{width:115px;color:var(--bordeaux);text-align:left}
.legacy-content .wp-block-table.membership-wp-table td:first-child{font:normal 17px/1.76 var(--serif)}
.legacy-content .wp-block-table.membership-wp-table td:nth-child(2){border-left:1px solid var(--stein);padding-left:17px}
.legacy-content .wp-block-table.membership-wp-table a{color:var(--anthrazit);text-decoration:none}
.legacy-content .wp-block-table.membership-wp-table a:hover{color:var(--bordeaux)}
.legacy-content .wp-block-group.book-list{margin:15px 0 34px}
.legacy-content .wp-block-group.book-item{padding:16px 19px;margin:0 0 11px;background:color-mix(in srgb,var(--creme) 56%,white);border:1px solid var(--rule);border-left:3px solid var(--stein)}
.legacy-content .wp-block-group.book-item p.book-line{margin:0 0 5px;line-height:1.6}
.legacy-content .wp-block-group.book-item p.book-line:last-child{margin-bottom:0}
.legacy-content .wp-block-group.book-item a{text-decoration:none}
.legacy-content .wp-block-columns.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(200px,.82fr);gap:clamp(28px,4vw,50px)}
.legacy-content .contact-layout .wp-block-column{min-width:0}
.legacy-content .contact-layout .contact-details{border-left:1px solid var(--rule);padding-left:22px;overflow-wrap:anywhere;font-size:16px}
.legacy-content .contact-layout .contact-details h2{margin-top:0}
.legacy-content .overview-grid .overview-card{cursor:pointer}
.legacy-content .overview-grid .overview-card h2 a{color:var(--bordeaux);text-decoration:none}
.legacy-content .overview-grid .overview-card p{text-align:center;hyphens:none}
@media(max-width:820px){
 .legacy-content .wp-block-columns.bio-header{grid-template-columns:1fr;gap:25px}
 .legacy-content .wp-block-columns.contact-layout{grid-template-columns:1fr}
 .legacy-content .contact-layout .contact-details{border-left:0;border-top:1px solid var(--rule);padding:20px 0 0}
 .legacy-content .wp-block-table.membership-wp-table td:first-child{width:88px}
}

/* WordPress-Bearbeitungsleiste: Bei angemeldeten Nutzern beginnen das
   mobile Navigationspanel und sein Schließen-Button unter der Adminleiste. */
@media (max-width:820px) {
 body.admin-bar .sidebar,
 body.admin-bar .mobile-shade.open,
 body.admin-bar .mobile-bar {top:32px}
}
@media (max-width:782px) {
 body.admin-bar .sidebar,
 body.admin-bar .mobile-shade.open,
 body.admin-bar .mobile-bar {top:46px}
}

/* WordPress-Adminleiste scrollt bei <=600px aus dem Viewport.
   Deshalb darf der Sticky-Header dort nicht dauerhaft 46px Abstand behalten.
   Der Wert wird nur im angemeldeten mobilen Zustand von site.js aktualisiert. */
@media (max-width:600px) {
 body.admin-bar .mobile-bar,
 body.admin-bar .sidebar,
 body.admin-bar .mobile-shade.open {top:var(--dsp-visible-admin-bar,46px)}
}


/* 1.0.7 | Desktop: Rahmen und Startseite an die verfügbare Fensterhöhe anpassen.
   Die WordPress-Adminleiste reserviert in der angemeldeten Desktopansicht 32px.
   Der bisherige feste Hero-Mindestwert von 730px ließ die Seite trotz
   ausreichendem Platz bei kompakten Bildschirmhöhen unnötig scrollen.
   Natürliche Inhaltsgröße bleibt vorrangig: lange Seiten dürfen scrollen. */
@media (min-width:821px) {
  body.admin-bar { --dsp-admin-height:32px; }
  .site { min-height:calc(100dvh - 64px - var(--dsp-admin-height,0px)); }
  .hero { min-height:min(730px,max(0px,calc(100dvh - 64px - var(--dsp-admin-height,0px) - clamp(42px,5.2vw,75px) - 76px - 2px))); }
}
@media (min-width:821px) and (max-width:1220px) {
  .site { min-height:calc(100dvh - 32px - var(--dsp-admin-height,0px)); }
  .hero { min-height:min(600px,max(0px,calc(100dvh - 32px - var(--dsp-admin-height,0px) - 44px - 60px - 2px))); }
}
@media (min-width:821px) and (max-width:980px) {
  .hero { min-height:min(600px,max(0px,calc(100dvh - 32px - var(--dsp-admin-height,0px) - 36px - 55px - 2px))); }
}
/* Auf hohen Desktops bleibt die freigegebene Komposition unverändert.
   Bei geringerer Fensterhöhe werden ihre Leerabstände und die Bildgröße
   gemeinsam begrenzt, statt einen unnötigen Scrollbalken zu erzeugen. */
@media (min-width:1221px) {
  .hero-text { padding-top:min(clamp(95px,11vw,165px),clamp(65px,calc(100dvh - 730px),165px)); }
  .hero-kicker { margin-bottom:min(clamp(92px,9.5vw,148px),clamp(70px,calc(100dvh - 740px),148px)); }
  .hero-art-wrap { max-width:min(440px,max(260px,calc((100dvh - 64px - var(--dsp-admin-height,0px) - clamp(42px,5.2vw,75px) - 76px - 18px) * 0.638 + 16px))); }
}
