/**
 * TacTic'Hall - Composants UI Centralisés
 *
 * Regroupe les petits composants réutilisables :
 * - Buttons (3 types : Noir, Blanc, Outline)
 * - Brands (liste de marques avec filtres)
 * - Footer (navigation, copyright, liens sociaux)
 *
 * OPTIMISÉ : Utilise les classes utilitaires de base.css
 *
 * @package TacticHall
 */

/* ==========================================================================
   Base commune pour tous les boutons
   ========================================================================== */
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
.button,
.woocommerce button[type="submit"],
.woocommerce input[type="submit"],
.woocommerce .button,
.woocommerce-Button {
	padding: 0.875rem 2rem !important;
	font-weight: 500;
	border: var(--border-primary);
	border-radius: 0 !important;
	display: inline-block;
	cursor: pointer;
	text-decoration: none;
}

/* Applique text-uppercase-spaced et transition-base de base.css */
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
.button {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all var(--transition-base);
}

/* Hover effect lift-shadow - Mutualisé */
.wp-block-button__link:hover,
.wp-element-button:hover,
button[type="submit"]:hover,
.button:hover,
.btn-black:hover,
.btn-white:hover,
.btn-outline:hover,
.button-white:hover,
.button-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* ==========================================================================
   Type 1 : Bouton NOIR (par défaut)
   Fond noir, texte blanc → Hover: fond blanc, texte blanc
   ========================================================================== */
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
.button,
.btn-black {
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	border-color: var(--color-black) !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button[type="submit"]:hover,
.button:hover,
.btn-black:hover {
	background: var(--color-white) !important;
	color: var(--color-black) !important;
	border-color: var(--color-black) !important;
}

/* ==========================================================================
   Type 2 : Bouton BLANC
   Fond blanc, texte noir → Hover: fond noir, texte blanc
   ========================================================================== */
.btn-white,
.button-white {
	background: var(--color-white) !important;
	color: var(--color-black) !important;
	border-color: var(--color-black) !important;
}

.btn-white:hover,
.button-white:hover {
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	border-color: var(--color-black) !important;
}

/* ==========================================================================
   Type 3 : Bouton OUTLINE
   Fond transparent, bordure noire → Hover: fond noir, texte blanc
   ========================================================================== */
.btn-outline,
.button-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--color-black) !important;
	border-color: var(--color-black) !important;
}

.btn-outline:hover,
.button-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	border-color: var(--color-black) !important;
}

/* ==========================================================================
   Variante SMALL : Bouton petit format
   Peut être combiné avec tous les types (noir, blanc, outline)
   Utilisation : class="button button--small" ou class="btn-black button--small"
   ========================================================================== */
.button--small,
.btn-small,
button.button--small {
	padding: 0.625rem 1.25rem !important;
	font-size: 0.8125rem !important;
	height: auto !important;
	min-height: 36px !important;
}

/**
 * Brand Partners Components
 * Styles pour la section marques partenaires
 *
 * @package TacticHall
 */

/* ==========================================================================
   Brand Partners Section
   ========================================================================== */

.brand-partners-section {
	background: var(--color-white);
	border-top: var(--border-primary);
}

.brand-partners-section .section-header {
	text-align: center;
	margin-bottom: 3rem;
}

/* Grille des marques - Flexbox centré pour un alignement parfait */
.brands-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
	max-width: 1200px;
	margin: 0 auto;
}

/* Largeur des cartes : 4 par ligne sur desktop */
.brands-grid .brand-card {
	flex: 0 0 calc(25% - 1.125rem);
	max-width: calc(25% - 1.125rem);
}

/* Carte de marque */
.brand-card {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
	border: var(--border-primary);
	background: var(--color-white);
	text-decoration: none;
	transition: all 0.3s ease;
	min-height: 100px;
	position: relative;
	overflow: hidden;
}

