/* Global Raa fixes: stable header, correct banner rendering, category sections. */

body.raa-site {
	background:#f6eddf;
	overflow-x:hidden;
}

/* Header must look identical on every page and stay in normal page flow. */
.raa-topbar {
	display:block !important;
	width:100% !important;
	background:#6f1721 !important;
	color:#fff6eb !important;
	font-size:12px !important;
	border-bottom:1px solid rgba(255,255,255,.12) !important;
}
.raa-topbar-inner {
	width:min(1440px,calc(100% - 48px)) !important;
	min-height:34px !important;
	margin-inline:auto !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:20px !important;
	white-space:nowrap !important;
	overflow:hidden !important;
}
.raa-topbar-dot { opacity:.45 !important; }

.raa-header {
	position:relative !important;
	top:auto !important;
	left:auto !important;
	right:auto !important;
	width:100% !important;
	z-index:900 !important;
	background:#f6eddf !important;
	backdrop-filter:none !important;
	border-bottom:1px solid #e5d4bd !important;
	transform:none !important;
	transition:none !important;
}
.admin-bar .raa-header { top:auto !important; }

.raa-header-row {
	width:min(1440px,calc(100% - 48px)) !important;
	height:82px !important;
	margin-inline:auto !important;
	display:grid !important;
	grid-template-columns:1fr auto 1fr !important;
	align-items:center !important;
	gap:32px !important;
}

.raa-logo {
	display:flex !important;
	justify-content:center !important;
	align-items:center !important;
	grid-column:2 !important;
}
.raa-logo-img {
	display:block !important;
	width:126px !important;
	height:62px !important;
	max-width:126px !important;
	max-height:62px !important;
	object-fit:contain !important;
}

.raa-main-nav { justify-self:end !important; }
.raa-nav-list {
	display:flex !important;
	align-items:center !important;
	gap:26px !important;
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
	font-size:14px !important;
	font-weight:600 !important;
	color:#4d2d25 !important;
}
.raa-nav-list a { display:block !important; padding-block:8px !important; }

.raa-header-actions {
	justify-self:start !important;
	display:flex !important;
	align-items:center !important;
	gap:14px !important;
	direction:ltr !important;
}
.raa-icon-link {
	width:38px !important;
	height:38px !important;
	min-width:38px !important;
	min-height:38px !important;
	display:grid !important;
	place-items:center !important;
	position:relative !important;
	color:#3c201c !important;
}
.raa-header svg,
.raa-icon-link svg,
.raa-search svg {
	display:block !important;
	width:22px !important;
	height:22px !important;
	min-width:22px !important;
	min-height:22px !important;
	max-width:22px !important;
	max-height:22px !important;
	fill:none !important;
	stroke:currentColor !important;
	stroke-width:1.7 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
}
.raa-cart-count {
	position:absolute !important;
	top:1px !important;
	right:0 !important;
	width:18px !important;
	height:18px !important;
	border-radius:50% !important;
	display:grid !important;
	place-items:center !important;
	background:#741923 !important;
	color:#fff !important;
	font-size:10px !important;
	font-weight:700 !important;
}

.raa-search {
	width:300px !important;
	height:42px !important;
	border:1px solid #ddc9ae !important;
	border-radius:999px !important;
	background:#fbf5ec !important;
	display:flex !important;
	align-items:center !important;
	gap:10px !important;
	padding-inline:14px !important;
	color:#805a4f !important;
}
.raa-search input {
	border:0 !important;
	outline:0 !important;
	background:transparent !important;
	width:100% !important;
	direction:rtl !important;
	color:#3b241e !important;
	font-size:12px !important;
}

.raa-mobile-only { display:none !important; }
.raa-desktop-only { display:block !important; }

/* Never allow Woo mini-cart/drawer markup to flash oversized. */
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer-container,
.wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__button svg {
	max-width:22px !important;
	max-height:22px !important;
}
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer-container,
.wp-block-woocommerce-mini-cart-contents {
	display:none !important;
}

/* Correct desktop banners: full image, never cropped, same image on mobile. */
.raa-hero-static,
.raa-hero-static .raa-hero-slides,
.raa-hero-static .raa-hero-slide,
.raa-hero-static .raa-hero-slide picture,
.raa-category-banner,
.raa-feature-image-only {
	display:block !important;
	width:100% !important;
	height:auto !important;
	min-height:0 !important;
	max-height:none !important;
	aspect-ratio:auto !important;
	box-shadow:none !important;
}

.raa-hero-static .raa-hero-slide {
	position:relative !important;
	inset:auto !important;
}

.raa-hero-static img,
.raa-category-banner img,
.raa-feature-image-only img {
	display:block !important;
	width:100% !important;
	height:auto !important;
	min-height:0 !important;
	max-height:none !important;
	object-fit:cover !important;
	object-position:center !important;
}

