/* AQF Core — content widgets. Logical properties keep everything RTL-ready. */

/* ------------------------------------------------- Animated Headline */

.aqfc-headline {
	margin: 0;
}

.aqfc-headline a {
	color: inherit;
	text-decoration: none;
}

.aqfc-headline__dynamic-wrapper {
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	text-align: center;
}

.aqfc-headline--highlight .aqfc-headline__dynamic {
	position: relative;
	z-index: 1;
}

.aqfc-headline__svg {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	width: calc(100% + 20px);
	height: calc(100% + 20px);
	overflow: visible;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

[dir="rtl"] .aqfc-headline__svg {
	transform: translate(50%, -50%);
}

.aqfc-headline__svg path {
	fill: none;
	stroke: #f43f5e;
	stroke-width: 9;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 1500;
	stroke-dashoffset: 1500;
}

.aqfc-headline.is-drawn .aqfc-headline__svg path {
	animation: aqfc-draw 1.2s ease-out forwards;
}

.aqfc-headline.is-drawn .aqfc-headline__svg path:nth-child(2) {
	animation-delay: 0.6s;
}

@keyframes aqfc-draw {
	to {
		stroke-dashoffset: 0;
	}
}

/* Rotating words. */
.aqfc-headline--rotate .aqfc-headline__word {
	display: inline-block;
	white-space: nowrap;
}

.aqfc-headline--rotate .aqfc-headline__word:not(.is-visible) {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	opacity: 0;
}

.aqfc-headline--rotate .aqfc-headline__word.is-visible {
	position: relative;
	opacity: 1;
}

.aqfc-headline--fade .aqfc-headline__word,
.aqfc-headline--zoom .aqfc-headline__word,
.aqfc-headline--slide .aqfc-headline__word,
.aqfc-headline--slide-down .aqfc-headline__word,
.aqfc-headline--flip .aqfc-headline__word {
	transition: opacity 0.5s, transform 0.5s;
}

.aqfc-headline--zoom .aqfc-headline__word.is-hidden { transform: scale(0.6); }
.aqfc-headline--slide .aqfc-headline__word.is-hidden { transform: translateY(-60%); }
.aqfc-headline--slide .aqfc-headline__word:not(.is-visible):not(.is-hidden) { transform: translateY(60%); }
.aqfc-headline--slide-down .aqfc-headline__word.is-hidden { transform: translateY(60%); }
.aqfc-headline--slide-down .aqfc-headline__word:not(.is-visible):not(.is-hidden) { transform: translateY(-60%); }
.aqfc-headline--flip .aqfc-headline__dynamic-wrapper { perspective: 300px; }
.aqfc-headline--flip .aqfc-headline__word { transform-origin: 50% 100%; }
.aqfc-headline--flip .aqfc-headline__word.is-hidden { transform: rotateX(180deg); }
.aqfc-headline--flip .aqfc-headline__word:not(.is-visible):not(.is-hidden) { transform: rotateX(-180deg); }

.aqfc-headline--rotate .aqfc-headline__word.is-visible { transform: none; }

.aqfc-headline--typing .aqfc-headline__word.is-visible::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 0.9em;
	margin-inline-start: 2px;
	vertical-align: -0.05em;
	background: currentColor;
	animation: aqfc-caret 0.8s steps(1) infinite;
}

.aqfc-headline--typing .aqfc-headline__word.is-selected {
	color: #fff;
	background-color: #3b82f6;
}

@keyframes aqfc-caret {
	50% {
		opacity: 0;
	}
}

.aqfc-headline--clip .aqfc-headline__dynamic-wrapper {
	overflow: hidden;
	transition: max-width 0.6s ease;
	max-width: 100vw;
	border-inline-end: 2px solid currentColor;
	padding-inline-end: 2px;
}

.aqfc-headline--clip .aqfc-headline__dynamic-wrapper.is-clipping {
	max-width: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.aqfc-headline__svg path {
		stroke-dashoffset: 0;
		animation: none !important;
	}
}

/* ---------------------------------------------------- Call to Action */

.aqfc-cta {
	--aqfc-cta-duration: 500ms;
	position: relative;
	display: flex;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.aqfc-cta--cover {
	color: #fff;
}

.aqfc-cta__bg-wrapper {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.aqfc-cta__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform var(--aqfc-cta-duration), filter var(--aqfc-cta-duration);
}

.aqfc-cta__overlay {
	position: absolute;
	inset: 0;
	transition: background-color var(--aqfc-cta-duration);
}

.aqfc-cta--anim-zoom-in:hover .aqfc-cta__bg,
.aqfc-cta--anim-zoom-in:focus-within .aqfc-cta__bg { transform: scale(1.12); }
.aqfc-cta--anim-zoom-out .aqfc-cta__bg { transform: scale(1.12); }
.aqfc-cta--anim-zoom-out:hover .aqfc-cta__bg,
.aqfc-cta--anim-zoom-out:focus-within .aqfc-cta__bg { transform: scale(1); }
.aqfc-cta--anim-move-up .aqfc-cta__bg { transform: scale(1.12); }
.aqfc-cta--anim-move-up:hover .aqfc-cta__bg,
.aqfc-cta--anim-move-up:focus-within .aqfc-cta__bg { transform: scale(1.12) translateY(-5%); }
.aqfc-cta--anim-grayscale .aqfc-cta__bg { filter: grayscale(1); }
.aqfc-cta--anim-grayscale:hover .aqfc-cta__bg,
.aqfc-cta--anim-grayscale:focus-within .aqfc-cta__bg { filter: none; }

.aqfc-cta__image {
	position: relative;
	flex: 0 0 40%;
	min-height: 220px;
	overflow: hidden;
}

.aqfc-cta__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	align-items: center;
	min-height: 320px;
	padding: 40px;
	text-align: center;
}

.aqfc-cta__content > * {
	max-width: 100%;
}

.aqfc-cta__icon {
	margin-bottom: 16px;
	font-size: 40px;
	line-height: 1;
}

.aqfc-cta__icon svg {
	width: 1em;
	height: 1em;
}

.aqfc-cta__title {
	margin: 0 0 12px;
	color: inherit;
}

.aqfc-cta__description {
	margin: 0 0 22px;
}

.aqfc-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 26px;
	color: #fff;
	background-color: #2563eb;
	border-radius: 4px;
	text-decoration: none;
	transition: all 0.25s;
}

