/* SIDONN PRO responsive hardening */
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; margin: 0; overflow-x: clip; }
body { min-width: 0; }
img, video, svg, canvas, iframe { max-width: 100%; height: auto; }
.site, .site-main, main, section, header, footer { min-width: 0; max-width: 100%; }
.grid > *, .flex > * { min-width: 0; }
input, select, textarea, button { max-width: 100%; }

/* Real supplied logo */
.sidonn-brand-link { display:flex; align-items:center; gap:.55rem; text-decoration:none; min-width:0; }
.sidonn-brand-logo { width:150px; max-width:42vw; height:44px; object-fit:contain; object-position:left center; }
.sidonn-brand-copy { display:flex; flex-direction:column; line-height:1.05; white-space:nowrap; color:#374151; }
.sidonn-brand-copy strong { font-size:.82rem; letter-spacing:.04em; }
.sidonn-brand-copy small { margin-top:.25rem; font-size:.53rem; color:#64748b; letter-spacing:.08em; }

/* Compact language switcher */
.sidonn-lang-switcher { position:relative; flex:0 0 auto; }
.sidonn-lang-button, .sidonn-lang-static { display:inline-flex; align-items:center; gap:.35rem; min-height:42px; padding:.55rem .7rem; border:1px solid #e5e7eb; border-radius:.6rem; background:#f8fafc; color:#334155; font-size:.78rem; font-weight:700; white-space:nowrap; }
.sidonn-lang-menu { position:absolute; right:0; top:calc(100% + .45rem); z-index:80; min-width:180px; padding:.4rem; border:1px solid #e5e7eb; border-radius:.65rem; background:#fff; box-shadow:0 12px 34px rgba(15,23,42,.16); }
.sidonn-lang-item { display:block; padding:.55rem .65rem; border-radius:.45rem; font-size:.78rem; color:#334155; text-decoration:none; }
.sidonn-lang-item:hover, .sidonn-lang-item.is-active { background:#fff1f2; color:#c22325; }

/* WordPress custom logo constraints */
.custom-logo-link { display:block; min-width:0; }
.custom-logo { width:auto; max-width:190px; max-height:52px; object-fit:contain; }

/* Prevent utility/floating controls from widening the document */
#sidonn-scroll-top, .sidonn-floating-actions, .sidonn-mobile-bottom-bar { max-width:calc(100vw - 24px); }

@media (max-width: 1023px) {
  #masthead .h-20 { height:68px; }
  .sidonn-brand-logo { width:132px; height:40px; max-width:38vw; }
  .sidonn-brand-copy { display:none; }
}

@media (max-width: 1359px) {
  .sidonn-desktop-nav,.sidonn-header-cta { display:none; }
  .sidonn-menu-toggle { display:block; }
  .sidonn-header__inner { min-height:68px; }
  .sidonn-header__brand { flex:1; }
  .sidonn-solution-grid,.sidonn-industry-grid,.sidonn-project-grid,.sidonn-news-grid,.sidonn-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sidonn-why__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sidonn-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .sidonn-process { grid-template-columns:repeat(3,1fr); gap:26px 10px; }
  .sidonn-process li:not(:last-child)::after { display:none; }
}

@media (max-width: 767px) {
  .sidonn-shell { width:min(100% - 32px,1280px); }
  .sidonn-section { padding:56px 0; }
  .sidonn-header__brand img { max-width:135px; max-height:38px; }
  .sidonn-header__actions { gap:6px; }
  .sidonn-lang-button,.sidonn-lang-static { min-height:42px; padding:.45rem .55rem; }
  .sidonn-hero { min-height:auto; }
  .sidonn-hero__overlay { background:linear-gradient(90deg,rgba(12,15,18,.94),rgba(12,15,18,.72)); }
  .sidonn-hero__content { padding:72px 0; }
  .sidonn-hero__content h1 { max-width:620px; font-size:clamp(2.15rem,10.5vw,3.35rem); }
  .sidonn-hero__actions,.sidonn-final-cta__actions { display:grid; grid-template-columns:1fr; }
  .sidonn-hero__actions .sidonn-button,.sidonn-final-cta__actions .sidonn-button { width:100%; }
  .sidonn-hero__values { flex-wrap:wrap; gap:12px 20px; }
  .sidonn-solution-grid,.sidonn-industry-grid,.sidonn-project-grid,.sidonn-news-grid,.sidonn-service-grid,.sidonn-content-grid,.sidonn-solution-systems { grid-template-columns:1fr; }
  .sidonn-solution-card__body > p:not(.sidonn-solution-card__index) { min-height:0; }
  .sidonn-flow { grid-template-columns:1fr; gap:0; }
  .sidonn-flow li { min-height:0; display:grid; grid-template-columns:48px 1fr; align-items:center; justify-items:start; padding:8px 0; text-align:left; }
  .sidonn-flow li:not(:last-child)::after { top:52px; bottom:-8px; left:21px; width:1px; height:auto; }
  .sidonn-split,.sidonn-port__body,.sidonn-port__heading,.sidonn-contact__grid { grid-template-columns:1fr; }
  .sidonn-split__media img { min-height:300px; }
  .sidonn-feature-list { grid-template-columns:1fr; }
  .sidonn-port__heading { gap:8px; }
  .sidonn-why__grid { grid-template-columns:1fr; }
  .sidonn-process { grid-template-columns:1fr; gap:0; }
  .sidonn-process li { min-height:66px; display:grid; grid-template-columns:44px 1fr; align-items:center; text-align:left; }
  .sidonn-process span { margin:0; }
  .sidonn-process strong { margin:0; }
  .sidonn-process li:not(:last-child)::after { display:block; top:44px; bottom:-8px; left:18px; width:1px; height:auto; }
  .sidonn-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sidonn-final-cta .sidonn-shell { display:block; }
  .sidonn-final-cta__actions { margin-top:26px; }
  .sidonn-page-hero { padding:60px 0; }
  .sidonn-form-grid { grid-template-columns:1fr; }
  .sidonn-form-span { grid-column:auto; }
  .sidonn-detail-list { grid-template-columns:1fr; }
  .sidonn-spec-list > div { grid-template-columns:1fr; gap:5px; }
  .sidonn-kpi-grid { grid-template-columns:repeat(2,1fr); }
  .sidonn-detail__content { padding-top:50px; padding-bottom:60px; }
  body.sidonn-menu-open { overflow:hidden; }
  .sidonn-profile-facts,.sidonn-reference-groups { grid-template-columns:1fr; }
  .sidonn-profile-facts article,.sidonn-reference-groups article { min-height:0; }
  .sidonn-timeline li { grid-template-columns:64px 1fr; gap:16px; padding-bottom:20px; }
  .sidonn-timeline li::before { left:51px; }
  .sidonn-timeline div::before { left:-24px; }
  .sidonn-floating-actions { display:none; }
  .sidonn-mobile-scroll-top { position:fixed; right:14px; bottom:calc(env(safe-area-inset-bottom,0px) + 76px); z-index:110; display:grid; }
}

@media (max-width: 390px) {
  .sidonn-shell { width:min(100% - 28px,1280px); }
  .sidonn-header__brand img { max-width:112px; }
  .sidonn-lang-button,.sidonn-lang-static { font-size:.68rem; padding:.35rem .45rem; }
  .sidonn-menu-toggle { width:40px; height:40px; }
  .sidonn-hero__content h1 { font-size:2.08rem; }
  .sidonn-hero__lead { font-size:.96rem; }
  .sidonn-logo-grid,.sidonn-kpi-grid { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
  .sidonn-gallery { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
  /* Topbar: avoid the exact horizontal overflow seen in mobile preview. */
  body > #page > .bg-\[\#15191E\] { overflow:hidden; }
  body > #page > .bg-\[\#15191E\] > div { width:100%; max-width:100%; gap:.5rem; padding-left:16px; padding-right:16px; }
  body > #page > .bg-\[\#15191E\] > div > div:first-child { min-width:0; flex:1 1 auto; overflow:hidden; }
  body > #page > .bg-\[\#15191E\] > div > div:first-child > span:first-child { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body > #page > .bg-\[\#15191E\] > div > div:last-child { flex:0 0 auto; }
  body > #page > .bg-\[\#15191E\] > div > div:last-child > span,
  body > #page > .bg-\[\#15191E\] > div > div:last-child > a:not(:first-child) { display:none; }

  #masthead > div { padding-left:14px !important; padding-right:14px !important; }
  .site-branding { flex:1 1 auto; overflow:hidden; }
  .sidonn-brand-logo { width:118px; max-width:34vw; }
  .sidonn-lang-button, .sidonn-lang-static { min-height:40px; padding:.45rem .55rem; }

  /* Never force desktop fixed widths on small screens. */
  [class*="min-w-["], [style*="min-width"] { min-width:0 !important; }
  section > div[class*="max-w-"] { width:100%; max-width:100%; }
  .grid { min-width:0; }

  /* Form readability; also prevents iOS focus zoom. */
  input, select, textarea { width:100%; min-width:0; font-size:16px !important; }

  /* Reserve room for the fixed mobile contact bar. */
  body { padding-bottom:72px; }
  footer { padding-bottom:max(72px, env(safe-area-inset-bottom)); }
}

@media (max-width: 390px) {
  .sidonn-brand-logo { width:108px; max-width:31vw; }
  .sidonn-lang-button, .sidonn-lang-static { font-size:.7rem; padding:.4rem .48rem; }
  #sidonn-mobile-menu-toggle { padding:.45rem !important; min-width:40px !important; min-height:40px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* B2B intro responsive hardening */
@media (max-width: 1023px) {
  .sidonn-b2b-shell { grid-template-columns: 1fr; gap: 2.5rem; }
  .sidonn-b2b-copy { max-width: 820px; }
  .sidonn-tech-visual { max-width: 820px; }
  .sidonn-heading-split { grid-template-columns: 1fr; gap: 1rem; }
  .sidonn-capability-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sidonn-visual-proof-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sidonn-proof-large { grid-column: 1 / -1; }
  .sidonn-capability-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 639px) {
  .sidonn-b2b-hero { padding-top: 2.75rem; }
  .sidonn-b2b-shell,
  .sidonn-b2b-inner { width: min(100% - 32px, 1320px); }
  .sidonn-b2b-copy h1 { font-size: clamp(2.15rem, 11vw, 3.25rem); line-height: 1.02; }
  .sidonn-supporting-copy { font-size: .9rem; }
  .sidonn-hero-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sidonn-hero-capabilities span { min-width: 0; }
  .sidonn-b2b-actions { display: grid; grid-template-columns: 1fr; }
  .sidonn-btn { width: 100%; min-width: 0; }
  .sidonn-tech-visual { border-radius: 14px; }
  .sidonn-tech-visual > img { aspect-ratio: 4 / 3; }
  .sidonn-visual-tabs span { padding: 8px 9px; font-size: 8px; }
  .sidonn-status-top { display: none; }
  .sidonn-visual-overlay { right: 10px; bottom: 48px; left: 10px; grid-template-columns: 1fr; }
  .sidonn-visual-overlay > div { padding: 8px 10px; }
  .sidonn-visual-overlay > div:nth-child(2) { border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
  .sidonn-visual-footer { min-height: 44px; padding: 0 11px; font-size: 8px; }
  .sidonn-capability-section { padding: 4rem 0; }
  .sidonn-capability-grid { grid-template-columns: 1fr; }
  .sidonn-capability-card { padding: 20px; }
  .sidonn-visual-proof-grid { grid-template-columns: 1fr; }
  .sidonn-proof-large { grid-column: auto; }
  .sidonn-proof-card,
  .sidonn-proof-card img { min-height: 270px; }
  .sidonn-capability-stats { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .sidonn-capability-stats > div { padding: 16px 14px; }
  .sidonn-capability-stats strong { font-size: clamp(1.35rem, 7vw, 1.85rem); overflow-wrap: anywhere; }
}

@media (max-width: 374px) {
  .sidonn-b2b-shell,
  .sidonn-b2b-inner { width: min(100% - 28px, 1320px); }
  .sidonn-hero-capabilities { grid-template-columns: 1fr; }
  .sidonn-capability-stats { grid-template-columns: 1fr; }
}
