/*
Theme Name: Doc Maafi Final V24.18
Theme URI: https://doc-maafi.de/
Author: Maziar Maafi / OpenAI assisted build
Description: Individuelles WordPress-Theme für die Facharztpraxis Maziar Maafi in Krefeld-Oppum.
Version: 1.0.18
Text Domain: doc-maafi
*/

:root{--orange:#EB6F2C;--ink:#262A2D;--muted:#62686D;--soft:#F7F7F5;--line:#E6E7E5;--white:#fff;--header-h:92px;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px)}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit} img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 44px));margin:auto}
.eyebrow{font-size:.77rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:7px}
h1,h2,h3{line-height:1.12;margin:0}h1{font-size:clamp(2.4rem,5vw,4.55rem);letter-spacing:-.045em}h2{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.025em}h3{font-size:1.16rem}p{margin:.65rem 0;color:#4e5559}
header{position:sticky;top:0;z-index:50;height:var(--header-h);background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid #eee}
.header-inner{height:100%;display:flex;align-items:center;gap:30px;position:relative}.brand{width:252px;flex:none}.brand img{max-height:64px;width:auto}

.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;color:var(--ink)}
.menu-toggle span{display:block;width:21px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-call{display:none}
nav{display:flex;gap:24px;margin-left:auto;align-items:center}nav a{font-size:.94rem;text-decoration:none;font-weight:650}nav a:hover{color:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:13px 20px;text-decoration:none;font-weight:750;border:1px solid var(--orange);transition:.2s ease;cursor:pointer}
.btn-primary{background:var(--orange);color:white}.btn-primary:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-ghost{color:var(--orange);background:#fff}
.hero{padding:48px 0 54px;background:linear-gradient(110deg,#fafafa 0%,#fff 61%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
.hero-copy .subtitle{font-weight:720;color:#3b4144;font-size:1.1rem;margin:18px 0 22px}.hero-copy .intro{max-width:620px;font-size:1.05rem}
.hero-actions{display:flex;gap:13px;align-items:center;margin-top:26px}.phone-link{font-weight:780;text-decoration:none;font-size:1.05rem}
.hero-photo{border-radius:18px;overflow:hidden;background:#eee;box-shadow:0 18px 55px rgba(29,34,36,.12)}.hero-photo img{width:100%;aspect-ratio:0.78;object-fit:cover}
.welcome{padding:38px 0;border-bottom:1px solid var(--line)}.welcome-inner{max-width:940px}.welcome p{font-size:1.06rem}
section.anchor{scroll-margin-top:calc(var(--header-h) + 22px)}
section.block{padding:74px 0}section.alt{background:#fafaf8}
.section-head{max-width:840px;margin-bottom:32px}.section-head p{font-size:1.04rem}
.praxis-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;align-items:stretch}.photo-card{margin:0;border-radius:13px;overflow:hidden;background:#fff;border:1px solid var(--line)}.photo-card img{width:100%;height:100%;min-height:370px;object-fit:cover}.photo-card figcaption{padding:11px 13px;color:#6a6f72;font-size:.87rem;background:#fff}
.praxis-copy{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.about-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px;align-items:start}.about-photo{border-radius:14px;overflow:hidden;background:#eee}.about-photo img{width:100%;aspect-ratio:.83;object-fit:cover}
.about-intro{font-size:1.02rem;max-width:760px}.qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:28px}.qual-title{font-weight:800;margin-bottom:12px}
.clean-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.clean-list li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:11px;align-items:start;color:#464c4f}.clean-list .dot{width:7px;height:7px;border-radius:99px;background:var(--orange);margin-top:.56em}
.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.focus-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 20px 22px;text-align:center;box-shadow:0 8px 28px rgba(25,29,31,.035)}
.icon{width:64px;height:64px;color:var(--orange);margin:0 auto 13px}.icon svg{width:100%;height:100%}.focus-card p{font-size:.93rem;margin-top:9px}
.services-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center}.service-visual{border-radius:13px;min-height:390px;background:linear-gradient(145deg,#f8f4ef,#fff);border:1px solid #eee;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.service-visual .big-spine{position:absolute;left:30px;top:28px;width:180px;color:#e4c8b6;opacity:.75}.service-quote{font-family:Georgia,serif;font-style:italic;font-size:2rem;line-height:1.18;color:#45494b;position:relative;z-index:2;max-width:270px;text-align:center;margin-left:92px}.service-quote:after{content:"";display:block;width:90px;height:3px;background:var(--orange);margin:18px auto 0;transform:rotate(-6deg)}
.service-list{display:grid;grid-template-columns:1fr;gap:9px;margin:0;padding:0;list-style:none}.service-list li{display:grid;grid-template-columns:11px minmax(0,1fr);gap:12px;align-items:start;font-size:1.01rem}.service-list .dot{width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:.55em}
.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr 1.35fr;gap:14px;margin-top:30px}.contact-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:20px 18px;min-height:138px}.contact-top{display:flex;align-items:center;gap:10px;font-weight:800;margin-bottom:13px}.contact-symbol{width:30px;height:30px;border-radius:50%;background:#fff1e8;color:var(--orange);display:grid;place-items:center;font-weight:900}.contact-card strong.value{font-size:1.13rem;white-space:nowrap}.contact-card a{text-decoration:none}.contact-card a:hover{color:var(--orange)}
.hours{display:grid;gap:7px;font-size:.91rem}.hours-row{display:grid;grid-template-columns:86px max-content;gap:13px;align-items:baseline}.hours-days{font-weight:720;white-space:nowrap}.hours-time{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;letter-spacing:0}
.cta{background:var(--orange);color:#fff;padding:24px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.cta h3{font-size:1.45rem}.cta p{color:#fff;margin:.25rem 0 0}.cta .btn{background:#fff;color:var(--orange);border-color:#fff;min-width:220px}
footer{padding:38px 0 26px;background:#fff}.footer-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.footer-logo{width:185px}.footer-links{display:flex;gap:18px;font-size:.9rem;color:#676c70}.footer-links button{border:0;background:none;padding:0;text-decoration:underline;color:inherit;cursor:pointer;font:inherit}
.modal{position:fixed;inset:0;display:none;z-index:100;background:rgba(25,28,29,.64);padding:32px;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(1050px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:30px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.28)}.modal-close{position:sticky;float:right;top:0;border:0;background:#f2f2f2;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.gallery-grid img{width:100%;aspect-ratio:1.36;object-fit:cover;border-radius:10px}.modal-card h2{margin-top:4px}.legal h3{margin-top:20px}.legal p{font-size:.95rem}
@media(max-width:980px){:root{--header-h:82px}.brand{width:210px}.menu-toggle{display:flex;margin-left:auto;flex:none}.header-call{margin-left:0}nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;margin:0;padding:12px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:0 0 10px 10px;box-shadow:0 18px 38px rgba(25,29,31,.14);flex-direction:column;align-items:stretch;gap:0;z-index:80}nav.is-open{display:flex}nav a{padding:12px 14px;font-size:1rem;border-bottom:1px solid #f0f0ee}nav a:last-child{border-bottom:0}.nav-call{display:block;margin-top:8px;background:var(--orange);color:#fff!important;border-radius:7px;text-align:center;border-bottom:0!important;font-weight:780}.hero-grid,.about-grid,.services-grid{grid-template-columns:1fr}.hero-photo{max-width:640px}.praxis-grid{grid-template-columns:1fr}.focus-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:repeat(2,1fr)}.about-photo{max-width:480px}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}header{height:74px}:root{--header-h:74px}.brand{width:180px}.header-inner{gap:12px}.header-call{display:none}.menu-toggle{margin-left:auto}.hero{padding:28px 0 38px}.hero-grid{gap:25px}h1{font-size:2.65rem}.hero-actions{flex-direction:column;align-items:flex-start}section.block{padding:54px 0}.qual-grid,.focus-grid,.contact-grid{grid-template-columns:1fr}.service-quote{margin-left:65px;font-size:1.7rem}.praxis-copy,.cta-inner,.footer-inner{flex-direction:column;align-items:flex-start}.gallery-grid{grid-template-columns:1fr}.hours-row{grid-template-columns:94px max-content}.contact-card{min-height:0}}

/* V14 final refinements */
.brand{width:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;line-height:1.05}
.brand .brand-mark{height:38px;width:auto;max-width:122px;object-fit:contain;margin:0 auto 2px}
.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:2px;color:#3f3f3d;text-align:center;white-space:nowrap}
.brand-prof,.brand-name{font-weight:650;color:#3f3f3d;letter-spacing:.005em}
.brand-prof{font-size:10.6px}.brand-name{font-size:12.6px}
.hero-photo{position:relative}
.hero-quote{position:absolute;right:22px;bottom:24px;width:190px;padding:12px 12px 13px;background:rgba(255,255,255,.88);backdrop-filter:blur(5px);border-radius:9px;font-family:Georgia,serif;font-style:italic;font-size:1.28rem;line-height:1.18;color:#444;text-align:center;box-shadow:0 7px 22px rgba(0,0,0,.08)}
.hero-quote:after{content:"";display:block;width:68px;height:2px;background:var(--orange);margin:9px auto 0;transform:rotate(-5deg)}
.about-photo img{width:100%;height:auto;object-fit:cover}
.focus-card .icon{width:78px;height:78px;color:var(--orange);margin:0 auto 13px}.focus-card .icon svg{width:100%;height:100%}
.service-visual{min-height:390px;background:linear-gradient(145deg,#fbf7f3,#fff);display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:30px 32px}
.movement-figure{color:var(--orange);display:flex;align-items:center;justify-content:center}.movement-figure img{width:min(230px,100%);height:auto;display:block;object-fit:contain}
.service-quote{position:relative;inset:auto;margin:0;max-width:260px;align-self:center;text-align:center}
.hours-row{grid-template-columns:95px 164px;gap:12px}.hours-time{width:164px;text-align:left;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap}
.route-hint{display:inline-block;margin-top:7px;color:var(--orange);font-size:.84rem;font-weight:750}
section.anchor{scroll-margin-top:var(--header-h)}
@media(max-width:980px){.brand{width:205px}.brand .brand-mark{height:33px}.brand-prof{font-size:8.8px}.brand-name{font-size:10.7px}.service-visual{grid-template-columns:1fr;min-height:0}.movement-figure svg{width:190px}.hero-quote{right:14px;bottom:14px;width:168px;font-size:1.08rem}}
@media(max-width:620px){.brand{width:150px}.brand .brand-mark{height:27px}.brand-prof{font-size:6.8px}.brand-name{font-size:8.8px}.hero-quote{right:10px;bottom:10px;width:145px;font-size:.92rem;padding:9px}.hours-row{grid-template-columns:88px 160px}.hours-time{width:160px}.service-visual{padding:24px 18px}}

/* V15 final control refinements */
.focus-card .icon{width:82px;height:82px}
.focus-card .icon svg{overflow:visible}
.hours{display:grid;gap:7px;font-size:.91rem}
.hours-row{display:grid;grid-template-columns:92px 47px 12px 47px 25px;column-gap:4px;align-items:baseline}
.hours-days{font-weight:720;white-space:nowrap}
.hours-start,.hours-end{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;text-align:left}
.hours-dash{text-align:center}.hours-unit{white-space:nowrap}
#praxis,#ueber-mich{scroll-margin-top:var(--header-h)}
@media(max-width:620px){.hours-row{grid-template-columns:82px 47px 12px 47px 25px;column-gap:3px;font-size:.88rem}}

.focus-card .icon{display:flex;align-items:center;justify-content:center;padding:0.25rem}
.movement-figure{display:flex;align-items:center;justify-content:center}

.focus-card .icon svg{width:100%;height:100%;display:block}.movement-figure svg{width:min(230px,100%);height:auto;display:block}

.focus-card .icon img{width:100%;height:100%;object-fit:contain;display:block}.movement-figure img{width:min(230px,100%);height:auto;display:block;object-fit:contain}

#galleryModal .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){#galleryModal .gallery-grid{grid-template-columns:1fr}}

/* WordPress final-theme additions */
body.admin-bar header{top:32px}
.site-page{padding:64px 0 82px}
.site-page .page-head{max-width:820px;margin-bottom:34px}
.site-page .page-head h1{font-size:clamp(2.15rem,4vw,3.65rem)}
.gallery-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gallery-page-grid figure{margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.gallery-page-grid img{width:100%;height:370px;object-fit:cover}
.gallery-page-grid figcaption{padding:12px 14px;color:#62686d;font-size:.9rem}
.legal-content{max-width:850px}
.legal-content h2,.legal-content h3{margin-top:28px}.legal-content p,.legal-content li{color:#4e5559}
.legal-content a{color:var(--orange)}
.simple-back{display:inline-flex;margin-bottom:24px;color:var(--orange);font-weight:750;text-decoration:none}
@media(max-width:700px){body.admin-bar header{top:46px}.gallery-page-grid{grid-template-columns:1fr}.gallery-page-grid img{height:auto}}


/* V24.3 – Team section on the Praxis page */
.team-section{margin:0 0 58px}
.team-section-head{margin-bottom:20px}
.team-section-head h2{font-size:clamp(1.8rem,3vw,2.65rem)}
.team-photo{margin:0;max-width:930px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(25,29,31,.06)}
.team-photo img{display:block;width:100%;height:auto}
.room-gallery-head{margin:0 0 20px}
.room-gallery-head h2{font-size:clamp(1.7rem,2.7vw,2.35rem)}
@media(max-width:700px){.team-section{margin-bottom:44px}.team-photo{border-radius:11px}}

/* V24.4 – natural team photo and caption */
.team-caption{padding:18px 24px 20px;text-align:center;color:#3f4448;font-size:1.05rem;line-height:1.55;background:#fff;border-top:1px solid var(--line)}
@media(max-width:700px){.team-caption{padding:15px 18px 17px;font-size:.98rem}}
\n\n/* V24.7 final mobile opening-hours alignment fix */\n.hours-row{\n  display:grid;\n  grid-template-columns:92px max-content max-content max-content max-content;\n  column-gap:7px;\n  align-items:baseline;\n  justify-content:start;\n}\n.hours-start,.hours-end{\n  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;\n  font-variant-numeric:tabular-nums lining-nums;\n  font-feature-settings:"tnum" 1,"lnum" 1;\n  white-space:nowrap;\n  text-align:left;\n}\n.hours-dash{\n  min-width:1ch;\n  text-align:center;\n  white-space:nowrap;\n}\n.hours-unit{\n  min-width:max-content;\n  white-space:nowrap;\n}\n@media(max-width:620px){\n  .hours{font-size:.88rem}\n  .hours-row{\n    grid-template-columns:82px max-content max-content max-content max-content;\n    column-gap:6px;\n  }\n}\n@media(max-width:360px){\n  .hours{font-size:.84rem}\n  .hours-row{grid-template-columns:78px max-content max-content max-content max-content;column-gap:5px}\n}\n\n/* V24.8: precise, symmetric opening-hours spacing */
.hours-row{
  display:grid;
  grid-template-columns:92px 5ch 1.6em 5ch auto;
  column-gap:0;
  align-items:baseline;
  justify-content:start;
}
.hours-start,.hours-end{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  white-space:nowrap;
  text-align:left;
}
.hours-dash{
  width:1.6em;
  text-align:center;
  white-space:nowrap;
  font-family:inherit;
}
.hours-unit{
  margin-left:.55em;
  white-space:nowrap;
}
@media(max-width:760px){
  .hours-row{grid-template-columns:82px 5ch 1.45em 5ch auto;font-size:.88rem}
  .hours-dash{width:1.45em}
  .hours-unit{margin-left:.42em}
}
@media(max-width:390px){
  .hours-row{grid-template-columns:78px 5ch 1.35em 5ch auto;font-size:.84rem}
  .hours-dash{width:1.35em}
  .hours-unit{margin-left:.34em}
}


/* V24.10: opening hours – exactly one space on each side of the en dash.
   Keep the complete time range in one non-breaking text element instead of
   splitting it into separate grid columns. This avoids uneven spacing and
   overlap on narrow screens. */
.hours{
  display:grid;
  gap:7px;
  font-size:.91rem;
}
.hours-row{
  display:grid;
  grid-template-columns:92px max-content;
  column-gap:12px;
  align-items:baseline;
  justify-content:start;
}
.hours-days{
  font-weight:720;
  white-space:nowrap;
}
.hours-time{
  width:auto;
  text-align:left;
  white-space:nowrap;
  letter-spacing:0;
  font-family:inherit;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
}
@media(max-width:620px){
  .hours{font-size:.88rem}
  .hours-row{
    grid-template-columns:82px max-content;
    column-gap:10px;
  }
}
@media(max-width:360px){
  .hours{font-size:.84rem}
  .hours-row{
    grid-template-columns:78px max-content;
    column-gap:8px;
  }
}


/* V24.13 – Praxis-Seite: Team links groß, Außenansicht und Flur rechts */
.praxis-showcase{margin-top:6px}
.praxis-showcase-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-rows:360px 360px;gap:20px;align-items:stretch}
.praxis-showcase-card{margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 28px rgba(25,29,31,.045)}
.praxis-showcase-card img{display:block;width:100%;height:100%;min-height:0;flex:1 1 auto;object-fit:cover}
.praxis-showcase-team{grid-row:1 / span 2}
.praxis-showcase-team img{object-position:center 12%}
.praxis-showcase-side img{object-position:center center}
.praxis-showcase-caption{flex:0 0 auto;padding:12px 14px;color:#62686d;font-size:.9rem;background:#fff;border-top:1px solid var(--line)}
.praxis-team-caption{padding:15px 17px 16px}
.praxis-team-caption strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:3px}
.praxis-team-caption span{display:block;line-height:1.48}
@media(max-width:800px){.praxis-showcase-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:18px}.praxis-showcase-team{grid-row:auto}.praxis-showcase-card img{height:auto;flex:none}.praxis-showcase-team img{aspect-ratio:auto;object-fit:contain;object-position:center top}.praxis-showcase-side img{height:auto;aspect-ratio:1.55;object-fit:cover}}
