/* Mimicry.ai Custom Styles */

/* Sticky footer - only for contact page */
body.filename_contact {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.filename_contact .innerbody {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}

body.filename_contact footer {
  margin-top: auto;
}

/* === HEADER LAYOUT AND SPACING === */

/* Force proper flexbox layout on header container */
header > .container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

/* Logo stays on the left */
header > .container > div:first-child {
  flex: 0 0 auto !important;
  margin-right: 3rem !important;
}

/* Navigation gets all the remaining space and pushes right */
header > .container > div.nav {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Last div (language/search) stays on the right */
header > .container > div:last-of-type {
  flex: 0 0 auto !important;
  margin-left: 2rem !important;
}

/* Add spacing between menu items */
header nav.navnav ul {
  display: flex !important;
  gap: 2rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

header nav.navnav ul li {
  margin: 0 !important;
}

/* Language switcher spacing */
header .languages {
  margin-left: 1.5rem !important;
}

/* === LOGO SIZING === */

/* Reduce logo size for better proportion */
header .logo img {
  max-height: 40px !important;
}

/* Adjust on mobile if needed */
@media (max-width: 768px) {
  header .logo img {
    max-height: 35px !important;
  }
  
  header nav.navnav ul {
    gap: 1rem !important;
  }
}

/* === HOMEPAGE CONTENT CONSISTENCY === */

/* Ensure all brick sections use left-aligned text by default */
.brick_intro h2,
.brick_intro h3,
.brick_intro p,
.brick_intro ul,
section.intro h2,
section.intro h3,
section.intro p,
section.intro ul {
  text-align: left !important;
}

/* Exception: Keep brick_title (hero) centered - it's special */
.brick_title h1,
.brick_title .hero-subtitle,
section.title h1 {
  text-align: center !important;
}

/* Keep CTA section centered - it's a special call-out */
.brick_cta,
section.cta {
  text-align: center !important;
}

/* All other sections: left-aligned */
.brick_image h2,
.brick_image h3,
.brick_image p,
.brick_image ul,
.brick_image2 h2,
.brick_image2 h3,
.brick_image2 p,
.brick_image2 ul {
  text-align: left !important;
}

/* Ensure bullet lists are properly aligned */
section ul,
.brick_image ul,
.brick_image2 ul,
.brick_intro ul {
  list-style-position: outside !important;
  padding-left: 1.5rem !important;
  text-align: left !important;
}

section ul li,
.brick_image ul li,
.brick_image2 ul li,
.brick_intro ul li {
  text-align: left !important;
  margin-bottom: 0.5rem !important;
}

/* === FOOTER LOGO SIZING === */
/* Match footer logo size to header (40px) */
footer .logo img {
  max-height: 40px !important;
}

/* Adjust on mobile if needed */
@media (max-width: 768px) {
  footer .logo img {
    max-height: 35px !important;
  }
}

/* Compact technical step layout */
.brick_image_compact {
  padding: 1rem 0 !important;
}

/* Simple two-column grid: small image left, text right */
.brick_image_compact .container.twocols {
  display: grid !important;
  grid-template-columns: 300px 1fr !important; /* Changed from 150px to 300px */
  grid-gap: 2rem !important;
  align-items: start !important;
  direction: ltr !important;
}

/* Prevent grid blowout */
.brick_image_compact .container.twocols > div {
  min-width: 0 !important;
}

/* Make images small */
.brick_image_compact .container.twocols {
  display: grid !important;
  grid-template-columns: 300px 1fr !important; /* Changed from 150px to 300px */
  grid-gap: 2rem !important;
  align-items: start !important;
  direction: ltr !important;
}

/* Tighten spacing */
.brick_image_compact h3 {
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
}

.brick_image_compact + .brick_image_compact {
  padding-top: 0.5rem !important;
  margin-top: 0 !important;
}

.brick_image_compact p {
  margin-bottom: 0.75rem !important;
}

.brick_image_compact ul {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Label compact brick - text box instead of image */
.brick_label_compact {
  padding: 0.5rem 0 !important; /* Very tight vertical spacing */
}

.brick_label_compact .container.twocols {
  display: grid !important;
  grid-template-columns: 300px 1fr !important;
  grid-gap: 2rem !important;
  align-items: start !important;
  direction: ltr !important;
}

.brick_label_compact .container.twocols > div {
  min-width: 0 !important;
}

.brick_label_compact .label {
  background: white;
  color: var(--dark);
  border: 1px solid #bbbbbb; /* Lighter border to match theme */
  padding: 1rem;
  border-radius: 0;
  font-weight: 600;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.3;
  height: fit-content;
  box-sizing: border-box;
  margin-left: 22.5px !important; /* Match icon margin */
}

.brick_label_compact h3 {
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
}

/* Tighten spacing between consecutive label sections */
.brick_label_compact + .brick_label_compact {
  padding-top: 0 !important; /* No extra padding between sections */
  margin-top: 0 !important;
}

/* Reduce paragraph and list spacing */
.brick_label_compact p {
  margin-bottom: 0.75rem !important;
}

.brick_label_compact ul {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Reduce spacing before the first label compact section */
.brick_wide + .brick_label_compact {
  margin-top: 1rem !important;
  padding-top: 1rem !important;
}

/* Reduce spacing after the last label compact section */
.brick_label_compact + .brick_wide,
.brick_label_compact + .brick_cta {
  margin-top: 1rem !important;
  padding-top: 2rem !important;
}

/* Also tighten the section itself */
.brick_label_compact.hasbackgroundcolor {
  padding: 0.5rem 0 !important;
}

/* Override all section spacing for label compact */
section.brick_label_compact {
  padding: 0 !important;
  margin: 0 !important;
}

/* Only add minimal spacing to the container inside */
.brick_label_compact .container {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* First one after brick_wide needs a bit more space */
section.brick_wide + section.brick_label_compact .container {
  padding-top: 1.5rem !important;
}

/* Last one before brick_wide needs a bit more space */
section.brick_label_compact:last-of-type .container {
  padding-bottom: 1.5rem !important;
}

/* Simple spacing fixes between brick types */
section.brick_label_compact + section.brick_wide {
  margin-top: 1.5rem !important;
  padding-top: 1.5rem !important;
}

section.brick_wide + section.brick_label_compact {
  margin-top: 1.5rem !important;
  padding-top: 1rem !important;
}

/* Text compact brick - full width text matching compact brick layout */
.brick_text_compact {
  padding: 0.5rem 0 !important;
}

.brick_text_compact .container {
  padding: 0.5rem clamp(1rem, 4vw, 3rem) !important; /* Match base container horizontal padding */
  padding-left: calc(clamp(1rem, 4vw, 3rem) + 22.5px) !important; /* Base padding + icon margin */
  max-width: none !important;
  margin: 0 !important;
  direction: ltr !important;
}

.brick_text_compact h3 {
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
}

.brick_text_compact + .brick_text_compact,
.brick_text_compact + .brick_label_compact,
.brick_label_compact + .brick_text_compact,
.brick_text_compact + .brick_image_compact,
.brick_image_compact + .brick_text_compact {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.brick_text_compact p {
  margin-bottom: 0.75rem !important;
}

.brick_text_compact ul {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Remove rounded corners from images in brick sections */
section.image .image p img {
  border-radius: 0 !important;
}

/* Also remove from compact bricks if needed */
.brick_image_compact .image img {
  border-radius: 0 !important;
}
