/* ==========================================================================
   SETECH — responsive.css
   Breakpoints: >=1200 desktop (base, in main.css) / 992-1199 / 768-991 / <768
   ========================================================================== */


/* ---------- 992px - 1199px : small desktop / tablet landscape ---------- */
@media (max-width: 1199.98px) {
  .solution-card-list { grid-template-columns: repeat(2, 1fr); }
  .industry-grid { grid-template-columns: repeat(2, 1fr); }
  .research-area-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-channel-grid { grid-template-columns: repeat(2, 1fr); }

  .setcms-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .setcms-overview-section__grid { grid-template-columns: 1fr; gap: 24px; }
  .setcms-split-section { grid-template-columns: 1fr; }
  .setcms-split-section__left { min-height: 380px; }
  .setcms-stats-row { gap: 20px; justify-content: space-between; }

  .sarrafsoft-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .sarrafsoft-split-section { grid-template-columns: 1fr; }
  .sarrafsoft-split-section__left { min-height: 380px; }
  .sarrafsoft-hero__jewelry { width: 220px; height: 180px; opacity: 0.6; }

  .setsci-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .setsci-split-section { grid-template-columns: 1fr; }
  .setsci-split-section__left { min-height: 380px; }
  .setsci-stats-row { gap: 20px; justify-content: space-between; }

  /* ---- legal page ---- */
  .legal-body__grid { grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; }
}

