/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Bricks Rating element: ACSS 4 ships an unlayered `.overlay` utility (basic overlays) that beats the
   layered Bricks rule for the partial-star overlay, so half stars rendered as a stray glyph on the next
   line. Restore the overlay positioning with enough specificity to win. */
.brxe-rating .icon-wrapper .icon.overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	overflow: hidden;
	inset: auto;
	inset-inline-start: 0;
	inset-block-start: 0;
	background: none;
	pointer-events: none;
}

/* ---- Site search overlay (header) ---- */
.sdhq-search-overlay .bricks-search-overlay { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.sdhq-search-overlay .bricks-search-inner { padding: 0 var(--space-m); }
.sdhq-search-overlay .bricks-search-overlay .bricks-search-form { width: 100%; max-width: 680px; }
.sdhq-search-overlay .bricks-search-overlay .bricks-search-form input[type="search"] { text-align: left; padding: 0 20px; line-height: normal; }
.sdhq-search-overlay .bricks-search-overlay .close { top: 18px; right: 22px; width: 44px; height: 44px; border-radius: 999px; border: 1px solid #2a2a2a; background: #161616; color: #fff; font-size: 26px; line-height: 42px; transition: border-color .2s ease, color .2s ease; }
.sdhq-search-overlay .bricks-search-overlay .close:hover { border-color: var(--primary); color: var(--primary); }
.sdhq-search-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; margin-top: 22px; width: 100%; max-width: 680px; }
.sdhq-search-chips__label { width: 100%; text-align: center; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: oklch(0.55 0 0); margin-bottom: 4px; }
.sdhq-search-chips a { display: inline-flex; padding: 8px 14px; border-radius: 999px; background: #161616; border: 1px solid #2a2a2a; color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.sdhq-search-chips a:hover { border-color: var(--primary); color: var(--primary); }
@media (min-width: 992px) { .sdhq-search-overlay > .toggle { display: none; } }
.sdhq-search-overlay .bricks-search-overlay .title { margin: 0 0 18px; }

/* ------------------------------------------------------------------------------------------------
   CookieYes (cookie-law-info 3.x, legacy banner in "popup" mode) — restyled as a bottom-right card
   in the site's card language. The plugin sets position/colours inline, hence the !importants.
   Banner: #cookie-law-info-bar · preferences modal: #cliSettingsPopup · revisit tab: #cookie-law-info-again
   ------------------------------------------------------------------------------------------------ */
body.cli-barmodal-open { overflow: auto !important; padding-right: 0 !important; }
.cli-modal-backdrop.cli-popupbar-overlay { display: none !important; }

#cookie-law-info-bar {
	top: auto !important; left: auto !important; right: 24px !important; bottom: 24px !important;
	margin: 0 !important; width: min(440px, calc(100vw - 32px)) !important; max-height: calc(100vh - 48px) !important;
	padding: 22px 24px !important; box-sizing: border-box;
	background: #161616 !important; color: #fff !important; font-family: inherit !important;
	border: 1px solid #262626; border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, .65);
	text-align: left !important; z-index: 900 !important; /* below Bricks' off-canvas menu (wrapper 999 / overlay 998) so the menu covers the card */
}
#cookie-law-info-bar .cli-bar-container { display: block; }
#cookie-law-info-bar .cli-bar-message { font-size: calc(var(--text-xs) * .95); line-height: 1.6; color: oklch(0.8 0 0); }
#cookie-law-info-bar .cli-bar-message::before {
	content: "Cookies"; display: block; width: max-content; margin-bottom: 12px; padding: 5px 10px; border-radius: 999px;
	background: var(--primary); color: #0a0a0a; font-size: calc(var(--text-xs) * .62); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; line-height: 1;
}
#cookie-law-info-bar .cli-bar-message > br { display: none; }
#cookie-law-info-bar .wt-cli-ccpa-element { font-size: 0; margin-top: 12px; } /* zero size hides the plugin's stray "." after the checkbox */
#cookie-law-info-bar .wt-cli-ccpa-checkbox { display: inline-flex; align-items: center; gap: 8px; font-size: calc(var(--text-xs) * .88); }
#cookie-law-info-bar .wt-cli-ccpa-checkbox input { width: 16px; height: 16px; margin: 0; accent-color: var(--primary); }
#cookie-law-info-bar .wt-cli-ccpa-checkbox label { margin: 0; color: oklch(0.72 0 0) !important; cursor: pointer; }
#cookie-law-info-bar .cli-bar-btn_container { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0 !important; }
#cookie-law-info-bar .cli-plugin-button {
	margin: 0 !important; padding: 11px 18px !important; border-radius: 999px !important; font-size: calc(var(--text-xs) * .9) !important;
	font-weight: 700 !important; line-height: 1 !important; text-decoration: none !important; border: 1px solid transparent;
	transition: border-color .2s ease, color .2s ease, filter .2s ease;
}
#cookie-law-info-bar .cli_settings_button { background: transparent !important; color: #fff !important; border-color: #2a2a2a !important; }
#cookie-law-info-bar .cli_settings_button:hover { border-color: var(--primary) !important; color: var(--primary) !important; }
#cookie-law-info-bar #cookie_action_close_header { background: var(--primary) !important; color: #0a0a0a !important; }
#cookie-law-info-bar #cookie_action_close_header:hover { filter: brightness(1.08); }
@media (max-width: 600px) {
	#cookie-law-info-bar { right: 12px !important; bottom: 12px !important; left: 12px !important; width: auto !important; padding: 18px !important; }
}

