.elementor-element.elementor-element-26e1cff.e-flex.e-con-boxed.e-con.e-parent {
    padding: 60px 0px 0px 0px !important;
}
.page-id-204 .elementor-element-a83261e{
	display:none;
}

/* --- Footer dark background (replaces Elementor JS-applied background) --- */
.elementor-element-1806b8c3{
	padding-top:60px;
	background-color: var(--e-global-color-primary);
	display: flex;
}

/* --- Header: universal fixes (all screen sizes) --- */
.elementor-element-b8742fe{
	display: flex !important;
	background-color: transparent !important;
	z-index: 999;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	visibility: visible !important;
}
.elementor-element-86ea079{
	display: flex !important;
	background-color: rgba(255,255,255,0.89) !important;
	box-shadow: 0px 0px 33px -20px rgba(117,117,117,0.56) !important;
	border-bottom: none !important;
	width: 100% !important;
}
/* Header CTA button */
.elementor-element-86ea079 .elementor-button{
	background-color: #390B50 !important;
	color: #fff !important;
	border-radius: 64px !important;
	font-weight: 600 !important;
	text-decoration: none;
	border: none !important;
}
.elementor-element-86ea079 .elementor-button:hover{
	background-color: #724D84 !important;
}
/* Header logo */
.elementor-element-41e42ef img{
	width: 95px !important;
	height: auto !important;
}

/* --- Header: DESKTOP layout (768px+) --- */
@media (min-width: 768px){
	.elementor-element-b8742fe{
		--flex-direction: row !important;
		flex-direction: row !important;
		padding: 12px 20px 0 !important;
	}
	.elementor-element-b8742fe > .e-con-inner{
		--flex-direction: row !important;
		display: flex !important;
		flex-direction: row !important;
		width: 100%;
	}
	.elementor-element-86ea079{
		--flex-direction: row !important;
		--justify-content: space-between !important;
		--align-items: center !important;
		--flex-wrap: nowrap !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		border-radius: 80px !important;
		padding: 12px 32px 12px 50px !important;
		margin: 0 auto !important;
		max-width: calc(100% - 40px) !important;
	}
	.elementor-element-86ea079 > .e-con-inner{
		--flex-direction: row !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		width: 100%;
	}
	.elementor-element-86ea079 .elementor-item{
		color: #1C0A25 !important;
		font-size: 15px !important;
		font-weight: 500 !important;
	}
	.elementor-element-86ea079 .elementor-item:hover{
		color: var(--e-global-color-primary) !important;
	}
	.elementor-element-86ea079 .elementor-button{
		padding: 16px 28px !important;
		font-size: 15px !important;
	}
	/* Stop flex-grow — push nav/CTA right */
	.elementor-element-86ea079 > .e-con-inner > .elementor-element,
	.elementor-element-86ea079 > .elementor-element{
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		--flex-grow: 0 !important;
	}
	.elementor-element-41e42ef{
		margin-right: auto !important;
	}
	/* Desktop widget visibility (replaces Elementor responsive classes) */
	/* Hide mobile-only CTA */
	.elementor-element-6472f34{
		display: none !important;
	}
	/* Show desktop CTA */
	.elementor-element-3cf7b53{
		display: block !important;
	}
	/* Show desktop nav menu, hide hamburger */
	.elementor-element-86ea079 .elementor-nav-menu--main{
		display: flex !important;
	}
	.elementor-element-86ea079 .elementor-menu-toggle{
		display: none !important;
	}
	/* Hide mobile dropdown nav */
	.elementor-element-c2b6abc > .elementor-widget-container > nav.elementor-nav-menu--dropdown{
		display: none !important;
	}
}

