/*
 * CCN UX BUILDER — frontend base styles.
 * Deliberately minimal: layout primitives (flex grid) + sane element
 * defaults. All per-instance styling (colors, spacing, fonts) is emitted
 * inline / in scoped <style> blocks by the renderer, not here — this file
 * stays small and cacheable regardless of how many pages use the builder.
 */

.fpb-content {
	width: 100%;
}

.fpb-section {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
.fpb-section__inner {
	margin: 0 auto;
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
}
.fpb-section--full .fpb-section__inner {
	max-width: none;
}

.fpb-column {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: 10px;
	width: 100%;
}

.fpb-heading {
	margin: 0 0 16px;
	line-height: 1.2;
}

.fpb-text {
	margin: 0 0 16px;
	line-height: 1.6;
}
.fpb-text:last-child,
.fpb-heading:last-child {
	margin-bottom: 0;
}

.fpb-image {
	max-width: 100%;
	height: auto;
	display: block;
}

.fpb-button-wrap {
	margin: 0 0 16px;
}
.fpb-button {
	display: inline-block;
	padding: 12px 28px;
	border: 2px solid transparent;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	background: #1e1e1e;
	color: #fff;
	transition: opacity .15s ease;
}
.fpb-button:hover {
	opacity: .85;
}
.fpb-button--outline {
	background: transparent;
	border-color: currentColor;
	color: #1e1e1e;
}
.fpb-button--text {
	background: transparent;
	padding-left: 0;
	padding-right: 0;
	color: #1e1e1e;
}

.fpb-spacer {
	width: 100%;
}

.fpb-divider {
	margin: 20px auto;
}

.fpb-html {
	margin: 0 0 16px;
}
.fpb-html:last-child {
	margin-bottom: 0;
}

/* Base responsive behavior: columns stack automatically under 550px
 * unless an element's own responsive width settings say otherwise
 * (those are emitted as scoped overrides with higher specificity via id). */
@media (max-width: 549px) {
	.fpb-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

/* Accordion */
.fpb-accordion {
	width: 100%;
	margin: 0 0 20px;
}
.fpb-accordion__item {
	box-sizing: border-box;
	border-top: 1px solid var(--fpb-accordion-border, #e5e5e5);
	background: var(--fpb-accordion-content-bg, #fff);
}
.fpb-accordion__item:last-child {
	border-bottom: 1px solid var(--fpb-accordion-border, #e5e5e5);
}
.fpb-accordion__title {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	line-height: 1.35;
	color: var(--fpb-accordion-title-color, #333);
	background: var(--fpb-accordion-title-bg, #fff);
}
.fpb-accordion__title::-webkit-details-marker { display: none; }
.fpb-accordion__content {
	padding: 16px;
	color: inherit;
	background: var(--fpb-accordion-content-bg, #fff);
	line-height: 1.65;
}
.fpb-accordion__content > :first-child { margin-top: 0; }
.fpb-accordion__content > :last-child { margin-bottom: 0; }
.fpb-accordion__icon {
	position: relative;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
}
.fpb-accordion--icon-plus .fpb-accordion__icon::before,
.fpb-accordion--icon-plus .fpb-accordion__icon::after {
	content: '';
	position: absolute;
	background: currentColor;
	left: 1px;
	right: 1px;
	top: 6px;
	height: 2px;
}
.fpb-accordion--icon-plus .fpb-accordion__icon::after {
	transform: rotate(90deg);
	transition: transform .18s ease;
}
.fpb-accordion--icon-plus details[open] > summary .fpb-accordion__icon::after { transform: rotate(0); }
.fpb-accordion--icon-chevron .fpb-accordion__icon::before {
	content: '';
	position: absolute;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	top: 1px;
	left: 2px;
	transition: transform .18s ease, top .18s ease;
}
.fpb-accordion--icon-chevron details[open] > summary .fpb-accordion__icon::before {
	transform: rotate(225deg);
	top: 5px;
}
.fpb-accordion--minimal .fpb-accordion__title { padding-left: 0; padding-right: 0; }
.fpb-accordion--minimal .fpb-accordion__content { padding: 2px 0 18px; }
.fpb-accordion--boxed { display: flex; flex-direction: column; gap: var(--fpb-accordion-gap, 10px); }
.fpb-accordion--boxed .fpb-accordion__item {
	border: 1px solid var(--fpb-accordion-border, #ddd);
	border-radius: var(--fpb-accordion-radius, 6px);
	overflow: hidden;
}

/* Compatibility wrapper for content imported from post_content. Deliberately
 * unopinionated so the active theme/Flatsome shortcode CSS remains in control. */
.fpb-legacy-content { width: 100%; }
.fpb-icon{width:100%;line-height:1.1}.fpb-icon i{display:inline-block}


/* Imported legacy nodes carry their original classes/styles. Avoid CCN base
 * defaults winning over the active theme when those source hooks are present. */
.fpb-import-container { box-sizing: border-box; }
.fpb-heading[class*=" "] { }

/* v0.8 forced CCN page template: the theme header/footer remain, while the
 * CCN canvas owns the content region. Avoid theme content-container widths. */
.ccn-ux-page { width:100%; max-width:none; margin:0; padding:0; }
body.ccn-ux-builder-page #ccn-ux-page.fpb-content { min-height:1px; }
.fpb-legacy-document { width:100%; }

/* CCN portable dynamic-content cards. Kept deliberately scoped so themes can
   coexist without CCN globally resetting typography or layout. */
.ccn-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ccn-module-grid--1{grid-template-columns:1fr}.ccn-module-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ccn-module-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ccn-content-card{background:var(--ccn-surface,#fff);border:1px solid var(--ccn-border,#dbe4ee);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 35px rgba(7,29,56,.05);transition:transform .2s ease,box-shadow .2s ease}.ccn-content-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(7,29,56,.10)}.ccn-content-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eaf0f6}.ccn-content-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.ccn-content-card:hover .ccn-content-card__media img{transform:scale(1.025)}.ccn-content-card__body{padding:26px;display:flex;flex-direction:column;gap:13px;min-height:230px}.ccn-content-card__meta{color:var(--ccn-primary,#1683ff);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.ccn-content-card h3{margin:0;font-size:clamp(22px,2vw,30px);line-height:1.1}.ccn-content-card h3 a{color:var(--ccn-heading,#071d38);text-decoration:none}.ccn-content-card p{margin:0;color:var(--ccn-text,#425466);line-height:1.65}.ccn-content-card__link{margin-top:auto;color:var(--ccn-primary,#1683ff);font-weight:700;text-decoration:none}.ccn-module-empty{padding:28px;border:1px dashed var(--ccn-border,#dbe4ee);border-radius:14px;color:var(--ccn-muted,#7a8796);text-align:center}@media(max-width:900px){.ccn-module-grid,.ccn-module-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.ccn-module-grid,.ccn-module-grid--2,.ccn-module-grid--4{grid-template-columns:1fr}.ccn-content-card__body{min-height:0}}

/* Dedicated module detail pages. The theme keeps the site shell; CCN owns only
   the structured record body, so this travels safely between themes. */
.ccn-detail{--ccn-detail-max:1180px;max-width:var(--ccn-detail-max);margin:0 auto;padding:clamp(28px,5vw,72px) 22px;color:var(--ccn-text,#425466)}.ccn-detail__hero{background:var(--ccn-secondary,#071d38);color:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);min-height:360px}.ccn-detail__hero-copy{padding:clamp(36px,6vw,78px);display:flex;flex-direction:column;justify-content:center}.ccn-detail__eyebrow{color:#70b7ff;font-size:12px;font-weight:800;letter-spacing:.16em}.ccn-detail__hero h1{color:#fff;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.04em;margin:14px 0 18px}.ccn-detail__lead{color:#d6e3f2;font-size:clamp(18px,2vw,23px);line-height:1.5;margin:0;max-width:700px}.ccn-detail__hero-media img{display:block;width:100%;height:100%;object-fit:cover;min-height:360px}.ccn-detail__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:42px;margin-top:48px}.ccn-detail__content{font-size:18px;line-height:1.75;min-width:0}.ccn-detail__content>:first-child{margin-top:0}.ccn-detail__facts{background:var(--ccn-surface,#f5f8fc);border:1px solid var(--ccn-border,#dbe4ee);border-radius:22px;padding:26px;height:max-content;display:grid;gap:0}.ccn-detail__fact{display:flex;flex-direction:column;gap:4px;padding:15px 0;border-bottom:1px solid var(--ccn-border,#dbe4ee)}.ccn-detail__fact:first-child{padding-top:0}.ccn-detail__fact span{color:var(--ccn-muted,#7a8796);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.ccn-detail__fact strong{color:var(--ccn-heading,#071d38);font-size:16px}.ccn-detail__media{display:grid;gap:10px;padding-top:20px}.ccn-detail__media audio{width:100%}.ccn-detail__media iframe{max-width:100%;height:auto;aspect-ratio:16/9}.ccn-detail__button{margin-top:16px;display:block;padding:14px 17px;border-radius:11px;background:var(--ccn-primary,#1683ff);color:#fff!important;text-decoration:none!important;font-weight:750;text-align:center}.ccn-detail__button--ghost{background:transparent;color:var(--ccn-heading,#071d38)!important;border:1px solid var(--ccn-border,#dbe4ee)}@media(max-width:800px){.ccn-detail__hero{grid-template-columns:1fr}.ccn-detail__hero-media{order:-1;max-height:330px}.ccn-detail__grid{grid-template-columns:1fr;gap:26px}.ccn-detail__hero-copy{padding:34px 28px}.ccn-detail__hero h1{font-size:clamp(38px,13vw,62px)}}

/* CCN forms */
.ccn-form{display:grid;gap:18px}.ccn-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ccn-form__field{display:grid;gap:7px;color:var(--ccn-heading,#071d38);font-weight:700;font-size:13px}.ccn-form__field span span{color:var(--ccn-error,#d64545)}.ccn-form__field--textarea,.ccn-form__field--checkbox{grid-column:1/-1}.ccn-form input:not([type=checkbox]),.ccn-form textarea,.ccn-form select{box-sizing:border-box;width:100%;border:1px solid var(--ccn-border,#dbe4ee);border-radius:12px;background:#fff;color:var(--ccn-text,#425466);padding:13px 14px;min-height:48px;font:inherit}.ccn-form textarea{min-height:140px;resize:vertical}.ccn-form input:focus,.ccn-form textarea:focus,.ccn-form select:focus{outline:0;border-color:var(--ccn-primary,#1683ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--ccn-primary,#1683ff) 15%,transparent)}.ccn-form__field--checkbox{display:flex;flex-direction:row;align-items:center}.ccn-form__submit{justify-self:start;border:0;border-radius:12px;background:var(--ccn-primary,#1683ff);color:#fff;padding:14px 22px;font-weight:800;cursor:pointer}.ccn-hp{position:absolute!important;left:-9999px!important}.ccn-detail__booking-form{display:grid;gap:14px;padding-top:20px}.ccn-detail__booking-form .ccn-form__grid{grid-template-columns:1fr}.ccn-detail__event-date{font-size:17px;font-weight:750;color:#9fd0ff;margin-top:-6px;margin-bottom:12px}
/* Maps */
.ccn-map{border:1px solid var(--ccn-border,#dbe4ee);border-radius:22px;overflow:hidden;background:var(--ccn-surface,#f5f8fc);box-shadow:0 14px 36px rgba(7,29,56,.08)}.ccn-map iframe{display:block;width:100%;height:var(--ccn-map-height,420px);border:0}.ccn-map__bar{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 20px}.ccn-map__bar span{color:var(--ccn-muted,#7a8796)}.ccn-map__bar a{color:var(--ccn-primary,#1683ff);font-weight:750;text-decoration:none}
/* Header/footer reusable layouts */
.ccn-site-shell{width:min(1180px,calc(100% - 40px));margin:auto}.ccn-site-header{background:var(--ccn-secondary,#071d38);color:#fff;position:relative;z-index:20}.ccn-site-header .ccn-site-shell{min-height:84px;display:flex;align-items:center;gap:28px}.ccn-site-brand{display:flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;white-space:nowrap}.ccn-site-brand img{max-height:50px;max-width:220px}.ccn-site-brand__mark{width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ccn-primary,#1683ff);display:grid;place-items:center;font-size:31px;font-weight:300}.ccn-site-header nav{margin-left:auto}.ccn-site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:20px;list-style:none!important;margin:0!important;padding:0!important}.ccn-site-nav li{margin:0!important}.ccn-site-nav a{color:inherit!important;text-decoration:none!important}.ccn-site-cta{padding:11px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff!important;text-decoration:none!important;font-weight:800}.ccn-site-header--centered .ccn-site-shell{justify-content:center}.ccn-site-header--centered nav{margin-left:0}.ccn-site-footer{background:var(--ccn-secondary,#071d38);color:#c2d2e4;padding:64px 0 22px}.ccn-site-footer__grid{display:grid;grid-template-columns:1.15fr .75fr .75fr 1.05fr;gap:48px}.ccn-site-footer h2,.ccn-site-footer h3{color:#fff;margin:14px 0}.ccn-site-footer__brand p{max-width:330px;line-height:1.7}.ccn-site-footer__label{display:block;color:#fff;font-weight:800;margin-bottom:20px}.ccn-site-footer .ccn-site-nav{display:grid;gap:12px}.ccn-site-footer__cta{background:#10375f;border-radius:26px;padding:30px;align-self:start}.ccn-site-footer__cta>span{font-size:11px;color:#73b9ff;font-weight:850;letter-spacing:.08em}.ccn-site-footer__cta h3{font-size:30px;line-height:1.08}.ccn-site-footer__cta a{color:#fff!important;text-decoration:none!important;font-weight:800}.ccn-site-footer__bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.ccn-content-card__icon{width:58px;height:58px;margin:24px 24px -8px;border-radius:16px;background:color-mix(in srgb,var(--ccn-card-accent,#1683ff) 12%,white);color:var(--ccn-card-accent,#1683ff);display:grid;place-items:center;font-size:23px}.ccn-content-card--ministries{border-top:3px solid var(--ccn-card-accent,#1683ff)}
@media(max-width:780px){.ccn-form__grid{grid-template-columns:1fr}.ccn-map__bar{grid-template-columns:1fr}.ccn-site-header .ccn-site-shell{flex-wrap:wrap;padding:14px 0}.ccn-site-header nav{order:3;width:100%;margin-left:0}.ccn-site-nav{gap:12px}.ccn-site-footer__grid{grid-template-columns:1fr 1fr;gap:34px}.ccn-site-footer__brand,.ccn-site-footer__cta{grid-column:1/-1}.ccn-site-footer__bottom{flex-direction:column;gap:8px}}
@media(max-width:520px){.ccn-site-footer__grid{grid-template-columns:1fr}.ccn-site-footer__brand,.ccn-site-footer__cta{grid-column:auto}.ccn-site-shell{width:min(100% - 30px,1180px)}}

/* ================================================================
 * CCN structured archives — theme-independent presentation layer.
 * The active theme still supplies header/footer; CCN owns only the archive.
 * ================================================================ */
.ccn-archive{--ccn-a-max:1240px;color:var(--ccn-text,#425466);background:#fff}.ccn-archive__shell{width:min(var(--ccn-a-max),calc(100% - 40px));margin:auto}.ccn-archive__hero{background:linear-gradient(135deg,var(--ccn-secondary,#071d38),#0d3158);color:#fff;padding:clamp(64px,9vw,128px) 0}.ccn-archive__eyebrow{display:inline-flex;align-items:center;gap:8px;color:#7bc0ff;font-weight:850;letter-spacing:.16em;font-size:12px}.ccn-archive__hero h1{color:#fff!important;font-size:clamp(52px,8vw,96px)!important;line-height:.94!important;letter-spacing:-.055em!important;margin:18px 0 24px!important}.ccn-archive__hero p{max-width:720px;margin:0;color:#d7e6f5;font-size:clamp(18px,2vw,24px);line-height:1.55}.ccn-archive__body{padding:clamp(44px,7vw,92px) 0;background:linear-gradient(#f7f9fc,#fff)}.ccn-archive__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.ccn-archive__grid--team{grid-template-columns:repeat(4,minmax(0,1fr))}.ccn-archive .ccn-content-card{background:#fff;border:1px solid #dce5ee;border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(7,29,56,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.ccn-archive .ccn-content-card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(7,29,56,.12);border-color:#c8d7e6}.ccn-archive .ccn-content-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eaf0f6}.ccn-archive .ccn-content-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.ccn-archive .ccn-content-card:hover .ccn-content-card__media img{transform:scale(1.035)}.ccn-archive .ccn-content-card__body{padding:26px;min-height:230px;display:flex;flex-direction:column}.ccn-archive .ccn-content-card__meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#718197;margin-bottom:12px}.ccn-archive .ccn-content-card h3{font-size:clamp(24px,2.2vw,32px)!important;line-height:1.08!important;letter-spacing:-.025em!important;margin:0 0 14px!important}.ccn-archive .ccn-content-card h3 a{color:var(--ccn-heading,#071d38)!important;text-decoration:none!important}.ccn-archive .ccn-content-card p{font-size:16px;line-height:1.65;color:#66778b;margin:0 0 26px}.ccn-archive .ccn-content-card__link{margin-top:auto;color:var(--ccn-primary,#1683ff)!important;font-weight:800;text-decoration:none!important}.ccn-archive .ccn-content-card__icon{margin:24px 24px -5px}.ccn-archive .ccn-content-card--team .ccn-content-card__media{aspect-ratio:4/5}.ccn-archive .ccn-content-card--team .ccn-content-card__body{min-height:190px}.ccn-archive__pagination{margin-top:48px}.ccn-archive__pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.ccn-archive__pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #dce5ee;border-radius:11px;text-decoration:none;background:#fff;color:#17324e;padding:0 12px}.ccn-archive__pagination .current{background:var(--ccn-primary,#1683ff);border-color:var(--ccn-primary,#1683ff);color:#fff}.ccn-archive--event .ccn-content-card{border-top:4px solid var(--ccn-primary,#1683ff)}
@media(max-width:980px){.ccn-archive__grid,.ccn-archive__grid--team{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.ccn-archive__shell{width:min(100% - 28px,var(--ccn-a-max))}.ccn-archive__grid,.ccn-archive__grid--team{grid-template-columns:1fr}.ccn-archive__hero{padding:56px 0}.ccn-archive__hero h1{font-size:clamp(46px,16vw,72px)!important}.ccn-archive .ccn-content-card{border-radius:20px}}

/* Form states and polish */
.ccn-form-wrap{width:100%}.ccn-form__success,.ccn-form__error{border-radius:14px;padding:14px 16px;margin-bottom:18px;font-weight:700}.ccn-form__success{background:#ecfdf3;border:1px solid #b7ebca;color:#17653b}.ccn-form__error{background:#fff1f1;border:1px solid #f2c3c3;color:#9b2c2c}.ccn-form__captcha{grid-column:1/-1}.ccn-form__checkbox{display:flex;align-items:center;gap:10px;font-weight:500}.ccn-form__checkbox input{width:18px;height:18px}.ccn-form__checkbox em{font-style:normal;color:#58697c}.ccn-form__submit{transition:transform .15s ease,box-shadow .15s ease}.ccn-form__submit:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(22,131,255,.22)}

/* 0.13.2 — premium form controls and readable responsive footer */
.ccn-form{font-size:16px;line-height:1.5}.ccn-form__field{font-size:15px;gap:9px}.ccn-form__control{position:relative;display:block}.ccn-form__icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:22px;height:22px;display:grid;place-items:center;color:var(--ccn-primary,#1683ff);font-size:16px;line-height:1;z-index:1;pointer-events:none}.ccn-form__control>input:not([type=checkbox]),.ccn-form__control>select{padding-left:48px}.ccn-form__field--textarea .ccn-form__icon{top:18px;transform:none}.ccn-form__field--textarea textarea{padding-left:48px}.ccn-form__field--checkbox .ccn-form__icon{display:none}.ccn-form__field--checkbox .ccn-form__control{width:100%}.ccn-form input:not([type=checkbox]),.ccn-form textarea,.ccn-form select{font-size:16px;min-height:54px}.ccn-form textarea{min-height:160px}.ccn-form__submit{font-size:16px;padding:15px 24px}
.ccn-site-footer{font-size:16px;line-height:1.6}.ccn-site-footer h2{font-size:clamp(24px,2vw,31px);line-height:1.15}.ccn-site-footer__label{font-size:17px;margin-bottom:16px}.ccn-site-footer .ccn-site-nav a,.ccn-site-footer__brand p{font-size:16px;line-height:1.65}.ccn-site-footer__cta h3{font-size:clamp(28px,3vw,40px);line-height:1.08}.ccn-site-footer__cta a{font-size:16px}.ccn-site-footer__bottom{font-size:14px}
@media(max-width:780px){.ccn-site-footer{padding:44px 0 20px}.ccn-site-footer__grid{grid-template-columns:1fr 1fr;gap:32px 24px}.ccn-site-footer__brand{grid-column:1/-1}.ccn-site-footer__brand p{max-width:540px}.ccn-site-footer__cta{grid-column:1/-1;padding:26px}.ccn-site-footer__bottom{margin-top:34px}.ccn-form__grid{gap:14px}}
@media(max-width:480px){.ccn-site-shell{width:calc(100% - 36px)}.ccn-site-footer__grid{grid-template-columns:1fr 1fr;gap:30px 18px}.ccn-site-footer__brand,.ccn-site-footer__cta{grid-column:1/-1}.ccn-site-footer__label{font-size:16px}.ccn-site-footer .ccn-site-nav a{font-size:16px}.ccn-site-footer__cta{border-radius:22px}.ccn-form input:not([type=checkbox]),.ccn-form textarea,.ccn-form select{font-size:16px}}

/* 0.13.3 — stability typography + resilient forms.
 * CCN owns its component typography without globally resetting the host theme.
 */
.ccn-archive,.ccn-detail,.ccn-form-wrap,.ccn-site-header,.ccn-site-footer,.ccn-map{
  font-family:var(--ccn-font-body,inherit);
  font-size:var(--ccn-font-size,16px);
}
.ccn-archive h1,.ccn-archive h2,.ccn-archive h3,
.ccn-detail h1,.ccn-detail h2,.ccn-detail h3,
.ccn-site-header h1,.ccn-site-header h2,.ccn-site-header h3,
.ccn-site-footer h1,.ccn-site-footer h2,.ccn-site-footer h3{
  font-family:var(--ccn-font-heading,var(--ccn-font-body,inherit));
}
.ccn-form-wrap{max-width:1120px;margin-inline:auto}.ccn-form-wrap--login,.ccn-form-wrap--register{max-width:620px;padding:clamp(22px,5vw,48px);background:var(--ccn-surface,#f7f9fc);border:1px solid var(--ccn-border,#dbe4ee);border-radius:24px;box-shadow:0 18px 50px rgba(7,29,56,.08)}
.ccn-form--login .ccn-form__grid,.ccn-form--register .ccn-form__grid{grid-template-columns:1fr}.ccn-form__field>span:first-child{font-size:15px;line-height:1.35}.ccn-form__control{min-width:0}.ccn-form input:not([type=checkbox]),.ccn-form textarea,.ccn-form select{max-width:100%;color:var(--ccn-heading,#071d38);background:#fff}.ccn-form__icon{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.ccn-form__submit{min-height:52px;border-radius:999px;padding-inline:28px}
@media(max-width:680px){.ccn-form-wrap{width:100%}.ccn-form-wrap--login,.ccn-form-wrap--register{padding:22px;border-radius:18px}.ccn-form__grid{grid-template-columns:1fr!important}.ccn-form__field--textarea,.ccn-form__field--checkbox,.ccn-form__captcha{grid-column:auto}.ccn-form input:not([type=checkbox]),.ccn-form textarea,.ccn-form select{min-height:52px}.ccn-form textarea{min-height:140px}.ccn-form__submit{width:100%;justify-self:stretch}}
