/*
 * OGHA Theme — Block / FSE Styles
 * Modern CSS: nesting, logical properties, :is(), color-mix()
 * Design tokens live in main.css :root — not duplicated here.
 */

/* ══════════════════════════════════════════════════════════════════
   BASE
   ══════════════════════════════════════════════════════════════════ */

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

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #ede8e1;
}

.wp-site-blocks {
	background: #fdfbf7;
	background: var(--ogha-bg);
}

/* WooCommerce archive wrapper — beat WP core alignwide !important (max 1440px) */
.ogha-wc-wrapper {
	max-width: 1220px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ═══ WC pages (cart / checkout / account) — full-bleed banner ═══════════ */

/* 1. Strip all WP constraints from main — let it run full-width */
.woocommerce-cart main.wp-block-group,
.woocommerce-checkout main.wp-block-group,
.woocommerce-account main.wp-block-group {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 3rem !important;
	box-sizing: border-box;
}

/* 2. h1 page-title banner — naturally full-width inside the unconstrained main */
/* Override WP core is-layout-constrained child rules (specificity wins over WP's :where()) */
.woocommerce-cart main.wp-block-group > h1.wp-block-post-title,
.woocommerce-checkout main.wp-block-group > h1.wp-block-post-title,
.woocommerce-account main.wp-block-group > h1.wp-block-post-title {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 8rem;
	padding-bottom: 1rem;
	padding-left: max(1.5rem, calc((100vw - 1220px) / 2 + 2rem));
	padding-right: max(1.5rem, calc((100vw - 1220px) / 2 + 2rem));
	background-color: #e8d5b7;
	background-repeat: repeat;
	background-size: 360px 180px;
	color: #2d2520 !important;
	color: var(--ogha-dark) !important;
	font-family: 'Cormorant Garamond', 'DM Sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
	font-family: var(--font-heading) !important;
	font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	border-bottom: 3px solid #aa5b23;
	border-bottom: 3px solid var(--ogha-accent);
	box-sizing: border-box;
}

/* 3. Page-specific background icon patterns — 3 large icons (scale 3–4×) per tile */
.woocommerce-account main.wp-block-group > h1.wp-block-post-title {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 180'%3E%3Cg transform='translate(5,5) scale(3.5)' fill='none' stroke='rgba(60,35,15,0.10)' stroke-width='0.45' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/g%3E%3Cg transform='translate(220,15) scale(2.8)' fill='none' stroke='rgba(60,35,15,0.07)' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/g%3E%3Cg transform='translate(110,80) scale(4)' fill='none' stroke='rgba(60,35,15,0.08)' stroke-width='0.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/g%3E%3C/svg%3E");
}
.woocommerce-cart main.wp-block-group > h1.wp-block-post-title {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 180'%3E%3Cg transform='translate(5,5) scale(3.5)' fill='none' stroke='rgba(60,35,15,0.10)' stroke-width='0.45' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/g%3E%3Cg transform='translate(225,15) scale(2.8)' fill='none' stroke='rgba(60,35,15,0.07)' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/g%3E%3Cg transform='translate(110,78) scale(4)' fill='none' stroke='rgba(60,35,15,0.08)' stroke-width='0.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/g%3E%3C/svg%3E");
}
.woocommerce-checkout main.wp-block-group > h1.wp-block-post-title {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 180'%3E%3Cg transform='translate(5,20) scale(3.5)' fill='none' stroke='rgba(60,35,15,0.10)' stroke-width='0.45' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/g%3E%3Cg transform='translate(220,15) scale(2.8)' fill='none' stroke='rgba(60,35,15,0.07)' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/g%3E%3Cg transform='translate(110,90) scale(4)' fill='none' stroke='rgba(60,35,15,0.08)' stroke-width='0.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/g%3E%3C/svg%3E");
}

/* 4. Constrain WooCommerce content inside — centered 1220px column with padding */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	max-width: 1220px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 2rem !important;
	padding-right: 2rem !important;
	padding-top: 2rem !important;
	padding-bottom: 0 !important;
	box-sizing: border-box;
	width: 100%;
}

img, video { max-width: 100%; height: auto; display: block; }

a {
	transition: all .25s ease;
	transition: var(--ogha-trans);
	text-decoration: none;
}
a:hover { text-decoration: none; }

