/* =========================================================
   theme_skin.css
   Adilas Green Skin - Consolidated
   Main storefront skin for cannabis / modern product commerce
   ========================================================= */

:root{
	--ts-bg: #f6f7f2;
	--ts-surface: #ffffff;
	--ts-surface-2: #f1f4ec;
	--ts-border: var(--ts-cdbe4d3);
	--ts-text: var(--ts-c1f2a1f);
	--ts-text-soft: var(--ts-c5f6d60);
	--ts-primary: var(--ts-c2f6b3d);
	--ts-primary-dark: var(--ts-c245330);
	--ts-primary-soft: var(--ts-ce5efe2);
	--ts-accent: var(--ts-c8fa889);
	--ts-shadow: 0 10px 30px rgba(var(--ts-t203020), 0.08);
	--ts-shadow-hover: 0 16px 36px rgba(var(--ts-t203020), 0.14);
	--ts-radius: 18px;
	--ts-radius-sm: 12px;
	--ts-radius-lg: 24px;
	--ts-max: 1320px;
	--ts-transition: all .22s ease;

	/* ----------------------------------------------------------------
	   Every colour this skin paints that was green.

	   One token per distinct shade rather than a handful of buckets,
	   and each named after the colour it replaced. Buckets would round
	   nearby shades together, and the shades in a palette are not
	   decoration - the difference between a border and the panel it
	   sits on is often four percent of lightness. Rounding those
	   together is how a button loses its edge.

	   These are the green values, so this file on its own renders
	   exactly as green_skin does. A corporation with a website
	   overrides them further down the page, re-hued to its own brand.
	   ---------------------------------------------------------------- */
	--ts-c143d24: #143d24;
	--ts-c14532d: #14532d;
	--ts-c16251b: #16251b;
	--ts-c163321: #163321;
	--ts-c166534: #166534;
	--ts-c17251b: #17251b;
	--ts-c1b5e20: #1b5e20;
	--ts-c1d3726: #1d3726;
	--ts-c1f2a1f: #1f2a1f;
	--ts-c1f3528: #1f3528;
	--ts-c1f3f2e: #1f3f2e;
	--ts-c1f472b: #1f472b;
	--ts-c203a29: #203a29;
	--ts-c223127: #223127;
	--ts-c233223: #233223;
	--ts-c234f38: #234f38;
	--ts-c243224: #243224;
	--ts-c245330: #245330;
	--ts-c255a31: #255a31;
	--ts-c263326: #263326;
	--ts-c265b34: #265b34;
	--ts-c274632: #274632;
	--ts-c275533: #275533;
	--ts-c276235: #276235;
	--ts-c285c41: #285c41;
	--ts-c2b7a2b: #2b7a2b;
	--ts-c2c6a39: #2c6a39;
	--ts-c2d6a39: #2d6a39;
	--ts-c2e7d32: #2e7d32;
	--ts-c2f3e2f: #2f3e2f;
	--ts-c2f4d31: #2f4d31;
	--ts-c2f6b3d: #2f6b3d;
	--ts-c2f6e3d: #2f6e3d;
	--ts-c2f6f3e: #2f6f3e;
	--ts-c2f6f4e: #2f6f4e;
	--ts-c2f6f4f: #2f6f4f;
	--ts-c304236: #304236;
	--ts-c31563b: #31563b;
	--ts-c33463a: #33463a;
	--ts-c33483a: #33483a;
	--ts-c34684a: #34684a;
	--ts-c367c45: #367c45;
	--ts-c385342: #385342;
	--ts-c3d7a57: #3d7a57;
	--ts-c3f8a63: #3f8a63;
	--ts-c405346: #405346;
	--ts-c435548: #435548;
	--ts-c445342: #445342;
	--ts-c45614d: #45614d;
	--ts-c526358: #526358;
	--ts-c52655a: #52655a;
	--ts-c53675a: #53675a;
	--ts-c55695d: #55695d;
	--ts-c55705d: #55705d;
	--ts-c56695d: #56695d;
	--ts-c5b6c60: #5b6c60;
	--ts-c5c7062: #5c7062;
	--ts-c5cad67: #5cad67;
	--ts-c5d7564: #5d7564;
	--ts-c5e6d63: #5e6d63;
	--ts-c5f6d60: #5f6d60;
	--ts-c5f6f63: #5f6f63;
	--ts-c5f6f66: #5f6f66;
	--ts-c5f7166: #5f7166;
	--ts-c607267: #607267;
	--ts-c617067: #617067;
	--ts-c617164: #617164;
	--ts-c62b86d: #62b86d;
	--ts-c64786a: #64786a;
	--ts-c657568: #657568;
	--ts-c66756b: #66756b;
	--ts-c66766b: #66766b;
	--ts-c68776d: #68776d;
	--ts-c6a7d70: #6a7d70;
	--ts-c6b7a70: #6b7a70;
	--ts-c6c7b70: #6c7b70;
	--ts-c6c8571: #6c8571;
	--ts-c6d7d70: #6d7d70;
	--ts-c6e8074: #6e8074;
	--ts-c6f7d6c: #6f7d6c;
	--ts-c6f7f73: #6f7f73;
	--ts-c6f8a75: #6f8a75;
	--ts-c6fbf73: #6fbf73;
	--ts-c718579: #718579;
	--ts-c7a8f80: #7a8f80;
	--ts-c7fb88b: #7fb88b;
	--ts-c87a88f: #87a88f;
	--ts-c8cc99a: #8cc99a;
	--ts-c8da191: #8da191;
	--ts-c8eb494: #8eb494;
	--ts-c8fa889: #8fa889;
	--ts-c9bb3a0: #9bb3a0;
	--ts-cb9d1bc: #b9d1bc;
	--ts-cc5d8c8: #c5d8c8;
	--ts-cc5dbc8: #c5dbc8;
	--ts-cc7d7c8: #c7d7c8;
	--ts-cc8dbc9: #c8dbc9;
	--ts-cc8e6c9: #c8e6c9;
	--ts-cc9ddcc: #c9ddcc;
	--ts-ccce8d2: #cce8d2;
	--ts-ccdded1: #cdded1;
	--ts-ccfded2: #cfded2;
	--ts-ccfe0c8: #cfe0c8;
	--ts-ccfe0d1: #cfe0d1;
	--ts-ccfe0d3: #cfe0d3;
	--ts-ccfe3d2: #cfe3d2;
	--ts-cd2e4d5: #d2e4d5;
	--ts-cd3e6cf: #d3e6cf;
	--ts-cd5e2d8: #d5e2d8;
	--ts-cd5e5d7: #d5e5d7;
	--ts-cd6dfcf: #d6dfcf;
	--ts-cd6e3d9: #d6e3d9;
	--ts-cd7e5d9: #d7e5d9;
	--ts-cd9e3d2: #d9e3d2;
	--ts-cdbe4d3: #dbe4d3;
	--ts-cdbe4d4: #dbe4d4;
	--ts-cdbe6dd: #dbe6dd;
	--ts-cdbe7dc: #dbe7dc;
	--ts-cdbe9d8: #dbe9d8;
	--ts-cdce8dc: #dce8dc;
	--ts-cdce8dd: #dce8dd;
	--ts-cdce9df: #dce9df;
	--ts-cdcefe0: #dcefe0;
	--ts-cdde8df: #dde8df;
	--ts-cdfe7d8: #dfe7d8;
	--ts-cdfe9d9: #dfe9d9;
	--ts-cdfe9dc: #dfe9dc;
	--ts-cdfe9e2: #dfe9e2;
	--ts-ce0e9e2: #e0e9e2;
	--ts-ce0eadf: #e0eadf;
	--ts-ce2e9e3: #e2e9e3;
	--ts-ce2ece4: #e2ece4;
	--ts-ce3ebe5: #e3ebe5;
	--ts-ce3f0e5: #e3f0e5;
	--ts-ce4e9e2: #e4e9e2;
	--ts-ce4eadf: #e4eadf;
	--ts-ce4eee5: #e4eee5;
	--ts-ce4eee6: #e4eee6;
	--ts-ce4f0e7: #e4f0e7;
	--ts-ce5ece7: #e5ece7;
	--ts-ce5efe2: #e5efe2;
	--ts-ce6ece1: #e6ece1;
	--ts-ce6eee7: #e6eee7;
	--ts-ce6eee8: #e6eee8;
	--ts-ce6f0e8: #e6f0e8;
	--ts-ce7efe8: #e7efe8;
	--ts-ce8efe6: #e8efe6;
	--ts-ce8f0e8: #e8f0e8;
	--ts-ce8f4ec: #e8f4ec;
	--ts-ce8f5e9: #e8f5e9;
	--ts-ce9f6eb: #e9f6eb;
	--ts-ceaf1e6: #eaf1e6;
	--ts-ceaf4eb: #eaf4eb;
	--ts-ceaf7ec: #eaf7ec;
	--ts-cebf1ec: #ebf1ec;
	--ts-cedf2e9: #edf2e9;
	--ts-cedf3ea: #edf3ea;
	--ts-cedf3ee: #edf3ee;
	--ts-cedf5ef: #edf5ef;
	--ts-cedf6ea: #edf6ea;
	--ts-cedf6ee: #edf6ee;
	--ts-cedf7ee: #edf7ee;
	--ts-ceef5ef: #eef5ef;
	--ts-ceef6e8: #eef6e8;
	--ts-ceef6ef: #eef6ef;
	--ts-ceef6f0: #eef6f0;
	--ts-ceef6f1: #eef6f1;
	--ts-ceef7ef: #eef7ef;
	--ts-ceef8ef: #eef8ef;
	--ts-ceffaf1: #effaf1;
	--ts-cf3f8f3: #f3f8f3;
	--ts-cf4faf4: #f4faf4;
	--ts-cf4faf5: #f4faf5;
	--ts-cf5faf5: #f5faf5;

	/* painted by the skin's pages in their own style blocks - the age
	   prompt in footer.cfm and gram_allowance.cfm - and named the same
	   way, so the palette re-hues them with everything else. */
	--ts-c125a30: #125a30;
	--ts-c176b3a: #176b3a;
	--ts-c18694e: #18694e;
	--ts-c19392d: #19392d;
	--ts-c225f48: #225f48;
	--ts-c24825f: #24825f;
	--ts-c52675d: #52675d;
	--ts-c536158: #536158;
	--ts-c61766a: #61766a;
	--ts-ccbd5d1: #cbd5d1;
	--ts-cd8e9df: #d8e9df;
	--ts-cdce9e1: #dce9e1;
	--ts-cdcefe3: #dcefe3;
	--ts-ce4ece7: #e4ece7;
	--ts-cf1faf5: #f1faf5;

	--ts-t6fbf73: 111, 191, 115;
	--ts-t8fa889: 143, 168, 137;
	--ts-t0f1812: 15, 24, 18;
	--ts-t121c16: 18, 28, 22;
	--ts-t143c23: 20, 60, 35;
	--ts-tdbe4d3: 219, 228, 211;
	--ts-t163122: 22, 49, 34;
	--ts-t163321: 22, 51, 33;
	--ts-t183f2a: 24, 63, 42;
	--ts-t1b4d2a: 27, 77, 42;
	--ts-t1e4628: 30, 70, 40;
	--ts-t1f2a1f: 31, 42, 31;
	--ts-t203020: 32, 48, 32;
	--ts-t235f37: 35, 95, 55;
	--ts-t2f6b3d: 47, 107, 61;
	--ts-t2f6f3e: 47, 111, 62;
	--ts-t2f6f4e: 47, 111, 78;
	--ts-t367c45: 54, 124, 69;
	--ts-t3d7a57: 61, 122, 87;
	--ts-t3e5e39: 62, 94, 57;
	--ts-t14462d: 20, 70, 45;
}

