/* =========================================================
   AfroSwiss Cuisine — Custom Site Styles
   Brand layer on top of Kadence + Gutenberg (lean build)
   ========================================================= */

/* ---------- 1. Brand palette ---------- */
:root {
	--af-primary: #e8590c;
	--af-primary-dark: #c74c06;
	--af-primary-deep: #9a3b04;
	--af-gold: #f59e0b;
	--af-cream: #fffaf3;
	--af-dark: #241b12;
	--af-muted: #6b5d4f;
	--af-line: #f0e3d2;
	--af-dark-bg: #1e150c;
	--af-grad: linear-gradient(135deg, #ff7a18 0%, #e8590c 55%, #c74c06 100%);
}

/* ---------- 2. Typography ---------- */
body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--af-dark);
	background-color: var(--af-cream);
}

h1, h2, h3, h4, h5, h6,
.wp-block-button__link,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

/* Section-heading underline accent */
.entry-content h2 {
	position: relative;
	padding-bottom: 0.35em;
	margin-bottom: 0.5em;
}
.entry-content h2::after {
	content: '';
	display: block;
	width: 64px;
	height: 5px;
	margin: 14px auto 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--af-primary), var(--af-gold));
}

/* ---------- 3. Hero ---------- */
.hero-section {
	text-align: center;
	background-color: var(--af-dark);
}
.hero-section .wp-block-cover__inner-container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px;
}
.hero-section .eyebrow {
	display: inline-block;
	max-width: min(100%, 980px);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 800;
	font-size: 0.95rem;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
	color: #fff;
	background-image: var(--af-grad);
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	padding: 12px 30px;
	margin-bottom: 24px;
	box-shadow: 0 6px 20px rgba(232, 89, 12, 0.5);
	animation: af-eyebrow-bounce 1.7s ease-in-out infinite, af-eyebrow-glow 1.7s ease-in-out infinite;
	will-change: transform;
	overflow-wrap: break-word;
}
@keyframes af-eyebrow-bounce {
	0%, 100% { transform: translateY(0); }
	35% { transform: translateY(-9px); }
	50% { transform: translateY(0); }
	65% { transform: translateY(-5px); }
	80% { transform: translateY(0); }
}
@keyframes af-eyebrow-glow {
	0%, 100% { box-shadow: 0 6px 20px rgba(232, 89, 12, 0.5), 0 0 0 0 rgba(232, 89, 12, 0.55); }
	50% { box-shadow: 0 6px 20px rgba(232, 89, 12, 0.5), 0 0 0 12px rgba(232, 89, 12, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.hero-section .eyebrow {
		animation: none;
	}
}
.hero-section .hero-title {
	font-size: clamp(2.6rem, 7vw, 7rem);
	font-weight: 800;
	line-height: 1.02;
	color: #fff;
	margin: 0 0 18px;
	text-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
}
.hero-section .hero-sub {
	font-size: clamp(1.05rem, 2vw, 1.5rem);
	font-weight: 500;
	color: #f3e3cd;
	max-width: 720px;
	margin: 0 auto 34px;
}
.hero-section .wp-block-button__link {
	font-size: 1rem;
	padding: 16px 40px;
}

/* ---------- 4. Buttons ---------- */
.wp-block-button__link,
button.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
#place_order,
.wc-block-components-button,
button.srfm-submit-button {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.6px !important;
	border-radius: 999px !important;
	border: none !important;
	background-color: var(--af-primary) !important;
	background-image: var(--af-grad) !important;
	color: #fff !important;
	box-shadow: 0 8px 22px -8px rgba(232, 89, 12, 0.55) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
}
.wp-block-button__link:hover,
button.button:hover,
a.button:hover,
.woocommerce a.button:hover,
#place_order:hover,
button.srfm-submit-button:hover {
	transform: translateY(-2px) !important;
	filter: brightness(1.06) !important;
	box-shadow: 0 14px 30px -10px rgba(232, 89, 12, 0.65) !important;
	color: #fff !important;
	background-color: var(--af-primary-dark) !important;
	background-image: linear-gradient(135deg, #ff7a18 0%, #c74c06 70%, #9a3b04 100%) !important;
}

/* ---------- 5. Header ---------- */
/* Hide automatic page titles where the content provides its own heading */
.home .entry-header,
.page-id-1852 .entry-header,
.page-id-55 .entry-header {
	display: none;
}

.site-header {
	background: #fff;
	box-shadow: 0 6px 24px -18px rgba(36, 27, 18, 0.3);
}
.site-header .site-title,
.main-navigation .menu-item > a {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	letter-spacing: 0.2px;
	color: var(--af-dark);
}
.main-navigation .menu-item > a:hover {
	color: var(--af-primary);
}

/* "Order Now" CTA pill in the header menu */
.main-navigation .menu-item.order-now-btn > a {
	background-image: var(--af-grad);
	color: #fff !important;
	border-radius: 999px;
	padding: 10px 22px;
	box-shadow: 0 8px 20px -8px rgba(232, 89, 12, 0.55);
}
.main-navigation .menu-item.order-now-btn > a:hover {
	color: #fff !important;
	filter: brightness(1.06);
	transform: translateY(-1px);
}

/* Cart icon in the header menu */
.main-navigation .menu-item > a .af-cart-icon {
	width: 21px;
	height: 21px;
	vertical-align: middle;
}
.main-navigation .menu-item > a[href*="/cart/"] {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.main-navigation li:has(> a[href*="/cart/"]) {
	margin-right: 26px;
}
.af-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background-image: var(--af-grad);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(232, 89, 12, 0.4);
}

/* ---------- OrderNow menu filter ---------- */
[hidden] {
	display: none !important;
}
.af-menu-filter {
	max-width: 620px;
	margin: 0 auto 48px;
	text-align: center;
}
.af-search-wrap {
	position: relative;
}
.af-search-icon {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	color: var(--af-muted);
	pointer-events: none;
	transition: color 0.2s;
}
.af-search-wrap:focus-within .af-search-icon {
	color: var(--af-primary);
}
.af-menu-search {
	width: 100%;
	padding: 16px 20px 16px 52px;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.4;
	border: 2px solid var(--af-line);
	border-radius: 16px;
	background: #fff;
	color: var(--af-dark);
	box-shadow: 0 8px 22px rgba(36, 27, 18, 0.08);
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
	appearance: none;
	-webkit-appearance: none;
}
.af-menu-search:focus {
	border-color: var(--af-primary);
	box-shadow: 0 0 0 4px rgba(232, 89, 12, 0.16), 0 8px 22px rgba(36, 27, 18, 0.08);
}
.af-menu-search::placeholder {
	color: var(--af-muted);
	font-weight: 400;
}
.af-menu-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
}
.af-pill {
	padding: 9px 20px;
	border: 2px solid var(--af-line);
	border-radius: 999px;
	background: #fff;
	color: var(--af-muted);
	font-weight: 600;
	font-size: 0.92rem;
	cursor: pointer;
	transition: all 0.2s;
}
.af-pill:hover {
	border-color: var(--af-primary);
	color: var(--af-primary);
	transform: translateY(-1px);
}
.af-pill.is-active {
	background-image: var(--af-grad);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 4px 12px rgba(232, 89, 12, 0.3);
}
.af-pill .af-pill-count {
	display: inline-block;
	margin-left: 6px;
	font-size: 0.78rem;
	font-weight: 700;
	opacity: 0.75;
}
.af-menu-count {
	margin-top: 14px;
	font-size: 0.9rem;
	color: var(--af-muted);
	font-weight: 500;
}
.af-menu-count strong {
	color: var(--af-primary);
	font-weight: 700;
}
.af-menu-empty {
	text-align: center;
	color: var(--af-muted);
	font-weight: 500;
	margin-top: 24px;
	font-size: 1rem;
}

/* ---------- GTranslate language switcher ---------- */
.menu-item-gtranslate {
	margin-left: 8px;
}
.menu-item-gtranslate .gt_selector {
	background-color: #fff;
	border: 2px solid var(--af-line);
	border-radius: 999px;
	color: var(--af-dark);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1;
	padding: 9px 34px 9px 16px;
	cursor: pointer;
	transition: border-color 0.2s;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='14' height='14'%3E%3Cpath fill='none' stroke='%23e8590c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
}
.menu-item-gtranslate .gt_selector:hover,
.menu-item-gtranslate .gt_selector:focus {
	border-color: var(--af-primary);
	outline: none;
}

/* ---------- SureForms contact form ---------- *//* Form colors were stored against Astra's palette vars (--ast-global-color-*),
   which no longer exist under Kadence — restore them against the brand palette. */
.srfm-form-container-1267 {
	--ast-global-color-0: var(--af-primary);
	--ast-global-color-2: var(--af-dark);
}
.srfm-form-container-1267 .srfm-input-common {
	background-color: #ffffff !important;
	border: 1px solid var(--af-line) !important;
	box-shadow: 0 1px 2px rgba(36, 27, 18, 0.05);
}
.srfm-form-container-1267 .srfm-input-common::placeholder {
	color: var(--af-muted);
}
.srfm-form-container-1267 .srfm-input-common:focus {
	border-color: var(--af-primary) !important;
	box-shadow: 0 0 0 3px rgba(232, 89, 12, 0.15) !important;
}


/* ---------- 6. Sections ---------- */
.welcome-section,
.menu-section,
.reviews-section {
	padding-top: 72px;
	padding-bottom: 72px;
}
.hours-section {
	padding-top: 24px;
	padding-bottom: 48px;
}
.welcome-media img {
	width: 82%;
	display: block;
	margin: 0 auto;
	border-radius: 24px;
	box-shadow: 0 28px 60px -28px rgba(36, 27, 18, 0.4);
}
.welcome-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.welcome-text h2 {
	text-align: left;
}
.welcome-text h2::after {
	margin: 14px 0 0;
}
.welcome-sub {
	color: var(--af-primary);
	font-size: 1.4rem;
}
.welcome-copy {
	font-size: 1.1rem;
	line-height: 1.8;
	color: var(--af-muted);
	margin: 8px 0 26px;
}
.hours-list {
	font-size: 1.15rem;
	line-height: 2.1;
	color: var(--af-muted);
	font-weight: 500;
}
.menu-sub {
	color: var(--af-primary);
	font-size: 1.35rem;
	margin-bottom: 0.2em;
}
.menu-note {
	font-weight: 600;
	color: var(--af-muted);
	margin-bottom: 44px;
}

/* ---------- 7. Menu dish cards ---------- */
.dish-row .dish-col {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: 18px;
	padding: 16px 16px 24px;
	text-align: center;
	box-shadow: 0 12px 30px -18px rgba(36, 27, 18, 0.28);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.dish-row .dish-col:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 44px -20px rgba(36, 27, 18, 0.38);
	border-color: rgba(232, 89, 12, 0.45);
}
.dish-thumb {
	margin: 0 0 14px;
	border-radius: 14px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--af-cream);
}
.dish-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}
.dish-row .dish-col:hover .dish-thumb img {
	transform: scale(1.06);
}
.dish-name {
	font-size: 1.12rem;
	font-weight: 800;
	color: var(--af-dark);
	margin: 0;
}
.dish-name a {
	color: inherit;
	text-decoration: none;
}
.dish-name a:hover {
	color: var(--af-primary);
}

