/* =========================================================
   green_skin.css
   Adilas Green Skin - Consolidated
   Main storefront skin for cannabis / modern product commerce
   ========================================================= */

:root{
	--gs-bg: #f6f7f2;
	--gs-surface: #ffffff;
	--gs-surface-2: #f1f4ec;
	--gs-border: #dbe4d3;
	--gs-text: #1f2a1f;
	--gs-text-soft: #5f6d60;
	--gs-primary: #2f6b3d;
	--gs-primary-dark: #245330;
	--gs-primary-soft: #e5efe2;
	--gs-accent: #8fa889;
	--gs-shadow: 0 10px 30px rgba(32, 48, 32, 0.08);
	--gs-shadow-hover: 0 16px 36px rgba(32, 48, 32, 0.14);
	--gs-radius: 18px;
	--gs-radius-sm: 12px;
	--gs-radius-lg: 24px;
	--gs-max: 1320px;
	--gs-transition: all .22s ease;
}

body{
	background: var(--gs-bg);
	color: var(--gs-text);
}

.green-shell{
	max-width: var(--gs-max);
	margin: 0 auto;
	padding: 28px 18px 48px 18px;
}

/* =========================================================
   generic components
   ========================================================= */

.green-panel{
	background: var(--gs-surface);
	border: 1px solid var(--gs-border);
	border-radius: var(--gs-radius);
	box-shadow: var(--gs-shadow);
}

.green-btn,
.green-btn:visited{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	transition: var(--gs-transition);
	cursor: pointer;
}

.green-btn:hover{
	text-decoration: none;
}

.green-btn-primary{
	background: var(--gs-primary);
	color: #fff;
}

.green-btn-primary:hover{
	background: var(--gs-primary-dark);
	color: #fff;
}

.green-btn-secondary{
	background: #f5f7f3;
	color: var(--gs-text);
	border-color: var(--gs-border);
}

.green-btn-secondary:hover{
	background: #edf2e9;
	color: var(--gs-primary-dark);
}

.green-input,
.green-select{
	width: 100%;
	min-height: 48px;
	border-radius: 14px;
	border: 1px solid var(--gs-border);
	background: #fff;
	padding: 0 14px;
	font-size: 15px;
	color: var(--gs-text);
	box-shadow: none;
	outline: none;
	transition: var(--gs-transition);
}

.green-input:focus,
.green-select:focus{
	border-color: var(--gs-accent);
	box-shadow: 0 0 0 4px rgba(143,168,137,.18);
}

.green-note{
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--gs-text-soft);
}

.green-muted{
	color: var(--gs-text-soft);
}

.green-divider{
	height: 1px;
	background: var(--gs-border);
	margin: 28px 0;
}

.green-empty{
	padding: 34px 22px;
	text-align: center;
	background: var(--gs-surface);
	border: 1px dashed var(--gs-border);
	border-radius: var(--gs-radius);
	color: var(--gs-text-soft);
	font-size: 15px;
}

/* =========================================================
   landing page / hero
   ========================================================= */

.green-hero{
	background: linear-gradient(135deg, rgba(47,107,61,.94), rgba(62,94,57,.92));
	color: #fff;
	border-radius: var(--gs-radius-lg);
	padding: 34px 28px;
	box-shadow: var(--gs-shadow);
	margin-bottom: 26px;
	position: relative;
	overflow: hidden;
}

.green-hero:before{
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
}

.green-hero:after{
	content: "";
	position: absolute;
	right: 90px;
	bottom: -80px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(255,255,255,.06);
}

.green-hero-inner{
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.5fr .9fr;
	gap: 22px;
	align-items: center;
}

.green-kicker{
	display: inline-block;
	background: rgba(255,255,255,.12);
	color: #fff;
	padding: 7px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.green-kicker-soft{
	background: var(--gs-primary-soft);
	color: var(--gs-primary-dark);
}

.green-hero h1{
	margin: 0 0 10px 0;
	font-size: 36px;
	line-height: 1.1;
	font-weight: 800;
	color: #fff;
}

.green-hero p{
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: rgba(255,255,255,.92);
	max-width: 760px;
}

.green-hero-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.green-search-panel{
	padding: 20px;
}

.green-search-title{
	margin: 0 0 12px 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--gs-text);
}

.green-search-help{
	margin: 0 0 14px 0;
	font-size: 14px;
	color: var(--gs-text-soft);
}

.green-search-row{
	display: grid;
	grid-template-columns: 1.2fr auto;
	gap: 12px;
	align-items: center;
}

.green-chip-row{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.green-chip,
.green-chip:visited{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--gs-primary-soft);
	color: var(--gs-primary-dark);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	transition: var(--gs-transition);
}

.green-chip:hover{
	background: #dbe9d8;
	color: var(--gs-primary-dark);
	text-decoration: none;
}

.green-grid{
	display: grid;
	gap: 22px;
}

.green-grid-2{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.green-grid-3{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.green-section{
	margin-top: 28px;
}

.green-section-header{
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.green-section-title{
	margin: 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--gs-text);
}

.green-section-copy{
	margin: 6px 0 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gs-text-soft);
	max-width: 760px;
}

.green-category-card{
	display: block;
	background: var(--gs-surface);
	border: 1px solid var(--gs-border);
	border-radius: var(--gs-radius);
	overflow: hidden;
	box-shadow: var(--gs-shadow);
	transition: var(--gs-transition);
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.green-category-card:hover{
	transform: translateY(-3px);
	box-shadow: var(--gs-shadow-hover);
	text-decoration: none;
	color: inherit;
}

.green-category-media{
	position: relative;
	background: linear-gradient(135deg, #dbe9d8, #edf3ea);
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.green-category-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.green-category-badge{
	position: absolute;
	left: 14px;
	top: 14px;
	background: rgba(255,255,255,.92);
	color: var(--gs-primary-dark);
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.green-category-body{
	padding: 18px 18px 20px 18px;
}

.green-category-title{
	margin: 0 0 8px 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--gs-text);
}

.green-category-copy{
	margin: 0 0 14px 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--gs-text-soft);
	min-height: 46px;
}

.green-category-meta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 14px;
	color: var(--gs-text-soft);
}

.green-link-arrow{
	font-weight: 800;
	color: var(--gs-primary);
}

.green-mini-panels{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.green-mini-panel{
	background: var(--gs-surface);
	border: 1px solid var(--gs-border);
	border-radius: var(--gs-radius);
	padding: 18px;
	box-shadow: var(--gs-shadow);
}

.green-mini-label{
	margin: 0 0 6px 0;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--gs-primary);
}

.green-mini-title{
	margin: 0 0 6px 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--gs-text);
}

.green-mini-copy{
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gs-text-soft);
}

/* =========================================================
   collection/results page
   ========================================================= */

.green-results-hero{
	padding: 28px;
	border-radius: 24px;
	margin-bottom: 18px;
}

.green-results-head{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
}

.green-results-title{
	margin: 8px 0 10px 0;
	font-size: 38px;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--gs-text);
}

.green-results-copy{
	margin: 0;
	max-width: 820px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--gs-text-soft);
}

.green-results-meta{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.green-meta-pill{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	background: #f4f7f1;
	color: var(--gs-primary-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .02em;
	border: 1px solid #d9e3d2;
}

.green-toolbar{
	padding: 18px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
	border-radius: 20px;
}

.green-toolbar-form{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	align-items: center;
}

.green-toolbar-form .green-input{
	min-width: 260px;
	flex: 1 1 300px;
}

.green-select-sm{
	min-width: 150px;
	min-height: 42px;
}

.green-results-actions{
	display: flex;
	align-items: center;
	gap: 10px;
}

/* =========================================================
   compact header + collapsed filters
   ========================================================= */

.green-compact-header{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	gap:16px;
	margin:0 0 10px 0;
	padding:0;
	flex-wrap:wrap;
}

.green-compact-left{
	display:flex;
	flex-direction:column;
	gap:6px;
}

.green-compact-title{
	margin:0;
	font-size:40px;
	line-height:1.05;
	font-weight:800;
	color: var(--gs-text);
}

.green-compact-meta{
	margin:0;
	font-size:14px;
	color:var(--gs-text-soft);
}

.green-compact-right{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	margin-left:auto;
}

.green-compact-search{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
}

.green-compact-search .green-input{
	width:320px;
	min-width:320px;
	margin:0;
}

.green-compact-search .green-btn{
	white-space:nowrap;
	margin:0;
	flex:0 0 auto;
}

.green-back-row{
	margin:0 0 14px 0;
	padding:0;
}

.green-back-link{
	display:inline-block;
	font-size:13px;
	color:var(--gs-text-soft);
	text-decoration:none;
}

.green-back-link:hover{
	color:var(--gs-primary-dark);
	text-decoration:none;
}

.green-filter-panel-collapsed{
	display:none;
	margin:0 0 16px 0;
	padding:18px;
	border-radius:18px;
	background:#f7faf5;
	border:1px solid #dfe7d8;
}

.green-filter-panel-collapsed.is-open{
	display:block;
}

.green-filter-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:14px;
	margin:0 0 12px 0;
}

.green-filter-grid label{
	display:block;
	margin:0 0 6px 0;
	font-size:13px;
	font-weight:700;
	color:var(--gs-text);
}

.green-filter-actions{
	display:flex;
	gap:10px;
	margin:0;
}

.green-advanced-inner{
	margin-top:16px;
	padding-top:14px;
	border-top:1px solid var(--gs-border);
}

.green-advanced-inner details{
	border:none;
	background:none;
	padding:0;
}

.green-advanced-inner summary{
	cursor:pointer;
	font-weight:700;
	font-size:14px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.green-advanced-inner .green-advanced-body{
	padding-top:12px;
}

/* =========================================================
   legacy advanced / filter helpers
   ========================================================= */

.green-advanced{
	margin-top: 28px;
}

.green-advanced details{
	background: var(--gs-surface);
	border: 1px solid var(--gs-border);
	border-radius: var(--gs-radius);
	box-shadow: var(--gs-shadow);
	overflow: hidden;
}

.green-advanced summary{
	list-style: none;
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 800;
	font-size: 16px;
	color: var(--gs-text);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.green-advanced summary::-webkit-details-marker{
	display: none;
}

.green-advanced-body{
	padding: 0 20px 20px 20px;
	border-top: 1px solid var(--gs-border);
}

.green-form-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.green-form-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.green-tag-filter-group{
	margin-top: 22px;
	padding-top: 14px;
	border-top: 1px solid var(--gs-border);
}

.green-tag-filter-list{
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-top: 10px;
}

.green-filter-check{
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	color: var(--gs-text);
	padding: 6px 0;
}

.green-filter-check input{
	margin-top: 3px;
}

.green-filter-panel{
	padding: 20px;
	margin-bottom: 24px;
}

/* =========================================================
   product grid
   ========================================================= */

.green-products-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 10px;
}

.green-product-card{
	background: var(--gs-surface);
	border: 1px solid var(--gs-border);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(32, 48, 32, 0.08);
	transition: var(--gs-transition);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.green-product-card:hover{
	transform: translateY(-3px);
	box-shadow: var(--gs-shadow-hover);
}

.green-product-media{
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, #edf3ea, #dfe9d9);
	overflow: hidden;
}

.green-product-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .28s ease;
}

.green-product-card:hover .green-product-media img{
	transform: scale(1.03);
}

.green-product-badge{
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(255,255,255,.94);
	color: var(--gs-primary-dark);
	padding: 7px 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
}

.green-product-body{
	padding: 16px 16px 18px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.green-product-title{
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 800;
}

.green-product-title a{
	color: var(--gs-text);
	text-decoration: none;
}

.green-product-title a:hover{
	color: var(--gs-primary);
	text-decoration: none;
}

.green-product-copy{
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--gs-text-soft);
	min-height: 42px;
}

.green-product-meta{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.green-tag{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 9px;
	border-radius: 999px;
	background: var(--gs-primary-soft);
	color: var(--gs-primary-dark);
	font-size: 11px;
	font-weight: 700;
}

.green-tag-soft{
	background: #f3f5f0;
	color: var(--gs-text-soft);
	border: 1px solid var(--gs-border);
}

.green-tag-sale{
	background: #eef6e8;
	color: #2d6a39;
	border: 1px solid #cfe0c8;
}

.green-price-wrap{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 8px 10px;
	margin-top: 2px;
	min-height: 42px;
}

.green-price-main{
	font-size: 26px;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--gs-primary-dark);
}

.green-price-was{
	font-size: 13px;
	color: var(--gs-text-soft);
	text-decoration: line-through;
}

.green-price-note{
	font-size: 13px;
	font-weight: 700;
	color: var(--gs-primary-dark);
}

.green-product-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 4px;
	align-items: stretch;
}

.green-product-actions .green-btn,
.green-product-actions form .green-btn{
	width: 100%;
	min-height: 44px;
	font-size: 14px;
	font-weight: 800;
}

.green-product-actions form{
	margin: 0;
	flex: 1 1 180px;
}

.green-product-actions > a{
	flex: 1 1 140px;
}

/* =========================================================
   pagination
   ========================================================= */

.green-pagination-wrap{
	margin-top: 34px;
}

.green-pagination{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	align-items: center;
}

.green-page-link,
.green-page-link:visited{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--gs-surface);
	color: var(--gs-text);
	border: 1px solid var(--gs-border);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	transition: var(--gs-transition);
}

.green-page-link:hover{
	text-decoration: none;
	color: var(--gs-primary-dark);
	border-color: var(--gs-accent);
}

.green-page-link.is-active{
	background: var(--gs-primary);
	color: #fff;
	border-color: var(--gs-primary);
}

/* =========================================================
   misc helpers
   ========================================================= */

.green-icon-fallback{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 40px;
	color: var(--gs-accent);
	font-weight: 800;
}

/* =========================================================
   responsive
   ========================================================= */

