/* ==========================================================================
   Corsica Beauty - Notifications WooCommerce
   Chargé sur tout le site, après shop.css (variables --cb-*).

   Messages restylés en CSS uniquement (aucun template surchargé) : le JS de
   WooCommerce s'appuie sur leur balisage exact (classes, ul/li, data-id, role).
   - succès : div.woocommerce-message    fond crème, accent vert
   - info   : div.woocommerce-info       fond blanc, accent doré
   - erreur : ul.woocommerce-error > li  fond rosé, accent rouge (div en secours)

   Sélecteurs triplés (0,3,0) : passent devant woocommerce.css (0,1,0) et les
   réglages « Notices » d'Elementor Pro (0,2,1). Le display n'est jamais
   modifié : WooCommerce et Elementor affichent / masquent certains messages en JS.
   ========================================================================== */

/* =============================== COULEURS PAR TYPE =============================== */

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	--cb-n-accent: var(--cb-green);
	--cb-n-bg: var(--cb-cream);
	--cb-n-border: var(--cb-cream-border);
	--cb-n-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10.2'/%3E%3Cpath d='M7.6 12.3l3 3 5.8-6.3'/%3E%3C/svg%3E");
}

.woocommerce-info,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-warning {
	--cb-n-accent: var(--cb-gold-dark);
	--cb-n-bg: #fff;
	--cb-n-border: var(--cb-line);
	--cb-n-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10.2'/%3E%3Cpath d='M12 11v5.6'/%3E%3Cpath d='M12 7.4v.01' stroke-width='2.2'/%3E%3C/svg%3E");
}

.woocommerce-error,
.cb-summary-notice,
.wc-block-components-notice-banner.is-error {
	--cb-n-accent: var(--cb-error);
	--cb-n-bg: #fbf1ef;
	--cb-n-border: #efd3cd;
	--cb-n-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10.2'/%3E%3Cpath d='M12 6.8v6.4'/%3E%3Cpath d='M12 16.8v.01' stroke-width='2.2'/%3E%3C/svg%3E");
}

/* =============================== BOÎTE =============================== */

.woocommerce-message.woocommerce-message.woocommerce-message,
.woocommerce-info.woocommerce-info.woocommerce-info,
.woocommerce-error.woocommerce-error.woocommerce-error,
.cb-summary-notice.cb-summary-notice.cb-summary-notice {
	position: relative;
	box-sizing: border-box;
	width: auto;
	margin: 0 0 1.5rem;
	padding: .95rem 1.15rem .95rem 3rem;
	list-style: none outside;
	font-family: var(--cb-font-body);
	font-size: .85rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.55;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	text-shadow: none;
	color: var(--cb-ink);
	background: var(--cb-n-bg);
	border: 1px solid var(--cb-n-border);
	border-left: 2px solid var(--cb-n-accent);
	border-radius: 0;
	box-shadow: none;
	overflow-wrap: anywhere;
}

/* Icône : remplace la police d'icônes WooCommerce */
.woocommerce-message.woocommerce-message.woocommerce-message::before,
.woocommerce-info.woocommerce-info.woocommerce-info::before,
.woocommerce-error.woocommerce-error.woocommerce-error::before,
.cb-summary-notice.cb-summary-notice.cb-summary-notice::before {
	content: "";
	position: absolute;
	top: calc(.95rem + 2px);
	left: 1.1rem;
	display: block;
	width: 18px;
	height: 18px;
	margin: 0;
	font-family: inherit;
	color: var(--cb-n-accent);
	background-color: var(--cb-n-accent);
	-webkit-mask: var(--cb-n-icon) center / contain no-repeat;
	mask: var(--cb-n-icon) center / contain no-repeat;
}

/* Clearfix conservé (bouton d'action flottant) */
.woocommerce-message.woocommerce-message.woocommerce-message::after,
.woocommerce-info.woocommerce-info.woocommerce-info::after,
.woocommerce-error.woocommerce-error.woocommerce-error::after {
	content: "";
	display: table;
	clear: both;
}