/* ══════════════════════════════════════════════════════════════════
   SITE HEADER
   ══════════════════════════════════════════════════════════════════ */

/*
 * Sticky must be on the outer wp-block-template-part wrapper.
 * The inner .site-header lives inside a same-height parent, so
 * sticky on the inner element scrolls away with its container.
 */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fdfbf7;
	background: var(--ogha-bg);
	transition: box-shadow .3s ease;
}

header.wp-block-template-part.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.08); }

.site-header {
	position: relative;
	z-index: 1;
	max-width: 1220px;
	width: 100%;
	margin-inline: auto;
	background: #fdfbf7;
	background: var(--ogha-bg);
	/* border-block-end: 1px solid var(--ogha-border); */
	height: 72px;
	height: var(--ogha-header-h);
	padding-inline: 2rem;
	gap: 2rem;
}

/* Logo */
.site-header .wp-block-site-logo img {
	max-height: 64px;
	width: auto;
}

.site-header .wp-block-site-logo a {
	display: flex;
	align-items: center;
}

/* Navigation */
.site-header .wp-block-navigation {
	flex: 1;
	justify-content: center;
}

.site-header .wp-block-navigation-item__content {
	color: #2d2520 !important;
	color: var(--ogha-dark) !important;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-transform: none;
	font-size: 0.9375rem; /* 15px per guidelines */
	padding: 0.25rem 0;
	position: relative;
}

.site-header .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	bottom: -2px;
	inset-inline-start: 0;
	width: 0;
	height: 1.5px;
	background: #aa5b23;
	background: var(--ogha-accent);
	transition: width .25s ease;
}

.site-header .wp-block-navigation-item:hover .wp-block-navigation-item__content::after,
.site-header .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content::after {
	width: 100%;
}

/* Sub-menu */
.site-header .wp-block-navigation__submenu-container {
	background: #fdfbf7;
	background: var(--ogha-bg);
	border: none;
	border-radius: 6px;
	border-radius: var(--ogha-radius);
	box-shadow: 0 8px 32px rgba(0,0,0,.12);
	min-width: 180px;
	padding-block: 0.4rem;
}

/* Override WP core border on submenu */
.site-header .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	border: none;
}

/* Tighter gap between header nav items */
.site-header .wp-block-navigation .wp-block-navigation__container {
	gap: 0.75rem !important;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	padding: 0.5rem 1.25rem;
	display: block;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: #aa5b23 !important;
	color: var(--ogha-accent) !important;
	background: #f7f1e8;
	background: var(--ogha-bg-soft);
}

