/**
 * A to Z Complete Home Solutions - Master Global Stylesheet
 * Unified base, typography, scrollbar resets, and animations across all 8 pages
 */

:root {
  /* Core Brand Colors */
  --color-primary: #073F32;
  --color-primary-dark: #00281E;
  --color-secondary: #B57B28;
  --color-secondary-dark: #94631D;
  --color-surface: #FCF9F2;
  --color-surface-container: #F0EEE7;
  --color-surface-container-low: #F6F3EC;
  --color-surface-container-lowest: #FFFFFF;
  --color-border: #ECE7DE;
  --color-border-subtle: #DCE5DC;
  --color-text-main: #1C1C18;
  --color-text-muted: #555C56;
  --color-text-subtle: #707975;

  /* Typography */
  --font-serif: "Playfair Display", Georgia, serif;
  --font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Elevation Shadows */
  --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.04);
  --shadow-card-hover: 0 12px 36px rgba(7, 63, 50, 0.12);
  --shadow-button: 0 4px 14px rgba(181, 123, 40, 0.28);
}

/* ==========================================================================
   Base Reset & Document Defaults
   ========================================================================== */
html,
body {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  background-color: var(--color-surface);
  color: var(--color-text-main);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  overscroll-behavior: none;
}

main > :first-child {
  margin-top: 0 !important;
}

main > :last-child {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   Universal Scrollbar Reset (Zero Clutter on Clean Touch/Trackpad UI)
   ========================================================================== */
::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* ==========================================================================
   Typography Helpers
   ========================================================================== */
.font-serif {
  font-family: var(--font-serif);
}

.font-sans {
  font-family: var(--font-sans);
}

/* ==========================================================================
   Component Transitions & Utilities
   ========================================================================== */
/* Smooth Menu & Panel Transition */
.transition-menu {
  transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1),
              opacity 300ms cubic-bezier(0.16, 1, 0.3, 1),
              visibility 300ms;
}

/* Service Sliding Card Container Reset */
.service-slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.service-card-item {
  flex-shrink: 0;
  width: 100%;
  scroll-snap-align: center;
}

@media (min-width: 1024px) {
  .service-card-item {
    width: auto;
    scroll-snap-align: none;
  }
}

/* Interactive Ripple / Active Micro-interaction */
button:active,
a[role="button"]:active {
  transform: scale(0.98);
}

/* Focus Outline Accessibility */
:focus-visible {
  outline: 2px solid var(--color-secondary);
  outline-offset: 2px;
}
