/* --- FONTS --- */
@font-face {
  font-family: 'Manuka';
  src: url('../fonts/1382df51f3297328e7355d0ecd34b0d1.woff2') format('woff2'),
       url('../fonts/1382df51f3297328e7355d0ecd34b0d1.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Canela';
  src: url('../fonts/4a24899e94d8236f671c1090cd9e068c.woff2') format('woff2'),
       url('../fonts/4a24899e94d8236f671c1090cd9e068c.woff') format('woff');
  font-display: swap;
}

:root {
  --background: #111111;
  --foreground: #F4F1EC;
  --color-primary: #E07A2F;
  --color-secondary: #3a2215;
  --color-accent: #2d4a3e;
  --color-background: #110f0d;
  --color-text: #F4F1EC;
  --color-muted: #c8b6ff;
  --color-metal: #8a8a8a;
  --btn-bg: #E07A2F;
  --btn-text: #F4F1EC;
  --btn-hover: #3a2215;
  --btn-radius: 0px;
  --font-headings: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;
}

html, body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--color-background, var(--background)) !important;
  color: var(--color-text, var(--foreground)) !important;
  font-family: var(--font-body) !important;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Force dark background on all Moodigital pages */
body.page-template-page-ordre,
body.page-template-page-origin,
body.page-template-page-transmissions,
body.home,
body.page-template-front-page {
  background-color: var(--color-background, #110f0d) !important;
  color: var(--color-text, #F4F1EC) !important;
}

/* Hide any other theme footer/header that might bleed through */
body:not(.wp-admin) #site-header,
body:not(.wp-admin) .site-header,
body:not(.wp-admin) .elementor-location-header,
body:not(.wp-admin) #site-footer,
body:not(.wp-admin) .site-footer,
body:not(.wp-admin) .elementor-location-footer {
  display: none !important;
}

/* --- TEXTURES --- */
.wood-texture {
  background-color: #1a1512;
  background-image:
    url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(90deg, rgba(0,0,0,0.8) 0%, rgba(255,255,255,0.05) 5%, rgba(0,0,0,0.5) 10%, rgba(0,0,0,0.8) 100%);
  background-size: 200px 200px, 100% 100%;
}

.door-panel {
  box-shadow:
    inset 2px 2px 0px rgba(255, 255, 255, 0.05),
    inset -2px -2px 0px rgba(0, 0, 0, 0.5),
    0 10px 20px rgba(0,0,0,0.5);
}

/* --- REVEAL ANIMATION --- */
[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
}

/* --- UTILITY --- */
.font-manifesto {
  font-family: 'Manuka', 'Oswald', sans-serif;
}

.font-serif {
  font-family: var(--font-headings) !important;
}

.font-sans {
  font-family: var(--font-body) !important;
}

/* --- DYNAMIC BUTTONS --- */
.moo-btn-primary {
  border-radius: var(--btn-radius) !important;
}

/* --- WORDPRESS OVERRIDES --- */
.wp-admin-bar-fix {
  margin-top: 32px;
}

@media screen and (max-width: 782px) {
  .wp-admin-bar-fix {
    margin-top: 46px;
  }
}

/* Footer reveal effect — footer fixed behind content, revealed on scroll */
.site-footer-reveal {
  position: fixed !important;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}

.site-main-content {
  position: relative;
  z-index: 10;
  background-color: var(--color-background, #110f0d);
  margin-bottom: 420px;
}

@media (max-width: 767px) {
  .site-main-content {
    margin-bottom: 620px;
  }
}

/* =============================================
   CONTENU GUTENBERG — Template "Page Offre"
   Stylise automatiquement les blocs WordPress
   pour matcher le design du theme.
   ============================================= */

.moo-content {
  color: var(--color-muted, #c8b6ff);
  font-family: var(--font-body);
  font-weight: 300;
  line-height: 1.8;
  font-size: 0.95rem;
}

/* Titres */
.moo-content h2 {
  font-family: var(--font-headings);
  color: var(--color-text, #F4F1EC);
  font-size: 2rem;
  line-height: 1.2;
  margin: 3rem 0 1rem;
  font-weight: 400;
}

.moo-content h3 {
  font-family: var(--font-headings);
  color: var(--color-text, #F4F1EC);
  font-size: 1.5rem;
  line-height: 1.3;
  margin: 2.5rem 0 0.75rem;
  font-weight: 400;
}

.moo-content h4 {
  font-family: 'Manuka', 'Oswald', sans-serif;
  color: var(--color-primary, #E07A2F);
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin: 2rem 0 0.5rem;
}

/* Paragraphes */
.moo-content p {
  margin-bottom: 1.25rem;
  opacity: 0.8;
}

/* Liens */
.moo-content a {
  color: var(--color-primary, #E07A2F);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}

.moo-content a:hover {
  border-bottom-color: var(--color-primary, #E07A2F);
}

/* Listes */
.moo-content ul,
.moo-content ol {
  margin: 1.5rem 0;
  padding-left: 1rem;
  border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.moo-content ul li,
.moo-content ol li {
  margin-bottom: 0.75rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  opacity: 0.7;
}

.moo-content ul li::marker {
  color: var(--color-primary, #E07A2F);
}

.moo-content ol li::marker {
  color: var(--color-primary, #E07A2F);
  font-family: var(--font-headings);
}

/* Citations (blockquote) */
.moo-content blockquote {
  border-left: 2px solid var(--color-primary, #E07A2F);
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  background: rgba(255, 255, 255, 0.02);
}

.moo-content blockquote p {
  font-family: var(--font-headings);
  font-style: italic;
  font-size: 1.25rem;
  color: rgba(200, 182, 255, 0.5);
  opacity: 1;
  margin-bottom: 0;
}

/* Separateurs */
.moo-content hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(224, 122, 47, 0.5), transparent);
  margin: 3rem 0;
}

/* Images */
.moo-content img {
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.05);
  margin: 2rem 0;
}

.moo-content figure {
  margin: 2rem 0;
}

.moo-content figcaption {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--color-metal, #8a8a8a);
  margin-top: 0.75rem;
  text-align: center;
}

/* Boutons Gutenberg */
.moo-content .wp-block-button .wp-block-button__link,
.moo-content .wp-block-button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.5rem;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-family: var(--font-body);
  background-color: var(--btn-bg, #E07A2F) !important;
  color: var(--btn-text, #F4F1EC) !important;
  border: 1px solid var(--btn-bg, #E07A2F);
  border-radius: var(--btn-radius, 0) !important;
  transition: all 0.3s;
  text-decoration: none;
}

.moo-content .wp-block-button .wp-block-button__link:hover,
.moo-content .wp-block-button a:hover {
  background-color: var(--btn-hover, #3a2215) !important;
  border-color: var(--btn-hover, #3a2215);
}

/* Bouton outline */
.moo-content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--color-text, #F4F1EC) !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.moo-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--color-primary, #E07A2F);
  color: var(--color-primary, #E07A2F) !important;
  background-color: transparent !important;
}

/* Colonnes Gutenberg */
.moo-content .wp-block-columns {
  gap: 1.5rem;
  margin: 2rem 0;
}

.moo-content .wp-block-column {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  padding: 2rem;
  transition: border-color 0.5s;
}

.moo-content .wp-block-column:hover {
  border-color: rgba(224, 122, 47, 0.2);
}

/* Groupes / Conteneurs */
.moo-content .wp-block-group {
  margin: 2rem 0;
}

/* Tableau */
.moo-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
}

.moo-content th {
  font-family: 'Manuka', 'Oswald', sans-serif;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--color-primary, #E07A2F);
  text-align: left;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.moo-content td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.875rem;
  opacity: 0.7;
}
