/* ==========================================================================
   Queen of Dreams Hypnosis: night-sky brand layer for Divi
   Version 1.3.1

   Colours are sampled from the Queen of Dreams logo: deep indigo sky,
   blue-violet nebula, lavender swirl, white script, periwinkle "HYPNOSIS".

   How the overrides work
   - Divi writes each module's own design settings as CSS. To standardise the
     whole site without editing a single page, rules here are anchored on the
     #page-container / #et-main-area IDs so they outrank those settings.
   - Add the CSS class  qod-keep   to any section, row or module (Divi:
     Advanced → CSS Class) to leave it exactly as it was designed.
   - Add the CSS class  qod-paper  for a light panel with dark text (useful for
     third-party embeds that expect a white page).
   - Code modules, the Witching Hour games and the quiz embed are left alone.
   ========================================================================== */

:root {
	--qod-night: #070624;        /* page sky, from the logo background */
	--qod-deep: #0D133B;         /* band colour */
	--qod-card: rgba(16, 23, 74, .72);
	--qod-card-solid: #10174A;
	--qod-line: #232D66;         /* hairlines */
	--qod-line-strong: #3C4181;  /* outlines, from the inner orb */
	--qod-nebula: #1C2F63;       /* nebula blue */
	--qod-swirl: #4A589A;        /* swirl blue */
	--qod-heading: #F5F6FF;      /* script white */
	--qod-text: #D3DAF0;         /* body copy */
	--qod-muted: #9AA4CC;
	--qod-periwinkle: #B8D4F0;   /* "HYPNOSIS" */
	--qod-lavender: #B4A7F5;     /* swirl lavender */
	--qod-star: #F3D98B;         /* the one warm star, used sparingly */
	--qod-accent: var(--qod-periwinkle);
	--qod-accent-2: var(--qod-lavender);
	--qod-btn-bg: linear-gradient(135deg, #C6DCF5 0%, #B4A7F5 100%);
	--qod-btn-bg-hover: linear-gradient(135deg, #DCE9FA 0%, #C9BFFA 100%);
	--qod-serif: 'Cormorant Garamond', 'Cormorant', Georgia, serif;
	--qod-sans: 'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--qod-script: 'Pinyon Script', 'Cormorant Garamond', cursive;
	--qod-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--qod-radius: 16px;
	--qod-glow: 0 0 0 1px rgba(184, 212, 240, .06), 0 18px 50px rgba(0, 0, 0, .35);
}

/* ---------- The sky ---------- */
html, html body {
	background-color: var(--qod-night) !important;
}
html body {
	color: var(--qod-text);
	font-family: var(--qod-sans);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
/* Nebula + small stars, fixed behind everything */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(7, 6, 36, .25) 0%, rgba(7, 6, 36, 0) 30%, rgba(7, 6, 36, 0) 70%, rgba(7, 6, 36, .35) 100%),
		var(--qod-night) url("../img/night-sky.jpg") center / cover no-repeat;
}
/* Brighter stars that slowly twinkle */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22900%22 height=%22900%22 viewBox=%220 0 900 900%22%3E%3Ccircle cx=%22560.6%22 cy=%22667.6%22 r=%221.12%22 fill=%22%23F3D98B%22 fill-opacity=%220.87%22/%3E%3Ccircle cx=%22586.8%22 cy=%22477.0%22 r=%221.15%22 fill=%22%23ffffff%22 fill-opacity=%220.80%22/%3E%3Ccircle cx=%22584.1%22 cy=%22810.8%22 r=%220.67%22 fill=%22%23ffffff%22 fill-opacity=%220.66%22/%3E%3Ccircle cx=%22342.7%22 cy=%2291.8%22 r=%220.76%22 fill=%22%23C9BCFF%22 fill-opacity=%220.78%22/%3E%3Ccircle cx=%22251.5%22 cy=%22824.7%22 r=%221.10%22 fill=%22%23F3D98B%22 fill-opacity=%220.52%22/%3E%3Ccircle cx=%2264.7%22 cy=%22556.1%22 r=%220.89%22 fill=%22%23F3D98B%22 fill-opacity=%220.51%22/%3E%3Ccircle cx=%224.8%22 cy=%22696.2%22 r=%221.22%22 fill=%22%23ffffff%22 fill-opacity=%220.52%22/%3E%3Ccircle cx=%22260.4%22 cy=%22865.3%22 r=%220.95%22 fill=%22%23ffffff%22 fill-opacity=%220.76%22/%3E%3Ccircle cx=%22163.5%22 cy=%22871.7%22 r=%220.73%22 fill=%22%23C9BCFF%22 fill-opacity=%220.88%22/%3E%3Ccircle cx=%22268.9%22 cy=%22325.1%22 r=%220.71%22 fill=%22%23ffffff%22 fill-opacity=%220.52%22/%3E%3Ccircle cx=%22298.7%22 cy=%22735.7%22 r=%220.98%22 fill=%22%23F3D98B%22 fill-opacity=%220.72%22/%3E%3Ccircle cx=%22304.1%22 cy=%22279.0%22 r=%221.13%22 fill=%22%23B8D4F0%22 fill-opacity=%220.67%22/%3E%3Ccircle cx=%22166.3%22 cy=%22425.3%22 r=%220.71%22 fill=%22%23ffffff%22 fill-opacity=%220.57%22/%3E%3Ccircle cx=%22854.3%22 cy=%22321.9%22 r=%220.86%22 fill=%22%23C9BCFF%22 fill-opacity=%220.70%22/%3E%3Ccircle cx=%22329.6%22 cy=%22520.7%22 r=%220.61%22 fill=%22%23ffffff%22 fill-opacity=%220.47%22/%3E%3Ccircle cx=%22561.3%22 cy=%22859.0%22 r=%220.68%22 fill=%22%23F3D98B%22 fill-opacity=%220.56%22/%3E%3Ccircle cx=%22847.8%22 cy=%22309.9%22 r=%220.83%22 fill=%22%23F3D98B%22 fill-opacity=%220.69%22/%3E%3Ccircle cx=%22416.6%22 cy=%22530.8%22 r=%221.11%22 fill=%22%23B8D4F0%22 fill-opacity=%220.62%22/%3E%3Ccircle cx=%2233.0%22 cy=%22851.2%22 r=%220.66%22 fill=%22%23A68DF2%22 fill-opacity=%220.60%22/%3E%3Ccircle cx=%22326.4%22 cy=%22133.4%22 r=%220.78%22 fill=%22%23ffffff%22 fill-opacity=%220.77%22/%3E%3Ccircle cx=%22281.2%22 cy=%22285.1%22 r=%220.72%22 fill=%22%23ffffff%22 fill-opacity=%220.49%22/%3E%3Ccircle cx=%22649.0%22 cy=%22278.4%22 r=%220.91%22 fill=%22%23ffffff%22 fill-opacity=%220.77%22/%3E%3Ccircle cx=%22888.0%22 cy=%22480.2%22 r=%220.86%22 fill=%22%23A68DF2%22 fill-opacity=%220.56%22/%3E%3Ccircle cx=%22309.4%22 cy=%22225.2%22 r=%221.02%22 fill=%22%23F3D98B%22 fill-opacity=%220.52%22/%3E%3Ccircle cx=%2229.4%22 cy=%22444.2%22 r=%221.14%22 fill=%22%23F3D98B%22 fill-opacity=%220.51%22/%3E%3Ccircle cx=%22507.6%22 cy=%22119.5%22 r=%221.18%22 fill=%22%23ffffff%22 fill-opacity=%220.64%22/%3E%3C/svg%3E");
	background-size: 900px 900px;
	opacity: .85;
}
body.qod-twinkle::after { animation: qod-twinkle 7s ease-in-out infinite alternate; }
@keyframes qod-twinkle { 0% { opacity: .35; } 55% { opacity: .95; } 100% { opacity: .6; } }

html body #page-container { position: relative; z-index: 1; background: transparent !important; }
html body #et-main-area,
html body #main-content,
html body #main-content .container,
html body .et-l--body,
html body .et_builder_inner_content { background-color: transparent !important; }
#main-content .container:before { display: none !important; } /* Divi sidebar rule */

::selection { background: var(--qod-lavender); color: var(--qod-night); }

/* ---------- Header ---------- */
html body #main-header,
html body #main-header.et-fixed-header {
	background-color: rgba(7, 6, 36, .9) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: none !important;
	border-bottom: 1px solid var(--qod-line);
}
html body #top-header { background-color: var(--qod-deep) !important; }
html body #main-header .container { width: calc(100% - 48px); max-width: 1600px; }

/* Logo: the night-sky wordmark is swapped in by the theme (see Customiser);
   if you keep your own logo it is simply sized to fit. */