.aqfc-cta__button svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Classic skin: image beside or above (responsive prefix classes). */
.aqfc-cta-image-above .aqfc-cta--classic { flex-direction: column; }
.aqfc-cta-image-end .aqfc-cta--classic { flex-direction: row-reverse; }
.aqfc-cta-image-start .aqfc-cta--classic { flex-direction: row; }

@media (max-width: 1024px) {
	.aqfc-cta-image-tablet-above .aqfc-cta--classic { flex-direction: column; }
	.aqfc-cta-image-tablet-end .aqfc-cta--classic { flex-direction: row-reverse; }
	.aqfc-cta-image-tablet-start .aqfc-cta--classic { flex-direction: row; }
}

@media (max-width: 767px) {
	.aqfc-cta--classic { flex-direction: column !important; }
	.aqfc-cta-image-mobile-end .aqfc-cta--classic { flex-direction: column-reverse !important; }
}

.aqfc-cta--classic .aqfc-cta__image .aqfc-cta__bg {
	position: absolute;
}

/* ------------------------------------------------------------ Ribbon */

.aqfc-ribbon {
	position: absolute;
	inset-block-start: 0;
	z-index: 3;
	width: 150px;
	height: 150px;
	overflow: hidden;
	pointer-events: none;
}

.aqfc-ribbon--end {
	inset-inline-end: 0;
}

.aqfc-ribbon--start {
	inset-inline-start: 0;
}

.aqfc-ribbon__inner {
	position: absolute;
	inset-block-start: 26px;
	width: 200px;
	padding: 6px 0;
	color: #fff;
	background-color: #ef4444;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-transform: uppercase;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.aqfc-ribbon--end .aqfc-ribbon__inner {
	inset-inline-end: -50px;
	transform: rotate(45deg);
}

.aqfc-ribbon--start .aqfc-ribbon__inner {
	inset-inline-start: -50px;
	transform: rotate(-45deg);
}

[dir="rtl"] .aqfc-ribbon--end .aqfc-ribbon__inner { transform: rotate(-45deg); }
[dir="rtl"] .aqfc-ribbon--start .aqfc-ribbon__inner { transform: rotate(45deg); }

/* ---------------------------------------------------------- Flip Box */

.aqfc-flip {
	--aqfc-flip-duration: 600ms;
	position: relative;
	height: 300px;
	perspective: 1000px;
	outline: 0;
}

.aqfc-flip:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 3px;
}

.aqfc-flip__side {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 30px;
	overflow: hidden;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transition: transform var(--aqfc-flip-duration) ease, opacity var(--aqfc-flip-duration) ease;
}

.aqfc-flip__side::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.aqfc-flip__layer {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: inherit;
	width: 100%;
}

.aqfc-flip__icon {
	margin-bottom: 18px;
	font-size: 46px;
	line-height: 1;
}

.aqfc-flip__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aqfc-flip__image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto 18px;
}

.aqfc-flip__title {
	margin: 0 0 10px;
	color: inherit;
}

.aqfc-flip__text {
	margin-bottom: 18px;
}

.aqfc-flip__text:last-child {
	margin-bottom: 0;
}

.aqfc-flip__button {
	display: inline-block;
	padding: 10px 24px;
	color: inherit;
	border: 2px solid currentColor;
	border-radius: 3px;
	text-decoration: none;
	transition: all 0.25s;
}

/* Back side start state per effect; hover / focus / tap (.is-flipped) shows it. */
.aqfc-flip--flip .aqfc-flip__side--back { transform: rotateX(-180deg); }
.aqfc-flip--flip.aqfc-flip--down .aqfc-flip__side--back { transform: rotateX(180deg); }
.aqfc-flip--flip.aqfc-flip--left .aqfc-flip__side--back { transform: rotateY(180deg); }
.aqfc-flip--flip.aqfc-flip--right .aqfc-flip__side--back { transform: rotateY(-180deg); }

.aqfc-flip--flip:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: rotateX(180deg); }
.aqfc-flip--flip.aqfc-flip--down:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: rotateX(-180deg); }
.aqfc-flip--flip.aqfc-flip--left:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: rotateY(-180deg); }
.aqfc-flip--flip.aqfc-flip--right:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: rotateY(180deg); }
.aqfc-flip--flip:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--back { transform: none; }

.aqfc-flip--3d .aqfc-flip__layer { transform: translateZ(90px) scale(0.91); }
.aqfc-flip--3d .aqfc-flip__side { transform-style: preserve-3d; }

.aqfc-flip--slide,
.aqfc-flip--push {
	overflow: hidden;
}

.aqfc-flip--slide .aqfc-flip__side--back,
.aqfc-flip--push .aqfc-flip__side--back { z-index: 2; transform: translateY(100%); }
.aqfc-flip--slide.aqfc-flip--down .aqfc-flip__side--back,
.aqfc-flip--push.aqfc-flip--down .aqfc-flip__side--back { transform: translateY(-100%); }
.aqfc-flip--slide.aqfc-flip--left .aqfc-flip__side--back,
.aqfc-flip--push.aqfc-flip--left .aqfc-flip__side--back { transform: translateX(100%); }
.aqfc-flip--slide.aqfc-flip--right .aqfc-flip__side--back,
.aqfc-flip--push.aqfc-flip--right .aqfc-flip__side--back { transform: translateX(-100%); }

.aqfc-flip--slide:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--back,
.aqfc-flip--push:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--back { transform: none; }

.aqfc-flip--push:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: translateY(-100%); }
.aqfc-flip--push.aqfc-flip--down:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: translateY(100%); }
.aqfc-flip--push.aqfc-flip--left:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: translateX(-100%); }
.aqfc-flip--push.aqfc-flip--right:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { transform: translateX(100%); }

.aqfc-flip--zoom-in .aqfc-flip__side--back { z-index: 2; opacity: 0; transform: scale(0.7); }
.aqfc-flip--zoom-out .aqfc-flip__side--back { opacity: 0; }
.aqfc-flip--zoom-out .aqfc-flip__side--front { z-index: 2; }
.aqfc-flip--fade .aqfc-flip__side--back { opacity: 0; }

.aqfc-flip--zoom-in:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--back,
.aqfc-flip--fade:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--back,
.aqfc-flip--zoom-out:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--back { opacity: 1; transform: none; }
.aqfc-flip--zoom-out:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { opacity: 0; transform: scale(0.7); }
.aqfc-flip--fade:is(:hover, :focus-within, .is-flipped) .aqfc-flip__side--front { opacity: 0; }

