@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap');

/* ============================================
   VARIABLES — SYSTEME DE DESIGN A360
   ============================================ */
:root {
  --sp-bg: #F0EBE0;
  --sp-bg-card: #FAF7F2;
  --sp-bg-subtle: #EDE7DA;
  --sp-bg-dark: #2A2218;
  --sp-bg-header-cat: #55524A;
  --sp-green: #4A6840;
  --sp-green-light: #6B8F5E;
  --sp-border: #D9D0C0;
  --sp-border-subtle: #CFC6B0;
  --sp-text: #1C1610;
  --sp-text-body: #2A2218;
  --sp-text-muted: #5A5040;
  --sp-text-meta: #7A6E58;
  --sp-text-light: #FAF7F2;
  --sp-font-serif: 'Cormorant Garamond', Georgia, serif;
  --sp-font-sans: 'Inter', -apple-system, sans-serif;
  --sp-radius-sm: 8px;
  --sp-radius-md: 14px;
  --sp-radius-lg: 20px;
  --sp-radius-pill: 40px;
  --sp-shadow-sm: 0 2px 8px rgba(28,22,16,0.06);
  --sp-shadow-md: 0 6px 24px rgba(28,22,16,0.10);
  --sp-shadow-lg: 0 12px 40px rgba(28,22,16,0.14);
  --sp-max-width: 1100px;
  --sp-transition: all 0.22s ease;
}

/* ============================================
   RESET ET BASE
   ============================================ */
html, body,
body.ast-separate-container,
body.ast-plain-container,
body.single-post, body.single,
body.blog, body.archive,
body.category, body.page, body.home,
#page, #content, #primary, #main,
.site, .site-main, .site-content,
.ast-container, .entry-content,
.ast-article-post, .ast-article-inner,
.ast-page-builder-template,
.single-post .entry-header,
.single-post .site-main {
  background: var(--sp-bg) !important;
}

body {
  color: var(--sp-text) !important;
  font-family: var(--sp-font-sans) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  color: var(--sp-text) !important;
  line-height: 1.15 !important;
}

a {
  color: var(--sp-green) !important;
  text-decoration: none !important;
  transition: var(--sp-transition) !important;
}
a:hover { color: var(--sp-text) !important; }
a::after { display: none !important; }
img { max-width: 100%; height: auto; }

/* ============================================
   HEADER
   ============================================ */
.site-header,
.main-header-bar,
#ast-fixed-header,
.ast-primary-header-bar {
  background: var(--sp-bg-card) !important;
  border-bottom: 1px solid var(--sp-border) !important;
  box-shadow: none !important;
  position: relative !important;
}

.ast-site-title a, .site-title a {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--sp-text) !important;
}

.main-header-menu .menu-item > a {
  font-family: var(--sp-font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--sp-text-muted) !important;
  padding: 7px 16px !important;
  border-radius: var(--sp-radius-pill) !important;
  background: transparent !important;
  transition: var(--sp-transition) !important;
}
.main-header-menu .menu-item > a:hover {
  background: var(--sp-bg-subtle) !important;
  color: var(--sp-text) !important;
}
.main-header-menu .current-menu-item > a {
  background: var(--sp-green-light) !important;
  color: var(--sp-text-light) !important;
}

/* ============================================
   AUTEUR — MASQUE PARTOUT
   ============================================ */
.posted-by, .vcard, a[rel="author"],
.byline, .ast-blog-single-element.posted-by,
.ast-author-meta, .post-author,
.author-box, .author-info, .author-avatar,
.wp-block-post-author, [class*="author-"],
.entry-meta .byline,
.entry-meta a[href*="/author/"],
img.avatar, img[class*="avatar"],
.wp-user-avatar, .ast-author-avatar,
.ast-author-name-wrap, .ast-author-name,
span.author, span.byline,
.entry-meta > span:first-child:has(a[href*="/author/"]) {
  display: none !important;
}
.posted-on, .entry-date, time {
  display: inline !important;
  color: var(--sp-text-meta) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

/* ============================================
   HEADER CATEGORIES ET PAGE BLOG
   Fond #55524A — titre blanc — aligne gauche
   ============================================ */
body.category .ast-archive-header-wrap,
body.archive .ast-archive-header-wrap,
body.blog .ast-archive-header-wrap,
body.category .archive-header,
body.archive .archive-header,
body.tag .ast-archive-header-wrap,
body.category #ast-archive-header-area,
body.archive #ast-archive-header-area {
  background: var(--sp-bg-header-cat) !important;
  background-image: none !important;
  padding: 56px 48px 40px !important;
  margin: 0 0 40px 0 !important;
}