/* ---------- 8. Reviews ---------- */
.reviews-eyebrow {
	position: relative;
	color: var(--af-primary);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 40px;
	padding-bottom: 18px;
}
.reviews-eyebrow::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 84px;
	height: 6px;
	border-radius: 999px;
	background-image: var(--af-grad);
	box-shadow: 0 4px 10px -4px rgba(232, 89, 12, 0.6);
}

/* ---------- 8b. Order Now page ---------- */
.order-note {
	color: var(--af-gold);
}
.order-copy {
	color: var(--af-muted);
	max-width: 640px;
	margin: 0 auto 44px;
}

/* ---------- 8c. Contact page ---------- */
.contact-title {
	margin-bottom: 0.2em;
}
.contact-tagline {
	color: var(--af-primary);
	font-weight: 600;
	font-size: 1.15rem;
	margin-bottom: 48px;
}
.contact-cols {
	gap: 3em;
}
.contact-info {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: 18px;
	padding: 32px;
	box-shadow: 0 12px 30px -18px rgba(36, 27, 18, 0.28);
}
.contact-info .info-head {
	font-size: 1.3rem;
	text-align: left;
	margin-bottom: 0.4em;
}
.contact-info .info-head::after {
	margin: 10px 0 0;
}
.contact-phones,
.contact-hours,
.contact-address {
	color: var(--af-muted);
	font-size: 1.05rem;
	line-height: 1.9;
}
.contact-phones a {
	color: var(--af-primary);
	font-weight: 700;
	font-size: 1.15rem;
	text-decoration: none;
}
.contact-phones a:hover {
	text-decoration: underline;
}
.contact-form-col {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: 18px;
	padding: 32px;
	box-shadow: 0 12px 30px -18px rgba(36, 27, 18, 0.28);
}
.contact-form-col .form-head {
	font-size: 1.6rem;
}
.form-intro {
	color: var(--af-muted);
}

