/*
Theme Name: I Am Not Broken V3
Theme URI: https://bitkurier.de/
Author: BITkurier GmbH
Author URI: https://bitkurier.de/
Description: WordPress Theme V2 auf Basis der statischen INB HTML-Vorlage. Header und Hero sind statisch aus dem Layout, nur die Hauptnavigation kommt aus WordPress.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: inb-v3
*/

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
background:#f4f4f4;
color:#111;
}

img{
display:block;
max-width:100%;
}

.container{
width:min(1280px,calc(100% - 48px));
margin:0 auto;
}

/* HEADER */

.header{
position:absolute;
top:0;
left:0;
width:100%;
z-index:100;
background:rgba(0,0,0,.45);
backdrop-filter:blur(8px);
}

.header-inner{
height:84px;
display:flex;
align-items:center;
}

.logo img{
width:140px;
}

.nav{
margin-left:auto;
display:flex;
gap:34px;
}

.nav a{
color:#fff;
text-decoration:none;
text-transform:uppercase;
font-size:12px;
font-weight:700;
}

.nav a.active{
color:#D9A032;
border-bottom:2px solid #D9A032;
padding-bottom:8px;
}

.burger{
display:none;
margin-left:auto;
background:none;
border:0;
color:#D9A032;
font-size:32px;
}

/* HERO */

.hero{
position:relative;
min-height:760px;
display:flex;
align-items:center;
background:url("assets/hero-desktop.png") center center / cover no-repeat;
overflow:hidden;
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(
90deg,
rgba(0,0,0,.88) 0%,
rgba(0,0,0,.55) 34%,
rgba(0,0,0,.08) 70%
);
}

.hero-content{
position:relative;
z-index:2;
padding-top:80px;
color:#fff;
}

.hero-kicker{
font-size:12px;
font-weight:800;
line-height:1.7;
letter-spacing:.8px;
}

.hero h1{
font-size:84px;
line-height:1;
margin:28px 0;
text-transform:uppercase;
font-weight:900;
}

.hero h1 span{
color:#D9A032;
}

.hero-line{
width:56px;
height:4px;
background:#D9A032;
margin-bottom:28px;
}

.hero-text{
font-size:18px;
line-height:1.8;
max-width:480px;
}

.hero-button{
display:inline-flex;
margin-top:30px;
padding:18px 34px;
background:#D9A032;
color:#fff;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.6px;
}

/* POSTS */

.posts{
padding:80px 0;
}

.section-head{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.section-head h2{
margin:0;
font-size:32px;
text-transform:uppercase;
}

.section-head a{
color:#D9A032;
text-decoration:none;
text-transform:uppercase;
font-size:12px;
font-weight:800;
}

.post-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:26px;
}