html body #logo { max-height: 64px !important; height: 64px; width: auto; }
html body .et-fixed-header #logo { max-height: 50px !important; height: 50px; }
/* Split header (logo in the middle of the menu) */
@media (min-width: 981px) {
	html body.et_header_style_split #main-header .centered-inline-logo-wrap { width: auto !important; padding: 10px 26px !important; vertical-align: middle; }
	html body.et_header_style_split #top-menu > li { vertical-align: middle; }
	html body.et_header_style_split #main-header .centered-inline-logo-wrap .logo_container { position: static; height: auto; }
}
body.qod-logo-recolour #logo { filter: invert(1) hue-rotate(180deg) brightness(1.1); mix-blend-mode: screen; }

html body #top-menu li a,
html body .et-fixed-header #top-menu li a,
html body #et-secondary-nav li a {
	color: var(--qod-text) !important;
	font-family: var(--qod-sans) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	letter-spacing: .02em;
	text-transform: none;
	opacity: 1 !important;
	transition: color .2s ease;
}
html body #top-menu li a:hover { color: var(--qod-heading) !important; }
html body #top-menu li.current-menu-item > a,
html body #top-menu li.current_page_item > a,
html body #top-menu li.current-menu-ancestor > a,
html body .et-fixed-header #top-menu li.current-menu-item > a {
	color: var(--qod-periwinkle) !important;
}
html body #top-menu .menu-item-has-children > a:first-child:after { color: var(--qod-lavender); }
@media (min-width: 981px) {
	html body #top-menu li { padding-right: 18px; }
	html body #top-menu li li { padding: 0 14px; width: 100%; }
}
@media (min-width: 981px) and (max-width: 1340px) {
	html body #top-menu li { padding-right: 13px; }
	html body #top-menu li a, html body .et-fixed-header #top-menu li a { font-size: 14px !important; letter-spacing: 0; }
}
@media (min-width: 981px) and (max-width: 1150px) {
	html body #top-menu li { padding-right: 10px; }
	html body #top-menu li a, html body .et-fixed-header #top-menu li a { font-size: 13px !important; }
}
/* Dropdowns */
html body #top-menu li ul.sub-menu,
html body .nav li ul {
	background: var(--qod-deep) !important;
	border-top: 2px solid var(--qod-lavender) !important;
	border-radius: 0 0 14px 14px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
	padding: 12px 0;
	width: 250px;
}
html body #top-menu li ul.sub-menu li a {
	width: 100%;
	padding: 9px 12px !important;
	border-radius: 8px;
	font-size: 15px !important;
}
html body #top-menu li ul.sub-menu li a:hover { background: rgba(184, 212, 240, .08) !important; opacity: 1; }
html body #top-menu li ul.sub-menu ul.sub-menu { left: 250px; top: -12px; }
/* Cart + search icons */
html body .et-cart-info span,
html body #et_search_icon:before,
html body #et_top_search .et-search-field { color: var(--qod-text) !important; }
html body .et-cart-info span:before { color: var(--qod-periwinkle) !important; }
html body .et_search_outer .et-search-form input { color: var(--qod-heading) !important; }
html body .et_search_outer { background: var(--qod-deep); }
/* Mobile menu */
html body .mobile_menu_bar:before,
html body .mobile_menu_bar:after { color: var(--qod-periwinkle) !important; }
html body .et_mobile_menu {
	background: var(--qod-deep) !important;
	border-top: 2px solid var(--qod-lavender) !important;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}
html body .et_mobile_menu li a {
	color: var(--qod-heading) !important;
	border-bottom: 1px solid var(--qod-line) !important;
	font-family: var(--qod-sans);
	font-size: 16px;
	padding: 12px 5%;
}
html body .et_mobile_menu li a:hover { background: rgba(184, 212, 240, .08) !important; opacity: 1; }
html body .et_mobile_menu .sub-menu li a { color: var(--qod-text) !important; font-size: 15px; }
@media (max-width: 980px) {
	html body #logo { max-height: 48px; max-width: 60vw; }
	html body #main-header .container { width: calc(100% - 32px); }
}

/* ---------- Typography (everything below the header) ---------- */
/* Module and container base colour */
#et-main-area :where(.et_pb_section, .et_pb_row, .et_pb_column, .et_pb_module, #main-content, .entry-content, .et_pb_post, #sidebar, .widget, .et_pb_widget, #main-footer, #footer-widgets):where(:not(.et_pb_code, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	color: var(--qod-text) !important;
}
/* Text elements take the module colour, whatever colour was set inside the editor */
#et-main-area :where(p, li, span, em, i, u, small, blockquote, cite, q, td, th, dd, dt, dl, figcaption, label, font, address, sup, sub):where(:not(a, a *, button *, .et_pb_button *, .price *, .amount *, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	color: inherit !important;
	font-family: var(--qod-sans) !important;
}
#et-main-area :where(strong, b):where(:not(a *, button *, .et_pb_button *, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	color: var(--qod-heading) !important;
	font-weight: 600;
}
/* Body copy size */
#et-main-area :where(.et_pb_text, .et_pb_blurb_description, .et_pb_testimonial_description, .et_pb_promo_description, .entry-content, .post-content, .et_pb_toggle_content, .et_pb_tab, .et_pb_team_member_description, .et_pb_fullwidth_header_subhead, .woocommerce-product-details__short-description) :where(p, li):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	font-size: 17px !important;
	line-height: 1.75 !important;
}
#et-main-area :where(p) + :where(p) { margin-top: .9em; }
#et-main-area :where(p) { padding-bottom: 0; }

/* Headings */
#et-main-area :where(h1, h2, h3, h4, h5, h6, .et_pb_module_header, .entry-title, .woocommerce-loop-product__title, .product_title):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)),
#et-main-area :where(h1, h2, h3, h4, h5, h6):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) :where(span, em, strong, b, i, font) {
	color: var(--qod-heading) !important;
	font-family: var(--qod-serif) !important;
	font-weight: 500 !important;
	letter-spacing: .005em !important;
	text-transform: none !important;
	line-height: 1.15 !important;
	text-shadow: none !important;
}
#et-main-area :where(h1):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { font-size: clamp(2.3rem, 4.4vw, 3.5rem) !important; }
#et-main-area :where(h2):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { font-size: clamp(1.9rem, 3.2vw, 2.6rem) !important; }
#et-main-area :where(h3):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important; }
#et-main-area :where(h4, h5, h6):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { font-size: 1.45rem !important; font-weight: 600 !important; }
#et-main-area :where(h1, h2, h3):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { padding-bottom: .35em; }
#et-main-area :where(h1, h2, h3, h4, h5, h6) a { color: inherit !important; text-decoration: none !important; }
/* Links that read better without an underline */
#et-main-area :is(.post-meta, ul.products li.product, .widget, .et_pb_widget, .cue-playlist, .pagination, .wp-pagenavi, .woocommerce-MyAccount-navigation, .et_pb_blurb_content .et_pb_main_blurb_image) a { text-decoration: none !important; }
#et-main-area :where(h1, h2, h3, h4, h5, h6) a:hover { color: var(--qod-periwinkle) !important; }

/* Links */
#et-main-area :where(a):where(:not(.et_pb_button, .button, .wp-block-button__link, .qod-btn, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	color: var(--qod-lavender) !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(180, 167, 245, .45) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px;
	transition: color .2s ease;
}
#et-main-area :where(a):where(:not(.et_pb_button, .button, .wp-block-button__link, .qod-btn, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)):hover { color: var(--qod-heading) !important; }
html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible { outline: 2px solid var(--qod-periwinkle) !important; outline-offset: 3px; }

/* Blockquotes and lists */
#et-main-area :where(blockquote):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	border-left: 2px solid var(--qod-lavender) !important;
	padding: 4px 0 4px 22px !important;
	margin: 1.4em 0;
	font-family: var(--qod-serif) !important;
	font-style: italic;
	font-size: 1.35rem;
	line-height: 1.5;
	color: var(--qod-heading) !important;
}
#et-main-area :where(.et_pb_text, .entry-content) :where(ul):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) > li::marker { color: var(--qod-lavender); }
#et-main-area :where(hr) { border: 0; height: 1px; background: var(--qod-line-strong); }