/* --- Header: MOBILE layout (below 768px) --- */
@media (max-width: 767px){
	/* Mobile: flat white bar, edge-to-edge, single row */
	.elementor-element-b8742fe{
		padding: 0 !important;
		--flex-direction: row !important;
		flex-direction: row !important;
	}
	.elementor-element-b8742fe > .e-con-inner{
		--flex-direction: row !important;
		display: flex !important;
		flex-direction: row !important;
	}
	.elementor-element-86ea079{
		--flex-direction: row !important;
		flex-direction: row !important;
		--flex-wrap: nowrap !important;
		flex-wrap: nowrap !important;
		--align-items: center !important;
		align-items: center !important;
		--justify-content: space-between !important;
		justify-content: space-between !important;
		border-radius: 0 !important;
		padding: 10px 16px !important;
		margin: 0 !important;
		max-width: 100% !important;
		background-color: #fff !important;
		box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
	}
	.elementor-element-86ea079 > .e-con-inner{
		--flex-direction: row !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100%;
	}
	/* Stop all children from growing — keep natural size */
	.elementor-element-86ea079 > .e-con-inner > .elementor-element{
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		--flex-grow: 0 !important;
		width: auto !important;
		--width: auto !important;
	}
	/* Logo — flush left, shrink to content */
	.elementor-element-41e42ef{
		order: 1 !important;
		width: fit-content !important;
		max-width: fit-content !important;
		flex: 0 0 auto !important;
	}
	.elementor-element-41e42ef img{
		width: 70px !important;
	}
	/* Mobile CTA button — hidden (sticky bottom bar handles CTAs instead) */
	.elementor-element-6472f34{
		display: none !important;
	}
	/* Nav widget (contains hamburger) — flush right, shrink to content */
	.elementor-element-c2b6abc{
		order: 3 !important;
		width: fit-content !important;
		max-width: fit-content !important;
		flex: 0 0 auto !important;
		margin-left: auto !important;
	}
	/* Telehealth button — visible on all devices */
	.elementor-element-3cf7b53{
		display: block !important;
		order: 2 !important;
		flex: 0 0 auto !important;
	}
	.elementor-element-3cf7b53 .elementor-button{
		padding: 8px 18px !important;
		font-size: 13px !important;
	}
	/* Hide desktop horizontal nav — show hamburger instead */
	.elementor-element-86ea079 .elementor-nav-menu--main{
		display: none !important;
	}
	.elementor-element-86ea079 .elementor-menu-toggle{
		display: flex !important;
	}
	/* Button styling for mobile CTA */
	.elementor-element-86ea079 .elementor-button{
		padding: 8px 16px !important;
		font-size: 13px !important;
	}
	/* Nav link color for mobile dropdown (when hamburger is opened) */
	.elementor-element-86ea079 .elementor-item{
		color: #1C0A25 !important;
	}

	/* --- Mobile dropdown nav (hamburger menu) --- */
	.elementor-element-c2b6abc > .elementor-widget-container > nav.elementor-nav-menu--dropdown{
		display: none;
		position: fixed;
		top: 56px; /* below mobile header bar */
		left: 0;
		right: 0;
		width: 100%;
		z-index: 9998;
		background: #fff;
		box-shadow: 0 8px 24px rgba(0,0,0,0.12);
		border-top: 1px solid rgba(0,0,0,0.06);
		padding: 12px 0;
		max-height: calc(100vh - 56px);
		overflow-y: auto;
	}
	.elementor-element-c2b6abc > .elementor-widget-container > nav.elementor-nav-menu--dropdown.kwik-mobile-nav--open{
		display: block !important;
	}
	/* Mobile nav menu items */
	.elementor-nav-menu--dropdown .elementor-item,
	.elementor-nav-menu--dropdown .elementor-sub-item{
		display: block;
		padding: 12px 24px;
		color: #1C0A25 !important;
		font-size: 15px;
		font-weight: 500;
		text-decoration: none;
		transition: background 0.15s;
	}
	.elementor-nav-menu--dropdown .elementor-item:hover,
	.elementor-nav-menu--dropdown .elementor-sub-item:hover{
		background: rgba(57,11,80,0.05);
	}
	/* Sub-menu items — always visible inside mobile dropdown */
	nav.elementor-nav-menu--dropdown .sub-menu{
		display: block !important;
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.elementor-nav-menu--dropdown .sub-menu .elementor-sub-item{
		padding-left: 40px;
		font-size: 14px;
		font-weight: 400;
		color: #555 !important;
	}
	/* Hamburger icon swap: show ☰ when closed, ✕ when open */
	.elementor-menu-toggle .elementor-menu-toggle__icon--close{
		display: none;
	}
	.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open{
		display: none;
	}
	.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close{
		display: block;
		width: 20px;
		height: 20px;
	}
	/* Nav widget — no special positioning needed (dropdown uses position:fixed) */
}

.boxo:hover h3, .boxo:hover p {
    color: white !important;
}
.elementor-element-7c691272 .e-con-inner {
    width: 1140px !important;
    padding: 60px 50px !important;
}
.elementor-element-b5e0f79 .e-con-inner {
    padding: 60px 0px !important;
}
.elementor-element-66f4cd0 .e-con-inner {
    padding: 70px 0 0 0 !important;
}
.elementor-element-ee0e24a > .e-con-inner:first-child, .elementor-element-5ccbaf1 > .e-con-inner, .elementor-element-d15d3f3 > .e-con-inner{
    padding: 60px 0px !important;
}
.elementor-element.elementor-element-0faa205.e-flex.e-con-boxed.e-con.e-parent {
    border-top: 1px solid var(--kwik-border-accent);
}
.elementor-element-26e1cff .e-con-inner {
    padding: 60px 0px !important;
    width: 1140px !important;
}
.e-con
 {
    --container-max-width: unset;
}
ul.elementor-sitemap-list.elementor-sitemap-page-list {
    padding: 0px 0px 0px 16px;
}
.elementor-element.elementor-element-b8742fe.e-con-full.e-flex.e-con.e-parent.elementor-sticky.elementor-sticky--active.elementor-section--handles-inside.elementor-sticky--effects.animated.fadeInDown {
    width: 100% !important;
}
.page-id-204 .elementor-element.elementor-element-1806b8c3.e-flex.e-con-boxed.e-con.e-parent, .page-id-779 .elementor-element.elementor-element-1806b8c3.e-flex.e-con-boxed.e-con.e-parent, .page-id-1540 .elementor-element.elementor-element-1806b8c3.e-flex.e-con-boxed.e-con.e-parent,
.single .elementor-element.elementor-element-1806b8c3.e-flex.e-con-boxed.e-con.e-parent,  .page-id-101 .elementor-element.elementor-element-1806b8c3.e-flex.e-con-boxed.e-con.e-parent, .page-id-2378 .elementor-element-1806b8c3
{
    padding-top: 65px;
}

/* === Desktop nav dropdown (CSS-only, replaces Elementor Pro JS) === */
.elementor-nav-menu--main .elementor-nav-menu .menu-item-has-children > .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    min-width: 220px;
    background: var(--kwik-dropdown-bg);
    backdrop-filter: blur(8px);
    border-radius: 0 0 8px 8px;
    padding: 8px 0;
    box-shadow: 0 4px 12px rgba(57,11,80,0.12);
}
.elementor-nav-menu--main .elementor-nav-menu .menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu--main .elementor-nav-menu .menu-item-has-children:focus-within > .sub-menu {
    display: block;
}
.elementor-nav-menu--main .sub-menu .elementor-sub-item {
    display: block;
    padding: 10px 20px;
    color: var(--e-global-color-primary);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}
.elementor-nav-menu--main .sub-menu .elementor-sub-item:hover {
    background: var(--e-global-color-primary);
    color: #fff;
}

@media (max-width: 767px) {
	.elementor-element.elementor-element-26e1cff.e-flex.e-con-boxed.e-con.e-parent {
    padding: 0px 0px 0px 0px !important;
}
.elementor-101 .elementor-element.elementor-element-1b660769 {
	--min-height: 386px;
	}
.elementor-element-7c691272 .e-con-inner {
    padding: 45px 16px !important;
}
.elementor-element-b5e0f79 .e-con-inner {
    padding: 45px 16px !important;
}
.elementor-element-66f4cd0 .e-con-inner {
    padding: 45px 0 0 0 !important;
}
.elementor-element-ee0e24a > .e-con-inner:first-child, .elementor-element-5ccbaf1 > .e-con-inner, .elementor-element-d15d3f3 > .e-con-inner{
    padding: 45px 0px !important;
}

.elementor-element-26e1cff .e-con-inner {
    padding: 45px 16px !important;
}

	.elementor-element.elementor-element-d3f5069.e-con-full.e-flex.e-con.e-child
 {
    margin: 0px;
}
}

/* ==========================================================================
   FOOTER — 4-column grid layout
   ========================================================================== */

.kwik-footer-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr 0.9fr 1.1fr;
    gap: 40px 36px;
    width: 100%;
    padding: 0 0 40px;
}

/* --- Column base --- */
.kwik-footer-col {
    min-width: 0; /* prevent overflow */
}

/* --- Headings --- */
.kwik-footer-heading {
    color: #fff;
    font-family: var(--e-global-typography-primary-font-family, "Plus Jakarta Sans", sans-serif);
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(255,255,255,0.15);
}

/* --- Link lists --- */
.kwik-footer-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.kwik-footer-list li {
    margin: 0 0 6px;
}
.kwik-footer-list a {
    color: rgba(255,255,255,0.78);
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
    display: inline-block;
}
.kwik-footer-list a:hover {
    color: #fff;
    padding-left: 4px;
}

