/* Socle commun des variantes : tout passe par des variables posées par chaque design. */
body.colibri-design {
	font-family: var(--d-body);
	background: var(--wp--preset--color--base);
	-webkit-font-smoothing: antialiased;
}
body.colibri-design :is(h1, h2, h3, h4, h5, h6, .wp-block-heading, .wp-block-post-title) {
	font-family: var(--d-head);
	font-weight: var(--d-head-weight);
	letter-spacing: var(--d-head-tracking, -0.01em);
}

/* En-tête */
body.colibri-design .colibri-site-header {
	background: var(--d-header-bg) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.4);
	backdrop-filter: blur(14px) saturate(1.4);
	border-bottom: 1px solid var(--d-line) !important;
}
body.colibri-design .wp-block-navigation a { font-weight: 600; text-decoration: none; }
body.colibri-design .wp-block-navigation a:hover { color: var(--wp--preset--color--accent-1); }

/* Boutons */
body.colibri-design :is(.wp-block-button__link, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button) {
	background: var(--d-btn-bg, var(--wp--preset--color--accent-1));
	color: var(--d-btn-ink, #fff);
	border-radius: var(--d-btn-radius);
	padding: 0.9em 1.9em;
	font-weight: 700;
	box-shadow: var(--d-btn-shadow, none);
	transition: transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s, background-color .2s;
}
body.colibri-design :is(.wp-block-button__link, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button):hover {
	background: var(--d-btn-hover, var(--wp--preset--color--accent-2));
	color: var(--d-btn-ink, #fff);
	transform: translateY(-2px);
	box-shadow: var(--d-btn-shadow-hover, 0 10px 24px rgba(0,0,0,.18));
}
body.colibri-design .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--accent-1);
	border: 2px solid currentColor;
}

/* Cartes & images */
body.colibri-design .colibri-collection-card {
	border-radius: var(--d-radius) !important;
	box-shadow: var(--d-shadow);
	transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s;
}
body.colibri-design .colibri-collection-card:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: var(--d-shadow-hover); }
body.colibri-design :is(.woocommerce ul.products li.product img, .wc-block-components-product-image img, .wp-block-woocommerce-product-image img, .woocommerce-product-gallery__image img, .colibri-cart .wc-block-cart-item__image img) {
	border-radius: var(--d-radius);
}
body.colibri-design .woocommerce ul.products li.product:hover img { box-shadow: var(--d-shadow-hover); }
body.colibri-design .wp-block-woocommerce-product-template > li {
	transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
body.colibri-design .wp-block-woocommerce-product-template > li:hover { transform: translateY(-4px); }

/* Prix, pastilles, filtres, panneaux */
body.colibri-design :is(.price, .wc-block-components-product-price) { color: var(--d-price, var(--wp--preset--color--accent-2)); font-weight: 700; }
body.colibri-design .colibri-piece-unique { background: var(--d-badge); color: var(--d-badge-ink, #fff); }
body.colibri-design .colibri-collection-filters__link { background: var(--d-surface); border-color: var(--d-line); }
body.colibri-design .colibri-collection-filters__link.is-active { background: var(--wp--preset--color--accent-1); color: var(--d-btn-ink, #fff); }
body.colibri-design :is(.colibri-cart .wp-block-woocommerce-cart-totals-block, .colibri-checkout .wp-block-woocommerce-checkout-totals-block, .colibri-product-attributes) {
	background: var(--d-surface);
	border: 1px solid var(--d-line);
	border-radius: var(--d-radius);
	box-shadow: var(--d-shadow);
}
body.colibri-design :is(input, select, textarea):not([type=checkbox], [type=radio], [type=range]) {
	border-radius: var(--d-btn-radius);
	background: var(--d-surface);
	color: var(--wp--preset--color--contrast);
	border-color: var(--d-line);
}

/* Accueil : héros plus généreux, grand arrondi */
body.colibri-design .colibri-hero {
	margin-inline: var(--d-hero-inset, 0);
	border-radius: var(--d-hero-radius, 0);
	overflow: hidden;
	min-height: var(--d-hero-height, 85vh) !important;
}
body.colibri-design .colibri-hero h1 { text-shadow: 0 2px 30px rgba(0,0,0,.3); font-size: clamp(2.8rem, 8vw, 6rem); line-height: 1; }

/* Pied de page */
body.colibri-design .has-accent-1-background-color { background: var(--d-footer-bg, var(--wp--preset--color--accent-1)) !important; }

/* Apparition douce au chargement */
@media (prefers-reduced-motion: no-preference) {
	body.colibri-design main > * { animation: colibri-rise .7s cubic-bezier(.2,.8,.2,1) both; }
	body.colibri-design main > *:nth-child(2) { animation-delay: .08s; }
	body.colibri-design main > *:nth-child(3) { animation-delay: .16s; }
}
@keyframes colibri-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
