/*
Theme Name: Shoptimizer Child Theme
Theme URI:
Description: Child theme of Shoptimizer — NoirEtAmber
Author: CommerceGurus
Author URI:
Template: shoptimizer
Version: 1.3.2
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/

/* -------------------------------------------------------------------------
   Palette & base
   ------------------------------------------------------------------------- */
:root {
	--nea-bg-deep: #0d0d0d;
	--nea-bg-soft: #161616;
	--nea-bg-elevated: #1e1e1e;
	--nea-ivory: #f3eee7;
	--nea-greige: #d8cbb8;
	--nea-amber: #c9a45c;
	--nea-amber-deep: #8f6a2a;
	--nea-taupe: #8a7763;
	--nea-border: rgba(243, 238, 231, 0.1);
	--nea-muted: rgba(243, 238, 231, 0.65);
	--nea-premium-glow: rgba(201, 164, 92, 0.35);
}

body {
	background-color: var(--nea-bg-deep);
	color: var(--nea-ivory);
}

a {
	color: var(--nea-greige);
}

a:hover {
	color: var(--nea-ivory);
}

/* -------------------------------------------------------------------------
   Homepage éditoriale (.nea-*)
   ------------------------------------------------------------------------- */
.nea-home {
	max-width: 1120px;
	margin: 0 auto;
	padding: 2rem 1.25rem 4rem;
}

.nea-hero {
	padding: 3rem 0 2.5rem;
	border-bottom: 1px solid var(--nea-border);
}

.nea-hero__kicker {
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-size: 0.75rem;
	color: var(--nea-muted);
	margin-bottom: 0.75rem;
}

.nea-hero h1 {
	font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--nea-ivory);
	margin: 0 0 1rem;
}

.nea-hero__lead {
	max-width: 42rem;
	line-height: 1.65;
	color: var(--nea-muted);
	margin: 0 0 1.5rem;
}

.nea-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.nea-hero__cta .button {
	background: transparent;
	color: var(--nea-ivory);
	border: 1px solid var(--nea-border);
	border-radius: 2px;
	padding: 0.65rem 1.1rem;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.nea-hero__cta .button:hover {
	border-color: var(--nea-amber);
	color: var(--nea-ivory);
	background: rgba(184, 130, 62, 0.08);
}

.nea-signature,
.nea-collections,
.nea-sellers,
.nea-inspiration,
.nea-reassurance {
	padding: 2.75rem 0;
	border-bottom: 1px solid var(--nea-border);
}

.nea-signature h2,
.nea-collections h2,
.nea-sellers h2,
.nea-inspiration h2,
.nea-reassurance h2 {
	font-weight: 500;
	color: var(--nea-ivory);
	margin: 0 0 1rem;
}

.nea-signature p,
.nea-inspiration p {
	max-width: 46rem;
	line-height: 1.7;
	color: var(--nea-muted);
	margin: 0;
}

.nea-grid {
	display: grid;
	gap: 1rem;
}

.nea-grid--4 {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.nea-card {
	display: block;
	border: 1px solid var(--nea-border);
	border-radius: 3px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: var(--nea-bg-soft);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.nea-card:hover {
	border-color: rgba(184, 130, 62, 0.45);
	transform: translateY(-2px);
}

.nea-card__media {
	height: 120px;
	background: linear-gradient(135deg, rgba(216, 203, 184, 0.08), rgba(18, 18, 18, 0.4));
}

.nea-card__body {
	padding: 1rem 1.1rem 1.15rem;
}

.nea-card__body h3 {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 500;
	color: var(--nea-ivory);
}

.nea-card__body p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--nea-muted);
}

.nea-inspiration__wrap {
	max-width: 44rem;
}

.nea-reassurance .nea-grid {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.nea-pillar h3 {
	font-size: 0.95rem;
	font-weight: 500;
	margin: 0 0 0.5rem;
	color: var(--nea-ivory);
}

.nea-pillar p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--nea-muted);
}

/* Page Collections hub */
.nea-page.nea-collections-hub {
	max-width: 1120px;
	margin: 0 auto;
	padding: 2rem 1.25rem 4rem;
}