/* --- Blog post list (column 4) --- */
.kwik-footer-list--blog li {
    margin: 0 0 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.kwik-footer-list--blog li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.kwik-footer-list--blog a {
    font-size: 13px;
    line-height: 1.55;
}

/* --- Brand column (col 1) --- */
.kwik-footer-col--brand .elementor-widget-container img {
    max-width: 180px;
    height: auto;
    margin-bottom: 12px;
}
.kwik-footer-col--brand .elementor-heading-title {
    color: rgba(255,255,255,0.7) !important;
    font-size: 13px;
    line-height: 1.65;
    margin-bottom: 14px;
}

/* --- Contact rows (col 1) --- */
.kwik-footer-contact {
    margin: 18px 0 14px;
}
.kwik-footer-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.78);
    font-size: 13px;
    line-height: 1.55;
}
.kwik-footer-contact-row svg {
    width: 14px;
    height: 14px;
    fill: rgba(255,255,255,0.6);
    flex-shrink: 0;
    margin-top: 2px;
}
.kwik-footer-contact-row a,
.kwik-footer-contact-row span {
    color: rgba(255,255,255,0.78);
    text-decoration: none;
    transition: color 0.2s;
}
.kwik-footer-contact-row a:hover {
    color: #fff;
}

/* --- Social icons (col 1) --- */
.kwik-footer-social {
    margin-top: 6px;
}
.kwik-footer-social-label {
    display: block;
    color: rgba(255,255,255,0.55);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}
.kwik-footer-social-icons {
    display: flex;
    gap: 12px;
}
.kwik-footer-social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    transition: background 0.2s, transform 0.2s;
}
.kwik-footer-social-icons a:hover {
    background: rgba(255,255,255,0.22);
    transform: translateY(-2px);
}
.kwik-footer-social-icons svg {
    width: 18px;
    height: 18px;
    fill: #fff;
}

/* --- LegitScript seal (low-key, col 1 bottom) --- */
.kwik-footer-legitscript {
    margin-top: 14px;
    opacity: 0.5;
    transition: opacity 0.2s;
}
.kwik-footer-legitscript:hover {
    opacity: 0.85;
}
.kwik-footer-legitscript img {
    display: block;
}

/* --- Emergency / Crisis statement --- */
.kwik-footer-crisis {
    width: 100%;
    margin: 8px 0 0;
    padding: 14px 20px;
    background: rgba(255,255,255,0.06);
    border-radius: 6px;
    border-left: 3px solid rgba(255,200,50,0.6);
}
.kwik-footer-crisis p {
    color: rgba(255,255,255,0.6);
    font-size: 11.5px;
    line-height: 1.65;
    margin: 0;
}
.kwik-footer-crisis strong {
    color: rgba(255,255,255,0.85);
    font-weight: 600;
}

/* --- Copyright bar --- */
.kwik-footer-copyright {
    text-align: center;
    padding: 6px 0 0;
}
.kwik-footer-copyright p {
    color: rgba(255,255,255,0.4);
    font-size: 11px;
    margin: 0;
    letter-spacing: 0.02em;
}

/* --- Responsive: tablet --- */
@media (max-width: 1024px) {
    .kwik-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 30px;
    }
}

/* --- Responsive: mobile --- */
@media (max-width: 767px) {
    .kwik-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px 0;
        padding: 0 0 24px;
    }
    .kwik-footer-heading {
        font-size: 16px;
    }
    .kwik-footer-crisis {
        padding: 12px 14px;
    }
}


/* ==========================================================================
   HUB PAGES — Shared styles for Conditions & Services parent pages
   ========================================================================== */

/* --- Layout fix: Elementor .e-con defaults to display:inline — override for hub pages --- */
.kwik-hub-hero,
.kwik-hub-section,
.kwik-hub-cta,
.kwik-ins-logos-section,
.kwik-ins-callout-section {
    display: block !important;
}
.kwik-hub-hero > .e-con-inner,
.kwik-hub-section > .e-con-inner,
.kwik-hub-cta > .e-con-inner,
.kwik-ins-logos-section > .e-con-inner,
.kwik-ins-callout-section > .e-con-inner {
    display: block !important;
}

/* --- Hero --- */
.kwik-hub-hero {
    background: var(--e-global-color-primary);
    padding: 80px 0 60px !important;
    text-align: center;
}
.kwik-hub-hero .e-con-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}
.kwik-hub-eyebrow {
    color: rgba(255,255,255,0.6) !important;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin: 0 0 12px;
}
.kwik-hub-h1 {
    color: #fff !important;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 20px;
}
.kwik-hub-subtitle {
    color: rgba(255,255,255,0.75) !important;
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Section --- */
.kwik-hub-section {
    padding: 50px 0 60px !important;
}
.kwik-hub-section .e-con-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.kwik-hub-section--alt {
    background: #f9f6fb;
}

/* --- Category heading --- */
.kwik-hub-category {
    font-size: 22px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    margin: 36px 0 8px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--e-global-color-accent);
}
.kwik-hub-category:first-child {
    margin-top: 0;
}
.kwik-hub-category-sub {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px;
}

/* --- Card Grid --- */
.kwik-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 10px;
}
/* Blog listing: single-column layout */
.kwik-hub-section--blog .kwik-hub-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 820px;
    margin: 0 auto;
}
/* Blog card: horizontal layout with image */
.kwik-hub-card--blog {
    flex-direction: row !important;
    align-items: stretch;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 14px;
    min-height: 180px;
}
.kwik-hub-card__img {
    flex-shrink: 0;
    width: 240px;
    overflow: hidden;
}
.kwik-hub-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.kwik-hub-card--blog:hover .kwik-hub-card__img img {
    transform: scale(1.05);
}
.kwik-hub-card__body {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
}
.kwik-hub-card__body h3 {
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 10px;
}
.kwik-hub-card__body p {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    font-weight: 400;
    margin: 0;
}
@media (max-width: 767px) {
    .kwik-hub-card--blog {
        flex-direction: column !important;
        min-height: auto;
    }
    .kwik-hub-card__img {
        width: 100%;
        height: 180px;
    }
    .kwik-hub-card__body {
        padding: 20px;
    }
}
/* Blog card metadata line */
.kwik-hub-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    font-size: 13px;
    color: #888;
    margin: 0 0 10px;
    line-height: 1.4;
}
.kwik-hub-card__sep {
    margin: 0 6px;
    color: #bbb;
}
.kwik-hub-card__author {
    font-weight: 600;
    color: var(--e-global-color-secondary);
}
.kwik-hub-card__date,
.kwik-hub-card__cat,
.kwik-hub-card__read {
    color: #888;
}

