/*
Theme Name: Kanzlei Justen | ODPC
Theme URI: https://odpc.de/anwaltskanzlei-anne-kathrin-justen
Author: ODPC
Description: Eigenstaendiges Kanzlei-Theme fuer die Rechtsanwaltskanzlei Anne-Kathrin Justen in Trier. Mobile-first, Terminwunsch, PraeLex.ai-Vorbereitung.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: akj-helper-monkey
*/

/* ODPC Kanzlei-Designsystem 1.0 */
:root{--accent:#238ca3;--ink:#243c46;--muted:#66787f;--border:#d8edf2;--paper:#f8fcfd;--white:#fff;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{width:min(calc(100% - 44px),var(--max));margin-inline:auto}.skip{position:absolute;left:-1000px;top:auto}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:99}.draftbar{padding:9px 14px;text-align:center;background:#243c46;color:#fff;font-size:12px;letter-spacing:.08em}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.98);border-bottom:1px solid #e4ebee;backdrop-filter:blur(10px)}.header-inner{display:flex;align-items:center;gap:32px;min-height:84px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand-icon{display:grid;place-items:center;height:47px;width:47px;background:var(--ink);color:#fff;font-size:27px;font-family:Georgia,serif;border-radius:7px}.brand strong{display:block;font-size:16px;letter-spacing:.015em}.brand small{display:block;color:var(--muted);margin-top:3px}.site-header nav{display:flex;align-items:center;gap:25px;margin-left:auto}.site-header nav a{text-decoration:none;font-size:14px;font-weight:650}.header-call{color:var(--accent);text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap;padding:11px 14px;border:1px solid var(--border);border-radius:8px}.menu-toggle{display:none;background:transparent;border:0;padding:12px;font-weight:bold;color:var(--ink)}.hero{background:linear-gradient(115deg,#f4fbfd,#e8f4f7 75%,#f8fcfd);padding:75px 0 72px}.hero-grid{display:grid;grid-template-columns:1.14fr .86fr;align-items:center;gap:76px}.eyebrow{color:var(--accent);font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.17em;margin:0 0 20px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,5.1vw,75px);letter-spacing:-.044em;line-height:1.08;margin:0 0 26px;font-weight:500;max-width:690px}.hero h1 em{font-style:normal;color:var(--accent)}.intro{font-size:19px;line-height:1.75;color:#536872;max-width:600px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.button{text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:49px;padding:12px 23px;border-radius:8px;font-size:14px;font-weight:750;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:white}.button.primary:hover{background:#18677a}.button.outline{background:white;border:1px solid #b7d3da;color:var(--ink)}.hero-foot{display:flex;gap:24px;flex-wrap:wrap;margin-top:56px;color:var(--muted);font-size:12px}.hero-foot span{padding-right:24px;border-right:1px solid #c2dce2}.hero-foot span:last-child{border-right:0}.hero-foot b{display:block;color:var(--ink);margin-bottom:4px}.photo-panel{min-height:440px;position:relative;background:#d9e9ed;border-radius:12px;overflow:hidden;box-shadow:0 21px 58px rgba(36,60,70,.16)}.photo-panel img{width:100%;height:440px;object-fit:cover;object-position:center 25%;display:block}.photo-overlay{position:absolute;right:22px;bottom:22px;padding:17px 23px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:8px}.photo-overlay span{display:block;color:var(--muted);font-size:12px}.photo-overlay strong{display:block;margin-top:3px;font-size:15px}.section{padding:98px 0;scroll-margin-top:95px}.section.light{background:var(--paper)}.split{display:grid;grid-template-columns:.91fr 1.09fr;gap:85px}.section h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(35px,3.6vw,49px);line-height:1.16;letter-spacing:-.035em;margin:0}.text-stack p,.section> .container>p:not(.eyebrow),.section .split>div>p:not(.eyebrow){font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 17px}.section .split>div>h2+p{margin-top:25px}.section-lead{margin:22px 0 32px!important;max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:29px 27px;min-height:209px;transition:box-shadow .2s}.card:hover{box-shadow:0 16px 40px rgba(36,60,70,.09)}.card .number{color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.12em}.card h3{font-size:20px;margin:23px 0 9px;letter-spacing:-.025em}.card p{font-size:14px;color:var(--muted);line-height:1.65;margin:0}.digital{background:var(--ink);color:white}.digital .eyebrow{color:#72d5eb}.digital .text-stack p{color:#d0e1e5}.digital .text-stack strong{color:white}.text-link{display:inline-block;margin-top:10px;color:var(--accent);font-weight:750;text-decoration:none}.digital .text-link{color:#85d8ee}.contact-card{padding:35px;border:1px solid var(--border);background:var(--paper);border-radius:12px}.contact-card h3{margin:0 0 26px;font-size:21px}.contact-card dl{display:grid;grid-template-columns:110px 1fr;gap:21px 10px;margin:0}.contact-card dt{color:var(--muted);font-size:13px;font-weight:750}.contact-card dd{margin:0;line-height:1.6}.contact-card dd a{color:var(--ink)}footer{background:#f0f7f9;padding:46px 0 25px;border-top:1px solid var(--border)}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer-inner p{color:var(--muted);margin:6px 0}.footer-inner small{color:var(--muted);grid-column:1/-1;border-top:1px solid #cfdee3;padding-top:22px}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.footer-links a{font-size:13px;text-decoration:none}@media(max-width:1060px){.header-inner{gap:16px}.site-header nav{gap:14px}.header-call{display:none}.hero-grid{gap:38px}.hero h1{font-size:clamp(42px,5vw,65px)}}@media(max-width:760px){.container{width:min(calc(100% - 32px),var(--max))}.header-inner{min-height:68px}.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:18px 18px 24px;box-shadow:0 10px 22px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{padding:13px;border-bottom:1px solid var(--border)}.hero{padding:52px 0 49px}.hero-grid,.split{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(45px,11vw,62px)}.photo-panel{min-height:300px}.photo-panel img{height:350px}.hero-foot{margin-top:35px}.section{padding:64px 0}.cards{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr}.footer-links{align-items:flex-start}.footer-inner small{grid-column:auto}}@media(max-width:510px){.brand strong{font-size:13px}.brand small{font-size:11px}.brand-icon{height:40px;width:40px;font-size:25px}.cards{grid-template-columns:1fr}.actions{align-items:stretch}.button{width:100%}.contact-card{padding:24px}.contact-card dl{grid-template-columns:1fr;gap:6px}.contact-card dd{margin-bottom:15px}}

.brand-logo{height:47px;width:47px;object-fit:contain;display:block;border-radius:6px}
@media(max-width:510px){.brand-logo{height:40px;width:40px}}

/* Erweiterungen Referenz 0.3 */
.booking-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;margin-top:36px}.booking-card,.booking-info{padding:34px;border:1px solid var(--border);border-radius:14px;background:var(--paper)}.booking-card h3,.booking-info h3{margin:0 0 25px;font:500 30px/1.2 Georgia,serif}.booking-card form label{display:block;font-size:13px;font-weight:750;margin-bottom:21px;color:var(--ink)}.booking-card form input,.booking-card form select{margin-top:9px;width:100%;min-height:48px;border:1px solid #a5c8d2;border-radius:8px;background:white;padding:10px 12px;font:inherit;color:var(--ink)}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.booking-info p{color:var(--muted);font-size:14px;line-height:1.8}.booking-link{display:block;margin:0 0 16px;font-weight:650;color:var(--accent);word-break:break-word}.smallprint{font-size:12px!important;line-height:1.7;color:var(--muted)!important}.field-error{min-height:22px;font-size:13px;font-weight:700;color:#a03b2f}.request-actions{margin:15px 0 6px}.request-actions button{cursor:pointer;border:0}.request-actions button.outline{border:1px solid #b7d3da}.note{font-size:15px;line-height:1.75;margin-top:25px;color:var(--muted)}.booking-info #google-booking{border-top:1px solid var(--border);padding-top:22px;margin-top:20px}.booking-info #google-booking h4{margin:0;font-size:18px}
@media(max-width:800px){.booking-grid{grid-template-columns:1fr}.booking-card,.booking-info{padding:24px}}@media(max-width:490px){.input-grid{grid-template-columns:1fr}.booking-card h3,.booking-info h3{font-size:25px}}

/* WordPress content rendering on standard pages and posts */
.akj-article{max-width:870px;margin:65px auto;padding:0 24px 60px;min-height:55vh}.akj-article h1{font:500 clamp(34px,4vw,56px)/1.2 Georgia,serif}.akj-article a{color:var(--accent)}.akj-article p{line-height:1.8}.akj-article img{max-width:100%;height:auto}.akj-article .entry-meta{font-size:13px;color:var(--muted)}.wp-block-image img{height:auto}body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}

