/* ==========================================================================
   CrochetIdeas – base, layout, header/footer, home, shared components
   ========================================================================== */

:root {
	--ci-primary: #E63E5C;
	--ci-primary-dark: #C72C4A;
	--ci-topbar: linear-gradient(90deg, #A91D3C 0%, #D42F50 55%, #E63E5C 100%);
	--ci-pink-50: #FFF3F5;
	--ci-pink-100: #FDE3E8;
	--ci-pink-200: #F9C9D2;
	--ci-ink: #1E1B2E;
	--ci-text: #4A4A5A;
	--ci-muted: #9A9AA8;
	--ci-star: #F5A623;
	--ci-success: #2EAE5B;
	--ci-border: #EEE6E8;
	--ci-bg: #FFFFFF;
	--ci-bg-soft: #FBF8F8;

	--ci-font-head: "DM Serif Display", Georgia, "Times New Roman", serif;
	--ci-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--ci-font-hand: "Caveat", "Segoe Script", cursive;

	--ci-radius: 10px;
	--ci-radius-sm: 6px;
	--ci-shadow: 0 2px 10px rgba(230, 62, 92, .06), 0 1px 2px rgba(30, 27, 46, .04);
	--ci-shadow-lg: 0 18px 40px rgba(30, 27, 46, .12);
	--ci-container: 1240px;
	--ci-gutter: 20px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--ci-bg);
	color: var(--ci-text);
	font-family: var(--ci-font-body);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body.ci-lock { overflow: hidden; }

img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--ci-primary); text-decoration: none; transition: color .15s; }
a:hover { color: var(--ci-primary-dark); }

h1, h2, h3, h4, h5, h6 {
	color: var(--ci-ink);
	font-family: var(--ci-font-head);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 .5em;
}
h1 { font-size: clamp(28px, 4vw, 40px); }
h2 { font-size: clamp(24px, 3vw, 30px); }
h3 { font-size: 20px; }
p { margin: 0 0 1em; }

button, input, select, textarea { font: inherit; color: inherit; }

.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;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 1000; top: 8px; left: 8px; background: #fff; padding: 10px 16px; border-radius: 6px; }

:focus-visible { outline: 2px solid var(--ci-primary); outline-offset: 2px; }

.ci-container { width: 100%; max-width: var(--ci-container); margin: 0 auto; padding: 0 var(--ci-gutter); }
.ci-container--narrow { max-width: 820px; }
.ci-main { padding: 28px 0 64px; min-height: 50vh; }
.ci-home { padding-top: 0; }

.ci-icon { width: 20px; height: 20px; flex: none; }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.ci-btn,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 10px 22px;
	border: 1.5px solid var(--ci-primary);
	border-radius: var(--ci-radius-sm);
	background: var(--ci-primary);
	color: #fff;
	font-family: var(--ci-font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s, transform .1s, box-shadow .15s;
	box-shadow: 0 4px 12px rgba(230, 62, 92, .18);
}
.ci-btn:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
	background: var(--ci-primary-dark);
	border-color: var(--ci-primary-dark);
	color: #fff;
}
.ci-btn:active { transform: translateY(1px); }
.ci-btn .ci-icon { width: 17px; height: 17px; }
.ci-btn--block { display: flex; width: 100%; }
.ci-btn--lg { min-height: 50px; font-size: 15px; padding: 12px 28px; }
.ci-btn--sm { min-height: 32px; padding: 6px 14px; font-size: 13px; box-shadow: none; }
.ci-btn--outline {
	background: #fff;
	color: var(--ci-primary);
	box-shadow: none;
}
.ci-btn--outline:hover { background: var(--ci-pink-50); color: var(--ci-primary-dark); border-color: var(--ci-primary-dark); }
.ci-btn--ghost { background: #fff; color: var(--ci-ink); border-color: var(--ci-border); box-shadow: none; }
.ci-btn--ghost:hover { background: var(--ci-pink-50); color: var(--ci-primary); border-color: var(--ci-pink-200); }
.ci-btn.is-muted { opacity: .55; }
.ci-btn.loading, .button.loading { opacity: .7; pointer-events: none; }
.ci-btn.added::after, .add_to_cart_button.added::after { content: none !important; }
a.added_to_cart { display: none !important; }

.ci-icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ci-ink);
	cursor: pointer;
	transition: background .15s, color .15s;
}
.ci-icon-btn:hover { background: var(--ci-pink-50); color: var(--ci-primary); }
.ci-icon-btn .ci-icon { width: 22px; height: 22px; }