/* --- Individual Card (text-only) --- */
.kwik-hub-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 10px;
    padding: 20px 22px;
    box-shadow: 0 1px 6px rgba(57,11,80,0.07);
    border: 1px solid rgba(57,11,80,0.06);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s;
}
.kwik-hub-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(57,11,80,0.12);
    border-color: var(--e-global-color-secondary);
}
.kwik-hub-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    margin: 0 0 6px;
    line-height: 1.3;
}
.kwik-hub-card p {
    font-size: 14.5px;
    color: #555;
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
.kwik-hub-section--alt .kwik-hub-card {
    background: #fff;
}

/* --- Blog Load More Pagination --- */
.kwik-hub-card--blog.kwik-card-hidden {
    display: none;
}
.kwik-blog-loadmore {
    text-align: center;
    margin: 36px auto 0;
    max-width: 820px;
}
.kwik-blog-loadmore__count {
    font-size: 14px;
    color: #888;
    margin: 0 0 14px;
}
.kwik-blog-loadmore__btn {
    background: transparent;
    color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
    padding: 12px 32px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}
.kwik-blog-loadmore__btn:hover {
    background: var(--e-global-color-primary);
    color: #fff;
    transform: translateY(-1px);
}

/* --- Insurance Page --- */

/* Logo grid section */
.kwik-ins-logos-section {
    padding: 40px 0 30px !important;
    background: #f7f3f9;
}
.kwik-ins-logos-section .e-con-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}
.kwik-ins-logos {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 22px;
}
.kwik-ins-logo-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 16px 16px;
    background: #fff;
    border: 2px solid #eee;
    border-radius: 12px;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-align: center;
    min-height: 120px;
}
.kwik-ins-logo-card:hover {
    border-color: var(--e-global-color-secondary);
    box-shadow: 0 4px 16px rgba(57, 11, 80, 0.10);
}
.kwik-ins-logo-card img {
    max-height: 60px;
    max-width: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin-bottom: 12px;
}
.kwik-ins-logo-card span {
    font-size: 12px;
    font-weight: 600;
    color: #666;
    line-height: 1.3;
}

/* Search section */
.kwik-hub-section--insurances .e-con-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}
.kwik-ins-search-wrap {
    max-width: 600px;
    margin: 0 auto 32px;
}
.kwik-ins-search {
    width: 100%;
    padding: 14px 20px 14px 48px;
    font-size: 16px;
    border: 2px solid #ddd;
    border-radius: 30px;
    outline: none;
    transition: border-color 0.2s;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23999' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") no-repeat 16px center;
    font-family: inherit;
}
.kwik-ins-search:focus {
    border-color: var(--e-global-color-primary);
}
.kwik-ins-search::placeholder {
    color: #999;
}
.kwik-ins-total {
    text-align: center;
    font-size: 14px;
    color: #777;
    margin: 0 0 30px;
}
.kwik-ins-noresults {
    text-align: center;
    font-size: 16px;
    color: #666;
    padding: 40px 20px;
}
.kwik-ins-noresults a {
    color: var(--e-global-color-primary);
    font-weight: 600;
}

/* Insurance group (one per parent company) */
.kwik-ins-group {
    margin: 0 0 20px;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.kwik-ins-group details {
    margin: 0;
}
.kwik-ins-group__header {
    display: flex;
    align-items: center;
    padding: 16px 24px;
    background: var(--e-global-color-accent);
    cursor: pointer;
    list-style: none;
    user-select: none;
    gap: 14px;
}
.kwik-ins-group__header::-webkit-details-marker {
    display: none;
}
.kwik-ins-group__logo {
    width: 52px;
    height: 40px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 6px;
    background: #fff;
    padding: 4px 6px;
    border: 1px solid #eee;
}
.kwik-ins-group__header h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    margin: 0;
    line-height: 1.3;
    flex: 1;
}
.kwik-ins-group__count {
    font-size: 13px;
    font-weight: 600;
    color: var(--e-global-color-secondary);
    background: rgba(255,255,255,0.7);
    padding: 4px 12px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Standalone group (accepted, no sub-plans yet) */
.kwik-ins-group--standalone {
    margin: 0 0 20px;
}
.kwik-ins-group__header--standalone {
    cursor: default;
}
.kwik-ins-group__badge {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: var(--e-global-color-primary);
    padding: 4px 14px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Plan list */
.kwik-ins-plans {
    list-style: none;
    margin: 0;
    padding: 20px 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px 24px;
}
.kwik-ins-plan {
    font-size: 14px;
    color: #444;
    padding: 6px 0;
    border-bottom: 1px solid #f5f5f5;
    line-height: 1.4;
}
.kwik-ins-plan:last-child {
    border-bottom: none;
}

/* Expand/collapse indicator */
.kwik-ins-group details[open] > .kwik-ins-group__header::after {
    content: "\2212";
    font-size: 20px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    flex-shrink: 0;
}
.kwik-ins-group details:not([open]) > .kwik-ins-group__header::after {
    content: "+";
    font-size: 20px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    flex-shrink: 0;
}

/* Info callout */
.kwik-ins-callout-section {
    padding: 0 0 10px !important;
    background: #fff;
}
.kwik-ins-callout-section .e-con-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}
.kwik-ins-callout {
    background: #fff;
    border-left: 4px solid var(--e-global-color-primary);
    border-radius: 16px;
    padding: 48px 40px;
    text-align: center;
    margin-bottom: 32px;
    box-shadow: 0 4px 24px rgba(57, 11, 80, 0.08);
}
.kwik-ins-callout h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    margin: 24px 0 8px;
}
.kwik-ins-callout h3:first-child {
    margin-top: 0;
}
.kwik-ins-callout p {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    margin: 0;
}
.kwik-ins-callout a {
    color: var(--e-global-color-primary);
    text-decoration: none;
}
.kwik-ins-callout a:hover {
    text-decoration: underline;
}

