/* 
 * ELITE EDITORIAL DESIGN SYSTEM - 100% MATCH
 * Based on blog-design-studio-main
 */
:root {
  --radius: 0.625rem;
  /* Editorial palette: deep ink navy, warm cream paper, ember accent */
  --ink: #161b22;
  --ink-soft: #374151;
  --paper: #fdfcf7;
  --cream: #f9f7f0;
  --accent: #d71920;
  --border: rgba(13, 17, 23, 0.08);
  
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --font-display: "Fraunces", serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
}

.editorial-theme {
    background-color: var(--paper);
    color: var(--ink);
    font-family: var(--font-sans);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.editorial-theme .font-display { font-family: var(--font-display) !important; }
.editorial-theme .font-mono { font-family: var(--font-mono) !important; }

/* Resets for Editorial */
.editorial-theme *, .editorial-theme *::before, .editorial-theme *::after {
    box-sizing: border-box;
    border-color: var(--border);
}

/* Utilities */
.editorial-theme .mx-auto { margin-left: auto; margin-right: auto; }
.editorial-theme .max-w-7xl { max-width: 80rem; }
.editorial-theme .max-w-6xl { max-width: 72rem; }
.editorial-theme .max-w-4xl { max-width: 56rem; }
.editorial-theme .max-w-3xl { max-width: 48rem; }
.editorial-theme .max-w-2xl { max-width: 42rem; }

.editorial-theme .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 1024px) { .editorial-theme .px-10 { padding-left: 2.5rem; padding-right: 2.5rem; } }

.editorial-theme .py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.editorial-theme .py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.editorial-theme .py-32 { padding-top: 8rem; padding-bottom: 8rem; }
.editorial-theme .pb-12 { padding-bottom: 3rem; }
.editorial-theme .pt-12 { padding-top: 3rem; }
@media (min-width: 1024px) {
    .editorial-theme .py-32 { padding-top: 8rem; padding-bottom: 8rem; }
    .editorial-theme .pb-16 { padding-bottom: 4rem; }
    .editorial-theme .pt-20 { padding-top: 5rem; }
}

.editorial-theme .mt-2 { margin-top: 0.5rem; }
.editorial-theme .mt-5 { margin-top: 1.25rem; }
.editorial-theme .mt-6 { margin-top: 1.5rem; }
.editorial-theme .mt-8 { margin-top: 2rem; }
.editorial-theme .mt-10 { margin-top: 2.5rem; }
.editorial-theme .mt-12 { margin-top: 3rem; }
.editorial-theme .mt-16 { margin-top: 4rem; }
.editorial-theme .mt-20 { margin-top: 5rem; }
.editorial-theme .mt-32 { margin-top: 8rem; }
.editorial-theme .mb-8 { margin-bottom: 2rem; }
.editorial-theme .mb-10 { margin-bottom: 2.5rem; }
.editorial-theme .mb-12 { margin-bottom: 3rem; }

.editorial-theme .flex { display: flex; }
.editorial-theme .inline-flex { display: inline-flex; }
.editorial-theme .items-center { align-items: center; }
.editorial-theme .justify-between { justify-content: space-between; }
.editorial-theme .flex-wrap { flex-wrap: wrap; }
.editorial-theme .gap-2 { gap: 0.5rem; }
.editorial-theme .gap-3 { gap: 0.75rem; }
.editorial-theme .gap-4 { gap: 1rem; }
.editorial-theme .gap-5 { gap: 1.25rem; }
.editorial-theme .gap-10 { gap: 2.5rem; }
.editorial-theme .gap-16 { gap: 4rem; }

.editorial-theme .grid { display: grid; }
@media (min-width: 768px) {
    .editorial-theme .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .editorial-theme .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .editorial-theme .lg\:col-span-8 { grid-column: span 8 / span 8; }
    .editorial-theme .lg\:col-span-4 { grid-column: span 4 / span 4; }
}