[dir="rtl"] .aqfc-flip--slide.aqfc-flip--left .aqfc-flip__side--back,
[dir="rtl"] .aqfc-flip--push.aqfc-flip--left .aqfc-flip__side--back { transform: translateX(-100%); }
[dir="rtl"] .aqfc-flip--slide.aqfc-flip--right .aqfc-flip__side--back,
[dir="rtl"] .aqfc-flip--push.aqfc-flip--right .aqfc-flip__side--back { transform: translateX(100%); }

@media (prefers-reduced-motion: reduce) {
	.aqfc-flip__side {
		transition-duration: 0.01ms;
	}
}

/* --------------------------------------------------------- Countdown */

.aqfc-countdown {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.aqfc-countdown--block .aqfc-countdown__item {
	display: flex;
	flex: 0 1 auto;
	flex-direction: column;
	align-items: center;
	min-width: 90px;
	padding: 18px 10px;
	box-sizing: border-box;
	background: #1f2937;
	color: #fff;
	border-radius: 6px;
}

.aqfc-countdown--inline {
	align-items: baseline;
}

.aqfc-countdown--inline .aqfc-countdown__item {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}

.aqfc-countdown__digits {
	font-size: 42px;
	font-weight: 700;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.aqfc-countdown--inline .aqfc-countdown__digits {
	font-size: 28px;
}

.aqfc-countdown__label {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.85;
}

.aqfc-countdown__separator {
	font-size: 28px;
	font-weight: 700;
}

.aqfc-countdown-message {
	text-align: center;
}

/* ------------------------------------------------------- Price Table */

.aqfc-price-table {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	text-align: center;
	transition: transform 0.3s, box-shadow 0.3s;
}

.aqfc-price-lift-yes .aqfc-price-table:hover {
	transform: translateY(-6px);
}

.aqfc-price-table__header {
	padding: 26px 20px 10px;
}

.aqfc-price-table__heading {
	margin: 0;
	font-size: 22px;
}

.aqfc-price-table__subheading {
	display: block;
	margin-top: 6px;
	opacity: 0.75;
}

.aqfc-price-table__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 4px 10px;
	padding: 16px 20px;
}

.aqfc-price-table__amount {
	display: inline-flex;
	align-items: flex-start;
	font-size: 54px;
	font-weight: 700;
	line-height: 1;
}

.aqfc-price-table__currency,
.aqfc-price-table__fraction {
	font-size: 0.45em;
	line-height: 1.4;
}

.aqfc-price-table__original {
	font-size: 22px;
	opacity: 0.6;
}

.aqfc-price-table__period {
	flex-basis: 100%;
	font-size: 14px;
	opacity: 0.75;
}

.aqfc-price-table__features {
	flex: 1;
	margin: 0;
	padding: 10px 30px 20px;
	list-style: none;
}

.aqfc-price-table__feature {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding-block: 8px;
	margin: 0;
}

.aqfc-price-table__feature-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aqfc-price-table__feature-icon {
	color: #16a34a;
	line-height: 1;
}

.aqfc-price-table__feature.is-excluded {
	opacity: 0.55;
}

.aqfc-price-table__feature.is-excluded .aqfc-price-table__feature-icon {
	color: #dc2626;
}

.aqfc-price-divider-yes .aqfc-price-table__feature + .aqfc-price-table__feature {
	border-top: 1px solid #e5e7eb;
}

.aqfc-price-table__footer {
	padding: 0 24px 28px;
}

.aqfc-price-table__button {
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	padding: 13px 20px;
	color: #fff;
	background: #2563eb;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.25s;
}

.aqfc-price-table__info {
	margin-top: 12px;
	font-size: 13px;
	opacity: 0.75;
}

/* -------------------------------------------------------- Price List */

.aqfc-price-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aqfc-price-list__item {
	margin: 0;
}

.aqfc-price-list__item,
.aqfc-price-list__link {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.aqfc-price-list__link {
	flex: 1;
	color: inherit;
	text-decoration: none;
}

.aqfc-price-list__image img {
	display: block;
	width: 80px;
	height: auto;
	object-fit: cover;
}

.aqfc-price-list__text {
	flex: 1;
	min-width: 0;
}

.aqfc-price-list__header {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.aqfc-price-list__title {
	margin: 0;
	font-weight: 700;
	font-size: 17px;
}

.aqfc-price-list__badge {
	padding: 1px 8px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: #ef4444;
	border-radius: 10px;
	text-transform: uppercase;
}

.aqfc-price-list__leader {
	flex: 1;
	min-width: 20px;
	border-bottom: 2px dotted #cbd5e1;
	transform: translateY(-0.3em);
}

.aqfc-price-list__price {
	font-weight: 700;
	white-space: nowrap;
}

.aqfc-price-list__description {
	margin-top: 4px;
	font-size: 14px;
	opacity: 0.8;
}

/* ----------------------------------------------------------- Hotspot */

.aqfc-hotspots {
	--aqfc-hotspot-bg: #2563eb;
	--aqfc-tooltip-bg: #1f2937;
	position: relative;
	display: inline-block;
	max-width: 100%;
	line-height: 0;
}

.aqfc-hotspots img {
	display: block;
	max-width: 100%;
	height: auto;
}

.aqfc-hotspot {
	position: absolute;
	z-index: 1;
	line-height: 1.4;
	transform: translate(-50%, -50%);
}

[dir="rtl"] .aqfc-hotspot {
	transform: translate(50%, -50%);
}

.aqfc-hotspot.is-open,
.aqfc-hotspot:focus-within {
	z-index: 3;
}

.aqfc-hotspot__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 1.9em;
	height: 1.9em;
	padding: 0 0.55em;
	box-sizing: border-box;
	font-size: 16px;
	color: #fff;
	fill: #fff;
	background: var(--aqfc-hotspot-bg);
	border: 0;
	border-radius: 1em;
	cursor: pointer;
	text-decoration: none;
}

.aqfc-hotspot__button svg {
	width: 0.8em;
	height: 0.8em;
}

.aqfc-hotspot__button:focus-visible {
	outline: 2px solid var(--aqfc-hotspot-bg);
	outline-offset: 3px;
}

.aqfc-hotspots--anim-pulse .aqfc-hotspot__button::before,
.aqfc-hotspots--anim-expand .aqfc-hotspot__button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--aqfc-hotspot-bg);
	border-radius: inherit;
	animation: aqfc-hotspot-pulse 1.8s ease-out infinite;
}

.aqfc-hotspots--anim-expand .aqfc-hotspot__button::before {
	animation-name: aqfc-hotspot-expand;
}

@keyframes aqfc-hotspot-pulse {
	0% { opacity: 0.6; transform: scale(1); }
	100% { opacity: 0; transform: scale(1.9); }
}