/* Insurance page responsive */
@media (max-width: 1024px) {
    .kwik-ins-logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }
    .kwik-ins-plans {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .kwik-ins-logos {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    .kwik-ins-logo-card {
        padding: 14px 8px 10px;
    }
    .kwik-ins-logo-card img {
        max-height: 36px;
        max-width: 100px;
    }
    .kwik-ins-logo-card span {
        font-size: 11px;
    }
    .kwik-ins-plans {
        grid-template-columns: 1fr;
        padding: 16px 18px;
    }
    .kwik-ins-group__header {
        padding: 14px 18px;
        gap: 10px;
    }
    .kwik-ins-group__logo {
        width: 36px;
        height: 36px;
    }
    .kwik-ins-group__header h2 {
        font-size: 17px;
    }
    .kwik-ins-search {
        padding: 12px 16px 12px 44px;
        font-size: 15px;
    }
}

/* --- Bottom CTA --- */
.kwik-hub-cta {
    background: var(--e-global-color-accent);
    padding: 50px 0 !important;
    text-align: center;
}
.kwik-hub-cta .e-con-inner {
    max-width: 700px;
    margin: 0 auto;
    padding: 0 20px;
}
.kwik-hub-cta h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    margin: 0 0 12px;
}
.kwik-hub-cta p {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
    margin: 0 0 24px;
}
.kwik-hub-cta__buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* --- Shared button styles --- */
.kwik-btn-primary {
    background: var(--e-global-color-primary) !important;
    color: #fff !important;
    padding: 12px 28px !important;
    border-radius: 25px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
    display: inline-block;
}
.kwik-btn-primary:hover {
    background: var(--e-global-color-secondary) !important;
    transform: translateY(-1px);
}
.kwik-btn-outline {
    background: transparent !important;
    color: var(--e-global-color-primary) !important;
    padding: 12px 28px !important;
    border: 2px solid var(--e-global-color-primary);
    border-radius: 25px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, transform 0.2s;
    display: inline-block;
}
.kwik-btn-outline:hover {
    background: var(--e-global-color-primary) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* --- Hub Responsive: tablet --- */
@media (max-width: 1024px) {
    .kwik-hub-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    .kwik-hub-h1 {
        font-size: 32px;
    }
}

/* --- Hub Responsive: mobile --- */
@media (max-width: 767px) {
    .kwik-hub-hero {
        padding: 70px 16px 40px !important;
    }
    .kwik-hub-h1 {
        font-size: 26px;
    }
    .kwik-hub-subtitle {
        font-size: 14px;
    }
    .kwik-hub-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .kwik-hub-category {
        font-size: 19px;
        margin: 28px 0 8px;
    }
    .kwik-hub-cta h2 {
        font-size: 22px;
    }
}


/* ==========================================================================
   CHILD PAGES — Shared styles for Condition & Service detail pages
   ========================================================================== */

/* --- Breadcrumb --- */
.kwik-child-breadcrumb {
    background: var(--e-global-color-primary);
    padding: 18px 0 0;
}
.kwik-child-breadcrumb ol {
    list-style: none;
    margin: 0 auto;
    padding: 0 24px;
    max-width: 1140px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}
.kwik-child-breadcrumb li {
    display: inline-flex;
    align-items: center;
}
.kwik-child-breadcrumb a {
    color: var(--e-global-color-accent);
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    transition: color 0.2s;
}
.kwik-child-breadcrumb a:hover {
    color: #fff;
}
.kwik-child-breadcrumb__sep {
    color: rgba(247,230,255,0.5);
    margin: 0 10px;
    font-size: 14px;
}
.kwik-child-breadcrumb [aria-current="page"] span {
    color: rgba(247,230,255,0.5);
    font-size: 13px;
}

/* --- Hero --- */
.kwik-child-hero {
    background: var(--e-global-color-primary);
    padding: 100px 0 56px; /* extra top padding clears the fixed header */
}
.kwik-child-hero__inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}
.kwik-child-hero__title {
    color: #fff;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.5px;
    margin: 0 0 16px;
}
.kwik-child-hero__subtitle {
    color: rgba(247,230,255,0.85);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 32px;
}
.kwik-child-hero__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
/* Hero image shared */
.kwik-child-hero__media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    object-fit: cover;
}
/* Hide empty hero image (when hero_image field is blank) */
.kwik-child-hero__media img[src=""] {
    display: none;
}

/* Hero: DESKTOP — text left, image right (768px+) */
@media (min-width: 768px) {
    .kwik-child-hero__inner {
        display: flex;
        align-items: center;
        gap: 48px;
    }
    .kwik-child-hero__text {
        flex: 1;
        min-width: 0;
    }
    .kwik-child-hero__media--mobile {
        display: none;
    }
    .kwik-child-hero__media--desktop {
        display: block;
        flex: 0 0 340px;
        max-width: 340px;
    }
    .kwik-child-hero__media--desktop img {
        max-height: 380px;
        border-radius: 16px;
        box-shadow: 0 12px 40px rgba(0,0,0,0.25);
    }
}
@media (min-width: 1024px) {
    .kwik-child-hero__media--desktop {
        flex: 0 0 400px;
        max-width: 400px;
    }
}

/* Hero: MOBILE — image between breadcrumb & title (below 768px) */
@media (max-width: 767px) {
    .kwik-child-hero__media--desktop {
        display: none;
    }
    .kwik-child-hero__media--mobile {
        display: block;
        margin-bottom: 24px;
    }
    .kwik-child-hero__media--mobile img {
        max-height: 200px;
        border-radius: 12px;
        object-fit: cover;
    }
}

/* Hero primary CTA: white button on dark purple hero for contrast */
.kwik-child-hero .kwik-btn-primary {
    background: #fff !important;
    color: var(--e-global-color-primary) !important;
}
.kwik-child-hero .kwik-btn-primary:hover {
    background: #F7E6FF !important;
    color: var(--e-global-color-primary) !important;
}
.kwik-btn-outline--light {
    color: #fff !important;
    border-color: rgba(255,255,255,0.4) !important;
}
.kwik-btn-outline--light:hover {
    background: rgba(255,255,255,0.1) !important;
    border-color: #fff !important;
}
/* Blog pages: hide hero CTA buttons */
.kwik-child--blog .kwik-child-hero__actions {
    display: none;
}

/* --- Content Sections --- */
.kwik-child-section {
    padding: 64px 0;
}
.kwik-child-section--alt {
    background: var(--kwik-bg-lightest);
}
.kwik-child-section__inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}
.kwik-child-section__block h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--e-global-color-primary);
    margin: 0 0 20px;
}
.kwik-child-section__block > p {
    font-size: 17px;
    line-height: 1.75;
    color: #444;
    margin: 0 0 16px;
    max-width: 780px;
}

/* --- Card Grid (symptoms, etc.) --- */
.kwik-child-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
    max-width: 820px;
}
.kwik-child-card {
    background: #fff;
    border: 1px solid rgba(114,77,132,0.12);
    border-radius: 16px;
    padding: 28px 24px;
    transition: box-shadow 0.2s, transform 0.2s;
}
.kwik-child-card:hover {
    box-shadow: 0 8px 28px rgba(57,11,80,0.1);
    transform: translateY(-2px);
}
.kwik-child-card h3 {
    font-size: 17px;
    font-weight: 600;
    color: var(--e-global-color-primary);
    margin: 0 0 8px;
}
.kwik-child-card p {
    font-size: 15px;
    line-height: 1.65;
    color: #555;
    margin: 0;
}

/* --- Feature List (treatment approach, etc.) --- */
.kwik-child-feature-list {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.kwik-child-feature {
    padding: 24px 0;
    border-bottom: 1px solid rgba(114,77,132,0.1);
}
.kwik-child-feature:first-child {
    padding-top: 0;
}
.kwik-child-feature:last-child {
    border-bottom: none;
}
.kwik-child-feature h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--e-global-color-primary);
    margin: 0 0 6px;
}
.kwik-child-feature p {
    font-size: 16px;
    line-height: 1.7;
    color: #555;
    margin: 0;
    max-width: 720px;
}