@media (max-width: 1199px){
	.green-mini-panels{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.green-form-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.green-products-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px){
	.green-hero-inner{
		grid-template-columns: 1fr;
	}
	.green-grid-3{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.green-results-title{
		font-size: 32px;
	}
	.green-toolbar-form{
		flex-wrap: wrap;
	}
}

@media (max-width: 767px){
	.green-shell{
		padding: 18px 14px 36px 14px;
	}

	.green-hero{
		padding: 24px 18px;
		border-radius: 20px;
	}

	.green-hero h1{
		font-size: 28px;
	}

	.green-search-row{
		grid-template-columns: 1fr;
	}

	.green-grid-2,
	.green-grid-3,
	.green-mini-panels,
	.green-form-grid,
	.green-products-grid,
	.green-filter-grid{
		grid-template-columns: 1fr;
	}

	.green-section-title{
		font-size: 22px;
	}

	.green-category-copy{
		min-height: 0;
	}

	.green-results-head,
	.green-toolbar{
		flex-direction: column;
		align-items: stretch;
	}

	.green-results-actions{
		width: 100%;
	}

	.green-results-actions .green-btn{
		width: 100%;
	}

	.green-results-hero{
		padding: 22px 18px;
	}

	.green-results-title{
		font-size: 28px;
	}

	.green-toolbar{
		padding: 16px;
	}

	.green-toolbar-form .green-input,
	.green-toolbar-form .green-select,
	.green-toolbar-form .green-btn{
		width: 100%;
	}

	.green-product-body{
		padding: 14px 14px 16px 14px;
	}

	.green-price-main{
		font-size: 24px;
	}

	.green-compact-header{
		align-items:flex-start;
	}

	.green-compact-right{
		width:100%;
		margin-left:0;
	}

	.green-compact-search{
		width:100%;
	}

	.green-compact-search .green-input{
		width:100%;
		min-width:0;
		flex:1 1 auto;
	}
}

/* =========================================================
   Green Header
   Add to green_skin.css
   ========================================================= */

.green-header-shell{
	position: relative;
	z-index: 40;
	background: transparent;
	margin: 0 0 10px 0;
}

.green-header-topbar{
	background: rgba(255,255,255,.72);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(219,228,211,.85);
}

.green-header-topbar-inner,
.green-header-main-inner{
	max-width: var(--gs-max);
	margin: 0 auto;
	padding-left: 18px;
	padding-right: 18px;
}

.green-header-topbar-inner{
	min-height: 42px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	font-size:13px;
	color: var(--gs-text-soft);
}

.green-header-topbar-copy,
.green-header-topbar-actions{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
}

.green-header-dot{
	opacity:.45;
}

.green-header-mini-link,
.green-header-mini-link:visited{
	color: var(--gs-text-soft);
	text-decoration:none;
	font-weight:600;
}

.green-header-mini-link:hover{
	color: var(--gs-primary-dark);
	text-decoration:none;
}

.green-header-mini-link-alert{
	display:inline-flex;
	align-items:center;
	gap:8px;
}

.green-header-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:22px;
	height:22px;
	padding:0 6px;
	border-radius:999px;
	background:#d84d4d;
	color:#fff;
	font-size:12px;
	font-weight:800;
}

.green-header-notify-btn{
	border:1px solid var(--gs-border);
	background:#fff;
	color:var(--gs-primary-dark);
	border-radius:999px;
	padding:8px 14px;
	font-weight:700;
	transition: var(--gs-transition);
}

.green-header-notify-btn:hover{
	background:var(--gs-primary-soft);
}

.green-header-main{
	position: sticky;
	top: 0;
	background: rgba(255,255,255,.88);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(219,228,211,.9);
	transition: box-shadow .22s ease, background .22s ease;
}

.green-header-main.is-sticky{
	box-shadow: 0 12px 28px rgba(32,48,32,.10);
	background: rgba(255,255,255,.94);
}

.green-header-main-inner{
	min-height: 82px;
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:20px;
}

.green-header-branding,
.green-header-logo-wrap,
.green-header-actions{
	display:flex;
	align-items:center;
}

.green-header-logo-wrap{
	gap:14px;
	min-width:0;
}

.green-header-logo-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
}

.green-header-logo-img{
	max-height:64px;
	width:auto;
	height:auto;
}

.green-header-brand-text{
	display:flex;
	flex-direction:column;
	gap:3px;
	min-width:0;
}

.green-header-brand-title,
.green-header-brand-title:visited{
	font-size:20px;
	line-height:1.1;
	font-weight:800;
	color:var(--gs-text);
	text-decoration:none;
}

.green-header-brand-title:hover{
	color:var(--gs-primary-dark);
	text-decoration:none;
}

.green-header-brand-subtitle{
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--gs-text-soft);
	font-weight:700;
}

.green-header-center{
	min-width:0;
}

.green-header-nav{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	flex-wrap:wrap;
}

.green-header-nav-link,
.green-header-nav-link:visited{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:0 14px;
	border-radius:999px;
	color:var(--gs-text);
	text-decoration:none;
	font-weight:700;
	transition: var(--gs-transition);
}

.green-header-nav-link:hover,
.green-header-nav-link.is-current{
	background: var(--gs-primary-soft);
	color: var(--gs-primary-dark);
	text-decoration:none;
}

.green-header-actions{
	gap:10px;
	justify-content:flex-end;
}

.green-header-search{
	position:relative;
	width:320px;
	max-width:100%;
}

.green-header-search-input{
	width:100%;
	height:46px;
	border-radius:999px;
	border:1px solid var(--gs-border);
	background:#fff;
	padding:0 48px 0 16px;
	font-size:14px;
	color:var(--gs-text);
	outline:none;
	transition: var(--gs-transition);
}

.green-header-search-input:focus{
	border-color: var(--gs-accent);
	box-shadow: 0 0 0 4px rgba(143,168,137,.16);
}

.green-header-search-btn{
	position:absolute;
	right:6px;
	top:50%;
	transform:translateY(-50%);
	width:34px;
	height:34px;
	border:none;
	border-radius:50%;
	background: var(--gs-primary-soft);
	color: var(--gs-primary-dark);
}

.green-header-action-pill,
.green-header-action-pill:visited,
.green-header-cart-btn,
.green-header-cart-btn:visited{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:46px;
	padding:0 16px;
	border-radius:999px;
	text-decoration:none;
	font-weight:800;
	transition: var(--gs-transition);
	white-space:nowrap;
}

.green-header-action-pill{
	border:1px solid var(--gs-border);
	background:#fff;
	color:var(--gs-text);
}

.green-header-action-pill:hover{
	background:#f5f7f3;
	color:var(--gs-primary-dark);
	text-decoration:none;
}

.green-header-action-pill-soft{
	background:#f6f8f4;
}

.green-header-action-pill strong{
	font-size:12px;
	padding:3px 7px;
	border-radius:999px;
	background:var(--gs-primary-soft);
	color:var(--gs-primary-dark);
}

.green-header-cart-btn{
	background:var(--gs-primary);
	color:#fff;
	box-shadow: 0 10px 20px rgba(47,107,61,.18);
}

.green-header-cart-btn:hover{
	background:var(--gs-primary-dark);
	color:#fff;
	text-decoration:none;
}

.green-header-cart-btn strong{
	font-size:12px;
	padding:3px 8px;
	border-radius:999px;
	background:rgba(255,255,255,.18);
}