/* ---------- 768px - 991px : tablet ---------- */
@media (max-width: 991.98px) {
  :root { --container-padding: 20px; }

  .site-nav {
    position: fixed;
    top: 76px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    padding: 12px 20px 32px;
    overflow-y: auto;
    transform: translateY(-8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);
    z-index: 999;
  }
  .site-nav.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }

  .site-nav__list { flex-direction: column; align-items: flex-start; gap: 4px; }
  .site-nav__link { display: block; width: 100%; padding: 14px 4px; font-size: 1rem; }
  .site-nav__link.is-active::after { bottom: 6px; height: 2px; width: 28px; }

  .site-header__actions .lang-switch { display: none; }
  .lang-switch--mobile { display: flex; }
  .nav-toggle { display: inline-flex; }

  .hero { min-height: auto; padding: 40px 0; flex-direction: column; }
  .hero__network { position: relative; height: 280px; width: 100%; margin-top: 28px; order: 2; }
  .hero__inner { order: 1; }
  .hero__content { max-width: none; }
  .hero__origin { top: auto; bottom: 6%; right: 4%; }

  /* The full-bleed network canvas is redundant alongside the stacked device/
     layer visualization at this width — keep just the visual, avoid doubling up. */
  .products-hero .hero__network,
  .solutions-hero .hero__network { display: none; }
  .products-hero__inner { flex-direction: column; align-items: stretch; }
  .products-hero__content { max-width: none; }
  .products-hero__visual,
  .solutions-hero__visual { flex: none; height: 220px; margin-top: 24px; }

  .events-hero__media {
    position: relative;
    inset: auto;
    height: 240px;
    width: 100%;
    order: 2;
    margin-top: 24px;
    border-radius: var(--radius-md);
  }
  .events-hero__media img { position: static; width: 100%; height: 100%; }
  .events-hero__media::after { display: none; }
  .events-hero__inner { order: 1; flex-direction: column; align-items: stretch; }
  .events-hero__labels { display: none; }

  .industries-section__grid { grid-template-columns: 1fr; gap: 24px; }

  .principle-grid { grid-template-columns: repeat(2, 1fr); }
  .glance-section__grid { grid-template-columns: 1fr; gap: 24px; }
  .glance-section__text { max-width: none; }
  .stat-card-grid { grid-template-columns: repeat(2, 1fr); }

  .milestone-timeline { flex-direction: column; align-items: stretch; gap: 0; margin-top: 24px; }
  .milestone {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    padding: 0 0 22px 26px;
  }
  .milestone::before { top: 0; left: 5px; width: 1px; height: 100%; }
  .milestone:first-child::before, .milestone:last-child::before { left: 5px; width: 1px; }
  .milestone:last-child { padding-bottom: 0; }
  .milestone:last-child::before { display: none; }
  .milestone__node { top: 2px; left: 0; transform: none; }
  .milestone__year { margin-top: 0; margin-right: 8px; }
  .milestone__title { max-width: none; }

  .contact-details-grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-map img { max-width: 420px; }

  .research-areas-section__grid { grid-template-columns: 1fr; gap: 20px; }
  .research-areas-section__text { max-width: none; }
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .project-grid > .reveal:last-child { grid-column: 1 / -1; max-width: calc(50% - 9px); }
  .industries-section__text { max-width: none; }

  .approach-section__inner { grid-template-columns: 1fr; gap: 20px; }
  .approach-section__text { max-width: none; }
  .approach-process { flex-wrap: wrap; justify-content: flex-start; gap: 20px; }
  .approach-process .rnd-process__arrow { display: none; }

  .capability-strip__inner { grid-template-columns: repeat(2, 1fr); row-gap: 16px; }
  .capability-item { border-left: none; padding: 0 12px; }
  .capability-item:nth-child(2n) { border-left: 1px solid var(--setech-border); }

  .product-card-list { grid-template-columns: 1fr; }
  .product-card { flex-direction: column; padding: 20px; }
  .product-card__body { flex: none; padding-right: 0; }
  .product-card__visual { margin-top: 14px; justify-content: center; }
  .product-card__visual img { width: 100%; max-width: 100%; margin-right: 0; }

  .events-section__grid { grid-template-columns: 1fr; }
  .events-section__text { max-width: none; }
  .event-grid { grid-template-columns: repeat(2, 1fr); }

  .metrics-strip__inner { grid-template-columns: repeat(3, 1fr); row-gap: 20px; }
  .metrics-strip__inner--research { grid-template-columns: repeat(2, 1fr); row-gap: 20px; }
  .research-metric:nth-child(2n) { border-left: none; padding-left: 0; }

  .rnd-section__inner { grid-template-columns: 1fr; grid-template-areas: "intro" "process" "quote"; }
  .rnd-process { flex-wrap: wrap; justify-content: flex-start; gap: 24px; }
  .rnd-process__arrow { display: none; }
  .rnd-quote { padding-top: 12px; max-width: none; margin-top: 8px; }

  .site-footer__top { grid-template-columns: 1fr 1fr; row-gap: 28px; }
  .site-footer__col--social { grid-column: auto; }

  .setcms-hero__inner { flex-direction: column; align-items: stretch; }
  .setcms-hero__content { max-width: none; }
  .setcms-hero__visual { height: 260px; margin-top: 24px; }
  .setcms-usecase-grid { grid-template-columns: 1fr; }
  .setcms-why-section__inner { flex-direction: column; align-items: flex-start; }
  .setcms-why-section__cta { align-items: flex-start; width: 100%; }
  .setcms-why-section__btn { width: 100%; justify-content: center; }

  .sarrafsoft-hero__inner { flex-direction: column; align-items: stretch; }
  .sarrafsoft-hero__content { max-width: none; }
  .sarrafsoft-hero__visual { height: 260px; margin-top: 24px; }
  .sarrafsoft-hero__jewelry { display: none; }
  .sarrafsoft-category-row { gap: 16px; }

  .setsci-hero__inner { flex-direction: column; align-items: stretch; }
  .setsci-hero__content { max-width: none; }
  .setsci-hero__visual { height: 260px; margin-top: 24px; }
  .setsci-usecase-grid,
  .setsci-split-section__right .setcms-usecase-grid { grid-template-columns: 1fr; }

  /* ---- event detail page ---- */
  .event-detail-hero__inner { flex-direction: column; align-items: flex-start; padding: 36px 0; min-height: 0; }
  .event-detail-hero__rail { display: none; }
  .event-detail-hero__content { max-width: none; }
  .event-detail-hero__city-signature { display: none; }

  .event-detail-main__grid { grid-template-columns: 1fr 1fr; }
  .event-detail-main__grid > .event-detail-card--actions { grid-column: 1 / -1; }
  .event-detail-secondary__grid { grid-template-columns: 1fr; }
  .event-detail-value-strip { grid-template-columns: repeat(2, 1fr) !important; row-gap: 16px; }
  .event-detail-value-strip .capability-item:nth-child(2n) { border-left: 1px solid var(--setech-border); }

  /* ---- legal page ---- */
  .legal-hero__inner { flex-direction: column; align-items: stretch; }
  .legal-hero__content { max-width: none; }
  .legal-hero__media {
    position: relative;
    inset: auto;
    height: 220px;
    width: 100%;
    order: 2;
    margin-top: 24px;
    border-radius: var(--radius-md);
  }
  .legal-hero__media svg { position: static; width: 100%; height: 100%; }
  .legal-hero__media::after { display: none; }
  .legal-hero__inner { order: 1; }
  .legal-hero__corner { display: none; }

  .legal-body__grid { grid-template-columns: 1fr; gap: 32px; }
  .legal-sidebar { position: static; order: 2; }
  .legal-content { order: 1; }
}