/* --- FAQ Accordion --- */
.kwik-child-faq {
    background: var(--e-global-color-primary);
    padding: 72px 0;
}
.kwik-child-faq__inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}
.kwik-child-faq__heading {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 8px;
}
.kwik-child-faq__subheading {
    color: rgba(247,230,255,0.7);
    font-size: 17px;
    font-weight: 400;
    margin: 0 0 40px;
}
.kwik-child-faq__list {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.kwik-child-faq__item {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 12px;
    overflow: hidden;
    transition: background 0.2s;
}
.kwik-child-faq__item[open] {
    background: rgba(255,255,255,0.12);
}
.kwik-child-faq__question {
    padding: 20px 24px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.kwik-child-faq__question::-webkit-details-marker {
    display: none;
}
.kwik-child-faq__question::after {
    content: "+";
    font-size: 20px;
    font-weight: 300;
    flex-shrink: 0;
    color: rgba(247,230,255,0.6);
    transition: transform 0.2s;
}
.kwik-child-faq__item[open] .kwik-child-faq__question::after {
    content: "\2212";
    color: var(--e-global-color-accent);
}
.kwik-child-faq__answer {
    padding: 0 24px 20px;
}
.kwik-child-faq__answer p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(247,230,255,0.8);
    margin: 0;
}

/* --- Getting Started Process --- */
.kwik-child-process {
    background: var(--kwik-bg-lightest);
    padding: 72px 0;
}
.kwik-child-process__inner {
    max-width: 880px;
    margin: 0 auto;
    padding: 48px 40px;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(114,77,132,0.12);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(57,11,80,0.06);
}
.kwik-child-process__eyebrow {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--e-global-color-secondary);
    margin: 0 0 12px;
}
.kwik-child-process__heading {
    font-size: 28px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    margin: 0 0 40px;
}
.kwik-child-process__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.kwik-child-process__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.kwik-child-process__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--e-global-color-primary);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    border-radius: 50%;
}
.kwik-child-process__step-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--e-global-color-primary);
    margin: 0;
}
.kwik-child-process__step p {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 4px 0 0;
}

/* --- Bottom CTA --- */
.kwik-child-cta {
    background: var(--e-global-color-primary);
    padding: 72px 0;
    text-align: center;
}
.kwik-child-cta__inner {
    max-width: 620px;
    margin: 0 auto;
    padding: 0 24px;
}
.kwik-child-cta__tagline {
    color: rgba(247,230,255,0.6);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin: 0 0 16px;
}
.kwik-child-cta__heading {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
}
.kwik-child-cta__body {
    color: rgba(247,230,255,0.8);
    font-size: 17px;
    line-height: 1.6;
    margin: 0 0 32px;
}
.kwik-child-cta__actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
/* CTA primary button: white on dark purple for contrast */
.kwik-child-cta .kwik-btn-primary {
    background: #fff !important;
    color: var(--e-global-color-primary) !important;
}
.kwik-child-cta .kwik-btn-primary:hover {
    background: #F7E6FF !important;
    color: var(--e-global-color-primary) !important;
}
.kwik-child-cta .kwik-btn-outline {
    color: #fff !important;
    border-color: rgba(255,255,255,0.4) !important;
}
.kwik-child-cta .kwik-btn-outline:hover {
    background: rgba(255,255,255,0.1) !important;
    border-color: #fff !important;
}

/* --- Child Page Responsive: tablet --- */
@media (max-width: 1024px) {
    .kwik-child-process__steps {
        gap: 24px;
    }
}

/* --- Child Page Responsive: mobile --- */
@media (max-width: 767px) {
    /* Extra top padding to clear the fixed mobile header (~72px) */
    .kwik-child-breadcrumb {
        padding-top: 80px;
    }
    .kwik-child-hero {
        padding: 24px 0 40px;
    }
    .kwik-child-hero__title {
        font-size: 32px;
    }
    .kwik-child-hero__subtitle {
        font-size: 16px;
    }
    .kwik-child-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .kwik-child-hero__actions .kwik-btn-primary,
    .kwik-child-hero__actions .kwik-btn-outline {
        text-align: center;
    }
    .kwik-child-section {
        padding: 48px 0;
    }
    .kwik-child-section__block h2 {
        font-size: 26px;
    }
    .kwik-child-faq {
        padding: 48px 0;
    }
    .kwik-child-faq__heading {
        font-size: 28px;
    }
    .kwik-child-faq__question {
        font-size: 15px;
        padding: 16px 20px;
    }
    .kwik-child-process {
        padding: 48px 0;
    }
    .kwik-child-process__inner {
        padding: 28px 20px;
    }
    .kwik-child-process__heading {
        font-size: 22px;
    }
    .kwik-child-process__steps {
        grid-template-columns: 1fr;
    }
    .kwik-child-cta {
        padding: 48px 0;
    }
    .kwik-child-cta__heading {
        font-size: 26px;
    }
    .kwik-child-cta__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .kwik-child-cta__actions .kwik-btn-primary,
    .kwik-child-cta__actions .kwik-btn-outline {
        text-align: center;
    }
}


/* ==========================================================================
   ARTICLE META BAR — Author, date, category, read time + share buttons
   Sits between hero section and article content on blog posts.
   ========================================================================== */

.kwik-article-meta {
    background: #fff;
    border-bottom: 1px solid rgba(114,77,132,0.1);
}
.kwik-article-meta__inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.kwik-article-meta__info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}
.kwik-article-meta__sep {
    margin: 0 8px;
    color: #ccc;
}
.kwik-article-meta__author {
    font-weight: 600;
    color: var(--e-global-color-primary);
}
.kwik-article-meta__date {
    color: #666;
}
.kwik-article-meta__cat {
    background: var(--kwik-bg-lightest, #F7E6FF);
    color: var(--e-global-color-secondary);
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}
.kwik-article-meta__read {
    color: #888;
}

/* --- Share Buttons --- */
.kwik-article-share {
    display: flex;
    align-items: center;
    gap: 8px;
}
.kwik-article-share__label {
    font-size: 13px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-right: 4px;
}
.kwik-article-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--kwik-bg-lightest, #F7E6FF);
    color: var(--e-global-color-secondary);
    text-decoration: none;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}
.kwik-article-share__btn:hover {
    background: var(--e-global-color-primary);
    color: #fff;
    transform: translateY(-2px);
}
.kwik-article-share__btn svg {
    width: 16px;
    height: 16px;
}

