/* ==========================================================================
   Master Theme – Main Stylesheet (frontend only)
   ==========================================================================
   1. Reset / Normalize
   2. Variablen
   3. Typografie
   4. Layout
   5. Navigation
   6. Buttons & Formulare
   7. Inhalte
   8. Utilities
   9. Theme-Optionen (Variablen)
   10. Header/Footer-Helper & Grids
   ========================================================================== */

/* 1. Reset */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0}
img,video{max-width:100%;height:auto}
img{display:block}
ul[class],ol[class]{padding:0}
ul[class]{list-style:none}

/* 2. Variablen */
:root{
  --color-primary:#0a5cff;
  --color-secondary:#7c3aed;
  --color-accent:#00bfa6;
  --color-ink:#111827;
  --color-muted:#6b7280;
  --color-bg:#ffffff;
  --color-danger:#dc2626;
  --color-warning:#f59e0b;
  --color-success:#16a34a;

  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-serif:Georgia,Cambria,"Times New Roman",Times,serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;

  --container-width:1200px;
  --gutter:1rem;
}

/* 3. Typografie */
body{
  font-family:var(--mt-font-body, var(--font-sans));
  font-size:var(--mt-font-size,16px);
  line-height:var(--mt-line-height,1.6);
  color:var(--mt-color-text,var(--color-ink));
  background-color:var(--mt-color-bg,var(--color-bg));
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--mt-font-head,inherit);
  font-weight:700; line-height:1.25; margin:0 0 .5em;
  color:var(--mt-color-headings,var(--color-ink));
}
h1{font-size:var(--mt-h1,clamp(28px,4vw,44px))}
h2{font-size:var(--mt-h2,clamp(24px,3.2vw,36px))}
h3{font-size:var(--mt-h3,clamp(20px,2.6vw,28px))}
h4{font-size:var(--mt-h4,clamp(18px,2.2vw,22px))}
h5{font-size:var(--mt-h5,clamp(16px,1.8vw,18px))}
h6{font-size:var(--mt-h6,clamp(14px,1.6vw,16px))}
p{margin:0 0 1em}

a{color:var(--mt-link,var(--mt-color-primary,var(--color-primary)));text-decoration:none;transition:color .2s ease,text-decoration-color .2s ease}
a:hover,a:focus{color:var(--mt-link-hover,var(--color-secondary));text-decoration:underline;text-decoration-thickness:from-font}

/* 4. Layout */
.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--gutter)}
.wp-site-blocks > *{max-width:var(--mt-container,720px);margin-inline:auto;padding-inline:16px}
.alignwide{max-width:var(--mt-container-wide,1200px);margin-inline:auto}
.alignfull{max-width:none}
.site-header,.site-footer{background-color:var(--mt-header-bg,var(--color-ink));color:var(--mt-header-text,#fff);padding:1rem 0}
.site-main{padding:2rem 0}

/* 5. Navigation */
.nav-primary{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0;padding:0}
.nav-primary a{color:#fff;font-weight:600}
.nav-primary a:hover,.nav-primary a:focus{color:var(--color-accent)}

/* 6. Buttons & Formulare */
button,input[type="submit"],.wp-block-button__link,.button{
  display:inline-block;padding:.6rem 1rem;font-weight:600;border-radius:var(--mt-radius,.5rem);
  border:none;background-color:var(--mt-btn-bg,var(--color-primary));color:var(--mt-btn-text,#fff);
  cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;
  box-shadow:var(--mt-btn-shadow,none);
}
button:hover,input[type="submit"]:hover,.wp-block-button__link:hover,.button:hover{
  background-color:var(--mt-btn-bg-h,var(--color-secondary));color:var(--mt-btn-text-h,#fff)
}
input,select,textarea{
  font-family:inherit;font-size:1rem;padding:.5rem .75rem;border:1px solid var(--mt-border,var(--color-muted));
  border-radius:var(--mt-radius,.25rem);width:100%;background:var(--mt-form-bg,#fff);color:var(--mt-form-text,var(--color-ink))
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--mt-form-focus,var(--color-primary));outline-offset:1px}

/* 7. Inhalte */
.article-card,.card,.widget,.entry,.comment,.notice{
  border:1px solid var(--mt-border,#e5e7eb);border-radius:var(--mt-radius,.5rem);padding:1rem;background:#fff;
  transition:box-shadow .2s ease,transform .2s ease
}
.article-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.06)}
.widget{margin:0 0 2rem}
.widget-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}
img{border-radius:var(--mt-radius-img,8px)}

/* 8. Utilities */
.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-muted)}
.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}
.mt-1{margin-top:.5rem!important}.mb-1{margin-bottom:.5rem!important}
.mt-2{margin-top:1rem!important}.mb-2{margin-bottom:1rem!important}
.mt-grid{display:grid;gap:var(--mt-grid-gap,16px)}

/* 9. Theme-Optionen Helpers */
.mt-layout-boxed #page,.mt-layout-boxed .site{
  max-width:calc(var(--mt-container-wide,1200px) + 40px);margin:20px auto;background:#fff;border-radius:var(--mt-radius,12px);
  box-shadow:0 10px 30px rgba(0,0,0,.05);
}

/* 10. Header/Footer-Helper & Grids */
.mt-header-sticky .site-header{position:sticky;top:0;z-index:50}
.mt-header-transparent .site-header{background:transparent}
.site-footer a{color:inherit}
.mt-footer-widgets{display:grid;gap:var(--mt-grid-gap,16px);grid-template-columns:repeat(var(--mt-footer-columns,4),minmax(0,1fr));font-size:var(--mt-footer-font-size,14px)}
@media (max-width:768px){ .nav-primary{gap:.75rem} .site-main{padding:1.25rem 0} }
