/*
Theme Name:   Hello Elementor Child – ITC PLC
Theme URI:    https://itcplc.com/
Description:  ITC PLC custom child theme (all CSS merged in this one file; all PHP in functions.php)
Author:       James Anson Digital
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

/* ==========================================================
   0. FONTS – Mark Pro
   ========================================================== */
@font-face{font-family:'Mark Pro';src:url('https://itcplc.com/wp-content/uploads/2026/08/FontFont_FF.Mark_.Pro_.Book_.woff2') format('woff2');font-weight:400;font-style:normal;}
@font-face{font-family:'Mark Pro';src:url('https://itcplc.com/wp-content/uploads/2026/08/FontFont_FF.Mark_.Pro_.Medium.woff2') format('woff2');font-weight:500;font-style:normal;}
@font-face{font-family:'Mark Pro';src:url('https://itcplc.com/wp-content/uploads/2026/08/FontFont_FF.Mark_.Pro_.Bold_.woff2') format('woff2');font-weight:700;font-style:normal;}

/* ==========================================================
   1. GLOBAL DESIGN TOKENS
   ========================================================== */
:root {
  --brand-primary: #21409a;
  --brand-primary-dark: #152c72;
  --brand-primary-deep: #0f2158;
  --brand-accent: #fcb116;
  --brand-accent-soft: #ffd77a;
  --ink: #1a1f36;
  --ink-soft: #4d5573;
  --bg-light: #f4f7fc;
  --bg-light-2: #eef2f9;
  --white: #ffffff;
  --line: #e2e7f3;

  --font-display: 'Mark Pro', 'Plus Jakarta Sans', sans-serif;
  --font-body: 'Mark Pro', 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-body); color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; line-height: 1.6; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5 { font-family: var(--font-display); margin: 0; color: var(--ink); letter-spacing: -0.01em; }
p { margin: 0; }
button, input, select, textarea { font-family: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: 3px; }

.wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.eyebrow { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-primary); display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 20px; height: 2px; background: var(--brand-accent); display: inline-block; }
.section-label { display: inline-block; background: var(--brand-primary-deep); color: var(--white); font-family: var(--font-display); font-weight: 700; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; padding: 9px 20px; border-radius: 8px; }
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 999px; font-weight: 600; font-size: 15px; border: 1px solid transparent; white-space: nowrap; transition: transform 0.35s cubic-bezier(0.2,0.8,0.2,1), box-shadow 0.35s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease; }
.btn-primary { background: var(--brand-primary); color: var(--white); box-shadow: 0 14px 30px -10px rgba(33,64,154,0.55); }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -12px rgba(33,64,154,0.6); }
.btn-accent { background: var(--brand-accent); color: var(--brand-primary-deep); }
.btn-accent:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -10px rgba(252,177,22,0.55); }
.btn-ghost { background: var(--white); color: var(--brand-primary); border-color: var(--line); }
.btn-ghost:hover { border-color: var(--brand-primary); background: var(--bg-light); }
.btn-deep { background: var(--brand-primary-deep); color: var(--white); }
.btn-deep:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -12px rgba(15,33,88,0.6); }
.btn svg { width: 16px; height: 16px; transition: transform 0.3s ease; }
.btn:hover svg { transform: translateX(3px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

/* Elementor layout & padding fix */
.e-con { min-height: max-content; }
.e-con > .elementor-widget:last-child { margin-bottom: 0; }
.itc-pad-fix { padding-bottom: 60px !important; }

/* ==========================================================
   RESPONSIVE SAFETY (Desktop / Tablet / Mobile)
   ========================================================== */
/* 100vw Fll-bleed video, solutions
   আড়াআড়ি স্ক্রল তৈরি করতে পারে। "clip site*/
html, body { overflow-x: clip; max-width: 100%; }
iframe, video { max-width: 100%; }