body{
	background: var(--ts-bg);
	color: var(--ts-text);
}

.green-shell{
	max-width: var(--ts-max);
	margin: 0 auto;
	padding: 28px 18px 48px 18px;
}

/* =========================================================
   generic components
   ========================================================= */

.green-panel{
	background: var(--ts-surface);
	border: 1px solid var(--ts-border);
	border-radius: var(--ts-radius);
	box-shadow: var(--ts-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(--ts-transition);
	cursor: pointer;
}

.green-btn:hover{
	text-decoration: none;
}

.green-btn-primary{
	background: var(--ts-primary);
	color: #fff;
}

.green-btn-primary:hover{
	background: var(--ts-primary-dark);
	color: #fff;
}

.green-btn-secondary{
	background: #f5f7f3;
	color: var(--ts-text);
	border-color: var(--ts-border);
}

.green-btn-secondary:hover{
	background: var(--ts-cedf2e9);
	color: var(--ts-primary-dark);
}

.green-input,
.green-select{
	width: 100%;
	min-height: 48px;
	border-radius: 14px;
	border: 1px solid var(--ts-border);
	background: #fff;
	padding: 0 14px;
	font-size: 15px;
	color: var(--ts-text);
	box-shadow: none;
	outline: none;
	transition: var(--ts-transition);
}

.green-input:focus,
.green-select:focus{
	border-color: var(--ts-accent);
	box-shadow: 0 0 0 4px rgba(var(--ts-t8fa889),.18);
}

.green-note{
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--ts-text-soft);
}

.green-muted{
	color: var(--ts-text-soft);
}

.green-divider{
	height: 1px;
	background: var(--ts-border);
	margin: 28px 0;
}

.green-empty{
	padding: 34px 22px;
	text-align: center;
	background: var(--ts-surface);
	border: 1px dashed var(--ts-border);
	border-radius: var(--ts-radius);
	color: var(--ts-text-soft);
	font-size: 15px;
}

/* =========================================================
   landing page / hero
   ========================================================= */

