/*
Theme Name: Terracotta Editorial
Theme URI: https://deco-terracotta.fr
Description: Theme editorial mediterraneen pour Deco Terracotta
Author: Elise Mares
Author URI: https://deco-terracotta.fr
Template: generatepress
Version: 1.1.0
Text Domain: terracotta-editorial
*/

:root {
  --terracotta: #B5654A;
  --terracotta-dark: #96503A;
  --terracotta-light: #D4856B;
  --warm-stone: #8B7355;
  --botanical: #5E7D6B;
  --warm-cream: #F5EDE4;
  --warm-white: #FEFAF6;
  --warm-charcoal: #2C2420;
  --warm-gray: #7A7068;
  --warm-gray-light: #B8AFA7;
  --warm-border: rgba(181, 101, 74, 0.12);
  --font-headline: 'Literata', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-label: 'Space Grotesk', monospace;
  --shadow-card: 0 4px 20px rgba(181, 101, 74, 0.08);
  --shadow-card-hover: 0 8px 32px rgba(181, 101, 74, 0.14);
  --radius: 8px;
  --radius-lg: 12px;
}

body {
  font-family: var(--font-body) !important;
  background-color: var(--warm-cream) !important;
  color: var(--warm-charcoal) !important;
  font-size: 1.05rem;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* ═══ MAX WIDTH — ultrawide cap ═══ */
.site {
  max-width: 1600px;
  margin: 0 auto;
}

/* Hero cover stays full-width within the cap */
.home .wp-block-cover.alignfull {
  max-width: 1600px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Newsletter CTA full-width within the cap */
.home .wp-block-group.alignfull {
  max-width: 1600px;
  margin-left: auto !important;
  margin-right: auto !important;
}

a { color: var(--terracotta-dark); transition: color 0.2s; }
a:hover { color: var(--terracotta-dark); }

.site-header {
  background-color: var(--warm-white) !important;
  box-shadow: 0 1px 8px rgba(44, 36, 32, 0.06);
}

.main-title a, .site-title a {
  font-family: var(--font-headline) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--warm-charcoal) !important;
  text-decoration: none !important;
}

.main-navigation a, .main-nav a {
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--warm-charcoal) !important;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.sfHover > a,
.main-navigation a:hover, .main-nav a:hover,
.main-navigation .current-menu-item > a, .main-nav .current-menu-item > a {
  color: var(--terracotta) !important;
  background-color: transparent !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-headline) !important;
  color: var(--warm-charcoal) !important;
  line-height: 1.3;
}

h1 { font-size: 2.5rem !important; font-weight: 700 !important; }
h2 { font-size: 1.75rem !important; font-weight: 600 !important; }
h3 { font-size: 1.25rem !important; font-weight: 600 !important; color: var(--terracotta) !important; }

.entry-content h2 {
  padding-left: 1rem;
  border-left: 3px solid var(--terracotta);
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

.entry-content h3 {
  font-family: var(--font-body) !important;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.site-content { background-color: var(--warm-cream); }

.inside-article {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2rem 0 !important;
}

.entry-content {
  max-width: 720px;
  font-size: 1.05rem;
  line-height: 1.75;
}

.entry-content p { margin-bottom: 1.5rem; }

.entry-content ul li::marker,
.entry-content ol li::marker {
  color: var(--terracotta);
}

.entry-content img {
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
}

.entry-content blockquote, .wp-block-quote {
  background: var(--warm-white) !important;
  border-left: 3px solid var(--terracotta) !important;
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 1.5rem 2rem !important;
  margin: 2rem 0 !important;
  font-style: normal !important;
  color: var(--warm-gray) !important;
}

.entry-meta, .entry-meta a {
  font-family: var(--font-label) !important;
  font-size: 0.78rem !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--warm-gray) !important;
}

.entry-meta a:hover { color: var(--terracotta) !important; }
.cat-links a { color: var(--terracotta) !important; font-weight: 600; }

.post-image img, .featured-image img {
  border-radius: var(--radius-lg) !important;
  width: 100%;
  aspect-ratio: 21/9;
  object-fit: cover;
}

.rank-math-breadcrumb {
  font-family: var(--font-label) !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--warm-gray-light) !important;
  padding: 1rem 0;
}