.brand-card:hover {
	background: var(--color-black);
	transform: translateY(-4px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* Logo de marque (image) */
.brand-logo {
	max-width: 100%;
	max-height: 60px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: filter 0.3s ease;
}

.brand-card:hover .brand-logo {
	filter: invert(1) brightness(2);
}

/* Nom de marque (texte fallback) */
.brand-name {
	font-family: 'Arial Black', Arial, sans-serif;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: var(--color-black);
	text-align: center;
	text-transform: uppercase;
	transition: color 0.3s ease;
}

.brand-card:hover .brand-name {
	color: var(--color-white);
}

/* Message si aucune marque */
.no-brands-message {
	grid-column: 1 / -1;
	text-align: center;
	padding: 3rem 2rem;
	color: var(--color-steel);
	font-size: 1rem;
}

/* Responsive */
@media (max-width: 1024px) {
	.brands-grid {
		gap: 1rem;
	}

	/* Tablette : 3 par ligne */
	.brands-grid .brand-card {
		flex: 0 0 calc(33.333% - 0.667rem);
		max-width: calc(33.333% - 0.667rem);
		padding: 1.5rem 0.75rem;
		min-height: 80px;
	}

	.brand-name {
		font-size: 0.875rem;
	}
}

@media (max-width: 639px) {
	.brand-partners-section .section-header {
		margin-bottom: 2rem;
	}

	.brands-grid {
		gap: 0.75rem;
	}

	/* Mobile : 2 par ligne */
	.brands-grid .brand-card {
		flex: 0 0 calc(50% - 0.375rem);
		max-width: calc(50% - 0.375rem);
		padding: 1.25rem 0.5rem;
		min-height: 70px;
	}

	.brand-name {
		font-size: 0.75rem;
		letter-spacing: 0.05em;
	}
}

/**
 * Footer Components
 * Footer, navigation, copyright
 *
 * @package TacticHall
 */

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
	background: var(--color-black);
	color: var(--color-white);
	border-top: var(--border-primary);
	padding: var(--spacing-2xl) 0 var(--spacing-lg);  /* 4rem top, 2rem bottom */
}

.footer-content {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: var(--spacing-xl);  /* 3rem */
	margin-bottom: var(--spacing-lg);  /* 2rem */
}

.footer-section {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);  /* 1rem */
}

/* Logo TACTIC'HALL dans le footer */
.footer-logo-text {
	font-family: 'Stencil', Impact, 'Arial Black', sans-serif !important;
	font-size: 28px !important;
	font-weight: normal !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	margin: 0 0 1rem 0 !important;
	color: var(--color-white) !important;
	line-height: 1 !important;
}

/* Titres des sections footer (Navigation, Informations légales, etc.) */
.footer-section h3 {
	font-family: 'Stencil', Impact, 'Arial Black', sans-serif;
	font-size: 16px;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 1rem 0;
	color: var(--color-white);
}

.footer-logo-line1 {
	/* Utilise .font-stencil de base.css */
	font-size: 20px;
	font-weight: normal;
	text-transform: uppercase;
	color: var(--color-white);
	letter-spacing: 0.5px;
	display: block;
	line-height: 1;
	white-space: nowrap;
}

.footer-logo-line2 {
	/* Utilise .font-stencil de base.css */
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	color: var(--color-white);
	letter-spacing: 0.5px;
	display: block;
	line-height: 1;
	white-space: nowrap;
}

.footer-section p {
	font-size: 14px;
	color: var(--color-gray-light);
	margin: 0 0 1rem 0;
	line-height: 1.5;
}

.footer-section address {
	font-size: 14px;
	font-style: normal;
	color: var(--color-gray-lighter);
	line-height: 1.6;
	margin: 0;
}

.footer-section ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.footer-section li {
	margin: 0;
}

.footer-section a {
	font-size: 14px;
	color: var(--color-gray-lighter);
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-section a:hover {
	color: var(--color-white);
}

/* Footer Social Links */
.footer-social-links {
	display: flex;
	gap: 1rem;
	align-items: center;
	flex-wrap: wrap;
}

.footer-social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: transparent;
	border: var(--border-dark);
	border-radius: 50%;
	color: var(--color-white);
	transition: all var(--transition-slow);
}

.footer-social-links a:hover {
	background: var(--color-white);
	color: var(--color-black);
	border-color: var(--color-white);
	transform: translateY(-2px);
}

.footer-social-links svg {
	width: 18px;
	height: 18px;
}

/* Footer Bottom */
.footer-bottom {
	padding-top: var(--spacing-lg);  /* 2rem top */
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);  /* Bordure très subtile */
}

.footer-bottom p {
	font-size: 13px;
	color: var(--color-gray-light);
	margin: 0;
}

.footer-bottom a {
	color: var(--color-white);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s ease;
}

.footer-bottom a:hover {
	color: var(--color-gray-lighter);
}

/* Responsive Footer */
@media (max-width: 768px) {
	.site-footer {
		padding: var(--spacing-xl) 0 var(--spacing-md);  /* 3rem top, 1.5rem bottom */
	}

	.footer-content {
		grid-template-columns: 1fr;
		gap: var(--spacing-lg);  /* 2rem */
		margin-bottom: var(--spacing-md);  /* 1.5rem */
	}

	.footer-bottom {
		padding-top: var(--spacing-md);  /* 1.5rem top */
	}
}
/**
 * TacTic'Hall - Composants globaux réutilisables
 *
 * Composants utilisés sur plusieurs pages :
 * - Headers de page
 * - Formulaires (labels, inputs, validation)
 * - Tableaux de données
 * - Messages/Notices WooCommerce
 * - Breadcrumb
 * - Layout 2 colonnes
 *
 * @package TacticHall
 */

/* ==========================================================================
   Page Header (Utilisé sur toutes les pages)
   ========================================================================== */

.page-header {
	padding: var(--spacing-lg) 0;
	margin-bottom: 0;
	border-bottom: var(--border-primary);
}

.page-header__breadcrumb {
	margin-bottom: var(--spacing-sm);
}

