/* ======================================================================
   Irie Flavours — Main Stylesheet
   Matches the Caribbean kitchen design: deep green, gold accents, cream backgrounds
   ====================================================================== */

/* CSS Variables (defaults; overridden per-site by Customizer) */
:root{
	--irie-primary: #0e2f1f;
	--irie-primary-dark: #081f14;
	--irie-accent: #d4a147;
	--irie-cta: #e89923;
	--irie-cta-dark: #cf8615;
	--irie-cream: #f5efe4;
	--irie-cream-2: #ede0c8;
	--irie-text-dark: #1a1a1a;
	--irie-text-muted: #5c6b5f;
	--irie-white: #ffffff;
	--irie-shadow-sm: 0 4px 12px rgba(0,0,0,.08);
	--irie-shadow-md: 0 12px 30px rgba(0,0,0,.15);
	--irie-shadow-lg: 0 24px 60px rgba(0,0,0,.22);
	--irie-radius: 16px;
	--irie-radius-lg: 24px;
	--irie-radius-pill: 999px;
	--irie-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--irie-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--irie-container: 1280px;
}

/* ------------- Base ------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
	margin:0;
	font-family:var(--irie-font-body);
	font-size:16px;
	line-height:1.6;
	color:var(--irie-text-dark);
	background:var(--irie-cream);
	-webkit-font-smoothing:antialiased;
}

img, svg, video{ max-width:100%; height:auto; display:block; }
a{ color:var(--irie-primary); text-decoration:none; transition:color .2s ease; }
a:hover{ color:var(--irie-cta); }

h1,h2,h3,h4,h5,h6{
	font-family:var(--irie-font-display);
	font-weight:600;
	line-height:1.15;
	margin:0 0 .5em;
	color:var(--irie-text-dark);
}

.irie-container{
	width:100%;
	max-width:var(--irie-container);
	margin:0 auto;
	padding:0 clamp(18px,4vw,40px);
}

.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--irie-cta); color:#000; padding:10px 16px; z-index:999; }
.skip-link:focus{ left:0; }

/* ------------- Buttons ------------- */
.irie-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:14px 28px;
	font-family:var(--irie-font-body);
	font-weight:600;
	font-size:13px;
	letter-spacing:.08em;
	border:2px solid transparent;
	border-radius:var(--irie-radius-pill);
	cursor:pointer;
	text-transform:uppercase;
	transition:all .25s ease;
	white-space:nowrap;
	text-decoration:none;
	line-height:1;
}
.irie-btn--cta{ background:var(--irie-cta); color:#111; border-color:var(--irie-cta); }
.irie-btn--cta:hover{ background:var(--irie-cta-dark); border-color:var(--irie-cta-dark); color:#111; transform:translateY(-2px); box-shadow:var(--irie-shadow-md); }
.irie-btn--ghost{ background:transparent; color:var(--irie-white); border-color:rgba(255,255,255,.4); }
.irie-btn--ghost:hover{ background:rgba(255,255,255,.1); border-color:var(--irie-white); color:var(--irie-white); }
.irie-btn--ghost-dark{ background:transparent; color:var(--irie-primary); border-color:var(--irie-primary); }
.irie-btn--ghost-dark:hover{ background:var(--irie-primary); color:var(--irie-white); }
.irie-btn--lg{ padding:18px 36px; font-size:14px; }
.irie-btn--block{ width:100%; }

/* Order Now button for dish cards */
.irie-btn-order{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:12px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:var(--irie-cta-dark);
	padding:8px 0;
	background:transparent;
	border:none;
	transition:all .2s ease;
}
.irie-btn-order .arrow{ transition:transform .2s ease; }
.irie-btn-order:hover{ color:var(--irie-primary); }
.irie-btn-order:hover .arrow{ transform:translateX(4px); }
.irie-btn-order.added::after{ content:' ✓'; color:var(--irie-primary); }

/* ------------- Header ------------- */
.irie-header{
	position:fixed;
	top:0; left:0; right:0;
	z-index:100;
	padding:18px 0;
	background:transparent;
	transition:background .3s ease, padding .3s ease, box-shadow .3s ease;
}
/* Sticky green bar once scrolled past the hero */
.irie-header.is-scrolled{
	background:var(--irie-primary);
	padding:12px 0;
	box-shadow:0 4px 20px rgba(0,0,0,.25);
}
/* Inner pages (anything not the homepage) get the solid green header from the start */
body:not(.irie-front-page) .irie-header{
	background:var(--irie-primary);
	padding:12px 0;
	box-shadow:0 4px 20px rgba(0,0,0,.15);
	position:sticky;
}
/* Push page content below the fixed header on non-home pages */
body:not(.irie-front-page).irie-has-woocommerce .site-main,
body:not(.irie-front-page) .site-main{ padding-top:0; }
body:not(.irie-front-page) #content{ padding-top:80px; }
body.irie-front-page #content{ padding-top:0; }

.irie-header__inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}
.irie-header__brand{
	display:flex;
	align-items:center;
	gap:12px;
	min-width:0;
	flex-shrink:0;
	max-width:280px;
}
.irie-header__default-logo{ display:inline-flex; flex-shrink:0; }
.irie-logo-mark svg{ width:40px; height:40px; }
/* Custom logo image constraint */
.custom-logo-link{ display:inline-flex; flex-shrink:0; }
.custom-logo{ max-height:48px; width:auto; }
.irie-header__brand-text{
	display:flex;
	flex-direction:column;
	line-height:1.1;
	min-width:0;
}
.irie-header__name{
	font-family:var(--irie-font-display);
	font-size:clamp(16px, 1.5vw, 22px);
	font-weight:700;
	color:var(--irie-white);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.irie-header__tagline{
	font-size:10px;
	letter-spacing:.2em;
	color:var(--irie-accent);
	font-weight:600;
	margin-top:2px;
}
.irie-header__nav{ display:flex; flex:1; justify-content:center; }
.irie-primary-menu{
	display:flex;
	gap:32px;
	list-style:none;
	padding:0;
	margin:0;
}
.irie-primary-menu li a{
	color:var(--irie-white);
	font-size:13px;
	font-weight:600;
	letter-spacing:.12em;
	text-transform:uppercase;
	padding:8px 0;
	position:relative;
}
.irie-primary-menu li a::after{
	content:'';
	position:absolute;
	left:0; right:0; bottom:0;
	height:2px;
	background:var(--irie-cta);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .25s ease;
}
.irie-primary-menu li.current-menu-item a::after,
.irie-primary-menu li a:hover::after{ transform:scaleX(1); }
.irie-primary-menu li a:hover{ color:var(--irie-accent); }

.irie-header__actions{ display:flex; align-items:center; gap:16px; }
.irie-header__phone{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--irie-white);
	font-size:14px;
	font-weight:500;
}
.irie-header__phone svg{ width:16px; height:16px; color:var(--irie-accent); }
.irie-header__phone:hover{ color:var(--irie-accent); }

/* Cart icon */
.irie-cart-link{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px; height:42px;
	color:var(--irie-white);
	transition:color .2s ease;
}
.irie-cart-link:hover{ color:var(--irie-accent); }
.irie-cart-link svg{ width:22px; height:22px; }
.irie-cart-count{
	position:absolute;
	top:0; right:0;
	min-width:18px; height:18px;
	padding:0 5px;
	background:var(--irie-cta);
	color:#111;
	font-size:11px;
	font-weight:700;
	border-radius:999px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.irie-cart-count[data-count="0"]{ opacity:0; transform:scale(0); }

/* Mobile burger */
.irie-header__burger{
	display:none;
	background:none; border:none; padding:6px;
	cursor:pointer; flex-direction:column; gap:4px;
}
.irie-header__burger span{ width:24px; height:2px; background:var(--irie-white); transition:all .25s ease; }
.irie-header__burger.is-open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.irie-header__burger.is-open span:nth-child(2){ opacity:0; }
.irie-header__burger.is-open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

.irie-mobile-menu{
	display:none;
	position:fixed;
	top:66px; left:0; right:0; bottom:0;
	background:var(--irie-primary);
	padding:32px 24px;
	z-index:19;
	overflow-y:auto;
}
.irie-mobile-menu.is-open{ display:block; }
/* Force vertical layout even if the menu inherited the desktop flex class */
.irie-mobile-menu__list,
.irie-mobile-menu .irie-primary-menu{
	list-style:none;
	padding:0;
	margin:0 0 24px;
	display:block !important;
	gap:0 !important;
}
.irie-mobile-menu__list li,
.irie-mobile-menu .irie-primary-menu li{
	display:block;
	width:100%;
}
.irie-mobile-menu__list li a,
.irie-mobile-menu .irie-primary-menu li a{
	display:block;
	width:100%;
	padding:16px 0;
	color:var(--irie-white);
	font-size:18px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.12em;
	border-bottom:1px solid rgba(255,255,255,.1);
	text-align:left;
}
/* Remove the underline animation inside mobile menu */
.irie-mobile-menu__list li a::after,
.irie-mobile-menu .irie-primary-menu li a::after{ display:none; }
.irie-mobile-menu__cart, .irie-mobile-menu__cta{ display:block; margin-top:16px; text-align:center; }

@media (max-width: 1024px){
	.irie-header__nav{ display:none; }
	.irie-header__phone span{ display:none; }
	.irie-header__burger{ display:flex; }
}
@media (max-width: 640px){
	.irie-header__phone{ display:none; }
	.irie-btn--cta{ padding:12px 20px; font-size:12px; }
}

/* ------------- Hero ------------- */
.irie-hero{
	position:relative;
	min-height:min(720px, 90vh);
	padding:140px 0 120px;
	background-color:#1a1a1a;
	background-image:
		linear-gradient(135deg, rgba(14,47,31,.85) 0%, rgba(14,47,31,.55) 60%, rgba(0,0,0,.3) 100%),
		var(--hero-bg, linear-gradient(135deg, #3a2818 0%, #6b3410 50%, #8b4513 100%));
	background-size:cover;
	background-position:center;
	color:var(--irie-white);
	overflow:hidden;
	isolation:isolate;
}
.irie-hero__overlay{
	position:absolute; inset:0;
	background:
		radial-gradient(ellipse at 20% 50%, rgba(212,161,71,.08) 0%, transparent 50%),
		radial-gradient(ellipse at 80% 80%, rgba(232,153,35,.12) 0%, transparent 50%);
	pointer-events:none;
	z-index:-1;
}
.irie-hero__inner{
	position:relative;
	z-index:2;
	max-width:640px;
}
.irie-hero__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:12px;
	font-weight:600;
	letter-spacing:.24em;
	color:var(--irie-cta);
	text-transform:uppercase;
	margin-bottom:24px;
}
.irie-hero__title{
	font-family:var(--irie-font-display);
	font-size:clamp(48px, 7vw, 88px);
	font-weight:700;
	line-height:1;
	color:var(--irie-white);
	margin:0 0 28px;
}
.irie-hero__title-1{ display:block; }
.irie-hero__title-2{
	display:block;
	font-style:italic;
	color:var(--irie-accent);
	font-weight:600;
}
.irie-hero__desc{
	font-size:17px;
	line-height:1.6;
	color:rgba(255,255,255,.88);
	margin-bottom:36px;
	max-width:520px;
}
.irie-hero__ctas{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:56px; }
.irie-hero__stats{ display:flex; gap:56px; flex-wrap:wrap; }
.irie-hero__stat{ display:flex; flex-direction:column; }
.irie-hero__stat-n{
	font-family:var(--irie-font-display);
	font-size:32px;
	font-weight:700;
	color:var(--irie-accent);
	line-height:1;
}
.irie-hero__stat-l{
	font-size:10px;
	letter-spacing:.2em;
	color:rgba(255,255,255,.7);
	margin-top:6px;
	text-transform:uppercase;
}

.irie-hero__scroll{
	position:absolute;
	left:50%;
	bottom:48px;
	transform:translateX(-50%);
	color:var(--irie-white);
	opacity:.7;
	animation:irieBounce 2s infinite;
}
.irie-hero__scroll svg{ width:28px; height:28px; }
@keyframes irieBounce{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,8px); } }

/* Delivery partners block in hero */
.irie-hero__delivery{
	margin-top:36px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:14px;
}
.irie-hero__delivery-label{
	font-size:11px;
	letter-spacing:.24em;
	font-weight:600;
	text-transform:uppercase;
	color:rgba(255,255,255,.7);
}
.irie-hero__delivery-logos{
	display:flex;
	gap:14px;
	flex-wrap:wrap;
}
.irie-hero__delivery-logo{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:#ffffff;
	padding:10px 18px;
	border-radius:12px;
	transition:transform .25s ease, box-shadow .25s ease;
	box-shadow:0 4px 14px rgba(0,0,0,.18);
	min-width:120px;
	min-height:48px;
}
.irie-hero__delivery-logo img{
	max-height:32px;
	width:auto;
	display:block;
	object-fit:contain;
}
.irie-hero__delivery-logo:hover{
	transform:translateY(-3px);
	box-shadow:0 8px 22px rgba(0,0,0,.28);
}

.irie-hero__wave{
	position:absolute;
	left:0; right:0; bottom:-1px;
	height:60px;
	background:var(--irie-primary);
	clip-path:polygon(0 60%, 100% 0, 100% 100%, 0 100%);
	z-index:1;
}

@media (max-width: 768px){
	.irie-hero{ padding:120px 0 80px; min-height:560px; }
	.irie-hero__stats{ gap:32px; }
	.irie-hero__delivery{ margin-top:28px; }
	.irie-hero__delivery-logo{ min-width:100px; padding:8px 14px; }
	.irie-hero__delivery-logo img{ max-height:26px; }
}

/* ------------- Eyebrows, titles, dividers ------------- */
.irie-eyebrow{
	display:inline-block;
	font-size:11px;
	letter-spacing:.24em;
	font-weight:600;
	text-transform:uppercase;
	color:var(--irie-cta);
	margin-bottom:16px;
}
.irie-eyebrow--gold{ color:var(--irie-accent); }
.irie-section__title{
	font-family:var(--irie-font-display);
	font-size:clamp(36px, 5vw, 56px);
	line-height:1.1;
	color:var(--irie-text-dark);
	margin:0 0 16px;
}
.irie-section__title--light{ color:var(--irie-white); }
.irie-section__title em.irie-gold{
	display:block;
	font-style:italic;
	color:var(--irie-accent);
	font-weight:400;
}
.irie-gold{ color:var(--irie-accent); }
.irie-section__lead{
	max-width:600px;
	margin:12px auto 0;
	color:var(--irie-text-muted);
	font-size:16px;
}
.irie-section__head{
	display:flex;
	align-items:end;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:24px;
	margin-bottom:48px;
}
.irie-section__head--center{ text-align:center; flex-direction:column; align-items:center; }
.irie-section__link{
	font-size:12px;
	font-weight:600;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--irie-accent);
	transition:color .2s;
}
.irie-section__link:hover{ color:var(--irie-cta); }
.irie-divider{
	display:inline-block;
	width:60px; height:2px;
	background:var(--irie-accent);
	margin-top:20px;
}
.irie-divider--gold{ background:var(--irie-accent); }

