/* Hallmark · theme: dose · shape: workbench · genre: modern-minimal
 * paper: #F8F6EF · surface: #FFFDF7 · ink: #10231C · accent: #067A4E · display: Schibsted Grotesk · body: Instrument Sans · mono: DM Mono
 * posture: committed · contrast: pass · fold: pass · v2.0.0 */
@import url("./tokens.css");
@import url("./base.css");

/*
Theme Name: Step Insight Solution
Theme URI: https://stepinsightsolution.com
Author: Step Insight Solution (Pvt) Limited
Author URI: https://stepinsightsolution.com
Description: Premium, international custom-coded WordPress theme for Step Insight Solution (Pvt) Limited. Hallmark-powered editorial redesign for enterprise digital engineering.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: stepinside
Tags: custom-header, custom-menu, featured-images, full-width-template, theme-options, translation-ready
*/

/* ==========================================================================
   CSS RESETS & OVERFLOW INTEGRITY (HALLMARK FLOOR)
   ========================================================================== */
html, body {
  overflow-x: clip;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-md);
  line-height: 1.6;
}

main#primary {
  flex: 1 0 auto;
}

/* ==========================================================================
   GLOBAL ICON UTILITY SYSTEM
   ========================================================================== */
.icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 1;
  fill: currentColor;
}

.icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.icon-2xs { width: 12px; height: 12px; }
.icon-xs  { width: 16px; height: 16px; }
.icon-sm  { width: 20px; height: 20px; }
.icon-md  { width: 24px; height: 24px; }
.icon-lg  { width: 32px; height: 32px; }
.icon-xl  { width: 40px; height: 40px; }
.icon-2xl { width: 48px; height: 48px; }

/* ==========================================================================
   LAYOUT CONTAINERS (SINGLE UNIFIED MEASURE)
   ========================================================================== */
.site-container,
.site-container-narrow,
.site-container-wide {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
  box-sizing: border-box;
}

.section-gap {
  padding-block: var(--section-gap);
}

.section-gap-s {
  padding-block: var(--section-gap-s);
}

/* ==========================================================================
   EDITORIAL SECTION HEADERS (NO EYEBROWS, NO TRACKED CAPS)
   ========================================================================== */
.section-header {
  max-width: 68ch;
  margin-bottom: var(--space-2xl);
}

.section-header.text-center {
  margin-inline: auto;
  text-align: center;
}

.section-tag {
  display: inline-block;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-accent);
  margin-bottom: var(--space-xs);
}

.section-tag.tag-amber {
  color: var(--color-amber-dark);
}

.section-title {
  font-family: var(--font-display);
  font-size: var(--text-section);
  font-weight: 700;
  color: var(--color-ink);
  line-height: 1.1;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
  margin-bottom: var(--space-sm);
}

.section-desc {
  font-size: var(--text-lead);
  color: var(--color-muted);
  line-height: 1.55;
  text-wrap: pretty;
}

/* ==========================================================================
   BUTTONS & ACTIONS (CANONICAL DOSE MOLDED RECIPE IN BASE.CSS)
   ========================================================================== */
/* Quiet Outline for Dark Canvases */
.btn-outline-dark {
  background-color: transparent;
  color: var(--color-ink-white);
  border: 1px solid var(--color-rule-dark);
  box-shadow: inset 0 1px 0 var(--glint);
}

.btn-outline-dark:hover,
.btn-outline-dark:focus-visible {
  background-color: var(--color-surface-translucent);
  border-color: var(--color-rule);
}

.btn-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--dur-short) var(--ease-out), gap var(--dur-short) var(--ease-out);
}

.btn-link:active {
  color: var(--color-accent-hover);
}

.btn-link:hover,
.btn-link:focus-visible {
  color: var(--color-accent-hover);
  gap: var(--space-xs);
}

/* ==========================================================================
   WORDPRESS ESSENTIALS
   ========================================================================== */
.alignfull {
  width: 100%;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.screen-reader-text:focus {
  background-color: var(--color-paper-2);
  color: var(--color-ink);
  display: block;
  font-size: var(--text-sm);
  font-weight: 700;
  height: auto;
  width: auto;
  left: 8px;
  top: 8px;
  padding: var(--space-sm) var(--space-lg);
  clip-path: none;
  border-radius: var(--radius-xs);
  box-shadow: var(--shadow-md);
  z-index: 100000;
}
