/* SwissInjection V3 structural styles. Design layer can override via variables. */
.si-lang{display:flex;gap:6px;align-items:center}
.si-lang__link{font-size:var(--si-text-xs);font-weight:700;color:var(--si-grey-800);padding:4px 6px;border:1px solid var(--si-grey-200);border-radius:var(--si-radius)}
.si-lang__link.is-active{background:var(--si-red);border-color:var(--si-red);color:var(--si-white)}
.si-lang__flag{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0)}
.si-nav__item--has-sub{position:relative}
.si-nav__item--has-sub .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:var(--si-white);border:1px solid var(--si-grey-200);box-shadow:var(--si-shadow-md);z-index:20}
.si-nav__item--has-sub:hover .sub-menu,.si-nav__item--has-sub:focus-within .sub-menu{display:block}
.si-nav__item--has-sub .sub-menu a{display:block;padding:10px 14px;color:var(--si-grey-800)}
.si-v3-layout{display:grid;grid-template-columns:1fr;gap:32px}
.si-v3-side{display:grid;gap:16px}
.si-v3-grid-2{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.si-info-card,.si-price-card,.si-case-card{background:var(--si-white);border:1px solid var(--si-grey-200);border-radius:var(--si-radius-lg);padding:24px;box-shadow:var(--si-shadow-sm)}
.si-section--grey .si-info-card{background:var(--si-white)}
.si-price-card__price{display:block;font-size:var(--si-text-xl);color:var(--si-red);margin:8px 0 14px}
.si-check-list,.si-process-list{list-style:none;display:grid;gap:10px;margin:16px 0}
.si-check-list li,.si-process-list li{padding-left:28px;position:relative}
.si-check-list li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--si-red)}
.si-process-list{counter-reset:si-step}
.si-process-list li{counter-increment:si-step}
.si-process-list li::before{content:counter(si-step);position:absolute;left:0;top:.1em;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--si-red);color:var(--si-white);font-size:12px;font-weight:700}
.si-v3-table{width:100%;border-collapse:collapse;background:var(--si-white);margin:24px 0}
.si-v3-table th,.si-v3-table td{border:1px solid var(--si-grey-200);padding:12px;text-align:left;vertical-align:top}
.si-v3-table th{background:var(--si-grey-100);font-weight:700}
.si-faq-list details,.si-case-card{margin-bottom:12px}
.si-case-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}
.si-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}
.si-stats-row div{background:var(--si-white);border:1px solid var(--si-grey-200);padding:18px;border-radius:var(--si-radius-lg);text-align:center}
.si-stats-row strong{display:block;color:var(--si-red);font-size:var(--si-text-3xl)}
.si-testimonials{display:grid;gap:16px;margin:24px 0}
.si-testimonials blockquote{background:var(--si-white);border-left:4px solid var(--si-red);padding:18px;border-radius:var(--si-radius)}
.si-testimonials cite{display:block;margin-top:12px;color:var(--si-grey-600);font-style:normal;font-size:var(--si-text-sm)}
.si-mini-calc label{display:grid;gap:6px;margin-bottom:12px;font-weight:600}
.si-mini-calc input,.si-mini-calc select{border:1px solid var(--si-grey-200);border-radius:var(--si-radius);padding:10px}
@media (min-width:768px){
  .si-v3-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .si-stats-row{grid-template-columns:repeat(5,1fr)}
}
@media (min-width:1024px){
  .si-v3-layout{grid-template-columns:minmax(0,1fr) 340px}
}
@media (max-width:1023px){
  .si-lang{display:none}
  .si-nav__item--has-sub .sub-menu{position:static;display:block;border:0;box-shadow:none;background:transparent;padding-left:12px}
}

/* V4 hardening: visible structure even before final design layer */
.si-header{background:#1A1A1A;color:#fff}
.si-header .si-nav__link,.si-header a{color:#fff}
.si-header .si-btn--primary{background:#D31F26;color:#fff}
.si-hero{min-height:600px;background:#1A1A1A;color:#fff}
.si-hero__title,.si-hero__lead{color:#fff}
.si-section{padding:80px 0}
.si-section--grey{background:#F5F5F5}
.si-section--dark{background:#1A1A1A;color:#fff}
.si-section--red{background:#D31F26;color:#fff}
.si-section--dark h1,.si-section--dark h2,.si-section--dark h3,.si-section--red h1,.si-section--red h2,.si-section--red h3{color:#fff}
.si-card{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:32px}
.si-btn--primary{background:#D31F26;color:#fff;padding:14px 28px;border-radius:4px;font-weight:600;display:inline-block}
.si-btn--outline{border:2px solid #fff;color:#fff;padding:12px 26px;border-radius:4px}
.si-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.si-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
@media (max-width:768px){
  .si-grid-3,.si-grid-2{grid-template-columns:1fr}
  .si-hero{min-height:400px}
  .si-section{padding:48px 0}
}