/* ---------- Sections and rows ---------- */
#page-container .et_pb_section:not(.qod-keep):not(.qod-paper) {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}
#page-container .et_pb_section:not(.qod-keep):not(.et_pb_fullwidth_section) {
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}
/* Consecutive plain sections flow together instead of stacking gaps */
#page-container .et_pb_section:not(.et_pb_with_background):not(.et_pb_fullwidth_section) + .et_pb_section:not(.et_pb_with_background):not(.et_pb_fullwidth_section):not(.qod-keep) {
	padding-top: 0 !important;
}
/* Sections that had their own colour become soft night bands */
#page-container .et_pb_section.et_pb_with_background:not(.qod-keep):not(.et_pb_fullwidth_section):not(.qod-paper) {
	background-color: rgba(13, 19, 59, .62) !important;
	border-top: 1px solid var(--qod-line) !important;
	border-bottom: 1px solid var(--qod-line) !important;
}
#page-container .et_pb_section:not(.qod-keep) {
	border-left: 0 !important;
	border-right: 0 !important;
}
#page-container .et_pb_section:not(.qod-keep):not(.et_pb_with_background) {
	border-top: 0 !important;
	border-bottom: 0 !important;
}
/* Empty spacer sections */
/* Only sections with nothing at all inside them (plugin games and code output are never hidden) */
#page-container .et_pb_section:not(.qod-keep):not(:has(.et_pb_module, .et_pb_column > *, .et_pb_code, iframe, form, [id])) { display: none !important; }

/* Background photos, parallax layers and videos are removed (night sky instead) */
#page-container .et_pb_section:not(.qod-keep) > .et_parallax_bg_wrap,
#page-container .et_pb_section:not(.qod-keep) > .et_pb_section_video_bg,
#page-container .et_pb_row:not(.qod-keep) > .et_parallax_bg_wrap,
#page-container .et_pb_module:not(.qod-keep):not(.et_pb_fullwidth_header) > .et_parallax_bg_wrap { display: none !important; }

#page-container .et_pb_row:not(.qod-keep):not(.qod-paper),
#page-container .et_pb_column:not(.qod-keep):not(.qod-paper) {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}
#page-container .et_pb_row:not(.qod-keep) {
	max-width: 1120px;
	padding-top: 22px !important;
	padding-bottom: 22px !important;
}
#page-container .et_pb_row:not(.qod-keep) > .et_parallax_bg_wrap { display: none; }
@media (max-width: 980px) {
	#page-container .et_pb_section:not(.qod-keep):not(.et_pb_fullwidth_section) { padding-top: 52px !important; padding-bottom: 52px !important; }
	#page-container .et_pb_row:not(.qod-keep) { width: calc(100% - 40px) !important; }
}

/* Plain modules lose stray background colours */
#page-container :where(.et_pb_text, .et_pb_image, .et_pb_divider, .et_pb_button_module_wrapper, .et_pb_cta, .et_pb_code):not(.qod-keep):not(.qod-paper):not(.et_pb_with_border) {
	background-color: transparent !important;
	background-image: none !important;
}

/* ---------- Hero: Divi Fullwidth Header ----------
   Headers that have a photo (for example the lips on the home page) keep it,
   with a gentle shade so the text reads. The theme's script marks them
   .qod-has-photo. Headers without a photo show the night sky. */
#page-container .et_pb_fullwidth_header:not(.qod-keep) {
	background-color: transparent !important;
	padding: 110px 0 100px !important;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(139, 111, 232, .35);
}
#page-container .et_pb_fullwidth_header:not(.qod-keep):not(.qod-has-photo):not(.qod-probe),
body:not(.qod-keep-photos) #page-container .et_pb_fullwidth_header:not(.qod-keep):not(.qod-probe) {
	background-image:
		radial-gradient(ellipse 60% 70% at 78% 38%, rgba(91, 71, 184, .35), transparent 70%),
		radial-gradient(ellipse 50% 60% at 12% 85%, rgba(28, 47, 99, .55), transparent 70%) !important;
}
#page-container .et_pb_fullwidth_header:not(.qod-keep):not(.qod-has-photo):not(.qod-probe) > .et_parallax_bg_wrap,
body:not(.qod-keep-photos) #page-container .et_pb_fullwidth_header:not(.qod-keep):not(.qod-probe) > .et_parallax_bg_wrap { display: none !important; }
#page-container .et_pb_fullwidth_header:not(.qod-keep):not(.qod-has-photo) .et_pb_fullwidth_header_overlay,
body:not(.qod-keep-photos) #page-container .et_pb_fullwidth_header:not(.qod-keep) .et_pb_fullwidth_header_overlay { background: transparent !important; }
/* Photo headers: the photo stays as it is, shaded only at the edges */
body.qod-keep-photos #page-container .et_pb_fullwidth_header.qod-has-photo:not(.qod-keep) .et_pb_fullwidth_header_overlay {
	background:
		linear-gradient(180deg, rgba(7, 6, 36, .45) 0%, rgba(7, 6, 36, .08) 30%, rgba(7, 6, 36, .12) 62%, rgba(7, 6, 36, .92) 100%),
		radial-gradient(ellipse 80% 60% at 50% 55%, rgba(7, 6, 36, .32), transparent 75%) !important;
	z-index: 0;
}
body.qod-keep-photos #page-container .et_pb_fullwidth_header.qod-has-photo:not(.qod-keep) .header-content :is(h1, h2, .et_pb_module_header, .et_pb_fullwidth_header_subhead) {
	text-shadow: 0 2px 24px rgba(7, 6, 36, .85), 0 0 2px rgba(7, 6, 36, .6) !important;
}
#page-container .et_pb_fullwidth_header .et_pb_fullwidth_header_container { position: relative; z-index: 1; }
#page-container .et_pb_fullwidth_header:not(.qod-keep) .header-content { max-width: 760px; }
#page-container .et_pb_fullwidth_header.et_pb_text_align_center:not(.qod-keep) .header-content { margin: 0 auto; }
#page-container .et_pb_fullwidth_header:not(.qod-keep) .header-content h1,
#page-container .et_pb_fullwidth_header:not(.qod-keep) .header-content h2,
#page-container .et_pb_fullwidth_header:not(.qod-keep) .header-content .et_pb_module_header {
	font-family: var(--qod-serif) !important;
	font-size: clamp(2.6rem, 5.2vw, 4.4rem) !important;
	font-weight: 500 !important;
	line-height: 1.06 !important;
	color: var(--qod-heading) !important;
	margin-bottom: 18px;
}
/* The home page's full-screen hero keeps a script headline, like the logo */
#page-container .et_pb_fullwidth_header.et_pb_fullscreen:not(.qod-keep) .header-content .et_pb_module_header,
#page-container .et_pb_fullwidth_header.et_pb_fullscreen:not(.qod-keep) .header-content h1 {
	font-family: var(--qod-script) !important;
	font-size: clamp(3rem, 6.4vw, 5.6rem) !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	text-shadow: 0 0 40px rgba(184, 212, 240, .25) !important;
}
#page-container .et_pb_fullwidth_header:not(.qod-keep) .et_pb_fullwidth_header_subhead {
	font-family: var(--qod-serif) !important;
	font-style: italic;
	font-size: clamp(1.3rem, 2.2vw, 1.65rem) !important;
	font-weight: 400 !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	color: var(--qod-periwinkle) !important;
	line-height: 1.45 !important;
	margin: 0 auto 14px;
	max-width: 40rem;
}
#page-container .et_pb_fullwidth_header:not(.qod-keep) .et_pb_header_content_wrapper,
#page-container .et_pb_fullwidth_header:not(.qod-keep) .et_pb_header_content_wrapper p {
	font-size: 1.15rem !important;
	color: var(--qod-text) !important;
	max-width: 36rem;
}
#page-container .et_pb_fullwidth_header.et_pb_text_align_center:not(.qod-keep) .et_pb_header_content_wrapper,
#page-container .et_pb_fullwidth_header.et_pb_text_align_center:not(.qod-keep) .et_pb_header_content_wrapper p { margin-left: auto; margin-right: auto; }
#page-container .et_pb_fullwidth_header .et_pb_fullwidth_header_scroll a .et-pb-icon { color: var(--qod-periwinkle) !important; }
@media (max-width: 980px) {
	#page-container .et_pb_fullwidth_header:not(.qod-keep) { padding: 72px 0 64px !important; }
}