.post-card{
background:#fff;
box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.post-card img{
width:100%;
height:240px;
object-fit:cover;
}

.post-content{
padding:24px;
}

.post-content small{
color:#D9A032;
font-weight:800;
text-transform:uppercase;
}

.post-content h3{
font-size:28px;
line-height:1.15;
margin:14px 0;
}

.post-content p{
line-height:1.6;
color:#444;
}

/* ABOUT */

.about{
display:grid;
grid-template-columns:1fr 1fr 1fr;
background:#02090A;
color:#fff;
margin-top:80px;
}

.about-image img{
width:100%;
height:100%;
object-fit:cover;
}

.about-text,
.about-quote{
padding:60px;
display:flex;
flex-direction:column;
justify-content:center;
}

.about-text small{
color:#D9A032;
font-weight:800;
letter-spacing:.6px;
}

.about-text h3{
color:#D9A032;
font-size:36px;
}

.about-quote{
border-left:1px solid rgba(255,255,255,.08);
}

.about blockquote{
font-size:34px;
line-height:1.4;
margin:0;
}

/* POPULAR */

.popular{
padding:80px 0;
}

.popular-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.popular-card{
display:flex;
gap:18px;
background:#fff;
padding:18px;
box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.popular-card img{
width:140px;
height:110px;
object-fit:cover;
}

.popular-card h4{
font-size:22px;
margin:0 0 10px;
}

/* MOBILE */

@media (max-width:768px){

.container{
width:calc(100% - 28px);
}

.header{
position:fixed;
}

.header-inner{
height:58px;
}

.logo img{
width:86px;
}

.nav{
display:none;
}

.burger{
display:block;
}

.hero{
min-height:720px;
align-items:flex-end;
background:url("assets/hero-mobile.png") center top / cover no-repeat;
}

.hero-overlay{
background:linear-gradient(
180deg,
rgba(0,0,0,.12) 0%,
rgba(0,0,0,.82) 72%,
rgba(0,0,0,.96) 100%
);
}

.hero-content{
padding:120px 0 32px;
}

.hero h1{
font-size:62px;
}

.hero-text{
font-size:14px;
}

.hero-button{
width:100%;
justify-content:center;
}

.post-grid,
.popular-grid,
.about{
grid-template-columns:1fr;
}

.post-card img{
height:220px;
}

.about-text,
.about-quote{
padding:32px;
}

.about blockquote{
font-size:24px;
}

.popular-card{
flex-direction:column;
}

.popular-card img{
width:100%;
height:220px;
}
}


/* Korrektur Phase 1: Mobile Header + Hero */
@media (max-width:768px){

  .header{
    position:relative;
    background:#000;
    backdrop-filter:none;
  }

  .header-inner{
    height:80px;
  }

  .logo img{
    width:132px;
  }

  .burger{
    font-size:36px;
    border:3px solid #D9A032;
    border-radius:6px;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    padding:0;
  }

  .hero{
    min-height:auto;
    padding:0 0 32px;
    align-items:flex-start;
    background:url("assets/hero-mobile.png") center top / cover no-repeat;
  }

  .hero-content{
    padding:160px 24px 0;
    width:100%;
  }

  .hero-kicker{
    font-size:13px;
    line-height:1.45;
    color:#D9A032;
    letter-spacing:.8px;
  }

  .hero h1{
    font-size:52px;
    line-height:.95;
    margin:24px 0;
    letter-spacing:-1px;
  }

  .hero-line{
    width:58px;
    height:4px;
    margin:28px 0;
  }

  .hero-text{
    font-size:16px;
    line-height:1.55;
  }

  .hero-button{
    margin-top:26px;
    height:58px;
    border-radius:12px;
    align-items:center;
    justify-content:center;
    font-size:14px;
  }
}


/* FOOTER */

.site-footer{
  background:#041011;
  color:#fff;
}

.footer-main{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr 1.15fr;
  gap:72px;
  padding:48px 0 42px;
}

.footer-brand,
.footer-col{
  border-left:1px solid rgba(255,255,255,.10);
  padding-left:46px;
}

.footer-brand{
  border-left:0;
  padding-left:0;
}

.footer-brand img{
  width:90px;
  margin-bottom:26px;
}

.footer-brand p,
.footer-col p,
.footer-col a{
  color:rgba(255,255,255,.80);
  font-size:14px;
  line-height:1.7;
}

.footer-col h3{
  margin:0 0 22px;
  text-transform:uppercase;
  font-size:13px;
  line-height:1;
  letter-spacing:.8px;
}

.footer-col a{
  display:block;
  text-decoration:none;
  margin:0 0 10px;
}

.footer-connect .instagram{
  color:#fff;
  font-size:34px;
  line-height:1;
  margin-top:20px;
}

.footer-bottom{
  position:relative;
  border-top:1px solid rgba(255,255,255,.10);
  min-height:72px;
  padding:0 min(8vw,150px);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:40px;
  color:rgba(255,255,255,.70);
  font-size:13px;
}

.footer-bottom p,
.footer-bottom span{
  margin:0;
}

.footer-bottom strong{
  color:#D9A032;
  font-size:24px;
  line-height:1;
  text-align:center;
  white-space:nowrap;
}

.to-top{
  position:absolute;
  right:min(8vw,150px);
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  border:1px solid #D9A032;
  border-radius:50%;
  color:#D9A032;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}

@media (max-width:768px){

  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:40px 34px;
    padding:30px 36px 36px;
    width:100%;
  }

  .footer-brand,
  .footer-col{
    border-left:1px solid rgba(255,255,255,.10);
    padding-left:34px;
  }

  .footer-brand img{
    width:88px;
    margin-bottom:22px;
  }

  .footer-brand p,
  .footer-col p,
  .footer-col a{
    font-size:14px;
    line-height:1.65;
  }

  .footer-col h3{
    font-size:13px;
  }

  .footer-bottom{
    min-height:185px;
    padding:20px 28px 54px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:20px;
    text-align:center;
    font-size:13px;
  }

  .footer-bottom strong{
    font-size:22px;
    white-space:normal;
  }

  .to-top{
    left:36px;
    right:auto;
    top:auto;
    bottom:24px;
    transform:none;
  }
}

@media (max-width:430px){

  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:40px 28px;
    padding:28px 36px 34px;
  }

  .footer-brand,
  .footer-col{
    padding-left:28px;
  }

  .footer-brand p,
  .footer-col p,
  .footer-col a{
    font-size:13px;
  }
}


/* Footer Mobile Feinschliff: näher am Figma-Original */
@media (max-width:768px){

  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:44px 28px;
    padding:36px 32px 38px;
  }

  .footer-brand,
  .footer-col{
    border-left:1px solid rgba(255,255,255,.10);
    padding-left:30px;
  }

  .footer-brand img{
    width:112px;
    margin-bottom:28px;
  }

  .footer-brand p{
    font-size:18px;
    line-height:1.55;
    color:rgba(255,255,255,.82);
  }

  .footer-col h3{
    font-size:18px;
    line-height:1.05;
    letter-spacing:.9px;
    margin:0 0 26px;
  }

  .footer-col a,
  .footer-col p{
    font-size:18px;
    line-height:1.55;
    color:rgba(255,255,255,.86);
  }

  .footer-col a{
    margin-bottom:12px;
  }

  .footer-connect .instagram{
    font-size:36px;
    margin-top:28px;
  }

  .footer-bottom{
    min-height:220px;
    padding:34px 32px 62px;
    gap:24px;
    font-size:18px;
  }

  .footer-bottom strong{
    font-size:27px;
    line-height:1.05;
    max-width:340px;
  }

  .footer-bottom span{
    font-size:18px;
    line-height:1.4;
  }

  .to-top{
    width:46px;
    height:46px;
    left:36px;
    bottom:26px;
    font-size:18px;
  }
}