.green-header-icon-btn,
.green-header-action-btn{
	width:44px;
	height:44px;
	border-radius:999px;
	border:1px solid var(--gs-border);
	background:#fff;
	color:var(--gs-text);
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.green-header-icon-btn span{
	display:block;
	width:16px;
	height:2px;
	background:currentColor;
	border-radius:4px;
}

.green-header-icon-btn{
	flex-direction:column;
	gap:3px;
	margin-right:10px;
}

.green-header-mobile-panel{
	max-width: var(--gs-max);
	margin: 0 auto;
	padding: 0 18px 16px 18px;
}

.green-header-search-mobile{
	width:100%;
}

.green-header-mobile-nav{
	display:grid;
	gap:8px;
	padding:8px 0 0 0;
}

.green-header-mobile-nav a,
.green-header-mobile-nav a:visited{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:46px;
	padding:0 14px;
	border-radius:14px;
	background:#fff;
	border:1px solid var(--gs-border);
	color:var(--gs-text);
	text-decoration:none;
	font-weight:700;
}

.green-header-mobile-nav a:hover{
	background:var(--gs-primary-soft);
	color:var(--gs-primary-dark);
	text-decoration:none;
}

.green-header-mobile-only{
	display:none;
}

.green-page-intro{
	background:transparent;
	padding-top:10px;
}

.green-breadcrumb{
	background:transparent;
	padding:0;
	margin:0 0 12px 0;
}

.green-breadcrumb > li,
.green-breadcrumb > li a{
	color:var(--gs-text-soft);
}

.green-breadcrumb > .active{
	color:var(--gs-text);
	font-weight:700;
}

@media (max-width: 1199px){
	.green-header-search{
		width:260px;
	}
}

@media (max-width: 991px){
	.green-header-desktop-only{
		display:none !important;
	}
	.green-header-mobile-only{
		display:inline-flex;
	}
	.green-header-main-inner{
		grid-template-columns:1fr auto;
		min-height:74px;
	}
	.green-header-topbar{
		display:none;
	}
}

@media (max-width: 767px){
	.green-header-topbar-inner,
	.green-header-main-inner,
	.green-header-mobile-panel{
		padding-left:14px;
		padding-right:14px;
	}
	.green-header-logo-img{
		max-height:52px;
	}
	.green-header-brand-title{
		font-size:17px;
	}
	.green-header-brand-subtitle{
		display:none;
	}
	.green-header-actions{
		gap:8px;
	}
	.green-header-cart-btn{
		padding:0 14px;
	}
	.green-header-cart-btn span{
		display:none;
	}
	}

	.btn-plus-minus-group {
		min-width: 34px;
		height: 44px;
		padding-top: 0;
		padding-bottom: 0;
		border-radius: 999px;
	}

	.form-control.input-small {
		min-width: 64px;
		width: 72px;
		height: 44px;
		margin: 0;
		display: inline-block;
		border-radius: 14px;
		text-align: center;
	}

	.green-detail-shell{
		max-width: var(--gs-max);
		margin: 0 auto;
		padding: 18px 18px 42px 18px;
	}

	.green-detail-back{
		margin: 0 0 14px 0;
	}

	.green-detail-top{
		display: grid;
		grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
		gap: 24px;
		align-items: start;
	}

	.green-detail-media-panel,
	.green-detail-buy-panel,
	.green-detail-options-panel,
	.green-detail-tabs-panel{
		background: var(--gs-surface);
		border: 1px solid var(--gs-border);
		border-radius: 22px;
		box-shadow: var(--gs-shadow);
	}

	.green-detail-media-panel{
		padding: 18px;
	}

	.green-detail-buy-panel{
		padding: 22px;
		position: sticky;
		top: 96px;
	}

	.green-detail-kicker{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 32px;
		padding: 0 12px;
		border-radius: 999px;
		background: var(--gs-primary-soft);
		color: var(--gs-primary-dark);
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .03em;
		text-transform: uppercase;
		margin-bottom: 12px;
	}

	.green-detail-title{
		margin: 0 0 10px 0;
		font-size: 36px;
		line-height: 1.08;
		font-weight: 800;
		color: var(--gs-text);
	}

	.green-detail-subtitle{
		margin: 0 0 16px 0;
		font-size: 14px;
		line-height: 1.6;
		color: var(--gs-text-soft);
	}

	.green-detail-badges{
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 18px 0;
	}

	.green-detail-badge{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 32px;
		padding: 0 12px;
		border-radius: 999px;
		background: #f4f7f1;
		border: 1px solid var(--gs-border);
		color: var(--gs-primary-dark);
		font-size: 12px;
		font-weight: 800;
	}

	.green-detail-price-row{
		display: flex;
		flex-wrap: wrap;
		align-items: end;
		gap: 10px 12px;
		margin-bottom: 14px;
	}

	.green-detail-price-row .price,
	.green-detail-price-main{
		font-size: 34px;
		line-height: 1.05;
		font-weight: 800;
		letter-spacing: -.02em;
		color: var(--gs-primary-dark);
	}

	.green-detail-price-row del{
		color: var(--gs-text-soft);
		font-size: 16px;
		font-weight: 600;
	}

	.green-detail-stock{
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 36px;
		padding: 0 12px;
		border-radius: 999px;
		font-size: 13px;
		font-weight: 800;
		margin: 0 0 18px 0;
	}

	.green-detail-stock.in{
		background: #edf6ea;
		color: #2c6a39;
		border: 1px solid #d3e6cf;
	}

	.green-detail-stock.out{
		background: #fff3f3;
		color: #ba3f3f;
		border: 1px solid #f0d1d1;
	}

	.green-detail-buy-panel .form-group{
		margin-bottom: 14px;
	}

	.green-detail-buy-panel label,
	.green-detail-options-panel label,
	.green-detail-related label{
		display: block;
		margin: 0 0 7px 0;
		font-size: 13px;
		font-weight: 800;
		color: var(--gs-text);
	}

	.green-detail-buy-panel .form-control,
	.green-detail-options-panel .form-control,
	.green-detail-related .form-control,
	.green-detail-sub-table .form-control{
		width: 100%;
		min-height: 48px;
		border-radius: 14px;
		border: 1px solid var(--gs-border);
		background: #fff;
		padding: 0 14px;
		font-size: 15px;
		color: var(--gs-text);
		box-shadow: none;
	}

	.green-detail-buy-panel .form-control:focus,
	.green-detail-options-panel .form-control:focus,
	.green-detail-related .form-control:focus,
	.green-detail-sub-table .form-control:focus{
		border-color: var(--gs-accent);
		box-shadow: 0 0 0 4px rgba(143,168,137,.18);
	}

	.green-detail-actions{
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 6px;
	}

	.green-detail-actions .btn,
	.green-tier-row .btn,
	.green-detail-sub-table .btn{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 46px;
		padding: 0 18px;
		border-radius: 999px;
		font-weight: 800;
		border: 1px solid transparent;
		transition: var(--gs-transition);
		text-decoration: none;
		box-shadow: none;
	}

	.green-detail-actions .btn-default,
	.green-tier-row .btn-default,
	.green-detail-sub-table .btn-default,
	.green-detail-sub-table .btn-remove{
		background: var(--gs-primary);
		color: #fff;
		border-color: var(--gs-primary);
	}

	.green-detail-actions .btn-default:hover,
	.green-tier-row .btn-default:hover,
	.green-detail-sub-table .btn-default:hover,
	.green-detail-sub-table .btn-remove:hover{
		background: var(--gs-primary-dark);
		color: #fff;
		border-color: var(--gs-primary-dark);
	}

	.green-detail-actions .btn[disabled],
	.green-tier-row .btn[disabled],
	.green-detail-sub-table .btn[disabled]{
		opacity: .5;
		cursor: not-allowed;
	}

	.green-tier-list{
		display: grid;
		gap: 12px;
		margin-top: 8px;
	}

	.green-tier-row{
		display: grid;
		grid-template-columns: minmax(0, 1fr) 100px 110px;
		gap: 12px;
		align-items: end;
		padding: 14px;
		border: 1px solid var(--gs-border);
		border-radius: 18px;
		background: #fbfcfa;
	}

	.green-tier-name{
		font-size: 14px;
		font-weight: 800;
		color: var(--gs-text);
	}

	.green-tier-price{
		font-size: 13px;
		color: var(--gs-text-soft);
		margin-top: 4px;
	}

	.green-detail-message{
		margin-top: 14px;
		padding: 14px 16px;
		border-radius: 16px;
		background: #f7faf5;
		border: 1px solid var(--gs-border);
		font-size: 14px;
		line-height: 1.6;
		color: var(--gs-text-soft);
	}

	.green-detail-options-panel{
		margin-top: 24px;
		padding: 22px;
	}

	.green-detail-section-title{
		margin: 0 0 14px 0;
		font-size: 24px;
		line-height: 1.15;
		font-weight: 800;
		color: var(--gs-text);
	}

	.green-detail-section-sub{
		margin: -4px 0 18px 0;
		font-size: 14px;
		line-height: 1.6;
		color: var(--gs-text-soft);
	}

	.green-detail-attribute-grid{
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}

	.green-detail-options-actions{
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 16px;
	}

	.green-detail-options-actions .btn{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 18px;
		border-radius: 999px;
		font-weight: 800;
		background: #f5f7f3;
		color: var(--gs-text);
		border: 1px solid var(--gs-border);
	}

	.green-detail-options-actions .btn:hover{
		background: #edf2e9;
		color: var(--gs-primary-dark);
	}

	.green-detail-sub-table{
		margin-top: 8px;
	}

	.green-detail-sub-table .table{
		margin: 0;
		background: transparent;
	}

	.green-detail-sub-table.table-responsive{
		border: 1px solid var(--gs-border);
		border-radius: 18px;
		overflow: hidden;
		background: #fff;
	}

	.green-detail-sub-table th{
		background: #f4f7f1;
		color: var(--gs-primary-dark);
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .03em;
		text-transform: uppercase;
		border-bottom: 1px solid var(--gs-border) !important;
		padding: 14px 12px !important;
	}

	.green-detail-sub-table td{
		padding: 14px 12px !important;
		vertical-align: middle !important;
		border-top: 1px solid #edf2e9 !important;
		color: var(--gs-text);
	}

	.green-sub-qty-wrap{
		display: flex;
		align-items: center;
		gap: 8px;
		min-width: 150px;
	}

	.green-sub-qty-wrap .input-group-btn{
		display: inline-flex;
	}

	.green-sub-qty-wrap .btn{
		width: 40px;
		min-width: 40px;
		height: 44px;
		padding: 0;
		border-radius: 999px;
		background: #f5f7f3;
		color: var(--gs-primary-dark);
		border: 1px solid var(--gs-border);
	}

	.green-sub-qty-wrap .btn:hover{
		background: var(--gs-primary-soft);
	}

	.green-detail-tabs-panel{
		margin-top: 24px;
		padding: 22px;
	}

	.green-detail-tabs-panel .nav-tabs{
		border-bottom: none;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-bottom: 18px;
	}

	.green-detail-tabs-panel .nav-tabs > li{
		float: none;
		margin: 0;
	}

	.green-detail-tabs-panel .nav-tabs > li > a{
		margin: 0;
		border: 1px solid var(--gs-border);
		border-radius: 999px;
		background: #f5f7f3;
		color: var(--gs-text);
		font-size: 14px;
		font-weight: 800;
		padding: 10px 16px;
	}

	.green-detail-tabs-panel .nav-tabs > li.active > a,
	.green-detail-tabs-panel .nav-tabs > li.active > a:hover,
	.green-detail-tabs-panel .nav-tabs > li.active > a:focus,
	.green-detail-tabs-panel .nav-tabs > li > a:hover{
		background: var(--gs-primary);
		color: #fff;
		border-color: var(--gs-primary);
	}

	.green-detail-tab-body{
		padding: 4px 2px 4px 2px;
		font-size: 15px;
		line-height: 1.75;
		color: var(--gs-text);
	}

	.green-detail-extra{
		margin-top: 18px;
		padding: 16px 18px;
		border-radius: 18px;
		background: #f7faf5;
		border: 1px solid var(--gs-border);
	}

	.green-detail-extra h3{
		margin: 0 0 10px 0;
		font-size: 20px;
		font-weight: 800;
		color: var(--gs-text);
	}

	.green-detail-related{
		margin-top: 18px;
		padding-top: 16px;
		border-top: 1px solid var(--gs-border);
	}

	.green-detail-related-title{
		margin: 0 0 14px 0;
		font-size: 18px;
		font-weight: 800;
		color: var(--gs-text);
	}

	.green-related-row{
		display: grid;
		grid-template-columns: 62px minmax(0, 1fr) 120px;
		gap: 14px;
		align-items: start;
		padding: 14px;
		border: 1px solid var(--gs-border);
		border-radius: 18px;
		background: #fbfcfa;
		margin-bottom: 12px;
	}

	.green-related-thumb img{
		width: 62px;
		height: 62px;
		object-fit: cover;
		border-radius: 14px;
		border: 1px solid var(--gs-border);
		background: #f1f4ec;
	}

	.green-related-title{
		margin: 0 0 6px 0;
		font-size: 15px;
		font-weight: 800;
	}

	.green-related-title a{
		color: var(--gs-text);
		text-decoration: none;
	}

	.green-related-title a:hover{
		color: var(--gs-primary);
		text-decoration: none;
	}

	.green-related-copy{
		margin: 0 0 8px 0;
		font-size: 13px;
		line-height: 1.6;
		color: var(--gs-text-soft);
	}

	.green-related-price{
		font-size: 14px;
		font-weight: 800;
		color: var(--gs-primary-dark);
	}

	.green-related-qty{
		display: flex;
		flex-direction: column;
		gap: 6px;
	}

	.green-detail-gallery .overlay-container{
		border-radius: 20px;
		overflow: hidden;
		background: linear-gradient(135deg, #edf3ea, #dfe9d9);
		border: 1px solid var(--gs-border);
	}

	.green-detail-gallery .overlay-container img{
		width: 100%;
		height: auto;
		display: block;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.green-detail-gallery .overlay{
		background: rgba(31,42,31,.2);
	}

	.green-detail-media-tabs{
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin: 0 0 14px 0;
		padding: 0;
		list-style: none;
	}

	.green-detail-media-tabs > li{
		margin: 0;
	}

	.green-detail-media-tabs > li > a{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 40px;
		padding: 0 14px;
		border-radius: 999px;
		background: #f5f7f3;
		border: 1px solid var(--gs-border);
		color: var(--gs-text);
		font-size: 14px;
		font-weight: 800;
		text-decoration: none;
	}

	.green-detail-media-tabs > li.active > a,
	.green-detail-media-tabs > li > a:hover{
		background: var(--gs-primary);
		color: #fff;
		border-color: var(--gs-primary);
	}

	@media (max-width: 1199px){
		.green-detail-top{
			grid-template-columns: 1fr;
		}

		.green-detail-buy-panel{
			position: static;
		}
	}

	@media (max-width: 767px){
		.green-detail-shell{
			padding: 12px 14px 34px 14px;
		}

		.green-detail-title{
			font-size: 28px;
		}

		.green-detail-attribute-grid{
			grid-template-columns: 1fr;
		}

		.green-tier-row{
			grid-template-columns: 1fr;
		}

		.green-related-row{
			grid-template-columns: 1fr;
		}

		.green-related-qty{
			max-width: 140px;
		}
	}

	/* ===============================
   DETAIL PAGE LAYOUT
   =============================== */

	.green-detail-shell {
	    max-width: 1200px;
	    margin: 0 auto;
	    padding: 20px;
	}

	.green-detail-layout {
	    display: grid;
	    grid-template-columns: 1fr 420px;
	    gap: 40px;
	    align-items: start;
	}

	.green-detail-main {
	    width: 100%;
	}

	.green-detail-side {
	    width: 100%;
	    position: sticky;
	    top: 20px;
	}

/* LOWER PANELS */
.green-detail-options-panel,
.green-detail-tabs-panel {
    background: #ffffff;
    border-radius: 16px;
    padding: 28px;
    margin-top: 28px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.04);
}

/* Sub inventory table */
.green-sub-table table {
    width: 100%;
    border-collapse: collapse;
}

.green-sub-table th {
    background: #f3f7f2;
    color: #2f3e2f;
    font-weight: 600;
    padding: 14px;
    border-bottom: 1px solid #e4e9e2;
}

.green-sub-table td {
    padding: 14px;
    border-bottom: 1px solid #eef2ec;
}

.green-sub-table tr:hover {
    background: #f8fbf6;
}

/* Qty buttons */
.btn-plus-minus-group {
    background: #e8efe6;
    border: none;
}

.btn-plus-minus-group:hover {
    background: #dfe9dc;
}

/* ===============================
   SUB INVENTORY CARD SELECTOR
   =============================== */

.green-sub-card-list{
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 18px;
}

.green-sub-card{
	background: #fff;
	border: 1px solid #dfe7d8;
	border-radius: 18px;
	padding: 20px 22px;
	box-shadow: 0 6px 18px rgba(0,0,0,.04);
}

.green-sub-card-top{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 16px;
}

.green-sub-card-id{
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #6f7d6c;
	margin-bottom: 6px;
}

.green-sub-card-title{
	margin: 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	color: #243224;
}

.green-sub-card-meta{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.green-sub-pill{
	background: #f4f7f1;
	border: 1px solid #dfe7d8;
	border-radius: 999px;
	padding: 10px 14px;
	min-width: 120px;
}

.green-sub-pill-label{
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #6f7d6c;
	margin-bottom: 3px;
}

.green-sub-pill-value{
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #243224;
}

.green-sub-card-body{
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 22px;
	align-items: center;
}

.green-sub-attribute-list{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-sub-attribute-item{
	display: inline-flex;
	gap: 6px;
	align-items: center;
	background: #fbfcfa;
	border: 1px solid #e6ece1;
	border-radius: 999px;
	padding: 8px 12px;
	font-size: 14px;
}

.green-sub-attribute-name{
	font-weight: 700;
	color: #445342;
}

.green-sub-attribute-value{
	color: #243224;
}

.green-sub-card-actions{
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: stretch;
}

.green-sub-qty-label{
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #243224;
	margin-bottom: 8px;
}

.green-sub-qty-wrap{
	display: grid;
	grid-template-columns: 46px 1fr 46px;
	align-items: center;
	gap: 8px;
}

.green-sub-qty-wrap .form-control{
	height: 46px;
	border-radius: 12px;
	border: 1px solid #d6dfcf;
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	box-shadow: none;
}

.btn-plus-minus-group{
	height: 46px;
	border-radius: 12px !important;
	border: 1px solid #d6dfcf !important;
	background: #f4f7f1 !important;
	color: #2f4d31 !important;
	font-size: 18px;
	font-weight: 700;
}

.btn-plus-minus-group:hover{
	background: #eaf1e6 !important;
}

.green-sub-add-btn{
	display: block;
	width: 100%;
	height: 48px;
	border: none !important;
	border-radius: 999px !important;
	background: #367c45 !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 14px;
	letter-spacing: .03em;
	text-transform: uppercase;
	box-shadow: 0 10px 20px rgba(54,124,69,.18);
}

.green-sub-add-btn:hover{
	background: #2f6e3d !important;
	color: #fff !important;
}

@media (max-width: 991px){
	.green-sub-card-body{
		grid-template-columns: 1fr;
	}

	.green-sub-card-top{
		flex-direction: column;
	}
}

.green-detail-tabset .nav-tabs {
    border-bottom: 1px solid #e4eadf;
    margin-bottom: 24px;
}

.green-detail-tabset .nav-tabs li {
    margin-right: 12px;
}

.green-detail-tabset .nav-tabs li a {
    border: 1px solid #dbe4d4;
    border-radius: 999px;
    background: #f7faf5;
    color: #233223;
    font-weight: 700;
    padding: 14px 24px;
}

.green-detail-tabset .nav-tabs li.active a,
.green-detail-tabset .nav-tabs li.active a:hover,
.green-detail-tabset .nav-tabs li.active a:focus {
    background: #367c45;
    color: #fff;
    border-color: #367c45;
}

.green-detail-tab-body {
    border: none;
    background: #fff;
    padding: 8px 0 0 0;
}

.green-detail-tab-body * {
    max-width: 100%;
}

/* ===============================
   DETAIL TAB CONTENT RESET
   =============================== */

.green-detail-tabset,
.green-detail-tabset .tab-content,
.green-detail-tabset .tab-pane,
.green-detail-tab-body {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.green-detail-tab-body {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 10px 0 0 0;
    color: #263326;
    line-height: 1.7;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: normal;
    white-space: normal;
}

.green-detail-tab-body > * {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}

.green-detail-tab-body p,
.green-detail-tab-body div,
.green-detail-tab-body span,
.green-detail-tab-body li,
.green-detail-tab-body a,
.green-detail-tab-body strong,
.green-detail-tab-body em {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
}

.green-detail-tab-body img,
.green-detail-tab-body iframe,
.green-detail-tab-body table,
.green-detail-tab-body video {
    max-width: 100% !important;
    height: auto !important;
}

.green-detail-tab-body table {
    display: block;
    overflow-x: auto;
}

.green-detail-tab-body blockquote,
.green-detail-tab-body p,
.green-detail-tab-body div {
    border-left: none !important;
}

.green-detail-tab-body [style*="border-left"] {
    border-left: none !important;
}

.green-detail-tab-body [style*="white-space:nowrap"],
.green-detail-tab-body [style*="white-space: nowrap"] {
    white-space: normal !important;
}

.green-detail-tab-body [style*="width:"] {
    max-width: 100% !important;
}

.green-detail-tab-content,
.green-detail-tab-content .tab-pane,
.green-detail-tab-body,
.green-detail-rich-content,
.green-detail-rich-inner {
	width: 100%;
	max-width: 100%;
}

.green-detail-tab-body {
	padding: 18px 0 0 0;
	overflow: hidden;
}

.green-detail-rich-inner {
	display: block;
	width: 100%;
	max-width: 100%;
	color: #263326;
	line-height: 1.7;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.green-detail-rich-inner *,
.green-detail-rich-inner p,
.green-detail-rich-inner div,
.green-detail-rich-inner span,
.green-detail-rich-inner li,
.green-detail-rich-inner a,
.green-detail-rich-inner strong,
.green-detail-rich-inner em {
	max-width: 100% !important;
	white-space: normal !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
}

.green-detail-rich-inner img,
.green-detail-rich-inner iframe,
.green-detail-rich-inner video,
.green-detail-rich-inner table {
	max-width: 100% !important;
	height: auto !important;
}

.green-detail-rich-inner table {
	display: block;
	overflow-x: auto;
}

.green-detail-rich-inner blockquote,
.green-detail-rich-inner p,
.green-detail-rich-inner div,
.green-detail-rich-inner section,
.green-detail-rich-inner article {
	border-left: none !important;
}

.green-detail-rich-inner [style*="border-left"] {
	border-left: none !important;
}

.green-detail-rich-inner [style*="white-space:nowrap"],
.green-detail-rich-inner [style*="white-space: nowrap"] {
	white-space: normal !important;
}

.green-detail-rich-inner [style*="width:"] {
	max-width: 100% !important;
}

/* =====================================
   DETAIL TAB LEGACY LEFT-BORDER RESET
   ===================================== */

.green-detail-tabs-panel .tab-content,
.green-detail-tabs-panel .tab-pane,
.green-detail-tab-body,
.green-detail-rich-content,
.green-detail-rich-inner {
	border-left: none !important;
	box-shadow: none !important;
}

.green-detail-tabs-panel .tab-content::before,
.green-detail-tabs-panel .tab-content::after,
.green-detail-tabs-panel .tab-pane::before,
.green-detail-tabs-panel .tab-pane::after,
.green-detail-tab-body::before,
.green-detail-tab-body::after,
.green-detail-rich-content::before,
.green-detail-rich-content::after,
.green-detail-rich-inner::before,
.green-detail-rich-inner::after {
	display: none !important;
	content: none !important;
	border-left: none !important;
}

.green-detail-rich-inner *,
.green-detail-rich-inner div,
.green-detail-rich-inner p,
.green-detail-rich-inner section,
.green-detail-rich-inner article,
.green-detail-rich-inner blockquote,
.green-detail-rich-inner ul,
.green-detail-rich-inner ol,
.green-detail-rich-inner li,
.green-detail-rich-inner span {
	border-left: none !important;
	box-shadow: none !important;
}

.green-detail-rich-inner [style*="border-left"],
.green-detail-rich-inner [style*="border-left:"],
.green-detail-rich-inner [style*="box-shadow"] {
	border-left: none !important;
	box-shadow: none !important;
}

/* ===============================
   DETAIL TAB NAV LEFT-LINE RESET
   =============================== */

.green-detail-tabs-panel .nav-tabs,
.green-detail-tabs-panel .nav-tabs li,
.green-detail-tabs-panel .nav-tabs li a,
.green-detail-tabs-panel .nav-tabs li.active,
.green-detail-tabs-panel .nav-tabs li.active a,
.green-detail-tabs-panel .nav-tabs li.active a:hover,
.green-detail-tabs-panel .nav-tabs li.active a:focus {
	border-left: none !important;
	box-shadow: none !important;
	background-image: none !important;
}

.green-detail-tabs-panel .nav-tabs li::before,
.green-detail-tabs-panel .nav-tabs li::after,
.green-detail-tabs-panel .nav-tabs li a::before,
.green-detail-tabs-panel .nav-tabs li a::after,
.green-detail-tabs-panel .nav-tabs li.active::before,
.green-detail-tabs-panel .nav-tabs li.active::after,
.green-detail-tabs-panel .nav-tabs li.active a::before,
.green-detail-tabs-panel .nav-tabs li.active a::after {
	content: none !important;
	display: none !important;
	border-left: none !important;
}

.green-detail-tabs-panel .nav-tabs li {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.green-detail-tabs-panel .nav-tabs li.active a {
	background: #367c45 !important;
	color: #fff !important;
	border: 1px solid #367c45 !important;
	border-left: 1px solid #367c45 !important;
	border-radius: 999px !important;
}

.green-detail-tab-body {
	background: #ffffff !important;
	padding: 20px 0 0 0 !important;
	border: none !important;
	box-shadow: none !important;
}

.green-detail-rich-inner {
	background: #ffffff !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* ==========================================================
   GREEN CART PAGE
   ========================================================== */

.green-cart-shell {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 15px 40px;
}

.green-cart-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}

.green-cart-header-left {
	flex: 1 1 500px;
}

.green-cart-header-right {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.green-cart-title {
	margin: 4px 0 6px;
	font-size: 34px;
	line-height: 1.1;
	font-weight: 800;
	color: #163321;
}

.green-cart-subtitle {
	font-size: 15px;
	color: #5e6d63;
}

.green-cart-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 22px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	overflow: hidden;
}

.green-cart-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.green-cart-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 980px;
}

.green-cart-table thead th {
	padding: 16px 18px;
	background: #f3f8f3;
	border-bottom: 1px solid #dbe7dc;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #45614d;
}

.green-cart-table tbody td {
	padding: 18px;
	border-bottom: 1px solid #edf3ee;
	vertical-align: middle;
	background: #ffffff;
}

.green-cart-table tbody tr:last-child td {
	border-bottom: none;
}

.green-cart-th-right,
.green-cart-line-total,
.green-cart-summary-value,
.green-cart-total-value {
	text-align: right;
}

.green-cart-product-cell {
	min-width: 360px;
}

.green-cart-product {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.green-cart-product-image {
	flex: 0 0 78px;
}

.green-cart-product-image img {
	width: 78px;
	height: 78px;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid #dbe7dc;
	background: #f7faf7;
	display: block;
}

.green-cart-product-text {
	min-width: 0;
}

.green-cart-product-number {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 6px;
	color: #163321;
}

.green-cart-product-number a {
	color: #163321;
	text-decoration: none;
}

.green-cart-product-number a:hover {
	color: #2f6f3e;
	text-decoration: none;
}

.green-cart-product-meta {
	font-size: 13px;
	line-height: 1.5;
	color: #66756b;
}

.green-cart-price,
.green-cart-line-total {
	font-size: 15px;
	font-weight: 600;
	color: #163321;
	white-space: nowrap;
}

.green-cart-line-total {
	font-size: 16px;
	font-weight: 800;
}

.green-cart-qty {
	width: 120px;
}

.green-cart-qty-input {
	width: 86px !important;
	height: 44px;
	border: 1px solid #cfe0d1;
	border-radius: 12px;
	text-align: center;
	font-weight: 700;
	box-shadow: none;
}

.green-cart-coupon-input,
.green-cart-note-textarea {
	border: 1px solid #cfe0d1;
	border-radius: 14px;
	box-shadow: none;
}

.green-cart-remove-cell {
	white-space: nowrap;
}

.green-cart-summary-row td,
.green-cart-total-row td,
.green-cart-extra-row td {
	background: #fbfdfb;
}

.green-cart-summary-label {
	font-weight: 700;
	color: #385342;
}

.green-cart-summary-value {
	font-weight: 700;
	color: #163321;
	white-space: nowrap;
}

.green-cart-total-row td {
	background: #f3f8f3;
	border-top: 1px solid #dbe7dc;
}

.green-cart-total-label {
	font-size: 16px;
	font-weight: 800;
	color: #163321;
}

.green-cart-total-value {
	font-size: 22px;
	font-weight: 900;
	color: #2f6f3e;
	white-space: nowrap;
}

.green-cart-actions-row,
.green-cart-footer-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 22px;
}

.green-cart-actions-left,
.green-cart-actions-right,
.green-cart-footer-left,
.green-cart-footer-right {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}

.green-cart-note-panel {
	margin-top: 22px;
}

.green-cart-note-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 22px;
	padding: 22px;
	box-shadow: 0 12px 30px rgba(22, 51, 33, 0.05);
	max-width: 760px;
}

.green-cart-note-label {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: 700;
	color: #163321;
}

.green-cart-note-stats {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 12px;
	font-size: 13px;
	color: #66756b;
}

.green-cart-note-stats input {
	width: 60px;
	height: 36px;
	border: 1px solid #cfe0d1;
	border-radius: 10px;
	text-align: center;
	background: #f5faf5 !important;
	color: #163321;
	font-weight: 700;
}

.green-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	transition: all .18s ease;
	cursor: pointer;
}

.green-btn:hover,
.green-btn:focus {
	text-decoration: none !important;
}

.green-btn-primary {
	background: #2f6f3e;
	border-color: #2f6f3e;
	color: #ffffff !important;
}

.green-btn-primary:hover,
.green-btn-primary:focus {
	background: #255a31;
	border-color: #255a31;
	color: #ffffff !important;
}

.green-btn-secondary {
	background: #ffffff;
	border-color: #cfe0d1;
	color: #163321 !important;
}

.green-btn-secondary:hover,
.green-btn-secondary:focus {
	background: #f5faf5;
	border-color: #b9d1bc;
	color: #163321 !important;
}

.green-btn-ghost {
	background: #eef6ef;
	border-color: #d5e5d7;
	color: #163321 !important;
}

.green-btn-ghost:hover,
.green-btn-ghost:focus {
	background: #e3f0e5;
	border-color: #c5dbc8;
	color: #163321 !important;
}

.green-btn-small {
	min-height: 38px;
	padding: 8px 14px;
	font-size: 13px;
}

@media (max-width: 991px) {
	.green-cart-shell {
		padding: 18px 12px 32px;
	}

	.green-cart-title {
		font-size: 28px;
	}

	.green-cart-card,
	.green-cart-note-card {
		border-radius: 18px;
	}

	.green-cart-actions-row,
	.green-cart-footer-actions {
		align-items: stretch;
	}

	.green-cart-actions-left,
	.green-cart-actions-right,
	.green-cart-footer-left,
	.green-cart-footer-right {
		width: 100%;
	}
}

.green-cart-shell {
	max-width: 1180px;
	margin: 0 auto;
	padding: 32px 20px 48px;
}

.green-cart-card {
	max-width: 1180px;
	margin: 0 auto;
}

.green-cart-header,
.green-cart-actions-row,
.green-cart-footer-actions,
.green-cart-note-panel {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.green-alert-success {
	background: #e8f5e9;
	border: 1px solid #c8e6c9;
	color: #2e7d32;
	padding: 12px 16px;
	border-radius: 10px;
	margin-bottom: 15px;
	font-weight: 600;
}

/* ==========================================================
   GREEN MINI CART DRAWER
   ========================================================== */

.green-mini-cart-open {
	overflow: hidden;
}

.green-mini-cart-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 24, 18, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .22s ease, visibility .22s ease;
	z-index: 9998;
}

.green-mini-cart-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.green-mini-cart-drawer {
	position: fixed;
	top: 18px;
	right: 18px;
	width: 420px;
	max-width: calc(100vw - 24px);
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 28px;
	box-shadow: 0 24px 60px rgba(22, 51, 33, 0.18);
	transform: translateX(110%);
	transition: transform .24s ease;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 36px);
	overflow: hidden;
}

.green-mini-cart-drawer.is-open {
	transform: translateX(0);
}

.green-mini-cart-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 22px 14px;
	border-bottom: 1px solid #e4eee5;
}

.green-mini-cart-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #6c8571;
	margin-bottom: 6px;
}

.green-mini-cart-title {
	margin: 0;
	font-size: 28px;
	line-height: 1.1;
	font-weight: 800;
	color: #163321;
}

.green-mini-cart-close {
	width: 42px;
	height: 42px;
	border: 1px solid #d7e5d9;
	background: #f6faf6;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #163321;
	cursor: pointer;
	transition: all .18s ease;
	flex: 0 0 auto;
}

.green-mini-cart-close:hover {
	background: #edf6ee;
	border-color: #c5d8c8;
}

.green-mini-cart-body {
	padding: 16px 22px 14px;
	flex: 0 0 auto;
	overflow: visible;
}

.green-mini-cart-message {
	font-size: 15px;
	line-height: 1.5;
	color: #53675a;
	margin-bottom: 14px;
}

.green-mini-cart-summary {
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 20px;
	padding: 16px 18px;
}

.green-mini-cart-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 15px;
	color: #385342;
	padding: 7px 0;
}

