.ke-goodies,
.ke-goodie-detail,
.ke-place-goodies {
	max-width: 1120px;
	margin: 0 auto;
}

.ke-goodies__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 240px, 1fr ) );
	gap: 1.25rem;
	margin-top: 1.75rem;
}

.ke-goodie-card,
.ke-goodie-detail {
	border: 1px solid #dfe1f3;
	border-radius: 1rem;
	background: #fff;
	padding: 1.5rem;
}

.ke-goodie-card__image img,
.ke-goodie-detail__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: .65rem;
}

.ke-goodie-card h2,
.ke-goodie-detail h1 { color: #353a90; }
.ke-goodie-card h2 { margin: .35rem 0 .75rem; font-size: 1.35rem; }
.ke-goodie-card__place,
.ke-goodie-detail__place { color: #353a90; font-weight: 700; }
.ke-goodie-detail__content { margin-top: 1.25rem; }
.ke-goodie-detail__conditions { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #e8e8ef; }

.ke-goodie-redemption { margin-top: 1.75rem; }
.ke-goodie-redemption p { font-weight: 600; }
.ke-goodie-redemption button[disabled] { opacity: .72; cursor: wait; }
.ke-goodie-status { display: grid; gap: .25rem; margin-top: 1.5rem; padding: 1rem 1.2rem; border-radius: .75rem; }
.ke-goodie-status.is-redeemed { color: #124c33; background: #e8f6ed; }
.ke-goodie-status.is-unavailable { color: #4f4f58; background: #f3f3f6; }
.ke-place-goodies { margin-top: 2.5rem; }
.ke-goodie-account hr { margin: 2rem 0; border: 0; border-top: 1px solid #dfe1f3; }
.ke-goodies__phase,
.ke-business__clarification { margin-top: 1rem; padding: 1rem 1.2rem; border-left: 4px solid #ff914d; background: #fff7f1; }
.ke-business__grid { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 1.25rem; margin-top: 2rem; }
.ke-business__grid article,
.ke-business__clarification { border-radius: 1rem; }
.ke-business__grid article { padding: 1.5rem; border: 1px solid #dfe1f3; background: #fff; }
.ke-business__price { color: #353a90; font-size: 1.05rem; line-height: 1.55; }

/* Public TOP landing page: content remains native and is deliberately separate
 * from the account and Goodie workflows. */
.ke-business { width:min(100% - 3rem, 72rem); margin:clamp(2.5rem,6vw,5.5rem) auto; color:#252d61; }
.ke-business__hero { max-width:60rem; padding:clamp(2rem,5vw,4.25rem); border:1px solid #dfe1f3; border-radius:1rem; background:linear-gradient(135deg,#f5f6ff,#fff 72%); }
.ke-business__hero h2, .ke-business h2, .ke-business h3 { color:#353a90; letter-spacing:-.045em; line-height:1.08; }
.ke-business__hero h2 { max-width:17ch; margin:.25rem 0 1rem; font-size:clamp(2.15rem,5.5vw,4.35rem); }
.ke-business__hero > p:not(.ke-eyebrow) { max-width:43rem; font-size:clamp(1.03rem,2vw,1.22rem); }
.ke-business__section, .ke-business__booking, .ke-business__faq, .ke-business__closing { margin-top:clamp(3rem,7vw,6rem); }
.ke-business__section > h2, .ke-business__booking > h2, .ke-business__faq > h2 { max-width:19ch; margin:.2rem 0 1rem; font-size:clamp(1.85rem,4vw,3.1rem); }
.ke-business__section > p { max-width:46rem; }
.ke-business__platform { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr); gap:clamp(1.5rem,5vw,4rem); align-items:start; padding:clamp(1.35rem,4vw,2.5rem); border-top:3px solid #ff914d; background:#fafafe; }
.ke-business__platform h2 { margin:.2rem 0 1rem; font-size:clamp(1.7rem,3.5vw,2.65rem); }
.ke-business__steps { display:grid; gap:.7rem; }
.ke-business__steps p { display:flex; align-items:flex-start; gap:.65rem; margin:0; padding:.85rem; border:1px solid #dfe1f3; background:#fff; font-size:.94rem; line-height:1.35; }
.ke-business__steps strong { display:grid; flex:0 0 1.6rem; width:1.6rem; height:1.6rem; place-items:center; border-radius:50%; background:#353a90; color:#fff; font-size:.8rem; }
.ke-business__benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1.5rem; max-width:58rem; padding:0; list-style:none; }
.ke-business__benefits li { position:relative; padding-left:1.15rem; }
.ke-business__benefits li::before { position:absolute; left:0; color:#ff914d; content:"•"; font-weight:900; }
.ke-business__note { max-width:45rem; padding:.85rem 1rem; border-left:3px solid #ff914d; background:#fff7f1; font-size:.9rem; }
.ke-business__goodies { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(15rem,.65fr); gap:1.25rem clamp(1.5rem,5vw,4rem); align-items:start; margin-top:clamp(3rem,7vw,6rem); padding:clamp(1.4rem,4vw,3rem); border-radius:1rem; background:#353a90; color:#fff; }
.ke-business__goodies h2 { max-width:18ch; margin:.2rem 0 1rem; color:#fff; font-size:clamp(1.85rem,4vw,3.1rem); }
.ke-business__goodies .ke-eyebrow { color:#ff914d; }
.ke-business__goodie-example { padding:1.25rem; border:1px solid rgba(255,255,255,.32); border-radius:.7rem; background:#fff; color:#252d61; }
.ke-business__goodie-example .ke-eyebrow { color:#353a90; }
.ke-business__goodie-example strong { display:block; color:#353a90; font-size:1.2rem; line-height:1.18; }
.ke-business__goodie-note { grid-column:1 / -1; margin:0; font-size:.88rem; }
.ke-business__compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:60rem; }
.ke-business__compare article { padding:1.35rem; border:1px solid #dfe1f3; border-radius:.75rem; background:#fff; }
.ke-business__compare h3 { margin:.25rem 0 .65rem; font-size:1.45rem; }
.ke-business__compare-top { border:2px solid #353a90 !important; background:#f5f6ff !important; }
.ke-business__booking { max-width:60rem; padding:clamp(1.5rem,4vw,3rem); border-top:4px solid #ff914d; background:#f5f6ff; }
.ke-business__price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.4rem 0; }
.ke-business__price-grid p { margin:0; padding:1rem; background:#fff; }
.ke-business__price-grid strong, .ke-business__price-grid span { display:block; }
.ke-business__price-grid strong { color:#353a90; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.1; }
.ke-business__price-grid span { margin-top:.35rem; font-size:.9rem; }
.ke-business__faq { max-width:52rem; }
.ke-business__faq details { border-bottom:1px solid #dfe1f3; }
.ke-business__faq summary { padding:1rem 2rem 1rem 0; color:#353a90; font-weight:800; cursor:pointer; }
.ke-business__faq p { max-width:44rem; margin:0 0 1rem; }
.ke-business__closing { max-width:60rem; padding:clamp(1.5rem,4vw,3rem); border-radius:1rem; background:#fff7f1; }
.ke-business__closing h2 { margin:0 0 .75rem; color:#353a90; font-size:clamp(1.8rem,4vw,3rem); }
.ke-business__closing > p:last-child { font-size:.9rem; }

@media ( max-width: 450px ) {
	.ke-goodie-card,
	.ke-goodie-detail { padding: 1.15rem; }
	.ke-goodies__grid { grid-template-columns: 1fr; }
	.ke-goodie-redemption .ke-button { width: 100%; min-height: 52px; }
	.ke-business__grid { grid-template-columns: 1fr; }
	.ke-business { width:min(100% - 2rem,72rem); }
	.ke-business__hero { padding:1.35rem; }
	.ke-business__hero h2 { font-size:clamp(2rem,10vw,2.7rem); }
	.ke-business__platform, .ke-business__goodies, .ke-business__compare, .ke-business__price-grid, .ke-business__benefits { grid-template-columns:1fr; }
	.ke-business__section, .ke-business__booking, .ke-business__faq, .ke-business__closing { margin-top:3rem; }
	.ke-business__platform, .ke-business__goodies, .ke-business__booking, .ke-business__closing { padding:1.25rem; }
}