.page-header__title {
	/* Utilise .font-stencil + .text-uppercase-spaced de base.css */
	font-size: clamp(2rem, 5vw, 2.5rem);
	margin: 0 0 var(--spacing-xs) 0;
	color: var(--color-black);
}

.page-header__description {
	font-size: 1.125rem;
	color: var(--color-steel);
	margin: 0;
	max-width: 800px;
}

/* ==========================================================================
   Breadcrumb (Fil d'ariane)
   ========================================================================== */

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-xs);
	font-size: 0.875rem;
	color: var(--color-steel);
	margin-bottom: var(--spacing-md);  /* 1.5rem = 24px d'espace entre breadcrumb et titre */
}

.breadcrumb__item {
	display: flex;
	align-items: center;
	gap: var(--spacing-xs);
}

.breadcrumb__link {
	color: var(--color-steel);
	text-decoration: none;
	transition: color var(--transition-base);
}

.breadcrumb__link:hover {
	color: var(--color-black);
}

.breadcrumb__separator {
	color: var(--color-border);
}

.breadcrumb__current {
	color: var(--color-black);
	font-weight: 500;
}

/* ==========================================================================
   Formulaires réutilisables
   ========================================================================== */

.form-row {
	margin-bottom: var(--spacing-md);
}

.form-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: var(--spacing-xs);
	color: var(--color-black);
}

.form-label--required::after {
	content: '*';
	color: var(--color-black);
	margin-left: 0.25rem;
}

/* Ne pas toucher aux labels - Laisser WooCommerce gérer comme il le fait de base */

/* Styles globaux pour TOUS les inputs (WordPress, WooCommerce, formulaires custom) */
.form-input,
.form-textarea,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="date"],
textarea,
select,
.input-text,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select,
.woocommerce-Input,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper textarea,
.woocommerce-input-wrapper select {
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	border: 2px solid var(--color-border) !important;
	border-radius: 0 !important;
	font-size: 0.9375rem !important;
	color: var(--color-black) !important;
	background: var(--color-white) !important;
	transition: border-color var(--transition-base) !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
}

/* Styles spécifiques pour les SELECT - Ajouter flèche personnalisée */
select,
.form-select,
.woocommerce select,
.woocommerce-input-wrapper select {
	padding-right: 2.5rem !important; /* Espace pour la flèche */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000000' d='M1.41 0L6 4.59L10.59 0L12 1.41l-6 6l-6-6z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 1rem center !important;
	background-size: 12px !important;
	cursor: pointer !important;
}

/* Focus state pour tous les inputs et select */
.form-input:focus,
.form-textarea:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus,
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	outline: none !important;
	border-color: var(--color-black) !important;
}

/* Placeholder - Masquer au focus et à la saisie pour éviter chevauchement */
.form-input::placeholder,
.form-textarea::placeholder,
input::placeholder,
textarea::placeholder,
.woocommerce input::placeholder,
.woocommerce textarea::placeholder {
	color: var(--color-steel) !important;
	opacity: 0.6 !important;
	transition: opacity 0.2s ease !important;
}

.form-input:focus::placeholder,
.form-textarea:focus::placeholder,
input:focus::placeholder,
textarea:focus::placeholder,
.woocommerce input:focus::placeholder,
.woocommerce textarea:focus::placeholder {
	opacity: 0 !important;
}

/* Compatibilité navigateurs pour placeholder */
.form-input::-webkit-input-placeholder,
input::-webkit-input-placeholder {
	color: var(--color-steel) !important;
	opacity: 0.6 !important;
}

.form-input:focus::-webkit-input-placeholder,
input:focus::-webkit-input-placeholder {
	opacity: 0 !important;
}

.form-input:-moz-placeholder,
input:-moz-placeholder {
	color: var(--color-steel) !important;
	opacity: 0.6 !important;
}

.form-input:focus:-moz-placeholder,
input:focus:-moz-placeholder {
	opacity: 0 !important;
}

.form-input::-moz-placeholder,
input::-moz-placeholder {
	color: var(--color-steel) !important;
	opacity: 0.6 !important;
}

.form-input:focus::-moz-placeholder,
input:focus::-moz-placeholder {
	opacity: 0 !important;
}

.form-input:-ms-input-placeholder,
input:-ms-input-placeholder {
	color: var(--color-steel) !important;
	opacity: 0.6 !important;
}

.form-input:focus:-ms-input-placeholder,
input:focus:focus:-ms-input-placeholder {
	opacity: 0 !important;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
textarea:focus,
select:focus,
.input-text:focus,
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	outline: none !important;
	border-color: var(--color-black) !important;
	box-shadow: none !important;
}

.form-input:disabled,
.form-textarea:disabled,
.form-select:disabled,
input:disabled,
textarea:disabled,
select:disabled {
	background: var(--color-smoke) !important;
	cursor: not-allowed !important;
	opacity: 0.6 !important;
}

