/* ==========================================================================
   ISHAtik — styles du thème (v1.1, inspiration « Lusion »)
   Typographie fine et géométrique (Jost), angles droits, grandes images,
   lignes verticales discrètes en fond, accents rouge et rose ISHAtik.
   Mobile d'abord (360–430 px), puis tablette (≥ 700 px) et ordinateur (≥ 1000 px).
   ========================================================================== */

:root {
	--ish-rouge: #DB3028;
	--ish-rouge-profond: #B8221B;
	--ish-rose: #FBE2E0;
	--ish-ivoire: #FAF7F2;
	--ish-gris-clair: #F4F2F1;
	--ish-encre: #171717;
	--ish-gris: #5C5552;
	--ish-ligne: #E7E2E0;
	--ish-ease: cubic-bezier(.2, .7, .2, 1);
	--ish-header-h: 64px;
	--ish-bandeau-h: 0px;
	--ish-pad: clamp(1rem, 4vw, 3.75rem);
	--ish-max: 1320px;
	--ish-font: var(--wp--preset--font-family--texte, Jost, system-ui, sans-serif);
}

html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; font-weight: 400; }
img { max-width: 100%; height: auto; }
.woocommerce .button, .ish-btn, .ish-wa, .ish-chip, .woocommerce ul.products li.product, .ish-search input, .ish-cat-card { box-sizing: border-box; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important;
	width: 1px; word-wrap: normal !important;
}
:focus-visible { outline: 2px solid var(--ish-rouge-profond); outline-offset: 3px; }

.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { padding: 0; }
h1, h2, h3, h4 { font-weight: 400; }

/* --------------------------------------------------------------------------
   Boutons : rectangles, contour fin ou aplat rouge
   -------------------------------------------------------------------------- */