/* ------------- Signature Dishes Section ------------- */
.irie-signature{
	background:var(--irie-primary);
	padding:96px 0 112px;
	color:var(--irie-white);
	position:relative;
}
.irie-signature .irie-section__title{ color:var(--irie-white); }
.irie-signature .irie-eyebrow{ color:var(--irie-cta); }
.irie-signature__grid{
	display:grid;
	grid-template-columns:repeat(5, minmax(0, 1fr));
	gap:20px;
}
.irie-signature-card{
	position:relative;
	border-radius:var(--irie-radius);
	overflow:hidden;
	transition:transform .3s ease, box-shadow .3s ease;
	background:#0a2619;
	display:flex;
	flex-direction:column;
}
.irie-signature-card:hover{ transform:translateY(-6px); box-shadow:var(--irie-shadow-lg); }
.irie-signature-card__link{ display:block; color:inherit; }
.irie-signature-card__img{
	aspect-ratio:3/4;
	background-size:cover;
	background-position:center;
	background-color:#1a3d2b;
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
}
.irie-signature-card__img::after{
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.85) 100%);
}
.irie-signature-card__body{
	position:absolute;
	bottom:0; left:0; right:0;
	padding:20px;
	z-index:2;
}
.irie-signature-card__tagline{
	display:block;
	font-size:9px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:var(--irie-cta);
	font-weight:700;
	margin-bottom:4px;
}
.irie-signature-card__title{
	font-family:var(--irie-font-display);
	font-size:18px;
	color:var(--irie-white);
	margin:0 0 4px;
	font-weight:600;
}
.irie-signature-card__price{
	font-size:15px;
	color:var(--irie-accent);
	font-weight:600;
}
.irie-signature-card__actions{
	position:absolute;
	top:12px; right:12px;
	z-index:3;
}
.irie-signature-card__actions .irie-btn-order{
	background:var(--irie-cta);
	color:#111;
	padding:6px 12px;
	border-radius:999px;
	font-size:10px;
}
.irie-signature-card__actions .irie-btn-order:hover{ background:var(--irie-white); color:var(--irie-primary); }
.irie-signature-card.is-placeholder .irie-signature-card__img{ background:linear-gradient(135deg, #1a3d2b, #0a2619); }
.irie-placeholder__icon{ font-size:48px; opacity:.35; z-index:1; }

@media (max-width: 1100px){ .irie-signature__grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px){ .irie-signature__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; } }
@media (max-width: 420px){ .irie-signature__grid{ grid-template-columns:1fr; } }

/* ------------- Menu Section (homepage) ------------- */
.irie-menu-section{
	background:var(--irie-cream);
	background-image:
		radial-gradient(circle at 15% 20%, rgba(212,161,71,.06) 0%, transparent 30%),
		radial-gradient(circle at 85% 80%, rgba(14,47,31,.04) 0%, transparent 35%);
	padding:96px 0 112px;
	position:relative;
}
.irie-menu-section::before{
	content:'';
	position:absolute;
	inset:0;
	background-image:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='none' stroke='%23d4a147' stroke-width='1' opacity='.08'><path d='M20 80 Q30 60, 20 40 T20 10'/><path d='M100 110 Q110 90, 100 70 T100 40'/><path d='M60 120 Q70 100, 60 80'/></g></svg>");
	background-size:240px 240px;
	opacity:.5;
	pointer-events:none;
}
.irie-menu-section .irie-container{ position:relative; z-index:1; }

.irie-menu-tabs{
	display:flex;
	gap:12px;
	justify-content:center;
	flex-wrap:wrap;
	margin:32px 0 48px;
}
.irie-menu-tab{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:12px 24px;
	background:var(--irie-white);
	border:2px solid transparent;
	border-radius:999px;
	font-family:var(--irie-font-body);
	font-size:13px;
	font-weight:600;
	letter-spacing:.08em;
	color:var(--irie-text-dark);
	cursor:pointer;
	transition:all .25s ease;
	box-shadow:var(--irie-shadow-sm);
}
.irie-menu-tab__icon{ font-size:16px; }
.irie-menu-tab__pricetag{
	background:var(--irie-cta);
	color:#111;
	padding:3px 8px;
	border-radius:999px;
	font-size:11px;
	font-weight:700;
}
.irie-menu-tab:hover{ transform:translateY(-2px); }
.irie-menu-tab.is-active{
	background:var(--irie-primary);
	color:var(--irie-white);
	border-color:var(--irie-primary);
}

.irie-menu-panel{ animation:irieFadeIn .3s ease; }
.irie-menu-panel[hidden]{ display:none; }
@keyframes irieFadeIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }
.irie-menu-panel__intro{
	text-align:center;
	color:var(--irie-text-muted);
	font-family:var(--irie-font-display);
	font-size:16px;
	margin:0 0 24px;
}

