/*
Theme Name: M.Atik Schlüsseldienst Würzburg – SEO Mobile 2.3
Theme URI: https://www.matikschluesseldienst.de/
Author: M.Atik Schlüsseldienst
Description: Mobile-first WordPress-Block-Theme für M.Atik Schlüsseldienst Würzburg mit Local-SEO-Struktur und eigener einfacher SEO-Verwaltungsseite im WordPress-Menü.
Version: 2.3.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: matik-schluesseldienst
*/

:root{
  --matik-ink:#102326;
  --matik-muted:#5b6d70;
  --matik-brand:#0f5f5a;
  --matik-dark:#0f2c2e;
  --matik-accent:#f2b84b;
  --matik-paper:#fffdf7;
  --matik-soft:#f2f6f4;
  --matik-line:#dfe8e4;
  --matik-white:#ffffff;
  --matik-shadow:0 18px 55px rgba(15,44,46,.12);
  --matik-radius:22px;
  --matik-content:760px;
  --matik-wide:1180px;
}

*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--matik-paper);
  color:var(--matik-ink);
  line-height:1.62;
  overflow-x:clip;
}
img,svg,video,iframe{max-width:100%;height:auto}
figure{max-width:100%}
a{text-underline-offset:.18em}
.wp-site-blocks{overflow-x:clip;max-width:100%}
.wp-site-blocks > .alignfull{width:100%;max-width:100%;margin-left:0!important;margin-right:0!important}
.wp-site-blocks .alignwide{width:min(var(--matik-wide),calc(100% - 32px));max-width:var(--matik-wide);margin-left:auto!important;margin-right:auto!important}
.wp-block-column,.wp-block-group,.wp-block-cover__inner-container{min-width:0}
h1,h2,h3,h4,p,li,a{overflow-wrap:break-word;word-break:normal}
:where(.wp-site-blocks) > *{margin-block-start:0}

.matik-topbar{background:#0b2022;color:#d8e9e5;font-size:.89rem;padding:.48rem 0}
.matik-topbar p{margin:.15rem 0}
.matik-topbar strong{color:#fff}
.matik-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,253,247,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(16,35,38,.08)
}
.admin-bar .matik-header{top:32px}
.matik-header-inner{min-height:76px;gap:16px!important}
.matik-brand-wrap{gap:10px!important;flex-shrink:0}

/* Abwärtskompatibilität mit dem Kopfbereich aus Theme 1.x:
   Falls WordPress eine gespeicherte alte Header-Vorlage verwendet, wird auch
   der frühere M-Block automatisch als echtes M.Atik-Logo dargestellt. */
.matik-logo-mark{
  display:block!important;
  width:128px!important;height:54px!important;min-width:128px!important;
  margin:0!important;border-radius:10px;
  background:#202020 url("assets/images/matik-logo-original.webp") center/contain no-repeat!important;
  color:transparent!important;font-size:0!important;line-height:0!important;
  box-shadow:0 7px 20px rgba(15,44,46,.14)
}

.matik-logo-current{
  display:block;
  width:128px;
  height:54px;
  flex:0 0 128px;
  border-radius:10px;
  background:#202020 url("assets/images/matik-logo-original.webp") center/contain no-repeat;
  box-shadow:0 7px 20px rgba(15,44,46,.14)
}
.matik-brand-name{font-weight:950;line-height:1.05;margin:0;font-size:1.02rem}
.matik-brand-name a{text-decoration:none}
.matik-brand-sub{color:var(--matik-muted);font-size:.7rem;font-weight:700;margin:.2rem 0 0}
.matik-header .wp-block-navigation{min-width:0}
.matik-header .wp-block-navigation-item__content{font-weight:760;text-decoration:none;font-size:.92rem}
.matik-header .wp-block-navigation-item__content:hover{color:var(--matik-brand)}
.matik-header .wp-block-navigation__responsive-container-open{padding:.55rem;border-radius:10px}
.matik-header .wp-block-navigation__responsive-container.is-menu-open{
  background:var(--matik-paper)!important;color:var(--matik-ink)!important;padding:24px!important
}
.matik-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  padding-top:54px!important;align-items:stretch!important
}
.matik-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  align-items:stretch!important;gap:0!important;width:100%
}
.matik-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  border-bottom:1px solid var(--matik-line);width:100%
}
.matik-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  display:block;width:100%;padding:14px 2px;font-size:1.05rem
}