@media (max-width:430px){

  .footer-main{
    padding:34px 36px 38px;
    gap:48px 30px;
  }

  .footer-brand,
  .footer-col{
    padding-left:28px;
  }

  .footer-brand img{
    width:110px;
  }

  .footer-brand p,
  .footer-col a,
  .footer-col p{
    font-size:17px;
    line-height:1.58;
  }

  .footer-col h3{
    font-size:18px;
  }

  .footer-bottom{
    padding:32px 28px 66px;
    font-size:17px;
  }

  .footer-bottom strong{
    font-size:26px;
  }

  .footer-bottom span{
    font-size:17px;
  }
}


/* Footer Mobile: Claim und Copyright einzeilig wie im Original */
@media (max-width:768px){

  .footer-bottom{
    padding-left:24px;
    padding-right:24px;
  }

  .footer-bottom p{
    white-space:nowrap;
    font-size:15px;
  }

  .footer-bottom strong{
    white-space:nowrap;
    max-width:none;
    font-size:21px;
    line-height:1;
    letter-spacing:.2px;
  }

  .footer-bottom span{
    white-space:nowrap;
    font-size:15px;
  }
}

@media (max-width:430px){

  .footer-bottom p{
    font-size:14px;
  }

  .footer-bottom strong{
    font-size:20px;
    white-space:nowrap;
  }

  .footer-bottom span{
    font-size:14px;
    white-space:nowrap;
  }
}

@media (max-width:380px){

  .footer-bottom p{
    font-size:13px;
  }

  .footer-bottom strong{
    font-size:18px;
  }

  .footer-bottom span{
    font-size:13px;
  }
}