.irie-menu-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:24px;
}
@media (max-width: 1100px){ .irie-menu-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px){ .irie-menu-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px){ .irie-menu-grid{ grid-template-columns:1fr; } }

/* Dish card (menu style) */
.irie-dish-card{
	background:var(--irie-white);
	border-radius:var(--irie-radius);
	overflow:hidden;
	box-shadow:var(--irie-shadow-sm);
	transition:transform .3s ease, box-shadow .3s ease;
	display:flex; flex-direction:column;
}
.irie-dish-card:hover{ transform:translateY(-4px); box-shadow:var(--irie-shadow-md); }
.irie-dish-card__media{
	position:relative;
	aspect-ratio:4/3;
	overflow:hidden;
	background:#eee;
}
.irie-dish-card__media img{
	width:100%; height:100%;
	object-fit:cover;
	transition:transform .6s ease;
}
.irie-dish-card:hover .irie-dish-card__media img{ transform:scale(1.05); }
.irie-dish-card__badge{
	position:absolute;
	top:12px; left:12px;
	background:var(--irie-primary);
	color:var(--irie-white);
	padding:4px 10px;
	border-radius:6px;
	font-size:10px;
	letter-spacing:.12em;
	text-transform:uppercase;
	font-weight:700;
}
.irie-dish-card__body{
	padding:20px;
	display:flex; flex-direction:column; gap:10px;
	flex:1;
}
.irie-dish-card__head{
	display:flex; justify-content:space-between; align-items:baseline;
	gap:12px;
}
.irie-dish-card__title{
	font-family:var(--irie-font-display);
	font-size:18px;
	font-style:italic;
	color:var(--irie-text-dark);
	margin:0;
	font-weight:500;
}
.irie-dish-card__price{
	font-family:var(--irie-font-display);
	font-size:18px;
	color:var(--irie-cta);
	font-weight:700;
	white-space:nowrap;
}
.irie-dish-card__desc{
	color:var(--irie-text-muted);
	font-size:13px;
	line-height:1.55;
	margin:0;
	flex:1;
}
.irie-dish-card__foot{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-top:8px;
	border-top:1px solid #f1e8d5;
	margin-top:auto;
}