/* ---------- Buttons ---------- */
html body #page-container :where(.et_pb_button, a.button, button.button, input.button, .button, .wp-block-button__link, .et_pb_contact_submit, .et_pb_newsletter_button, .et_pb_promo_button, input[type=submit], button[type=submit], .qod-btn, .woocommerce-button, .checkout-button, #place_order, .added_to_cart):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *, .mejs-button, .mejs-button *, .et_pb_toggle_title, .show-password-input, .et_pb_contact_captcha_question)),
html body #page-container .et_pb_section .et_pb_button,
html body.woocommerce #page-container .button,
html body.woocommerce-page #page-container .button {
	display: inline-block;
	min-height: 48px;
	box-sizing: border-box;
	padding: 12px 28px !important;
	border-radius: 999px !important;
	border: 1px solid transparent !important;
	background: var(--qod-btn-bg) !important;
	color: var(--qod-night) !important;
	font-family: var(--qod-sans) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: 0 0 24px rgba(180, 167, 245, .22) !important;
	cursor: pointer;
	transition: background .25s ease, box-shadow .25s ease, transform .25s ease, color .25s ease !important;
}
html body #page-container :where(.et_pb_button, a.button, button.button, input.button, .button, .wp-block-button__link, .et_pb_contact_submit, .et_pb_newsletter_button, .et_pb_promo_button, input[type=submit], button[type=submit], .qod-btn, .woocommerce-button, .checkout-button, #place_order, .added_to_cart):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *, .mejs-button, .mejs-button *, .et_pb_toggle_title, .show-password-input, .et_pb_contact_captcha_question)):hover,
html body #page-container .et_pb_section .et_pb_button:hover,
html body.woocommerce #page-container .button:hover,
html body.woocommerce-page #page-container .button:hover {
	background: var(--qod-btn-bg-hover) !important;
	color: var(--qod-night) !important;
	border-color: transparent !important;
	padding: 12px 28px !important;
	box-shadow: 0 0 34px rgba(180, 167, 245, .4) !important;
	transform: translateY(-1px);
}
/* Divi's sliding arrow icons are switched off for a calmer look */
html body #page-container .et_pb_button:after,
html body #page-container .et_pb_button:before,
html body #page-container .button:after,
html body #page-container .button:before { display: none !important; }
/* Ghost (outline) buttons: the second button in a hero, or add class qod-ghost */
html body #page-container .et_pb_section .et_pb_button.qod-ghost,
html body #page-container .et_pb_fullwidth_header .et_pb_more_button + .et_pb_more_button,
html body #page-container .et_pb_fullwidth_header .et_pb_button_two,
html body #page-container .qod-ghost .et_pb_button,
html body #page-container a.qod-btn--ghost {
	background: transparent !important;
	border-color: var(--qod-line-strong) !important;
	color: var(--qod-heading) !important;
	box-shadow: none !important;
}
html body #page-container .et_pb_section .et_pb_button.qod-ghost:hover,
html body #page-container .et_pb_fullwidth_header .et_pb_button_two:hover,
html body #page-container .qod-ghost .et_pb_button:hover,
html body #page-container a.qod-btn--ghost:hover {
	background: rgba(184, 212, 240, .08) !important;
	border-color: var(--qod-periwinkle) !important;
	color: var(--qod-heading) !important;
}
html body #page-container .et_pb_button_module_wrapper { margin-top: 8px; margin-bottom: 8px; }

/* ---------- Cards: blurbs, bordered text boxes, call to action, team ---------- */
#page-container :where(.et_pb_blurb, .et_pb_text.et_pb_with_border, .et_pb_promo, .et_pb_cta, .et_pb_team_member, .et_pb_pricing_table, .et_pb_number_counter, .et_pb_circle_counter):not(.qod-keep):not(.qod-paper) {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius) !important;
	padding: 32px 30px !important;
	box-shadow: var(--qod-glow) !important;
	transition: border-color .25s ease, transform .25s ease;
}
#page-container .et_pb_blurb:not(.qod-keep):hover,
#page-container .et_pb_text.et_pb_with_border:not(.qod-keep):hover { border-color: var(--qod-line-strong) !important; }
#page-container .et_pb_blurb:not(.qod-keep) .et_pb_main_blurb_image { margin-bottom: 20px; }
#page-container .et_pb_blurb:not(.qod-keep) .et_pb_main_blurb_image img { border-radius: 12px; }
#page-container .et_pb_blurb:not(.qod-keep) .et-pb-icon { color: var(--qod-lavender) !important; }
#page-container .et_pb_blurb:not(.qod-keep) .et_pb_module_header,
#page-container .et_pb_blurb:not(.qod-keep) .et_pb_module_header a { font-size: 1.65rem !important; font-weight: 600 !important; }
#page-container .et_pb_promo:not(.qod-keep),
#page-container .et_pb_cta:not(.qod-keep) {
	border-color: var(--qod-line-strong) !important;
	background:
		radial-gradient(ellipse 80% 120% at 100% 0%, rgba(180, 167, 245, .14), transparent 60%),
		var(--qod-card) !important;
}
/* Equal-height cards in a row */
#page-container .et_pb_row:not(.qod-keep):has(> .et_pb_column > .et_pb_blurb) { display: flex; flex-wrap: wrap; }
#page-container .et_pb_row:not(.qod-keep):has(> .et_pb_column > .et_pb_blurb) > .et_pb_column { display: flex; flex-direction: column; }
#page-container .et_pb_row:not(.qod-keep):has(> .et_pb_column > .et_pb_blurb) > .et_pb_column > .et_pb_blurb { flex: 1 1 auto; }
@media (max-width: 980px) {
	#page-container .et_pb_row:not(.qod-keep):has(> .et_pb_column > .et_pb_blurb) { display: block; }
}

/* ---------- Images ---------- */
#page-container .et_pb_image:not(.qod-keep) .et_pb_image_wrap,
#page-container .et_pb_image:not(.qod-keep) img { border-radius: var(--qod-radius); }
#page-container .et_pb_image:not(.qod-keep) .et_pb_image_wrap { box-shadow: var(--qod-glow); overflow: hidden; }
#et-main-area :where(.entry-content, .et_pb_text) img { border-radius: 12px; }

/* ---------- Divider: a hairline with a star ---------- */
#page-container .et_pb_divider:not(.qod-keep):before {
	border-top: 1px solid var(--qod-line-strong) !important;
	width: 100%;
}
#page-container .et_pb_divider:not(.qod-keep)::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 22px;
	height: 22px;
	transform: translate(-50%, -50%);
	background: var(--qod-night) url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-12 -12 24 24%22%3E%3Cpath fill=%22%23F3D98B%22 d=%22M0-12C1-4 4-1 12 0C4 1 1 4 0 12C-1 4-4 1-12 0C-4-1-1-4 0-12Z%22/%3E%3C/svg%3E") no-repeat center / 14px;
	box-shadow: 0 0 0 8px var(--qod-night);
	border-radius: 50%;
}
#page-container .et_pb_divider:not(.qod-keep) { overflow: visible; }

/* ---------- Testimonials ---------- */
#page-container .et_pb_testimonial:not(.qod-keep) {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: 20px !important;
	padding: 44px 44px 36px !important;
	box-shadow: var(--qod-glow) !important;
	position: relative;
}
#page-container .et_pb_testimonial:not(.qod-keep):before {
	/* Divi's quote badge, restyled */
	background: var(--qod-night) !important;
	color: var(--qod-lavender) !important;
	border: 1px solid var(--qod-line-strong);
	border-radius: 50%;
	top: -22px !important;
}
#page-container .et_pb_testimonial:not(.qod-keep) .et_pb_testimonial_content,
#page-container .et_pb_testimonial:not(.qod-keep) .et_pb_testimonial_content p {
	font-family: var(--qod-serif) !important;
	font-style: italic;
	font-size: 1.45rem !important;
	line-height: 1.5 !important;
	color: var(--qod-heading) !important;
}
#page-container .et_pb_testimonial:not(.qod-keep) .et_pb_testimonial_author {
	display: block;
	margin-top: 18px;
	font-family: var(--qod-script) !important;
	font-size: 1.9rem !important;
	font-weight: 400 !important;
	color: var(--qod-periwinkle) !important;
}
#page-container .et_pb_testimonial:not(.qod-keep) .et_pb_testimonial_meta,
#page-container .et_pb_testimonial:not(.qod-keep) .et_pb_testimonial_meta * { color: var(--qod-muted) !important; font-size: 15px !important; }

/* ---------- Blog and post lists ---------- */
#page-container :where(.et_pb_posts, .et_pb_blog_grid, .et_pb_blog_0, .et_pb_module) .et_pb_post:not(.qod-keep *),
body.blog #left-area article.et_pb_post,
body.archive #left-area article.et_pb_post,
body.search #left-area article.et_pb_post {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius) !important;
	padding: 30px !important;
	margin-bottom: 26px !important;
	box-shadow: var(--qod-glow);
	overflow: hidden;
}
#page-container .et_pb_post .entry-featured-image-url,
#page-container .et_pb_post .et_pb_image_container { margin: -30px -30px 22px !important; display: block; }
#page-container .et_pb_post .entry-featured-image-url img { border-radius: 0 !important; }
#et-main-area .et_pb_post .entry-title,
#et-main-area .et_pb_post .entry-title a {
	font-size: 1.75rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}
#et-main-area .post-meta,
#et-main-area .post-meta a,
#et-main-area .post-meta span {
	color: var(--qod-lavender) !important;
	font-family: var(--qod-sans) !important;
	font-size: 13px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
#et-main-area .et_pb_post .more-link,
#et-main-area .pagination a,
#et-main-area .wp-pagenavi a { color: var(--qod-periwinkle) !important; font-weight: 500; }

