/*
Theme Name: Blocksy Child — ecolomaison
Theme URI: https://ecolomaison.com/
Description: Thème enfant Blocksy, sobre et accessible, pour la boutique ecolomaison.
Author: ecolomaison
Template: blocksy
Version: 1.0.1
Text Domain: ecolomaison
*/

:root {
	--eco-forest: #24483d;
	--eco-sand: #e8ddc8;
	--eco-brass: #b8955a;
	--eco-paper: #f8f7f2;
	--eco-ink: #303532;
	--eco-muted: #686e69;
	--eco-line: #d9ddd6;
	--eco-radius: 4px;
	--eco-content: 1180px;
}

body { color: var(--eco-ink); background: var(--eco-paper); }
h1, h2, h3, h4, h5, h6 { color: var(--eco-forest); }
a { color: var(--eco-forest); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--eco-brass); outline-offset: 3px; }

/* Google Fonts possibles : DM Serif Display pour les titres, Inter pour le corps.
   Les polices ne sont pas appelées depuis un tiers par défaut. Hébergez les fichiers
   sous licence sur votre domaine avant de les activer pour limiter les requêtes externes. */
body { font-family: Inter, "Helvetica Neue", Arial, sans-serif; }
h1, h2, h3, h4 { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; }

.eco-shipping-banner { padding: .55rem 1rem; text-align: center; background: var(--eco-forest); color: #fff; font-size: .9rem; }
.eco-shipping-banner a { color: #fff; }
.eco-trust-line { margin: .75rem 0 0; color: var(--eco-muted); font-size: .9rem; }
.eco-material { display: inline-block; padding: .25rem .55rem; border: 1px solid var(--eco-line); border-radius: 999px; color: var(--eco-forest); font-size: .8rem; }
.eco-home { max-width: var(--eco-content); margin-inline: auto; padding-inline: 24px; }
.eco-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; padding-block: clamp(4rem, 9vw, 8rem); }
.eco-hero__copy { max-width: 650px; }
.eco-eyebrow { color: var(--eco-muted); font-size: .85rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.eco-hero h1 { margin: .35em 0; font-size: clamp(2.8rem, 6vw, 5rem); line-height: 1.04; }
.eco-hero__text { max-width: 54ch; color: var(--eco-muted); font-size: 1.15rem; line-height: 1.65; }
.eco-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.eco-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wp-element-button { min-height: 48px; border: 1px solid var(--eco-forest); border-radius: var(--eco-radius); background: var(--eco-forest); color: #fff; font-weight: 600; }
.eco-button { display: inline-flex; align-items: center; padding: .75rem 1.2rem; text-decoration: none; }
.eco-button:hover { background: #18392f; color: #fff; }
.eco-button--outline { background: transparent; color: var(--eco-forest); }
.eco-button--outline:hover { background: var(--eco-sand); color: var(--eco-forest); }
.eco-hero__visual { min-height: 350px; display: grid; place-items: center; padding: 1.25rem; background: var(--eco-sand); }
.eco-hero__visual img { display: block; width: 100%; max-height: 480px; object-fit: contain; }
.eco-hero__visual img { width: 100%; height: auto; object-fit: cover; }
.eco-placeholder { max-width: 30ch; color: var(--eco-forest); text-align: center; }
.eco-section { padding-block: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--eco-line); }
.eco-section h2 { margin-top: 0; font-size: clamp(2rem, 4vw, 3rem); }
.eco-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.eco-tile { display: flex; min-height: 180px; flex-direction: column; justify-content: space-between; padding: 1.4rem; border: 1px solid var(--eco-line); background: #fff; text-decoration: none; }
.eco-tile:hover { border-color: var(--eco-forest); }
.eco-tile strong { display: inline-block; margin-bottom: .5rem; color: var(--eco-forest); font-family: "DM Serif Display", Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.eco-tile p { margin: 0; color: var(--eco-muted); }
.eco-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.eco-benefit { padding-top: 1rem; border-top: 2px solid var(--eco-brass); }
.eco-benefit h3 { margin: .4rem 0; }
.eco-proof-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; padding: 0; list-style: none; }
.eco-proof-list li { padding: 1rem; border: 1px solid var(--eco-line); background: #fff; }
.eco-proof-list strong { display: block; color: var(--eco-forest); }
.eco-notice { padding: 1rem 1.2rem; border-left: 3px solid var(--eco-brass); background: #fff; }
.eco-related-guides { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--eco-line); }
.eco-footer-contact { color: var(--eco-muted); }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: .75rem; background: #fff; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--eco-forest); }
.woocommerce span.onsale { min-height: auto; border-radius: 3px; background: var(--eco-sand); color: var(--eco-forest); line-height: 1.5; }
.woocommerce-message { border-top-color: var(--eco-forest); }

@media (max-width: 760px) {
	.eco-hero { grid-template-columns: 1fr; padding-block: 3rem; }
	.eco-hero__visual { min-height: 220px; }
	.eco-grid, .eco-benefits { grid-template-columns: 1fr; }
	.eco-proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