/* FINAL MOBILE FOOTER MATCH */

@media (max-width:390px){

  .site-footer{
    overflow:hidden;
  }

  .footer-main{
    width:100%;
    grid-template-columns:46% 54%;
    gap:34px 0;
    padding:30px 18px 26px;
    box-sizing:border-box;
  }

  .footer-brand,
  .footer-col{
    padding-left:18px;
  }

  .footer-brand img{
    width:84px;
    margin-bottom:18px;
  }

  .footer-brand p,
  .footer-col p,
  .footer-col a{
    font-size:11px;
    line-height:1.8;
  }

  .footer-col h3{
    font-size:11px;
    letter-spacing:.8px;
    margin-bottom:18px;
  }

  .footer-col a{
    margin-bottom:6px;
  }

  .footer-connect .instagram{
    font-size:22px;
    margin-top:14px;
  }

  .footer-bottom{
    min-height:145px;
    padding:18px 18px 44px;
    gap:14px;
    overflow:hidden;
  }

  .footer-bottom p{
    font-size:10px;
    white-space:nowrap;
  }

  .footer-bottom strong{
    font-size:12px;
    white-space:nowrap;
    letter-spacing:.2px;
  }

  .footer-bottom span{
    font-size:10px;
    white-space:nowrap;
  }

  .to-top{
    width:28px;
    height:28px;
    left:18px;
    bottom:14px;
    font-size:12px;
  }
}


/* Mobile Header/Burger Korrektur: Abstand wie im Original */
@media (max-width:768px){

  .header-inner{
    width:100%;
    padding:0 24px;
  }

  .burger{
    margin-left:auto;
    margin-right:0;
    width:48px;
    height:48px;
    border:3px solid #D9A032;
    border-radius:6px;
    font-size:32px;
  }

  .logo img{
    width:132px;
  }
}

@media (max-width:430px){

  .header-inner{
    padding:0 24px;
  }

  .burger{
    width:48px;
    height:48px;
    font-size:31px;
  }
}


/* Burger Icon final: keine Text-Glyphe mehr, sondern 3 echte Linien */
.burger{
  position:relative;
  font-size:0 !important;
}

.burger span{
  display:block;
  width:27px;
  height:4px;
  background:#D9A032;
  border-radius:999px;
  margin:3px 0;
}

@media (max-width:768px){
  .burger{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:48px;
    height:48px;
    padding:0;
  }

  .burger span{
    width:27px;
    height:4px;
    margin:0;
  }
}

@media (max-width:430px){
  .burger{
    width:48px;
    height:48px;
  }

  .burger span{
    width:27px;
    height:4px;
  }
}


/* FINAL BURGER SIZE */
@media (max-width:430px){

  .burger{
    width:45px;
    height:45px;
  }

  .burger span{
    width:24px;
    height:3px;
  }
}


/* MOBILE MENU */

.mobile-menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  z-index:9999;
  opacity:0;
  visibility:hidden;
  transition:.25s ease;
}

.mobile-menu-overlay.active{
  opacity:1;
  visibility:visible;
}

.mobile-menu{
  position:absolute;
  top:0;
  right:0;
  width:min(100%,420px);
  height:100%;
  background:#000;
  padding:28px 30px;
  overflow:auto;
}

.mobile-menu-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#D9A032;
  margin-bottom:28px;
  font-size:15px;
  letter-spacing:.8px;
}

.mobile-menu-close{
  background:none;
  border:0;
  color:#D9A032;
  font-size:54px;
  line-height:1;
  cursor:pointer;
}

.mobile-nav{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:20px;
}

.mobile-nav a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-decoration:none;
  color:#fff;
  font-size:18px;
  letter-spacing:1px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}

.mobile-nav a::after{
  content:"›";
  color:#fff;
  opacity:.7;
}


/* Complete mobile menu: icons, pills, socials, newsletter */
.mobile-menu{
  width:min(100%,390px);
  padding:38px 30px 42px;
}

.mobile-menu-header{
  margin-bottom:28px;
}

