/*
Theme Name: OWAPHARMA
Theme URI: https://owapharma.ci
Author: 100Tash communication
Author URI: https://100tash.com
Description: Thème bloc sur mesure pour OWAPHARMA – vente de matériel biomédical, équipements médicaux, consommables et matériel de laboratoire à Abidjan. À l'activation, le thème crée automatiquement les pages Accueil, À propos, Produits & services et Contact / Devis.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.2.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: owapharma
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Top bar & header ---------- */
.owa-topbar {
	background: var(--wp--preset--color--vert-fonce);
	color: #fff;
	font-size: 0.85rem;
	padding: 0.45rem 1.25rem;
}
.owa-topbar .owa-topbar-inner {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.owa-topbar a { color: #fff; text-decoration: none; }
.owa-topbar a:hover { color: var(--wp--preset--color--orange); }

.owa-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	box-shadow: 0 2px 18px rgba(8, 71, 42, 0.08);
}
.admin-bar .owa-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .owa-header { top: 0; } }

.owa-header .owa-header-inner {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	padding: 0.7rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.owa-brand { display: flex; align-items: center; gap: 0.7rem; text-decoration: none; }
.owa-brand img { width: 52px; height: 52px; }
.owa-brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.owa-brand-name { font-weight: 800; font-size: 1.45rem; letter-spacing: 0.02em; color: var(--wp--preset--color--vert); }
.owa-brand-name span { color: var(--wp--preset--color--orange); }
.owa-brand-tag { font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--texte-doux); margin-top: 3px; }

.owa-header .wp-block-navigation { font-weight: 600; font-size: 0.98rem; gap: 1.6rem; }
.owa-header .wp-block-navigation a { color: var(--wp--preset--color--texte); text-decoration: none; }
.owa-header .wp-block-navigation a:hover,
.owa-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--vert); }
.owa-header .wp-block-navigation .current-menu-item > a { box-shadow: inset 0 -3px 0 var(--wp--preset--color--orange); }

.owa-header-cta .wp-block-button__link { padding: 0.7rem 1.2rem; font-size: 0.92rem; }
@media (max-width: 900px) {
	.owa-header-cta { display: none; }
	.owa-brand img { width: 44px; height: 44px; }
	.owa-brand-name { font-size: 1.2rem; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(240, 125, 25, .28); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 2px solid rgba(255, 255, 255, .85);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--vert); box-shadow: none; }
