/* HOSTSEO / SwiftModders integration bridge
   SwiftModders core CSS and JavaScript remain untouched. */

body.hostseo-robot-theme {
  margin: 0;
  background: #f3f7fc;
  overflow-x: hidden;
}

body.hostseo-robot-theme:not(.login) .hostseo-robot-client-stage {
  position: relative;
  z-index: 2;
  padding: 22px 0 42px;
  background:
    radial-gradient(circle at 8% 0%, rgba(44, 125, 250, .08), transparent 28%),
    linear-gradient(180deg, #f5f8fc 0%, #eef4fa 100%);
}

body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame {
  position: relative;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 0;
  border: 1px solid #dce6f1;
  border-radius: 20px;
  background: #f0f2f5;
  box-shadow: 0 22px 60px rgba(6, 23, 53, .12);
  isolation: isolate;
}

body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame::after {
  display: table;
  clear: both;
  content: "";
}

body.hostseo-robot-theme:not(.login) #sm-mmenu-helper {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  clear: both;
}

/* SwiftModders normally fixes this toolbar to the viewport. Inside the
   HOSTSEO portal shell it must remain in normal document flow. */
body.hostseo-robot-theme:not(.login) .sm-header-container {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  min-height: 60px;
  height: auto !important;
  margin: 0 !important;
  border-radius: 19px 19px 0 0;
  z-index: 40;
}

body.hostseo-robot-theme:not(.login) .sm-header-container .sm-header {
  width: 100%;
  max-width: none;
}

body.hostseo-robot-theme:not(.login) .sm-nav-container {
  width: 100%;
}

body.hostseo-robot-theme:not(.login) .sm-boxed {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.hostseo-robot-theme:not(.login) .sm-page-container {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 20px 20px 0 !important;
  clear: both;
}

body.hostseo-robot-theme:not(.login) .sm-content-container,
body.hostseo-robot-theme:not(.login) .sm-content,
body.hostseo-robot-theme:not(.login) .sm-sidebar,
body.hostseo-robot-theme:not(.login) .sm-footer {
  box-sizing: border-box;
}

body.hostseo-robot-theme:not(.login) .sm-footer {
  margin: 20px 20px 0;
  padding: 20px 0;
}

/* Shopping-cart templates use their own fluid layout. Keep them inside the
   same frame without introducing a second horizontal overflow context. */
body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame #order-standard_cart,
body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame #order-premium_comparison {
  max-width: 100%;
}

body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame table {
  max-width: 100%;
}

/* Keep dropdowns, popovers and the mobile drawer above the HOSTSEO shell. */
body.hostseo-robot-theme:not(.login) .dropdown-menu,
body.hostseo-robot-theme:not(.login) .popover,
body.hostseo-robot-theme:not(.login) .modal {
  z-index: 1700;
}

html.mm-opened body.hostseo-robot-theme .mm-menu.mm-offcanvas.mm-current {
  z-index: 1900 !important;
}

html.mm-opened body.hostseo-robot-theme #mm-blocker {
  z-index: 1850 !important;
}

/* HOSTSEO provides its own action stack. */
body.hostseo-robot-theme:not(.login) .sm-top {
  display: none !important;
}

@media (max-width: 1200px) {
  body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame {
    width: min(100% - 32px, 1180px);
  }
}

@media (max-width: 768px) {
  body.hostseo-robot-theme:not(.login) .hostseo-robot-client-stage {
    padding: 14px 0 28px;
  }

  body.hostseo-robot-theme:not(.login) .hostseo-robot-client-frame {
    width: calc(100% - 20px);
    border-radius: 14px;
  }

  body.hostseo-robot-theme:not(.login) .sm-header-container {
    min-height: 0;
    border-radius: 13px 13px 0 0;
  }

  body.hostseo-robot-theme:not(.login) .sm-page-container {
    padding: 14px 12px 0 !important;
  }

  body.hostseo-robot-theme:not(.login) .sm-footer {
    margin-right: 12px;
    margin-left: 12px;
  }
}
