/* ============================================================
   Premium CMS pages — Royal Fishing Flies Kenya (pflat theme)
   Loaded only on page_name == 'cms'
   Palette matches the site: deep green #0d2a1b, brand green
   #6cc24a, orange accent #fa6900
   ============================================================ */

body#cms .cms-premium {
	color: #3f4756;
	padding: 0 25px;          /* align with the theme's own content inset */
}

/* ---------- Hero ---------- */
body#cms .cms-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(120% 140% at 88% -10%, rgba(108, 194, 74, .30) 0%, rgba(108, 194, 74, 0) 55%),
		linear-gradient(135deg, #0b2418 0%, #16452a 42%, #2f7d3c 100%);
	color: #fff;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 18px 40px rgba(13, 42, 27, .22);
}
body#cms .cms-hero__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
body#cms .cms-hero__glow--one {
	width: 460px; height: 460px; right: -140px; top: -200px;
	background: radial-gradient(circle, rgba(108, 194, 74, .30) 0%, rgba(108, 194, 74, 0) 70%);
}
body#cms .cms-hero__glow--two {
	width: 340px; height: 340px; left: -120px; bottom: -210px;
	background: radial-gradient(circle, rgba(250, 105, 0, .22) 0%, rgba(250, 105, 0, 0) 70%);
}
body#cms .cms-hero__inner { position: relative; z-index: 2; padding: 38px 34px 80px; }

body#cms .cms-crumbs {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	font-size: 12px;
	letter-spacing: .02em;
	opacity: .9;
}
body#cms .cms-crumbs li { display: inline-block; }
body#cms .cms-crumbs li + li:before { content: "/"; padding: 0 8px; opacity: .6; }
body#cms .cms-crumbs a { color: #fff; text-decoration: none; }
body#cms .cms-crumbs a:hover { text-decoration: underline; }

body#cms .cms-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 6px 13px;
	border-radius: 999px;
	background: #fa6900;
	color: #fff;
	box-shadow: 0 6px 16px rgba(250, 105, 0, .30);
	margin-bottom: 16px;
}
body#cms .cms-title {
	margin: 0 0 14px;
	font-size: 40px;
	line-height: 1.12;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #fff;
	text-transform: capitalize;
}
body#cms .cms-lead {
	margin: 0 0 26px;
	max-width: 62ch;
	font-size: 16px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .92);
}

/* ---------- Buttons ---------- */
body#cms .cms-actions { display: flex; flex-wrap: wrap; gap: 12px; }
body#cms .cms-actions--end { justify-content: flex-end; }
body#cms .cms-btn {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
	border: 1px solid transparent;
}
body#cms .cms-btn:hover { text-decoration: none; transform: translateY(-1px); }
body#cms .cms-btn--primary {
	background: #6cc24a;
	color: #0d2a1b;
	box-shadow: 0 10px 22px rgba(13, 42, 27, .30);
}
body#cms .cms-btn--primary:hover { background: #7ed35d; color: #0d2a1b; }
body#cms .cms-btn--ghost {
	color: #fff;
	border-color: rgba(255, 255, 255, .55);
	background: rgba(255, 255, 255, .08);
}
body#cms .cms-btn--ghost:hover { background: rgba(255, 255, 255, .18); color: #fff; }
body#cms .cms-btn--light {
	background: rgba(255, 255, 255, .14);
	color: #fff;
	border-color: rgba(255, 255, 255, .38);
}
body#cms .cms-btn--light:hover { background: rgba(255, 255, 255, .24); color: #fff; }
body#cms .cms-btn--accent {
	background: #fa6900;
	color: #fff;
	box-shadow: 0 10px 22px rgba(120, 52, 0, .28);
}
body#cms .cms-btn--accent:hover { background: #ff7d1f; color: #fff; }

/* ---------- Trust strip ---------- */
body#cms .cms-trust { position: relative; z-index: 3; margin-top: -46px; }
body#cms .cms-trust__grid {
	list-style: none;
	margin: 0;
	padding: 26px 24px;
	background: #fff;
	border: 1px solid #e7ece7;
	border-radius: 0 0 18px 18px;
	box-shadow: 0 14px 34px rgba(13, 42, 27, .12);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
body#cms .cms-trust__item { display: flex; align-items: flex-start; gap: 13px; }
body#cms .cms-trust__icon {
	flex: 0 0 42px;
	width: 42px; height: 42px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eaf7e0, #d9f0cb);
	color: #2f7d3c;
	font-size: 16px;
}
body#cms .cms-trust__text { display: block; line-height: 1.45; }
body#cms .cms-trust__text strong { display: block; font-size: 13.5px; font-weight: 700; color: #1e2a22; }
body#cms .cms-trust__text em { display: block; font-style: normal; font-size: 12px; color: #7b8595; }

