/*
Theme Name: Maw Consultant Theme
Author: Saget Dev
Version: 0.1.0
*/

/* Design System - Light Mode (Default) */
:root {
  /* Colors */
  --color-background: #FFFFFF;
  --color-foreground: #000000;
  --color-card: #FFFFFF;
  --color-card-foreground: #000000;
  --color-popover: #FFFFFF;
  --color-popover-foreground: #000000;
  --color-primary: #2251FF;
  --color-primary-foreground: #FFFFFF;
  --color-secondary: #F5F5F5;
  --color-secondary-foreground: #051C2C;
  --color-muted: #F0F0F0;
  --color-muted-foreground: #757575;
  --color-accent: #F5F5F5;
  --color-accent-foreground: #000000;
  --color-destructive: #D32F2F;
  --color-destructive-foreground: #FFFFFF;
  --color-border: #E6E6E6;
  --color-input: #E6E6E6;
  --color-ring: #2251FF;

  /* Chart Colors */
  --color-chart-1: #2251FF;
  --color-chart-2: #051C2C;
  --color-chart-3: #007AFF;
  --color-chart-4: #757575;
  --color-chart-5: #4D4D4D;

  /* Sidebar Colors */
  --color-sidebar: #FAFAFA;
  --color-sidebar-foreground: #000000;
  --color-sidebar-primary: #2251FF;
  --color-sidebar-primary-foreground: #FFFFFF;
  --color-sidebar-accent: #F5F5F5;
  --color-sidebar-accent-foreground: #000000;
  --color-sidebar-border: #E6E6E6;
  --color-sidebar-ring: #2251FF;

  /* Border Radius */
  --radius-sm: 0px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-xl: 8px;

  /* Spacing Scale */
  --spacing-0: 0px;
  --spacing-px: 1px;
  --spacing-0-5: 2px;
  --spacing-1: 4px;
  --spacing-1-5: 6px;
  --spacing-2: 8px;
  --spacing-2-5: 10px;
  --spacing-3: 12px;
  --spacing-3-5: 14px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-7: 28px;
  --spacing-8: 32px;
  --spacing-9: 36px;
  --spacing-10: 40px;
  --spacing-11: 44px;
  --spacing-12: 48px;
  --spacing-14: 56px;
  --spacing-15: 60px;
  --spacing-16: 64px;
  --spacing-20: 80px;
  --spacing-24: 96px;
  --spacing-28: 112px;
  --spacing-32: 128px;
  --spacing-36: 144px;
  --spacing-40: 160px;
  --spacing-48: 192px;
  --spacing-56: 224px;
  --spacing-64: 256px;
  --spacing-72: 288px;
  --spacing-80: 320px;
  --spacing-96: 384px;

  /* Container Padding System */
  /* These variables ensure consistent horizontal padding across all sections */
  --container-padding-x: var(--spacing-36); /* 144px - Desktop default */
  --container-padding-outer: var(--spacing-20); /* 80px - For two-layer sections (outer container) */
  --container-padding-inner: var(--spacing-16); /* 64px - For two-layer sections (inner content) */

  /* Shadow */
  --shadow-x: 0px;
  --shadow-y: 1px;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-opacity: 0.1;
  --shadow: var(--shadow-x) var(--shadow-y) var(--shadow-blur) var(--shadow-spread) rgba(0, 0, 0, var(--shadow-opacity));

  /* Typography */
  --font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Gambetta", Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Dark mode removed - Light mode only */

/* Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  /* Fixed header offset for anchor navigation (e.g. #about, #services) */
  scroll-padding-top: 100px;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-background);
  color: var(--color-foreground);
  line-height: 1.6;
  overflow-x: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

/* Links */
a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  opacity: 0.5;
}

