/* =====================================================================
   Bella Bag — design v2 (loaded after style.css)
   Ivory · soft black · warm taupe. Alexandria headings, Tajawal body.
   ===================================================================== */
:root {
	--bb-ink: #161514;
	--bb-ivory: #F8F5F0;
	--bb-sand: #EFE9E1;
	--bb-line: #E6E0D7;
	--bb-taupe: #9A7B5F;
	--bb-muted: #77716A;
	--bb-radius: 3px;
}

body { color: var(--bb-ink); background: var(--bb-ivory); }
::selection { background: var(--bb-ink); color: #fff; }
a { text-underline-offset: 3px; }
bdi, a[href^="tel:"], a[href*="wa.me"] bdi { unicode-bidi: isolate; direction: ltr; }

/* ---------- Type ---------- */
h1, h2, h3, h4,
.wp-block-heading, .woocommerce-loop-category__title, .product_title {
	font-family: Alexandria, Tajawal, system-ui, sans-serif !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	color: var(--bb-ink);
}
h1, .wp-block-heading.has-huge-font-size { font-size: clamp(2rem, 6vw, 3.4rem) !important; line-height: 1.25 !important; }
h2, .wp-block-heading.has-x-large-font-size { font-size: clamp(1.45rem, 3.6vw, 2.2rem) !important; line-height: 1.35 !important; }
main > .wp-block-group > h2.has-text-align-center::after {
	content: ""; display: block; width: 42px; height: 1px; margin: 14px auto 0; background: var(--bb-taupe);
}
.has-muted-color { color: var(--bb-muted) !important; }

/* ---------- Announcement + header ---------- */
.bb-announce { background: var(--bb-ink) !important; }
.bb-announce p { font-size: .78rem !important; letter-spacing: .04em; color: #EDE7DE !important; }
.bb-header { background: rgba(255, 255, 255, .92) !important; border-bottom: 1px solid var(--bb-line); }
.bb-logo a { display: inline-flex; color: var(--bb-ink) !important; line-height: 0; }
.bb-logo svg { height: 30px; width: auto; display: block; }
footer .bb-logo svg, .wp-block-template-part footer .wp-block-site-title svg { height: 30px; }
footer .wp-block-site-title a { color: #F3EEE7 !important; line-height: 0; display: inline-flex; }
.wp-block-navigation a { font-weight: 500; }
.wp-block-navigation a:hover { color: var(--bb-taupe); }
@media (max-width: 781px) { .bb-logo svg { height: 24px; } }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce button.button.alt, .woocommerce a.button.alt {
	border-radius: var(--bb-radius) !important;
	font-family: Tajawal, system-ui, sans-serif;
	font-weight: 700 !important;
	letter-spacing: .02em;
	box-shadow: none !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--bb-ink) !important; color: #fff !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid var(--bb-ink) !important; color: var(--bb-ink) !important; background: transparent !important; }
.wp-block-button__link:hover { transform: translateY(-1px); opacity: .92; }

/* ---------- Hero ---------- */
.bb-hero-img img { border-radius: var(--bb-radius) !important; box-shadow: none !important; aspect-ratio: 3/2; object-fit: cover; width: 100%; }

/* ---------- Trust bar ---------- */
.bb-trust p { margin-block: 0; }
.bb-trust-ico svg { width: 28px; height: 28px; color: var(--bb-taupe); }
.bb-trust .has-burgundy-color { color: var(--bb-ink) !important; font-weight: 600 !important; }

/* ---------- Product grids (CSS grid instead of floats) ---------- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 20px;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: transparent !important; border: 0 !important; box-shadow: none !important;
	padding: 0 !important; text-align: start; border-radius: 0 !important; transform: none !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; text-decoration: none; }
.woocommerce ul.products li.product a img {
	aspect-ratio: 1/1 !important; object-fit: cover; width: 100%;
	background: #F1ECE5 !important; border-radius: var(--bb-radius); margin: 0 0 12px !important;
	transition: transform .6s ease;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: Tajawal, system-ui, sans-serif !important; font-weight: 500 !important;
	font-size: .95rem !important; line-height: 1.6 !important; padding: 0 !important; margin: 0 0 4px !important;
	color: var(--bb-ink) !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.woocommerce ul.products li.product .price { color: var(--bb-ink) !important; font-weight: 700 !important; font-size: 1rem !important; margin: 0 !important; display: block; }
.woocommerce ul.products li.product .price del { color: var(--bb-muted) !important; opacity: .8; font-weight: 400; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { display: none !important; }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	background: var(--bb-ink) !important; color: #fff !important; border-radius: 2px !important;
	font-size: .72rem !important; font-weight: 600 !important; padding: 3px 10px !important; line-height: 1.7 !important;
	top: 10px !important; inset-inline-start: 10px !important; inset-inline-end: auto !important; left: auto !important; right: auto;
	min-height: 0 !important; min-width: 0 !important; margin: 0 !important; letter-spacing: .02em;
}
.woocommerce ul.products li.product { position: relative; }
.woocommerce ul.products li.product .onsale { position: absolute; z-index: 2; }

/* Category cards */
.woocommerce ul.products li.product-category a { position: relative; display: block; overflow: hidden; border-radius: var(--bb-radius); }
.woocommerce ul.products li.product-category img { margin: 0 !important; aspect-ratio: 4/5 !important; object-fit: cover; border-radius: var(--bb-radius) !important; }
.woocommerce ul.products li.product-category a::after {
	content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(22, 21, 20, .55), rgba(22, 21, 20, 0) 45%);
	pointer-events: none;
}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
	position: absolute !important; inset-inline: 0 !important; bottom: 14px !important; z-index: 2;
	background: none !important; box-shadow: none !important; border-radius: 0 !important;
	color: #fff !important; text-align: center !important; padding: 0 10px !important;
	font-size: 1rem !important; font-weight: 500 !important; margin: 0 !important;
}
.woocommerce ul.products li.product-category mark { display: none !important; }
.woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }

