/**
 * AERA Boutique — Design complet (header, search, panier, shop, footer)
 * Thème sombre / or — site propre
 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Archivo+Black&display=swap');

:root {
  --aera-bg: #0a0a0a;
  --aera-surface: #121212;
  --aera-surface-elevated: #1a1a1a;
  --aera-card: #161616;
  --aera-text: #f5f5f5;
  --aera-text-secondary: #b0b0b0;
  --aera-muted: #888;
  --aera-accent: #c9a227;
  --aera-accent-hover: #ddb83a;
  --aera-border: #252525;
  --aera-radius: 8px;
  --aera-radius-sm: 6px;
  --aera-font: 'DM Sans', -apple-system, sans-serif;
  --aera-display: 'Archivo Black', sans-serif;
  --aera-header-h: 72px;
  --aera-max-w: 1280px;
  --aera-content-padding: 2rem;
}

/* ========== PLEINE LARGEUR — Structure globale ========== */
#outer-wrap,
#wrap,
body.oceanwp-theme #outer-wrap,
body.oceanwp-theme #wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#main,
.site-main,
#content,
.content-area,
main#main {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: var(--aera-content-padding) !important;
  padding-right: var(--aera-content-padding) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.entry-content,
.woocommerce .products,
.content-area .entry-content {
  max-width: var(--aera-max-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.aera-full-width #content-wrap,
body.sidebar-none #content-wrap {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.aera-full-width .content-area,
body.sidebar-none .content-area {
  width: 100% !important;
  float: none !important;
}
body.aera-full-width .sidebar-wrap,
body.sidebar-none .sidebar-wrap {
  display: none !important;
}

/* ========== HEADER IRRÉPROCHABLE ========== */
#site-header,
.site-header,
#main-header,
.oceanwp-theme #site-header,
header#site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: var(--aera-surface) !important;
  border-bottom: 1px solid var(--aera-border) !important;
  padding: 0 !important;
  min-height: var(--aera-header-h) !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.12) !important;
}

#site-header-inner,
.site-header-inner,
.header-inner,
#site-header .header-inner,
#site-header .container {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  display: grid !important;
  grid-template-columns: auto 1fr minmax(180px, 360px) auto !important;
  align-items: center !important;
  gap: 1.25rem 1.5rem !important;
  min-height: var(--aera-header-h) !important;
  box-sizing: border-box !important;
}

#site-header #site-logo,
#site-header .site-branding {
  grid-column: 1 !important;
  justify-self: start !important;
}

#site-header #site-navigation,
#site-header .main-navigation,
.header-inner #site-navigation {
  grid-column: 2 !important;
  justify-self: start !important;
  align-self: center !important;
}

#site-header .searchform,
#site-header form.search-form,
#site-header .header-search-wrap,
.header-inner form[role="search"] {
  grid-column: 3 !important;
  justify-self: stretch !important;
  margin: 0 !important;
  max-width: 100% !important;
}

#site-header-cart,
#site-header .header-cart,
.header-inner .header-cart {
  grid-column: 4 !important;
  justify-self: end !important;
}

/* ========== BASE ========== */
body,
.oceanwp-theme body,
.site {
  background: var(--aera-bg) !important;
  color: var(--aera-text) !important;
  font-family: var(--aera-font) !important;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--aera-accent) !important;
  text-decoration: none !important;
}
a:hover {
  color: var(--aera-accent-hover) !important;
}

/* ========== HEADER — Barre unique : Logo | Search | Panier (style des blocs) ========== */
#site-header,
.site-header,
.header-top,
#top-bar,
.oceanwp-theme #site-header {
  background: var(--aera-surface) !important;
  border-bottom: 1px solid var(--aera-border) !important;
  padding: 0 !important;
  min-height: var(--aera-header-h) !important;
}

#site-header-inner,
.site-header-inner,
.header-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 1.5rem !important;
  min-height: var(--aera-header-h) !important;
}

/* Logo */
#site-logo .site-title,
#site-logo a,
.site-branding a,
.oceanwp-theme #site-logo a {
  font-family: var(--aera-display) !important;
  font-size: 1.75rem !important;
  letter-spacing: 0.2em !important;
  color: var(--aera-accent) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}
#site-logo a:hover,
.site-branding a:hover {
  color: var(--aera-accent-hover) !important;
}