.ci-link-arrow {
	display: inline-flex; align-items: center; gap: 6px;
	font-weight: 600; font-size: 14px; color: var(--ci-primary);
}
.ci-link-arrow .ci-icon { width: 16px; height: 16px; transition: transform .15s; }
.ci-link-arrow:hover .ci-icon { transform: translateX(3px); }

.ci-pill {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--ci-pink-100);
	color: var(--ci-primary-dark);
	font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.ci-pill .ci-icon { width: 15px; height: 15px; color: var(--ci-primary); }

.ci-off {
	display: inline-flex; align-items: center;
	padding: 3px 7px;
	border-radius: 4px;
	background: var(--ci-primary);
	color: #fff;
	font-size: 11px; font-weight: 700; line-height: 1.2; letter-spacing: .02em;
	white-space: nowrap;
}

/* Prices */
.ci-price { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; }
.ci-price__now { color: var(--ci-primary); font-weight: 700; font-size: 20px; line-height: 1; }
.ci-price__was { color: var(--ci-muted); font-size: 13px; }
.ci-price .amount { white-space: nowrap; }
.ci-price ins { text-decoration: none; color: var(--ci-primary); font-weight: 700; }
.ci-price del { color: var(--ci-muted); font-size: .85em; }

/* Stars */
.ci-stars { position: relative; display: inline-flex; vertical-align: middle; line-height: 0; }
.ci-stars .ci-icon { width: 14px; height: 14px; }
.ci-stars__base { display: inline-flex; color: #E4DEE0; }
.ci-stars__fill { position: absolute; inset: 0 auto 0 0; display: inline-flex; overflow: hidden; color: var(--ci-star); white-space: nowrap; }
.ci-stars__count { margin-left: 6px; font-size: 12px; color: var(--ci-muted); vertical-align: middle; }

/* Check list */
.ci-checklist { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.ci-checklist li { display: flex; align-items: flex-start; gap: 10px; color: var(--ci-text); }
.ci-checklist .ci-icon { width: 18px; height: 18px; color: var(--ci-primary); margin-top: 2px; }
.ci-checklist--sm { gap: 4px; }
.ci-checklist--sm li { font-size: 13px; gap: 8px; }
.ci-checklist--sm .ci-icon { width: 15px; height: 15px; }
.ci-checklist--grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

/* Panels */
.ci-panel {
	background: #fff;
	border: 1px solid var(--ci-border);
	border-radius: var(--ci-radius);
	padding: 18px;
	box-shadow: var(--ci-shadow);
}

/* --------------------------------------------------------------------------
   Top bar & header
   -------------------------------------------------------------------------- */
.ci-topbar { background: var(--ci-topbar); color: #fff; font-size: 12.5px; font-weight: 500; }
.ci-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.ci-topbar__left { display: flex; align-items: center; flex-wrap: wrap; }
.ci-topbar__item { display: inline-flex; align-items: center; gap: 8px; }
.ci-topbar__item + .ci-topbar__item::before { content: ""; width: 1px; height: 14px; background: rgba(255, 255, 255, .45); margin: 0 14px; }
.ci-topbar__item .ci-icon { width: 15px; height: 15px; }
.ci-topbar__right { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.ci-topbar__stars { display: inline-flex; color: #FFD166; }
.ci-topbar__stars .ci-icon { width: 13px; height: 13px; }

.ci-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255, 255, 255, .97);
	backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--ci-border);
}
.admin-bar .ci-header { top: 32px; }
.ci-header__inner { display: flex; align-items: center; gap: 28px; min-height: 72px; }

.ci-logo { display: inline-flex; align-items: center; gap: 8px; color: var(--ci-ink); flex: none; }
.ci-logo:hover { color: var(--ci-ink); }
.ci-logo__mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--ci-primary); color: #fff;
}
.ci-logo__mark .ci-icon { width: 24px; height: 24px; stroke-width: 1.6; }
.ci-logo__text { font-family: var(--ci-font-head); font-size: 26px; line-height: 1; letter-spacing: -.01em; }
.ci-logo__text span { color: var(--ci-primary); }
.custom-logo-link img { max-height: 48px; width: auto; }