.green-mini-cart-row + .green-mini-cart-row {
	border-top: 1px solid #e4eee5;
}

.green-mini-cart-total {
	font-weight: 800;
	color: #163321;
}

.green-mini-cart-footer {
	padding: 14px 22px 22px;
	border-top: 1px solid #e4eee5;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.green-mini-cart-btn {
	width: 100%;
	justify-content: center;
}

/* tablet */
@media (max-width: 991px) {
	.green-mini-cart-drawer {
		top: 14px;
		right: 14px;
		width: 400px;
		max-width: calc(100vw - 20px);
		max-height: calc(100vh - 28px);
	}
}

/* phone */
@media (max-width: 575px) {
	.green-mini-cart-drawer {
		top: 10px;
		right: 10px;
		left: 10px;
		width: auto;
		max-width: none;
		border-radius: 24px;
		max-height: 58vh;
	}

	.green-mini-cart-header {
		padding: 18px 18px 12px;
	}

	.green-mini-cart-title {
		font-size: 22px;
	}

	.green-mini-cart-body {
		padding: 14px 18px 12px;
	}

	.green-mini-cart-footer {
		padding: 12px 18px 18px;
	}
}

/* ==========================================================
   GREEN SIGN IN PAGE
   ========================================================== */

.green-sign-shell {
	max-width: 880px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-sign-steps-wrap {
	margin-bottom: 22px;
}

.green-sign-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.green-sign-step {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid #d7e5d9;
	background: #ffffff;
	color: #55705d;
	font-size: 14px;
	font-weight: 700;
}

.green-sign-step.active {
	background: #eef6ef;
	border-color: #c9ddcc;
	color: #163321;
}

.green-sign-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	padding: 28px;
}

.green-sign-header {
	margin-bottom: 22px;
}

.green-sign-title {
	margin: 0 0 6px;
	font-size: 38px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-sign-subtitle {
	font-size: 15px;
	color: #66756b;
}

.green-sign-status-card {
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 20px;
	padding: 20px;
	margin-bottom: 18px;
}

.green-sign-status-name {
	margin: 10px 0 10px;
	font-size: 22px;
	font-weight: 800;
	color: #163321;
}

.green-sign-status-links {
	color: #5f7166;
	line-height: 1.6;
}

.green-sign-status-links a {
	color: #2f6f3e;
	font-weight: 700;
	text-decoration: none;
}

.green-sign-status-actions {
	margin-top: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-sign-fields {
	display: grid;
	gap: 18px;
}

.green-sign-field {
	display: block;
}

.green-sign-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #385342;
}

.green-sign-input-wrap {
	position: relative;
}

.green-sign-input {
	width: 100%;
	height: 54px;
	padding: 12px 46px 12px 16px;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: #163321;
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-sign-input:focus {
	border-color: #8eb494;
	box-shadow: 0 0 0 4px rgba(47, 111, 62, 0.08);
}

.green-sign-input-icon {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	color: #7a8f80;
}

.green-sign-actions {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-sign-links {
	margin-top: 14px;
}

.green-sign-links a {
	color: #2f6f3e;
	font-weight: 700;
	text-decoration: none;
}

.green-sign-divider {
	height: 1px;
	background: #e6eee7;
	margin: 24px 0;
}

.green-sign-secondary-actions,
.green-sign-create {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-alert-warning {
	background: #fff8e8;
	border: 1px solid #f0dfab;
	color: #7a6222;
	padding: 14px 16px;
	border-radius: 14px;
	margin-bottom: 18px;
}

@media (max-width: 767px) {
	.green-sign-shell {
		padding: 18px 12px 32px;
	}

	.green-sign-card {
		padding: 20px;
		border-radius: 20px;
	}

	.green-sign-title {
		font-size: 30px;
	}

	.green-sign-steps {
		gap: 8px;
	}

	.green-sign-step {
		font-size: 13px;
		padding: 9px 12px;
	}

	.green-sign-actions .green-btn,
	.green-sign-secondary-actions .green-btn,
	.green-sign-create .green-btn,
	.green-sign-status-actions .green-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================
   GREEN CONTACT PAGE
   ========================================================== */

.green-contact-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-contact-hero {
	margin-bottom: 22px;
}

.green-contact-title {
	margin: 4px 0 8px;
	font-size: 42px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-contact-subtitle {
	font-size: 15px;
	color: #66756b;
}

.green-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .75fr);
	gap: 24px;
	align-items: start;
}

.green-contact-card,
.green-contact-side-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	padding: 26px;
}

.green-contact-intro {
	font-size: 15px;
	line-height: 1.7;
	color: #52655a;
	margin-bottom: 18px;
}

.green-contact-form {
	margin: 0;
}

.green-contact-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.green-contact-field {
	display: block;
}

.green-contact-field-full {
	grid-column: 1 / -1;
}

.green-contact-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #385342;
}

.green-contact-input-wrap {
	position: relative;
}

.green-contact-input,
.green-contact-textarea {
	width: 100%;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: #163321;
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-contact-input {
	height: 54px;
	padding: 12px 46px 12px 16px;
}

.green-contact-textarea {
	padding: 14px 46px 14px 16px;
	min-height: 150px;
	resize: vertical;
}

.green-contact-input:focus,
.green-contact-textarea:focus {
	border-color: #8eb494;
	box-shadow: 0 0 0 4px rgba(47, 111, 62, 0.08);
}

.green-contact-input-icon {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	color: #7a8f80;
}

.green-contact-input-icon-top {
	top: 18px;
	transform: none;
}

.green-contact-captcha-wrap {
	display: grid;
	gap: 14px;
}

.green-contact-captcha-image img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	border: 1px solid #dbe7dc;
	background: #f8fbf8;
}

.green-contact-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
	color: #56695d;
	font-weight: 500;
}

.green-contact-check input {
	margin-top: 3px;
}

.green-contact-actions {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-contact-side-title {
	margin: 0 0 18px;
	font-size: 24px;
	font-weight: 800;
	color: #163321;
}

.green-contact-location + .green-contact-location {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #e7efe8;
}

.green-contact-location-name {
	font-size: 15px;
	font-weight: 800;
	color: #274632;
	margin-bottom: 10px;
}

.green-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.green-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 1.55;
	color: #55695d;
}

.green-contact-list i {
	width: 18px;
	color: #6f8a75;
	margin-top: 3px;
	text-align: center;
	flex: 0 0 18px;
}

.green-contact-list a,
.green-contact-side-links a {
	color: #2f6f3e;
	font-weight: 700;
	text-decoration: none;
}

.green-contact-side-links {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid #e7efe8;
}

.green-contact-map-wrap {
	margin-top: 22px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid #dbe7dc;
	background: #f8fbf8;
	min-height: 220px;
}

.green-contact-map-wrap #map-canvas {
	min-height: 220px;
}