/* ---------- Single posts and plain pages ---------- */
body.single-post #main-content .container,
body.page-template-default:not(.et_pb_pagebuilder_layout) #main-content .container { padding-top: 64px; }
body.single-post #left-area,
body.page-template-default:not(.et_pb_pagebuilder_layout) #left-area { padding-bottom: 72px !important; }
body.single-post .entry-title,
body.page-template-default:not(.et_pb_pagebuilder_layout) .entry-title,
body.blog .entry-title, body.archive .page-title {
	font-size: clamp(2.3rem, 4.4vw, 3.4rem) !important;
	margin-bottom: 12px;
}
body.single-post #left-area .entry-content,
body.page-template-default:not(.et_pb_pagebuilder_layout) .entry-content { max-width: 760px; }
body.single-post #left-area .entry-content :where(p, li) { font-size: 18px !important; line-height: 1.8 !important; }
#et-main-area #comment-wrap,
#et-main-area #comment-wrap * { color: var(--qod-text); }
#et-main-area .comment-body { background: var(--qod-card); border: 1px solid var(--qod-line); border-radius: 14px; padding: 22px !important; }
#et-main-area .comment-reply-link { background: var(--qod-btn-bg) !important; color: var(--qod-night) !important; border-radius: 999px !important; padding: 6px 16px !important; }

/* Sidebar and widgets */
#et-main-area #sidebar { border: 0 !important; }
#et-main-area #sidebar .widget,
#et-main-area #sidebar .et_pb_widget {
	background: var(--qod-card);
	border: 1px solid var(--qod-line);
	border-radius: var(--qod-radius);
	padding: 24px;
	margin-bottom: 24px !important;
	width: 100%;
}
#et-main-area .widgettitle,
#et-main-area .widget-title,
#et-main-area :is(.widget, .et_pb_widget) h4 { font-size: 1.4rem !important; margin-bottom: 12px; }
#et-main-area :is(.widget, .et_pb_widget) li { border-bottom: 1px solid var(--qod-line); padding: 8px 0 !important; margin-bottom: 0 !important; }
#et-main-area :is(.widget, .et_pb_widget) li:last-child { border-bottom: 0; }
#et-main-area :is(.widget, .et_pb_widget) .star-rating { display: block; float: none; margin: 4px 0 6px; }
/* Divi Sidebar module placed on a page: reset odd margins so it sits inside its column */
#page-container .et_pb_widget_area:not(.qod-keep) {
	background-color: transparent !important;
	background-image: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
	text-align: left;
}
#page-container .et_pb_widget_area:not(.qod-keep) .et_pb_widget {
	background: var(--qod-card);
	border: 1px solid var(--qod-line);
	border-radius: var(--qod-radius);
	padding: 24px;
	margin-bottom: 24px !important;
	width: 100%;
	box-shadow: var(--qod-glow);
}
#page-container .et_pb_widget_area:not(.qod-keep) .et_pb_widget:last-child { margin-bottom: 0 !important; }

/* Cue audio playlists (MP3 samples) */
html body .cue-playlist,
html body .cue-playlist .cue-tracks,
html body .cue-skin-default.mejs-container { background: transparent !important; }
html body .cue-playlist .cue-tracks { border: 0 !important; box-shadow: none !important; }
html body .cue-playlist .cue-track { border-color: var(--qod-line) !important; color: var(--qod-text) !important; background: transparent !important; }
html body .cue-playlist .cue-track:hover,
html body .cue-playlist .cue-track.is-playing { background: rgba(180, 167, 245, .1) !important; }
html body .cue-playlist .cue-track * { color: inherit !important; }
html body .cue-playlist .cue-track.is-playing { color: var(--qod-heading) !important; }
html body .cue-playlist .cue-track-length { color: var(--qod-muted) !important; }
html body .cue-playlist .mejs-container,
html body .cue-playlist .cue-skin-default .mejs-controls { background: var(--qod-deep) !important; border-radius: 14px; }
html body .cue-playlist .cue-artwork img { border-radius: 12px; }
html body .cue-playlist .cue-title { color: var(--qod-heading) !important; font-family: var(--qod-serif) !important; }
html body .cue-playlist .cue-artist { color: var(--qod-lavender) !important; }

/* ---------- Forms (Divi contact form, comments, WooCommerce, search) ---------- */
#et-main-area :where(input[type=text], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=number], input[type=search], input[type=date], textarea, select, .input, .input-text, .et_pb_contact_captcha):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	background-color: rgba(7, 6, 36, .7) !important;
	border: 1px solid var(--qod-line-strong) !important;
	border-radius: 10px !important;
	color: var(--qod-heading) !important;
	font-family: var(--qod-sans) !important;
	font-size: 16px !important;
	padding: 14px 16px !important;
	box-shadow: none !important;
}
#et-main-area :where(input, textarea, .input)::placeholder { color: var(--qod-muted) !important; opacity: 1; }
#et-main-area :where(input, textarea, select, .input):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)):focus { border-color: var(--qod-periwinkle) !important; background-color: rgba(7, 6, 36, .9) !important; }
#et-main-area :where(select) option { background: var(--qod-deep); color: var(--qod-heading); }
#et-main-area .et_pb_contact_captcha { width: 70px !important; text-align: center; padding: 12px 8px !important; }
#et-main-area .et_pb_contact_right p { color: var(--qod-text) !important; }
#et-main-area .et_pb_contact_main_title { margin-bottom: 18px; }
#et-main-area .et-pb-contact-message,
#et-main-area .et-pb-contact-message p { color: var(--qod-heading) !important; font-size: 17px !important; }
#et-main-area .et_pb_contact_form_container:not(.qod-keep) {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: 20px;
	padding: 36px 34px 30px !important;
	box-shadow: var(--qod-glow);
}
#et-main-area .et_pb_contact_form_container .et_contact_bottom_container { margin-top: 6px; }
#et-main-area input[type=checkbox], #et-main-area input[type=radio] { accent-color: var(--qod-lavender); }

/* ---------- Toggles, accordions and tabs ---------- */
#page-container .et_pb_toggle:not(.qod-keep) {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: 14px !important;
	padding: 20px 24px !important;
	margin-bottom: 12px !important;
}
#page-container .et_pb_toggle:not(.qod-keep) .et_pb_toggle_title {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	padding-right: 40px;
}
#page-container .et_pb_toggle:not(.qod-keep) .et_pb_toggle_title:before { color: var(--qod-lavender) !important; right: 0; }
#page-container .et_pb_tabs:not(.qod-keep) {
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius);
	overflow: hidden;
	background: var(--qod-card) !important;
}
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_tabs_controls { background: var(--qod-deep) !important; border-bottom: 1px solid var(--qod-line); }
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_tabs_controls li { background: transparent !important; border-right: 1px solid var(--qod-line) !important; }
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_tabs_controls li a { color: var(--qod-text) !important; font-family: var(--qod-sans); }
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_tabs_controls li.et_pb_tab_active { background: var(--qod-card-solid) !important; }
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_tabs_controls li.et_pb_tab_active a { color: var(--qod-periwinkle) !important; }
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_all_tabs { background: transparent !important; }

/* ---------- Audio module (free MP3s, samples) ---------- */
#page-container .et_pb_audio_module:not(.qod-keep) {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line-strong) !important;
	border-radius: 20px !important;
	box-shadow: var(--qod-glow);
	overflow: hidden;
}
#page-container .et_pb_audio_module:not(.qod-keep) .et_pb_audio_cover_art { border-radius: 0; }
#page-container .et_pb_audio_module:not(.qod-keep) .et_pb_module_header { font-size: 1.7rem !important; }
#page-container .et_pb_audio_module:not(.qod-keep) .et_audio_module_meta,
#page-container .et_pb_audio_module:not(.qod-keep) .et_audio_module_meta * { color: var(--qod-lavender) !important; }
html body .mejs-container,
html body .mejs-container .mejs-controls,
html body .mejs-embed,
html body .mejs-embed body { background: transparent !important; }
html body .et_pb_audio_module .mejs-controls,
html body .wp-audio-shortcode.mejs-container,
html body .wp-audio-shortcode .mejs-controls { background: rgba(7, 6, 36, .65) !important; border-radius: 999px; }
html body .mejs-controls .mejs-time-rail .mejs-time-total { background: var(--qod-line-strong) !important; }
html body .mejs-controls .mejs-time-rail .mejs-time-loaded { background: rgba(184, 212, 240, .25) !important; }
html body .mejs-controls .mejs-time-rail .mejs-time-current,
html body .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current { background: var(--qod-btn-bg) !important; }
html body .mejs-controls .mejs-button button { filter: brightness(1.4); }
html body .mejs-controls .mejs-time { color: var(--qod-text) !important; }

