/*
Theme Name: EiFP Block Theme
Theme URI: https://eifp.de
Description: Block-Theme (Full Site Editing) der EiFP GmbH — Experts in Finance Processes. Startseite, Seiten und Insights-Blog vollständig im Site-Editor bearbeitbar.
Version: 4.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Author: EiFP GmbH
Author URI: https://eifp.de
License: Proprietary
Text Domain: eifp
*/

/* Ergänzendes CSS — Grundlayout, Farben und Typografie kommen aus theme.json */
html{scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;font-feature-settings:"liga" 1,"kern" 1;}
:target{scroll-margin-top:90px;}

/* Header */
.eifp-header{position:sticky;top:0;z-index:100;box-shadow:rgba(0,0,0,.07) 0 1px 0 0;}
.admin-bar .eifp-header{top:32px;}
.eifp-header .wp-block-site-logo img,.eifp-header .eifp-logo img{height:48px;width:auto;}
.eifp-tagline{white-space:nowrap;}
.eifp-nav .wp-block-navigation-item__content{font-weight:500;}
.eifp-nav .eifp-nav-cta>.wp-block-navigation-item__content{background:var(--wp--preset--color--navy);color:#fff;padding:10px 20px;border-radius:6px;font-weight:600;font-size:.875rem;}
.eifp-nav .eifp-nav-cta>.wp-block-navigation-item__content:hover{background:var(--wp--preset--color--navy-mid);}
@media(max-width:1000px){.eifp-tagline{display:none;}}

/* Hero / dunkle Sektionen */
.eifp-hero,.eifp-dark{background:linear-gradient(135deg,#001D55 0%,#002A7A 60%,#001D55 100%);position:relative;overflow:hidden;}
.eifp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(58,208,230,.14) 0%,transparent 70%);pointer-events:none;}
.eifp-hero>*{position:relative;}
.eifp-hero{min-height:min(92vh,780px);display:flex;align-items:center;}
#dna-canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);width:700px;height:1400px;max-width:none;pointer-events:none;z-index:0;opacity:.7;}
.eifp-hero .eifp-hero-inner{text-align:center;}
.eifp-hero .eifp-hero-inner .wp-block-buttons{justify-content:center;}
.eifp-hero>.wp-block-group{width:100%;}
.eifp-dots{background-image:radial-gradient(circle,rgba(0,0,0,.028) 1px,transparent 1px);background-size:24px 24px;}

/* Eyebrow */
.eifp-eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--wp--preset--color--cyan);margin-bottom:16px;}

/* Karten */
.eifp-card{background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s;height:100%;}
.eifp-card:hover{box-shadow:0 0 0 1px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.06),0 16px 24px -8px rgba(0,0,0,.04);transform:translateY(-2px);}
.eifp-tag{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--wp--preset--color--cyan);}
.eifp-card .wp-block-post-terms a,.eifp-meta .wp-block-post-terms a{text-decoration:none;font-size:.6875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#0a8fa3;}
.eifp-card .wp-block-post-title a{text-decoration:none;color:inherit;}
.eifp-card .wp-block-post-featured-image{margin:0;}
.eifp-card .wp-block-post-featured-image img{border-radius:12px 12px 0 0;aspect-ratio:16/9;object-fit:cover;width:100%;}
.eifp-stat{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.07);}
.eifp-why-item{border-bottom:1px solid rgba(0,0,0,.07);}
.eifp-why-item:last-child{border-bottom:none;}
.eifp-sticky{position:sticky;top:110px;}
@media(max-width:781px){.eifp-sticky{position:static;}.eifp-hero{min-height:auto;}}
.eifp-team-photo img{border-radius:10px;aspect-ratio:1/1;object-fit:cover;object-position:center top;width:100%;}

/* Buttons: Varianten */
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:rgba(255,255,255,.08);}
.wp-block-button__link{transition:background .15s,transform .15s;}
.wp-block-button__link:hover{transform:translateY(-1px);}