.ci-nav { flex: 1; }
.ci-menu { list-style: none; display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; }
.ci-menu li { position: relative; }
.ci-menu a {
	display: block; padding: 8px 12px;
	color: var(--ci-ink); font-size: 14px; font-weight: 500;
	border-radius: 6px;
}
.ci-menu a:hover { color: var(--ci-primary); }
.ci-menu .current-menu-item > a,
.ci-menu .current_page_item > a { color: var(--ci-primary); font-weight: 600; }
.ci-menu .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 200px;
	list-style: none; margin: 0; padding: 8px;
	background: #fff; border: 1px solid var(--ci-border); border-radius: var(--ci-radius); box-shadow: var(--ci-shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s;
}
.ci-menu li:hover > .sub-menu, .ci-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

.ci-header__actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }

.ci-search { position: relative; display: flex; align-items: center; }
.ci-search .ci-icon { position: absolute; left: 12px; width: 16px; height: 16px; color: var(--ci-muted); pointer-events: none; }
.ci-search input {
	width: 240px; height: 40px;
	padding: 0 14px 0 36px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: #F4F1F2;
	font-size: 13px;
	transition: border-color .15s, background .15s, width .2s;
}
.ci-search input:focus { outline: none; border-color: var(--ci-pink-200); background: #fff; }
.ci-search--block input { width: 100%; }
.ci-search-toggle { display: none; }

.ci-cart-count {
	position: absolute; top: -1px; right: -6px;
	min-width: 16px; height: 16px; padding: 0 4px;
	border-radius: 9px;
	background: var(--ci-primary); color: #fff;
	font-size: 10px; font-weight: 700; line-height: 16px; text-align: center;
	border: 2px solid #fff; box-sizing: content-box;
}
.ci-cart-count.is-empty { display: none; }
.ci-cart-toggle.is-bump .ci-cart-count { animation: ci-bump .4s ease; }
@keyframes ci-bump { 50% { transform: scale(1.35); } }

.ci-nav-toggle { display: none; }
.ci-nav__head { display: none; }

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */
.ci-section { padding: 28px 0; }
.ci-section--tight { padding: 16px 0; }
.ci-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ci-section__head h2 { margin: 0; }

/* Hero */
.ci-hero { background: linear-gradient(100deg, #FFFFFF 0%, #FFF7F8 40%, #FCE9EC 100%); overflow: hidden; }
.ci-hero__inner { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 32px; min-height: 440px; padding-top: 28px; padding-bottom: 28px; }
.ci-hero__title { font-size: clamp(34px, 4.6vw, 52px); line-height: 1.08; margin: 16px 0 14px; letter-spacing: -.01em; }
.ci-hero__title em { display: block; font-style: normal; color: var(--ci-primary); }
.ci-hero__text { font-size: 16px; max-width: 460px; color: var(--ci-text); margin-bottom: 20px; }
.ci-hero__media { position: relative; align-self: stretch; }
.ci-hero__media img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; border-radius: 18px; box-shadow: var(--ci-shadow-lg); }

.ci-features { list-style: none; display: flex; flex-wrap: wrap; gap: 14px 22px; margin: 0 0 26px; padding: 0; }
.ci-features li { display: flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 500; color: var(--ci-ink); line-height: 1.25; max-width: 110px; }
.ci-features__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; flex: none;
	border-radius: 50%;
	background: var(--ci-primary); color: #fff;
}
.ci-features__icon .ci-icon { width: 18px; height: 18px; }

/* Category strip */
/* Horizontal, snap-scrolling category carousel: 6 visible on desktop. */
.ci-cats {
	--ci-cats-gap: 18px;
	--ci-cats-per-view: 6;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - var(--ci-cats-gap) * (var(--ci-cats-per-view) - 1)) / var(--ci-cats-per-view));
	gap: var(--ci-cats-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	padding: 4px 2px 8px;
	margin: -4px -2px -8px;
}
.ci-cats::-webkit-scrollbar { display: none; }
.ci-cats:focus-visible { outline-offset: 4px; }
.ci-cat { scroll-snap-align: start; }
.ci-section__actions { display: flex; align-items: center; gap: 18px; }
.ci-scroll-nav { display: flex; gap: 8px; }
.ci-scroll-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; padding: 0;
	border: 1px solid var(--ci-border); border-radius: 50%;
	background: #fff; color: var(--ci-ink);
	cursor: pointer; box-shadow: var(--ci-shadow);
	transition: background .15s, color .15s, border-color .15s, opacity .15s;
}
.ci-scroll-btn:hover:not(:disabled) { background: var(--ci-primary); border-color: var(--ci-primary); color: #fff; }
.ci-scroll-btn:disabled { opacity: .4; cursor: default; box-shadow: none; }
.ci-scroll-btn .ci-icon { width: 18px; height: 18px; }
.ci-flip { transform: scaleX(-1); }
.ci-scroll-nav.is-hidden { display: none; }
.ci-cat { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--ci-ink); text-align: center; }
.ci-cat__img {
	display: block; width: 100%; aspect-ratio: 1;
	border-radius: var(--ci-radius);
	background: var(--ci-pink-50);
	overflow: hidden;
	border: 1px solid var(--ci-border);
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.ci-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.ci-cat__name { font-size: 15px; font-weight: 600; line-height: 1.3; }
.ci-cat__img { border-radius: 14px; }
.ci-cat:hover { color: var(--ci-primary); }
.ci-cat:hover .ci-cat__img { transform: translateY(-3px); box-shadow: var(--ci-shadow-lg); border-color: var(--ci-pink-200); }

/* Grids */
.ci-grid { display: grid; gap: 20px; }
.ci-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ci-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Product card */
.ci-card {
	display: flex; flex-direction: column; height: 100%;
	background: #fff;
	border: 1px solid var(--ci-border);
	border-radius: var(--ci-radius);
	overflow: hidden;
	box-shadow: var(--ci-shadow);
	transition: transform .2s, box-shadow .2s;
}
.ci-card:hover { transform: translateY(-3px); box-shadow: var(--ci-shadow-lg); }
.ci-card__media { position: relative; aspect-ratio: 1 / .82; background: var(--ci-pink-50); overflow: hidden; }
.ci-card__media > a, .ci-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; }
.ci-card__media img { transition: transform .4s; }
.ci-card:hover .ci-card__media img { transform: scale(1.04); }
.ci-card__badge {
	position: absolute; top: 10px; left: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--ci-primary); color: #fff;
	font-size: 12px; font-weight: 600;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}