.form-input[readonly],
.form-textarea[readonly],
input[readonly],
textarea[readonly] {
	background: var(--color-smoke) !important;
	cursor: not-allowed !important;
}

.form-textarea,
textarea {
	min-height: 120px !important;
	resize: vertical !important;
}

/* Select - Flèche custom */
.form-select,
select,
.woocommerce select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 1rem) center !important;
	background-size: 12px !important;
	padding-right: 3rem !important;
}

/* Exceptions : inputs qui ne doivent PAS avoir les styles ci-dessus */
input[type="checkbox"],
input[type="radio"],
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="range"],
.quantity input[type="number"],
button {
	width: auto !important;
	padding: initial !important;
	border: initial !important;
	appearance: initial !important;
	-webkit-appearance: initial !important;
}

/* Checkbox & Radio */
.form-checkbox,
.form-radio,
input[type="checkbox"],
input[type="radio"] {
	margin-right: var(--spacing-xs);
	accent-color: var(--color-black);
	width: auto !important;
	padding: 0 !important;
}

.form-checkbox-label,
.form-radio-label {
	display: flex;
	align-items: center;
	font-size: 0.9375rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
}

/* Messages de validation */
.form-error {
	display: block;
	margin-top: var(--spacing-xs);
	font-size: 0.875rem;
	color: #d32f2f;
}

.form-input--error {
	border-color: #d32f2f;
}

/* ==========================================================================
   Tableaux de données
   ========================================================================== */

.data-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--spacing-lg);
}

.data-table thead {
	background: var(--color-black);
	color: var(--color-white);
}

.data-table th {
	padding: var(--spacing-sm);
	text-align: left;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.data-table td {
	padding: var(--spacing-sm);
	border-bottom: 1px solid var(--color-border);
	font-size: 0.9375rem;
}

.data-table tbody tr:hover td {
	background: var(--color-smoke);
}

/* Variante avec bordures */
.data-table--bordered th,
.data-table--bordered td {
	border: var(--border-primary);
}

/* Responsive : scroll horizontal sur mobile */
@media (max-width: 767px) {
	.data-table-wrapper {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.data-table th,
	.data-table td {
		padding: var(--spacing-xs);
		font-size: 0.875rem;
	}
}

/* ==========================================================================
   Messages / Notices WooCommerce
   ========================================================================== */

.woocommerce-notice {
	padding: var(--spacing-sm) var(--spacing-md);
	margin-bottom: var(--spacing-md);
	border-left: 4px solid var(--color-black);
	background: var(--color-smoke);
	font-size: 0.9375rem;
	line-height: 1.6;
	position: relative;
}

.woocommerce-notice::before {
	display: none;
}

/* Variantes */
.woocommerce-notice--info {
	border-left-color: #2196F3;
	background: #E3F2FD;
}

.woocommerce-notice--success {
	border-left-color: #4CAF50;
	background: #E8F5E9;
}

.woocommerce-notice--error {
	border-left-color: #d32f2f;
	background: #FFEBEE;
	color: #d32f2f;
}

/* Message avec icône */
.woocommerce-notice--with-icon {
	padding-left: 3.5rem;
}

.woocommerce-notice--with-icon::before {
	display: block;
	position: absolute;
	left: var(--spacing-md);
	top: var(--spacing-sm);
	font-size: 1.25rem;
}

/* Boutons dans les messages */
.woocommerce-notice .button {
	margin-top: var(--spacing-xs);
	padding: var(--spacing-xs) var(--spacing-sm);
	font-size: 0.8125rem;
	height: auto;
	min-width: auto;
}

/* ==========================================================================
   Layout 2 colonnes (Sidebar + Contenu principal)
   ========================================================================== */

.two-col-layout {
	display: flex;
	gap: var(--grid-gap);
	align-items: flex-start;
}

.two-col-layout__main {
	flex: 1;
	min-width: 0;
}

.two-col-layout__sidebar {
	flex: 0 0 280px;
}

.two-col-layout__sidebar--wide {
	flex: 0 0 384px;
}

.two-col-layout__sidebar--sticky {
	position: sticky;
	top: 120px;
}

/* Responsive : passage en colonne unique */
@media (max-width: 1024px) {
	.two-col-layout {
		flex-direction: column;
	}

	.two-col-layout__sidebar {
		width: 100%;
		flex: 1;
	}

	.two-col-layout__sidebar--sticky {
		position: static;
	}
}

/* ==========================================================================
   Page WooCommerce
   ========================================================================== */

/* Note: Le padding est géré par les .container dans chaque template (page.php, archive-product.php, etc.)
   Pas besoin de padding global sur .woocommerce-page qui cible le <body> */

/* ==========================================================================
   Titres de section réutilisables
   ========================================================================== */

.section-title {
	/* Utilise .title-stencil de base.css */
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	margin: 0 0 var(--spacing-md) 0;
	color: var(--color-black);
}

.subsection-title {
	/* Utilise .title-stencil de base.css */
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	margin: 0 0 var(--spacing-md) 0;
	color: var(--color-black);
}

.section-subtitle {
	font-size: 1.125rem;
	color: var(--color-steel);
	margin: calc(var(--spacing-xs) * -1) auto var(--spacing-md) auto; /* Centrage horizontal avec auto */
	max-width: 600px; /* Limite la largeur pour meilleure lisibilité */
}

/* Variantes tailles de titres */
.title-hero {
	font-size: clamp(2rem, 5vw, 3.5rem);
}

.title-large {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
}

.title-small {
	font-size: 0.875rem;
	letter-spacing: 0.8px;
}

/* ==========================================================================
   Composants - Badge réutilisable
   ========================================================================== */

.badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: var(--border-primary);
}

.badge--black {
	background: var(--color-black);
	color: var(--color-white);
}

.badge--white {
	background: var(--color-white);
	color: var(--color-black);
}

.badge--smoke {
	background: var(--color-smoke);
	color: var(--color-black);
}

/* ==========================================================================
   Composants - Card Box réutilisable
   ========================================================================== */

.card-box {
	padding: var(--spacing-md);
	background: var(--color-white);
	border: var(--border-primary);
}

.card-box--smoke {
	background: var(--color-smoke);
}

/* ==========================================================================
   Composants - Icon Box réutilisable
   ========================================================================== */

.icon-box-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--color-white);
	border: var(--border-primary);
}