/* Barrierearme Premium-Anpassungen */
::selection{background:#c7eaf0;color:#173440}.site-header nav a:hover{color:#238ca3}.hero{background:radial-gradient(circle at 83% 16%,#d5eff4 0,transparent 43%),linear-gradient(110deg,#f4fbfd,#e6f4f7)}.card{box-shadow:0 3px 14px rgba(36,60,70,.02)}.card:hover{transform:translateY(-3px);transition:transform .25s,box-shadow .25s}.footer-links a:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Release Candidate 1.2: Branding, funktionale Kontaktkacheln und Partnernavigation */
.brand{gap:14px}.brand-logo{height:74px;width:74px;padding:7px;object-fit:contain;border-radius:14px;background:linear-gradient(160deg,#fff,#e8f5f8);border:1px solid #c9e3e9;box-shadow:0 5px 22px rgba(36,60,70,.12)}
.brand-type strong{font-size:18px;line-height:1.2;font-family:Georgia,'Times New Roman',serif}.brand-type small{font-size:11px;line-height:1.35}.brand-type .brand-place{font-weight:750;color:#238ca3;text-transform:uppercase;letter-spacing:.08em}.header-inner{min-height:100px;gap:20px}.site-header nav{gap:18px}.site-header nav a{font-size:13px}
.hero-signature{display:flex;align-items:center;gap:19px;margin:0 0 28px;padding:16px 19px;border:1px solid #b7d9e2;border-radius:18px;background:#fff;max-width:600px;box-shadow:0 10px 32px rgba(36,60,70,.07)}.hero-signature-image{width:116px;height:116px;display:grid;place-items:center;border-radius:15px;flex-shrink:0;background:#ecf8fa;border:1px solid #d5e9ee}.hero-signature img{width:104px;height:104px;object-fit:contain}.hero-signature-text span{display:block;color:var(--accent);font-size:12px;letter-spacing:.18em;font-weight:850}.hero-signature-text strong{display:block;margin:7px 0;font-family:Georgia,serif;font-weight:600;font-size:clamp(22px,2.5vw,31px);line-height:1.2}.hero-signature-text small{font-size:12px;color:var(--muted)}
.quick-contact{background:#fff;padding:22px 0 30px;border-bottom:1px solid var(--border)}.quick-contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-tile{display:flex;gap:11px;align-items:center;padding:17px 15px;min-width:0;text-decoration:none;border:1px solid #cce2e9;border-radius:14px;background:var(--paper);transition:transform .16s,border-color .16s,box-shadow .16s}.quick-tile:hover{border-color:var(--accent);box-shadow:0 9px 24px rgba(36,60,70,.1);transform:translateY(-3px)}.quick-icon{font-size:23px;color:var(--accent);width:30px;text-align:center;flex-shrink:0}.quick-tile strong{display:block;font-size:14px;line-height:1.4}.quick-tile small{display:block;color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.quick-tile>b{color:var(--accent);margin-left:auto}
.partner-section{background:#edf7f9}.partner-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start}.partner-copy{color:var(--muted);line-height:1.85;font-size:16px}.partner-links{display:grid;gap:12px}.partner-links a{display:flex;flex-direction:column;gap:5px;text-decoration:none;border:1px solid #c7e0e7;border-radius:12px;padding:20px;background:white}.partner-links a:hover{border-color:var(--accent)}.partner-links strong{font-size:17px}.partner-links span{font-size:13px;color:var(--muted)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.steps-grid article{background:white;border:1px solid var(--border);border-radius:12px;padding:27px}.steps-grid span{color:var(--accent);font-size:12px;font-weight:850;letter-spacing:.1em}.steps-grid h3{font-size:20px;margin:15px 0 9px}.steps-grid p{font-size:14px;color:var(--muted);line-height:1.75}
@media(max-width:1100px){.quick-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{gap:11px}.site-header nav{gap:11px}}
@media(max-width:760px){.header-inner{min-height:80px}.brand-logo{height:61px;width:61px}.brand-type strong{font-size:16px}.brand-type small{font-size:10px}.hero-signature{gap:13px;margin-bottom:24px;padding:12px}.hero-signature-image{width:82px;height:82px}.hero-signature img{width:74px;height:74px}.partner-grid{grid-template-columns:1fr;gap:25px}.steps-grid{grid-template-columns:1fr}.quick-contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:510px){.brand-logo{height:54px;width:54px}.brand-type strong{font-size:13px}.brand-type small{font-size:9px}.brand-type .brand-place{display:none}.quick-contact-grid{grid-template-columns:1fr}.quick-tile{padding:15px}.hero-signature-text strong{font-size:20px}.hero-signature-text span{font-size:10px}.hero-signature-text small{font-size:10px}}

/* Helper Monkey 1.3: sichtbare Kanzlei-Marke und belastbare mobile Kontaktwege */
.akj-brandmark,.hero-signature-image{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#ffffff 5%,#e5f4f7 90%);border:1px solid #b9d9e1;box-shadow:0 10px 26px rgba(31,74,91,.10)}
.akj-brandmark{height:78px;width:78px;border-radius:17px;flex:0 0 78px}
.akj-monogram{display:grid;place-items:center;width:100%;height:100%;font:500 30px/1 Georgia,serif;letter-spacing:-.11em;color:#176d83;background:radial-gradient(circle at 76% 21%,#fff 0,transparent 45%),linear-gradient(150deg,#eaf7fa,#c7e6ee)}
.akj-brandmark img,.hero-signature-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7px;background:#fff}
.hero-signature-image .akj-monogram{font-size:49px}
.hero-signature{border-left:5px solid #238ca3;box-shadow:0 18px 46px rgba(36,60,70,.10)}
.brand-type strong{font-size:21px}.brand-type small{font-size:11px}
.quick-contact{border-top:1px solid var(--border)}.quick-tile:focus-visible,.partner-links a:focus-visible{outline:3px solid #238ca3;outline-offset:3px}
.quick-tile strong{font-size:15px}.quick-tile small{line-height:1.45}
@media(max-width:920px){.header-call{display:none}}
@media(max-width:760px){.akj-brandmark{height:60px;width:60px;flex-basis:60px}.akj-monogram{font-size:25px}.hero-signature-image .akj-monogram{font-size:38px}.brand-type strong{font-size:17px}}
@media(max-width:510px){.akj-brandmark{height:54px;width:54px;flex-basis:54px}.brand-type strong{font-size:15px}.hero-signature{box-shadow:0 10px 30px rgba(36,60,70,.07)}.quick-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-tile{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 12px}.quick-tile>b{display:none}.quick-tile small{font-size:11px}.quick-tile strong{font-size:13px}.quick-icon{font-size:20px}}

@media(max-width:510px){.header-inner{gap:5px}.brand{flex:1 1 auto;min-width:0;gap:9px}.brand-type{min-width:0;flex:1}.brand-type strong{overflow-wrap:normal}.brand-type small{line-height:1.25}.menu-toggle{flex:0 0 auto;padding:7px}.site-header{overflow:visible}}

/* 1.4: additional recognition for the practice mark and durable CTA focus targets */
.site-header .akj-brandmark{border:2px solid #a1cfda;box-shadow:0 8px 22px rgba(27,87,109,.17)}
.hero-signature{border-radius:16px;border-left-width:6px}
.quick-tile{min-height:88px;transition:box-shadow .2s,transform .2s}
.quick-tile:hover{box-shadow:0 12px 28px rgba(36,60,70,.11);transform:translateY(-2px)}
@media(max-width:760px){.quick-tile{min-height:96px}}
@media(prefers-reduced-motion:reduce){.quick-tile:hover{transform:none}}