@media (max-width: 991px) {
	.green-contact-layout {
		grid-template-columns: 1fr;
	}

	.green-contact-side {
		order: 2;
	}

	.green-contact-main {
		order: 1;
	}
}

@media (max-width: 767px) {
	.green-contact-shell {
		padding: 18px 12px 32px;
	}

	.green-contact-title {
		font-size: 32px;
	}

	.green-contact-card,
	.green-contact-side-card {
		padding: 20px;
		border-radius: 20px;
	}

	.green-contact-fields {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.green-contact-actions .green-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================
   GREEN GIFT CARD PAGE
   ========================================================== */

.green-gift-shell {
	max-width: 640px;
	margin: 0 auto;
	padding: 40px 16px 60px;
}

.green-gift-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 18px 45px rgba(22, 51, 33, 0.08);
	padding: 32px;
	text-align: center;
}

.green-gift-header h1 {
	margin: 0 0 20px;
	font-size: 32px;
	font-weight: 800;
	color: #163321;
}

.green-gift-balance {
	font-size: 22px;
	font-weight: 800;
	color: #2f6f3e;
	margin-bottom: 16px;
}

.green-gift-amount-input {
	width: 140px;
	text-align: center;
	border: 1px solid #cfe0d1;
	border-radius: 12px;
	height: 44px;
	margin: 0 6px;
	font-size: 18px;
	font-weight: 700;
}

.green-gift-input-wrap {
	margin: 22px 0 18px;
}

.green-gift-input {
	width: 100%;
	height: 60px;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	padding: 12px 16px;
	font-size: 18px;
	text-align: center;
	color: #163321;
}

.green-gift-input:focus {
	border-color: #8eb494;
	box-shadow: 0 0 0 4px rgba(47, 111, 62, 0.08);
	outline: none;
}

.green-gift-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 14px;
}

@media (max-width: 767px) {
	.green-gift-card {
		padding: 22px;
		border-radius: 20px;
	}

	.green-gift-header h1 {
		font-size: 24px;
	}

	.green-gift-input {
		height: 56px;
		font-size: 16px;
	}
}

/* Cart Note Panel */
.green-cart-note-panel {
	display: none;
	margin-top: 14px;
}

.green-cart-note-panel.is-open {
	display: block;
}

/* ==========================================================
   GREEN MY DETAILS PAGE
   ========================================================== */

.green-details-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-details-steps-wrap {
	margin-bottom: 22px;
}

.green-details-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	padding: 28px;
	margin-bottom: 24px;
}

.green-details-header {
	margin-bottom: 22px;
}

.green-details-header.center {
	text-align: center;
}

.green-details-title {
	margin: 0 0 8px;
	font-size: 38px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-details-subtitle {
	font-size: 15px;
	color: #66756b;
	line-height: 1.6;
}

.green-details-subcard-title {
	margin: 0;
	font-size: 28px;
	font-weight: 800;
	color: #163321;
}

.green-details-section-title {
	margin: 8px 0 18px;
	font-size: 18px;
	font-weight: 800;
	color: #274632;
}

.green-details-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.green-details-field,
.green-details-field-full {
	display: block;
}

.green-details-field-full {
	grid-column: 1 / -1;
}

.green-details-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #385342;
}

.green-details-input-wrap {
	display: block;
}

.green-details-input,
.green-details-select,
.green-details-textarea {
	width: 100%;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: #163321;
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-details-input,
.green-details-select {
	height: 54px;
	padding: 12px 16px;
}

.green-details-textarea {
	padding: 14px 16px;
	min-height: 110px;
	resize: vertical;
}

.green-details-input:focus,
.green-details-select:focus,
.green-details-textarea:focus {
	border-color: #8eb494;
	box-shadow: 0 0 0 4px rgba(47, 111, 62, 0.08);
}

.green-details-help {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.5;
	color: #6e8074;
}

.green-details-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
	color: #56695d;
	font-weight: 500;
}

.green-details-contact-card,
.green-details-summary-card,
.green-details-note-box,
.green-details-queue-box {
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 20px;
	padding: 20px;
	margin-top: 18px;
}

.green-details-contact-title {
	margin-bottom: 16px;
	font-size: 18px;
	font-weight: 800;
	color: #163321;
}

.green-details-submit,
.green-details-summary-actions,
.green-details-cart-actions {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.green-details-summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 22px;
}

.green-details-key {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #718579;
	margin-bottom: 6px;
}

.green-details-value {
	display: block;
	font-size: 15px;
	line-height: 1.6;
	color: #163321;
}

.green-details-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.green-details-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 820px;
}

.green-details-table thead th {
	padding: 14px 16px;
	background: #f3f8f3;
	border-bottom: 1px solid #dbe7dc;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #45614d;
	text-align: left;
}

.green-details-table tbody td {
	padding: 16px;
	border-bottom: 1px solid #edf3ee;
	vertical-align: top;
	font-size: 14px;
	color: #163321;
}

.green-details-cart-product {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	min-width: 280px;
}

.green-details-cart-image img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 12px;
	border: 1px solid #dbe7dc;
	background: #f7faf7;
}

.green-details-cart-text a {
	font-weight: 700;
	color: #163321;
	text-decoration: none;
}

.green-details-cart-meta {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.55;
	color: #66756b;
}

.green-details-empty,
.green-details-message,
.green-details-footnote {
	font-size: 14px;
	line-height: 1.6;
	color: #5f7166;
}