@keyframes aqfc-hotspot-expand {
	0%, 100% { opacity: 0.4; transform: scale(1); }
	50% { opacity: 0.15; transform: scale(1.5); }
}

.aqfc-hotspot__tooltip {
	position: absolute;
	width: 220px;
	max-width: 70vw;
	padding: 10px 14px;
	box-sizing: border-box;
	color: #fff;
	background: var(--aqfc-tooltip-bg);
	border-radius: 6px;
	font-size: 14px;
	text-align: start;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
	pointer-events: none;
}

.aqfc-hotspot__tooltip p:last-child {
	margin-bottom: 0;
}

.aqfc-hotspot--top .aqfc-hotspot__tooltip { inset-block-end: calc(100% + 10px); inset-inline-start: 50%; transform: translate(-50%, 6px); }
.aqfc-hotspot--bottom .aqfc-hotspot__tooltip { inset-block-start: calc(100% + 10px); inset-inline-start: 50%; transform: translate(-50%, -6px); }
.aqfc-hotspot--start .aqfc-hotspot__tooltip { inset-inline-end: calc(100% + 10px); inset-block-start: 50%; transform: translate(6px, -50%); }
.aqfc-hotspot--end .aqfc-hotspot__tooltip { inset-inline-start: calc(100% + 10px); inset-block-start: 50%; transform: translate(-6px, -50%); }

[dir="rtl"] .aqfc-hotspot--top .aqfc-hotspot__tooltip { transform: translate(50%, 6px); }
[dir="rtl"] .aqfc-hotspot--bottom .aqfc-hotspot__tooltip { transform: translate(50%, -6px); }

.aqfc-hotspot.is-open .aqfc-hotspot__tooltip,
.aqfc-hotspots--trigger-hover .aqfc-hotspot:hover .aqfc-hotspot__tooltip,
.aqfc-hotspots--trigger-hover .aqfc-hotspot:focus-within .aqfc-hotspot__tooltip {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.aqfc-hotspot--top.is-open .aqfc-hotspot__tooltip,
.aqfc-hotspot--bottom.is-open .aqfc-hotspot__tooltip,
.aqfc-hotspots--trigger-hover .aqfc-hotspot--top:is(:hover, :focus-within) .aqfc-hotspot__tooltip,
.aqfc-hotspots--trigger-hover .aqfc-hotspot--bottom:is(:hover, :focus-within) .aqfc-hotspot__tooltip {
	transform: translate(-50%, 0);
}

[dir="rtl"] .aqfc-hotspot--top.is-open .aqfc-hotspot__tooltip,
[dir="rtl"] .aqfc-hotspot--bottom.is-open .aqfc-hotspot__tooltip,
[dir="rtl"] .aqfc-hotspots--trigger-hover .aqfc-hotspot--top:is(:hover, :focus-within) .aqfc-hotspot__tooltip,
[dir="rtl"] .aqfc-hotspots--trigger-hover .aqfc-hotspot--bottom:is(:hover, :focus-within) .aqfc-hotspot__tooltip {
	transform: translate(50%, 0);
}

.aqfc-hotspot--start.is-open .aqfc-hotspot__tooltip,
.aqfc-hotspot--end.is-open .aqfc-hotspot__tooltip,
.aqfc-hotspots--trigger-hover .aqfc-hotspot--start:is(:hover, :focus-within) .aqfc-hotspot__tooltip,
.aqfc-hotspots--trigger-hover .aqfc-hotspot--end:is(:hover, :focus-within) .aqfc-hotspot__tooltip {
	transform: translate(0, -50%);
}

@media (prefers-reduced-motion: reduce) {
	.aqfc-hotspot__button::before {
		animation: none !important;
	}
}

/* ------------------------------------------------------------ Lottie */

.aqfc-lottie {
	display: inline-block;
	width: 100%;
	max-width: 100%;
	line-height: 0;
	vertical-align: top;
}

.aqfc-lottie-link {
	display: inline-block;
	width: 100%;
}

/* ---------------------------------------------------- Code Highlight */

.aqfc-code {
	position: relative;
	text-align: start;
}

.aqfc-code pre {
	margin: 0;
	padding: 1.2em 1.4em;
	direction: ltr;
	text-align: left;
	border-radius: 6px;
	overflow: auto;
}

.aqfc-code pre.line-numbers {
	padding-left: 3.8em;
}

.aqfc-code pre:focus-visible {
	outline: 2px solid #3b82f6;
	outline-offset: 2px;
}

.aqfc-code__copy {
	position: absolute;
	inset-block-start: 8px;
	inset-inline-end: 8px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.2;
	color: #e5e7eb;
	background: rgba(17, 24, 39, 0.75);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 4px;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity 0.2s;
}

.aqfc-code__copy:hover,
.aqfc-code__copy:focus-visible {
	opacity: 1;
}

/* ------------------------------------------------- Table of Contents */

.aqfc-toc {
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	overflow: hidden;
}

.aqfc-toc__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 18px;
	border-bottom: 1px solid #e5e7eb;
}

.aqfc-toc.is-collapsed .aqfc-toc__header {
	border-bottom: 0;
}

.aqfc-toc__title {
	margin: 0;
	font-size: 17px;
}

.aqfc-toc__toggle {
	display: inline-flex;
	padding: 4px;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	font-size: 18px;
	transition: transform 0.25s;
}

.aqfc-toc.is-collapsed .aqfc-toc__toggle {
	transform: rotate(-90deg);
}

[dir="rtl"] .aqfc-toc.is-collapsed .aqfc-toc__toggle {
	transform: rotate(90deg);
}

.aqfc-toc__body {
	padding: 12px 18px 16px;
}

.aqfc-toc.is-collapsed .aqfc-toc__body {
	display: none;
}

.aqfc-toc__list {
	margin: 0;
	padding-inline-start: 1.4em;
}

.aqfc-toc--none .aqfc-toc__list,
.aqfc-toc--none .aqfc-toc__item {
	list-style: none;
}

.aqfc-toc--none .aqfc-toc__list {
	padding-inline-start: 0;
}

.aqfc-toc--none .aqfc-toc__list .aqfc-toc__list {
	padding-inline-start: 1em;
}

.aqfc-toc__item {
	padding-block: 3px;
}

.aqfc-toc__list a {
	color: inherit;
	text-decoration: none;
}

.aqfc-toc__list a:hover,
.aqfc-toc__list a.is-active {
	text-decoration: underline;
}