.owa-section-light .wp-block-button.is-style-outline > .wp-block-button__link,
.owa-section .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--vert); border-color: var(--wp--preset--color--vert); }
.owa-section .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--vert); color: #fff; }
.owa-btn-whatsapp > .wp-block-button__link { background: #25D366 !important; color: #fff !important; }

/* ---------- Hero ---------- */
.owa-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 85% 30%, rgba(240, 125, 25, .28), transparent 42%),
		linear-gradient(135deg, var(--wp--preset--color--vert-fonce) 0%, var(--wp--preset--color--vert) 65%, #1d8a50 100%);
	padding: clamp(3.5rem, 8vw, 6.5rem) 1.25rem clamp(3.5rem, 8vw, 6rem);
}
.owa-hero::after {
	content: "";
	position: absolute;
	right: max(2rem, calc((100vw - 1200px) / 2));
	top: 50%;
	transform: translateY(-50%);
	width: clamp(230px, 30vw, 380px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: #fff url(assets/img/logo-emblem-512.png) center / 78% no-repeat;
	box-shadow: 0 0 0 14px rgba(255, 255, 255, .12), 0 0 0 30px rgba(255, 255, 255, .06), 0 30px 60px rgba(0, 0, 0, .25);
}
.owa-hero > * { position: relative; z-index: 1; }
.owa-hero-inner { max-width: 1200px; margin: 0 auto !important; }
.owa-hero-inner > * { max-width: 36rem; }
.owa-hero h1 { color: #fff; max-width: 16ch; }
.owa-hero p { font-size: 1.12rem; opacity: .95; }
@media (max-width: 900px) {
	.owa-hero::after { position: relative; display: block; right: auto; top: auto; transform: none; margin: 2.5rem auto 0; width: 210px; }
}

.owa-kicker {
	display: block;
	font-size: .78rem !important;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange) !important;
}
.owa-hero .owa-kicker {
	display: inline-block;
	background: rgba(255, 255, 255, .12);
	color: #fff !important;
	padding: .45rem .9rem;
	border-radius: 99px;
	border: 1px solid rgba(255, 255, 255, .25);
	opacity: 1;
}

/* Page title band (pages internes) */
.owa-page-hero {
	background: linear-gradient(135deg, var(--wp--preset--color--vert-fonce), var(--wp--preset--color--vert));
	color: #fff;
	padding: clamp(2.5rem, 6vw, 4rem) 1.25rem;
	position: relative;
	overflow: hidden;
}
.owa-page-hero::after {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -90px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	border: 28px solid rgba(240, 125, 25, .35);
}
.owa-page-hero .wp-block-post-title { color: #fff; margin: 0; }
.owa-page-hero .owa-breadcrumb { opacity: .85; font-size: .9rem; margin-top: .6rem; }
.owa-page-hero .owa-breadcrumb a { color: #fff; }

/* ---------- Sections ---------- */
.owa-section { padding: clamp(3rem, 7vw, 5.5rem) 1.25rem; }
.owa-section-light { background: var(--wp--preset--color--vert-pale); }
.owa-section-creme { background: var(--wp--preset--color--creme); }
.owa-section-title { text-align: center; }
.owa-section-title + .owa-lead { text-align: center; margin-left: auto; margin-right: auto; max-width: 42rem; }
h2.owa-section-title::after, .owa-underline::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	border-radius: 4px;
	background: var(--wp--preset--color--orange);
	margin: .9rem auto 0;
}
.owa-underline-left::after { margin-left: 0; }
.owa-lead { font-size: 1.1rem; color: var(--wp--preset--color--texte-doux); }

/* Cartes catégories */
.owa-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 16px;
	padding: 1.8rem 1.5rem 1.5rem;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	height: 100%;
	box-sizing: border-box;
}
.owa-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8, 71, 42, .10); border-color: transparent; }
.owa-card h3 { font-size: 1.15rem; margin: 1rem 0 .5rem; }
.owa-card p { font-size: .95rem; color: var(--wp--preset--color--texte-doux); margin: 0; }
.owa-card .owa-more { margin-top: 1rem; font-weight: 700; font-size: .9rem; }
.owa-card .owa-more a { color: var(--wp--preset--color--orange); text-decoration: none; }

[class*="owa-ico-"]::before {
	content: "";
	display: block;
	width: 58px;
	height: 58px;
	border-radius: 14px;
	background-color: var(--wp--preset--color--vert-pale);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 36px;
}
.owa-ico-diagnostic::before { background-image: url(assets/icons/diagnostic.svg); }
.owa-ico-equipements::before { background-image: url(assets/icons/equipements.svg); }
.owa-ico-laboratoire::before { background-image: url(assets/icons/laboratoire.svg); }
.owa-ico-consommables::before { background-image: url(assets/icons/consommables.svg); }
.owa-ico-maintenance::before { background-image: url(assets/icons/maintenance.svg); }

/* Liste à puces cochées */
.owa-checklist { list-style: none; padding-left: 0 !important; }
.owa-checklist li { position: relative; padding-left: 2rem; margin-bottom: .65rem; }
.owa-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	width: 1.3rem;
	height: 1.3rem;
	background: url(assets/icons/check.svg) center / contain no-repeat;
}

/* Bloc "Qui sommes-nous" */
.owa-about-box {
	background: #fff;
	border-radius: 18px;
	padding: 2rem;
	border-left: 6px solid var(--wp--preset--color--orange);
	box-shadow: 0 18px 40px rgba(8, 71, 42, .08);
}