/* ---------- WooCommerce ---------- */
#et-main-area .woocommerce ul.products li.product,
.woocommerce-page #et-main-area ul.products li.product {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius) !important;
	padding: 0 0 22px !important;
	overflow: hidden;
	box-shadow: var(--qod-glow);
	text-align: center;
	transition: border-color .25s ease, transform .25s ease;
}
#et-main-area ul.products li.product:hover { border-color: var(--qod-line-strong) !important; transform: translateY(-2px); }
#et-main-area ul.products li.product a img { margin: 0 0 16px !important; border-radius: 0 !important; box-shadow: none !important; }
#et-main-area ul.products li.product .et_shop_image { margin-bottom: 16px; display: block; }
#et-main-area ul.products li.product .woocommerce-loop-product__title,
#et-main-area ul.products li.product h2,
#et-main-area ul.products li.product h3 {
	font-size: 1.45rem !important;
	font-weight: 600 !important;
	padding: 0 18px 6px !important;
	line-height: 1.2 !important;
}
#et-main-area ul.products li.product .button { margin-top: 14px !important; }
#et-main-area .et_overlay { background: rgba(7, 6, 36, .55) !important; border-color: transparent !important; }
#et-main-area .et_overlay:before { color: var(--qod-periwinkle) !important; }
#et-main-area .price,
#et-main-area .price *,
#et-main-area .amount,
#et-main-area .woocommerce-Price-amount {
	color: var(--qod-periwinkle) !important;
	font-family: var(--qod-sans) !important;
	font-weight: 500 !important;
}
#et-main-area .price del,
#et-main-area .price del * { color: var(--qod-muted) !important; opacity: .8; }
#et-main-area .price ins { text-decoration: none; }
#et-main-area span.onsale,
html body .woocommerce span.onsale {
	background: var(--qod-btn-bg) !important;
	color: var(--qod-night) !important;
	border-radius: 999px !important;
	padding: 6px 14px !important;
	font-family: var(--qod-sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	min-height: 0 !important;
	min-width: 0 !important;
}
#et-main-area .star-rating span:before,
#et-main-area .star-rating:before,
#et-main-area p.stars a { color: var(--qod-star) !important; }
#et-main-area .woocommerce-result-count { color: var(--qod-muted) !important; }
/* Single product */
#et-main-area .product_title { font-size: clamp(2.2rem, 4vw, 3.2rem) !important; }
#et-main-area div.product p.price,
#et-main-area div.product span.price { font-size: 1.5rem !important; }
#et-main-area div.product .woocommerce-product-gallery img { border-radius: var(--qod-radius); }
#et-main-area .woocommerce-tabs ul.tabs { padding: 0 !important; background: transparent !important; border-bottom: 1px solid var(--qod-line) !important; }
#et-main-area .woocommerce-tabs ul.tabs:before { display: none; }
#et-main-area .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: 1px solid var(--qod-line) !important;
	border-bottom: 0 !important;
	border-radius: 12px 12px 0 0 !important;
	margin-right: 6px !important;
}
#et-main-area .woocommerce-tabs ul.tabs li:before,
#et-main-area .woocommerce-tabs ul.tabs li:after { display: none !important; }
#et-main-area .woocommerce-tabs ul.tabs li a { color: var(--qod-text) !important; font-family: var(--qod-sans) !important; padding: 10px 18px !important; }
#et-main-area .woocommerce-tabs ul.tabs li.active { background: var(--qod-card-solid) !important; }
#et-main-area .woocommerce-tabs ul.tabs li.active a { color: var(--qod-periwinkle) !important; }
#et-main-area .woocommerce-tabs .panel {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-top: 0 !important;
	border-radius: 0 0 var(--qod-radius) var(--qod-radius);
	padding: 28px !important;
	margin: 0 !important;
}
#et-main-area .product_meta,
#et-main-area .product_meta * { color: var(--qod-muted) !important; font-size: 14px; }
#et-main-area .quantity .qty { width: 80px !important; text-align: center; }
/* Cart, checkout, account */
#et-main-area table.shop_table,
#et-main-area .cart_totals table,
#et-main-area .woocommerce-checkout-review-order-table {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius) !important;
	border-collapse: separate !important;
	overflow: hidden;
}
#et-main-area table.shop_table th,
#et-main-area table.shop_table td { border-color: var(--qod-line) !important; background: transparent !important; }
#et-main-area table.shop_table th { color: var(--qod-heading) !important; font-weight: 500; }
#et-main-area table.shop_table img { border-radius: 8px; }
#et-main-area .cart_totals h2,
#et-main-area #order_review_heading,
#et-main-area .woocommerce-billing-fields h3,
#et-main-area .woocommerce-additional-fields h3 { font-size: 1.8rem !important; }
#et-main-area #payment,
#et-main-area #add_payment_method #payment {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius) !important;
}
#et-main-area #payment ul.payment_methods { border-bottom: 1px solid var(--qod-line) !important; }
#et-main-area #payment div.payment_box { background: var(--qod-deep) !important; color: var(--qod-text) !important; border-radius: 10px; }
#et-main-area #payment div.payment_box:before { border-bottom-color: var(--qod-deep) !important; }
#et-main-area .woocommerce-message,
#et-main-area .woocommerce-info,
#et-main-area .woocommerce-error,
#et-main-area .woocommerce-noreviews,
#et-main-area p.no-comments,
html body .woocommerce-store-notice {
	background: var(--qod-card-solid) !important;
	color: var(--qod-heading) !important;
	border: 1px solid var(--qod-line-strong) !important;
	border-left: 3px solid var(--qod-lavender) !important;
	border-radius: 12px !important;
	font-size: 16px !important;
	box-shadow: none !important;
}
#et-main-area .woocommerce-error { border-left-color: #F2A2B8 !important; }
#et-main-area .woocommerce-message:before,
#et-main-area .woocommerce-info:before { color: var(--qod-lavender) !important; }
#et-main-area .woocommerce-MyAccount-navigation ul { padding: 0 !important; list-style: none !important; }
#et-main-area .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--qod-line);
	padding: 0 !important;
}
#et-main-area .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 4px; text-decoration: none; }
#et-main-area .woocommerce-MyAccount-navigation li.is-active a { color: var(--qod-heading) !important; font-weight: 500; }
html body .select2-container--default .select2-selection--single {
	background: rgba(7, 6, 36, .7) !important;
	border: 1px solid var(--qod-line-strong) !important;
	border-radius: 10px !important;
	height: 50px !important;
}
html body .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--qod-heading) !important; line-height: 48px !important; padding-left: 16px !important; }
html body .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px !important; }
html body .select2-dropdown { background: var(--qod-deep) !important; border-color: var(--qod-line-strong) !important; color: var(--qod-heading) !important; }
html body .select2-container--default .select2-results__option--highlighted[aria-selected],
html body .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--qod-swirl) !important; color: #fff !important; }
html body .select2-search--dropdown .select2-search__field { background: var(--qod-night) !important; color: var(--qod-heading) !important; border-color: var(--qod-line-strong) !important; }

/* ---------- Footer ---------- */
html body #main-footer {
	background: rgba(7, 6, 36, .82) !important;
	border-top: 1px solid var(--qod-line) !important;
	position: relative;
}
html body #main-footer::before {
	/* a small star at the centre of the footer rule */
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 22px;
	height: 22px;
	transform: translate(-50%, -50%);
	background: var(--qod-night) url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-12 -12 24 24%22%3E%3Cpath fill=%22%23F3D98B%22 d=%22M0-12C1-4 4-1 12 0C4 1 1 4 0 12C-1 4-4 1-12 0C-4-1-1-4 0-12Z%22/%3E%3C/svg%3E") no-repeat center / 14px;
	border-radius: 50%;
	box-shadow: 0 0 0 6px var(--qod-night);
}
html body #footer-widgets .footer-widget,
html body #footer-widgets .footer-widget * { color: var(--qod-text); }
html body #footer-widgets .footer-widget a { color: var(--qod-periwinkle) !important; }
html body #footer-widgets .footer-widget .title,
html body #footer-widgets .footer-widget h4 { color: var(--qod-heading) !important; font-family: var(--qod-serif) !important; font-size: 1.4rem; }
html body #footer-widgets .footer-widget li:before { border-color: var(--qod-lavender) !important; }
html body #footer-bottom {
	background: transparent !important;
	padding: 34px 0 40px;
}
html body #footer-bottom .container { width: calc(100% - 48px); max-width: 1120px; }
html body #footer-info,
html body #footer-info a { color: var(--qod-muted) !important; font-family: var(--qod-sans); font-size: 14px; }
html body #footer-info a:hover { color: var(--qod-periwinkle) !important; }
html body #footer-bottom .et-social-icon a {
	color: var(--qod-periwinkle) !important;
	opacity: 1 !important;
	font-size: 22px;
	transition: color .2s ease;
}
html body #footer-bottom .et-social-icon a:hover { color: var(--qod-heading) !important; }
html body #et-footer-nav { background: transparent !important; border-bottom: 1px solid var(--qod-line); }
html body #et-footer-nav .bottom-nav a { color: var(--qod-text) !important; opacity: 1 !important; font-size: 14px; }
html body #et-footer-nav .bottom-nav a:hover { color: var(--qod-periwinkle) !important; }
html body .qod-footer-note {
	display: block;
	text-align: center;
	color: var(--qod-muted);
	font-size: 13px;
	letter-spacing: .32em;
	text-transform: uppercase;
	padding: 18px 0 0;
}