.rank-math-breadcrumb a { color: var(--warm-gray) !important; }
.rank-math-breadcrumb a:hover { color: var(--terracotta) !important; }
.rank-math-breadcrumb .separator { color: var(--terracotta-light) !important; margin: 0 0.4em; }

.single .sidebar { display: none !important; }
.single .content-area { width: 100% !important; max-width: 100% !important; }

.generate-columns-container .post-image img {
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.generate-columns-container .inside-article {
  background: var(--warm-white) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-card) !important;
  overflow: hidden;
  padding: 0 !important;
  transition: box-shadow 0.3s, transform 0.3s;
}

.generate-columns-container .inside-article:hover {
  box-shadow: var(--shadow-card-hover) !important;
  transform: translateY(-3px);
}

.generate-columns-container .entry-header,
.generate-columns-container .entry-summary,
.generate-columns-container .entry-meta {
  padding: 0 1.5rem;
}

.generate-columns-container .entry-header { padding-top: 1.25rem; }
.generate-columns-container .entry-summary { padding-bottom: 1.5rem; }

.generate-columns-container .entry-title { font-size: 1.2rem !important; line-height: 1.35; }
.generate-columns-container .entry-title a { color: var(--warm-charcoal) !important; }
.generate-columns-container .entry-title a:hover { color: var(--terracotta) !important; }

/* ═══ FOOTER — warm charcoal, minimal ═══ */
.site-footer {
  background-color: var(--warm-charcoal) !important;
}

.footer-widgets { display: none !important; }

.site-info {
  background-color: var(--warm-charcoal) !important;
  color: rgba(245, 237, 228, 0.5) !important;
  border-top: none !important;
  font-size: 0.85rem !important;
  font-family: var(--font-label) !important;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem 2rem !important;
}

.site-info .inside-site-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.site-info a {
  color: rgba(245, 237, 228, 0.7) !important;
  font-family: var(--font-body) !important;
}

.site-info a:hover {
  color: var(--terracotta-light) !important;
}

.footer-nav .menu {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav .menu a {
  font-family: var(--font-body) !important;
  font-size: 0.85rem;
  color: rgba(245, 237, 228, 0.7) !important;
}

.footer-nav .menu a:hover {
  color: var(--terracotta-light) !important;
}

button, .button, input[type="submit"], .wp-block-button__link {
  background-color: var(--terracotta) !important;
  color: var(--warm-cream) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  padding: 0.75rem 1.75rem !important;
  transition: all 0.2s !important;
}

button:hover, .button:hover, input[type="submit"]:hover, .wp-block-button__link:hover {
  background-color: var(--terracotta-dark) !important;
  transform: translateY(-1px);
}

.widget-title {
  font-family: var(--font-headline) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
}

#ez-toc-container {
  background: var(--warm-white) !important;
  border: none !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-card) !important;
  padding: 1.5rem !important;
}

#ez-toc-container .ez-toc-title {
  font-family: var(--font-label) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--warm-gray) !important;
}

#ez-toc-container a {
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  color: var(--warm-gray) !important;
}

#ez-toc-container a:hover { color: var(--terracotta) !important; }

/* ═══ GLOBAL CENTERING FIX ═══ */
.site-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

.no-sidebar .site-main {
  width: 100% !important;
  margin: 0 auto !important;
}

.inside-article {
  max-width: 100% !important;
}

/* ═══ HOMEPAGE SPECIFIC ═══ */
.home .site-content {
  max-width: 100% !important;
  padding-left: 0;
  padding-right: 0;
}

.home .inside-article {
  padding: 0 !important;
  max-width: 100% !important;
}

.home .entry-content {
  max-width: 100% !important;
}

/* Homepage sections that need container */
.home .entry-content > .wp-block-heading,
.home .entry-content > .wp-block-columns:not(.wp-block-cover *),
.home .entry-content > .wp-block-latest-posts,
.home .entry-content > .wp-block-spacer,
.home .entry-content > .wp-block-image {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Cover block hero — full width */
.wp-block-cover {
  border-radius: 0 !important;
}

/* Latest posts grid */
.wp-block-latest-posts {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-latest-posts__post-title {
  font-family: var(--font-headline) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--warm-charcoal) !important;
}

.wp-block-latest-posts__post-title:hover {
  color: var(--terracotta) !important;
}

.wp-block-latest-posts__post-date {
  font-family: var(--font-label) !important;
  font-size: 0.75rem !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--warm-gray) !important;
}