/* ---------- Content card + prose ---------- */
body#cms .cms-body { padding: 44px 0 6px; }
body#cms .cms-card {
	background: #fff;
	border: 1px solid #e7ece7;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(13, 42, 27, .09);
	padding: 38px 42px;
}
body#cms #center_column .cms-prose {
	font-size: 14.5px;
	line-height: 1.85;
	color: #38424c;
	padding: 0;                 /* the theme adds .rte padding */
	max-width: 900px;
	margin: 0 auto;
}
body#cms #center_column .cms-prose > *:first-child { margin-top: 0; }
body#cms #center_column .cms-prose h1,
body#cms #center_column .cms-prose h2 {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
	color: #1a2620;
	letter-spacing: -.01em;
	margin: 38px 0 14px;
	padding-left: 14px;
	border-left: 4px solid #6cc24a;
	border-radius: 2px;
}
body#cms #center_column .cms-prose h2:first-child { margin-top: 0; }
body#cms #center_column .cms-prose h3 {
	font-size: 19px;
	font-weight: 700;
	color: #1a2620;
	letter-spacing: -.01em;
	margin: 34px 0 16px;
	padding-bottom: 9px;
	border-bottom: 2px solid #fa6900;
	display: inline-block;
}
/* the line directly under an h2 reads as a lead-in, not a section title */
body#cms #center_column .cms-prose h2 + h3 {
	display: block;
	border: 0;
	padding: 0;
	margin: -6px 0 16px;
	font-size: 19px;
	font-style: italic;
	font-weight: 600;
	color: #2f7d3c;
}
body#cms #center_column .cms-prose h3 + p { font-size: 15.5px; color: #4a5661; }
body#cms #center_column .cms-prose h4 {
	font-size: 15px;
	font-weight: 700;
	color: #fa6900;
	margin: 0 0 6px;
}
body#cms #center_column .cms-prose h4 strong { color: #fa6900; }
body#cms #center_column .cms-prose h4:before {
	content: "\2713";
	display: inline-block;
	width: 20px; height: 20px;
	line-height: 20px;
	text-align: center;
	border-radius: 50%;
	background: #eaf7e0;
	color: #2f7d3c;
	font-size: 12px;
	margin-right: 8px;
	vertical-align: 1px;
}

/* feature cards (h4 + paragraph) */
body#cms #center_column .cms-feature {
	background: #f8fbf6;
	border: 1px solid #e6efe2;
	border-radius: 12px;
	padding: 18px 20px;
	margin: 0 0 14px;
}
body#cms #center_column .cms-feature h4 { margin: 0 0 6px; }
body#cms #center_column .cms-feature p { margin: 0; color: #4a5661; }

/* pull quote */
body#cms #center_column .cms-quote {
	font-style: italic;
	font-size: 16.5px;
	line-height: 1.7;
	color: #2f7d3c;
	border-left: 3px solid #6cc24a;
	padding-left: 18px;
	margin: 22px 0 26px;
}
body#cms #center_column .cms-prose p { margin: 0 0 18px; font-size: 14.5px; line-height: 1.85; color: #38424c; }
body#cms #center_column .cms-prose strong { color: #1e2a22; font-weight: 700; }
body#cms #center_column .cms-prose em { color: #4b5563; }
body#cms #center_column .cms-prose a { color: #2f7d3c; text-decoration: underline; }
body#cms #center_column .cms-prose a:hover { color: #1e5c29; }
body#cms #center_column .cms-prose ul,
body#cms #center_column .cms-prose ol { margin: 0 0 18px; padding-left: 20px; }
body#cms #center_column .cms-prose ul { list-style: disc outside; }
body#cms #center_column .cms-prose ol { list-style: decimal outside; }
body#cms #center_column .cms-prose li { margin-bottom: 7px; }
body#cms #center_column .cms-prose ul li::marker { color: #6cc24a; font-size: 1.05em; }
body#cms #center_column .cms-prose ol li::marker { color: #fa6900; font-weight: 700; }
body#cms #center_column .cms-prose hr {
	border: 0;
	height: 1px;
	margin: 30px 0;
	background: linear-gradient(90deg, #e1e8e3, rgba(225, 232, 227, 0));
}
body#cms #center_column .cms-prose table {
	width: 100%;
	margin: 8px 0 22px;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 10px;
	overflow: hidden;
	font-size: 13.5px;
	box-shadow: 0 6px 18px rgba(13, 42, 27, .09);
}
body#cms #center_column .cms-prose table th {
	background: linear-gradient(135deg, #16452a, #2f8a3f);
	color: #fff;
	font-weight: 700;
	text-align: left;
	padding: 13px 15px;
	border: 0;
}
body#cms #center_column .cms-prose table td {
	padding: 12px 15px;
	border: 0;
	border-bottom: 1px solid #eef2ee;
	color: #3f4756;
}
body#cms #center_column .cms-prose table td:last-child { font-weight: 700; color: #2f7d3c; }
body#cms #center_column .cms-prose table tbody tr:nth-child(even) { background: #f7faf6; }
body#cms #center_column .cms-prose table tbody tr:last-child td { border-bottom: 0; }
body#cms #center_column .cms-prose table tbody tr:hover { background: #eef7e6; }
body#cms #center_column .cms-prose ul > li > table { margin-top: 6px; }
body#cms #center_column .cms-prose img { max-width: 100%; height: auto; border-radius: 10px; }