.icon-box-circle--sm {
	width: 48px;
	height: 48px;
}

.icon-box-circle--md {
	width: 64px;
	height: 64px;
}

.icon-box-circle--lg {
	width: 80px;
	height: 80px;
}

.icon-box-round {
	border-radius: 50%;
}

/* ==========================================================================
   Composants - CTA Sections (réutilisable)
   ========================================================================== */

.cta-section {
	background: var(--color-smoke);
	border-top: var(--border-primary);
	border-bottom: var(--border-primary);
	text-align: center;
}

.cta-content {
	max-width: 800px;
	margin: 0 auto;
}

.cta-title {
	font-family: var(--wp--preset--font-family--stencil);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 var(--spacing-md) 0;
}

.cta-text {
	font-size: 1.125rem;
	color: var(--color-gunmetal);
	margin: 0 0 var(--spacing-xl) 0;
	line-height: 1.6;
}

.cta-buttons {
	display: flex;
	gap: var(--spacing-sm);
	justify-content: center;
	flex-wrap: wrap;
}

/* ==========================================================================
   Composants - Icon Box (réutilisable)
   ========================================================================== */

.icon-box {
	text-align: center;
	padding: var(--spacing-sm) var(--spacing-md);
}

/* Dans reassurance-grid, pas de padding vertical sur les icon-box */
.reassurance-grid .icon-box {
	padding-top: 0;
	padding-bottom: 0;
}

.icon-box__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	background: var(--color-white);
	border: var(--border-primary);
	margin: 0 auto var(--spacing-md);
	color: var(--color-black);
}

.icon-box__icon svg {
	width: 48px;
	height: 48px;
}

.icon-box__title {
	font-family: var(--wp--preset--font-family--stencil);
	font-size: 1.125rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 var(--spacing-sm) 0;
	color: var(--color-black);
}

.icon-box__text {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--color-gunmetal);
	margin: 0;
}

/* ==========================================================================
   Composants - Boutons Icon (carousel, pagination)
   ========================================================================== */

.btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	background: var(--color-white);
	border: var(--border-primary);
	cursor: pointer;
	transition: all var(--transition-base);
	color: var(--color-black);
}

.btn-icon:hover:not(:disabled) {
	background: var(--color-black);
	color: var(--color-white);
}

.btn-icon:active:not(:disabled) {
	transform: scale(0.95);
}

.btn-icon:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

.btn-icon svg {
	width: 20px;
	height: 20px;
}

/* ==========================================================================
   Composants - Boutons utilitaires
   ========================================================================== */

.btn-small {
	padding: var(--spacing-xs) var(--spacing-sm);
	font-size: 0.8125rem;
}

.btn-full-width {
	width: 100%;
	text-align: center;
	justify-content: center;
}
/**
 * WooCommerce Styles Centralisés
 * Tous les overrides et styles WooCommerce du thème
 *
 * @package TacticHall
 */

/* ==========================================================================
   CART - WooCommerce Cart Blocks
   ========================================================================== */

/* Largeur max des blocs */
.wp-block-woocommerce-cart {
	max-width: none !important;
}

/* Panier vide - Masquer le bloc "Nouveau dans la boutique" (Product New Block) */
/* Ce bloc est ajouté dans l'éditeur WordPress sur la page Panier */
.woocommerce-cart .wp-block-product-new,
.woocommerce-cart .wp-block-woocommerce-product-new,
.woocommerce-cart .wc-block-product-new {
	display: none !important;
}