/* Article meta responsive: mobile */
@media (max-width: 767px) {
    .kwik-article-meta__inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 14px 20px;
    }
    .kwik-article-meta__info {
        font-size: 13px;
    }
    .kwik-article-share {
        gap: 6px;
    }
    .kwik-article-share__btn {
        width: 34px;
        height: 34px;
    }
}


/* ==========================================================================
   CHILD PAGES — Rich Content Typography
   Styles semantic HTML inside .kwik-child-content so GPT-generated
   content renders beautifully without manual CSS classes.
   ========================================================================== */

/* --- Content Wrapper --- */
.kwik-child-content {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 24px 64px;
}
/* Prose elements get narrower reading width */
.kwik-child-content > h2,
.kwik-child-content > h3,
.kwik-child-content > h4,
.kwik-child-content > p,
.kwik-child-content > ul,
.kwik-child-content > ol,
.kwik-child-content > blockquote,
.kwik-child-content > aside,
.kwik-child-content > hr,
.kwik-child-content > figure,
.kwik-child-content > details,
.kwik-child-content > nav.kwik-toc {
    max-width: 820px;
}
/* Full-width children (existing card grids, sections, etc.) stay at 1140px */

/* --- Headings --- */
.kwik-child-content h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--e-global-color-primary);
    margin: 40px 0 16px;
    padding-top: 20px;
    border-top: 1px solid rgba(114,77,132,0.12);
}
.kwik-child-content h2:first-child,
.kwik-child-content nav.kwik-toc + h2,
.kwik-child-content section[data-section="key-takeaways"] h2 {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.kwik-child-content h3 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--e-global-color-primary);
    margin: 28px 0 10px;
}
.kwik-child-content h4 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--e-global-color-secondary);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 36px 0 12px;
}

/* --- Body Text --- */
.kwik-child-content p {
    font-size: 17px;
    line-height: 1.75;
    color: #333;
    margin: 0 0 14px;
}
.kwik-child-content strong {
    font-weight: 700;
    color: var(--e-global-color-text);
}

/* --- Links --- */
.kwik-child-content a {
    color: var(--e-global-color-secondary);
    text-decoration: underline;
    text-decoration-color: rgba(114,77,132,0.3);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}
.kwik-child-content a:hover {
    color: var(--e-global-color-primary);
    text-decoration-color: var(--e-global-color-primary);
}

/* --- Lists --- */
.kwik-child-content ul,
.kwik-child-content ol {
    margin: 0 0 20px;
    padding-left: 24px;
    font-size: 17px;
    line-height: 1.75;
    color: #333;
}
.kwik-child-content li {
    margin-bottom: 8px;
}
.kwik-child-content li::marker {
    color: var(--kwik-icon-purple);
}
.kwik-child-content li ul,
.kwik-child-content li ol {
    margin-top: 8px;
    margin-bottom: 8px;
}

/* --- Callout / Blockquote Boxes --- */
.kwik-child-content blockquote {
    background: var(--kwik-bg-lightest);
    border-left: 4px solid var(--kwik-icon-purple);
    margin: 24px 0;
    padding: 20px 24px;
    border-radius: 0 12px 12px 0;
    font-style: normal;
}
.kwik-child-content blockquote p {
    margin: 0 0 8px;
    color: var(--e-global-color-text);
}
.kwik-child-content blockquote p:last-child {
    margin-bottom: 0;
}

/* --- Safety Disclaimer --- */
.kwik-child-content aside[role="note"] {
    background: #FFF8F0;
    border: 1px solid #E8C9A0;
    border-left: 4px solid #C89B60;
    border-radius: 0 12px 12px 0;
    padding: 24px 28px;
    margin: 40px 0;
    max-width: 820px;
}
.kwik-child-content aside[role="note"] p {
    font-size: 15px;
    line-height: 1.7;
    color: #665533;
    margin: 0 0 8px;
}
.kwik-child-content aside[role="note"] p:last-child {
    margin-bottom: 0;
}

/* --- Key Takeaways Box --- */
.kwik-child-content section[data-section="key-takeaways"] {
    background: var(--kwik-bg-lightest);
    border: 1px solid rgba(114,77,132,0.12);
    border-radius: 16px;
    padding: 28px 28px 14px;
    margin: 0 0 32px;
    max-width: 820px;
}
.kwik-child-content section[data-section="key-takeaways"] h2 {
    font-size: 24px;
    margin: 0 0 16px;
}

/* --- References Section --- */
.kwik-child-content section[data-section="references"] {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(114,77,132,0.12);
    max-width: 820px;
}
.kwik-child-content section[data-section="references"] h2 {
    font-size: 22px;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.kwik-child-content section[data-section="references"] p,
.kwik-child-content section[data-section="references"] li {
    font-size: 14px;
    line-height: 1.7;
    color: #666;
}
.kwik-child-content section[data-section="references"] a {
    word-break: break-all;
}

/* --- Images & Figures --- */
.kwik-child-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 24px 0;
}
.kwik-child-content figure {
    margin: 32px 0;
    text-align: center;
}
.kwik-child-content figcaption {
    font-size: 14px;
    color: #888;
    margin-top: 12px;
    font-style: italic;
}

/* --- Tables --- */
.kwik-child-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 15px;
}
.kwik-child-content th {
    background: var(--e-global-color-primary);
    color: #fff;
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
}
.kwik-child-content td {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(114,77,132,0.1);
    color: #444;
}
.kwik-child-content tr:nth-child(even) td {
    background: var(--kwik-bg-lightest);
}

/* --- In-Content FAQ --- */
.kwik-child-content details {
    background: #fff;
    border: 1px solid rgba(114,77,132,0.15);
    border-radius: 10px;
    margin-bottom: 8px;
    overflow: hidden;
    max-width: 820px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.kwik-child-content details:hover {
    border-color: rgba(114,77,132,0.3);
}
.kwik-child-content details[open] {
    border-color: var(--e-global-color-secondary);
    border-left: 3px solid var(--e-global-color-primary);
    box-shadow: 0 2px 12px rgba(57,11,80,0.07);
}
.kwik-child-content summary {
    padding: 16px 56px 16px 20px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 600;
    color: var(--e-global-color-primary);
    list-style: none;
    position: relative;
    transition: background 0.15s;
}
.kwik-child-content summary:hover {
    background: var(--kwik-bg-lightest);
}
.kwik-child-content summary::-webkit-details-marker {
    display: none;
}
.kwik-child-content summary::after {
    content: "+";
    font-size: 16px;
    font-weight: 600;
    color: var(--e-global-color-secondary);
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--kwik-bg-lightest);
    transition: background 0.2s, color 0.2s;
}
.kwik-child-content details[open] summary::after {
    content: "\2212";
    color: #fff;
    background: var(--e-global-color-primary);
}
.kwik-child-content details > div {
    padding: 4px 20px 16px;
    border-top: 1px solid rgba(114,77,132,0.08);
}
.kwik-child-content details > div p {
    font-size: 16px;
    line-height: 1.7;
    color: #555;
    margin: 0 0 8px;
}
.kwik-child-content details > div p:last-child {
    margin-bottom: 0;
}
.kwik-child-content details > div a {
    font-size: 16px;
}