.nea-collections-hub .nea-lead {
	max-width: 46rem;
	line-height: 1.7;
	color: var(--nea-muted);
	margin: 0 0 2rem;
}

.nea-collections-hub .nea-grid {
	margin-top: 0.5rem;
}

/* -------------------------------------------------------------------------
   Sélecteur de variation — Taille
   ------------------------------------------------------------------------- */
.woocommerce div.product form.cart .variations td.value {
	position: relative;
}

.nea-variation-select-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.nea-variation-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.35rem;
}

.nea-variation-buttons__btn {
	appearance: none;
	cursor: pointer;
	border: 1px solid var(--nea-border);
	background: var(--nea-bg-soft);
	color: var(--nea-ivory);
	border-radius: 3px;
	padding: 0.55rem 0.75rem;
	font-size: 0.82rem;
	line-height: 1.35;
	text-align: left;
	min-width: 0;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.nea-variation-buttons__btn:hover:not(:disabled) {
	border-color: rgba(184, 130, 62, 0.55);
	background: rgba(184, 130, 62, 0.06);
}

.nea-variation-buttons__btn:focus-visible {
	outline: 2px solid rgba(184, 130, 62, 0.65);
	outline-offset: 2px;
}

.nea-variation-buttons__btn.is-active {
	border-color: var(--nea-amber);
	background: rgba(184, 130, 62, 0.12);
	color: var(--nea-ivory);
	box-shadow: 0 0 0 1px rgba(184, 130, 62, 0.25);
}

.nea-variation-buttons__btn:disabled,
.nea-variation-buttons__btn.is-disabled {
	opacity: 0.38;
	cursor: not-allowed;
}

@media (max-width: 600px) {
	.nea-variation-buttons {
		flex-direction: column;
	}

	.nea-variation-buttons__btn {
		width: 100%;
	}
}

/* ==========================================================================
   Noir & premium — Shoptimizer / WooCommerce (tout le site)
   ========================================================================== */

body.nea-noir-premium,
body.nea-noir-premium.custom-background,
body.nea-noir-premium #page,
body.nea-noir-premium .site,
body.nea-noir-premium .site-content,
body.nea-noir-premium #content,
body.nea-noir-premium .col-full:not(.main-header) {
	background-color: var(--nea-bg-deep) !important;
	color: var(--nea-ivory);
}

body.nea-noir-premium .product-details-wrapper,
body.nea-noir-premium .related.products,
body.nea-noir-premium .upsells.products {
	background: transparent !important;
}

body.nea-noir-premium .related.products > h2,
body.nea-noir-premium .upsells.products > h2,
body.nea-noir-premium .related-wrapper > section > h2 {
	color: var(--nea-ivory) !important;
	font-weight: 500;
	letter-spacing: 0.02em;
}

body.nea-noir-premium #masthead.site-header,
body.nea-noir-premium .site-header .main-header,
body.nea-noir-premium .site-header .col-full.main-header {
	background: var(--nea-bg-deep) !important;
	border-bottom: 1px solid var(--nea-border);
}

body.nea-noir-premium .col-full-nav,
body.nea-noir-premium .site .col-full-nav {
	background: #0a0a0a !important;
	border-bottom: 1px solid var(--nea-border);
}

body.nea-noir-premium .main-navigation ul.menu > li > a,
body.nea-noir-premium .main-navigation ul.nav-menu > li > a,
body.nea-noir-premium .col-full-nav a {
	color: rgba(243, 238, 231, 0.92) !important;
}

body.nea-noir-premium .main-navigation ul.menu > li > a:hover,
body.nea-noir-premium .site-header a:hover {
	color: var(--nea-amber) !important;
}

body.nea-noir-premium .site-search .search-field,
body.nea-noir-premium input[type="search"],
body.nea-noir-premium .widget_product_search input[type="search"] {
	background: var(--nea-bg-soft) !important;
	border: 1px solid var(--nea-border) !important;
	color: var(--nea-ivory) !important;
	border-radius: 2px;
}

body.nea-noir-premium .site-search .search-field::placeholder {
	color: var(--nea-muted);
	opacity: 1;
}

body.nea-noir-premium .site-branding .site-title a,
body.nea-noir-premium .site-branding .site-description {
	color: var(--nea-ivory) !important;
}

/* Fil d’Ariane */
body.nea-noir-premium .woocommerce-breadcrumb,
body.nea-noir-premium nav.woocommerce-breadcrumb {
	color: var(--nea-muted) !important;
}

body.nea-noir-premium .woocommerce-breadcrumb a {
	color: var(--nea-greige) !important;
}

body.nea-noir-premium .woocommerce-breadcrumb a:hover {
	color: var(--nea-amber) !important;
}

/* Fiche produit — résumé (au-dessus de la galerie si chevauchement) */
body.nea-noir-premium .product-details-wrapper {
	overflow: visible !important;
}

body.nea-noir-premium.single-product .site-main,
body.nea-noir-premium.single-product .content-area,
body.nea-noir-premium.single-product #primary {
	background: transparent !important;
}