/* Masquer le titre H2 "Nouveau dans la boutique" qui précède le bloc de produits */
/* Utilise le sélecteur adjacent pour cibler uniquement le H2 suivi du bloc produits */
.woocommerce-cart h2.wp-block-heading + .wp-block-product-new,
.woocommerce-cart h2.wp-block-heading + .wp-block-woocommerce-product-new,
.woocommerce-cart h2.wp-block-heading + .wc-block-product-new {
	display: none !important;
}

.woocommerce-cart h2.wp-block-heading:has(+ .wp-block-product-new),
.woocommerce-cart h2.wp-block-heading:has(+ .wp-block-woocommerce-product-new),
.woocommerce-cart h2.wp-block-heading:has(+ .wc-block-product-new) {
	display: none !important;
}

/* Items du panier - bordure cohérente avec le thème */
.wc-block-components-order-summary-item {
	border: var(--border-primary) !important;
	padding: var(--spacing-sm) !important;
	margin-bottom: var(--spacing-sm) !important;
	border-radius: 0 !important;
	background: var(--color-white);
}

/* Image produit - Sans bordure pour un affichage propre */
.wc-block-components-order-summary-item__image {
	border: none;
}

/* Lien supprimer (simple, discret) */
.wc-block-cart-item__remove-link {
	font-size: 0.875rem !important;
	color: var(--color-steel) !important;
	text-decoration: underline !important;
	transition: color var(--transition-base);
	border: none !important;
	background: none !important;
	padding: 0 !important;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--color-black) !important;
	text-decoration: underline !important;
	background: none !important;
}

/* Récapitulatif (totaux) */
.wp-block-woocommerce-cart-totals-block {
	border: var(--border-primary) !important;
	padding: var(--spacing-lg) var(--spacing-md) !important;
	background: var(--color-white);
	border-radius: 0 !important;
}

/* Titre récapitulatif panier */
.wp-block-woocommerce-cart-order-summary-heading,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-cart__totals-title {
	/* Utilise .font-stencil de base.css */
	font-size: 1.5rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	margin: 0 0 var(--spacing-md) 0 !important;
	font-weight: normal !important;
}

/* Total agrandi */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: var(--color-black);
}

/* Bouton "Passer commande" */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
.wc-block-cart__submit-button {
	width: 100% !important;
	height: 48px !important;
	background: var(--color-black) !important;
	border: var(--border-primary) !important;
	border-radius: 0 !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: var(--color-white) !important;
	cursor: pointer;
	transition: all var(--transition-base);
}

.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover,
.wc-block-cart__submit-button:hover {
	background: var(--color-white) !important;
	color: var(--color-black) !important;
}

/* ==========================================================================
   CHECKOUT - Page Commande
   ========================================================================== */

/* Message légal TacTic'Hall (Retrait en magasin) */
.tactichall-legal-notice {
	background: var(--color-smoke) !important;
	padding: var(--spacing-sm) !important;
	margin-bottom: var(--spacing-md) !important;
	border-left: 4px solid var(--color-black) !important;
	border-top: var(--border-primary);
	border-right: var(--border-primary);
	border-bottom: var(--border-primary);
}

/* Récapitulatif de commande (Sidebar) */
#order_review {
	position: sticky;
	top: 120px;
	border: var(--border-primary);
	padding: var(--spacing-lg) var(--spacing-md);
	background: var(--color-white);
}

#order_review_heading {
	/* Utilise .font-stencil de base.css */
	font-size: 1.125rem;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 var(--spacing-md) 0;
}

/* Tableau récapitulatif commande */
.woocommerce-checkout-review-order-table img {
	border: none !important;
	max-width: 60px;
	height: auto;
}

/* Total agrandi */
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-size: 1.25rem;
	font-weight: 700;
	padding-top: var(--spacing-md);
}

/* Méthodes de paiement WooCommerce */
#payment {
	background: transparent;
	border: none;
	padding: 0;
	margin-top: var(--spacing-lg);
}

#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--spacing-md) 0;
	border: none;
}

#payment ul.payment_methods li {
	margin-bottom: var(--spacing-xs);
	padding: var(--spacing-sm);
	border: 2px solid var(--color-border);
	background: var(--color-white);
	transition: border-color var(--transition-base);
}

#payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked + label {
	font-weight: 600;
}

#payment ul.payment_methods li:hover {
	border-color: var(--color-black);
}

#payment ul.payment_methods li label {
	font-size: 0.9375rem;
	font-weight: 500;
	margin: 0;
	cursor: pointer;
	text-transform: none;
	letter-spacing: normal;
}

#payment div.payment_box {
	background: var(--color-smoke);
	border: none;
	padding: var(--spacing-sm);
	margin: var(--spacing-xs) 0 0 0;
	font-size: 0.875rem;
	border-radius: 0;
}

#payment div.payment_box::before {
	display: none;
}