@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
	/* categories: swipeable row */
	.woocommerce ul.products:has(> li.product-category) {
		display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px;
		margin-inline: calc(-1 * var(--wp--preset--spacing--40, 20px)) !important;
		padding-inline: var(--wp--preset--spacing--40, 20px) !important; scrollbar-width: none;
	}
	.woocommerce ul.products:has(> li.product-category)::-webkit-scrollbar { display: none; }
	.woocommerce ul.products li.product-category { flex: 0 0 62%; scroll-snap-align: start; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .88rem !important; }
}

/* ---------- Sections / cards ---------- */
.bb-card { border-radius: var(--bb-radius) !important; border: 1px solid var(--bb-line); background: #fff !important; }
.wp-block-details { border-radius: var(--bb-radius) !important; border: 1px solid var(--bb-line) !important; background: #fff; }
.wp-block-details summary { font-weight: 600; }

/* ---------- Footer ---------- */
footer.wp-block-template-part, .wp-block-template-part:has(> footer), footer {
	--wp--preset--color--white: #F3EEE7;
}
footer a { color: #F3EEE7 !important; }
footer a:hover { color: var(--bb-gold, #C2A983) !important; }

/* ---------- Single product ---------- */
.single-product .product_title { font-size: clamp(1.35rem, 3.4vw, 1.9rem) !important; line-height: 1.45 !important; }
.single-product .price { color: var(--bb-ink) !important; font-weight: 700 !important; }
.single-product .woocommerce-product-gallery img,
.bb-g-main { border-radius: var(--bb-radius) !important; }
.bb-cod { border: 1px solid var(--bb-line) !important; border-radius: 6px !important; box-shadow: 0 8px 30px rgba(22, 21, 20, .05); }
.bb-cod-btn { background: var(--bb-ink) !important; border-radius: var(--bb-radius) !important; animation: none !important; }
.bb-cod-offer span, .bb-cod-swatch span, .bb-cod-fields input { border-radius: var(--bb-radius) !important; }
.bb-cod-offer input:checked + span, .bb-cod-swatch input:checked + span { border-color: var(--bb-ink) !important; box-shadow: 0 0 0 1px var(--bb-ink) inset; }
.bb-cod-badge { background: var(--bb-taupe) !important; border-radius: 2px !important; }
.bb-sticky-order { background: var(--bb-ink) !important; }
.bb-product-trust { border-radius: var(--bb-radius) !important; background: #fff !important; border: 1px solid var(--bb-line) !important; }

/* Dark sections: light buttons + text */
.has-burgundy-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.has-ink-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--bb-ivory) !important; color: var(--bb-ink) !important;
}
.has-burgundy-background-color .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--bb-ivory) !important; color: var(--bb-ivory) !important; }
.has-burgundy-background-color h1, .has-burgundy-background-color h2, .has-burgundy-background-color h3 { color: #fff !important; }
.has-burgundy-background-color .has-gold-color { color: var(--bb-gold, #C2A983) !important; }

/* Footer details */
footer h2, footer h3, footer .wp-block-heading { font-size: .82rem !important; letter-spacing: .08em !important; color: #C2A983 !important; font-weight: 500 !important; }
footer p, footer li { color: #D9D2C8; font-size: .92rem; }
footer a { text-decoration: none !important; }
footer a:hover { text-decoration: underline !important; }

/* Arabic-only titles in product cards */
.bb-loop-title { margin: 0 0 4px; }
