/*
Theme Name:  Rucher Tourbillon
Theme URI:   https://rucher-tourbillon.ch
Description: Theme WordPress autonome pour rucher-tourbillon.ch — Miel artisanal, Sion, Valais
Author:      Frederic Walter
Version:     1.0.0
Text Domain: rucher-tourbillon
*/

/* ── Variables ─────────────────────────────────────────────── */
:root {
  --honey:       #C8861A;
  --honey-light: #F5C842;
  --honey-dark:  #7A4F0D;
  --bark:        #3B2410;
  --cream:       #FAF6EC;
  --sage:        #4A5E3A;
  --white:       #FFFFFF;
  --text:        #2A1A0A;
  --muted:       #6B5740;
  --stone:       #8A8070;
}

/* ── Reset minimal ─────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html  { scroll-behavior:smooth; }
body  { font-family:'Lato',sans-serif; color:var(--text); background:var(--cream); line-height:1.8; font-size:16px; }
img   { max-width:100%; height:auto; display:block; }
a     { color:var(--honey); text-decoration:none; transition:color .2s; }
a:hover { color:var(--honey-dark); }
ul    { list-style:none; }

/* ── Typographie globale ───────────────────────────────────── */
h1,h2,h3,h4 { font-family:'Playfair Display',Georgia,serif; color:var(--bark); line-height:1.15; }
h1 { font-size:clamp(2.4rem,5vw,3.8rem); margin-bottom:20px; }
h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); margin-bottom:18px; }
h3 { font-size:1.2rem; margin-bottom:8px; }
h4 { font-size:1rem; margin-bottom:6px; }
p  { color:var(--muted); margin-bottom:1rem; }

/* ══════════════════════════════════════════════════════════════
   HEADER & NAVIGATION
   ══════════════════════════════════════════════════════════════ */

.rt-header {
<!----  position:fixed; --->top:0; left:0; right:0; z-index:200;
  height:64px; display:flex; align-items:center;
  justify-content:space-between; padding:0 40px;
  background:rgba(250,246,236,.96); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(200,134,26,.18);
  transition:background .3s;
}
.rt-header.scrolled { background:rgba(250,246,236,.99); }

.rt-header__logo {
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.2rem; color:var(--bark); display:flex;
  align-items:center; gap:10px; white-space:nowrap;
}
.rt-header__logo:hover { color:var(--honey); }

/* Menu principal (généré par wp_nav_menu) */
.rt-nav { display:flex; align-items:center; gap:0; }

.rt-nav ul,
.rt-nav ul li,
.rt-nav ul li a { display:flex; }

.rt-nav > ul { gap:28px; align-items:center; }

.rt-nav > ul > li > a {
  font-size:.78rem; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--muted); padding:4px 0;
  border-bottom:2px solid transparent; transition:color .2s,border-color .2s;
}
.rt-nav > ul > li > a:hover,
.rt-nav > ul > li.current-menu-item > a,
.rt-nav > ul > li.current_page_item > a {
  color:var(--honey); border-bottom-color:var(--honey);
}

/* Bouton CTA dans le menu */
.rt-nav .menu-item-cta a,
.rt-header__cta {
  background:var(--honey); color:var(--white) !important;
  padding:7px 18px !important; border-radius:2px;
  font-size:.73rem !important; letter-spacing:.08em;
  text-transform:uppercase; font-weight:700;
  border-bottom:none !important; transition:background .2s !important;
}
.rt-nav .menu-item-cta a:hover,
.rt-header__cta:hover {
  background:var(--honey-dark) !important; color:var(--white) !important;
}

/* Sous-menus */
.rt-nav ul ul {
  position:absolute; top:100%; left:0;
  background:var(--cream); min-width:200px;
  border-top:2px solid var(--honey);
  box-shadow:0 8px 24px rgba(58,36,16,.1);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .2s,visibility .2s;
  flex-direction:column; gap:0;
}
.rt-nav ul li { position:relative; }
.rt-nav ul li:hover > ul { opacity:1; visibility:visible; pointer-events:auto; }
.rt-nav ul ul li a {
  padding:10px 16px; font-size:.78rem; color:var(--muted);
  border-bottom:1px solid rgba(200,134,26,.1); width:100%;
}
.rt-nav ul ul li a:hover { color:var(--honey); background:rgba(200,134,26,.05); }

/* Burger mobile */
.rt-burger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.rt-burger span { width:24px; height:2px; background:var(--bark); border-radius:2px; transition:all .3s; }
.rt-burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.rt-burger.open span:nth-child(2) { opacity:0; }
.rt-burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Menu mobile overlay */
.rt-mobile-nav {
  display:none; position:fixed; inset:0; top:64px; z-index:199;
  background:var(--cream); padding:32px 24px;
  flex-direction:column; gap:0;
  border-top:2px solid var(--honey);
}
.rt-mobile-nav.open { display:flex; }
.rt-mobile-nav a {
  display:block; padding:14px 0;
  font-size:.9rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--bark);
  border-bottom:1px solid rgba(200,134,26,.15);
}
.rt-mobile-nav a:hover { color:var(--honey); }

/* ══════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════ */