.ci-wish {
	position: absolute; top: 8px; right: 8px;
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; padding: 0;
	border: 0; border-radius: 50%;
	background: #fff; color: var(--ci-primary);
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
	transition: transform .15s;
}
.ci-wish .ci-icon { width: 17px; height: 17px; }
.ci-wish:hover { transform: scale(1.1); }
.ci-wish[aria-pressed="true"] svg path { fill: var(--ci-primary); }
.ci-card__body { display: flex; flex-direction: column; flex: 1; gap: 6px; padding: 12px 14px 14px; }
.ci-card__title { font-family: var(--ci-font-body); font-size: 14.5px; font-weight: 600; line-height: 1.35; margin: 0; }
.ci-card__title a { color: var(--ci-ink); }
.ci-card__title a:hover { color: var(--ci-primary); }
.ci-card__sub { font-size: 12.5px; color: var(--ci-muted); margin: -2px 0 0; }
.ci-card__price { margin-top: 2px; }
.ci-card__rating { line-height: 1; }
.ci-card .ci-btn { margin-top: auto; }
.ci-btn.button, .woocommerce .ci-card a.button { display: inline-flex !important; flex-direction: row; align-items: center; justify-content: center; gap: 8px; margin-top: auto; line-height: 1.2; }
.ci-btn.ci-btn--block.button { display: flex !important; width: 100%; }
.ci-btn svg { display: inline-block; }
.ci-card__rating + .ci-btn, .ci-card__price + .ci-btn { margin-top: 8px; }