/* ---------- payment method chips ---------- */
body#cms #center_column .cms-methods { margin: 4px 0 20px; }
body#cms #center_column .cms-methods ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}
body#cms #center_column .cms-methods li {
	margin: 0;
	background: #eaf7e0;
	border: 1px solid #d4ecc9;
	color: #2f7d3c;
	border-radius: 999px;
	padding: 7px 15px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .01em;
}


/* ---------- stat band ---------- */
body#cms #center_column .cms-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 22px 0 6px;
}
body#cms #center_column .cms-stat {
	background: linear-gradient(180deg, #f4faf1 0%, #ffffff 100%);
	border: 1px solid #e2eedf;
	border-top: 3px solid #6cc24a;
	border-radius: 12px;
	padding: 18px 18px 16px;
}
body#cms #center_column .cms-stat__num {
	display: block;
	font-size: 30px;
	line-height: 1.05;
	font-weight: 800;
	color: #2f7d3c;
	letter-spacing: -.02em;
	margin-bottom: 4px;
}
body#cms #center_column .cms-stat__label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #1a2620;
	margin-bottom: 3px;
}
body#cms #center_column .cms-stat__note {
	display: block;
	font-size: 11.5px;
	line-height: 1.45;
	color: #7b8595;
}

/* ---------- numbered steps ---------- */
body#cms #center_column .cms-steps {
	list-style: none;
	margin: 20px 0 22px;
	padding: 0;
	counter-reset: cmsstep;
}
body#cms #center_column .cms-step {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	background: #fff;
	border: 1px solid #e7ece7;
	border-radius: 12px;
	padding: 18px 20px;
	margin-bottom: 12px;
	box-shadow: 0 6px 18px rgba(13, 42, 27, .05);
}
body#cms #center_column .cms-step__num {
	flex: 0 0 42px;
	width: 42px; height: 42px;
	border-radius: 50%;
	background: #6cc24a;
	color: #0d2a1b;
	font-size: 15px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 14px rgba(76, 152, 45, .28);
}
body#cms #center_column .cms-step__body strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1a2620;
	margin-bottom: 4px;
}
body#cms #center_column .cms-step__body em {
	display: block;
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.65;
	color: #5b6672;
}

/* ---------- sign-off ---------- */
body#cms #center_column .cms-signoff {
	background: linear-gradient(90deg, #f2faf0 0%, #fbfdfa 100%);
	border-left: 3px solid #6cc24a;
	border-radius: 0 10px 10px 0;
	padding: 15px 20px;
	margin: 18px 0 6px;
	font-size: 15.5px;
	color: #2f7d3c;
}
body#cms #center_column .cms-signoff strong { color: #1a2620; }


/* ---------- points list ---------- */
body#cms #center_column .cms-points { list-style: none; margin: 0 0 10px; padding: 0; }
body#cms #center_column .cms-points li {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 0 30px;
}
body#cms #center_column .cms-points li:before {
	content: "¹3";
	position: absolute;
	left: 0; top: 2px;
	width: 20px; height: 20px;
	border-radius: 50%;
	background: #eaf7e0;
	color: #2f7d3c;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
	line-height: 20px;
}
body#cms #center_column .cms-points li p { margin: 0; }
body#cms #center_column .cms-points li strong { color: #1a2620; }

/* ---------- highlight callout ---------- */
body#cms #center_column .cms-highlight {
	display: flex;
	align-items: center;
	gap: 18px;
	background: linear-gradient(120deg, #f2faf0 0%, #ffffff 100%);
	border: 1px solid #dcecd7;
	border-left: 4px solid #6cc24a;
	border-radius: 12px;
	padding: 20px 22px;
	margin: 6px 0 18px;
}
body#cms #center_column .cms-highlight__num {
	font-size: 32px;
	line-height: 1;
	font-weight: 800;
	color: #2f7d3c;
	letter-spacing: -.02em;
	flex: 0 0 auto;
}
body#cms #center_column .cms-highlight__text { font-size: 13.5px; line-height: 1.6; color: #4a5661; }
body#cms #center_column .cms-highlight__text strong { display: block; font-size: 15px; color: #1a2620; margin-bottom: 3px; }

