/**
 * DIC page — Tailwind utilities + warm cream shell (preflight disabled in dic.php)
 * BUILD: 2026-06-30-dic5
 */
body.dic-page-body,
body:has(#main-content .dic-page-shell) {
  background: #f8f6f2 !important;
  color: #1e293b;
}

body.dic-page-body #main-content,
body.dic-page-body main#main-content.main-content,
body:has(#main-content .dic-page-shell) main#main-content.main-content {
  background: transparent !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Keep site header/nav isolated from Tailwind on DIC page */
body.dic-page-body #site-header,
body.dic-page-body #topbar,
body.dic-page-body #desktop-nav,
body.dic-page-body #mobile-menu {
  font-family: 'DM Sans', 'Outfit', sans-serif !important;
  line-height: normal !important;
  letter-spacing: normal !important;
}

/* Logo only — do NOT apply to .hdr-portals badges (dic.png is 550px source) */
body.dic-page-body #site-header .hdr-brand img {
  max-width: 100% !important;
  height: auto !important;
}

body.dic-page-body .hdr-portals img,
body.dic-page-body.translated-ltr .hdr-portals img,
body.dic-page-body.translated-rtl .hdr-portals img,
html.translated-ltr body.dic-page-body .hdr-portals img,
html.translated-rtl body.dic-page-body .hdr-portals img {
  height: 46px !important;
  width: auto !important;
  max-height: 46px !important;
  max-width: 110px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

body.dic-page-body .hdr-portals a {
  flex-shrink: 0 !important;
  line-height: 0 !important;
}

body.dic-page-body .hdr-inner {
  align-items: center !important;
  flex-wrap: nowrap !important;
}

body.dic-page-body .hdr-search {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 420px !important;
}

body.dic-page-body .hdr-search-wrap {
  width: 100% !important;
  max-width: 100% !important;
}

body.dic-page-body .hdr-search-wrap input[type="search"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}

body.dic-page-body .hdr-portals {
  display: none !important;
}

@media (min-width: 1024px) {
  body.dic-page-body .hdr-portals {
    display: flex !important;
  }
}

.dic-page-shell {
  width: 100%;
  box-sizing: border-box;
}

.dic-page-shell .section-label {
  font-family: "DM Mono", monospace;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.dic-page-shell h1,
.dic-page-shell h2,
.dic-page-shell h3 {
  font-family: "Playfair Display", serif;
}

/* ── PORTFOLIO CSS VARIABLE SAFETY NET ────────────────────────────────
   Defined here (in <head>) as fallback — Google Translate sometimes
   strips inline <style> blocks from the body, losing these variables.
   Identical values to the inline block in dic-ipr-portfolio.inc.php.
   ─────────────────────────────────────────────────────────────────── */
#ipr3-root {
  --bg: #0c1524;
  --surface: #111d30;
  --border: rgba(255, 255, 255, 0.07);
  --gold: #d4a84b;
  --accent: #f59e0b;
  --text: #e2e8f0;
  --muted: #6b7fa0;
  --radius: 1.25rem;
  font-family: 'DM Sans', sans-serif;
  color: var(--text);
}
/* Card backgrounds — explicitly set so they survive GT style-block removal */
#ipr3-root .ig-outer { background: var(--bg); padding: 1.5rem 2rem 1.75rem; }
#ipr3-root .ig-card { background: var(--surface); border: 1px solid var(--border); border-radius: 1rem; overflow: hidden; }
#ipr3-root .ig-img-wrap { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #0a1020; }
#ipr3-root .ig-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
#ipr3-root .ih-wrap { background: var(--bg); border-radius: var(--radius) var(--radius) 0 0; padding: 2.75rem 3rem 0; }
#ipr3-root .ig-nav { background: var(--bg); border-top: 1px solid var(--border); border-radius: 0 0 var(--radius) var(--radius); }
#ipr3-root .ig-viewport { overflow: hidden; border-radius: .875rem; }
#ipr3-root .ig-track { display: flex; transition: transform .52s cubic-bezier(.4,0,.2,1); }
#ipr3-root .ig-page { min-width: 100%; display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; padding: .1rem; }
@media(max-width:900px){ #ipr3-root .ig-page { grid-template-columns: repeat(2,1fr); } }
@media(max-width:560px){ #ipr3-root .ig-page { grid-template-columns: 1fr; } }

@media (max-width: 768px) {
  .dic-page-shell {
    padding-top: 1.5rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dic-page-shell .animate-fade-in {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ── TAILWIND UTILITY SUPPLEMENTS ─────────────────────────────────────
   These classes are used in dic.php but were not compiled into
   spav.min.css. Scoped under .dic-page-shell to prevent leakage.
   ─────────────────────────────────────────────────────────────────── */

/* Layout */
.dic-page-shell .w-full{width:100%}
.dic-page-shell .h-full{height:100%}
.dic-page-shell .h-auto{height:auto}
.dic-page-shell .mx-auto{margin-left:auto;margin-right:auto}
.dic-page-shell .inline-block{display:inline-block}
.dic-page-shell .block{display:block}
.dic-page-shell .overflow-hidden{overflow:hidden}
.dic-page-shell .relative{position:relative}
.dic-page-shell .order-1{order:1}
.dic-page-shell .order-2{order:2}

/* Max-width */
.dic-page-shell .max-w-3xl{max-width:48rem}

/* Sizing */
.dic-page-shell .w-2{width:.5rem}.dic-page-shell .h-2{height:.5rem}
.dic-page-shell .h-1{height:.25rem}.dic-page-shell .h-px{height:1px}
.dic-page-shell .w-8{width:2rem}.dic-page-shell .h-8{height:2rem}
.dic-page-shell .w-12{width:3rem}.dic-page-shell .h-12{height:3rem}
.dic-page-shell .w-14{width:3.5rem}.dic-page-shell .h-14{height:3.5rem}
.dic-page-shell .w-24{width:6rem}
.dic-page-shell .h-64{height:16rem}
.dic-page-shell .h-80{height:20rem}

/* Spacing — margin */
.dic-page-shell .mt-1{margin-top:.25rem}
.dic-page-shell .mt-4{margin-top:1rem}
.dic-page-shell .mb-4{margin-bottom:1rem}
.dic-page-shell .mb-5{margin-bottom:1.25rem}
.dic-page-shell .mb-6{margin-bottom:1.5rem}
.dic-page-shell .mb-8{margin-bottom:2rem}
.dic-page-shell .mb-12{margin-bottom:3rem}
.dic-page-shell .mb-16{margin-bottom:4rem}
.dic-page-shell .mb-20{margin-bottom:5rem}
.dic-page-shell .mb-24{margin-bottom:6rem}

/* Spacing — padding */
.dic-page-shell .p-6{padding:1.5rem}
.dic-page-shell .p-8{padding:2rem}
.dic-page-shell .p-10{padding:2.5rem}
.dic-page-shell .px-5{padding-left:1.25rem;padding-right:1.25rem}
.dic-page-shell .px-6{padding-left:1.5rem;padding-right:1.5rem}
.dic-page-shell .py-2{padding-top:.5rem;padding-bottom:.5rem}
.dic-page-shell .pt-8{padding-top:2rem}
.dic-page-shell .pb-20{padding-bottom:5rem}

/* Flex */
.dic-page-shell .flex{display:flex}
.dic-page-shell .inline-flex{display:inline-flex}
.dic-page-shell .flex-col{flex-direction:column}
.dic-page-shell .flex-shrink-0{flex-shrink:0}
.dic-page-shell .flex-wrap{flex-wrap:wrap}
.dic-page-shell .items-center{align-items:center}
.dic-page-shell .items-start{align-items:flex-start}
.dic-page-shell .justify-center{justify-content:center}
.dic-page-shell .gap-3{gap:.75rem}
.dic-page-shell .gap-6{gap:1.5rem}
.dic-page-shell .gap-8{gap:2rem}
.dic-page-shell .gap-12{gap:3rem}
.dic-page-shell .space-x-3>*+*{margin-left:.75rem}

/* Grid */
.dic-page-shell .grid{display:grid}
.dic-page-shell .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
@media(min-width:768px){
  .dic-page-shell .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dic-page-shell .md\:col-span-2{grid-column:span 2/span 2}
  .dic-page-shell .md\:order-1{order:1}
  .dic-page-shell .md\:order-2{order:2}
  .dic-page-shell .md\:text-7xl{font-size:4.5rem;line-height:1}
}
@media(min-width:1024px){
  .dic-page-shell .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dic-page-shell .lg\:px-20{padding-left:5rem;padding-right:5rem}
}
@media(min-width:640px){
  .dic-page-shell .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}
}

/* Typography */
.dic-page-shell .text-sm{font-size:.875rem;line-height:1.25rem}
.dic-page-shell .text-lg{font-size:1.125rem;line-height:1.75rem}
.dic-page-shell .text-xl{font-size:1.25rem;line-height:1.75rem}
.dic-page-shell .text-3xl{font-size:1.875rem;line-height:2.25rem}
.dic-page-shell .text-4xl{font-size:2.25rem;line-height:2.5rem}
.dic-page-shell .text-5xl{font-size:3rem;line-height:1}
.dic-page-shell .text-7xl{font-size:4.5rem;line-height:1}
.dic-page-shell .font-bold{font-weight:700}
.dic-page-shell .font-light{font-weight:300}
.dic-page-shell .leading-relaxed{line-height:1.625}
.dic-page-shell .leading-tight{line-height:1.25}
.dic-page-shell .text-center{text-align:center}
.dic-page-shell .tracking-tight{letter-spacing:-.025em}
.dic-page-shell .uppercase{text-transform:uppercase}

/* Border-radius */
.dic-page-shell .rounded-lg{border-radius:.5rem}
.dic-page-shell .rounded-xl{border-radius:.75rem}
.dic-page-shell .rounded-3xl{border-radius:1.5rem}
.dic-page-shell .rounded-full{border-radius:9999px}

/* Shadows */
.dic-page-shell .shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.dic-page-shell .shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.dic-page-shell .shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}

/* Colors — background */
.dic-page-shell .bg-white{background-color:#fff}
.dic-page-shell .bg-orange-100{background-color:#ffedd5}
.dic-page-shell .bg-amber-50{background-color:#fffbeb}
.dic-page-shell .bg-white\/10{background-color:rgba(255,255,255,.1)}

/* Gradients */
.dic-page-shell .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.dic-page-shell .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.dic-page-shell .from-slate-50{--tw-gradient-from:#f8fafc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(248,250,252,0))}
.dic-page-shell .from-slate-900{--tw-gradient-from:#0f172a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(15,23,42,0))}
.dic-page-shell .from-slate-800{--tw-gradient-from:#1e293b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(30,41,59,0))}
.dic-page-shell .from-orange-50{--tw-gradient-from:#fff7ed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,247,237,0))}
.dic-page-shell .from-orange-500{--tw-gradient-from:#f97316;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(249,115,22,0))}
.dic-page-shell .from-amber-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,251,235,0))}
.dic-page-shell .to-white{--tw-gradient-to:#fff}
.dic-page-shell .to-amber-50{--tw-gradient-to:#fffbeb}
.dic-page-shell .to-amber-600{--tw-gradient-to:#d97706}
.dic-page-shell .to-orange-50{--tw-gradient-to:#fff7ed}
.dic-page-shell .to-slate-800{--tw-gradient-to:#1e293b}

/* Text colors */
.dic-page-shell .text-slate-900{color:#0f172a}
.dic-page-shell .text-slate-700{color:#334155}
.dic-page-shell .text-slate-600{color:#475569}
.dic-page-shell .text-slate-500{color:#64748b}
.dic-page-shell .text-slate-300{color:#cbd5e1}
.dic-page-shell .text-slate-200{color:#e2e8f0}
.dic-page-shell .text-slate-100{color:#f1f5f9}
.dic-page-shell .text-white{color:#fff}
.dic-page-shell .text-amber-700{color:#b45309}
.dic-page-shell .text-orange-600{color:#ea580c}
.dic-page-shell .text-orange-50{color:#fff7ed}

/* Borders */
.dic-page-shell .border-slate-100{border-color:#f1f5f9}
.dic-page-shell .border-slate-200\/80{border-color:rgba(226,232,240,.8)}
.dic-page-shell .border-amber-300{border-color:#fcd34d}
.dic-page-shell .border-amber-100\/80{border-color:rgba(254,243,199,.8)}
.dic-page-shell .border-white\/20{border-color:rgba(255,255,255,.2)}
.dic-page-shell .border-orange-500{border-color:#f97316}
.dic-page-shell .border-l-4{border-left-width:4px;border-left-style:solid}

/* Object */
.dic-page-shell .object-cover{object-fit:cover}

/* Hover transitions */
.dic-page-shell .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.dic-page-shell .duration-300{transition-duration:300ms}
.dic-page-shell .backdrop-blur-sm{backdrop-filter:blur(4px)}

/* ── PORTFOLIO SIZE FIX ────────────────────────────────────────────────
   Constrain #ipr3-root so portfolio cards render at a readable size.
   Without this, at wide viewports each 3-col card was ~500-640px wide.
   ─────────────────────────────────────────────────────────────────── */
#ipr3-root{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
/* Also update dic-page.css cache-busting in dic.php $extraHead */