.ast-archive-title,
.page-title,
.archive-title {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: 40px !important;
  color: var(--sp-text-light) !important;
  text-shadow: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Titre page blog */
.sp-page-blog-title {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: 40px !important;
  color: var(--sp-text-light) !important;
  background: var(--sp-bg-header-cat) !important;
  padding: 56px 48px 40px !important;
  margin: 0 0 40px 0 !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

/* ============================================
   GRILLE ARTICLES — CARDS LISIBLES ET PROPRES
   ============================================ */
.ast-article-post {
  background: var(--sp-bg-card) !important;
  border-radius: var(--sp-radius-md) !important;
  border: 1px solid var(--sp-border) !important;
  overflow: hidden !important;
  box-shadow: var(--sp-shadow-sm) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: var(--sp-transition) !important;
  height: 100% !important;
}
.ast-article-post:hover {
  box-shadow: var(--sp-shadow-md) !important;
  transform: translateY(-4px) !important;
}
.ast-article-inner {
  background: var(--sp-bg-card) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.ast-grid-post-image,
.post-thumbnail {
  height: 220px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.ast-grid-post-image img,
.post-thumbnail img,
.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  transition: transform 0.4s ease !important;
}
.ast-article-post:hover .ast-grid-post-image img,
.ast-article-post:hover .post-thumbnail img {
  transform: scale(1.04) !important;
}
.ast-blog-summary-wrap,
.entry-content-wrap {
  padding: 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.entry-title {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: 21px !important;
  color: var(--sp-text) !important;
  line-height: 1.25 !important;
  margin-bottom: 10px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.entry-title a {
  color: var(--sp-text) !important;
  text-decoration: none !important;
}
.entry-title a:hover { color: var(--sp-green) !important; }

.entry-summary p, .entry-excerpt p {
  color: var(--sp-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 300 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}
.entry-meta {
  color: var(--sp-text-meta) !important;
  font-size: 12px !important;
  margin-bottom: 10px !important;
}
a.read-more, .more-link, .ast-read-more {
  color: var(--sp-green) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-decoration: none !important;
  margin-top: auto !important;
  display: block !important;
  padding-top: 16px !important;
  transition: var(--sp-transition) !important;
}
a.read-more:hover { color: var(--sp-text) !important; }

/* ============================================
   ARTICLES INDIVIDUELS
   ============================================ */
.single .entry-header,
.single-post .entry-header {
  background: var(--sp-bg-card) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 48px 48px 24px !important;
  float: none !important;
  clear: both !important;
}
.single .entry-title,
.single-post .entry-title {
  font-family: var(--sp-font-serif) !important;
  font-size: clamp(28px, 4vw, 46px) !important;
  font-weight: 600 !important;
  color: var(--sp-text) !important;
  line-height: 1.08 !important;
  margin-bottom: 20px !important;
  float: none !important;
  clear: both !important;
}
.single .entry-content,
.single-post .entry-content {
  max-width: 720px !important;
  margin: 0 auto !important;
  background: var(--sp-bg) !important;
  padding: 32px 48px !important;
}
.single .entry-content p,
.single-post .entry-content p {
  color: var(--sp-text-body) !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  font-weight: 300 !important;
  margin-bottom: 20px !important;
}
.single .entry-content h2 {
  font-size: 28px !important;
  margin: 40px 0 16px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--sp-border) !important;
}
.single .entry-content h3 {
  font-size: 22px !important;
  margin: 28px 0 12px !important;
}
.single .entry-content a { color: var(--sp-green) !important; }
.single .entry-content a:hover {
  text-decoration: underline !important;
}
.single .entry-content strong {
  color: var(--sp-text) !important;
  font-weight: 600 !important;
}
.single .entry-content ul,
.single .entry-content ol {
  color: var(--sp-text-body) !important;
  padding-left: 24px !important;
  margin-bottom: 20px !important;
}
.single .entry-content li {
  margin-bottom: 8px !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}
.single .wp-post-image,
.single-post .wp-post-image,
.single .ast-post-thumbnail-wrap,
.single-post .ast-post-thumbnail-wrap {
  display: block !important;
  float: none !important;
  clear: both !important;
  max-width: 720px !important;
  margin: 0 auto 32px !important;
  border-radius: var(--sp-radius-md) !important;
  overflow: hidden !important;
}

/* ============================================
   PLUGIN AFFILIE — FOND TRANSPARENT
   ============================================ */
.aawp, .aawp *, [class*="aawp"],
[class*="aawp"] *, .awptable, .awptable *,
[class*="price-table"], [class*="price-table"] * {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--sp-text-body) !important;
}

/* ============================================
   CTA BAS ARTICLE
   ============================================ */
.sp-article-cta {
  background: var(--sp-bg-card) !important;
  border-radius: var(--sp-radius-md) !important;
  padding: 32px 36px !important;
  margin: 52px auto 0 !important;
  border: 1px solid var(--sp-border) !important;
  border-left: 3px solid var(--sp-green) !important;
  max-width: 720px !important;
  display: block !important;
}
.sp-article-cta p {
  font-family: var(--sp-font-serif) !important;
  font-size: 20px !important;
  font-style: italic !important;
  color: var(--sp-text-body) !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
  background: transparent !important;
}
.sp-article-cta a {
  display: inline-block !important;
  background: var(--sp-text) !important;
  color: var(--sp-text-light) !important;
  padding: 13px 30px !important;
  border-radius: var(--sp-radius-pill) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: var(--sp-transition) !important;
}
.sp-article-cta a:hover {
  background: var(--sp-green) !important;
  color: var(--sp-text-light) !important;
}

/* ============================================
   NAVIGATION PRECEDENT/SUIVANT
   ============================================ */
.post-navigation,
.navigation.post-navigation {
  max-width: 720px !important;
  margin: 52px auto 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
.nav-previous, .nav-next {
  background: var(--sp-bg-card) !important;
  border-radius: var(--sp-radius-sm) !important;
  padding: 18px 22px !important;
  border: 1px solid var(--sp-border) !important;
  transition: var(--sp-transition) !important;
}
.nav-previous { text-align: left !important; }
.nav-next { text-align: right !important; }
.nav-previous:hover,
.nav-next:hover {
  border-color: var(--sp-green) !important;
  box-shadow: var(--sp-shadow-sm) !important;
}
.nav-previous a, .nav-next a {
  font-size: 14px !important;
  color: var(--sp-text) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  display: block !important;
}
.nav-previous a:hover,
.nav-next a:hover { color: var(--sp-green) !important; }

/* ============================================
   PAGINATION
   ============================================ */
.pagination, .nav-links,
.navigation.pagination,
.ast-pagination-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 48px auto !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: var(--sp-radius-sm) !important;
  border: 1px solid var(--sp-border) !important;
  font-size: 14px !important;
  color: var(--sp-text) !important;
  text-decoration: none !important;
  padding: 0 14px !important;
  background: var(--sp-bg-card) !important;
  transition: var(--sp-transition) !important;
}
.page-numbers.current {
  background: var(--sp-text) !important;
  color: var(--sp-text-light) !important;
  border-color: var(--sp-text) !important;
}
.page-numbers:hover { background: var(--sp-bg-subtle) !important; }
.page-numbers.next, .page-numbers.prev {
  color: var(--sp-green) !important;
  border: none !important;
  background: none !important;
  font-weight: 500 !important;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer, #colophon {
  background: var(--sp-bg-dark) !important;
  padding: 0 !important;
  border-top: none !important;
}
.ast-small-footer,
.ast-small-footer-wrap,
.footer-widget-area { display: none !important; }
.sp-footer-content {
  max-width: var(--sp-max-width) !important;
  margin: 0 auto !important;
  padding: 32px 48px !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 24px !important;
}
.sp-footer-brand {
  font-family: var(--sp-font-serif) !important;
  font-size: 14px !important;
  letter-spacing: 0.16em !important;
  color: #D9D0C0 !important;
  text-transform: uppercase !important;
  display: flex !important;
  flex-direction: column !important;
}
.sp-footer-tagline {
  font-size: 10px !important;
  color: #8A8070 !important;
  letter-spacing: 0.08em !important;
  margin-top: 4px !important;
}
.sp-footer-nav {
  display: flex !important;
  gap: 20px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.sp-footer-nav a {
  font-size: 10px !important;
  color: #9A8E7C !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  transition: var(--sp-transition) !important;
}
.sp-footer-nav a:hover { color: #D9D0C0 !important; }
.sp-footer-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 5px !important;
}
.sp-footer-m360 {
  font-size: 10px !important;
  color: #7A9A6E !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.sp-footer-copy { font-size: 10px !important; color: #5A5248 !important; }

/* ============================================
   HOMEPAGE — DESIGN ZEN BAMBOU
   ============================================ */
.sp-hero {
  background: var(--sp-bg-card) !important;
  padding: 80px 0 64px !important;
  border-bottom: 1px solid var(--sp-border) !important;
}
.sp-hero-inner {
  max-width: var(--sp-max-width) !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}
.sp-tag {
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--sp-text-meta) !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.sp-tag::after {
  content: "" !important;
  width: 44px !important;
  height: 1px !important;
  background: #B8AA92 !important;
  display: block !important;
}
.sp-hero h1 {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: clamp(40px, 5vw, 60px) !important;
  line-height: 1.03 !important;
  color: var(--sp-text) !important;
  max-width: 600px !important;
  margin-bottom: 32px !important;
}
.sp-hero h1 em {
  font-style: italic !important;
  color: var(--sp-green) !important;
  font-weight: 400 !important;
}
.sp-hero-row {
  display: grid !important;
  grid-template-columns: 1fr 260px !important;
  gap: 40px !important;
  align-items: start !important;
}
.sp-sub {
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: #3C3428 !important;
  font-weight: 300 !important;
  margin-bottom: 36px !important;
  max-width: 520px !important;
}
.sp-bubble {
  background: var(--sp-bg-subtle) !important;
  border-radius: 20px !important;
  padding: 26px 28px !important;
  border: 1px solid var(--sp-border-subtle) !important;
}
.sp-bq {
  font-family: var(--sp-font-serif) !important;
  font-size: 16px !important;
  font-style: italic !important;
  color: var(--sp-text-body) !important;
  line-height: 1.65 !important;
  margin-bottom: 12px !important;
}
.sp-bs {
  font-size: 12px !important;
  color: var(--sp-text-muted) !important;
  line-height: 1.6 !important;
  border-top: 1px solid var(--sp-border-subtle) !important;
  padding-top: 12px !important;
}
.sp-actions {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.sp-cta {
  display: inline-block !important;
  background: var(--sp-text) !important;
  color: var(--sp-text-light) !important;
  padding: 14px 34px !important;
  border-radius: var(--sp-radius-pill) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: var(--sp-transition) !important;
}
.sp-cta:hover {
  background: var(--sp-green) !important;
  color: var(--sp-text-light) !important;
  transform: translateY(-2px) !important;
}
.sp-link {
  font-size: 13px !important;
  color: var(--sp-green) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

/* BANDE VERTE */
.sp-band {
  background: var(--sp-green) !important;
  padding: 20px 0 !important;
}
.sp-band-inner {
  max-width: var(--sp-max-width) !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.sp-band-inner span {
  font-size: 10px !important;
  color: rgba(250,247,242,0.85) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}
.sp-sep { color: rgba(250,247,242,0.25) !important; }

/* SECTION 4 DOMAINES */
.sp-section {
  max-width: var(--sp-max-width) !important;
  margin: 0 auto !important;
  padding: 52px 48px !important;
}
.sp-lbl {
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--sp-text-meta) !important;
  margin-bottom: 10px !important;
  display: block !important;
}
.sp-sec-title {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: 30px !important;
  color: var(--sp-text) !important;
  line-height: 1.2 !important;
  margin-bottom: 32px !important;
}

/* GRILLE ASYMETRIQUE */
.sp-grid-asymmetric {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 16px !important;
}
.sp-card-hero {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  background: var(--sp-bg-card) !important;
  border-radius: var(--sp-radius-lg) !important;
  padding: 40px 34px !important;
  border: 1px solid var(--sp-border) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 320px !important;
  transition: var(--sp-transition) !important;
  text-decoration: none !important;
}
.sp-card-hero:hover {
  background: #fff !important;
  box-shadow: var(--sp-shadow-md) !important;
  transform: translateY(-4px) !important;
}
.sp-card-normal {
  background: var(--sp-bg-subtle) !important;
  border-radius: var(--sp-radius-lg) !important;
  padding: 28px 26px !important;
  border: 1px solid var(--sp-border) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: var(--sp-transition) !important;
  text-decoration: none !important;
}
.sp-card-normal:hover {
  background: #fff !important;
  box-shadow: var(--sp-shadow-md) !important;
  transform: translateY(-3px) !important;
}
.sp-card-row2 { grid-column: 2 !important; grid-row: 2 !important; }
.sp-card-accent {
  background: var(--sp-bg-card) !important;
  border-radius: var(--sp-radius-lg) !important;
  padding: 28px 26px !important;
  border: 1px solid var(--sp-border) !important;
  border-left: 4px solid var(--sp-green) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: var(--sp-transition) !important;
  text-decoration: none !important;
}
.sp-card-accent:hover {
  background: #fff !important;
  box-shadow: var(--sp-shadow-md) !important;
  transform: translateY(-3px) !important;
}
.sp-card-bambou {
  grid-column: 3 !important;
  grid-row: 2 !important;
  background: var(--sp-green) !important;
  border-radius: var(--sp-radius-lg) !important;
  padding: 28px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.sp-card-bambou p {
  font-family: var(--sp-font-serif) !important;
  font-size: 16px !important;
  font-style: italic !important;
  color: rgba(250,247,242,0.9) !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
  background: transparent !important;
}
.sp-card-bambou a {
  font-size: 10px !important;
  color: rgba(250,247,242,0.7) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: var(--sp-transition) !important;
}
.sp-card-bambou a:hover {
  color: rgba(250,247,242,1) !important;
}
.sp-card-body { flex: 1 !important; }
.sp-card-body h3 {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  color: var(--sp-text) !important;
  margin-bottom: 10px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
.sp-card-body p {
  font-size: 13px !important;
  color: var(--sp-text-muted) !important;
  line-height: 1.7 !important;
  margin-bottom: 20px !important;
  font-weight: 400 !important;
  background: transparent !important;
}
.sp-num {
  font-family: var(--sp-font-serif) !important;
  font-size: 11px !important;
  color: #B8AA92 !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 14px !important;
  display: block !important;
}
.sp-link-arrow {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--sp-green) !important;
  transition: var(--sp-transition) !important;
}
.sp-link-arrow:hover { letter-spacing: 0.2em !important; }

/* SECTION BAS HOMEPAGE */
.sp-bottom {
  max-width: var(--sp-max-width) !important;
  margin: 0 auto 48px !important;
  padding: 48px 44px !important;
  background: var(--sp-bg-card) !important;
  border-radius: var(--sp-radius-lg) !important;
  border: 1px solid var(--sp-border) !important;
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  gap: 52px !important;
}
.sp-philo-h2, .sp-nl-h2 {
  font-family: var(--sp-font-serif) !important;
  font-weight: 600 !important;
  color: var(--sp-text) !important;
  line-height: 1.2 !important;
}
.sp-philo-h2 { font-size: 26px !important; margin-bottom: 18px !important; }
.sp-nl-h2 { font-size: 24px !important; margin-bottom: 12px !important; }
.sp-body {
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: #3C3428 !important;
  font-weight: 300 !important;
}
.sp-bridge {
  background: var(--sp-bg-subtle) !important;
  border-radius: var(--sp-radius-sm) !important;
  padding: 20px 22px !important;
  margin-top: 24px !important;
  border-left: 3px solid var(--sp-green) !important;
}
.sp-bridge p {
  font-size: 14px !important;
  color: #3C3428 !important;
  margin-bottom: 10px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  background: transparent !important;
}
.sp-bridge a {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--sp-green) !important;
  text-decoration: none !important;
}
.sp-nl form input[type="email"] {
  width: 100% !important;
  background: var(--sp-bg) !important;
  border: 1.5px solid var(--sp-border-subtle) !important;
  padding: 14px 20px !important;
  font-size: 15px !important;
  color: var(--sp-text) !important;
  border-radius: var(--sp-radius-pill) !important;
  outline: none !important;
  margin-bottom: 10px !important;
  transition: var(--sp-transition) !important;
}
.sp-nl form input[type="email"]:focus {
  border-color: var(--sp-green) !important;
}
.sp-nl form input[type="email"]::placeholder {
  color: #A89E8C !important;
}
.sp-nl form button {
  width: 100% !important;
  background: var(--sp-green) !important;
  color: var(--sp-text-light) !important;
  border: none !important;
  padding: 14px !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: var(--sp-radius-pill) !important;
  cursor: pointer !important;
  transition: var(--sp-transition) !important;
}
.sp-nl form button:hover {
  background: var(--sp-text) !important;
  transform: translateY(-1px) !important;
}
.sp-note, .sp-msg {
  font-size: 11px !important;
  color: #A89E8C !important;
  margin-top: 8px !important;
  text-align: center !important;
  display: block !important;
}

/* NETTOYAGE */
[class*="social"], .social-icons,
.ast-breadcrumbs-wrapper,
.ast-social-color-type-custom,
.ast-social-inner-class { display: none !important; }

/* ============================================
   RESPONSIVE MOBILE
   ============================================ */
@media (max-width: 768px) {
  .sp-hero-inner, .sp-band-inner,
  .sp-section, .sp-bottom {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sp-hero { padding: 48px 0 40px !important; }
  .sp-hero h1 { font-size: 36px !important; }
  .sp-hero-row { grid-template-columns: 1fr !important; gap: 24px !important; }
  .sp-bubble { display: none !important; }
  .sp-grid-asymmetric {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  .sp-card-hero, .sp-card-row2, .sp-card-bambou {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: auto !important;
  }
  .sp-bottom {
    grid-template-columns: 1fr !important;
    padding: 28px 20px !important;
    margin: 0 20px 32px !important;
    gap: 32px !important;
  }
  .sp-footer-content {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 28px 20px !important;
    gap: 20px !important;
  }
  .sp-footer-right { align-items: center !important; }
  .post-navigation { grid-template-columns: 1fr !important; gap: 12px !important; }
  .single .entry-header,
  .single-post .entry-header,
  .single .entry-content,
  .single-post .entry-content { padding: 24px 20px !important; }
  body.category .ast-archive-header-wrap,
  body.archive .ast-archive-header-wrap,
  .sp-page-blog-title { padding: 36px 20px 28px !important; }
  .ast-archive-title, .page-title,
  .sp-page-blog-title { font-size: 30px !important; }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .sp-hero-inner, .sp-band-inner,
  .sp-section { padding-left: 32px !important; padding-right: 32px !important; }
  .sp-hero-row { grid-template-columns: 1fr 220px !important; gap: 28px !important; }
  .sp-bottom { padding: 36px 32px !important; }
  .sp-grid-asymmetric { grid-template-columns: 1.2fr 1fr 1fr !important; }
}