.raa-category-banner {
	overflow:hidden !important;
	border-radius:16px !important;
	background:#ead9c2 !important;
}

.raa-home-category-sections { display:block !important; }
.raa-category-product-section {
	padding-top:44px !important;
	padding-bottom:8px !important;
}
.raa-category-section-heading { margin-top:18px !important; }
.raa-category-empty {
	background:#fff9f0 !important;
	border:1px solid #e5d2b7 !important;
	border-radius:12px !important;
	padding:24px 18px !important;
	text-align:center !important;
	color:#76584c !important;
	font-size:13px !important;
}

/* Quick category cards remain square thumbnails, not banners. */
.raa-category-grid {
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:14px !important;
}
.raa-category-card:first-child { grid-column:auto !important; }
.raa-category-media {
	aspect-ratio:1/1 !important;
	overflow:hidden !important;
}
.raa-category-media img {
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Mobile */
@media (max-width:767px) {
	.raa-shell { width:calc(100% - 24px) !important; }

	.raa-topbar { font-size:10px !important; }
	.raa-topbar-inner {
		width:calc(100% - 24px) !important;
		min-height:32px !important;
		gap:8px !important;
	}
	.raa-topbar-inner span:nth-child(3),
	.raa-topbar-inner span:nth-child(4),
	.raa-topbar-inner span:nth-child(5) { display:none !important; }

	.raa-header {
		position:relative !important;
		top:auto !important;
	}
	.admin-bar .raa-header { top:auto !important; }

	.raa-header-row {
		width:calc(100% - 24px) !important;
		height:72px !important;
		display:grid !important;
		grid-template-columns:1fr auto 1fr !important;
		gap:10px !important;
	}
	.raa-desktop-only { display:none !important; }
	.raa-mobile-only { display:block !important; }

	.raa-header-actions {
		grid-column:3 !important;
		justify-self:end !important;
	}
	.raa-logo {
		grid-column:2 !important;
		grid-row:1 !important;
	}
	.raa-logo-img {
		width:88px !important;
		height:48px !important;
		max-width:88px !important;
		max-height:48px !important;
	}

	.raa-mobile-menu {
		grid-column:1 !important;
		grid-row:1 !important;
		justify-self:start !important;
		position:relative !important;
		z-index:1000 !important;
	}
	.raa-mobile-menu summary {
		list-style:none !important;
		width:42px !important;
		height:42px !important;
		display:grid !important;
		align-content:center !important;
		gap:5px !important;
		cursor:pointer !important;
	}
	.raa-mobile-menu summary::-webkit-details-marker { display:none !important; }
	.raa-mobile-menu summary span {
		display:block !important;
		width:25px !important;
		height:2px !important;
		background:#3e251f !important;
		border-radius:2px !important;
	}

	.raa-mobile-menu[open]::before {
		content:"";
		position:fixed;
		inset:0;
		background:rgba(35,18,16,.38);
		z-index:1000;
	}
	.raa-mobile-panel {
		position:fixed !important;
		top:0 !important;
		right:0 !important;
		left:auto !important;
		width:min(86vw,360px) !important;
		height:100dvh !important;
		max-height:100dvh !important;
		padding:22px 18px 28px !important;
		background:#f7eddf !important;
		border:0 !important;
		border-left:1px solid #dfcbb0 !important;
		box-shadow:none !important;
		overflow:auto !important;
		z-index:1001 !important;
	}

	.raa-mobile-panel .raa-nav-list {
		display:grid !important;
		gap:0 !important;
		margin-top:14px !important;
	}
	.raa-mobile-panel .raa-nav-list li {
		border-bottom:1px solid #eadac6 !important;
	}
	.raa-mobile-panel .raa-nav-list a {
		display:block !important;
		padding:13px 4px !important;
	}
	.raa-mobile-search { width:100% !important; }

	.raa-hero-static,
	.raa-hero-static .raa-hero-slides,
	.raa-hero-static .raa-hero-slide,
	.raa-hero-static .raa-hero-slide picture,
	.raa-category-banner,
	.raa-feature-image-only {
		width:100% !important;
		height:auto !important;
		aspect-ratio:auto !important;
	}
	.raa-hero-static img,
	.raa-category-banner img,
	.raa-feature-image-only img {
		width:100% !important;
		height:auto !important;
		object-fit:cover !important;
	}

	.raa-category-banner,
	
	.raa-feature-image-only {
		border-radius:12px !important;
	}

	.raa-category-product-section { padding-top:30px !important; }
	.raa-category-section-heading { margin-top:12px !important; }

	.raa-category-grid {
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
		gap:6px !important;
	}
	.raa-category-copy { padding:7px 2px 8px !important; text-align:center !important; }
	.raa-category-copy strong {
		font-size:9px !important;
		white-space:nowrap !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
	}
}