.ish-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 44px; min-width: 44px; padding: .7rem 1.5rem;
	border: 1px solid transparent; border-radius: 0; background: none; color: inherit;
	font: 500 .9375rem/1.2 var(--ish-font); letter-spacing: .02em;
	text-decoration: none; cursor: pointer;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .15s ease;
	-webkit-tap-highlight-color: transparent;
}
.ish-btn:active, .wp-element-button:active, .woocommerce .button:active, .ish-wa:active { transform: scale(.98); }
.ish-btn--icon { padding: 0; width: 44px; height: 44px; }
.ish-btn--icon:hover { color: var(--ish-rouge); }
.ish-btn--primary { background: var(--ish-rouge); color: #fff; }
.ish-btn--primary:hover { background: var(--ish-rouge-profond); color: #fff; }
.ish-btn--ghost, .ish-btn--outline { border-color: var(--ish-encre); color: var(--ish-encre); }
.ish-btn--ghost:hover, .ish-btn--outline:hover { background: var(--ish-encre); color: #fff; }
.ish-btn--light { background: #fff; color: var(--ish-encre); }
.ish-icon { flex: none; display: block; }

.wp-block-button.is-style-ish-light .wp-block-button__link { background: #fff; color: var(--ish-encre); }
.wp-block-button.is-style-ish-light .wp-block-button__link:hover { background: var(--ish-encre); color: #fff; }

/* --------------------------------------------------------------------------
   Bandeau de service + en-tête fixe
   -------------------------------------------------------------------------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--ish-bandeau-h));
	z-index: 50; background: #fff;
}
@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(0px - var(--ish-bandeau-h)); }
}
.wp-site-blocks > header.wp-block-template-part > * { margin-block: 0; }

.ish-bandeau {
	background: var(--ish-rouge); color: #fff; text-align: center;
	font-size: .8125rem; font-weight: 500; letter-spacing: .06em;
	padding: .5rem var(--ish-pad);
}
.ish-bandeau a { color: #fff; }

.ish-header { position: relative; background: #fff; border-bottom: 1px solid var(--ish-ligne); }
.ish-header__inner {
	max-width: var(--ish-max); margin: 0 auto; padding: .5rem var(--ish-pad);
	min-height: var(--ish-header-h); box-sizing: border-box;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem;
}
.ish-logo { display: inline-flex; color: var(--ish-rouge); line-height: 0; justify-self: center; }
.ish-logo .ish-logo-svg { width: 100px; height: auto; }
.ish-header__actions { display: flex; justify-content: flex-end; align-items: center; }
.ish-nav { display: none; }

.ish-selection-link { position: relative; color: var(--ish-encre); }
.ish-badge {
	position: absolute; top: 5px; right: 3px; min-width: 16px; height: 16px; padding: 0 4px;
	border-radius: 8px; background: var(--ish-rouge); color: #fff; box-sizing: border-box;
	font-size: .625rem; font-weight: 600; line-height: 16px; text-align: center;
	transition: transform .25s var(--ish-ease);
}
.ish-badge[data-count="0"] { display: none; }
.ish-badge.is-bump { transform: scale(1.3); }

.ish-pop > summary { list-style: none; cursor: pointer; color: var(--ish-encre); }
.ish-pop > summary::-webkit-details-marker { display: none; }
.ish-pop__panel {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; border-bottom: 1px solid var(--ish-ligne);
	padding: 1.25rem var(--ish-pad) 1.75rem;
	max-height: calc(100vh - var(--ish-header-h) - 40px); max-height: calc(100dvh - var(--ish-header-h) - 40px); overflow-y: auto;
	animation: ish-drop .25s var(--ish-ease);
}
@keyframes ish-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.ish-menu__list { list-style: none; margin: 1rem 0 0; padding: 0; }
.ish-menu__list a {
	display: flex; align-items: center; min-height: 54px; border-bottom: 1px solid var(--ish-ligne);
	font: 300 1.5rem/1.2 var(--ish-font); color: var(--ish-encre); text-decoration: none;
}
.ish-menu__list a[aria-current="page"] { color: var(--ish-rouge); }

.ish-search__label { display: block; font-size: .8125rem; letter-spacing: .04em; color: var(--ish-gris); margin-bottom: .375rem; }
.ish-search__row { display: flex; align-items: stretch; border-bottom: 1px solid var(--ish-encre); }
.ish-search input[type="search"] {
	flex: 1; min-width: 0; min-height: 48px; padding: .5rem 0; font: 300 1.125rem var(--ish-font);
	border: 0; border-radius: 0; background: transparent; color: var(--ish-encre); outline-offset: 0;
}
.ish-search .ish-btn--icon { color: var(--ish-encre); }

@media (min-width: 1000px) {
	.ish-header__inner { grid-template-columns: 1fr auto 1fr; min-height: 76px; }
	.ish-menu { display: none; }
	.ish-logo { grid-column: 2; grid-row: 1; }
	.ish-logo .ish-logo-svg { width: 118px; }
	.ish-nav { display: block; grid-column: 1; grid-row: 1; }
	.ish-header__actions { grid-column: 3; }
	.ish-nav ul { display: flex; gap: 2.25rem; list-style: none; margin: 0; padding: 0; }
	.ish-nav a {
		display: inline-flex; align-items: center; min-height: 44px;
		font-weight: 400; font-size: .9375rem; color: var(--ish-encre); text-decoration: none;
		background: linear-gradient(var(--ish-rouge), var(--ish-rouge)) no-repeat 0 82% / 0 1px;
		transition: background-size .35s var(--ish-ease);
	}
	.ish-nav a:hover, .ish-nav a[aria-current="page"] { background-size: 100% 1px; }
	.ish-searchpop__panel { left: auto; right: var(--ish-pad); width: 420px; border: 1px solid var(--ish-ligne); }
}

/* --------------------------------------------------------------------------
   Pied de page (rouge, logo blanc)
   -------------------------------------------------------------------------- */
.ish-footer { background: var(--ish-rouge); color: #fff; padding: 3.5rem var(--ish-pad) 1.5rem; }
.ish-footer a { color: #fff; }
.ish-footer__inner { max-width: var(--ish-max); margin: 0 auto; display: grid; gap: 2.25rem; grid-template-columns: 1fr; }
.ish-logo--footer { color: #fff; justify-self: start; }
.ish-logo--footer .ish-logo-svg { width: 132px; }
.ish-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.ish-footer__title { color: #fff; font: 400 1.25rem/1.3 var(--ish-font); margin: 0 0 .5rem; }
.ish-footer ul { list-style: none; margin: 0; padding: 0; }
.ish-footer li a { display: inline-flex; align-items: center; gap: .375rem; min-height: 40px; text-decoration: none; font-weight: 300; }
.ish-footer li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ish-footer__legal { max-width: var(--ish-max); margin: 2.5rem auto 0; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.35); font-size: .8125rem; font-weight: 300; }
@media (min-width: 700px) { .ish-footer__inner { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }

/* --------------------------------------------------------------------------
   Accueil
   -------------------------------------------------------------------------- */
.ish-main { margin-top: 0 !important; }
.ish-home { position: relative; }
.ish-home > * { margin-block: 0; position: relative; }

/* Lignes verticales discrètes (comme une grille de mise en page) */
.ish-home::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	width: min(var(--ish-max), 100% - 2 * var(--ish-pad)); margin: 0 auto;
	background: linear-gradient(to right, var(--ish-ligne) 1px, transparent 1px) 0 0 / 25% 100%;
	border-right: 1px solid var(--ish-ligne); opacity: .7;
}
@media (min-width: 1000px) { .ish-home::before { background-size: 12.5% 100%; } }
.ish-home > .ish-section, .ish-home > .ish-hero { z-index: 1; }
.ish-section--gris, .ish-section--rose, .ish-hero { isolation: isolate; }

/* Bannière : texte à gauche, visuel à droite, grand mot en filigrane */
.ish-hero { position: relative; overflow: hidden; background: var(--ish-rose); padding: 0 var(--ish-pad) !important; }
.ish-hero::after {
	content: "ishatik"; position: absolute; z-index: 0; left: 50%; bottom: -.18em; transform: translateX(-50%);
	font: 600 clamp(6rem, 28vw, 26rem)/1 var(--ish-font); letter-spacing: .02em; text-transform: uppercase;
	color: rgba(255, 255, 255, .55); white-space: nowrap; pointer-events: none;
}
.ish-hero__inner {
	position: relative; z-index: 1; max-width: var(--ish-max); margin: 0 auto;
	display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: center;
	padding: clamp(2rem, 6vw, 3rem) 0 0;
}
.ish-hero__copy > * { margin-left: 0 !important; }
.ish-hero__title {
	max-width: 11ch; margin: 0 0 1rem;
	font-size: clamp(2.5rem, 10vw, 5.25rem); line-height: 1.04; font-weight: 300; letter-spacing: -.01em;
}
.ish-hero__text { max-width: 30ch; font-size: clamp(1.0625rem, 2.6vw, 1.25rem); font-weight: 300; margin: 0 0 1.75rem; }
.ish-hero__title, .ish-hero__text, .ish-hero__actions { animation: ish-rise .7s var(--ish-ease) both; }
.ish-hero__text { animation-delay: .12s; }
.ish-hero__actions { animation-delay: .24s; }
.ish-hero__visual { display: block; justify-self: center; width: min(100%, 460px); line-height: 0; animation: ish-fade .9s var(--ish-ease) .1s both; }
.ish-hero__visual.is-empty { aspect-ratio: 4 / 5; background: rgba(255,255,255,.5); }
.ish-hero__img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
@keyframes ish-rise { from { opacity: .2; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; } }
@keyframes ish-fade { from { opacity: .3; transform: scale(1.02); } to { opacity: 1; transform: none; } }
@media (min-width: 900px) {
	.ish-hero__inner { grid-template-columns: 1.1fr 1fr; gap: 3rem; padding: 3rem 0 0; min-height: min(78vh, 760px); align-items: end; }
	.ish-hero__copy { align-self: center; padding-bottom: 4rem; }
	.ish-hero__visual { justify-self: end; width: min(100%, 520px); }
}

.ish-section { padding: clamp(3.5rem, 9vw, 7rem) var(--ish-pad); }
.ish-section--gris { background: var(--ish-gris-clair); }
.ish-section--rose { background: var(--ish-rose); }
.ish-section--cats { padding-top: clamp(2.5rem, 8vw, 6rem); padding-bottom: 0; }
.ish-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem 2rem; flex-wrap: wrap; margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.ish-section-title { margin: 0; font-size: clamp(2rem, 6vw, 3rem); font-weight: 300; letter-spacing: -.01em; }
.ish-section-aside { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
.ish-section-intro { margin: 0; color: var(--ish-gris); font-weight: 300; max-width: 40ch; }
.ish-section-foot { text-align: center; margin: 2rem 0 0; }
.ish-link-arrow { display: inline-flex; align-items: center; gap: .375rem; min-height: 44px; font-weight: 500; color: var(--ish-encre); text-decoration: none; }
.ish-link-arrow .ish-icon { transition: transform .25s ease; }
.ish-link-arrow:hover .ish-icon { transform: translateX(4px); }
@media (min-width: 700px) { .ish-section-aside { align-items: flex-end; text-align: right; } }

.ish-admin-note { position: relative; z-index: 1; padding: .75rem 1rem; border: 1px dashed var(--ish-rouge-profond); background: #fff; font-size: .875rem; }

/* Cartes catégories : grande image portrait, nom et nombre de produits dessous */
.ish-cats { display: grid; gap: 2rem 1.25rem; grid-template-columns: 1fr; }
.ish-cat-card { display: block; color: var(--ish-encre); text-decoration: none; }
.ish-cat-card__media { display: block; overflow: hidden; aspect-ratio: 4 / 5; background: var(--ish-gris-clair); }
.ish-cat-card__media.is-empty { background: var(--ish-rose); }
.ish-cat-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ish-ease); }
.ish-cat-card:hover .ish-cat-card__img { transform: scale(1.04); }
.ish-cat-card__label { display: flex; align-items: baseline; gap: .75rem; padding-top: .9rem; }
.ish-cat-card__name { font-size: clamp(1.375rem, 3vw, 1.75rem); font-weight: 400; }
.ish-cat-card__count { white-space: nowrap; font-size: .875rem; color: var(--ish-gris); font-weight: 300; }
@media (min-width: 700px) {
	.ish-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ish-cats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ish-cats--4, .ish-cats--5, .ish-cats--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Carrousel (défilement natif, flèches sur ordinateur) */
.ish-carousel { position: relative; }
.ish-carousel__track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--ish-pad)); padding: 0 var(--ish-pad); scroll-padding: 0 var(--ish-pad); }
.ish-carousel__track::-webkit-scrollbar { display: none; }
.ish-carousel__track:focus-visible { outline-offset: -2px; }
.ish-carousel__track ul.products.products.products {
	display: grid !important; grid-auto-flow: column; grid-template-columns: none !important;
	grid-auto-columns: calc((100% - .875rem) / 1.7); gap: 0 .875rem !important; margin: 0 !important;
}
.ish-carousel__track ul.products.products li.product { scroll-snap-align: start; }
.ish-carousel__nav { display: none; }
@media (min-width: 700px) {
	.ish-carousel__track ul.products.products.products { grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); gap: 0 1.25rem !important; }
}
@media (min-width: 1100px) {
	.ish-carousel__track { margin: 0; padding: 0; scroll-padding: 0; }
	.ish-carousel__track ul.products.products.products { grid-auto-columns: calc((100% - 3 * 1.25rem) / 4); }
	.ish-carousel__nav { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 1.25rem; }
	.ish-carousel__btn {
		width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center;
		background: transparent; border: 1px solid var(--ish-encre); color: var(--ish-encre); cursor: pointer;
		transition: background-color .25s ease, color .25s ease;
	}
	.ish-carousel__btn:hover { background: var(--ish-encre); color: #fff; }
	.ish-carousel__btn[disabled] { opacity: .3; cursor: default; background: transparent; color: var(--ish-encre); }
}

/* Bloc éditorial (grand visuel + carte) */
.ish-section--promo { padding-top: clamp(1rem, 3vw, 2rem); }
.ish-promo { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.ish-promo__main {
	position: relative; display: flex; align-items: flex-end; min-height: 520px; overflow: hidden;
	background: var(--ish-encre); color: #fff; text-decoration: none;
}
.ish-parallax__img {
	position: absolute; inset: -8% 0; width: 100%; height: 116%; object-fit: cover;
	transform: translate3d(0, var(--ish-py, 0px), 0); will-change: transform;
}
.ish-promo__main::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.65)); }
.ish-promo__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: clamp(1.5rem, 5vw, 3.5rem); }
.ish-promo__title { font-size: clamp(2.25rem, 7vw, 4rem); line-height: 1.04; font-weight: 300; max-width: 12ch; }
.ish-promo__text { max-width: 36ch; font-weight: 300; font-size: 1.0625rem; }
.ish-promo__main:hover .ish-btn--light { background: var(--ish-rouge); color: #fff; }
.ish-promo__side {
	display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .75rem;
	padding: clamp(1.75rem, 5vw, 3rem); background: var(--ish-rose);
}
.ish-promo__side h3 { margin: 0; font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 300; line-height: 1.1; }
.ish-promo__side p { margin: 0 0 .5rem; font-weight: 300; }
@media (min-width: 900px) {
	.ish-promo { grid-template-columns: 2fr 1fr; gap: 2rem; }
	.ish-promo__main { min-height: 620px; }
}

/* Mosaïque photo + texte */
.ish-mosaic { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.ish-mosaic__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.ish-mosaic__item { display: block; overflow: hidden; aspect-ratio: 1; background: var(--ish-gris-clair); }
.ish-mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ish-ease); }
.ish-mosaic__item:hover img { transform: scale(1.06); }
.ish-mosaic__text p { color: var(--ish-gris); font-weight: 300; max-width: 38ch; }
.ish-mosaic__sign { display: flex; align-items: center; gap: 1rem; justify-content: flex-end; font-size: 1.25rem; font-weight: 500; color: var(--ish-encre) !important; }
.ish-mosaic__sign::before { content: ""; width: 48px; height: 1px; background: currentColor; }
.ish-mosaic__sign a { color: inherit; text-decoration: none; }
@media (min-width: 900px) { .ish-mosaic { grid-template-columns: 1.6fr 1fr; gap: 4rem; } }

/* Informations pratiques */
.ish-steps { list-style: none; counter-reset: ish-step; margin: 2rem 0; padding: 0; display: grid; gap: 1px; background: rgba(23,23,23,.08); }
.ish-steps li { counter-increment: ish-step; position: relative; padding: 1.5rem 1.5rem 1.5rem 4.25rem; background: #fff; font-weight: 300; }
.ish-steps li::before {
	content: "0" counter(ish-step); position: absolute; left: 1.5rem; top: 1.4rem;
	font: 300 1.5rem/1 var(--ish-font); color: var(--ish-rouge);
}
.ish-steps strong { display: block; font-weight: 500; margin-bottom: .25rem; }
.ish-infos { display: grid; gap: .75rem; margin: 0 0 1.5rem; }
.ish-infos dt { font-weight: 500; }
.ish-infos dd { margin: 0 0 .5rem; color: var(--ish-gris); font-weight: 300; }
@media (min-width: 900px) { .ish-steps { grid-template-columns: repeat(3, 1fr); } }

/* --------------------------------------------------------------------------
   Grille de produits (boucle WooCommerce classique)
   -------------------------------------------------------------------------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem .875rem; margin: 0 0 2rem; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important; padding: 0;
	display: flex; flex-direction: column; text-align: left;
}
@media (min-width: 700px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.25rem; } }
@media (min-width: 1100px) { .woocommerce ul.products.columns-4, .woocommerce-page ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--ish-encre); text-decoration: none; }
.woocommerce ul.products li.product a img {
	width: 100%; aspect-ratio: 4 / 5; object-fit: cover; margin: 0 0 .875rem;
	background: var(--ish-gris-clair); transition: opacity .3s ease;
}
@media (hover: hover) { .woocommerce ul.products li.product a:hover img { opacity: .9; } }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font: 400 .9375rem/1.35 var(--ish-font) !important; padding: 0 !important; margin: 0 0 .25rem !important; color: var(--ish-encre);
}
.woocommerce ul.products li.product .price { color: var(--ish-encre) !important; font-weight: 500; font-size: 1rem !important; margin: 0 0 .875rem !important; }
.woocommerce ul.products li.product .price del { color: var(--ish-gris); font-weight: 300; }
.woocommerce ul.products li.product .button {
	margin-top: auto !important; width: 100%; min-height: 44px; border-radius: 0;
	background: transparent; color: var(--ish-encre); border: 1px solid var(--ish-encre);
	font-weight: 500; font-size: .875rem; padding: .6rem .75rem; text-align: center;
	display: inline-flex; align-items: center; justify-content: center;
}
.woocommerce ul.products li.product .button:hover { background: var(--ish-encre); color: #fff; }
.woocommerce ul.products li.product .button.loading { opacity: .6; }
.woocommerce ul.products li.product .button.added { background: var(--ish-rose); border-color: var(--ish-rose); color: var(--ish-rouge-profond); }
.woocommerce ul.products li.product .added_to_cart { display: block; text-align: center; padding: .5rem 0 0; font-size: .8125rem; font-weight: 500; }
.woocommerce span.onsale {
	background: var(--ish-rouge); color: #fff; border-radius: 0; min-height: 0; min-width: 0;
	line-height: 1; padding: .35rem .55rem; font-size: .75rem; font-weight: 500; top: .5rem; left: .5rem; right: auto; margin: 0;
}
.woocommerce ul.products li.product .onsale { top: .5rem; left: .5rem; right: auto; margin: 0; }
.woocommerce ul.products li.product.outofstock img { opacity: .55; }

/* --------------------------------------------------------------------------
   Pages catalogue : titre, fil d'Ariane, filtres, état vide
   -------------------------------------------------------------------------- */
.ish-main--shop { padding: 1rem var(--ish-pad) 4rem; }
.woocommerce .woocommerce-breadcrumb { font-size: .8125rem; color: var(--ish-gris); margin: .5rem 0 1rem; font-weight: 300; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ish-gris); }
.woocommerce-products-header__title { margin: .5rem 0 .75rem; font-size: clamp(2.25rem, 7vw, 3.75rem); font-weight: 300; }
.woocommerce-products-header .term-description { color: var(--ish-gris); max-width: 60ch; font-weight: 300; }
.woocommerce .woocommerce-result-count { float: none; margin: 0 0 .75rem; font-size: .875rem; color: var(--ish-gris); font-weight: 300; }

.ish-filters { margin: 0 0 2rem; }
.ish-filters__toggle {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem 1.25rem;
	border: 1px solid var(--ish-encre); font-weight: 500; cursor: pointer; list-style: none;
}
.ish-filters__toggle::-webkit-details-marker { display: none; }
.ish-filters[data-active] .ish-filters__toggle { background: var(--ish-encre); color: #fff; }
.ish-filters__group { border: 0; padding: 0; margin: 0 0 1.25rem; min-width: 0; }
.ish-filters__legend { display: block; font-weight: 500; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .625rem; padding: 0; }
.ish-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.ish-chip {
	display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .5rem .95rem;
	border: 1px solid var(--ish-ligne); background: #fff;
	font-size: .875rem; font-weight: 400; color: var(--ish-encre); text-decoration: none; cursor: pointer;
}
.ish-chip:has(input:checked), .ish-chip[aria-current="page"] { border-color: var(--ish-encre); background: var(--ish-rose); }
.ish-chip input { accent-color: var(--ish-rouge); width: 18px; height: 18px; margin: 0; }
.ish-filters select { min-height: 48px; width: 100%; max-width: 320px; padding: .5rem 1rem; border: 1px solid var(--ish-encre); border-radius: 0; background: #fff; font: 400 1rem var(--ish-font); color: var(--ish-encre); }
.ish-filters__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.ish-filters__close { display: none; }

@media (max-width: 999px) {
	.ish-filters[open] > summary::before { content: ""; position: fixed; inset: 0; z-index: 60; background: rgba(23, 23, 23, .45); }
	.ish-filters[open] .ish-filters__panel {
		position: fixed; z-index: 61; left: 0; right: 0; bottom: 0;
		max-height: 86vh; max-height: 86dvh; overflow-y: auto; background: #fff;
		padding: 1.5rem var(--ish-pad) calc(1.25rem + env(safe-area-inset-bottom));
		animation: ish-sheet .3s var(--ish-ease);
	}
	.ish-filters__close { display: inline-flex; position: absolute; top: .5rem; right: .5rem; }
	.ish-filters__actions { position: sticky; bottom: 0; background: #fff; padding-top: .75rem; }
	.ish-filters__actions .ish-btn { flex: 1; }
}
@keyframes ish-sheet { from { transform: translateY(40px); opacity: .4; } to { transform: none; opacity: 1; } }
@media (min-width: 1000px) {
	.ish-filters > summary { display: none; }
	.ish-filters__panel { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.5rem 2.5rem; padding: 1.25rem 0; border-block: 1px solid var(--ish-ligne); }
	.ish-filters__form { display: contents; }
	.ish-filters__group { margin: 0; }
	.ish-filters select { width: 220px; }
}

.ish-empty { text-align: center; padding: 3.5rem 1rem; background: var(--ish-gris-clair); }
.ish-empty h2 { font-size: clamp(1.5rem, 5vw, 2.25rem); font-weight: 300; }
.ish-empty__actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */
.woocommerce div.product { position: relative; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none !important; width: 100% !important; }
.woocommerce div.product div.images { margin-bottom: 1.75rem; }
.woocommerce div.product div.images img { background: var(--ish-gris-clair); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: .5rem; overflow-x: auto; margin-top: .5rem !important; padding: 0; scrollbar-width: none; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; flex: none; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { opacity: .5; transition: opacity .2s ease; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; outline: 1px solid var(--ish-encre); outline-offset: -1px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { background: #fff; width: 44px; height: 44px; top: .75rem; right: .75rem; border-radius: 0; }
.woocommerce-product-gallery .flex-viewport { transition: height .3s ease; }

.woocommerce div.product .product_title { font-size: clamp(2rem, 6vw, 3rem); font-weight: 300; margin: 0 0 .25rem; }
.ish-ref { font-size: .8125rem; color: var(--ish-gris); letter-spacing: .06em; text-transform: uppercase; margin: 0 0 1rem; }
.ish-ref span { font-weight: 500; color: var(--ish-encre); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ish-encre); font-size: 1.5rem; font-weight: 500; margin: 0 0 1.25rem; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 1.25rem; font-weight: 300; }
.woocommerce div.product .stock { font-weight: 500; font-size: .9375rem; }
.woocommerce div.product .stock.in-stock { color: #1D6B3A; }
.woocommerce div.product .stock.out-of-stock { color: var(--ish-rouge-profond); }

.woocommerce div.product form.cart { margin: 0 0 1.25rem; }
.woocommerce div.product form.cart .variations { margin-bottom: 1rem; width: 100%; }
.woocommerce div.product form.cart .variations tr { display: block; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { font-weight: 500; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; }
.woocommerce div.product form.cart .variations select {
	width: 100%; min-height: 48px; padding: .5rem 1rem; margin: .375rem 0 .75rem;
	border: 1px solid var(--ish-encre); border-radius: 0; background-color: #fff; font: 400 1rem var(--ish-font);
}
.woocommerce div.product form.cart .reset_variations { display: inline-block; min-height: 44px; line-height: 44px; }
.woocommerce .quantity .qty {
	width: 5rem; height: 48px; min-height: 48px; padding: 0 .5rem; box-sizing: border-box;
	border: 1px solid var(--ish-encre); border-radius: 0; font: 400 1rem var(--ish-font); text-align: center;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart, .woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: .625rem; align-items: center; }
.woocommerce div.product form.cart div.quantity { margin: 0; float: none; }
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	float: none; flex: 1; min-height: 48px; border-radius: 0; padding: .75rem 1.25rem;
	background: transparent; color: var(--ish-encre); border: 1px solid var(--ish-encre); font-weight: 500;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover { background: var(--ish-encre); color: #fff; }
.woocommerce div.product form.cart .button.single_add_to_cart_button.disabled { opacity: .45; }
.woocommerce div.product form.cart .ish-wa { flex-basis: 100%; }

.woocommerce div.product .product_meta { font-size: .8125rem; color: var(--ish-gris); padding-top: 1rem; border-top: 1px solid var(--ish-ligne); font-weight: 300; }
.woocommerce div.product .product_meta .sku_wrapper { display: none; }
.woocommerce div.product .product_meta a { color: var(--ish-gris); }

.woocommerce div.product .woocommerce-tabs { margin-top: 3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 1.5rem; overflow-x: auto; padding: 0 !important; margin: 0 0 1.5rem !important; border-bottom: 1px solid var(--ish-ligne); scrollbar-width: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: none; background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 !important; font-weight: 400 !important; color: var(--ish-gris) !important; border-bottom: 1px solid transparent; margin-bottom: -1px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ish-encre) !important; border-bottom-color: var(--ish-encre); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0 0 2rem; font-weight: 300; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 1.5rem; font-weight: 300; }
.woocommerce table.shop_attributes { border-color: var(--ish-ligne); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--ish-ligne); padding: .75rem; font-style: normal; font-weight: 400; }
.woocommerce table.shop_attributes tr:nth-child(even) th, .woocommerce table.shop_attributes tr:nth-child(even) td { background: var(--ish-gris-clair); }
.woocommerce .related > h2, .woocommerce .up-sells > h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 300; margin: 2.5rem 0 1.5rem; }

@media (min-width: 900px) {
	.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0 clamp(2rem, 5vw, 5rem); align-items: start; }
	.woocommerce div.product > * { grid-column: 1 / -1; }
	.woocommerce div.product > div.images { grid-column: 1; margin: 0; }
	.woocommerce div.product > div.summary { grid-column: 2; position: sticky; top: calc(var(--ish-header-h) + var(--wp-admin--admin-bar--height, 0px) + 2rem); }
	.woocommerce div.product > .onsale { grid-column: 1; grid-row: 1; position: absolute; z-index: 2; }
}

.ish-pack, .ish-delivery { margin: 0 0 1.25rem; padding: 1.1rem 1.25rem; background: var(--ish-gris-clair); font-weight: 300; }
.ish-pack__title, .ish-delivery__title { font-weight: 500; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 .5rem; }
.ish-pack ul { margin: 0; padding-left: 1.1rem; }
.ish-delivery { background: var(--ish-rose); }
.ish-delivery p { margin: 0; }

/* Barre d'action fixe en bas (mobile) */
.ish-sticky {
	position: fixed; z-index: 40; left: 0; right: 0; bottom: 0;
	display: flex; align-items: center; gap: .5rem;
	padding: .625rem var(--ish-pad) calc(.625rem + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, .97); border-top: 1px solid var(--ish-ligne);
	transform: translateY(0); transition: transform .3s var(--ish-ease);
}
.ish-sticky[hidden] { display: flex; transform: translateY(110%); visibility: hidden; }
.ish-sticky__price { font-weight: 500; font-size: 1rem; margin-right: auto; white-space: nowrap; }
.ish-sticky__price del { display: none; }
.ish-sticky .ish-wa { flex: none; min-height: 48px; }
.ish-sticky .ish-wa-error { position: absolute; bottom: 100%; left: 0; right: 0; margin: 0; padding: .5rem var(--ish-pad); background: #fff; }
.ish-has-sticky .wp-site-blocks { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
@media (min-width: 900px) {
	.ish-sticky { display: none !important; }
	.ish-has-sticky .wp-site-blocks { padding-bottom: 0; }
}

/* Bouton WhatsApp (extension) */
.ish-wa {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px; padding: .75rem 1.5rem; border: 0; border-radius: 0;
	background: var(--ish-rouge); color: #fff !important; text-decoration: none;
	font: 500 .9375rem/1.2 var(--ish-font); letter-spacing: .02em; cursor: pointer;
	transition: background-color .25s ease, transform .15s ease;
}
.ish-wa:hover { background: var(--ish-rouge-profond); }
.ish-wa[aria-busy="true"] { opacity: .7; cursor: progress; }
.ish-wa--clair { background: #fff; color: var(--ish-rouge) !important; }
.ish-wa--clair:hover { background: var(--ish-encre); color: #fff !important; }
.ish-wa-note { flex-basis: 100%; font-size: .8125rem; color: var(--ish-gris); margin: .25rem 0 0; font-weight: 300; }
.ish-wa-error { flex-basis: 100%; font-size: .875rem; font-weight: 500; color: var(--ish-rouge-profond); margin: .25rem 0 0; }
.ish-wa-error:empty { display: none; }
.ish-footer .ish-wa-error, .ish-footer .ish-wa-note { color: #fff; }

/* --------------------------------------------------------------------------
   Sélection (panier classique)
   -------------------------------------------------------------------------- */
.woocommerce-cart .wp-block-post-title { font-size: clamp(2.25rem, 7vw, 3.5rem); font-weight: 300; }
.woocommerce table.shop_table { border-color: var(--ish-ligne); border-radius: 0; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--ish-ligne); font-weight: 400; }
.woocommerce-cart table.cart img { width: 72px; }
.woocommerce a.remove { width: 32px; height: 32px; line-height: 30px; font-size: 1.4rem; color: var(--ish-rouge-profond) !important; border-radius: 0; }
.woocommerce a.remove:hover { background: var(--ish-rouge); color: #fff !important; }
.woocommerce-cart table.cart td.actions .coupon { display: none; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; float: none; }
@media (min-width: 900px) { .woocommerce .cart-collaterals .cart_totals { width: 48%; float: right; } }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 1.75rem; font-weight: 300; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button {
	border-radius: 0; min-height: 44px; padding: .65rem 1.25rem; font-weight: 500;
	background: transparent; color: var(--ish-encre); border: 1px solid var(--ish-encre);
}
.woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--ish-encre); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { padding: .65rem 1.25rem; }
.ish-cart-wa { display: flex; flex-direction: column; gap: .5rem; padding-top: .5rem; }
.ish-cart-wa .ish-wa { width: 100%; }

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top: 0 !important; border-radius: 0; background: var(--ish-gris-clair) !important; color: var(--ish-encre);
	padding: 1rem 1.25rem 1rem 3rem !important; font-weight: 300;
}
.woocommerce-message::before { color: var(--ish-rouge) !important; }
.woocommerce-info::before { color: var(--ish-encre) !important; }
.woocommerce-error { background: var(--ish-rose) !important; }
.woocommerce-message .button { float: none !important; margin: .5rem 0 0 !important; display: inline-flex !important; }
@media (min-width: 700px) { .woocommerce-message .button { float: right !important; margin: -.25rem 0 0 1rem !important; } }

.ish-content-note { padding: 1rem 1.25rem; background: var(--ish-rose); }

/* --------------------------------------------------------------------------
   Animations au défilement (seulement si JavaScript tourne)
   -------------------------------------------------------------------------- */
.ish-js .ish-reveal {
	opacity: 0; transform: translate3d(0, 24px, 0);
	transition: opacity .6s ease, transform .7s var(--ish-ease);
	transition-delay: calc(var(--ish-i, 0) * 70ms);
}
.ish-js .ish-reveal--card { transform: translate3d(0, 14px, 0); transition-duration: .45s, .55s; }
.ish-js .ish-reveal.is-in, .ish-reveal-all .ish-reveal { opacity: 1; transform: none; }
.ish-lite .ish-reveal { transition-duration: .3s !important; transition-delay: 0s !important; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ish-js .ish-reveal, .ish-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.ish-hero__title, .ish-hero__text, .ish-hero__actions, .ish-hero__visual, .ish-pop__panel, .ish-filters[open] .ish-filters__panel { animation: none !important; }
	.ish-parallax__img { transform: none !important; will-change: auto; }
	.ish-cat-card__img, .ish-mosaic__item img, .ish-sticky, .ish-badge { transition: none !important; }
	.ish-cat-card:hover .ish-cat-card__img, .ish-mosaic__item:hover img { transform: none; }
}