.matik-button .wp-block-button__link,
.wp-block-button.matik-button .wp-block-button__link{
  border-radius:14px;font-weight:850;padding:.85rem 1.15rem;min-height:52px;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none
}
.matik-button-primary .wp-block-button__link{background:var(--matik-accent);color:#332300;box-shadow:0 12px 30px rgba(242,184,75,.26)}
.matik-button-secondary .wp-block-button__link{background:#fff;color:var(--matik-dark);border:1px solid #d8e2df}
.matik-button-dark .wp-block-button__link{background:var(--matik-dark);color:#fff}
.matik-button-outline .wp-block-button__link{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.matik-button .wp-block-button__link:hover{transform:translateY(-1px)}

.matik-eyebrow{
  display:inline-flex!important;align-items:center;gap:.5rem;background:#e7f2ef;color:var(--matik-brand);
  padding:.42rem .72rem;border-radius:999px;font-size:.82rem;font-weight:850;letter-spacing:.02em;width:auto!important
}
.matik-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--matik-accent);display:block;flex:none}

.matik-section{padding-top:88px!important;padding-bottom:88px!important}
.matik-section-soft{background:var(--matik-soft)}
.matik-section-dark{background:var(--matik-dark);color:#eef8f5}
.matik-section-dark h2,.matik-section-dark h3{color:#fff}
.matik-section-dark p{color:#b9cdca}
.matik-section-dark a{color:#fff}
.matik-section-heading{max-width:780px;margin-bottom:34px!important}
.matik-section-heading h2{letter-spacing:-.04em}
.matik-lead{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--matik-muted);max-width:700px}
.matik-kicker{font-weight:800;color:var(--matik-brand)}

.matik-hero{padding-top:54px!important;padding-bottom:74px!important}
.matik-hero .wp-block-columns{gap:48px}
.matik-hero h1{font-size:clamp(2.6rem,6vw,5.1rem);line-height:1.01;letter-spacing:-.055em;margin-top:.8rem}
.matik-hero-image{margin:0}
.matik-hero-image img{
  display:block;width:100%;aspect-ratio:4/3;min-height:0;object-fit:cover;object-position:52% center;
  border-radius:34px;box-shadow:var(--matik-shadow)
}
.matik-hero-visual{position:relative}
.matik-photo-label{
  position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,255,255,.95);
  border-radius:18px;padding:16px 18px!important;box-shadow:0 12px 34px rgba(0,0,0,.18);z-index:2
}
.matik-photo-label p{margin:0}
.matik-trust-row{gap:10px!important;flex-wrap:wrap!important;margin-top:18px!important}
.matik-trust-pill{background:#fff;border:1px solid var(--matik-line);border-radius:999px;padding:.5rem .75rem;font-size:.88rem;font-weight:750;margin:0}
.matik-trust-pill strong{color:var(--matik-brand)}

.matik-quick-grid{margin-top:-32px!important;position:relative;z-index:3;gap:14px!important}
.matik-quick-card{background:#fff;border:1px solid var(--matik-line);border-radius:18px;padding:20px!important;box-shadow:0 12px 35px rgba(15,44,46,.08);height:100%}
.matik-quick-card h3{color:var(--matik-brand);font-size:1.42rem;margin:0 0 .15rem}
.matik-quick-card p{color:var(--matik-muted);font-size:.87rem;font-weight:650;margin:0}

.matik-card{background:#fff;border:1px solid var(--matik-line);border-radius:var(--matik-radius);overflow:hidden;height:100%;box-shadow:0 10px 30px rgba(15,44,46,.05)}
.matik-card:hover{transform:translateY(-3px);box-shadow:var(--matik-shadow);transition:.2s transform,.2s box-shadow}
.matik-card figure{margin:0}
.matik-card img{display:block;width:100%;height:220px;object-fit:cover}
.matik-card-body{padding:24px!important}
.matik-card-body p{color:var(--matik-muted)}
.matik-card-body a:not(.wp-block-button__link){font-weight:800}
.matik-price{color:var(--matik-brand)!important;font-weight:900;font-size:1.1rem}

.matik-price-card{background:#fff;border:1px solid var(--matik-line);border-radius:28px;padding:26px!important;box-shadow:var(--matik-shadow)}
.matik-price-row{padding:17px 0!important;border-bottom:1px solid var(--matik-line);gap:16px!important}
.matik-price-row:last-child{border-bottom:0}
.matik-price-row h3{font-size:1.08rem;margin:0}
.matik-price-row p{color:var(--matik-muted);font-size:.88rem;margin:.15rem 0 0}
.matik-price-value{font-size:1.3rem!important;font-weight:900!important;color:var(--matik-brand)!important;white-space:nowrap;margin:0!important}
.matik-price-note{background:var(--matik-dark);color:#eff8f6;border-radius:28px;padding:30px!important;overflow:hidden;height:100%}
.matik-price-note h2,.matik-price-note h3{color:#fff}
.matik-price-note p,.matik-price-note li{color:#c5d9d5}

.matik-step{background:#fff;border:1px solid var(--matik-line);border-radius:var(--matik-radius);padding:26px!important;height:100%}
.matik-step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--matik-accent);font-weight:950;margin:0 0 18px}
.matik-step p{color:var(--matik-muted)}

.matik-about-image{margin:0}
.matik-about-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:30px;box-shadow:var(--matik-shadow)}
.matik-fact{background:#fff;border:1px solid var(--matik-line);border-radius:16px;padding:15px!important;height:100%}
.matik-fact p{color:var(--matik-muted);margin:0}

.matik-local{
  min-height:460px;background-position:center;background-size:cover;position:relative;
  background-image:url("assets/images/wuerzburg-panorama.webp")
}
.matik-local:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,25,27,.2),rgba(4,25,27,.88))}
.matik-local>.wp-block-cover__inner-container{position:relative;z-index:2}
.matik-area-row{gap:10px!important;flex-wrap:wrap!important}
.matik-area-pill{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.1);border-radius:999px;padding:.58rem .82rem;font-weight:750;color:#fff;margin:0}

.matik-review{background:#fff;border:1px solid var(--matik-line);border-radius:28px;padding:30px!important;box-shadow:var(--matik-shadow);max-width:900px}
.matik-stars{color:#df9b18;letter-spacing:.08em;font-size:1.15rem;font-weight:900}
.matik-review-quote{font-size:1.16rem}

.matik-faq details{background:#fff;border:1px solid var(--matik-line);border-radius:16px;margin:12px 0;padding:0 18px}
.matik-faq summary{cursor:pointer;font-weight:850;padding:18px 32px 18px 0;position:relative}
.matik-faq summary:after{content:"+";position:absolute;right:0;top:11px;color:var(--matik-brand);font-size:1.6rem}
.matik-faq details[open] summary:after{content:"–"}
.matik-faq details p{color:var(--matik-muted);padding-bottom:18px}

.matik-cta{background:linear-gradient(135deg,var(--matik-brand),var(--matik-dark));border-radius:32px;padding:38px!important;color:#fff;box-shadow:var(--matik-shadow)}
.matik-cta h2,.matik-cta h3{color:#fff}
.matik-cta p{color:#c9ddda}

.matik-page-hero{padding-top:70px!important;padding-bottom:58px!important;background:linear-gradient(135deg,#e6f1ed,#fff8e8)}
.matik-page-hero .wp-block-columns{gap:38px}
.matik-page-hero h1{font-size:clamp(2.45rem,5vw,4.45rem);letter-spacing:-.05em;line-height:1.03}
.matik-page-hero figure{margin:0}
.matik-page-hero img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px;box-shadow:var(--matik-shadow)}
.matik-prose{background:#fff;border:1px solid var(--matik-line);border-radius:24px;padding:30px!important}
.matik-prose h2{font-size:clamp(1.65rem,3vw,2rem);margin-top:2rem}
.matik-prose h3{margin-top:1.4rem}
.matik-prose figure{margin:24px 0}
.matik-prose img{border-radius:20px;max-height:560px;object-fit:cover;width:100%}
.matik-prose li{margin:.55rem 0}
.matik-sidebar{background:var(--matik-dark);color:#fff;border-radius:24px;padding:25px!important;position:sticky;top:104px}
.matik-sidebar h2,.matik-sidebar h3{color:#fff}
.matik-sidebar p,.matik-sidebar li{color:#c9dcd8}
.matik-sidebar a{color:#fff}
.matik-notice{background:#fff8df;border:1px solid #efdc98;border-radius:14px;padding:16px!important;color:#5c4a14}
.matik-keyword-note{border-left:4px solid var(--matik-brand);padding:4px 0 4px 18px!important;margin:22px 0!important}
.matik-service-links a{font-weight:800}

.matik-footer{background:#081b1d;color:#d8e8e5;padding-top:54px!important;padding-bottom:50px!important}
.matik-footer .matik-logo-current{box-shadow:none}
.matik-footer a{color:#d8e8e5;text-decoration:none}
.matik-footer h3{color:#fff}
.matik-footer-muted{color:#9bb5b0}
.matik-footer-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:34px!important;padding-top:18px!important;color:#9bb5b0;font-size:.88rem}

.matik-mobile-call{
  display:none!important;position:fixed!important;z-index:200;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));
  background:var(--matik-accent);color:#2e2100;border-radius:16px;padding:14px 18px!important;text-align:center;font-weight:950;
  text-decoration:none;box-shadow:0 16px 40px rgba(0,0,0,.24)
}

/* Tablet */
@media(max-width:1024px){
  .matik-header-phone{display:none!important}
  .matik-brand-sub{display:none}
  .matik-logo-current{width:112px;height:48px;flex-basis:112px}
  .matik-logo-mark{width:112px!important;height:48px!important;min-width:112px!important}
  .matik-sidebar{position:static}
  .matik-hero .wp-block-columns,.matik-page-hero .wp-block-columns,.matik-two-column{gap:28px!important}
}

/* WordPress mobile navigation breakpoint and stacked layouts */
@media(max-width:781px){
  .admin-bar .matik-header{top:46px}
  .wp-site-blocks .alignwide{width:calc(100% - 28px)!important}
  .matik-topbar-secondary{display:none!important}
  .matik-topbar .wp-block-group{justify-content:center!important;text-align:center}
  .matik-header-inner{min-height:68px;flex-wrap:nowrap!important}
  .matik-brand-wrap{max-width:calc(100% - 56px)}
  .matik-logo-current{width:100px;height:45px;flex-basis:100px}
  .matik-logo-mark{width:100px!important;height:45px!important;min-width:100px!important}
  .matik-brand-name{font-size:.92rem}
  .matik-header .wp-block-navigation{margin-left:auto}
  .matik-section{padding-top:60px!important;padding-bottom:60px!important}
  .matik-hero{padding-top:30px!important;padding-bottom:48px!important}
  .matik-hero .wp-block-columns,
  .matik-page-hero .wp-block-columns,
  .matik-two-column,
  .matik-cta{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:26px!important
  }
  .matik-hero .wp-block-column,
  .matik-page-hero .wp-block-column,
  .matik-two-column>.wp-block-column,
  .matik-cta>.wp-block-column{
    width:100%!important;max-width:100%!important;flex-basis:auto!important;margin:0!important
  }
  .matik-hero h1{font-size:clamp(2.45rem,12vw,3.55rem)}
  .matik-page-hero{padding-top:48px!important;padding-bottom:44px!important}
  .matik-page-hero h1{font-size:clamp(2.15rem,10.8vw,3.2rem)}
  .matik-hero-image img{aspect-ratio:4/3;border-radius:24px}
  .matik-photo-label{position:relative;left:auto;right:auto;bottom:auto;margin-top:-54px!important;margin-left:12px!important;margin-right:12px!important;padding:14px 15px!important}
  .matik-quick-grid{margin-top:16px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
  .matik-quick-grid>.wp-block-column{width:100%!important;margin:0!important}
  .matik-price-row{flex-wrap:wrap!important;align-items:flex-start!important}
  .matik-price-row>.wp-block-group{min-width:0;flex:1 1 220px}
  .matik-price-value{flex:0 0 auto}
  .matik-cta{padding:28px!important}
  .matik-mobile-call{display:block!important}
  .matik-footer{padding-bottom:102px!important}
}

/* Small phones */
@media(max-width:520px){
  .wp-site-blocks .alignwide{width:calc(100% - 24px)!important}
  .matik-topbar{font-size:.82rem}
  .matik-header-inner{min-height:64px}
  .matik-logo-current{width:90px;height:42px;flex-basis:90px}
  .matik-logo-mark{width:90px!important;height:42px!important;min-width:90px!important}
  .matik-brand-name{display:none}
  .matik-hero h1{font-size:clamp(2.25rem,13vw,3.05rem)}
  .matik-page-hero h1{font-size:clamp(2rem,11.5vw,2.8rem)}
  .matik-lead{font-size:1rem}
  .matik-section{padding-top:52px!important;padding-bottom:52px!important}
  .matik-section-heading{margin-bottom:26px!important}
  .matik-quick-grid{grid-template-columns:1fr!important}
  .wp-block-buttons{width:100%;gap:10px!important}
  .wp-block-button{width:100%}
  .wp-block-button__link{width:100%;white-space:normal;text-align:center}
  .matik-card img{height:190px}
  .matik-card-body{padding:20px!important}
  .matik-price-card,.matik-price-note,.matik-prose,.matik-review{padding:20px!important;border-radius:20px}
  .matik-price-row{display:block!important}
  .matik-price-value{margin-top:8px!important;white-space:normal}
  .matik-about-image img{border-radius:22px}
  .matik-area-pill{width:100%;text-align:center}
  .matik-cta{padding:23px!important;border-radius:22px}
  .matik-page-hero img{aspect-ratio:4/3;border-radius:22px}
  .matik-faq details{padding:0 15px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
