/* QueCafe Ads. The bar keeps EP Hover Bar's look: a rounded pill floating at the bottom centre. */
.qc-ads[hidden] { display: none !important; }
.qc-ads { box-sizing: border-box; font-size: 16px; line-height: 1.4; }
.qc-ads *, .qc-ads *::before, .qc-ads *::after { box-sizing: inherit; }
.qc-ads p { margin: 0; }
.qc-ads .qc-ads-label { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.qc-ads-close { all: unset; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 24px; line-height: 1; cursor: pointer; }
.qc-ads-close:hover { transform: scale(1.1); }
.qc-ads-close:focus-visible { outline: 2px solid currentColor; outline-offset: -6px; border-radius: 50%; }

.qc-ads-bar { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 999; text-align: center; pointer-events: none; }
.qc-ads-bar__inner { position: relative; display: inline-flex; align-items: center; max-width: 100%; padding-left: 20px; background: var(--qc-ads-bg, #9b4018); color: var(--qc-ads-color, #fff); border-radius: 80px; box-shadow: 0 4px 16px rgba(0, 0, 0, .18); pointer-events: auto; }
.qc-ads-bar .qc-ads-label { margin-right: 10px; }
.qc-ads-bar__content { flex: 1; min-width: 0; }
.qc-ads-bar__content a { display: block; padding: 12px 4px 12px 0; color: inherit; text-decoration: none; }
.qc-ads-bar__content a strong { display: inline-block; margin-left: 7px; white-space: nowrap; text-decoration: underline; }
.qc-ads-bar .qc-ads-close { flex: none; color: inherit; }

.qc-ads-box { position: fixed; bottom: calc(16px + var(--qc-ads-bar-h, 0px)); z-index: 999; width: min(340px, calc(100vw - 32px)); max-height: 60vh; overflow: auto; padding: 16px 20px 18px; background: #fff; color: #2b1b12; border-radius: 12px; box-shadow: 0 8px 28px rgba(0, 0, 0, .22); animation: qc-ads-in .3s ease-out; }
.qc-ads-box--right { right: 16px; }
.qc-ads-box--left { left: 16px; }
.qc-ads-box .qc-ads-close { position: absolute; top: 2px; right: 2px; color: #2b1b12; }
.qc-ads-box .qc-ads-label { margin: 0 32px 8px 0; }
.qc-ads-box__content > * + * { margin-top: 10px; }
.qc-ads-box__content img { max-width: 100%; height: auto; }
@keyframes qc-ads-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
	.qc-ads-box { left: 12px; right: 12px; width: auto; max-height: 40vh; }
	.qc-ads-box--no-mobile { display: none !important; }
	.qc-ads-bar__inner { padding-left: 14px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
	.qc-ads-box { animation: none; }
	.qc-ads-close:hover { transform: none; }
}
@media print { .qc-ads { display: none !important; } }