@media (max-width: 767px) {
	.green-details-shell {
		padding: 18px 12px 32px;
	}

	.green-details-card {
		padding: 20px;
		border-radius: 20px;
	}

	.green-details-title {
		font-size: 30px;
	}

	.green-details-subcard-title {
		font-size: 24px;
	}

	.green-details-fields,
	.green-details-summary-grid {
		grid-template-columns: 1fr;
	}

	.green-details-submit .green-btn,
	.green-details-summary-actions .green-btn,
	.green-details-cart-actions .green-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================
   GREEN CART MOBILE RESPONSIVE
   ========================================================== */

.green-cart-table-wrap {
	width: 100%;
	overflow-x: visible;
}

@media (max-width: 767px) {

	.green-cart-shell {
		padding: 16px 12px 28px;
	}

	.green-cart-header {
		gap: 14px;
		margin-bottom: 18px;
	}

	.green-cart-title {
		font-size: 26px;
	}

	.green-cart-subtitle {
		font-size: 14px;
	}

	.green-cart-card {
		border-radius: 18px;
		overflow: visible;
		background: transparent;
		border: none;
		box-shadow: none;
	}

	.green-cart-table {
		min-width: 0;
		border-spacing: 0;
	}

	.green-cart-table,
	.green-cart-table thead,
	.green-cart-table tbody,
	.green-cart-table tr,
	.green-cart-table td {
		display: block;
		width: 100%;
	}

	.green-cart-table thead {
		display: none;
	}

	.green-cart-table tbody {
		display: block;
	}

	.green-cart-table tr {
		background: #ffffff;
		border: 1px solid #dbe7dc;
		border-radius: 18px;
		padding: 14px;
		margin-bottom: 14px;
		box-shadow: 0 10px 24px rgba(22, 51, 33, 0.06);
	}

	.green-cart-table tbody td {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		padding: 8px 0;
		border: none;
		text-align: left;
		background: transparent;
	}

	.green-cart-table tbody td::before {
		content: attr(data-label);
		flex: 0 0 110px;
		max-width: 110px;
		font-size: 12px;
		line-height: 1.3;
		font-weight: 700;
		letter-spacing: .04em;
		text-transform: uppercase;
		color: #6a7d70;
		padding-top: 2px;
	}

	.green-cart-item-row td.green-cart-product-cell {
		display: block;
		padding-bottom: 12px;
		border-bottom: 1px solid #edf3ee;
		margin-bottom: 8px;
	}

	.green-cart-item-row td.green-cart-product-cell::before {
		display: none;
	}

	.green-cart-product {
		gap: 12px;
	}

	.green-cart-product-image {
		flex: 0 0 72px;
	}

	.green-cart-product-image img {
		width: 72px;
		height: 72px;
		border-radius: 14px;
	}

	.green-cart-product-number {
		font-size: 15px;
		margin-bottom: 4px;
	}

	.green-cart-product-meta {
		font-size: 13px;
	}

	.green-cart-price,
	.green-cart-line-total,
	.green-cart-summary-value,
	.green-cart-total-value {
		text-align: right;
		margin-left: auto;
	}

	.green-cart-qty {
		width: 100%;
	}

	.green-cart-qty-input {
		width: 84px !important;
		height: 42px;
		margin-left: auto;
	}

	.green-cart-remove-cell .green-btn {
		margin-left: auto;
	}

	.green-cart-summary-row,
	.green-cart-extra-row,
	.green-cart-total-row {
		padding: 14px;
	}

	.green-cart-summary-row td,
	.green-cart-extra-row td,
	.green-cart-total-row td {
		background: transparent !important;
	}

	.green-cart-extra-row td[colspan],
	.green-cart-summary-row td[colspan],
	.green-cart-total-row td[colspan] {
		display: none;
	}

	.green-cart-extra-row td:last-child,
	.green-cart-summary-row td:last-child,
	.green-cart-total-row td:last-child {
		display: flex;
	}

	.green-cart-coupon-input {
		width: 100%;
	}

	.green-cart-actions-row,
	.green-cart-footer-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.green-cart-actions-left,
	.green-cart-actions-right,
	.green-cart-footer-left,
	.green-cart-footer-right {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.green-cart-actions-left .green-btn,
	.green-cart-actions-right .green-btn,
	.green-cart-footer-left .green-btn,
	.green-cart-footer-right .green-btn {
		width: 100%;
		justify-content: center;
	}

	.green-cart-note-card {
		border-radius: 18px;
		padding: 18px;
	}

	.green-cart-note-stats {
		flex-direction: column;
		gap: 10px;
	}

	.green-cart-note-stats span {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

/* ==========================================================
   GREEN SHIPPING PAGE
   ========================================================== */

.green-ship-shell {
	max-width: 980px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-ship-steps-wrap {
	margin-bottom: 22px;
}

.green-ship-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	padding: 28px;
}

.green-ship-header {
	margin-bottom: 22px;
}

.green-ship-title {
	margin: 0 0 8px;
	font-size: 38px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-ship-subtitle {
	font-size: 15px;
	color: #66756b;
	line-height: 1.6;
}

.green-ship-option-card,
.green-ship-queue-card {
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 20px;
	padding: 20px;
	margin-bottom: 18px;
}

.green-ship-option-top {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 14px;
}

.green-ship-option-label {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #5d7564;
}

.green-ship-radio {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: #163321;
	margin: 0;
}

.green-ship-radio input {
	margin-top: 4px;
}

.green-ship-option-body {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
}

.green-ship-address {
	font-size: 14px;
	line-height: 1.65;
	color: #385342;
}

.green-ship-option-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.green-ship-option-note {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #e4eee5;
	font-size: 13px;
	line-height: 1.6;
	color: #607267;
	text-align: center;
}

.green-ship-queue-value {
	font-size: 15px;
	font-weight: 700;
	color: #163321;
	margin-top: 8px;
}

.green-ship-actions {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

@media (max-width: 767px) {
	.green-ship-shell {
		padding: 18px 12px 32px;
	}

	.green-ship-card {
		padding: 20px;
		border-radius: 20px;
	}

	.green-ship-title {
		font-size: 30px;
	}

	.green-ship-option-card,
	.green-ship-queue-card {
		padding: 16px;
		border-radius: 18px;
	}

	.green-ship-actions .green-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================
   GREEN MY ACCOUNT PAGE
   ========================================================== */

.green-account-shell {
	max-width: 1120px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-account-hero {
	margin-bottom: 20px;
}

.green-account-title {
	margin: 4px 0 8px;
	font-size: 42px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-account-subtitle {
	font-size: 15px;
	color: #66756b;
}

.green-account-top-card,
.green-account-card,
.green-account-message-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
}

.green-account-top-card {
	padding: 22px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}

.green-account-name {
	font-size: 28px;
	font-weight: 800;
	color: #163321;
	line-height: 1.15;
}

.green-account-points {
	margin-top: 6px;
	font-size: 15px;
	color: #5c7062;
}

.green-account-points span {
	font-weight: 800;
	color: #2f6f3e;
}

.green-account-points-divider {
	padding: 0 8px;
	color: #8da191 !important;
}

.green-account-message-card {
	padding: 18px 22px;
	margin-bottom: 18px;
	font-size: 15px;
	line-height: 1.7;
	color: #52655a;
}

.green-account-card {
	padding: 26px;
}

.green-account-card-header {
	margin-bottom: 18px;
}

.green-account-card-title {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	color: #163321;
}

.green-account-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.green-account-action {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
	border: 1px solid #dbe7dc;
	border-radius: 20px;
	background: #f7fbf7;
	text-decoration: none !important;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.green-account-action:hover,
.green-account-action:focus {
	transform: translateY(-1px);
	border-color: #c8dbc9;
	box-shadow: 0 12px 26px rgba(22, 51, 33, 0.08);
	text-decoration: none !important;
}

.green-account-action-icon {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #eaf4eb;
	color: #2f6f3e;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex: 0 0 46px;
}

.green-account-action-title {
	font-size: 16px;
	font-weight: 800;
	color: #163321;
	line-height: 1.3;
	margin-bottom: 4px;
}

.green-account-action-copy {
	font-size: 13px;
	line-height: 1.55;
	color: #64786a;
}

@media (max-width: 767px) {
	.green-account-shell {
		padding: 18px 12px 32px;
	}

	.green-account-title {
		font-size: 32px;
	}

	.green-account-top-card,
	.green-account-card,
	.green-account-message-card {
		border-radius: 20px;
	}

	.green-account-top-card {
		padding: 18px 20px;
	}

	.green-account-card {
		padding: 20px;
	}

	.green-account-name {
		font-size: 24px;
	}

	.green-account-actions {
		grid-template-columns: 1fr;
	}

	.green-account-points {
		margin-top: 6px;
		font-size: 15px;
		color: #5c7062;
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.green-account-points span {
		font-weight: 800;
		color: #2f6f3e;
	}

	.green-account-points-divider {
		color: #9bb3a0;
		font-weight: 400 !important;
	}
}

/* ==========================================================
   GREEN VIEW HISTORY PAGE
   ========================================================== */

.green-history-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-history-hero {
	margin-bottom: 20px;
}

.green-history-title {
	margin: 4px 0 8px;
	font-size: 42px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-history-subtitle {
	font-size: 15px;
	color: #66756b;
}

.green-history-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	padding: 26px;
	margin-bottom: 20px;
}

.green-history-card-title,
.green-history-results-title {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	color: #163321;
}

.green-history-form-grid {
	display: grid;
	grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
	gap: 22px;
	align-items: start;
}

.green-history-account-block {
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 18px;
	padding: 18px;
}

.green-history-account-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #718579;
	margin-bottom: 6px;
}

.green-history-account-name {
	font-size: 20px;
	font-weight: 800;
	color: #163321;
	line-height: 1.3;
}

.green-history-fields {
	display: grid;
	gap: 18px;
}

.green-history-field {
	display: block;
}

.green-history-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #385342;
}

.green-history-label.small {
	font-size: 12px;
	margin-bottom: 6px;
}

.green-history-input,
.green-history-select {
	width: 100%;
	height: 52px;
	padding: 12px 16px;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: #163321;
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-history-input:focus,
.green-history-select:focus {
	border-color: #8eb494;
	box-shadow: 0 0 0 4px rgba(47, 111, 62, 0.08);
}

.green-history-date-row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 10px;
	align-items: center;
}

.green-history-date-to {
	font-size: 14px;
	font-weight: 700;
	color: #718579;
}

.green-history-help {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: #6e8074;
}

.green-history-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-history-pager-form {
	display: grid;
	gap: 14px;
}

.green-history-pager-top {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	justify-content: space-between;
	align-items: center;
}

.green-history-pager-meta {
	font-size: 14px;
	font-weight: 700;
	color: #5f7166;
}

.green-history-pager-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
}

.green-history-select-small {
	width: 100px;
}

.green-history-results-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.green-history-filter-box {
	width: 100%;
	max-width: 280px;
}

.green-history-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.green-history-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 820px;
}

.green-history-table thead th {
	padding: 14px 16px;
	background: #f3f8f3;
	border-bottom: 1px solid #dbe7dc;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #45614d;
	text-align: left;
}

.green-history-table tbody td {
	padding: 16px;
	border-bottom: 1px solid #edf3ee;
	vertical-align: top;
	font-size: 14px;
	color: #163321;
}

.green-history-table tbody tr:last-child td {
	border-bottom: none;
}

.green-history-table a {
	color: #2f6f3e;
	font-weight: 700;
	text-decoration: none;
}

.green-history-notes-col {
	min-width: 240px;
}

@media (max-width: 767px) {
	.green-history-shell {
		padding: 18px 12px 32px;
	}

	.green-history-title {
		font-size: 32px;
	}

	.green-history-card {
		padding: 20px;
		border-radius: 20px;
	}

	.green-history-form-grid {
		grid-template-columns: 1fr;
	}

	.green-history-date-row {
		grid-template-columns: 1fr;
	}

	.green-history-date-to {
		text-align: center;
	}

	.green-history-filter-box {
		max-width: none;
	}

	.green-history-actions .green-btn,
	.green-history-pager-controls .green-btn {
		width: 100%;
		justify-content: center;
	}

	.green-history-select-small {
		width: 100%;
	}

	.green-history-pager-controls {
		align-items: stretch;
	}
}

/* ==========================================================
   GREEN MAKE PAYMENT PAGE
   ========================================================== */

.green-pay-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 16px 48px;
}

.green-pay-steps-wrap {
	margin-bottom: 22px;
}

.green-pay-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(22, 51, 33, 0.08);
	padding: 26px;
	margin-bottom: 22px;
}

.green-pay-card-header {
	margin-bottom: 18px;
}

.green-pay-card-header.center {
	text-align: center;
}

.green-pay-card-title {
	margin: 0;
	font-size: 28px;
	font-weight: 800;
	color: #163321;
}

.green-pay-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.green-pay-info-icon {
	color: #6f8a75;
	margin-left: 6px;
	text-decoration: none;
}

.green-pay-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.green-pay-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 820px;
}

.green-pay-table thead th {
	padding: 14px 16px;
	background: #f3f8f3;
	border-bottom: 1px solid #dbe7dc;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #45614d;
	text-align: left;
}

.green-pay-table tbody td {
	padding: 16px;
	border-bottom: 1px solid #edf3ee;
	vertical-align: top;
	font-size: 14px;
	color: #163321;
}

.green-pay-table tbody tr:last-child td {
	border-bottom: none;
}

.green-pay-actions-inline {
	margin-top: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.green-pay-cart-product {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	min-width: 280px;
}

.green-pay-cart-image img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 12px;
	border: 1px solid #dbe7dc;
	background: #f7faf7;
}

.green-pay-cart-text a {
	font-weight: 700;
	color: #163321;
	text-decoration: none;
}

.green-pay-cart-meta {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.55;
	color: #66756b;
}

.green-pay-note-box {
	margin-top: 18px;
	padding: 18px;
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 18px;
	font-size: 14px;
	line-height: 1.6;
	color: #55695d;
	text-align: center;
}

.green-pay-method-card {
	display: grid;
	grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
	gap: 22px;
	align-items: center;
	background: #f7fbf7;
	border: 1px solid #dbe7dc;
	border-radius: 20px;
	padding: 20px;
}

.green-pay-method-image img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

.green-pay-radio {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
	color: #163321;
	margin: 0;
}

.green-pay-radio input {
	margin-top: 4px;
}

.green-pay-method-total {
	margin-top: 10px;
	font-size: 14px;
	color: #5f7166;
	font-weight: 700;
}

.green-pay-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.green-pay-field {
	display: block;
}

.green-pay-label,
.green-pay-label-row {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #385342;
}

.green-pay-label-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.green-pay-card-icons {
	display: inline-flex;
	gap: 8px;
	color: #6f8a75;
	font-size: 20px;
}

.green-pay-input {
	width: 100%;
	height: 54px;
	padding: 12px 16px;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: #163321;
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-pay-input:focus {
	border-color: #8eb494;
	box-shadow: 0 0 0 4px rgba(47, 111, 62, 0.08);
}

.green-pay-help {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.5;
	color: #6e8074;
}

.green-pay-iframe-wrap {
	height: 54px;
	border: 1px solid #cfe0d1;
	border-radius: 16px;
	background: #ffffff;
	padding: 12px 16px;
	display: flex;
	align-items: center;
}

.green-pay-iframe-wrap iframe {
	width: 100%;
	height: 24px;
	border: none;
}

.green-pay-submit-row {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.green-pay-submit-note {
	font-size: 13px;
	color: #6e8074;
	font-weight: 700;
}

@media (max-width: 767px) {
	.green-pay-shell {
		padding: 18px 12px 32px;
	}

	.green-pay-card {
		padding: 20px;
		border-radius: 20px;
	}

	.green-pay-card-title {
		font-size: 24px;
	}

	.green-pay-method-card,
	.green-pay-fields {
		grid-template-columns: 1fr;
	}

	.green-pay-submit-row .green-btn,
	.green-pay-actions-inline .green-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================
   GREEN THANK YOU PAGE
   ========================================================== */

.green-thanks-shell {
	max-width: 920px;
	margin: 0 auto;
	padding: 34px 16px 56px;
}

.green-thanks-card {
	background: #ffffff;
	border: 1px solid #dbe7dc;
	border-radius: 28px;
	box-shadow: 0 18px 45px rgba(22, 51, 33, 0.08);
	padding: 34px 30px;
	text-align: center;
}

.green-thanks-icon {
	width: 74px;
	height: 74px;
	margin: 0 auto 16px;
	border-radius: 999px;
	background: #edf7ee;
	color: #2f6f3e;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 34px;
}

.green-thanks-title {
	margin: 4px 0 10px;
	font-size: 44px;
	line-height: 1.05;
	font-weight: 800;
	color: #163321;
}

.green-thanks-status {
	max-width: 720px;
	margin: 0 auto 18px;
	padding: 14px 16px;
	border-radius: 16px;
	font-size: 15px;
	line-height: 1.6;
}

.green-thanks-status-success {
	background: #eef8ef;
	border: 1px solid #cfe3d2;
	color: #31563b;
}

.green-thanks-status-warning {
	background: #fff7e8;
	border: 1px solid #f0dfab;
	color: #7a6222;
}

.green-thanks-message {
	max-width: 720px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.75;
	color: #55695d;
}

.green-thanks-subsection {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid #e6eee7;
}

.green-thanks-subtitle {
	margin-bottom: 14px;
	font-size: 18px;
	font-weight: 800;
	color: #163321;
}

.green-thanks-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

@media (max-width: 767px) {
	.green-thanks-shell {
		padding: 20px 12px 34px;
	}

	.green-thanks-card {
		padding: 24px 20px;
		border-radius: 22px;
	}

	.green-thanks-title {
		font-size: 34px;
	}

	.green-thanks-message {
		font-size: 16px;
	}

	.green-thanks-actions .green-btn {
		width: 100%;
		justify-content: center;
	}
}

.green-inventory-results {
	display: grid;
	gap: 18px;
}

.green-load-more-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 24px 0 36px;
}

.green-load-more-btn {
	min-width: 180px;
}

.green-load-more-status,
.green-load-more-done {
	font-size: 14px;
	color: #6b7280;
	text-align: center;
}

.green-scroll-sentinel {
	width: 100%;
	height: 1px;
}

.green-filter-tab {
	position: fixed;
	left: 0;
	top: 40%;
	transform: translateY(-50%);
	background: #14532d;
	color: #fff;
	padding: 12px 10px;
	border-radius: 0 8px 8px 0;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	z-index: 1000;
	box-shadow: 0 4px 12px rgba(0,0,0,.15);
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.green-filter-tab:hover {
	background: #166534;
}

.green-filter-drawer {
	position: fixed;
	top: 0;
	left: -320px;
	width: 320px;
	height: 100%;
	background: #ffffff;
	box-shadow: 4px 0 20px rgba(0,0,0,.15);
	z-index: 1100;
	display: flex;
	flex-direction: column;
	transition: left .3s ease;
}

.green-filter-drawer.is-open {
	left: 0;
}

.green-filter-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px;
	border-bottom: 1px solid #e5e7eb;
}

.green-filter-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
}

.green-filter-group {
	margin-bottom: 20px;
}

.green-filter-title {
	font-weight: 600;
	margin-bottom: 8px;
}

.green-filter-footer {
	padding: 16px;
	border-top: 1px solid #e5e7eb;
	display: flex;
	gap: 10px;
}

.green-filter-tab {
	position: fixed;
	left: 0;
	top: 42%;
	transform: translateY(-50%);
	z-index: 1100;
	background: #166534;
	color: #fff;
	padding: 14px 10px;
	border-radius: 0 12px 12px 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(0,0,0,.16);
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.green-filter-drawer {
	position: fixed;
	top: 0;
	left: -360px;
	width: 340px;
	max-width: 90vw;
	height: 100vh;
	background: #fff;
	z-index: 1200;
	box-shadow: 8px 0 30px rgba(0,0,0,.16);
	transition: left .28s ease;
	display: flex;
	flex-direction: column;
}

.green-filter-drawer.is-open {
	left: 0;
}

.green-filter-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 18px 16px;
	border-bottom: 1px solid #e5e7eb;
}

.green-filter-close {
	border: none;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: #374151;
}

.green-filter-drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 18px;
}

.green-filter-section + .green-filter-section {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid #f1f5f9;
}

.green-filter-section-title {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: #111827;
}

.green-filter-subgroup + .green-filter-subgroup {
	margin-top: 18px;
}

.green-filter-subgroup-title {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.green-tag-pill-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-tag-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.green-tag-pill input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.green-tag-pill span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 12px;
	border: 1px solid #d1d5db;
	border-radius: 999px;
	background: #fff;
	color: #1f2937;
	font-size: 13px;
	cursor: pointer;
	transition: all .2s ease;
}

.green-tag-pill input[type="checkbox"]:checked + input + span,
.green-tag-pill input[type="checkbox"]:checked + span {
	background: #166534;
	border-color: #166534;
	color: #fff;
}

.green-tag-pill.is-disabled span {
	opacity: .45;
	cursor: not-allowed;
}

.green-filter-help {
	margin: 0;
	font-size: 13px;
	color: #6b7280;
}

.green-filter-drawer-footer {
	position: sticky;
	bottom: 0;
	background: #fff;
	padding-top: 18px;
	margin-top: 22px;
	display: flex;
	gap: 10px;
}

.green-filter-tab {
	position: fixed;
	left: 0;
	top: 42%;
	transform: translateY(-50%);
	z-index: 1100;
	background: #166534;
	color: #fff;
	padding: 14px 10px;
	border-radius: 0 12px 12px 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(0,0,0,.16);
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.green-filter-drawer {
	position: fixed;
	top: 0;
	left: -360px;
	width: 340px;
	max-width: 90vw;
	height: 100vh;
	background: #fff;
	z-index: 1200;
	box-shadow: 8px 0 30px rgba(0,0,0,.16);
	transition: left .28s ease;
	display: flex;
	flex-direction: column;
}

.green-filter-drawer.is-open {
	left: 0;
}

.green-filter-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 18px 16px;
	border-bottom: 1px solid #e5e7eb;
}

.green-filter-close {
	border: none;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: #374151;
}

.green-filter-drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 18px;
}

.green-filter-section + .green-filter-section {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid #f1f5f9;
}

.green-filter-section-title {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: #111827;
}

.green-filter-summary {
	font-size: 13px;
	color: #4b5563;
	line-height: 1.6;
}

.green-filter-drawer-footer {
	position: sticky;
	bottom: 0;
	background: #fff;
	padding-top: 18px;
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-banner-section {
	padding-top: 6px;
}

.green-banner-carousel {
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	background: #e5e7eb;
	box-shadow: 0 18px 40px rgba(0,0,0,.08);
	min-height: 360px;
}

.green-banner-track {
	position: relative;
	min-height: 360px;
}

.green-banner-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease;
}

.green-banner-slide.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

.green-banner-card {
	position: relative;
	min-height: 360px;
}

.green-banner-media img {
	display: block;
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.green-banner-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 34px;
	background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.38) 42%, rgba(0,0,0,.10) 100%);
	color: #fff;
}

.green-banner-kicker {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	backdrop-filter: blur(6px);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.green-banner-title {
	margin: 0 0 10px;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.05;
	font-weight: 800;
	color: #fff;
}

.green-banner-copy {
	margin: 0 0 18px;
	max-width: 540px;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255,255,255,.92);
}

.green-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-banner-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 999px;
	background: rgba(255,255,255,.88);
	color: #14532d;
	font-size: 24px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

.green-banner-prev {
	left: 16px;
}

.green-banner-next {
	right: 16px;
}

.green-banner-dots {
	position: absolute;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 4;
}

.green-banner-dot {
	width: 11px;
	height: 11px;
	border: none;
	border-radius: 999px;
	background: rgba(255,255,255,.55);
	cursor: pointer;
	padding: 0;
}

.green-banner-dot.is-active {
	background: #ffffff;
	transform: scale(1.1);
}

