/*
Theme Name: Stratus Child
Template: generatepress
Author: Stratus Cloud Technologies
Version: 2.0.0
Description: Child theme for Stratus Cloud Technologies — brand styling only.
*/

:root {
  --sct-navy: #003469;
  --sct-navy-dark: #002247;
  --sct-navy-deep: #001a38;
  --sct-red: #A32028;
  --sct-red-dark: #85191f;
  --sct-ink: #1f2933;
  --sct-muted: #5b6673;
  --sct-line: #e3e7ec;
  --sct-bg-soft: #f5f7fa;
  --sct-content: 1120px;
  --sct-gutter: clamp(20px, 4vw, 32px);
}

/* ---------- Base ---------- */
html { overflow-x: hidden; }
body {
  background: #fff;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--sct-ink);
  line-height: 1.65;
}
h1, h2, h3, h4 {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--sct-navy);
  line-height: 1.2;
}
a { color: var(--sct-navy); }
a:hover { color: var(--sct-red); }

/* Logo only in the header — hide the text site title */
.main-title { display: none; }

/* Kill GeneratePress's boxed-content look: no gray page background,
   no white card with padding, no page-title band. */
.separate-containers .inside-article { padding: 0; background: transparent; }
.separate-containers .site-main { margin: 0 !important; }
.site-content { background: #fff; }
.page .entry-header { display: none; }

/* ---------- Full-bleed section bands ---------- */
.sct-hero, .sct-section {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  max-width: none;
}
/* Constrain and center every band's direct children */
.sct-hero > *, .sct-section > * {
  max-width: var(--sct-content);
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--sct-gutter);
  padding-right: var(--sct-gutter);
}

/* ---------- Hero ---------- */
.sct-hero {
  background: linear-gradient(135deg, var(--sct-navy) 0%, var(--sct-navy-dark) 100%);
  padding: 88px 0;
}
.sct-hero h1, .sct-hero h2 { color: #fff; }
.sct-hero h1 {
  font-size: clamp(2.1rem, 4.2vw, 3.3rem);
  font-weight: 700;
  letter-spacing: -0.5px;
  margin: 0 auto 18px;
}
.sct-hero p {
  color: #d9e2ee;
  font-size: 1.22rem;
  line-height: 1.6;
  margin-bottom: 34px;
}
.sct-hero .wp-block-buttons { gap: 14px; }

/* ---------- Sections ---------- */
.sct-section { padding: 76px 0; }
.sct-section--soft { background: var(--sct-bg-soft); }
.sct-section h2 { font-size: clamp(1.65rem, 2.6vw, 2.15rem); margin-bottom: 14px; }
p.sct-lede { font-size: 1.15rem; color: var(--sct-muted); line-height: 1.7; }
p.sct-lede.has-text-align-center { max-width: 780px; }

/* ---------- Buttons ---------- */
.wp-block-button.sct-btn a.wp-block-button__link {
  background: var(--sct-red);
  color: #fff;
  border: 0;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  padding: 14px 28px;
  transition: background .15s ease, transform .15s ease;
}
.wp-block-button.sct-btn a.wp-block-button__link:hover,
.wp-block-button.sct-btn a.wp-block-button__link:focus {
  background: var(--sct-red-dark);
  color: #fff;
  transform: translateY(-1px);
}
.wp-block-button.sct-btn--ghost a.wp-block-button__link {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, .85);
  padding: 12px 26px;
}
.wp-block-button.sct-btn--ghost a.wp-block-button__link:hover,
.wp-block-button.sct-btn--ghost a.wp-block-button__link:focus {
  background: #fff;
  color: var(--sct-navy);
  transform: translateY(-1px);
}

/* ---------- Service cards ---------- */
/* Classic-theme group blocks render a legacy __inner-container with 40px
   padding — remove it inside cards/boxes (the section-level one keeps our
   gutter padding via the rules above). */
.sct-card .wp-block-group__inner-container,
.sct-box .wp-block-group__inner-container,
.sct-legal .wp-block-group__inner-container { padding: 0; }

