/*
 * Isra homepage. Mobile-first (spec: 390px), desktop layout from 1024px (spec: 1440px),
 * header nav from 1100px. Tokens and type: CLAUDE.md §5. Loaded on the front page only.
 */

/* Fonts, hosted with the theme (4 Oct 2026). They came from Google Fonts, but LiteSpeed's CSS
   minify inlined that stylesheet and dropped DM Sans, so body text showed in the phone's
   system font. Latin only, trimmed to what the site uses: Bricolage Grotesque 800 (optical
   size 14–56) and DM Sans 400–700 (optical size 9–40); 33 + 34 KB. Masters and steps:
   reference/assets/fonts/ (CLAUDE.md §5). */
@font-face {
	font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 800; font-display: swap;
	src: url('../fonts/bricolage-grotesque-800-v9.woff2') format('woff2');
}
@font-face {
	font-family: 'DM Sans'; font-style: normal; font-weight: 400 700; font-display: swap;
	src: url('../fonts/dm-sans-400-700-v17.woff2') format('woff2');
}

:root {
	--ih-sticky-top: 0px; /* sticky desktop header height (73px at 1100px+) */
	--ih-ground: #FFF7F8;
	--ih-ink: #1C1216;
	--ih-ink-hover: #3A2A31;
	--ih-accent: #B0255E;
	--ih-accent-dark: #F4A3C3;
	--ih-muted: #5E4A54;
	--ih-was: #8A7480;
	--ih-blush: #FBE4EA;
	--ih-lilac: #F4ECF7;
	--ih-lilac-line: #B79AC4;
	--ih-lilac-ink: #5A3F6B;
	--ih-card-border: #F1DCE2;
	--ih-chip: #CDB4BE;
	--ih-divider: #EBD3DA;
	--ih-whatsapp: #1E7A46;
	--ih-footer-text: #D9C8CF;
	--ih-footer-muted: #BBA7B0;
	--ih-footer-rule: #3A2A31;
	--ih-footer-chip: #5C4651;
	--ih-display: 'Bricolage Grotesque', system-ui, sans-serif;
	--ih-body: 'DM Sans', system-ui, sans-serif;
	--ih-gutter: 16px;
	--ih-max: 1280px;
	--ih-ease: cubic-bezier(.2, .7, .2, 1);
}
@media (min-width: 1024px) {
	:root { --ih-gutter: 32px; }
}

/* ---------- Base (this page loads no theme or WooCommerce CSS) ---------- */
body.isra-home {
	margin: 0;
	background: var(--ih-ground);
	color: var(--ih-ink);
	font-family: var(--ih-body);
	font-size: 15px;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
/* Resets wrapped in :where() so they carry no specificity and component rules always win. */
:where(.isra-home) *, :where(.isra-home) *::before, :where(.isra-home) *::after { box-sizing: border-box; }
:where(.isra-home) img { display: block; max-width: 100%; height: auto; }
:where(.isra-home) a { color: var(--ih-ink); }
:where(.isra-home) a:hover { color: var(--ih-accent); }
:where(.isra-home) :is(h1, h2, p, ul, ol, figure) { margin: 0; }
:where(.isra-home) :is(ul, ol) { padding: 0; list-style: none; }
:where(.isra-home) :is(button, input) { font: inherit; color: inherit; }
:where(.isra-home) :focus-visible { outline: 2px solid var(--ih-accent); outline-offset: 2px; }
.isra-home dialog:focus { outline: none; } /* panels take focus when they open (home.js); no ring around the whole panel */
@media (min-width: 1024px) {
	body.isra-home { font-size: 16px; line-height: 1.5; }
}

.isra-home .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}
.ih-skip {
	position: absolute; left: 8px; top: -60px; z-index: 1000;
	background: var(--ih-ink); color: #fff !important;
	padding: 10px 16px; border-radius: 12px; font-weight: 700; text-decoration: none;
}
.ih-skip:focus { top: 8px; }