/* Conditions générales */
.woocommerce-terms-and-conditions-wrapper {
	margin: var(--spacing-md) 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions {
	max-height: 200px;
	overflow-y: auto;
	border: 2px solid var(--color-border);
	padding: var(--spacing-sm);
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: var(--spacing-sm);
}

/* Bouton "Passer commande" */
.woocommerce-checkout #place_order {
	width: 100%;
	height: 56px;
	background: var(--color-black);
	border: var(--border-primary);
	border-radius: 0;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-white);
	cursor: pointer;
	transition: all var(--transition-base);
	margin-top: var(--spacing-sm);
}

.woocommerce-checkout #place_order:hover {
	background: var(--color-white);
	color: var(--color-black);
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.woocommerce-checkout #place_order:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Responsive Checkout */
@media (max-width: 767px) {
	#order_review {
		position: static;
		padding: var(--spacing-md) var(--spacing-sm);
	}

	.woocommerce-checkout #place_order {
		height: 52px;
		font-size: 0.9375rem;
	}
}

/* ==========================================================================
   MY ACCOUNT - Page Mon Compte
   ========================================================================== */

/* Navigation latérale My Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 280px;
	border: var(--border-primary);
	background: var(--color-white);
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border-bottom: var(--border-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: var(--spacing-sm) var(--spacing-md);
	color: var(--color-black);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all var(--transition-base);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--color-smoke);
	padding-left: var(--spacing-lg);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--color-black);
	color: var(--color-white);
	font-weight: 600;
}

/* Contenu My Account */
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1;
	min-width: 0;
	border: var(--border-primary);
	background: var(--color-white);
	padding: var(--spacing-lg);
}

/* Statuts commandes (Spécifique My Account) */
.woocommerce-account .woocommerce-order-status {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: var(--border-primary);
	background: var(--color-white);
}

.woocommerce-account .woocommerce-order-status.status-completed {
	background: var(--color-black);
	color: var(--color-white);
}

/* Adresses (1 colonne - Facturation puis Livraison) */
.woocommerce-account .woocommerce-Addresses {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--spacing-lg) !important;
	margin: 0 !important;
}

.woocommerce-account .woocommerce-Address {
	border: var(--border-primary) !important;
	padding: var(--spacing-lg) !important;
	background: var(--color-white) !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 200px;
	width: 100% !important;
	max-width: none !important;
	flex: none !important;
	margin: 0 !important;
}

.woocommerce-account .woocommerce-Address-title h3 {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	margin: 0 0 var(--spacing-md) 0 !important;
	padding-bottom: var(--spacing-sm) !important;
	border-bottom: 2px solid var(--color-border) !important;
	color: var(--color-black) !important;
}

.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
	margin-bottom: var(--spacing-sm);
	flex-grow: 1;
}

.woocommerce-account .woocommerce-Address .edit {
	font-size: 0.875rem !important;
	text-decoration: underline !important;
	color: var(--color-black) !important;
	transition: color var(--transition-base);
	text-align: left !important;
	display: block !important;
	width: auto !important;
	margin-left: 0 !important;
	float: none !important;
}

.woocommerce-account .woocommerce-Address .edit:hover {
	color: var(--color-gunmetal) !important;
}

/* Responsive My Account */
@media (max-width: 1024px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		flex: 1;
		width: 100%;
		margin-bottom: var(--spacing-lg);
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-content {
		padding: var(--spacing-md);
	}

	/* Navigation mobile */
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		padding: var(--spacing-sm) var(--spacing-sm);
		font-size: 0.8125rem;
	}

	/* Adresses - Réduire padding sur mobile */
	.woocommerce-account .woocommerce-Address {
		padding: var(--spacing-md) !important;
	}
}

/* ==========================================================================
   PRODUCT PAGE - Styles spécifiques produits
   ========================================================================== */

/* Galerie produit */
.product-gallery .woocommerce-product-gallery {
	border: var(--border-primary);
	background: var(--color-white);
	padding: 1rem;
	position: relative;
}

.product-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.product-gallery .woocommerce-product-gallery__image {
	border: none;
	margin-bottom: var(--spacing-xs);
}

.product-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Thumbnails galerie */
.product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacing-xs);
	margin-top: var(--spacing-sm);
	padding: 0;
	list-style: none;
}

.product-gallery .flex-control-thumbs li {
	margin: 0;
}

.product-gallery .flex-control-thumbs li img {
	border: var(--border-primary);
	cursor: pointer;
	opacity: 0.6;
	transition: opacity var(--transition-base);
}

.product-gallery .flex-control-thumbs li img:hover,
.product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--color-black);
}

/* Sale badge - Style rectangulaire collé en haut à gauche */
.product-gallery .onsale {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	border: var(--border-primary) !important;
	border-top: none !important;
	border-left: none !important;
	padding: 0.625rem 1.25rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	z-index: 2 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	min-width: 80px !important;
	min-height: auto !important;
	text-align: center !important;
	line-height: 1.4 !important;
	width: auto !important;
	height: auto !important;
}

/* Prix produit */
.product-price {
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-black);
}

