/*
Theme Name: Manchete Paulista
Theme URI: https://manchetepaulista.com.br
Author: BT Design
Author URI: https://btdesign.com.br
Description: Tema personalizado para o portal de notícias Manchete Paulista — O Mensageiro do Sudoeste Paulista. Construído com Tailwind CSS.
Version: 1.0.0
License: Proprietary
Text Domain: manchete-paulista
Tags: news, regional, tailwind, custom-theme
*/

/* ========================================
   DESIGN TOKENS (matching Lovable build)
   ======================================== */
:root {
  --radius: 0.5rem;
  --brand-red: #F3002C;
  --brand-red-dark: #C40023;
  --ink: oklch(0.18 0 0);
  --surface: oklch(0.945 0 0);
  --page: oklch(0.97 0 0);
  --background: var(--page);
  --foreground: oklch(0.18 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.18 0 0);
  --primary: var(--brand-red);
  --primary-foreground: oklch(1 0 0);
  --secondary: var(--surface);
  --secondary-foreground: oklch(0.18 0 0);
  --muted: oklch(0.93 0 0);
  --muted-foreground: oklch(0.45 0 0);
  --border: oklch(0.9 0 0);
  --input: oklch(0.9 0 0);
  --ring: var(--brand-red);
}

/* ========================================
   BASE STYLES
   ======================================== */
* { border-color: var(--border); }

body {
  background-color: var(--page);
  color: var(--foreground);
  font-family: 'Roboto Condensed', 'Inter', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .headline {
  font-family: 'Roboto Condensed', 'Inter', system-ui, sans-serif;
  letter-spacing: -0.01em;
}

.serif { font-family: 'Lora', Georgia, serif; }
.ui { font-family: 'Inter', system-ui, sans-serif; }
.display { font-family: 'Oswald', 'Roboto Condensed', system-ui, sans-serif; }

/* ========================================
   COMPONENT UTILITIES
   ======================================== */
.card-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.section-rule {
  border-top: 3px solid var(--brand-red);
}

/* Checker pattern for footer divider */
.bg-checker-dark {
  background-image:
    linear-gradient(45deg, color-mix(in oklab, var(--brand-red) 20%, transparent) 25%, transparent 25%),
    linear-gradient(-45deg, color-mix(in oklab, var(--brand-red) 20%, transparent) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, color-mix(in oklab, var(--brand-red) 20%, transparent) 75%),
    linear-gradient(-45deg, transparent 75%, color-mix(in oklab, var(--brand-red) 20%, transparent) 75%);
  background-size: 40px 40px;
  background-position: 0 0, 0 20px, 20px -20px, -20px 0;
}

/* Fade-up animation */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fade-up { animation: fade-up 0.4s ease-out both; }

/* ========================================
   WORDPRESS OVERRIDES
   ======================================== */
.wp-block-image img { max-width: 100%; height: auto; }
.alignwide { max-width: 1100px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; max-width: 100%; }

/* Gutenberg content styling */
.entry-content p {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.125rem;
  line-height: 1.75;
  margin-bottom: 1.5rem;
}

.entry-content blockquote {
  border-left: 4px solid var(--brand-red);
  background: var(--surface);
  padding: 1.5rem;
  margin: 2.5rem 0;
  font-size: 1.25rem;
  font-weight: 700;
}

.entry-content h2 { font-size: 1.75rem; font-weight: 700; margin: 2rem 0 1rem; }
.entry-content h3 { font-size: 1.375rem; font-weight: 700; margin: 1.5rem 0 0.75rem; }

.entry-content ul, .entry-content ol {
  font-family: 'Lora', Georgia, serif;
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.entry-content figure { margin: 2rem 0; }
.entry-content figcaption {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.75rem;
  color: var(--muted-foreground);
  text-align: center;
  margin-top: 0.5rem;
}

/* Ad slot placeholder */
.ad-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px dashed var(--border);
  background: var(--surface);
  border-radius: var(--radius);
  padding: 2rem;
}