.ih-wrap {
	width: 100%;
	max-width: calc(var(--ih-max) + 2 * var(--ih-gutter));
	margin: 0 auto;
	padding: 0 var(--ih-gutter);
}
.ih-hscroll { position: relative; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ih-hscroll::-webkit-scrollbar { display: none; }
.ih-icon { flex: none; }

/* ---------- Type ---------- */
.ih-h2 {
	font-family: var(--ih-display);
	font-weight: 800;
	font-size: 26px;
	line-height: 1.1;
	letter-spacing: -0.01em;
}
.ih-h2--small { font-size: 22px; letter-spacing: 0; }
.ih-sub { font-size: 14px; color: var(--ih-muted); margin-top: 2px; }
.ih-textlink { font-weight: 700; }
@media (min-width: 1024px) {
	.ih-h2 { font-size: 40px; letter-spacing: -0.015em; }
	.ih-h2--small { font-size: 30px; letter-spacing: 0; }
	.ih-sub { font-size: 17px; margin-top: 4px; }
}

/* ---------- Buttons & pills ---------- */
.ih-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: 50px; padding: 0 22px;
	border: 0; border-radius: 14px;
	font-family: var(--ih-body); font-size: 15px; font-weight: 700; line-height: 1;
	text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: transform .18s var(--ih-ease), background-color .2s ease, box-shadow .2s ease, color .2s ease, border-color .2s ease;
	-webkit-tap-highlight-color: transparent;
}
.isra-home .ih-btn--primary { background: var(--ih-ink); color: #fff; }
.isra-home .ih-btn--primary:hover { background: var(--ih-ink-hover); color: #fff; }
.isra-home .ih-btn--secondary { background: #fff; color: var(--ih-ink); border: 1.5px solid var(--ih-ink); }
.isra-home .ih-btn--secondary:hover { background: var(--ih-blush); color: var(--ih-ink); }
.isra-home .ih-btn--light { background: #fff; color: var(--ih-ink); }
.isra-home .ih-btn--light:hover { background: var(--ih-blush); color: var(--ih-ink); }
.isra-home .ih-btn--whatsapp { background: var(--ih-whatsapp); color: #fff; }
.isra-home .ih-btn--whatsapp:hover { background: #17633a; color: #fff; }
.ih-btn--cart { width: 100%; height: 42px; padding: 0 16px; border-radius: 12px; font-size: 14px; }
/* Add to cart states: WooCommerce adds .loading / .added; home.js adds .is-added */
.ih-btn--cart { position: relative; }
.ih-btn.loading { pointer-events: none; }
.isra-home .ih-btn--cart.loading { color: transparent; }
.ih-btn--cart.loading::after {
	content: ""; position: absolute; inset: 0; margin: auto;
	width: 18px; height: 18px; border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff;
	animation: ih-spin .7s linear infinite;
}
.isra-home .ih-btn--cart.is-added { background: var(--ih-accent); color: #fff; animation: ih-pop .4s var(--ih-ease); }
.ih-btn--cart .ih-icon { width: 16px; height: 16px; }
.isra-home .ih-btn--soldout { background: #F3E6EA; color: var(--ih-muted); cursor: default; } /* listings: sold-out sets stay visible, last */
.isra-home .added_to_cart { display: none; } /* the mini cart opens instead */
@media (min-width: 1024px) {
	.ih-btn--lg { height: 56px; padding: 0 30px; font-size: 16px; }
	.ih-btn--cart { height: 48px; border-radius: 14px; font-size: 15px; }
}

.ih-pill { display: inline-flex; align-items: center; border-radius: 999px; font-weight: 700; line-height: 1.35; }
.ih-pill--photo {
	position: absolute; top: 8px; left: 8px;
	background: #fff; color: var(--ih-ink);
	font-size: 11px; padding: 3px 8px;
}
.ih-pill--save { align-self: center; font-size: 12px; color: var(--ih-accent); background: var(--ih-blush); padding: 2px 8px; }
.ih-pill--kit {
	align-self: flex-start;
	font-size: 12px; letter-spacing: .06em; text-transform: uppercase;
	background: var(--ih-accent); color: #fff; padding: 4px 10px;
}
@media (min-width: 1024px) {
	.ih-pill--photo { top: 14px; left: 14px; font-size: 12.5px; padding: 4px 10px; }
	.ih-pill--kit { font-size: 12.5px; letter-spacing: .07em; padding: 5px 12px; }
}

.ih-iconbtn {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 12px; background: transparent; color: var(--ih-ink);
	cursor: pointer; text-decoration: none;
}

/* ---------- Announcement ticker (scrolls like a news bar) ---------- */
.ih-announce {
	display: flex; align-items: center; height: 38px; overflow: hidden;
	background: var(--ih-ink); color: #fff;
	font-size: 12.5px; font-weight: 500; letter-spacing: .03em; line-height: 1;
}
.ih-announce:focus-visible { outline-offset: -3px; }
.ih-ticker {
	width: 100%; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.ih-ticker__track { display: flex; width: max-content; animation: ih-marquee 45s linear infinite; }
.ih-announce:hover .ih-ticker__track, .ih-announce:focus-within .ih-ticker__track { animation-play-state: paused; }
.ih-ticker__group { display: flex; flex: none; }
.ih-ticker__item { display: flex; align-items: center; white-space: nowrap; }
.ih-ticker__item::after {
	content: ""; flex: none; width: 4px; height: 4px; margin: 0 22px;
	border-radius: 50%; background: var(--ih-accent-dark);
}
@media (min-width: 768px) {
	.ih-announce { height: 40px; font-size: 13px; }
	.ih-ticker__item::after { margin: 0 28px; }
}
@media (prefers-reduced-motion: reduce) {
	.ih-ticker__track { animation: none !important; }
}
@keyframes ih-marquee { to { transform: translateX(-50%); } }

/* ---------- Header ---------- */
.ih-header { background: var(--ih-ground); }
.ih-header__bar {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
	height: 60px; padding: 0 6px;
}
.ih-header__menu { justify-self: start; }
.ih-logo { display: flex; justify-self: center; }
.ih-logo__img { height: 38px; width: auto; }
.ih-logo__text { font-family: var(--ih-display); font-weight: 800; font-size: 26px; letter-spacing: .02em; }
.ih-nav { display: none; }
.ih-header__actions { display: flex; justify-self: end; }
.ih-header__account { display: none; }
.ih-cart__count {
	position: absolute; top: 6px; right: 5px;
	display: flex; align-items: center; justify-content: center;
	min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px;
	background: var(--ih-accent); color: #fff;
	font-size: 10px; font-weight: 700; line-height: 1;
}
.ih-cart__count[hidden] { display: none; }

.ih-chips-wrap { position: relative; border-bottom: 1px solid var(--ih-card-border); }
.ih-chips {
	display: flex; align-items: center; gap: 8px;
	height: 48px; padding: 0 16px;
	overflow-x: auto; white-space: nowrap; scrollbar-width: none;
	scroll-behavior: smooth;
}
.ih-chips::-webkit-scrollbar { display: none; }
.ih-chips::after { content: ""; flex: 0 0 48px; } /* room to scroll the last chip past the arrow */
/* Arrow that scrolls the chips (shown only when they overflow; flips at the end) */
.ih-chips-wrap::after {
	content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 72px;
	background: linear-gradient(90deg, rgba(255, 247, 248, 0), var(--ih-ground) 55%);
	pointer-events: none; transition: opacity .25s ease;
}
.ih-chips-next {
	position: absolute; z-index: 1; top: 50%; right: 4px; transform: translateY(-50%);
	display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--ih-ink);
	cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.ih-chips-next__circle {
	display: flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%; background: #fff;
	box-shadow: 0 4px 12px rgba(28, 18, 22, .16);
	transition: transform .3s var(--ih-ease), box-shadow .2s ease;
}
.ih-chips-next:active .ih-chips-next__circle { transform: scale(.9); }
.ih-chips-wrap.is-end .ih-chips-next__circle { transform: rotate(180deg); }
.ih-chips-wrap.is-end::after { opacity: 0; }
.ih-chips-wrap.is-end .ih-chips-next:active .ih-chips-next__circle { transform: rotate(180deg) scale(.9); }
.ih-chips-wrap.is-fit::after, .ih-chips-wrap.is-fit .ih-chips-next { display: none; }
.isra-home .ih-chip {
	flex: none; padding: 7px 14px; border-radius: 999px;
	background: var(--ih-blush); color: var(--ih-ink);
	font-size: 13px; font-weight: 500; text-decoration: none;
}
.isra-home .ih-chip--active { background: var(--ih-ink); color: #fff; font-weight: 700; }

.ih-search { padding: 12px 0; border-bottom: 1px solid var(--ih-card-border); }
.ih-search[hidden] { display: none; }
.ih-search__form { display: flex; gap: 8px; }
.ih-search__input {
	flex: 1; min-width: 0; height: 46px; padding: 0 14px;
	border: 1.5px solid var(--ih-chip); border-radius: 12px; background: #fff;
	font-size: 16px;
}
.ih-search__input:focus { outline: none; border-color: var(--ih-ink); }
.ih-search__field { position: relative; display: flex; flex: 1; min-width: 0; }
.ih-search__clear { /* × inside the field once something is typed (like the drawer's) */
	position: absolute; top: 5px; right: 5px; display: none; place-items: center; width: 36px; height: 36px;
	padding: 0; border: 0; border-radius: 10px; background: none; color: var(--ih-muted); cursor: pointer;
}
.ih-search__input:not(:placeholder-shown) ~ .ih-search__clear { display: grid; }
.ih-search__input:not(:placeholder-shown) { padding-right: 48px; }
.ih-search__clear:hover, .ih-drawer__search-clear:hover { background: rgba(28, 18, 22, .06); color: var(--ih-ink); }
.ih-search__submit { height: 46px; border-radius: 12px; }

/* ---------- Instant search results (inc/search.php, home.js). Desktop: a card under the header
   field with a row of product cards. Menu drawer: rows in place of the menu while typing. ---------- */
.ih-sr[hidden], .ih-sr__list[hidden], .ih-sr__note[hidden] { display: none; }
.ih-sr__list { display: flex; flex-direction: column; gap: 16px; }
.ih-sr mark { background: none; color: var(--ih-accent); }
.ih-sr__links { display: flex; flex-wrap: wrap; gap: 8px; }
.isra-home .ih-sr__link {
	display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px;
	border-radius: 999px; background: var(--ih-blush); color: var(--ih-ink);
	font-size: 14px; font-weight: 700; text-decoration: none;
}
.isra-home .ih-sr__link:hover, .ih-sr__link.is-active { background: #F7D3DE; }
.ih-sr__kind { font-size: 12px; font-weight: 500; color: var(--ih-muted); }
.ih-sr__label { margin-bottom: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ih-muted); }
.ih-sr__items { display: flex; flex-direction: column; gap: 2px; margin: 0 -8px; }
.isra-home .ih-sr__item {
	display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px;
	padding: 8px; border-radius: 14px; color: var(--ih-ink); text-decoration: none;
}
/* Hover like the product cards (owner: no pink background): name in the accent, photo zooms. */
.isra-home .ih-sr__item:hover .ih-sr__name, .ih-sr__item.is-active .ih-sr__name { color: var(--ih-accent); }
.ih-sr__link.is-active, .ih-sr__item.is-active, .ih-sr__all.is-active { outline: 2px solid var(--ih-ink); outline-offset: -2px; } /* arrow keys */
.ih-sr__media { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--ih-lilac); }
.ih-sr__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ih-ease); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.ih-sr__item:hover .ih-sr__media img { transform: scale(1.05); }
}
.ih-sr__item.is-soldout .ih-sr__media img { opacity: .55; }
.ih-sr__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ih-sr__name, .ih-sr__meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ih-sr__name { font-size: 15px; font-weight: 700; line-height: 1.3; transition: color .2s ease; }
.ih-sr__meta { font-size: 13px; color: var(--ih-muted); }
.ih-sr__price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.ih-sr__sold { font-size: 12px; font-weight: 500; color: var(--ih-muted); }
.isra-home .ih-sr__all {
	display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px;
	border: 1.5px solid var(--ih-ink); border-radius: 14px; background: #fff; color: var(--ih-ink);
	font-size: 15px; font-weight: 700; text-decoration: none;
}
.isra-home .ih-sr__all:hover, .ih-sr__all.is-active { background: var(--ih-blush); }
.ih-sr__note { font-size: 14.5px; color: var(--ih-muted); }
.isra-home .ih-sr__note a { color: var(--ih-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ih-sr__list:not([hidden]) + .ih-sr__note:not([hidden]) { margin-top: 14px; }
.ih-drawer .ih-sr { margin-top: 16px; }
.ih-drawer__body.is-searching .ih-drawer__nav { display: none; } /* results take the menu's place */

.ih-search__form { position: relative; }
.ih-search .ih-sr {
	position: absolute; z-index: 45; top: calc(100% + 8px); left: var(--ih-gutter); right: var(--ih-gutter);
	max-height: min(600px, calc(100vh - 200px)); overflow-y: auto; overscroll-behavior: contain;
	padding: 20px; border: 1px solid var(--ih-card-border); border-radius: 20px; background: #fff;
	box-shadow: 0 14px 36px rgba(28, 18, 22, .14), 0 2px 6px rgba(28, 18, 22, .06);
}
.ih-search .ih-sr__items { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.isra-home .ih-search .ih-sr__item { grid-template-columns: 1fr; align-content: start; gap: 10px; padding: 8px 8px 12px; }
.ih-search .ih-sr__media { border-radius: 14px; }
.ih-search .ih-sr__price { flex-direction: row; align-items: baseline; gap: 8px; }
.ih-search .ih-sr__all { align-self: flex-start; }

@media (min-width: 1100px) {
	:root { --ih-sticky-top: 73px; }
	/* Sticky on desktop: the announcement bar scrolls away, the header stays (no layout jump:
	   sticky keeps its place in the flow). 72px + 1px border = --ih-sticky-top. */
	.ih-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--ih-card-border); }
	.ih-header__bar { grid-template-columns: auto 1fr auto; gap: 32px; height: 72px; padding: 0 var(--ih-gutter); }
	.ih-header__menu { display: none; }
	.ih-logo { justify-self: start; }
	/* The logo file (300×188) has the ISRA wordmark in rows 20–104 and the script tail below.
	   Shift the image so the wordmark's centre (row 62), not the box's (row 94), lines up with
	   the nav text: 56px × 32/188 ≈ 9.5px. The empty bottom of the file may hang past the bar. */
	.ih-logo__img { height: 56px; position: relative; top: 9.5px; }
	.ih-nav { display: flex; justify-content: center; gap: 28px; font-size: 15px; font-weight: 500; }
	.isra-home .ih-nav__link--group { margin-left: 12px; } /* 28px gap + 12px = 40px between the groups */
	.isra-home .ih-nav__link { text-decoration: none; white-space: nowrap; }
	.isra-home .ih-nav__link--strong { font-weight: 700; }
	.ih-header__actions { gap: 4px; }
	.ih-header__account { display: inline-flex; }
	.ih-cart__count { top: 5px; right: 3px; min-width: 18px; height: 18px; font-size: 10.5px; }
	.ih-chips-wrap { display: none; }
}

/* ---------- Mobile menu drawer (team brief, 4 Oct 2026; template-parts/home/drawer.php) ----------
   85% wide from the left over a 40% black scrim. The footer sits at the bottom when the
   content is short and scrolls with it when long. */
.ih-drawer {
	position: fixed; inset: 0 auto 0 0;
	width: 85vw; max-width: 420px;
	height: 100%; max-height: none;
	margin: 0; padding: 0; border: 0;
	overflow-y: auto; overscroll-behavior: contain;
	background: var(--ih-ground); color: var(--ih-ink);
}
.ih-drawer::backdrop { background: rgba(0, 0, 0, .4); }
.ih-drawer__inner { display: flex; flex-direction: column; min-height: 100%; }
.ih-drawer__head {
	display: flex; align-items: center; justify-content: space-between; flex: none;
	padding: 8px 6px 8px 16px;
	border-bottom: 1px solid var(--ih-card-border);
}
.ih-drawer__logo { display: inline-flex; }
.ih-drawer__logo-img { height: 56px; width: auto; }
.ih-drawer__body { display: flex; flex-direction: column; gap: 18px; padding: 16px; }
.ih-drawer__nav { display: flex; flex-direction: column; gap: 18px; }

.ih-drawer__search { position: relative; }
.ih-drawer__search-icon {
	position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 44px; height: 44px;
	padding: 0; border: 0; background: none; color: var(--ih-muted); cursor: pointer;
}
.ih-drawer__search-go { /* appears once something is typed */
	position: absolute; top: 4px; right: 4px; display: none; place-items: center; width: 36px; height: 36px;
	padding: 0; border: 0; border-radius: 10px; background: var(--ih-ink); color: #fff; cursor: pointer;
}
.ih-drawer__search-clear { /* × to the left of the arrow, also once something is typed */
	position: absolute; top: 4px; right: 44px; display: none; place-items: center; width: 36px; height: 36px;
	padding: 0; border: 0; border-radius: 10px; background: none; color: var(--ih-muted); cursor: pointer;
}
.ih-drawer__search-input:not(:placeholder-shown) ~ .ih-drawer__search-go,
.ih-drawer__search-input:not(:placeholder-shown) ~ .ih-drawer__search-clear { display: grid; }
.ih-drawer__search-input:not(:placeholder-shown) { padding-right: 88px; }
.ih-drawer__search-input::-webkit-search-cancel-button, .ih-search__input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; } /* the browser's blue × */
.ih-drawer__search-input {
	width: 100%; height: 44px; padding: 0 48px 0 42px;
	border: 1.5px solid var(--ih-chip); border-radius: 14px; background: #fff;
	font: inherit; font-size: 16px; color: var(--ih-ink); /* 16px: no zoom on iPhone */
	-webkit-appearance: none; appearance: none;
}
.ih-drawer__search-input::placeholder { color: var(--ih-muted); }
.ih-drawer__search-input:focus { outline: none; border-color: var(--ih-ink); }

.ih-drawer__pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.isra-home .ih-drawer__pill {
	display: inline-flex; align-items: center; flex: none; height: 36px; padding: 0 16px;
	border: 1.5px solid var(--ih-ink); border-radius: 999px;
	font-size: 14px; font-weight: 700; color: var(--ih-ink); text-decoration: none;
}
.isra-home .ih-drawer__pill:hover { background: var(--ih-blush); }

.ih-drawer__label { margin: 0 0 -8px; font-family: var(--ih-display); font-weight: 800; font-size: 20px; line-height: 1.2; }
.ih-drawer__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.ih-drawer__tile {
	position: relative; display: block; overflow: hidden; isolation: isolate;
	aspect-ratio: 4 / 3; border-radius: 14px; background: var(--ih-lilac);
	text-decoration: none;
}
.ih-drawer__tile-img { width: 100%; height: 100%; object-fit: cover; }
.isra-home .ih-drawer__tile-label {
	position: absolute; left: 8px; bottom: 8px;
	padding: 4px 10px; border-radius: 999px; background: #fff;
	font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--ih-ink);
}

.isra-home .ih-drawer__promo {
	display: flex; flex-direction: column; gap: 4px; padding: 16px;
	border-radius: 14px; background: var(--ih-ink); color: #fff; text-decoration: none;
}
.isra-home .ih-drawer__promo:hover { background: var(--ih-ink-hover); color: #fff; }
.ih-drawer__promo-title { font-family: var(--ih-display); font-weight: 800; font-size: 18px; line-height: 1.2; }
.ih-drawer__promo-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; }

.ih-drawer__rows { margin: 0; padding: 0; list-style: none; }
.ih-drawer__rows li + li { border-top: 1px solid var(--ih-card-border); }
.isra-home .ih-drawer__row {
	display: flex; align-items: center; gap: 12px; height: 56px;
	color: var(--ih-ink); text-decoration: none;
}
.ih-drawer__row-media { flex: none; width: 40px; height: 40px; overflow: hidden; border-radius: 10px; background: var(--ih-lilac); }
.ih-drawer__row-img { width: 40px; height: 40px; object-fit: cover; }
.ih-drawer__row-label { flex: 1; min-width: 0; font-size: 16px; font-weight: 500; }
.ih-drawer__row-chevron { flex: none; color: var(--ih-muted); transform: rotate(-90deg); }

.ih-drawer__foot {
	margin-top: auto; padding: 16px 16px max(16px, env(safe-area-inset-bottom));
	border-top: 1px solid var(--ih-card-border);
}
.ih-drawer__wa { width: 100%; }
.ih-drawer__trust { margin-top: 10px; font-size: 13px; color: var(--ih-muted); text-align: center; }
.ih-drawer__links { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; font-size: 13px; color: var(--ih-muted); }
.isra-home .ih-drawer__links a { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; font-weight: 500; color: var(--ih-ink); text-decoration: none; }

/* ---------- Sections ---------- */
.ih-section { padding: 32px 0 0; }
.ih-section > .ih-wrap { display: flex; flex-direction: column; gap: 16px; }
.ih-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.ih-viewall { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 10px 0; font-size: 14px; font-weight: 700; }
.ih-viewall__icon { display: none; }
.ih-howto, .ih-reels { display: flex; flex-direction: column; gap: 16px; }
@media (min-width: 1024px) {
	.ih-section { padding: 0 0 72px; }
	.ih-section > .ih-wrap, .ih-howto, .ih-reels { gap: 28px; }
	.ih-viewall { font-size: 15px; }
	.ih-viewall__icon { display: block; }
}

/* ---------- Hero: rotating banner + Shop by vibe ---------- */
.ih-hero__inner { display: flex; flex-direction: column; padding: 0; }
.ih-promo__inner { padding: 0; } /* second banner video, after Trending: full width on phones like the hero */
@media (min-width: 1024px) {
	.ih-promo__inner { padding: 0 var(--ih-gutter); }
}
.ih-banner {
	position: relative; overflow: hidden; isolation: isolate;
	aspect-ratio: 2752 / 1536; background: var(--ih-blush);
	touch-action: pan-y; /* vertical scroll stays native; horizontal swipes change slides */
}
.ih-banner__slide {
	position: absolute; inset: 0;
	opacity: 0; visibility: hidden;
	transition: opacity .9s ease, visibility 0s linear .9s;
}
.ih-banner__slide.is-active { z-index: 1; opacity: 1; visibility: visible; transition: opacity .9s ease, visibility 0s; }
.ih-banner__link { display: block; width: 100%; height: 100%; }
.ih-banner__img { width: 100%; height: 100%; object-fit: cover; user-select: none; -webkit-user-drag: none; }
/* Hero video: the poster image shows first; the video fades in over it once it plays (home.js) */
.ih-banner__video {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	opacity: 0; transition: opacity .6s ease; pointer-events: none;
}
.ih-banner__video.is-playing { opacity: 1; }
.ih-banner--video .ih-banner__slide.is-active .ih-banner__img { animation: none; } /* no slow zoom under the video */
/* The set in the video (name, price, Add to cart), bottom-left */
.ih-vcard {
	position: absolute; left: 12px; bottom: 12px; z-index: 2;
	display: flex; align-items: center; gap: 12px; max-width: calc(100% - 24px);
	padding: 6px 6px 6px 14px; border-radius: 16px;
	background: rgba(255, 255, 255, .95); box-shadow: 0 6px 20px rgba(28, 18, 22, .16);
}
.isra-home .ih-vcard__info { display: flex; flex-direction: column; min-width: 0; color: var(--ih-ink); text-decoration: none; }
.ih-vcard__name { overflow: hidden; font-size: 14px; font-weight: 700; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.ih-vcard__price { font-size: 13.5px; line-height: 1.3; }
.isra-home .ih-vcard__btn { flex: none; width: auto; height: 40px; padding: 0 16px; border-radius: 12px; font-size: 14px; }
@media (min-width: 1024px) {
	.ih-vcard { left: 24px; bottom: 24px; gap: 16px; padding: 8px 8px 8px 20px; border-radius: 20px; }
	.ih-vcard__name { font-size: 16px; }
	.ih-vcard__price { font-size: 15px; }
	.isra-home .ih-vcard__btn { height: 48px; padding: 0 22px; border-radius: 14px; font-size: 15px; }
}
@media (prefers-reduced-motion: no-preference) {
	.ih-vcard { animation: ih-rise .6s var(--ih-ease) .5s both; } /* rises in just after the banner */
}
.ih-hero__vibes { display: flex; flex-direction: column; gap: 16px; padding: 24px 16px 0; }
@media (min-width: 1024px) {
	.ih-hero { padding: 32px 0 40px; }
	.ih-hero__inner { gap: 48px; padding: 0 var(--ih-gutter); }
	.ih-banner { aspect-ratio: 2 / 1; border-radius: 28px; }
	.ih-hero__vibes { gap: 28px; padding: 0; }
}

/* ---------- Product card (three tiers) ---------- */
.ih-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; text-decoration: none; }
.ih-card__media { position: relative; overflow: hidden; border-radius: 16px; isolation: isolate; }
.ih-card__media .ih-pill--photo { z-index: 1; }
.ih-card__media .ih-pill--soldout { top: auto; bottom: 8px; background: var(--ih-ink); color: #fff; } /* bottom-left: the photos carry their design code top-left */

/* Breadcrumb (product and shop pages) */
.ip-crumbs { padding: 12px 0; }
.ip-crumbs ol { display: flex; align-items: center; min-width: 0; font-size: 13px; color: var(--ih-muted); white-space: nowrap; overflow: hidden; }
.ip-crumbs li { display: flex; align-items: center; min-width: 0; }
.ip-crumbs li + li::before { content: "›"; margin: 0 8px; color: var(--ih-chip); }
.isra-home .ip-crumbs a { color: var(--ih-muted); text-decoration: none; }
.isra-home .ip-crumbs a:hover { color: var(--ih-accent); }
.ip-crumbs [aria-current] { overflow: hidden; text-overflow: ellipsis; color: var(--ih-ink); font-weight: 500; }
.ih-card__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; background: var(--ih-lilac); }
.ih-card__read { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.isra-home .ih-card__name { font-size: 16px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.ih-meta { font-size: 13px; line-height: 1.35; color: var(--ih-muted); }
.ih-meta__rating { color: var(--ih-ink); white-space: nowrap; }
.ih-meta__rating .ih-icon { display: inline; vertical-align: -1px; }
.ih-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; }
.ih-price__now { font-size: 24px; font-weight: 700; line-height: 1.15; color: var(--ih-ink); }
.ih-price--sale .ih-price__now { color: var(--ih-accent); }
.ih-price__was { font-size: 13px; color: var(--ih-was); }
.isra-home a.ih-card:hover .ih-card__name { color: var(--ih-accent); }
@media (min-width: 1024px) {
	.ih-card__img { border-radius: 22px; }
	.isra-home .ih-card__name { font-size: 17px; }
}

.ih-grid--products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
.ih-card--grid .ih-price { flex-grow: 1; align-content: flex-start; }
@media (min-width: 900px) {
	.ih-grid--products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
}

/* ---------- How to apply ---------- */
.ih-howto { padding-top: 36px; }
.ih-howto__scroller { position: relative; }
.ih-howto__steps {
	display: flex; gap: 12px;
	padding: 0 16px; scroll-padding-left: 16px;
	scroll-snap-type: x mandatory;
}
.ih-step { flex: none; width: 250px; display: flex; flex-direction: column; gap: 10px; scroll-snap-align: start; }
.ih-step__img { width: 250px; height: 250px; object-fit: cover; border-radius: 18px; }
.ih-step__caption { display: flex; align-items: flex-start; gap: 10px; }
.ih-step__num {
	flex: none; display: flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%;
	background: var(--ih-ink); color: #fff;
	font-family: var(--ih-display); font-weight: 800; font-size: 14px;
}
.ih-step__title { display: block; font-size: 15px; line-height: 1.3; }
.ih-step__text { font-size: 13.5px; color: var(--ih-muted); }
.ih-step-next {
	position: absolute; right: 12px; top: 103px;
	display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 50%; background: #fff; color: var(--ih-ink);
	box-shadow: 0 6px 18px rgba(28, 18, 22, .18); cursor: pointer;
}
.ih-howto__note { font-size: 14px; color: var(--ih-muted); }
@media (min-width: 1024px) {
	.ih-howto { padding: 32px 0 72px; }
	.ih-howto__steps {
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
		max-width: calc(var(--ih-max) + 2 * var(--ih-gutter)); margin: 0 auto;
		padding: 0 var(--ih-gutter); overflow: visible;
	}
	.ih-step { width: auto; gap: 16px; }
	.ih-step__img { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 22px; }
	.ih-step__caption { gap: 14px; }
	.ih-step__num { width: 36px; height: 36px; font-size: 17px; }
	.ih-step__title { font-size: 19px; }
	.ih-step__text { font-size: 16px; }
	.ih-step-next { display: none; }
	.ih-howto__note { font-size: 16px; }
}

/* ---------- Shop by vibe ---------- */
.ih-vibes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; }
.isra-home .ih-vibe { display: flex; flex-direction: column; gap: 7px; text-decoration: none; }
.ih-vibe__media { display: block; overflow: hidden; border-radius: 16px; isolation: isolate; }
.ih-vibe__img { width: 100%; height: 140px; object-fit: cover; border-radius: 16px; background: var(--ih-lilac); }
.ih-vibe__label { font-size: 13.5px; font-weight: 700; line-height: 1.2; text-align: center; }
@media (min-width: 768px) {
	.ih-vibes__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
	.ih-vibe__img { height: 170px; }
}
@media (min-width: 1024px) {
	.ih-vibes__grid { gap: 20px; }
	.ih-vibe { gap: 12px; }
	.ih-vibe__img { height: 250px; border-radius: 22px; }
	.ih-vibe__label { font-size: 16px; }
}

/* ---------- Trending ---------- */
.ih-trending { padding-bottom: 32px; }
@media (min-width: 1024px) {
	.ih-trending { padding-bottom: 72px; }
}

/* ---------- Reels (hidden until the feed exists) ---------- */
.ih-reels { padding-bottom: 32px; }
.ih-reels__head { align-items: flex-start; flex-direction: column; }
.ih-reels__follow { width: 100%; }
.ih-reels__track { display: flex; gap: 10px; padding: 0 16px; }
.ih-reel {
	flex: none; position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
	width: 160px; height: 284px; padding: 12px; border-radius: 16px; overflow: hidden;
}
.ih-reel--placeholder {
	background: var(--ih-lilac); border: 1.5px dashed var(--ih-lilac-line);
	color: var(--ih-lilac-ink); font-size: 12.5px; font-weight: 700; text-align: center;
}
@media (min-width: 1024px) {
	.ih-reels { padding: 72px 0; margin-bottom: 72px; background: var(--ih-blush); }
	.ih-reels__head { flex-direction: row; align-items: flex-end; }
	.ih-reels__follow { width: auto; }
	.ih-reels__track {
		display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px;
		max-width: calc(var(--ih-max) + 2 * var(--ih-gutter)); margin: 0 auto;
		padding: 0 var(--ih-gutter); overflow: visible;
	}
	.ih-reel { width: auto; height: 427px; border-radius: 22px; }
}

/* ---------- Reviews (hidden until real reviews exist) ---------- */
.ih-reviews__list { display: flex; flex-direction: column; gap: 16px; }
.ih-review {
	display: flex; gap: 12px; padding: 14px;
	background: #fff; border: 1px solid var(--ih-card-border); border-radius: 18px;
}
.ih-review:nth-child(3) { display: none; }
.ih-review__photo { flex: none; width: 76px; height: 96px; object-fit: cover; border-radius: 12px; }
.ih-review__photo--empty { background: var(--ih-lilac); border: 1.5px dashed var(--ih-lilac-line); }
.ih-review__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ih-review__stars { font-size: 13px; }
.ih-review__stars .ih-icon { display: inline; vertical-align: -1px; color: var(--ih-ink); }
.ih-review__text { font-size: 14px; line-height: 1.4; }
.ih-review__who { font-size: 12.5px; color: var(--ih-muted); }
@media (min-width: 1024px) {
	.ih-reviews__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.ih-review { gap: 18px; padding: 20px; border-radius: 22px; }
	.ih-review:nth-child(3) { display: flex; }
	.ih-review__photo { width: 104px; height: 132px; border-radius: 14px; }
	.ih-review__body { gap: 8px; }
	.ih-review__stars { font-size: 14px; }
	.ih-review__text { font-size: 15px; line-height: 1.45; }
	.ih-review__who { font-size: 13.5px; }
}

/* ---------- FAQ ---------- */
.ih-section > .ih-faq__inner { gap: 12px; }
.ih-faq__list { border-top: 1px solid var(--ih-divider); }
.ih-faq__item { border-bottom: 1px solid var(--ih-divider); padding: 16px 0; }
.ih-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	font-size: 15px; font-weight: 700; list-style: none; cursor: pointer;
}
.ih-faq__q::-webkit-details-marker { display: none; }
.ih-faq__toggle { position: relative; flex: none; width: 20px; height: 20px; }
.ih-faq__toggle::before, .ih-faq__toggle::after {
	content: ""; position: absolute; left: 50%; top: 50%;
	width: 16px; height: 1.75px; border-radius: 2px; background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform .3s var(--ih-ease);
}
.ih-faq__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.ih-faq__item[open] .ih-faq__toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
.ih-faq__a { margin-top: 8px; font-size: 14px; color: var(--ih-muted); }
@media (min-width: 1024px) {
	.ih-section > .ih-faq__inner { display: grid; grid-template-columns: 420px 1fr; gap: 80px; }
	.ih-faq__intro { display: flex; flex-direction: column; gap: 16px; }
	.ih-faq__intro .ih-sub { font-size: 16px; margin: 0; }
	.ih-faq__item { padding: 22px 0; }
	.ih-faq__q { font-size: 18px; }
	.ih-faq__toggle { width: 22px; height: 22px; }
	.ih-faq__toggle::before, .ih-faq__toggle::after { width: 18px; }
	.ih-faq__a { margin-top: 10px; font-size: 16px; }
}

/* ---------- Also at Isra ---------- */
.ih-also { padding-bottom: 36px; }
.ih-also__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.isra-home .ih-also__tile { display: flex; flex-direction: column-reverse; gap: 8px; text-decoration: none; }
.ih-also__img { width: 100%; height: 150px; object-fit: cover; border-radius: 16px; }
.ih-also__text { display: flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 700; }
.ih-also__desc, .ih-also__cta-desktop { display: none; }
.ih-also__cta { display: flex; align-items: center; gap: 8px; }
.ih-also__cta .ih-icon { width: 16px; height: 16px; }
@media (min-width: 1024px) {
	.ih-also { padding-bottom: 80px; }
	.isra-home .ih-also__tile {
		display: grid; grid-template-columns: minmax(0, 1fr) clamp(180px, 20vw, 280px);
		height: 280px; overflow: hidden;
		background: #fff; border: 1px solid var(--ih-card-border); border-radius: 28px;
	}
	.ih-also__img { width: 100%; height: 280px; border-radius: 0; }
	.ih-also__text { flex-direction: column; align-items: flex-start; justify-content: space-between; padding: clamp(24px, 2.5vw, 36px); font-size: 16px; }
	.ih-also__title { display: block; font-family: var(--ih-display); font-weight: 800; font-size: 30px; }
	.ih-also__desc { display: block; margin-top: 4px; font-weight: 400; color: var(--ih-muted); }
	.ih-also__cta-desktop { display: inline; }
	.ih-also__cta .ih-icon { width: 18px; height: 18px; }
}

.isra-home .ph { padding: 0 3px; border-radius: 4px; background: #FFE9A8; color: var(--ih-ink); } /* staging-only placeholder */

/* ---------- Footer ---------- */
/* Dark below the footer too (overscroll, short pages): body keeps the page colour, html is ink. */
/* Page cream behind everything (team brief, 4 Oct 2026; home.css loads only on the custom
   pages). The footer is the last element, so nothing light shows under it. */
html { background: var(--ih-ground); scroll-padding-top: var(--ih-sticky-top); }
body.isra-home { overflow-x: clip; } /* nothing can widen the page; clip (not hidden) keeps the sticky header working */
.ih-footer { padding: 36px 0 28px; background: var(--ih-ink); color: #fff; }
.ih-footer > .ih-wrap { display: flex; flex-direction: column; gap: 28px; }
/* Phones: Brand → Shipping & payments → Shop → Help (DOM order; trust info before link lists) */
.ih-footer__top { display: flex; flex-direction: column; gap: 28px; }
.ih-footer__brand { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ih-footer__mark { font-family: var(--ih-display); font-weight: 800; font-size: 30px; letter-spacing: .02em; line-height: 1.1; }
.ih-footer__logo { display: inline-flex; }
.ih-footer__logo-img { height: 56px; width: auto; filter: brightness(0) invert(1); } /* black logo → white */
.ih-footer__line { font-size: 14px; color: var(--ih-footer-text); }
.isra-home .ih-footer__wa { height: auto; min-height: 56px; padding: 9px 26px 9px 20px; gap: 12px; }
.ih-footer__wa-text { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.ih-footer__wa-number { font-size: 13px; font-weight: 500; letter-spacing: .02em; }
.ih-footer__heading {
	margin-bottom: 12px;
	font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ih-footer-muted);
}
.ih-footer__col ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; font-size: 14.5px; }
.ih-footer__col .ih-footer__facts { grid-template-columns: 1fr; gap: 10px; color: var(--ih-footer-text); }
.isra-home .ih-footer a { color: #fff; text-decoration: none; }
.isra-home .ih-footer a:hover { color: var(--ih-accent-dark); }
.isra-home .ih-footer .ih-btn--whatsapp:hover { color: #fff; }
.ih-footer__bottom {
	display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
	padding-top: 16px; border-top: 1px solid var(--ih-footer-rule);
	font-size: 12.5px; color: var(--ih-footer-muted);
}
.isra-home .ih-footer__insta { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.isra-home .ih-footer__legal a { color: var(--ih-footer-muted); }
@media (min-width: 1024px) {
	.ih-footer { padding: 64px 0 40px; }
	.ih-footer > .ih-wrap { gap: 48px; }
	.ih-footer__top {
		display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap: 40px;
		grid-template-areas: "brand shop help ship";
	}
	.ih-footer__brand { grid-area: brand; gap: 14px; }
	.ih-footer__col--shop { grid-area: shop; }
	.ih-footer__col--help { grid-area: help; }
	.ih-footer__col--ship { grid-area: ship; }
	.ih-footer__mark { font-size: 36px; }
	.ih-footer__line { max-width: 300px; font-size: 15px; }
	.ih-footer__brand .ih-btn { margin-top: 6px; }
	.ih-footer__col ul { display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
	.ih-footer__bottom { flex-direction: row; align-items: center; justify-content: space-between; padding-top: 22px; font-size: 13.5px; }
}

/* ---------- Themed dropdown (home.js enhances <select data-ih-select>) ----------
   Same panel look as the checkout's province list (select2, checkout.css). */
.ih-select { position: relative; display: inline-block; }
.ih-select select.ih-select__native { position: absolute; top: 0; left: 0; width: 1px; height: 1px; min-width: 0; margin: 0; padding: 0; border: 0; opacity: 0; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
.ih-select__button {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 12px;
	min-width: 190px; height: 44px; padding: 0 14px;
	border: 1.5px solid var(--ih-chip); border-radius: 12px; background: #fff;
	font: inherit; font-size: 14px; font-weight: 500; color: var(--ih-ink); text-align: left; cursor: pointer;
	transition: border-color .15s ease;
}
.ih-select__button:hover, .ih-select.is-open .ih-select__button { border-color: var(--ih-ink); }
.ih-select__button:focus-visible { outline: 2px solid var(--ih-ink); outline-offset: 2px; }
.ih-select__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ih-select__caret { flex: none; transition: transform .2s var(--ih-ease); }
.ih-select.is-open .ih-select__caret { transform: rotate(180deg); }
.ih-select__list {
	position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; min-width: 100%;
	max-height: 320px; margin: 0; padding: 6px; overflow-y: auto; list-style: none;
	border: 1px solid var(--ih-card-border); border-radius: 14px; background: #fff;
	box-shadow: 0 14px 36px rgba(28, 18, 22, .14), 0 2px 6px rgba(28, 18, 22, .06);
	outline: none;
}
.ih-select.is-right .ih-select__list { left: auto; right: 0; }
.ih-select.is-up .ih-select__list { top: auto; bottom: calc(100% + 6px); }
.ih-select__option {
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
	min-height: 44px; padding: 0 12px; border-radius: 10px;
	font-size: 14.5px; font-weight: 500; color: var(--ih-ink); white-space: nowrap; cursor: pointer;
}
.ih-select__option.is-active { background: var(--ih-blush); }
.ih-select__option[aria-selected="true"] { font-weight: 700; }
.ih-select__option[aria-disabled="true"] { opacity: .45; cursor: default; }
.ih-select__check { flex: none; visibility: hidden; color: var(--ih-accent); }
.ih-select__option[aria-selected="true"] .ih-select__check { visibility: visible; }
@media (prefers-reduced-motion: no-preference) {
	.ih-select__list:not([hidden]) { animation: ih-select-in .16s var(--ih-ease) both; }
}
@keyframes ih-select-in { from { opacity: 0; transform: translateY(-4px); } }

/* ---------- Mini cart (comes down after "Add to cart") ---------- */
html:has(dialog[open]) { overflow: hidden; }
.ih-minicart {
	position: fixed; inset: 0 0 auto 0;
	width: 100%; max-width: none; max-height: min(88dvh, 720px);
	margin: 0; padding: 0; border: 0; border-radius: 0 0 22px 22px; overflow: hidden;
	background: #fff; color: var(--ih-ink);
	box-shadow: 0 18px 50px rgba(28, 18, 22, .22);
	transform: translateY(-100%);
	transition: transform .4s var(--ih-ease);
}
.ih-minicart.is-open { transform: none; }
.ih-minicart::backdrop { background: rgba(28, 18, 22, .38); opacity: 0; transition: opacity .3s ease; }
.ih-minicart.is-open::backdrop { opacity: 1; }
.ih-minicart__panel { display: flex; flex-direction: column; max-height: min(88dvh, 720px); }
.ih-minicart__head {
	flex: none; display: flex; align-items: center; justify-content: space-between;
	padding: 8px 6px 8px 20px; border-bottom: 1px solid var(--ih-card-border);
}
.ih-minicart__title { font-family: var(--ih-display); font-weight: 800; font-size: 20px; }
.ih-minicart__added {
	flex: none; display: flex; align-items: center; gap: 10px;
	margin: 12px 16px 0; padding: 10px 12px; border-radius: 12px;
	background: var(--ih-blush); font-size: 14px; font-weight: 700; line-height: 1.3;
}
.ih-minicart__added:not([hidden]) { animation: ih-fade-down .45s var(--ih-ease) both; }
.ih-minicart__check {
	flex: none; display: flex; align-items: center; justify-content: center;
	width: 24px; height: 24px; border-radius: 50%; background: var(--ih-accent); color: #fff;
}
.ih-minicart__content { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.ih-minicart__items { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 2px 16px; overscroll-behavior: contain; }
.ih-mc-item {
	display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: start; gap: 12px;
	padding: 14px 0; border-bottom: 1px solid var(--ih-divider);
	transition: opacity .25s ease, transform .25s var(--ih-ease);
}
.ih-mc-item:last-child { border-bottom: 0; }
.ih-mc-item.is-updating { opacity: .55; pointer-events: none; }
.ih-mc-item.is-removing { opacity: 0; transform: translateX(24px); pointer-events: none; }
.ih-mc-item__img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; background: var(--ih-lilac); }
.ih-mc-item__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.isra-home .ih-mc-item__name { font-size: 15px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.ih-mc-item__variant { font-size: 13px; color: var(--ih-muted); }
.ih-qty {
	display: inline-flex; align-items: center; align-self: flex-start;
	height: 40px; margin-top: 6px; border: 1.5px solid var(--ih-chip); border-radius: 999px;
}
.ih-qty__btn {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 37px; padding: 0; border: 0; border-radius: 999px;
	background: transparent; color: var(--ih-ink); cursor: pointer;
	transition: background-color .2s ease, transform .15s var(--ih-ease);
}
.ih-qty__btn:hover { background: var(--ih-blush); }
.ih-qty__btn:active { transform: scale(.88); }
.ih-qty__btn:disabled { opacity: .35; cursor: default; }
.ih-qty__value { min-width: 20px; text-align: center; font-size: 15px; font-weight: 700; }
.ih-mc-item__end { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.ih-mc-item__price { font-size: 15px; font-weight: 700; white-space: nowrap; }
.isra-home .ih-mc-item__remove {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; margin-right: -10px; border-radius: 50%;
	color: var(--ih-muted); transition: background-color .2s ease, color .2s ease, transform .15s var(--ih-ease);
}
.isra-home .ih-mc-item__remove:hover { background: var(--ih-blush); color: var(--ih-accent); }
.ih-mc-item__remove:active { transform: scale(.88); }
.ih-minicart__foot {
	flex: none; display: flex; flex-direction: column; gap: 10px;
	padding: 14px 16px 18px; border-top: 1px solid var(--ih-card-border); background: #fff;
}
.ih-minicart__subtotal { display: flex; align-items: baseline; justify-content: space-between; font-size: 16px; }
.ih-minicart__subtotal b { font-size: 22px; }
.ih-minicart__note { font-size: 13px; color: var(--ih-muted); }
.ih-minicart__subtotal--small { font-size: 14px; color: var(--ih-muted); }
.ih-minicart__subtotal--small b { font-size: 16px; color: var(--ih-ink); }
.ih-minicart__saving { display: flex; justify-content: space-between; font-size: 14px; color: var(--ih-accent); font-weight: 500; }
.ih-minicart__saving b { font-weight: 700; }
/* Offer rows (bundle progress, starter kit) above the drawer footer */
.ih-offers { flex: none; display: flex; flex-direction: column; gap: 8px; padding: 0 16px 12px; }
.ih-offer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border-radius: 14px; background: var(--ih-blush); }
.ih-offer__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 14px; line-height: 1.3; }
.ih-offer__sub { font-size: 12.5px; color: var(--ih-muted); }
.ih-offer__bar { display: block; height: 6px; border-radius: 999px; background: #fff; overflow: hidden; }
.ih-offer__bar span { display: block; height: 100%; border-radius: 999px; background: var(--ih-ink); transition: width .4s var(--ih-ease); }
.isra-home .ih-offer__btn {
	position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center;
	min-height: 40px; padding: 0 14px; border: 0; border-radius: 12px;
	background: var(--ih-ink); color: #fff; font-family: var(--ih-body); font-size: 13.5px; font-weight: 700;
	text-decoration: none; white-space: nowrap; cursor: pointer;
}
.isra-home .ih-offer__btn:hover { background: var(--ih-ink-hover); color: #fff; }
.ih-offer__btn.loading { color: transparent !important; pointer-events: none; }
.ih-offer__btn.loading::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; animation: ih-spin .7s linear infinite;
}
.ih-minicart__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ih-minicart__empty { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 28px 20px 26px; text-align: center; color: var(--ih-muted); }
@media (min-width: 768px) {
	.ih-minicart {
		inset: 16px 16px auto auto; width: 400px; border-radius: 22px;
		opacity: 0; transform: translateY(-14px) scale(.98); transform-origin: top right;
		transition: transform .32s var(--ih-ease), opacity .22s ease;
	}
	.ih-minicart.is-open { opacity: 1; transform: none; }
	.ih-minicart::backdrop { background: rgba(28, 18, 22, .2); }
	.ih-minicart, .ih-minicart__panel { max-height: min(calc(100dvh - 32px), 720px); }
}

/* ---------- Menu drawer + search: slide in ---------- */
.ih-drawer { transform: translateX(-100%); transition: transform .34s var(--ih-ease); }
.ih-drawer.is-open { transform: none; }
.ih-drawer::backdrop { opacity: 0; transition: opacity .3s ease; }
.ih-drawer.is-open::backdrop { opacity: 1; }
.ih-search:not([hidden]) { animation: ih-fade-down .28s var(--ih-ease) both; }

/* ---------- Micro-interactions ---------- */
.isra-home .ih-btn:active { transform: scale(.97); box-shadow: none; }
.ih-iconbtn { transition: background-color .2s ease, transform .15s var(--ih-ease); -webkit-tap-highlight-color: transparent; }
.ih-iconbtn:active { transform: scale(.9); }
.isra-home .ih-chip { transition: background-color .2s ease, color .2s ease, transform .15s var(--ih-ease); -webkit-tap-highlight-color: transparent; }
.isra-home .ih-chip:active { transform: scale(.95); }
.ih-step-next { transition: transform .2s var(--ih-ease), box-shadow .2s ease; }
.ih-step-next:active { transform: scale(.9); }
.ih-cart__count.is-bump { animation: ih-bump .5s var(--ih-ease); }
.ih-card__img, .ih-vibe__img, .ih-also__img { transition: transform .6s var(--ih-ease); }
.ih-viewall__icon, .ih-also__cta .ih-icon { transition: transform .25s var(--ih-ease); }
.ih-faq__q { transition: color .2s ease; }

@media (hover: hover) {
	.isra-home .ih-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(28, 18, 22, .18); }
	.isra-home .ih-btn--secondary:hover, .isra-home .ih-btn--light:hover { transform: translateY(-1px); }
	.isra-home .ih-btn--whatsapp:hover { transform: translateY(-1px); } /* no green glow (owner) */
	.isra-home .ih-btn:active { transform: scale(.97); box-shadow: none; }
	.ih-iconbtn:hover { background: rgba(28, 18, 22, .06); }
	.isra-home .ih-chip:not(.ih-chip--active):hover { background: #F7D3DE; }
	.ih-step-next:hover { transform: scale(1.06); box-shadow: 0 8px 22px rgba(28, 18, 22, .24); }
	.ih-card:hover .ih-card__img, .ih-vibe:hover .ih-vibe__img, .ih-also__tile:hover .ih-also__img { transform: scale(1.05); }
	.ih-viewall:hover .ih-viewall__icon, .ih-also__tile:hover .ih-also__cta .ih-icon { transform: translateX(4px); }
	.ih-faq__q:hover { color: var(--ih-accent); }
	.isra-home .ih-nav__link { position: relative; }
	.isra-home .ih-nav__link::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px; border-radius: 2px;
		background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ih-ease);
	}
	.isra-home .ih-nav__link:hover::after { transform: scaleX(1); }
}
@media (min-width: 1024px) {
	.ih-card__media { border-radius: 22px; }
	.ih-vibe__media { border-radius: 22px; }
}

/* FAQ answers open smoothly where the browser supports animating to height:auto */
.ih-faq__item[open] .ih-faq__a { animation: ih-fade-down .35s var(--ih-ease) both; }
@supports (interpolate-size: allow-keywords) {
	.ih-faq__list { interpolate-size: allow-keywords; }
	.ih-faq__item::details-content {
		block-size: 0; overflow: clip;
		transition: block-size .35s var(--ih-ease), content-visibility .35s allow-discrete;
	}
	.ih-faq__item[open]::details-content { block-size: auto; }
}

/* ---------- Entrance + scroll reveal (only when motion is welcome) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.ih-banner__slide.is-active .ih-banner__img { animation: ih-kenburns 6s ease-out both; }
	.ih-hero__vibes .ih-h2, .ih-hero__vibes .ih-vibes__grid > li { animation: ih-rise .7s var(--ih-ease) both; }
	.ih-hero__vibes .ih-vibes__grid > li { animation-delay: calc(var(--ih-i, 0) * 60ms + 80ms); }

	/* Sections fade up as they scroll in. home.js adds .is-visible; html.ih-js is set in <head>. */
	html.ih-js main > section:not(.ih-hero) {
		opacity: 0; transform: translateY(28px);
		transition: opacity .7s ease, transform .7s var(--ih-ease);
	}
	html.ih-js main > section.is-visible { opacity: 1; transform: none; }
	html.ih-js main > section:not(.ih-hero) :is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review) {
		opacity: 0; transform: translateY(18px);
		transition: opacity .6s ease, transform .6s var(--ih-ease);
		transition-delay: calc(var(--ih-i, 0) * 70ms + 120ms);
	}
	html.ih-js main > section.is-visible :is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review) { opacity: 1; transform: none; }
	:is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review):nth-child(2) { --ih-i: 1; }
	:is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review):nth-child(3) { --ih-i: 2; }
	:is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review):nth-child(4) { --ih-i: 3; }
	:is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review):nth-child(5) { --ih-i: 4; }
	:is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review):nth-child(6) { --ih-i: 5; }
	/* Failsafe: if home.js never runs, show everything after 2.5s. */
	html.ih-js:not(.ih-reveal-ready) main > section:not(.ih-hero),
	html.ih-js:not(.ih-reveal-ready) main > section :is(.ih-card, .ih-vibes__grid > li, .ih-step, .ih-also__grid > li, .ih-review) {
		animation: ih-show 0s 2.5s forwards;
	}
}

/* iOS safe areas (pages use viewport-fit=cover): keep content and fixed panels clear of
   the notch and the home indicator. */
body.isra-home { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); } /* 0 except in landscape on notched phones */
.ih-minicart__panel { padding-top: env(safe-area-inset-top); }
.ih-minicart__foot { padding-bottom: max(18px, calc(env(safe-area-inset-bottom) + 12px)); }
.ih-drawer__inner { padding-top: env(safe-area-inset-top); }
.ih-footer { padding-bottom: max(40px, calc(env(safe-area-inset-bottom) + 24px)); }

@keyframes ih-spin { to { transform: rotate(360deg); } }
@keyframes ih-pop { 0% { transform: scale(1); } 40% { transform: scale(1.05); } 100% { transform: scale(1); } }
@keyframes ih-bump { 0% { transform: scale(1); } 35% { transform: scale(1.45); } 65% { transform: scale(.9); } 100% { transform: scale(1); } }
@keyframes ih-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes ih-fade-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes ih-show { to { opacity: 1; transform: none; } }
@keyframes ih-kenburns { from { transform: scale(1.06); } to { transform: scale(1); } }

@media (prefers-reduced-motion: reduce) {
	.isra-home *, .isra-home *::before, .isra-home *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
	.ih-btn--cart.loading::after { animation-duration: 1.2s !important; animation-iteration-count: infinite !important; }
	.ih-drawer, .ih-drawer.is-open { transform: none; } /* no slide: the drawer just appears */
}