/* ---------- 9. Footer ---------- */
.site-footer {
	background: var(--af-dark-bg);
	color: #d9c9b4;
}
.site-footer .widget-title,
.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer h6 {
	color: #fff;
}
.site-footer a {
	color: #f3e3cd;
}

/* ---------- 10. WooCommerce (Order Now / products) ---------- */
.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: 18px;
	padding: 18px;
	box-shadow: 0 12px 30px -18px rgba(36, 27, 18, 0.28);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: 0 24px 44px -20px rgba(36, 27, 18, 0.38);
}
.woocommerce ul.products li.product img {
	border-radius: 14px;
	margin-bottom: 14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	color: var(--af-dark);
	font-size: 1.05rem;
}
.woocommerce ul.products li.product .price {
	color: var(--af-primary);
	font-weight: 700;
	font-size: 1.1rem;
}

/* ---------- 11. Cart ---------- */
.woocommerce table.shop_table {
	border-radius: 16px;
	border: 1px solid var(--af-line);
	background: #fff;
}
.woocommerce table.shop_table th {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	background: var(--af-cream);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background-color: var(--af-primary) !important;
	background-image: var(--af-grad) !important;
	color: #fff !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--af-primary-dark) !important;
	color: #fff !important;
}

/* ---------- 12. Checkout ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .woocommerce-input-wrapper .select2-container .select2-selection,
#add_payment_method #payment div.payment_box {
	border-radius: 12px;
	border: 1px solid var(--af-line);
	background: #fff;
	padding: 14px 16px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--af-primary);
	box-shadow: 0 0 0 3px rgba(232, 89, 12, 0.18);
	outline: none;
}
.woocommerce-checkout .wc-block-checkout .wc-block-components-totals-wrapper,
.woocommerce-checkout #order_review {
	border-radius: 16px;
	background: var(--af-cream);
}
#payment .wc_payment_methods {
	border-radius: 14px;
	background: #fff;
}

/* ---------- 13. My Account ---------- */
.woocommerce-MyAccount-navigation ul {
	border-radius: 14px;
	overflow: hidden;
}
.woocommerce-MyAccount-navigation ul li a {
	color: var(--af-dark);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
	background-color: var(--af-primary) !important;
	background-image: var(--af-grad) !important;
	color: #fff;
}

/* ---------- 14. Forms ---------- */
.sureforms-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.sureforms-form textarea,
.sureforms-form select {
	border-radius: 12px;
	border: 1px solid var(--af-line);
	background: #fff;
	padding: 12px 14px;
}
.sureforms-form input:focus,
.sureforms-form textarea:focus,
.sureforms-form select:focus {
	border-color: var(--af-primary);
	box-shadow: 0 0 0 3px rgba(232, 89, 12, 0.18);
	outline: none;
}

/* ---------- 15. Delivery notice ---------- */
.geneva-postcode-delivery-no-shipping {
	background: #fff4e6;
	border: 1px dashed var(--af-primary);
	border-radius: 12px;
	padding: 14px 18px;
	color: var(--af-primary-deep);
	font-weight: 600;
}