.editorial-theme .text-accent { color: var(--accent); }
.editorial-theme .text-ink { color: var(--ink); }
.editorial-theme .text-ink-soft { color: var(--ink-soft); }
.editorial-theme .text-white { color: #fff; }
.editorial-theme .text-muted-foreground { color: #64748b; }
.editorial-theme .bg-ink { background-color: var(--ink); }
.editorial-theme .bg-cream { background-color: var(--cream); }
.editorial-theme .bg-paper { background-color: var(--paper); }

.editorial-theme .rounded-full { border-radius: 9999px; }
.editorial-theme .rounded-xl { border-radius: 0.75rem; }
.editorial-theme .rounded-2xl { border-radius: 1rem; }
.editorial-theme .rounded-lg { border-radius: 0.5rem; }

.editorial-theme .border { border: 1px solid var(--border); }
.editorial-theme .border-b { border-bottom: 1px solid var(--border); }
.editorial-theme .border-t { border-top: 1px solid var(--border); }

.editorial-theme .text-[11px] { font-size: 11px; }
.editorial-theme .text-[10px] { font-size: 10px; }
.editorial-theme .text-xs { font-size: 0.75rem; }
.editorial-theme .text-sm { font-size: 0.875rem; }
.editorial-theme .text-lg { font-size: 1.125rem; }
.editorial-theme .text-xl { font-size: 1.25rem; }
.editorial-theme .text-4xl { font-size: 2.25rem; }
.editorial-theme .text-5xl { font-size: 3rem; }
@media (min-width: 768px) {
    .editorial-theme .md\:text-6xl { font-size: 3.75rem; }
    .editorial-theme .md\:text-7xl { font-size: 4.5rem; }
}

.editorial-theme .font-medium { font-weight: 500; }
.editorial-theme .font-semibold { font-weight: 600; }
.editorial-theme .font-light { font-weight: 300; }
.editorial-theme .italic { font-style: italic; }
.editorial-theme .uppercase { text-transform: uppercase; }
.editorial-theme .tracking-[0.25em] { letter-spacing: 0.25em; }
.editorial-theme .tracking-[0.2em] { letter-spacing: 0.2em; }
.editorial-theme .tracking-tight { letter-spacing: -0.025em; }

.editorial-theme .leading-relaxed { line-height: 1.625; }
.editorial-theme .leading-snug { line-height: 1.375; }
.editorial-theme .leading-[1.02] { line-height: 1.02; }
.editorial-theme .leading-[1.05] { line-height: 1.05; }

.editorial-theme .no-underline { text-decoration: none !important; }
.editorial-theme .block { display: block; }
.editorial-theme .hidden { display: none; }
@media (min-width: 768px) { .editorial-theme .md\:block { display: block; } }

.editorial-theme .w-full { width: 100%; }
.editorial-theme .h-auto { height: auto; }
.editorial-theme .aspect-\[4\/3\] { aspect-ratio: 4 / 3; }

.editorial-theme .grain::before {
    content: "";
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(22, 27, 34, 0.05) 1px, transparent 1px);
    background-size: 3px 3px;
    pointer-events: none;
    mix-blend-mode: multiply;
    opacity: 0.4;
    z-index: 1;
}

.editorial-theme .text-balance { text-wrap: balance; }
.editorial-theme .text-pretty { text-wrap: pretty; }

.editorial-theme .ring-rule {
    background-image: linear-gradient(to right, var(--border) 50%, transparent 0%);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: bottom;
}

/* Typography Scale */
.editorial-theme h1.mega-title {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.04em;
}
@media (min-width: 768px) { .editorial-theme h1.mega-title { font-size: 4.5rem; } }
@media (min-width: 1024px) { .editorial-theme h1.mega-title { font-size: 5.5rem; } }

.editorial-theme .prose-editorial {
    font-size: 1.125rem;
    line-height: 1.75;
    color: var(--ink-soft);
}
.editorial-theme .prose-editorial p { margin-top: 1.25rem; margin-bottom: 1.25rem; }
.editorial-theme .prose-editorial h2 {
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 600;
    margin-top: 3rem;
    margin-bottom: 1.25rem;
    color: var(--ink);
    letter-spacing: -0.02em;
}
@media (min-width: 768px) { .editorial-theme .prose-editorial h2 { font-size: 2.25rem; } }

.editorial-theme blockquote {
    margin: 2.5rem 0;
    border-left: 2px solid var(--accent);
    background-color: rgba(249, 247, 240, 0.6);
    padding: 1.5rem 2rem;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-style: italic;
    color: var(--ink);
    line-height: 1.4;
}

/* Components */
.editorial-theme .badge-pill {
    display: inline-block;
    padding: 0.375rem 1rem;
    border-radius: 9999px;
    border: 1px solid var(--border);
    font-size: 0.75rem;
    font-weight: 500;
    transition: all 0.2s;
    text-decoration: none !important;
    background: transparent;
    color: var(--ink-soft);
}
.editorial-theme .badge-pill.active {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}
.editorial-theme .badge-pill:hover:not(.active) {
    border-color: var(--ink);
    color: var(--ink);
}

.editorial-theme .dispatch-card {
    display: block;
    text-decoration: none !important;
}
.editorial-theme .img-wrapper {
    overflow: hidden;
    background-color: var(--cream);
    position: relative;
}
.editorial-theme .img-editorial {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.editorial-theme .hover-group:hover .img-editorial {
    transform: scale(1.05);
}

.editorial-theme .aspect-16-11 { aspect-ratio: 16 / 11; }
.editorial-theme .aspect-4-3 { aspect-ratio: 4 / 3; }

/* Sticky Elements */
.editorial-theme .sticky-top-24 {
    position: sticky;
    top: 6rem;
}

.editorial-theme .min-h-screen {
    min-height: 100vh;
}

.editorial-theme .transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.editorial-theme .duration-700 {
    transition-duration: 700ms;
}

.editorial-theme .group:hover .group-hover\:scale-105 {
    transform: scale(1.05);
}