/* Trust row */
.ci-trust {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
	background: #fff;
	border: 1px solid var(--ci-border);
	border-radius: var(--ci-radius);
	padding: 18px 8px;
	box-shadow: var(--ci-shadow);
}
.ci-trust__item { display: flex; align-items: center; gap: 14px; padding: 4px 18px; }
.ci-trust__item + .ci-trust__item { border-left: 1px solid var(--ci-border); }
.ci-trust__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; flex: none;
	border-radius: 50%;
	background: var(--ci-pink-50); color: var(--ci-primary);
}
.ci-trust__item strong { display: block; color: var(--ci-ink); font-size: 14px; }
.ci-trust__item div span { display: block; font-size: 12.5px; color: var(--ci-muted); }

/* Testimonials */
.ci-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ci-testimonial {
	display: flex; align-items: flex-start; gap: 16px;
	margin: 0; padding: 20px;
	background: #fff;
	border: 1px solid var(--ci-border);
	border-radius: var(--ci-radius);
	box-shadow: var(--ci-shadow);
}
.ci-testimonial__avatar {
	display: inline-flex; align-items: center; justify-content: center;
	width: 60px; height: 60px; flex: none;
	border-radius: 50%;
	background: var(--ci-pink-100); color: var(--ci-primary);
	overflow: hidden;
}
.ci-testimonial__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ci-testimonial .ci-stars .ci-icon { width: 16px; height: 16px; }
.ci-testimonial blockquote { margin: 8px 0 0; font-size: 13.5px; color: var(--ci-text); }
.ci-testimonial figcaption { margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--ci-ink); }

/* Empty */
.ci-empty { text-align: center; padding: 40px 16px; }
.ci-empty__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 72px; height: 72px; margin-bottom: 12px;
	border-radius: 50%;
	background: var(--ci-pink-50); color: var(--ci-primary);
}
.ci-empty__icon .ci-icon { width: 34px; height: 34px; }
.ci-404 { padding: 80px 16px; }