/* Focus donné par WooCommerce (tabindex -1) : pas de contour au clic */
.woocommerce-message.woocommerce-message.woocommerce-message:focus,
.woocommerce-info.woocommerce-info.woocommerce-info:focus,
.woocommerce-error.woocommerce-error.woocommerce-error:focus { outline: none; }

.woocommerce-message.woocommerce-message.woocommerce-message:focus-visible,
.woocommerce-info.woocommerce-info.woocommerce-info:focus-visible,
.woocommerce-error.woocommerce-error.woocommerce-error:focus-visible { outline: 2px solid var(--cb-gold); outline-offset: 2px; }

/* =============================== CONTENU =============================== */

.woocommerce-message.woocommerce-message.woocommerce-message strong,
.woocommerce-info.woocommerce-info.woocommerce-info strong,
.woocommerce-error.woocommerce-error.woocommerce-error strong { font-weight: 600; color: inherit; }

/* Liste d'erreurs */
.woocommerce-error.woocommerce-error.woocommerce-error li {
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
}
.woocommerce-error.woocommerce-error.woocommerce-error li + li { margin-top: .35rem; }

/* Liens dans le texte (dont « Annuler ? » après une suppression) */
.woocommerce-message.woocommerce-message.woocommerce-message a:not(.button),
.woocommerce-info.woocommerce-info.woocommerce-info a:not(.button),
.woocommerce-error.woocommerce-error.woocommerce-error a:not(.button) {
	font-family: inherit;
	font-size: inherit;
	font-weight: 600;
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.woocommerce-message.woocommerce-message.woocommerce-message a:not(.button):hover,
.woocommerce-info.woocommerce-info.woocommerce-info a:not(.button):hover,
.woocommerce-error.woocommerce-error.woocommerce-error a:not(.button):hover { color: var(--cb-green); }

/* Erreurs du checkout : tout le message est un lien vers le champ concerné */
.woocommerce-error.woocommerce-error.woocommerce-error li[data-id] > a { font-weight: inherit; text-decoration: none; }
.woocommerce-error.woocommerce-error.woocommerce-error li[data-id] > a:hover { color: inherit; text-decoration: underline; }

/* Action (« Voir le panier », « Parcourir les produits »…) : lien en capitales, à droite */
.woocommerce-message.woocommerce-message.woocommerce-message a.button,
.woocommerce-info.woocommerce-info.woocommerce-info a.button,
.woocommerce-error.woocommerce-error.woocommerce-error a.button {
	float: right;
	display: inline-block;
	margin: .2rem 0 0 1.5rem;
	padding: 0;
	font-family: var(--cb-font-body);
	font-size: .68rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	white-space: nowrap;
	color: var(--cb-ink);
	background: transparent;
	background-image: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
}
.woocommerce-message.woocommerce-message.woocommerce-message a.button:hover,
.woocommerce-message.woocommerce-message.woocommerce-message a.button:focus,
.woocommerce-info.woocommerce-info.woocommerce-info a.button:hover,
.woocommerce-info.woocommerce-info.woocommerce-info a.button:focus,
.woocommerce-error.woocommerce-error.woocommerce-error a.button:hover,
.woocommerce-error.woocommerce-error.woocommerce-error a.button:focus {
	color: var(--cb-green);
	background: transparent;
	text-decoration-thickness: 2px;
}

@media (max-width: 600px) {
	.woocommerce-message.woocommerce-message.woocommerce-message a.button,
	.woocommerce-info.woocommerce-info.woocommerce-info a.button,
	.woocommerce-error.woocommerce-error.woocommerce-error a.button {
		float: none;
		display: table;
		margin: .5rem 0 0;
	}
}

/* =============================== PLACEMENT =============================== */

/* Groupes ajoutés par le JS du checkout : simple conteneur */
.woocommerce-NoticeGroup.woocommerce-NoticeGroup { margin: 0; padding: 0; border: 0; background: none; }

/* Panier / commande : alignés sur la largeur de la page */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper { max-width: 1180px; margin-left: auto; margin-right: auto; }

/* Dans un composant (code promo, moyens de paiement) */
.cb-coupon-notice .woocommerce-message.woocommerce-message.woocommerce-message,
.cb-coupon-notice .woocommerce-info.woocommerce-info.woocommerce-info,
.cb-coupon-notice .woocommerce-error.woocommerce-error.woocommerce-error { margin: 0; }

.payment_methods .woocommerce-info.woocommerce-info.woocommerce-info,
.payment_methods .woocommerce-error.woocommerce-error.woocommerce-error { margin: .75rem; }

/* Résumé du checkout (quantité indisponible…) */
.cb-summary-notice.cb-summary-notice.cb-summary-notice { margin: 0 0 1rem; }

/* Petite erreur en ligne du code promo (panier) */
.coupon-error-notice { font-family: var(--cb-font-body); font-size: .78rem; color: var(--cb-error); }

/* =============================== BANNIÈRES « BLOCS » ===============================
   Utilisées seulement par les thèmes « blocs » ou les blocs Panier / Commande.
   ========================================================================== */

.wc-block-components-notice-banner.wc-block-components-notice-banner.wc-block-components-notice-banner {
	gap: .75rem;
	padding: .95rem 1.15rem !important;
	font-family: var(--cb-font-body);
	font-size: .85rem;
	line-height: 1.55;
	color: var(--cb-ink);
	background: var(--cb-n-bg);
	border: 1px solid var(--cb-n-border);
	border-left: 2px solid var(--cb-n-accent);
	border-radius: 0;
}
.wc-block-components-notice-banner.wc-block-components-notice-banner.wc-block-components-notice-banner > svg {
	width: 18px;
	height: 18px;
	padding: 0;
	fill: var(--cb-n-accent);
	background: none;
}
/* L'icône « ! » de WooCommerce est le « i » retourné : on garde la rotation */
.wc-block-components-notice-banner.wc-block-components-notice-banner.is-success > svg,
.wc-block-components-notice-banner.wc-block-components-notice-banner.is-info > svg { transform: none; }

/* =============================== BANDEAU « BOUTIQUE DE DÉMONSTRATION » =============================== */

p.demo_store.demo_store,
.woocommerce-store-notice.woocommerce-store-notice {
	margin: 0;
	padding: .7rem 1rem;
	font-family: var(--cb-font-body);
	font-size: .8rem;
	line-height: 1.5;
	letter-spacing: .02em;
	text-align: center;
	color: var(--cb-cream);
	background: var(--cb-green-dark);
	box-shadow: none;
}
p.demo_store.demo_store a,
.woocommerce-store-notice.woocommerce-store-notice a {
	margin-left: 1rem;
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--cb-cream);
}
p.demo_store.demo_store a:hover,
.woocommerce-store-notice.woocommerce-store-notice a:hover { color: #fff; }

/* =============================== FORCE DU MOT DE PASSE =============================== */

.woocommerce-password-strength.woocommerce-password-strength {
	margin: .45rem 0 0;
	padding: 0;
	font-family: var(--cb-font-body);
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
	color: var(--cb-muted);
	background: none;
	border: 0;
}
.woocommerce-password-strength.woocommerce-password-strength::before {
	content: "";
	display: block;
	width: 25%;
	height: 2px;
	margin: 0 0 .35rem;
	background: currentColor;
	transition: width .2s ease;
}
.woocommerce-password-strength.woocommerce-password-strength.short { color: var(--cb-error); }
.woocommerce-password-strength.woocommerce-password-strength.bad { color: #b0602f; }
.woocommerce-password-strength.woocommerce-password-strength.bad::before { width: 50%; }
.woocommerce-password-strength.woocommerce-password-strength.good { color: var(--cb-gold-dark); }
.woocommerce-password-strength.woocommerce-password-strength.good::before { width: 75%; }
.woocommerce-password-strength.woocommerce-password-strength.strong { color: var(--cb-green); }
.woocommerce-password-strength.woocommerce-password-strength.strong::before { width: 100%; }

small.woocommerce-password-hint {
	display: block;
	margin: .35rem 0 0;
	font-family: var(--cb-font-body);
	font-size: .72rem;
	line-height: 1.5;
	color: var(--cb-muted);
}
