/*!
 * QB - Posts Styler — Chic Clinic blog layer (chicclinics.me)
 * Palette: clinic blue + navy ink on soft blue mist. Logical properties throughout (LTR/RTL).
 */

/* =========================================================================
   Tokens & base
   ====================================================================== */
.qbps {
	--qbps-ink: #2F4766;
	--qbps-head: #1E2A3D;
	--qbps-text: #475467;
	--qbps-muted: #6B7A93;
	--qbps-brand: #5579C0;
	--qbps-brand-deep: #3F5F9A;
	--qbps-brand-soft: #DCE7FA;
	--qbps-mist: #EAF0FC;
	--qbps-page: #F7F8FB;
	--qbps-line: #DFE7F4;
	--qbps-paper: #FFFFFF;
	--qbps-gold: #C9A45C;
	--qbps-radius-lg: 16px;
	--qbps-radius: 12px;
	--qbps-radius-sm: 8px;
	--qbps-radius-btn: 4px;
	--qbps-shadow: 0 1px 2px rgba(47, 71, 102, .04), 0 12px 30px -20px rgba(47, 71, 102, .28);
	--qbps-shadow-hover: 0 2px 6px rgba(47, 71, 102, .05), 0 30px 54px -26px rgba(47, 71, 102, .34);
	--qbps-ease: cubic-bezier(.22, .61, .36, 1);
	--qbps-pad: 20px;
	--qbps-max: 1240px;
	--qbps-sticky-top: 120px;
	color: var(--qbps-text);
	font-family: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.rtl .qbps { font-family: var(--qbps-font-ar, inherit); }
.qbps *, .qbps *::before, .qbps *::after { box-sizing: border-box; }
.qbps img { max-width: 100%; height: auto; }
.qbps a { text-decoration: none; transition: color .3s var(--qbps-ease), background-color .3s var(--qbps-ease), border-color .3s var(--qbps-ease); }
.qbps :focus-visible { outline: 2px solid var(--qbps-brand-deep); outline-offset: 3px; border-radius: 6px; }
.qbps-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.qbps-ico { width: 1em; height: 1em; flex: none; display: inline-block; vertical-align: middle; }
.rtl .qbps-ico--dir { transform: scaleX(-1); }
.qbps-ico--back { transform: scaleX(-1); }
.rtl .qbps-ico--back { transform: none; }

.qbps-container { width: min(100% - var(--qbps-pad) * 2, var(--qbps-max)); margin-inline: auto; }
.qbps-container--wide { width: min(100% - var(--qbps-pad) * 2, calc(var(--qbps-max) + 120px)); }
.qbps-container--narrow { width: min(100% - var(--qbps-pad) * 2, 820px); }

@media (min-width: 640px)  { .qbps { --qbps-pad: 32px; } }
@media (min-width: 1024px) { .qbps { --qbps-pad: 48px; } }
@media (min-width: 1680px) { .qbps { --qbps-max: 1480px; } }
@media (min-width: 2200px) { .qbps { --qbps-max: 1720px; } }

/* Brand device from the site: a green bar beside headings */
.qbps-bar { position: relative; padding-inline-start: .6em; }
.qbps-bar::before {
	content: ""; position: absolute; inset-inline-start: 0; top: .14em; bottom: .14em;
	width: max(3px, .09em); border-radius: 4px; background: linear-gradient(180deg, var(--qbps-brand), var(--qbps-brand-deep));
}

.qbps-section-title {
	margin: 0; color: var(--qbps-head); font-weight: 700;
	font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem); line-height: 1.2; letter-spacing: -.01em;
}
.rtl .qbps-section-title { letter-spacing: 0; line-height: 1.4; }

.qbps .qbps-btn {
	display: inline-flex; align-items: center; gap: 10px; height: 50px; padding-inline: 28px;
	border-radius: var(--qbps-radius-btn); background: var(--qbps-brand); color: #fff; font-weight: 600; font-size: .95rem;
	box-shadow: 0 12px 24px -16px rgba(85, 121, 192, .9);
}
.qbps .qbps-btn:hover { background: var(--qbps-ink); color: #fff; }
.qbps .qbps-btn .qbps-ico { width: 16px; height: 16px; }

/* =========================================================================
   Chips, stamp, breadcrumbs
   ====================================================================== */
.qbps .qbps-chip {
	position: relative; z-index: 2; display: inline-flex; align-items: center;
	gap: 7px; padding: 5px 12px 5px 10px; border-radius: 999px; background: var(--qbps-mist);
	color: var(--qbps-brand-deep); font-size: .76rem; font-weight: 600; line-height: 1.4; white-space: nowrap;
}
.qbps .qbps-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.rtl .qbps .qbps-chip { padding: 5px 10px 5px 12px; }
.qbps .qbps-chip:hover { background: var(--qbps-brand); color: #fff; }

/* Date badge */
.qbps-stamp {
	position: absolute; z-index: 2; inset-block-start: 14px; inset-inline-start: 14px;
	display: grid; justify-items: center; min-width: 58px; padding: 9px 10px 8px;
	background: rgba(255, 255, 255, .96); color: var(--qbps-ink);
	border-radius: 10px; line-height: 1; text-align: center; overflow: hidden;
	box-shadow: 0 10px 22px -12px rgba(47, 71, 102, .5);
	transition: transform .6s var(--qbps-ease);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.qbps-stamp::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 3px; background: var(--qbps-brand); }
.qbps-stamp b { font-size: 1.35rem; font-weight: 700; color: var(--qbps-brand); letter-spacing: -.02em; }
.qbps-stamp span { margin-top: 5px; font-size: .64rem; font-weight: 600; color: var(--qbps-muted); white-space: nowrap; text-transform: uppercase; letter-spacing: .04em; }
.rtl .qbps-stamp span { text-transform: none; letter-spacing: 0; }
.qbps-card:hover .qbps-stamp { transform: translateY(-3px); }

.qbps-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; list-style: none; margin: 0; padding: 0; font-size: .8125rem; line-height: 1.5; color: var(--qbps-muted); }
.qbps-crumbs li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.qbps-crumbs a { color: var(--qbps-muted); }
.qbps-crumbs a { color: var(--qbps-brand-deep); font-weight: 500; }
.qbps-crumbs a:hover { color: var(--qbps-brand); }
.qbps-crumbs .qbps-ico { width: 12px; height: 12px; opacity: .55; }
.qbps-crumbs [aria-current] { color: var(--qbps-ink); font-weight: 600; max-width: min(46ch, 70vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* =========================================================================
   Cards
   ====================================================================== */
.qbps-card {
	position: relative; isolation: isolate; display: flex; flex-direction: column; width: 100%;
	background: var(--qbps-paper); border: 1px solid var(--qbps-line);
	border-radius: var(--qbps-radius-lg); overflow: hidden; box-shadow: var(--qbps-shadow);
	transition: transform .55s var(--qbps-ease), box-shadow .55s var(--qbps-ease), border-color .4s var(--qbps-ease);
}
.qbps-card:hover { transform: translateY(-6px); box-shadow: var(--qbps-shadow-hover); border-color: transparent; }
.qbps-card:not(.qbps-card--overlay):not(.qbps-card--minimal)::after {
	content: ""; position: absolute; z-index: 2; inset-inline: 0; bottom: 0; height: 3px; pointer-events: none;
	background: linear-gradient(90deg, var(--qbps-brand), var(--qbps-brand-deep));
	transform: scaleX(0); transform-origin: 0 50%; transition: transform .6s var(--qbps-ease);
}
.rtl .qbps-card:not(.qbps-card--overlay):not(.qbps-card--minimal)::after { transform-origin: 100% 50%; }
.qbps-card:hover::after { transform: scaleX(1); }

.qbps-card__media { position: relative; aspect-ratio: var(--qbps-ratio, 16 / 10); overflow: hidden; background: var(--qbps-mist); }
.qbps-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--qbps-ease), filter .6s; }
.qbps-card:hover .qbps-card__media img { transform: scale(1.06); }
.qbps-card__ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--qbps-brand); font-size: 44px; background: radial-gradient(circle at 70% 30%, var(--qbps-brand-soft), var(--qbps-mist)); }