.aqfc-toc__list a.is-active {
	font-weight: 600;
}

.aqfc-toc__spinner {
	width: 18px;
	height: 18px;
	margin: 6px auto;
	border: 2px solid currentColor;
	border-inline-end-color: transparent;
	border-radius: 50%;
	opacity: 0.4;
	animation: aqfc-spin 0.7s linear infinite;
}

.aqfc-toc__empty {
	margin: 0;
	opacity: 0.75;
}


/* ------------------------------------------------------ Share Buttons */

.aqfc-share {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.aqfc-share__button {
	--aqfc-share-color: #4b5563;
	--aqfc-share-contrast: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	height: 2.6em;
	min-width: 2.6em;
	padding: 0 0.9em;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 1;
	color: var(--aqfc-share-contrast);
	background: var(--aqfc-share-color);
	border: 2px solid var(--aqfc-share-color);
	border-radius: 4px;
	text-decoration: none;
	font-family: inherit;
	cursor: pointer;
	transition: filter 0.2s, background-color 0.2s, color 0.2s;
}

.aqfc-share--official .aqfc-share__button {
	--aqfc-share-color: var(--aqfc-brand);
}

.aqfc-share__button:hover,
.aqfc-share__button:focus-visible {
	filter: brightness(1.12);
}

.aqfc-share--view-icon .aqfc-share__button {
	padding: 0;
}

.aqfc-share__icon {
	display: inline-flex;
	line-height: 1;
}

.aqfc-share__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aqfc-share--framed .aqfc-share__button {
	color: var(--aqfc-share-color);
	background: transparent;
}

.aqfc-share--minimal .aqfc-share__button {
	color: var(--aqfc-share-color);
	background: transparent;
	border-color: transparent;
}

.aqfc-share--boxed .aqfc-share__button {
	padding-inline-start: 0;
	color: var(--aqfc-share-color);
	background: transparent;
}

.aqfc-share--boxed .aqfc-share__icon {
	align-self: stretch;
	align-items: center;
	padding: 0 0.75em;
	color: var(--aqfc-share-contrast);
	background: var(--aqfc-share-color);
}

.aqfc-share--view-icon.aqfc-share--boxed .aqfc-share__button {
	padding: 0;
}

.aqfc-share--square .aqfc-share__button { border-radius: 0; }
.aqfc-share--circle .aqfc-share__button { border-radius: 99em; }
.aqfc-share--circle.aqfc-share--boxed .aqfc-share__icon { border-radius: 99em; }

.aqfc-share__button.is-copied {
	filter: saturate(0.4);
}

/* -------------------------------------------------------- Blockquote */

.aqfc-quote {
	--aqfc-quote-accent: #2563eb;
	position: relative;
	margin: 0;
}

.aqfc-quote__content {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	quotes: none;
	font-size: 20px;
	font-style: normal;
	line-height: 1.55;
}

.aqfc-quote__content p:last-child {
	margin-bottom: 0;
}

.aqfc-quote__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.aqfc-quote__author {
	font-style: normal;
	font-weight: 600;
}

.aqfc-quote__author::before {
	content: "— ";
}

.aqfc-quote__tweet {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	font-size: 13px;
	color: #fff;
	background: #000;
	border-radius: 4px;
	text-decoration: none;
}

.aqfc-quote__tweet svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aqfc-quote--border {
	padding-inline-start: 22px;
	border-inline-start: 5px solid var(--aqfc-quote-accent);
}

.aqfc-quote--quotation {
	padding-top: 42px;
}

.aqfc-quote--quotation::before {
	content: "\201C";
	position: absolute;
	inset-block-start: -18px;
	inset-inline-start: 0;
	font-family: Georgia, serif;
	font-size: 100px;
	line-height: 1;
	color: var(--aqfc-quote-accent);
}

.aqfc-quote--boxed {
	padding: 30px;
	background: #f3f4f6;
	border-radius: 8px;
}

.aqfc-quote--clean .aqfc-quote__footer {
	justify-content: flex-start;
}

/* ---------------------------------------------------------- Timeline */

.aqfc-timeline {
	--aqfc-timeline-line: #e5e7eb;
	--aqfc-timeline-progress: #2563eb;
	--aqfc-timeline-width: 3px;
	--aqfc-timeline-marker: 22px;
	--aqfc-timeline-gap: 40px;
	--aqfc-timeline-axis: 50%;
	position: relative;
}

.aqfc-timeline--start { --aqfc-timeline-axis: calc(var(--aqfc-timeline-marker) / 2); }
.aqfc-timeline--end { --aqfc-timeline-axis: calc(100% - var(--aqfc-timeline-marker) / 2); }

.aqfc-timeline__bar {
	position: absolute;
	inset-block: 0;
	inset-inline-start: calc(var(--aqfc-timeline-axis) - var(--aqfc-timeline-width) / 2);
	width: var(--aqfc-timeline-width);
	background: var(--aqfc-timeline-line);
}

.aqfc-timeline__fill {
	display: block;
	width: 100%;
	height: 0;
	background: var(--aqfc-timeline-progress);
}

.aqfc-timeline:not(.aqfc-timeline--progress) .aqfc-timeline__fill {
	display: none;
}

.aqfc-timeline__list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--aqfc-timeline-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.aqfc-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 1fr var(--aqfc-timeline-marker) 1fr;
	column-gap: 30px;
	align-items: start;
	margin: 0;
}

.aqfc-timeline__marker {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--aqfc-timeline-marker);
	height: var(--aqfc-timeline-marker);
	margin-top: 18px;
	box-sizing: border-box;
	font-size: calc(var(--aqfc-timeline-marker) * 0.5);
	color: #fff;
	background: #fff;
	border: var(--aqfc-timeline-width) solid var(--aqfc-timeline-line);
	border-radius: 50%;
	transition: background-color 0.3s, border-color 0.3s;
}

.aqfc-timeline__marker svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aqfc-timeline__item.is-reached .aqfc-timeline__marker {
	background: var(--aqfc-timeline-progress);
	border-color: var(--aqfc-timeline-progress);
}

.aqfc-timeline__date {
	grid-row: 1;
	padding-top: 18px;
	font-weight: 700;
	opacity: 0.8;
}

.aqfc-timeline__card {
	position: relative;
	grid-row: 1;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-sizing: border-box;
}

.aqfc-timeline__image img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 14px;
	border-radius: 4px;
}

.aqfc-timeline__title {
	margin: 0 0 8px;
	font-size: 19px;
}

.aqfc-timeline__title a {
	color: inherit;
	text-decoration: none;
}