.green-hero{
	background: linear-gradient(135deg, rgba(var(--ts-t2f6b3d),.94), rgba(var(--ts-t3e5e39),.92));
	color: #fff;
	border-radius: var(--ts-radius-lg);
	padding: 34px 28px;
	box-shadow: var(--ts-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(--ts-primary-soft);
	color: var(--ts-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(--ts-text);
}

.green-search-help{
	margin: 0 0 14px 0;
	font-size: 14px;
	color: var(--ts-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(--ts-primary-soft);
	color: var(--ts-primary-dark);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	transition: var(--ts-transition);
}

.green-chip:hover{
	background: var(--ts-cdbe9d8);
	color: var(--ts-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(--ts-text);
}

.green-section-copy{
	margin: 6px 0 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ts-text-soft);
	max-width: 760px;
}

.green-category-card{
	display: block;
	background: var(--ts-surface);
	border: 1px solid var(--ts-border);
	border-radius: var(--ts-radius);
	overflow: hidden;
	box-shadow: var(--ts-shadow);
	transition: var(--ts-transition);
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.green-category-card:hover{
	transform: translateY(-3px);
	box-shadow: var(--ts-shadow-hover);
	text-decoration: none;
	color: inherit;
}

.green-category-media{
	position: relative;
	background: linear-gradient(135deg, var(--ts-cdbe9d8), var(--ts-cedf3ea));
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.green-category-media img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.green-category-badge{
	position: absolute;
	left: 14px;
	top: 14px;
	background: rgba(255,255,255,.92);
	color: var(--ts-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(--ts-text);
}

.green-category-copy{
	margin: 0 0 14px 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--ts-text-soft);
	min-height: 46px;
}

.green-category-meta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 14px;
	color: var(--ts-text-soft);
}

.green-link-arrow{
	font-weight: 800;
	color: var(--ts-primary);
}

.green-mini-panels{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.green-mini-panel{
	background: var(--ts-surface);
	border: 1px solid var(--ts-border);
	border-radius: var(--ts-radius);
	padding: 18px;
	box-shadow: var(--ts-shadow);
}

.green-mini-label{
	margin: 0 0 6px 0;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ts-primary);
}

.green-mini-title{
	margin: 0 0 6px 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--ts-text);
}

.green-mini-copy{
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ts-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(--ts-text);
}

.green-results-copy{
	margin: 0;
	max-width: 820px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ts-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(--ts-primary-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .02em;
	border: 1px solid var(--ts-cd9e3d2);
}

.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(--ts-text);
}

.green-compact-meta{
	margin:0;
	font-size:14px;
	color:var(--ts-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(--ts-text-soft);
	text-decoration:none;
}

.green-back-link:hover{
	color:var(--ts-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 var(--ts-cdfe7d8);
}

.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(--ts-text);
}

.green-filter-actions{
	display:flex;
	gap:10px;
	margin:0;
}

.green-advanced-inner{
	margin-top:16px;
	padding-top:14px;
	border-top:1px solid var(--ts-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(--ts-surface);
	border: 1px solid var(--ts-border);
	border-radius: var(--ts-radius);
	box-shadow: var(--ts-shadow);
	overflow: hidden;
}

.green-advanced summary{
	list-style: none;
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 800;
	font-size: 16px;
	color: var(--ts-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(--ts-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(--ts-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(--ts-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(--ts-surface);
	border: 1px solid var(--ts-border);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(var(--ts-t203020), 0.08);
	transition: var(--ts-transition);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.green-product-card:hover{
	transform: translateY(-3px);
	box-shadow: var(--ts-shadow-hover);
}

.green-product-media{
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, var(--ts-cedf3ea), var(--ts-cdfe9d9));
	overflow: hidden;
}

.green-product-media img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	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(--ts-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(--ts-text);
	text-decoration: none;
}

.green-product-title a:hover{
	color: var(--ts-primary);
	text-decoration: none;
}

.green-product-copy{
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--ts-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(--ts-primary-soft);
	color: var(--ts-primary-dark);
	font-size: 11px;
	font-weight: 700;
}

.green-tag-soft{
	background: #f3f5f0;
	color: var(--ts-text-soft);
	border: 1px solid var(--ts-border);
}

.green-tag-sale{
	background: var(--ts-ceef6e8);
	color: var(--ts-c2d6a39);
	border: 1px solid var(--ts-ccfe0c8);
}

.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(--ts-primary-dark);
}

.green-price-was{
	font-size: 13px;
	color: var(--ts-text-soft);
	text-decoration: line-through;
}

.green-price-note{
	font-size: 13px;
	font-weight: 700;
	color: var(--ts-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(--ts-surface);
	color: var(--ts-text);
	border: 1px solid var(--ts-border);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	transition: var(--ts-transition);
}

.green-page-link:hover{
	text-decoration: none;
	color: var(--ts-primary-dark);
	border-color: var(--ts-accent);
}

.green-page-link.is-active{
	background: var(--ts-primary);
	color: #fff;
	border-color: var(--ts-primary);
}

/* =========================================================
   misc helpers
   ========================================================= */

.green-icon-fallback{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 40px;
	color: var(--ts-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 theme_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(var(--ts-tdbe4d3),.85);
}

.green-header-topbar-inner,
.green-header-main-inner{
	max-width: var(--ts-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(--ts-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(--ts-text-soft);
	text-decoration:none;
	font-weight:600;
}

.green-header-mini-link:hover{
	color: var(--ts-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(--ts-border);
	background:#fff;
	color:var(--ts-primary-dark);
	border-radius:999px;
	padding:8px 14px;
	font-weight:700;
	transition: var(--ts-transition);
}

.green-header-notify-btn:hover{
	background:var(--ts-primary-soft);
}

.green-header-main{
	position: sticky;
	top: 0;
	background: rgba(255,255,255,.88);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(var(--ts-tdbe4d3),.9);
	transition: box-shadow .22s ease, background .22s ease;
}

.green-header-main.is-sticky{
	box-shadow: 0 12px 28px rgba(var(--ts-t203020),.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(--ts-text);
	text-decoration:none;
}

.green-header-brand-title:hover{
	color:var(--ts-primary-dark);
	text-decoration:none;
}

.green-header-brand-subtitle{
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ts-text-soft);
	font-weight:700;
}

/* back to the company's own website, beside the logo. theme_website_back.cfm decides whether there is one. */
.green-header-website-link,
.green-header-website-link:visited{
	display:inline-flex;
	align-items:center;
	gap:7px;
	align-self:flex-start;
	padding:6px 12px;
	border-radius:999px;
	background:var(--ts-primary-soft);
	color:var(--ts-primary-dark);
	font-size:13px;
	font-weight:800;
	line-height:1.2;
	text-decoration:none;
	white-space:nowrap;
	transition:var(--ts-transition);
}

.green-header-website-link:hover,
.green-header-website-link:focus{
	background:var(--ts-primary-dark);
	color:#fff;
	text-decoration:none;
}

@media (max-width: 767px){
	/* phones have it at the top of the menu instead. */
	.green-header-website-link,
	.green-header-website-link:visited{
		display:none;
	}
}

.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(--ts-text);
	text-decoration:none;
	font-weight:700;
	transition: var(--ts-transition);
}

.green-header-nav-link:hover,
.green-header-nav-link.is-current{
	background: var(--ts-primary-soft);
	color: var(--ts-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(--ts-border);
	background:#fff;
	padding:0 48px 0 16px;
	font-size:14px;
	color:var(--ts-text);
	outline:none;
	transition: var(--ts-transition);
}

.green-header-search-input:focus{
	border-color: var(--ts-accent);
	box-shadow: 0 0 0 4px rgba(var(--ts-t8fa889),.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(--ts-primary-soft);
	color: var(--ts-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(--ts-transition);
	white-space:nowrap;
}

.green-header-action-pill{
	border:1px solid var(--ts-border);
	background:#fff;
	color:var(--ts-text);
}

.green-header-action-pill:hover{
	background:#f5f7f3;
	color:var(--ts-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(--ts-primary-soft);
	color:var(--ts-primary-dark);
}

.green-header-cart-btn{
	background:var(--ts-primary);
	color:#fff;
	box-shadow: 0 10px 20px rgba(var(--ts-t2f6b3d),.18);
}

.green-header-cart-btn:hover{
	background:var(--ts-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(--ts-border);
	background:#fff;
	color:var(--ts-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(--ts-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(--ts-border);
	color:var(--ts-text);
	text-decoration:none;
	font-weight:700;
}

.green-header-mobile-nav a:hover{
	background:var(--ts-primary-soft);
	color:var(--ts-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(--ts-text-soft);
}

.green-breadcrumb > .active{
	color:var(--ts-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(--ts-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(--ts-surface);
		border: 1px solid var(--ts-border);
		border-radius: 22px;
		box-shadow: var(--ts-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(--ts-primary-soft);
		color: var(--ts-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(--ts-text);
	}

	.green-detail-subtitle{
		margin: 0 0 16px 0;
		font-size: 14px;
		line-height: 1.6;
		color: var(--ts-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(--ts-border);
		color: var(--ts-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(--ts-primary-dark);
	}

	.green-detail-price-row del{
		color: var(--ts-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: var(--ts-cedf6ea);
		color: var(--ts-c2c6a39);
		border: 1px solid var(--ts-cd3e6cf);
	}

	.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(--ts-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(--ts-border);
		background: #fff;
		padding: 0 14px;
		font-size: 15px;
		color: var(--ts-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(--ts-accent);
		box-shadow: 0 0 0 4px rgba(var(--ts-t8fa889),.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(--ts-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(--ts-primary);
		color: #fff;
		border-color: var(--ts-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(--ts-primary-dark);
		color: #fff;
		border-color: var(--ts-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(--ts-border);
		border-radius: 18px;
		background: #fbfcfa;
	}

	.green-tier-name{
		font-size: 14px;
		font-weight: 800;
		color: var(--ts-text);
	}

	.green-tier-price{
		font-size: 13px;
		color: var(--ts-text-soft);
		margin-top: 4px;
	}

	.green-detail-message{
		margin-top: 14px;
		padding: 14px 16px;
		border-radius: 16px;
		background: #f7faf5;
		border: 1px solid var(--ts-border);
		font-size: 14px;
		line-height: 1.6;
		color: var(--ts-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(--ts-text);
	}

	.green-detail-section-sub{
		margin: -4px 0 18px 0;
		font-size: 14px;
		line-height: 1.6;
		color: var(--ts-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(--ts-text);
		border: 1px solid var(--ts-border);
	}

	.green-detail-options-actions .btn:hover{
		background: var(--ts-cedf2e9);
		color: var(--ts-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(--ts-border);
		border-radius: 18px;
		overflow: hidden;
		background: #fff;
	}

	.green-detail-sub-table th{
		background: #f4f7f1;
		color: var(--ts-primary-dark);
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .03em;
		text-transform: uppercase;
		border-bottom: 1px solid var(--ts-border) !important;
		padding: 14px 12px !important;
	}

	.green-detail-sub-table td{
		padding: 14px 12px !important;
		vertical-align: middle !important;
		border-top: 1px solid var(--ts-cedf2e9) !important;
		color: var(--ts-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(--ts-primary-dark);
		border: 1px solid var(--ts-border);
	}

	.green-sub-qty-wrap .btn:hover{
		background: var(--ts-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(--ts-border);
		border-radius: 999px;
		background: #f5f7f3;
		color: var(--ts-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(--ts-primary);
		color: #fff;
		border-color: var(--ts-primary);
	}

	.green-detail-tab-body{
		padding: 4px 2px 4px 2px;
		font-size: 15px;
		line-height: 1.75;
		color: var(--ts-text);
	}

	.green-detail-extra{
		margin-top: 18px;
		padding: 16px 18px;
		border-radius: 18px;
		background: #f7faf5;
		border: 1px solid var(--ts-border);
	}

	.green-detail-extra h3{
		margin: 0 0 10px 0;
		font-size: 20px;
		font-weight: 800;
		color: var(--ts-text);
	}

	.green-detail-related{
		margin-top: 18px;
		padding-top: 16px;
		border-top: 1px solid var(--ts-border);
	}

	.green-detail-related-title{
		margin: 0 0 14px 0;
		font-size: 18px;
		font-weight: 800;
		color: var(--ts-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(--ts-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(--ts-border);
		background: #f1f4ec;
	}

	.green-related-title{
		margin: 0 0 6px 0;
		font-size: 15px;
		font-weight: 800;
	}

	.green-related-title a{
		color: var(--ts-text);
		text-decoration: none;
	}

	.green-related-title a:hover{
		color: var(--ts-primary);
		text-decoration: none;
	}

	.green-related-copy{
		margin: 0 0 8px 0;
		font-size: 13px;
		line-height: 1.6;
		color: var(--ts-text-soft);
	}

	.green-related-price{
		font-size: 14px;
		font-weight: 800;
		color: var(--ts-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, var(--ts-cedf3ea), var(--ts-cdfe9d9));
		border: 1px solid var(--ts-border);
	}

	.green-detail-gallery .overlay-container img{
		width: 100%;
		height: auto;
		display: block;
		aspect-ratio: 1 / 1;
		object-fit: contain;
	}

	.green-detail-gallery .overlay{
		background: rgba(var(--ts-t1f2a1f),.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(--ts-border);
		color: var(--ts-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(--ts-primary);
		color: #fff;
		border-color: var(--ts-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: var(--ts-c2f3e2f);
    font-weight: 600;
    padding: 14px;
    border-bottom: 1px solid var(--ts-ce4e9e2);
}

.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: var(--ts-ce8efe6);
    border: none;
}

.btn-plus-minus-group:hover {
    background: var(--ts-cdfe9dc);
}

/* ===============================
   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 var(--ts-cdfe7d8);
	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: var(--ts-c6f7d6c);
	margin-bottom: 6px;
}

.green-sub-card-title{
	margin: 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--ts-c243224);
}

.green-sub-card-meta{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.green-sub-pill{
	background: #f4f7f1;
	border: 1px solid var(--ts-cdfe7d8);
	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: var(--ts-c6f7d6c);
	margin-bottom: 3px;
}

.green-sub-pill-value{
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: var(--ts-c243224);
}

.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 var(--ts-ce6ece1);
	border-radius: 999px;
	padding: 8px 12px;
	font-size: 14px;
}

.green-sub-attribute-name{
	font-weight: 700;
	color: var(--ts-c445342);
}

.green-sub-attribute-value{
	color: var(--ts-c243224);
}

.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: var(--ts-c243224);
	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 var(--ts-cd6dfcf);
	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 var(--ts-cd6dfcf) !important;
	background: #f4f7f1 !important;
	color: var(--ts-c2f4d31) !important;
	font-size: 18px;
	font-weight: 700;
}

.btn-plus-minus-group:hover{
	background: var(--ts-ceaf1e6) !important;
}

.green-sub-add-btn{
	display: block;
	width: 100%;
	height: 48px;
	border: none !important;
	border-radius: 999px !important;
	background: var(--ts-c367c45) !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 14px;
	letter-spacing: .03em;
	text-transform: uppercase;
	box-shadow: 0 10px 20px rgba(var(--ts-t367c45),.18);
}

.green-sub-add-btn:hover{
	background: var(--ts-c2f6e3d) !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 var(--ts-ce4eadf);
    margin-bottom: 24px;
}

.green-detail-tabset .nav-tabs li {
    margin-right: 12px;
}

.green-detail-tabset .nav-tabs li a {
    border: 1px solid var(--ts-cdbe4d4);
    border-radius: 999px;
    background: #f7faf5;
    color: var(--ts-c233223);
    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: var(--ts-c367c45);
    color: #fff;
    border-color: var(--ts-c367c45);
}

.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: var(--ts-c263326);
    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: var(--ts-c263326);
	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: var(--ts-c367c45) !important;
	color: #fff !important;
	border: 1px solid var(--ts-c367c45) !important;
	border-left: 1px solid var(--ts-c367c45) !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: var(--ts-c163321);
}

.green-cart-subtitle {
	font-size: 15px;
	color: var(--ts-c5e6d63);
}

.green-cart-card {
	background: #ffffff;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 22px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 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: var(--ts-cf3f8f3);
	border-bottom: 1px solid var(--ts-cdbe7dc);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ts-c45614d);
}

.green-cart-table tbody td {
	padding: 18px;
	border-bottom: 1px solid var(--ts-cedf3ee);
	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 var(--ts-cdbe7dc);
	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: var(--ts-c163321);
}

.green-cart-product-number a {
	color: var(--ts-c163321);
	text-decoration: none;
}

.green-cart-product-number a:hover {
	color: var(--ts-c2f6f3e);
	text-decoration: none;
}

.green-cart-product-meta {
	font-size: 13px;
	line-height: 1.5;
	color: var(--ts-c66756b);
}

.green-cart-price,
.green-cart-line-total {
	font-size: 15px;
	font-weight: 600;
	color: var(--ts-c163321);
	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 var(--ts-ccfe0d1);
	border-radius: 12px;
	text-align: center;
	font-weight: 700;
	box-shadow: none;
}

.green-cart-coupon-input,
.green-cart-note-textarea {
	border: 1px solid var(--ts-ccfe0d1);
	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: var(--ts-c385342);
}

.green-cart-summary-value {
	font-weight: 700;
	color: var(--ts-c163321);
	white-space: nowrap;
}

.green-cart-total-row td {
	background: var(--ts-cf3f8f3);
	border-top: 1px solid var(--ts-cdbe7dc);
}

.green-cart-total-label {
	font-size: 16px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.green-cart-total-value {
	font-size: 22px;
	font-weight: 900;
	color: var(--ts-c2f6f3e);
	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 var(--ts-cdbe7dc);
	border-radius: 22px;
	padding: 22px;
	box-shadow: 0 12px 30px rgba(var(--ts-t163321), 0.05);
	max-width: 760px;
}

.green-cart-note-label {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: 700;
	color: var(--ts-c163321);
}

.green-cart-note-stats {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 12px;
	font-size: 13px;
	color: var(--ts-c66756b);
}

.green-cart-note-stats input {
	width: 60px;
	height: 36px;
	border: 1px solid var(--ts-ccfe0d1);
	border-radius: 10px;
	text-align: center;
	background: var(--ts-cf5faf5) !important;
	color: var(--ts-c163321);
	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: var(--ts-c2f6f3e);
	border-color: var(--ts-c2f6f3e);
	color: #ffffff !important;
}

.green-btn-primary:hover,
.green-btn-primary:focus {
	background: var(--ts-c255a31);
	border-color: var(--ts-c255a31);
	color: #ffffff !important;
}

.green-btn-secondary {
	background: #ffffff;
	border-color: var(--ts-ccfe0d1);
	color: var(--ts-c163321) !important;
}

.green-btn-secondary:hover,
.green-btn-secondary:focus {
	background: var(--ts-cf5faf5);
	border-color: var(--ts-cb9d1bc);
	color: var(--ts-c163321) !important;
}

.green-btn-ghost {
	background: var(--ts-ceef6ef);
	border-color: var(--ts-cd5e5d7);
	color: var(--ts-c163321) !important;
}

.green-btn-ghost:hover,
.green-btn-ghost:focus {
	background: var(--ts-ce3f0e5);
	border-color: var(--ts-cc5dbc8);
	color: var(--ts-c163321) !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: var(--ts-ce8f5e9);
	border: 1px solid var(--ts-cc8e6c9);
	color: var(--ts-c2e7d32);
	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(var(--ts-t0f1812), 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 var(--ts-cdbe7dc);
	border-radius: 28px;
	box-shadow: 0 24px 60px rgba(var(--ts-t163321), 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 var(--ts-ce4eee5);
}

.green-mini-cart-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ts-c6c8571);
	margin-bottom: 6px;
}

.green-mini-cart-title {
	margin: 0;
	font-size: 28px;
	line-height: 1.1;
	font-weight: 800;
	color: var(--ts-c163321);
}

.green-mini-cart-close {
	width: 42px;
	height: 42px;
	border: 1px solid var(--ts-cd7e5d9);
	background: #f6faf6;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ts-c163321);
	cursor: pointer;
	transition: all .18s ease;
	flex: 0 0 auto;
}

.green-mini-cart-close:hover {
	background: var(--ts-cedf6ee);
	border-color: var(--ts-cc5d8c8);
}

.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: var(--ts-c53675a);
	margin-bottom: 14px;
}

.green-mini-cart-summary {
	background: #f7fbf7;
	border: 1px solid var(--ts-cdbe7dc);
	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: var(--ts-c385342);
	padding: 7px 0;
}

.green-mini-cart-row + .green-mini-cart-row {
	border-top: 1px solid var(--ts-ce4eee5);
}

.green-mini-cart-total {
	font-weight: 800;
	color: var(--ts-c163321);
}

.green-mini-cart-footer {
	padding: 14px 22px 22px;
	border-top: 1px solid var(--ts-ce4eee5);
	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 var(--ts-cd7e5d9);
	background: #ffffff;
	color: var(--ts-c55705d);
	font-size: 14px;
	font-weight: 700;
}

.green-sign-step.active {
	background: var(--ts-ceef6ef);
	border-color: var(--ts-cc9ddcc);
	color: var(--ts-c163321);
}

.green-sign-card {
	background: #ffffff;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 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: var(--ts-c163321);
}

.green-sign-subtitle {
	font-size: 15px;
	color: var(--ts-c66756b);
}

.green-sign-status-card {
	background: #f7fbf7;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 20px;
	padding: 20px;
	margin-bottom: 18px;
}

.green-sign-status-name {
	margin: 10px 0 10px;
	font-size: 22px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.green-sign-status-links {
	color: var(--ts-c5f7166);
	line-height: 1.6;
}

.green-sign-status-links a {
	color: var(--ts-c2f6f3e);
	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: var(--ts-c385342);
}

.green-sign-input-wrap {
	position: relative;
}

.green-sign-input {
	width: 100%;
	height: 54px;
	padding: 12px 46px 12px 16px;
	border: 1px solid var(--ts-ccfe0d1);
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: var(--ts-c163321);
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-sign-input:focus {
	border-color: var(--ts-c8eb494);
	box-shadow: 0 0 0 4px rgba(var(--ts-t2f6f3e), 0.08);
}

.green-sign-input-icon {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	color: var(--ts-c7a8f80);
}

.green-sign-actions {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.green-sign-links {
	margin-top: 14px;
}

.green-sign-links a {
	color: var(--ts-c2f6f3e);
	font-weight: 700;
	text-decoration: none;
}

.green-sign-divider {
	height: 1px;
	background: var(--ts-ce6eee7);
	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: var(--ts-c163321);
}

.green-contact-subtitle {
	font-size: 15px;
	color: var(--ts-c66756b);
}

.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 var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 0.08);
	padding: 26px;
}

.green-contact-intro {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ts-c52655a);
	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: var(--ts-c385342);
}

.green-contact-input-wrap {
	position: relative;
}

.green-contact-input,
.green-contact-textarea {
	width: 100%;
	border: 1px solid var(--ts-ccfe0d1);
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: var(--ts-c163321);
	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: var(--ts-c8eb494);
	box-shadow: 0 0 0 4px rgba(var(--ts-t2f6f3e), 0.08);
}

.green-contact-input-icon {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	color: var(--ts-c7a8f80);
}

.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 var(--ts-cdbe7dc);
	background: #f8fbf8;
}

.green-contact-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ts-c56695d);
	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: var(--ts-c163321);
}

.green-contact-location + .green-contact-location {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--ts-ce7efe8);
}

.green-contact-location-name {
	font-size: 15px;
	font-weight: 800;
	color: var(--ts-c274632);
	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: var(--ts-c55695d);
}

.green-contact-list i {
	width: 18px;
	color: var(--ts-c6f8a75);
	margin-top: 3px;
	text-align: center;
	flex: 0 0 18px;
}

.green-contact-list a,
.green-contact-side-links a {
	color: var(--ts-c2f6f3e);
	font-weight: 700;
	text-decoration: none;
}

.green-contact-side-links {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--ts-ce7efe8);
}

.green-contact-map-wrap {
	margin-top: 22px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--ts-cdbe7dc);
	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 var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 18px 45px rgba(var(--ts-t163321), 0.08);
	padding: 32px;
	text-align: center;
}

.green-gift-header h1 {
	margin: 0 0 20px;
	font-size: 32px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.green-gift-balance {
	font-size: 22px;
	font-weight: 800;
	color: var(--ts-c2f6f3e);
	margin-bottom: 16px;
}

.green-gift-amount-input {
	width: 140px;
	text-align: center;
	border: 1px solid var(--ts-ccfe0d1);
	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 var(--ts-ccfe0d1);
	border-radius: 16px;
	padding: 12px 16px;
	font-size: 18px;
	text-align: center;
	color: var(--ts-c163321);
}

.green-gift-input:focus {
	border-color: var(--ts-c8eb494);
	box-shadow: 0 0 0 4px rgba(var(--ts-t2f6f3e), 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 var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 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: var(--ts-c163321);
}

.green-details-subtitle {
	font-size: 15px;
	color: var(--ts-c66756b);
	line-height: 1.6;
}

.green-details-subcard-title {
	margin: 0;
	font-size: 28px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.green-details-section-title {
	margin: 8px 0 18px;
	font-size: 18px;
	font-weight: 800;
	color: var(--ts-c274632);
}

.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: var(--ts-c385342);
}

.green-details-input-wrap {
	display: block;
}

.green-details-input,
.green-details-select,
.green-details-textarea {
	width: 100%;
	border: 1px solid var(--ts-ccfe0d1);
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: var(--ts-c163321);
	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: var(--ts-c8eb494);
	box-shadow: 0 0 0 4px rgba(var(--ts-t2f6f3e), 0.08);
}

.green-details-help {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--ts-c6e8074);
}

.green-details-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ts-c56695d);
	font-weight: 500;
}

.green-details-contact-card,
.green-details-summary-card,
.green-details-note-box,
.green-details-queue-box {
	background: #f7fbf7;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 20px;
	padding: 20px;
	margin-top: 18px;
}

.green-details-contact-title {
	margin-bottom: 16px;
	font-size: 18px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.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: var(--ts-c718579);
	margin-bottom: 6px;
}

.green-details-value {
	display: block;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ts-c163321);
}

.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: var(--ts-cf3f8f3);
	border-bottom: 1px solid var(--ts-cdbe7dc);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ts-c45614d);
	text-align: left;
}

.green-details-table tbody td {
	padding: 16px;
	border-bottom: 1px solid var(--ts-cedf3ee);
	vertical-align: top;
	font-size: 14px;
	color: var(--ts-c163321);
}

.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 var(--ts-cdbe7dc);
	background: #f7faf7;
}

.green-details-cart-text a {
	font-weight: 700;
	color: var(--ts-c163321);
	text-decoration: none;
}

.green-details-cart-meta {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--ts-c66756b);
}

.green-details-empty,
.green-details-message,
.green-details-footnote {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ts-c5f7166);
}

@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 var(--ts-cdbe7dc);
		border-radius: 18px;
		padding: 14px;
		margin-bottom: 14px;
		box-shadow: 0 10px 24px rgba(var(--ts-t163321), 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: var(--ts-c6a7d70);
		padding-top: 2px;
	}

	.green-cart-item-row td.green-cart-product-cell {
		display: block;
		padding-bottom: 12px;
		border-bottom: 1px solid var(--ts-cedf3ee);
		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 var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 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: var(--ts-c163321);
}

.green-ship-subtitle {
	font-size: 15px;
	color: var(--ts-c66756b);
	line-height: 1.6;
}

.green-ship-option-card,
.green-ship-queue-card {
	background: #f7fbf7;
	border: 1px solid var(--ts-cdbe7dc);
	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: var(--ts-c5d7564);
}

.green-ship-radio {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ts-c163321);
	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: var(--ts-c385342);
}

.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 var(--ts-ce4eee5);
	font-size: 13px;
	line-height: 1.6;
	color: var(--ts-c607267);
	text-align: center;
}

.green-ship-queue-value {
	font-size: 15px;
	font-weight: 700;
	color: var(--ts-c163321);
	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: var(--ts-c163321);
}

.green-account-subtitle {
	font-size: 15px;
	color: var(--ts-c66756b);
}

.green-account-top-card,
.green-account-card,
.green-account-message-card {
	background: #ffffff;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 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: var(--ts-c163321);
	line-height: 1.15;
}

.green-account-points {
	margin-top: 6px;
	font-size: 15px;
	color: var(--ts-c5c7062);
}

.green-account-points span {
	font-weight: 800;
	color: var(--ts-c2f6f3e);
}

.green-account-points-divider {
	padding: 0 8px;
	color: var(--ts-c8da191) !important;
}

.green-account-message-card {
	padding: 18px 22px;
	margin-bottom: 18px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--ts-c52655a);
}

.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: var(--ts-c163321);
}

.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 var(--ts-cdbe7dc);
	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: var(--ts-cc8dbc9);
	box-shadow: 0 12px 26px rgba(var(--ts-t163321), 0.08);
	text-decoration: none !important;
}

.green-account-action-icon {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--ts-ceaf4eb);
	color: var(--ts-c2f6f3e);
	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: var(--ts-c163321);
	line-height: 1.3;
	margin-bottom: 4px;
}

.green-account-action-copy {
	font-size: 13px;
	line-height: 1.55;
	color: var(--ts-c64786a);
}

@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: var(--ts-c5c7062);
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.green-account-points span {
		font-weight: 800;
		color: var(--ts-c2f6f3e);
	}

	.green-account-points-divider {
		color: var(--ts-c9bb3a0);
		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: var(--ts-c163321);
}

.green-history-subtitle {
	font-size: 15px;
	color: var(--ts-c66756b);
}

.green-history-card {
	background: #ffffff;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 0.08);
	padding: 26px;
	margin-bottom: 20px;
}

.green-history-card-title,
.green-history-results-title {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.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 var(--ts-cdbe7dc);
	border-radius: 18px;
	padding: 18px;
}

.green-history-account-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ts-c718579);
	margin-bottom: 6px;
}

.green-history-account-name {
	font-size: 20px;
	font-weight: 800;
	color: var(--ts-c163321);
	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: var(--ts-c385342);
}

.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 var(--ts-ccfe0d1);
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: var(--ts-c163321);
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-history-input:focus,
.green-history-select:focus {
	border-color: var(--ts-c8eb494);
	box-shadow: 0 0 0 4px rgba(var(--ts-t2f6f3e), 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: var(--ts-c718579);
}

.green-history-help {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--ts-c6e8074);
}

.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: var(--ts-c5f7166);
}

.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: var(--ts-cf3f8f3);
	border-bottom: 1px solid var(--ts-cdbe7dc);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ts-c45614d);
	text-align: left;
}

.green-history-table tbody td {
	padding: 16px;
	border-bottom: 1px solid var(--ts-cedf3ee);
	vertical-align: top;
	font-size: 14px;
	color: var(--ts-c163321);
}

.green-history-table tbody tr:last-child td {
	border-bottom: none;
}

.green-history-table a {
	color: var(--ts-c2f6f3e);
	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 var(--ts-cdbe7dc);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(var(--ts-t163321), 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: var(--ts-c163321);
}

.green-pay-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.green-pay-info-icon {
	color: var(--ts-c6f8a75);
	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: var(--ts-cf3f8f3);
	border-bottom: 1px solid var(--ts-cdbe7dc);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ts-c45614d);
	text-align: left;
}

.green-pay-table tbody td {
	padding: 16px;
	border-bottom: 1px solid var(--ts-cedf3ee);
	vertical-align: top;
	font-size: 14px;
	color: var(--ts-c163321);
}

.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 var(--ts-cdbe7dc);
	background: #f7faf7;
}

.green-pay-cart-text a {
	font-weight: 700;
	color: var(--ts-c163321);
	text-decoration: none;
}

.green-pay-cart-meta {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--ts-c66756b);
}

.green-pay-note-box {
	margin-top: 18px;
	padding: 18px;
	background: #f7fbf7;
	border: 1px solid var(--ts-cdbe7dc);
	border-radius: 18px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ts-c55695d);
	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 var(--ts-cdbe7dc);
	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: var(--ts-c163321);
	margin: 0;
}

.green-pay-radio input {
	margin-top: 4px;
}

.green-pay-method-total {
	margin-top: 10px;
	font-size: 14px;
	color: var(--ts-c5f7166);
	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: var(--ts-c385342);
}

.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: var(--ts-c6f8a75);
	font-size: 20px;
}

.green-pay-input {
	width: 100%;
	height: 54px;
	padding: 12px 16px;
	border: 1px solid var(--ts-ccfe0d1);
	border-radius: 16px;
	background: #ffffff;
	font-size: 15px;
	color: var(--ts-c163321);
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.green-pay-input:focus {
	border-color: var(--ts-c8eb494);
	box-shadow: 0 0 0 4px rgba(var(--ts-t2f6f3e), 0.08);
}

.green-pay-help {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--ts-c6e8074);
}

.green-pay-iframe-wrap {
	height: 54px;
	border: 1px solid var(--ts-ccfe0d1);
	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: var(--ts-c6e8074);
	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 var(--ts-cdbe7dc);
	border-radius: 28px;
	box-shadow: 0 18px 45px rgba(var(--ts-t163321), 0.08);
	padding: 34px 30px;
	text-align: center;
}

.green-thanks-icon {
	width: 74px;
	height: 74px;
	margin: 0 auto 16px;
	border-radius: 999px;
	background: var(--ts-cedf7ee);
	color: var(--ts-c2f6f3e);
	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: var(--ts-c163321);
}

.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: var(--ts-ceef8ef);
	border: 1px solid var(--ts-ccfe3d2);
	color: var(--ts-c31563b);
}

.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: var(--ts-c55695d);
}

.green-thanks-subsection {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--ts-ce6eee7);
}

.green-thanks-subtitle {
	margin-bottom: 14px;
	font-size: 18px;
	font-weight: 800;
	color: var(--ts-c163321);
}

.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: var(--ts-c14532d);
	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: var(--ts-c166534);
}

.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: var(--ts-c166534);
	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: var(--ts-c166534);
	border-color: var(--ts-c166534);
	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: var(--ts-c166534);
	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: var(--ts-c14532d);
	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(--ts-primary);
    color: #fff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Button hover state */
.green-banner-footer a:hover {
    background: var(--ts-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 var(--ts-cdfe9e2);
	border-radius: 26px;
	box-shadow: 0 14px 36px rgba(var(--ts-t183f2a), 0.08);
	overflow: hidden;
}

.green-messenger-list {
	background:
		radial-gradient(circle at top left, rgba(var(--ts-t6fbf73), 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(var(--ts-t183f2a), 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: var(--ts-c223127);
	border: 1px solid var(--ts-cdbe6dd);
	border-bottom-left-radius: 6px;
}

.green-message-row.is-outgoing .green-message-bubble {
	background: var(--ts-c3d7a57);
	color: #ffffff;
	border: 1px solid var(--ts-c3d7a57);
	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: var(--ts-c6c7b70);
}

.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 var(--ts-cdbe6dd);
	border-bottom: 1px solid var(--ts-cdbe6dd);
	border-bottom-left-radius: 2px;
}

.green-message-row.is-outgoing .green-message-bubble::after {
	right: -5px;
	background: var(--ts-c3d7a57);
	border-right: 1px solid var(--ts-c3d7a57);
	border-bottom: 1px solid var(--ts-c3d7a57);
	border-bottom-right-radius: 2px;
}

.green-messenger-input-wrap {
	padding: 16px;
	border-top: 1px solid var(--ts-cdfe9e2);
	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 var(--ts-cd6e3d9);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
}

.green-messenger-textarea:focus {
	outline: none;
	border-color: var(--ts-c6fbf73);
	box-shadow: 0 0 0 4px rgba(var(--ts-t6fbf73), 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, var(--ts-c5cad67) 0%, var(--ts-c3d7a57) 100%);
	color: #ffffff;
	border: 1px solid var(--ts-c3d7a57);
	box-shadow: 0 10px 20px rgba(var(--ts-t3d7a57), 0.24);
}

.green-messenger-send:hover {
	background: linear-gradient(180deg, var(--ts-c62b86d) 0%, var(--ts-c34684a) 100%);
	color: #ffffff;
}

.green-messenger-send:active {
	transform: translateY(1px);
	box-shadow: 0 6px 12px rgba(var(--ts-t3d7a57), 0.2);
}

.green-messenger-send[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
	box-shadow: none;
}

.green-messenger-close {
	background: var(--ts-cedf5ef);
	color: var(--ts-c2f6f4f);
	border: 1px solid var(--ts-ccfe0d3);
	font-weight: 600;
}

.green-messenger-close:hover {
	background: var(--ts-ce4f0e7);
	color: var(--ts-c285c41);
}

.green-empty-card {
	background: #ffffff;
	border: 1px solid var(--ts-cdfe9e2);
	border-radius: 22px;
	padding: 32px 24px;
	text-align: center;
	box-shadow: 0 12px 30px rgba(var(--ts-t183f2a), 0.06);
}

.green-empty-icon {
	font-size: 32px;
	color: var(--ts-c3d7a57);
	margin-bottom: 10px;
}

.green-empty-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--ts-c1f3528);
	margin-bottom: 8px;
}

.green-empty-copy {
	font-size: 15px;
	color: var(--ts-c617164);
	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(var(--ts-t3d7a57), 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 var(--ts-cdfe9e2);
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 14px 36px rgba(var(--ts-t183f2a), 0.08);
}

.green-quote-card hr {
	border: 0;
	border-top: 1px solid var(--ts-ce5ece7);
	margin: 18px 0;
}

.green-quote-meta-row {
	margin-bottom: 12px;
}

.green-quote-meta-block {
	background: #f9fbf9;
	border: 1px solid var(--ts-ce3ebe5);
	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: var(--ts-c304236);
}

.green-quote-meta-block h5,
.green-quote-meta-block strong {
	color: var(--ts-c1f3528);
}

.green-quote-table {
	width: 100%;
	margin-bottom: 18px;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	border: 1px solid var(--ts-cdde8df);
	border-radius: 18px;
	overflow: hidden;
}

.green-quote-table thead th {
	background: linear-gradient(180deg, var(--ts-ceef6f0) 0%, var(--ts-ce6f0e8) 100%);
	color: var(--ts-c1f3528);
	font-weight: 700;
	font-size: 14px;
	padding: 14px 12px;
	border-bottom: 1px solid var(--ts-cd6e3d9);
	vertical-align: middle;
}

.green-quote-table tbody td,
.green-quote-table tbody th {
	padding: 14px 12px;
	border-top: 1px solid var(--ts-cebf1ec);
	vertical-align: top;
	color: var(--ts-c33463a);
	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: var(--ts-c1f3528);
}

.green-quote-line-table td.product small {
	display: block;
	line-height: 1.55;
	color: var(--ts-c5b6c60);
}

.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 var(--ts-ce2e9e3);
	background: #ffffff;
	padding: 2px;
}

.total-quantity {
	background: var(--ts-ceef6f0) !important;
	font-weight: 700;
	color: var(--ts-c1f3528);
}

.total-amount,
.green-quote-line-table td.amount:last-child {
	font-weight: 700;
	color: var(--ts-c2f6f4f);
}

.green-quote-note-card,
.green-quote-disclaimer,
.green-quote-contact-card {
	background: #f8fbf8;
	border: 1px solid var(--ts-ce0e9e2);
	border-radius: 16px;
	padding: 14px 16px;
	margin-top: 14px;
	font-size: 14px;
}
.green-quote-thankyou {
	background: var(--ts-ceef6f0);
	border: 1px solid var(--ts-cd6e3d9);
	border-radius: 16px;
	padding: 14px;
	text-align: center;
	font-weight: 700;
	color: var(--ts-c2f6f4f);
	margin-top: 16px;
}

.green-quote-note-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--ts-c1f3528);
	margin-bottom: 8px;
}

.green-quote-note-copy,
.green-quote-contact-copy {
	margin: 0;
	line-height: 1.65;
	color: var(--ts-c435548);
}

.green-quote-contact-thanks,
.green-quote-thankyou {
	text-align: center;
	font-weight: 700;
	color: var(--ts-c2f6f4f);
	font-size: 18px;
}

.green-quote-disclaimer {
	text-align: center;
	color: var(--ts-c304236);
}

.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: var(--ts-c1f3528);
	}

	.green-quote-table tfoot tr:last-child td {
		font-size: 16px;
		font-weight: 700;
		color: var(--ts-c2f6f4f);
	}
}

.green-fulfillment-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(var(--ts-t121c16), 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: var(--ts-ceef7ef);
	color: var(--ts-c2f6f3e);
	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: var(--ts-c16251b);
}

.green-fulfillment-copy {
	margin: 0 auto 22px;
	max-width: 520px;
	color: var(--ts-c5f6f63);
	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 var(--ts-cdce9df);
	background: #f8fbf8;
	text-decoration: none;
	color: var(--ts-c17251b);
	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(var(--ts-t1e4628), 0.14);
	border-color: var(--ts-c7fb88b);
	text-decoration: none;
	color: var(--ts-c17251b);
}

.green-fulfillment-card-delivery {
	background: var(--ts-cf4faf5);
}

.green-fulfillment-icon {
	width: 52px;
	height: 52px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ts-c2f6f3e);
	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: var(--ts-c657568);
}

@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 var(--ts-cdce8dd);
	border-radius: 24px;
	box-shadow: 0 12px 34px rgba(var(--ts-t143c23), 0.08);
}

.green-photo-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--ts-ceef7ef);
	color: var(--ts-c2f6f3e);
	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: var(--ts-c16251b);
}

.green-photo-header p {
	margin: 0;
	max-width: 680px;
	color: var(--ts-c617067);
	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: var(--ts-ceef5ef);
	color: var(--ts-c275533);
	border: 1px solid var(--ts-cd2e4d5);
}

.green-photo-back-btn:hover,
.green-photo-secondary-btn:hover,
.green-photo-back-btn:focus,
.green-photo-secondary-btn:focus {
	text-decoration: none;
	color: var(--ts-c1f472b);
	background: var(--ts-ce3f0e5);
}

.green-photo-primary-btn {
	border: 0;
	background: var(--ts-c2f6f3e);
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(var(--ts-t2f6f3e), 0.22);
}

.green-photo-primary-btn:hover,
.green-photo-primary-btn:focus {
	background: var(--ts-c265b34);
	color: #ffffff;
}

.green-photo-card {
	background: #ffffff;
	border: 1px solid var(--ts-cdce8dd);
	border-radius: 24px;
	padding: 22px;
	margin-bottom: 18px;
	box-shadow: 0 12px 34px rgba(var(--ts-t143c23), 0.06);
}

.green-photo-card-head {
	margin-bottom: 18px;
}

.green-photo-card-head h2 {
	margin: 0 0 6px;
	font-size: 22px;
	color: var(--ts-c1d3726);
}

.green-photo-card-head p {
	margin: 0;
	color: var(--ts-c617067);
	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: var(--ts-c405346);
	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 var(--ts-ccfded2);
	border-radius: 14px;
	padding: 11px 12px;
	font-size: 14px;
	color: var(--ts-c17251b);
	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: var(--ts-c68776d);
	font-size: 13px;
	line-height: 1.35;
}

.green-photo-counter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
	color: var(--ts-c68776d);
	font-size: 12px;
}

.green-photo-counter input {
	width: 46px;
	border: 1px solid var(--ts-cd5e2d8);
	border-radius: 8px;
	padding: 4px 6px;
	background: #f7faf7;
	color: var(--ts-c33483a);
}

.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 var(--ts-cdce8dd);
	text-align: center;
	color: var(--ts-c526358);
	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 var(--ts-ce2ece4);
	border-radius: 20px;
	background: #f8fbf8;
}

.green-photo-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	background: #ffffff;
	border: 1px solid var(--ts-ce4eee6);
	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 var(--ts-ce6eee8);
	font-size: 13px;
}

.green-photo-row span,
.green-photo-caption span {
	color: var(--ts-c66766b);
	font-weight: 800;
}

.green-photo-row strong {
	color: var(--ts-c203a29);
	text-align: right;
}

.green-photo-caption {
	padding: 8px 0;
	border-bottom: 1px solid var(--ts-ce6eee8);
	font-size: 13px;
}

.green-photo-caption p {
	margin: 5px 0 0;
	color: var(--ts-c203a29);
	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: var(--ts-ceaf7ec);
	color: var(--ts-c276235);
}

.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: var(--ts-c2f6f3e);
	text-decoration: none;
}

.green-photo-edit-link:hover,
.green-photo-edit-link:focus {
	text-decoration: underline;
	color: var(--ts-c265b34);
}

.green-photo-empty {
	text-align: center;
	padding: 28px 18px;
	border: 1px dashed var(--ts-ccdded1);
	border-radius: 20px;
	background: #f8fbf8;
	color: var(--ts-c617067);
}

.green-photo-empty i {
	font-size: 34px;
	color: var(--ts-c87a88f);
	margin-bottom: 10px;
}

.green-photo-empty h3 {
	margin: 0 0 6px;
	font-size: 18px;
	color: var(--ts-c203a29);
}

.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 var(--ts-cdce8dd);
	border-radius: 24px;
	box-shadow: 0 12px 34px rgba(var(--ts-t143c23), 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: var(--ts-c16251b);
}

.green-photo-action-header p {
	margin: 0;
	color: var(--ts-c617067);
	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: var(--ts-c1d3726);
}

.green-photo-steps {
	display: grid;
	gap: 10px;
	margin-bottom: 18px;
}

.green-photo-step {
	padding: 12px 14px;
	border-radius: 16px;
	background: #f5faf6;
	border: 1px solid var(--ts-cdce8dd);
	color: var(--ts-c405346);
	font-size: 14px;
	font-weight: 800;
}

.green-photo-step-success {
	background: var(--ts-ceaf7ec);
	border-color: var(--ts-ccce8d2);
	color: var(--ts-c276235);
}

.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 var(--ts-ce2ece4);
	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: var(--ts-c203a29);
}

.green-photo-stat-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--ts-ce6eee8);
	font-size: 14px;
}

.green-photo-stat-row:last-child {
	border-bottom: 0;
}

.green-photo-stat-row span {
	color: var(--ts-c66766b);
	font-weight: 800;
}

.green-photo-stat-row strong {
	color: var(--ts-c203a29);
	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 var(--ts-cdce8dd);
	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: var(--ts-ceaf7ec);
	border: 1px solid var(--ts-ccce8d2);
	color: var(--ts-c276235);
}

.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: var(--ts-c2f6f3e);
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(var(--ts-t2f6f3e), 0.22);
}

.green-photo-primary-link-btn:hover,
.green-photo-primary-link-btn:focus {
	background: var(--ts-c265b34);
	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 var(--ts-cdce8dd);
	background: #f8fbf8;
}

.green-delivery-minimum-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 800;
	color: var(--ts-c203a29);
	margin-bottom: 6px;
}

.green-delivery-minimum-box p {
	margin: 0;
	color: var(--ts-c617067);
	font-size: 14px;
	line-height: 1.45;
}

.green-delivery-minimum-box strong {
	color: var(--ts-c203a29);
}

.green-delivery-minimum-good {
	background: var(--ts-ceaf7ec);
	border-color: var(--ts-ccce8d2);
}

.green-delivery-minimum-warning {
	background: #fff8e8;
	border-color: #f1dfad;
}

.green-delivery-reservation-box {
	margin: 18px 0;
	padding: 18px;
	border: 1px solid rgba(var(--ts-t2f6f4e), 0.18);
	border-radius: 16px;
	background: #f7fbf8;
	box-shadow: 0 10px 26px rgba(var(--ts-t163122), 0.06);
}

.green-delivery-reservation-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 17px;
	font-weight: 800;
	color: var(--ts-c234f38);
	margin-bottom: 6px;
}

.green-delivery-reservation-text {
	margin: 0 0 12px;
	color: var(--ts-c5f6f66);
	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: var(--ts-ce8f4ec);
	color: var(--ts-c2f6f4e);
	font-size: 28px;
	box-shadow: 0 10px 24px rgba(var(--ts-t2f6f4e), 0.12);
}

.green-clear-cart-message {
	max-width: 480px;
	margin: 0 auto 22px;
	color: var(--ts-c5f6f66);
	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: var(--ts-ce8f4ec);
	color: var(--ts-c2f6f4e);
	font-size: 28px;
	box-shadow: 0 10px 24px rgba(var(--ts-t2f6f4e), 0.12);
}

.green-empty-cart-message {
	max-width: 480px;
	margin: 0 auto 22px;
	color: var(--ts-c5f6f66);
	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: var(--ts-c5f6f66);
	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: var(--ts-c234f38);
	margin-bottom: 6px;
}

.green-statement-field .form-control {
	border-radius: 10px;
	min-height: 42px;
	border-color: rgba(var(--ts-t2f6f4e), 0.22);
}

.green-statement-submit {
	display: flex;
	align-items: end;
}

.green-statement-title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	color: var(--ts-c1f3f2e);
}

.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: var(--ts-c5f6f66);
}

.green-statement-empty {
	padding: 24px !important;
	color: var(--ts-c5f6f66);
	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: var(--ts-c5f6f66);
	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(var(--ts-t2f6f4e), 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: var(--ts-c5f6f66);
	margin-bottom: 5px;
}

.green-payment-summary-value {
	font-size: 16px;
	font-weight: 900;
	color: var(--ts-c1f3f2e);
}

.green-payment-summary-value i {
	margin-left: 6px;
	color: var(--ts-c2f6f4e);
}

.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: var(--ts-c234f38);
	margin-bottom: 6px;
}

.green-payment-field label span {
	color: var(--ts-c3f8a63);
}

.green-payment-field .form-control {
	border-radius: 10px;
	min-height: 42px;
	border-color: rgba(var(--ts-t2f6f4e), 0.22);
}

.green-payment-help {
	margin-top: 5px;
	font-size: 12px;
	color: var(--ts-c6b7a70);
	line-height: 1.35;
}

.green-readonly-field {
	background: var(--ts-ceef6f1) !important;
	color: var(--ts-c1f3f2e) !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: var(--ts-c5f6f66) !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: var(--ts-c1f3f2e);
}

.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: var(--ts-c234f38);
	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: var(--ts-c2f6f4e) !important;
	color: #ffffff;
}

.green-payment-table thead th {
	border: none;
	font-weight: 800;
	letter-spacing: 0.03em;
}

.green-payment-table a {
	color: var(--ts-c2f6f4e) !important;
	font-weight: 700;
	text-decoration: none;
}

.green-payment-table a:hover {
	color: var(--ts-c234f38) !important;
	text-decoration: underline;
}

.green-cart-table thead tr,
.green-cart-table thead th {
	background: var(--ts-c2f6f4e) !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;
	}

	.green-details-input-error {
		border-color: #c0392b !important;
		box-shadow: 0 0 0 3px rgba(192, 57, 43, .12) !important;
	}

	.green-required {
		color: #c0392b;
		font-weight: 800;
		margin-left: 4px;
	}
	
}

.green-fulfillment-card-disabled {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
	filter: grayscale(0.35);
}

.green-closed-badge {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #f8d7da;
	color: #842029;
	font-size: 12px;
	font-weight: 700;
}

.green-recommendations-tab {
	top: 240px;
}

.green-rec-intro {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px;
	margin-bottom: 16px;
	border-radius: 18px;
	background: linear-gradient(135deg, var(--ts-ceffaf1), #ffffff);
	border: 1px solid var(--ts-cdcefe0);
}

.green-rec-spark {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ts-c2f6f3e);
	color: #fff;
	font-size: 18px;
	flex: 0 0 auto;
	box-shadow: 0 4px 12px rgba(var(--ts-t2f6f3e),.25);
}

.green-rec-intro strong {
	display: block;
	font-size: 16px;
	color: var(--ts-c16251b);
}

.green-rec-intro p {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.35;
	color: var(--ts-c657568);
}

.green-rec-category-block {
	margin-bottom: 20px;
}

.green-rec-category-block h5 {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 800;
	color: var(--ts-c2f6f3e);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.green-rec-mini-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.green-rec-mini-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px;
	border-radius: 16px;
	border: 1px solid var(--ts-ce0eadf);
	background: #fff;
	text-decoration: none;
	color: var(--ts-c17251b);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.green-rec-mini-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(var(--ts-t1b4d2a), .12);
	border-color: var(--ts-c8cc99a);
	text-decoration: none;
	color: var(--ts-c17251b);
}

.green-rec-mini-thumb {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: var(--ts-ceef7ef);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	color: var(--ts-c2f6f3e);
	flex: 0 0 auto;
}

.green-rec-mini-title {
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.green-rec-mini-meta {
	margin-top: 3px;
	font-size: 12px;
	color: var(--ts-c657568);
}

/* ==========================================================
   GREEN PREDICTIVE ITEM SEARCH
========================================================== */

.green-predictive-results{
	position:absolute;
	background:#ffffff;
	border:1px solid rgba(var(--ts-t235f37),.18);
	border-radius:18px;
	box-shadow:0 18px 45px rgba(0,0,0,.20);

	max-height:500px;
	overflow-y:auto;
	overflow-x:hidden;
	-webkit-overflow-scrolling:touch;

	z-index:2147483647;
}

.green-predictive-result{
	display:block;
	width:100%;
	text-align:left;
	padding:13px 18px;
	background:#ffffff;
	border:0;
	border-bottom:1px solid var(--ts-ce8f0e8);
	cursor:pointer;
	transition:background .15s ease, color .15s ease;
}

.green-predictive-result:last-child{
	border-bottom:0;
}

.green-predictive-result:hover,
.green-predictive-result.is-active{
	background:var(--ts-ceef8ef);
	color:var(--ts-c1b5e20);
}

.green-predictive-label{
	display:block;
	font-size:15px;
	font-weight:700;
	line-height:1.25;
	color:var(--ts-c143d24);
}

.green-predictive-meta{
	display:block;
	margin-top:4px;
	font-size:12px;
	line-height:1.25;
	color:var(--ts-c6f7f73);
}

.green-predictive-highlight{
	background:none;
	color:var(--ts-c2e7d32);
	font-weight:800;
	padding:0;
	border-radius:0;
}

.green-predictive-results::-webkit-scrollbar{
	width:8px;
}

.green-predictive-results::-webkit-scrollbar-thumb{
	background:var(--ts-cc7d7c8);
	border-radius:10px;
}

.green-predictive-results::-webkit-scrollbar-track{
	background:#f6f8f6;
}

.green-predictive-view-all{
	background:var(--ts-cf4faf4);
	border-top:2px solid var(--ts-cdce8dc);
	text-align:center;
}

.green-predictive-view-all .green-predictive-label{
	color:var(--ts-c2b7a2b);
	font-size:15px;
	font-weight:700;
}

.green-predictive-view-all .green-predictive-meta{
	color:var(--ts-c6d7d70);
	font-size:12px;
}

.green-predictive-view-all:hover{
	background:var(--ts-ce9f6eb);
}

/* ==========================================================
   MOBILE FLOATING TAB SPACING FIX
   Prevent Filters and For You tabs from overlapping at top
========================================================== */

@media (max-width: 767px) {

	.green-filter-tab {
		top: 42%;
	}

	.green-recommendations-tab {
		top: calc(42% + 96px);
	}

}

@media (max-width: 767px) {

	.green-header-logo-wrap {
		gap: 8px;
	}

	.green-header-actions {
		gap: 10px;
	}

	.green-header-action-btn.green-header-mobile-only {
		margin-left: 8px;
	}

	.green-header-logo-img {
		max-width: 120px;
	}

}
/* Keep tier controls inside their grid tracks, including inherited theme button widths. */
.green-tier-row > div{min-width:0}
.green-tier-row .green-detail-actions{width:100%;min-width:0;margin:0}
.green-tier-row .green-detail-actions .btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0}
.green-tier-row .form-control{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.green-tier-name{overflow-wrap:anywhere}
