/* Ukalovic Compagny - Design layer "Acier & Oxyde" - Michael Galy */

:root {
  --uk-bg: #F4F4F2;
  --uk-surface: #FFFFFF;
  --uk-ink: #1B1D1F;
  --uk-support: #5A5E63;
  --uk-accent: #B03A20;
  --uk-accent-dark: #8F2E19;
  --uk-border: #E4E4E1;
  --uk-radius-sm: 4px;
  --uk-radius-md: 6px;
}

/* ---------- Base ---------- */
body { background-color: var(--uk-bg); }

::selection { background: var(--uk-accent); color: #fff; }

/* ---------- Typographie ---------- */
body,
.brz p, .brz .brz-p,
.brz .brz-tp-lg-paragraph,
.brz .brz-rich-text,
.brz .brz-rich-text * {
  font-family: 'Archivo', -apple-system, 'Segoe UI', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.brz .brz-tp-lg-heading1, .brz .brz-tp-lg-heading2, .brz .brz-tp-lg-heading3,
.brz .brz-tp-lg-heading4, .brz .brz-tp-lg-heading5, .brz .brz-tp-lg-heading6 {
  font-family: 'Archivo', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  line-height: 1.12 !important;
}

/* Templates OceanWP (articles, archives, single) */
body, .entry-content, .entry-content p, #main p,
.blog-entry, .thumbnail-entry, .single-post-text,
.theme-heading, .entry-title, .page-header-title, .site-breadcrumbs {
  font-family: 'Archivo', -apple-system, 'Segoe UI', sans-serif !important;
}
.entry-content p, .single-post-text p { line-height: 1.6; }
.entry-title a { color: var(--uk-ink); transition: color .15s ease; }
.entry-title a:hover { color: var(--uk-accent); }
.entry-content a:not(.brz-btn), .single-post-text a {
  color: var(--uk-accent);
  text-decoration-color: rgba(176, 58, 32, .4);
  text-underline-offset: 3px;
}
.entry-content a:not(.brz-btn):hover { color: var(--uk-accent-dark); }
#main .button, #main input[type="submit"], .theme-button, .oceanwp-theme .button {
  background-color: var(--uk-accent);
  color: #fff;
  border-radius: var(--uk-radius-sm);
  transition: background-color .15s ease;
}
#main .button:hover, .theme-button:hover { background-color: var(--uk-accent-dark); }
.blog-entry .blog-entry-inner, .thumbnail-entry {
  background: var(--uk-surface);
  border: 1px solid var(--uk-border);
  border-radius: var(--uk-radius-md);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}
.blog-entry .blog-entry-inner:hover { box-shadow: 0 8px 24px rgba(27, 29, 31, .10); transform: translateY(-2px); }
.entry-content img, .single-post-text img, .blog-entry img { border-radius: var(--uk-radius-md); }

.brz .brz-tp-lg-paragraph, .brz p {
  line-height: 1.6 !important;
}

/* ---------- Boutons Brizy ---------- */
.brz .brz-btn,
.brz a.brz-btn,
.brz .brz-btn .brz-span {
  font-family: 'Archivo', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
}
.brz .brz-btn {
  background-color: var(--uk-accent) !important;
  border-color: var(--uk-accent) !important;
  color: #ffffff !important;
  border-radius: var(--uk-radius-sm) !important;
  box-shadow: none !important;
  transition: background-color .15s ease, border-color .15s ease !important;
}
.brz .brz-btn:hover {
  background-color: var(--uk-accent-dark) !important;
  border-color: var(--uk-accent-dark) !important;
  color: #ffffff !important;
}

/* ---------- Liens dans le contenu ---------- */
.brz .brz-rich-text a:not(.brz-btn):not(.link--external) {
  color: var(--uk-accent);
  text-decoration-color: rgba(176, 58, 32, .4);
  text-underline-offset: 3px;
  transition: color .15s ease;
}
.brz .brz-rich-text a:not(.brz-btn):hover { color: var(--uk-accent-dark); }

/* ---------- Images ---------- */
.brz .brz-img, .brz .brz-picture img, .brz img.brz-img {
  border-radius: var(--uk-radius-md);
}

/* ---------- Formulaire CF7 ---------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  background: var(--uk-surface);
  border: 1px solid #D6D6D3;
  border-radius: var(--uk-radius-sm);
  padding: 12px 14px;
  font-family: 'Archivo', sans-serif;
  font-size: 15px;
  color: var(--uk-ink);
  transition: border-color .15s ease, box-shadow .15s ease;
  box-sizing: border-box;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus {
  outline: none;
  border-color: var(--uk-accent);
  box-shadow: 0 0 0 2px rgba(176, 58, 32, .18);
}
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: #9A9EA3; }
.wpcf7 input[type="submit"], .wpcf7 button[type="submit"] {
  background: var(--uk-accent);
  color: #fff;
  border: none;
  border-radius: var(--uk-radius-sm);
  padding: 13px 26px;
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background-color .15s ease;
  width: auto;
}
.wpcf7 input[type="submit"]:hover, .wpcf7 button[type="submit"]:hover { background: var(--uk-accent-dark); }
.wpcf7 .wpcf7-not-valid { border-color: var(--uk-accent) !important; }
.wpcf7 .wpcf7-response-output { border-radius: var(--uk-radius-sm); border-color: var(--uk-border); padding: 12px 16px; font-family: 'Archivo', sans-serif; }

/* ---------- Menu : harmonisation accent ---------- */
#menu-menu li#menu-item-34 > a { background: var(--uk-accent) !important; }
#menu-menu li#menu-item-34 > a:hover { background: var(--uk-accent-dark) !important; }
#menu-menu > li > a { font-family: 'Archivo', sans-serif !important; font-weight: 600; }
#menu-menu .sub-menu li a { font-family: 'Archivo', sans-serif !important; }
#menu-menu .sub-menu { border: 1px solid var(--uk-border); box-shadow: 0 8px 24px rgba(27, 29, 31, .10); }
#menu-menu .sub-menu li a:hover { background: #F4F4F2; color: var(--uk-accent-dark); }

/* ---------- Galerie NextGEN ---------- */
.ngg-gallery-thumbnail, .ngg-gallery-thumbnail img {
  border: none !important;
  border-radius: var(--uk-radius-md);
}
.ngg-gallery-thumbnail img { transition: transform .2s ease, box-shadow .2s ease; }
.ngg-gallery-thumbnail img:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(27, 29, 31, .14); }

/* ---------- Echelle typographique responsive ---------- */
.brz h1, .brz .brz-tp-lg-heading1 { font-size: clamp(30px, 4.6vw, 52px) !important; }
.brz h2, .brz .brz-tp-lg-heading2 { font-size: clamp(24px, 3.4vw, 38px) !important; }
.brz h3, .brz .brz-tp-lg-heading3 { font-size: clamp(19px, 2.4vw, 27px) !important; }
.brz .brz-tp-lg-paragraph, .brz p { font-size: clamp(15px, 1.15vw, 17px) !important; }

/* ---------- Rythme des sections ---------- */
.brz .brz-section__content { padding-top: clamp(40px, 6vw, 84px); padding-bottom: clamp(40px, 6vw, 84px); }

/* ---------- Details ---------- */
.brz hr, hr { border: none; border-top: 1px solid var(--uk-border); }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
