/* Raa preview refinements - intentionally loaded after the base theme. */

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

/* Header remains at the top of the page and does NOT follow scrolling. */
.raa-header {
	position:relative !important;
	top:auto !important;
	z-index:900;
	background:#f6eddf !important;
	backdrop-filter:none !important;
	transition:none !important;
}
.admin-bar .raa-header { top:auto !important; }

/* Static top banner: one image only, no shadow and no overlay text. */
.raa-hero-slider,
.raa-hero-static,
.raa-feature-banner,
.raa-category-card {
	box-shadow:none !important;
}
.raa-hero-static { display:block; overflow:hidden; }
.raa-hero-static .raa-hero-slides { position:relative; }
.raa-hero-static .raa-hero-slide { position:relative !important; inset:auto !important; }
.raa-hero-static .raa-hero-slide picture,
.raa-hero-static .raa-hero-slide img { width:100%; height:100%; display:block; }
.raa-hero-static .raa-hero-slide img { object-fit:cover; }

/* Exactly four category cards, side by side on desktop and mobile. */
.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-card {
	border-radius:12px !important;
	overflow:hidden;
	background:#fff9f0;
	border:1px solid #e6d4bc;
}
.raa-category-media {
	aspect-ratio:1 / 1 !important;
	min-height:0 !important;
	max-height:250px;
	overflow:hidden;
	background:#efe1cf;
}
.raa-category-media img {
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	object-position:center 22% !important;
}
.raa-category-copy {
	padding:10px 8px 12px !important;
	text-align:center;
}
.raa-category-copy strong {
	display:block;
	font-size:15px !important;
	line-height:1.5;
}
.raa-category-copy span { display:none !important; }

/* Make the homepage product section visually clear. */
.raa-products-section {
	margin-top:8px;
	padding-bottom:10px;
}
.raa-products-section .raa-section-heading {
	padding-bottom:10px;
	border-bottom:1px solid #ddc8ad;
}
.raa-product-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px;
}
.raa-product-card {
	box-shadow:none !important;
	border:1px solid #e5d2b7;
}