/* Remove default WordPress/theme spacing */
.site-main {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#page {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* Ensure full-width blocks display correctly */
.site-main > * {
  margin: 0;
  width: 100%;
}

/* ============================================
   RESPONSIVE CONTAINER PADDING
   ============================================ */

/* Large Desktop (1440px and below) */
@media (max-width: 1440px) {
  :root {
    --container-padding-x: var(--spacing-20); /* 80px */
    --container-padding-outer: var(--spacing-14); /* 56px */
    --container-padding-inner: var(--spacing-6); /* 24px */
  }
}

/* Desktop (1200px and below) */
@media (max-width: 1200px) {
  :root {
    --container-padding-x: var(--spacing-15); /* 60px */
    --container-padding-outer: var(--spacing-10); /* 40px */
    --container-padding-inner: var(--spacing-5); /* 20px */
  }
}

/* Tablet (1024px and below) */
@media (max-width: 1024px) {
  :root {
    --container-padding-x: var(--spacing-10); /* 40px */
    --container-padding-outer: var(--spacing-6); /* 24px */
    --container-padding-inner: var(--spacing-4); /* 16px */
  }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {
  :root {
    --container-padding-x: var(--spacing-6); /* 24px */
    --container-padding-outer: var(--spacing-5); /* 20px */
    --container-padding-inner: var(--spacing-1); /* 4px */
  }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
  :root {
    --container-padding-x: var(--spacing-5); /* 20px */
    --container-padding-outer: var(--spacing-4); /* 16px */
    --container-padding-inner: var(--spacing-1); /* 4px */
  }
}

/* ============================================
   GUTENBERG BLOCK TYPOGRAPHY - POST PAGES
   ============================================ */

/* Heading Blocks - Main H1/H2 Headings (48px) */
.wp-block-heading,
.site-main > h1,
.site-main > h2,
.site-main > h3,
.site-main > h4,
.site-main > h5,
.site-main > h6 {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-secondary-foreground);
  line-height: 1.16;
  width: 100%;
  max-width: 800px;
  margin: 0 auto .8em auto;
  padding: 80px var(--container-padding-x, 144px) 0 var(--container-padding-x, 144px);
}

.wp-block-heading[data-level="1"],
h1.wp-block-heading {
  font-size: 48px;
  line-height: 56px;
  color: var(--color-secondary-foreground);
}

.wp-block-heading[data-level="2"],
h2.wp-block-heading {
  font-size: 30px;
  line-height: 38px;
  color: var(--color-secondary-foreground);
}

.wp-block-heading[data-level="3"],
h3.wp-block-heading {
  font-size: 28px;
  line-height: 32px;
  color: var(--color-foreground);
}

.wp-block-heading[data-level="4"],
h4.wp-block-heading {
  font-size: 24px;
  line-height: 28px;
  color: var(--color-secondary-foreground);
}

.wp-block-heading[data-level="5"],
h5.wp-block-heading,
.wp-block-heading[data-level="6"],
h6.wp-block-heading {
  font-size: 20px;
  line-height: 28px;
  color: var(--color-secondary-foreground);
}

/* Paragraph Blocks - Body Text (16px) */
.wp-block-paragraph,
.site-main > p {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-secondary-foreground);
  letter-spacing: 0;
  width: 100%;
  max-width: 800px;
  margin: 0 auto 1.5em auto;
  padding: 0 var(--container-padding-x, 144px);
}

/* Paragraph with light gray text variant */
.wp-block-paragraph.is-style-light,
.site-main > p.is-style-light {
  color: var(--color-muted-foreground);
}

/* Remove default margin on last elements */
.wp-block-heading:last-child,
.wp-block-paragraph:last-child {
  margin-bottom: 0;
}

/* Responsive typography scaling for post pages */
@media (max-width: 1024px) {
  .wp-block-heading[data-level="1"],
  h1.wp-block-heading,
  .wp-block-heading[data-level="2"],
  h2.wp-block-heading {
    font-size: 36px;
    line-height: 44px;
  }

  .wp-block-heading[data-level="3"],
  h3.wp-block-heading {
    font-size: 28px;
    line-height: 36px;
  }

  .wp-block-heading[data-level="4"],
  h4.wp-block-heading {
    font-size: 22px;
    line-height: 30px;
  }

  .wp-block-paragraph {
    font-size: 15px;
    line-height: 23px;
  }
}

@media (max-width: 768px) {
  .wp-block-heading[data-level="1"],
  h1.wp-block-heading,
  .wp-block-heading[data-level="2"],
  h2.wp-block-heading {
    font-size: 32px;
    line-height: 40px;
  }

  .wp-block-heading[data-level="3"],
  h3.wp-block-heading {
    font-size: 24px;
    line-height: 32px;
  }

  .wp-block-heading[data-level="4"],
  h4.wp-block-heading {
    font-size: 20px;
    line-height: 28px;
  }

  .wp-block-paragraph {
    font-size: 14px;
    line-height: 22px;
  }
}

@media (max-width: 480px) {
  .wp-block-heading[data-level="1"],
  h1.wp-block-heading,
  .wp-block-heading[data-level="2"],
  h2.wp-block-heading {
    font-size: 28px;
    line-height: 36px;
  }

  .wp-block-heading[data-level="3"],
  h3.wp-block-heading {
    font-size: 22px;
    line-height: 30px;
  }

  .wp-block-heading[data-level="4"],
  h4.wp-block-heading {
    font-size: 18px;
    line-height: 26px;
  }

  .wp-block-paragraph {
    font-size: 14px;
    line-height: 22px;
  }
}