.aqfc-timeline__content > :last-child {
	margin-bottom: 0;
}

/* Alternating: odd items card at the start, even items card at the end. */
.aqfc-timeline--center .aqfc-timeline__item:nth-child(odd) .aqfc-timeline__card { grid-column: 1; }
.aqfc-timeline--center .aqfc-timeline__item:nth-child(odd) .aqfc-timeline__date { grid-column: 3; }
.aqfc-timeline--center .aqfc-timeline__item:nth-child(even) .aqfc-timeline__card { grid-column: 3; }
.aqfc-timeline--center .aqfc-timeline__item:nth-child(even) .aqfc-timeline__date { grid-column: 1; text-align: end; }
.aqfc-timeline--center .aqfc-timeline__item:nth-child(odd) .aqfc-timeline__card { text-align: end; }

/* One side. */
.aqfc-timeline--start .aqfc-timeline__item { grid-template-columns: var(--aqfc-timeline-marker) 1fr; }
.aqfc-timeline--start .aqfc-timeline__marker { grid-column: 1; }
.aqfc-timeline--start .aqfc-timeline__date { grid-column: 2; grid-row: 1; padding-top: 0; }
.aqfc-timeline--start .aqfc-timeline__card { grid-column: 2; grid-row: 2; margin-top: 8px; }

.aqfc-timeline--end .aqfc-timeline__item { grid-template-columns: 1fr var(--aqfc-timeline-marker); }
.aqfc-timeline--end .aqfc-timeline__marker { grid-column: 2; }
.aqfc-timeline--end .aqfc-timeline__date { grid-column: 1; grid-row: 1; padding-top: 0; text-align: end; }
.aqfc-timeline--end .aqfc-timeline__card { grid-column: 1; grid-row: 2; margin-top: 8px; text-align: end; }

/* Arrows pointing at the line. */
.aqfc-timeline-arrow-yes .aqfc-timeline__card::before {
	content: "";
	position: absolute;
	inset-block-start: 24px;
	width: 12px;
	height: 12px;
	background: inherit;
	border: inherit;
	border-block-start-color: transparent;
	border-inline-end-color: transparent;
}

.aqfc-timeline-arrow-yes .aqfc-timeline--center .aqfc-timeline__item:nth-child(odd) .aqfc-timeline__card::before,
.aqfc-timeline-arrow-yes .aqfc-timeline--end .aqfc-timeline__card::before {
	inset-inline-end: -7px;
	transform: rotate(-135deg);
}

.aqfc-timeline-arrow-yes .aqfc-timeline--center .aqfc-timeline__item:nth-child(even) .aqfc-timeline__card::before,
.aqfc-timeline-arrow-yes .aqfc-timeline--start .aqfc-timeline__card::before {
	inset-inline-start: -7px;
	transform: rotate(45deg);
}

[dir="rtl"] .aqfc-timeline-arrow-yes .aqfc-timeline__card::before {
	transform: rotate(135deg) !important;
}

[dir="rtl"] .aqfc-timeline-arrow-yes .aqfc-timeline--center .aqfc-timeline__item:nth-child(even) .aqfc-timeline__card::before,
[dir="rtl"] .aqfc-timeline-arrow-yes .aqfc-timeline--start .aqfc-timeline__card::before {
	transform: rotate(-45deg) !important;
}

.aqfc-timeline--start .aqfc-timeline__card::before,
.aqfc-timeline--end .aqfc-timeline__card::before {
	inset-block-start: 14px;
}

/* Phones: everything on one side. */
@media (max-width: 767px) {
	.aqfc-timeline--center {
		--aqfc-timeline-axis: calc(var(--aqfc-timeline-marker) / 2);
	}

	.aqfc-timeline--center .aqfc-timeline__item {
		grid-template-columns: var(--aqfc-timeline-marker) 1fr;
		column-gap: 20px;
	}

	.aqfc-timeline--center .aqfc-timeline__item .aqfc-timeline__marker { grid-column: 1; }
	.aqfc-timeline--center .aqfc-timeline__item .aqfc-timeline__date { grid-column: 2 !important; grid-row: 1; padding-top: 0; text-align: start !important; }
	.aqfc-timeline--center .aqfc-timeline__item .aqfc-timeline__card { grid-column: 2 !important; grid-row: 2; margin-top: 8px; text-align: start !important; }

	.aqfc-timeline-arrow-yes .aqfc-timeline--center .aqfc-timeline__item .aqfc-timeline__card::before {
		inset-block-start: 14px;
		inset-inline-start: -7px;
		inset-inline-end: auto;
		transform: rotate(45deg);
	}
}

/* ------------------------------------------------------ Before / After */

.aqfc-compare {
	--aqfc-compare-pos: 50%;
	--aqfc-compare-handle: #fff;
	--aqfc-compare-line: 3px;
	position: relative;
	overflow: hidden;
	direction: ltr;
	line-height: 0;
	user-select: none;
	touch-action: pan-y;
}

.aqfc-compare--vertical {
	touch-action: pan-x;
}

.aqfc-compare img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
}

.aqfc-compare__before {
	position: absolute;
	inset: 0;
	clip-path: inset(0 calc(100% - var(--aqfc-compare-pos)) 0 0);
}

.aqfc-compare--vertical .aqfc-compare__before {
	clip-path: inset(0 0 calc(100% - var(--aqfc-compare-pos)) 0);
}

.aqfc-compare__before img {
	height: 100%;
	object-fit: cover;
}

.aqfc-compare__handle {
	position: absolute;
	inset-block: 0;
	left: var(--aqfc-compare-pos);
	width: var(--aqfc-compare-line);
	background: var(--aqfc-compare-handle);
	transform: translateX(-50%);
	pointer-events: none;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

.aqfc-compare--vertical .aqfc-compare__handle {
	inset-block: auto;
	top: var(--aqfc-compare-pos);
	left: 0;
	right: 0;
	width: auto;
	height: var(--aqfc-compare-line);
	transform: translateY(-50%);
}

.aqfc-compare__knob {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 44px;
	height: 44px;
	border: var(--aqfc-compare-line) solid var(--aqfc-compare-handle);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.25);
	transform: translate(-50%, -50%);
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

.aqfc-compare__knob::before,
.aqfc-compare__knob::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	transform: translateY(-50%);
}

.aqfc-compare__knob::before {
	left: 4px;
	border-right-color: var(--aqfc-compare-handle);
}

.aqfc-compare__knob::after {
	right: 4px;
	border-left-color: var(--aqfc-compare-handle);
}

