/*
Theme Name: Dupraz Bois One Page
Author: Dieupart
Description: Thème WordPress one-page pour Dupraz Bois.
Version: 1.0.0
Text Domain: dupraz-onepage
*/

html, body { min-height: 100%; }
body { margin: 0; font-family: "Oxygen", sans-serif; background: #333; }
* { box-sizing: border-box; }
.site-wrap { position: relative; min-height: 100vh; overflow: hidden; padding-bottom: 60px; }
.site-header { position: relative; height: 90px; background: #fff; z-index: 20; text-align: center; }
.site-logo { display: block; width: min(500px, 90vw); height: auto; margin: 0 auto; }
.hero { position: absolute; inset: 0 0 60px; z-index: 0; overflow: hidden; background: #333; }
.slide { position: absolute; inset: 0; opacity: 0; background-position: center; background-size: cover; animation: dupraz-fade 18s infinite; }
.slide:nth-child(1) { animation-delay: 0s; }
.slide:nth-child(2) { animation-delay: 6s; }
.slide:nth-child(3) { animation-delay: 12s; }
@keyframes dupraz-fade { 0%, 33% { opacity: 1; } 38%, 95% { opacity: 0; } 100% { opacity: 1; } }
.services { position: absolute; z-index: 10; left: 0; right: 0; bottom: 60px; }
.services-inner { width: min(1170px, calc(100% - 30px)); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.service { text-align: center; background: #105f2b; color: #fff; padding: 10px; border-radius: 10px 10px 0 0; }
.service h2 { min-height: 70px; margin: 0 0 10px; font-size: 22px; line-height: 1.25; font-weight: 700; }
.service a { display: inline-block; color: #fff; background: #522f11; padding: 4px 12px; font-size: 22px; border-radius: 5px; text-decoration: none; }
.service a:hover, .service a:focus { color: #fff; background: #68401d; outline: 2px solid #fff; outline-offset: 2px; }
.site-footer { position: absolute; z-index: 20; bottom: 0; left: 0; right: 0; height: 60px; padding: 7px 0 5px; background: #522f11; color: #fff; text-align: center; line-height: 20px; }
.site-footer .address { font-size: 26px; }
.site-footer .credit { margin-top: 5px; font-size: 12px; }
.site-footer a { color: #fff; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { .slide { animation: none; opacity: 0; } .slide:first-child { opacity: 1; } }
@media (max-width: 768px) {
  .site-wrap { min-height: 100vh; padding-bottom: 0; background: linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.2)), var(--mobile-bg) center/cover no-repeat; }
  .site-header { height: 86px; }
  .hero { display: none; }
  .services { position: relative; bottom: auto; padding: 100px 0 20px; }
  .services-inner { grid-template-columns: 1fr; gap: 20px; }
  .service h2 { min-height: 0; }
  .site-footer { position: relative; height: 60px; }
}
