/*
Theme Name: PetitMaxou
Description: Theme enfant leger de Twenty Twenty-Five pour PetitMaxou.
Template: twentytwentyfive
Version: 1.0.0
Text Domain: nousdeux
*/

:root { --nd-gold: #0e7c8c; }
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: #fff; border-radius: 0; }
.nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a { background: var(--nd-gold); color: #fff; 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: #fff; }
.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: #fff; border-radius: 4px; font-weight: 600; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover { background: #0a5f6c; color: #fff; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color: #10333a; font-weight: 700; }
.woocommerce span.onsale { background: var(--nd-gold); color: #fff; }
.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 #e4dcc8; 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: #d9789e; 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; } }

/* ===== Pied de page PetitMaxou (recréé) ===== */
.pm-footer { background: #0a5f6c; color: #e8f3f4; padding: 3rem 1.25rem 1.5rem; margin-top: 3rem; }
body .pm-footer h3 { color: #fff; font-size: 1.1rem; margin: 0 0 1rem; }
body .pm-footer p { margin: 0 0 .8rem; line-height: 1.6; }
body .pm-footer a { color: #e8f3f4; text-decoration: none; }
body .pm-footer a:hover { color: #f3b5cc; text-decoration: underline; }
.pm-footer .pm-footer__note { color: #cfe6e9; }
.pm-footer .pm-footer__list { list-style: none; margin: 0; padding: 0; }
.pm-footer .pm-footer__list li { margin: 0 0 .5rem; }
.pm-footer .pm-footer__social { margin: 2rem 0 1rem; gap: 1.2rem; }
.pm-footer .pm-footer__social .wp-social-link { color: #fff; background: transparent; }
.pm-footer .pm-footer__social .wp-social-link:hover { color: #f3b5cc; }
.pm-footer .pm-footer__copy { border-top: 1px solid rgba(255,255,255,.2); padding-top: 1rem; font-size: .85rem; color: #cfe6e9; margin: 0; }
body .pm-footer a:hover { color: #f3b5cc; }
body.page-id-2004459 .wp-block-post-content, body.page-id-2004460 .wp-block-post-content, body.page-id-2004461 .wp-block-post-content, body.page-id-2004462 .wp-block-post-content, body.page-id-2004463 .wp-block-post-content, body.page-id-2004464 .wp-block-post-content, body.page-id-2004465 .wp-block-post-content { max-width: 900px; margin: 2rem auto; padding: 0 1.25rem; box-sizing: border-box; }
/* Pied de page : version claire */
body .pm-footer { background: linear-gradient(180deg, #fff7f1 0%, #dff0f2 100%); color: #10333a; }
body .pm-footer h3 { color: #0e7c8c; }
body .pm-footer a { color: #10333a; }
body .pm-footer a:hover { color: #0e7c8c; }
body .pm-footer .pm-footer__note { color: #4b6b72; }
body .pm-footer .pm-footer__social .wp-social-link, body .pm-footer .pm-footer__social .wp-social-link a { color: #0e7c8c; }
body .pm-footer .pm-footer__social .wp-social-link:hover, body .pm-footer .pm-footer__social .wp-social-link:hover a { color: #d9789e; }
body .pm-footer .pm-footer__copy { border-top: 1px solid rgba(16,51,58,.18); color: #4b6b72; }
@media (min-width: 782px) { body .nd-nav-row { flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 1.5rem; align-items: center; } body .nd-nav-row .nd-cats { flex: 0 0 auto; } body .nd-nav-row .nd-mainnav { flex: 1 1 auto; justify-content: flex-start; } }
@media (min-width: 782px) { body .nd-mainnav .wp-block-navigation__container { flex-wrap: nowrap; gap: 0; } body .nd-mainnav .wp-block-navigation-item__label { white-space: nowrap; } body .nd-mainnav .wp-block-navigation-item a { padding: .65rem .8rem; } }
/* Repères de navigation */
body .nd-mainnav .nd-current > a, body .nd-mainnav .nd-current-parent > a, body .nd-mainnav .nd-current-parent > .wp-block-navigation-submenu__toggle { color: #0e7c8c; font-weight: 800; box-shadow: inset 0 -3px 0 #0e7c8c; }
body .nd-cats .wp-block-navigation__submenu-container .nd-current > a, body .nd-cats .wp-block-navigation__submenu-container .nd-current-parent > a { background: #e3f1f3; color: #0e7c8c; font-weight: 800; border-left: 4px solid #0e7c8c; }
body .nd-cats--here > .wp-block-navigation__container > li > a::after { content: " ●"; color: #d9789e; font-size: .7em; }
.nd-catpills { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 1.5rem; }
.nd-catpills__label { font-weight: 700; color: #10333a; margin-right: .25rem; }
.nd-pill { display: inline-block; padding: .4rem .9rem; border: 1px solid #0e7c8c; border-radius: 999px; color: #0e7c8c; text-decoration: none; font-size: .9rem; background: #fff; }
.nd-pill:hover { background: #e3f1f3; }
.nd-pill.is-current { background: #0e7c8c; color: #fff; font-weight: 700; }
.woocommerce .woocommerce-breadcrumb { font-size: .95rem; color: #5a7378; margin: 1rem 0; }
.woocommerce .woocommerce-breadcrumb a { color: #0e7c8c; font-weight: 600; }
.woocommerce-products-header__title, .woocommerce-products-header h1 { color: #0e7c8c; }
/* Bouton retour en haut */
#nd-top { position: fixed; right: 18px; bottom: 90px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #0e7c8c; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(16,51,58,.3); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s, transform .25s, visibility .25s, background .2s; z-index: 9990; }
#nd-top.is-visible { opacity: 1; visibility: visible; transform: none; }
#nd-top:hover { background: #0a5f6c; }
@media (max-width: 781px) { #nd-top { right: 12px; bottom: 100px; width: 42px; height: 42px; } }
/* Survol dans les menus déroulants : on voit où se trouve la souris */
body .nd-cats .wp-block-navigation__submenu-container, body .nd-mainnav .wp-block-navigation__submenu-container { min-width: 230px; padding: .4rem 0; background: #fff; }
body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item > a, body .nd-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item > a { color: #10333a; padding: .6rem 1.1rem; border-left: 4px solid transparent; transition: background .15s, color .15s, border-color .15s; }
body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover, body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item > a:focus-visible, body .nd-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover, body .nd-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:focus-visible,
body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > a, body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item:focus-within > a { background: #e3f1f3; color: #0e7c8c; border-left-color: #0e7c8c; }
body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover .wp-block-navigation-item__label, body .nd-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover .wp-block-navigation-item__label { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.product_meta .sku_wrapper, .woocommerce div.product .sku_wrapper { display: none !important; }
/* Tailles de texte plus compactes */
html:root { --wp--preset--font-size--medium: 1rem; --wp--preset--font-size--large: 1.125rem; --wp--preset--font-size--x-large: 1.4rem; --wp--preset--font-size--xx-large: clamp(1.6rem, 1.6rem + ((1vw - 0.2rem) * 0.3), 1.9rem); }
body { font-size: 16px; }
body .woocommerce div.product .product_title, body h1.product_title { font-size: clamp(1.5rem, 1.2rem + .6vw, 1.75rem); line-height: 1.25; }
body .woocommerce-products-header__title, body h1.wp-block-post-title, body .wp-block-query-title { font-size: clamp(1.6rem, 1.3rem + .6vw, 2rem); }
body .related.products > h2, body .upsells > h2, body .cross-sells > h2 { font-size: 1.5rem; }
body .woocommerce div.product p.price, body .woocommerce div.product span.price { font-size: 1.25rem; }
body .nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a { font-size: .9rem; padding: .55rem 1.2rem; }
body .woocommerce .woocommerce-breadcrumb { font-size: .85rem; }
body .woocommerce div.product .woocommerce-product-details__short-description, body .woocommerce div.product .woocommerce-tabs .panel { font-size: .95rem; line-height: 1.6; }

html:root { --wp--preset--font-size--medium: 1rem !important; --wp--preset--font-size--large: 1.125rem !important; --wp--preset--font-size--x-large: 1.4rem !important; --wp--preset--font-size--xx-large: clamp(1.6rem, 1.6rem + ((1vw - 0.2rem) * 0.3), 1.9rem) !important; }
html body { font-size: 16px !important; }
html body h1.product_title, html body .woocommerce div.product .product_title { font-size: clamp(1.5rem, 1.2rem + .6vw, 1.75rem) !important; }
html body .woocommerce div.product p.price, html body .woocommerce div.product span.price, html body .price { font-size: 1.25rem !important; }
html body .woocommerce .woocommerce-breadcrumb { font-size: .85rem !important; }
html body .woocommerce div.product .woocommerce-product-details__short-description { font-size: .95rem !important; }

/* Description produit : titres proportionnés au texte */
html body .woocommerce-Tabs-panel h2, html body #tab-description h2 { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem) !important; line-height: 1.3; margin: 1.6rem 0 .6rem; }
html body .woocommerce-Tabs-panel h3, html body #tab-description h3 { font-size: 1.15rem !important; line-height: 1.3; margin: 1.3rem 0 .5rem; }
html body #tab-description p, html body #tab-description li { font-size: 1rem; line-height: 1.65; }
html body #tab-description h2:first-child { margin-top: 0; }

/* Polices PetitMaxou : Fredoka (titres, prix) + Figtree (texte, menu, boutons) */
html body, html body button, html body input, html body select, html body textarea, html body .nd-mainnav a, html body .nd-cats a { font-family: "Figtree", sans-serif !important; }
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6, html body .wp-block-heading, html body .price, html body .product_title, html body .woocommerce-loop-product__title, html body .pm-footer h3, html body .woocommerce-products-header__title { font-family: "Fredoka", sans-serif !important; font-weight: 500; }
/* Boutons PetitMaxou : pilule turquoise, texte gras, léger soulèvement au survol */
html body .wp-block-button__link, html body .wc-block-components-button:not(.is-link), html body .woocommerce a.button, html body .woocommerce button.button, html body .woocommerce input.button, html body .woocommerce #respond input#submit, html body .single_add_to_cart_button, html body a.button, html body button.button, html body input.button, html body .nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a, html body .nd-header .wc-block-product-search__button {
  background: #0e7c8c !important; color: #fff !important; border: 0 !important; border-radius: 100px !important; padding: .6rem 1.2rem !important;
  font-family: "Figtree", sans-serif !important; font-size: .9rem !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
  transition: background-color .18s ease, color .18s ease, transform .15s ease, box-shadow .15s ease !important;
}
html body .wp-block-button__link:hover, html body .wc-block-components-button:not(.is-link):hover, html body .woocommerce a.button:hover, html body .woocommerce button.button:hover, html body .woocommerce input.button:hover, html body .woocommerce #respond input#submit:hover, html body .single_add_to_cart_button:hover, html body a.button:hover, html body button.button:hover, html body input.button:hover, html body .nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a:hover, html body .nd-header .wc-block-product-search__button:hover {
  background: #0a5f6c !important; color: #fff !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(16,51,58,.14) !important;
}
html body .nd-header .wc-block-product-search__fields { border-radius: 100px; overflow: hidden; }
html body .nd-header .wc-block-product-search__button { border-radius: 0 100px 100px 0 !important; }

/* Tailles : un cran de moins (texte courant 15 px) */
html:root { --wp--preset--font-size--medium: .9375rem !important; --wp--preset--font-size--large: 1.05rem !important; --wp--preset--font-size--x-large: 1.3rem !important; --wp--preset--font-size--xx-large: clamp(1.45rem, 1.45rem + ((1vw - 0.2rem) * 0.25), 1.7rem) !important; }
html body { font-size: 15px !important; }
html body h1.product_title, html body .woocommerce div.product .product_title { font-size: clamp(1.35rem, 1.1rem + .5vw, 1.55rem) !important; }
html body .woocommerce div.product p.price, html body .woocommerce div.product span.price, html body .price { font-size: 1.125rem !important; }
html body .woocommerce div.product .woocommerce-product-details__short-description { font-size: .9rem !important; }
html body .woocommerce-Tabs-panel h2, html body #tab-description h2 { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem) !important; }
html body .woocommerce-Tabs-panel h3, html body #tab-description h3 { font-size: 1.05rem !important; }
html body #tab-description p, html body #tab-description li { font-size: .94rem !important; }
html body .related.products > h2, html body .upsells > h2, html body .cross-sells > h2 { font-size: 1.3rem !important; }
html body .woocommerce-products-header__title, html body h1.wp-block-post-title, html body .wp-block-query-title { font-size: clamp(1.45rem, 1.2rem + .5vw, 1.8rem) !important; }
html body .pm-footer p, html body .pm-footer li { font-size: .92rem; }
html body .woocommerce .woocommerce-breadcrumb { font-size: .8rem !important; }

/* Tailles : encore un cran de moins (texte courant 14 px) */
html:root { --wp--preset--font-size--medium: .875rem !important; --wp--preset--font-size--large: 1rem !important; --wp--preset--font-size--x-large: 1.2rem !important; --wp--preset--font-size--xx-large: clamp(1.3rem, 1.3rem + ((1vw - 0.2rem) * 0.2), 1.5rem) !important; }
html body { font-size: 14px !important; }
html body h1.product_title, html body .woocommerce div.product .product_title { font-size: clamp(1.25rem, 1rem + .4vw, 1.4rem) !important; }
html body .woocommerce div.product p.price, html body .woocommerce div.product span.price, html body .price { font-size: 1.05rem !important; }
html body .woocommerce div.product .woocommerce-product-details__short-description { font-size: .85rem !important; }
html body .woocommerce-Tabs-panel h2, html body #tab-description h2 { font-size: clamp(1rem, .95rem + .3vw, 1.15rem) !important; }
html body .woocommerce-Tabs-panel h3, html body #tab-description h3 { font-size: .98rem !important; }
html body #tab-description p, html body #tab-description li { font-size: .875rem !important; }
html body .related.products > h2, html body .upsells > h2, html body .cross-sells > h2 { font-size: 1.15rem !important; }
html body .woocommerce-products-header__title, html body h1.wp-block-post-title, html body .wp-block-query-title { font-size: clamp(1.3rem, 1.1rem + .4vw, 1.6rem) !important; }
html body .pm-footer p, html body .pm-footer li { font-size: .86rem; }
html body .pm-footer h3 { font-size: 1rem; }
html body .woocommerce .woocommerce-breadcrumb { font-size: .78rem !important; }
html body .wp-block-button__link, html body .woocommerce a.button, html body .woocommerce button.button, html body .single_add_to_cart_button, html body a.button, html body button.button { font-size: .85rem !important; padding: .55rem 1.1rem !important; }
html body .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .9rem !important; }

/* Recherche : loupe seule, champ en pilule */
html body .nd-header .wc-block-product-search__fields { border: 1px solid #0e7c8c !important; border-radius: 100px !important; overflow: hidden !important; background: #fff; }
html body .nd-header .wc-block-product-search__field { border: 0 !important; padding-left: 1.2rem !important; background: transparent !important; }
html body .nd-header .wc-block-product-search__button { border-radius: 0 !important; width: 54px; min-width: 54px; padding: 0 !important; display: flex !important; align-items: center; justify-content: center; }
html body .nd-header .wc-block-product-search__button svg { display: none !important; }
html body .nd-header .wc-block-product-search__button::before { content: ""; display: block; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .nd-header .wc-block-product-search__button:hover { transform: none !important; box-shadow: none !important; }

/* Mobile : titre, prix et description courte avant l'image */
@media (max-width: 781px) {
  body.single-product div.product.type-product { display: flex !important; flex-direction: column; }
  body.single-product div.product.type-product > .summary { display: contents !important; }
  body.single-product div.product.type-product > .summary > *, body.single-product div.product.type-product > .woocommerce-product-gallery, body.single-product div.product.type-product > .woocommerce-tabs, body.single-product div.product.type-product > section { width: 100% !important; max-width: 100%; float: none !important; box-sizing: border-box; }
  body.single-product div.product.type-product > .summary > .product_title { order: 1; margin-bottom: .4rem; }
  body.single-product div.product.type-product > .summary > .price { order: 2; margin: 0 0 .6rem; }
  body.single-product div.product.type-product > .summary > .woocommerce-product-details__short-description { order: 3; margin-bottom: 1rem; }
  body.single-product div.product.type-product > .woocommerce-product-gallery { order: 4; margin-bottom: 1rem; }
  body.single-product div.product.type-product > .summary > form.cart { order: 5; }
  body.single-product div.product.type-product > .summary > :not(.product_title):not(.price):not(.woocommerce-product-details__short-description):not(form.cart) { order: 6; }
  body.single-product div.product.type-product > .woocommerce-tabs { order: 7; }
  body.single-product div.product.type-product > .up-sells { order: 8; }
  body.single-product div.product.type-product > .related { order: 9; }
}

/* ===== Page d'accueil ===== */
.pm-eyebrow { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #d9789e; font-weight: 700; margin: 0 0 .6rem; }
.pm-hero { background: linear-gradient(135deg, #fff7f1 0%, #e3f1f3 100%); padding: 3.5rem 1.25rem; }
.pm-hero .pm-hero__title { font-size: clamp(1.9rem, 1.2rem + 2vw, 2.9rem) !important; line-height: 1.15; color: #10333a; margin: 0 0 1rem; }
.pm-hero .pm-hero__text { font-size: 1rem; line-height: 1.7; color: #4b6b72; max-width: 34rem; margin-bottom: 1.5rem; }
.pm-hero__visual { position: relative; display: flex; gap: 1rem; justify-content: center; align-items: center; }
.pm-hero__visual img { width: 46%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; box-shadow: 0 14px 34px rgba(16,51,58,.16); background: #fff; }
.pm-hero__visual .pm-hero__img2 { margin-top: 3rem; }
.is-style-outline .wp-block-button__link { background: transparent !important; color: #0e7c8c !important; border: 2px solid #0e7c8c !important; }
.is-style-outline .wp-block-button__link:hover { background: #e3f1f3 !important; color: #0a5f6c !important; }
.pm-section { padding: 3.2rem 1.25rem; }
.pm-soft { background: #f7f6f7; }
.pm-section .pm-h2, .pm-gift .pm-h2, .pm-h2 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem) !important; color: #10333a; margin: 0 0 1.8rem; }
.pm-h2.pm-left { text-align: left; margin-bottom: 1rem; }
.pm-tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.2rem; max-width: 1140px; margin: 0 auto; }
.pm-tile { text-align: center; text-decoration: none; color: #10333a; }
.pm-tile__img { display: block; width: 100%; max-width: 150px; aspect-ratio: 1; margin: 0 auto .7rem; border-radius: 50%; overflow: hidden; box-shadow: 0 8px 22px rgba(16,51,58,.14); border: 4px solid #fff; transition: transform .2s, box-shadow .2s; }
.pm-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pm-tile:hover .pm-tile__img { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(14,124,140,.28); }
.pm-tile__label { font-weight: 700; font-size: .95rem; }
.pm-tile:hover .pm-tile__label { color: #0e7c8c; }
.pm-gift { background: #fff7f1; padding: 3.2rem 1.25rem; }
.pm-gift__img { width: 100%; max-width: 440px; aspect-ratio: 1; object-fit: cover; border-radius: 32px; display: block; margin: 0 auto; box-shadow: 0 14px 34px rgba(16,51,58,.16); }
.pm-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; max-width: 1140px; margin: 0 auto; }
.pm-value { background: #fff; border: 1px solid #e4dcc8; border-radius: 22px; padding: 1.6rem 1.3rem; text-align: center; }
.pm-value__ico { font-size: 2rem; display: block; margin-bottom: .6rem; }
.pm-value h3 { font-size: 1.05rem !important; margin: 0 0 .5rem; color: #0e7c8c; }
.pm-value p { font-size: .9rem; line-height: 1.6; color: #4b6b72; margin: 0; }
.pm-pills { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-bottom: 1.8rem; }
.pm-posts { max-width: 1140px; margin: 0 auto 1.8rem; }
.pm-posts .wp-block-latest-posts__featured-image img { border-radius: 18px; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.pm-posts a { text-decoration: none; font-weight: 700; color: #10333a; }
.pm-posts a:hover { color: #0e7c8c; }
.pm-posts .wp-block-latest-posts__post-excerpt { font-size: .9rem; color: #4b6b72; }
.pm-cta { background: linear-gradient(135deg, #0e7c8c, #0a5f6c); color: #fff; padding: 3rem 1.25rem; }
.pm-cta .pm-cta__title { color: #fff; font-size: clamp(1.3rem, 1.1rem + .9vw, 1.8rem) !important; margin: 0 0 .5rem; }
.pm-cta p { color: #e3f1f3; margin-bottom: 1.2rem; }
.pm-cta .wp-block-button__link { background: #fff !important; color: #0e7c8c !important; }
.pm-cta .wp-block-button__link:hover { background: #fff7f1 !important; }
.pm-section ul.products { max-width: 1140px; margin-left: auto; margin-right: auto; }
@media (max-width: 900px) { .pm-tiles { grid-template-columns: repeat(3, 1fr); } .pm-values { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .pm-hero { padding: 2rem 1rem; } .pm-hero__visual img { width: 48%; } .pm-hero__visual .pm-hero__img2 { margin-top: 1.5rem; } .pm-tiles { gap: .8rem; } .pm-values { grid-template-columns: 1fr; } .pm-section, .pm-gift { padding: 2.2rem 1rem; } }

@media (min-width: 782px) { body .nd-mainnav .wp-block-navigation-item a { padding: .65rem .7rem; } body .nd-nav-row { gap: 1rem; } }

@media (min-width: 782px) { html body .nd-mainnav .wp-block-navigation-item a { padding: .65rem .55rem; letter-spacing: .03em; font-size: .78rem; } }

/* Texte plus petit : menu et page d'accueil */
@media (min-width: 782px) { html body .nd-mainnav .wp-block-navigation-item a { font-size: .72rem; padding: .65rem .75rem; letter-spacing: .04em; } }
html body .nd-cats > .wp-block-navigation__container > .wp-block-navigation-item > a { font-size: .8rem !important; }
html body .nd-cats .wp-block-navigation__submenu-container .wp-block-navigation-item > a, html body .nd-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item > a { font-size: .82rem; }
html body .nd-announce__item, html body .nd-announce { font-size: .68rem; }
html body .pm-hero .pm-hero__title { font-size: clamp(1.7rem, 1.1rem + 1.6vw, 2.4rem) !important; }
html body .pm-hero .pm-hero__text { font-size: .92rem; }
html body .pm-section .pm-h2, html body .pm-gift .pm-h2, html body .pm-h2 { font-size: clamp(1.25rem, 1rem + .8vw, 1.6rem) !important; }
html body .pm-eyebrow { font-size: .72rem; }
html body .pm-tile__label { font-size: .85rem; }
html body .pm-value h3 { font-size: .98rem !important; }
html body .pm-value p, html body .pm-posts .wp-block-latest-posts__post-excerpt, html body .pm-gift p { font-size: .85rem; }
html body .pm-posts a { font-size: .95rem; }
html body .pm-cta .pm-cta__title { font-size: clamp(1.2rem, 1rem + .7vw, 1.55rem) !important; }
html body .pm-pills .nd-pill { font-size: .82rem; }

@media (min-width: 782px) { html body .nd-style-chic .nd-mainnav .wp-block-navigation-item a, html body .nd-mainnav .wp-block-navigation-item a, html body .nd-mainnav .wp-block-navigation-item__label { font-size: .72rem !important; letter-spacing: .04em !important; } html body .nd-mainnav .wp-block-navigation-item a { padding: .65rem .8rem !important; } }
html body .pm-hero .pm-hero__title { font-size: clamp(1.6rem, 1rem + 1.2vw, 2.1rem) !important; }
html body .pm-section .pm-h2, html body .pm-gift .pm-h2, html body .pm-h2 { font-size: clamp(1.2rem, 1rem + .6vw, 1.45rem) !important; }

/* ===== Pages d'information : mise en page unique ===== */
.nd-page-title { display: none; }
body.nd-info .nd-page-title { display: block; max-width: 860px; margin: 2.2rem auto 1.2rem !important; padding: 0 1.25rem; box-sizing: border-box; font-size: clamp(1.45rem, 1.15rem + .7vw, 1.8rem) !important; line-height: 1.2; color: #0e7c8c; }
body.nd-info .nd-content .entry-content { max-width: 860px !important; margin: 0 auto 3rem !important; padding: 0 1.25rem; box-sizing: border-box; }
body.nd-info .entry-content p, body.nd-info .entry-content li, body.nd-info .entry-content td, body.nd-info .entry-content th, body.nd-info .entry-content summary, body.nd-info .entry-content span, body.nd-info .entry-content a { font-size: .9rem !important; line-height: 1.7 !important; font-style: normal !important; }
body.nd-info .entry-content p, body.nd-info .entry-content li, body.nd-info .entry-content td, body.nd-info .entry-content summary { color: #3b5a61 !important; }
body.nd-info .entry-content p { margin: 0 0 .9rem; }
body.nd-info .entry-content a { color: #0e7c8c; }
body.nd-info .entry-content h2 { font-size: 1.2rem !important; line-height: 1.3 !important; margin: 2rem 0 .7rem !important; color: #10333a !important; font-weight: 600 !important; }
body.nd-info .entry-content h3 { font-size: 1.05rem !important; line-height: 1.3 !important; margin: 1.5rem 0 .5rem !important; color: #10333a !important; font-weight: 600 !important; }
body.nd-info .entry-content h4 { font-size: .95rem !important; margin: 1.2rem 0 .4rem !important; color: #10333a !important; }
body.nd-info .entry-content ul, body.nd-info .entry-content ol { margin: 0 0 1rem 1.2rem; padding: 0; }
body.nd-info .entry-content table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.4rem; }
body.nd-info .entry-content th, body.nd-info .entry-content td { border: 1px solid #e4dcc8; padding: .6rem .8rem; text-align: left; }
body.nd-info .entry-content th { background: #f7f6f7; color: #10333a; }
body.nd-info .entry-content details { border-bottom: 1px solid #e4dcc8 !important; }
body.nd-info .entry-content summary { color: #10333a !important; font-weight: 600; padding: .9rem 0 !important; }
body.nd-info .entry-content img { max-width: 100%; height: auto; }
/* ===== Blog ===== */
.nd-blog { max-width: 1140px; margin: 0 auto; padding: 2rem 1.25rem 3rem; box-sizing: border-box; }
html body .nd-blog .nd-blog__title { font-size: clamp(1.5rem, 1.2rem + .8vw, 1.9rem) !important; text-align: center; color: #10333a; margin: 0 0 .4rem; }
.nd-blog .nd-blog__intro { text-align: center; color: #4b6b72; font-size: .92rem; margin: 0 0 1.3rem; }
.nd-blogcats { justify-content: center; margin-bottom: 2rem; }
.nd-pill__n { opacity: .65; font-size: .78em; margin-left: .2rem; }
.nd-pill.is-current .nd-pill__n { opacity: .85; }
.nd-blogloop .wp-block-post-template { gap: 1.5rem; }
.nd-card { background: #fff; border: 1px solid #e4dcc8; border-radius: 18px; overflow: hidden; height: 100%; transition: transform .2s, box-shadow .2s; }
.nd-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(16,51,58,.12); }
.nd-card .wp-block-post-featured-image { margin: 0; }
.nd-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.nd-card__body { padding: 1rem 1.1rem 1.2rem; }
.nd-card__cat, .nd-card__cat a { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: #d9789e; font-weight: 700; text-decoration: none; margin: 0; }
html body .nd-card__title { font-size: 1.02rem !important; line-height: 1.3; margin: .4rem 0 .5rem; }
.nd-card__title a { color: #10333a; text-decoration: none; }
.nd-card__title a:hover { color: #0e7c8c; }
.nd-card__excerpt, .nd-card__excerpt p { font-size: .84rem; color: #4b6b72; line-height: 1.55; margin: 0 0 .6rem; }
.nd-card__date { font-size: .74rem; color: #7a9298; margin: 0; }
.nd-blogloop .wp-block-query-pagination { margin-top: 2.2rem; gap: .4rem; }
.nd-blogloop .wp-block-query-pagination a, .nd-blogloop .wp-block-query-pagination .page-numbers { padding: .4rem .85rem; border-radius: 999px; font-size: .85rem; text-decoration: none; color: #0e7c8c; border: 1px solid transparent; }
.nd-blogloop .wp-block-query-pagination a:hover { background: #e3f1f3; }
.nd-blogloop .wp-block-query-pagination .page-numbers.current { background: #0e7c8c; color: #fff; }
@media (max-width: 900px) { .nd-blogloop .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .nd-blogloop .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; } .nd-blog { padding: 1.2rem 1rem 2rem; } }

.pm-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.5rem 0 1.8rem; }
.pm-contact__card { background: #fff; border: 1px solid #e4dcc8; border-radius: 18px; padding: 1.3rem 1.1rem; text-align: center; }
.pm-contact__ico { font-size: 1.7rem; display: block; margin-bottom: .4rem; }
body.nd-info .entry-content .pm-contact__card h3 { margin: 0 0 .5rem !important; color: #0e7c8c !important; font-size: 1rem !important; }
body.nd-info .entry-content .pm-contact__card p { margin: 0 0 .4rem; }
body.nd-info .entry-content .pm-contact__note { font-size: .8rem !important; color: #7a9298 !important; }
@media (max-width: 700px) { .pm-contact { grid-template-columns: 1fr; } }

/* ===== Article de blog ===== */
.nd-post { max-width: 820px; margin: 0 auto; padding: 2rem 1.25rem 3rem; box-sizing: border-box; }
.nd-post__cat, .nd-post__cat a { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #d9789e; font-weight: 700; text-decoration: none; margin: 0 0 .5rem; }
html body .nd-post .nd-post__title { font-size: clamp(1.45rem, 1.15rem + .9vw, 1.9rem) !important; line-height: 1.25; color: #10333a; margin: 0 0 .6rem; }
.nd-post__date { font-size: .8rem; color: #7a9298; margin: 0 0 1.4rem; }
.nd-post__img { margin: 0 0 1.8rem; }
.nd-post__img img { width: 100%; border-radius: 20px; object-fit: cover; display: block; }
.nd-post__content > * { max-width: 100%; }
.nd-post__content p, .nd-post__content li { font-size: .95rem !important; line-height: 1.75 !important; color: #3b5a61; }
.nd-post__content p { margin: 0 0 1rem; }
.nd-post__content a { color: #0e7c8c; }
html body .nd-post__content h2 { font-size: 1.3rem !important; line-height: 1.3; color: #10333a; margin: 2rem 0 .7rem; }
html body .nd-post__content h3 { font-size: 1.1rem !important; line-height: 1.3; color: #10333a; margin: 1.5rem 0 .5rem; }
.nd-post__content ul, .nd-post__content ol { margin: 0 0 1.1rem 1.2rem; padding: 0; }
.nd-post__content img { max-width: 100%; height: auto; border-radius: 14px; }
.nd-post__content table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.4rem; font-size: .9rem; }
.nd-post__content th, .nd-post__content td { border: 1px solid #e4dcc8; padding: .55rem .75rem; text-align: left; }
.nd-post__content th { background: #f7f6f7; }
.nd-post .wp-block-buttons { margin: 2.2rem 0 1.5rem; }
.nd-post__nav { border-top: 1px solid #e4dcc8; padding-top: 1.2rem; gap: 1rem; font-size: .85rem; }
.nd-post__nav a { color: #0e7c8c; text-decoration: none; font-weight: 600; }
.nd-post__nav a:hover { text-decoration: underline; }

/* Images de l'accueil cliquables */
.pm-hero__visual > a.pm-hero__link { display: block; width: 46%; transition: transform .2s; }
.pm-hero__visual > a.pm-hero__link:nth-child(2) { margin-top: 3rem; }
.pm-hero__visual > a.pm-hero__link img { width: 100%; margin-top: 0; display: block; }
.pm-hero__visual > a.pm-hero__link:hover { transform: translateY(-4px); }
a.pm-gift__link { display: block; max-width: 440px; margin: 0 auto; transition: transform .2s; }
a.pm-gift__link:hover { transform: translateY(-4px); }
a.pm-gift__link img { max-width: 100%; }
@media (max-width: 600px) { .pm-hero__visual > a.pm-hero__link { width: 48%; } .pm-hero__visual > a.pm-hero__link:nth-child(2) { margin-top: 1.5rem; } }






/* ===== Coins arrondis : fiches produit et widgets ===== */
html body.single-product .woocommerce-product-gallery__wrapper, html body.single-product .woocommerce-product-gallery .flex-viewport { border-radius: 20px; overflow: hidden; }
html body.single-product .woocommerce-product-gallery__image img, html body.single-product .woocommerce-product-gallery img { border-radius: 20px; }
html body.single-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 12px; }
html body.single-product .woocommerce-product-gallery__trigger { border-radius: 50% !important; }
/* champs, quantité, listes */
html body input[type="text"], html body input[type="email"], html body input[type="tel"], html body input[type="number"], html body input[type="search"], html body input[type="date"], html body input[type="password"], html body select, html body textarea, html body .thwepof-input-field, html body .quantity .qty { border-radius: 12px !important; }
html body .quantity { border-radius: 12px; overflow: hidden; }
html body .wc-block-product-search__field { border-radius: 0 !important; }
/* onglets et panneaux */
html body .woocommerce-tabs ul.tabs, html body .woocommerce div.product .woocommerce-tabs ul.tabs { border-radius: 0; }
html body .woocommerce-tabs ul.tabs li, html body .woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 999px !important; overflow: hidden; }
html body .woocommerce-tabs .panel, html body .woocommerce div.product .woocommerce-tabs .panel { border: 1px solid #e4dcc8; border-radius: 20px; padding: 1.4rem 1.5rem; background: #fff; }
/* tableaux (informations complementaires) */
html body .woocommerce-product-attributes, html body .woocommerce table.shop_attributes { border-collapse: separate; border-spacing: 0; border: 1px solid #e4dcc8; border-radius: 14px; overflow: hidden; }
html body .woocommerce table.shop_attributes th, html body .woocommerce table.shop_attributes td { border-left: 0; }
/* avis */
html body .commentlist li, html body .cr-reviews-slider .cr-review-card, html body .cr-review-card, html body .cr-ajax-reviews-cus-review, html body .cr-reviews-slider .cr-slider-item > div { border-radius: 16px; }
html body #reviews #comments ol.commentlist li .comment_container, html body .cr-ajax-reviews-cus-review { border: 1px solid #e4dcc8; border-radius: 16px; padding: 1rem 1.1rem; background: #fff; }
html body .cr-review-form-wrap, html body #review_form_wrapper { border-radius: 16px; }
/* notices */
html body .woocommerce-message, html body .woocommerce-info, html body .woocommerce-error, html body .wc-block-components-notice-banner { border-radius: 14px; }
/* cartes produits (suggestions, similaires, boutique) */
html body ul.products li.product { border-radius: 18px; overflow: hidden; }
html body ul.products li.product img { border-radius: 14px 14px 0 0; }
html body .related.products ul.products li.product, html body .upsells.products ul.products li.product, html body .nd-section ul.products li.product { border-radius: 18px; }
/* etiquettes promo, details, blocs repliables */
html body span.onsale { border-radius: 999px !important; }
html body details { border-radius: 14px; }
html body .wp-block-image img, html body .entry-content img { border-radius: 14px; }
html body .product_meta a { border-radius: 999px; }

/* Etiquette promo : rose PetitMaxou */
html body span.onsale, html body .wc-block-components-product-sale-badge, html body .woocommerce span.onsale { background: #d9789e !important; color: #fff !important; border: 0 !important; font-weight: 700; letter-spacing: .02em; box-shadow: 0 4px 10px rgba(217,120,158,.35); }

/* Accueil : blocs plus rapprochés */
html body .entry-content > .pm-hero, html body .entry-content > .pm-section, html body .entry-content > .pm-gift, html body .entry-content > .pm-cta { margin-block-start: 0 !important; margin-block-end: 0 !important; }
html body .pm-hero { padding: 2.4rem 1.25rem; }
html body .pm-section { padding: 2.1rem 1.25rem; }
html body .pm-gift { padding: 2.1rem 1.25rem; }
html body .pm-cta { padding: 2.2rem 1.25rem; }
html body .pm-section .pm-h2, html body .pm-gift .pm-h2, html body .pm-h2 { margin-bottom: 1.2rem; }
html body .pm-pills { margin-bottom: 1.2rem; }
html body .pm-posts { margin-bottom: 1.2rem; }
html body.home .pm-footer { margin-top: 0; }
@media (max-width: 600px) { html body .pm-hero { padding: 1.6rem 1rem; } html body .pm-section, html body .pm-gift { padding: 1.6rem 1rem; } html body .pm-cta { padding: 1.8rem 1rem; } }

/* Photo cadeau de naissance plus petite */
html body a.pm-gift__link { max-width: 320px; }
html body .pm-gift__img { max-width: 320px; border-radius: 26px; }
html body .pm-gift .wp-block-column:last-child { display: flex; justify-content: center; }

/* ===== Site encadré : cadre 1140 px, coins arrondis, halo rose estompé (désactivable : wp option update nd_boxed 0) ===== */
@media (min-width: 1100px) {
  html body.nd-boxed { background: #fff !important; }
  html body.nd-boxed .wp-site-blocks { max-width: 1140px; margin: 24px auto; background: #fff; border-radius: 28px; overflow: clip; box-shadow: 0 0 0 1px rgba(217,120,158,.18), 0 0 28px 6px rgba(217,120,158,.20), 0 0 90px 30px rgba(217,120,158,.14); }
}

/* Mobile : logo plus grand */
@media (max-width: 781px) {
  html body .nd-header .wp-block-site-logo { flex: 0 0 auto; width: auto !important; }
  html body .nd-header .wp-block-site-logo img, html body .nd-header .custom-logo { width: 160px !important; max-width: 160px !important; height: auto !important; }
}

/* Mobile : bannière de cookies compacte */
@media (max-width: 781px) {
  html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding: 8px 12px !important; }
  html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 10px !important; padding: 0 !important; }
  html body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice, html body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p, html body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice span, html body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice button { font-size: 11px !important; line-height: 1.3 !important; margin: 0 !important; }
  html body #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder { flex: 0 0 auto; padding: 0 !important; margin: 0 !important; width: auto !important; }
  html body #moove_gdpr_cookie_info_bar button.mgbutton { padding: 7px 14px !important; font-size: 12px !important; border-radius: 999px !important; white-space: nowrap; }
  html body #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .moove-gdpr-infobar-settings-btn { display: none !important; }
}

/* Sélecteur de langue dans l'en-tête : compact */
html body header .trp-language-switcher > p, html body header .wp-block-shortcode > p:empty { display: none !important; }
html body header .trp-language-switcher { padding: 0 !important; margin: 0 !important; min-height: 0; height: auto; vertical-align: middle; }
html body header .wp-block-shortcode { margin: 0; }
html body header .trp-language-switcher .trp-language-item { padding: 5px 10px !important; font-size: .78rem; }
html body header .trp-language-switcher .trp-current-language-item__wrapper { padding-right: 4px; }
html body header .trp-language-switcher .trp-language-item-name { font-weight: 700; letter-spacing: .03em; }
html body header .trp-language-switcher .trp-switcher-dropdown-list { border-radius: 14px; overflow: hidden; z-index: 1000; }

html body .trp-shortcode-overlay .trp-switcher-dropdown-list { padding: 4px 0 !important; gap: 0 !important; border-radius: 14px; box-shadow: 0 8px 22px rgba(16,51,58,.16); }
html body .trp-shortcode-overlay .trp-switcher-dropdown-list .trp-language-item { padding: 6px 12px !important; font-size: .78rem; }
html body .trp-shortcode-overlay .trp-switcher-dropdown-list p { display: none !important; }

html body header .trp-shortcode-switcher br { display: none !important; }

/* Mobile : logo, sélecteur de langue et icônes sur une seule ligne */
@media (max-width: 781px) {
  html body .nd-header .wp-block-site-logo img, html body .nd-header .custom-logo { width: 125px !important; max-width: 125px !important; }
  html body header .trp-shortcode-switcher .trp-language-item { padding: 4px 8px !important; font-size: .72rem; }
  html body header .trp-shortcode-switcher .trp-shortcode-arrow { display: none !important; }
  html body header .trp-shortcode-switcher .trp-current-language-item__wrapper { padding-right: 0 !important; }
  html body .nd-header .nd-wrap > .wp-block-group { gap: .55rem !important; flex-wrap: nowrap; }
}

@media (max-width: 781px) { html body header .trp-shortcode-switcher { min-width: 84px !important; } html body header .trp-shortcode-overlay .trp-switcher-dropdown-list .trp-language-item { padding: 6px 12px !important; } }

/* ===== Mon compte (WooCommerce) : menu, contenu, tableaux, formulaires ===== */
body.woocommerce-account .nd-content .entry-content { max-width: 1060px !important; margin: 1.6rem auto 3rem !important; padding: 0 1.25rem; box-sizing: border-box; }
body.woocommerce-account .nd-page-title { display: block; max-width: 1060px; margin: 2rem auto 0 !important; padding: 0 1.25rem; box-sizing: border-box; }

/* connecté : menu à gauche + contenu */
body.woocommerce-account.logged-in .entry-content > .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.8rem; align-items: start; width: 100% !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; margin: 0; background: #fff; border: 1px solid #d9eaed; border-radius: 16px; padding: .6rem; box-shadow: 0 2px 10px rgba(14, 124, 140, .06); box-sizing: border-box; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 !important; padding: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .62rem .9rem; border-radius: 12px; color: #10333a !important; text-decoration: none !important; font-size: .92rem; font-weight: 600; line-height: 1.3; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #e7f4f6; color: #0e7c8c !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #0e7c8c; color: #fff !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #b3453a !important; }
body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0; background: #fff; border: 1px solid #d9eaed; border-radius: 16px; padding: 1.4rem 1.6rem; box-shadow: 0 2px 10px rgba(14, 124, 140, .06); box-sizing: border-box; font-size: .95rem; line-height: 1.6; }
body.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
body.woocommerce-account .woocommerce-MyAccount-content h2, body.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 1.15rem !important; line-height: 1.3 !important; color: #10333a; margin: 1.6rem 0 .8rem; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) { color: #0e7c8c; }
body.woocommerce-account .woocommerce-MyAccount-content p { margin: 0 0 .9rem; }

/* tableaux : commandes, détail commande, téléchargements */
body.woocommerce-account table.shop_table, body.woocommerce-account table.woocommerce-orders-table, body.woocommerce-account table.woocommerce-table--order-details { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #d9eaed; border-radius: 12px; overflow: hidden; margin: 0 0 1.4rem; font-size: .9rem; }
body.woocommerce-account table.shop_table th, body.woocommerce-account table.shop_table td { padding: .7rem .9rem; border: 0; border-bottom: 1px solid #e8f1f3; text-align: left; vertical-align: middle; }
body.woocommerce-account table.shop_table thead th { background: #f2f9fa; color: #10333a; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
body.woocommerce-account table.shop_table tr:last-child th, body.woocommerce-account table.shop_table tr:last-child td { border-bottom: 0; }
body.woocommerce-account .woocommerce-orders-table .button, body.woocommerce-account .woocommerce-orders-table .woocommerce-button { font-size: .8rem; padding: .45rem .9rem; margin: .1rem; }
body.woocommerce-account mark { background: #e7f4f6; color: #0e7c8c; padding: .1rem .5rem; border-radius: 999px; font-weight: 600; }

/* adresses : 2 cartes */
body.woocommerce-account .woocommerce-Addresses, body.woocommerce-account .col2-set.addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
body.woocommerce-account .woocommerce-Addresses .col-1, body.woocommerce-account .woocommerce-Addresses .col-2, body.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; max-width: none !important; }
body.woocommerce-account .woocommerce-Address { background: #f7fbfc; border: 1px solid #d9eaed; border-radius: 14px; padding: 1rem 1.2rem; box-sizing: border-box; }
body.woocommerce-account .woocommerce-Address header.title { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; margin: 0 0 .5rem; }
body.woocommerce-account .woocommerce-Address header.title h2, body.woocommerce-account .woocommerce-Address header.title h3 { margin: 0 !important; font-size: 1.05rem !important; }

/* formulaires : détails du compte, adresses, connexion */
body.woocommerce-account .woocommerce form .form-row { margin: 0 0 1rem; padding: 0; }
body.woocommerce-account .woocommerce form .form-row label { display: block; font-size: .85rem; font-weight: 600; color: #10333a; margin: 0 0 .3rem; }
body.woocommerce-account .woocommerce form input.input-text, body.woocommerce-account .woocommerce form select, body.woocommerce-account .woocommerce form textarea { width: 100%; box-sizing: border-box; border: 1px solid #c9dde1; border-radius: 10px; padding: .6rem .8rem; font-size: .95rem; background: #fff; }
body.woocommerce-account .woocommerce form input.input-text:focus, body.woocommerce-account .woocommerce form select:focus { outline: 2px solid #0e7c8c33; border-color: #0e7c8c; }
body.woocommerce-account .woocommerce form fieldset { border: 1px solid #d9eaed; border-radius: 12px; padding: 1rem 1.2rem .4rem; margin: 1.2rem 0; }
body.woocommerce-account .woocommerce form fieldset legend { padding: 0 .5rem; font-weight: 700; color: #10333a; }

/* non connecté : connexion + inscription côte à côte */
body.woocommerce-account:not(.logged-in) #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
body.woocommerce-account:not(.logged-in) #customer_login .u-column1, body.woocommerce-account:not(.logged-in) #customer_login .u-column2 { float: none !important; width: auto !important; background: #fff; border: 1px solid #d9eaed; border-radius: 16px; padding: 1.4rem 1.6rem; box-shadow: 0 2px 10px rgba(14, 124, 140, .06); box-sizing: border-box; }
body.woocommerce-account:not(.logged-in) #customer_login h2 { font-size: 1.2rem !important; margin: 0 0 1rem; color: #10333a; }
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login, body.woocommerce-account:not(.logged-in) form.woocommerce-form-register { border: 0 !important; padding: 0 !important; margin: 0 !important; }

/* tablette / mobile : tout en une colonne, menu en puces défilantes */
@media (max-width: 860px) {
  body.woocommerce-account.logged-in .entry-content > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { padding: .5rem; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: .4rem; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: .2rem !important; scrollbar-width: thin; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: .5rem .9rem; border: 1px solid #d9eaed; border-radius: 999px; font-size: .85rem; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-color: #0e7c8c; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding: 1.1rem 1rem; }
  body.woocommerce-account .woocommerce-Addresses, body.woocommerce-account .col2-set.addresses { grid-template-columns: minmax(0, 1fr); }
  body.woocommerce-account:not(.logged-in) #customer_login { grid-template-columns: minmax(0, 1fr); }
  body.woocommerce-account .nd-content .entry-content { padding: 0 .9rem; }
  /* tableau des commandes : lignes empilées lisibles */
  body.woocommerce-account table.woocommerce-orders-table thead { display: none; }
  body.woocommerce-account table.woocommerce-orders-table tr { display: block; border-bottom: 1px solid #e8f1f3; padding: .5rem .2rem; }
  body.woocommerce-account table.woocommerce-orders-table tr:last-child { border-bottom: 0; }
  body.woocommerce-account table.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem .7rem; border: 0; text-align: right; }
  body.woocommerce-account table.woocommerce-orders-table td::before { content: attr(data-title); font-weight: 600; color: #10333a; text-align: left; }
  body.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { justify-content: flex-start; flex-wrap: wrap; }
  body.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { display: none; }
}

/* Mon compte : placement explicite (les pseudo-elements clearfix et le bloc de notices occupaient des cases) */
body.woocommerce-account.logged-in .entry-content > .woocommerce::before, body.woocommerce-account.logged-in .entry-content > .woocommerce::after { display: none !important; content: none !important; }
body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 2; }
body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 2; }
@media (max-width: 860px) { body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-navigation, body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; } body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-content { grid-row: 3; } }

/* Mon compte : adresses (clearfix WooCommerce retire de la grille) + adresses de la page commande */
body.woocommerce-account .col2-set::before, body.woocommerce-account .col2-set::after, body.woocommerce-account #customer_login::before, body.woocommerce-account #customer_login::after, body.woocommerce-account .woocommerce-columns--addresses::before, body.woocommerce-account .woocommerce-columns--addresses::after { display: none !important; content: none !important; }
body.woocommerce-account .woocommerce-columns--addresses, body.woocommerce-account .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 1rem; }
body.woocommerce-account .woocommerce-columns--addresses .woocommerce-column, body.woocommerce-account .woocommerce-customer-details .col-1, body.woocommerce-account .woocommerce-customer-details .col-2 { float: none !important; width: auto !important; max-width: none !important; background: #f7fbfc; border: 1px solid #d9eaed; border-radius: 14px; padding: 1rem 1.2rem; box-sizing: border-box; text-align: left; }
body.woocommerce-account .woocommerce-customer-details h2.woocommerce-column__title { margin: 0 0 .6rem !important; font-size: 1.05rem !important; }
body.woocommerce-account .woocommerce-customer-details address { font-style: normal; line-height: 1.6; border: 0; padding: 0; }
@media (max-width: 860px) { body.woocommerce-account .woocommerce-columns--addresses, body.woocommerce-account .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); } }

/* Boutons de commande en dore (Valider la commande / Commander / Payer) : texte fonce pour un contraste AA (~5:1) */
body .wc-block-cart__submit-button, body .wc-block-components-checkout-place-order-button, body .wc-block-mini-cart__footer-checkout, body .woocommerce-mini-cart__buttons a.checkout, body a.checkout-button, body #place_order { background: #C99A3E !important; color: #10333a !important; font-weight: 700 !important; border: 0 !important; box-shadow: 0 2px 8px rgba(201, 154, 62, .35); }
body .wc-block-cart__submit-button:hover, body .wc-block-components-checkout-place-order-button:hover, body .wc-block-mini-cart__footer-checkout:hover, body .woocommerce-mini-cart__buttons a.checkout:hover, body a.checkout-button:hover, body #place_order:hover { background: #B8892F !important; color: #10333a !important; }
body .wc-block-cart__submit-button:focus-visible, body .wc-block-components-checkout-place-order-button:focus-visible, body #place_order:focus-visible { outline: 3px solid #10333a; outline-offset: 2px; }
body .wc-block-cart__submit-button .wc-block-components-button__text, body .wc-block-components-checkout-place-order-button .wc-block-components-button__text { color: #10333a !important; }

/* Dore : priorite renforcee (la regle generale des boutons blocs WooCommerce imposait le turquoise) */
html body .wc-block-components-button.wp-element-button.wc-block-cart__submit-button, html body .wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button, html body .wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-checkout, html body .woocommerce-mini-cart__buttons a.button.checkout, html body a.button.checkout-button, html body button#place_order { background: #C99A3E !important; background-color: #C99A3E !important; color: #10333a !important; font-weight: 700 !important; border: 0 !important; box-shadow: 0 2px 8px rgba(201, 154, 62, .35); }
html body .wc-block-components-button.wp-element-button.wc-block-cart__submit-button:hover, html body .wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button:hover, html body .wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-checkout:hover, html body .woocommerce-mini-cart__buttons a.button.checkout:hover, html body a.button.checkout-button:hover, html body button#place_order:hover { background: #B8892F !important; background-color: #B8892F !important; color: #10333a !important; }

/* Panier rapide (mini-panier) : titre trop grand (48 px) */
html body .wc-block-mini-cart__title.wp-block-woocommerce-mini-cart-title-block { font-size: 1.3rem !important; line-height: 1.3 !important; padding: 0 0 1rem !important; margin: 0 !important; display: flex !important; flex-wrap: wrap; align-items: baseline; gap: .35rem; color: #10333a; }
html body .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-label-block { font-size: 1.3rem !important; line-height: 1.3 !important; font-weight: 700; }
html body .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block { font-size: .9rem !important; line-height: 1.3 !important; font-weight: 500; color: #5b6f75; }

/* Panier rapide : pas de debut de description courte sous le produit */
html body .wc-block-mini-cart__drawer .wc-block-components-product-metadata__description, html body .wc-block-mini-cart__items .wc-block-components-product-metadata__description { display: none !important; }

/* Panier rapide : un seul prix par article (total de la ligne a droite), pas de prix unitaire sous le nom */
html body .wc-block-mini-cart__drawer .wc-block-cart-item__prices, html body .wc-block-mini-cart__items .wc-block-cart-item__prices { display: none !important; }

/* Panier et commande : pas de description courte sous le produit (les options couleur/prenom restent visibles) */
html body .wp-block-woocommerce-cart .wc-block-components-product-metadata__description, html body .wp-block-woocommerce-checkout .wc-block-components-product-metadata__description, html body .wc-block-cart-items .wc-block-components-product-metadata__description, html body .wc-block-components-order-summary .wc-block-components-product-metadata__description { display: none !important; }

/* ===== Prix plus visibles sur tout le site ===== */
/* boutique, categories, produits lies */
html body ul.products li.product .price { font-size: 1.35rem !important; font-weight: 800 !important; line-height: 1.2 !important; color: #A8791F !important; letter-spacing: -.01em; }
html body ul.products li.product .price ins { font-size: 1.4rem !important; font-weight: 800 !important; color: #B83A6E !important; text-decoration: none !important; background: transparent !important; }
html body ul.products li.product .price del { font-size: .95rem !important; font-weight: 400 !important; color: #7a8b90 !important; opacity: 1 !important; margin-right: .35rem; }
/* fiche produit */
html body.single-product .summary .price, html body.single-product .entry-summary .price { font-size: 2rem !important; font-weight: 800 !important; line-height: 1.15 !important; color: #A8791F !important; margin: .4rem 0 .9rem !important; }
html body.single-product .summary .price ins, html body.single-product .entry-summary .price ins { font-size: 2.1rem !important; font-weight: 800 !important; color: #B83A6E !important; text-decoration: none !important; background: transparent !important; }
html body.single-product .summary .price del, html body.single-product .entry-summary .price del { font-size: 1.1rem !important; font-weight: 400 !important; color: #7a8b90 !important; opacity: 1 !important; margin-right: .4rem; }
/* panier, panier rapide, commande : totaux de ligne et total */
html body .wc-block-cart-item__total .wc-block-components-product-price, html body .wc-block-cart-item__total .wc-block-formatted-money-amount, html body .wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount { font-size: 1.1rem !important; font-weight: 800 !important; color: #0a5f6c; }
html body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, html body .wc-block-components-totals-footer-item .wc-block-formatted-money-amount { font-size: 1.45rem !important; font-weight: 800 !important; color: #0a5f6c; }
html body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 700 !important; font-size: 1.05rem !important; }
html body .wc-block-mini-cart__footer-subtotal .wc-block-formatted-money-amount, html body .wc-block-mini-cart__footer .wc-block-components-totals-item__value { font-size: 1.3rem !important; font-weight: 800 !important; color: #0a5f6c; }

/* Panier, panier rapide, commande : noms de produits comme sur la boutique (Fredoka, gras), 2 lignes maximum */
html body .wc-block-components-product-name { font-family: "Fredoka", sans-serif !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.3 !important; color: #10333a !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html body .wc-block-components-product-name:hover { color: #0e7c8c !important; }
html body .wc-block-mini-cart__drawer .wc-block-components-product-name { font-size: .95rem !important; }

/* Panier : bloc "Ca peut vous interesser" aligne sur les cartes de la boutique */
html body .wp-block-woocommerce-cart-cross-sells-block .wp-block-cart-cross-sells-product__product-title, html body .wp-block-woocommerce-cart-cross-sells-block .wp-block-cart-cross-sells-product__product-title a { font-family: "Fredoka", sans-serif !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.3 !important; color: #10333a !important; text-decoration: none !important; }
html body .wp-block-woocommerce-cart-cross-sells-block .wp-block-cart-cross-sells-product__product-price, html body .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-price { font-size: 1.3rem !important; font-weight: 800 !important; color: #A8791F !important; }
html body .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-price ins { color: #B83A6E !important; text-decoration: none !important; font-weight: 800 !important; }
html body .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-price del { font-size: .9rem !important; font-weight: 400 !important; color: #7a8b90 !important; }

/* Panier mobile : colonne du total assez large pour les prix en gras (le nom ne passe plus dessous) */
@media (max-width: 700px) {
  html body .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto !important; column-gap: 0; }
  html body .wc-block-cart-items .wc-block-cart-item__image { grid-column: 1 !important; grid-row: 1; }
  html body .wc-block-cart-items .wc-block-cart-item__product { grid-column: 2 !important; grid-row: 1; padding-right: .5rem; min-width: 0; }
  html body .wc-block-cart-items .wc-block-cart-item__total { grid-column: 3 !important; grid-row: 1; justify-self: end; align-items: flex-end; flex-direction: column; text-align: right; white-space: nowrap; }
  html body .wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount { font-size: 1rem !important; }
}

@media (max-width: 700px) {
  html body .wc-block-cart-items .wc-block-cart-item__total { align-self: start; justify-content: flex-start !important; margin-left: .5rem; }
  html body .wc-block-cart-items .wc-block-cart-item__total .wc-block-components-sale-badge { font-size: .68rem !important; padding: .1rem .4rem !important; margin-top: .3rem; }
}

html body .wc-block-components-product-name { display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
@media (max-width: 700px) {
  html body .wc-block-cart-items .wc-block-components-product-name { font-size: .92rem !important; -webkit-line-clamp: 3 !important; }
  html body .wc-block-cart-items .wc-block-cart-item__product { padding-right: .2rem; }
}

/* Panier mobile : totaux juste sous les articles, produits suggeres APRES, en 2 colonnes compactes */
html body .wc-block-components-sidebar-layout.wc-block-cart.is-mobile, html body .wc-block-components-sidebar-layout.wc-block-cart.is-small { display: flex !important; flex-direction: column !important; }
html body .wc-block-cart.is-mobile .wc-block-cart__main, html body .wc-block-cart.is-small .wc-block-cart__main { display: contents !important; }
html body .wc-block-cart.is-mobile .wc-block-cart__sidebar, html body .wc-block-cart.is-small .wc-block-cart__sidebar { order: 2 !important; width: 100% !important; padding: 0 !important; margin-top: 1rem; }
html body .wc-block-cart.is-mobile .wp-block-woocommerce-cart-cross-sells-block, html body .wc-block-cart.is-small .wp-block-woocommerce-cart-cross-sells-block { order: 3 !important; margin-top: 2rem; }
html body .wc-block-cart.is-mobile .wp-block-woocommerce-cart-cross-sells-block > div:not(.wp-block-heading), html body .wc-block-cart.is-small .wp-block-woocommerce-cart-cross-sells-block > div:not(.wp-block-heading) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
html body .wc-block-cart.is-mobile .cross-sells-product, html body .wc-block-cart.is-small .cross-sells-product { width: auto !important; min-width: 0; margin: 0 !important; padding: .6rem !important; background: #fff; border: 1px solid #d9eaed; border-radius: 14px; box-sizing: border-box; }
html body .wc-block-cart.is-mobile .wp-block-woocommerce-cart-cross-sells-block h2, html body .wc-block-cart.is-small .wp-block-woocommerce-cart-cross-sells-block h2 { font-size: 1.15rem !important; }
html body .wc-block-cart.is-mobile .wp-block-woocommerce-cart-cross-sells-block .wp-block-cart-cross-sells-product__product-title, html body .wc-block-cart.is-mobile .wp-block-woocommerce-cart-cross-sells-block .wp-block-cart-cross-sells-product__product-title a { font-size: .85rem !important; }
html body .wc-block-cart.is-mobile .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-price { font-size: 1.1rem !important; }

/* ===== Selecteur de quantite : pilule propre (panier, panier rapide) ===== */
html body .wc-block-components-quantity-selector { display: inline-flex !important; align-items: center; width: auto !important; height: 42px !important; border: 1px solid #c9dde1 !important; border-radius: 999px !important; background: #fff !important; overflow: hidden; box-shadow: none !important; }
html body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { width: 38px !important; height: 40px !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; text-align: center; font-size: 1rem !important; font-weight: 700 !important; color: #10333a !important; -moz-appearance: textfield; }
html body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input::-webkit-outer-spin-button, html body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { width: 38px !important; height: 40px !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #0e7c8c !important; font-size: 1.25rem !important; font-weight: 700 !important; line-height: 1 !important; opacity: 1 !important; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
html body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) { background: #e7f4f6 !important; color: #0a5f6c !important; }
html body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { color: #b7c6ca !important; cursor: default; }
html body .wc-block-components-quantity-selector:focus-within { border-color: #0e7c8c !important; box-shadow: 0 0 0 3px rgba(14, 124, 140, .15) !important; }
html body .wc-block-cart-item__quantity { align-items: center; gap: .6rem; }
/* fiche produit (quantite classique) */
html body .woocommerce div.product form.cart .quantity .qty, html body .woocommerce .quantity input.qty { width: 70px !important; height: 42px !important; border: 1px solid #c9dde1 !important; border-radius: 999px !important; text-align: center; font-size: 1rem !important; font-weight: 700 !important; color: #10333a !important; background: #fff !important; padding: 0 .5rem !important; box-shadow: none !important; }
html body .woocommerce .quantity input.qty:focus { border-color: #0e7c8c !important; outline: 3px solid rgba(14, 124, 140, .15); }

html body form.cart .quantity input.qty, html body .quantity input.qty, html body input.qty.input-text { width: 72px !important; height: 40px !important; border: 1px solid #c9dde1 !important; border-radius: 999px !important; text-align: center !important; font-size: 1rem !important; font-weight: 700 !important; color: #10333a !important; background: #fff !important; padding: 0 .5rem !important; box-shadow: none !important; -moz-appearance: textfield; }
html body form.cart .quantity input.qty:focus, html body .quantity input.qty:focus { border-color: #0e7c8c !important; outline: 3px solid rgba(14, 124, 140, .15) !important; }

/* Fiche produit : quantite avec boutons - / + (meme pilule que le panier) */
html body .quantity.nd-qty { display: inline-flex !important; align-items: center; height: 42px; border: 1px solid #c9dde1; border-radius: 999px; background: #fff; overflow: hidden; margin-right: .6rem; }
html body .quantity.nd-qty input.qty { width: 40px !important; height: 40px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; padding: 0 !important; text-align: center !important; font-weight: 700 !important; font-size: 1rem !important; color: #10333a !important; -moz-appearance: textfield; }
html body .quantity.nd-qty input.qty::-webkit-outer-spin-button, html body .quantity.nd-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body .quantity.nd-qty .nd-qty__btn { width: 38px; height: 40px; border: 0; background: transparent; color: #0e7c8c; font-size: 1.25rem; font-weight: 700; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 0; box-shadow: none; }
html body .quantity.nd-qty .nd-qty__btn:hover:not(:disabled) { background: #e7f4f6; color: #0a5f6c; }
html body .quantity.nd-qty .nd-qty__btn:disabled { color: #b7c6ca; cursor: default; }
html body .quantity.nd-qty:focus-within { border-color: #0e7c8c; box-shadow: 0 0 0 3px rgba(14, 124, 140, .15); }

/* Galerie produit : toutes les photos dans un cadre carre (une photo portrait ne fait plus grandir la galerie) */
html body .woocommerce-product-gallery__image img:not(.zoomImg) { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
html body .woocommerce-product-gallery .flex-viewport { background: #fff; border-radius: 14px; }
html body .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1 / 1; object-fit: cover; }
