/*
Theme Name: Link-Drin Studio Theme
Theme URI: https://www.link-drin.de/
Author: Link-Drin
Author URI: https://www.link-drin.de/
Description: Companion-Theme für Link-Drin Studio for WordPress. Portal-Startseite, responsive Navigation und abgestimmtes Verzeichnis-Design.
Version: 0.2.8.1-alpha
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: link-drin-studio-theme
*/

:root {
  --ldst-primary: #2563eb;
  --ldst-primary-dark: #1e40af;
  --ldst-ink: #0f172a;
  --ldst-bg: #f8fafc;
  --ldst-card: #ffffff;
  --ldst-text: #1e293b;
  --ldst-muted: #64748b;
  --ldst-border: #e2e8f0;
  --ldst-hero-start: #0f172a;
  --ldst-hero-end: #1e2b4d;
  --ldst-radius: 12px;
  --ldst-shadow: 0 8px 30px rgba(15, 23, 42, .08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ldst-bg);color:var(--ldst-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--ldst-primary)}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}
.ldst-container{width:min(1240px,calc(100% - 48px));margin:0 auto}
.ldst-site-header{position:relative;background:#fff;border-bottom:1px solid var(--ldst-border);z-index:50}
.ldst-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ldst-brand{display:flex;align-items:center;gap:12px;color:var(--ldst-ink);font-size:1.22rem;font-weight:800;letter-spacing:-.02em;text-decoration:none}
.ldst-brand .custom-logo{max-height:48px;width:auto}
.ldst-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--ldst-primary);color:#fff;font-weight:900}
.ldst-brand-text span{color:var(--ldst-primary)}
.ldst-nav{display:flex;align-items:center;gap:30px}
.ldst-nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.ldst-nav a{color:var(--ldst-muted);font-weight:600;text-decoration:none}
.ldst-nav a:hover,.ldst-nav .current-menu-item>a{color:var(--ldst-ink)}
.ldst-account{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border:1px solid var(--ldst-border);border-radius:9px;background:#fff;color:var(--ldst-ink)!important}
.ldst-menu-toggle{display:none;border:1px solid var(--ldst-border);background:#fff;border-radius:8px;padding:8px 10px;font:inherit;font-weight:700;color:var(--ldst-ink);cursor:pointer}
.ldst-hero{background:linear-gradient(180deg,var(--ldst-hero-start),var(--ldst-hero-end));color:#fff;padding:82px 0 72px}
.ldst-hero h1{max-width:760px;margin:0 0 14px;color:#fff;font-size:clamp(2.2rem,5vw,3.3rem);line-height:1.08;letter-spacing:-.035em}
.ldst-hero-copy{max-width:650px;margin:0 0 10px;color:rgba(255,255,255,.78);font-size:1.12rem}
.ldst-hero-trust{margin:0 0 30px;color:rgba(255,255,255,.72);font-size:.9rem;font-weight:650}
.ldst-hero .ldswp-search{max-width:850px;grid-template-columns:minmax(220px,1.6fr) minmax(170px,.8fr) auto;padding:6px;background:#fff;border-radius:12px;gap:0;box-shadow:0 20px 55px rgba(0,0,0,.22);margin:0}
.ldst-hero .ldswp-search input,.ldst-hero .ldswp-search select{border:0;border-radius:8px;min-height:50px}
.ldst-hero .ldswp-search select{border-left:1px solid var(--ldst-border);border-radius:0}
.ldst-hero .ldswp-search button{min-height:50px;border-radius:8px;background:var(--ldst-primary);padding:0 30px}
.ldst-section{padding:58px 0}
.ldst-section--white{background:#fff;border-top:1px solid var(--ldst-border);border-bottom:1px solid var(--ldst-border)}
.ldst-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.ldst-section h2{margin:0;color:var(--ldst-ink);font-size:1.7rem;letter-spacing:-.02em}
.ldst-section-intro{margin:5px 0 0;color:var(--ldst-muted)}
.ldst-section-link{font-weight:700;text-decoration:none}
.ldst-main{min-height:58vh}
.ldst-content{padding:48px 0}
.ldst-content article{background:#fff;border:1px solid var(--ldst-border);border-radius:var(--ldst-radius);padding:clamp(24px,4vw,46px);box-shadow:0 2px 14px rgba(15,23,42,.04)}
.ldst-content h1,.ldst-content h2,.ldst-content h3{color:var(--ldst-ink)}
.ldst-content h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.15;letter-spacing:-.03em}
.ldst-content .entry-content{margin-top:24px}
.ldst-content .entry-content>*:first-child{margin-top:0}
.ldst-site-footer{margin-top:30px;background:var(--ldst-ink);color:rgba(255,255,255,.72)}
.ldst-footer-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:46px 0}
.ldst-footer-brand{color:#fff;font-size:1.15rem;font-weight:800}
.ldst-footer-copy{max-width:540px;margin:9px 0 0}
.ldst-footer-nav ul{display:flex;justify-content:flex-end;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.ldst-footer-nav a{color:rgba(255,255,255,.8);text-decoration:none}
.ldst-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:.88rem;color:rgba(255,255,255,.58)}
.ldswp-directory,.ldswp-single{--ldswp-border:var(--ldst-border)!important;--ldswp-text:var(--ldst-text)!important;--ldswp-muted:var(--ldst-muted)!important}
.ldswp-listing-card,.ldswp-category-card,.ldswp-message{border-radius:var(--ldst-radius)!important;box-shadow:0 2px 12px rgba(15,23,42,.05)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ldswp-listing-card:hover,.ldswp-category-card:hover{transform:translateY(-3px);box-shadow:var(--ldst-shadow)!important;border-color:var(--ldst-primary)!important}
.ldswp-listing-card h3{color:var(--ldst-ink)}
.ldswp-search button{background:var(--ldst-primary)!important}
.ldswp-search button:hover{background:var(--ldst-primary-dark)!important}
.ldswp-card-footer a,.ldswp-kicker,.ldswp-card-meta strong,.ldswp-premium-badge{color:var(--ldst-primary)!important}
.ldswp-pagination span{background:var(--ldst-primary)!important;border-color:var(--ldst-primary)!important}
.ldst-plugin-missing{padding:22px;border:1px solid #f59e0b;background:#fffbeb;border-radius:12px;color:#92400e}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.ldst-menu-toggle{display:block}.ldst-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--ldst-border);box-shadow:var(--ldst-shadow);padding:16px 24px;align-items:stretch}.ldst-nav.is-open{display:flex;flex-direction:column}.ldst-nav ul{flex-direction:column;align-items:stretch;gap:0}.ldst-nav li a{display:block;padding:11px 0;border-bottom:1px solid var(--ldst-border)}.ldst-account{justify-content:center}.ldst-footer-inner{grid-template-columns:1fr}.ldst-footer-nav ul{justify-content:flex-start}.ldst-hero .ldswp-search{grid-template-columns:1fr}.ldst-hero .ldswp-search select{border-left:0;border-top:1px solid var(--ldst-border)}}
@media(max-width:640px){.ldst-container{width:min(100% - 30px,1240px)}.ldst-header-inner{min-height:68px}.ldst-hero{padding:58px 0 52px}.ldst-section{padding:42px 0}.ldst-section-head{align-items:flex-start;flex-direction:column}.ldst-footer-inner{padding:38px 0}}


/* v0.1.1: robust portal page rendering */
.ldst-page-hero{background:linear-gradient(180deg,var(--ldst-hero-start),var(--ldst-hero-end));color:#fff;padding:50px 0 44px}
.ldst-page-hero h1{margin:0;color:#fff;font-size:clamp(2rem,4vw,2.75rem);line-height:1.12;letter-spacing:-.03em}
.ldst-page-hero p{max-width:720px;margin:10px 0 0;color:rgba(255,255,255,.76)}
.ldst-directory-content{padding:44px 0 64px}
.ldst-directory-shell{background:#fff;border:1px solid var(--ldst-border);border-radius:16px;padding:clamp(22px,4vw,42px);box-shadow:0 5px 24px rgba(15,23,42,.05)}
.ldst-directory-shell .ldswp-directory-head h2{font-size:1.45rem}
.admin-bar .ldst-site-header{top:0}
@media(max-width:640px){.ldst-page-hero{padding:40px 0 36px}.ldst-directory-content{padding:28px 0 48px}.ldst-directory-shell{border-radius:12px;padding:18px}}


/* v0.2.0: fuller Link-Drin portal layout */
.ldst-site-header{display:block!important;background:#fff!important}
.ldst-header-inner{min-height:76px!important}
.ldst-brand{min-width:max-content}
.ldst-user-actions{display:flex;align-items:center;gap:10px}
.ldst-login,.ldst-register{color:var(--ldst-muted)!important;text-decoration:none;font-weight:700}
.ldst-nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:9px;background:var(--ldst-primary);color:#fff!important;text-decoration:none;font-weight:800}
.ldst-nav-cta:hover{background:var(--ldst-primary-dark)}
.ldst-section--premium{background:linear-gradient(180deg,#f8fbff,#f5f8ff)}
.ldst-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ldst-benefits-grid article{background:#fff;border:1px solid var(--ldst-border);border-radius:14px;padding:22px;box-shadow:0 2px 12px rgba(15,23,42,.04)}
.ldst-benefits-grid article>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:11px;background:#eff6ff;color:var(--ldst-primary);font-size:1.15rem;font-weight:900}
.ldst-benefits-grid h3{margin:14px 0 7px!important;color:var(--ldst-ink)!important;font-size:1.05rem!important}
.ldst-benefits-grid p{margin:0;color:var(--ldst-muted);font-size:.94rem}
.ldst-cta-band{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px;border-radius:18px;background:linear-gradient(135deg,var(--ldst-hero-start),var(--ldst-hero-end));color:#fff;box-shadow:0 18px 50px rgba(15,23,42,.13)}
.ldst-cta-band h2{color:#fff!important;margin:0 0 6px!important}
.ldst-cta-band p{margin:0;color:rgba(255,255,255,.76)}
.ldst-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:10px;background:#fff;color:var(--ldst-primary)!important;font-weight:900;text-decoration:none;white-space:nowrap}
.ldst-section .ldswp-directory-head h2,.ldst-section .ldswp-listing-card h3,.ldst-section .ldswp-listing-card h3 a{color:var(--ldst-ink)!important}
.ldst-section .ldswp-directory-head{margin-top:0}
.ldst-section .ldswp-message-soft{border-style:dashed;box-shadow:none!important}
.ldst-page-hero+ .ldst-directory-content{background:var(--ldst-bg)}
@media(max-width:1050px){.ldst-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ldst-user-actions{flex-wrap:wrap}.ldst-nav{gap:15px}.ldst-nav ul{gap:16px}}
@media(max-width:900px){.ldst-user-actions{flex-direction:column;align-items:stretch}.ldst-login,.ldst-register,.ldst-nav-cta{text-align:center;padding:10px}.ldst-nav-cta{min-height:44px}}
@media(max-width:680px){.ldst-benefits-grid{grid-template-columns:1fr}.ldst-cta-band{align-items:flex-start;flex-direction:column;padding:26px}.ldst-cta-button{width:100%}}


/* v0.2.1: visibility and navigation hardening */
body.ldst-front-page .ldst-section-head h2,
body.ldst-front-page .ldst-section h2,
body.ldst-front-page .ldst-section-head h2 a,
body.ldst-directory-page .ldst-section-head h2 {
  color: var(--ldst-ink) !important;
  -webkit-text-fill-color: var(--ldst-ink) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.ldst-front-page .ldst-section--premium .ldst-section-head h2 {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}
body.ldst-front-page .ldst-section-head {
  position: relative;
  z-index: 2;
}
.ldst-site-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 76px !important;
  overflow: visible !important;
  position: sticky !important;
  top: 0;
  z-index: 9990 !important;
  background: #fff !important;
}
.admin-bar .ldst-site-header { top: 32px !important; }
.ldst-header-inner {
  display: flex !important;
  min-height: 76px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.ldst-site-header .ldst-brand,
.ldst-site-header .ldst-nav,
.ldst-site-header .ldst-menu-toggle {
  visibility: visible !important;
  opacity: 1 !important;
}
.ldst-section--premium .ldswp-listing-grid {
  justify-content: start;
}
.ldst-section--premium .ldswp-listing-card:only-child {
  max-width: 330px;
}
.ldst-section-head > div { min-width: 0; }
.ldst-section-intro { color: var(--ldst-muted) !important; }
.ldst-site-footer { display:block !important; visibility:visible !important; opacity:1 !important; }
@media(max-width:782px){.admin-bar .ldst-site-header{top:46px!important}}
@media(max-width:600px){.admin-bar .ldst-site-header{top:0!important}}


/* v0.2.2: portal frame hardening + CTA contrast */
body.ldst-front-page .ldst-cta-band h2,
body.ldst-front-page .ldst-cta-band h2 a {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
.ldst-site-header{
  width:100% !important;
  border-bottom:1px solid var(--ldst-border) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
}
.ldst-header-inner{width:min(1240px,calc(100% - 48px)) !important;margin:0 auto !important;}
.ldst-site-footer{margin-top:0 !important;background:#0f172a !important;color:rgba(255,255,255,.72) !important;}
.ldst-site-footer .ldst-footer-brand{color:#fff !important;-webkit-text-fill-color:#fff !important;}
.ldst-site-footer a{color:rgba(255,255,255,.84) !important;}
.ldst-portal-frame-marker{display:none!important}
@media(max-width:640px){.ldst-header-inner{width:min(100% - 30px,1240px) !important;}}


/* v0.2.3: isolate portal navigation from legacy menus and force true full width */
html,
body.ldst-front-page,
body.ldst-directory-page {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow-x:hidden !important;
}
body.ldst-front-page .ldst-main,
body.ldst-directory-page .ldst-main {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.ldst-front-page .ldst-main > .ldst-hero,
body.ldst-front-page .ldst-main > .ldst-section,
body.ldst-directory-page .ldst-main > .ldst-page-hero,
body.ldst-directory-page .ldst-main > .ldst-directory-content,
.ldst-site-header,
.ldst-site-footer {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.ldst-portal-menu,
.ldst-portal-footer-menu {
  list-style:none !important;
}
.ldst-portal-menu li,
.ldst-portal-footer-menu li {
  margin:0 !important;
  padding:0 !important;
}
.ldst-portal-menu a[aria-current="page"] {
  color:var(--ldst-ink) !important;
}
.ldst-footer-nav .ldst-portal-footer-menu {
  display:flex !important;
  justify-content:flex-end !important;
  gap:22px !important;
  flex-wrap:wrap !important;
}
@media(max-width:900px){
  .ldst-footer-nav .ldst-portal-footer-menu{justify-content:flex-start !important;}
}

/* v0.2.4-alpha: portal-native Login/Registrierung */
.ldst-login,.ldst-register{white-space:nowrap}


/* v0.2.5-alpha: schlanker Verzeichnis-Detailmodus */
body.ldst-directory-detail-page .ldst-directory-content{
  background:var(--ldst-bg);
  padding:28px 0 56px;
}
body.ldst-directory-detail-page .ldst-directory-detail-shell{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}
body.ldst-directory-detail-page .ldst-main{
  background:var(--ldst-bg);
}
@media(max-width:640px){
  body.ldst-directory-detail-page .ldst-directory-content{padding:22px 0 42px}
}


/* v0.2.6-alpha: robuster Referenz-Detailmodus unabhängig von body_class/gespeicherter Seiten-ID */
.ldst-directory-content--detail{
  background:#f7f9fc !important;
  padding:38px 0 64px !important;
}
.ldst-container--detail{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.ldst-directory-content--detail .ldst-directory-detail-shell{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}
@media(max-width:640px){
  .ldst-directory-content--detail{padding:24px 0 44px !important}
  .ldst-container--detail{width:min(100% - 28px,1180px) !important}
}

/* v0.2.8-alpha: WordPress-native Header- und Footer-Menüs */
.ldst-nav .ldst-portal-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.ldst-nav .ldst-portal-menu>li{position:relative;margin:0;padding:0}
.ldst-nav .ldst-portal-menu>li>a{display:inline-flex;align-items:center;min-height:42px}
.ldst-nav .ldst-portal-menu .sub-menu{display:none;position:absolute;z-index:50;top:100%;left:-14px;min-width:220px;padding:8px 0;margin:0;background:#fff;border:1px solid var(--ldst-border);border-radius:10px;box-shadow:var(--ldst-shadow);flex-direction:column;align-items:stretch;gap:0}
.ldst-nav .ldst-portal-menu .menu-item:hover>.sub-menu,.ldst-nav .ldst-portal-menu .menu-item:focus-within>.sub-menu{display:flex}
.ldst-nav .ldst-portal-menu .sub-menu li{width:100%;margin:0;padding:0;position:relative}
.ldst-nav .ldst-portal-menu .sub-menu a{display:block;padding:9px 14px;white-space:nowrap}
.ldst-nav .ldst-portal-menu .sub-menu .sub-menu{top:-9px;left:100%}
.ldst-nav .ldst-menu-account>a{min-height:40px!important;padding:0 15px!important;border:1px solid var(--ldst-border);border-radius:9px;background:#fff;color:var(--ldst-ink)!important}
.ldst-nav .ldst-menu-cta>a{min-height:42px!important;padding:0 16px!important;border-radius:9px;background:var(--ldst-primary);color:#fff!important;font-weight:800}
.ldst-nav .ldst-menu-cta>a:hover,.ldst-nav .ldst-menu-cta.current-menu-item>a{background:var(--ldst-primary-dark);color:#fff!important}
.ldst-footer-nav .ldst-wp-footer-menu,.ldst-footer-nav .ldst-portal-footer-menu{list-style:none;margin:0;padding:0}
.ldst-footer-nav .sub-menu{list-style:none;margin:6px 0 0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){
  .ldst-nav .ldst-portal-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .ldst-nav .ldst-portal-menu>li>a{display:block;min-height:0;padding:11px 0;border-bottom:1px solid var(--ldst-border)}
  .ldst-nav .ldst-portal-menu .sub-menu,.ldst-nav .ldst-portal-menu .sub-menu .sub-menu{display:flex;position:static;min-width:0;padding:0 0 0 16px;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}
  .ldst-nav .ldst-portal-menu .sub-menu a{white-space:normal;padding:9px 0;border-bottom:1px solid var(--ldst-border)}
  .ldst-nav .ldst-menu-account>a,.ldst-nav .ldst-menu-cta>a{display:block!important;text-align:center;margin-top:10px;border-bottom:0!important;padding:10px 14px!important}
}