.aqfc-compare--vertical .aqfc-compare__knob {
	transform: translate(-50%, -50%) rotate(90deg);
}

.aqfc-compare__range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: ew-resize;
	-webkit-appearance: none;
	appearance: none;
}

.aqfc-compare--vertical .aqfc-compare__range {
	cursor: ns-resize;
	pointer-events: none;
}

.aqfc-compare--hover .aqfc-compare__range {
	pointer-events: none;
}

.aqfc-compare:focus-within .aqfc-compare__knob {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.aqfc-compare__label {
	position: absolute;
	top: 14px;
	padding: 5px 12px;
	font-size: 13px;
	line-height: 1.3;
	color: #fff;
	background: rgba(0, 0, 0, 0.55);
	border-radius: 3px;
	pointer-events: none;
	transition: opacity 0.25s;
}

.aqfc-compare__label--before { left: 14px; }
.aqfc-compare__label--after { right: 14px; }

.aqfc-compare--vertical .aqfc-compare__label { left: 50%; right: auto; transform: translateX(-50%); }
.aqfc-compare--vertical .aqfc-compare__label--after { top: auto; bottom: 14px; }

.aqfc-compare--labels-hover .aqfc-compare__label {
	opacity: 0;
}

.aqfc-compare--labels-hover:hover .aqfc-compare__label,
.aqfc-compare--labels-hover:focus-within .aqfc-compare__label {
	opacity: 1;
}

/* ------------------------------------------------------- Team Member */

.aqfc-member {
	position: relative;
	overflow: hidden;
	transition: box-shadow 0.3s, border-color 0.3s;
}

.aqfc-member__image {
	max-width: 100%;
	margin-inline: auto;
}

.aqfc-member__image img {
	display: block;
	width: 100%;
	height: auto;
	transition: filter 0.4s, transform 0.4s;
}

.aqfc-member-gray-yes .aqfc-member__image img {
	filter: grayscale(1);
}

.aqfc-member-gray-yes .aqfc-member:hover .aqfc-member__image img,
.aqfc-member-gray-yes .aqfc-member:focus-within .aqfc-member__image img {
	filter: none;
}

.aqfc-member__details {
	padding: 18px 10px 4px;
	text-align: center;
}

.aqfc-member__name {
	margin: 0 0 4px;
	font-size: 19px;
}

.aqfc-member__name a {
	color: inherit;
	text-decoration: none;
}

.aqfc-member__position {
	margin-bottom: 10px;
	font-size: 14px;
	opacity: 0.75;
}

.aqfc-member__bio {
	margin-bottom: 12px;
}

.aqfc-member__social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aqfc-member--classic .aqfc-member__social,
.aqfc-member--overlay .aqfc-member__social {
	justify-content: center;
}

.aqfc-member__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1em;
	height: 2.1em;
	font-size: 15px;
	color: inherit;
	fill: currentColor;
	background: rgba(0, 0, 0, 0.06);
	border-radius: 50%;
	text-decoration: none;
	transition: all 0.2s;
}

.aqfc-member__social svg {
	width: 1em;
	height: 1em;
}

.aqfc-member--side {
	display: flex;
	align-items: center;
	gap: 24px;
}

.aqfc-member--side .aqfc-member__image {
	flex: 0 0 40%;
	margin: 0;
}

.aqfc-member--side .aqfc-member__details {
	flex: 1;
	padding: 0;
	text-align: start;
}

.aqfc-member--side .aqfc-member__social {
	justify-content: flex-start;
}

@media (max-width: 767px) {
	.aqfc-member--side {
		flex-direction: column;
	}

	.aqfc-member--side .aqfc-member__image {
		flex-basis: auto;
		width: 100%;
	}
}

.aqfc-member--overlay .aqfc-member__details {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 24px;
	color: #fff;
	background: rgba(17, 24, 39, 0.72);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.35s, transform 0.35s;
}

.aqfc-member--overlay:hover .aqfc-member__details,
.aqfc-member--overlay:focus-within .aqfc-member__details {
	opacity: 1;
	transform: none;
}

.aqfc-member--overlay .aqfc-member__social a {
	background: rgba(255, 255, 255, 0.15);
}

@media (hover: none) {
	.aqfc-member--overlay .aqfc-member__details {
		opacity: 1;
		transform: none;
		background: linear-gradient(to top, rgba(17, 24, 39, 0.85), rgba(17, 24, 39, 0) 70%);
	}
}

/* ---------------------------------------------------- Business Hours */

.aqfc-hours__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	padding: 4px 12px;
	font-size: 13px;
	font-weight: 700;
	color: #b91c1c;
	background: #fee2e2;
	border-radius: 20px;
}

.aqfc-hours__status::before {
	content: "";
	width: 8px;
	height: 8px;
	background: currentColor;
	border-radius: 50%;
}

.aqfc-hours__status.is-open {
	color: #15803d;
	background: #dcfce7;
}

.aqfc-hours__status[hidden] {
	display: none;
}

.aqfc-hours__list {
	margin: 0;
}

.aqfc-hours__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
}

.aqfc-hours__row + .aqfc-hours__row {
	border-top: 1px solid #e5e7eb;
}

.aqfc-hours__row.is-today {
	font-weight: 700;
}

.aqfc-hours__day,
.aqfc-hours__time {
	margin: 0;
}

.aqfc-hours__time {
	text-align: end;
	white-space: nowrap;
}

.aqfc-hours__row.is-closed .aqfc-hours__time {
	opacity: 0.7;
}

/* ----------------------------------------------------- PayPal Button */

.aqfc-paypal {
	margin: 0;
}

.aqfc-paypal__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 26px;
	font: inherit;
	font-weight: 600;
	color: #fff;
	background: #0070ba;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.25s;
}

.aqfc-paypal__button:hover,
.aqfc-paypal__button:focus-visible {
	background: #005ea6;
}

.aqfc-paypal__button svg {
	width: 1.1em;
	height: 1.1em;
	fill: currentColor;
}

/* -------------------------------------------------------- Breadcrumbs */

/* The theme spaces its own title-bar breadcrumbs; inside the widget the widget spacing rules. */
.elementor-widget-aqfc-breadcrumbs .aqf-breadcrumbs {
	margin: 0;
}

/* --------------------------------------------------------- Off-Canvas */

.aqfc-offcanvas-wrap {
	display: flex;
}

.aqfc-offcanvas-toggle {
	--aqfc-icon-size: 22px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	margin: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 4px;
	font: inherit;
	line-height: 1;
	cursor: pointer;
}

