
:root{
  --bg:#0b0b0b;
  --bg-soft:#121212;
  --card:#171717;
  --card-2:#1d1d1d;
  --text:#f7f7f4;
  --muted:#b9b9b3;
  --line:#2f2f2c;
  --gold:#d5a33a;
  --gold-2:#efc45f;
  --light:#f4f3ef;
  --light-2:#ffffff;
  --ink:#151515;
  --radius:18px;
  --shadow:0 18px 50px rgba(0,0,0,.18);
  --container:min(1180px, calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:var(--container);margin-inline:auto}
.eyebrow{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--gold-2);font-weight:800
}
.topbar{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#080808;color:#d8d8d2;font-size:.82rem
}
.topbar .container{display:flex;justify-content:flex-start;padding:8px 0}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(8,8,8,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nav-row{height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:900;font-size:1.2rem;letter-spacing:-.03em}
.brand span{color:var(--gold)}
.nav{display:flex;align-items:center;gap:28px}
.nav a{color:#ddd;font-weight:700;font-size:.93rem;position:relative}
.nav a:hover,.nav a.active{color:#fff}
.nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-24px;height:2px;background:var(--gold)
}
.menu-toggle{
  display:none;background:transparent;border:0;color:#fff;width:44px;height:44px;
  font-size:1.7rem;cursor:pointer
}
.hero{
  min-height:560px;display:flex;align-items:stretch;position:relative;overflow:hidden;
  background:#050505
}
.hero-media{
  position:absolute;
  inset:0 0 0 42%;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  pointer-events:none;
  overflow:hidden;
}
.hero-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 60%);
  pointer-events:none
}
.hero .container{display:flex;align-items:center;position:relative;z-index:2}
.hero-copy{max-width:640px;padding:76px 0 84px}
.hero h1{
  font-size:clamp(3.3rem,6vw,5.6rem);line-height:.95;letter-spacing:-.055em;
  margin:.1em 0 .3em
}
.hero p{font-size:1.12rem;color:#deded8;max-width:570px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}
.badge{
  background:rgba(10,10,10,.82);border:1px solid rgba(255,255,255,.14);
  color:#fff;border-radius:11px;padding:10px 13px;font-size:.88rem;font-weight:700
}
.badge strong{color:var(--gold-2)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 22px;border-radius:10px;border:1px solid transparent;
  font-weight:800;cursor:pointer;transition:.2s ease
}
.btn-primary{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-outline{border-color:#85651f;color:#fff;background:#0b0b0bcc}
.btn-outline:hover{border-color:var(--gold);background:#17130a}
.section{padding:76px 0}
.section-light{background:var(--light);color:var(--ink)}
.section-white{background:#fff;color:var(--ink)}
.section-dark{background:var(--bg);color:var(--text)}
.section-title{text-align:center;margin-bottom:34px}
.section-title h2{font-size:2rem;letter-spacing:-.035em;margin:.2em 0 .25em}
.section-title p{margin:0 auto;color:#686862;max-width:650px}
.gold-rule{width:42px;height:3px;background:var(--gold);border-radius:2px;margin:12px auto 0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{
  background:#fff;border:1px solid #dfded9;border-radius:var(--radius);padding:28px;
  box-shadow:0 8px 28px rgba(0,0,0,.04)
}
.icon-disc{
  width:56px;height:56px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;color:var(--gold);font-weight:900;margin-bottom:16px
}
.feature-card h3{margin:0 0 8px;font-size:1.06rem}
.feature-card p{margin:0;color:#595954;font-size:.93rem}
.split-row{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.panel{border:1px solid #dfded9;border-radius:var(--radius);padding:28px;background:#fff}
.panel h2{margin:0 0 18px;font-size:1.55rem;letter-spacing:-.03em}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.price-card{
  border:1px solid #dddcd7;border-radius:14px;padding:22px 16px;text-align:center;background:#fff
}
.price-card small{font-weight:800;color:#4d4d48}
.price-card strong{display:block;font-size:2rem;margin-top:5px}
.price-card .gold{color:var(--gold);font-size:1.25rem;padding-top:8px}
.inline-link{display:inline-flex;margin-top:18px;font-weight:800;color:#2e2e2b}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{position:relative}
.step-num{
  width:44px;height:44px;border-radius:50%;background:#f2eee5;color:#9f7418;
  display:grid;place-items:center;font-weight:900;margin-bottom:12px
}
.step h3{font-size:.98rem;margin:0 0 6px}
.step p{margin:0;color:#62625d;font-size:.88rem}
.about{
  display:grid;grid-template-columns:1.05fr 1fr;background:#fff;color:#171717
}
.about-media{
  min-height:430px;background:url("images/about-placeholder.svg") center/cover no-repeat
}
.about-copy{padding:58px clamp(30px,5vw,74px);display:flex;flex-direction:column;justify-content:center}
.about-copy h2{font-size:2rem;letter-spacing:-.04em;margin:.15em 0 .5em}
.about-copy p{color:#54544f}
.fact-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.fact{border:1px solid #e2e0db;border-radius:12px;padding:11px 13px;font-size:.88rem;font-weight:800}
.cta{
  padding:54px 0;background:
    linear-gradient(125deg,rgba(213,163,58,.08),transparent 35%),
    #090909;text-align:center;border-top:1px solid rgba(255,255,255,.08)
}
.cta h2{font-size:2rem;letter-spacing:-.035em;margin:0 0 18px}
.footer{border-top:1px solid rgba(255,255,255,.08);padding:30px 0 18px;background:#060606}
.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}
.footer small,.footer p{color:#adada7;margin:.25rem 0;font-size:.86rem}
.footer strong{display:block;margin-bottom:5px}
.footer-bottom{
  display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px;
  padding-top:16px;border-top:1px solid rgba(255,255,255,.07);font-size:.78rem;color:#8e8e88
}
.mobile-cta{display:none}
.page-hero{padding:58px 0 36px;background:#0d0d0d}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.1rem);letter-spacing:-.045em;margin:.12em 0}
.page-hero p{color:#bdbdb7;margin:0;max-width:680px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}
.filter{
  border:1px solid #343432;background:#151515;color:#e8e8e3;border-radius:999px;padding:9px 16px;
  font-weight:800;font-size:.88rem
}
.filter.active{background:var(--gold);border-color:var(--gold);color:#111}
.string-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.string-card{
  border:1px solid #2f2f2c;border-radius:16px;background:#151515;padding:16px;display:grid;
  grid-template-columns:126px 1fr;gap:18px;align-items:center
}
.string-card img{width:126px;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.string-card h3{margin:0 0 8px;font-size:1.08rem}
.string-meta{color:#b7b7b0;font-size:.9rem}
.string-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:12px;padding-top:10px;border-top:1px solid #2d2d2b}
.string-price strong{font-size:1.35rem}
.tag{
  display:inline-flex;border:1px solid #81641f;color:#e9bd55;border-radius:999px;padding:4px 9px;
  font-size:.72rem;font-weight:800;margin-left:8px
}
.contact-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.form-card,.contact-card{
  border:1px solid #2f2f2c;background:#141414;border-radius:18px;padding:28px
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:.83rem;font-weight:800;color:#cecec8}
input,textarea{
  width:100%;border:1px solid #393937;background:#101010;color:#fff;border-radius:11px;
  padding:14px 15px;outline:none
}
input:focus,textarea:focus{border-color:var(--gold)}
textarea{min-height:170px;resize:vertical}
.contact-list{display:grid;gap:12px;margin-top:20px}
.contact-item{border:1px solid #30302d;border-radius:12px;padding:15px}
.contact-item small{display:block;color:#9c9c96;margin-bottom:3px}
.ref-box{
  margin-top:24px;padding:18px;border:1px dashed #484844;border-radius:12px;color:#aaa;font-size:.85rem
}
.ref-box img{margin-top:12px;border-radius:10px;border:1px solid #2a2a28}

@media (max-width: 900px){
  :root{--container:min(100% - 28px, 760px)}
  .topbar{display:none}
  .nav-row{height:64px}
  .menu-toggle{display:block}
  .nav{
    display:none;position:absolute;top:64px;left:0;right:0;background:#090909;
    border-top:1px solid #242424;border-bottom:1px solid #242424;padding:14px 20px 20px;
    flex-direction:column;align-items:flex-start;gap:12px
  }
  .nav.open{display:flex}
  .nav a{width:100%;padding:10px 0}
  .nav a.active::after{display:none}
  .hero{min-height:auto}
  .hero-media{
    inset:0;
    opacity:.22;
  }
  .hero-photo{
    width:72%;
    height:100%;
    margin-left:auto;
    object-fit:contain;
    object-position:right bottom;
  }
  .hero-copy{padding:72px 0 42px;max-width:100%}
  .hero h1{font-size:clamp(2.7rem,12vw,4.2rem)}
  .hero p{font-size:1rem;max-width:92%}
  .feature-grid{grid-template-columns:1fr}
  .split-row{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .about-media{min-height:330px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .string-list{grid-template-columns:1fr}
  .contact-wrap{grid-template-columns:1fr}
}
@media (max-width: 620px){
  body{padding-bottom:76px}
  .section{padding:52px 0}
  .hero-copy{padding-top:58px}
  .badges{gap:8px;margin:20px 0}
  .badge{padding:8px 10px;font-size:.78rem}
  .actions .btn{flex:1}
  .feature-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .feature-card{padding:14px 10px;text-align:center;border-radius:12px}
  .feature-card .icon-disc{margin:0 auto 9px;width:42px;height:42px}
  .feature-card h3{font-size:.78rem}
  .feature-card p{font-size:.69rem;line-height:1.35}
  .price-grid{gap:8px}
  .price-card{padding:15px 7px}
  .price-card strong{font-size:1.55rem}
  .price-card .gold{font-size:1rem}
  .steps{gap:10px}
  .step-num{width:38px;height:38px}
  .step h3{font-size:.78rem}
  .step p{font-size:.67rem}
  .about-copy{padding:38px 22px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .mobile-cta{
    position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:8px;
    left:0;right:0;bottom:0;z-index:70;padding:10px 12px;
    background:rgba(7,7,7,.96);backdrop-filter:blur(10px);border-top:1px solid #2b2b29
  }
  .mobile-cta .btn{min-height:52px;padding:0 10px;font-size:.9rem}
  .string-card{grid-template-columns:92px 1fr;gap:12px;padding:12px}
  .string-card img{width:92px}
  .string-card h3{font-size:1rem}
  .form-grid{grid-template-columns:1fr}
  .page-hero{padding:38px 0 24px}
  .panel{padding:20px}
}


/* =========================
   SVG Icons
   ========================= */

.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.badge-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  fill: none;
  stroke: var(--gold-2);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon-disc {
  width: 56px;
  height: 56px;
  border: 1.5px solid var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  margin-bottom: 16px;
}

.feature-icon {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 620px) {
  .badge-icon {
    width: 15px;
    height: 15px;
  }

  .icon-disc {
    width: 44px;
    height: 44px;
    margin: 0 auto 10px;
  }

  .feature-icon {
    width: 23px;
    height: 23px;
  }
}


/* =========================
   WhatsApp Button Accent
   ========================= */

.btn-whatsapp{
  background: linear-gradient(135deg, #36d16f, #25D366);
  color:#08140c;
  border:1px solid #25D366;
}

.btn-whatsapp:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 10px 26px rgba(37, 211, 102, .22);
}


/* =========================
   Logo Integration
   ========================= */

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  font-size:1.2rem;
  letter-spacing:-.03em;
}

.brand-logo img{
  width:58px;
  height:auto;
  display:block;
}

.brand-text{
  display:inline-block;
  line-height:1;
}

.brand-footer{
  margin-bottom:6px;
}

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

@media (max-width: 900px){
  .brand-logo img{
    width:48px;
  }

  .brand-text{
    font-size:1.05rem;
  }
}

@media (max-width: 620px){
  .brand-logo img{
    width:42px;
  }

  .brand-text{
    font-size:.98rem;
  }

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


/* =========================
   Logo spacing refinement
   ========================= */

.brand{
  gap: 16px;
  font-size: 1.02rem;
}

.brand-text{
  font-size: 1em;
}

.brand-footer{
  gap: 18px;
}

@media (max-width: 900px){
  .brand{
    gap: 13px;
    font-size: .96rem;
  }

  .brand-footer{
    gap: 15px;
  }
}

@media (max-width: 620px){
  .brand{
    gap: 11px;
    font-size: .9rem;
  }

  .brand-footer{
    gap: 13px;
  }
}


/* =========================
   Compact Footer
   ========================= */

.footer-compact{
  padding:20px 0 12px;
}

.footer-grid-compact{
  grid-template-columns:1.15fr repeat(3, 1fr);
  gap:20px;
  align-items:center;
}

.footer-brand-cell{
  display:flex;
  align-items:center;
}

.footer-compact .brand-footer{
  margin-bottom:0;
}

.footer-compact .brand-footer img{
  width:58px;
}

.footer-compact strong{
  margin-bottom:2px;
  font-size:.82rem;
}

.footer-compact small{
  font-size:.8rem;
}

.footer-bottom-compact{
  margin-top:16px;
  padding-top:11px;
}

.footer-bottom-compact a:hover{
  color:var(--gold-2);
}

/* =========================
   Legal Pages
   ========================= */

.legal-page-hero{
  padding-bottom:42px;
}

.legal-container{
  max-width:900px;
}

.legal-card-new{
  background:#fff;
  color:#191919;
  border:1px solid #deddd8;
  border-radius:20px;
  padding:clamp(28px, 5vw, 56px);
  box-shadow:0 14px 40px rgba(0,0,0,.06);
}

.legal-card-new h2{
  margin:2.1rem 0 .65rem;
  font-size:1.28rem;
  line-height:1.25;
  letter-spacing:-.02em;
}

.legal-card-new h2:first-child{
  margin-top:0;
}

.legal-card-new p,
.legal-card-new li{
  color:#53534e;
  font-size:.96rem;
  line-height:1.72;
}

.legal-card-new p{
  margin:.6rem 0 1rem;
}

.legal-card-new ul{
  padding-left:1.3rem;
  margin:.65rem 0 1.25rem;
}

.legal-card-new a:not(.btn){
  color:#8d6818;
  text-decoration:underline;
  text-decoration-color:rgba(213,163,58,.45);
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}

.legal-card-new a:not(.btn):hover{
  color:#5f450f;
  text-decoration-color:var(--gold);
}

.legal-card-new .legal-block + .legal-block{
  border-top:1px solid #e7e5df;
  margin-top:1.7rem;
  padding-top:1.4rem;
}

.legal-actions-new{
  margin-top:2.4rem;
  padding-top:1.5rem;
  border-top:1px solid #e5e3de;
}

@media (max-width:900px){
  .footer-grid-compact{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:620px){
  .footer-compact{
    padding:18px 0 10px;
  }

  .footer-grid-compact{
    grid-template-columns:1fr;
    gap:13px;
  }

  .footer-brand-cell{
    margin-bottom:2px;
  }

  .footer-compact .brand-footer img{
    width:52px;
  }

  .footer-bottom-compact{
    margin-top:13px;
    padding-top:10px;
  }

  .legal-card-new{
    border-radius:14px;
    padding:24px 20px;
  }

  .legal-card-new h2{
    font-size:1.14rem;
  }

  .legal-card-new p,
  .legal-card-new li{
    font-size:.91rem;
    line-height:1.66;
  }
}


/* =========================
   Full String Catalog
   ========================= */

.strings-page-hero p{
  max-width:760px;
}

.strings-price-overview{
  margin-bottom:34px;
}

.dark-price-card{
  background:#151515;
  border-color:#30302d;
  color:#fff;
}

.dark-price-card small{
  color:#bdbdb7;
}

.catalog-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:10px 0 26px;
}

.catalog-toolbar .filters{
  margin:12px 0 0;
}

.catalog-note{
  margin:0 0 2px;
  color:#9f9f99;
  text-align:right;
  font-size:.86rem;
  min-width:170px;
}

.catalog-note strong{
  color:#fff;
  font-size:.95rem;
}

.string-list-catalog{
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.string-card-full{
  grid-template-columns:138px minmax(0,1fr);
  align-items:stretch;
  padding:14px;
  overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.string-card-full:hover{
  transform:translateY(-2px);
  border-color:#66501f;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}

.string-image-placeholder{
  min-height:220px;
  border-radius:12px;
  border:1px solid #33332f;
  background:
    radial-gradient(circle at 50% 28%, rgba(213,163,58,.18), transparent 33%),
    linear-gradient(145deg,#1b1b1b,#0d0d0d);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:12px;
}

.string-image-placeholder::after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  border:1px solid rgba(213,163,58,.24);
  border-radius:50%;
}

.placeholder-brand{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  color:#d6d6d0;
  font-size:.68rem;
  letter-spacing:.1em;
  font-weight:900;
}

.placeholder-mark{
  font-size:2rem;
  line-height:1;
  font-weight:900;
  color:var(--gold-2);
  z-index:1;
}

.string-image-placeholder small{
  margin-top:9px;
  color:#777770;
  font-size:.67rem;
  z-index:1;
}

.string-card-content{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.string-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.string-brand{
  color:var(--gold-2);
  font-size:.68rem;
  line-height:1.2;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:5px;
}

.string-card-full h3{
  font-size:1.25rem;
  margin:0;
  letter-spacing:-.025em;
}

.string-tags{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
}

.string-tags .tag{
  margin:0;
}

.string-description{
  color:#aaa9a3;
  font-size:.84rem;
  line-height:1.5;
  margin:12px 0 14px;
}

.string-specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px 14px;
  margin-bottom:auto;
}

.string-specs span{
  min-width:0;
}

.string-specs small{
  display:block;
  color:#72726d;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:2px;
}

.string-specs strong{
  display:block;
  color:#e8e8e3;
  font-size:.81rem;
  font-weight:700;
  overflow-wrap:anywhere;
}

.string-card-full .string-bottom{
  margin-top:15px;
}

.string-price small{
  display:block;
  color:#878781;
  font-size:.68rem;
  margin-bottom:1px;
}

.string-request-link{
  color:var(--gold-2);
  font-size:.84rem;
  font-weight:800;
}

.string-request-link:hover{
  color:#fff;
}

.manufacturer-note{
  max-width:820px;
  margin:34px auto 0;
  padding:18px 20px;
  border:1px solid #2f2f2c;
  border-radius:14px;
  background:#111;
  color:#999993;
  font-size:.82rem;
}

.manufacturer-note strong{
  color:#dddcd7;
}

.manufacturer-note p{
  margin:5px 0 0;
}

@media (max-width:900px){
  .string-list-catalog{
    grid-template-columns:1fr;
  }

  .catalog-toolbar{
    align-items:flex-start;
  }
}

@media (max-width:620px){
  .catalog-toolbar{
    display:block;
  }

  .catalog-note{
    text-align:left;
    margin-top:15px;
  }

  .string-card-full{
    grid-template-columns:92px minmax(0,1fr);
    padding:11px;
  }

  .string-image-placeholder{
    min-height:170px;
  }

  .string-card-head{
    display:block;
  }

  .string-tags{
    justify-content:flex-start;
    margin-top:8px;
  }

  .string-description{
    font-size:.78rem;
    margin:10px 0 12px;
  }

  .string-specs{
    grid-template-columns:1fr;
    gap:6px;
  }

  .string-card-full h3{
    font-size:1.08rem;
  }
}


/* =========================
   Compact string cards (v8)
   ========================= */

.string-list-catalog{
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.string-card-full{
  grid-template-columns:140px minmax(0,1fr);
  padding:12px 14px;
  min-height:unset;
}

.string-image-placeholder{
  min-height:0;
  height:138px;
}

.placeholder-mark{
  font-size:1.45rem;
}

.string-image-placeholder::after{
  width:82px;
  height:82px;
}

.string-card-head{
  gap:10px;
}

.string-brand{
  margin-bottom:4px;
  font-size:.64rem;
}

.string-card-full h3{
  font-size:1.08rem;
  line-height:1.15;
}

.string-tags{
  gap:4px;
}

.string-tags .tag{
  padding:4px 8px;
  font-size:.68rem;
}

.string-description{
  display:none;
}

.string-specs{
  display:block;
  margin:8px 0 0;
}

.string-specs span{
  display:block;
  margin-bottom:2px;
}

.string-specs small{
  display:none;
}

.string-specs strong{
  font-size:.82rem;
  line-height:1.35;
  color:#cbcbc5;
  font-weight:500;
}

.string-card-full .string-bottom{
  margin-top:12px;
  padding-top:10px;
}

.string-price small{
  font-size:.7rem;
}

.string-price strong{
  font-size:1.2rem;
}

.string-request-link{
  font-size:1.25rem;
  line-height:1;
  text-decoration:none;
}

@media (max-width: 900px){
  .string-card-full{
    grid-template-columns:120px minmax(0,1fr);
    padding:11px 12px;
  }

  .string-image-placeholder{
    height:120px;
  }

  .string-card-full h3{
    font-size:1rem;
  }
}

@media (max-width: 620px){
  .string-list-catalog{
    grid-template-columns:1fr;
    gap:14px;
  }

  .string-card-full{
    grid-template-columns:92px minmax(0,1fr);
    padding:10px 11px;
  }

  .string-image-placeholder{
    height:92px;
  }

  .string-image-placeholder::after{
    width:58px;
    height:58px;
  }

  .placeholder-mark{
    font-size:1rem;
  }

  .placeholder-brand{
    font-size:.56rem;
    top:8px;
    left:8px;
    right:8px;
  }

  .string-card-full h3{
    font-size:.98rem;
  }

  .string-tags .tag{
    font-size:.64rem;
    padding:3px 7px;
  }

  .string-specs strong{
    font-size:.76rem;
  }

  .string-card-full .string-bottom{
    margin-top:10px;
    padding-top:8px;
  }

  .string-price strong{
    font-size:1.08rem;
  }

  .string-request-link{
    font-size:1.05rem;
  }
}


/* =========================
   Zubehör / Accessories
   ========================= */

.accessories-hero p{
  max-width:720px;
}

.accessories-intro{
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:flex-end;
  margin-bottom:28px;
}

.accessories-intro h2{
  margin:.15em 0 0;
  font-size:2rem;
  letter-spacing:-.035em;
}

.accessories-intro > p{
  max-width:440px;
  margin:0;
  color:#686862;
  font-size:.92rem;
}

.accessory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.accessory-card{
  background:#fff;
  border:1px solid #dddcd7;
  border-radius:16px;
  padding:12px;
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:16px;
  box-shadow:0 8px 26px rgba(0,0,0,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.accessory-card:hover{
  transform:translateY(-2px);
  border-color:#c9b16c;
  box-shadow:0 12px 30px rgba(0,0,0,.07);
}

.accessory-image-placeholder{
  height:132px;
  border-radius:12px;
  border:1px solid #2e2e2b;
  background:
    radial-gradient(circle at 50% 30%,rgba(213,163,58,.17),transparent 34%),
    linear-gradient(145deg,#1b1b1b,#0d0d0d);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.accessory-placeholder-brand{
  position:absolute;
  top:10px;
  left:8px;
  right:8px;
  font-size:.56rem;
  letter-spacing:.08em;
  font-weight:900;
  color:#d8d7d2;
}

.accessory-placeholder-icon{
  width:52px;
  height:52px;
  border:2px solid var(--gold);
  border-radius:50%;
  color:var(--gold-2);
  display:grid;
  place-items:center;
  font-size:1.45rem;
  font-weight:400;
}

.accessory-image-placeholder small{
  margin-top:7px;
  color:#777771;
  font-size:.62rem;
}

.accessory-content{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.accessory-content h3{
  margin:2px 0 4px;
  font-size:1.08rem;
  line-height:1.2;
  letter-spacing:-.02em;
}

.accessory-category{
  color:#8d6818;
  font-size:.72rem;
  font-weight:800;
}

.accessory-content p{
  color:#62625d;
  font-size:.81rem;
  line-height:1.48;
  margin:9px 0 10px;
}

.accessory-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:12px;
}

.accessory-chip{
  border:1px solid #dedbd2;
  background:#f7f5ef;
  color:#575750;
  border-radius:999px;
  padding:3px 7px;
  font-size:.64rem;
  font-weight:700;
}

.accessory-footer{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid #e5e3dd;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.accessory-prices{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.accessory-price-box small{
  display:block;
  color:#81817b;
  font-size:.64rem;
  margin-bottom:1px;
}

.accessory-price-box strong{
  color:#171717;
  font-size:1.08rem;
  line-height:1.1;
}

.accessory-card .string-request-link{
  white-space:nowrap;
  font-size:.76rem;
  color:#8d6818;
}

.accessory-note{
  max-width:760px;
  margin:28px auto 0;
  border:1px solid #dddcd7;
  background:#fff;
  border-radius:13px;
  padding:15px 18px;
  color:#686862;
  font-size:.8rem;
}

.accessory-note strong{
  color:#222;
}

.accessory-note p{
  margin:4px 0 0;
}

@media (max-width:900px){
  .accessory-grid{
    grid-template-columns:1fr;
  }

  .accessories-intro{
    display:block;
  }

  .accessories-intro > p{
    margin-top:10px;
  }
}

@media (max-width:620px){
  .accessory-card{
    grid-template-columns:92px minmax(0,1fr);
    gap:11px;
    padding:10px;
  }

  .accessory-image-placeholder{
    height:92px;
  }

  .accessory-placeholder-icon{
    width:38px;
    height:38px;
    font-size:1rem;
  }

  .accessory-content h3{
    font-size:.96rem;
  }

  .accessory-content p{
    font-size:.75rem;
    margin:7px 0 8px;
  }

  .accessory-chips{
    display:none;
  }

  .accessory-footer{
    align-items:flex-end;
  }

  .accessory-prices{
    gap:10px;
  }

  .accessory-price-box strong{
    font-size:.98rem;
  }

  .accessory-card .string-request-link{
    font-size:.7rem;
  }
}


/* =========================
   Zubehör refinements v10
   ========================= */

/* More horizontal spacing between multiple price blocks */
.accessory-prices{
  gap:28px;
}

/* The descriptive property chips were removed from all cards */
.accessory-chips,
.accessory-chip{
  display:none !important;
}

@media (max-width:620px){
  .accessory-prices{
    gap:20px;
  }
}


/* =========================
   Über mich + Equipment v11
   ========================= */

.about-page-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,#0a0a0a 0%,#101010 68%,#0a0a0a 100%);
}

.about-page-hero::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-145px;
  width:470px;
  height:470px;
  border:2px solid rgba(213,163,58,.7);
  border-radius:50%;
  transform:skewX(-18deg);
  pointer-events:none;
}

.about-page-hero .container{
  position:relative;
  z-index:1;
}

.about-main{
  padding:24px 0 18px;
}

.about-main-grid{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  gap:40px;
  align-items:center;
}

.about-main-media .about-media{
  min-height:390px;
  border-radius:16px;
  overflow:hidden;
}

.about-main-copy{
  padding:28px 0;
}

.about-main-copy h2,
.equipment-heading h2{
  margin:.12em 0 .25em;
  font-size:clamp(1.8rem,3vw,2.35rem);
  letter-spacing:-.04em;
  line-height:1.05;
}

.about-rule{
  width:34px;
  height:3px;
  background:var(--gold);
  border-radius:3px;
  margin:12px 0 18px;
}

.about-main-copy p{
  color:#565650;
  font-size:.95rem;
  line-height:1.68;
  margin:0 0 13px;
}

.about-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:22px;
}

.about-fact{
  min-height:58px;
  border:1px solid #e1dfd9;
  border-radius:12px;
  background:#fff;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.8rem;
  font-weight:800;
}

.about-fact svg{
  width:24px;
  height:24px;
  flex:0 0 auto;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.equipment-section{
  padding:26px 0 34px;
  border-top:1px solid #e6e4de;
}

.equipment-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:16px;
}

.equipment-heading > p{
  max-width:430px;
  margin:0 0 4px;
  color:#71716b;
  font-size:.86rem;
  text-align:right;
}

.equipment-grid{
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:16px;
}

.equipment-card{
  border:1px solid #dddcd7;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.035);
}

.equipment-card-machine{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  align-items:center;
  overflow:hidden;
  min-height:184px;
}

.equipment-machine-image{
  height:100%;
  min-height:184px;
  background:#f7f6f2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border-right:1px solid #e6e4de;
}

.equipment-machine-image img{
  width:100%;
  height:100%;
  max-height:155px;
  object-fit:contain;
}

.equipment-card-copy{
  padding:20px 22px;
}

.equipment-card h3{
  margin:3px 0 8px;
  font-size:1.06rem;
  letter-spacing:-.02em;
}

.equipment-card p{
  margin:0;
  color:#62625d;
  font-size:.82rem;
  line-height:1.5;
}

.equipment-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px 17px;
  margin-top:14px;
}

.equipment-points span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#5b5b55;
  font-size:.72rem;
  font-weight:700;
}

.equipment-points svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.equipment-card-materials{
  padding:22px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  align-items:center;
}

.equipment-material-icon{
  width:68px;
  height:68px;
  border-radius:50%;
  background:#faf8f1;
  display:grid;
  place-items:center;
}

.equipment-material-icon svg{
  width:46px;
  height:46px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.6;
}

.equipment-card-materials strong{
  color:#282824;
}

.equipment-link{
  display:inline-flex;
  margin-top:11px;
  color:#8d6818;
  font-size:.76rem;
  font-weight:800;
}

.equipment-link:hover{
  color:#5d430d;
}

.about-cta-sub{
  color:#b5b5af;
  font-size:.9rem;
  margin:-7px auto 18px;
  max-width:650px;
}

@media (max-width:900px){
  .about-main-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .about-main-media .about-media{
    min-height:360px;
  }

  .about-main-copy{
    padding:0 0 16px;
  }

  .equipment-grid{
    grid-template-columns:1fr;
  }

  .equipment-heading{
    display:block;
  }

  .equipment-heading > p{
    text-align:left;
    margin-top:8px;
  }
}

@media (max-width:620px){
  .about-main{
    padding:0;
  }

  .about-main-grid{
    width:100%;
    gap:0;
  }

  .about-main-media{
    padding:16px 14px 0;
  }

  .about-main-media .about-media{
    min-height:220px;
    border-radius:13px;
  }

  .about-main-copy{
    padding:22px 20px 26px;
  }

  .about-main-copy h2{
    font-size:1.48rem;
  }

  .about-main-copy p{
    font-size:.88rem;
    line-height:1.58;
  }

  .about-facts{
    grid-template-columns:1fr;
    gap:7px;
    margin-top:17px;
  }

  .about-fact{
    min-height:50px;
    padding:9px 12px;
    font-size:.84rem;
  }

  .equipment-section{
    padding:24px 0 26px;
  }

  .equipment-heading{
    margin-bottom:12px;
  }

  .equipment-heading h2{
    font-size:1.35rem;
  }

  .equipment-heading > p{
    display:none;
  }

  .equipment-card-machine{
    grid-template-columns:128px minmax(0,1fr);
    min-height:185px;
  }

  .equipment-machine-image{
    min-height:185px;
    padding:8px;
  }

  .equipment-card-copy{
    padding:15px 14px;
  }

  .equipment-card h3{
    font-size:.94rem;
  }

  .equipment-card p{
    font-size:.75rem;
  }

  .equipment-points{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    margin-top:10px;
  }

  .equipment-points span{
    font-size:.67rem;
  }

  .equipment-card-materials{
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
    padding:17px;
  }

  .equipment-material-icon{
    width:54px;
    height:54px;
  }

  .equipment-material-icon svg{
    width:38px;
    height:38px;
  }

  .equipment-link{
    font-size:.71rem;
  }

  .about-page-hero::after{
    width:290px;
    height:290px;
    right:-110px;
    bottom:-105px;
  }
}


/* =========================
   v13 – verified About images/icons
   ========================= */

.about-main-media{
  display:flex;
  align-items:center;
  justify-content:center;
}

.about-portrait-image{
  display:block;
  width:100%;
  height:390px;
  object-fit:cover;
  object-position:center 22%;
  border-radius:16px;
  border:1px solid #e2e0da;
  background:#f4f3ef;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.about-fact .fact-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.about-fact .fact-icon-diamond{
  stroke-width:1.65;
}

.equipment-machine-image{
  background:#f6f5f1 !important;
  overflow:hidden;
}

.equipment-machine-image img{
  display:block;
  width:100%;
  height:100%;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center;
  padding:10px;
  background:transparent;
}

@media (max-width:900px){
  .about-portrait-image{
    height:360px;
  }
}

@media (max-width:620px){
  .about-main-media{
    padding:16px 14px 0;
  }

  .about-portrait-image{
    height:300px;
    border-radius:13px;
    object-position:center 18%;
  }

  .about-fact .fact-icon{
    width:25px;
    height:25px;
    flex-basis:25px;
  }

  .equipment-machine-image img{
    padding:6px;
  }
}


/* =========================
   v15 – shared curved hero line
   ========================= */

/* Use the same restrained curved gold line style as on "Über mich" */
.hero-curved-line{
  position:relative;
  overflow:hidden;
}

.hero-curved-line::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-145px;
  width:470px;
  height:470px;
  border:2px solid rgba(213,163,58,.7);
  border-radius:50%;
  transform:skewX(-18deg);
  pointer-events:none;
}

.hero-curved-line .container{
  position:relative;
  z-index:1;
}

@media (max-width:620px){
  .hero-curved-line::after{
    width:290px;
    height:290px;
    right:-110px;
    bottom:-105px;
  }
}


/* =========================
   v16 – index process section + mobile CTA icons
   ========================= */

.process-panel h2{
  text-align:center;
  margin-bottom:18px;
}

.process-icons{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
}

.process-icon-wrap{
  display:flex;
  justify-content:center;
}

.process-icon-circle{
  width:56px;
  height:56px;
  border-radius:50%;
  background:#f5f0e7;
  border:1px solid #ebe4d6;
  display:grid;
  place-items:center;
  color:#171717;
}

.process-icon-circle svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:#171717;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.process-connector{
  height:0;
  border-top:2px dotted #ddd4c5;
  transform:translateY(-1px);
}

.steps-process{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.steps-process .step{
  text-align:left;
}

.steps-process .step-num{
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  color:var(--gold);
  display:block;
  margin:0 0 6px;
  font-size:1.8rem;
  line-height:1;
  font-weight:900;
}

.steps-process .step h3{
  font-size:.98rem;
  line-height:1.28;
  margin:0 0 7px;
}

.steps-process .step p{
  font-size:.87rem;
  line-height:1.55;
  color:#5f5f59;
}

.mobile-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.mobile-cta-logo{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
  filter:brightness(0) invert(1);
}

.mobile-cta-icon{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

.mobile-cta-btn span{
  display:inline-block;
}

.mobile-cta-btn-mail{
  color:var(--gold);
  border-color:#7e6220;
}

@media (max-width: 900px){
  .process-icon-circle{
    width:52px;
    height:52px;
  }

  .steps-process{
    gap:14px;
  }

  .steps-process .step h3{
    font-size:.92rem;
  }

  .steps-process .step p{
    font-size:.82rem;
  }
}

@media (max-width: 620px){
  .process-panel h2{
    margin-bottom:14px;
  }

  .process-icons{
    display:none;
  }

  .steps-process{
    grid-template-columns:1fr;
    gap:14px;
  }

  .steps-process .step{
    padding-bottom:12px;
    border-bottom:1px solid #ece6da;
  }

  .steps-process .step:last-child{
    padding-bottom:0;
    border-bottom:none;
  }

  .steps-process .step-num{
    font-size:1.5rem;
    margin-bottom:4px;
  }

  .steps-process .step h3{
    font-size:.92rem;
    margin-bottom:5px;
  }

  .steps-process .step p{
    font-size:.8rem;
    line-height:1.48;
  }

  .mobile-cta{
    gap:10px;
    padding:10px 12px;
  }

  .mobile-cta .btn{
    min-height:52px;
    padding:0 12px;
    font-size:.92rem;
    border-radius:14px;
  }

  .mobile-cta-logo{
    width:20px;
    height:20px;
  }

  .mobile-cta-icon{
    width:19px;
    height:19px;
  }
}


/* =========================
   v17 – refined process + reliable mobile footer icons
   ========================= */

/* ---------- So funktioniert's ---------- */

.process-panel{
  padding:26px 28px 24px;
}

.process-heading{
  text-align:center;
  margin-bottom:22px;
}

.process-heading h2{
  margin:0;
  font-size:1.55rem;
  letter-spacing:-.03em;
}

.process-heading-rule{
  width:32px;
  height:2px;
  background:var(--gold);
  margin:9px auto 0;
  border-radius:2px;
}

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

.process-step{
  min-width:0;
}

.process-step-top{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  margin-bottom:10px;
}

.process-icon-circle{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  background:#f4efe5;
  border:1px solid #ebe2d2;
  display:grid;
  place-items:center;
  color:#171717;
}

.process-icon-circle svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.process-line{
  flex:1;
  min-width:26px;
  border-top:2px dotted #ded6c8;
  opacity:.9;
}

.process-step-title{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-height:44px;
  margin-bottom:5px;
}

.process-number{
  color:var(--gold);
  font-size:1.6rem;
  line-height:1;
  font-weight:900;
  flex:0 0 auto;
}

.process-step h3{
  margin:0;
  font-size:.93rem;
  line-height:1.3;
  letter-spacing:-.01em;
}

.process-step p{
  margin:0;
  padding-left:30px;
  color:#63635d;
  font-size:.81rem;
  line-height:1.52;
}

/* ---------- Mobile fixed CTA ---------- */

.mobile-cta-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
}

.mobile-cta-icon{
  display:block;
  width:21px;
  height:21px;
  flex:0 0 21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mobile-cta-btn span{
  display:inline-block;
  line-height:1;
}

.mobile-cta-btn.btn-whatsapp{
  color:#fff;
}

.mobile-cta-whatsapp-icon{
  color:#fff;
}

.mobile-cta-btn-mail{
  color:#f3f3ef;
  border-color:#8b6b20;
}

.mobile-cta-mail-icon{
  color:var(--gold-2);
}

@media (max-width:900px){
  .process-panel{
    padding:24px 22px 22px;
  }

  .process-flow{
    gap:18px;
  }

  .process-icon-circle{
    width:50px;
    height:50px;
    flex-basis:50px;
  }

  .process-step h3{
    font-size:.88rem;
  }

  .process-step p{
    font-size:.76rem;
  }
}

@media (max-width:620px){
  .process-panel{
    padding:20px 14px 18px;
  }

  .process-heading{
    margin-bottom:17px;
  }

  .process-heading h2{
    font-size:1.25rem;
  }

  .process-flow{
    grid-template-columns:repeat(3,1fr);
    gap:9px;
  }

  .process-step-top{
    gap:7px;
    min-height:46px;
    margin-bottom:7px;
  }

  .process-icon-circle{
    width:43px;
    height:43px;
    flex-basis:43px;
  }

  .process-icon-circle svg{
    width:20px;
    height:20px;
  }

  .process-line{
    min-width:8px;
    border-top-width:1.5px;
  }

  .process-step-title{
    display:block;
    min-height:62px;
    margin-bottom:4px;
  }

  .process-number{
    display:block;
    font-size:1.32rem;
    margin-bottom:3px;
  }

  .process-step h3{
    font-size:.72rem;
    line-height:1.25;
  }

  .process-step p{
    padding-left:0;
    font-size:.64rem;
    line-height:1.42;
  }

  .mobile-cta{
    gap:9px !important;
    padding:9px 11px !important;
  }

  .mobile-cta .btn{
    min-height:50px !important;
    padding:0 11px !important;
    border-radius:12px !important;
    font-size:.9rem !important;
  }

  .mobile-cta-icon{
    width:20px;
    height:20px;
    flex-basis:20px;
  }
}

@media (max-width:390px){
  .process-step p{
    font-size:.61rem;
  }

  .process-step h3{
    font-size:.69rem;
  }

  .mobile-cta .btn{
    font-size:.84rem !important;
    padding:0 8px !important;
  }

  .mobile-cta-icon{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
}


/* =========================
   v18 – refined process/mobile icons
   ========================= */

.process-icon-circle{
  position:relative;
}

.process-icon-circle svg{
  display:block;
  width:24px;
  height:24px;
  margin:auto;
  overflow:visible;
  shape-rendering:geometricPrecision;
  transform:translateZ(0);
}

.process-step:nth-child(1) .process-icon-circle svg{
  width:23px;
  height:23px;
  transform:translate(-.5px, .5px);
}

.process-step:nth-child(2) .process-icon-circle svg{
  width:25px;
  height:25px;
  transform:translate(.3px, .1px);
}

.process-step:nth-child(3) .process-icon-circle svg{
  width:23px;
  height:23px;
  transform:translate(.2px, 0);
}

.mobile-cta-whatsapp-icon{
  width:20px;
  height:20px;
  transform:translateY(.2px);
}

.mobile-cta-mail-icon{
  width:19px;
  height:19px;
}

@media (max-width:620px){
  .process-icon-circle svg{
    width:21px;
    height:21px;
  }

  .process-step:nth-child(1) .process-icon-circle svg{
    width:20px;
    height:20px;
  }

  .process-step:nth-child(2) .process-icon-circle svg{
    width:22px;
    height:22px;
  }

  .process-step:nth-child(3) .process-icon-circle svg{
    width:20px;
    height:20px;
  }

  .mobile-cta-whatsapp-icon{
    width:19px;
    height:19px;
  }

  .mobile-cta-mail-icon{
    width:18px;
    height:18px;
  }
}


/* =========================
   v19 – Zubehör Produktbilder
   ========================= */

.accessory-image-placeholder.has-product-image{
  background:#fff;
  border:1px solid #e3e0d8;
  padding:8px;
}

.accessory-product-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

@media (max-width:620px){
  .accessory-image-placeholder.has-product-image{
    padding:5px;
  }
}


/* =========================
   v20 – feste Produktbild-Dateinamen
   ========================= */

.string-image-placeholder.has-product-image,
.accessory-image-placeholder.has-product-image{
  background:#fff;
  border:1px solid #e1ded6;
  padding:8px;
  overflow:hidden;
}

.string-product-image,
.accessory-product-image{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}

@media (max-width:620px){
  .string-image-placeholder.has-product-image,
  .accessory-image-placeholder.has-product-image{
    padding:5px;
  }
}


/* =========================
   Saiten & Preise – heller Katalog v7
   ========================= */

.strings-price-section{
  padding:34px 0 30px;
}

.strings-price-section .strings-price-overview{
  margin-bottom:0;
}

.strings-light-catalog{
  background:var(--light);
  color:var(--ink);
  padding-top:46px;
}

.strings-light-intro{
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:flex-end;
  margin-bottom:10px;
}

.strings-light-intro h2{
  margin:.15em 0 0;
  font-size:2rem;
  letter-spacing:-.035em;
}

.strings-light-intro > p{
  max-width:520px;
  margin:0;
  color:#686862;
  font-size:.92rem;
}

.strings-light-catalog .catalog-toolbar{
  margin:24px 0 26px;
  align-items:flex-end;
}

.strings-light-catalog .catalog-toolbar .eyebrow{
  color:#8d6818;
}

.strings-light-catalog .catalog-note{
  color:#777771;
}

.strings-light-catalog .catalog-note strong{
  color:#262622;
}

.strings-light-catalog .filter{
  background:#fff;
  color:#343430;
  border:1px solid #dad8d1;
  box-shadow:0 2px 8px rgba(0,0,0,.025);
}

.strings-light-catalog .filter:hover{
  border-color:#c9b16c;
  background:#fffdf8;
}

.strings-light-catalog .filter.active{
  background:var(--gold);
  border-color:var(--gold);
  color:#17130a;
  box-shadow:none;
}

.strings-light-catalog .string-card{
  background:#fff;
  color:#171717;
  border:1px solid #dddcd7;
  box-shadow:0 8px 26px rgba(0,0,0,.04);
}

.strings-light-catalog .string-card-full:hover{
  transform:translateY(-2px);
  border-color:#c9b16c;
  box-shadow:0 12px 30px rgba(0,0,0,.07);
}

.strings-light-catalog .string-image-placeholder,
.strings-light-catalog .string-image-placeholder.has-product-image{
  background:#fff;
  border-color:#e2e0da;
}

.strings-light-catalog .string-brand{
  color:#9a701b;
}

.strings-light-catalog .string-card-full h3{
  color:#171717;
}

.strings-light-catalog .string-description{
  color:#62625d;
}

.strings-light-catalog .string-specs small{
  color:#85857f;
}

.strings-light-catalog .string-specs strong{
  color:#3f3f3a;
}

.strings-light-catalog .string-bottom{
  border-top-color:#e5e3dd;
}

.strings-light-catalog .string-price small{
  color:#7d7d77;
}

.strings-light-catalog .string-price strong{
  color:#171717;
}

.strings-light-catalog .string-request-link{
  color:#8d6818;
}

.strings-light-catalog .string-request-link:hover{
  color:#5d430d;
}

.strings-light-catalog .tag{
  background:#fffaf0;
  color:#8d6818;
  border-color:#d9bc72;
}

.strings-light-catalog .manufacturer-note{
  max-width:820px;
  margin:30px auto 0;
  background:#fff;
  color:#686862;
  border:1px solid #dddcd7;
  box-shadow:0 5px 18px rgba(0,0,0,.025);
}

.strings-light-catalog .manufacturer-note strong{
  color:#222;
}

@media (max-width:900px){
  .strings-light-intro{
    display:block;
  }

  .strings-light-intro > p{
    margin-top:10px;
  }
}

@media (max-width:620px){
  .strings-price-section{
    padding:24px 0 22px;
  }

  .strings-light-catalog{
    padding-top:34px;
  }

  .strings-light-intro h2{
    font-size:1.45rem;
  }

  .strings-light-intro > p{
    font-size:.84rem;
    line-height:1.5;
  }

  .strings-light-catalog .catalog-toolbar{
    margin-top:20px;
  }

  .strings-light-catalog .string-card{
    box-shadow:0 5px 18px rgba(0,0,0,.035);
  }
}


/* =========================
   Saitenbilder formatfüllend – v8
   ========================= */

.strings-light-catalog .string-image-placeholder,
.strings-light-catalog .string-image-placeholder.has-product-image{
  padding:0 !important;
  overflow:hidden;
  background:#ffffff;
}

.strings-light-catalog .string-product-image,
.strings-light-catalog .string-image-placeholder img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover !important;
  object-position:center center;
}

/* falls Karten in anderen Varianten ebenfalls die Produktbilder nutzen */
.string-image-placeholder.has-product-image{
  padding:0;
  overflow:hidden;
}

.string-image-placeholder.has-product-image img,
.string-product-image{
  display:block;
  width:100%;
  height:100%;
}

@media (max-width:620px){
  .strings-light-catalog .string-image-placeholder,
  .strings-light-catalog .string-image-placeholder.has-product-image{
    padding:0 !important;
  }
}


/* =========================
   v9 – Zubehör formatfüllend + Saiten-Lightbox
   ========================= */

/* Zubehörbilder ebenfalls ohne weißen Innenrand */
.accessory-image-placeholder,
.accessory-image-placeholder.has-product-image{
  padding:0 !important;
  overflow:hidden;
}

.accessory-image-placeholder .accessory-product-image,
.accessory-image-placeholder.has-product-image .accessory-product-image,
.accessory-image-placeholder img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center center;
}

/* Saitenbild als interaktives Element */
.string-lightbox-trigger{
  cursor:zoom-in;
  position:relative;
}

.string-lightbox-trigger::after{
  content:"＋";
  position:absolute;
  right:8px;
  bottom:8px;
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(10,10,10,.76);
  color:#fff;
  font-size:.85rem;
  line-height:1;
  opacity:0;
  transition:opacity .18s ease;
}

.string-lightbox-trigger:hover::after,
.string-lightbox-trigger:focus-visible::after{
  opacity:1;
}

body.lightbox-open{
  overflow:hidden;
}

.product-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:999;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.product-lightbox.open{
  display:flex;
}

.product-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(6px);
}

.product-lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(820px, 94vw);
  max-height:92vh;
  background:#fff;
  color:#171717;
  border-radius:18px;
  padding:18px;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}

.product-lightbox-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:2px 42px 12px 2px;
}

.product-lightbox-head strong{
  font-size:1rem;
}

.product-lightbox-head span{
  color:#777770;
  font-size:.78rem;
  white-space:nowrap;
}

.product-lightbox-close{
  position:absolute;
  right:13px;
  top:10px;
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#222;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}

.product-lightbox-stage{
  position:relative;
  min-height:420px;
  max-height:72vh;
  border-radius:13px;
  background:#f5f4f0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.product-lightbox-stage img{
  display:block;
  width:100%;
  height:100%;
  max-height:72vh;
  object-fit:contain;
}

.product-lightbox-nav{
  position:absolute;
  z-index:2;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(12,12,12,.72);
  color:#fff;
  font-size:1.7rem;
  cursor:pointer;
}

.product-lightbox-prev{ left:12px; }
.product-lightbox-next{ right:12px; }

.product-lightbox-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:11px;
}

.product-lightbox-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d5d2ca;
}

.product-lightbox-dots span.active{
  background:var(--gold);
}

.product-lightbox-hint{
  margin:7px 0 0;
  text-align:center;
  color:#85857e;
  font-size:.72rem;
}

@media (max-width:620px){
  .accessory-image-placeholder,
  .accessory-image-placeholder.has-product-image{
    padding:0 !important;
  }

  .string-lightbox-trigger::after{
    opacity:.8;
    width:23px;
    height:23px;
    right:5px;
    bottom:5px;
  }

  .product-lightbox{
    padding:12px;
  }

  .product-lightbox-dialog{
    width:100%;
    padding:12px;
    border-radius:15px;
  }

  .product-lightbox-stage{
    min-height:300px;
    max-height:70vh;
  }

  .product-lightbox-stage img{
    max-height:70vh;
  }

  .product-lightbox-nav{
    width:38px;
    height:38px;
  }
}


/* =========================
   v10 – Zubehör Lightbox + gleiche Bildinteraktion
   ========================= */

.product-lightbox-trigger{
  cursor:zoom-in;
  position:relative;
}

.product-lightbox-trigger::after{
  content:"＋";
  position:absolute;
  right:8px;
  bottom:8px;
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(10,10,10,.76);
  color:#fff;
  font-size:.85rem;
  line-height:1;
  opacity:0;
  transition:opacity .18s ease;
}

.product-lightbox-trigger:hover::after,
.product-lightbox-trigger:focus-visible::after{
  opacity:1;
}

@media (max-width:620px){
  .product-lightbox-trigger::after{
    opacity:.8;
    width:23px;
    height:23px;
    right:5px;
    bottom:5px;
  }
}


/* =========================
   v11 – Lightbox / Desktop WhatsApp / Kontakt Cleanup
   ========================= */

.btn-with-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}

.desktop-whatsapp-icon{
  width:20px;
  height:20px;
  display:block;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.btn-with-icon span{
  line-height:1;
}

/* Lightbox hint intentionally removed */
.product-lightbox-hint{
  display:none !important;
}


/* =========================
   v12 – offizielles WhatsApp Click-to-Chat Bild
   ========================= */

.whatsapp-official-button{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  min-height:auto !important;
  line-height:0;
}

.whatsapp-official-button:hover{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}

.whatsapp-official-img{
  display:block;
  width:auto;
  height:40px;
  max-width:100%;
}

.desktop-whatsapp-official{
  align-self:center;
}

.desktop-whatsapp-official .whatsapp-official-img{
  height:44px;
}

.mobile-cta .mobile-whatsapp-official{
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  padding:0 !important;
}

.mobile-cta .mobile-whatsapp-official .whatsapp-official-img{
  height:38px;
  max-width:100%;
}

@media (max-width:620px){
  .mobile-cta .mobile-whatsapp-official .whatsapp-official-img{
    height:34px;
  }
}


/* =========================
   v13 – mobile CTA Buttons gleich groß
   ========================= */

@media (max-width:620px){
  .mobile-cta{
    grid-template-columns:1fr 1fr;
    align-items:stretch;
  }

  .mobile-cta > a{
    width:100%;
    height:52px;
    min-height:52px !important;
    box-sizing:border-box;
    border-radius:12px !important;
  }

  .mobile-cta .mobile-whatsapp-official{
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:0 10px !important;
    background:#25D366 !important;
    border:1px solid #25D366 !important;
    line-height:1;
  }

  .mobile-cta .mobile-whatsapp-official .whatsapp-official-img{
    display:block;
    width:auto;
    height:34px;
    max-width:100%;
    object-fit:contain;
  }

  .mobile-cta .mobile-cta-btn-mail{
    display:flex !important;
    align-items:center;
    justify-content:center;
    height:52px;
    min-height:52px !important;
  }
}


/* =========================
   v14 – Startseite Panels gleiche Höhe
   ========================= */

/* Nur solange die beiden Bereiche nebeneinander stehen */
@media (min-width:901px){
  .split-row{
    align-items:stretch;
  }

  .split-row > .panel{
    height:100%;
  }
}

/* Sobald das Layout untereinander läuft, wieder natürliche Höhe */
@media (max-width:900px){
  .split-row > .panel{
    height:auto;
  }
}


/* =========================
   v15 – Link im Preis-Panel vertikal ausbalanciert
   ========================= */

@media (min-width:901px){
  .split-row > .panel:first-child{
    display:flex;
    flex-direction:column;
  }

  .split-row > .panel:first-child .inline-link{
    margin-top:auto;
    margin-bottom:auto;
    transform:translateY(6px);
  }
}

/* Untereinander bleibt die bisherige natürliche Anordnung erhalten */
@media (max-width:900px){
  .split-row > .panel:first-child{
    display:block;
  }

  .split-row > .panel:first-child .inline-link{
    margin-top:18px;
    margin-bottom:0;
    transform:none;
  }
}


/* =========================
   v16 – "So funktioniert's" Icons zentriert
   ========================= */

.process-step-top{
  justify-content:center !important;
  min-height:auto;
  margin-bottom:12px;
}

.process-step-top .process-line{
  display:none !important;
}

.process-icon-circle{
  margin:0 auto;
}

@media (max-width:620px){
  .process-step-top{
    margin-bottom:9px;
  }
}


/* =========================
   v17 – "So funktioniert's" zentriert + gepunktete Linien
   ========================= */

.process-step-top{
  position:relative;
  justify-content:center !important;
  min-height:58px;
  margin-bottom:12px;
}

.process-icon-circle{
  margin:0 auto;
  position:relative;
  z-index:2;
}

.process-step-top .process-line{
  display:block !important;
  position:absolute;
  top:50%;
  left:calc(50% + 27px);
  right:-12px;
  transform:translateY(-50%);
  border-top:2px dotted #ded6c8;
  opacity:.95;
  z-index:1;
  min-width:0;
}

/* Beim letzten Schritt keine Verbindungslinie */
.process-step:last-child .process-step-top .process-line{
  display:none !important;
}

@media (max-width:900px){
  .process-step-top{
    min-height:54px;
  }

  .process-step-top .process-line{
    left:calc(50% + 25px);
    right:-10px;
  }
}

@media (max-width:620px){
  .process-step-top{
    min-height:46px;
    margin-bottom:9px;
  }

  .process-step-top .process-line{
    left:calc(50% + 21.5px);
    right:-6px;
    border-top-width:1.5px;
  }
}

@media (max-width:390px){
  .process-step-top .process-line{
    right:-4px;
  }
}


/* =========================
   v18 – "So funktioniert's" Linien wirklich von Icon zu Icon
   ========================= */

/* Überschreibt die vorherige v17-Linienlogik */
.process-step-top{
  position:relative;
  justify-content:center !important;
  overflow:visible;
}

.process-step-top .process-line{
  display:block !important;
  position:absolute;
  top:50%;
  left:calc(50% + 27px);
  width:calc(100% + 24px - 54px);
  min-width:0;
  right:auto;
  transform:translateY(-50%);
  border-top:2px dotted #ded6c8;
  opacity:.95;
  z-index:1;
}

.process-icon-circle{
  position:relative;
  z-index:2;
}

/* Letzter Schritt ohne auslaufende Linie */
.process-step:last-child .process-step-top .process-line{
  display:none !important;
}

@media (max-width:900px){
  .process-step-top .process-line{
    left:calc(50% + 25px);
    width:calc(100% + 18px - 50px);
  }
}

@media (max-width:620px){
  .process-step-top .process-line{
    left:calc(50% + 21.5px);
    width:calc(100% + 9px - 43px);
    border-top-width:1.5px;
  }
}

/* =========================================================
   FINAL POLISH – Desktop + Mobile
   ========================================================= */

.strings-light-catalog .string-list-catalog,.accessory-grid{gap:16px}
.strings-light-catalog .string-card-full,.accessory-card{background:#fff;color:#171717;border:1px solid #dddcd7;border-radius:16px;padding:12px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:stretch;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.strings-light-catalog .string-card-full:hover,.accessory-card:hover{transform:translateY(-2px);border-color:#c9b16c;box-shadow:0 12px 30px rgba(0,0,0,.07)}
.strings-light-catalog .string-image-placeholder,.strings-light-catalog .string-image-placeholder.has-product-image,.accessory-image-placeholder,.accessory-image-placeholder.has-product-image{width:132px;height:132px;min-height:132px;border-radius:12px;border:1px solid #e2e0da;background:#fff;padding:0!important;overflow:hidden}
.strings-light-catalog .string-product-image,.strings-light-catalog .string-image-placeholder img,.accessory-product-image,.accessory-image-placeholder img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center}
.string-card-content,.accessory-content{min-width:0;display:flex;flex-direction:column}
.strings-light-catalog .string-card-full h3,.accessory-content h3{margin:2px 0 4px;font-size:1.06rem;line-height:1.18;letter-spacing:-.02em;color:#171717}
.strings-light-catalog .string-brand,.accessory-card .string-brand{margin-bottom:4px;font-size:.64rem;color:#9a701b}
.strings-light-catalog .string-card-full .string-bottom,.accessory-footer{margin-top:auto;padding-top:10px;border-top:1px solid #e5e3dd;min-height:44px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.strings-light-catalog .string-price strong,.accessory-price-box strong{color:#171717;font-size:1.08rem}
.strings-light-catalog .string-request-link,.accessory-card .string-request-link{color:#8d6818;white-space:nowrap;font-size:.76rem;line-height:1.25;font-weight:800}
.strings-light-catalog .string-request-link:hover,.accessory-card .string-request-link:hover{color:#5d430d}

.product-lightbox-trigger::after{content:none!important}
.zoom-indicator{position:absolute;right:7px;bottom:7px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:rgba(10,10,10,.78);color:#fff;opacity:0;transition:opacity .18s ease,transform .18s ease;pointer-events:none;z-index:4}
.zoom-indicator svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-lightbox-trigger:hover .zoom-indicator,.product-lightbox-trigger:focus-visible .zoom-indicator{opacity:1;transform:scale(1.03)}
.product-lightbox-close{width:44px;height:44px;right:8px;top:5px;display:grid;place-items:center;border-radius:50%}
.product-lightbox-head{min-height:42px;padding-right:48px}
.product-lightbox-dots{min-height:7px}
.product-lightbox-nav{transition:opacity .18s ease,background .18s ease}

@media (min-width:621px){.process-step-title{min-height:56px}.process-step p{min-height:48px}}

.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.equipment-card,.equipment-card-machine,.equipment-card-materials{display:grid;grid-template-columns:128px minmax(0,1fr);gap:0!important;padding:0!important;min-height:156px;height:100%;align-items:stretch;overflow:hidden;border:1px solid #dddcd7;border-radius:15px;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.035)}
.equipment-card .equipment-visual,.equipment-card-machine .equipment-machine-image,.equipment-card-materials .equipment-material-visual{width:128px;min-width:128px;max-width:128px;min-height:156px;height:100%;margin:0;padding:8px;box-sizing:border-box;background:#f7f6f2;border-right:1px solid #e6e4de;display:flex;align-items:center;justify-content:center;overflow:hidden}
.equipment-machine-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform:scale(1.2)}
.equipment-card-copy,.equipment-card-materials>div:last-child{min-width:0;padding:13px 16px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.equipment-material-icon{width:86px;height:86px;margin:0;border-radius:20px;background:#fff;border:1px solid #e8e1d5;display:grid;place-items:center}
.equipment-material-icon svg{width:54px;height:54px;fill:none;stroke:var(--gold);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.equipment-card .string-brand{font-size:.71rem;line-height:1.1;margin-bottom:4px}.equipment-card h3{font-size:1.07rem;line-height:1.18;margin:1px 0 6px}.equipment-card p{font-size:.81rem;line-height:1.38}.equipment-points{margin-top:9px;gap:4px 12px}.equipment-points span{font-size:.68rem;line-height:1.2}.equipment-points svg{width:15px;height:15px}.equipment-link{margin-top:9px;font-size:.77rem;line-height:1.2}

.form-delivery-note{grid-column:1/-1;margin:10px 0 0;padding:10px 12px;border:1px solid #3b382e;border-radius:10px;background:#13120f;color:#aaa79e;font-size:.72rem;line-height:1.45}

@media (max-width:900px){
.strings-light-catalog .string-card-full,.accessory-card{grid-template-columns:120px minmax(0,1fr);gap:14px}
.strings-light-catalog .string-image-placeholder,.strings-light-catalog .string-image-placeholder.has-product-image,.accessory-image-placeholder,.accessory-image-placeholder.has-product-image{width:120px;height:120px;min-height:120px}
.equipment-grid{grid-template-columns:1fr}.equipment-card,.equipment-card-machine,.equipment-card-materials{grid-template-columns:126px minmax(0,1fr);min-height:154px}.equipment-card .equipment-visual,.equipment-card-machine .equipment-machine-image,.equipment-card-materials .equipment-material-visual{width:126px;min-width:126px;max-width:126px;min-height:154px}}

@media (max-width:620px){
html{scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}body{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.mobile-cta{bottom:0;padding:9px 11px calc(9px + env(safe-area-inset-bottom))!important}.mobile-cta>a{height:52px;min-height:52px!important}
.strings-light-catalog .string-card-full,.accessory-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px;border-radius:14px}.strings-light-catalog .string-image-placeholder,.strings-light-catalog .string-image-placeholder.has-product-image,.accessory-image-placeholder,.accessory-image-placeholder.has-product-image{width:96px;height:96px;min-height:96px;border-radius:10px}
.strings-light-catalog .string-card-full h3,.accessory-content h3{font-size:.98rem}.strings-light-catalog .string-specs strong{font-size:.76rem}.strings-light-catalog .string-card-full .string-bottom,.accessory-footer{min-height:40px;padding-top:8px}.strings-light-catalog .string-request-link,.accessory-card .string-request-link{font-size:.72rem}
.zoom-indicator{opacity:.9;width:28px;height:28px;right:5px;bottom:5px}.product-lightbox{padding:10px}.product-lightbox-dialog{padding:10px}.product-lightbox-close{width:44px;height:44px;right:4px;top:2px}.product-lightbox-nav{width:34px;height:34px;opacity:.62;font-size:1.45rem}.product-lightbox-prev{left:7px}.product-lightbox-next{right:7px}
.equipment-card,.equipment-card-machine,.equipment-card-materials{grid-template-columns:1fr;min-height:0}.equipment-card .equipment-visual,.equipment-card-machine .equipment-machine-image,.equipment-card-materials .equipment-material-visual{width:100%;min-width:0;max-width:none;min-height:145px;border-right:none;border-bottom:1px solid #e6e4de}.equipment-machine-image img{transform:scale(1.12);max-height:132px}.equipment-card-copy,.equipment-card-materials>div:last-child{padding:16px 16px 18px}.equipment-card h3{font-size:1.02rem}.equipment-card p{font-size:.79rem}}

@media (max-width:360px){.mobile-cta{gap:7px!important;padding-left:8px!important;padding-right:8px!important}.mobile-cta .mobile-whatsapp-official .whatsapp-official-img{max-width:135px;height:auto}.mobile-cta .mobile-cta-btn-mail{padding-left:7px!important;padding-right:7px!important;font-size:.8rem!important}}



/* =========================================================
   v12 – Startseite: Werkstatt / Über mich auf Containerbreite
   ========================================================= */

.home-about-section{
  background:#fff;
  color:#171717;
  padding:0 0 46px;
}

.home-about{
  width:100%;
  margin:0;
  border:1px solid #e2e0da;
  border-radius:16px;
  overflow:hidden;
}

.home-about .about-media{
  min-width:0;
}

.home-about .about-copy{
  min-width:0;
}

@media (max-width:900px){
  .home-about-section{
    padding-bottom:36px;
  }
}

@media (max-width:620px){
  .home-about-section{
    padding:0 0 26px;
  }

  .home-about{
    border-radius:14px;
  }
}


/* =========================================================
   v16 – Startseite: sauberer Zwei-Spalten-Hero
   ========================================================= */

/*
  Der Hero verwendet exakt denselben .container wie alle Inhaltsbereiche
  darunter. Dadurch ist die rechte Bildkante automatisch an derselben
  globalen Maximalbreite ausgerichtet.
*/
.hero{
  min-height:560px;
  position:relative;
  overflow:hidden;
  background:#050505;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 60%);
  pointer-events:none;
  z-index:0;
}

.hero .container.hero-grid{
  position:relative;
  z-index:2;
  min-height:560px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 455px);
  column-gap:36px;
  align-items:stretch;
}

/* Linker Bereich bewusst unverändert dimensioniert */
.hero-copy{
  max-width:640px;
  padding:76px 0 84px;
  align-self:center;
  position:relative;
  z-index:2;
}

/* Rechte Spalte – endet exakt an der rechten .container-Kante */
.hero-media{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  min-height:560px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
}

/* Keine zusätzlichen Hintergründe / Halos */
.hero-media::before,
.hero-media::after{
  content:none;
  display:none;
}

.hero-photo{
  position:relative;
  display:block;
  width:min(100%, 430px);
  max-width:430px;
  max-height:545px;
  height:auto;
  margin:0;
  object-fit:contain;
  object-position:right bottom;
  transform:none;
  filter:drop-shadow(0 22px 32px rgba(0,0,0,.38));
}

/* Große Desktops: etwas mehr Bild, Textblock bleibt exakt gleich */
@media (min-width:1200px){
  .hero .container.hero-grid{
    grid-template-columns:minmax(0, 1fr) minmax(380px, 480px);
    column-gap:44px;
  }

  .hero-photo{
    width:min(100%, 455px);
    max-width:455px;
    max-height:565px;
  }
}

/*
  Unterhalb dieser Breite wird die Bildspalte schmaler,
  bevor das bestehende Mobile-Verhalten greift.
*/
@media (min-width:901px) and (max-width:1080px){
  .hero .container.hero-grid{
    grid-template-columns:minmax(0, 1fr) minmax(300px, 360px);
    column-gap:28px;
  }

  .hero-photo{
    width:min(100%, 355px);
    max-width:355px;
  }
}

/* Tablet: bestehendes Prinzip – Portrait dezent hinter dem Text */
@media (max-width:900px){
  .hero{
    min-height:auto;
  }

  .hero .container.hero-grid{
    min-height:auto;
    display:block;
  }

  .hero-copy{
    padding:72px 0 42px;
    max-width:100%;
    position:relative;
    z-index:2;
  }

  .hero-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    justify-content:flex-end;
    opacity:.20;
    z-index:1;
  }

  .hero-photo{
    width:56%;
    max-width:none;
    max-height:none;
    height:100%;
    margin-left:auto;
    object-fit:contain;
    object-position:right bottom;
  }
}

@media (max-width:620px){
  .hero-copy{
    padding-top:58px;
  }

  .hero-media{
    opacity:.13;
  }

  .hero-photo{
    width:72%;
  }
}


/* =========================================================
   v18 – Angedeuteter goldener Tennisplatz hinter dem Portrait
   ========================================================= */

@media (min-width:901px){
  .hero-media{
    isolation:isolate;
    overflow:visible;
  }

  .hero-media::before{
    content:"" !important;
    display:block !important;
    position:absolute;
    z-index:0;
    pointer-events:none;

    /* bewusst größer als die Portrait-Spalte, damit die Linien
       wie im Mock-up leicht nach links auslaufen */
    width:185%;
    height:100%;
    right:-4%;
    bottom:-2%;

    background-image:url("images/hero-tennis-court-gold.png");
    background-repeat:no-repeat;
    background-position:right center;
    background-size:contain;

    opacity:.54;
  }

  .hero-photo{
    position:relative;
    z-index:2;
  }
}

@media (min-width:1200px){
  .hero-media::before{
    width:195%;
    right:-3%;
    opacity:.56;
  }
}

@media (max-width:900px){
  .hero-media::before{
    content:"" !important;
    display:block !important;
    position:absolute;
    inset:0;
    z-index:0;
    background:url("images/hero-tennis-court-gold.png") right center / contain no-repeat;
    opacity:.32;
    pointer-events:none;
  }

  .hero-photo{
    position:relative;
    z-index:2;
  }
}

@media (max-width:620px){
  .hero-media::before{
    opacity:.22;
    background-position:75% center;
  }
}


/* =========================================================
   v21 – Tablet/Mobile: Tennisplatz statt Portrait im Hero
   ========================================================= */

/*
  Sobald das Zwei-Spalten-Layout bei <= 900px aufgelöst wird,
  wird das Portrait vollständig entfernt. Der Tennisplatz bleibt
  als ruhiges Hintergrundmotiv hinter dem Text bestehen.
*/
@media (max-width:900px){
  .hero-media{
    opacity:1 !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    pointer-events:none;
    z-index:1;
  }

  .hero-photo{
    display:none !important;
  }

  .hero-media::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    background-image:url("images/hero-tennis-court-gold.png") !important;
    background-repeat:no-repeat !important;
    background-position:right center !important;
    background-size:cover !important;
    opacity:.16 !important;
    z-index:0;
  }

  /* zusätzlicher dunkler Verlauf für maximale Textlesbarkeit */
  .hero-media::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(
      90deg,
      rgba(5,5,5,.96) 0%,
      rgba(5,5,5,.82) 38%,
      rgba(5,5,5,.42) 70%,
      rgba(5,5,5,.18) 100%
    ) !important;
    z-index:1;
  }

  .hero-copy{
    position:relative;
    z-index:3;
  }
}

@media (max-width:620px){
  .hero-media::before{
    background-position:68% center !important;
    opacity:.13 !important;
  }

  .hero-media::after{
    background:linear-gradient(
      90deg,
      rgba(5,5,5,.98) 0%,
      rgba(5,5,5,.88) 46%,
      rgba(5,5,5,.48) 78%,
      rgba(5,5,5,.24) 100%
    ) !important;
  }
}


/* =========================================================
   v26 – Startseite Werkstattbild
   ========================================================= */
.home-about .about-media{
  background-image:url("images/home-workshop.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

@media (max-width:900px){
  .home-about .about-media{
    background-position:center 46% !important;
  }
}


/* =========================================================
   v29 – Über mich / Equipment mit MetorTune
   ========================================================= */
.equipment-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.equipment-card-metortune .equipment-tuning-image img{
  width:100%;
  max-width:100%;
  max-height:138px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));
}

.equipment-card-metortune .equipment-card-copy p strong{
  color:#1b1b1b;
}

.equipment-card-full{
  grid-column:1 / -1;
}

.equipment-card-full .equipment-material-visual{
  background:linear-gradient(180deg,#f8f7f3 0%, #f4f1ea 100%);
}

.equipment-card-full .equipment-card-copy,
.equipment-card-full > div:last-child{
  padding-right:22px;
}

@media (max-width:900px){
  .equipment-grid{
    grid-template-columns:1fr;
  }
  .equipment-card-full{
    grid-column:auto;
  }
}

@media (max-width:640px){
  .equipment-card-metortune .equipment-tuning-image img{
    max-height:156px;
  }
}


/* =========================================================
   v30 – Equipment-Layout 2/3 + 1/3
   ========================================================= */

/*
 Desktop:
 - linke Spalte 2/3: X-Cord oben, MetorTune unten
 - rechte Spalte 1/3: Saiten & Materialien über beide Reihen
*/
.equipment-grid{
  display:grid !important;
  grid-template-columns:minmax(0,2fr) minmax(270px,1fr) !important;
  grid-template-rows:auto auto;
  gap:16px !important;
  align-items:stretch;
}

.equipment-card-machine{
  grid-column:1;
  grid-row:1;
}

.equipment-card-metortune{
  grid-column:1;
  grid-row:2;
}

.equipment-card-materials,
.equipment-card-full{
  grid-column:2 !important;
  grid-row:1 / span 2;
}

/* Linke Geräte-Karten: größerer Bildbereich */
.equipment-card-machine,
.equipment-card-metortune{
  display:grid !important;
  grid-template-columns:minmax(230px, 38%) minmax(0,1fr) !important;
  min-height:230px !important;
  height:100%;
}

/* Geräteseite links deutlich größer darstellen */
.equipment-card-machine .equipment-machine-image,
.equipment-card-metortune .equipment-tuning-image{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:230px !important;
  height:100% !important;
  padding:14px !important;
  box-sizing:border-box;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:#f7f6f2;
  border-right:1px solid #e6e4de;
  overflow:hidden;
}

/* X-Cord größer und klar erkennbar */
.equipment-card-machine .equipment-machine-image img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:205px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(1.12) !important;
}

/* MetorTune größer */
.equipment-card-metortune .equipment-tuning-image img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:205px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(1.08);
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.14));
}

/* Textbereiche der linken Geräte-Karten */
.equipment-card-machine .equipment-card-copy,
.equipment-card-metortune .equipment-card-copy{
  padding:20px 22px !important;
}

/* Rechte Material-Karte: kompakt, aber über beide Zeilen */
.equipment-card-materials,
.equipment-card-full{
  display:flex !important;
  flex-direction:column;
  min-height:100% !important;
  height:100%;
  padding:0 !important;
}

.equipment-card-materials .equipment-material-visual,
.equipment-card-full .equipment-material-visual{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:190px !important;
  height:190px !important;
  border-right:none !important;
  border-bottom:1px solid #e6e4de;
  display:flex;
  align-items:center;
  justify-content:center;
}

.equipment-card-materials > div:last-child,
.equipment-card-full > div:last-child{
  flex:1;
  padding:22px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.equipment-card-materials .equipment-material-icon,
.equipment-card-full .equipment-material-icon{
  width:104px !important;
  height:104px !important;
}

.equipment-card-materials .equipment-material-icon svg,
.equipment-card-full .equipment-material-icon svg{
  width:62px !important;
  height:62px !important;
}

/* etwas größere Typografie in den breiteren Geräte-Karten */
.equipment-card-machine h3,
.equipment-card-metortune h3{
  font-size:1.22rem !important;
}

.equipment-card-machine p,
.equipment-card-metortune p{
  font-size:.9rem !important;
  line-height:1.5 !important;
}

.equipment-card-machine .equipment-points span,
.equipment-card-metortune .equipment-points span{
  font-size:.74rem !important;
}

/* Tablet / kleine Browser: alle 3 untereinander */
@media (max-width:980px){
  .equipment-grid{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }

  .equipment-card-machine,
  .equipment-card-metortune,
  .equipment-card-materials,
  .equipment-card-full{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100%;
  }

  .equipment-card-machine,
  .equipment-card-metortune{
    grid-template-columns:minmax(210px,35%) minmax(0,1fr) !important;
    min-height:210px !important;
  }

  .equipment-card-machine .equipment-machine-image,
  .equipment-card-metortune .equipment-tuning-image{
    min-height:210px !important;
  }

  .equipment-card-materials,
  .equipment-card-full{
    display:grid !important;
    grid-template-columns:180px minmax(0,1fr) !important;
    min-height:180px !important;
  }

  .equipment-card-materials .equipment-material-visual,
  .equipment-card-full .equipment-material-visual{
    width:180px !important;
    min-height:180px !important;
    height:100% !important;
    border-right:1px solid #e6e4de !important;
    border-bottom:none !important;
  }
}

/* Mobil: jede Karte volle Breite, Bild jeweils oben */
@media (max-width:620px){
  .equipment-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .equipment-card-machine,
  .equipment-card-metortune,
  .equipment-card-materials,
  .equipment-card-full{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100%;
    min-height:0 !important;
  }

  .equipment-card-machine .equipment-machine-image,
  .equipment-card-metortune .equipment-tuning-image,
  .equipment-card-materials .equipment-material-visual,
  .equipment-card-full .equipment-material-visual{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:190px !important;
    height:190px !important;
    border-right:none !important;
    border-bottom:1px solid #e6e4de !important;
  }

  .equipment-card-machine .equipment-machine-image img,
  .equipment-card-metortune .equipment-tuning-image img{
    max-height:175px !important;
    transform:scale(1.05) !important;
  }

  .equipment-card-machine .equipment-card-copy,
  .equipment-card-metortune .equipment-card-copy,
  .equipment-card-materials > div:last-child,
  .equipment-card-full > div:last-child{
    padding:18px !important;
  }
}


/* =========================================================
   v32 – Equipment Feinschliff ohne neues Materialbild
   ========================================================= */

/* Gerätebilder noch größer innerhalb der vorhandenen Bildrahmen */
.equipment-card-machine,
.equipment-card-metortune{
  grid-template-columns:minmax(260px,42%) minmax(0,1fr) !important;
  min-height:246px !important;
}

.equipment-card-machine .equipment-machine-image,
.equipment-card-metortune .equipment-tuning-image{
  min-height:246px !important;
  padding:10px !important;
}

.equipment-card-machine .equipment-machine-image img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:222px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(1.24) !important;
}

.equipment-card-metortune .equipment-tuning-image img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:222px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:scale(1.18) !important;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.14));
}

/* Textbereiche der beiden Geräte-Karten identisch formatieren */
.equipment-card-machine .equipment-card-copy,
.equipment-card-metortune .equipment-card-copy{
  padding:22px 24px !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
}

.equipment-card-machine .string-brand,
.equipment-card-metortune .string-brand{
  margin-bottom:6px !important;
}

.equipment-card-machine h3,
.equipment-card-metortune h3{
  font-size:1.25rem !important;
  line-height:1.18 !important;
  margin:0 0 10px !important;
}

.equipment-card-machine p,
.equipment-card-metortune p{
  font-size:.92rem !important;
  line-height:1.55 !important;
  margin:0 0 12px !important;
}

.equipment-card-machine p strong,
.equipment-card-metortune p strong{
  font-weight:800 !important;
  color:#1a1a1a !important;
}

/* X-Cord + MetorLab: alle drei Checkpoints konsequent untereinander */
.equipment-card-machine .equipment-points,
.equipment-card-metortune .equipment-points{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin-top:2px !important;
}

.equipment-card-machine .equipment-points span,
.equipment-card-metortune .equipment-points span{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  font-size:.79rem !important;
  line-height:1.35 !important;
}

.equipment-card-machine .equipment-points svg,
.equipment-card-metortune .equipment-points svg{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
  margin-top:1px;
}

/* Materialien-Karte bewusst beim bisherigen Icon belassen */
.equipment-card-materials .equipment-material-visual,
.equipment-card-full .equipment-material-visual{
  background:linear-gradient(180deg,#f8f7f3 0%,#f4f1ea 100%) !important;
}

/* Responsive Anpassungen */
@media (max-width:980px){
  .equipment-card-machine,
  .equipment-card-metortune{
    grid-template-columns:minmax(220px,36%) minmax(0,1fr) !important;
    min-height:224px !important;
  }

  .equipment-card-machine .equipment-machine-image,
  .equipment-card-metortune .equipment-tuning-image{
    min-height:224px !important;
  }

  .equipment-card-machine .equipment-machine-image img{
    max-height:200px !important;
    transform:scale(1.18) !important;
  }

  .equipment-card-metortune .equipment-tuning-image img{
    max-height:200px !important;
    transform:scale(1.13) !important;
  }
}

@media (max-width:620px){
  .equipment-card-machine .equipment-machine-image img{
    max-height:176px !important;
    transform:scale(1.14) !important;
  }

  .equipment-card-metortune .equipment-tuning-image img{
    max-height:176px !important;
    transform:scale(1.10) !important;
  }
}


/* =========================================================
   v33 – Equipment Text-/Typografie-Feinschliff
   ========================================================= */

/* Rechte Materialien-Karte typografisch den Geräte-Karten angleichen */
.equipment-card-materials > div:last-child,
.equipment-card-full > div:last-child{
  display:flex !important;
  flex-direction:column;
  justify-content:center;
}

.equipment-card-materials .string-brand,
.equipment-card-full .string-brand{
  margin-bottom:6px !important;
  font-size:.71rem !important;
  line-height:1.1 !important;
}

.equipment-card-materials h3,
.equipment-card-full h3{
  font-size:1.25rem !important;
  line-height:1.18 !important;
  margin:0 0 10px !important;
}

.equipment-card-materials p,
.equipment-card-full p{
  font-size:.92rem !important;
  line-height:1.55 !important;
  margin:0 0 12px !important;
}

/* Hersteller als eigene Aufzählung */
.equipment-brand-list{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:2px 0 14px;
}

.equipment-brand-list span{
  position:relative;
  padding-left:22px;
  font-size:.79rem;
  line-height:1.35;
  font-weight:800;
  color:#47453f;
}

.equipment-brand-list span::before{
  content:"";
  position:absolute;
  left:0;
  top:.34em;
  width:8px;
  height:8px;
  border:2px solid var(--gold);
  border-radius:50%;
  box-sizing:border-box;
}

/* Link am unteren Ende der rechten Karte */
.equipment-card-materials .equipment-link,
.equipment-card-full .equipment-link{
  margin-top:auto !important;
  padding-top:4px;
  font-size:.79rem !important;
}

/* Equipment-Subline rechts harmonisch halten */
.equipment-heading > p{
  max-width:390px;
  line-height:1.45;
}

@media (max-width:980px){
  .equipment-card-materials h3,
  .equipment-card-full h3{
    font-size:1.18rem !important;
  }

  .equipment-card-materials p,
  .equipment-card-full p{
    font-size:.88rem !important;
  }
}

@media (max-width:620px){
  .equipment-card-materials h3,
  .equipment-card-full h3{
    font-size:1.1rem !important;
  }

  .equipment-card-materials p,
  .equipment-card-full p{
    font-size:.84rem !important;
  }
}


/* =========================================================
   v34 – Über mich: Subline, Portraittext, TOP-Equipment
   ========================================================= */

/* Equipment-Unterzeile auf Desktop zwingend einzeilig */
.equipment-heading > p{
  max-width:none !important;
  white-space:nowrap;
  flex:0 0 auto;
  font-size:clamp(.78rem,.9vw,.86rem);
}

/* Werkzeug-Piktogramm im Stil der bestehenden Fact-Icons */
.about-fact .fact-icon-tools{
  width:28px;
  height:28px;
  flex:0 0 28px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Bei mittleren Breiten Text klein genug halten, aber weiterhin eine Zeile */
@media (max-width:1100px) and (min-width:901px){
  .equipment-heading{
    gap:18px;
  }

  .equipment-heading > p{
    font-size:.75rem;
  }
}

/* Unterhalb des Desktop-Layouts bleibt die bestehende responsive Logik erhalten */
@media (max-width:900px){
  .equipment-heading > p{
    white-space:nowrap;
    font-size:.78rem;
  }
}


/* =========================================================
   v36 – Startseite Preisbox Besaitung + Racket-Tuning
   ========================================================= */
.home-price-panel{
  display:flex;
  flex-direction:column;
}

.setup-included-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  padding:11px 14px;
  margin:10px 0 15px;
  box-sizing:border-box;
  border:1px solid rgba(213,163,58,.55);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(213,163,58,.10),rgba(239,196,95,.17),rgba(213,163,58,.10));
  font-size:.82rem;
  font-weight:800;
  color:#3d3a33;
}

.setup-included-bar strong{
  color:#9a701b;
}

.home-price-group{
  margin-top:2px;
}

.home-price-group + .home-price-group{
  margin-top:14px;
}

.home-price-group-label{
  margin:0 0 7px 2px;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#9a701b;
}

.home-price-grid{
  gap:9px;
}

.home-price-panel .price-card{
  min-height:88px;
  padding:13px 8px 11px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.home-price-panel .price-card small{
  font-size:.72rem;
  line-height:1.25;
  text-align:center;
}

.home-price-panel .price-card strong{
  font-size:1.45rem;
  line-height:1.1;
  margin-top:6px;
}

.home-price-panel .price-card .price-on-request{
  font-size:1rem;
  color:#2f2e2a;
  padding-top:4px;
}

.tuning-price-card-home em{
  display:block;
  margin-top:5px;
  font-size:.58rem;
  line-height:1.15;
  font-style:normal;
  font-weight:700;
  color:#8b8880;
}

.home-price-link{
  color:var(--gold) !important;
  margin-top:18px !important;
}

.home-price-link:hover{
  color:#a87b1c !important;
}

@media(max-width:620px){
  .setup-included-bar{
    padding:10px 8px;
    font-size:.76rem;
  }

  .home-price-grid{
    gap:7px;
  }

  .home-price-panel .price-card{
    min-height:82px;
    padding:11px 5px 9px;
  }

  .home-price-panel .price-card small{
    font-size:.66rem;
  }

  .home-price-panel .price-card strong{
    font-size:1.22rem;
  }

  .home-price-panel .price-card .price-on-request{
    font-size:.86rem;
  }

  .tuning-price-card-home em{
    font-size:.54rem;
  }
}


/* =========================================================
   v37 – Preisbox Inhaltsupdate
   ========================================================= */
.home-price-panel .price-card .price-on-request{
  font-weight:900 !important;
}


/* =========================================================
   v38 – Startseite Preis-/Prozess-Panels
   ========================================================= */

/* Überschrift links analog zur Prozessbox zentrieren */
.home-price-heading{
  text-align:center;
  margin-bottom:0;
}

.home-price-heading h2{
  margin:0 !important;
  font-size:1.55rem;
  letter-spacing:-.03em;
}

/* Zwei CTA-Buttons unter der Preisübersicht */
.home-price-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}

.home-price-action-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(213,163,58,.75);
  border-radius:10px;
  background:#fffaf0;
  color:#9a701b;
  font-size:.76rem;
  line-height:1.25;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.home-price-action-btn:hover{
  background:#f7ecd4;
  border-color:var(--gold);
  transform:translateY(-1px);
}

/* Rechte Prozessbox: gleiche Heading-Höhe, Inhalt darunter mittig */
@media (min-width:901px){
  .process-panel{
    display:flex;
    flex-direction:column;
  }

  .process-heading{
    flex:0 0 auto;
    margin-bottom:0;
  }

  .process-flow{
    flex:1 1 auto;
    align-items:center;
    align-content:center;
  }

  .process-step{
    width:100%;
    text-align:center;
  }

  /* Icons exakt mittig; die gepunkteten Linien verbinden weiterhin die Schritte */
  .process-step-top{
    position:relative;
    justify-content:center;
    margin-bottom:12px;
  }

  .process-line{
    position:absolute;
    top:50%;
    left:calc(50% + 38px);
    right:calc(-50% + 38px);
    min-width:0;
    transform:translateY(-50%);
  }

  .process-step-title{
    justify-content:center;
    align-items:flex-start;
    min-height:44px;
  }

  .process-step p{
    padding-left:0;
    max-width:190px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* Alte Link-Ausbalancierung aus v15 für die neue Preisbox neutralisieren */
@media (min-width:901px){
  .split-row > .home-price-panel .home-price-actions{
    margin-top:18px;
    margin-bottom:0;
    transform:none;
  }
}

@media(max-width:620px){
  .home-price-actions{
    grid-template-columns:1fr;
    gap:9px;
  }

  .home-price-action-btn{
    min-height:40px;
    font-size:.73rem;
  }
}


/* =========================================================
   v39 – Preisbox: Hero-CTA-Stil + RDC-Angebote
   ========================================================= */

/* Die beiden Preisbox-Buttons nutzen jetzt exakt den primären Hero-CTA-Stil.
   Diese Regeln definieren nur Größe/Ausrichtung innerhalb der Preisbox. */
.home-price-actions .home-price-action-btn{
  width:100%;
  box-sizing:border-box;
  min-height:44px;
  margin:0;
  text-align:center;
}

/* ältere v38 Button-Optik neutralisieren */
.home-price-actions .home-price-action-btn,
.home-price-actions .home-price-action-btn:hover{
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--gold-2),var(--gold)) !important;
  color:#111 !important;
}

.home-price-actions .home-price-action-btn:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.05);
}


/* =========================================================
   v40 – Prozess-Schritte + Startseiten-About-Facts
   ========================================================= */

/* Prozess: Icon -> Zahl -> Überschrift -> Text, alles sauber zentriert */
.process-step{
  text-align:center !important;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.process-step-top{
  width:100%;
  justify-content:center !important;
}

.process-number{
  display:block !important;
  width:100%;
  margin:2px 0 7px !important;
  text-align:center !important;
  color:var(--gold);
  font-size:1.5rem !important;
  line-height:1 !important;
  font-weight:900;
}

.process-step-title{
  width:100%;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  min-height:52px !important;
  margin:0 0 7px !important;
  text-align:center !important;
}

.process-step h3{
  width:100%;
  max-width:190px;
  margin:0 auto !important;
  text-align:center !important;
}

.process-step p{
  width:100%;
  max-width:190px !important;
  margin:0 auto !important;
  padding-left:0 !important;
  text-align:center !important;
}

/* Startseite: drei Facts mit den Icons aus „Über mich“ */
.home-about-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}

.home-about-fact{
  min-width:0;
  min-height:94px;
  padding:12px 8px;
  box-sizing:border-box;
  border:1px solid #e2e0db;
  border-radius:12px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}

.home-about-fact-icon{
  width:27px;
  height:27px;
  flex:0 0 27px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-about-fact span{
  font-size:.75rem;
  line-height:1.25;
  font-weight:800;
  color:#33332f;
}

/* Tablet: drei Kacheln weiterhin nebeneinander, nur kompakter */
@media (max-width:900px){
  .process-step-title{
    min-height:52px !important;
  }

  .process-step h3,
  .process-step p{
    max-width:165px !important;
  }

  .home-about-facts{
    gap:8px;
  }

  .home-about-fact{
    min-height:88px;
    padding:10px 6px;
  }

  .home-about-fact span{
    font-size:.7rem;
  }
}

/* Mobile: Prozess bleibt in 3 Spalten; Facts passen weiterhin nebeneinander */
@media (max-width:620px){
  .process-number{
    font-size:1.22rem !important;
    margin:1px 0 5px !important;
  }

  .process-step-title{
    min-height:58px !important;
    margin-bottom:5px !important;
  }

  .process-step h3{
    max-width:100% !important;
    font-size:.69rem !important;
  }

  .process-step p{
    max-width:100% !important;
    font-size:.62rem !important;
  }

  .home-about-facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .home-about-fact{
    min-height:82px;
    padding:9px 4px;
    gap:6px;
  }

  .home-about-fact-icon{
    width:23px;
    height:23px;
    flex-basis:23px;
  }

  .home-about-fact span{
    font-size:.61rem;
    line-height:1.2;
  }
}


/* =========================================================
   v41 – Saiten & Preise mit Racket-Tuning
   ========================================================= */
.services-overview-section{
  border-top:1px solid rgba(255,255,255,.06);
}

.services-overview-head{
  max-width:880px;
  margin:0 0 28px;
}

.services-overview-head h2{
  margin:10px 0 12px;
  font-size:clamp(1.85rem,3vw,2.55rem);
  letter-spacing:-.04em;
}

.services-overview-head p{
  margin:0;
  max-width:760px;
  color:#c2c2bb;
  line-height:1.7;
}

.services-panel-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.2fr);
  gap:20px;
  align-items:start;
}

.service-panel-card{
  border:1px solid #2f2f2b;
  border-radius:24px;
  padding:clamp(22px,2.5vw,30px);
  background:
    radial-gradient(circle at top right, rgba(213,163,58,.08), transparent 30%),
    linear-gradient(180deg, rgba(25,25,24,.98), rgba(13,13,13,.98));
  box-shadow:0 16px 40px rgba(0,0,0,.2);
}

.service-panel-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}

.service-panel-kicker{
  display:inline-block;
  margin-bottom:8px;
  color:var(--gold-2);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.service-panel-card h3{
  margin:0;
  font-size:1.62rem;
  letter-spacing:-.03em;
}

.service-pill,
.service-equipment-badge{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(213,163,58,.35);
  background:rgba(213,163,58,.10);
  color:var(--gold-2);
  font-size:.78rem;
  font-weight:800;
  text-align:center;
}

.service-panel-copy{
  margin:0 0 18px;
  color:#d4d4ce;
  line-height:1.7;
}

.service-price-grid{
  margin-top:18px;
}

.service-price-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.service-price-grid-four{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.service-price-card{
  min-height:112px;
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.service-price-card small{
  font-size:.76rem;
  line-height:1.35;
}

.service-price-card strong{
  margin-top:8px;
  font-size:1.5rem;
  line-height:1.1;
}

.service-price-card .price-on-request{
  font-size:1rem;
  font-weight:900;
}

.tuning-service-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:18px;
  align-items:center;
}

.tuning-service-media{
  min-height:190px;
  border:1px solid #2a2925;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:radial-gradient(circle at center, rgba(213,163,58,.12), rgba(213,163,58,0) 70%);
}

.tuning-service-media img{
  max-width:100%;
  max-height:165px;
  object-fit:contain;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.35));
}

.tuning-benefits{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}

.tuning-benefits li{
  position:relative;
  padding-left:18px;
  color:#d9d9d2;
  font-size:.92rem;
  line-height:1.55;
}

.tuning-benefits li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(213,163,58,.10);
}

.tuning-category-block{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
}

.tuning-category-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px;
  margin-bottom:14px;
}

.tuning-category-head h4{
  margin:0;
  font-size:1.04rem;
  letter-spacing:-.01em;
}

.tuning-category-head span{
  color:#a9a9a3;
  font-size:.84rem;
}

.strings-light-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:4px;
}

.strings-light-intro p{
  max-width:560px;
}

@media(max-width:1080px){
  .services-panel-grid{
    grid-template-columns:1fr;
  }

  .tuning-service-layout{
    grid-template-columns:1fr;
  }

  .tuning-service-media{
    max-width:240px;
  }
}

@media(max-width:820px){
  .service-price-grid-three{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .service-panel-header{
    flex-direction:column;
  }

  .service-pill,
  .service-equipment-badge{
    align-self:flex-start;
  }

  .service-price-grid-three,
  .service-price-grid-four{
    grid-template-columns:1fr;
  }

  .service-panel-card h3{
    font-size:1.35rem;
  }

  .service-price-card{
    min-height:96px;
  }

  .strings-light-intro{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* =========================================================
   v42 – Saiten & Preise Feintuning
   ========================================================= */
.services-overview-section{padding-top:34px;}
.service-panel-header{margin-bottom:12px;}
.service-panel-card h3{margin-top:0!important;}
.service-panel-card-tuning .service-panel-copy{max-width:100%;margin-bottom:16px;}
.service-price-link{display:inline-block;margin-top:8px;color:var(--gold-2)!important;font-size:1rem;font-weight:900;text-decoration:none;}
.service-price-link:hover{color:#fff1b8!important;text-decoration:underline;text-underline-offset:3px;}
.service-panel-card-tuning .tuning-category-block:first-of-type{margin-top:14px;}
@media(max-width:620px){.services-overview-section{padding-top:24px}.service-panel-card h3{line-height:1.18}}


/* v43 – alternative stacked layout for Saiten & Preise */

.services-panel-grid-stacked{
  grid-template-columns:1fr;
  gap:22px;
}

.service-panel-card-wide{
  width:100%;
}

.service-price-grid-five{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.service-price-grid-four-wide{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.service-price-grid-strings-extended .service-price-card,
.service-price-grid-four-wide .service-price-card{
  min-height:122px;
}

.service-price-card-action{
  text-decoration:none;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#111 !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.service-price-card-action span{
  display:block;
  font-size:.98rem;
  font-weight:900;
  line-height:1.3;
}

.service-price-card-action strong{
  margin-top:10px;
  font-size:1.35rem;
}

.service-price-card-action:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(213,163,58,.22);
  background:#f0c75b;
}

@media(max-width:1180px){
  .service-price-grid-five{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .service-price-grid-four-wide{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .service-price-grid-five{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .service-price-grid-five,
  .service-price-grid-four-wide{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v44 – kompakter Besaitungsbereich
   ========================================================= */
.service-panel-card-strings-compact{
  padding:20px 22px 22px !important;
}

.stringing-compact-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:34px;
  margin-bottom:16px;
}

.stringing-compact-head h3{
  margin:0 !important;
  white-space:nowrap;
}

.stringing-compact-head .service-panel-copy{
  margin:0 !important;
  max-width:760px;
  color:#c8c8c1;
  font-size:.9rem;
  line-height:1.55;
}

.service-price-grid-strings-compact{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px;
  margin-top:0 !important;
}

.service-price-grid-strings-compact .service-price-card{
  min-height:88px !important;
  padding:13px 12px !important;
}

.service-price-grid-strings-compact .service-price-card small{
  font-size:.72rem;
}

.service-price-grid-strings-compact .service-price-card strong{
  margin-top:6px;
  font-size:1.35rem;
}

.service-price-grid-strings-compact .service-price-card-action span{
  font-size:.9rem;
}

.service-price-grid-strings-compact .service-price-card-action strong{
  font-size:1.2rem;
  margin-top:6px;
}

@media(max-width:900px){
  .stringing-compact-head{
    grid-template-columns:1fr;
    gap:8px;
  }

  .service-price-grid-strings-compact{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .service-panel-card-strings-compact{
    padding:18px !important;
  }

  .service-price-grid-strings-compact{
    grid-template-columns:1fr !important;
  }

  .service-price-grid-strings-compact .service-price-card{
    min-height:82px !important;
  }
}


/* =========================================================
   v45 – kompakter Racket-Tuning-Bereich
   ========================================================= */
.service-panel-card-tuning-compact{
  padding:20px 22px 22px !important;
}

.tuning-compact-head{
  margin-bottom:16px;
}

.tuning-compact-head h3{
  margin:0 !important;
  line-height:1.08;
}

.service-panel-card-tuning-compact .service-panel-copy{
  margin:0 !important;
  max-width:760px;
  color:#c8c8c1;
  font-size:.9rem;
  line-height:1.55;
}

.tuning-category-block-compact{
  margin-top:16px;
  padding-top:16px;
}

.tuning-category-block-compact:first-of-type{
  margin-top:0;
}

.service-price-grid-tuning-compact{
  gap:12px;
}

.service-price-grid-tuning-compact .service-price-card{
  min-height:88px !important;
  padding:13px 12px !important;
}

.service-price-grid-tuning-compact .service-price-card small{
  font-size:.72rem;
}

.service-price-grid-tuning-compact .service-price-card strong{
  margin-top:6px;
  font-size:1.35rem;
}

.service-price-note{
  display:block;
  margin-top:5px;
  font-size:.74rem;
  line-height:1.35;
  color:#bcbcb4;
  font-weight:700;
}

.service-price-grid-tuning-compact .service-price-link{
  margin-top:6px;
  font-size:1rem;
}

@media(max-width:620px){
  .service-panel-card-tuning-compact{
    padding:18px !important;
  }

  .service-price-grid-tuning-compact .service-price-card{
    min-height:82px !important;
  }
}


/* =========================================================
   v46 – goldene Abschnittsüberschriften + Scrollpfeil
   ========================================================= */
.service-panel-card-strings-compact h3,
.service-panel-card-tuning-compact h3{
  color:var(--gold-2);
}

.service-price-card-action strong{
  line-height:1;
}


/* =========================================================
   v48 – Mobile Preisraster: immer 2 Kacheln nebeneinander
   ========================================================= */
@media(max-width:620px){
  .service-price-grid-strings-compact,
  .service-price-grid-tuning-compact,
  .service-price-grid-four-wide{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .service-price-grid-strings-compact .service-price-card,
  .service-price-grid-tuning-compact .service-price-card,
  .service-price-grid-four-wide .service-price-card{
    min-height:78px !important;
    padding:10px 7px !important;
  }

  .service-price-grid-strings-compact .service-price-card small,
  .service-price-grid-tuning-compact .service-price-card small,
  .service-price-grid-four-wide .service-price-card small{
    font-size:.66rem !important;
    line-height:1.25 !important;
  }

  .service-price-grid-strings-compact .service-price-card strong,
  .service-price-grid-tuning-compact .service-price-card strong,
  .service-price-grid-four-wide .service-price-card strong{
    font-size:1.18rem !important;
  }

  .service-price-note{
    font-size:.64rem !important;
    margin-top:4px !important;
  }

  .service-price-grid-tuning-compact .service-price-link,
  .service-price-grid-four-wide .service-price-link{
    font-size:.84rem !important;
  }

  .service-price-grid-strings-compact .service-price-card-action span{
    font-size:.76rem !important;
  }
}


/* =========================================================
   v49 – Startseite: Besaitung + Racket-Tuning Bildstack
   ========================================================= */
.home-about{
  grid-template-columns:1.05fr 1fr;
  align-items:stretch;
}

.home-about-media-stack{
  min-width:0;
  padding:16px;
  display:grid;
  grid-template-rows:auto auto;
  gap:12px;
  background:transparent;
}

.home-about-media-card{
  position:relative;
  aspect-ratio:16 / 6.6;
  min-height:0;
  overflow:hidden;
  border-radius:8px;
  background:transparent;
}

.home-about-media-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none;
  transform-origin:center center;
}

.home-about-media-stringing img{
  object-position:center top;
}

.home-about-media-tuning img{
  object-position:center center;
}


.home-about-media-label{
  position:absolute;
  left:16px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:7px 13px 7px 10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(17,17,17,.86);
  color:#fff;
  box-shadow:0 7px 22px rgba(0,0,0,.20);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.home-about-media-label svg{
  width:21px;
  height:21px;
  flex:0 0 21px;
  fill:none;
  stroke:var(--gold-2);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-about-media-label span{
  font-size:.82rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
}

/* kompaktere Textseite fuer ein ruhigeres Gesamtbild */
.home-about .about-copy{
  padding:34px clamp(26px,3.6vw,52px);
}

@media(max-width:900px){
  .home-about{
    grid-template-columns:1fr;
  }

  .home-about-media-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    padding:12px;
    gap:10px;
  }

  .home-about-media-card{
    aspect-ratio:16 / 7.8;
  }

  .home-about .about-copy{
    padding:28px 24px 30px;
  }
}

@media(max-width:620px){
  .home-about-media-stack{
    grid-template-columns:1fr;
    padding:10px;
    gap:8px;
  }

  .home-about-media-card{
    aspect-ratio:16 / 8.1;
    border-radius:7px;
  }

  .home-about-media-stringing img{
    object-position:center top;
  }

  .home-about-media-tuning img{
    object-position:center center;
  }

  .home-about-media-label{
    left:11px;
    bottom:10px;
    min-height:34px;
    padding:6px 11px 6px 8px;
    gap:7px;
  }

  .home-about-media-label svg{
    width:18px;
    height:18px;
    flex-basis:18px;
  }

  .home-about-media-label span{
    font-size:.74rem;
  }

  .home-about .about-copy{
    padding:24px 18px 26px;
  }
}

/* v56 – Saiten & Materialien: Bild kompakter und abgerundet */
.equipment-card-materials .equipment-material-visual{
  padding:16px !important;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.equipment-card-materials .equipment-material-visual img{
  width:90% !important;
  height:90% !important;
  max-width:90% !important;
  max-height:90% !important;
  object-fit:cover;
  border-radius:8px;
}

/* =========================================================
   v57 – Über mich: Equipment-Karten mobil sauber stapeln
   ========================================================= */
@media (max-width:620px){
  /* X-Cord und MetorTune: Bild immer zuerst, Text darunter */
  .equipment-card-machine,
  .equipment-card-metortune{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  .equipment-card-machine .equipment-machine-image,
  .equipment-card-metortune .equipment-tuning-image{
    order:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:190px !important;
    min-height:190px !important;
    padding:10px !important;
    box-sizing:border-box !important;
    border-right:none !important;
    border-bottom:1px solid #e6e4de !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  .equipment-card-machine .equipment-machine-image img,
  .equipment-card-metortune .equipment-tuning-image img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:170px !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
  }

  .equipment-card-machine .equipment-card-copy,
  .equipment-card-metortune .equipment-card-copy{
    order:2 !important;
    width:100% !important;
    min-width:0 !important;
    padding:18px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }

  .equipment-card-machine .equipment-points,
  .equipment-card-metortune .equipment-points{
    width:100% !important;
    grid-template-columns:1fr !important;
  }
}