/* --- Table of Contents: base styles --- */
.kwik-toc {
    background: #fff;
    border: 1px solid rgba(114,77,132,0.12);
    border-radius: 16px;
    margin: 0 0 48px;
}
.kwik-toc__details {
    margin: 0;
    border: none;
    background: none;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}
.kwik-toc__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--e-global-color-primary);
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    margin: 0;
}
.kwik-toc__title::-webkit-details-marker {
    display: none;
}
.kwik-toc__title::after {
    content: "+";
    font-size: 20px;
    font-weight: 300;
    color: var(--kwik-icon-purple, var(--e-global-color-secondary));
    flex-shrink: 0;
    transition: transform 0.2s;
}
.kwik-toc__details[open] .kwik-toc__title::after {
    content: "\2212";
}
.kwik-toc ol {
    margin: 0;
    padding: 0 24px 20px 44px;
    font-size: 15px;
    line-height: 1.8;
}
.kwik-toc li {
    margin-bottom: 4px;
}
.kwik-toc a {
    color: var(--e-global-color-secondary);
    text-decoration: none;
}
.kwik-toc a:hover {
    color: var(--e-global-color-primary);
    text-decoration: underline;
}

/* --- TOC: Desktop — left sidebar (768px+) --- */
@media (min-width: 768px) {
    .kwik-child-content {
        display: grid;
        grid-template-columns: 240px 1fr;
        column-gap: 40px;
        row-gap: 0;
    }
    /* TOC sits in left column */
    .kwik-child-content > nav.kwik-toc {
        grid-column: 1;
        grid-row: 1 / span 100;
        position: sticky;
        top: 120px;
        align-self: start;
        max-width: none;
        margin: 0;
    }
    /* All other content flows in the right column */
    .kwik-child-content > *:not(nav.kwik-toc) {
        grid-column: 2;
    }
    /* Desktop: always open, hide toggle arrow */
    .kwik-toc__title {
        cursor: default;
        padding: 20px 24px 8px;
    }
    .kwik-toc__title::after {
        display: none;
    }
    .kwik-toc__details {
        /* Keep open on desktop even if user closes */
    }
    .kwik-toc ol {
        padding: 0 20px 20px 36px;
        font-size: 14px;
        line-height: 2;
    }
}

/* --- TOC: wider desktop — sidebar gets more room --- */
@media (min-width: 1024px) {
    .kwik-child-content {
        grid-template-columns: 260px 1fr;
    }
}

/* --- TOC: Mobile — collapsible dropdown (below 768px) --- */
@media (max-width: 767px) {
    .kwik-toc {
        margin: 0 0 32px;
    }
    /* Start closed on mobile */
    .kwik-toc__details:not([open]) .kwik-toc__title {
        padding: 16px 20px;
    }
    .kwik-toc ol {
        padding: 0 20px 16px 36px;
        font-size: 14px;
    }
}

/* --- Horizontal Rules --- */
.kwik-child-content hr {
    border: none;
    height: 1px;
    background: rgba(114,77,132,0.12);
    margin: 48px 0;
    max-width: 820px;
}

/* --- Rich Content Responsive: mobile --- */
@media (max-width: 767px) {
    .kwik-child-content {
        padding: 32px 16px 48px;
    }
    .kwik-child-content h2 {
        font-size: 26px;
        margin: 32px 0 12px;
        padding-top: 16px;
    }
    .kwik-child-content h3 {
        font-size: 20px;
    }
    .kwik-child-content p,
    .kwik-child-content ul,
    .kwik-child-content ol {
        font-size: 16px;
    }
    .kwik-child-content blockquote {
        padding: 20px;
        margin: 24px 0;
    }
    .kwik-child-content aside[role="note"] {
        padding: 20px;
    }
    .kwik-child-content section[data-section="key-takeaways"] {
        padding: 24px 20px 12px;
    }
    .kwik-child-content summary {
        font-size: 16px;
        padding: 14px 48px 14px 16px;
    }
}


/* ==========================================================================
   Patient Portal Page
   ========================================================================== */

.kwik-patient-portal {
    padding: 60px 20px 80px;
    background: #faf6fc;
    min-height: 60vh;
}
.kwik-patient-portal__container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.kwik-patient-portal__title {
    font-family: 'Onest', sans-serif;
    font-size: 42px;
    font-weight: 700;
    color: #390B50;
    margin: 0 0 16px;
}
.kwik-patient-portal__subtitle {
    font-size: 18px;
    color: #555;
    line-height: 1.6;
    margin: 0 0 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.kwik-patient-portal__card {
    background: #fff;
    border-radius: 16px;
    padding: 48px 40px;
    box-shadow: 0 4px 24px rgba(57, 11, 80, 0.08);
    margin-bottom: 48px;
}
.kwik-patient-portal__icon {
    margin-bottom: 20px;
}
.kwik-patient-portal__card-title {
    font-family: 'Onest', sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #390B50;
    margin: 0 0 12px;
}
.kwik-patient-portal__card-text {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 28px;
}
.kwik-patient-portal__btn {
    display: inline-block;
    background: #390B50;
    color: #fff !important;
    font-family: 'Onest', sans-serif;
    font-size: 18px;
    font-weight: 600;
    padding: 16px 40px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}
.kwik-patient-portal__btn:hover {
    background: #724D84;
    transform: translateY(-2px);
}
.kwik-patient-portal__features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}
.kwik-patient-portal__feature {
    background: #fff;
    border-radius: 12px;
    padding: 28px 20px;
    box-shadow: 0 2px 12px rgba(57, 11, 80, 0.06);
}
.kwik-patient-portal__feature h3 {
    font-family: 'Onest', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #390B50;
    margin: 0 0 8px;
}
.kwik-patient-portal__feature p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0;
}
.kwik-patient-portal__help {
    background: #F7E6FF;
    border-radius: 12px;
    padding: 24px 32px;
    text-align: center;
}
.kwik-patient-portal__help h3 {
    font-family: 'Onest', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #390B50;
    margin: 0 0 8px;
}
.kwik-patient-portal__help p {
    font-size: 15px;
    color: #555;
    line-height: 1.5;
    margin: 0;
}
.kwik-patient-portal__help a {
    color: #390B50;
    font-weight: 600;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .kwik-patient-portal {
        padding: 40px 16px 60px;
    }
    .kwik-patient-portal__title {
        font-size: 30px;
    }
    .kwik-patient-portal__card {
        padding: 32px 24px;
    }
    .kwik-patient-portal__features {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}