/* Image-only promotional banners. */
.raa-feature-banners {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
}
.raa-feature-image-only {
	display:block;
	min-height:0 !important;
	aspect-ratio:16 / 7;
	border-radius:14px;
	overflow:hidden;
	background:#ead9c2;
}
.raa-feature-image-only img {
	position:static !important;
	inset:auto !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* One designed payment image/banner instead of text and buttons. */
.raa-payment-banner-section {
	margin-top:48px;
	padding:0 0 24px;
	background:#f6eddf;
}
.raa-payment-banner-image {
	display:block;
	width:100%;
	height:auto;
	border:0;
	border-radius:18px;
	box-shadow:none;
}

/* Suppress the WooCommerce mini-cart drawer/flash that can appear during page load. */
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer-container,
.wp-block-woocommerce-mini-cart-contents {
	display:none !important;
}

/* Desktop-only layout fixes. Mobile styles below are untouched. */
@media (min-width:768px) {
	.raa-home > .raa-hero-wrap {
		width:100vw !important;
		max-width:none !important;
		margin:0 calc(50% - 50vw) !important;
		padding:0 !important;
	}
	.raa-home > .raa-hero-wrap .raa-hero-slider,
	.raa-home > .raa-hero-wrap .raa-hero-static,
	.raa-home > .raa-hero-wrap .raa-hero-slides,
	.raa-home > .raa-hero-wrap .raa-hero-slide,
	.raa-home > .raa-hero-wrap picture,
	.raa-home > .raa-hero-wrap img {
		width:100% !important;
		max-width:none !important;
		border-radius:0 !important;
	}
}

@media (min-width:768px) and (max-width:1180px) {
	.raa-header-row {
		width:calc(100% - 24px) !important;
		gap:10px !important;
	}
	.raa-nav-list {
		gap:12px !important;
		font-size:11px !important;
	}
	.raa-search {
		width:190px !important;
	}
	.raa-logo-img {
		width:92px !important;
		max-width:92px !important;
	}
}

/* Desktop header: menu on the right, centered logo, compact actions on the left. */
@media (min-width:768px) {
	.raa-header-row {
		grid-template-columns:1fr auto 1fr !important;
		position:relative !important;
	}
	.raa-header-actions {
		grid-column:3 !important;
		justify-self:end !important;
		display:flex !important;
		align-items:center !important;
		gap:10px !important;
		direction:ltr !important;
	}
	.raa-logo {
		grid-column:2 !important;
		justify-self:center !important;
	}
	.raa-desktop-menu {
		grid-column:1 !important;
		justify-self:start !important;
		position:relative !important;
		z-index:950 !important;
	}
	.raa-desktop-menu > summary,
	.raa-desktop-search > summary {
		list-style:none !important;
		cursor:pointer !important;
	}
	.raa-desktop-menu > summary::-webkit-details-marker,
	.raa-desktop-search > summary::-webkit-details-marker {
		display:none !important;
	}
	.raa-desktop-menu > summary {
		width:42px !important;
		height:42px !important;
		display:grid !important;
		align-content:center !important;
		gap:5px !important;
		padding:0 8px !important;
	}
	.raa-desktop-menu > summary span {
		display:block !important;
		width:26px !important;
		height:2px !important;
		background:#3e251f !important;
		border-radius:2px !important;
	}
	.raa-desktop-menu-panel {
		position:absolute !important;
		top:calc(100% + 12px) !important;
		right:0 !important;
		width:280px !important;
		padding:12px 16px !important;
		background:#fff9f0 !important;
		border:1px solid #e3d1ba !important;
		border-radius:12px !important;
		box-shadow:0 18px 45px rgba(61,34,27,.14) !important;
		z-index:1000 !important;
	}
	.raa-desktop-menu-panel .raa-nav-list {
		display:grid !important;
		gap:0 !important;
		font-size:14px !important;
	}
	.raa-desktop-menu-panel .raa-nav-list li {
		border-bottom:1px solid #eadac6 !important;
	}
	.raa-desktop-menu-panel .raa-nav-list li:last-child {
		border-bottom:0 !important;
	}
	.raa-desktop-menu-panel .raa-nav-list a {
		display:block !important;
		padding:11px 4px !important;
	}
	.raa-desktop-search {
		position:relative !important;
	}
	.raa-desktop-search-panel {
		position:absolute !important;
		top:calc(100% + 12px) !important;
		right:0 !important;
		width:340px !important;
		padding:10px !important;
		background:#fff9f0 !important;
		border:1px solid #e3d1ba !important;
		border-radius:12px !important;
		box-shadow:0 18px 45px rgba(61,34,27,.14) !important;
		z-index:1000 !important;
	}
	.raa-desktop-search-panel .raa-search {
		width:100% !important;
	}
}

/* Desktop header rebuilt in the same pattern as kit-z.com. Mobile rules below stay unchanged. */
@media (min-width:768px) {
	.raa-header {
		background:#f6eddf !important;
		border-bottom:0 !important;
	}
	.raa-header .raa-kit-header-main.raa-desktop-only {
		min-height:78px !important;
		height:78px !important;
		display:grid !important;
		grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) !important;
		grid-template-areas:"actions logo search" !important;
		align-items:center !important;
		gap:20px !important;
		direction:ltr !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
	}
	.raa-kit-search {
		grid-area:auto !important;
		grid-column:2 !important;
		justify-self:center !important;
		width:min(100%,420px) !important;
		height:44px !important;
		display:flex !important;
		align-items:center !important;
		direction:rtl !important;
		border:1px solid #ddc9ae !important;
		border-radius:999px !important;
		background:#fff9f0 !important;
		overflow:hidden !important;
	}
	.raa-kit-search input[type="search"] {
		flex:1 !important;
		min-width:0 !important;
		height:100% !important;
		border:0 !important;
		outline:0 !important;
		background:transparent !important;
		padding:0 16px !important;
		color:#3b241e !important;
		font-size:12px !important;
		direction:rtl !important;
	}
	.raa-kit-search button {
		width:46px !important;
		height:44px !important;
		display:grid !important;
		place-items:center !important;
		border:0 !important;
		border-right:1px solid #eadac6 !important;
		background:transparent !important;
		color:#5c3028 !important;
		cursor:pointer !important;
	}
	.raa-kit-search svg {
		width:21px !important;
		height:21px !important;
		fill:none !important;
		stroke:currentColor !important;
		stroke-width:1.7 !important;
		stroke-linecap:round !important;
		stroke-linejoin:round !important;
	}
	.raa-kit-logo {
		grid-area:auto !important;
		grid-column:3 !important;
		justify-self:end !important;
		direction:rtl !important;
	}
	.raa-kit-logo .raa-logo-img {
		width:112px !important;
		height:64px !important;
		max-width:112px !important;
		max-height:64px !important;
		object-fit:contain !important;
	}
	.raa-kit-actions {
		grid-area:auto !important;
		grid-column:1 !important;
		justify-self:start !important;
		display:flex !important;
		align-items:center !important;
		gap:22px !important;
		direction:rtl !important;
	}
	.raa-kit-action {
		min-width:54px !important;
		display:flex !important;
		flex-direction:column !important;
		align-items:center !important;
		justify-content:center !important;
		gap:2px !important;
		color:#3c201c !important;
		position:relative !important;
	}
	.raa-kit-action > span {
		width:34px !important;
		height:31px !important;
		display:grid !important;
		place-items:center !important;
		position:relative !important;
	}
	.raa-kit-action svg {
		width:25px !important;
		height:25px !important;
		fill:none !important;
		stroke:currentColor !important;
		stroke-width:1.7 !important;
		stroke-linecap:round !important;
		stroke-linejoin:round !important;
	}
	.raa-kit-action small {
		font-size:10px !important;
		font-weight:600 !important;
		line-height:1.3 !important;
	}
	.raa-kit-action .raa-cart-count {
		top:-3px !important;
		right:-5px !important;
		width:17px !important;
		height:17px !important;
		font-size:9px !important;
	}
	.raa-kit-nav-wrap {
		display:block !important;
		width:100% !important;
		border-top:1px solid #eadac6 !important;
		border-bottom:1px solid #e2ceb3 !important;
		background:#fff9f0 !important;
	}
	.raa-kit-desktop-nav {
		min-height:46px !important;
		display:flex !important;
		align-items:center !important;
		gap:0 !important;
		direction:rtl !important;
	}
	.raa-kit-desktop-nav > a {
		height:46px !important;
		display:flex !important;
		align-items:center !important;
		padding:0 18px !important;
		font-size:12px !important;
		font-weight:600 !important;
		color:#4b2b24 !important;
		white-space:nowrap !important;
		border-left:1px solid #efe1cf !important;
	}
	.raa-kit-desktop-nav > a:hover {
		color:#741923 !important;
		background:#f9efe2 !important;
	}
	.raa-kit-categories {
		position:relative !important;
		height:46px !important;
		flex:0 0 auto !important;
	}
	.raa-kit-categories > summary {
		list-style:none !important;
		height:46px !important;
		min-width:150px !important;
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
		gap:9px !important;
		padding:0 18px !important;
		background:#741923 !important;
		color:#fff !important;
		font-size:12px !important;
		font-weight:700 !important;
		cursor:pointer !important;
	}
	.raa-kit-categories > summary::-webkit-details-marker { display:none !important; }
	.raa-kit-categories > summary svg {
		width:19px !important;
		height:19px !important;
		fill:none !important;
		stroke:currentColor !important;
		stroke-width:1.7 !important;
		stroke-linecap:round !important;
		stroke-linejoin:round !important;
	}
	.raa-kit-categories-panel {
		position:absolute !important;
		top:calc(100% + 1px) !important;
		right:0 !important;
		width:250px !important;
		display:grid !important;
		padding:8px 0 !important;
		background:#fff9f0 !important;
		border:1px solid #dfc9ad !important;
		border-top:0 !important;
		box-shadow:0 18px 40px rgba(71,42,30,.15) !important;
		z-index:1200 !important;
	}
	.raa-kit-categories-panel a {
		display:block !important;
		padding:10px 16px !important;
		font-size:12px !important;
		font-weight:600 !important;
		color:#4d2d25 !important;
		border-bottom:1px solid #efe1cf !important;
	}
	.raa-kit-categories-panel a:last-child { border-bottom:0 !important; }
	.raa-kit-categories-panel a:hover {
		background:#f7ead9 !important;
		color:#741923 !important;
	}
}
@media (min-width:768px) and (max-width:1100px) {
	.raa-kit-header-main {
		grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr) !important;
		gap:16px !important;
	}
	.raa-kit-search { width:min(100%,300px) !important; }
	.raa-kit-actions { gap:12px !important; }
	.raa-kit-desktop-nav > a { padding:0 10px !important; font-size:10px !important; }
	.raa-kit-categories > summary { min-width:125px !important; padding:0 12px !important; }
}