/* Page / prose */
.ci-page-title { font-size: clamp(26px, 3vw, 34px); margin-bottom: 6px; }
.ci-archive-head { margin-bottom: 24px; }
.ci-prose { font-size: 16px; line-height: 1.75; }
.ci-prose img { border-radius: var(--ci-radius); }
.ci-prose a { text-decoration: underline; text-underline-offset: 3px; }
.ci-prose h2, .ci-prose h3 { margin-top: 1.4em; }
.ci-single__img img { width: 100%; border-radius: var(--ci-radius); margin: 16px 0 24px; }
.ci-post-card { background: #fff; border: 1px solid var(--ci-border); border-radius: var(--ci-radius); overflow: hidden; box-shadow: var(--ci-shadow); display: flex; flex-direction: column; }
.ci-post-card__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ci-post-card__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ci-post-card__body .ci-link-arrow { margin-top: auto; }
.ci-post-card__meta { font-size: 12.5px; color: var(--ci-muted); }
.ci-post-card__title { font-size: 20px; margin: 0; }
.ci-post-card__title a { color: var(--ci-ink); }
.ci-pagination, .woocommerce-pagination { margin-top: 32px; text-align: center; }
.ci-pagination .nav-links, .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; list-style: none; margin: 0; padding: 0; border: 0 !important; }
.ci-pagination .page-numbers, .woocommerce-pagination .page-numbers li > * {
	display: inline-flex !important; align-items: center; justify-content: center;
	min-width: 38px; height: 38px; padding: 0 10px !important;
	border: 1px solid var(--ci-border) !important; border-radius: 8px;
	color: var(--ci-ink); background: #fff; font-weight: 600;
}
.ci-pagination .page-numbers.current, .woocommerce-pagination .page-numbers li > .current { background: var(--ci-primary) !important; border-color: var(--ci-primary) !important; color: #fff !important; }
.woocommerce-pagination ul.page-numbers li { border: 0 !important; }

.post-navigation .nav-links { display: flex; justify-content: space-between; gap: 16px; margin: 32px 0; font-weight: 600; }
.comments-area { margin-top: 40px; }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.ci-footer { background: var(--ci-pink-50); border-top: 1px solid var(--ci-border); margin-top: 20px; }
.ci-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; padding-top: 48px; padding-bottom: 36px; }
.ci-footer__brand p { margin-top: 14px; font-size: 14px; max-width: 320px; }
.ci-footer h4 { font-family: var(--ci-font-body); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px; }
.ci-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.ci-footer ul a { color: var(--ci-text); }
.ci-footer ul a:hover { color: var(--ci-primary); }
.ci-footer__trust li { display: flex; align-items: center; gap: 10px; }
.ci-footer__trust .ci-icon { color: var(--ci-primary); width: 18px; height: 18px; }
.ci-footer__bottom { border-top: 1px solid var(--ci-border); font-size: 13px; color: var(--ci-muted); }
.ci-footer__bottom .ci-container { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.ci-footer__bottom p { margin: 0; }
.ci-footer__menu { display: flex !important; gap: 18px !important; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.ci-header__inner { gap: 16px; }
	.ci-search input { width: 180px; }
	.ci-menu a { padding: 8px 8px; }
}

@media (max-width: 960px) {
	.ci-nav-toggle { display: inline-flex; margin-left: -8px; }
	/* backdrop-filter would trap the fixed menu inside the header box. */
	.ci-header { backdrop-filter: none; background: #fff; }
	body.ci-nav-open .ci-header { z-index: 80; }
	.ci-nav {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 70;
		width: min(300px, 84vw);
		height: 100vh; height: 100dvh;
		padding: 16px 16px 24px;
		background: #fff;
		box-shadow: var(--ci-shadow-lg);
		transform: translateX(-105%);
		transition: transform .25s ease;
		overflow-y: auto;
	}
	.ci-nav.is-open { transform: none; }
	.admin-bar .ci-nav { top: 32px; height: calc(100dvh - 32px); }
	.ci-nav__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--ci-border); }
	.ci-menu li + li { border-top: 1px solid var(--ci-border); }
	.ci-menu { flex-direction: column; align-items: stretch; }
	.ci-menu a { padding: 12px 14px; font-size: 16px; }
	.ci-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 0 12px; }
	.ci-search { display: none; }
	.ci-search.is-open {
		display: flex; position: absolute; left: var(--ci-gutter); right: var(--ci-gutter); top: calc(100% + 8px);
	}
	.ci-search.is-open input { width: 100%; background: #fff; border-color: var(--ci-pink-200); box-shadow: var(--ci-shadow-lg); }
	.ci-search-toggle { display: inline-flex; }
	.ci-header__inner { position: relative; min-height: 62px; }
	.ci-logo__text { font-size: 22px; }

	.ci-hero__inner { grid-template-columns: 1fr; min-height: 0; }
	.ci-cats { --ci-cats-per-view: 4; --ci-cats-gap: 14px; }
	.ci-hero__media { order: -1; }
	.ci-hero__media img { max-height: 320px; }
	.ci-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ci-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ci-trust { grid-template-columns: repeat(2, 1fr); row-gap: 16px; }
	.ci-trust__item:nth-child(3) { border-left: 0; }
	.ci-testimonials { grid-template-columns: 1fr; }
	.ci-footer__grid { grid-template-columns: 1fr 1fr; }
	.ci-topbar__right { display: none; }
	.ci-topbar__inner { justify-content: center; }
}