/* "Manage consent" tab shown after a choice */
#cookie-law-info-again {
	left: 24px !important; right: auto !important; bottom: 0 !important; background: #161616 !important; color: #fff !important;
	border: 1px solid #262626; border-bottom: 0; border-radius: 10px 10px 0 0; padding: 8px 14px !important;
	font-size: calc(var(--text-xs) * .8); font-weight: 700; letter-spacing: .04em; box-shadow: 0 -6px 24px rgba(0, 0, 0, .4);
}
#cookie-law-info-again:hover { color: var(--primary) !important; }

/* Preferences modal */
.cli-modal-backdrop.cli-settings-overlay { background: #000; }
.cli-modal-backdrop.cli-settings-overlay.cli-show { opacity: .75; }
#cliSettingsPopup .cli-modal-content { background: #161616 !important; color: #fff; border: 1px solid #262626; border-radius: 12px; font-family: inherit; box-shadow: 0 24px 60px rgba(0, 0, 0, .65); }
#cliSettingsPopup .cli-modal-close svg { fill: #fff; }
#cliSettingsPopup .cli-modal-close:hover svg { fill: var(--primary); }
#cliSettingsPopup .cli-privacy-overview h4 { color: #fff; font-size: calc(var(--text-s) * 1.05); font-weight: 700; margin: 0 0 8px; }
#cliSettingsPopup .cli-privacy-content-text, #cliSettingsPopup .wt-cli-cookie-description { color: oklch(0.72 0 0); font-size: calc(var(--text-xs) * .92); line-height: 1.6; }
#cliSettingsPopup .cli-privacy-readmore { color: var(--primary); }
#cliSettingsPopup .cli-tab-section { border-color: #262626; }
#cliSettingsPopup .cli-tab-header { background: #0f0f0f; border: 1px solid #262626; border-radius: 10px; }
#cliSettingsPopup .cli-tab-header:hover, #cliSettingsPopup .cli-tab-header.cli-tab-active { border-color: #3a3a3a; }
#cliSettingsPopup .cli-tab-header a.cli-nav-link, #cliSettingsPopup .wt-cli-necessary-checkbox label { color: #fff; font-weight: 700; font-size: calc(var(--text-xs) * .95); }
#cliSettingsPopup .cli-tab-header a.cli-nav-link::before { border-color: transparent transparent transparent #fff; }
#cliSettingsPopup .cli-necessary-caption { color: oklch(0.55 0 0); font-size: calc(var(--text-xs) * .8); }
#cliSettingsPopup .cli-switch .cli-slider { background-color: #333 !important; }
#cliSettingsPopup .cli-switch .cli-slider::before { background-color: #fff; }
#cliSettingsPopup .cli-switch input:checked + .cli-slider { background-color: var(--primary) !important; }
#cliSettingsPopup .cli-switch .cli-slider::after { color: oklch(0.72 0 0); }
#cliSettingsPopup .cli-tab-content { background: #0f0f0f; border-radius: 10px; }
#cliSettingsPopup .cookielawinfo-row-cat-table th, #cliSettingsPopup .cookielawinfo-row-cat-table td { border-color: #262626 !important; background: transparent !important; color: oklch(0.72 0 0); font-size: calc(var(--text-xs) * .85); }
#cliSettingsPopup .cookielawinfo-row-cat-table th { color: #fff; }
#cliSettingsPopup .cli-modal-footer { background: #161616; border-top: 1px solid #262626; border-radius: 0 0 12px 12px; }
#cliSettingsPopup .cli-btn, #cliSettingsPopup .wt-cli-privacy-btn { background: var(--primary) !important; color: #0a0a0a !important; border-radius: 999px !important; padding: 11px 18px !important; font-weight: 700 !important; font-size: calc(var(--text-xs) * .9) !important; letter-spacing: .04em; }
#cliSettingsPopup .wt-cli-ckyes-footer-section { color: oklch(0.5 0 0); font-size: calc(var(--text-xs) * .75); }
#cliSettingsPopup .wt-cli-ckyes-footer-section img { opacity: .6; }

/* Patrons / logged-in users are ad-free (inc/sdhq-ads.php): sponsor banners pasted into post content */
.sdhq-ad-free .jsaux-ad, .sdhq-ad-free .sdhq-ad, .sdhq-ad-free .mv-ad-box { display: none !important; }

/* Mediavine placement hooks (parts.py ad_box): empty containers Mediavine targets from its dashboard.
   They reserve no height until an ad fills them, so nothing shifts when a slot is unfilled or blocked. */
.sdhq-ad { display: block; width: 100%; }
.sdhq-ad:empty { margin: 0; }
.sdhq-ad--sidebar-top:not(:empty) { margin-bottom: 20px; }
.sdhq-ad--sidebar-sticky:not(:empty) { margin-top: 20px; }
.sdhq-ad--sidebar-top > *, .sdhq-ad--sidebar-sticky > * { margin-left: auto; margin-right: auto; }
/* Mediavine's adhesion unit sits at the bottom edge; keep the cookie card above it while ads are on. */
body.sdhq-ads #cookie-law-info-bar { bottom: 110px !important; }
@media (max-width: 600px) { body.sdhq-ads #cookie-law-info-bar { bottom: 96px !important; } }
