/*
Theme Name: Semilles
Theme URI: https://www.semilles.ch
Description: Thème enfant pour la Maison des Semilles - Monthey
Author: Florent
Template: wprentals
Version: 1.0.0
Text Domain: semilles
*/

/* ============================================
   VARIABLES & BASE
   ============================================ */
:root {
  --color-vert-fonce:    #2D4A1E;
  --color-vert-moyen:    #3B6D11;
  --color-vert-clair:    #97C459;
  --color-vert-pale:     #EAF3DE;
  --color-ocre:          #E8A020;
  --color-ocre-fonce:    #854F0B;
  --color-ocre-pale:     #FAEEDA;
  --color-beige:         #F5F2EC;
  --color-gris:          #D3D1C7;
  --color-gris-moyen:    #888780;
  --color-texte:         #2C2C2A;
  --color-texte-light:   #5F5E5A;
  --font-titre:          Georgia, 'Times New Roman', serif;
  --font-corps:          -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --largeur-max:         100%;
  --transition:          0.2s ease;
}

/* ============================================
   PLEINE LARGEUR
   ============================================ */
body {
  overflow-x: hidden !important;
}

/* Correction du décalage Bootstrap */
.content_wrapper.row,
.container.main_wrapper,
.main_wrapper {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.col-md-12 {
  padding-left: 15px !important;
  padding-right: 15px !important;
  width: 100% !important;
  float: none !important;
}

#all_wrapper,
.website-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.entry-content,
.page-content,
.post-content {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 24px;
}

.site-header,
.site-footer,
#masthead,
#colophon {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  left: 0 !important;
  right: 0 !important;
  position: relative !important;
}

.wprentals-home-banner,
.home-banner,
.hero-section,
.wprentals_home_page_banner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  left: 0 !important;
}

/* ============================================
   TYPOGRAPHIE
   ============================================ */
body {
  font-family: var(--font-corps);
  color: var(--color-texte);
  background-color: var(--color-beige);
  font-size: 16px;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-titre);
  color: var(--color-vert-fonce);
  font-weight: normal;
  line-height: 1.3;
}

h1 { font-size: 2.4rem; }
h2 { font-size: 1.9rem; }
h3 { font-size: 1.4rem; }

p { margin-bottom: 1.2rem; }

a {
  color: var(--color-vert-moyen);
  text-decoration: none;
  transition: color var(--transition);
}
a:hover { color: var(--color-ocre); }

/* ============================================
   NAVIGATION
   ============================================ */
#masthead,
.site-header,
header.site-header {
  background-color: var(--color-vert-fonce) !important;
  width: 100% !important;
  padding: 0 40px !important;
}

.site-branding .site-title,
.site-branding .site-title a {
  font-family: var(--font-titre) !important;
  color: #ffffff !important;
  font-size: 1.4rem !important;
}

.main-navigation,
nav.main-navigation {
  background: var(--color-vert-fonce) !important;
}

.main-navigation a,
.main-navigation ul li a {
  color: rgba(255,255,255,0.85) !important;
  font-size: 14px !important;
  padding: 18px 16px !important;
  transition: color var(--transition) !important;
}

.main-navigation a:hover,
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item a {
  color: #ffffff !important;
  background: rgba(255,255,255,0.1) !important;
}

/* ============================================
   HERO / BANNIERE
   ============================================ */
.hero-section,
.home-banner,
.wprentals-home-banner {
  width: 100% !important;
  min-height: 520px;
  background-color: var(--color-vert-moyen);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 24px;
}

.hero-section h1,
.home-banner h1,
.home-banner .banner-title {
  color: #ffffff !important;
  font-size: 2.8rem !important;
  margin-bottom: 16px;
  text-shadow: none;
}

.hero-section p,
.home-banner .banner-subtitle {
  color: rgba(255,255,255,0.8) !important;
  font-size: 1.1rem;
  max-width: 600px;
  margin: 0 auto 28px;
}

/* ============================================
   BOUTONS
   ============================================ */
.btn,
.button,
input[type="submit"],
.wprentals-search-btn,
.reservation-btn,
a.btn-primary {
  background-color: var(--color-ocre) !important;
  color: var(--color-ocre-fonce) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 12px 28px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background-color var(--transition) !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.btn:hover,
.button:hover,
input[type="submit"]:hover,
.wprentals-search-btn:hover {
  background-color: var(--color-ocre-fonce) !important;
  color: #ffffff !important;
}

/* ============================================
   CARTES / BIENS
   ============================================ */
.property-card,
.wprentals-property,
.listing-item {
  background: #ffffff;
  border-radius: 8px;
  border: 0.5px solid var(--color-gris);
  overflow: hidden;
  transition: box-shadow var(--transition);
}

.property-card:hover {
  box-shadow: 0 4px 16px rgba(45, 74, 30, 0.12);
}

/* ============================================
   TARIFS
   ============================================ */
.tarifs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  padding: 40px 24px;
  max-width: 900px;
  margin: 0 auto;
}

.tarif-card {
  background: #ffffff;
  border-radius: 8px;
  border: 0.5px solid var(--color-gris);
  padding: 24px;
  text-align: center;
}

.tarif-card .prix {
  font-family: var(--font-titre);
  font-size: 2rem;
  color: var(--color-vert-fonce);
}

.tarif-card .prix span {
  font-size: 1rem;
  color: var(--color-gris-moyen);
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer,
footer.site-footer {
  background-color: var(--color-vert-fonce) !important;
  color: rgba(255,255,255,0.7) !important;
  width: 100% !important;
  padding: 40px !important;
}

.site-footer a {
  color: rgba(255,255,255,0.8) !important;
}

.site-footer a:hover {
  color: var(--color-ocre) !important;
}

/* ============================================
   SEO & ACCESSIBILITE
   ============================================ */
img { max-width: 100%; height: auto; }

:focus {
  outline: 2px solid var(--color-ocre);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.4rem; }
  .hero-section h1 { font-size: 2rem !important; }
  #masthead { padding: 0 16px !important; }
}