/* Beitrag */
.eifp-post-content{font-size:1.125rem;line-height:1.75;color:#2b2b3a;}
.eifp-post-content h2{margin-top:2.2em;}
.eifp-post-content blockquote{border-left:3px solid var(--wp--preset--color--cyan);padding-left:1.25rem;font-size:1.2rem;color:var(--wp--preset--color--navy);}
.eifp-post-content a{color:#0a7f94;}
.eifp-author-box{background:var(--wp--preset--color--light);border-radius:12px;}

/* Pagination */
.wp-block-query-pagination{gap:8px;}
.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers{padding:8px 14px;border-radius:6px;text-decoration:none;box-shadow:0 0 0 1px rgba(0,0,0,.1);}
.wp-block-query-pagination .current{background:var(--wp--preset--color--navy);color:#fff;box-shadow:none;}

/* Footer */
.eifp-footer a{text-decoration:none;color:rgba(255,255,255,.55);}
.eifp-footer a:hover{color:#fff;}

/* Kontaktformular */
.eifp-form{max-width:520px;margin:0 auto;text-align:left;}
.eifp-form label{display:block;font-size:.875rem;font-weight:600;margin:16px 0 6px;}
.eifp-form textarea,.eifp-form input[type=text]{width:100%;padding:12px 14px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font:inherit;background:#fff;}
.eifp-form textarea:focus,.eifp-form input:focus{outline:2px solid var(--wp--preset--color--cyan);outline-offset:1px;}
.eifp-form button{margin-top:20px;padding:14px 28px;background:var(--wp--preset--color--navy);color:#fff;border:0;border-radius:6px;font-weight:600;cursor:pointer;}
.eifp-form button:hover{background:var(--wp--preset--color--navy-mid);}
.eifp-form .eifp-hp{position:absolute;left:-9999px;}
.eifp-form-feedback{margin-top:14px;font-weight:500;color:var(--wp--preset--color--navy);}

/* ── Lesbarkeit: Fließtext kleiner, Überschriften in Karten dezenter ── */
.eifp-lead{font-size:1.0625rem;line-height:1.65;}
.eifp-card :is(h3,h4),.eifp-ref-card :is(h3,h4),.eifp-dim :is(h3,h4){font-size:1.125rem;line-height:1.3;letter-spacing:-.2px;overflow-wrap:break-word;hyphens:auto;}
.eifp-card,.eifp-ref-card,.eifp-dim,.eifp-leistung-card{min-width:0;}
.eifp-card p,.eifp-leistung-card p{font-size:.9375rem;line-height:1.6;}

/* ── Raster-Hilfsklassen (responsiv) ── */
.eifp-grid-2.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.eifp-grid-3.is-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.eifp-grid-4.is-layout-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1024px){.eifp-grid-3.is-layout-grid,.eifp-grid-4.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.eifp-grid-2.is-layout-grid,.eifp-grid-3.is-layout-grid,.eifp-grid-4.is-layout-grid{grid-template-columns:1fr;}}

/* ── Einblenden (nur mit JS) ── */
.eifp-js .fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.eifp-js .fade-in.visible{opacity:1;transform:none;}
.block-editor-page .fade-in,.editor-styles-wrapper .fade-in{opacity:1!important;transform:none!important;}

/* ── Tabs (Leistungen) ── */
.eifp-tab-bar{display:flex;flex-wrap:wrap;gap:4px;background:rgba(0,0,0,.05);border-radius:10px;padding:4px;width:fit-content;max-width:100%;margin-top:40px;}
.eifp-tab-bar .tab-btn{padding:10px 22px;border-radius:7px;font:inherit;font-size:.875rem;font-weight:600;color:var(--wp--preset--color--mid);background:none;border:none;cursor:pointer;transition:all .15s;}
.eifp-tab-bar .tab-btn.active{background:#fff;color:var(--wp--preset--color--navy);box-shadow:0 0 0 1px rgba(0,0,0,.07);}
.eifp-tab-panel{margin-top:32px;}

/* ── Leistungskarten (Original-Look) ── */
.eifp-leistung-card{background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);padding:32px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s,transform .2s;height:100%;}
.eifp-leistung-card:hover{box-shadow:0 0 0 1px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.06);transform:translateY(-2px);}
.leistung-icon{width:44px;height:44px;background:linear-gradient(135deg,#001D55,#002A7A);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.eifp-role{font-size:.6875rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--wp--preset--color--cyan);margin:0;}
.eifp-leistung-card h3{font-size:1.25rem;font-weight:600;letter-spacing:-.4px;margin:0;}

/* ── Referenzkarten (Original-Look) ── */
.eifp-ref-card{background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);padding:28px 28px 28px 32px;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s;height:100%;}
.eifp-ref-card:hover{box-shadow:0 0 0 1px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.06);transform:translateY(-2px);}
.ref-card-accent{position:absolute;top:0;left:0;bottom:0;width:3px;}
.ref-top{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.ref-icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.ref-industry{font-size:.6875rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase;flex:1;}
.ref-badge{font-size:.625rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 8px;border-radius:5px;background:#fef3c7;color:#92400e;border:.5px solid #fde68a;white-space:nowrap;flex-shrink:0;}
.ref-badge.grey{font-weight:600;background:#f2f4f8;color:#8A8A9A;border:.5px solid rgba(0,0,0,.1);}
.eifp-ref-card h3{font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:-.2px;margin:8px 0 4px;}
.eifp-ref-card ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:7px;}
.eifp-ref-card li{font-size:.8125rem;color:var(--wp--preset--color--mid);line-height:1.55;padding-left:14px;position:relative;}
.eifp-ref-card li::before{content:'·';position:absolute;left:2px;color:var(--wp--preset--color--cyan);font-weight:900;font-size:1.1rem;line-height:1.2;}

/* ── Fokus-Abschnitt ── */
.dark-graphic{position:absolute;right:-80px;bottom:-80px;width:400px;height:400px;pointer-events:none;opacity:.18;}
.dark-graphic-left{position:absolute;left:-60px;top:-60px;width:300px;height:300px;pointer-events:none;opacity:.10;}
.eifp-fokus-diagram{display:flex;justify-content:center;align-items:center;}
.eifp-fokus-diagram svg{width:100%;max-width:600px;height:auto;}
.eifp-card p.eifp-tag,.eifp-leistung-card p.eifp-role{font-size:.6875rem;line-height:1.4;}
.eifp-author .wp-block-post-author__byline{font-size:.6875rem;letter-spacing:.8px;text-transform:uppercase;color:var(--wp--preset--color--cyan);font-weight:600;margin:0;}
.eifp-author .wp-block-post-author__name{font-size:1.125rem;font-weight:700;margin:2px 0 6px;}
.eifp-author .wp-block-post-author__bio{font-size:.9375rem;line-height:1.6;color:var(--wp--preset--color--mid);margin:0;}
.eifp-author .wp-block-post-author__avatar img{border-radius:50%;}
.eifp-meta a{text-decoration:none;}
.eifp-dark .eifp-meta a{color:var(--wp--preset--color--cyan);font-size:.8125rem;letter-spacing:1px;}

/* Mobil: Tab-Reiter über die volle Breite */
@media(max-width:700px){
  .eifp-tab-bar{width:100%;flex-direction:column;}
  .eifp-tab-bar .tab-btn{width:100%;text-align:center;}
}