.aqfc-offcanvas-toggle i,
.aqfc-offcanvas-toggle svg {
	width: var(--aqfc-icon-size);
	height: var(--aqfc-icon-size);
	font-size: var(--aqfc-icon-size);
	fill: currentColor;
}

.aqfc-offcanvas-toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.aqfc-offcanvas {
	--aqfc-oc-width: min(380px, 88vw);
	--aqfc-oc-height: auto;
	--aqfc-oc-bg: #fff;
	--aqfc-oc-overlay: rgba(0, 0, 0, 0.5);
	position: fixed;
	inset: 0;
	z-index: 99990;
}

.aqfc-offcanvas[hidden] {
	display: none;
}

.aqfc-offcanvas__overlay {
	position: absolute;
	inset: 0;
	background: var(--aqfc-oc-overlay);
	opacity: 0;
	transition: opacity 0.3s;
}

.aqfc-offcanvas__panel {
	position: absolute;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
	color: #1f2937;
	background: var(--aqfc-oc-bg);
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
	outline: none;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.aqfc-offcanvas--start .aqfc-offcanvas__panel,
.aqfc-offcanvas--end .aqfc-offcanvas__panel {
	inset-block: 0;
	width: var(--aqfc-oc-width);
	max-width: 100%;
}

.aqfc-offcanvas--start .aqfc-offcanvas__panel {
	inset-inline-start: 0;
	transform: translateX(-100%);
}

.aqfc-offcanvas--end .aqfc-offcanvas__panel {
	inset-inline-end: 0;
	transform: translateX(100%);
}

[dir="rtl"] .aqfc-offcanvas--start .aqfc-offcanvas__panel {
	transform: translateX(100%);
}

[dir="rtl"] .aqfc-offcanvas--end .aqfc-offcanvas__panel {
	transform: translateX(-100%);
}

.aqfc-offcanvas--top .aqfc-offcanvas__panel,
.aqfc-offcanvas--bottom .aqfc-offcanvas__panel {
	inset-inline: 0;
	height: var(--aqfc-oc-height);
	max-height: 100%;
}

.aqfc-offcanvas--top .aqfc-offcanvas__panel {
	top: 0;
	transform: translateY(-100%);
}

.aqfc-offcanvas--bottom .aqfc-offcanvas__panel {
	bottom: 0;
	transform: translateY(100%);
}

.aqfc-offcanvas.is-open .aqfc-offcanvas__overlay {
	opacity: 1;
}

.aqfc-offcanvas.is-open .aqfc-offcanvas__panel {
	transform: none;
}

.aqfc-offcanvas__close {
	position: sticky;
	top: 0;
	z-index: 2;
	align-self: flex-end;
	display: inline-flex;
	padding: 12px;
	margin: 0;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
}

.aqfc-offcanvas__close svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

.aqfc-offcanvas__close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -4px;
}

.aqfc-offcanvas__body {
	flex: 1 1 auto;
	padding: 0 24px 24px;
}

@media (prefers-reduced-motion: reduce) {
	.aqfc-offcanvas__overlay,
	.aqfc-offcanvas__panel {
		transition: none;
	}
}

/* ------------------------------------------------- Single post widgets */

.aqfc-post-title,
.aqfc-archive-title__title {
	margin: 0;
}

.aqfc-post-title a {
	color: inherit;
	text-decoration: none;
}

.aqfc-archive-title__title {
	margin-block-end: 10px;
}

.aqfc-archive-title__description > :last-child,
.aqfc-post-excerpt > :last-child,
.aqfc-post-content > :last-child {
	margin-bottom: 0;
}

.aqfc-featured-image {
	margin: 0;
}

.aqfc-featured-image img {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

.aqfc-featured-image figcaption {
	text-align: inherit;
	margin-top: 8px;
	font-size: 0.875em;
	opacity: 0.75;
}

/* Post info */
.aqfc-post-info {
	--aqfc-icon-size: 1em;
	--aqfc-avatar-size: 26px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aqfc-post-info--list {
	flex-direction: column;
	align-items: flex-start;
}

.aqfc-post-info--list li {
	margin: 0;
}

.aqfc-post-info a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.aqfc-post-info a:hover,
.aqfc-post-info a:focus-visible {
	color: var(--aqf-accent, #2563eb);
}

.aqfc-post-info__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.aqfc-post-info__icon {
	display: inline-flex;
}

.aqfc-post-info__icon i,
.aqfc-post-info__icon svg {
	width: var(--aqfc-icon-size);
	height: var(--aqfc-icon-size);
	font-size: var(--aqfc-icon-size);
	fill: currentColor;
}

.aqfc-post-info__text {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 4px;
}

.aqfc-post-info .aqfc-post-info__avatar {
	width: var(--aqfc-avatar-size);
	height: var(--aqfc-avatar-size);
	margin-inline-end: 4px;
	border-radius: 50%;
}

.aqfc-post-info__sep {
	opacity: 0.5;
}

/* Author box (theme markup; spacing comes from the widget) */
.elementor-widget-aqfc-author-box .aqf-author-box {
	--aqfc-avatar-size: 80px;
	margin: 0;
}

.elementor-widget-aqfc-author-box .aqf-author-box .avatar {
	width: var(--aqfc-avatar-size);
	height: var(--aqfc-avatar-size);
}

.aqfc-author-box--column .aqf-author-box {
	flex-direction: column;
	align-items: var(--aqfc-self, flex-start);
}

.aqfc-author-box__link {
	display: inline-block;
	margin-top: 10px;
	font-weight: 600;
	text-decoration: none;
}

/* Post navigation (theme markup) */
.elementor-widget-aqfc-post-navigation .aqf-post-nav .nav-links {
	margin: 0;
}

.elementor-widget-aqfc-post-navigation .aqf-post-nav {
	--aqfc-nav-thumb: 64px;
}

.elementor-widget-aqfc-post-navigation .aqf-post-nav a {
	display: flex;
	align-items: center;
	gap: 14px;
}

.elementor-widget-aqfc-post-navigation .nav-next a {
	flex-direction: row-reverse;
}

.aqf-post-nav__text {
	min-width: 0;
}

.aqf-post-nav .aqf-post-nav__thumb {
	flex: 0 0 var(--aqfc-nav-thumb);
	width: var(--aqfc-nav-thumb);
	height: var(--aqfc-nav-thumb);
	object-fit: cover;
	border-radius: 6px;
}

/* Comments (theme markup) */
.elementor-widget-aqfc-post-comments .comments-area {
	margin-top: 0;
}
