/* Shadow West Experience — styles globaux non destructifs */
html { scroll-behavior: smooth; }
body.swe-enabled {
  color: var(--swe-text);
  background-color: #e7d5ba !important;
  background-image: linear-gradient(rgba(255,250,240,var(--swe-overlay)), rgba(255,250,240,var(--swe-overlay))), var(--swe-bg) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: var(--swe-bg-attachment) !important;
  font-family: Georgia, "Times New Roman", serif;
}
body.swe-enabled::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background: radial-gradient(circle at 50% 10%, rgba(255,255,255,.22), transparent 42%), linear-gradient(180deg, transparent 70%, rgba(32,22,14,.12));
}
body.swe-enabled #page,
body.swe-enabled .site,
body.swe-enabled .wp-site-blocks { background: transparent !important; }
body.swe-enabled main,
body.swe-enabled .site-main,
body.swe-enabled .entry-content,
body.swe-enabled .shadow-west-wrap,
body.swe-enabled .swb-wrap,
body.swe-enabled .shadow-west-account {
  max-width: var(--swe-max-width);
  margin-left:auto; margin-right:auto;
}
body.swe-enabled .entry-content > :where(.alignwide),
body.swe-enabled main > :where(.alignwide) { max-width: var(--swe-max-width); }
body.swe-enabled h1, body.swe-enabled h2, body.swe-enabled h3,
body.swe-enabled h4, body.swe-enabled h5, body.swe-enabled h6 {
  color: var(--swe-dark); letter-spacing:.015em; font-family: Georgia, "Times New Roman", serif;
}
body.swe-enabled h1 { text-transform: uppercase; letter-spacing:.05em; }
body.swe-enabled a { color: var(--swe-accent-dark); text-underline-offset:3px; }
body.swe-enabled a:hover { color: var(--swe-dark); }

/* surfaces génériques */
body.swe-enabled :where(article, .card, .panel, .box, .entry, .wp-block-group.is-layout-constrained, .shadow-west-card, .swb-card, .woocommerce, .woocommerce-page) {
  border-radius: var(--swe-radius);
}
body.swe-enabled :where(.shadow-west-card, .swb-card, .swe-surface, .woocommerce-form, .woocommerce-checkout-review-order, .cart_totals, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation) {
  background: color-mix(in srgb, var(--swe-surface) calc(var(--swe-content-opacity) * 100%), transparent) !important;
  border:1px solid rgba(94,66,35,.18) !important;
  box-shadow:0 14px 42px rgba(48,31,18,.12);
  backdrop-filter: blur(10px);
}