.wp-block-latest-posts__post-excerpt {
  font-size: 0.92rem;
  color: var(--warm-gray);
}

.wp-block-latest-posts li {
  background: var(--warm-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  padding-bottom: 1.5rem;
  transition: box-shadow 0.3s, transform 0.3s;
}

.wp-block-latest-posts li:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-3px);
}

.wp-block-latest-posts li > a:first-child {
  display: block;
  padding: 1.25rem 1.5rem 0;
}

.wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts__post-date {
  padding: 0 1.5rem;
}

.wp-block-latest-posts__featured-image {
  margin: 0 !important;
  overflow: hidden;
  width: 100% !important;
}

.wp-block-latest-posts__featured-image a {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.wp-block-latest-posts__featured-image img {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* "En savoir plus" links in terracotta-dark */
.wp-block-latest-posts__post-excerpt a,
.entry-content a:not(.wp-block-button__link),
.entry-summary a,
.more-link,
.read-more {
  color: var(--terracotta-dark) !important;
  font-weight: 500;
}

.wp-block-latest-posts__post-excerpt a:hover,
.entry-content a:not(.wp-block-button__link):hover,
.entry-summary a:hover,
.more-link:hover {
  color: var(--terracotta-dark) !important;
}

/* Homepage H2 — no left border */
.home .entry-content h2 {
  border-left: none !important;
  padding-left: 0 !important;
}

/* ═══ BLOG ARCHIVE — CENTER CONTENT ═══ */
.blog .site-main,
.archive .site-main,
.search .site-main {
  max-width: 900px;
  margin: 0 auto;
}

/* ═══ WPFORMS STYLING ═══ */
.wpforms-container .wpforms-field-label {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  color: var(--warm-charcoal) !important;
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container textarea {
  background: var(--warm-white) !important;
  border: 1px solid var(--warm-border) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  padding: 0.85rem 1rem !important;
  transition: border-color 0.2s !important;
}

.wpforms-container input:focus,
.wpforms-container textarea:focus {
  border-color: var(--terracotta) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(181, 101, 74, 0.15) !important;
}

.wpforms-container .wpforms-submit {
  background-color: var(--terracotta) !important;
  color: var(--warm-cream) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  padding: 0.85rem 2rem !important;
}

.wpforms-container .wpforms-submit:hover {
  background-color: var(--terracotta-dark) !important;
}

/* ═══ PAGE TITLES — warm charcoal ═══ */
.entry-title,
.entry-title a {
  font-family: var(--font-headline) !important;
  color: var(--warm-charcoal) !important;
}

.entry-title a:hover {
  color: var(--terracotta) !important;
}

/* ═══ PAGES — full width centered (like homepage) ═══ */
.page:not(.home) .entry-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

.page:not(.home) .inside-article {
  max-width: 1600px !important;
  margin: 0 auto;
}

/* ═══ COVER BLOCKS — white text inside covers ═══ */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover p {
  color: #ffffff !important;
}

.wp-block-cover a[style*="background:rgba"] {
  color: #ffffff !important;
  text-decoration: none !important;
}

.wp-block-cover a[style*="background:rgba"]:hover {
  color: #ffffff !important;
  opacity: 0.9;
}

/* ═══ ARCHIVES — hide redundant footer meta ═══ */
.archive footer.entry-meta,
.blog footer.entry-meta,
.search footer.entry-meta {
  display: none !important;
}

/* ═══ CONTRAST FIXES (WCAG 4.5:1) ═══ */

.site-info {
  color: rgba(245, 237, 228, 0.7) !important;
}

.site-info a,
.footer-nav .menu a {
  color: rgba(245, 237, 228, 0.85) !important;
}

.rank-math-breadcrumb {
  color: var(--warm-gray) !important;
}

@media (max-width: 768px) {
  h1 { font-size: 1.8rem !important; }
  h2 { font-size: 1.4rem !important; }
  .entry-content { font-size: 1rem; }
  .featured-image img, .post-image img {
    aspect-ratio: 16/9;
    border-radius: var(--radius) !important;
  }
}