/* Header actions */
.header-actions {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.header-actions .wp-block-search__inside-wrapper {
	border: 1px solid rgba(203,139,92,0.15);
	border: 1px solid var(--ogha-border);
	border-radius: 99px;
	background: #f7f1e8;
	background: var(--ogha-bg-soft);
	overflow: hidden;
	transition: all .25s ease;
	transition: var(--ogha-trans);
}

.header-actions .wp-block-search__inside-wrapper:focus-within {
	border-color: #aa5b23;
	border-color: var(--ogha-accent);
	background: #fdfbf7;
	background: var(--ogha-bg);
	box-shadow: 0 0 0 3px rgba(170, 91, 35, 0.15);
	box-shadow: 0 0 0 3px color-mix(in srgb, #aa5b23 15%, transparent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ogha-accent) 15%, transparent);
}

.header-actions .wp-block-search__input {
	border: none;
	background: transparent;
	padding: 0.4rem 0.75rem;
	font-size: 0.8125rem;
	width: 180px;
	outline: none;
}

.header-actions .wp-block-search__button {
	background: transparent;
	border: none;
	padding: 0.4rem 0.75rem;
	cursor: pointer;
	color: #6b5d53;
	color: var(--ogha-text-light);
}

.header-actions .wp-block-search__button:hover { color: #aa5b23; }
.header-actions .wp-block-search__button:hover { color: var(--ogha-accent); }

/* Cart */
.ogha-cart-link,
.ogha-header-cart a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: #2d2520;
	color: var(--ogha-dark);
	font-size: 0;
	position: relative;
}

.ogha-cart-link svg,
.ogha-header-cart a svg {
	width: 22px;
	height: 22px;
	stroke: #2d2520;
	stroke: var(--ogha-dark);
	transition: stroke .2s ease;
}

.ogha-cart-link:hover svg,
.ogha-header-cart a:hover svg { stroke: #aa5b23; }
.ogha-header-cart a:hover svg { stroke: var(--ogha-accent); }

.ogha-cart-count {
	position: absolute;
	top: -8px;
	inset-inline-end: -8px;
	background: #aa5b23;
	background: var(--ogha-accent);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
	min-width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3px;
}

.ogha-cart-count.hidden { display: none; }

/* Account */
.ogha-account-link,
.ogha-header-account a {
	display: inline-flex;
	align-items: center;
	color: #2d2520;
	color: var(--ogha-dark);
	transition: color .2s ease;
}

.ogha-account-link:hover,
.ogha-header-account a:hover { color: #aa5b23; }
.ogha-header-account a:hover { color: var(--ogha-accent); }

.ogha-account-link svg,
.ogha-header-account a svg { stroke: currentColor; }

/* Wishlist */
.ogha-wishlist-link,
.ogha-header-wishlist a {
	display: inline-flex;
	align-items: center;
	color: #2d2520;
	color: var(--ogha-dark);
	font-size: 0;
	position: relative;
	transition: color .2s ease;
}

.ogha-wishlist-link:hover,
.ogha-header-wishlist a:hover { color: #aa5b23; }
.ogha-header-wishlist a:hover { color: var(--ogha-accent); }

.ogha-wishlist-link svg,
.ogha-header-wishlist a svg { stroke: currentColor; }

.ogha-wish-count {
	position: absolute;
	top: -8px;
	inset-inline-end: -8px;
	background: #aa5b23;
	background: var(--ogha-accent);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
	min-width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3px;
}

.ogha-wish-count.hidden { display: none; }

/* Mobile nav toggle */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.25rem;
	color: #2d2520;
	color: var(--ogha-dark);
}

/* ══════════════════════════════════════════════════════════════════
   SITE FOOTER
   ══════════════════════════════════════════════════════════════════ */

.site-footer {
	background: #2d2520;
	background: var(--ogha-dark);
	padding-top: 5rem !important;
	padding-bottom: 3rem !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
	color: rgba(255,255,255,.65);
}

/* Footer column headings */
.site-footer .wp-block-heading {
	margin-top: 0;
	padding-top: 0;
}

/* Kill WP-generated bottom margin on columns wrapper */
.site-footer .wp-block-columns {
	margin-bottom: 0 !important;
}

/* Beat WordPress core: .has-text-color { color: var(--wp--preset--color--text) !important }
   We need higher specificity with our own !important to restore inline colors */
.site-footer .has-text-color {
	color: inherit !important;
}

/* Restore specific inline-specified colors by honoring CSS custom props */
.site-footer [style*="color:#fff"],
.site-footer [style*="color: #fff"],
.site-footer [style*="color:#ffffff"],
.site-footer [style*="color: #ffffff"] {
	color: #fff !important;
}

.site-footer [style*="color:rgba(255,255,255,.65)"],
.site-footer [style*="color: rgba(255,255,255,.65)"] {
	color: rgba(255,255,255,.65) !important;
}

.site-footer [style*="color:rgba(255,255,255,.45)"],
.site-footer [style*="color: rgba(255,255,255,.45)"] {
	color: rgba(255,255,255,.45) !important;
}

.site-footer [style*="color:rgba(255,255,255,.35)"],
.site-footer [style*="color: rgba(255,255,255,.35)"] {
	color: rgba(255,255,255,.35) !important;
}

/* accent color (email link) */
.site-footer [style*="color:var(--wp--preset--color--accent)"],
.site-footer [style*="color: var(--wp--preset--color--accent)"] {
	color: #aa5b23 !important;
	color: var(--ogha-accent) !important;
}

.site-footer a {
	color: rgba(255,255,255,.65);
	text-decoration: none;
	transition: color .2s ease;
}

.site-footer a:hover {
	color: #aa5b23;
	color: var(--ogha-accent);
}

.site-footer .wp-block-navigation-item__content {
	color: rgba(255,255,255,.65) !important;
	font-size: 0.875rem;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}

.site-footer .wp-block-navigation-item__content:hover {
	color: #aa5b23 !important;
	color: var(--ogha-accent) !important;
}

.site-footer__bottom {
	border-block-start: 1px solid rgba(255,255,255,.1);
	padding-top: 1.5rem;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
}

.site-footer__bottom p {
	margin: 0;
}

.ogha-pay-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.6rem;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 4px;
	font-size: 0.7rem;
	font-weight: 600;
	color: rgba(255,255,255,.7);
	letter-spacing: .03em;
}

.ogha-pay-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 1px 5px rgba(0,0,0,.35);
	line-height: 0;
	flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE SECTIONS
   ══════════════════════════════════════════════════════════════════ */

/* Hero */
.ogha-hero {
	background-color: #1a1a1a;
	background-color: var(--ogha-black);
}

.ogha-hero .wp-block-cover__image-background,
.ogha-hero .wp-block-cover__video-background {
	object-fit: cover;
	object-position: center 30%;
}

/* Values bar */
.ogha-values-bar {
	background: #f5e6d3;
	background: var(--ogha-accent-light);
}

.ogha-values-bar .wp-block-column { padding: 0.5rem 1rem; }

/* Section heading underline */
.ogha-section-header {
	margin-bottom: 3.5rem !important;
}

.ogha-section-header .wp-block-heading {
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin-bottom: 0;
}

.ogha-section-header .wp-block-heading::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	background: #aa5b23;
	background: var(--ogha-accent);
	margin-block-start: 1rem;
}

.ogha-section-header .wp-block-heading.has-text-align-center::after {
	margin-inline: auto;
}

/* Ensure section wrappers always have breathing room */
.ogha-section {
	padding-top: 5rem !important;
	padding-bottom: 5rem !important;
}

/* Category tiles — styling fully in woocommerce.css */

/* Story banner */
.ogha-story-image .wp-block-image img {
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
}

/* Blog post cards */
.ogha-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
}

.ogha-post-card {
	background: #fdfbf7;
	background: var(--ogha-bg);
	border: 1px solid rgba(203,139,92,0.15);
	border: 1px solid var(--ogha-border);
	border-radius: 12px;
	border-radius: var(--ogha-radius-lg);
	overflow: hidden;
	transition: box-shadow .25s ease, transform .25s ease;
}

.ogha-post-card:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,.10);
	box-shadow: var(--ogha-shadow);
	transform: translateY(-3px);
}

