/* SBDA site: the Avada look, rebuilt for the IQEX theme. Values measured from the live Avada
   build (see docs/avada-to-iqex-plan.md). Breakpoints are Avada's on this site:
   medium <= 1024px, small <= 800px. Per-page layout lives in pages/<id>.css. */

/* Barlow Semi Condensed, self-hosted in the theme (styles/sbda.json declares the same files). */
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:400;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-400-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:400;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-400-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:500;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-500-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:500;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-500-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:700;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-700-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:700;font-display:swap;src:url("../../themes/iqex-theme/assets/fonts/barlow-semi-condensed-700-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

:root {
	--awb-sbda-font: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
	/* Avada global typography sets, referenced by converted content. */
	--awb-typography1: 500; --awb-typography1-font-family: var(--awb-sbda-font); --awb-typography1-font-size: 58px; --awb-typography1-line-height: 1.2; --awb-typography1-letter-spacing: 0px; --awb-typography1-text-transform: none;
	--awb-typography2: 500; --awb-typography2-font-family: var(--awb-sbda-font); --awb-typography2-font-size: 18px; --awb-typography2-line-height: 1.1; --awb-typography2-letter-spacing: 0px; --awb-typography2-text-transform: none;
	--awb-typography3: 500; --awb-typography3-font-family: var(--awb-sbda-font); --awb-typography3-font-size: 16px; --awb-typography3-line-height: 1.2; --awb-typography3-letter-spacing: 0px; --awb-typography3-text-transform: none;
	--awb-typography4: 400; --awb-typography4-font-family: var(--awb-sbda-font); --awb-typography4-font-size: 20px; --awb-typography4-line-height: 1.5; --awb-typography4-letter-spacing: 0px; --awb-typography4-text-transform: none;
	--awb-typography5: 400; --awb-typography5-font-family: var(--awb-sbda-font); --awb-typography5-font-size: 13px; --awb-typography5-line-height: 1.72; --awb-typography5-letter-spacing: 0px; --awb-typography5-text-transform: none;
	--awb-color1: #ffffff; --awb-color1-h: 0;   --awb-color1-s: 0%;     --awb-color1-l: 100%;   --awb-color1-a: 100%;
	--awb-color2: #d5d4d7; --awb-color2-h: 260; --awb-color2-s: 3.61%;  --awb-color2-l: 83.73%; --awb-color2-a: 100%;
	--awb-color3: #40b610; --awb-color3-h: 103; --awb-color3-s: 83.84%; --awb-color3-l: 38.82%; --awb-color3-a: 100%;
	--awb-color4: #40b610; --awb-color4-h: 103; --awb-color4-s: 83.84%; --awb-color4-l: 38.82%; --awb-color4-a: 100%;
	--awb-color5: #b235de; --awb-color5-h: 284; --awb-color5-s: 71.91%; --awb-color5-l: 53.92%; --awb-color5-a: 100%;
	--awb-color6: #98939f; --awb-color6-h: 265; --awb-color6-s: 5.88%;  --awb-color6-l: 60%;    --awb-color6-a: 100%;
	--awb-color7: #333333; --awb-color7-h: 0;   --awb-color7-s: 0%;     --awb-color7-l: 20%;    --awb-color7-a: 100%;
	--awb-color8: #060607; --awb-color8-h: 240; --awb-color8-s: 7.69%;  --awb-color8-l: 2.55%;  --awb-color8-a: 100%;
}

body, body button, body input, body select, body textarea, body .wp-element-button { font-family: var(--awb-sbda-font); }
body { background: var(--awb-color8); color: #7e7887; font-size: 20px; line-height: 1.5; }
:root :where(h1, h2, h3, h4, h5, h6) { font-family: var(--awb-sbda-font); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
:root :where(.sbda-main) :where(h1, h2, h3, h4, h5, h6) { color: var(--awb-color8); font-weight: 500; line-height: 1.2; margin: 0; }
:root :where(.sbda-main) :where(p) { margin: 0 0 20px; }
:root :where(.sbda-main) :where(a) { color: var(--awb-color8); }
:root :where(h1) { font-size: clamp(30px, calc(39.70px + 1.560vw), 58px); }

/* Page frame: Avada's 100%-width page with 30px side padding; containers pull back out. */
/* The theme forces main.wp-block-group { padding: 0 !important }, hence !important here. */
main.wp-block-group.sbda-main { padding: 0 30px !important; background: var(--awb-color8); margin: 0; }
/* No automatic block gap: Avada spacing comes from margins/padding only (WordPress would add 24px). */
.sbda-main :where(.is-layout-flow) > *, .sbda-header :where(.is-layout-flow) > *, .sbda-main :where(.wp-block-post-content) > * { margin-block-start: 0; margin-block-end: 0; }
.sbda-main > .wp-block-post-content > * { margin-top: 0; margin-bottom: 0; }

/* Containers, rows, columns */
.sbda-ct { position: relative; margin: 0 -30px; padding: 7%; box-sizing: border-box; }
.sbda-ct-full > .sbda-row { max-width: none; }
.sbda-row { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0 -2%; }
.sbda-ct > .sbda-row { margin-top: 0; margin-bottom: 0; }
.sbda-col { position: relative; display: flex; flex-direction: column; box-sizing: border-box; min-height: 1px; }
.sbda-colw { display: flex; flex-direction: column; flex: 1 1 auto; box-sizing: border-box; position: relative; }
.sbda-colw > * { margin-top: 0; margin-bottom: 0; }
.sbda-col-link { position: absolute; inset: 0; z-index: 2; }
.sbda-row:where(:has(> .sbda-col)) { align-items: stretch; }

/* Elements */
.sbda-title { color: var(--awb-color8); margin: 0 0 40px; line-height: 1.2; font-weight: 500; }
.sbda-text { color: #7e7887; font-size: 20px; line-height: 30px; }
.sbda-text p { margin: 0 0 20px; }

.sbda-text ul, .sbda-text ol { margin: 0 0 20px; padding-left: 40px; }
.sbda-sep { height: 0; }
.sbda-main .wp-block-image { margin: 0; line-height: 0; }
.sbda-main .wp-block-image img { max-width: 100%; height: auto; display: inline-block; }
.sbda-icon { line-height: 1; }
.sbda-icon i { display: inline-block; }

/* Buttons (Avada xlarge, 40px radius) */
.sbda-main .wp-block-buttons { display: flex; gap: 0; margin: 0; }
.sbda-btn .wp-block-button__link, .sbda-newsletter button, .sbda-newsletter input[type=submit] {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	background: var(--awb-color5); color: var(--awb-color1); border: 0; border-radius: 40px;
	font-family: inherit; font-weight: 500; text-decoration: none; text-transform: none;
	transition: background .2s, color .2s;
}
.sbda-btn-xlarge .wp-block-button__link { padding: 17px 40px; font-size: 18px; line-height: 21px; }
.sbda-btn-large .wp-block-button__link { padding: 13px 34px; font-size: 16px; line-height: 19px; }
.sbda-btn-medium .wp-block-button__link { padding: 11px 23px; font-size: 14px; line-height: 17px; }
.sbda-btn .wp-block-button__link i { font-size: 1em; }

/* Content boxes (icon with title) */
.sbda-cboxes { display: grid; grid-template-columns: repeat(var(--sbda-cb-cols, 1), minmax(0, 1fr)); column-gap: 0; margin: 0 -15px 60px; }
.sbda-cb { padding: 0 15px; margin-bottom: 20px; box-sizing: border-box; }
.sbda-cb-boxed { background-clip: content-box; }
.sbda-cb-boxed .sbda-cb-head { padding: 35px 30px; }
.sbda-cb-head { display: flex; align-items: center; gap: 20px; }
.sbda-cb-icon { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: #333; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; border: 0; }
.sbda-cb-title { font-size: 24px; line-height: 1.2; font-weight: 500; color: var(--awb-color8); margin: 0; }
.sbda-cb-body { padding: 0 30px 30px; }
.sbda-cb-link { display: inline-block; padding: 0 30px 30px; }
@media (max-width:800px) { .sbda-cboxes { grid-template-columns: 1fr; } .sbda-cb { margin-bottom: 55px; } }

/* Gallery: Avada masonry (3 columns of 336x274 tiles, 5px padding, 3:2-or-wider images span two)
   and grid (square tiles). Masonry shows 10, then Load More. */
.sbda-gallery { display: grid; grid-template-columns: repeat(var(--sbda-gal-cols, 3), minmax(0, 1fr)); gap: 0; margin: 0; }
.sbda-gal-item { display: block; padding: 5px; box-sizing: border-box; aspect-ratio: 1; }
.sbda-gal-masonry .sbda-gal-item { aspect-ratio: 336 / 274; }
.sbda-gal-masonry .sbda-gal-item.is-wide { grid-column: span 2; aspect-ratio: 672 / 274; }
.sbda-gal-item img { width: 100%; height: 100%; object-fit: cover; display: block; border: var(--sbda-gal-border); border-radius: var(--sbda-gal-radius); box-sizing: border-box; }
.sbda-gal-item.is-hidden { display: none; }
/* One column below 800px keeping the desktop tile shapes; squares only on phones (<=640px). */
@media (max-width:800px) {
	.sbda-gallery { grid-template-columns: 1fr; }
	.sbda-gal-masonry .sbda-gal-item.is-wide { grid-column: auto; }
}
@media (max-width:640px) {
	.sbda-gal-masonry .sbda-gal-item { aspect-ratio: 1; }
	.sbda-gal-masonry .sbda-gal-item.is-wide { aspect-ratio: 3 / 2; }
}
.sbda-gallery-more { display: flex; justify-content: center; margin-top: 20px; }
.sbda-gallery-more button { background: var(--awb-color3); color: #fff; border: 0; border-radius: 40px; padding: 7px 18px; font-family: inherit; font-weight: 500; font-size: 11px; line-height: 14px; cursor: pointer; }
.sbda-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; }
.sbda-lightbox img { max-width: 92vw; max-height: 90vh; }
.sbda-lightbox button { position: absolute; top: 16px; right: 20px; background: none; border: 0; color: #fff; font-size: 34px; cursor: pointer; }

/* Testimonials (Avada classic): one at a time, rotating every 4s (sbda.js). */
.sbda-testimonials { position: relative; }
/* Inactive slides stay in the page (as Avada) but transparent and out of the flow. */
.sbda-tm { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; pointer-events: none; }
.sbda-tm.is-active, .sbda-testimonials:not(.is-ready) .sbda-tm:first-child { position: relative; opacity: 1; pointer-events: auto; animation: sbda-fade .6s; }
@keyframes sbda-fade { from { opacity: 0; } to { opacity: 1; } }
.sbda-tm-quote { margin: 0 0 30px; padding: 30px 30px 25px; position: relative; font-size: 18px; line-height: 24px; font-style: italic; color: #747474; }
.sbda-tm-quote div, .sbda-tm-quote p { margin: 0; }
.sbda-tm-quote b, .sbda-tm-quote strong { color: #4a4a4a; }
.sbda-tm-quote::after { content: ""; position: absolute; left: 40px; bottom: -15px; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid; border-top-color: inherit; }
.sbda-tm-meta { display: flex; align-items: center; gap: 15px; font-size: 18px; }
.sbda-tm-avatar { width: 40px; height: 40px; object-fit: cover; }
.sbda-tm-name a { color: inherit; }

/* Social links */
.sbda-social a { color: var(--sbda-sl-color); font-size: var(--sbda-sl-size); margin: 0 10px; text-decoration: none; }
.sbda-social-boxed a { display: inline-flex; width: calc(var(--sbda-sl-size) * 2.4); height: calc(var(--sbda-sl-size) * 2.4); align-items: center; justify-content: center; background: var(--sbda-sl-box); border-radius: var(--sbda-sl-radius); }

/* Section separator (slant) */
/* The wedge spans the whole container, whatever column it sits in: the svg is positioned against
   the section (.sbda-ct), so the columns around it must not be positioned. */
.sbda-secsep { height: 98px; line-height: 0; }
.sbda-secsep svg { position: absolute; left: 0; right: 0; width: 100%; height: 100px; display: block; }
.sbda-col:has(.sbda-secsep), .sbda-col:has(.sbda-secsep) > .sbda-colw { position: static; }

/* Checklist, table, share */
.sbda-checklist { list-style: none; margin: 0; padding: 0; }
.sbda-checklist li { display: flex; gap: 15px; margin-bottom: 10px; }
/* Wide tables scroll inside their own box (as Avada), never widening the page. */
.sbda-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sbda-table table { width: 100%; min-width: 600px; border-collapse: collapse; }
.sbda-main iframe, .sbda-main video, .sbda-main embed { max-width: 100%; }
.sbda-table th, .sbda-table td { padding: 15px 20px; border: 1px solid #333; text-align: left; }
.sbda-table-2 th { background: var(--awb-color5); color: #fff; }
.sbda-share { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; padding: 20px 0; }
.sbda-share a { color: var(--awb-color1); }

/* Newsletter / forms (Avada form: grey pill input + purple pill button). UiiQ Connect prints inline styles, hence !important. */
.sbda-newsletter .ubms-signup-form { max-width: none !important; }
.sbda-newsletter .ubms-form { gap: 20px 30px !important; margin: 20px 0; flex-wrap: wrap; }
.sbda-newsletter .ubms-form input[type=email] { flex: 1 1 300px !important; min-width: 0 !important; height: 55px; padding: 0 18px !important; border: 1px solid #f5f5f5 !important; border-radius: 30px !important; background: #f5f5f5; color: #98939f; font-size: 18px; font-family: inherit; }
.sbda-newsletter .ubms-form button { flex: 0 0 229px; height: 55px; padding: 17px 40px !important; background: var(--awb-color5) !important; border-radius: 40px !important; font-size: 18px; line-height: 21px; font-weight: 500; font-family: inherit; }
.sbda-newsletter .ubms-form button:hover { background: var(--awb-color3) !important; }
@media (max-width:800px) { .sbda-newsletter .ubms-form button { flex: 1 1 100%; } }
.sbda-newsletter form, .sbda-newsletter .ubms_form, .sbda-newsletter .uiiq-form { display: flex; flex-wrap: wrap; gap: 20px 30px; align-items: center; margin: 20px 0 20px; }
.sbda-newsletter input[type=email], .sbda-newsletter input[type=text] {
	flex: 1 1 300px; height: 55px; box-sizing: border-box; padding: 0 18px; border: 1px solid #f5f5f5; border-radius: 30px;
	background: #f5f5f5; color: #98939f; font: 400 18px/normal inherit; font-family: inherit;
}
.sbda-newsletter button, .sbda-newsletter input[type=submit] { flex: 0 0 auto; min-width: 229px; height: 55px; padding: 17px 40px; font-size: 18px; line-height: 21px; cursor: pointer; }
.sbda-newsletter button:hover, .sbda-newsletter input[type=submit]:hover { background: var(--awb-color3); }
@media (max-width:800px) { .sbda-newsletter button, .sbda-newsletter input[type=submit] { flex: 1 1 100%; } }

/* ───────────── Header ───────────── */
.sbda-header { position: relative; z-index: 500; }
.sbda-hdr-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 9000; padding: 30px; box-sizing: border-box; transition: padding .2s; }
.admin-bar .sbda-hdr-bar { top: 32px; }
.sbda-hdr-row { display: flex; flex-wrap: wrap; align-items: stretch; margin: 0 -2%; }
.sbda-hdr-l, .sbda-hdr-r { width: 25%; display: flex; }
.sbda-hdr-m { width: 50%; }
.sbda-hdr-chev { flex: 1 1 auto; margin: 0 100px 0 7.6923%; background: var(--sbda-chevron) no-repeat left top / contain; min-height: 1px; }
.sbda-hdr-r .sbda-hdr-chev { background-position: right top; }
.sbda-hdr-mw { margin: 0 3.8462%; display: flex; flex-direction: column; }
.sbda-logo { display: block; line-height: 0; }
.sbda-logo img { width: 100%; height: auto; display: block; }
.sbda-nav { margin-top: 20px; position: relative; }
.sbda-nav-toggle { display: none; }
.sbda-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.sbda-menu > .sbda-mi { position: relative; display: flex; align-items: center; margin: 0 2.5px; height: 34px; box-sizing: border-box; border: 2px solid var(--awb-color3); border-radius: 5px; background: var(--awb-color8); }
.sbda-menu > .sbda-mi > a { display: flex; align-items: center; height: 30px; padding: 0 5px; color: var(--awb-color1); font-size: 20px; line-height: 30px; text-decoration: none; text-transform: capitalize; }
.sbda-menu > .sbda-mi.sbda-has-sub > a { padding-right: 0; }
.sbda-sub-toggle { background: none; border: 0; color: var(--awb-color1); padding: 0 5px 0 10px; font-size: 16px; line-height: 1; cursor: pointer; }
.sbda-sub { list-style: none; margin: 0; padding: 0; position: absolute; top: calc(100% + 2px); left: -2px; min-width: 200px; background: var(--awb-color8); border-radius: 0 0 6px 6px; box-shadow: 0 6px 18px rgba(0,0,0,.35); opacity: 0; visibility: hidden; transition: opacity .2s; z-index: 10; }
.sbda-mi:hover > .sbda-sub, .sbda-mi:focus-within > .sbda-sub { opacity: 1; visibility: visible; }
.sbda-sub a { display: block; padding: 12px 20px; color: var(--awb-color1); font-size: 13px; line-height: 1.2; text-decoration: none; }
.sbda-sub a:hover, .sbda-sub .is-current > a { background: var(--awb-color5); }
.sbda-sub .sbda-sub-toggle { display: none; }
.sbda-hdr-spacer { height: calc(14vw + 60px); }
/* Text-only pages (the policies, docs/policies/; the UIIQ pages, docs/drafts/) start straight under
   the header. The fixed header is about 200px taller than its spacer once the full menu shows, so
   their text starts lower there. */
.sbda-main :is(.sbda-policy, .sbda-page) { padding-top: 55px; }
@media (min-width:1025px) { .sbda-main :is(.sbda-policy, .sbda-page) { padding-top: 255px; } }
.sbda-main :is(.sbda-policy, .sbda-page) > * { margin-block: 0 .8em !important; }
.sbda-main :is(.sbda-policy, .sbda-page) > h1 { margin-bottom: .25em !important; }
.sbda-main :is(.sbda-policy, .sbda-page) > :is(h2, h3) { margin-top: 1.4em !important; margin-bottom: .4em !important; }
/* UiiQ Connect's live timetable: site colours for its day and class headings, site button for Enrol. */
.sbda-main .uiiq-timetable__day-name { color: var(--awb-color1); border-bottom-color: #40b610; }
.sbda-main .uiiq-timetable__name { color: #00ff00; font-size: 1.1em; }
.sbda-main .uiiq-timetable__enrol { background: #40b610; color: #fff; padding: .45em 1.1em; border-radius: 40px; text-decoration: none; font-weight: 500; }
.sbda-main .uiiq-timetable__enrol:hover { background: var(--awb-color5); color: #fff; }
/* The cards layout (Connect group="cards"): SBDA's green and black through its custom properties. */
.sbda-main .uiiq-tt-cards { --uiiq-tt-accent: #4CD12A; --uiiq-tt-on-accent: #000; --uiiq-tt-card-bg: #0e0e0e; --uiiq-tt-line: #3a3a3a; --uiiq-tt-any: #a8a8a8; color: #fff; }
.sbda-main .uiiq-tt-dayname { font-family: "Barlow Semi Condensed", sans-serif; font-weight: 700; }
/* Class type at a glance (Steve, 20 Oct): how the class is paid for decides. A class run for or billed through Street Beat
   College (funded or subsidised; "Run for" / "Billed through" in UiiQ) is Community: dark green. Every other class is the
   Academy's own: dark purple. Connect puts the organisation on each item as data-tt-org ("main" = the school's own).
   The hover/lit shade is restated because Connect's own hover rule swaps the background for a flat grey. */
.sbda-main { --sbda-tt-purple: #1f0f3b; --sbda-tt-purple-hi: #2c1652; --sbda-tt-green: #0a2a16; --sbda-tt-green-hi: #103d20; }
.sbda-main .uiiq-tt-cards .uiiq-tt-card { --sbda-tt-type: var(--sbda-tt-purple); --sbda-tt-type-hi: var(--sbda-tt-purple-hi); background: var(--sbda-tt-type); }
.sbda-main .uiiq-tt-cards .uiiq-tt-item:not([data-tt-org="main"]) .uiiq-tt-card { --sbda-tt-type: var(--sbda-tt-green); --sbda-tt-type-hi: var(--sbda-tt-green-hi); }
.sbda-main .uiiq-tt-cards a.uiiq-tt-card:hover, .sbda-main .uiiq-tt-cards .uiiq-tt-item.is-lit .uiiq-tt-card { background: var(--sbda-tt-type-hi); }
/* The key above the cards: each box is the colour of the cards it explains (same two properties). */
.sbda-main .sbda-tt-key { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; margin: 0 0 1.5em; color: #fff; }
.sbda-main .sbda-tt-key-box { padding: 14px 16px; border: 1px solid var(--sbda-tt-purple-hi); background: var(--sbda-tt-purple); }
.sbda-main .sbda-tt-key-box.sbda-tt-key-green { border-color: var(--sbda-tt-green-hi); background: var(--sbda-tt-green); }
.sbda-main .sbda-tt-key-box p { margin: 0 !important; font-size: .95em; line-height: 1.45; }
.sbda-main .sbda-tt-key-box .sbda-tt-key-title { margin-bottom: .4em !important; font-family: "Barlow Semi Condensed", sans-serif; font-size: 1.2em; font-weight: 700; letter-spacing: .03em; line-height: 1.2; text-transform: uppercase; }
/* Wide screens (Steve, 21 Oct): Connect's auto-fill grid leaves an empty sixth column on a 2560px screen with five days.
   auto-fit drops the empty tracks so the days stretch to the full width. Once a filter hides a day, the grid goes back to
   auto-fill so one or two days don't become screen-wide cards. */
@media (min-width:761px) {
	.sbda-main .uiiq-tt-cards .uiiq-tt-grid { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
	.sbda-main .uiiq-tt-cards .uiiq-tt-grid:has(> .uiiq-tt-day[hidden]) { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
}
/* On a phone the page's 30px + 20px side padding leaves the cards 290px wide: trim it wherever the cards timetable sits. */
@media (max-width:760px) {
	main.wp-block-group.sbda-main:has(.uiiq-tt-cards) { padding-left: 12px !important; padding-right: 12px !important; }
	.sbda-main .sbda-page:has(.uiiq-tt-cards) { padding-left: 0 !important; padding-right: 0 !important; }
	/* Full-bleed sections (.sbda-ct, margin 0 -30px) on that page follow the main's 12px instead; the timetable's own section drops its 7% side padding to 12px. */
	main.wp-block-group.sbda-main:has(.uiiq-tt-cards) .sbda-ct { margin-left: -12px; margin-right: -12px; }
	.sbda-main .sbda-ct:has(.uiiq-tt-cards) { padding-left: 12px; padding-right: 12px; }
}
/* Connect's events list ([uiiq_event_tickets], Events page, 23 Oct): white titles and the timetable's green Enrol button
   on the dark site; the theme's dark heading and link colours would otherwise hide them. Like the text-only pages, the
   section clears the fixed header on wide screens. */
.sbda-main .uiiq-event-list { --uiiq-brand: #4CD12A; color: #fff; }
.sbda-main .uiiq-event-card { background: #0e0e0e; }
.sbda-main .uiiq-event-card__title { color: #fff; font-family: "Barlow Semi Condensed", sans-serif; font-weight: 700; }
.sbda-main .uiiq-event-card__tickets :is(.posm-detail-title, .posm-detail-section-title) { color: #fff; }
.sbda-main .uiiq-event-card__when { color: #00ff00; }
.sbda-main .uiiq-event-card__buy { background: #40b610; border-color: #40b610; color: #fff; border-radius: 40px; font-weight: 500; }
.sbda-main .uiiq-event-card__buy:is(:hover, :focus-visible) { background: var(--awb-color5); border-color: var(--awb-color5); color: #fff; text-decoration: none; }
@media (min-width:1025px) { .sbda-main .sbda-ct:has(> .uiiq-event-list) { padding-top: 200px; } }
.sbda-main .sbda-policy li { margin-bottom: .35em; }
.sbda-main .sbda-policy :is(p, li) { overflow-wrap: anywhere; } /* long web addresses wrap on a phone (New families) */
.sbda-main .sbda-policy-table td, .sbda-main .sbda-policy-table th { border-color: #333; padding: .6em .9em; vertical-align: top; }
/* Sticky: once scrolled, the logo goes and the bar slims down (as Avada's sticky header). */
.sbda-scrolled .sbda-logo { display: none; }
.sbda-scrolled .sbda-hdr-chev { min-height: 85px; max-height: 88px; }
.sbda-scrolled .sbda-nav { margin-top: 20px; }

@media (max-width:1024px) {
	.sbda-hdr-bar { padding: 20px 30px; }
	.sbda-hdr-l { width: 75%; }
	.sbda-hdr-m { width: 25%; }
	.sbda-hdr-r { display: none; }
	.sbda-hdr-l .sbda-hdr-chev { margin-left: 2.5641%; }
	.sbda-hdr-mw { margin: 0 7.6923%; }
	.sbda-nav { display: flex; justify-content: flex-end; }
	.sbda-nav-toggle { display: block; background: var(--awb-color1); color: var(--awb-color8); border: 0; padding: 12px 20px; font-size: 25px; line-height: 1; cursor: pointer; }
	.sbda-menu { display: none; position: fixed; left: 0; right: 0; flex-direction: column; flex-wrap: nowrap; background: #242424; max-height: calc(100vh - 120px); overflow-y: auto; }
	.sbda-nav.is-open .sbda-menu { display: flex; }
	.sbda-menu > .sbda-mi { margin: 0; height: auto; min-height: 56px; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); border-radius: 0; background: #242424; flex-wrap: wrap; }
	.sbda-menu > .sbda-mi > a { flex: 1 1 auto; height: 55px; padding: 0 30px; }
	.sbda-menu > .sbda-mi.is-current > a { background: var(--awb-color5); }
	.sbda-sub-toggle { height: 55px; padding: 0 30px; }
	.sbda-sub { position: static; width: 100%; opacity: 1; visibility: visible; display: none; box-shadow: none; border-radius: 0; background: #242424; }
	.sbda-mi.is-sub-open > .sbda-sub { display: block; }
	.sbda-sub a { padding: 0 30px 0 50px; height: 55px; display: flex; align-items: center; font-size: 20px; border-top: 1px solid rgba(255,255,255,.08); }
	.sbda-hdr-spacer { height: calc(14vw + 60px); }
}
@media (max-width:800px) {
	.sbda-hdr-l { width: 66.6667%; }
	.sbda-hdr-m { width: 33.3333%; }
	.sbda-hdr-l .sbda-hdr-chev { margin-left: 2.8846%; }
	.sbda-hdr-mw { margin: 0 5.7692%; }
}

/* ───────────── Home hero (Avada slider, one slide) ───────────── */
/* The theme forces .wp-site-blocks > * { margin-top: 0 !important }; the hero slides up under the header spacer. */
.sbda-hero { height: 100vh; background: center / cover no-repeat; position: relative; z-index: 0; }
.wp-site-blocks > .sbda-hero { margin-top: calc(-14vw - 60px) !important; }
@media (max-width:1024px) { .wp-site-blocks > .sbda-hero { margin-top: 0 !important; } .sbda-hero { height: calc(100vh - 14vw - 60px); } }

/* ───────────── Footer ───────────── */
.sbda-footer { background: #000; }
.sbda-ft-main { padding: 150px 7% 110px; }
.sbda-ft-row { display: flex; flex-wrap: wrap; margin: 0 -2%; }
.sbda-ft-col { box-sizing: border-box; padding: 0 1.923%; margin-bottom: 20px; }
.sbda-ft-col3 { width: 33.3333%; text-align: center; }
.sbda-ft-col4 { width: 25%; }
.sbda-ft-h { color: var(--awb-color1); font-size: 24px; line-height: 1.2; font-weight: 500; margin: 0 0 40px; text-align: center; }
.sbda-ft-menu { list-style: none; margin: 0; padding: 0; }
.sbda-ft-menu a { color: var(--awb-color5); font-size: 16px; line-height: 24px; text-decoration: none; display: block; }
.sbda-ft-menu a:hover { color: var(--awb-color3); }
.sbda-ft-toggle { display: none; }
.sbda-ft-contact p { color: var(--awb-color1); font-size: 32px; line-height: 48px; margin: 32px 0; }
.sbda-ft-contact a { color: var(--awb-color1); text-decoration: none; }
.sbda-ft-social { display: flex; justify-content: center; gap: 20px; }
.sbda-ft-social a { color: var(--awb-color4); font-size: 48px; line-height: 48px; width: 48px; text-align: center; }
.sbda-ft-logo { max-width: 100%; width: auto; height: auto; display: block; }
.sbda-ft-copy { background: var(--awb-color8); border-top: 1px solid hsla(var(--awb-color2-h),var(--awb-color2-s),var(--awb-color2-l),calc(var(--awb-color2-a) - 75%)); padding: 30px 7%; text-align: center; }
.sbda-ft-copy p { margin: 0; font-size: 17px; line-height: 1.5; color: hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 56%)); }
.sbda-ft-copy a { color: var(--awb-color1); text-decoration: none; }
.sbda-totop { position: fixed; right: 75px; bottom: 0; width: 48px; height: 35px; display: flex; opacity: 0; pointer-events: none; transition: opacity .2s; align-items: center; justify-content: center; background: #333; color: #fff; border-radius: 6px 6px 0 0; z-index: 9000; text-decoration: none; }
.sbda-scrolled .sbda-totop { opacity: 1; pointer-events: auto; }
@media (max-width:1024px) {
	.sbda-ft-main { padding: 100px 7% 80px; }
	.sbda-ft-col3, .sbda-ft-col4 { width: 100%; }
}
@media (max-width:800px) {
	/* Avada collapses the footer menus behind a button below 800px. */
	.sbda-ft-toggle { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 14px; background: #fff; color: #060607; border: 0; font-size: 20px; cursor: pointer; }
	.sbda-ft-menu { display: none; margin: 0 calc(-7vw - 3%); text-align: left; }
	.sbda-ft-nav.is-open .sbda-ft-menu { display: block; }
	.sbda-ft-menu a { padding: 0 24px; height: 65px; display: flex; align-items: center; color: #4a4e57; background: #fff; border-top: 1px solid rgba(0,0,0,.1); }
}

/* PDF embeds on the policy pages */
.pdfemb-viewer { margin: 0 auto 20px; }

/* Grid galleries (Opportunities): Avada packs natural-height images into the shortest column.
   sbda.js builds the columns; without JS the plain grid above still shows every image. */
.sbda-gal-grid.is-packed { display: flex; gap: 0; align-items: flex-start; }
.sbda-gal-grid.is-packed .sbda-gal-col { flex: 1 1 0; min-width: 0; }
.sbda-gal-grid.is-packed .sbda-gal-item { aspect-ratio: auto; }
.sbda-gal-grid.is-packed .sbda-gal-item img { height: auto; }

/* Avada content links are not underlined. */
:root :where(.sbda-main) :where(a) { text-decoration: none; }

/* Footer details: funder logos at natural size (theme CSS stretches images), menu buttons left. */
.sbda-footer img.sbda-ft-logo { width: 400px; max-width: 100%; height: auto; }
@media (max-width:800px) { .sbda-ft-nav { text-align: left; } }

/* Avada keeps the 20px after a text block's last paragraph; WordPress's flow-layout
   :last-child reset (specificity 0,2,0) would remove it. Headings inside text blocks use
   Avada's global heading margins. */
.sbda-main .sbda-text p { margin: 0 0 20px; }
.sbda-main .sbda-text :is(h1, h2) { margin: .5em 0; }
.sbda-main .sbda-text :is(h3, h4, h5, h6) { margin: .8em 0; }

/* Contact page IQForm (UiiQ Connect iframe embed), centred under the email line. */
.sbda-iqform { width: 100%; max-width: 760px; margin: 40px auto 0; align-self: center; text-align: left; }
.sbda-iqform iframe { width: 100%; border: 0; border-radius: 10px; background: #000; } /* the form is dark (IQForm 137 Custom style + theme background #000, 16 Oct) */
/* IQForms widget on the dark site: Avada form look (light pill fields, purple pill button). */
.sbda-iqform .iqf-title { color: var(--awb-color1); font-size: 30px; font-weight: 500; line-height: 1.2; margin: 0 0 20px; text-align: center; }
.sbda-iqform .iqf-label { color: var(--awb-color1); font-size: 18px; }
.sbda-iqform .iqf-input, .sbda-iqform .iqf-textarea {
	background: #f5f5f5; color: #333; border: 1px solid #f5f5f5; font-family: inherit; font-size: 18px; box-sizing: border-box;
}
.sbda-iqform .iqf-input { height: 55px; padding: 0 18px; border-radius: 30px; }
.sbda-iqform .iqf-textarea { padding: 14px 18px; border-radius: 20px; }
.sbda-iqform .iqf-input:focus, .sbda-iqform .iqf-textarea:focus { outline: 2px solid var(--awb-color3); outline-offset: 1px; }
.sbda-iqform .iqf-btn-primary { background: var(--awb-color5); color: var(--awb-color1); border: 0; border-radius: 40px; padding: 17px 40px; font-family: inherit; font-size: 18px; font-weight: 500; line-height: 21px; height: auto; }
.sbda-iqform .iqf-btn-primary:hover:not(:disabled) { background: var(--awb-color3); }

/* WooCommerce "store coming soon" (shop URLs while the store isn't open): clear the fixed header. */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only { padding: 200px 30px 120px; text-align: center; }
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only :is(h1, h2) { color: var(--awb-color1); font-family: var(--awb-sbda-font); font-weight: 500; }
@media (max-width:1024px) { .wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only { padding: 80px 30px 100px; } }

/* UiiQ Connect sign-up consent line: its "Privacy notice" link in the footer-link purple. */
.sbda-newsletter .ubms-signup-consent { margin: 0 0 14px !important; }
.sbda-newsletter .ubms-signup-consent a { color: var(--awb-color5); text-decoration: underline; }
.sbda-newsletter .ubms-signup-consent a:hover { color: var(--awb-color3); }