@media (max-width: 767px) {
	.green-banner-carousel,
	.green-banner-track,
	.green-banner-card {
		min-height: 280px;
	}

	.green-banner-media img {
		height: 280px;
	}

	.green-banner-overlay {
		padding: 22px;
	}

	.green-banner-copy {
		font-size: 14px;
		max-width: 100%;
	}

	.green-banner-nav {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.green-banner-nav {
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
	}
}

/* Remove the grey strip at the bottom of the banner */
.green-banner-card {
    position: relative;
    border-bottom: none; /* Remove grey strip */
}

/* Position the footer (button) at the bottom-left of the image with some space */
.green-banner-footer {
    position: absolute;
    bottom: 10px; /* Move the button up from the bottom */
    left: 20px;   /* Move the button to the left */
    z-index: 10;  /* Ensure it stays above the image */
    padding: 10px;
}

/* Optional: Space the button away from the bottom-left if needed */
.green-banner-footer a {
    padding: 12px 16px;
    border-radius: 999px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: var(--gs-primary);
    color: #fff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Button hover state */
.green-banner-footer a:hover {
    background: var(--gs-primary-dark);
    color: #fff;
    text-decoration: none;
}

/* Messenger CSS */
.green-messenger-shell {
	max-width: 920px;
	margin: 0 auto;
	padding: 24px 16px 40px;
}

.green-messenger-hero {
	margin-bottom: 18px;
}

.green-messenger-app {
	background: #ffffff;
	border: 1px solid #dfe9e2;
	border-radius: 26px;
	box-shadow: 0 14px 36px rgba(24, 63, 42, 0.08);
	overflow: hidden;
}

.green-messenger-list {
	background:
		radial-gradient(circle at top left, rgba(111, 191, 115, 0.08), transparent 28%),
		linear-gradient(180deg, #f7faf8 0%, #f1f6f3 100%);
	padding: 20px 18px 16px;
	min-height: 440px;
	max-height: 62vh;
	overflow-y: auto;
}

.green-message-row {
	display: flex;
	align-items: flex-end;
	margin-bottom: 8px;
}

.green-message-row.is-incoming {
	justify-content: flex-start;
}

.green-message-row.is-outgoing {
	justify-content: flex-end;
}

.green-message-bubble {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
	max-width: 74%;
	min-width: 0;
	padding: 0;
	border-radius: 18px;
	box-shadow: 0 8px 20px rgba(24, 63, 42, 0.08);
	vertical-align: top;
	overflow: visible;
}

.green-message-content {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	width: auto;
	min-width: 0;
	padding: 8px 12px 6px;
}

.green-message-row.is-incoming .green-message-bubble {
	background: #ffffff;
	color: #223127;
	border: 1px solid #dbe6dd;
	border-bottom-left-radius: 6px;
}

.green-message-row.is-outgoing .green-message-bubble {
	background: #3d7a57;
	color: #ffffff;
	border: 1px solid #3d7a57;
	border-bottom-right-radius: 6px;
}

.green-message-text {
	display: inline-block;
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.2;
	white-space: pre-wrap;
	word-break: break-word;
	max-width: 100%;
}

.green-message-time {
	display: inline-block;
	margin-top: 3px;
	padding: 0;
	font-size: 10px;
	line-height: 1.05;
	opacity: 0.72;
	letter-spacing: 0.01em;
}

.green-message-row.is-incoming .green-message-time {
	color: #6c7b70;
}

.green-message-row.is-outgoing .green-message-time {
	color: rgba(255, 255, 255, 0.82);
}

.green-message-row.has-error .green-message-bubble {
	background: #8f3432;
	border-color: #8f3432;
}

.green-message-error {
	margin-top: 5px;
	font-size: 12px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffe1e1;
}

/* message tails */
.green-message-bubble::after {
	content: "";
	position: absolute;
	bottom: 6px;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	z-index: 0;
}

.green-message-row.is-incoming .green-message-bubble::after {
	left: -5px;
	background: #ffffff;
	border-left: 1px solid #dbe6dd;
	border-bottom: 1px solid #dbe6dd;
	border-bottom-left-radius: 2px;
}

.green-message-row.is-outgoing .green-message-bubble::after {
	right: -5px;
	background: #3d7a57;
	border-right: 1px solid #3d7a57;
	border-bottom: 1px solid #3d7a57;
	border-bottom-right-radius: 2px;
}

.green-messenger-input-wrap {
	padding: 16px;
	border-top: 1px solid #dfe9e2;
	background: #fbfdfb;
	display: flex;
	gap: 12px;
	align-items: flex-end;
	box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.04);
}

.green-messenger-input-main {
	flex: 1 1 auto;
}

.green-messenger-textarea {
	width: 100%;
	min-height: 58px;
	max-height: 180px;
	resize: vertical;
	border-radius: 22px;
	padding: 14px 16px;
	font-size: 15px;
	line-height: 1.4;
	background: #ffffff;
	border: 1px solid #d6e3d9;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
}

.green-messenger-textarea:focus {
	outline: none;
	border-color: #6fbf73;
	box-shadow: 0 0 0 4px rgba(111, 191, 115, 0.14);
}

.green-messenger-actions {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.green-messenger-send,
.green-messenger-close {
	min-width: 132px;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 14px;
	font-weight: 600;
}

.green-messenger-send {
	background: linear-gradient(180deg, #5cad67 0%, #3d7a57 100%);
	color: #ffffff;
	border: 1px solid #3d7a57;
	box-shadow: 0 10px 20px rgba(61, 122, 87, 0.24);
}

.green-messenger-send:hover {
	background: linear-gradient(180deg, #62b86d 0%, #34684a 100%);
	color: #ffffff;
}

.green-messenger-send:active {
	transform: translateY(1px);
	box-shadow: 0 6px 12px rgba(61, 122, 87, 0.2);
}

.green-messenger-send[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
	box-shadow: none;
}

.green-messenger-close {
	background: #edf5ef;
	color: #2f6f4f;
	border: 1px solid #cfe0d3;
	font-weight: 600;
}

.green-messenger-close:hover {
	background: #e4f0e7;
	color: #285c41;
}

.green-empty-card {
	background: #ffffff;
	border: 1px solid #dfe9e2;
	border-radius: 22px;
	padding: 32px 24px;
	text-align: center;
	box-shadow: 0 12px 30px rgba(24, 63, 42, 0.06);
}

.green-empty-icon {
	font-size: 32px;
	color: #3d7a57;
	margin-bottom: 10px;
}

.green-empty-title {
	font-size: 22px;
	font-weight: 700;
	color: #1f3528;
	margin-bottom: 8px;
}

.green-empty-copy {
	font-size: 15px;
	color: #617164;
	line-height: 1.6;
	max-width: 560px;
	margin: 0 auto;
}

.green-messenger-list::-webkit-scrollbar {
	width: 6px;
}

.green-messenger-list::-webkit-scrollbar-thumb {
	background: rgba(61, 122, 87, 0.3);
	border-radius: 10px;
}

@media (max-width: 768px) {
	.green-messenger-input-wrap {
		flex-direction: column;
		align-items: stretch;
	}

	.green-messenger-actions {
		flex-direction: column;
		width: 100%;
	}

	.green-messenger-send,
	.green-messenger-close {
		width: 100%;
	}

	.green-message-bubble {
		max-width: 88%;
	}
}

/* hard reset against inherited/global rules */
.green-message-row,
.green-message-bubble,
.green-message-content,
.green-message-text,
.green-message-time {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
}

/* =========================
   QUOTE / ORDER PAGE
   ========================= */
.green-quote-shell {
	max-width: 1180px;
	margin: 0 auto;
	padding: 24px 16px 42px;
}

.green-quote-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 18px;
}

.green-quote-toolbar-actions {
	flex-shrink: 0;
}

.green-quote-print-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	margin-top: 8px;
}

.green-quote-card {
	background: #ffffff;
	border: 1px solid #dfe9e2;
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 14px 36px rgba(24, 63, 42, 0.08);
}

.green-quote-card hr {
	border: 0;
	border-top: 1px solid #e5ece7;
	margin: 18px 0;
}

.green-quote-meta-row {
	margin-bottom: 12px;
}

.green-quote-meta-block {
	background: #f9fbf9;
	border: 1px solid #e3ebe5;
	border-radius: 18px;
	padding: 18px 18px 14px;
	min-height: 100%;
}

.green-quote-meta-block-right {
	background: #f7faf8;
}

.green-quote-meta-block img {
	max-width: 140px;
	height: auto;
	margin-bottom: 12px;
}

.green-quote-meta-block address,
.green-quote-meta-block p {
	margin-bottom: 0;
	line-height: 1.65;
	color: #304236;
}

.green-quote-meta-block h5,
.green-quote-meta-block strong {
	color: #1f3528;
}

.green-quote-table {
	width: 100%;
	margin-bottom: 18px;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	border: 1px solid #dde8df;
	border-radius: 18px;
	overflow: hidden;
}

.green-quote-table thead th {
	background: linear-gradient(180deg, #eef6f0 0%, #e6f0e8 100%);
	color: #1f3528;
	font-weight: 700;
	font-size: 14px;
	padding: 14px 12px;
	border-bottom: 1px solid #d6e3d9;
	vertical-align: middle;
}

.green-quote-table tbody td,
.green-quote-table tbody th {
	padding: 14px 12px;
	border-top: 1px solid #ebf1ec;
	vertical-align: top;
	color: #33463a;
	font-size: 14px;
	background: #ffffff;
}

.green-quote-table tbody tr:nth-child(even) td {
	background: #fbfdfb;
}

.green-quote-line-table td.product strong {
	display: inline-block;
	margin-bottom: 4px;
	color: #1f3528;
}

.green-quote-line-table td.product small {
	display: block;
	line-height: 1.55;
	color: #5b6c60;
}

.green-quote-line-table td.amount,
.green-quote-line-table td.price,
.green-quote-line-table td.quantity,
.green-quote-table .text-center {
	white-space: nowrap;
}

.green-quote-line-table img {
	border-radius: 12px;
	border: 1px solid #e2e9e3;
	background: #ffffff;
	padding: 2px;
}

.total-quantity {
	background: #eef6f0 !important;
	font-weight: 700;
	color: #1f3528;
}

.total-amount,
.green-quote-line-table td.amount:last-child {
	font-weight: 700;
	color: #2f6f4f;
}

.green-quote-note-card,
.green-quote-disclaimer,
.green-quote-contact-card {
	background: #f8fbf8;
	border: 1px solid #e0e9e2;
	border-radius: 16px;
	padding: 14px 16px;
	margin-top: 14px;
	font-size: 14px;
}
.green-quote-thankyou {
	background: #eef6f0;
	border: 1px solid #d6e3d9;
	border-radius: 16px;
	padding: 14px;
	text-align: center;
	font-weight: 700;
	color: #2f6f4f;
	margin-top: 16px;
}

.green-quote-note-title {
	font-size: 16px;
	font-weight: 700;
	color: #1f3528;
	margin-bottom: 8px;
}

.green-quote-note-copy,
.green-quote-contact-copy {
	margin: 0;
	line-height: 1.65;
	color: #435548;
}

.green-quote-contact-thanks,
.green-quote-thankyou {
	text-align: center;
	font-weight: 700;
	color: #2f6f4f;
	font-size: 18px;
}

.green-quote-disclaimer {
	text-align: center;
	color: #304236;
}

.green-quote-footer-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}

.green-quote-narrow-table {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 991px) {
	.green-quote-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.green-quote-toolbar-actions,
	.green-quote-footer-actions {
		justify-content: flex-start;
		display: flex;
	}

	.green-quote-card {
		padding: 18px;
	}
}

@media (max-width: 767px) {
	.green-quote-shell {
		padding: 18px 10px 32px;
	}

	.green-quote-card {
		padding: 14px;
		border-radius: 18px;
	}

	.green-quote-meta-block {
		margin-bottom: 14px;
	}

	.green-quote-table thead th,
	.green-quote-table tbody td,
	.green-quote-table tbody th {
		padding: 10px 8px;
		font-size: 13px;
	}

		.green-quote-meta-row {
		margin-top: 12px;
		gap: 16px;
	}

	.green-quote-table tfoot td {
		font-weight: 600;
		color: #1f3528;
	}

	.green-quote-table tfoot tr:last-child td {
		font-size: 16px;
		font-weight: 700;
		color: #2f6f4f;
	}
}

.green-fulfillment-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(18, 28, 22, 0.72);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
}

.green-fulfillment-modal {
	width: min(680px, 100%);
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
	padding: 28px;
	text-align: center;
}

.green-fulfillment-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eef7ef;
	color: #2f6f3e;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.green-fulfillment-modal h2 {
	margin: 0 0 10px;
	font-size: 28px;
	line-height: 1.15;
	color: #16251b;
}

.green-fulfillment-copy {
	margin: 0 auto 22px;
	max-width: 520px;
	color: #5f6f63;
	font-size: 15px;
	line-height: 1.45;
}

.green-fulfillment-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.green-fulfillment-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 170px;
	padding: 20px;
	border-radius: 20px;
	border: 1px solid #dce9df;
	background: #f8fbf8;
	text-decoration: none;
	color: #17251b;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.green-fulfillment-card:hover,
.green-fulfillment-card:focus {
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(30, 70, 40, 0.14);
	border-color: #7fb88b;
	text-decoration: none;
	color: #17251b;
}

.green-fulfillment-card-delivery {
	background: #f4faf5;
}

.green-fulfillment-icon {
	width: 52px;
	height: 52px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #2f6f3e;
	color: #ffffff;
	font-size: 22px;
	margin-bottom: 14px;
}

.green-fulfillment-title {
	font-size: 18px;
	font-weight: 800;
	margin-bottom: 6px;
}

.green-fulfillment-subtitle {
	font-size: 13px;
	line-height: 1.35;
	color: #657568;
}

@media (max-width: 640px) {
	.green-fulfillment-modal {
		padding: 22px;
		border-radius: 20px;
	}

	.green-fulfillment-modal h2 {
		font-size: 23px;
	}

	.green-fulfillment-actions {
		grid-template-columns: 1fr;
	}

	.green-fulfillment-card {
		min-height: 140px;
	}
}

.green-photo-shell {
	max-width: 1100px;
	margin: 0 auto;
	padding: 22px 14px 36px;
}

.green-photo-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding: 22px;
	background: #ffffff;
	border: 1px solid #dce8dd;
	border-radius: 24px;
	box-shadow: 0 12px 34px rgba(20, 60, 35, 0.08);
}

.green-photo-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eef7ef;
	color: #2f6f3e;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.green-photo-header h1 {
	margin: 0 0 8px;
	font-size: 30px;
	line-height: 1.15;
	color: #16251b;
}

.green-photo-header p {
	margin: 0;
	max-width: 680px;
	color: #617067;
	font-size: 15px;
	line-height: 1.45;
}

.green-photo-back-btn,
.green-photo-primary-btn,
.green-photo-secondary-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.green-photo-back-btn,
.green-photo-secondary-btn {
	background: #eef5ef;
	color: #275533;
	border: 1px solid #d2e4d5;
}

.green-photo-back-btn:hover,
.green-photo-secondary-btn:hover,
.green-photo-back-btn:focus,
.green-photo-secondary-btn:focus {
	text-decoration: none;
	color: #1f472b;
	background: #e3f0e5;
}

.green-photo-primary-btn {
	border: 0;
	background: #2f6f3e;
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(47, 111, 62, 0.22);
}

.green-photo-primary-btn:hover,
.green-photo-primary-btn:focus {
	background: #265b34;
	color: #ffffff;
}

.green-photo-card {
	background: #ffffff;
	border: 1px solid #dce8dd;
	border-radius: 24px;
	padding: 22px;
	margin-bottom: 18px;
	box-shadow: 0 12px 34px rgba(20, 60, 35, 0.06);
}

.green-photo-card-head {
	margin-bottom: 18px;
}

.green-photo-card-head h2 {
	margin: 0 0 6px;
	font-size: 22px;
	color: #1d3726;
}

.green-photo-card-head p {
	margin: 0;
	color: #617067;
	font-size: 14px;
	line-height: 1.45;
}

.green-photo-form {
	margin: 0;
}

.green-photo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.green-photo-field-full {
	grid-column: 1 / -1;
}

.green-photo-field label {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
	font-weight: 800;
	color: #405346;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.green-photo-field input[type="text"],
.green-photo-field input[type="file"],
.green-photo-field textarea,
.green-photo-field select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #cfded2;
	border-radius: 14px;
	padding: 11px 12px;
	font-size: 14px;
	color: #17251b;
	background: #fbfdfb;
}

.green-photo-field input[type="file"] {
	padding: 10px;
}

.green-photo-field textarea {
	min-height: 88px;
	resize: vertical;
}

.green-photo-help {
	margin-top: 7px;
	color: #68776d;
	font-size: 13px;
	line-height: 1.35;
}

.green-photo-counter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
	color: #68776d;
	font-size: 12px;
}