/* boutons */
body.swe-enabled :where(button, input[type="submit"], input[type="button"], .button, .wp-element-button, .shadow-west-button, .swb-button) {
  appearance:none; border:1px solid var(--swe-accent-dark) !important;
  border-radius:999px !important; padding:.78em 1.35em !important;
  background:linear-gradient(180deg, var(--swe-accent), var(--swe-accent-dark)) !important;
  color:#fffaf0 !important; font-weight:700 !important; letter-spacing:.035em;
  box-shadow:0 8px 20px rgba(97,63,27,.18); cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.swe-enabled :where(button, input[type="submit"], input[type="button"], .button, .wp-element-button, .shadow-west-button, .swb-button):hover {
  transform:translateY(-1px); filter:brightness(1.04); box-shadow:0 12px 25px rgba(97,63,27,.24);
}

/* formulaires */
body.swe-enabled.swe-style-forms :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea) {
  width:100%; min-height:46px; padding:.75rem .9rem;
  border:1px solid rgba(91,70,51,.28) !important; border-radius:12px !important;
  background:rgba(255,250,240,.9) !important; color:var(--swe-text) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
body.swe-enabled.swe-style-forms :where(input,select,textarea):focus {
  outline:none !important; border-color:var(--swe-accent) !important; box-shadow:0 0 0 3px color-mix(in srgb, var(--swe-accent) 24%, transparent) !important;
}
body.swe-enabled.swe-style-forms label { font-weight:650; }

/* header */
body.swe-enabled.swe-style-header :where(header.site-header, .site-header, #masthead, .wp-block-template-part > header) {
  background:rgba(255,250,240,.86) !important; border-bottom:1px solid rgba(117,82,42,.2);
  backdrop-filter:blur(14px); box-shadow:0 8px 24px rgba(45,30,18,.08);
}
body.swe-enabled.swe-style-header :where(nav a, .menu a, .wp-block-navigation a) {
  color:var(--swe-dark) !important; font-weight:700; letter-spacing:.035em;
}
body.swe-enabled.swe-style-header :where(nav a, .menu a, .wp-block-navigation a):hover { color:var(--swe-accent-dark) !important; }

/* footer */
body.swe-enabled.swe-style-footer :where(footer.site-footer, .site-footer, #colophon, .wp-block-template-part > footer) {
  color:#f8ead4 !important; background:linear-gradient(rgba(23,17,13,.91),rgba(23,17,13,.94)), var(--swe-bg) center/cover !important;
  border-top:2px solid var(--swe-accent);
}
body.swe-enabled.swe-style-footer :where(footer a, .site-footer a, #colophon a) { color:#e8c889 !important; }

/* boutique et checkout — WooCommerce + Shadow West custom */
body.swe-enabled.swe-style-shop :where(.products, .shadow-west-products, .swb-products) {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px;
}
body.swe-enabled.swe-style-shop :where(.product, .shadow-west-product, .swb-product-card) {
  overflow:hidden; background:rgba(255,250,240,var(--swe-content-opacity)) !important;
  border:1px solid rgba(94,66,35,.16) !important; border-radius:var(--swe-radius) !important;
  box-shadow:0 14px 34px rgba(50,32,18,.11); transition:transform .22s ease, box-shadow .22s ease;
}
body.swe-enabled.swe-style-shop :where(.product, .shadow-west-product, .swb-product-card):hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(50,32,18,.17); }
body.swe-enabled.swe-style-shop :where(.product img, .shadow-west-product img, .swb-product-card img) { width:100%; height:auto; display:block; }
body.swe-enabled.swe-style-shop :where(.price, .amount, .shadow-west-price, .swb-price) { color:var(--swe-accent-dark) !important; font-weight:800; }
body.swe-enabled.swe-style-shop :where(table.shop_table, table.cart, .shadow-west-table, .swb-table) {
  background:rgba(255,250,240,.94); border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:var(--swe-radius); border:1px solid rgba(94,66,35,.18);
}
body.swe-enabled.swe-style-shop :where(table.shop_table th, table.shop_table td, table.cart th, table.cart td, .shadow-west-table th, .shadow-west-table td) { padding:14px; border-color:rgba(94,66,35,.12); }

/* notices */
body.swe-enabled :where(.notice, .woocommerce-message, .woocommerce-info, .woocommerce-error, .shadow-west-notice, .swb-notice) {
  border-radius:12px !important; border-left:4px solid var(--swe-accent) !important;
  background:rgba(255,250,240,.95) !important; color:var(--swe-text) !important; box-shadow:0 8px 24px rgba(48,31,18,.08);
}

/* animation douce */
body.swe-enabled.swe-animations .swe-reveal { opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; }
body.swe-enabled.swe-animations .swe-reveal.swe-visible { opacity:1; transform:none; }
body.swe-enabled.swe-hide-adminbar #wpadminbar { display:none !important; }
body.swe-enabled.swe-hide-adminbar { margin-top:0 !important; }

@media (max-width: 782px) {
  body.swe-enabled { background-attachment:scroll !important; }
  body.swe-enabled h1 { font-size:clamp(2rem,12vw,3.4rem); }
  body.swe-enabled.swe-style-shop :where(.products,.shadow-west-products,.swb-products) { grid-template-columns:1fr 1fr; gap:14px; }
}
@media (max-width: 520px) {
  body.swe-enabled.swe-style-shop :where(.products,.shadow-west-products,.swb-products) { grid-template-columns:1fr; }
  body.swe-enabled :where(button,input[type="submit"],input[type="button"],.button,.wp-element-button) { width:100%; text-align:center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  body.swe-enabled * { transition:none !important; animation:none !important; }
}

/* v1.1 — Super menu Shadow West */
body.swe-enabled.swe-has-super-menu :where(header.site-header, #masthead, .wp-block-template-part > header) :where(nav, .wp-block-navigation, .menu, .swbp-cart-fab-inline) {
  display:none !important;
}
body.swe-enabled.swe-has-super-menu .swe-super-menu { display:block !important; }
.swe-super-menu {
  position:fixed; inset:0 0 auto 0; z-index:99990;
  background:rgba(255,250,240,.92); border-bottom:1px solid rgba(111,76,37,.18);
  box-shadow:0 10px 34px rgba(40,25,14,.12); backdrop-filter:blur(18px);
}
.swe-super-inner {
  width:min(calc(100% - 32px), var(--swe-max-width)); min-height:88px; margin:auto;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px;
}
.swe-brand { display:flex; align-items:center; gap:12px; text-decoration:none !important; min-width:max-content; }
.swe-brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,var(--swe-dark),#4b3323); color:#f4d59a; border:2px solid var(--swe-accent); font-weight:900; letter-spacing:.08em; box-shadow:0 7px 18px rgba(38,24,14,.18); }
.swe-brand-text { display:grid; line-height:1.05; }
.swe-brand-text strong { color:var(--swe-dark); text-transform:uppercase; font-size:18px; letter-spacing:.08em; }
.swe-brand-text small { color:#876943; margin-top:5px; font-family:Georgia,serif; font-style:italic; }
.swe-main-nav { display:flex; align-items:center; justify-content:center; gap:8px; }
.swe-main-nav a { position:relative; padding:14px 13px; color:var(--swe-dark) !important; text-decoration:none !important; font-weight:750; border-radius:12px; white-space:nowrap; }
.swe-main-nav a::after { content:""; position:absolute; left:14px; right:14px; bottom:7px; height:2px; transform:scaleX(0); background:var(--swe-accent); transition:transform .18s ease; }
.swe-main-nav a:hover { background:rgba(199,154,75,.09); }
.swe-main-nav a:hover::after { transform:scaleX(1); }
.swe-menu-actions { display:flex; align-items:center; gap:10px; }
.swe-account-menu { position:relative; }
.swe-account-trigger { min-height:48px !important; display:flex !important; align-items:center; gap:8px; padding:10px 14px !important; border-radius:15px !important; background:rgba(255,255,255,.62) !important; color:var(--swe-dark) !important; border:1px solid rgba(111,76,37,.2) !important; box-shadow:none !important; }
.swe-account-trigger:hover { transform:none !important; background:#fffaf0 !important; }
.swe-account-icon { font-size:20px; }
.swe-account-dropdown { position:absolute; right:0; top:calc(100% + 12px); width:230px; padding:10px; background:#fffaf0; border:1px solid rgba(111,76,37,.2); border-radius:16px; box-shadow:0 20px 55px rgba(38,24,14,.2); opacity:0; visibility:hidden; transform:translateY(-6px); transition:.18s ease; }
.swe-account-menu.is-open .swe-account-dropdown { opacity:1; visibility:visible; transform:none; }
.swe-account-dropdown a { display:block; padding:11px 12px; border-radius:10px; color:var(--swe-dark) !important; text-decoration:none !important; font-weight:700; }
.swe-account-dropdown a:hover { background:var(--swe-surface-alt); }
.swe-account-dropdown .swe-register-link { color:var(--swe-accent-dark) !important; }
.swe-account-dropdown .swe-logout-link { margin-top:6px; border-top:1px solid rgba(111,76,37,.14); color:#9b2c2c !important; }
.swe-account-welcome { display:grid; padding:9px 12px 12px; margin-bottom:5px; border-bottom:1px solid rgba(111,76,37,.14); }
.swe-account-welcome small { color:#816b55; }
.swe-cart-link { min-height:50px; position:relative; display:flex; align-items:center; gap:8px; padding:11px 17px; border-radius:999px; text-decoration:none !important; background:linear-gradient(180deg,var(--swe-accent),var(--swe-accent-dark)); color:#fffaf0 !important; border:1px solid var(--swe-accent-dark); box-shadow:0 9px 22px rgba(97,63,27,.22); }
.swe-cart-link:hover { color:#fff !important; transform:translateY(-1px); }
.swe-menu-cart-count { position:absolute; top:-7px; right:-5px; min-width:23px; height:23px; padding:0 6px; border-radius:999px; display:grid; place-items:center; background:#b91c1c; color:#fff; font-size:12px; font-style:normal; border:2px solid #fffaf0; }
.swe-super-menu-spacer { height:88px; }
.swe-mobile-toggle { display:none !important; }

@media(max-width:1080px){
  .swe-super-inner { gap:14px; }
  .swe-brand-text small { display:none; }
  .swe-main-nav a { padding-inline:9px; font-size:14px; }
  .swe-account-trigger > span:nth-child(2) { display:none; }
}
@media(max-width:820px){
  .swe-super-inner { min-height:74px; grid-template-columns:1fr auto auto; }
  .swe-super-menu-spacer { height:74px; }
  .swe-brand-text { display:none; }
  .swe-brand-mark { width:42px; height:42px; }
  .swe-mobile-toggle { order:2; width:48px !important; min-width:48px; height:48px; padding:10px !important; display:grid !important; place-content:center; gap:5px; border-radius:14px !important; background:rgba(255,255,255,.72) !important; color:var(--swe-dark) !important; border:1px solid rgba(111,76,37,.2) !important; box-shadow:none !important; }
  .swe-mobile-toggle span { display:block; width:23px; height:2px; background:var(--swe-dark); }
  .swe-mobile-toggle em { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .swe-main-nav { position:absolute; left:16px; right:16px; top:calc(100% + 8px); display:grid; padding:12px; border-radius:18px; background:#fffaf0; border:1px solid rgba(111,76,37,.2); box-shadow:0 20px 55px rgba(38,24,14,.2); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.18s ease; }
  .swe-super-menu.is-mobile-open .swe-main-nav { opacity:1; visibility:visible; transform:none; }
  .swe-main-nav a { padding:13px 14px; }
  .swe-account-menu { order:3; }
  .swe-menu-actions { order:3; }
  .swe-cart-link strong { display:none; }
  .swe-cart-link { width:50px; padding:0; justify-content:center; }
}
@media(max-width:520px){
  .swe-super-inner { width:calc(100% - 20px); grid-template-columns:1fr auto auto; gap:7px; }
  .swe-menu-actions { gap:7px; }
  .swe-account-trigger { width:48px !important; padding:0 !important; justify-content:center; }
  .swe-account-trigger b { display:none; }
  .swe-account-dropdown { position:fixed; left:10px; right:10px; top:82px; width:auto; }
}

/* v1.1.1 — remplacement complet de l'ancien en-tête */
body.swe-enabled.swe-has-super-menu > header:not(.swe-super-menu),
body.swe-enabled.swe-has-super-menu > #page > header:not(.swe-super-menu),
body.swe-enabled.swe-has-super-menu > .site > header:not(.swe-super-menu),
body.swe-enabled.swe-has-super-menu #page > .site-header,
body.swe-enabled.swe-has-super-menu .site > .site-header,
body.swe-enabled.swe-has-super-menu #masthead,
body.swe-enabled.swe-has-super-menu .wp-site-blocks > header.wp-block-template-part,
body.swe-enabled.swe-has-super-menu .wp-site-blocks > .wp-block-template-part:first-child,
body.swe-enabled.swe-has-super-menu .elementor-location-header,
body.swe-enabled.swe-has-super-menu [data-elementor-type="header"],
body.swe-enabled.swe-has-super-menu .et-l--header,
body.swe-enabled.swe-has-super-menu #header,
body.swe-enabled.swe-has-super-menu .header-wrapper:not(.swe-super-menu),
body.swe-enabled.swe-has-super-menu .main-header:not(.swe-super-menu) {
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* La barre WordPress ne doit plus recouvrir le nouveau menu. */
body.admin-bar .swe-super-menu { top:32px; }
body.admin-bar .swe-account-dropdown { z-index:100001; }

/* Assure une seule zone de navigation, nette et compacte. */
body.swe-enabled.swe-has-super-menu .swe-super-menu {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.swe-enabled.swe-has-super-menu .swe-super-menu-spacer {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

@media (max-width:782px) {
  body.admin-bar .swe-super-menu { top:46px; }
}

/* v1.2.1 — logo personnalisable du super menu */
.swe-brand-logo {
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  border:2px solid var(--swe-accent);
  box-shadow:0 7px 18px rgba(38,24,14,.18);
}
.swe-brand-logo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  padding:3px;
}
@media(max-width:820px){
  .swe-brand-logo { width:44px; height:44px; flex-basis:44px; }
}