body.nea-noir-premium.single-product .product .woocommerce-product-gallery,
body.nea-noir-premium.single-product .product .images {
	position: relative;
	z-index: 1;
}

body.nea-noir-premium.single-product .product .summary,
body.nea-noir-premium.single-product .product .summary.entry-summary {
	position: relative;
	z-index: 2;
	background: transparent !important;
	color: var(--nea-ivory);
}

body.nea-noir-premium .product .summary,
body.nea-noir-premium .product .summary.entry-summary {
	background: transparent !important;
	color: var(--nea-ivory);
}

body.nea-noir-premium .woocommerce div.product .product_title,
body.nea-noir-premium .woocommerce div.product h1.product_title {
	color: var(--nea-ivory) !important;
	font-weight: 500;
	letter-spacing: -0.02em;
}

body.nea-noir-premium .woocommerce div.product p.price,
body.nea-noir-premium .woocommerce div.product span.price,
body.nea-noir-premium .woocommerce div.product .price ins {
	color: var(--nea-amber) !important;
}

body.nea-noir-premium .woocommerce div.product .price del {
	color: var(--nea-muted) !important;
	opacity: 0.85;
}

body.nea-noir-premium .woocommerce-product-details__short-description,
body.nea-noir-premium .product .woocommerce-product-details__short-description {
	color: var(--nea-muted) !important;
}

body.nea-noir-premium .variations label,
body.nea-noir-premium .woocommerce-product-attributes-item__label {
	color: var(--nea-ivory) !important;
}

/* Quantité */
body.nea-noir-premium .quantity .qty,
body.nea-noir-premium .woocommerce .quantity input.qty {
	background: var(--nea-bg-soft) !important;
	border: 1px solid var(--nea-border) !important;
	color: var(--nea-ivory) !important;
	border-radius: 2px;
}

/* Bouton Ajouter au panier — or / premium (remplace le vert Shoptimizer) */
body.nea-noir-premium.woocommerce .button.alt,
body.nea-noir-premium.woocommerce button.button.alt,
body.nea-noir-premium.woocommerce input.button.alt,
body.nea-noir-premium .single-product button.single_add_to_cart_button,
body.nea-noir-premium .single-product .single_add_to_cart_button.button {
	background: linear-gradient(
		180deg,
		#d4b06a 0%,
		var(--nea-amber) 40%,
		var(--nea-amber-deep) 100%
	) !important;
	color: #121212 !important;
	border: 1px solid rgba(201, 164, 92, 0.55) !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.82rem !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset,
		0 8px 24px var(--nea-premium-glow);
	border-radius: 2px;
	transition: filter 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

body.nea-noir-premium .single-product button.single_add_to_cart_button:hover,
body.nea-noir-premium.woocommerce .button.alt:hover {
	filter: brightness(1.06);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15) inset,
		0 10px 28px var(--nea-premium-glow);
}

body.nea-noir-premium .single-product button.single_add_to_cart_button:disabled,
body.nea-noir-premium .single-product .single_add_to_cart_button.disabled {
	opacity: 0.45 !important;
	filter: grayscale(0.2);
	cursor: not-allowed;
}