/* Engagements */
.owa-engagement {
	text-align: center;
	padding: 1.8rem 1.4rem;
	border-radius: 16px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .18);
	height: 100%;
	box-sizing: border-box;
}
.owa-engagement .owa-num {
	font-size: 2.4rem;
	font-weight: 800;
	color: var(--wp--preset--color--orange) !important;
	line-height: 1;
	margin-bottom: .6rem;
}
.owa-engagement h3 { color: #fff; font-size: 1.15rem; margin: 0 0 .4rem; }
.owa-engagement p { margin: 0; opacity: .88; font-size: .95rem; }
.owa-section-vert {
	background: linear-gradient(135deg, var(--wp--preset--color--vert-fonce), var(--wp--preset--color--vert));
	color: #fff;
}
.owa-section-vert h2 { color: #fff; }
.owa-section-vert .owa-lead { color: rgba(255, 255, 255, .85); }

/* Bandeau devis */
.owa-cta {
	background: linear-gradient(120deg, var(--wp--preset--color--orange), #f59a3d);
	color: #fff;
	border-radius: 22px;
	padding: clamp(2rem, 5vw, 3rem);
	box-shadow: 0 24px 50px rgba(240, 125, 25, .3);
}
.owa-cta h2 { color: #fff; margin-top: 0; }
.owa-cta .owa-phones { font-size: clamp(1.3rem, 3vw, 1.75rem); font-weight: 800; letter-spacing: .02em; }
.owa-cta .owa-phones a { color: #fff; text-decoration: none; }
.owa-cta .wp-block-button__link { background: #fff; color: var(--wp--preset--color--orange); }
.owa-cta .wp-block-button__link:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, .15); }
.owa-cta .owa-btn-whatsapp > .wp-block-button__link { box-shadow: none; }

/* Avertissement */
.owa-notice {
	background: var(--wp--preset--color--creme);
	border: 1px solid #f6c89b;
	border-radius: 14px;
	padding: 1.2rem 1.4rem;
	font-size: .95rem;
}

/* Produits: blocs détaillés */
.owa-product {
	background: #fff;
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 18px;
	padding: clamp(1.5rem, 4vw, 2.4rem);
	margin-bottom: 1.6rem !important;
	scroll-margin-top: 110px;
}
.owa-product h2 { font-size: 1.5rem; margin: 1rem 0 .4rem; }
.owa-product .owa-num-label { color: var(--wp--preset--color--orange); font-weight: 800; }
.owa-product .owa-checklist { columns: 2 16rem; column-gap: 2rem; margin-top: 1.2rem; }
.owa-product .owa-checklist li { break-inside: avoid; }

/* Sommaire produits */
.owa-chips { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.owa-chips p { margin: 0 !important; }
.owa-chips a {
	display: inline-block;
	padding: .55rem 1rem;
	border-radius: 99px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--bordure);
	color: var(--wp--preset--color--vert);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
}
.owa-chips a:hover { background: var(--wp--preset--color--vert); color: #fff; }

/* Contact */
.owa-contact-card {
	background: linear-gradient(160deg, var(--wp--preset--color--vert-fonce), var(--wp--preset--color--vert));
	color: #fff;
	border-radius: 20px;
	padding: 2rem;
	height: 100%;
	box-sizing: border-box;
}
.owa-contact-card h2, .owa-contact-card h3 { color: #fff; }
.owa-contact-card a { color: #fff; }
.owa-contact-line { display: flex; gap: .8rem; align-items: flex-start; }
.owa-contact-line strong { display: block; font-size: 1.2rem; }

.owa-form { display: grid; gap: 1rem; }
.owa-form .owa-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px) { .owa-form .owa-row { grid-template-columns: 1fr; } }
.owa-form label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .35rem; color: var(--wp--preset--color--texte); }
.owa-form label .req { color: var(--wp--preset--color--orange); }
.owa-form input, .owa-form select, .owa-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .8rem .95rem;
	border: 1.5px solid var(--wp--preset--color--bordure);
	border-radius: 10px;
	font: inherit;
	font-size: 1rem;
	background: #fff;
	color: var(--wp--preset--color--texte);
}
.owa-form input:focus, .owa-form select:focus, .owa-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--vert);
	box-shadow: 0 0 0 4px rgba(14, 107, 58, .12);
}
.owa-form .owa-actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.owa-form button {
	border: 0;
	border-radius: 10px;
	padding: .95rem 1.5rem;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	color: #fff;
	background: var(--wp--preset--color--orange);
}
.owa-form button.owa-wa { background: #25D366; }
.owa-form button:hover { filter: brightness(.95); }
.owa-form .owa-hp { position: absolute; left: -9999px; }
.owa-alert { padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1rem; font-weight: 600; }
.owa-alert-ok { background: #e6f4ec; color: var(--wp--preset--color--vert-fonce); border: 1px solid #b7dfc7; }
.owa-alert-err { background: #fdecec; color: #8a1f1f; border: 1px solid #f3c1c1; }
.owa-form-box {
	background: #fff;
	border-radius: 20px;
	padding: clamp(1.4rem, 4vw, 2.2rem);
	border: 1px solid var(--wp--preset--color--bordure);
	box-shadow: 0 18px 40px rgba(8, 71, 42, .06);
}

/* ---------- Footer ---------- */
.owa-footer {
	background: #062f1c;
	color: rgba(255, 255, 255, .78);
	padding: 3.5rem 1.25rem 1.5rem;
	font-size: .95rem;
}
.owa-footer-grid {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 2.5rem;
}
@media (max-width: 800px) { .owa-footer-grid { grid-template-columns: 1fr; gap: 1.8rem; } }
.owa-footer h4 { color: #fff; font-size: 1rem; margin: 0 0 1rem; letter-spacing: .04em; }
.owa-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.owa-footer a:hover { color: var(--wp--preset--color--orange); }
.owa-footer ul { list-style: none; padding: 0; margin: 0; }
.owa-footer li { margin-bottom: .55rem; }
.owa-footer .owa-brand-name { color: #fff; }
.owa-footer .owa-brand img { background: #fff; border-radius: 50%; padding: 4px; }
.owa-footer .owa-brand-tag { color: rgba(255, 255, 255, .6); }
.owa-footer-bottom {
	max-width: var(--wp--style--global--wide-size);
	margin: 2.5rem auto 0;
	padding-top: 1.3rem;
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	font-size: .85rem;
	color: rgba(255, 255, 255, .55);
}

/* Bouton WhatsApp flottant */
.owa-wa-float {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 99;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #25D366 url(assets/icons/whatsapp.svg) center / 32px no-repeat;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
	transition: transform .2s ease;
}
.owa-wa-float:hover { transform: scale(1.08); }
.owa-wa-float span { position: absolute; left: -9999px; }

/* ---------- Slider d'accueil ---------- */
.owa-slider { position: relative; overflow: hidden; background: var(--wp--preset--color--vert-fonce); color: #fff; }
.owa-slides { position: relative; min-height: clamp(460px, 42vw, 600px); }
.owa-slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: 70% center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .8s ease, visibility .8s;
	display: flex;
	align-items: center;
}
.owa-slide.is-active { opacity: 1; visibility: visible; }
.owa-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4, 40, 24, .72) 0%, rgba(4, 40, 24, .35) 50%, rgba(4, 40, 24, 0) 75%); }
.owa-slide-inner { position: relative; width: 100%; max-width: 1200px; margin: 0 auto; padding: 3rem 1.25rem 4.5rem; box-sizing: border-box; }
.owa-slide-inner > * { max-width: 34rem; }
.owa-slide h1, .owa-slide h2 { color: #fff; font-size: clamp(2rem, 4.4vw, 3.3rem); line-height: 1.12; margin: 1rem 0 .8rem; }
.owa-slide p { font-size: 1.12rem; opacity: .95; margin: 0 0 1.6rem; }
.owa-slide .owa-kicker { display: inline-block; background: rgba(255, 255, 255, .14); color: #fff !important; border: 1px solid rgba(255, 255, 255, .3); padding: .45rem .9rem; border-radius: 99px; }
.owa-slide.is-active .owa-slide-inner > * { animation: owaUp .7s ease both; }
.owa-slide.is-active .owa-slide-inner > *:nth-child(2) { animation-delay: .08s; }
.owa-slide.is-active .owa-slide-inner > *:nth-child(3) { animation-delay: .16s; }
.owa-slide.is-active .owa-slide-inner > *:nth-child(4) { animation-delay: .24s; }
@keyframes owaUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .owa-slide, .owa-slide.is-active .owa-slide-inner > * { transition: none; animation: none; } }
.owa-slide-btns { display: flex; gap: .8rem; flex-wrap: wrap; }
.owa-slider-nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 46px; height: 46px; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .4); background: rgba(0, 0, 0, .18); color: #fff;
	font-size: 1.8rem; line-height: 1; cursor: pointer; z-index: 2;
}
.owa-slider-nav:hover { background: var(--wp--preset--color--orange); border-color: transparent; }
.owa-prev { left: 16px; } .owa-next { right: 16px; }
.owa-dots { position: absolute; left: 0; right: 0; bottom: 22px; display: flex; justify-content: center; gap: .5rem; z-index: 2; }
.owa-dots button { width: 11px; height: 11px; border-radius: 99px; border: 0; background: rgba(255, 255, 255, .5); cursor: pointer; padding: 0; transition: width .3s; }
.owa-dots button.is-active { width: 30px; background: var(--wp--preset--color--orange); }
@media (max-width: 700px) {
	.owa-slide { background-position: 85% center; }
	.owa-slide::before { background: linear-gradient(180deg, rgba(4, 40, 24, .55), rgba(4, 40, 24, .78)); }
	.owa-slider-nav { display: none; }
	.owa-slides { min-height: 560px; }
}

/* Boutons génériques */
.owa-btn {
	display: inline-block; padding: .9rem 1.4rem; border-radius: 10px; font-weight: 700; text-decoration: none;
	background: var(--wp--preset--color--orange); color: #fff !important; border: 2px solid transparent; transition: transform .15s, background .15s;
}
.owa-btn:hover { transform: translateY(-2px); background: #D96A0C; }
.owa-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .85); }
.owa-btn-ghost:hover { background: #fff; color: var(--wp--preset--color--vert) !important; }
.owa-btn-outline { background: #fff; color: var(--wp--preset--color--vert) !important; border-color: var(--wp--preset--color--vert); }
.owa-btn-outline:hover { background: var(--wp--preset--color--vert); color: #fff !important; }
.owa-btn-wa { background: #25D366; }
.owa-btn-wa:hover { background: #1eb457; }

/* ---------- Boutique WooCommerce ---------- */
.owa-prix-demande { color: var(--wp--preset--color--orange); font-weight: 700; font-size: .95rem; }
.woocommerce ul.products, .wc-block-grid__products { margin-top: 1.5rem !important; }
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
	background: #fff;
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 16px;
	padding: 0 0 1.1rem !important;
	overflow: hidden;
	text-align: center;
	transition: transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover, .wc-block-product:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8, 71, 42, .10); }
.woocommerce ul.products li.product a img { margin: 0 0 .8rem !important; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; color: var(--wp--preset--color--vert-fonce); padding: 0 .9rem !important; font-weight: 700; }
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link), .wp-block-button.wc-block-components-product-button .wp-block-button__link {
	background: var(--wp--preset--color--orange) !important;
	color: #fff !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	padding: .7rem 1.1rem !important;
}
.woocommerce ul.products li.product .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: #D96A0C !important; }
.woocommerce span.onsale { background: var(--wp--preset--color--orange); }
.woocommerce div.product .product_title { color: var(--wp--preset--color--vert-fonce); }
.owa-fiche-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.2rem 0 .6rem; }
.owa-fiche-actions .owa-btn { padding: .75rem 1.1rem; font-size: .95rem; }
.owa-fiche-note { font-size: .9rem; color: var(--wp--preset--color--texte-doux); }
.owa-shop-section .woocommerce { max-width: 1140px; }
.owa-product .woocommerce { margin-top: 1.4rem; }
.woocommerce-products-header, .woocommerce-breadcrumb { max-width: 1200px; }


/* Grille produits (remplace les flottants WooCommerce) */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.4rem;
}
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.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; box-sizing: border-box; }
@media (max-width: 900px) { .woocommerce ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } }

/* ===================== Responsive tablette & mobile (v1.2) ===================== */
.owa-header-inner { flex-wrap: nowrap; }
.owa-header .wp-block-navigation { flex: 1 1 auto; justify-content: flex-end; }
.owa-header .wp-block-navigation__container { flex-wrap: nowrap; }
.owa-header .wc-block-mini-cart, .owa-header .wp-block-woocommerce-customer-account { flex: 0 0 auto; }
.owa-header-cta .wp-block-button__link { white-space: nowrap; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { overflow-wrap: anywhere; hyphens: auto; }

/* Tablette : menu hamburger, pas de flèches sur le slider */
@media (max-width: 1100px) {
	.owa-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.owa-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.owa-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
	.owa-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
	.owa-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 1.2rem; font-size: 1.2rem; }
	.owa-header .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
	.owa-slider-nav { display: none; }
	.owa-slide::before { background: linear-gradient(90deg, rgba(4, 40, 24, .8) 0%, rgba(4, 40, 24, .55) 60%, rgba(4, 40, 24, .25) 100%); }
	.woocommerce ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
	.owa-footer-grid { grid-template-columns: 1fr 1fr; }
	.owa-footer-grid > div:first-child { grid-column: 1 / -1; }
}

/* Mobile */
@media (max-width: 700px) {
	.owa-topbar { padding: .4rem 1rem; font-size: .78rem; }
	.owa-topbar .owa-topbar-inner { justify-content: center; }
	.owa-topbar .owa-topbar-inner > span:first-child { display: none; }
	.owa-header .owa-header-inner { padding: .55rem 1rem; gap: .5rem; }
	.owa-header-cta, .owa-header .wp-block-buttons.owa-header-cta { display: none !important; }
	.owa-header .wp-block-woocommerce-customer-account { display: none; }
	.owa-brand { gap: .5rem; }
	.owa-brand img { width: 40px; height: 40px; }
	.owa-brand-name { font-size: 1.15rem; }
	.owa-brand-tag { font-size: .55rem; letter-spacing: .1em; }

	.owa-slides { min-height: 520px; }
	.owa-slide-inner { padding: 2.2rem 1.1rem 3.8rem; }
	.owa-slide h1, .owa-slide h2 { font-size: 1.85rem; }
	.owa-slide p { font-size: 1rem; }
	.owa-slide-btns .owa-btn { flex: 1 1 100%; text-align: center; padding: .8rem 1rem; }

	.owa-section { padding: 2.6rem 1rem; }
	.owa-section-title, h2.owa-section-title { font-size: 1.6rem !important; }
	.owa-lead { font-size: 1rem; }

	/* Cartes catégories compactes : icône à gauche */
	.owa-card { display: grid; grid-template-columns: 52px 1fr; column-gap: .9rem; padding: 1.1rem; align-items: start; }
	.owa-card::before { grid-row: 1 / span 3; width: 52px !important; height: 52px !important; background-size: 30px !important; }
	.owa-card h3 { margin: 0 0 .3rem; font-size: 1.05rem; }
	.owa-card .owa-more { margin-top: .5rem; }

	.woocommerce ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .88rem !important; padding: 0 .5rem !important; }
	.woocommerce ul.products li.product .button { padding: .55rem .8rem !important; font-size: .85rem !important; }
	.owa-prix-demande { font-size: .82rem; }

	.owa-product { padding: 1.2rem; }
	.owa-product h2 { font-size: 1.25rem; }
	.owa-cta { padding: 1.6rem 1.2rem; border-radius: 16px; }
	.owa-cta .owa-phones { font-size: 1.25rem; }
	.owa-cta .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.owa-cta .wp-block-button__link { width: 100%; text-align: center; }
	.owa-page-hero { padding: 2rem 1rem; }
	.owa-page-hero .wp-block-post-title { font-size: 1.9rem; }
	.owa-contact-card, .owa-form-box { padding: 1.3rem; }
	.owa-fiche-actions .owa-btn { flex: 1 1 100%; text-align: center; }
	.owa-footer { padding: 2.5rem 1rem 1.2rem; }
	.owa-footer-grid { grid-template-columns: 1fr; }
	.owa-footer-bottom { flex-direction: column; text-align: center; }
	.owa-wa-float { width: 52px; height: 52px; right: 14px; bottom: 14px; }
	.woocommerce div.product .product_title { font-size: 1.7rem; }
	.owa-wc-main { padding-top: 1.5rem; }
}

/* Menu mobile aligné à gauche (v1.2.1) */
.owa-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 2.5rem; }
.owa-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; width: 100%; }
.owa-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--bordure); padding-bottom: .8rem; }