/* ---------- 16. Responsive ---------- */
@media (max-width: 921px) {
	.welcome-section, .menu-section, .reviews-section {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	.woocommerce ul.products li.product {
		padding: 14px;
	}
}
@media (max-width: 600px) {
	.hero-section .eyebrow {
		font-size: 0.8rem;
		letter-spacing: 0.05em;
		padding: 10px 18px;
		border-radius: 22px;
	}
	.hero-section .wp-block-button__link {
		padding: 14px 28px;
		font-size: 0.9rem;
	}
	.entry-content h2 {
		font-size: 1.6rem;
	}
}

/* ---------- Pickup or Delivery selector ---------- */
.af-order-type {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0 auto 30px;
	max-width: 560px;
}
.af-order-type-label {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--af-dark);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.af-order-type-options {
	display: flex;
	gap: 8px;
	background: #fff;
	border: 2px solid var(--af-line);
	border-radius: 999px;
	padding: 5px;
}
.af-type-btn {
	border: 0;
	background: transparent;
	color: var(--af-muted);
	font-weight: 700;
	font-size: 0.95rem;
	padding: 10px 26px;
	border-radius: 999px;
	cursor: pointer;
	transition: all 0.2s;
}
.af-type-btn:hover {
	color: var(--af-primary);
}
.af-type-btn.is-active {
	background-image: var(--af-grad);
	color: #fff;
	box-shadow: 0 4px 12px rgba(232, 89, 12, 0.3);
}
.af-type-note {
	margin: 0;
	font-size: 0.9rem;
	color: var(--af-muted);
}
.af-order-type-checkout {
	align-items: flex-start;
	margin: 0 0 30px;
	max-width: 420px;
}
.af-order-type-checkout .af-order-type-options {
	width: 100%;
}
.af-order-type-cart {
	align-items: flex-start;
	margin: 0 0 30px;
	max-width: 420px;
}
.af-order-type-cart .af-order-type-options {
	width: 100%;
}
.af-no-billing-address {
	display: none !important;
}
.af-thankyou-message {
	background-image: var(--af-grad);
	color: #fff;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	padding: 16px 20px;
	border-radius: 12px;
	margin: 20px 0;
	box-shadow: 0 4px 14px rgba(232, 89, 12, 0.25);
}

/* ---------- Shipping row (checkout/cart) ---------- */
.af-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}
.af-shipping-address {
	margin: 6px 0 0;
	font-weight: 600;
	color: var(--af-dark);
}

/* ---------- Meal-planner promo bar ---------- */
.af-mealplan-bar {
	position: relative;
	z-index: 99999;
	background: var(--af-grad);
	color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
}
.af-mealplan-bar-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 10px 56px 10px 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	text-align: center;
}
.af-mealplan-text {
	font-weight: 500;
}
.af-mealplan-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	color: var(--af-primary-dark);
	font-weight: 800;
	font-size: 13px;
	text-decoration: none;
	padding: 8px 18px;
	border-radius: 999px;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.af-mealplan-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
	color: var(--af-primary-dark);
}
.af-mealplan-dismiss {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	line-height: 1;
	font-size: 13px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease;
}
.af-mealplan-dismiss:hover {
	background: rgba(255, 255, 255, 0.35);
}
@media (max-width: 600px) {
	.af-mealplan-bar-inner {
		padding: 10px 48px 10px 16px;
		text-align: left;
	}
}

/* =========================================================
   2.4.0 — Enhancements: menu preview, logos, testimonials,
   sticky nav, footer sitemap/hours/newsletter, a11y & perf
   ========================================================= */

/* ---------- 17. Sticky nav + smooth scroll ---------- */
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.site-header{position:sticky;top:0;z-index:90}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.main-navigation .menu-item > a:focus-visible,
.menu-item-gtranslate .gt_selector:focus-visible{outline:3px solid var(--af-primary);outline-offset:3px}
.main-navigation .menu-item.current-menu-item > a,
.main-navigation .menu-item.current_page_item > a{color:var(--af-primary)}
.main-navigation .menu-item > a[href^="#"]{scroll-margin-top:88px}