.mobile-menu-header span,
.mobile-menu-section h3{
  color:#D9A032;
  font-size:15px;
  letter-spacing:.8px;
  font-weight:700;
}

.mobile-menu-close{
  font-size:42px;
}

.mobile-nav{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:16px;
}

.mobile-nav a{
  display:grid;
  grid-template-columns:26px 1fr 18px;
  gap:10px;
  align-items:center;
  color:#fff;
  font-size:19px;
  letter-spacing:1.6px;
  padding:13px 0;
  border-bottom:0;
}

.mobile-nav a::after{
  content:"›";
  color:rgba(255,255,255,.75);
  font-size:34px;
  line-height:1;
  justify-self:end;
}

.mobile-nav .menu-icon{
  color:#D9A032;
  font-size:24px;
  line-height:1;
  width:26px;
  text-align:left;
}

.mobile-nav .menu-text{
  min-width:0;
}

.mobile-menu-section{
  margin-top:24px;
}

.menu-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px 10px;
  margin-top:16px;
}

.menu-pills a{
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:12px 14px;
  font-size:13px;
  letter-spacing:.6px;
}

.menu-socials{
  display:flex;
  gap:20px;
  margin-top:24px;
}

.menu-socials a{
  color:#D9A032;
  text-decoration:none;
  font-size:26px;
  line-height:1;
}

.newsletter-menu{
  margin-top:34px;
}

.newsletter-menu p{
  color:#fff;
  opacity:.82;
  font-size:13px;
  margin:10px 0 52px;
}

.newsletter-menu form{
  display:flex;
  gap:12px;
  align-items:center;
}

.newsletter-menu input{
  flex:1;
  min-width:0;
  height:48px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.16);
  color:#fff;
  padding:0 16px;
  font-size:14px;
  font-weight:700;
}

.newsletter-menu input::placeholder{
  color:rgba(255,255,255,.42);
}

.newsletter-menu button{
  width:115px;
  height:48px;
  border:0;
  border-radius:10px;
  background:#D9A032;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

@media (max-width:430px){
  .mobile-menu{
    width:100%;
    padding:38px 30px 42px;
  }

  .mobile-nav a{
    font-size:19px;
  }
}

/* WordPress Integration */
.nav ul,
.nav .menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:34px;
  align-items:center;
}
.nav li{ margin:0; padding:0; }
.nav .current-menu-item > a,
.nav .current_page_item > a,
.nav a[aria-current="page"]{
  color:#D9A032;
  border-bottom:2px solid #D9A032;
  padding-bottom:8px;
}
.post-card a,
.popular-card a{ color:inherit; text-decoration:none; }
.archive-header{ padding:140px 0 40px; background:#fff; }
.single-content,.page-content{ padding:150px 0 90px; background:#f4f4f4; }
.single-content h1,.page-content h1{ font-size:48px; line-height:1.1; margin:0 0 28px; }
.entry-meta{ color:#D9A032; text-transform:uppercase; font-weight:800; margin-bottom:12px; font-size:12px; }
.entry-content{ background:#fff; padding:36px; line-height:1.75; box-shadow:0 12px 30px rgba(0,0,0,.06); }
.single-featured img{ width:100%; height:auto; margin-bottom:30px; }
.pagination{ padding:0 0 80px; text-align:center; }
.pagination .nav-links{ display:flex; justify-content:center; gap:10px; }
.pagination a,.pagination span{ padding:10px 14px; background:#fff; color:#111; text-decoration:none; }
.pagination .current{ background:#D9A032; color:#fff; }
.footer-col ul{ list-style:none; padding:0; margin:0; }
.footer-col li{ margin:0; padding:0; }
.mobile-nav ul{ list-style:none; padding:0; margin:0; }
.mobile-nav li{ margin:0; padding:0; }
@media (max-width:768px){
  .archive-header{ padding:100px 0 28px; }
  .single-content,.page-content{ padding:100px 0 60px; }
  .single-content h1,.page-content h1{ font-size:34px; }
  .entry-content{ padding:24px; }
}