/* ---------- Range ---------- */
body#cms .cms-range { padding: 42px 0 6px; }
body#cms .cms-section-head { margin: 0 0 22px; }
body#cms .cms-section-title {
	margin: 0 0 6px;
	font-size: 25px;
	font-weight: 700;
	color: #1a2620;
	letter-spacing: -.01em;
	text-transform: none;
}
body#cms .cms-section-sub { margin: 0; color: #7b8595; font-size: 13.5px; }
body#cms .cms-range__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
body#cms .cms-range__card {
	background: #fff;
	border: 1px solid #e7ece7;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(13, 42, 27, .07);
	transition: transform .15s ease, box-shadow .15s ease;
}
body#cms .cms-range__card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(13, 42, 27, .14); }
body#cms .cms-range__card a {
	display: block;
	padding: 22px 22px 20px;
	color: inherit;
	text-decoration: none;
}
body#cms .cms-range__name {
	display: block;
	font-size: 15.5px;
	font-weight: 700;
	color: #1a2620;
	margin-bottom: 4px;
}
body#cms .cms-range__meta { display: block; font-size: 12.5px; color: #7b8595; margin-bottom: 14px; }
body#cms .cms-range__price {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 700;
	color: #2f7d3c;
	background: #eaf7e0;
	border-radius: 999px;
	padding: 3px 10px;
	margin-bottom: 14px;
}
body#cms .cms-range__cta {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #2f7d3c;
}
body#cms .cms-range__cta i { margin-left: 4px; transition: transform .15s ease; }
body#cms .cms-range__card:hover .cms-range__cta { color: #fa6900; }
body#cms .cms-range__card:hover .cms-range__cta i { transform: translateX(3px); }

/* ---------- CTA ---------- */
body#cms .cms-cta { padding: 38px 0 54px; }
body#cms .cms-cta__inner {
	background: linear-gradient(135deg, #0b2418 0%, #1c5133 55%, #2f7d3c 100%);
	border-radius: 16px;
	padding: 36px 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	box-shadow: 0 18px 38px rgba(13, 42, 27, .26);
}
body#cms .cms-cta__copy { max-width: 58ch; }
body#cms .cms-cta__copy h2 {
	margin: 0 0 8px;
	font-size: 25px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -.01em;
	text-transform: none;
	border: 0;
	padding: 0;
}
body#cms .cms-cta__copy p { margin: 0; color: rgba(255, 255, 255, .90); font-size: 14px; line-height: 1.7; }
body#cms .cms-cta__contact {
	margin: 12px 0 0;
	font-size: 13px;
	color: rgba(255, 255, 255, .88);
}
body#cms .cms-cta__contact a { color: #6cc24a; font-weight: 700; text-decoration: none; }
body#cms .cms-cta__contact a:hover { color: #8ada6c; text-decoration: underline; }
body#cms .cms-cta__contact span { opacity: .55; margin: 0 8px; }

@media (max-width: 991px) {
	body#cms #center_column .cms-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	body#cms #center_column .cms-stats { grid-template-columns: 1fr; }
	body#cms #center_column .cms-stat__num { font-size: 26px; }
	body#cms #center_column .cms-step { padding: 15px 16px; gap: 12px; }
	body#cms #center_column .cms-step__num { flex: 0 0 36px; width: 36px; height: 36px; font-size: 13px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	body#cms .cms-trust__grid { grid-template-columns: repeat(2, 1fr); }
	body#cms .cms-range__grid { grid-template-columns: repeat(2, 1fr); }
	body#cms .cms-title { font-size: 34px; }
	body#cms .cms-cta__inner { padding: 30px 26px; }
	body#cms .cms-actions--end { justify-content: flex-start; }
}
@media (max-width: 600px) {
	body#cms .cms-premium { padding: 0 12px; }
	body#cms .cms-hero { border-radius: 14px 14px 0 0; }
	body#cms .cms-hero__inner { padding: 26px 20px 64px; }
	body#cms .cms-title { font-size: 27px; }
	body#cms .cms-lead { font-size: 14.5px; }
	body#cms .cms-trust { margin-top: -40px; }
	body#cms .cms-trust__grid { grid-template-columns: 1fr; padding: 20px 18px; }
	body#cms .cms-range__grid { grid-template-columns: 1fr; }
	body#cms .cms-card { padding: 26px 20px; }
	body#cms .cms-body { padding: 32px 0 4px; }
	body#cms #center_column .cms-prose h2 { font-size: 20px; }
	body#cms #center_column .cms-prose h3 { font-size: 16.5px; }
	body#cms #center_column .cms-prose table { font-size: 12.5px; }
	body#cms #center_column .cms-prose table th, body#cms #center_column .cms-prose table td { padding: 10px 11px; }
	body#cms .cms-cta__copy h2 { font-size: 21px; }
	body#cms .cms-actions .cms-btn { width: 100%; text-align: center; }
}