/* ============================================
   IMAGE BLOCKS - POST PAGES
   ============================================ */

.wp-block-image,
.site-main figure {
  width: 100%;
  max-width: 800px;
  margin: 2em auto;
  padding: 0 var(--container-padding-x, 144px);
}

.wp-block-image img,
.site-main figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.wp-block-image.alignwide,
.wp-block-image.alignfull {
  max-width: 100%;
}

.wp-block-image figcaption {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-muted-foreground);
  margin-top: 12px;
  text-align: center;
}

/* ============================================
   LIST BLOCKS - POST PAGES
   ============================================ */

.wp-block-list,
.site-main ul,
.site-main ol {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 1.5em auto;
  padding-left: calc(var(--container-padding-x, 144px) + 24px);
  padding-right: var(--container-padding-x, 144px);
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-secondary-foreground);
}

/* Add left padding specifically to .wp-block-list for proper indentation */
.wp-block-list {
  padding-left: calc(var(--container-padding-x, 144px) + 24px) !important;;
}

.wp-block-list li,
.site-main ul li,
.site-main ol li {
  margin-bottom: 12px;
  padding-left: 8px;
}

.wp-block-list li:last-child,
.site-main ul li:last-child,
.site-main ol li:last-child {
  margin-bottom: 0;
}

/* Unordered lists */
.wp-block-list ul,
.site-main ul {
  list-style-type: disc;
}

.wp-block-list ul li,
.site-main ul li {
  list-style-position: outside;
}

/* Ordered lists */
.wp-block-list ol,
.site-main ol {
  list-style-type: decimal;
}

.wp-block-list ol li,
.site-main ol li {
  list-style-position: outside;
}

/* Nested lists */
.wp-block-list li ul,
.wp-block-list li ol,
.site-main ul li ul,
.site-main ul li ol,
.site-main ol li ul,
.site-main ol li ol {
  margin-top: 8px;
  margin-bottom: 0;
  padding-left: 24px;
}

/* Responsive list padding */
@media (max-width: 1024px) {
  .wp-block-list,
  .site-main ul,
  .site-main ol {
    padding-left: var(--container-padding-x, 80px);
    padding-right: var(--container-padding-x, 80px);
  }
}

@media (max-width: 768px) {
  .wp-block-list,
  .site-main ul,
  .site-main ol {
    padding-left: var(--container-padding-x, 32px);
    padding-right: var(--container-padding-x, 32px);
  }

  /* Add left padding specifically to .wp-block-list for tablet */
  .wp-block-list {
    padding-left: calc(var(--container-padding-x, 40px) + 24px) !important;
  }

  .wp-block-list li,
  .site-main ul li,
  .site-main ol li {
    margin-bottom: 10px;
  }
}

@media (max-width: 480px) {
  .wp-block-list,
  .site-main ul,
  .site-main ol {
    padding-left: var(--container-padding-x, 20px);
    padding-right: var(--container-padding-x, 20px);
  }

  /* Add left padding specifically to .wp-block-list for mobile */
  .wp-block-list {
    padding-left: calc(var(--container-padding-x, 20px) + 24px) !important;;
  }

  .wp-block-list li,
  .site-main ul li,
  .site-main ol li {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 8px;
  }
}

/* ============================================
   NAVIGATION BLOCK RESPONSIVE STYLES
   ============================================ */

/* Align navigation menu items and buttons on mobile */
@media (max-width: 768px) {
  /* Make navigation flex container responsive */
  .wp-block-navigation {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  /* Align navigation items and buttons to the left */
  .wp-block-navigation__container {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding-left: 0 !important;
  }

  /* Ensure menu items take full width */
  .wp-block-navigation__submenu-container li,
  .wp-block-navigation li {
    width: 100%;
  }

  /* Align buttons within navigation to the left */
  .wp-block-navigation .wp-block-button {
    width: 100%;
  }

  .wp-block-navigation .wp-block-button__link {
    width: 100%;
    text-align: left;
    padding-left: 0;
  }
}

/* ============================================
   NAVIGATION CTA - OPEN IN NEW TAB
   ============================================ */

/* Add visual indicator for external links in navigation CTA */
.wp-block-navigation .wp-block-button__link[target="_blank"]::after {
  content: none;
}