/* ---------- < 768px : mobile ---------- */
@media (max-width: 767.98px) {
  .section-title { font-size: 1.35rem; }
  .section-heading-row { flex-direction: column; align-items: flex-start; gap: 12px; }

  .hero__heading { font-size: 2rem; }
  .hero__text { font-size: 0.82rem; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn { width: 100%; }
  .hero__network { height: 240px; }
  .hero__labels { display: none; }
  .hero__origin { display: none; }

  .capability-strip__inner { grid-template-columns: 1fr; }
  .capability-item { border-left: none !important; padding: 0; }
  .capability-item + .capability-item { border-top: 1px solid var(--setech-border); padding-top: 14px; margin-top: 14px; }

  .products-section, .events-section, .rnd-section { padding: 40px 0; }

  .events-hero__media { height: 200px; }

  .archive-filters { flex-direction: column; align-items: stretch; }
  .archive-filters__field { min-width: 0; }
  .archive-summary { flex-direction: column; align-items: flex-start; }

  .archive-panel__header { grid-template-columns: 1fr; }
  .archive-panel__logo { width: 100%; height: 110px; }
  .archive-panel__actions { align-items: flex-start; text-align: left; }

  .archive-table thead { display: none; }
  .archive-table, .archive-table tbody, .archive-table tr, .archive-table td { display: block; width: 100%; }
  .archive-table tr { border-top: 1px solid var(--setech-border); padding: 12px 14px; }
  .archive-table tr:first-child { border-top: none; }
  .archive-table td { padding: 4px 0; border-top: none; }
  .archive-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--setech-muted-light);
    margin-bottom: 2px;
  }
  .archive-table td:empty { display: none; }

  .metrics-strip__inner { grid-template-columns: 1fr 1fr; row-gap: 20px; }

  .rnd-process { justify-content: space-between; }
  .rnd-step { width: 44%; }

  .products-hero__visual,
  .solutions-hero__visual { flex: none; height: 180px; margin-top: 20px; }
  .device-tag, .device-sidelist { display: none; }

  .ecosystem-section, .final-cta-section, .solutions-section, .industries-section, .approach-section { padding: 40px 0; }
  .ecosystem-section__grid { grid-template-columns: 1fr; gap: 24px; }
  .ecosystem-section__text { max-width: none; }
  .usecase-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .usecase-card { flex-direction: column; text-align: center; padding: 14px 10px; gap: 8px; }

  .final-cta-section__inner { flex-direction: column; align-items: flex-start; }
  .final-cta-section__btn { width: 100%; justify-content: center; }

  .research-areas-section, .projects-section { padding: 40px 0; }

  .contact-channels-section, .contact-details-section { padding: 40px 0; }
  .contact-channel-grid { grid-template-columns: 1fr; }
  .contact-map img { max-width: 320px; }
  .research-area-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-grid > .reveal:last-child { grid-column: auto; max-width: none; }

  .metrics-strip__inner--research { grid-template-columns: repeat(2, 1fr); row-gap: 20px; }
  .research-metric:nth-child(2n) { border-left: none; padding-left: 0; }

  .solution-card-list { grid-template-columns: 1fr; }

  .industry-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  .approach-process { flex-direction: column; align-items: center; gap: 16px; }
  .approach-process .rnd-step { width: 100%; max-width: 240px; }

  .site-footer { padding: 40px 0 24px; }
  .site-footer__top { grid-template-columns: 1fr; row-gap: 24px; }

  .setcms-overview-section, .setcms-why-section { padding: 40px 0; }
  .setcms-feature-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .setcms-feature-card { padding: 16px 10px; }
  .setcms-split-section__left, .setcms-split-section__right { padding: 32px 20px; }
  .setcms-stats-row { gap: 16px; }
  .setcms-usecase-grid { grid-template-columns: 1fr; }
  .setcms-why-list { flex-direction: column; gap: 12px; }
  .setcms-phone { width: 88px; right: -4%; }

  .sarrafsoft-feature-grid { grid-template-columns: 1fr; gap: 10px; }
  .sarrafsoft-split-section__left, .sarrafsoft-split-section__right { padding: 32px 20px; }
  .sarrafsoft-highlight-row { gap: 16px; }
  .sarrafsoft-category-row { flex-direction: column; gap: 10px; }

  .setsci-feature-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .setsci-feature-card { padding: 16px 10px; }
  .setsci-split-section__left, .setsci-split-section__right { padding: 32px 20px; }
  .setsci-stats-row { gap: 16px; }
  .setsci-dash__table { display: none; }

  /* ---- event detail page ---- */
  .event-detail-hero__title { font-size: 1.6rem; }
  .event-detail-hero__meta { gap: 12px 20px; }
  .event-detail-hero__actions { flex-direction: column; align-items: stretch; }
  .event-detail-hero__actions .btn { width: 100%; justify-content: center; }

  .event-detail-main, .event-detail-secondary { padding: 28px 0; }
  .event-detail-main__grid { grid-template-columns: 1fr; }
  .event-detail-value-strip { grid-template-columns: 1fr !important; }
  .event-detail-value-strip .capability-item { border-left: none !important; padding: 0; }
  .event-detail-value-strip .capability-item + .capability-item { border-top: 1px solid var(--setech-border); padding-top: 14px; margin-top: 14px; }

  .event-detail-tracks { grid-template-columns: 1fr; }
  .event-detail-speakers { grid-template-columns: repeat(2, 1fr); }

  /* ---- legal page ---- */
  .legal-hero__heading { font-size: 1.7rem; }
  .legal-body { padding: 8px 0 40px; }
  .legal-section__title { font-size: 1.05rem; }
  .legal-contact-row { flex-direction: column; gap: 14px; }

  /* ---- cookie consent ---- */
  .cookie-banner__inner { flex-direction: column; align-items: stretch; gap: 14px; }
  .cookie-banner__actions { flex-direction: column; align-items: stretch; }
  .cookie-banner__btn { width: 100%; justify-content: center; }
  .cookie-modal { padding: 0; align-items: flex-end; }
  .cookie-modal__panel { max-width: none; width: 100%; max-height: 88vh; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
  .cookie-modal__footer { flex-direction: column-reverse; align-items: stretch; }

  /* ---- international events strip ---- */
  .events-scroll-head__nav { display: none; }
  .event-card-compact { flex-basis: 240px; width: 240px; }
  .event-card-compact__body { padding: 12px 14px 14px; }
  .event-card-compact__logo { height: 72px; }
}