.irie-spice{ display:inline-flex; gap:2px; }
.irie-spice__pepper{ opacity:.2; filter:grayscale(1); font-size:12px; }
.irie-spice__pepper.is-on{ opacity:1; filter:none; }

.irie-menu-section__note{
	text-align:center;
	color:var(--irie-text-muted);
	font-size:13px;
	margin-top:48px;
}
.irie-menu-section__cta{
	display:flex; justify-content:center; gap:16px; flex-wrap:wrap;
	margin-top:24px;
}

.irie-empty-cat{
	grid-column:1/-1;
	text-align:center;
	padding:60px 20px;
	background:var(--irie-white);
	border-radius:var(--irie-radius);
	color:var(--irie-text-muted);
}

/* ------------- Our Story ------------- */
.irie-story{
	background:var(--irie-primary);
	padding:120px 0;
	color:var(--irie-white);
	position:relative;
	overflow:hidden;
}
.irie-story::before{
	content:'';
	position:absolute; inset:0;
	background-image:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><g fill='none' stroke='%23d4a147' stroke-width='1' opacity='.06'><path d='M40 120 Q60 80, 50 40 T50 0'/><path d='M160 180 Q180 140, 170 100'/><circle cx='100' cy='100' r='60' stroke-dasharray='4 6'/></g></svg>");
	background-size:400px 400px;
	opacity:.4;
	pointer-events:none;
}
.irie-story__inner{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:80px;
	align-items:center;
	position:relative;
	z-index:1;
}
.irie-story__media{
	position:relative;
	border-radius:var(--irie-radius-lg);
	overflow:hidden;
	aspect-ratio:1;
	box-shadow:var(--irie-shadow-lg);
}
.irie-story__media img{
	width:100%; height:100%;
	object-fit:cover;
}
.irie-story__media-placeholder{
	width:100%; height:100%;
	background:linear-gradient(135deg, #1a3d2b, #0a2619);
	display:flex; flex-direction:column;
	align-items:center; justify-content:center;
	color:rgba(255,255,255,.4);
	gap:16px;
}
.irie-story__media-placeholder span{ font-size:80px; }
.irie-story__badge{
	position:absolute;
	bottom:24px; right:24px;
	background:var(--irie-cta);
	padding:20px 24px;
	border-radius:var(--irie-radius);
	color:#111;
	box-shadow:var(--irie-shadow-md);
}
.irie-story__badge strong{
	display:block;
	font-family:var(--irie-font-display);
	font-size:36px;
	line-height:1;
	margin-bottom:6px;
}
.irie-story__badge span{
	display:block;
	font-size:10px;
	letter-spacing:.16em;
	font-weight:700;
	text-transform:uppercase;
	max-width:120px;
}
.irie-story__divider{
	display:block;
	width:60px; height:2px;
	background:var(--irie-accent);
	margin:20px 0 28px;
}
.irie-story__p{
	color:rgba(255,255,255,.85);
	font-size:16px;
	line-height:1.75;
	margin-bottom:16px;
}
.irie-story__features{
	list-style:none;
	padding:0;
	margin:32px 0 0;
	display:flex; flex-direction:column; gap:20px;
}
.irie-story__features li{
	display:flex;
	gap:16px;
	align-items:flex-start;
}
.irie-story__feature-ico{
	width:42px; height:42px;
	display:inline-flex;
	align-items:center; justify-content:center;
	background:rgba(212,161,71,.15);
	color:var(--irie-accent);
	border-radius:12px;
	font-size:20px;
	flex-shrink:0;
}
.irie-story__features strong{
	display:block;
	color:var(--irie-white);
	font-size:16px;
	font-weight:600;
	margin-bottom:4px;
}
.irie-story__features p{
	color:rgba(255,255,255,.7);
	font-size:13px;
	line-height:1.6;
	margin:0;
}

@media (max-width: 900px){
	.irie-story__inner{ grid-template-columns:1fr; gap:48px; }
}

/* ------------- Gallery ------------- */
.irie-gallery{
	background:var(--irie-cream);
	padding:96px 0;
	position:relative;
}
.irie-gallery__grid{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:12px;
	margin-top:48px;
}
.irie-gallery__item{
	margin:0;
	border-radius:var(--irie-radius);
	overflow:hidden;
	aspect-ratio:1;
	background:var(--irie-primary);
	display:flex; align-items:center; justify-content:center;
	position:relative;
	transition:transform .3s ease;
}
.irie-gallery__item img{
	width:100%; height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}
.irie-gallery__item:hover img{ transform:scale(1.08); }
.irie-gallery__item.is-placeholder{ color:rgba(255,255,255,.3); font-size:48px; }
.irie-gallery__item--2{ grid-column:span 1; grid-row:span 2; aspect-ratio:1/2; }
@media (max-width: 900px){ .irie-gallery__grid{ grid-template-columns:repeat(3, 1fr); } .irie-gallery__item--2{ aspect-ratio:1; grid-row:auto; } }
@media (max-width: 560px){ .irie-gallery__grid{ grid-template-columns:repeat(2, 1fr); } }

/* ------------- Testimonials ------------- */
.irie-testimonials{
	background:var(--irie-primary);
	padding:96px 0;
	color:var(--irie-white);
	position:relative;
	overflow:hidden;
}
.irie-testimonials::before{
	content:'';
	position:absolute; inset:0;
	background-image:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><g fill='none' stroke='%23d4a147' stroke-width='1' opacity='.05'><path d='M30 80 Q50 40, 40 10'/><path d='M130 150 Q150 110, 140 80'/></g></svg>");
	background-size:320px 320px;
	opacity:.5;
	pointer-events:none;
}
.irie-testimonials .irie-container{ position:relative; z-index:1; }
.irie-testimonials__grid{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:20px;
	margin-top:48px;
}
.irie-testimonial{
	background:rgba(255,255,255,.04);
	border:1px solid rgba(212,161,71,.2);
	padding:28px 24px;
	border-radius:var(--irie-radius);
	position:relative;
	transition:all .3s ease;
}
.irie-testimonial:hover{
	background:rgba(255,255,255,.07);
	transform:translateY(-4px);
	border-color:rgba(212,161,71,.4);
}
.irie-testimonial__quote-mark{
	font-family:var(--irie-font-display);
	font-size:48px;
	color:var(--irie-accent);
	line-height:.5;
	opacity:.6;
	letter-spacing:-8px;
}
.irie-testimonial__stars{
	color:var(--irie-cta);
	font-size:16px;
	letter-spacing:3px;
	margin:12px 0 16px;
}
.irie-testimonial__quote{
	font-size:14px;
	line-height:1.7;
	color:rgba(255,255,255,.85);
	font-style:italic;
	margin:0 0 24px;
}
.irie-testimonial__author{
	display:flex;
	align-items:center;
	gap:12px;
	padding-top:16px;
	border-top:1px solid rgba(212,161,71,.15);
}
.irie-testimonial__initials{
	width:42px; height:42px;
	border-radius:50%;
	background:var(--irie-cta);
	color:#111;
	display:inline-flex;
	align-items:center; justify-content:center;
	font-weight:700;
	font-size:13px;
}
.irie-testimonial__author strong{
	display:block;
	color:var(--irie-white);
	font-size:14px;
	font-weight:600;
}
.irie-testimonial__author span{
	display:block;
	color:rgba(255,255,255,.6);
	font-size:12px;
}
@media (max-width: 1000px){ .irie-testimonials__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 560px){ .irie-testimonials__grid{ grid-template-columns:1fr; } }

/* ------------- Reservation ------------- */
.irie-reservation{
	background:var(--irie-primary-dark);
	padding:96px 0;
	color:var(--irie-white);
	position:relative;
}
.irie-reservation::before{
	content:'';
	position:absolute; inset:0;
	background-image:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><g fill='none' stroke='%23d4a147' stroke-width='1' opacity='.04'><path d='M60 180 Q80 120, 70 60'/><path d='M180 220 Q200 160, 190 100'/></g></svg>");
	opacity:.5;
	pointer-events:none;
}
.irie-reservation__inner{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px;
	position:relative;
	z-index:1;
}
.irie-reservation__desc{
	color:rgba(255,255,255,.8);
	font-size:15px;
	line-height:1.7;
	margin:16px 0 32px;
}
.irie-reservation__hours{
	list-style:none;
	padding:0;
	margin:0 0 40px;
	display:flex; flex-direction:column; gap:14px;
}
.irie-reservation__hours li{
	display:flex; align-items:center; gap:12px;
	color:rgba(255,255,255,.9);
	font-size:14px;
}
.irie-reservation__hours svg{ width:18px; height:18px; color:var(--irie-accent); flex-shrink:0; }
.irie-reservation__hours strong{ color:var(--irie-white); font-weight:600; }
.irie-reservation__hours span{ color:rgba(255,255,255,.7); }

.irie-reservation__call{
	background:rgba(212,161,71,.08);
	border:1px solid rgba(212,161,71,.2);
	padding:20px 24px;
	border-radius:var(--irie-radius);
}
.irie-reservation__call-label{ font-size:12px; color:rgba(255,255,255,.7); display:block; margin-bottom:4px; }
.irie-reservation__call-num{
	display:block;
	font-family:var(--irie-font-display);
	font-size:28px;
	color:var(--irie-accent);
	font-weight:600;
	margin-bottom:4px;
}
.irie-reservation__call-note{ font-size:11px; color:rgba(255,255,255,.5); }

.irie-reservation__form-wrap{
	background:rgba(255,255,255,.04);
	border:1px solid rgba(212,161,71,.2);
	border-radius:var(--irie-radius-lg);
	padding:40px;
}
.irie-form-field{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin-bottom:18px;
}
.irie-form-field > span{
	font-size:11px;
	letter-spacing:.12em;
	color:rgba(255,255,255,.7);
	font-weight:600;
	text-transform:uppercase;
}
.irie-form-field input,
.irie-form-field select,
.irie-form-field textarea{
	font-family:var(--irie-font-body);
	font-size:14px;
	padding:14px 16px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	border-radius:10px;
	color:var(--irie-white);
	width:100%;
	transition:border .2s ease, background .2s ease;
}
.irie-form-field input::placeholder,
.irie-form-field textarea::placeholder{ color:rgba(255,255,255,.4); }
.irie-form-field input:focus,
.irie-form-field select:focus,
.irie-form-field textarea:focus{
	outline:none;
	border-color:var(--irie-accent);
	background:rgba(255,255,255,.1);
}
.irie-form-field select{
	appearance:none;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23d4a147' stroke-width='2'/></svg>");
	background-repeat:no-repeat;
	background-position:right 16px center;
	padding-right:40px;
}
.irie-form-field select option{ background:var(--irie-primary-dark); color:var(--irie-white); }
.irie-form-field textarea{ resize:vertical; min-height:80px; }
.irie-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.irie-form-row--3{ grid-template-columns:repeat(3, 1fr); }
@media (max-width: 640px){
	.irie-form-row, .irie-form-row--3{ grid-template-columns:1fr; }
}

.irie-notice{
	padding:14px 16px;
	border-radius:10px;
	margin-bottom:16px;
	font-size:14px;
}
.irie-notice--success{ background:rgba(212,161,71,.15); color:var(--irie-accent); border:1px solid rgba(212,161,71,.3); }
.irie-notice--error{ background:rgba(200,60,60,.15); color:#ff8b8b; border:1px solid rgba(200,60,60,.3); }

@media (max-width: 900px){
	.irie-reservation__inner{ grid-template-columns:1fr; }
	.irie-reservation__form-wrap{ padding:28px 20px; }
}

/* ------------- Contact ------------- */
.irie-contact{
	background:var(--irie-cream);
	padding:80px 0 120px;
}
.irie-contact__grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
	margin-top:48px;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.irie-contact__card{
	background:var(--irie-white);
	padding:40px 28px;
	border-radius:var(--irie-radius);
	text-align:center;
	box-shadow:var(--irie-shadow-sm);
	transition:transform .25s ease, box-shadow .25s ease;
}
.irie-contact__card:hover{
	transform:translateY(-4px);
	box-shadow:var(--irie-shadow-md);
}
.irie-contact__ico{
	display:inline-flex;
	width:56px; height:56px;
	background:var(--irie-primary);
	color:var(--irie-white);
	border-radius:50%;
	align-items:center; justify-content:center;
	margin-bottom:20px;
}
.irie-contact__ico svg{ width:24px; height:24px; }
.irie-contact__card h3{
	font-family:var(--irie-font-display);
	font-size:22px;
	color:var(--irie-text-dark);
	margin:0 0 12px;
	font-weight:600;
}
.irie-contact__card p{ color:var(--irie-text-muted); margin:0 0 16px; line-height:1.6; }
.irie-contact__link{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
	color:var(--irie-accent);
	text-transform:uppercase;
}
.irie-contact__link:hover{ color:var(--irie-cta); }
@media (max-width: 880px){ .irie-contact__grid{ grid-template-columns:1fr; max-width:420px; } }

/* ------------- Footer ------------- */
.irie-footer{
	background:var(--irie-primary);
	color:rgba(255,255,255,.8);
	position:relative;
}
.irie-footer__stripe{
	height:4px;
	background:linear-gradient(90deg, var(--irie-accent), var(--irie-cta), var(--irie-accent));
	background-size:200% 100%;
	animation:irieShimmer 6s linear infinite;
}
@keyframes irieShimmer{ from{background-position:0% 50%;} to{background-position:200% 50%;} }
.irie-footer__inner{
	display:grid;
	grid-template-columns:2fr 1fr 1fr;
	gap:60px;
	padding:64px 0 48px;
}
.irie-footer__brand-row{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.irie-footer__name{
	display:block;
	font-family:var(--irie-font-display);
	font-size:22px;
	color:var(--irie-white);
	font-weight:700;
}
.irie-footer__tagline{
	display:block;
	font-size:10px;
	letter-spacing:.2em;
	color:var(--irie-accent);
	font-weight:600;
}
.irie-footer__about{
	max-width:320px;
	font-size:14px;
	line-height:1.7;
	margin-bottom:20px;
}
.irie-footer__social{ display:flex; gap:12px; }
.irie-footer__social a{
	width:36px; height:36px;
	background:rgba(255,255,255,.08);
	border-radius:50%;
	display:inline-flex;
	align-items:center; justify-content:center;
	color:var(--irie-white);
	transition:all .2s ease;
}
.irie-footer__social a:hover{ background:var(--irie-accent); color:#111; }
.irie-footer__social svg{ width:16px; height:16px; }
.irie-footer__heading{
	font-family:var(--irie-font-body);
	font-size:11px;
	letter-spacing:.2em;
	font-weight:700;
	color:var(--irie-accent);
	text-transform:uppercase;
	margin:0 0 20px;
}
.irie-footer__menu{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.irie-footer__menu li a{
	color:rgba(255,255,255,.8);
	font-size:14px;
	transition:color .2s;
}
.irie-footer__menu li a:hover{ color:var(--irie-white); }
.irie-footer__hours{
	list-style:none;
	padding:0; margin:0;
	display:flex; flex-direction:column; gap:12px;
}
.irie-footer__hours li{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:12px;
	font-size:14px;
	flex-wrap:wrap;
}
.irie-footer__hours li > span{
	white-space:nowrap;
	flex:1 1 auto;
}
.irie-footer__hours strong{
	color:var(--irie-accent);
	font-weight:600;
	white-space:nowrap;
	flex-shrink:0;
}
.irie-footer__bottom{
	display:flex; justify-content:space-between; align-items:center;
	padding:24px 0;
	border-top:1px solid rgba(255,255,255,.08);
	font-size:12px;
	flex-wrap:wrap; gap:12px;
}
.irie-footer__credit{ color:rgba(255,255,255,.5); }
.irie-footer__designer{ color:var(--irie-accent); font-style:italic; }

@media (max-width: 900px){
	.irie-footer__inner{ grid-template-columns:1fr; gap:36px; padding:48px 0 24px; }
}

/* ------------- Pages & Posts (simple) ------------- */
.irie-page, .irie-single, .irie-archive{ padding-top:140px; padding-bottom:80px; background:var(--irie-cream); }
.irie-page__header, .irie-single__header{ text-align:center; margin-bottom:32px; }
.irie-page__title, .irie-single__title{ font-family:var(--irie-font-display); font-size:clamp(32px,4vw,48px); color:var(--irie-text-dark); }
.irie-page__content, .irie-single__content{
	max-width:760px;
	margin:0 auto;
	font-size:16px;
	line-height:1.8;
	color:var(--irie-text-dark);
}
.irie-page__content img, .irie-single__content img{ border-radius:var(--irie-radius); margin:24px 0; }
.irie-page__thumb, .irie-single__thumb{ max-width:860px; margin:0 auto 32px; border-radius:var(--irie-radius-lg); overflow:hidden; }

.irie-post-list{ display:grid; grid-template-columns:repeat(2, 1fr); gap:28px; }
.irie-post-card{ background:var(--irie-white); border-radius:var(--irie-radius); overflow:hidden; box-shadow:var(--irie-shadow-sm); }
.irie-post-card__body{ padding:24px; }
.irie-post-card__title{ font-family:var(--irie-font-display); font-size:22px; margin-bottom:8px; }
.irie-post-card__title a{ color:var(--irie-text-dark); }
.irie-post-card__meta{ color:var(--irie-text-muted); font-size:13px; display:flex; gap:8px; margin-bottom:12px; }
.irie-post-card__excerpt{ color:var(--irie-text-muted); margin-bottom:16px; }
@media (max-width: 720px){ .irie-post-list{ grid-template-columns:1fr; } }

/* Menu page */
.irie-menu-page{ background:var(--irie-cream); padding-bottom:0; }
.irie-menu-page__header{
	padding:160px 0 60px;
	text-align:center;
	background:var(--irie-primary);
	color:var(--irie-white);
	position:relative;
}
.irie-menu-page__header::after{
	content:'';
	position:absolute;
	left:0; right:0; bottom:-1px;
	height:40px;
	background:var(--irie-cream);
	clip-path:polygon(0 100%, 50% 0, 100% 100%);
}
.irie-menu-page__title{
	font-family:var(--irie-font-display);
	font-size:clamp(40px,6vw,72px);
	color:var(--irie-white);
	margin:0 auto 16px;
	max-width:800px;
}
.irie-menu-page__lead{ max-width:640px; margin:0 auto 28px; color:rgba(255,255,255,.8); font-size:16px; }
.irie-menu-page__cart-row{ display:inline-flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.irie-menu-page__cart-row .irie-cart-count{ position:static; display:inline-block; margin-left:4px; }
.irie-menu-page__cart-row .irie-btn--ghost-dark{ border-color:var(--irie-accent); color:var(--irie-accent); }
.irie-menu-page__cart-row .irie-btn--ghost-dark:hover{ background:var(--irie-accent); color:#111; }

.irie-menu-page__body{ padding:60px 0; }
.irie-menu-page__section{ margin-bottom:80px; }
.irie-menu-page__section-title{
	font-family:var(--irie-font-display);
	font-size:clamp(28px,4vw,44px);
	text-align:center;
	color:var(--irie-primary);
	margin:0 0 12px;
}
.irie-menu-page__section .irie-divider{
	display:block;
	margin:0 auto 32px;
}

.irie-menu-page__cta{
	background:var(--irie-primary);
	padding:64px 0;
	text-align:center;
	color:var(--irie-white);
}
.irie-menu-page__cta h2{
	font-family:var(--irie-font-display);
	font-size:clamp(32px,4vw,48px);
	color:var(--irie-white);
	margin-bottom:28px;
}
.irie-menu-page__cta-buttons{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.irie-menu-page__cta-buttons .irie-btn--ghost-dark{ border-color:var(--irie-white); color:var(--irie-white); }
.irie-menu-page__cta-buttons .irie-btn--ghost-dark:hover{ background:var(--irie-white); color:var(--irie-primary); }

/* 404 */
.irie-404{ padding:200px 0 120px; background:var(--irie-cream); text-align:center; min-height:60vh; }
.irie-404__inner{ max-width:640px; margin:0 auto; }
.irie-404__ctas{ display:flex; gap:16px; justify-content:center; margin:32px 0; flex-wrap:wrap; }

/* Search form */
.irie-search-form{ display:flex; gap:8px; max-width:500px; margin:24px auto 0; }
.irie-search-form__input{
	flex:1; padding:14px 18px; font-size:15px;
	border:1px solid rgba(0,0,0,.1); border-radius:999px;
	background:var(--irie-white);
}
.irie-search-form__btn{
	padding:14px 24px;
	border:none; background:var(--irie-cta); color:#111;
	border-radius:999px; font-weight:600;
	cursor:pointer;
	letter-spacing:.08em;
	text-transform:uppercase;
	font-size:13px;
}

/* ------------- Utility ------------- */
.irie-has-woocommerce .site-main{ padding-top:120px; }
body.home .site-main, body.page-template-page-templates-menu .site-main{ padding-top:0; }

.irie-continue-shopping{
	display:inline-block;
	margin-bottom:20px;
	padding:10px 20px;
	background:transparent;
	color:var(--irie-primary);
	border:2px solid var(--irie-primary);
	border-radius:999px;
	font-weight:600;
	font-size:13px;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.irie-continue-shopping:hover{ background:var(--irie-primary); color:#fff; }

.irie-empty-cart{
	text-align:center;
	padding:60px 24px;
	font-size:16px;
}
.irie-empty-cart a{ margin-left:12px; }

/* ------------- Toast (add-to-cart feedback) ------------- */
.irie-toast{
	position:fixed;
	bottom:24px; left:50%;
	transform:translate(-50%, 140%);
	background:var(--irie-primary);
	color:var(--irie-white);
	padding:14px 20px;
	border-radius:16px;
	box-shadow:var(--irie-shadow-lg);
	font-size:14px;
	font-weight:500;
	z-index:9999;
	display:flex; align-items:center; gap:16px;
	flex-wrap:wrap;
	max-width:calc(100vw - 32px);
	transition:transform .35s cubic-bezier(0.2, 0.9, 0.3, 1.3);
	border:1px solid rgba(212,161,71,.3);
}
.irie-toast.is-visible{ transform:translate(-50%, 0); }
.irie-toast__msg{ color:var(--irie-accent); font-weight:600; }
.irie-toast__actions{ display:flex; gap:8px; }
.irie-toast__action{
	padding:8px 14px;
	border-radius:999px;
	font-size:12px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
	text-decoration:none !important;
	transition:all .2s ease;
	white-space:nowrap;
}
.irie-toast__action--primary{ background:var(--irie-cta); color:#111 !important; }
.irie-toast__action--primary:hover{ background:var(--irie-accent); color:#111 !important; }
.irie-toast__action--ghost{ background:transparent; color:var(--irie-white) !important; border:1px solid rgba(255,255,255,.2); }
.irie-toast__action--ghost:hover{ background:rgba(255,255,255,.1); color:var(--irie-white) !important; }
@media (max-width: 520px){
	.irie-toast{ flex-direction:column; align-items:stretch; text-align:center; }
	.irie-toast__actions{ justify-content:center; }
}

/* ============================================================
   WooCommerce BLOCK cart & checkout — Continue Shopping buttons
   ============================================================ */
.irie-cart-back,
.irie-checkout-back{
	max-width:1200px;
	margin:0 auto 16px;
	padding:0 20px;
}
.irie-continue-shopping-btn,
.irie-checkout-back-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:12px 22px;
	background:transparent;
	color:var(--irie-primary);
	border:2px solid var(--irie-primary);
	border-radius:999px;
	font-family:var(--irie-font-body);
	font-weight:600;
	font-size:13px;
	letter-spacing:.08em;
	text-transform:uppercase;
	text-decoration:none;
	transition:all .2s ease;
}
.irie-continue-shopping-btn:hover,
.irie-checkout-back-btn:hover{
	background:var(--irie-primary);
	color:var(--irie-white) !important;
	transform:translateX(-3px);
}
.irie-continue-shopping-btn svg,
.irie-checkout-back-btn svg{ width:16px; height:16px; }

/* Keep page title from colliding with the fixed header */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.wp-block-post-title{ padding-top:20px; }

/* ============================================================
   WooCommerce BLOCK Cart/Checkout styling
   ============================================================ */
/* Page wrapper for block cart/checkout so it has proper spacing and cream background */
.woocommerce-cart,
.woocommerce-checkout{
	background:var(--irie-cream);
}
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main{
	padding-top:100px !important;
	padding-bottom:80px;
}

/* Block cart layout */
.wp-block-woocommerce-cart{ font-family:var(--irie-font-body); }
.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart-totals-block{
	background:var(--irie-white);
	border-radius:var(--irie-radius);
	padding:28px !important;
	box-shadow:var(--irie-shadow-sm);
}
.wp-block-woocommerce-cart-line-items-block{ padding:0 !important; }

/* Headers inside block cart */
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total{
	font-family:var(--irie-font-body) !important;
	font-size:11px !important;
	letter-spacing:.16em !important;
	color:var(--irie-primary) !important;
	text-transform:uppercase !important;
}

/* Cart & totals headings */
.wc-block-cart__totals-title,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart-order-summary-heading-block{
	font-family:var(--irie-font-display) !important;
	color:var(--irie-primary) !important;
	font-weight:600 !important;
}

/* "Proceed to Checkout" (cart) and "Place Order" (checkout) buttons.
   Smaller than full-width, more proportional. */
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
a.wc-block-cart__submit-button,
button.wc-block-cart__submit-button{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:auto !important;
	min-width:200px !important;
	max-width:100% !important;
	padding:12px 28px !important;
	background:var(--irie-cta) !important;
	color:#111 !important;
	border:2px solid var(--irie-cta) !important;
	border-radius:999px !important;
	font-family:var(--irie-font-body) !important;
	font-weight:700 !important;
	font-size:13px !important;
	letter-spacing:.1em !important;
	text-transform:uppercase !important;
	text-decoration:none !important;
	text-align:center !important;
	cursor:pointer !important;
	box-shadow:0 4px 12px rgba(232,153,35,.25) !important;
	transition:all .25s ease !important;
	margin-top:20px !important;
	line-height:1.2 !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
	background:var(--irie-cta-dark) !important;
	border-color:var(--irie-cta-dark) !important;
	transform:translateY(-2px) !important;
	box-shadow:0 6px 18px rgba(232,153,35,.35) !important;
}
/* Container the buttons sit in - center them */
.wp-block-woocommerce-proceed-to-checkout-block,
.wc-block-components-checkout-place-order-button-wrapper,
.wp-block-woocommerce-checkout-actions-block{
	text-align:center !important;
	display:flex !important;
	justify-content:center !important;
	flex-wrap:wrap !important;
	gap:12px !important;
}

/* ============================================================
   Order summary fixes — prevent description from wrapping
   one-letter-per-line in the narrow column
   ============================================================ */
/* Hide the long product description in the order summary; name + price is enough */
.wc-block-components-order-summary-item__description,
.wc-block-cart-item__total .wc-block-components-product-metadata,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description{
	display:none !important;
}
/* Make product name in summary readable, with proper word-wrap */
.wc-block-components-order-summary-item__title,
.wc-block-components-product-name{
	font-family:var(--irie-font-display) !important;
	font-size:15px !important;
	line-height:1.35 !important;
	color:var(--irie-primary) !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:auto !important;
}
/* Make sure the order summary column doesn't get squeezed too narrow on desktop */
@media (min-width: 900px){
	.wp-block-woocommerce-checkout-totals-block,
	.wp-block-woocommerce-checkout-order-summary-block{
		min-width:340px !important;
	}
}
/* Image in the order summary - keep small and tidy */
.wc-block-components-order-summary-item__image{
	width:56px !important;
	height:56px !important;
	flex-shrink:0 !important;
}
.wc-block-components-order-summary-item__image img{
	border-radius:8px !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Express Checkout (Google Pay / Apple Pay / Pay with Link) — constrain size */
.wc-block-components-express-payment,
.wp-block-woocommerce-cart-express-payment-block,
.wp-block-woocommerce-checkout-express-payment-block{
	max-width:420px;
	margin:16px auto !important;
}
.wc-block-components-express-payment__event-buttons{
	display:grid !important;
	grid-template-columns:1fr !important;
	gap:8px !important;
}
.wc-block-components-express-payment__event-buttons > li{
	list-style:none !important;
	margin:0 !important;
}
/* Ensure each express payment button is a uniform, reasonable height */
.wc-block-components-express-payment button,
.wc-block-components-express-payment iframe{
	max-height:48px !important;
	height:48px !important;
}
/* The "— OR —" divider */
.wc-block-components-express-payment-continue-rule{
	margin:20px auto !important;
	max-width:420px;
}

/* Cart totals / line items */
.wc-block-components-totals-item{
	padding:10px 0 !important;
	border-bottom:1px solid rgba(0,0,0,.05);
}
.wc-block-components-totals-footer-item{
	border-top:2px solid var(--irie-primary) !important;
	padding-top:14px !important;
	margin-top:14px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
	color:var(--irie-cta) !important;
	font-family:var(--irie-font-display) !important;
	font-size:22px !important;
	font-weight:700 !important;
}

/* Product rows */
.wc-block-cart-items__row{
	padding:16px 0 !important;
	border-bottom:1px solid rgba(0,0,0,.06) !important;
}
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a{
	font-family:var(--irie-font-display) !important;
	font-size:17px !important;
	color:var(--irie-primary) !important;
	font-weight:600 !important;
	text-decoration:none !important;
}

/* Checkout block styling */
.wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-checkout-order-summary-block{
	background:var(--irie-white);
	border-radius:var(--irie-radius);
	padding:28px !important;
	box-shadow:var(--irie-shadow-sm);
}
.wp-block-woocommerce-checkout-contact-information-block h2,
.wp-block-woocommerce-checkout-shipping-address-block h2,
.wp-block-woocommerce-checkout-billing-address-block h2,
.wp-block-woocommerce-checkout-shipping-methods-block h2,
.wp-block-woocommerce-checkout-payment-block h2{
	font-family:var(--irie-font-display) !important;
	color:var(--irie-primary) !important;
	font-size:22px !important;
}

/* Checkout form inputs */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input select,
.wc-block-components-textarea{
	border-radius:10px !important;
	border:1px solid rgba(0,0,0,.12) !important;
	padding:14px 16px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea:focus{
	border-color:var(--irie-accent) !important;
	box-shadow:0 0 0 3px rgba(212,161,71,.15) !important;
}

/* Empty-cart block state */
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart__title{
	text-align:center;
}
.wp-block-woocommerce-empty-cart-block .wp-block-button__link{
	background:var(--irie-cta) !important;
	color:#111 !important;
	border-radius:999px !important;
	padding:14px 28px !important;
	font-weight:700 !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
}

/* ============================================================
   Admin-only notices (shown to logged-in admins on the frontend)
   ============================================================ */
.irie-admin-notice{
	background:rgba(212,161,71,.12);
	border:1px dashed var(--irie-accent);
	color:var(--irie-white);
	padding:14px 20px;
	border-radius:10px;
	margin:0 0 24px;
	font-size:14px;
	line-height:1.6;
}
.irie-admin-notice strong{ color:var(--irie-accent); }
.irie-admin-notice code{
	background:rgba(0,0,0,.25);
	color:var(--irie-accent);
	padding:2px 8px;
	border-radius:4px;
	font-size:13px;
}
.irie-admin-notice a{
	color:var(--irie-cta);
	font-weight:600;
	margin-left:6px;
	white-space:nowrap;
}
.irie-admin-notice a:hover{ color:var(--irie-accent); text-decoration:underline; }

/* Light-background variant of the admin notice for use on cream pages */
.irie-signature .irie-admin-notice{
	/* already on dark bg - leave as is */
}
