/*
Theme Name: MemoStore
Description: Thème high-tech sombre pour la boutique MemoStore (enfant de Twenty Twenty-Five).
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: memostore
*/

/* ---------- Bandeau & en-tête ---------- */
.memostore-topbar {
	background: linear-gradient(90deg, #0e7490, #6d28d9);
	color: #fff;
	text-align: center;
	font-size: .82rem;
	padding: 7px 16px;
}
.memostore-topbar p { margin: 0; }

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--wp--preset--color--accent-5);
}
.admin-bar header.wp-block-template-part { top: 32px; }

.wp-block-site-title a { font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.memostore-header { gap: 16px 24px; }
.memostore-search { flex: 1 1 280px; max-width: 520px; }
.memostore-search .wp-block-search__inside-wrapper {
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--accent-5) !important;
	background: var(--wp--preset--color--accent-3);
	padding: 2px 4px 2px 14px !important;
}
.memostore-search input { background: transparent; color: var(--wp--preset--color--contrast); border: 0; }
.memostore-search button { background: transparent !important; color: var(--wp--preset--color--accent-4) !important; padding: 6px !important; }
.memostore-actions { gap: 18px; }
.memostore-actions .wp-block-navigation-item a { text-decoration: none; font-weight: 600; color: var(--wp--preset--color--accent-4); }
.memostore-actions .wp-block-navigation-item a:hover { color: var(--wp--preset--color--contrast); }
.wc-block-mini-cart__badge { background: var(--wp--preset--color--accent-1) !important; color: var(--wp--preset--color--base) !important; }
.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background: var(--wp--preset--color--accent-3); color: var(--wp--preset--color--contrast); }

/* ---------- Pied de page ---------- */
.memostore-footer { border-top: 1px solid var(--wp--preset--color--accent-5); margin-top: 0; }
.memostore-links { list-style: none; padding: 0; font-size: .92rem; }
.memostore-links li { margin-bottom: 6px; }
.memostore-links a { color: var(--wp--preset--color--accent-4); text-decoration: none; }
.memostore-links a:hover { color: var(--wp--preset--color--accent-1); }

/* ---------- Accueil ---------- */
.memostore-hero {
	border-radius: 24px;
	border: 1px solid var(--wp--preset--color--accent-5);
	background:
		radial-gradient(circle at 85% 20%, rgba(139, 92, 246, .28), transparent 50%),
		radial-gradient(circle at 10% 90%, rgba(6, 182, 212, .22), transparent 50%),
		var(--wp--preset--color--accent-3);
	padding: clamp(28px, 5vw, 64px) !important;
}
.memostore-hero h1 { letter-spacing: -.03em; }
.memostore-gradient-text {
	background: linear-gradient(90deg, var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-2));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.memostore-perks .wp-block-column {
	background: var(--wp--preset--color--accent-3);
	border: 1px solid var(--wp--preset--color--accent-5);
	border-radius: 14px;
	padding: 20px;
}
.memostore-perks p { margin: 0; }

/* ---------- Grilles produits (shortcodes & blocs WooCommerce) ---------- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 18px;
	margin: 0 0 32px !important;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	position: relative;
}
.woocommerce ul.products li.product .button,
.wc-block-components-product-button .wp-block-button__link {
	margin-top: auto !important;
	font-size: .88rem !important;
	padding: 9px 14px !important;
	white-space: nowrap;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { flex: 1; margin-bottom: 12px; text-decoration: none; }
.woocommerce ul.products li.product span.onsale { top: 18px !important; left: 18px !important; right: auto !important; margin: 0 !important; }
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
	background: var(--wp--preset--color--accent-3);
	border: 1px solid var(--wp--preset--color--accent-5);
	border-radius: 14px;
	padding: 12px !important;
	transition: transform .2s, border-color .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover,
.wc-block-product:hover {
	transform: translateY(-3px);
	border-color: #33415e;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}
.woocommerce ul.products li.product img,
.wc-block-product img { border-radius: 10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1rem !important;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product .price,
.wc-block-components-product-price { font-weight: 800; color: var(--wp--preset--color--contrast) !important; }
.woocommerce ul.products li.product .price del,
.wc-block-components-product-price del { color: var(--wp--preset--color--accent-4); font-weight: 500; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	background: #ef4444 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	min-height: 0 !important;
	line-height: 1.6 !important;
	padding: 2px 10px !important;
	font-weight: 700;
}

/* ---------- Catégories ---------- */
.woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.woocommerce ul.products li.product-category {
	text-align: center;
}
.woocommerce ul.products li.product-category h2 {
	font-size: 1rem !important;
	color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product-category mark { background: none; color: var(--wp--preset--color--accent-4); }

/* ---------- Fiche produit ---------- */
.memostore-eco {
	font-size: .85rem;
	color: var(--wp--preset--color--accent-4);
	margin: -4px 0 12px;
}
.woocommerce table.shop_attributes,
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border-color: var(--wp--preset--color--accent-5) !important;
	background: transparent !important;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { text-align: left !important; font-style: normal !important; padding: 10px 14px !important; }
.woocommerce table.shop_attributes th { color: var(--wp--preset--color--accent-4); font-weight: 500; width: 35%; }
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }
.woocommerce-Tabs-panel--additional_information > h2 { display: none; }
.wp-block-woocommerce-product-meta { display: none; }
.woocommerce div.product .stock.in-stock { color: #22c55e; }
.woocommerce div.product .stock.out-of-stock { color: #ef4444; }

/* ---------- Formulaires (panier, commande) en thème sombre ---------- */
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .quantity .qty,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-blocks-components-select select,
.wc-block-components-combobox .components-combobox-control input {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--accent-5) !important;
	border-radius: 10px !important;
}
.wc-block-components-text-input label,
.wc-blocks-components-select label { color: var(--wp--preset--color--accent-4) !important; }
.wc-block-components-notice-banner { color: #111827; }

/* Informations légales restant à compléter : volontairement très visibles */
mark.memostore-todo { background: #f59e0b; color: #111827; padding: 0 4px; border-radius: 4px; font-weight: 600; }

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
	.memostore-topbar { font-size: .75rem; }
	.memostore-search { order: 3; flex-basis: 100%; max-width: none; }
	.woocommerce ul.products,
	.woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.woocommerce ul.products li.product { padding: 8px !important; }
	.woocommerce ul.products li.product .button { white-space: normal; }
	.memostore-perks { gap: 12px; }
}
.wc-block-components-totals-wrapper,
.wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border-color: var(--wp--preset--color--accent-5) !important;
}