/* ---------- Small extras ---------- */
html body .et_pb_scroll_top.et-pb-icon {
	background: var(--qod-btn-bg) !important;
	color: var(--qod-night) !important;
	border-radius: 999px 0 0 999px;
	box-shadow: 0 0 24px rgba(180, 167, 245, .35);
}
html body .et_pb_side_nav a { background-color: var(--qod-line-strong) !important; }
html body .et_pb_side_nav a.active { background-color: var(--qod-lavender) !important; }
/* Bloom opt-in buttons and fields in the brand colours (layout untouched) */
html body .et_bloom .et_bloom_form_container .et_bloom_submit_subscription {
	background: var(--qod-btn-bg) !important;
	border-radius: 999px !important;
}
html body .et_bloom .et_bloom_form_container .et_bloom_submit_subscription span { color: var(--qod-night) !important; font-family: var(--qod-sans) !important; }

/* ---------- Helper classes for new content (Divi: Advanced → CSS Class) ---------- */
/* Small capitals label above a heading: wrap text in <p class="qod-eyebrow"> */
#et-main-area .qod-eyebrow,
#et-main-area p.qod-eyebrow {
	font-family: var(--qod-sans) !important;
	font-size: 13px !important;
	letter-spacing: .32em !important;
	text-transform: uppercase;
	color: var(--qod-periwinkle) !important;
	margin-bottom: 12px !important;
}
#et-main-area .qod-script,
#et-main-area .qod-script * { font-family: var(--qod-script) !important; font-weight: 400 !important; letter-spacing: 0 !important; }
#et-main-area .qod-lead,
#et-main-area .qod-lead p { font-size: 1.2rem !important; color: var(--qod-heading) !important; }
#page-container .qod-card {
	background: var(--qod-card) !important;
	border: 1px solid var(--qod-line) !important;
	border-radius: var(--qod-radius) !important;
	padding: 32px 30px !important;
	box-shadow: var(--qod-glow) !important;
}
#page-container .et_pb_section.qod-band {
	background-color: rgba(13, 19, 59, .62) !important;
	border-top: 1px solid var(--qod-line) !important;
	border-bottom: 1px solid var(--qod-line) !important;
}
#page-container .et_pb_row.qod-narrow { max-width: 720px !important; }
/* Light panel for embeds that need a white page */
#page-container .qod-paper {
	background: #F5F6FF !important;
	color: #1B1F45 !important;
	border-radius: var(--qod-radius) !important;
	padding: 28px !important;
}
#page-container .qod-paper :is(h1, h2, h3, h4, p, li, span, label) { color: #1B1F45 !important; }

/* ---------- Accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
	body::after { animation: none !important; }
	html body * { transition: none !important; }
}

/* ==========================================================================
   Purple and gold accents
   Purple from the logo's swirl; gold from its one warm star.
   ========================================================================== */
:root {
	--qod-purple: #8B6FE8;
	--qod-purple-deep: #3B2A86;
	--qod-gold: #F3D98B;
	--qod-gold-soft: #E9C77B;
	--qod-gold-light: #F8E8BC;
	--qod-card: rgba(16, 14, 52, .58);
	--qod-card-solid: #141146;
	--qod-btn-bg: linear-gradient(135deg, #D2C6FF 0%, #A68DF2 55%, #8B6FE8 100%);
	--qod-btn-bg-hover: linear-gradient(135deg, #E2D9FF 0%, #B9A4F7 55%, #9D84EE 100%);
	--qod-glow: 0 0 0 1px rgba(184, 212, 240, .05), inset 0 1px 0 rgba(243, 217, 139, .32), 0 18px 50px rgba(0, 0, 0, .35);
}
::selection { background: var(--qod-purple); color: #fff; }

/* Header */
html body #main-header,
html body #main-header.et-fixed-header { border-bottom: 1px solid rgba(139, 111, 232, .4) !important; }
html body #top-menu li a:hover,
html body #top-menu li.current-menu-item > a,
html body #top-menu li.current_page_item > a,
html body #top-menu li.current-menu-ancestor > a,
html body .et-fixed-header #top-menu li.current-menu-item > a { color: var(--qod-gold) !important; }
html body #top-menu .menu-item-has-children > a:first-child:after { color: var(--qod-gold-soft) !important; }
html body #top-menu li ul.sub-menu,
html body .nav li ul,
html body .et_mobile_menu { border-top-color: var(--qod-gold-soft) !important; background: #110E46 !important; }
html body #top-menu li ul.sub-menu li a:hover,
html body .et_mobile_menu li a:hover { background: rgba(139, 111, 232, .18) !important; color: var(--qod-gold-light) !important; }
html body .mobile_menu_bar:before,
html body .mobile_menu_bar:after,
html body .et-cart-info span:before { color: var(--qod-gold) !important; }

/* Text */
#et-main-area :where(strong, b):where(:not(a *, button *, .et_pb_button *, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { color: var(--qod-gold-light) !important; }
#et-main-area :where(a):where(:not(.et_pb_button, .button, .wp-block-button__link, .qod-btn, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) {
	color: #C3B2FF !important;
	text-decoration-color: rgba(195, 178, 255, .5) !important;
}
#et-main-area :where(a):where(:not(.et_pb_button, .button, .wp-block-button__link, .qod-btn, .et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)):hover { color: var(--qod-gold) !important; text-decoration-color: var(--qod-gold) !important; }
#et-main-area :where(h1, h2, h3, h4, h5, h6) a:hover { color: var(--qod-gold) !important; }
#et-main-area :where(blockquote):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) { border-left-color: var(--qod-gold-soft) !important; }
#et-main-area :where(.et_pb_text, .entry-content) :where(ul):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) > li::marker { color: var(--qod-gold); }
#et-main-area :where(ol):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)) > li::marker { color: var(--qod-gold-soft); font-family: var(--qod-serif); }
#et-main-area .qod-eyebrow,
#et-main-area p.qod-eyebrow { color: var(--qod-gold) !important; }
html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible { outline-color: var(--qod-gold) !important; }

/* Hero subtitle in gold */
#page-container .et_pb_fullwidth_header:not(.qod-keep) .et_pb_fullwidth_header_subhead { color: var(--qod-gold-light) !important; }
#page-container .et_pb_fullwidth_header .et_pb_fullwidth_header_scroll a .et-pb-icon { color: var(--qod-gold) !important; }

/* Bands: a purple wash between gold hairlines */
#page-container .et_pb_section.et_pb_with_background:not(.qod-keep):not(.et_pb_fullwidth_section):not(.qod-paper),
#page-container .et_pb_section.qod-band {
	background-color: transparent !important;
	background-image: linear-gradient(180deg, rgba(59, 42, 134, .35), rgba(43, 28, 110, .5) 50%, rgba(59, 42, 134, .35)) !important;
	border-top: 1px solid rgba(243, 217, 139, .28) !important;
	border-bottom: 1px solid rgba(243, 217, 139, .28) !important;
}

/* Buttons: purple with a gold edge on hover */
html body #page-container .et_pb_section .et_pb_button,
html body.woocommerce #page-container .button,
html body.woocommerce-page #page-container .button { box-shadow: 0 0 26px rgba(139, 111, 232, .35) !important; }
html body #page-container .et_pb_section .et_pb_button:hover,
html body.woocommerce #page-container .button:hover,
html body.woocommerce-page #page-container .button:hover {
	border-color: rgba(243, 217, 139, .8) !important;
	box-shadow: 0 0 34px rgba(139, 111, 232, .5), 0 0 0 1px rgba(243, 217, 139, .5) !important;
}
html body #page-container .et_pb_section .et_pb_button.qod-ghost,
html body #page-container .et_pb_fullwidth_header .et_pb_button_two,
html body #page-container .qod-ghost .et_pb_button,
html body #page-container a.qod-btn--ghost {
	border-color: rgba(243, 217, 139, .7) !important;
	color: var(--qod-gold-light) !important;
}
html body #page-container .et_pb_section .et_pb_button.qod-ghost:hover,
html body #page-container .et_pb_fullwidth_header .et_pb_button_two:hover,
html body #page-container .qod-ghost .et_pb_button:hover,
html body #page-container a.qod-btn--ghost:hover {
	background: var(--qod-gold) !important;
	border-color: var(--qod-gold) !important;
	color: var(--qod-night) !important;
}

