/*
Theme Name: Mehringer Autoschmiede
Theme URI: https://mehringerautoschmiede.de
Author: Mehringer Autoschmiede
Description: Ruhiges, visuell bearbeitbares Block-Theme für die Mehringer Autoschmiede in Rechtmehring.
Version: 0.15.1
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: mehringer-autoschmiede
*/

:root { --ma-ink:#292b2d; --ma-ink-soft:#3a3d40; --ma-paper:#f6f4f0; --ma-wine:#741a35; --ma-wine-dark:#591128; --ma-muted:#6b6d6f; --ma-line:#dedbd5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ma-paper); color:var(--ma-ink); }
.wp-site-blocks > * { margin-block-start:0; }
.wp-site-blocks a { text-decoration:none; }

.ma-statusbar { min-height:34px; padding:0 24px; background:var(--ma-ink); color:#fff; }
.ma-statusbar .wp-block-group { min-height:34px; justify-content:space-between; }
.ma-statusbar p { margin:0; font-size:12px; }
.ma-statusbar a:hover { text-decoration:underline; }
.ma-nav { min-height:86px; padding:0 24px; border-bottom:1px solid var(--ma-line); background:rgba(255,255,255,.97); }
.ma-nav-inner { min-height:86px; justify-content:space-between; gap:36px; }
.ma-brand { gap:13px; flex:none; }
.ma-brand-badge { width:58px; height:58px; display:block!important; overflow:hidden; border:1px solid #c8c4be; border-radius:50%; background:#fff url("assets/mehringer-logo.jpg") center/cover no-repeat; color:transparent; font-size:0; }
.ma-brand-name { margin:0; font-size:17px; font-weight:800; line-height:1; letter-spacing:.045em; text-transform:uppercase; }
.ma-brand-sub { margin:6px 0 0; color:var(--ma-wine); font-size:10px; font-weight:700; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.ma-nav .wp-block-navigation { margin-left:auto; font-size:14px; font-weight:700; }
.ma-header-phones { display:flex; align-items:stretch; gap:8px; }
.ma-header-phones a { min-width:138px; display:flex; flex-direction:column; justify-content:center; padding:9px 12px; border:1px solid var(--ma-line); border-radius:3px; }
.ma-header-phones a:last-child { border-color:var(--ma-wine); background:var(--ma-wine); color:#fff; }
.ma-header-phones small,.ma-header-phones strong { display:block; line-height:1.2; }
.ma-header-phones small { margin-bottom:3px; color:var(--ma-muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.ma-header-phones a:last-child small { color:#e6cbd3; }
.ma-header-phones strong { font-size:12px; }
.ma-nav-call .wp-block-button__link,.ma-actions .wp-block-button__link,.ma-contact-call .wp-block-button__link { min-height:50px; display:flex; align-items:center; justify-content:center; padding:0 24px; border:1px solid var(--ma-wine); border-radius:4px; background:var(--ma-wine); color:#fff; font-size:14px; font-weight:700; }
.ma-nav-call .wp-block-button__link { min-height:44px; padding:0 19px; }
.ma-contact-call .is-style-outline .wp-block-button__link { background:transparent; color:var(--ma-wine); }

.ma-hero { padding:54px 24px 64px; background:#fff; }
.ma-hero-grid { display:grid!important; grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr); min-height:570px; }
.ma-hero-copy { padding:52px clamp(32px,5vw,70px) 34px 0; display:flex; flex-direction:column; justify-content:center; }
.ma-kicker { margin:0 0 18px!important; color:var(--ma-wine); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.ma-hero-title { margin:0; max-width:700px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(46px,5vw,68px)!important; font-weight:600; line-height:1.08; letter-spacing:-.025em; }
.ma-hero-title strong { color:var(--ma-wine); font-weight:600; }
.ma-rust-text { display:inline-block; color:#9a4d2d; background:radial-gradient(circle at 14% 24%,#d28a51 0 3%,transparent 4%),radial-gradient(circle at 42% 72%,#5f2b20 0 4%,transparent 5%),radial-gradient(circle at 71% 30%,#c66d38 0 3%,transparent 4%),radial-gradient(circle at 88% 76%,#6d3022 0 4%,transparent 5%),linear-gradient(103deg,#6f3022 0%,#bd6736 22%,#7b3324 46%,#d08347 63%,#713025 82%,#a85330 100%); background-size:41px 37px,53px 47px,67px 43px,59px 61px,100% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 1px 0 rgba(73,31,22,.18)); }
.ma-intro { max-width:610px; margin:28px 0 30px!important; color:var(--ma-muted); font-size:19px!important; line-height:1.65; }
.ma-actions { gap:18px; }
.ma-actions .is-style-outline .wp-block-button__link { background:transparent; color:var(--ma-wine); }
.ma-trust { display:grid!important; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:54px; padding-top:24px; border-top:1px solid var(--ma-line); }
.ma-trust p { margin:0; font-size:14px; }
.ma-trust strong,.ma-trust small { display:block; }
.ma-trust small { margin-top:6px; color:var(--ma-muted); font-size:12px; line-height:1.45; }

.ma-hero-photo { min-height:570px; z-index:2; border-radius:4px; background:#ece9e3; }
.ma-hero-photo img { object-position:50% 50%; }
.ma-hero-photo::after { display:none; }

.ma-section { padding:94px 24px; }
.ma-section-head { display:grid!important; grid-template-columns:1fr .75fr; align-items:end; gap:80px; margin-bottom:46px; }
.ma-section-title { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,4.2vw,55px)!important; font-weight:600; line-height:1.12; letter-spacing:-.02em; }
.ma-section-copy { max-width:520px; margin:0!important; color:var(--ma-muted); font-size:16px!important; line-height:1.65; }
.ma-services { background:var(--ma-paper); }
.ma-service-grid { display:grid!important; grid-template-columns:repeat(3,1fr); gap:18px; }
.ma-service-card { min-height:250px; padding:30px; border:1px solid var(--ma-line); border-top:3px solid var(--ma-wine); border-radius:4px; background:#fff; box-shadow:0 6px 20px rgba(41,43,45,.035); }
.ma-service-card .ma-number { margin:0; color:var(--ma-wine); font-size:12px; font-weight:700; letter-spacing:.1em; }
.ma-service-card h3 { margin:32px 0 14px; font-size:21px!important; line-height:1.25; }
.ma-service-card p:last-child { margin:0; color:var(--ma-muted); font-size:14px; line-height:1.65; }

.ma-workshop-section { padding:24px 24px 94px; background:var(--ma-paper); }
.ma-workshop { display:grid!important; grid-template-columns:1fr 1fr; min-height:590px; overflow:hidden; border-radius:6px; background:var(--ma-ink); color:#fff; }
.ma-workshop-photo { min-height:590px; }
.ma-workshop-copy { padding:clamp(50px,7vw,86px); display:flex; flex-direction:column; justify-content:center; }
.ma-workshop-copy .ma-kicker { color:#d7aab7; }
.ma-workshop-copy .ma-large-copy { margin:26px 0 34px!important; color:#c4c5c6; font-size:16px!important; line-height:1.7; }
.ma-principles { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.ma-principles li { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.18); color:#bfc0c1; font-size:14px; }
.ma-principles span { display:inline-block; width:42px; color:#d7aab7; font-size:11px; }
.ma-principles strong { color:#fff; }

.ma-gallery { background:#fff; }
.ma-photo-grid { display:grid!important; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(2,270px); gap:18px; }
.ma-gallery-photo { min-height:0; border-radius:4px; }
.ma-gallery-team { grid-row:1/3; }
.ma-real-photo { position:relative; margin:0!important; overflow:hidden; background:var(--ma-ink); }
.ma-real-photo::after { content:""; position:absolute; z-index:1; inset:45% 0 0; background:linear-gradient(to bottom,transparent,rgba(20,21,22,.76)); pointer-events:none; }
.ma-real-photo img { width:100%; height:100%!important; display:block; object-fit:cover; }
.ma-real-photo.ma-hero-photo img { object-fit:contain; object-position:50% 50%; }
.ma-workshop-photo img { object-position:50% 38%; }
.ma-gallery-team img { object-position:50% 46%; }
.ma-real-photo figcaption { position:absolute; z-index:2; left:28px; right:28px; bottom:24px; margin:0!important; color:#fff; text-align:left; }
.ma-real-photo figcaption strong,.ma-real-photo figcaption span { display:block; }
.ma-real-photo figcaption strong { margin-bottom:5px; font-family:Georgia,"Times New Roman",serif; font-size:20px; }
.ma-real-photo figcaption span { color:#dadada; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }

.ma-appointment-section { padding:94px 24px; background:var(--ma-ink); color:#fff; }
.ma-appointment-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:clamp(54px,8vw,110px); max-width:1180px; margin-inline:auto; }
.ma-appointment-intro { padding-top:16px; }
.ma-appointment-intro .ma-kicker { color:#d7aab7; }
.ma-appointment-intro > p:not(.ma-kicker) { max-width:430px; margin:25px 0 30px; color:#c4c5c6; font-size:16px; line-height:1.7; }
.ma-appointment-photo { min-height:245px; margin:0 0 18px!important; border-radius:4px; }
.ma-appointment-photo img { object-position:50% 50%; }
.ma-appointment-photo figcaption { left:20px; right:20px; bottom:18px; }
.ma-appointment-photo figcaption strong { font-size:18px; }
.ma-appointment-form { display:grid; gap:18px; padding:clamp(28px,4vw,46px); border-top:4px solid var(--ma-wine); border-radius:4px; background:#fff; color:var(--ma-ink); box-shadow:0 18px 48px rgba(0,0,0,.18); }
.ma-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ma-appointment-form label { display:grid; gap:8px; color:var(--ma-ink); font-size:13px; font-weight:700; }
.ma-appointment-form input,.ma-appointment-form select,.ma-appointment-form textarea { width:100%; min-height:48px; padding:12px 14px; border:1px solid #cbc8c3; border-radius:3px; background:#fff; color:var(--ma-ink); font:inherit; font-size:16px; outline:none; }
.ma-appointment-form textarea { min-height:112px; resize:vertical; line-height:1.5; }
.ma-appointment-form input:focus,.ma-appointment-form select:focus,.ma-appointment-form textarea:focus { border-color:var(--ma-wine); box-shadow:0 0 0 3px rgba(116,26,53,.12); }
.ma-appointment-form .ma-file-field { padding:16px; border:1px dashed #b9b4ac; border-radius:4px; background:#f7f5f1; }
.ma-appointment-form .ma-file-field input { min-height:0; padding:10px; background:#fff; cursor:pointer; }
.ma-appointment-form .ma-file-field small { color:var(--ma-muted); font-size:11px; font-weight:400; line-height:1.5; }
.ma-appointment-form .ma-consent-row { display:grid; grid-template-columns:20px 1fr; align-items:start; gap:10px; color:var(--ma-muted); font-size:12px; font-weight:400; line-height:1.5; }
.ma-appointment-form .ma-consent-row input { width:18px; min-height:18px; margin:1px 0 0; accent-color:var(--ma-wine); }
.ma-appointment-form .ma-consent-row a { color:var(--ma-wine); font-weight:700; text-decoration:underline; }
.ma-appointment-form button { min-height:50px; padding:0 24px; border:0; border-radius:4px; background:var(--ma-wine); color:#fff; font-size:14px; font-weight:700; cursor:pointer; }
.ma-form-note { margin:-5px 0 0; color:var(--ma-muted); font-size:12px; line-height:1.5; text-align:center; }
.ma-form-status { margin:0; padding:11px 13px; border-radius:3px; background:#f3ebe9; color:var(--ma-wine); font-size:12px; line-height:1.5; }

.ma-contact { border-top:1px solid var(--ma-line); background:var(--ma-paper); }
.ma-contact-grid { display:grid!important; grid-template-columns:.82fr 1.18fr; gap:clamp(60px,9vw,120px); }
.ma-contact-lead { padding-top:12px; }
.ma-contact-lead .ma-section-copy { max-width:430px; margin:24px 0 30px!important; line-height:1.7; }
.ma-contact-panel { display:grid!important; grid-template-columns:1fr 1fr; gap:16px; }
.ma-info { padding:28px; border:1px solid var(--ma-line); border-radius:4px; background:#fff; }
.ma-info-label { margin:0 0 18px!important; color:var(--ma-wine); font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.ma-info-value { margin:0!important; font-size:20px!important; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.ma-info-link { margin:18px 0 0!important; color:var(--ma-wine); font-size:14px; font-weight:700; }
.ma-hours { width:100%; border-collapse:collapse; font-size:13px; }
.ma-hours td { padding:6px 0; }
.ma-hours td:last-child { text-align:right; font-weight:700; }
.ma-info-email { grid-column:1/-1; }
.ma-info-note { margin:15px 0 0!important; color:var(--ma-muted); font-size:11px; }

.ma-footer { min-height:154px; padding:34px 24px; background:var(--ma-ink); color:#fff; }
.ma-footer-inner { min-height:86px; justify-content:space-between; }
.ma-footer .ma-brand-badge { border-color:rgba(255,255,255,.4); }
.ma-footer .ma-brand-sub { color:#d7aab7; }
.ma-footer-links { gap:22px; font-size:12px; }
.ma-mobile-whatsapp { display:none; }

.ma-section > .wp-block-post-title { max-width:900px; margin:0 auto 42px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,6vw,64px)!important; font-weight:600; }
.ma-section > .wp-block-post-content { max-width:900px; margin-inline:auto; padding:clamp(30px,6vw,70px); border-top:4px solid var(--ma-wine); border-radius:4px; background:#fff; box-shadow:0 12px 36px rgba(41,43,45,.07); }
.ma-section > .wp-block-post-content h2 { margin:34px 0 14px; font-family:Georgia,"Times New Roman",serif; font-size:24px; line-height:1.25; }
.ma-section > .wp-block-post-content h2:first-child { margin-top:0; }
.ma-section > .wp-block-post-content p { color:#505255; font-size:15px; line-height:1.75; }
.ma-section > .wp-block-post-content a { color:var(--ma-wine); text-decoration:underline; text-underline-offset:2px; }

@media (max-width:900px) {
  .ma-nav .wp-block-navigation { display:none; }
  .ma-header-phones { margin-left:auto; }
  .ma-hero-grid,.ma-section-head,.ma-workshop,.ma-contact-grid { grid-template-columns:1fr; }
  .ma-hero-copy { padding-right:0; }
  .ma-hero-photo { min-height:500px; }
  .ma-section-head { align-items:start; gap:20px; }
  .ma-service-grid { grid-template-columns:repeat(2,1fr); }
  .ma-workshop-photo { min-height:480px; }
  .ma-appointment-grid { grid-template-columns:1fr; }
}

@media (max-width:620px) {
  .ma-statusbar .wp-block-group { justify-content:center; }
  .ma-nav,.ma-nav-inner { min-height:76px; }
  .ma-brand-badge { width:50px; height:50px; }
  .ma-brand-name { font-size:14px; }
  .ma-brand-sub { font-size:8px; }
  .ma-nav-call .wp-block-button__link { min-height:40px; padding:0 13px; font-size:12px; }
  .ma-nav-inner { gap:8px; }
  .ma-header-phones { gap:5px; }
  .ma-header-phones a { min-width:0; padding:8px 7px; }
  .ma-header-phones small { display:none; }
  .ma-header-phones strong { font-size:10px; }
  .ma-hero { padding-top:28px; padding-bottom:52px; }
  .ma-hero-copy { padding:36px 0 42px; }
  .ma-hero-title { font-size:42px!important; }
  .ma-intro { font-size:17px!important; }
  .ma-trust { grid-template-columns:1fr; gap:13px; }
  .ma-trust p { padding-left:14px; border-left:2px solid var(--ma-wine); }
  .ma-hero-photo { min-height:390px; }
  .ma-section { padding-top:72px; padding-bottom:72px; }
  .ma-section-title { font-size:38px!important; }
  .ma-service-grid,.ma-photo-grid,.ma-contact-panel { grid-template-columns:1fr; }
  .ma-service-card { min-height:220px; }
  .ma-workshop-section { padding:0 0 72px; }
  .ma-workshop { border-radius:0; }
  .ma-workshop-photo { min-height:390px; }
  .ma-workshop-copy { padding:50px 24px; }
  .ma-appointment-section { padding:72px 16px; }
  .ma-appointment-form { padding:28px 20px; }
  .ma-form-row { grid-template-columns:1fr; }
  .ma-photo-grid { grid-template-rows:none; }
  .ma-gallery-team { grid-row:auto; }
  .ma-gallery-photo { min-height:310px; }
  .ma-gallery-photo:nth-child(3) { display:none; }
  .ma-info-email { grid-column:auto; }
  .ma-footer-inner { align-items:flex-start!important; flex-direction:column; }
  .ma-mobile-whatsapp { position:fixed; z-index:70; left:12px; right:12px; bottom:12px; min-height:54px; display:flex; align-items:center; justify-content:space-between; padding:0 21px; border-radius:4px; background:var(--ma-wine); color:#fff!important; box-shadow:0 9px 28px rgba(0,0,0,.26); font-size:13px; font-weight:700; }
}