/* Mobile right-side off-canvas menu. */
@media (max-width:767px) {
	.admin-bar .raa-header { top:auto !important; }

	.raa-mobile-menu { position:relative; z-index:1000; }
	.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;
		z-index:1001;
		transform:translateX(100%);
		animation:raa-panel-in .22s ease forwards;
	}
	.raa-mobile-close {
		width:38px;
		height:38px;
		display:grid;
		place-items:center;
		margin:0 0 16px auto;
		border:1px solid #d9c4a8;
		border-radius:50%;
		background:#fff9f0;
		color:#6f1721;
		font-size:25px;
		line-height:1;
		cursor:pointer;
	}
	@keyframes raa-panel-in { to { transform:translateX(0); } }

	.raa-hero-wrap { padding-top:0 !important; }
	.raa-hero-slider { border-radius:0 !important; border:0 !important; }
	.raa-hero-slides { aspect-ratio:1 / 1 !important; }

	.raa-category-grid {
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
		gap:6px !important;
	}
	.raa-category-media {
		aspect-ratio:1 / 1 !important;
		max-height:none;
	}
	.raa-category-copy { padding:7px 2px 8px !important; }
	.raa-category-copy strong {
		font-size:9px !important;
		font-weight:700;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
	}

	.raa-product-grid {
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		gap:10px !important;
	}
	.raa-feature-banners {
		grid-template-columns:1fr !important;
		gap:10px !important;
	}
	.raa-feature-image-only {
		aspect-ratio:16 / 9;
		border-radius:12px;
	}
	.raa-payment-banner-section {
		margin-top:34px;
		padding-bottom:16px;
	}
	.raa-payment-banner-image { border-radius:12px; }
}

