/*
Theme Name: NousDeux
Description: Theme enfant leger de Twenty Twenty-Five pour nousdeux.eu (remplace envo-royal).
Template: twentytwentyfive
Version: 1.0.0
Text Domain: nousdeux
*/

:root { --nd-gold: #caa03e; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

/* Header */
.nd-header { border-bottom: 1px solid #eee; background: #fff; }
.nd-header .wc-block-product-search__fields { border: 2px solid var(--nd-gold); border-radius: 2px; }
.nd-header .wc-block-product-search__field { border: 0 !important; padding: .55rem .8rem; }
.nd-header .wc-block-product-search__button { background: var(--nd-gold); color: #000; border-radius: 0; }
.nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a { background: var(--nd-gold); color: #000; padding: .65rem 1.4rem; font-weight: 700; }
.nd-mainnav .wp-block-navigation-item a { padding: .65rem 1rem; font-weight: 600; }
.nd-mainnav .wp-block-navigation-item.current-menu-item a,
.nd-mainnav .wp-block-navigation-item a:hover { background: var(--nd-gold); color: #000; }
.wp-block-navigation .wp-block-navigation__submenu-container { border: 1px solid #eee; box-shadow: 0 6px 18px rgba(0,0,0,.08); }

/* Contenu Elementor pleine largeur */
.nd-content { max-width: none; }
.nd-content > .elementor { width: 100%; }

/* Boutons WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wp-block-button__link { background: var(--nd-gold); color: #000; border-radius: 4px; font-weight: 600; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover { background: #b88f2f; color: #000; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color: #1a1a1a; font-weight: 700; }
.woocommerce span.onsale { background: var(--nd-gold); color: #000; }
.nd-wrap { padding-left: 1.25rem; padding-right: 1.25rem; }

/* Ajustements : recherche, titres, fiche produit */
.nd-header .wc-block-product-search__label { display: none; }
.nd-header .wp-block-woocommerce-product-search { flex: 1 1 320px; max-width: 620px; }
.woocommerce div.product .product_title, .wp-block-post-title { font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.25; }
.woocommerce div.product p.price { font-size: 1.4rem; }
.woocommerce-breadcrumb { font-size: .85rem; margin: 1rem 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; line-height: 1.35 !important; margin: .6rem 0 .3rem; }
.woocommerce ul.products li.product .price { font-size: .95rem; }
.woocommerce ul.products li.product a.button { font-size: .8rem; padding: .5rem 1rem; }

/* Structure commune : barre d'annonce, reassurance, pied de page */
.nd-announce { gap: .4rem 2.2rem; padding: .5rem 1rem; font-size: .82rem; text-align: center; }
.nd-announce .nd-announce__item { margin: 0; }
.nd-reassure { gap: 1rem; flex-wrap: wrap; }
.nd-reassure > .elementor-widget { flex: 1 1 220px; }
.nd-copy { margin: 0; padding: 1rem; font-size: .8rem; }
/* Grille produits : colonnes egales, cartes de meme hauteur, boutons alignes */
.woocommerce ul.products, ul.products { display: grid !important; grid-template-columns: repeat(var(--nd-cols, 4), minmax(0, 1fr)); gap: 1.5rem; margin: 0 0 2rem; padding: 0; list-style: none; }
ul.products.columns-2 { --nd-cols: 2; } ul.products.columns-3 { --nd-cols: 3; } ul.products.columns-5 { --nd-cols: 5; } ul.products.columns-6 { --nd-cols: 6; }
ul.products::before, ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product, ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; display: flex; flex-direction: column; position: relative; }
ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; }
ul.products li.product img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; background: #fff; }
ul.products li.product .price { margin-top: auto; padding-top: .3rem; display: block; }
ul.products li.product a.button, ul.products li.product .button { margin: .8rem auto 0; align-self: center; }
@media (max-width: 1000px) { ul.products.columns-4, ul.products.columns-5, ul.products.columns-6 { --nd-cols: 3; } }
@media (max-width: 700px) { ul.products, ul.products.columns-3, ul.products.columns-4, ul.products.columns-5, ul.products.columns-6 { --nd-cols: 2; gap: .8rem; } body.woocommerce ul.products li.product .woocommerce-loop-product__title, body ul.products li.product .woocommerce-loop-product__title { font-size: .85rem !important; line-height: 1.3 !important; } ul.products li.product a.button { font-size: .7rem; padding: .5rem .7rem; } }

/* Hero : lisibilite du titre sur l'image */
.elementor-element-f75a870 .elementor-heading-title { text-shadow: 0 0 14px #fff, 0 0 6px #fff, 0 0 2px #fff; }

/* En-tete mobile compact : annonce 1 ligne, logo + icones, recherche pleine largeur, menu */
@media (max-width: 782px) {
	:root, body { --wp--style--root--padding-left: 1rem !important; --wp--style--root--padding-right: 1rem !important; }
	main.has-global-padding { padding-left: 1rem !important; padding-right: 1rem !important; }
	body.nd-style-chic .wc-block-cart, body.nd-style-chic .wc-block-checkout { padding: .6rem !important; border-left: 0; border-right: 0; background: transparent; }
	.wc-block-cart-item__total, .wc-block-cart .wc-block-cart-item__prices { min-width: 0; }
	.nd-header { padding-left: 0 !important; padding-right: 0 !important; }
	.nd-header .nd-wrap, .nd-wrap { padding-left: 1rem !important; padding-right: 1rem !important; }
	.nd-announce .nd-announce__item:nth-child(n+2) { display: none; }
	.nd-announce { padding: .4rem .8rem; }
	.nd-header > .nd-wrap:first-child { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem .8rem !important; padding-top: .6rem !important; padding-bottom: .5rem !important; }
	.nd-header .wp-block-site-logo { order: 1; margin: 0; }
	.nd-header > .nd-wrap:first-child > .wp-block-group { order: 2; margin-left: auto; }
	.nd-header .wp-block-woocommerce-product-search { order: 3; flex: 1 1 100%; max-width: none; width: 100%; }
	.nd-nav-row { padding-top: 0 !important; padding-bottom: .5rem !important; justify-content: space-between; flex-wrap: nowrap !important; }
	.nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a { padding: .5rem 1rem; font-size: .9rem; }
	.elementor-element-f75a870, .elementor-element-f75a870 > .elementor-container { min-height: 420px !important; }
}

/* En-tete de commande */
.nd-checkout-head { background: #fff; border-bottom: 1px solid #e8dfca; padding: .7rem 1.25rem; gap: 1rem; }
.nd-checkout-head p { margin: 0; font-size: .85rem; }
.nd-checkout-head__secure { font-weight: 600; text-align: center; flex: 1; }
.nd-checkout-head .wp-block-site-logo img { height: auto; }
@media (max-width: 782px) { .nd-checkout-head { padding: .6rem 1rem; } .nd-checkout-head__secure { font-size: .75rem; } .nd-checkout-head__back { font-size: .75rem; white-space: nowrap; } }
body { overflow-x: clip; }

/* Mise en page responsive : grands titres Elementor adaptes aux petits ecrans */
@media (max-width: 767px) {
	.nd-content h1.elementor-heading-title, .nd-content h2.elementor-heading-title { font-size: clamp(1.7rem, 9vw, 2.8rem) !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
	.nd-content .elementor-widget-text-editor { padding-left: .5rem; padding-right: .5rem; }
	.nd-header .nd-wrap { gap: .8rem; }
	.nd-header .wp-block-site-logo img { width: 70px; height: auto; }
}
img, video, iframe { max-width: 100%; }
.nd-header .wc-block-mini-cart__button, .nd-header .wc-block-customer-account a, .nd-header .wp-block-navigation__responsive-container-open { background: transparent !important; color: inherit !important; box-shadow: none !important; border: 0 !important; padding: .45rem !important; width: auto !important; height: auto !important; min-height: 0 !important; border-radius: 0 !important; transform: none !important; }
.nd-header .wc-block-mini-cart__badge { background: #111; color: #fff; }
.elementor-widget-shortcode .woocommerce { max-width: 1320px; margin: 0 auto; padding: 0 1.25rem 2rem; }
@media (max-width: 782px) { .nd-announce { font-size: .72rem; gap: .2rem 1rem; } }