/* Barre de recherche dans le header */
#site-header .search-toggle,
#site-header .searchform,
#site-header form.search-form,
.oceanwp-theme #site-header .searchform,
.header-search-wrap,
form[role="search"] {
  flex: 1 1 280px !important;
  max-width: 420px !important;
  margin: 0 1rem !important;
}

#site-header .searchform input[type="search"],
#site-header .search-field,
#site-header input[type="text"].search-field,
.header-search-wrap input,
form[role="search"] input {
  width: 100% !important;
  min-width: 180px !important;
  padding: 0.6rem 1rem !important;
  background: var(--aera-card) !important;
  border: 1px solid var(--aera-border) !important;
  border-radius: var(--aera-radius-sm) !important;
  color: var(--aera-text) !important;
  font-family: var(--aera-font) !important;
  font-size: 0.9rem !important;
}
#site-header .searchform input::placeholder,
.header-search-wrap input::placeholder {
  color: var(--aera-muted) !important;
}

#site-header .searchform button,
#site-header .search-submit,
.header-search-wrap button,
form[role="search"] button {
  background: var(--aera-accent) !important;
  color: #000 !important;
  border: none !important;
  padding: 0.6rem 1rem !important;
  border-radius: 0 var(--aera-radius-sm) var(--aera-radius-sm) 0 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* Panier dans le header */
#site-header-cart,
.oceanwp-cart-sidebar-wrap,
.cart-toggle,
.header-cart,
.woocommerce .cart-contents,
a.cart-contents {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  background: transparent !important;
  border: 1px solid var(--aera-border) !important;
  border-radius: var(--aera-radius-sm) !important;
  color: var(--aera-text) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}
#site-header-cart:hover,
.cart-toggle:hover,
a.cart-contents:hover {
  border-color: var(--aera-accent) !important;
  color: var(--aera-accent) !important;
}

#site-header-cart .cart-count,
.cart-contents .count,
.woocommerce .cart-contents .count {
  background: var(--aera-accent) !important;
  color: #000 !important;
  border-radius: 999px !important;
  min-width: 1.35rem !important;
  height: 1.35rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
}

/* Navigation sous le header */
#site-navigation,
.main-navigation,
.nav-outer,
#main-nav {
  background: var(--aera-surface) !important;
  border-bottom: 1px solid var(--aera-border) !important;
}

#site-navigation .dropdown-menu a,
.main-navigation ul li a,
.nav-outer a,
#main-nav a {
  color: var(--aera-text-secondary) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  padding: 0.75rem 1rem !important;
}
#site-navigation a:hover,
.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--aera-accent) !important;
}

/* ========== CONTENU PRINCIPAL — Pleine largeur ========== */
#main,
.site-main,
#content {
  padding: var(--aera-content-padding) 1.5rem !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.page-title,
.woocommerce-products-header__title,
h1.entry-title {
  font-family: var(--aera-display) !important;
  font-size: 1.75rem !important;
  color: var(--aera-text) !important;
  margin-bottom: 1.5rem !important;
}

/* ========== BOUTIQUE / PRODUITS ========== */
.woocommerce ul.products,
.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem !important;
}

.woocommerce ul.products li,
.woocommerce .product,
li.product {
  background: var(--aera-card) !important;
  border: 1px solid var(--aera-border) !important;
  border-radius: var(--aera-radius) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.woocommerce ul.products li:hover {
  border-color: var(--aera-border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
}

.woocommerce ul.products li .woocommerce-loop-product__link,
.woocommerce ul.products li a {
  display: block !important;
  color: inherit !important;
}
.woocommerce ul.products li .woocommerce-loop-product__title,
.woocommerce ul.products li h2,
.woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--aera-text) !important;
  margin: 0.75rem 1rem 0.25rem !important;
  line-height: 1.3 !important;
}
.woocommerce ul.products li .price,
.woocommerce .price {
  color: var(--aera-accent) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  margin: 0 1rem 0.75rem !important;
}

.woocommerce ul.products li .button,
.woocommerce ul.products li .add_to_cart_button {
  margin: 0 1rem 1rem !important;
  padding: 0.6rem 1rem !important;
  background: var(--aera-accent) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--aera-radius-sm) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  width: calc(100% - 2rem) !important;
  display: block !important;
  text-align: center !important;
}
.woocommerce ul.products li .button:hover,
.woocommerce ul.products li .add_to_cart_button:hover {
  background: var(--aera-accent-hover) !important;
  color: #000 !important;
}