@media (max-width: 782px) {
	.admin-bar .ci-nav { top: 46px; height: calc(100dvh - 46px); }
	.admin-bar .ci-header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .ci-header { top: 0; }
}

@media (max-width: 560px) {
	:root { --ci-gutter: 16px; }
	body { font-size: 14.5px; }
	.ci-topbar { font-size: 11.5px; }
	.ci-topbar__item:not(:first-child) { display: none; }
	.ci-cats { --ci-cats-per-view: 2.5; --ci-cats-gap: 12px; }
	.ci-scroll-nav { display: none; }
	.ci-cat__name { font-size: 13.5px; }
	.ci-grid { gap: 12px; }
	.ci-card__body { padding: 10px; }
	.ci-card__title { font-size: 13.5px; }
	.ci-price__now { font-size: 17px; }
	.ci-card .ci-btn { font-size: 13px; padding: 8px 10px; min-height: 38px; }
	.ci-card__badge { font-size: 11px; padding: 3px 8px; }
	.ci-trust { grid-template-columns: 1fr; }
	.ci-trust__item + .ci-trust__item { border-left: 0; border-top: 1px solid var(--ci-border); padding-top: 14px; }
	.ci-section__head { align-items: center; }
	.ci-section__head h2 { font-size: 22px; }
	.ci-section__head .ci-link-arrow { font-size: 13px; white-space: nowrap; }
	.ci-footer__grid { grid-template-columns: 1fr; gap: 24px; }
	.ci-features li { max-width: none; flex: 1 1 40%; }
	.ci-hero__content .ci-btn { width: 100%; }
}

@media (max-width: 380px) {
	.ci-grid--4, .ci-grid--3 { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Add-to-cart button states */
.ci-atc__add, .ci-atc__in { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ci-atc__in, .is-in-cart .ci-atc__add { display: none; }
.is-in-cart .ci-atc__in { display: inline-flex; }
.ci-btn.is-in-cart,
.woocommerce .ci-btn.is-in-cart {
	background: #fff !important;
	color: var(--ci-primary) !important;
	border-color: var(--ci-primary) !important;
	box-shadow: none;
}
.ci-btn.is-in-cart:hover { background: var(--ci-pink-50) !important; }
.ci-btn.is-in-cart .ci-icon--check { stroke-width: 2.6; }

/* Footer policy links: one line each, wrapping into tidy rows on small screens. */
.ci-footer__menu { flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.ci-footer__menu a { color: var(--ci-text); white-space: nowrap; }
.ci-footer__menu a:hover { color: var(--ci-primary); }
@media (max-width: 560px) {
	.ci-footer__bottom .ci-container { flex-direction: column; align-items: flex-start; gap: 12px; }
	.ci-footer__menu { gap: 6px 12px !important; font-size: 11.5px; line-height: 1.4; }
	.ci-footer__bottom p { font-size: 12px; }
}