.green-photo-counter input {
	width: 46px;
	border: 1px solid #d5e2d8;
	border-radius: 8px;
	padding: 4px 6px;
	background: #f7faf7;
	color: #33483a;
}

.green-photo-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.green-photo-uploading {
	margin-top: 18px;
	padding: 16px;
	border-radius: 18px;
	background: #f5faf6;
	border: 1px solid #dce8dd;
	text-align: center;
	color: #526358;
	font-weight: 700;
}

.green-photo-uploading img {
	display: block;
	margin: 0 auto 8px;
}

.green-photo-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.green-photo-item {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 16px;
	padding: 14px;
	border: 1px solid #e2ece4;
	border-radius: 20px;
	background: #f8fbf8;
}

.green-photo-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	background: #ffffff;
	border: 1px solid #e4eee6;
	border-radius: 16px;
	overflow: hidden;
}

.green-photo-thumb img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
}

.green-photo-info {
	min-width: 0;
}

.green-photo-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px solid #e6eee8;
	font-size: 13px;
}

.green-photo-row span,
.green-photo-caption span {
	color: #66766b;
	font-weight: 800;
}

.green-photo-row strong {
	color: #203a29;
	text-align: right;
}

.green-photo-caption {
	padding: 8px 0;
	border-bottom: 1px solid #e6eee8;
	font-size: 13px;
}

.green-photo-caption p {
	margin: 5px 0 0;
	color: #203a29;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.green-photo-status {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 4px 9px;
	font-size: 12px;
}

.green-photo-status-show {
	background: #eaf7ec;
	color: #276235;
}

.green-photo-status-hide {
	background: #f2f2f2;
	color: #777777;
}

.green-photo-edit-link {
	display: inline-flex;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 800;
	color: #2f6f3e;
	text-decoration: none;
}

.green-photo-edit-link:hover,
.green-photo-edit-link:focus {
	text-decoration: underline;
	color: #265b34;
}

.green-photo-empty {
	text-align: center;
	padding: 28px 18px;
	border: 1px dashed #cdded1;
	border-radius: 20px;
	background: #f8fbf8;
	color: #617067;
}

.green-photo-empty i {
	font-size: 34px;
	color: #87a88f;
	margin-bottom: 10px;
}

.green-photo-empty h3 {
	margin: 0 0 6px;
	font-size: 18px;
	color: #203a29;
}

.green-photo-empty p {
	margin: 0;
	font-size: 14px;
}

@media (max-width: 920px) {
	.green-photo-header {
		flex-direction: column;
	}

	.green-photo-gallery {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.green-photo-shell {
		padding: 14px 10px 28px;
	}

	.green-photo-header,
	.green-photo-card {
		border-radius: 20px;
		padding: 18px;
	}

	.green-photo-header h1 {
		font-size: 25px;
	}

	.green-photo-grid {
		grid-template-columns: 1fr;
	}

	.green-photo-item {
		grid-template-columns: 1fr;
	}

	.green-photo-thumb {
		min-height: 120px;
	}

	.green-photo-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.green-photo-primary-btn,
	.green-photo-secondary-btn,
	.green-photo-back-btn {
		width: 100%;
	}
}

.green-photo-action-shell {
	max-width: 980px;
	margin: 0 auto;
	padding: 22px 14px 36px;
}

.green-photo-action-header,
.green-photo-action-card {
	background: #ffffff;
	border: 1px solid #dce8dd;
	border-radius: 24px;
	box-shadow: 0 12px 34px rgba(20, 60, 35, 0.08);
}

.green-photo-action-header {
	padding: 22px;
	margin-bottom: 18px;
}

.green-photo-action-header h1 {
	margin: 0 0 8px;
	font-size: 30px;
	line-height: 1.15;
	color: #16251b;
}

.green-photo-action-header p {
	margin: 0;
	color: #617067;
	font-size: 15px;
	line-height: 1.45;
}

.green-photo-action-card {
	padding: 22px;
}

.green-photo-action-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.green-photo-action-title h2 {
	margin: 0;
	font-size: 22px;
	color: #1d3726;
}

.green-photo-steps {
	display: grid;
	gap: 10px;
	margin-bottom: 18px;
}

.green-photo-step {
	padding: 12px 14px;
	border-radius: 16px;
	background: #f5faf6;
	border: 1px solid #dce8dd;
	color: #405346;
	font-size: 14px;
	font-weight: 800;
}

.green-photo-step-success {
	background: #eaf7ec;
	border-color: #cce8d2;
	color: #276235;
}

.green-photo-result-grid {
	display: grid;
	grid-template-columns: 1fr 260px;
	gap: 16px;
	align-items: start;
	margin-top: 18px;
}

.green-photo-stats-card,
.green-photo-preview-card {
	border: 1px solid #e2ece4;
	border-radius: 20px;
	background: #f8fbf8;
	padding: 16px;
}

.green-photo-stats-card h3,
.green-photo-preview-card h3 {
	margin: 0 0 12px;
	font-size: 17px;
	color: #203a29;
}

.green-photo-stat-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #e6eee8;
	font-size: 14px;
}

.green-photo-stat-row:last-child {
	border-bottom: 0;
}

.green-photo-stat-row span {
	color: #66766b;
	font-weight: 800;
}

.green-photo-stat-row strong {
	color: #203a29;
	text-align: right;
}

.green-photo-preview-card {
	text-align: center;
}

.green-photo-preview-card img {
	max-width: 100%;
	height: auto;
	border-radius: 14px;
	border: 1px solid #dce8dd;
	background: #ffffff;
}

.green-photo-note-success,
.green-photo-note-warning {
	margin-top: 16px;
	padding: 13px 15px;
	border-radius: 16px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.green-photo-note-success {
	background: #eaf7ec;
	border: 1px solid #cce8d2;
	color: #276235;
}

.green-photo-note-warning {
	background: #fff8e8;
	border: 1px solid #f1dfad;
	color: #7a5a16;
}

.green-photo-next-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.green-photo-primary-link-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	border: 0;
	background: #2f6f3e;
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(47, 111, 62, 0.22);
}

.green-photo-primary-link-btn:hover,
.green-photo-primary-link-btn:focus {
	background: #265b34;
	color: #ffffff;
	text-decoration: none;
}

@media (max-width: 760px) {
	.green-photo-action-shell {
		padding: 14px 10px 28px;
	}

	.green-photo-action-header,
	.green-photo-action-card {
		border-radius: 20px;
		padding: 18px;
	}

	.green-photo-action-title {
		flex-direction: column;
		align-items: stretch;
	}

	.green-photo-result-grid {
		grid-template-columns: 1fr;
	}

	.green-photo-next-actions {
		flex-direction: column;
	}

	.green-photo-primary-link-btn {
		width: 100%;
	}
}

/* Photo action page centering fix - safe override */
.green-photo-action-shell {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 14px;
	padding-right: 14px;
	box-sizing: border-box;
}

.green-photo-action-header,
.green-photo-action-card {
	width: 100%;
	box-sizing: border-box;
}

.green-delivery-minimum-box {
	margin: 16px 0;
	padding: 16px 18px;
	border-radius: 18px;
	border: 1px solid #dce8dd;
	background: #f8fbf8;
}

.green-delivery-minimum-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 800;
	color: #203a29;
	margin-bottom: 6px;
}

.green-delivery-minimum-box p {
	margin: 0;
	color: #617067;
	font-size: 14px;
	line-height: 1.45;
}

.green-delivery-minimum-box strong {
	color: #203a29;
}

.green-delivery-minimum-good {
	background: #eaf7ec;
	border-color: #cce8d2;
}

.green-delivery-minimum-warning {
	background: #fff8e8;
	border-color: #f1dfad;
}

.green-delivery-reservation-box {
	margin: 18px 0;
	padding: 18px;
	border: 1px solid rgba(47, 111, 78, 0.18);
	border-radius: 16px;
	background: #f7fbf8;
	box-shadow: 0 10px 26px rgba(22, 49, 34, 0.06);
}

.green-delivery-reservation-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 17px;
	font-weight: 800;
	color: #234f38;
	margin-bottom: 6px;
}

.green-delivery-reservation-text {
	margin: 0 0 12px;
	color: #5f6f66;
	font-size: 14px;
}

.green-delivery-window-select {
	max-width: 360px;
	border-radius: 10px;
	min-height: 42px;
}

.green-clear-cart-card {
	text-align: center;
	max-width: 680px;
	margin: 32px auto;
	padding: 34px 24px;
}

.green-clear-cart-icon {
	width: 68px;
	height: 68px;
	margin: 0 auto 18px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e8f4ec;
	color: #2f6f4e;
	font-size: 28px;
	box-shadow: 0 10px 24px rgba(47, 111, 78, 0.12);
}

.green-clear-cart-message {
	max-width: 480px;
	margin: 0 auto 22px;
	color: #5f6f66;
	font-size: 15px;
	line-height: 1.55;
}

.green-clear-cart-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.green-empty-cart-card {
	text-align: center;
	max-width: 680px;
	margin: 32px auto;
	padding: 34px 24px;
}

.green-empty-cart-icon {
	width: 68px;
	height: 68px;
	margin: 0 auto 18px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e8f4ec;
	color: #2f6f4e;
	font-size: 28px;
	box-shadow: 0 10px 24px rgba(47, 111, 78, 0.12);
}

.green-empty-cart-message {
	max-width: 480px;
	margin: 0 auto 22px;
	color: #5f6f66;
	font-size: 15px;
	line-height: 1.55;
}

.green-empty-cart-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.green-statement-card {
	margin-bottom: 20px;
}

.green-statement-header,
.green-statement-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.green-statement-subtitle {
	margin: 4px 0 0;
	color: #5f6f66;
	font-size: 14px;
	line-height: 1.5;
}

.green-statement-form {
	margin-top: 18px;
	display: grid;
	grid-template-columns: repeat(3, minmax(160px, 1fr));
	gap: 14px;
	align-items: end;
}

.green-statement-field label {
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: #234f38;
	margin-bottom: 6px;
}

.green-statement-field .form-control {
	border-radius: 10px;
	min-height: 42px;
	border-color: rgba(47, 111, 78, 0.22);
}

.green-statement-submit {
	display: flex;
	align-items: end;
}

.green-statement-title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	color: #1f3f2e;
}

.green-statement-print {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.green-statement-table-wrap {
	margin-top: 16px;
}

.green-statement-table th {
	white-space: nowrap;
}

.green-statement-notes {
	max-width: 280px;
	white-space: normal;
	color: #5f6f66;
}

.green-statement-empty {
	padding: 24px !important;
	color: #5f6f66;
	font-weight: 700;
}

@media (max-width: 767px) {
	.green-statement-form {
		grid-template-columns: 1fr;
	}

	.green-statement-submit .green-btn {
		width: 100%;
	}

	.green-statement-results-header {
		align-items: stretch;
	}

	.green-statement-print {
		width: 100%;
		justify-content: center;
	}
}

.green-payment-card {
	margin-bottom: 20px;
}

.green-payment-header,
.green-payment-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.green-payment-subtitle {
	margin: 4px 0 0;
	color: #5f6f66;
	font-size: 14px;
	line-height: 1.5;
}

.green-payment-fee-alert {
	margin: 18px 0;
}

.green-payment-summary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(160px, 1fr));
	gap: 14px;
	margin: 18px 0;
}

.green-payment-summary-box {
	border: 1px solid rgba(47, 111, 78, 0.14);
	border-radius: 14px;
	background: #f7fbf8;
	padding: 14px;
}

.green-payment-summary-label {
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #5f6f66;
	margin-bottom: 5px;
}

.green-payment-summary-value {
	font-size: 16px;
	font-weight: 900;
	color: #1f3f2e;
}

.green-payment-summary-value i {
	margin-left: 6px;
	color: #2f6f4e;
}

.green-payment-total {
	font-size: 20px;
}

.green-payment-form-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(180px, 1fr));
	gap: 16px;
	margin-top: 18px;
}

.green-payment-field label {
	display: block;
	font-size: 13px;
	font-weight: 900;
	color: #234f38;
	margin-bottom: 6px;
}

.green-payment-field label span {
	color: #3f8a63;
}

.green-payment-field .form-control {
	border-radius: 10px;
	min-height: 42px;
	border-color: rgba(47, 111, 78, 0.22);
}

.green-payment-help {
	margin-top: 5px;
	font-size: 12px;
	color: #6b7a70;
	line-height: 1.35;
}

.green-readonly-field {
	background: #eef6f1 !important;
	color: #1f3f2e !important;
}

.green-payment-checkbox-field {
	align-self: center;
}

.green-payment-checkline {
	display: flex !important;
	align-items: flex-start;
	gap: 8px;
	font-weight: 600 !important;
	color: #5f6f66 !important;
	line-height: 1.4;
}

.green-payment-checkline input {
	margin-top: 2px;
}

.green-payment-notes-field {
	grid-column: span 2;
}

.green-payment-iframe-control {
	padding: 10px 12px;
	overflow: hidden;
}

.green-payment-iframe-control iframe {
	width: 100%;
	height: 24px;
	display: block;
}

.green-payment-section-title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	color: #1f3f2e;
}

.green-payment-table-wrap {
	margin-top: 16px;
}

.green-payment-table th {
	white-space: nowrap;
}

.green-payment-table input.form-control {
	min-width: 100px;
	border-radius: 9px;
}

.green-payment-total-row td {
	background: #f7fbf8;
	font-weight: 900;
}

.green-payment-total-label {
	color: #234f38;
	white-space: nowrap;
}

.green-payment-submit-row {
	display: flex;
	justify-content: flex-end;
	margin-top: 18px;
}

@media (max-width: 991px) {
	.green-payment-summary-grid,
	.green-payment-form-grid {
		grid-template-columns: 1fr;
	}

	.green-payment-notes-field {
		grid-column: span 1;
	}
}

@media (max-width: 767px) {
	.green-payment-submit-row .green-btn {
		width: 100%;
	}
}

.green-payment-table thead tr {
	background: #2f6f4e !important;
	color: #ffffff;
}

.green-payment-table thead th {
	border: none;
	font-weight: 800;
	letter-spacing: 0.03em;
}

.green-payment-table a {
	color: #2f6f4e !important;
	font-weight: 700;
	text-decoration: none;
}

.green-payment-table a:hover {
	color: #234f38 !important;
	text-decoration: underline;
}

.green-cart-table thead tr,
.green-cart-table thead th {
	background: #2f6f4e !important;
	color: #ffffff !important;
	border: none !important;
}

.green-clear-cart-link {
	position: relative;
	z-index: 20;
	pointer-events: auto !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}

.green-clear-cart-btn {
	position: relative;
	z-index: 50;
	pointer-events: auto !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Make sure parent isn’t blocking clicks */
.green-cart-footer-left {
	position: relative;
	z-index: 40;
}

/* Safety override if something is sitting on top */
.green-cart-footer-left * {
	pointer-events: auto;
}

.green-pickup-reservation-card,
.green-delivery-reservation-card {
	margin: 0 0 26px 0;
	padding: 22px 24px;
	border-radius: 24px;
}

.green-reservation-field {
	margin-top: 16px;
	max-width: 460px;
}

.green-reservation-field .green-delivery-window-select {
	width: 100%;
	max-width: 100%;
}

@media (min-width: 768px) {
	.green-pickup-reservation-card,
	.green-delivery-reservation-card {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 32px;
	}

	.green-reservation-copy {
		flex: 1;
	}

	.green-reservation-field {
		flex: 0 0 460px;
		margin-top: 0;
	}
}