.sct-cards { margin-top: 34px; gap: 24px; }
.sct-card {
  background: #fff;
  border: 1px solid var(--sct-line);
  border-radius: 14px;
  padding: 30px 28px;
  height: 100%;
  text-align: left;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.sct-card:hover {
  box-shadow: 0 12px 32px rgba(0, 52, 105, .12);
  border-color: #c8d4e2;
  transform: translateY(-3px);
}
.sct-card h3 { margin: 0 0 8px; font-size: 1.18rem; }
.sct-card p { margin: 0 0 16px; color: var(--sct-muted); font-size: .98rem; }
.sct-more a {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: .95rem;
  color: var(--sct-red);
  text-decoration: none;
}
.sct-more a:hover { color: var(--sct-red-dark); }

/* Icons rendered by the theme (no HTML in the editor) */
.sct-card::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.sct-card--cloud::before  { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23003469'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17.5%2019a4.5%204.5%200%200%200%200-9h-1.8A7%207%200%201%200%204%2015.7'/%3E%3C/svg%3E"); }
.sct-card--server::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23003469'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='4'%20width='18'%20height='7'%20rx='1'/%3E%3Crect%20x='3'%20y='13'%20width='18'%20height='7'%20rx='1'/%3E%3Cpath%20d='M7%207.5h.01M7%2016.5h.01'/%3E%3C/svg%3E"); }
.sct-card--voice::before  { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23003469'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3%2019.5%2019.5%200%200%201-6-6%2019.8%2019.8%200%200%201-3-8.6A2%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1.9.3%201.8.7%202.7a2%202%200%200%201-.5%202.1L8.1%209.9a16%2016%200%200%200%206%206l1.4-1.2a2%202%200%200%201%202.1-.5c.9.4%201.8.6%202.7.7a2%202%200%200%201%201.7%202z'/%3E%3C/svg%3E"); }
.sct-card--vcio::before   { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23003469'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%207h-9M14%2017H5M17%203l3%204-3%204M7%2021l-3-4%203-4'/%3E%3C/svg%3E"); }

/* ---------- Feature list ---------- */
.sct-features { list-style: none; margin: 28px auto 0; padding-top: 0; padding-bottom: 0; }
.sct-features li { position: relative; padding-left: 32px; margin-bottom: 13px; font-size: 1.05rem; }
.sct-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--sct-navy);
  box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px var(--sct-navy);
}
.sct-section .wp-block-buttons { margin-top: 30px; }

/* ---------- Contact + Legal ---------- */
.sct-contact { list-style: none; font-size: 1.12rem; }
.sct-contact li { margin-bottom: 12px; }
.sct-contact strong { color: var(--sct-navy); font-family: "Poppins", sans-serif; }
.sct-legal { max-width: min(var(--sct-content), 780px) !important; margin-left: auto !important; margin-right: auto !important; }
.sct-legal h1 { font-size: 2rem; margin-bottom: 6px; }
.sct-legal h2 { font-size: 1.2rem; margin: 34px 0 10px; }
.sct-box {
  border: 1px solid var(--sct-line);
  border-left: 4px solid var(--sct-navy);
  background: var(--sct-bg-soft);
  border-radius: 8px;
  padding: 20px 22px;
  margin: 24px 0;
}
.sct-box h2:first-child { margin-top: 0; }

/* ---------- Footer ---------- */
.footer-widgets {
  background: var(--sct-navy-dark);
  color: #b9c7d8;
  padding: 52px 0 44px;
}
.footer-widgets .inside-footer-widgets {
  max-width: var(--sct-content);
  margin: 0 auto;
  padding: 0 var(--sct-gutter);
}
.sct-footgrid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.sct-footgrid strong {
  display: block;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 1.02rem;
  margin-bottom: 10px;
}
.sct-footgrid a { color: #dbe4ef; text-decoration: none; }
.sct-footgrid a:hover { color: #fff; text-decoration: underline; }
.site-info { background: var(--sct-navy-deep); color: #8fa3ba; }
.site-info a { color: #b9c7d8; }

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
  .sct-hero { padding: 56px 0; }
  .sct-hero h1 { font-size: 2rem; }
  .sct-hero p { font-size: 1.08rem; }
  .sct-section { padding: 52px 0; }
  .sct-footgrid { grid-template-columns: 1fr; gap: 26px; }
}