@media (min-width:768px) and (max-width:1180px) {
	.raa-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
	.raa-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* FINAL desktop header layout: right menu+logo, centered search, left actions. */
@media (min-width:768px) {
	.raa-header {
		background:#f6eddf !important;
		border-bottom:1px solid #e5d4bd !important;
	}
	.raa-header .raa-desktop-header-final.raa-desktop-only {
		width:min(1440px,calc(100% - 48px)) !important;
		height:82px !important;
		margin-inline:auto !important;
		display:grid !important;
		grid-template-columns:1fr minmax(300px,520px) 1fr !important;
		align-items:center !important;
		gap:28px !important;
		direction:ltr !important;
		position:relative !important;
	}
	.raa-desktop-actions-final {
		grid-column:1 !important;
		justify-self:start !important;
		display:flex !important;
		align-items:center !important;
		gap:18px !important;
		direction:ltr !important;
	}
	.raa-desktop-action-final {
		min-width:52px !important;
		display:flex !important;
		flex-direction:column !important;
		align-items:center !important;
		justify-content:center !important;
		gap:3px !important;
		color:#3c201c !important;
		position:relative !important;
	}
	.raa-desktop-action-final > span {
		width:32px !important;
		height:30px !important;
		display:grid !important;
		place-items:center !important;
		position:relative !important;
	}
	.raa-desktop-action-final svg {
		width:24px !important;
		height:24px !important;
		fill:none !important;
		stroke:currentColor !important;
		stroke-width:1.7 !important;
		stroke-linecap:round !important;
		stroke-linejoin:round !important;
	}
	.raa-desktop-action-final small {
		font-size:10px !important;
		font-weight:600 !important;
		line-height:1.2 !important;
		white-space:nowrap !important;
	}
	.raa-desktop-cart-final .raa-cart-count {
		top:-4px !important;
		right:-6px !important;
		width:17px !important;
		height:17px !important;
		font-size:9px !important;
	}
	.raa-desktop-search-final {
		grid-column:2 !important;
		justify-self:center !important;
		width:100% !important;
		max-width:520px !important;
		height:44px !important;
		display:flex !important;
		align-items:center !important;
		direction:rtl !important;
		border:1px solid #ddc9ae !important;
		border-radius:999px !important;
		background:#fff9f0 !important;
		overflow:hidden !important;
	}
	.raa-desktop-search-final input[type="search"] {
		flex:1 !important;
		min-width:0 !important;
		height:100% !important;
		border:0 !important;
		outline:0 !important;
		background:transparent !important;
		padding:0 16px !important;
		color:#3b241e !important;
		font-size:12px !important;
		direction:rtl !important;
	}
	.raa-desktop-search-final button {
		width:46px !important;
		height:44px !important;
		display:grid !important;
		place-items:center !important;
		border:0 !important;
		border-right:1px solid #eadac6 !important;
		background:transparent !important;
		color:#5c3028 !important;
		cursor:pointer !important;
	}
	.raa-desktop-search-final button svg {
		width:21px !important;
		height:21px !important;
		fill:none !important;
		stroke:currentColor !important;
		stroke-width:1.7 !important;
		stroke-linecap:round !important;
		stroke-linejoin:round !important;
	}
	.raa-desktop-right-final {
		grid-column:3 !important;
		justify-self:end !important;
		display:flex !important;
		align-items:center !important;
		gap:14px !important;
		direction:ltr !important;
		position:relative !important;
	}
	.raa-desktop-logo-final {
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
	}
	.raa-desktop-logo-final .raa-logo-img {
		width:104px !important;
		height:58px !important;
		max-width:104px !important;
		max-height:58px !important;
		object-fit:contain !important;
	}
	.raa-desktop-menu-final {
		position:relative !important;
		z-index:1100 !important;
	}
	.raa-desktop-menu-final > summary {
		list-style:none !important;
		width:42px !important;
		height:42px !important;
		display:grid !important;
		align-content:center !important;
		justify-content:center !important;
		gap:5px !important;
		cursor:pointer !important;
	}
	.raa-desktop-menu-final > summary::-webkit-details-marker { display:none !important; }
	.raa-desktop-menu-final > summary span {
		display:block !important;
		width:26px !important;
		height:2px !important;
		background:#3e251f !important;
		border-radius:2px !important;
	}
	.raa-desktop-menu-panel-final {
		position:absolute !important;
		top:calc(100% + 10px) !important;
		right:0 !important;
		width:280px !important;
		padding:14px 16px !important;
		background:#fff9f0 !important;
		border:1px solid #e3d1ba !important;
		border-radius:12px !important;
		box-shadow:0 18px 45px rgba(61,34,27,.14) !important;
		direction:rtl !important;
		z-index:1200 !important;
	}
	.raa-desktop-menu-panel-final .raa-nav-list {
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:0 !important;
		margin:0 !important;
		padding:0 !important;
		list-style:none !important;
		font-size:14px !important;
	}
	.raa-desktop-menu-panel-final .raa-nav-list li {
		border-bottom:1px solid #eadac6 !important;
	}
	.raa-desktop-menu-panel-final .raa-nav-list li:last-child { border-bottom:0 !important; }
	.raa-desktop-menu-panel-final .raa-nav-list a {
		display:block !important;
		padding:11px 4px !important;
	}
}

@media (min-width:768px) and (max-width:1050px) {
	.raa-header .raa-desktop-header-final.raa-desktop-only {
		grid-template-columns:1fr minmax(260px,420px) 1fr !important;
		gap:16px !important;
	}
	.raa-desktop-actions-final { gap:10px !important; }
	.raa-desktop-action-final { min-width:46px !important; }
	.raa-desktop-logo-final .raa-logo-img {
		width:92px !important;
		max-width:92px !important;
	}
}

/* FINAL mobile header fix only. Desktop styles above are untouched. */
@media (max-width:767px) {
	.raa-header {
		position:relative !important;
		top:auto !important;
		width:100% !important;
		background:#f6eddf !important;
		border-bottom:1px solid #e5d4bd !important;
	}
	.raa-header .raa-header-row.raa-mobile-only {
		width:calc(100% - 24px) !important;
		height:72px !important;
		min-height:72px !important;
		margin-inline:auto !important;
		padding:0 !important;
		display:grid !important;
		grid-template-columns:42px minmax(0,1fr) 42px !important;
		grid-template-rows:72px !important;
		align-items:center !important;
		gap:10px !important;
		position:relative !important;
	}
	.raa-header .raa-header-row.raa-mobile-only > .raa-header-actions {
		grid-column:3 !important;
		grid-row:1 !important;
		justify-self:end !important;
		align-self:center !important;
		display:flex !important;
		align-items:center !important;
	}
	.raa-header .raa-header-row.raa-mobile-only > .raa-logo {
		grid-column:2 !important;
		grid-row:1 !important;
		justify-self:center !important;
		align-self:center !important;
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
		margin:0 !important;
		padding:0 !important;
	}
	.raa-header .raa-header-row.raa-mobile-only > .raa-logo .raa-logo-img {
		width:88px !important;
		height:48px !important;
		max-width:88px !important;
		max-height:48px !important;
		object-fit:contain !important;
		margin:0 !important;
	}
	.raa-header .raa-header-row.raa-mobile-only > .raa-mobile-menu {
		grid-column:1 !important;
		grid-row:1 !important;
		justify-self:start !important;
		align-self:center !important;
		position:relative !important;
		margin:0 !important;
		z-index:1000 !important;
	}
	.raa-header .raa-header-row.raa-mobile-only > .raa-mobile-menu > summary {
		width:42px !important;
		height:42px !important;
		display:grid !important;
		place-content:center !important;
		gap:5px !important;
		margin:0 !important;
		padding:0 !important;
	}
	.raa-header .raa-icon-link,
	.raa-header .raa-cart-link {
		width:42px !important;
		height:42px !important;
		min-width:42px !important;
		min-height:42px !important;
		display:grid !important;
		place-items:center !important;
		margin:0 !important;
	}
	.raa-header .raa-cart-link svg {
		width:24px !important;
		height:24px !important;
		max-width:24px !important;
		max-height:24px !important;
	}
}