/* Bloc confiance / livraison (ne pas cibler tous les <p> du résumé — risque de masquer du texte) */
body.nea-noir-premium .shoptimizer-sticky-add-to-cart__content,
body.nea-noir-premium .product_meta,
body.nea-noir-premium .product .summary .product-widget,
body.nea-noir-premium .product .summary .trust,
body.nea-noir-premium .product .summary .woocommerce-product-details__short-description + p {
	color: var(--nea-muted) !important;
}

body.nea-noir-premium .woocommerce-tabs ul.tabs {
	border-color: var(--nea-border) !important;
	background: var(--nea-bg-deep) !important;
}

body.nea-noir-premium .woocommerce-tabs ul.tabs li a {
	color: var(--nea-muted) !important;
	background: transparent !important;
}

body.nea-noir-premium .woocommerce-tabs ul.tabs li.active a {
	color: var(--nea-amber) !important;
	border-bottom-color: var(--nea-amber) !important;
}

/* Onglets : fond sombre + texte lisible (évite gris sur blanc) */
body.nea-noir-premium .woocommerce-tabs .woocommerce-Tabs-panel,
body.nea-noir-premium .woocommerce-tabs .panel,
body.nea-noir-premium .woocommerce-Tabs-panel {
	background-color: var(--nea-bg-soft) !important;
	color: var(--nea-ivory) !important;
	border: 1px solid var(--nea-border) !important;
	border-top: none !important;
	padding: 1.25rem 1.15rem !important;
}

body.nea-noir-premium .woocommerce-tabs .panel p,
body.nea-noir-premium .woocommerce-tabs .panel li,
body.nea-noir-premium .woocommerce-Tabs-panel p,
body.nea-noir-premium .woocommerce-Tabs-panel li,
body.nea-noir-premium #tab-description,
body.nea-noir-premium #tab-description p {
	color: rgba(243, 238, 231, 0.82) !important;
}

body.nea-noir-premium .woocommerce-tabs .panel a,
body.nea-noir-premium .woocommerce-Tabs-panel a {
	color: var(--nea-greige) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.nea-noir-premium .woocommerce-tabs .panel a:hover,
body.nea-noir-premium .woocommerce-Tabs-panel a:hover {
	color: var(--nea-amber) !important;
}

body.nea-noir-premium .woocommerce-tabs .panel h2,
body.nea-noir-premium .woocommerce-Tabs-panel h2 {
	color: var(--nea-ivory) !important;
}

body.nea-noir-premium #tab-additional_information,
body.nea-noir-premium #tab-reviews {
	color: rgba(243, 238, 231, 0.82) !important;
}

body.nea-noir-premium .woocommerce-product-attributes {
	color: var(--nea-muted);
}

body.nea-noir-premium .woocommerce-product-attributes th,
body.nea-noir-premium table.shop_attributes th {
	color: var(--nea-ivory);
}

/* Galerie — cadre discret */
body.nea-noir-premium .woocommerce-product-gallery {
	background: var(--nea-bg-soft);
	border: 1px solid var(--nea-border);
	border-radius: 3px;
}

body.nea-noir-premium .flex-control-thumbs li img {
	border: 1px solid var(--nea-border);
	opacity: 0.85;
}

body.nea-noir-premium .flex-control-thumbs li img.flex-active,
body.nea-noir-premium .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: var(--nea-amber);
}