.ogha-post-card .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 3/2;
	object-fit: cover;
	transition: transform .4s ease;
}

.ogha-post-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }

.ogha-post-card__body { padding: 1.5rem; }

/* Sidebar */
.ogha-sidebar {
	border-inline-start: 1px solid rgba(203,139,92,0.15);
	border-inline-start: 1px solid var(--ogha-border);
	padding-inline-start: 2rem;
}

/* ══════════════════════════════════════════════════════════════════
   UI COMPONENTS
   ══════════════════════════════════════════════════════════════════ */

/* Pagination */
.wp-block-query-pagination {
	margin-block-start: 3rem;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding-inline: 0.75rem;
	border: 1px solid rgba(203,139,92,0.15);
	border: 1px solid var(--ogha-border);
	border-radius: 6px;
	border-radius: var(--ogha-radius);
	font-size: 0.875rem;
	color: #2d2520;
	color: var(--ogha-text);
	background: #fdfbf7;
	background: var(--ogha-bg);
	transition: all .25s ease;
	transition: var(--ogha-trans);
}

.wp-block-query-pagination-numbers a:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
	background: #aa5b23;
	background: var(--ogha-accent);
	border-color: #aa5b23;
	border-color: var(--ogha-accent);
	color: #fff;
}

.wp-block-query-pagination-numbers .current {
	background: #2d2520;
	background: var(--ogha-dark);
	border-color: #2d2520;
	border-color: var(--ogha-dark);
	color: #fff;
	color: #6b5d53;
	color: var(--ogha-text-light);
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-block-end: 1.5rem;
}