.rt-footer { background:var(--bark); padding:60px 40px 28px; }
.rt-footer__grid {
  display:grid; grid-template-columns:2fr 1fr 1fr;
  gap:60px; max-width:1100px; margin:0 auto 48px;
}
.rt-footer__brand {
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.3rem; color:var(--cream); margin-bottom:10px;
  display:block;
}
.rt-footer__tagline {
  font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--stone); display:block; margin-top:4px;
}
.rt-footer__desc { font-size:.875rem; color:var(--stone); line-height:1.7; }
.rt-footer__col h4 {
  font-size:.65rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--honey); font-weight:700; margin-bottom:14px;
  font-family:'Lato',sans-serif;
}
.rt-footer__col ul { display:flex; flex-direction:column; gap:7px; }
.rt-footer__col ul a { color:var(--stone); font-size:.875rem; transition:color .2s; }
.rt-footer__col ul a:hover { color:var(--cream); }
.rt-footer__bottom {
  border-top:1px solid rgba(255,255,255,.06); padding-top:22px;
  display:flex; justify-content:space-between; align-items:center;
  max-width:1100px; margin:0 auto;
}
.rt-footer__bottom p { font-size:.76rem; color:var(--stone); }
.rt-footer__bottom a { color:var(--honey); }

/* ══════════════════════════════════════════════════════════════
   CORPS DE PAGE — WordPress natif (blog, WooCommerce)
   ══════════════════════════════════════════════════════════════ */

.rt-page-wrap { padding-top:64px; min-height:60vh; }
.rt-content-area { max-width:1100px; margin:0 auto; padding:60px 32px; }

/* Titres WordPress natifs */
.entry-title { font-family:'Playfair Display',Georgia,serif; color:var(--bark); }
.entry-meta   { font-size:.8rem; color:var(--stone); margin-bottom:20px; }
.entry-content p { color:var(--muted); margin-bottom:1rem; }
.entry-content h2,
.entry-content h3 { font-family:'Playfair Display',Georgia,serif; color:var(--bark); }

/* Archive blog */
.rt-posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.rt-post-card {
  background:var(--white); border:1px solid rgba(200,134,26,.15);
  border-radius:4px; overflow:hidden;
  transition:transform .25s,box-shadow .25s;
}
.rt-post-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(58,36,16,.1); }
.rt-post-card__thumb { height:180px; overflow:hidden; background:var(--cream); }
.rt-post-card__thumb img { width:100%; height:100%; object-fit:cover; }
.rt-post-card__body { padding:20px 22px; }
.rt-post-card__meta { font-size:.72rem; color:var(--stone); margin-bottom:6px; }
.rt-post-card__title { font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; color:var(--bark); margin-bottom:8px; }
.rt-post-card__title a { color:var(--bark); }
.rt-post-card__title a:hover { color:var(--honey); }
.rt-post-card__excerpt { font-size:.875rem; color:var(--muted); margin-bottom:14px; }
.rt-post-card__more { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--honey); }

/* Pagination */
.rt-pagination { display:flex; gap:8px; justify-content:center; margin-top:48px; }
.rt-pagination a,
.rt-pagination span {
  padding:8px 14px; border:1px solid rgba(200,134,26,.3);
  border-radius:2px; font-size:.8rem; color:var(--muted); transition:all .2s;
}
.rt-pagination a:hover,
.rt-pagination span.current {
  background:var(--honey); color:var(--white); border-color:var(--honey);
}

/* ══════════════════════════════════════════════════════════════
   WOOCOMMERCE
   ══════════════════════════════════════════════════════════════ */

.woocommerce h1,
.woocommerce h2,
.woocommerce-page h2 { font-family:'Playfair Display',Georgia,serif; color:var(--bark); }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce a.button.alt {
  background:var(--honey); color:var(--white);
  font-family:'Lato',sans-serif; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  border-radius:2px; border:2px solid var(--honey); transition:all .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background:var(--honey-dark); border-color:var(--honey-dark); color:var(--white);
}
.woocommerce .price,
.woocommerce .amount {
  color:var(--honey); font-family:'Playfair Display',Georgia,serif; font-weight:600;
}
.woocommerce ul.products li.product {
  background:var(--white); border:1px solid rgba(200,134,26,.15);
  border-radius:4px; overflow:hidden;
  transition:transform .25s,box-shadow .25s;
}
.woocommerce ul.products li.product:hover {
  transform:translateY(-4px); box-shadow:0 12px 40px rgba(58,36,16,.1);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family:'Playfair Display',Georgia,serif; color:var(--bark);
}
.woocommerce span.onsale { background:var(--honey); border-radius:2px; }
.woocommerce table.shop_table th {
  font-family:'Lato',sans-serif; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  font-size:.75rem; color:var(--bark);
  border-bottom:2px solid var(--honey);
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

@media(max-width:900px) {
  .rt-header { padding:0 20px; }
  .rt-nav     { display:none; }
  .rt-burger  { display:flex; }
  .rt-footer__grid { grid-template-columns:1fr; gap:32px; }
  .rt-footer__bottom { flex-direction:column; gap:8px; text-align:center; }
  .rt-posts-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  .rt-footer { padding:48px 20px 20px; }
  .rt-posts-grid { grid-template-columns:1fr; }
  .rt-content-area { padding:40px 16px; }
}