/* Cards: purple hover edge, gold icons */
#page-container :where(.et_pb_blurb, .et_pb_text.et_pb_with_border, .et_pb_promo, .et_pb_cta, .et_pb_testimonial, .et_pb_audio_module, .et_pb_contact_form_container):not(.qod-keep):hover { border-color: rgba(139, 111, 232, .7) !important; }
#page-container .et_pb_blurb:not(.qod-keep) .et-pb-icon { color: var(--qod-gold) !important; }
#page-container .et_pb_blurb:not(.qod-keep) .et_pb_main_blurb_image img { box-shadow: 0 0 0 1px rgba(243, 217, 139, .45), 0 0 28px rgba(139, 111, 232, .35); }
#page-container .et_pb_promo:not(.qod-keep),
#page-container .et_pb_cta:not(.qod-keep) {
	border-color: rgba(243, 217, 139, .4) !important;
	background:
		radial-gradient(ellipse 80% 120% at 100% 0%, rgba(139, 111, 232, .28), transparent 60%),
		var(--qod-card) !important;
}

/* Testimonials: gold signature, purple badge */
#page-container .et_pb_testimonial:not(.qod-keep) .et_pb_testimonial_author { color: var(--qod-gold) !important; }
#page-container .et_pb_testimonial:not(.qod-keep):before {
	background: var(--qod-purple-deep) !important;
	color: var(--qod-gold) !important;
	border-color: rgba(243, 217, 139, .5) !important;
}

/* Blog meta, prices, badges */
#et-main-area .post-meta,
#et-main-area .post-meta a,
#et-main-area .post-meta span { color: #C3B2FF !important; }
#et-main-area .price,
#et-main-area .price *,
#et-main-area .amount,
#et-main-area .woocommerce-Price-amount { color: var(--qod-gold) !important; }
#et-main-area span.onsale,
html body .woocommerce span.onsale { background: var(--qod-gold) !important; color: var(--qod-night) !important; }
#et-main-area .woocommerce-tabs ul.tabs li.active a,
#page-container .et_pb_tabs:not(.qod-keep) .et_pb_tabs_controls li.et_pb_tab_active a { color: var(--qod-gold) !important; }
#et-main-area .woocommerce-message,
#et-main-area .woocommerce-info { border-left-color: var(--qod-gold) !important; }

/* Forms and players */
#et-main-area :where(input, textarea, select, .input):where(:not(.et_pb_code *, .qod-keep, .qod-keep *, .qod-paper, .qod-paper *, [class*="qwh"], [class*="qwh"] *, [class*="qml"], [class*="qml"] *, [class*="manor"], [class*="manor"] *, [class*="witching"], [class*="witching"] *, .rh-widget *)):focus { border-color: var(--qod-purple) !important; box-shadow: 0 0 0 3px rgba(139, 111, 232, .25) !important; }
#et-main-area input[type=checkbox], #et-main-area input[type=radio] { accent-color: var(--qod-purple); }
#page-container .et_pb_toggle:not(.qod-keep) .et_pb_toggle_title:before { color: var(--qod-gold) !important; }
html body .mejs-controls .mejs-time-rail .mejs-time-current,
html body .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current { background: linear-gradient(90deg, var(--qod-purple), var(--qod-gold)) !important; }

/* Divider, footer, scroll-to-top */
#page-container .et_pb_divider:not(.qod-keep):before { border-top-color: rgba(243, 217, 139, .35) !important; }
html body #main-footer { border-top-color: rgba(139, 111, 232, .4) !important; }
html body #footer-bottom .et-social-icon a { color: var(--qod-gold) !important; }
html body #footer-bottom .et-social-icon a:hover { color: var(--qod-gold-light) !important; }
html body #footer-info a:hover { color: var(--qod-gold) !important; }
html body .et_pb_scroll_top.et-pb-icon {
	background: linear-gradient(135deg, var(--qod-gold-light), var(--qod-gold-soft)) !important;
	box-shadow: 0 0 24px rgba(243, 217, 139, .35);
}

/* Frosted-glass cards over the night sky */
#page-container :where(.et_pb_blurb, .et_pb_text.et_pb_with_border, .et_pb_promo, .et_pb_cta, .et_pb_testimonial, .et_pb_audio_module, .et_pb_contact_form_container, .et_pb_widget, .qod-card),
#et-main-area :where(.et_pb_post, ul.products li.product, #sidebar .widget) {
	-webkit-backdrop-filter: blur(8px) saturate(115%);
	backdrop-filter: blur(8px) saturate(115%);
}

/* ==========================================================================
   1.3.0: basket icon, footer columns, cookie banner, coffee button
   ========================================================================== */
/* The shop is closed: hide the basket icon in the header (Customiser option) */
body.qod-hide-cart .et-cart-info,
body.qod-hide-cart #et-top-navigation .et-cart-info { display: none !important; }

/* Footer widget columns */
html body #footer-widgets { padding: 64px 0 24px; }
html body #footer-widgets .container { width: calc(100% - 48px); max-width: 1120px; }
html body #footer-widgets .footer-widget .title,
html body #footer-widgets .footer-widget h4 {
	font-size: 1.35rem !important;
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid rgba(243, 217, 139, .25);
}
html body #footer-widgets .footer-widget p { font-size: 15px; line-height: 1.7; }
html body #footer-widgets .footer-widget small { color: var(--qod-muted); font-size: 13px; }
html body #footer-widgets .footer-widget ul { padding: 0 !important; }
html body #footer-widgets .footer-widget li { padding: 4px 0 !important; list-style: none; }
html body #footer-widgets .footer-widget li:before { display: none !important; }
html body #footer-widgets .footer-widget a { text-decoration: none !important; }
html body #footer-widgets .footer-widget a:hover { color: var(--qod-gold) !important; }

/* SlimStat cookie banner: a small card in the night style */
html body #slimstat-gdpr-banner,
html body .slimstat-gdpr-banner {
	left: 16px !important;
	right: auto !important;
	bottom: 16px !important;
	max-width: 420px !important;
	width: calc(100% - 32px) !important;
	background: rgba(17, 14, 70, .96) !important;
	color: var(--qod-text) !important;
	border: 1px solid rgba(243, 217, 139, .35) !important;
	border-radius: 16px !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .5) !important;
	padding: 16px 18px !important;
	font-family: var(--qod-sans) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
html body .slimstat-gdpr-banner * { color: inherit !important; font-family: var(--qod-sans) !important; font-size: 14px !important; }
html body .slimstat-gdpr-banner .slimstat-gdpr-content { display: block !important; max-width: none !important; padding: 0 !important; }
html body .slimstat-gdpr-banner p { margin: 0 0 10px !important; padding: 0 !important; }
html body .slimstat-gdpr-banner a,
html body .slimstat-gdpr-banner button {
	border-radius: 999px !important;
	padding: 7px 16px !important;
	margin: 4px 6px 0 0 !important;
	border: 1px solid rgba(243, 217, 139, .6) !important;
	background: transparent !important;
	color: var(--qod-gold-light) !important;
	text-decoration: none !important;
	cursor: pointer;
	display: inline-block;
}
html body .slimstat-gdpr-banner a:last-child,
html body .slimstat-gdpr-banner button:last-child {
	background: var(--qod-btn-bg) !important;
	border-color: transparent !important;
	color: var(--qod-night) !important;
}

/* Buy Me a Coffee: a smaller, quieter button that keeps clear of content */
html body #bmc-wbtn {
	width: 52px !important;
	height: 52px !important;
	right: 16px !important;
	bottom: 16px !important;
	background: linear-gradient(135deg, #A68DF2, #8B6FE8) !important;
	box-shadow: 0 0 22px rgba(139, 111, 232, .45) !important;
}
html body #bmc-wbtn img { width: 26px !important; height: 26px !important; }
html body #bmc-wbtn + div { border-radius: 14px !important; font-family: var(--qod-sans) !important; }
@media (max-width: 767px) {
	html body #bmc-wbtn { width: 44px !important; height: 44px !important; right: 12px !important; bottom: 12px !important; }
	html body #bmc-wbtn img { width: 22px !important; height: 22px !important; }
	html body #bmc-wbtn + div { display: none !important; } /* its pop-up message covers the page on phones */
	html body #slimstat-gdpr-banner,
	html body .slimstat-gdpr-banner { left: 12px !important; bottom: 12px !important; width: calc(100% - 76px) !important; padding: 12px 14px !important; }
}
