﻿/*
Theme Name: Magazine Luiza Editorial
Theme URI: https://magazineluiza.it.com
Author: Editorial Tech Studio
Author URI: https://magazineluiza.it.com
Description: A premium, ultra-fast, mobile-first editorial WordPress block theme designed specifically for informational guides, online shopping explanations, orders, deliveries, payments, and app tutorials. Built with Full Site Editing (FSE), modern theme.json, comprehensive Theme Settings panel, responsive typography, and zero heavy dependencies.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: magazineluiza-editorial
Tags: block-theme, full-site-editing, news, blog, editorial, responsive-layout, grid-layout, custom-colors, custom-menu, featured-images, rtl-language-support, translation-ready

Magazine Luiza Editorial WordPress Theme, (C) 2026.
*/

/* ==========================================================================
   Editorial Design System & Dynamic Variables Bridge
   ========================================================================== */
:root {
  /* Brand & Editorial Palette Defaults */
  --luiza-primary: #0086ff;
  --luiza-primary-dark: #0066cc;
  --luiza-primary-light: #e6f3ff;
  --luiza-secondary: #0f172a;
  --luiza-accent: #ff5722;
  --luiza-accent-light: #fff2ed;
  
  /* Neutral Palette */
  --luiza-bg: #ffffff;
  --luiza-bg-alt: #f8fafc;
  --luiza-surface: #ffffff;
  --luiza-surface-card: #ffffff;
  --luiza-text: #334155;
  --luiza-text-muted: #64748b;
  --luiza-text-light: #94a3b8;
  --luiza-heading: #0f172a;
  --luiza-border: #e2e8f0;
  --luiza-border-light: #f1f5f9;
  
  /* Link Colors */
  --luiza-link: #0086ff;
  --luiza-link-hover: #0056b3;

  /* Typography */
  --luiza-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --luiza-font-serif: "Newsreader", Georgia, Cambria, "Times New Roman", Times, serif;
  --luiza-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  
  --luiza-font-body: var(--luiza-font-sans);
  --luiza-font-heading: var(--luiza-font-sans);

  /* Font Sizes - Responsive Desktop Defaults */
  --luiza-fs-xs: 0.75rem;
  --luiza-fs-sm: 0.875rem;
  --luiza-fs-base: 1rem;
  --luiza-fs-md: 1.125rem;
  --luiza-fs-lg: 1.25rem;
  --luiza-fs-xl: 1.5rem;
  --luiza-fs-2xl: 1.875rem;
  --luiza-fs-3xl: 2.25rem;
  --luiza-fs-4xl: 2.75rem;

  /* Layout & Spacing */
  --luiza-container-max: 1240px;
  --luiza-reading-max: 760px;
  --luiza-sidebar-width: 340px;
  --luiza-header-height: 72px;
  --luiza-radius-sm: 6px;
  --luiza-radius: 10px;
  --luiza-radius-lg: 16px;
  --luiza-radius-full: 9999px;

  /* Shadows */
  --luiza-shadow-subtle: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.03);
  --luiza-shadow-card: 0 4px 6px -1px rgba(15, 23, 42, 0.06), 0 2px 4px -2px rgba(15, 23, 42, 0.04);
  --luiza-shadow-hover: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.04);
  
  /* Transitions */
  --luiza-transition-fast: 0.15s ease;
  --luiza-transition-base: 0.25s ease;
}

/* ==========================================================================
   CSS Reset & Base Rules
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--luiza-header-height) + 20px);
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--luiza-font-body);
  font-size: var(--luiza-fs-base);
  line-height: 1.68;
  color: var(--luiza-text);
  background-color: var(--luiza-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--luiza-font-heading);
  color: var(--luiza-heading);
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0.75rem;
  letter-spacing: -0.015em;
}

h1 { font-size: var(--luiza-fs-3xl); }
h2 { font-size: var(--luiza-fs-2xl); }
h3 { font-size: var(--luiza-fs-xl); }
h4 { font-size: var(--luiza-fs-lg); }
h5 { font-size: var(--luiza-fs-md); }
h6 { font-size: var(--luiza-fs-base); }

p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

a {
  color: var(--luiza-link);
  text-decoration: none;
  transition: color var(--luiza-transition-fast);
}

a:hover, a:focus-visible {
  color: var(--luiza-link-hover);
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--luiza-primary);
  outline-offset: 2px;
}

img, svg, video {
  max-width: 100%;
  height: auto;
  display: block;
}

.alignwide {
  max-width: var(--luiza-container-max);
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  max-width: 100%;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