.product-price del {
	opacity: 0.5;
	font-size: 1.5rem;
	margin-right: var(--spacing-xs);
}

/* Add to Cart Form */
.product-add-to-cart {
	margin: var(--spacing-lg) 0;
	padding: var(--spacing-lg);
	background: var(--color-smoke);
	border: var(--border-primary);
}

.product-add-to-cart .cart {
	display: flex;
	gap: var(--spacing-sm);
	align-items: flex-start;
	flex-wrap: wrap;
}

/* Quantity selector */
.quantity-wrapper {
	display: flex;
	align-items: center;
	gap: var(--spacing-xs);
	border: var(--border-primary);
	background: var(--color-white);
	padding: 0.5rem;
}

.quantity-label {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-right: var(--spacing-xs);
	color: var(--color-black);
}

.quantity-btn {
	width: 32px;
	height: 32px;
	border: var(--border-primary);
	background: var(--color-white);
	color: var(--color-black);
	font-size: 1.125rem;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--transition-base);
	display: flex;
	align-items: center;
	justify-content: center;
}

.quantity-btn:hover {
	background: var(--color-black);
	color: var(--color-white);
}

.quantity-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.quantity input[type="number"] {
	width: 60px;
	height: 32px;
	text-align: center;
	border: none;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-black);
	appearance: textfield;
	-moz-appearance: textfield;
}

.quantity input[type="number"]::-webkit-outer-spin-button,
.quantity input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.quantity input[type="number"]::-webkit-outer-spin-button,
.quantity input[type="number"]::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

/* Bouton Add to Cart */
.single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	height: 48px;
	background: var(--color-black);
	border: var(--border-primary);
	color: var(--color-white);
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all var(--transition-base);
}

.single_add_to_cart_button:hover {
	background: var(--color-white);
	color: var(--color-black);
}

.single_add_to_cart_button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Product Tabs */
.product-tabs-section {
	padding: var(--spacing-xl) 0;
	background: var(--color-smoke);
}

.woocommerce-tabs {
	border: var(--border-primary);
	background: var(--color-white);
}

.woocommerce-tabs .tabs {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: var(--border-primary);
}

.woocommerce-tabs .tabs li {
	margin: 0;
	flex: 1;
}

.woocommerce-tabs .tabs li a {
	display: block;
	padding: var(--spacing-sm) var(--spacing-md);
	text-align: center;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-gunmetal);
	text-decoration: none;
	border-right: var(--border-primary);
	transition: all var(--transition-base);
}

.woocommerce-tabs .tabs li:last-child a {
	border-right: none;
}

.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover {
	background: var(--color-black);
	color: var(--color-white);
}

.woocommerce-tabs .panel {
	padding: var(--spacing-lg);
}

.woocommerce-tabs .panel h2 {
	font-size: 1.25rem;
	margin-bottom: var(--spacing-md);
}

/* Responsive Product */
@media (max-width: 768px) {
	.product-price {
		font-size: 1.5rem;
	}

	.product-add-to-cart .cart {
		flex-direction: column;
	}

	.quantity-wrapper {
		width: 100%;
		justify-content: center;
	}

	.single_add_to_cart_button {
		width: 100%;
	}

	.woocommerce-tabs .tabs {
		flex-direction: column;
	}

	.woocommerce-tabs .tabs li a {
		border-right: none;
		border-bottom: var(--border-primary);
	}

	.woocommerce-tabs .tabs li:last-child a {
		border-bottom: none;
	}
}

/* ==========================================================================
   PAGINATION - Archives produits / Blog
   ========================================================================== */

.shop-pagination,
.pagination {
	margin-top: var(--spacing-xl);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-xs);
}

.shop-pagination .page-numbers,
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: var(--spacing-xs);
	background: var(--color-white);
	border: 2px solid var(--color-border);
	color: var(--color-gunmetal);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: all var(--transition-base);
}

.shop-pagination .page-numbers:hover,
.shop-pagination .page-numbers.current,
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
	background: var(--color-black);
	border-color: var(--color-black);
	color: var(--color-white);
}

.shop-pagination .page-numbers.dots,
.pagination .page-numbers.dots {
	border: none;
	cursor: default;
}

.shop-pagination .page-numbers.dots:hover,
.pagination .page-numbers.dots:hover {
	background: transparent;
	color: var(--color-gunmetal);
}

.shop-pagination .page-numbers svg,
.pagination .page-numbers svg {
	width: 16px;
	height: 16px;
}

/* ==========================================================================
   Shop AJAX Error Message
   ========================================================================== */
.shop-ajax-error {
	padding: var(--spacing-lg);
	margin-bottom: var(--spacing-lg);
	background: var(--color-smoke);
	border: var(--border-primary);
	text-align: center;
}

.shop-ajax-error p {
	margin: 0 0 var(--spacing-sm);
	font-size: 1rem;
	color: var(--color-black);
}

.shop-ajax-error .button {
	margin-top: var(--spacing-xs);
}