/* ---------- 18. Menu preview showcase ---------- */
.af-menu-preview{max-width:1200px;margin:0 auto;padding:64px 20px 72px;text-align:center}
.af-menu-preview-head h2::after{margin:14px auto 0}
.af-menu-kicker{color:var(--af-primary);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.88rem;margin:0 0 10px}
.af-menu-preview-head p{color:var(--af-muted);max-width:640px;margin:8px auto 36px;font-size:1.05rem;line-height:1.7}
.af-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.af-menu-card{background:#fff;border:1px solid var(--af-line);border-radius:20px;overflow:hidden;text-align:left;box-shadow:0 12px 30px -18px rgba(36,27,18,.28);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;display:flex;flex-direction:column}
.af-menu-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -20px rgba(36,27,18,.38);border-color:rgba(232,89,12,.24)}
.af-menu-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--af-cream)}
.af-menu-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.af-menu-card:hover .af-menu-card-media img{transform:scale(1.06)}
.af-menu-card-badge{position:absolute;top:12px;left:12px;background:rgba(12,8,4,.82);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.16)}
.af-menu-card-price{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--af-dark);font-weight:800;padding:7px 12px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:.9rem}
.af-menu-card-body{padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.af-menu-card-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.08rem;line-height:1.25;margin:0;color:var(--af-dark)}
.af-menu-card-desc{color:var(--af-muted);font-size:.92rem;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.af-menu-card-meta{display:flex;align-items:center;gap:8px;color:var(--af-muted);font-size:.82rem;font-weight:600;margin-top:auto;padding-top:8px;border-top:1px dashed var(--af-line)}
.af-menu-card-meta i{width:6px;height:6px;border-radius:50%;background:var(--af-primary)}
.af-menu-preview-cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.af-menu-preview-cta .af-btn-ghost{background:#fff!important;color:var(--af-dark)!important;border:2px solid var(--af-line)!important;box-shadow:none!important}
.af-menu-preview-cta .af-btn-ghost:hover{border-color:var(--af-primary)!important;color:var(--af-primary)!important}
@media(max-width:900px){.af-menu-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.af-menu-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

/* ---------- 19. Trust logo strip + testimonials ---------- */
.af-logo-strip{background:#fff;border-block:1px solid var(--af-line);padding:14px 0;overflow:hidden}
.af-logo-strip-head{max-width:1200px;margin:0 auto;padding:0 20px 10px;text-align:center;color:var(--af-muted);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.af-logo-track{display:flex;align-items:center;gap:48px;white-space:nowrap;animation:af-marquee 28s linear infinite;width:max-content}
.af-logo-track:hover{animation-play-state:paused}
.af-logo-item{display:inline-flex;align-items:center;gap:10px;color:var(--af-dark);font-weight:800;letter-spacing:.02em;opacity:.78;filter:grayscale(100%) contrast(1.05)}
.af-logo-item img{height:26px;width:auto;object-fit:contain;opacity:.9}
.af-logo-item span{font-size:.95rem}
@keyframes af-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.af-logo-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
@media(prefers-reduced-motion:reduce){.af-logo-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

.af-testimonials{max-width:1200px;margin:0 auto;padding:56px 20px 72px;text-align:center}
.af-test-head h2::after{margin:14px auto 0}
.af-test-sub{color:var(--af-muted);max-width:640px;margin:10px auto 32px;line-height:1.7}
.af-test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.af-test-card{background:#fff;border:1px solid var(--af-line);border-radius:18px;padding:22px;box-shadow:0 12px 30px -18px rgba(36,27,18,.22);display:flex;flex-direction:column;gap:14px}
.af-test-stars{color:#f59e0b;letter-spacing:1px;font-size:1rem;line-height:1}
.af-test-quote{color:var(--af-dark);font-size:1rem;line-height:1.7;margin:0;font-weight:500}
.af-test-person{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--af-line)}
.af-test-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}
.af-test-name{font-weight:800;color:var(--af-dark);font-size:.95rem;line-height:1.2}
.af-test-role{color:var(--af-muted);font-size:.82rem}
.af-test-card:focus-within{outline:3px solid var(--af-primary);outline-offset:2px}
@media(max-width:900px){.af-test-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}}

/* ---------- 20. Footer sitemap / hours / newsletter ---------- */
.site-footer{position:relative}
.site-footer a:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:4px}
.footer-widget-area,.site-footer .kadence-footer-widget-area{display:grid !important;grid-template-columns:1.35fr .9fr .9fr 1.15fr;gap:36px;max-width:1280px;margin:0 auto;padding:48px 20px 36px}
.site-footer .widget-title{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px}
.site-footer .widget ul{list-style:none;margin:0;padding:0}
.site-footer .widget li{margin:7px 0}
.site-footer .widget a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,opacity .2s}
.site-footer .widget a:hover{border-bottom-color:rgba(243,227,205,.6);opacity:1}
.af-footer-brand p{color:#d9c9b4;line-height:1.7;margin:8px 0 16px}
.af-footer-badges{display:flex;gap:10px;flex-wrap:wrap}
.af-footer-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(243,227,205,.18);border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:700;color:#f3e3cd;background:rgba(255,255,255,.06)}
.af-hours{margin:0}
.af-hours-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed rgba(243,227,205,.14);font-size:.92rem}
.af-hours-row:last-child{border-bottom:none}
.af-hours-row dt{color:#f3e3cd;font-weight:700}
.af-hours-row dd{color:#d9c9b4;margin:0}
.af-hours-row.is-today dt,.af-hours-row.is-today dd{color:#fff}
.af-hours-row.is-today{background:rgba(232,89,12,.14);margin:0 -8px;padding:8px 8px;border-radius:8px;border-bottom:none}
.af-newsletter{display:flex;flex-direction:column;gap:10px}
.af-newsletter label{font-weight:700;color:#fff;font-size:.92rem}
.af-newsletter-row{display:flex;gap:8px}
.af-newsletter input[type="email"]{flex:1;min-width:0;border-radius:999px;border:1px solid rgba(243,227,205,.22);background:rgba(255,255,255,.08);color:#fff;padding:12px 16px;outline:none}
.af-newsletter input[type="email"]::placeholder{color:rgba(217,201,180,.72)}
.af-newsletter input[type="email"]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18);background:rgba(255,255,255,.12)}
.af-newsletter button{border-radius:999px;border:none;background:var(--af-grad);color:#fff;font-weight:800;padding:12px 18px;cursor:pointer;transition:filter .18s,transform .18s}
.af-newsletter button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.af-newsletter small{color:rgba(217,201,180,.7);font-size:.78rem;line-height:1.5}
.af-newsletter .af-news-success{display:none;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.28);color:#dcfce7;padding:10px 12px;border-radius:10px;font-size:.88rem}
.af-newsletter.is-success .af-news-success{display:block}
.site-footer .site-info{border-top:1px solid rgba(243,227,205,.12);padding:18px 20px;text-align:center;color:rgba(217,201,180,.82);font-size:.88rem}
.site-footer .site-info a{color:#f3e3cd;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.footer-widget-area,.site-footer .kadence-footer-widget-area{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:600px){.footer-widget-area,.site-footer .kadence-footer-widget-area{grid-template-columns:1fr}}

/* ---------- 21. Accessibility ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--af-primary);outline-offset:3px}
.hero-section a:focus-visible,.af-hero-content a:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px rgba(232,89,12,.35)}
.af-menu-card:focus-within{outline:3px solid var(--af-primary);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

/* ---------- 22. Performance ---------- */
img{content-visibility:auto}
.hero-section img{content-visibility:visible}
.af-menu-card-media img,.af-test-avatar,.af-logo-item img{content-visibility:auto}

/* =========================================================
   2.5.0 — Uniform Design System
   Single source for spacing / type / cards / buttons / sections
   ========================================================= */

/* ---------- Tokens: spacing + type scale ---------- */
:root{
  --af-space-2:8px; --af-space-3:12px; --af-space-4:16px; --af-space-5:20px; --af-space-6:24px; --af-space-8:32px; --af-space-12:48px; --af-space-18:72px;
  --af-radius-sm:12px; --af-radius-md:16px; --af-radius-lg:18px; --af-radius-xl:20px; --af-radius-pill:999px;
  --af-shadow-card:0 12px 30px -18px rgba(36,27,18,.28);
  --af-shadow-card-hover:0 24px 44px -20px rgba(36,27,18,.38);
  --af-font-display:'Plus Jakarta Sans',sans-serif; --af-font-body:'Inter',sans-serif;
}

/* ---------- Base type scale ---------- */
body{font-family:var(--af-font-body);line-height:1.7}
h1{font-size:clamp(2.8rem,6vw,5.2rem)!important;line-height:.98!important;letter-spacing:-.03em!important}
h2{font-size:clamp(1.7rem,3vw,2rem)!important;line-height:1.2!important}
h3{font-size:1.25rem!important;line-height:1.3!important}
.entry-content h2::after{width:56px;height:5px;margin:14px auto 0;background:linear-gradient(90deg,var(--af-primary),var(--af-gold))}

/* ---------- Section wrapper: uniform rhythm ---------- */
.af-section{max-width:1200px;margin:0 auto;padding:var(--af-space-18) var(--af-space-5) var(--af-space-18)}
.af-section-head{text-align:center;max-width:640px;margin:0 auto var(--af-space-8)}
.af-section-head .af-kicker{color:var(--af-primary);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;margin:0 0 8px}
.af-section-head h2{margin:0}
.af-section-head p{color:var(--af-muted);margin:10px 0 0;line-height:1.7}
@media(max-width:900px){.af-section{padding:48px 20px}}
.welcome-section,.menu-section,.reviews-section{padding:0 !important}
.welcome-section .af-section,.menu-section .af-section,.reviews-section .af-section{padding:var(--af-space-18) var(--af-space-5)}

/* ---------- Buttons: one pattern ---------- */
.wp-block-button__link, .af-btn, .af-btn-primary, .af-btn-secondary, button.button, a.button{
  border-radius:var(--af-radius-pill)!important;
  padding:14px 26px!important;
  font-family:var(--af-font-display)!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-size:.9rem!important;
  line-height:1!important;
  box-shadow:0 10px 24px -12px rgba(232,89,12,.5)!important;
  transition:transform .18s ease,filter .18s,box-shadow .18s!important;
}
.wp-block-button__link:hover, .af-btn:hover{transform:translateY(-2px)!important;filter:brightness(1.06)}

/* ---------- Cards: one pattern ---------- */
.af-card, .dish-row .dish-col, .af-menu-card, .af-test-card, .afro-gallery-slot, .woocommerce ul.products li.product{
  background:#fff!important;
  border:1px solid var(--af-line)!important;
  border-radius:var(--af-radius-lg)!important;
  box-shadow:var(--af-shadow-card)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.af-card:hover, .dish-row .dish-col:hover, .af-menu-card:hover{transform:translateY(-6px)!important;box-shadow:var(--af-shadow-card-hover)!important;border-color:rgba(232,89,12,.22)!important}

/* ---------- Images: uniform ---------- */
.dish-thumb, .af-menu-card-media, .af-ft-item{border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.dish-thumb img, .af-menu-card-media img{transition:transform .4s ease}
.dish-row .dish-col:hover .dish-thumb img, .af-menu-card:hover img{transform:scale(1.06)}

/* ---------- Header uniform ---------- */
.site-header .main-navigation .menu-item > a{font-family:var(--af-font-display);font-weight:700;font-size:.92rem}
.main-navigation .menu-item.order-now-btn > a{padding:10px 20px!important}

/* ---------- Remove legacy gallery slider gap ---------- */
.afro-random-gallery{display:none !important}
.af-gallery-grid{display:none !important}

/* ---------- Hide duplicate food-thumbnails if second slider removed? Keep one ---------- */
.af-food-thumbnails{margin-top:-28px}

/* ---------- Forms uniform ---------- */
input, select, textarea{border-radius:12px!important;border:1px solid var(--af-line)!important}
input:focus, select:focus, textarea:focus{border-color:var(--af-primary)!important;box-shadow:0 0 0 3px rgba(232,89,12,.15)!important}

/* ---------- Footer already uniform via 2.4 ---------- */

/* ---------- HOTFIX 2.5.1 — Footer funny / broken writings ---------- */
.site-footer .footer-widget-area,
.site-footer .kadence-footer-widget-area{
  display:block !important;
  grid-template-columns:none !important;
  padding:0 !important;
  gap:0 !important;
  max-width:none !important;
  margin:0 !important;
}
.site-middle-footer-inner-wrap{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:32px !important;
  max-width:1280px !important;
  margin:0 auto !important;
  align-items:start !important;
}
.site-middle-footer-inner-wrap .site-footer-section{
  min-width:0 !important;
}
.site-middle-footer-inner-wrap .widget{
  min-width:0 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
}
.site-middle-footer-inner-wrap .widget-title{
  font-size:1rem !important;
  letter-spacing:.06em !important;
  white-space:normal !important;
  line-height:1.3 !important;
  margin:0 0 10px !important;
}
.site-middle-footer-inner-wrap .textwidget{
  font-size:.95rem !important;
  line-height:1.7 !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.site-middle-footer-inner-wrap .textwidget a{
  word-break:break-all !important;
}
.site-bottom-footer-inner-wrap{
  text-align:center !important;
}
@media(max-width:900px){
  .site-middle-footer-inner-wrap{grid-template-columns:1fr 1fr !important; gap:24px !important}
}
@media(max-width:600px){
  .site-middle-footer-inner-wrap{grid-template-columns:1fr !important}
}
/* hide injected 4-col template when Kadence already has 3 cols */
#af-footer-tpl{display:none !important}

/* ---------- 2.5.3 — Welcome trust moved + carousel + polished menu ---------- */
.af-welcome-trust{margin:28px auto 0;max-width:720px;text-align:center;padding:18px 16px;background:#fff;border:1px solid var(--af-line);border-radius:18px;box-shadow:var(--af-shadow-card)}
.af-welcome-trust .af-wt-head{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--af-muted);margin-bottom:12px}
.af-welcome-trust .af-wt-dot{width:8px;height:8px;border-radius:50%;background:var(--af-primary);box-shadow:0 0 0 6px rgba(232,89,12,.12);flex-shrink:0}
.af-welcome-trust .af-wt-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.af-wt-pill{display:inline-flex;align-items:center;gap:6px;background:var(--af-cream);border:1px solid var(--af-line);border-radius:999px;padding:8px 14px;font-size:.84rem;font-weight:700;color:var(--af-dark);line-height:1;white-space:nowrap}
.af-wt-pill:hover{border-color:rgba(232,89,12,.28);transform:translateY(-1px);transition:all .18s}
.af-menu-preview-head .af-kicker{font-size:.78rem;padding:7px 14px}
.af-menu-preview-head .af-menu-sub{color:var(--af-muted);max-width:620px;margin:14px auto 0;line-height:1.7;font-size:1.02rem}
.af-menu-address{margin-top:14px;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--af-line);border-radius:999px;padding:9px 16px;font-size:.84rem;font-weight:600;color:var(--af-muted);box-shadow:0 4px 12px rgba(36,27,18,.06);flex-wrap:wrap;justify-content:center}
.af-testimonials .af-kicker{margin-bottom:8px}
.af-test-viewport{overflow:hidden;margin:0 -10px;padding:0 10px}
.af-test-track{display:flex;gap:20px;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}
.af-test-card{flex:0 0 calc(33.333% - 13.5px);min-width:0}
.af-test-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.af-test-prev,.af-test-next{width:42px;height:42px;border-radius:50%;border:1px solid var(--af-line);background:#fff;color:var(--af-dark);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 12px rgba(36,27,18,.06)}
.af-test-prev:hover,.af-test-next:hover{background:var(--af-primary);color:#fff;border-color:var(--af-primary);transform:translateY(-1px)}
.af-test-dots{display:flex;gap:8px;align-items:center}
.af-test-dots .af-dot{width:8px;height:8px;border-radius:50%;background:var(--af-line);border:none;padding:0;cursor:pointer;transition:all .2s}
.af-test-dots .af-dot.is-active{width:26px;border-radius:999px;background:var(--af-primary)}
@media(max-width:900px){.af-test-card{flex:0 0 calc(50% - 10px)}}
@media(max-width:600px){.af-test-card{flex:0 0 100%} .af-welcome-trust{padding:14px 12px}}
/* hide old logo strip when moved */
.af-logo-strip{display:none !important}

/* ---------- 2.5.5 — Welcome spacing + RTL fix helper ---------- */
.af-hero-slider{margin-bottom:32px !important}
.welcome-section{margin-top:40px !important; padding-top:24px !important}
.entry-content > .af-hero-slider + .wp-block-group.welcome-section{margin-top:48px !important}
@media(max-width:900px){
  .af-hero-slider{margin-bottom:24px !important}
  .welcome-section{margin-top:32px !important}
}

/* ---------- 2.5.7 — OrderNow polished hero ---------- */
.af-order-hero{max-width:780px;margin:32px auto 36px;text-align:center;padding:28px 24px;background:linear-gradient(180deg,#fff 0%,#fffaf3 100%);border:1px solid var(--af-line);border-radius:20px;box-shadow:var(--af-shadow-card)}
.af-order-badge{display:inline-flex;align-items:center;gap:8px;background:var(--af-dark-bg);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;border-radius:999px;margin-bottom:14px}
.af-order-badge-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.15);flex-shrink:0}
.af-order-title{font-family:var(--af-font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--af-dark);margin:0 0 10px}
.af-order-sub{color:var(--af-muted);font-size:1.02rem;line-height:1.6;max-width:560px;margin:0 auto 16px}
.af-order-meta{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:center;align-items:center;background:#fff;border:1px solid var(--af-line);border-radius:999px;padding:10px 16px;font-size:.84rem;font-weight:600;color:var(--af-muted);max-width:fit-content;margin:0 auto}
.af-order-meta span{white-space:nowrap}
@media(max-width:600px){
  .af-order-hero{margin:20px auto 24px;padding:20px 16px;border-radius:16px}
  .af-order-title{font-size:1.6rem}
  .af-order-meta{font-size:.8rem;padding:8px 12px}
}

/* ---------- 2.5.8 — Order hero wide + attention ---------- */
.af-order-hero{
  max-width:none !important;
  width:calc(100% + 4rem) !important;
  margin-left:-2rem !important;
  margin-right:-2rem !important;
  text-align:center;
  padding:36px 24px !important;
  background:linear-gradient(135deg,#ff7a18 0%,#e8590c 55%,#c74c06 100%) !important;
  border:none !important;
  border-radius:18px !important;
  box-shadow:0 20px 40px -16px rgba(232,89,12,.45) !important;
  color:#fff !important;
  position:relative;
  overflow:hidden;
}
.af-order-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(600px 200px at 20% 0%,rgba(255,255,255,.18),transparent 60%),
             radial-gradient(500px 300px at 90% 100%,rgba(255,255,255,.12),transparent 60%);
  pointer-events:none;
}
.af-order-hero > *{position:relative;z-index:1}
.af-order-badge{
  background:rgba(255,255,255,.14) !important;
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  font-size:.82rem !important;
  letter-spacing:.1em !important;
  animation:af-order-pulse 2s ease-in-out infinite;
}
.af-order-badge-dot{background:#fff !important;box-shadow:0 0 0 8px rgba(255,255,255,.18) !important; animation:af-dot-pulse 1.6s infinite}
@keyframes af-order-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.af-order-title{color:#fff !important; font-size:clamp(2rem,5vw,2.8rem) !important; text-shadow:0 4px 20px rgba(0,0,0,.18) !important}
.af-order-sub{color:rgba(255,255,255,.92) !important; font-size:1.08rem !important; max-width:640px !important}
.af-order-meta{
  background:rgba(255,255,255,.14) !important;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
.af-order-meta span{color:#fff !important}
@media(max-width:900px){
  .af-order-hero{width:calc(100% + 3rem) !important; margin-left:-1.5rem !important; margin-right:-1.5rem !important; border-radius:14px !important; padding:28px 16px !important}
}

/* =========================================================
   2.6.0 — Header resilience (EN/FR) + product card fix
   ========================================================= */

/* ---------- Header: keep every nav item on one row ----------
   Translating the menu into French makes labels much longer.
   Kadence's menu wraps by default, which pushed the GTranslate
   selector onto a second row and left the header lopsided. */
@media (min-width: 1025px) {
	.site-header .site-main-header-inner-wrap {
		flex-wrap: nowrap;
	}
	.site-header .site-header-main-section-left {
		flex: 0 0 auto;
		min-width: 0;
	}
	.site-header .site-header-main-section-right {
		flex: 1 1 auto;
		justify-content: flex-end;
		min-width: 0;
	}
	.site-header .header-navigation,
	.site-header .header-navigation .header-menu-container,
	.site-header .main-navigation .primary-menu-container {
		flex: 1 1 auto;
		min-width: 0;
	}
	.site-header .main-navigation .primary-menu-container > ul.menu {
		flex-wrap: nowrap;
		justify-content: flex-end;
	}
	.site-header .main-navigation .menu-item > a {
		white-space: nowrap;
	}
	.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	.site-header .main-navigation li:has(> a[href*="/cart/"]) {
		margin-right: 12px;
	}
	.site-header .menu-item-gtranslate {
		margin-left: 4px;
	}
	.site-header .menu-item-gtranslate .gt_selector {
		padding: 8px 30px 8px 13px;
	}
	.site-header .main-navigation .menu-item.order-now-btn > a {
		padding: 9px 18px !important;
	}
}

/* Tighter desktop header so the longer French labels still fit */
@media (min-width: 1025px) and (max-width: 1360px) {
	.site-header .site-branding a.brand img {
		max-width: 160px;
	}
	.site-header .site-branding .site-title {
		font-size: 21px;
	}
	.site-header .main-navigation .menu-item > a {
		font-size: 0.86rem;
	}
	.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
		padding-left: 0.4em;
		padding-right: 0.4em;
	}
	.site-header .main-navigation .menu-item.order-now-btn > a {
		padding: 8px 14px !important;
		font-size: 0.82rem;
	}
	.site-header .menu-item-gtranslate .gt_selector {
		font-size: 0.8rem;
		padding: 8px 27px 8px 11px;
	}
}

@media (min-width: 1025px) and (max-width: 1180px) {
	.site-header .site-branding a.brand img {
		max-width: 120px;
	}
	.site-header .site-branding .site-title {
		font-size: 18px;
	}
	.site-header .main-navigation .menu-item > a {
		font-size: 0.79rem;
	}
	.site-header .main-navigation li:has(> a[href*="/cart/"]) {
		margin-right: 4px;
	}
	.site-header .main-navigation .menu-item.order-now-btn > a {
		padding: 8px 11px !important;
		font-size: 0.76rem;
	}
	.site-header .menu-item-gtranslate .gt_selector {
		font-size: 0.76rem;
		padding: 8px 24px 8px 9px;
	}
}

@media (min-width: 1025px) and (max-width: 1080px) {
	.site-header .site-branding .site-title {
		display: none;
	}
	.site-header .site-branding a.brand img {
		max-width: 100px;
	}
}

/* ---------- Promo bar: keep the CTA beside the copy ---------- */
@media (min-width: 768px) {
	.af-mealplan-bar-inner {
		flex-wrap: nowrap;
	}
	.af-mealplan-text {
		flex: 1 1 auto;
		min-width: 0;
		line-height: 1.45;
	}
	.af-mealplan-cta {
		flex: 0 0 auto;
		white-space: nowrap;
	}
}

/* ---------- Product cards: never cover the price ----------
   Kadence's hover action is absolutely positioned over the
   card and lands on top of the price. Put it back in flow
   and pin it to the bottom of every card instead. */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product .entry-content-wrap {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap {
	position: static;
	width: 100%;
	left: auto;
	right: auto;
	bottom: auto;
	margin-top: auto;
	padding: 12px 0 0;
	opacity: 1;
	transition: none;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap {
	transform: none;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .product-action-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .product-action-wrap {
	bottom: auto;
	opacity: 1;
}
.woocommerce ul.products li.product .product-action-wrap .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	text-align: center;
}

/* =========================================================
   2.6.3 — Desktop brand title fix
   The logo already contains the AfroSwiss Cuisine wordmark.
   On desktop the separate site title is redundant and the
   longer French title can collide with the nav. Hide only
   the text title, keep the logo and navigation.
   ========================================================= */
@media (min-width: 1025px) {
	.site-header .site-branding .site-title-wrap {
		display: none;
	}
}
