/* cnc-multitool – Text-/Rechtsseiten-Layout (eigenständig, volle Breite)
   Farben, H1/H2/H3 identisch zu den Produktseiten (products.css) */
.ds-page{
  --orange:#ec9345;
  --ink:#1f2933;
  --muted:#68737d;
  --line:#e6e9ec;
  --soft:#f5f6f7;
  color:var(--ink);
}
.ds-page *{ box-sizing:border-box; }

.ds-section{ padding:48px 0; }
.ds-section--alt{ background:var(--soft); }
.ds-wrap{ width:100%; padding:0 clamp(20px,4vw,60px); }

/* Kicker = .section-title .subtitle */
.ds-kicker{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--orange);
  text-align:center;
}

/* Überschriften */
.ds-page h1,.ds-page h2,.ds-page h3{
  margin:0;
  color:var(--ink);
  overflow-wrap:break-word;
  hyphens:auto;
}
/* H1 = .page-hero-text h1 */
.ds-page h1{
  font-size:38px;
  line-height:1.1;
  font-weight:500;
  letter-spacing:-.8px;
  text-align:center;
}
/* H2 = .section-title h2 */
.ds-page h2{
  font-size:30px;
  line-height:1.2;
  font-weight:600;
  text-align:center;
}
/* H3 = .product-feature-text h3 */
.ds-page h3{
  margin:1.6em 0 .5em;
  font-size:20px;
  line-height:1.2;
  font-weight:600;
}

/* Orange Trennlinie (wie Divider der Produktseiten) */
.ds-divider{ border:0; height:3px; width:72px; background:var(--orange); margin:14px auto 26px; }

/* Fließtext = .product-feature-text p */
.ds-page p{ font-size:17px; line-height:1.55; color:var(--muted); margin:0 0 14px; }
.ds-page strong{ font-weight:700; color:var(--ink); }
.ds-page a{ color:var(--orange); }

/* Listen = .marked-list li */
.ds-list{ margin:0 0 14px; padding-left:1.25em; }
.ds-list li{ font-size:15px; line-height:1.5; color:var(--muted); margin:.25em 0; }

/* Bilder */
.ds-img{ display:block; margin:26px auto 0; max-width:600px; width:100%; height:auto; }
.ds-img-full{ display:block; width:100%; height:auto; margin:0; }

.ds-meta{ color:var(--muted); font-size:14px; margin-top:22px; }

/* Responsive H1 (wie Produktseiten) */
@media (max-width:991px){ .ds-page h1{ font-size:28px; } }
@media (max-width:767px){ .ds-page h1{ font-size:24px; letter-spacing:-.3px; } }
@media (max-width:600px){ .ds-section{ padding:30px 0; } }

/* =========================================================
   Komponenten für Support-/Infoseiten (ds-card, ds-table, ds-btn)
   ========================================================= */
.ds-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:6px 0 0; }
.ds-card{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:30px 24px; text-align:center; }
.ds-card .ds-ico{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:rgba(236,147,69,.12); color:var(--orange); }
.ds-card .ds-ico svg{ width:30px; height:30px; }
.ds-card h3{ margin:0 0 10px; font-size:19px; line-height:1.2; font-weight:600; color:var(--ink); }
.ds-card p{ font-size:16px; line-height:1.6; color:var(--muted); margin:0 0 14px; }
.ds-card .ds-contact{ font-size:16px; font-weight:700; color:var(--ink); }
.ds-card .ds-contact a{ color:var(--orange); text-decoration:none; }
.ds-card .ds-hours{ display:block; margin-top:6px; font-size:14px; font-weight:400; color:var(--muted); }

.ds-page a.ds-btn{ display:inline-block; margin-top:10px; padding:14px 28px; background:var(--orange); color:#fff; font-size:15px; font-weight:700; text-decoration:none; border-radius:6px; }
.ds-page a.ds-btn:hover{ filter:brightness(.96); color:#fff; }

.ds-table{ width:100%; border-collapse:collapse; margin:6px 0 0; }
.ds-table th{ text-align:left; background:var(--ink); color:#fff; font-size:15px; font-weight:700; padding:12px 16px; }
.ds-table td{ border-bottom:1px solid var(--line); padding:12px 16px; font-size:16px; color:var(--muted); }
.ds-table td a{ color:var(--orange); text-decoration:none; }

@media (max-width:860px){ .ds-cards{ grid-template-columns:1fr; } }
