/*
Theme Name: Bruchstein-Manufaktur
Theme URI: https://bruchstein-manufaktur.de
Description: Child-Theme für „Hello Elementor" — Glück Auf, die Steinhauer. Handgefertigte Bruchstein-Unikate aus Freiberg/Sachsen. Eigene Slide-in-Navigation, Klavika-Schriftbindung und Erzgebirgs-Farbsystem. Inhalt komplett in Elementor (Free) bearbeitbar.
Author: Bruchstein-Manufaktur
Version: 1.0.0
Template: hello-elementor
Text Domain: bruchstein-manufaktur
Tags: elementor, one-page, handcraft, child-theme
*/

/* ============================================================
   BRUCHSTEIN-MANUFAKTUR — Child-Theme-Styles
   Nur Header/Schublade + globale Helfer.
   Der gesamte Seiteninhalt wird in Elementor gestaltet.
   ============================================================ */

:root{
  --bm-gold:#B58E22;
  --bm-gold-deep:#9a7818;
  --bm-gray-mid:#888888;
  --bm-gray-light:#D1D1D1;
  --bm-gray-dark:#707070;
  --bm-ink:#242424;
  --bm-footer:#454545;
  --bm-bg-soft:#EAEAEA;
  --bm-bar:#EDEDED;
  --bm-font-serif:"STIX Two Text", Georgia, "Times New Roman", serif;
  /* Klavika ist eine Lizenz-Schrift — Dateien unter /assets/fonts/ ablegen.
     Hanken Grotesk dient als frei verfügbarer Ersatz. */
  --bm-font-sans:"Klavika","Hanken Grotesk","Helvetica Neue", Arial, sans-serif;
}

/* sanftes Scrollen + Anker-Versatz unter der klebenden Leiste */
html{scroll-behavior:smooth;}
.elementor-section,
[id]{scroll-margin-top:90px;}

/* ============================== TOPBAR ============================== */
.bm-topbar{
  position:sticky;top:0;z-index:500;
  background:#fff;
  border-bottom:1px solid #eee;
}
.bm-topbar__wrap{
  max-width:1200px;margin:0 auto;
  padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
  height:74px;
}
.bm-brand{
  font-family:var(--bm-font-serif);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:1.15rem;
  color:var(--bm-gold);
  text-decoration:none;
}
.bm-toggle{
  display:flex;flex-direction:column;gap:5px;
  background:none;border:0;cursor:pointer;padding:8px;z-index:60;
}
.bm-toggle span{
  display:block;width:26px;height:3px;background:var(--bm-ink);
  border-radius:2px;transition:.25s;
}

/* ============================== SCRIM ============================== */
.bm-scrim{
  position:fixed;inset:0;z-index:900;
  background:rgba(20,20,20,.5);
  opacity:0;transition:opacity .42s ease;
  pointer-events:none;
}
.bm-scrim.is-show{opacity:1;pointer-events:auto;}

/* ============================== SCHUBLADE ============================== */
.bm-drawer{
  position:fixed;top:0;right:0;z-index:1000;
  height:100vh;height:100dvh;
  width:min(50vw,500px);
  background:#e8e8e8;
  box-shadow:-16px 0 50px rgba(0,0,0,.22);
  padding:70px 64px 30px;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .46s cubic-bezier(.16,.84,.34,1);
  overflow-y:auto;
}
.bm-drawer.is-open{transform:translateX(0);}
.bm-drawer__close{
  position:absolute;top:18px;right:28px;
  background:none;border:0;cursor:pointer;
  color:#888;font-size:2.4rem;line-height:1;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  transition:transform .2s,color .2s;
}
.bm-drawer__close:hover{color:#333;transform:rotate(90deg);}

.bm-drawer__list{
  list-style:none;margin:0 0 8px;padding:0;position:relative;
}
.bm-drawer__list li{margin:0;}
.bm-drawer__list a{
  display:block;
  font-family:var(--bm-font-sans);font-weight:700;
  font-size:clamp(1.25rem,1.8vw,1.6rem);
  letter-spacing:.005em;
  padding:14px 0;color:#555;text-decoration:none;
  transition:color .2s,padding-left .2s;
}
.bm-drawer__list a:hover{color:#1f1f1f;padding-left:8px;}

.bm-drawer__seal{
  width:128px;height:auto;margin:22px 0 18px;position:relative;display:block;
}
.bm-drawer__contact{
  font-family:var(--bm-font-sans);color:#555;
  font-size:1.05rem;line-height:1.55;margin:0 0 4px;position:relative;
}
.bm-drawer__contact a{color:#555;text-decoration:none;}
.bm-drawer__contact a:hover{color:#1f1f1f;}
.bm-drawer__foot{
  margin-top:auto;display:flex;gap:10px;align-items:center;position:relative;
  padding-top:30px;
}
.bm-drawer__foot span{color:#b0b0b0;}
.bm-drawer__foot a{
  font-family:var(--bm-font-sans);letter-spacing:.01em;
  font-weight:500;font-size:.92rem;color:#9a9a9a;text-decoration:none;
}
.bm-drawer__foot a:hover{color:#555;}

/* Seitenscroll sperren, solange die Schublade offen ist */
body.bm-nav-open{overflow:hidden;}

/* ============================== RESPONSIVE ============================== */
@media (max-width:760px){
  .bm-drawer{width:min(88vw,380px);padding:56px 30px 24px;}
  .bm-drawer__list a{font-size:1.3rem;padding:12px 0;}
  .bm-drawer__seal{width:104px;margin:20px 0 14px;}
  .bm-topbar__wrap{padding:0 18px;height:64px;}
  .bm-brand{font-size:1rem;letter-spacing:.08em;}
}


button:hover {
    background-color: transparent !important;
    color: #fff;
    text-decoration: none;
}