/* Grille boutique & upsells */
body.nea-noir-premium ul.products li.product {
	background: var(--nea-bg-soft);
	border: 1px solid var(--nea-border);
	border-radius: 3px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.nea-noir-premium ul.products li.product:hover {
	border-color: rgba(201, 164, 92, 0.35);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

body.nea-noir-premium .woocommerce-loop-product__title,
body.nea-noir-premium ul.products li.product .woocommerce-loop-product__title {
	color: var(--nea-ivory) !important;
}

body.nea-noir-premium ul.products li.product .price {
	color: var(--nea-amber) !important;
}

/* Grille boutique, produits similaires, upsells — « Choix des options » / Ajouter (même style or que la PDP) */
body.nea-noir-premium.woocommerce ul.products li.product a.button,
body.nea-noir-premium.woocommerce ul.products li.product .button.add_to_cart_button,
body.nea-noir-premium.woocommerce ul.products li.product a.add_to_cart_button,
body.nea-noir-premium .related.products a.button,
body.nea-noir-premium .related.products a.add_to_cart_button,
body.nea-noir-premium .upsells.products a.button,
body.nea-noir-premium .upsells.products a.add_to_cart_button {
	background: linear-gradient(
		180deg,
		#d4b06a 0%,
		var(--nea-amber) 40%,
		var(--nea-amber-deep) 100%
	) !important;
	color: #121212 !important;
	border: 1px solid rgba(201, 164, 92, 0.55) !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	font-size: 0.75rem !important;
	line-height: 1.3 !important;
	padding: 0.65rem 1rem !important;
	border-radius: 2px !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1) inset,
		0 6px 18px var(--nea-premium-glow);
	transition: filter 0.2s ease, box-shadow 0.2s ease;
}

body.nea-noir-premium.woocommerce ul.products li.product a.button:hover,
body.nea-noir-premium .related.products a.button:hover,
body.nea-noir-premium .upsells.products a.button:hover {
	filter: brightness(1.06);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.14) inset,
		0 10px 26px var(--nea-premium-glow);
	border-color: rgba(201, 164, 92, 0.8) !important;
	color: #121212 !important;
}

/* CommerceKit — swatches Taille sur fond sombre */
body.nea-noir-premium .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button {
	background: var(--nea-bg-elevated) !important;
	color: var(--nea-ivory) !important;
	border-color: var(--nea-border) !important;
}

body.nea-noir-premium .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button:hover:not(.cgkit-disabled) {
	border-color: rgba(201, 164, 92, 0.5) !important;
	background: rgba(201, 164, 92, 0.08) !important;
}

body.nea-noir-premium .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch-selected {
	background: rgba(201, 164, 92, 0.18) !important;
	color: var(--nea-ivory) !important;
	border-color: var(--nea-amber) !important;
}

body.nea-noir-premium .variations .cgkit-chosen-attribute {
	color: var(--nea-amber) !important;
}

/* Notices Woo / maintenance */
body.nea-noir-premium .woocommerce-store-notice,
body.nea-noir-premium .woocommerce-info,
body.nea-noir-premium .woocommerce-message {
	background: var(--nea-bg-elevated) !important;
	color: var(--nea-ivory) !important;
	border-left-color: var(--nea-amber) !important;
	border-color: var(--nea-border);
}

/* Pied de page */
body.nea-noir-premium .site-footer,
body.nea-noir-premium footer[role="contentinfo"] {
	background: #080808 !important;
	color: var(--nea-muted);
	border-top: 1px solid var(--nea-border);
}

body.nea-noir-premium .site-footer a {
	color: var(--nea-greige);
}

body.nea-noir-premium .site-footer a:hover {
	color: var(--nea-amber);
}

/* Panier icône compteur */
body.nea-noir-premium .header-cart .count,
body.nea-noir-premium .cart-contents .count {
	background: var(--nea-amber) !important;
	color: #121212 !important;
}

/* Sticky ATC / CommerceKit barre bas */
body.nea-noir-premium #cgkit-mobile-commercekit-sticky-atc,
body.nea-noir-premium .commercekit-sticky-add-to-cart,
body.nea-noir-premium .cgkit-sticky-atc-inner {
	background: rgba(13, 13, 13, 0.96) !important;
	border-top: 1px solid var(--nea-border) !important;
	backdrop-filter: blur(10px);
}

body.nea-noir-premium .woocommerce-pagination .page-numbers {
	background: var(--nea-bg-soft);
	border-color: var(--nea-border);
	color: var(--nea-ivory);
}

body.nea-noir-premium .woocommerce-pagination .page-numbers.current,
body.nea-noir-premium .woocommerce-pagination a.page-numbers:hover {
	background: rgba(201, 164, 92, 0.15);
	border-color: var(--nea-amber);
	color: var(--nea-amber);
}
