/* =========================================================================
   Sydesoft – Relaunch Theme (Bootstrap 5.3 + eigenes Design)
   clean & technisch · Marke-Blau · Light + Dark (data-bs-theme)
   ========================================================================= */

:root{
  --brand-rgb: 40 80 143;              /* #28508f */
  --brand: #28508f;
  --brand-700: #1e3f72;
  --brand-500: #2f63b0;
  --brand-300: #6b9bde;
  --accent: #f2b705;                    /* dezenter Akzent */
  --ink: #16202e;
  --bs-primary-rgb: 40,80,143;

  --sy-radius: 8px;
  --sy-radius-sm: 6px;
  --sy-maxw: 1240px;
  --sy-shadow: 0 1px 2px rgba(16,32,60,.05), 0 1px 6px rgba(16,32,60,.05);
  --sy-shadow-lg: 0 6px 20px rgba(16,32,60,.10);
  --sy-ease: cubic-bezier(.2,.6,.2,1);
}

/* ---- Grundlagen ---- */
html{ scroll-behavior:smooth; }
body{
  font-family:'Rubik',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
[data-bs-theme="dark"]{ --ink:#e7ecf3; }
[data-bs-theme="dark"] body{ color:var(--ink); }

.container{ max-width:var(--sy-maxw); }
section{ position:relative; }
.sy-section{ padding-block:clamp(1.75rem,3.5vw,3rem); }
.sy-section--tight{ padding-block:clamp(1.25rem,2.5vw,2rem); }
.bg-soft{ background:#f5f8fc; }
[data-bs-theme="dark"] .bg-soft{ background:#131c28; }

.sy-eyebrow{
  display:inline-block; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  font-size:.78rem; color:var(--brand-500); margin-bottom:.6rem;
}
[data-bs-theme="dark"] .sy-eyebrow{ color:var(--brand-300); }
.sy-h2{ font-weight:700; letter-spacing:-.02em; font-size:clamp(1.35rem,2.5vw,1.9rem); line-height:1.18; }
.lead-muted{ color:#566073; font-size:1rem; }
[data-bs-theme="dark"] .lead-muted{ color:#a3b0c2; }

/* ---- Buttons ---- */
.btn{ --bs-btn-font-weight:600; border-radius:7px; padding:.5rem 1.05rem; font-size:.95rem; transition:background .15s var(--sy-ease); }
.btn-lg{ padding:.6rem 1.3rem; font-size:1rem; }
.btn-sm{ padding:.35rem .8rem; font-size:.85rem; }
.btn-brand{ background:var(--brand); border:1.5px solid var(--brand); color:#fff; box-shadow:var(--sy-shadow); }
.btn-brand:hover{ background:var(--brand-700); border-color:var(--brand-700); color:#fff; }
.btn-outline-light-brand{ background:transparent; border:1.5px solid rgba(255,255,255,.85); color:#fff; }
.btn-outline-light-brand:hover{ background:#fff; color:var(--brand); }

/* ---- Skip-Link & Fokus (A11y) ---- */
.sy-skip{ position:fixed; top:-100px; left:12px; z-index:2000; background:var(--brand); color:#fff;
  padding:.7rem 1.1rem; border-radius:10px; font-weight:600; text-decoration:none; transition:top .18s var(--sy-ease); }
.sy-skip:focus{ top:12px; color:#fff; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible{ outline:3px solid var(--brand-500); outline-offset:2px; border-radius:4px; }
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* ===== Shop-Style 3-Tier-Header (SydesoftFlex) ===== */
:root{ --sds-line:#e3e8ef; --sds-gray:#5b6b7b; }
[data-bs-theme="dark"]{ --sds-line:#29343f; --sds-gray:#9aa7b8; }
.sy-topbar{ background:#fff; border-bottom:1px solid var(--sds-line); }
[data-bs-theme="dark"] .sy-topbar{ background:#0f1621; }
.sy-topbar .container{ min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.sy-topbar-promo{ display:flex; align-items:center; gap:.75rem; min-width:0; }
.sy-hotline{ color:var(--brand); font-weight:700; text-decoration:none; white-space:nowrap; font-size:.82rem; }
[data-bs-theme="dark"] .sy-hotline{ color:var(--brand-300); }
.sy-hotline:hover{ text-decoration:underline; color:var(--brand); }
.sy-usps{ color:var(--sds-gray); font-size:.8rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sy-topbar-links{ display:flex; align-items:center; gap:1rem; white-space:nowrap; }
.sy-topbar-links a{ color:var(--sds-gray); text-decoration:none; font-size:.8rem; font-weight:500; }
.sy-topbar-links a:hover{ color:var(--brand); }
@media (max-width:991px){ .sy-usps{ display:none; } }
@media (max-width:575px){ .sy-topbar-promo .sy-hotline span{ display:none; } }

.sy-logobar{ background:#fff; border-bottom:1px solid var(--sds-line); padding:.55rem 0; }
[data-bs-theme="dark"] .sy-logobar{ background:#0f1621; }
.sy-logobar .container{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.sy-logobar .sy-logo img{ height:3rem; width:auto; }
[data-bs-theme="dark"] .sy-logobar .sy-logo img{ filter:brightness(0) invert(1); }
.sy-logobar-actions{ display:flex; align-items:center; gap:.6rem; }

.sy-navbar{ background:var(--brand) !important; position:sticky; top:0; z-index:1030; padding:0 !important; box-shadow:0 2px 10px rgba(16,32,60,.12); }
.sy-navbar .container{ padding-top:0; padding-bottom:0; }
.sy-navbar .navbar-nav .nav-link{ color:#fff !important; font-weight:500; padding:.8rem 1rem !important; border-radius:0; white-space:nowrap; transition:background .12s var(--sy-ease); }
.sy-navbar .navbar-nav .nav-link:hover, .sy-navbar .navbar-nav .nav-link:focus, .sy-navbar .navbar-nav .show>.nav-link, .sy-navbar .navbar-nav .nav-link.show{ background:rgba(255,255,255,.15) !important; color:#fff !important; }
.sy-navbar .dropdown-menu{ background:var(--bs-body-bg); border:1px solid var(--sds-line); border-radius:0 0 12px 12px; box-shadow:var(--sy-shadow-lg); margin-top:0; padding:.5rem; }
.sy-navbar .dropdown-item{ color:var(--ink); border-radius:7px; padding:.45rem .7rem; }
.sy-navbar .dropdown-item:hover, .sy-navbar .dropdown-item:focus{ background:rgba(var(--brand-rgb)/.09); color:var(--brand); }
.sy-navbar .sy-mega h6{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--brand-500); margin:.4rem .6rem .2rem; }
.sy-navbar .navbar-toggler{ border:1.5px solid rgba(255,255,255,.5); margin:.4rem 0; }
.sy-navbar .navbar-toggler-icon{ filter:invert(1) grayscale(1) brightness(2); }
.sy-navbar .theme-toggle{ color:#fff; border-color:rgba(255,255,255,.4); }
.sy-navbar .theme-toggle:hover{ background:rgba(255,255,255,.15); }
@media (max-width:991px){ .sy-navbar .navbar-collapse{ background:var(--brand); padding:.5rem 0; } }

/* ---- Navbar (alt, ungenutzt nach Header-Umbau) ---- */
.sy-nav{
  background:rgba(255,255,255,.82); backdrop-filter:saturate(1.5) blur(12px);
  border-bottom:1px solid rgba(16,32,60,.08); box-shadow:0 1px 0 rgba(16,32,60,.03);
}
[data-bs-theme="dark"] .sy-nav{ background:rgba(15,22,33,.82); border-bottom-color:rgba(255,255,255,.08); }
.sy-nav .navbar-brand img{ height:2.6rem; width:auto; }
[data-bs-theme="dark"] .sy-nav .navbar-brand img{ filter:brightness(0) invert(1); opacity:.95; }
.sy-nav .nav-link{ font-weight:500; border-radius:9px; padding:.5rem .7rem !important; white-space:nowrap; }
.sy-nav .btn-brand{ white-space:nowrap; }
@media (min-width:992px){ .sy-nav .navbar-nav{ gap:.1rem; } }
.sy-nav .nav-link:hover, .sy-nav .nav-link:focus{ color:var(--brand); background:rgba(var(--brand-rgb)/.08); }
.sy-nav .dropdown-menu{ border:1px solid rgba(16,32,60,.10); border-radius:14px; box-shadow:var(--sy-shadow-lg); padding:.6rem; }
.sy-mega{ min-width:min(680px,90vw); }
.sy-mega h6{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-500); margin:.4rem .6rem .2rem; }
.sy-mega .dropdown-item{ border-radius:8px; padding:.4rem .6rem; white-space:normal; }
.theme-toggle{ width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid rgba(16,32,60,.12); border-radius:11px; background:transparent; color:inherit; cursor:pointer; }
.theme-toggle:hover{ background:rgba(var(--brand-rgb)/.08); border-color:var(--brand-300); }
[data-bs-theme="dark"] .theme-toggle{ border-color:rgba(255,255,255,.16); }
.theme-toggle .bi-sun{ display:none; } [data-bs-theme="dark"] .theme-toggle .bi-sun{ display:block; }
[data-bs-theme="dark"] .theme-toggle .bi-moon{ display:none; }

/* ---- Hero ---- */
.sy-hero{ position:relative; color:#fff; isolation:isolate;
  background:linear-gradient(105deg, rgba(16,28,52,.86) 0%, rgba(30,63,114,.72) 45%, rgba(16,28,52,.55) 100%),
             url('../images/containerhafen-2000x1333.jpg') center/cover no-repeat; }
.sy-hero::after{ content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(1200px 400px at 15% 0%, rgba(47,99,176,.35), transparent 60%); }
.sy-hero .container{ padding-block:clamp(2.5rem,6vw,4.75rem); position:relative; z-index:1; }
.sy-hero h1{ font-weight:800; letter-spacing:-.02em; font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.08; text-shadow:0 2px 20px rgba(0,0,0,.35); }
.sy-hero p.lead{ font-size:clamp(1rem,1.6vw,1.2rem); color:rgba(255,255,255,.92); text-shadow:0 1px 10px rgba(0,0,0,.4); }
.sy-hero .badge-line{ display:flex; flex-wrap:wrap; gap:.5rem; }
.sy-chip{ display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .8rem; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); color:#fff; font-size:.9rem; backdrop-filter:blur(4px); }

/* ---- Karten / Kategorien ---- */
.sy-card{ height:100%; background:var(--bs-body-bg); border:1px solid rgba(16,32,60,.10);
  border-radius:var(--sy-radius); padding:1.1rem; box-shadow:var(--sy-shadow);
  transition:box-shadow .15s var(--sy-ease), border-color .15s var(--sy-ease); }
.sy-card:hover{ box-shadow:var(--sy-shadow-lg); border-color:var(--brand-300); }
[data-bs-theme="dark"] .sy-card{ border-color:rgba(255,255,255,.10); }
.sy-ico{ width:40px; height:40px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(var(--brand-rgb)/.10); color:var(--brand); margin-bottom:.7rem; }
[data-bs-theme="dark"] .sy-ico{ color:var(--brand-300); background:rgba(107,155,222,.14); }
.sy-ico svg{ width:21px; height:21px; }
.sy-card h3{ font-size:1.05rem; font-weight:700; }
.sy-card .sy-card-link{ font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:.35rem; }
.sy-card .sy-card-link:hover{ gap:.6rem; }

/* ---- Kompakte Produkt-Modellkarten ---- */
.sy-prod{ display:flex; flex-direction:column; text-align:center; height:100%; }
.sy-prod .sy-prod-img{ min-height:118px; display:flex; align-items:center; justify-content:center; margin-bottom:.5rem; }
.sy-prod .sy-prod-img img{ max-height:108px; width:auto; object-fit:contain; }
.sy-prod h3{ font-size:.95rem; font-weight:700; margin-bottom:.35rem; }
.sy-prod .sy-prod-feat{ font-size:.82rem; color:#566073; line-height:1.45; margin-bottom:.6rem; }
[data-bs-theme="dark"] .sy-prod .sy-prod-feat{ color:#a3b0c2; }
.sy-prod .sy-prod-link{ margin-top:auto; font-weight:600; font-size:.85rem; text-decoration:none; color:var(--brand-500); }
.sy-prod .sy-prod-link:hover{ text-decoration:underline; }
.sy-brandhead{ font-size:1.05rem; font-weight:700; letter-spacing:.02em; color:var(--brand); border-bottom:2px solid rgba(var(--brand-rgb)/.2); padding-bottom:.4rem; margin-bottom:1.1rem; }
[data-bs-theme="dark"] .sy-brandhead{ color:var(--brand-300); }

/* ---- Anwendungs-Chips ---- */
.sy-tags{ display:flex; flex-wrap:wrap; gap:.6rem; }
.sy-tag{ padding:.55rem 1rem; border-radius:999px; background:rgba(var(--brand-rgb)/.08); color:var(--brand);
  font-weight:600; font-size:.95rem; border:1px solid rgba(var(--brand-rgb)/.16); }
[data-bs-theme="dark"] .sy-tag{ color:var(--brand-300); background:rgba(107,155,222,.12); border-color:rgba(107,155,222,.22); }

/* ---- Referenz-Karten ---- */
.sy-ref{ height:100%; border-radius:var(--sy-radius); overflow:hidden; border:1px solid rgba(16,32,60,.10);
  background:var(--bs-body-bg); box-shadow:var(--sy-shadow); transition:transform .18s var(--sy-ease), box-shadow .18s var(--sy-ease); text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.sy-ref:hover{ transform:translateY(-4px); box-shadow:var(--sy-shadow-lg); color:inherit; }
[data-bs-theme="dark"] .sy-ref{ border-color:rgba(255,255,255,.10); }
.sy-ref .sy-ref-body{ padding:1.2rem 1.3rem; }
.sy-ref h3{ font-size:1.05rem; font-weight:650; margin:0; }
.sy-ref .sy-more{ color:var(--brand-500); font-weight:600; font-size:.9rem; }

/* ---- Testimonials ---- */
.sy-quote{ height:100%; background:var(--bs-body-bg); border:1px solid rgba(16,32,60,.10); border-radius:var(--sy-radius);
  padding:1.5rem; box-shadow:var(--sy-shadow); }
[data-bs-theme="dark"] .sy-quote{ border-color:rgba(255,255,255,.10); }
.sy-quote .sy-quote-mark{ color:var(--brand-300); font-size:2.4rem; line-height:1; font-weight:800; }
.sy-quote cite{ font-style:normal; font-weight:700; display:block; margin-top:.8rem; }
.sy-quote .sy-quote-org{ color:#566073; font-size:.9rem; }
[data-bs-theme="dark"] .sy-quote .sy-quote-org{ color:#a3b0c2; }

/* ---- Prozess / 3 Spalten ---- */
.sy-step .sy-num{ width:44px; height:44px; border-radius:12px; background:var(--brand); color:#fff;
  font-weight:800; display:inline-flex; align-items:center; justify-content:center; margin-bottom:.8rem; }

/* ---- CTA-Band ---- */
.sy-cta{ background:linear-gradient(120deg,var(--brand) 0%, var(--brand-700) 100%); color:#fff; border-radius:var(--sy-radius); }
.sy-cta h2{ font-weight:800; letter-spacing:-.01em; }

/* ---- Footer ---- */
.sy-footer{ background:#0d1420; color:#c7d1df; }
.sy-footer h6{ color:#fff; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1rem; }
.sy-footer a{ color:#c7d1df; text-decoration:none; }
.sy-footer a:hover{ color:#fff; text-decoration:underline; }
.sy-footer .sy-foot-brand img{ height:2.4rem; }
.sy-footer .sy-foot-bottom{ border-top:1px solid rgba(255,255,255,.10); color:#8a97a8; }

/* ---- Bilder ---- */
img{ max-width:100%; height:auto; }
.sy-shot{ border-radius:var(--sy-radius); box-shadow:var(--sy-shadow-lg); border:1px solid rgba(16,32,60,.08); }

/* ---- Breadcrumb ---- */
.sy-crumb{ font-size:.9rem; }
.sy-crumb a{ color:var(--brand-500); text-decoration:none; }
.sy-crumb a:hover{ text-decoration:underline; }
.sy-crumb .sep{ color:#98a3b3; margin:0 .5rem; }

/* ---- Artikel / Use-Case ---- */
.sy-page-hero{ background:linear-gradient(120deg, rgba(40,80,143,.07), rgba(40,80,143,.02)); border-bottom:1px solid rgba(16,32,60,.08); }
[data-bs-theme="dark"] .sy-page-hero{ background:linear-gradient(120deg, rgba(107,155,222,.12), transparent); border-bottom-color:rgba(255,255,255,.08); }
.sy-page-hero .container{ padding-block:1.75rem !important; }
.sy-page-hero h1{ font-weight:800; letter-spacing:-.02em; font-size:clamp(1.5rem,2.8vw,2.2rem); line-height:1.15; }
.sy-article{ font-size:1.075rem; }
.sy-article h2{ font-weight:700; font-size:clamp(1.35rem,2.4vw,1.6rem); letter-spacing:-.01em; margin:2.2rem 0 .8rem; }
.sy-article p{ line-height:1.8; margin-bottom:1rem; }
.sy-article ul{ line-height:1.8; padding-left:1.2rem; }
.sy-article li{ margin:.4rem 0; }
.sy-article a{ color:var(--brand-500); text-underline-offset:2px; }
.sy-article div{ margin-bottom:.85rem; line-height:1.8; }
.sy-fig{ margin:1.25rem 0; text-align:center; }
.sy-fig img{ max-width:100%; height:auto; max-height:360px; width:auto; border-radius:10px; border:1px solid rgba(16,32,60,.08); box-shadow:var(--sy-shadow); }
.sy-fig img[src*="logo"]{ border:0; box-shadow:none; max-height:120px; }
.sy-article ul{ margin:.5rem 0 1rem; }
.sy-article div:empty{ display:none; margin:0; }
.sy-article img{ border-radius:12px; margin:1rem 0; max-width:100%; height:auto; }
.sy-article strong{ font-weight:700; }
.sy-benefit{ background:rgba(var(--brand-rgb)/.06); border:1px solid rgba(var(--brand-rgb)/.16); border-radius:var(--sy-radius); }
[data-bs-theme="dark"] .sy-benefit{ background:rgba(107,155,222,.10); border-color:rgba(107,155,222,.22); }
.sy-benefit li{ margin:.5rem 0; }
.sy-note{ border-left:4px solid var(--brand); background:rgba(var(--brand-rgb)/.06); border-radius:0 12px 12px 0; padding:1rem 1.25rem; }
[data-bs-theme="dark"] .sy-note{ background:rgba(107,155,222,.10); }

/* ---- Produkt-Modellkarten ---- */
.sy-spec{ width:100%; font-size:.93rem; }
.sy-spec th{ text-align:left; font-weight:600; color:var(--muted,#566073); width:44%; padding:.45rem .2rem; vertical-align:top; border-bottom:1px solid rgba(16,32,60,.07); }
.sy-spec td{ padding:.45rem .2rem; vertical-align:top; border-bottom:1px solid rgba(16,32,60,.07); }
[data-bs-theme="dark"] .sy-spec th, [data-bs-theme="dark"] .sy-spec td{ border-bottom-color:rgba(255,255,255,.08); }
.sy-brand-badge{ display:inline-block; font-weight:700; letter-spacing:.03em; color:var(--brand); background:rgba(var(--brand-rgb)/.10); padding:.25rem .7rem; border-radius:999px; font-size:.8rem; }
[data-bs-theme="dark"] .sy-brand-badge{ color:var(--brand-300); background:rgba(107,155,222,.14); }

/* ---- Showcases (Webshops) ---- */
.sy-showcase{ height:100%; border-radius:var(--sy-radius); overflow:hidden; border:1px solid rgba(16,32,60,.10);
  background:var(--bs-body-bg); box-shadow:var(--sy-shadow); transition:transform .18s var(--sy-ease), box-shadow .18s var(--sy-ease); display:flex; flex-direction:column; }
.sy-showcase:hover{ transform:translateY(-4px); box-shadow:var(--sy-shadow-lg); }
[data-bs-theme="dark"] .sy-showcase{ border-color:rgba(255,255,255,.10); }
.sy-showcase .sy-thumb{ aspect-ratio:16/10; width:100%; object-fit:cover; display:block; background:#eef2f7; }
.sy-showcase .sy-thumb-ph{ aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.3rem;
  background:linear-gradient(135deg,var(--brand),var(--brand-700)); color:#fff; text-align:center; padding:1rem; }
.sy-showcase .sy-thumb-ph b{ font-size:1.35rem; letter-spacing:-.01em; }
.sy-showcase .sy-thumb-ph span{ font-size:.85rem; opacity:.85; }
.sy-showcase .sy-showcase-body{ padding:1.1rem 1.25rem; display:flex; flex-direction:column; gap:.3rem; flex:1; }
.sy-showcase .sy-showcase-body .dom{ color:var(--muted,#566073); font-size:.9rem; }
[data-bs-theme="dark"] .sy-showcase .sy-showcase-body .dom{ color:#a3b0c2; }

/* ---- Referenz-Karten (Übersicht) ---- */
.sy-refcard{ display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit;
  background:var(--bs-body-bg); border:1px solid rgba(16,32,60,.10); border-radius:16px; overflow:hidden;
  box-shadow:var(--sy-shadow); transition:transform .18s var(--sy-ease), box-shadow .18s var(--sy-ease); }
.sy-refcard:hover{ transform:translateY(-4px); box-shadow:var(--sy-shadow-lg); color:inherit; }
[data-bs-theme="dark"] .sy-refcard{ border-color:rgba(255,255,255,.10); }
.sy-ref-logo{ height:140px; display:flex; align-items:center; justify-content:center; padding:1.5rem; background:#fff; border-bottom:1px solid rgba(16,32,60,.08); }
.sy-ref-logo img{ max-height:96px; max-width:80%; object-fit:contain; }
.sy-refcard-body{ padding:1.1rem 1.25rem; display:flex; flex-direction:column; flex:1; }
.sy-refcard-body .sy-more{ color:var(--brand-500); font-weight:600; font-size:.9rem; margin-top:auto; }

/* ---- Kontaktformular ---- */
.mbr-form .form-group{ margin-bottom:1.1rem; }
.mbr-section-labels{ font-weight:600; margin-bottom:.4rem; color:var(--ink); }
.mbr-form .form-control{ background:var(--bs-body-bg); color:var(--ink); border:1.5px solid rgba(16,32,60,.16); border-radius:11px; padding:.7rem .9rem; width:100%; }
[data-bs-theme="dark"] .mbr-form .form-control{ border-color:rgba(255,255,255,.18); }
.mbr-form .form-control:focus{ border-color:var(--brand-500); box-shadow:0 0 0 3px rgba(var(--brand-rgb)/.2); outline:none; }
.mbr-form textarea.form-control{ min-height:150px; }
.mbr-form .btn-form{ background:var(--brand); border:1.5px solid var(--brand); color:#fff; border-radius:11px; font-weight:600; padding:.7rem 1.6rem; }
.mbr-form .btn-form:hover{ background:var(--brand-700); border-color:var(--brand-700); color:#fff; }
.sy-contact-card{ background:var(--bs-body-bg); border:1px solid rgba(16,32,60,.10); border-radius:16px; padding:1.6rem; box-shadow:var(--sy-shadow); }
[data-bs-theme="dark"] .sy-contact-card{ border-color:rgba(255,255,255,.10); }
.sy-contact-card a{ color:var(--brand-500); text-decoration:none; }

/* ---- Cookie-Consent ---- */
.sy-consent-overlay{ position:fixed; inset:0; background:rgba(8,14,22,.55); z-index:3000; opacity:0; visibility:hidden; transition:opacity .2s ease; }
.sy-consent-overlay.show{ opacity:1; visibility:visible; }
.sy-consent{ position:fixed; z-index:3001; left:50%; bottom:24px; transform:translate(-50%,20px);
  width:min(680px,calc(100% - 32px)); background:var(--bs-body-bg); color:var(--ink);
  border:1px solid rgba(16,32,60,.12); border-radius:16px; box-shadow:var(--sy-shadow-lg);
  opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease; }
.sy-consent.show{ opacity:1; visibility:visible; transform:translate(-50%,0); }
[data-bs-theme="dark"] .sy-consent{ border-color:rgba(255,255,255,.14); }
.sy-consent-body{ padding:1.5rem 1.6rem; }
.sy-consent-title{ font-size:1.2rem; font-weight:700; margin:0 0 .5rem; }
.sy-consent-text{ color:var(--muted,#566073); font-size:.95rem; line-height:1.6; margin:0 0 1rem; }
[data-bs-theme="dark"] .sy-consent-text{ color:#a3b0c2; }
.sy-consent-text a{ color:var(--brand-500); }
.sy-consent-cats{ display:grid; gap:.6rem; margin:0 0 1.2rem; }
.sy-consent-cat{ display:flex; gap:.6rem; align-items:flex-start; font-size:.92rem; line-height:1.45; }
.sy-consent-cat input{ margin-top:.2rem; width:18px; height:18px; accent-color:var(--brand); }
.sy-consent-actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.sy-consent-actions .btn{ flex:1 1 auto; }
.sy-consent-outline{ background:transparent; border:1.5px solid rgba(16,32,60,.18); color:var(--ink); }
.sy-consent-outline:hover{ background:rgba(var(--brand-rgb)/.08); border-color:var(--brand-300); color:var(--ink); }
[data-bs-theme="dark"] .sy-consent-outline{ border-color:rgba(255,255,255,.2); color:var(--ink); }
body.sy-consent-lock{ overflow:hidden; }
@media (max-width:560px){ .sy-consent-actions .btn{ flex:1 1 100%; } }

/* ---- Scroll-Top ---- */
.sy-top{ position:fixed; right:20px; bottom:20px; width:46px; height:46px; border-radius:50%; z-index:900;
  display:none; align-items:center; justify-content:center; background:var(--brand); color:#fff; border:none; box-shadow:var(--sy-shadow-lg); }
.sy-top.show{ display:inline-flex; }