/* Images produits */
.woocommerce ul.products li img,
.woocommerce .product img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: var(--aera-radius) var(--aera-radius) 0 0 !important;
}

/* ========== BOUTONS GLOBAUX ========== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button,
button[type="submit"],
input[type="submit"] {
  background: var(--aera-accent) !important;
  color: #000 !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 0.65rem 1.25rem !important;
  border-radius: var(--aera-radius-sm) !important;
  cursor: pointer !important;
  font-family: var(--aera-font) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.button:hover,
button[type="submit"]:hover {
  background: var(--aera-accent-hover) !important;
  color: #000 !important;
}

/* ========== FORMULAIRES ========== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
.woocommerce input.input-text,
.woocommerce .form-row input {
  background: var(--aera-card) !important;
  border: 1px solid var(--aera-border) !important;
  color: var(--aera-text) !important;
  padding: 0.6rem 1rem !important;
  border-radius: var(--aera-radius-sm) !important;
  font-family: var(--aera-font) !important;
  width: 100% !important;
}

/* ========== FOOTER ========== */
#footer,
.site-footer,
.footer-widgets,
#footer-widgets {
  background: var(--aera-surface) !important;
  border-top: 1px solid var(--aera-border) !important;
  color: var(--aera-text-secondary) !important;
  padding: 2rem 1.5rem !important;
  margin-top: 3rem !important;
}

#footer-inner,
.site-footer-inner,
.footer-inner {
  max-width: var(--aera-max-w) !important;
  margin: 0 auto !important;
}

.site-footer a,
#footer a,
.footer-widgets a {
  color: var(--aera-text-secondary) !important;
}
.site-footer a:hover,
#footer a:hover {
  color: var(--aera-accent) !important;
}

.copyright,
#copyright {
  text-align: center !important;
  padding-top: 1.5rem !important;
  margin-top: 1.5rem !important;
  border-top: 1px solid var(--aera-border) !important;
  font-size: 0.875rem !important;
  color: var(--aera-muted) !important;
}

/* ========== BARRE RECHERCHE WIDGET (sidebar / footer) ========== */
.widget_search .search-form,
.widget_product_search form {
  display: flex !important;
  flex-wrap: wrap !important;
}
.widget_search input[type="search"],
.widget_product_search input[type="search"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.widget_search .search-submit,
.widget_product_search button {
  flex-shrink: 0 !important;
}

/* ========== BREADCRUMB ========== */
.woocommerce-breadcrumb,
.breadcrumbs {
  color: var(--aera-text-secondary) !important;
  font-size: 0.875rem !important;
  margin-bottom: 1rem !important;
  padding: 0 !important;
}
.woocommerce-breadcrumb a,
.breadcrumbs a {
  color: var(--aera-accent) !important;
}

/* ========== PAGINATION ========== */
.woocommerce nav.woocommerce-pagination,
.pagination {
  margin: 2rem 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--aera-card) !important;
  border: 1px solid var(--aera-border) !important;
  color: var(--aera-text) !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: var(--aera-radius-sm) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--aera-accent) !important;
  border-color: var(--aera-accent) !important;
  color: #000 !important;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
  #site-header-inner,
  .site-header-inner,
  .header-inner,
  #site-header .container {
    grid-template-columns: auto 1fr auto !important;
    gap: 1rem !important;
  }
  #site-header .searchform,
  #site-header form[role="search"],
  .header-inner form[role="search"] {
    grid-column: 1 / -1 !important;
    order: 3 !important;
  }
}

@media (max-width: 768px) {
  :root {
    --aera-header-h: 60px;
    --aera-content-padding: 1.25rem;
  }
  #site-header-inner,
  .site-header-inner,
  .header-inner {
    grid-template-columns: auto 1fr auto !important;
    padding: 0.75rem 1rem !important;
    gap: 0.75rem !important;
  }
  #site-header .searchform,
  #site-header form[role="search"],
  .header-search-wrap {
    order: 3 !important;
    grid-column: 1 / -1 !important;
    margin: 0 !important;
  }
  #site-logo .site-title,
  #site-logo a,
  .site-branding a {
    font-size: 1.4rem !important;
    letter-spacing: 0.12em !important;
  }
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
  }
  .woocommerce ul.products li .woocommerce-loop-product__title {
    font-size: 0.875rem !important;
  }
  .woocommerce ul.products li .button {
    padding: 0.5rem !important;
    font-size: 0.8rem !important;
  }
}