.ogha-breadcrumb a { color: #6b5d53; }
.ogha-breadcrumb a { color: var(--ogha-text-light); }
.ogha-breadcrumb a:hover { color: #aa5b23; }
.ogha-breadcrumb a:hover { color: var(--ogha-accent); }
.ogha-breadcrumb .ogha-bc-sep svg { width: 10px; height: 10px; opacity: .5; }

/* Buttons */
.wp-block-button .wp-block-button__link,
.wp-element-button {
	transition: all .25s ease !important;
	transition: var(--ogha-trans) !important;
}

.wp-block-button.is-style-fill .wp-block-button__link {
	background: #aa5b23;
	background: var(--ogha-accent);
	color: #fff;
	border-radius: 6px;
	border-radius: var(--ogha-radius);
}

.wp-block-button.is-style-fill .wp-block-button__link:hover { background: #7a4118; }
.wp-block-button.is-style-fill .wp-block-button__link:hover { background: var(--ogha-accent-dark); }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	border-radius: 6px;
	border-radius: var(--ogha-radius);
}

/* Search block */
.wp-block-search__inside-wrapper {
	border-color: rgba(203,139,92,0.15);
	border-color: var(--ogha-border);
	border-radius: 6px;
	border-radius: var(--ogha-radius);
}

.wp-block-search__input:focus {
	outline: 2px solid #aa5b23;
	outline: 2px solid var(--ogha-accent);
	outline-offset: 1px;
}

.wp-block-search__button {
	background: #aa5b23;
	background: var(--ogha-accent);
	color: #fff;
	border: none;
	border-radius: 0 6px 6px 0;
	border-radius: 0 var(--ogha-radius) var(--ogha-radius) 0;
	transition: background .2s ease;
}

.wp-block-search__button:hover { background: #7a4118; }
.wp-block-search__button:hover { background: var(--ogha-accent-dark); }

/* Forms */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea,
select {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(203,139,92,0.15);
	border: 1px solid var(--ogha-border);
	border-radius: 6px;
	border-radius: var(--ogha-radius);
	background: #fdfbf7;
	background: var(--ogha-bg);
	color: #2d2520;
	color: var(--ogha-text);
	font-size: 0.9375rem;
	transition: border-color .2s ease, box-shadow .2s ease;
	appearance: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: #aa5b23;
	border-color: var(--ogha-accent);
	box-shadow: 0 0 0 3px rgba(170, 91, 35, 0.20);
	box-shadow: 0 0 0 3px color-mix(in srgb, #aa5b23 20%, transparent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ogha-accent) 20%, transparent);
}

label {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	margin-block-end: 0.375rem;
	color: #1a1a1a;
	color: var(--ogha-black);
}

/* 404 */
.ogha-404 { text-align: center; }

/* Utility */
:where(.ogha-text-center)     { text-align: center; }
:where(.ogha-text-uppercase)  { text-transform: uppercase; letter-spacing: .1em; }

/* ══════════════════════════════════════════════════════════════════
   ACCESSIBILITY
   ══════════════════════════════════════════════════════════════════ */

:focus-visible {
	outline: 2px solid #aa5b23;
	outline: 2px solid var(--ogha-accent);
	outline-offset: 3px;
}

.skip-link {
	position: absolute;
	inset-inline-start: -9999px;
	z-index: 999;
	padding: 0.5rem 1rem;
	background: #2d2520;
	background: var(--ogha-dark);
	color: #fdfbf7;
	color: var(--ogha-bg);
	font-size: 0.875rem;
	text-decoration: none;
}

.skip-link:focus {
	inset-inline-start: 0;
	top: 0;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
	.site-header .wp-block-navigation__responsive-container-open { display: flex !important; }
	.site-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.header-actions .wp-block-search__input { width: 130px; }
	.ogha-section { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
	.ogha-section-header { margin-bottom: 2rem !important; }
}

@media (max-width: 768px) {
	.site-header { padding-inline: 1rem; gap: 1rem; }
	.ogha-posts-grid { grid-template-columns: 1fr; }
	/* category 4-col → 2-col */
	.ogha-categories-section .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr) !important; }
	.ogha-categories-section .woocommerce ul.products.columns-6 { grid-template-columns: repeat(2, 1fr) !important; }
	.ogha-section { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; padding-left: 1rem !important; padding-right: 1rem !important; }
	.ogha-section-header { margin-bottom: 1.5rem !important; }
	.ogha-section-header .wp-block-heading { font-size: clamp(1.3rem, 5vw, 1.75rem); }
	/* footer: WP core already stacks columns at 781px; just fix gaps + bottom bar */
	.site-footer .wp-block-column { padding-top: 1.25rem; }
	.site-footer .wp-block-column:first-child { padding-top: 0; }
	.site-footer__bottom { flex-direction: column; text-align: center; gap: 0.35rem; }
	.site-footer { padding-top: 3rem !important; padding-bottom: 2rem !important; }
	/* Cart / Checkout / Account: tighter padding on mobile */
	.woocommerce-cart main.wp-block-group,
	.woocommerce-checkout main.wp-block-group,
	.woocommerce-account main.wp-block-group {
		padding-bottom: 2rem !important;
	}
	/* Banner h1: reduce top padding and use 1rem side padding on mobile */
	.woocommerce-cart main.wp-block-group > h1.wp-block-post-title,
	.woocommerce-checkout main.wp-block-group > h1.wp-block-post-title,
	.woocommerce-account main.wp-block-group > h1.wp-block-post-title {
		padding-top: 2rem;
		padding-bottom: 1.75rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	/* WC content: tighter side padding on mobile */
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

@media (max-width: 480px) {
	:root { --ogha-header-h: 64px; }
	.header-actions .wp-block-search { display: none; }
	.ogha-section { padding-top: 2rem !important; padding-bottom: 2rem !important; padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
}

@media print {
	.site-header, .site-footer, .ogha-sidebar, .wp-block-navigation { display: none !important; }
	body { color: #000; }
	a { color: #000; text-decoration: underline; }
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE OVERRIDES
   ══════════════════════════════════════════════════════════════════ */

/* Remove card border on homepage product loops — design uses borderless cards */
.ogha-new-arrivals .woocommerce li.product,
.ogha-handpicked .woocommerce li.product {
	border: none;
	box-shadow: none;
}

/* "View All Products →" link below Handpicked section */
.ogha-view-all { text-align: center; margin-block-start: 2rem; }

.ogha-view-all-link {
	color: #7a4118;
	color: var(--ogha-accent-dark);
	font-weight: 600;
	font-size: 0.9rem;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: color .2s ease;
}

.ogha-view-all-link:hover { color: #2d2520; }
.ogha-view-all-link:hover { color: var(--ogha-dark); }

/* ══════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════════════ */

.ogha-contact-info {
	max-width: 480px;
	margin-inline: auto;
}

/* CF7 form wrapper */
.wpcf7-form {
	max-width: 600px;
	margin-inline: auto;
}

.wpcf7-form label {
	display: block;
	font-family: var(--wp--preset--font-family--lato, 'Lato', sans-serif);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2d2520;
	color: var(--ogha-dark, #333);
	margin-block-end: 1.5rem;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	display: block;
	width: 100%;
	margin-block-start: 0.375rem;
	padding: 0.75rem 1rem;
	font-family: var(--wp--preset--font-family--lato, 'Lato', sans-serif);
	font-size: 0.9375rem;
	font-weight: 400;
	color: #2d2520;
	color: var(--ogha-dark, #333);
	background: #fff;
	border: 1px solid #d8d0c8;
	border-radius: 2px;
	outline: none;
	transition: border-color 0.2s ease;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border-color: var(--wp--preset--color--accent, #f3a395);
}

.wpcf7-form textarea {
	min-height: 140px;
	resize: vertical;
}

.wpcf7-form input[type="submit"],
.wpcf7-submit {
	display: inline-block;
	padding: 0.8rem 2.5rem;
	background: var(--wp--preset--color--accent, #f3a395);
	color: #fff;
	font-family: var(--wp--preset--font-family--lato, 'Lato', sans-serif);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: none;
	border-radius: 2px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
	background: var(--wp--preset--color--accent-dark, #e08878);
	transform: translateY(-1px);
}

/* Validation messages */
.wpcf7-not-valid-tip {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	color: #c0392b;
	margin-block-start: 0.25rem;
}

.wpcf7-response-output {
	margin-block-start: 1.5rem;
	padding: 0.75rem 1rem;
	border-radius: 2px;
	font-size: 0.875rem;
	border: 1px solid transparent;
}

.wpcf7-mail-sent-ok {
	border-color: #a8d5a2;
	background: #f0faf0;
	color: #2d6a27;
}

.wpcf7-mail-sent-ng,
.wpcf7-spam-blocked,
.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
	border-color: #f5c6cb;
	background: #fff5f5;
	color: #c0392b;
}

@media (max-width: 600px) {
	.wpcf7-form input[type="submit"],
	.wpcf7-submit { width: 100%; text-align: center; }
}