.qbps-card__body { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: 22px 24px 24px; }
.qbps-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.qbps-card__info { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 600; color: var(--qbps-muted); }
.qbps-card__info .qbps-ico { width: 15px; height: 15px; color: var(--qbps-brand-deep); }

.qbps .qbps-card__title {
	margin: 0; color: var(--qbps-head); font-size: 1.14rem; line-height: 1.4; font-weight: 700; letter-spacing: -.005em;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.rtl .qbps .qbps-card__title { line-height: 1.6; letter-spacing: 0; }
.qbps .qbps-card__title a {
	color: inherit;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat;
	transition: background-size .6s var(--qbps-ease), color .3s var(--qbps-ease);
}
.rtl .qbps .qbps-card__title a { background-position: 100% 100%; }
.qbps-card:hover .qbps-card__title a { background-size: 100% 1.5px; color: var(--qbps-brand-deep); }
.qbps .qbps-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

.qbps-card__excerpt {
	margin: 0; font-size: .93rem; line-height: 1.7; color: var(--qbps-text);
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.rtl .qbps-card__excerpt { line-height: 1.85; }

.qbps-card__more { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 12px; font-size: .86rem; font-weight: 600; color: var(--qbps-brand-deep); }
.qbps-card__go, .qbps-viewall__go {
	display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
	border: 1px solid var(--qbps-brand-soft); background: var(--qbps-mist); color: var(--qbps-brand-deep);
	transition: background-color .4s var(--qbps-ease), border-color .4s, color .4s;
}
.qbps-card__go .qbps-ico, .qbps-viewall__go .qbps-ico { width: 15px; height: 15px; transition: translate .45s var(--qbps-ease); }
.qbps-card:hover .qbps-card__go { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; }
.qbps-card:hover .qbps-card__go .qbps-ico { translate: 3px 0; }
.rtl .qbps-card:hover .qbps-card__go .qbps-ico { translate: -3px 0; }

/* Overlay card */
.qbps-card--overlay { display: grid; aspect-ratio: var(--qbps-ratio, 4 / 5); min-height: 380px; border: 0; background: var(--qbps-ink); }
.qbps-card--overlay .qbps-card__media { grid-area: 1 / 1; aspect-ratio: auto; height: 100%; }
.qbps-card--overlay .qbps-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47, 71, 102, 0) 25%, rgba(47, 71, 102, .55) 55%, rgba(47, 71, 102, .94) 100%); transition: opacity .5s; }
.qbps-card--overlay .qbps-card__body { grid-area: 1 / 1; align-self: end; position: relative; z-index: 1; padding: 28px; }
.qbps-card--overlay .qbps-card__title { color: #fff; font-size: 1.25rem; }
.qbps-card--overlay:hover .qbps-card__title a { color: #fff; }
.qbps-card--overlay .qbps-card__excerpt { color: rgba(255, 255, 255, .8); }
.qbps-card--overlay .qbps-card__info { color: rgba(255, 255, 255, .8); }
.qbps-card--overlay .qbps-card__info .qbps-ico { color: var(--qbps-brand); }
.qbps-card--overlay .qbps-chip { background: rgba(255, 255, 255, .16); color: #fff; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.qbps-card--overlay .qbps-card__more { color: #fff; }
.qbps-card--overlay .qbps-card__go { border-color: rgba(255, 255, 255, .35); color: #fff; }
.qbps-card--overlay .qbps-card__go { background: rgba(255, 255, 255, .1); }
.qbps-card--overlay:hover .qbps-card__go { background: #fff; border-color: #fff; color: var(--qbps-brand-deep); }
.qbps-card--overlay .qbps-card__info .qbps-ico { color: #BFD2F5; }

/* Minimal card */
.qbps-card--minimal { background: transparent; border: 0; border-radius: 0; overflow: visible; }
.qbps-card--minimal:hover { transform: none; box-shadow: none; }
.qbps-card--minimal .qbps-card__media { border-radius: var(--qbps-radius-lg); }
.qbps-card--minimal:hover .qbps-card__media { box-shadow: var(--qbps-shadow-hover); }
.qbps-card--minimal .qbps-card__media { transition: box-shadow .55s var(--qbps-ease); }
.qbps-card--minimal .qbps-card__body { padding: 20px 2px 0; }

/* Feature card (listing page 1) */
.qbps-card--feature { margin-bottom: clamp(28px, 3vw, 44px); border-radius: calc(var(--qbps-radius-lg) + 6px); }
.qbps-card--feature:hover { transform: translateY(-4px); }
.qbps-card--feature .qbps-card__body { padding: clamp(24px, 3.4vw, 56px); gap: 16px; justify-content: center; }
.qbps .qbps-card--feature .qbps-card__title { font-size: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); line-height: 1.2; font-weight: 800; letter-spacing: -.015em; -webkit-line-clamp: 4; }
.rtl .qbps .qbps-card--feature .qbps-card__title { line-height: 1.45; }
.qbps-card--feature .qbps-card__excerpt { font-size: clamp(1rem, .95rem + .2vw, 1.1rem); -webkit-line-clamp: 4; }
.qbps-card--feature .qbps-card__more { font-size: .95rem; }
.qbps-card--feature .qbps-stamp { inset-block-start: 22px; inset-inline-start: 22px; min-width: 76px; padding: 10px 14px 11px; }
.qbps-card--feature .qbps-stamp b { font-size: 1.75rem; }
@media (min-width: 900px) {
	.qbps-card--feature { display: grid; grid-template-columns: 1.2fr 1fr; }
	.qbps-card--feature .qbps-card__media { aspect-ratio: auto; min-height: 460px; height: 100%; }
}
@media (min-width: 1680px) {
	.qbps-card--feature { grid-template-columns: 1.35fr 1fr; }
	.qbps-card--feature .qbps-card__media { min-height: 540px; }
}

/* =========================================================================
   Listing
   ====================================================================== */
.qbps-hero {
	position: relative; overflow: hidden; isolation: isolate; text-align: center;
	padding-block: clamp(56px, 8vw, 128px) clamp(84px, 9vw, 140px);
	background:
		radial-gradient(60% 80% at 50% 0%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 70%),
		linear-gradient(180deg, #E3EBFB 0%, #EAF0FC 60%, #EEF3FD 100%);
}
.qbps-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.qbps-hero__bg::before {
	content: ""; position: absolute; inset: 0;
	background-image: radial-gradient(rgba(85, 121, 192, .16) 1px, transparent 1.4px);
	background-size: 24px 24px;
	-webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent 75%);
	mask-image: radial-gradient(70% 70% at 50% 40%, #000, transparent 75%);
	opacity: .7;
}
.qbps-ribbon { position: absolute; fill: none; overflow: visible; }
.qbps-ribbon path { stroke: #CFDDF6; stroke-width: 34; stroke-linecap: round; stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: qbps-ribbon 2.6s var(--qbps-ease) .2s forwards; }
.qbps-ribbon path.qbps-ribbon__thin { stroke: #DCE6F9; stroke-width: 14; animation-delay: .6s; }
.qbps-ribbon--a { inset-inline-start: -60px; top: -40px; width: min(38vw, 440px); height: auto; aspect-ratio: 1; }
.qbps-ribbon--b { inset-inline-end: -40px; top: -30px; width: min(46vw, 560px); height: auto; aspect-ratio: 520 / 420; }
.rtl .qbps-ribbon { transform: scaleX(-1); }
@keyframes qbps-ribbon { to { stroke-dashoffset: 0; } }
@keyframes qbps-fade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) { .qbps-ribbon { opacity: .55; } .qbps-ribbon--a { width: 62vw; } .qbps-ribbon--b { width: 78vw; } }

.qbps-hero__inner { position: relative; display: flex; flex-direction: column; align-items: center; }
.qbps-hero__inner > * { animation: qbps-rise .9s var(--qbps-ease) both; animation-delay: calc(var(--d, 0) * 90ms + 60ms); }
@keyframes qbps-rise { from { opacity: 0; translate: 0 16px; } to { opacity: 1; translate: none; } }

.qbps-hero__kicker {
	display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 999px;
	background: rgba(255, 255, 255, .8); border: 1px solid #fff; color: var(--qbps-brand-deep);
	font-size: .8rem; font-weight: 600; letter-spacing: .02em; box-shadow: 0 10px 24px -18px rgba(47, 71, 102, .6);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.qbps-hero__kicker .qbps-ico { width: 16px; height: 16px; color: var(--qbps-brand); }

.qbps .qbps-hero__title {
	margin: 20px auto 0; max-width: 22ch; color: var(--qbps-head);
	font-size: clamp(2rem, 1.25rem + 2.8vw, 3.6rem); line-height: 1.12; font-weight: 700; letter-spacing: -.02em;
	text-wrap: balance;
}
.rtl .qbps .qbps-hero__title { letter-spacing: 0; line-height: 1.38; }
.qbps-hero__desc { margin: 16px auto 0; max-width: 62ch; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); line-height: 1.75; color: var(--qbps-text); }
.qbps-hero__desc p { margin: 0; }
.qbps-hero__desc p + p { margin-top: .6em; }
.qbps-hero__row { margin-top: 30px; width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 24px; }
.qbps-hero__count { display: inline-flex; align-items: center; gap: 10px; height: 56px; padding-inline: 20px; border-radius: 999px; background: #fff; box-shadow: 0 14px 34px -24px rgba(47, 71, 102, .5); font-size: .92rem; font-weight: 600; color: var(--qbps-ink); }
.qbps-hero__count .qbps-ico { width: 20px; height: 20px; color: var(--qbps-brand); }

/* White tab on the bottom edge — the Chic page-header signature */
.qbps-hero__tab {
	position: absolute; z-index: 1; bottom: 0; left: 50%; translate: -50% 0;
	display: flex; justify-content: center; min-width: min(420px, 86vw); max-width: 92vw; padding: 14px 64px 10px;
	background: var(--qbps-page); clip-path: polygon(14% 0, 86% 0, 100% 100%, 0 100%);
	border-radius: 28px 28px 0 0; animation: qbps-fade 1s var(--qbps-ease) .5s both;
	filter: drop-shadow(0 -10px 18px rgba(47, 71, 102, .06));
}
.qbps-hero__tab .qbps-crumbs ol { justify-content: center; }
@media (max-width: 639px) { .qbps-hero__tab { padding-inline: 40px; clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%); } }

.qbps-search { position: relative; flex: 1 1 300px; max-width: 480px; margin: 0; }
.qbps .qbps-search input[type="search"] {
	width: 100%; height: 56px; margin: 0; padding-block: 0; padding-inline: 22px 64px;
	border: 1px solid #fff; border-radius: 999px; background: #fff;
	font: inherit; font-size: .95rem; color: var(--qbps-ink);
	box-shadow: 0 14px 34px -22px rgba(47, 71, 102, .45);
	transition: border-color .3s, box-shadow .3s; -webkit-appearance: none; appearance: none;
}
.qbps .qbps-search input[type="search"]::placeholder { color: var(--qbps-muted); opacity: 1; }
.qbps .qbps-search input[type="search"]:focus { outline: none; border-color: var(--qbps-brand); box-shadow: 0 0 0 4px rgba(85, 121, 192, .18); }
.qbps .qbps-search button {
	position: absolute; inset-inline-end: 6px; top: 6px; width: 44px; height: 44px; min-height: 0; padding: 0; margin: 0;
	border: 0; border-radius: 50%; background: var(--qbps-brand); color: #fff; display: grid; place-items: center; cursor: pointer;
	transition: background-color .3s;
}
.qbps .qbps-search button:hover { background: var(--qbps-ink); }
.qbps .qbps-search button .qbps-ico { width: 19px; height: 19px; }

/* Topics bar */
.qbps-topics { background: var(--qbps-page); }
.qbps-topics .qbps-container { display: flex; justify-content: center; }
.qbps .qbps-topics__list {
	display: flex; gap: 10px; margin: 0 -16px; padding: 18px 16px; list-style: none; overflow-x: auto;
	scrollbar-width: none; overscroll-behavior-x: contain;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
}
.qbps-topics__list::-webkit-scrollbar { display: none; }
.qbps-topics__list li { flex: none; margin: 0; }
.qbps .qbps-topic-chip {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; white-space: nowrap;
	border: 1px solid var(--qbps-line); border-radius: 999px; background: #fff;
	color: var(--qbps-ink); font-size: .875rem; font-weight: 500; line-height: 1.2;
}
.qbps-topic-chip small { font-size: .72rem; font-weight: 700; line-height: 1; padding: 4px 8px; border-radius: 999px; background: var(--qbps-mist); color: var(--qbps-brand-deep); transition: inherit; }
.qbps .qbps-topic-chip:hover { border-color: var(--qbps-brand); color: var(--qbps-brand-deep); background: var(--qbps-mist); }
.qbps .qbps-topic-chip.is-active { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; box-shadow: 0 10px 22px -14px rgba(85, 121, 192, .9); }
.qbps-topic-chip.is-active small { background: rgba(255, 255, 255, .16); color: #fff; }

.qbps-listing { padding-block: clamp(32px, 5vw, 88px) clamp(48px, 6vw, 104px); background: var(--qbps-page); }
.qbps-archive, .qbps-single { display: block; width: 100%; max-width: none; clear: both; background: var(--qbps-page); }

.qbps-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(20px, 2.2vw, 32px); }
@media (min-width: 640px)  { .qbps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .qbps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1680px) { .qbps-grid:not(.qbps-grid--3) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Pagination */
.qbps-pagination { margin-top: clamp(40px, 5vw, 72px); }
.qbps .qbps-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.qbps-pagination li { margin: 0; }
.qbps .qbps-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 46px; height: 46px; padding-inline: 14px;
	border: 1px solid var(--qbps-line); border-radius: 50px; background: #fff; color: var(--qbps-ink); font-weight: 600; font-size: .92rem;
}
.qbps .qbps-pagination a.page-numbers:hover { border-color: var(--qbps-brand); color: var(--qbps-brand-deep); }
.qbps .qbps-pagination .page-numbers.current { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; box-shadow: 0 10px 22px -12px rgba(85, 121, 192, .9); }
.qbps .qbps-pagination .page-numbers.dots { border-color: transparent; background: transparent; min-width: 24px; padding: 0; }
.qbps-pagination .prev, .qbps-pagination .next { padding-inline: 18px !important; }
.qbps-pagination .qbps-ico { width: 16px; height: 16px; }
@media (max-width: 639px) { .qbps-pagination .prev span, .qbps-pagination .next span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* Empty */
.qbps-empty { max-width: 640px; margin-inline: auto; padding: clamp(40px, 6vw, 72px) 24px; text-align: center; border: 1px dashed var(--qbps-line); border-radius: var(--qbps-radius-lg); background: var(--qbps-mist); }
.qbps-empty__ico { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; color: var(--qbps-brand); font-size: 28px; box-shadow: 0 14px 30px -18px rgba(47, 71, 102, .35); }
.qbps .qbps-empty__title { margin: 22px 0 8px; color: var(--qbps-head); font-size: 1.5rem; font-weight: 700; }
.qbps-empty__text { margin: 0 0 26px; }

/* Other topics + topic cards */
.qbps-more-topics { padding-block: clamp(48px, 6vw, 100px); background: linear-gradient(180deg, var(--qbps-mist), #F3F7FE); }
.qbps-more-topics .qbps-section-title { margin-bottom: clamp(24px, 3vw, 36px); }

.qbps-topics-grid { --qbps-cols: 1; display: grid; grid-template-columns: repeat(var(--qbps-cols), minmax(0, 1fr)); gap: 16px; }
@media (min-width: 640px)  { .qbps-topics-grid { --qbps-cols: 2; } }
@media (min-width: 1024px) { .qbps-topics-grid { --qbps-cols: 3; } }

.qbps .qbps-topic {
	position: relative; display: flex; align-items: center; gap: 16px; padding: 14px; padding-inline-end: 18px;
	background: var(--qbps-paper); border: 1px solid var(--qbps-line); border-radius: var(--qbps-radius); color: inherit;
	transition: transform .5s var(--qbps-ease), box-shadow .5s var(--qbps-ease), border-color .4s;
}
.qbps .qbps-topic:hover { transform: translateY(-3px); box-shadow: var(--qbps-shadow-hover); border-color: transparent; }
.qbps-topic__media { flex: none; display: grid; place-items: center; width: 76px; height: 76px; overflow: hidden; border-radius: 12px; background: var(--qbps-brand-soft); color: var(--qbps-brand-deep); font-size: 28px; }
.qbps-topic__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--qbps-ease); }
.qbps-topic:hover .qbps-topic__media img { transform: scale(1.08); }
.qbps-topic__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.qbps-topic__name { color: var(--qbps-head); font-size: 1.03rem; font-weight: 600; line-height: 1.35; }
.qbps-topic__count { color: var(--qbps-brand-deep); font-size: .8rem; font-weight: 700; }
.qbps-topic__desc { color: var(--qbps-muted); font-size: .84rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qbps-topic__go { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--qbps-line); color: var(--qbps-ink); transition: background-color .4s var(--qbps-ease), border-color .4s, color .4s; }
.qbps-topic__go .qbps-ico { width: 15px; height: 15px; }
.qbps-topic:hover .qbps-topic__go { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; }

/* =========================================================================
   Carousel widget
   ====================================================================== */
.qbps-carousel-wrap { position: relative; }
.qbps-carousel__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; margin-bottom: clamp(24px, 3vw, 40px); }
.qbps-carousel__intro { min-width: 0; flex: 1 1 320px; }
.qbps .qbps-carousel__heading { margin: 0; color: var(--qbps-head); font-size: clamp(1.6rem, 1.15rem + 1.4vw, 2.5rem); line-height: 1.2; font-weight: 700; letter-spacing: -.015em; }
.rtl .qbps .qbps-carousel__heading { letter-spacing: 0; line-height: 1.4; }
.qbps-carousel__sub { margin: 12px 0 0; max-width: 58ch; line-height: 1.7; }

.qbps-nav { display: flex; gap: 10px; }
.qbps .qbps-nav button {
	display: grid; place-items: center; width: 52px; height: 52px; min-height: 0; margin: 0; padding: 0;
	border: 1px solid var(--qbps-line); border-radius: 50%; background: #fff; color: var(--qbps-ink); cursor: pointer;
	transition: background-color .35s var(--qbps-ease), border-color .35s, color .35s, opacity .35s, transform .35s var(--qbps-ease);
}
.qbps .qbps-nav button .qbps-ico { width: 18px; height: 18px; }
.qbps .qbps-nav button:hover:not([disabled]) { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; }
.qbps .qbps-nav button:active:not([disabled]) { transform: scale(.94); }
.qbps .qbps-nav button[disabled] { opacity: .35; cursor: default; }

/* Slides per view: Elementor sets --qbps-pv per breakpoint; these are the fallbacks. */
.qbps-carousel { --qbps-gap: 28px; --qbps-pv-def: 1.12; --qbps-pv-active: var(--qbps-pv, var(--qbps-pv-def)); position: relative; }
@media (max-width: 767px)  { .qbps-carousel { --qbps-gap: 16px; } }
@media (min-width: 768px)  { .qbps-carousel { --qbps-pv-def: 2; } }
@media (min-width: 1025px) { .qbps-carousel { --qbps-pv-def: 3; } }
@media (min-width: 1800px) { .qbps-carousel { --qbps-pv-active: var(--qbps-pv-xl, 4); } }
.qbps .qbps-carousel__track {
	display: flex; gap: var(--qbps-gap); margin: -14px -4px -34px; padding: 14px 4px 34px;
	overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
	scroll-padding-inline: 4px;
}
.qbps-carousel__track::-webkit-scrollbar { display: none; }
.qbps-carousel__track:focus-visible { outline-offset: -2px; }
.qbps-carousel__track.is-drag { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; user-select: none; }
.qbps-carousel__track.is-drag a { pointer-events: none; }
.qbps-carousel__slide { flex: 0 0 calc((100% - (var(--qbps-pv-active) - 1) * var(--qbps-gap)) / var(--qbps-pv-active)); display: flex; min-width: 0; scroll-snap-align: start; }
.qbps-carousel__slide > .qbps-card { flex: 1; }

.qbps-carousel__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; }
.qbps-carousel__foot-end { display: flex; align-items: center; gap: 24px; }
.qbps-progress { position: relative; flex: 1; max-width: 340px; height: 3px; border-radius: 3px; background: var(--qbps-line); overflow: hidden; }
.qbps-progress__bar { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: 30%; border-radius: 3px; background: var(--qbps-brand); transition: inset-inline-start .45s var(--qbps-ease), width .45s var(--qbps-ease); }
.qbps-dots { display: flex; flex-wrap: wrap; gap: 8px; }
.qbps .qbps-dots button { width: 9px; height: 9px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 99px; background: var(--qbps-line); cursor: pointer; transition: width .45s var(--qbps-ease), background-color .3s; }
.qbps .qbps-dots button.is-active { width: 28px; background: var(--qbps-brand); }

.qbps .qbps-viewall { display: inline-flex; align-items: center; gap: 12px; color: var(--qbps-ink); font-weight: 700; font-size: .92rem; white-space: nowrap; }
.qbps .qbps-viewall:hover { color: var(--qbps-brand-deep); }
.qbps .qbps-viewall:hover .qbps-viewall__go { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; }
.qbps .qbps-viewall:hover .qbps-viewall__go .qbps-ico { translate: 3px 0; }
.rtl .qbps .qbps-viewall:hover .qbps-viewall__go .qbps-ico { translate: -3px 0; }

@media (max-width: 767px) {
	.qbps .qbps-nav button { width: 44px; height: 44px; }
	.qbps-carousel__head { align-items: center; }
	.qbps-card__body { padding: 20px 20px 22px; }
}
.qbps-editor-note { padding: 18px 20px; border: 1px dashed #BFD0EE; border-radius: 12px; background: #EAF0FC; color: #475467; font-size: 14px; }

/* =========================================================================
   Single article
   ====================================================================== */
.qbps-readbar { position: fixed; z-index: 99999; inset-inline: 0; top: var(--wp-admin--admin-bar--height, 0px); height: 3px; pointer-events: none; }
.qbps-readbar span { display: block; height: 100%; background: linear-gradient(90deg, var(--qbps-brand), var(--qbps-brand-deep)); transform: scaleX(0); transform-origin: 0 50%; will-change: transform; }
.rtl .qbps-readbar span { transform-origin: 100% 50%; background: linear-gradient(270deg, var(--qbps-brand), var(--qbps-brand-deep)); }

/* Shared grid: [share rail] [content] [sidebar] */
.qbps-single__grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 48px; }
@media (min-width: 1024px) { .qbps-single__grid { grid-template-columns: minmax(0, 1fr) 300px; } }
@media (min-width: 1200px) { .qbps-single__grid { grid-template-columns: 52px minmax(0, 760px) 320px; justify-content: center; column-gap: 56px; } }
@media (min-width: 1800px) { .qbps-single__grid { grid-template-columns: 56px minmax(0, 820px) 360px; column-gap: 72px; } }

.qbps-single__hero { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(36px, 6vw, 96px) clamp(40px, 5vw, 72px); background: radial-gradient(60% 90% at 70% 0%, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, #E6EEFC 0%, #EFF4FD 60%, var(--qbps-page) 100%); }
.qbps-single__hero .qbps-hero__inner { align-items: flex-start; text-align: start; }
.qbps-single__head { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 1200px) { .qbps-single__head { grid-column: 2 / 4; } }

.qbps-single__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.qbps .qbps-single__title {
	margin: 18px 0 0; max-width: 26ch; color: var(--qbps-head);
	font-size: clamp(1.85rem, 1.2rem + 2.3vw, 3.2rem); line-height: 1.16; font-weight: 700; letter-spacing: -.02em;
	text-wrap: balance;
}
.rtl .qbps .qbps-single__title { letter-spacing: 0; line-height: 1.38; }
.qbps-single__lead { margin: 20px 0 0; max-width: 62ch; color: var(--qbps-text); font-size: clamp(1.05rem, 1rem + .35vw, 1.26rem); line-height: 1.7; }
.qbps-single__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 30px; color: var(--qbps-muted); font-size: .9rem; }
.qbps-author-mini { display: inline-flex; align-items: center; gap: 12px; color: var(--qbps-ink); font-weight: 700; line-height: 1.25; }
.qbps-author-mini small { display: block; color: var(--qbps-muted); font-size: .74rem; font-weight: 600; }
.qbps .qbps-avatar { border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--qbps-line); }
.qbps-author-mini .qbps-avatar { width: 44px; height: 44px; }
.qbps-meta-item { display: inline-flex; align-items: center; gap: 8px; }
.qbps-meta-item { padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .75); }
.qbps-meta-item .qbps-ico { width: 17px; height: 17px; color: var(--qbps-brand); }

/* Featured image: soft, inside the article column, above the text */
.qbps-single__media { position: relative; margin: 0 0 clamp(30px, 3.4vw, 46px); }
.qbps-single__media::before {
	content: ""; position: absolute; z-index: 0; inset: 18px -12px -14px 22px; border-radius: 26px;
	background:
		radial-gradient(circle at 1px 1px, rgba(63, 95, 154, .3) 1px, transparent 1.6px) 0 0 / 14px 14px,
		linear-gradient(135deg, var(--qbps-brand-soft), var(--qbps-mist));
	opacity: .9; transition: translate .8s var(--qbps-ease);
}
.rtl .qbps-single__media::before { inset: 18px 22px -14px -12px; }
.qbps-single__media-frame {
	position: relative; z-index: 1; overflow: hidden; isolation: isolate;
	border-radius: clamp(16px, 1.6vw, 22px); background: var(--qbps-mist);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 30px 60px -34px rgba(47, 71, 102, .42), 0 10px 22px -16px rgba(47, 71, 102, .2);
	animation: qbps-media-in 1.15s var(--qbps-ease) .25s both;
}
.qbps-single__media-frame::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(47, 71, 102, .06);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 60%, rgba(47, 71, 102, .10));
}
.qbps .qbps-single__media img {
	display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; margin: 0;
	transform: scale(1.001); transition: transform 1.4s var(--qbps-ease);
	animation: qbps-media-zoom 1.6s var(--qbps-ease) .25s both;
}
@media (min-width: 768px) { .qbps .qbps-single__media img { aspect-ratio: 16 / 9; } }
@media (hover: hover) {
	.qbps-single__media:hover img { transform: scale(1.035); }
	.qbps-single__media:hover::before { translate: 6px 6px; }
	.rtl .qbps-single__media:hover::before { translate: -6px 6px; }
}
.qbps-single__media figcaption {
	position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-top: 16px;
	color: var(--qbps-muted); font-size: .84rem; line-height: 1.6;
}
.qbps-single__media figcaption::before { content: ""; flex: none; width: 22px; height: 2px; border-radius: 2px; background: var(--qbps-brand); }
@keyframes qbps-media-in { from { opacity: 0; translate: 0 26px; clip-path: inset(6% 4% 0 4% round 22px); } to { opacity: 1; translate: none; clip-path: inset(0 0 0 0 round 22px); } }
@keyframes qbps-media-zoom { from { scale: 1.08; } to { scale: 1; } }
@media (max-width: 767px) {
	.qbps-single__media::before { inset: 12px -8px -10px 14px; border-radius: 20px; }
	.rtl .qbps-single__media::before { inset: 12px 14px -10px -8px; }
}

.qbps-single__layout { padding-block: clamp(28px, 4.4vw, 76px) clamp(40px, 5vw, 84px); row-gap: 48px; }
.qbps-share-rail { display: none; }
@media (min-width: 1200px) { .qbps-share-rail { display: block; grid-column: 1; } }
.qbps-single__body { min-width: 0; }
@media (min-width: 1024px) { .qbps-single__body { grid-column: 1; } .qbps-single__side { grid-column: 2; } }
@media (min-width: 1200px) { .qbps-single__body { grid-column: 2; } .qbps-single__side { grid-column: 3; } }
@media (min-width: 1024px) { .qbps-single__layout--noside .qbps-single__body { grid-column: 1 / -1; max-width: 800px; justify-self: center; width: 100%; } }
@media (min-width: 1200px) { .qbps-single__layout--noside .qbps-single__body { grid-column: 2 / 4; } }

.qbps-sticky { display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 1024px) { .qbps-sticky { position: sticky; top: var(--qbps-sticky-top); } }
.admin-bar .qbps-sticky { top: calc(var(--qbps-sticky-top) + 32px); }

/* Share */
.qbps .qbps-share { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.qbps-share li { margin: 0; }
.qbps-share-rail .qbps-share { flex-direction: column; }
.qbps .qbps-share a, .qbps .qbps-share button {
	position: relative; display: grid; place-items: center; width: 44px; height: 44px; min-height: 0; margin: 0; padding: 0;
	border: 1px solid var(--qbps-line); border-radius: 50%; background: #fff; color: var(--qbps-brand-deep); cursor: pointer;
	transition: background-color .35s var(--qbps-ease), border-color .35s, color .35s, transform .35s var(--qbps-ease);
}
.qbps .qbps-share .qbps-ico { width: 18px; height: 18px; }
.qbps .qbps-share a:hover, .qbps .qbps-share button:hover { background: var(--qbps-brand); border-color: var(--qbps-brand); color: #fff; transform: translateY(-2px); }
.qbps-share .qbps-copy-b { display: none; }
.qbps .qbps-share button.is-copied { background: var(--qbps-ink); border-color: var(--qbps-brand-deep); color: #fff; }
.qbps-share button.is-copied .qbps-copy-a { display: none; }
.qbps-share button.is-copied .qbps-copy-b { display: inline-block; }
.qbps-share-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 48px; padding: 18px 22px; border: 1px solid var(--qbps-line); border-radius: var(--qbps-radius); background: #fff; color: var(--qbps-head); }
@media (min-width: 1200px) { .qbps-share-row { justify-content: flex-start; gap: 24px; } }

/* TOC */
.qbps-toc__list { margin: 0; padding: 0; list-style: none; border-inline-start: 2px solid var(--qbps-line); }
.qbps-toc__list li { margin: 0; }
.qbps .qbps-toc__list a {
	display: block; margin-inline-start: -2px; padding: 7px 0; padding-inline-start: 16px;
	border-inline-start: 2px solid transparent; color: var(--qbps-muted); font-size: .88rem; line-height: 1.5;
}
.qbps .qbps-toc__lvl-3 a { padding-inline-start: 30px; font-size: .84rem; }
.qbps .qbps-toc__list a:hover { color: var(--qbps-ink); }
.qbps .qbps-toc__list a.is-active { color: var(--qbps-brand-deep); border-color: var(--qbps-brand); font-weight: 600; background: linear-gradient(90deg, var(--qbps-mist), transparent); }
.rtl .qbps .qbps-toc__list a.is-active { background: linear-gradient(270deg, var(--qbps-mist), transparent); }

.qbps-toc--side { display: none; padding: 24px; background: var(--qbps-paper); border: 1px solid var(--qbps-line); border-radius: var(--qbps-radius-lg); box-shadow: var(--qbps-shadow); }
@media (min-width: 1024px) { .qbps-toc--side { display: block; } .qbps-toc--inline { display: none; } }
.qbps-toc--side .qbps-toc__list { max-height: calc(100vh - var(--qbps-sticky-top) - 420px); min-height: 120px; overflow-y: auto; scrollbar-width: thin; }
.qbps-toc__title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; color: var(--qbps-head); font-size: .95rem; font-weight: 700; }
.qbps-toc__title .qbps-ico { width: 18px; height: 18px; color: var(--qbps-brand); }

.qbps-toc--inline { margin-bottom: 36px; border: 1px solid var(--qbps-brand-soft); border-radius: var(--qbps-radius); background: var(--qbps-mist); overflow: hidden; }
.qbps-toc--inline summary { display: flex; align-items: center; gap: 10px; padding: 16px 20px; color: var(--qbps-ink); font-weight: 800; cursor: pointer; list-style: none; }
.qbps-toc--inline summary::-webkit-details-marker { display: none; }
.qbps-toc--inline summary .qbps-ico { width: 18px; height: 18px; color: var(--qbps-brand-deep); }
.qbps-toc--inline summary span { flex: 1; }
.qbps-toc__chev { transition: transform .35s var(--qbps-ease); }
.qbps-toc--inline[open] .qbps-toc__chev { transform: rotate(180deg); }
.qbps-toc--inline .qbps-toc__list { margin: 0 20px 18px; }

/* CTA — light clinic card, echoing “Wish To Transform Your Smile?” */
.qbps-cta {
	position: relative; isolation: isolate; overflow: hidden; padding: 28px; border-radius: var(--qbps-radius-lg);
	background: linear-gradient(160deg, #F3F7FE 0%, #E3ECFC 55%, #D3E1FA 100%); color: var(--qbps-ink);
	border: 1px solid #fff; box-shadow: var(--qbps-shadow);
}
.qbps-cta::before {
	content: ""; position: absolute; z-index: -1; width: 220px; height: 220px; inset-inline-end: -120px; top: -130px; border-radius: 50%;
	border: 22px solid rgba(255, 255, 255, .55);
}
.qbps-cta::after {
	content: ""; position: absolute; z-index: -1; width: 200px; height: 200px; inset-inline-start: -80px; bottom: -110px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(85, 121, 192, .22), rgba(85, 121, 192, 0));
}
.qbps-cta__ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--qbps-brand); font-size: 24px; box-shadow: 0 12px 24px -16px rgba(47, 71, 102, .6); }
.qbps .qbps-cta__title { margin: 18px 0 0; color: var(--qbps-head); font-size: 1.28rem; font-weight: 700; line-height: 1.3; }
.qbps .qbps-cta__text { margin: 10px 0 22px; color: var(--qbps-text); font-size: .92rem; line-height: 1.7; }
.qbps .qbps-cta__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 50px; padding-inline: 22px;
	border-radius: var(--qbps-radius-btn); background: var(--qbps-brand); color: #fff; font-weight: 600; font-size: .92rem;
	box-shadow: 0 14px 26px -16px rgba(85, 121, 192, .95);
}
.qbps .qbps-cta__btn .qbps-ico { width: 16px; height: 16px; transition: translate .4s var(--qbps-ease); }
.qbps .qbps-cta__btn:hover { background: var(--qbps-ink); color: #fff; }
.qbps .qbps-cta__btn:hover .qbps-ico { translate: 3px 0; }
.rtl .qbps .qbps-cta__btn:hover .qbps-ico { translate: -3px 0; }
.qbps .qbps-cta__phone { display: flex; align-items: center; gap: 12px; margin-top: 18px; color: var(--qbps-head); font-weight: 700; font-size: .98rem; line-height: 1.25; }
.qbps .qbps-cta__phone small { display: block; color: var(--qbps-muted); font-size: .72rem; font-weight: 600; }
.qbps-cta__phone-ico { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 10px; background: rgba(255, 255, 255, .85); color: var(--qbps-brand); transition: background-color .3s, color .3s; }
.qbps-cta__phone-ico .qbps-ico { width: 18px; height: 18px; }
.qbps .qbps-cta__phone:hover .qbps-cta__phone-ico { background: var(--qbps-brand); color: #fff; }
.qbps-cta__phone bdi { direction: ltr; unicode-bidi: isolate; }

/* Working hours — mirrors the site sidebar */
.qbps-hours { position: relative; overflow: hidden; padding: 24px; border-radius: var(--qbps-radius-lg); background: var(--qbps-mist); border: 1px solid var(--qbps-brand-soft); }
.qbps-hours__title { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--qbps-head); font-size: .95rem; font-weight: 700; }
.qbps-hours__title .qbps-ico { width: 18px; height: 18px; color: var(--qbps-brand); }
.qbps .qbps-hours__list { position: relative; z-index: 1; margin: 0; padding: 0; }
.qbps-hours__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-block: 11px; border-bottom: 1px solid rgba(85, 121, 192, .35); font-size: .86rem; }
.qbps-hours__row:last-child { border-bottom: 0; padding-bottom: 0; }
.qbps .qbps-hours__row dt { margin: 0; color: var(--qbps-ink); font-weight: 500; }
.qbps .qbps-hours__row dd { margin: 0; color: var(--qbps-head); font-weight: 600; text-align: end; white-space: nowrap; }

/* Prose */
.qbps-prose { color: var(--qbps-text); font-size: 1.0625rem; line-height: 1.85; overflow-wrap: break-word; }
.rtl .qbps-prose { line-height: 2; }
@media (min-width: 1200px) { .qbps-prose { font-size: 1.125rem; } }
@media (min-width: 1800px) { .qbps-prose { font-size: 1.1875rem; } }
.qbps-prose > * { margin-block: 0; }
.qbps-prose > * + * { margin-block-start: 1.3em; }
.qbps-prose > :first-child { margin-block-start: 0; }
.qbps-prose > h2, .qbps-prose > h3, .qbps-prose > h4 { color: var(--qbps-head); font-weight: 700; scroll-margin-top: calc(var(--qbps-sticky-top) + 20px); letter-spacing: -.01em; }
.rtl .qbps-prose > h2, .rtl .qbps-prose > h3, .rtl .qbps-prose > h4 { letter-spacing: 0; }
.qbps-prose > h2 { position: relative; margin-block-start: 2.1em; padding-inline-start: .6em; font-size: clamp(1.45rem, 1.15rem + .9vw, 1.95rem); line-height: 1.3; }
.qbps-prose > h2::before { content: ""; position: absolute; inset-inline-start: 0; top: .18em; bottom: .18em; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--qbps-brand), var(--qbps-brand-deep)); }
.qbps-prose > h3 { color: var(--qbps-ink); }
.qbps-prose > h3 { margin-block-start: 1.8em; font-size: clamp(1.2rem, 1.05rem + .45vw, 1.45rem); line-height: 1.4; }
.qbps-prose > h4 { margin-block-start: 1.6em; font-size: 1.1rem; }
.qbps-prose > h2 + *, .qbps-prose > h3 + *, .qbps-prose > h4 + * { margin-block-start: .7em; }
.qbps-prose a { color: var(--qbps-brand-deep); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(85, 121, 192, .55); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.qbps-prose a:hover { color: var(--qbps-ink); text-decoration-color: var(--qbps-brand); }
.qbps-prose strong { color: var(--qbps-head); }
.qbps-prose ul, .qbps-prose ol { padding-inline-start: 1.4em; }
.qbps-prose li + li { margin-top: .45em; }
.qbps-prose ul > li::marker { color: var(--qbps-brand); font-size: 1.1em; }
.qbps-prose ol > li::marker { color: var(--qbps-brand); font-weight: 700; }
.qbps-prose blockquote {
	position: relative; margin-inline: 0; padding: 26px 30px; padding-inline-start: 34px;
	border: 0; border-inline-start: 4px solid var(--qbps-brand); border-radius: 0 var(--qbps-radius) var(--qbps-radius) 0;
	background: linear-gradient(135deg, var(--qbps-mist), #F5F8FE); color: var(--qbps-ink); font-size: 1.08em; font-style: normal; line-height: 1.75;
	box-shadow: var(--qbps-shadow);
}
.rtl .qbps-prose blockquote { border-radius: var(--qbps-radius) 0 0 var(--qbps-radius); }
.qbps-prose blockquote p { margin: 0; }
.qbps-prose blockquote cite { display: block; margin-top: 12px; color: var(--qbps-muted); font-size: .8em; font-style: normal; font-weight: 700; }
.qbps-prose img { border-radius: var(--qbps-radius); }
.qbps-prose figure { margin-inline: 0; }
.qbps-prose figcaption { margin-top: 10px; color: var(--qbps-muted); font-size: .84rem; text-align: center; }
.qbps-prose hr { height: 1px; border: 0; background: var(--qbps-line); margin-block: 2.6em; }
.qbps-prose table { display: table; width: 100%; max-width: 100%; border-collapse: separate; border-spacing: 0; font-size: .94em; border: 1px solid var(--qbps-line); border-radius: var(--qbps-radius); background: #fff; }
.qbps-prose .wp-block-table { overflow-x: auto; }
@media (max-width: 767px) { .qbps-prose > table { display: block; overflow-x: auto; } .qbps-prose th, .qbps-prose td { min-width: 140px; } }
.qbps-prose th, .qbps-prose td { padding: 13px 18px; border: 0; border-bottom: 1px solid var(--qbps-line); text-align: start; vertical-align: top; }
.qbps-prose th + th, .qbps-prose td + td { border-inline-start: 1px solid var(--qbps-line); }
.qbps-prose tr:last-child > td { border-bottom: 0; }
.qbps-prose th, .qbps-prose thead td { background: var(--qbps-brand); color: #fff; font-weight: 600; border-color: rgba(255, 255, 255, .25); }
.qbps-prose tbody tr:nth-child(even) > td { background: #F6F9FE; }
.qbps-prose code { padding: .15em .4em; border-radius: 6px; background: var(--qbps-mist); font-size: .9em; }
.qbps-prose pre { padding: 20px; border-radius: var(--qbps-radius); background: var(--qbps-ink); color: #e8eef6; overflow-x: auto; font-size: .9em; line-height: 1.6; }
.qbps-prose pre code { padding: 0; background: none; color: inherit; }
.qbps-prose .alignwide, .qbps-prose .alignfull { max-width: 100%; }
.qbps-prose iframe, .qbps-prose video { max-width: 100%; border-radius: var(--qbps-radius); }
.qbps-prose .wp-block-embed__wrapper iframe { aspect-ratio: 16 / 9; width: 100%; height: auto; }
.qbps-pagelinks { margin-top: 28px; display: flex; gap: 8px; font-weight: 700; }

/* Tags / author / post nav */
.qbps-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.qbps .qbps-tags a { padding: 8px 14px; border-radius: 999px; background: var(--qbps-mist); color: var(--qbps-ink); font-size: .84rem; font-weight: 600; }
.qbps .qbps-tags a:hover { background: var(--qbps-brand); color: #fff; }

.qbps-authorbox { display: flex; align-items: flex-start; gap: 20px; margin-top: 40px; padding: clamp(22px, 3vw, 32px); border-radius: var(--qbps-radius-lg); background: var(--qbps-mist); border: 1px solid var(--qbps-brand-soft); }
.qbps-authorbox .qbps-avatar { flex: none; width: 72px; height: 72px; }
.qbps-authorbox small { color: var(--qbps-muted); font-size: .78rem; font-weight: 700; }
.qbps .qbps-authorbox__name { margin: 2px 0 0; color: var(--qbps-head); font-size: 1.2rem; font-weight: 700; }
.qbps-authorbox p { margin: 8px 0 0; font-size: .95rem; line-height: 1.75; }

.qbps-postnav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 40px; }
@media (min-width: 640px) { .qbps-postnav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.qbps .qbps-postnav__item {
	display: flex; flex-direction: column; gap: 10px; padding: 22px 24px; border: 1px solid var(--qbps-line); border-radius: var(--qbps-radius);
	background: #fff; color: inherit; transition: transform .5s var(--qbps-ease), box-shadow .5s var(--qbps-ease), border-color .4s;
}
.qbps .qbps-postnav__item:hover { transform: translateY(-3px); box-shadow: var(--qbps-shadow-hover); border-color: transparent; }
.qbps-postnav__item--next { text-align: end; align-items: flex-end; }
.qbps-postnav__label { display: inline-flex; align-items: center; gap: 8px; color: var(--qbps-brand); font-size: .8rem; font-weight: 600; }
.qbps-postnav__label .qbps-ico { width: 15px; height: 15px; }
.qbps-postnav__title { color: var(--qbps-head); font-weight: 600; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Related + comments */
.qbps-related { padding-block: clamp(56px, 7vw, 112px); background: linear-gradient(180deg, var(--qbps-mist), #F3F7FE); }
.qbps-related__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-bottom: clamp(24px, 3vw, 40px); }
.qbps-comments { padding-block: clamp(48px, 6vw, 90px); }

/* =========================================================================
   Reveal (enabled by JS only — content is never hidden without it)
   ====================================================================== */
.qbps-js .qbps-reveal { opacity: 0; translate: 0 22px; }
.qbps-js .qbps-reveal.is-in {
	opacity: 1; translate: none;
	transition: opacity .8s var(--qbps-ease), translate .8s var(--qbps-ease), transform .55s var(--qbps-ease), box-shadow .55s var(--qbps-ease), border-color .4s;
	transition-delay: calc(var(--i, 0) * 80ms), calc(var(--i, 0) * 80ms), 0s, 0s, 0s;
}

/* =========================================================================
   Reduced motion
   ====================================================================== */
@media (prefers-reduced-motion: reduce) {
	.qbps *, .qbps *::before, .qbps *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
	.qbps-js .qbps-reveal { opacity: 1; translate: none; }
	.qbps-card:hover, .qbps .qbps-topic:hover, .qbps .qbps-postnav__item:hover { transform: none; }
	.qbps-card:hover .qbps-card__media img, .qbps-topic:hover .qbps-topic__media img { transform: none; }
}

/* Carousel: nothing to scroll → hide controls */
.qbps-carousel-wrap.is-static .qbps-nav,
.qbps-carousel-wrap.is-static .qbps-progress,
.qbps-carousel-wrap.is-static .qbps-dots { visibility: hidden; }

/* Comments: gentle baseline that sits well on top of the theme's own styles */
.qbps-comments .comment-respond,
.qbps-comments .comments-area { max-width: 820px; }
.qbps-comments :is(textarea, input[type="text"], input[type="email"], input[type="url"]) {
	box-sizing: border-box; width: 100%; max-width: 100%; padding: 13px 16px;
	border: 1px solid var(--qbps-line); border-radius: 12px; background: #fff; color: var(--qbps-ink);
	font: inherit; transition: border-color .25s, box-shadow .25s;
}
.qbps-comments :is(textarea, input):focus { outline: 0; border-color: var(--qbps-brand); box-shadow: 0 0 0 4px var(--qbps-brand-soft); }
.qbps-comments :is(.comment-reply-title, .comments-title) { color: var(--qbps-head); font-weight: 700; }
.qbps-comments input[type="submit"] {
	padding: 14px 30px; border: 0; border-radius: var(--qbps-radius-btn); background: var(--qbps-brand); color: #fff;
	font: inherit; font-weight: 700; cursor: pointer; transition: background-color .25s, transform .25s var(--qbps-ease);
}
.qbps-comments input[type="submit"]:hover { background: var(--qbps-ink); transform: translateY(-2px); }

/* Direction switch for articles written in the other language */
.qbps-dirwrap { display: block; }
.qbps-rtl .qbps { text-align: start; }
.qbps [dir="auto"] { unicode-bidi: plaintext; }
.qbps .qbps-card__title[dir="auto"], .qbps .qbps-card__excerpt[dir="auto"] { text-align: start; }

/* ==========================================================================
   Safe mode — QB blocks placed inside the theme's own content area
   ========================================================================== */
.qbps-embed { container-type: inline-size; display: block; width: 100%; max-width: 100%; margin: 0; background: transparent; text-align: start; }
.qbps-embed .qbps-container { width: 100%; max-width: 100%; margin: 0; }
.qbps-embed .qbps-topics { background: transparent; }
.qbps-embed .qbps-topics .qbps-container { justify-content: flex-start; }
.qbps-embed .qbps-listing { padding-block: 8px 0; background: transparent; }
.qbps-embed .qbps-grid { grid-template-columns: minmax(0, 1fr); }
@container (min-width: 540px) { .qbps-embed .qbps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 900px) { .qbps-embed .qbps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container (min-width: 1400px) { .qbps-embed .qbps-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@supports not (container-type: inline-size) {
	@media (min-width: 640px) { .qbps-embed .qbps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
}
.qbps-embed .qbps-card__title { margin: 0; }
.qbps-embed .qbps-card__title a { text-decoration: none; }
.qbps-embed a { box-shadow: none; }

.qbps-embed__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 22px; }
.qbps-embed__head .qbps-meta-item { background: var(--qbps-mist); }
.qbps-embed--single .qbps-single__media { margin: 0 0 32px; }
.qbps-embed--single .qbps-single__media::before { display: none; }
.qbps-embed--single .qbps-toc--inline { display: block; }
.qbps-embed__cta { margin-top: 36px; }
.qbps-embed__cta .qbps-cta { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; align-items: center; }
.qbps-embed__cta .qbps-cta__ico { grid-row: span 2; }
.qbps-embed__cta .qbps-cta__title { margin: 0; }
.qbps-embed__cta .qbps-cta__text { margin: 6px 0 0; }
.qbps-embed__cta .qbps-cta__btn, .qbps-embed__cta .qbps-cta__phone { grid-column: 1 / -1; }
@container (min-width: 640px) {
	.qbps-embed__cta .qbps-cta { grid-template-columns: auto minmax(0, 1fr) auto; }
	.qbps-embed__cta .qbps-cta__btn { grid-column: 3; grid-row: 1 / span 2; width: auto; margin: 0; }
	.qbps-embed__cta .qbps-cta__phone { grid-column: 2 / -1; margin-top: 14px; }
}
.qbps-embed .qbps-authorbox__name { margin: 2px 0 0; color: var(--qbps-head); font-size: 1.15rem; font-weight: 700; }
.qbps-embed .qbps-related { margin-top: 48px; padding: 36px 0 0; background: transparent; border-top: 1px solid var(--qbps-line); }
.qbps-embed .qbps-related .qbps-carousel__heading, .qbps-embed .qbps-related .qbps-section-title { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.8rem); }

/* Hardening against theme / Visual Composer global styles */
.qbps .qbps-pagination li, .qbps .qbps-topics__list li, .qbps .qbps-share li, .qbps .qbps-toc__list li, .qbps .qbps-crumbs li { list-style: none !important; margin: 0; padding: 0; background: none; }
.qbps .qbps-pagination li::before, .qbps .qbps-topics__list li::before, .qbps .qbps-share li::before, .qbps .qbps-toc__list li::before, .qbps .qbps-crumbs li::before,
.qbps .qbps-pagination li::marker, .qbps .qbps-topics__list li::marker, .qbps .qbps-share li::marker, .qbps .qbps-crumbs li::marker { content: none !important; display: none !important; }
.qbps h2.qbps-card__title, .qbps h3.qbps-card__title { margin: 0 !important; font-size: 1.12rem !important; line-height: 1.42 !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; }
.qbps .qbps-card__title a { color: var(--qbps-head) !important; -webkit-text-fill-color: currentColor; background: none; }
.qbps .qbps-card__excerpt { font-size: .92rem; }
.qbps-embed--single { margin-bottom: 32px; }
.qbps-embed .qbps-prose > :first-child { margin-top: 0; }
.qbps-embed .qbps-prose h2, .qbps-embed .qbps-prose h3, .qbps-embed .qbps-prose h4 { -webkit-text-fill-color: currentColor; background: none; }
.qbps-embed .qbps-related .qbps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container (max-width: 539px) { .qbps-embed .qbps-related .qbps-grid { grid-template-columns: minmax(0, 1fr); } }

/* Sidebar removed: the content column takes the full row */
.qbps-fullcol, .vce-row-content > .qbps-fullcol { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; margin-inline-end: 0 !important; margin-right: 0 !important; }
.qbps-fullcol .qbps-embed--single { max-width: 860px; margin-inline: auto; }
.qbps-fullcol .qbps-embed--single .qbps-related .qbps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
