/* ==========================================================================
   Aquireef Uplift
   1. Tokens          5. Homepage
   2. Shared parts    6. Astra pages (base, blog, forms)
   3. Header          7. WooCommerce
   4. Footer          8. Nicepage pages, Forminator, extras
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--aq-ink: #0B1618;
	--aq-deep: #071012;
	--aq-panel: #0F1F1D;
	--aq-panel-2: #12262A;
	--aq-line-dk: #1E3330;
	--aq-line-dk-2: #3E5F5A;
	--aq-logo-navy: #283848;
	--aq-logo-teal: #40E0D0;
	--aq-teal: #34B5AA;
	--aq-teal-lt: #5FD3C8;
	--aq-teal-dk: #0E6A63;
	--aq-sand: #F4EFE6;
	--aq-sand-2: #E9E1D3;
	--aq-sand-3: #E3DACB;
	--aq-line: #D8CDBA;
	--aq-text: #14201F;
	--aq-muted: #4D5B59;
	--aq-on-dk: #C2D0CD;
	--aq-on-dk-2: #A9BAB7;
	--aq-display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;
	--aq-body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--aq-radius: 16px;
	--aq-wrap: 1280px;
}

/* 2. Shared parts ------------------------------------------------------------ */
.aq-wrap { max-width: var(--aq-wrap); margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.aq-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aq-skip { position: absolute; left: 12px; top: -60px; z-index: 100000; background: var(--aq-teal); color: var(--aq-deep) !important; padding: 10px 16px; border-radius: 8px; font: 700 15px var(--aq-body); text-decoration: none; }
.aq-skip:focus { top: 12px; }
.aq-ico { flex-shrink: 0; }
/* Anchor jumps (Contact, Custom) land below the sticky header. */
html.aq-uplift [id] { scroll-margin-top: 130px; }

.aq-btn,
a.aq-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px; border-radius: 10px; border: 1.5px solid transparent;
	font: 700 16px/1 var(--aq-body); text-decoration: none !important; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
	box-sizing: border-box;
}
.aq-btn:hover { transform: translateY(-1px); }
.aq-btn-lg { min-height: 54px; padding: 0 26px; }
.aq-btn-primary, a.aq-btn-primary { background: var(--aq-teal); color: var(--aq-deep) !important; }
.aq-btn-primary:hover { background: var(--aq-teal-lt); }
.aq-btn-ghost, a.aq-btn-ghost { background: transparent; color: #fff !important; border-color: var(--aq-line-dk-2); }
.aq-btn-ghost:hover { border-color: var(--aq-teal); }
.aq-btn-light, a.aq-btn-light { background: #fff; color: var(--aq-ink) !important; }
.aq-btn-light:hover { background: var(--aq-sand); }

.aq-eyebrow { font: 700 13px/1.3 var(--aq-body); letter-spacing: .12em; text-transform: uppercase; color: var(--aq-teal); }
.aq-eyebrow-dk { color: var(--aq-teal-dk); }
.aq-more { font-weight: 700; color: var(--aq-teal-dk) !important; display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; }
.aq-more:hover { color: var(--aq-ink) !important; }

/* 3. Header -------------------------------------------------------------------- */
/* White bar so the logo shows in its real colours. Dark "New" bar above it. */
#aq-header-wrap { position: sticky; top: 0; z-index: 9990; font-family: var(--aq-body); -webkit-font-smoothing: antialiased; }
.admin-bar #aq-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar #aq-header-wrap { top: 0; } }
#aq-header-wrap *, #aq-header-wrap *::before, #aq-header-wrap *::after { box-sizing: border-box; }
#aq-header-wrap a { text-decoration: none; }

.aq-announce {
	background: var(--aq-deep); color: var(--aq-on-dk); font-size: 14px; line-height: 1.4;
	padding: 9px 24px; display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; text-align: center;
}
.aq-announce a { color: #fff !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.aq-announce-short { display: none; }
@media (max-width: 600px) {
	.aq-announce { flex-wrap: nowrap; gap: 8px; white-space: nowrap; }
	.aq-announce-long { display: none; }
	.aq-announce-short { display: inline; }
}
.aq-pill { background: var(--aq-teal); color: var(--aq-deep); font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; }

.aq-header { position: relative; background: #fff; color: var(--aq-logo-navy); border-bottom: 1px solid #E6E0D4; box-shadow: 0 1px 0 rgba(11,22,24,.02); }
.aq-bar { height: 84px; display: flex; align-items: center; gap: 28px; }

.aq-logo { display: flex; align-items: center; flex-shrink: 0; }
.aq-logo img { display: block; height: auto; }
.aq-logo .aq-logo-full { width: 210px; max-width: none; }
.aq-logo .aq-logo-icon { display: none; width: 40px; }

.aq-nav { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; }
.aq-nav-btn,
.aq-nav-link {
	display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 10px 12px; border-radius: 8px;
	background: transparent; border: 0; color: var(--aq-logo-navy) !important; font: 600 15px/1 var(--aq-body); cursor: pointer; white-space: nowrap;
}
.aq-nav-btn:hover, .aq-nav-link:hover, .aq-nav-btn[aria-expanded="true"] { background: #EEF3F4; color: var(--aq-logo-navy) !important; }
.aq-nav-btn .aq-ico { transition: transform .2s ease; }
.aq-nav-btn[aria-expanded="true"] .aq-ico { transform: rotate(180deg); }
#aq-header-wrap :is(.aq-nav-btn, .aq-nav-link, .aq-icon-btn, .aq-logo):focus-visible { outline: 2px solid var(--aq-teal-dk); outline-offset: 2px; }

/* Dropdowns */
.aq-nav-drop { position: relative; }
.aq-drop {
	position: absolute; top: calc(100% + 20px); left: 0; width: 360px; z-index: 5;
	background: #fff; border: 1px solid #E6E0D4; border-radius: 14px;
	box-shadow: 0 24px 48px rgba(11,22,24,.14); padding: 8px; display: flex; flex-direction: column;
}
.aq-drop[hidden], .aq-mega[hidden], .aq-search-panel[hidden], .aq-mobile[hidden] { display: none !important; }
.aq-drop a { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border-radius: 10px; color: var(--aq-logo-navy) !important; }
.aq-drop a:hover { background: #EEF3F4; }
.aq-drop strong { font-weight: 700; font-size: 15px; }
.aq-drop span { font-size: 14px; color: var(--aq-muted); }

.aq-mega {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 5;
	background: #fff; border-top: 1px solid #E6E0D4; border-bottom: 1px solid #E6E0D4; box-shadow: 0 24px 48px rgba(11,22,24,.14);
}
.aq-mega-grid { padding-top: 28px; padding-bottom: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(240px, 1.2fr); gap: 32px; }
.aq-mega-col { display: flex; flex-direction: column; }
.aq-mega-title { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--aq-muted); font-weight: 700; margin-bottom: 8px; }
.aq-mega-col a { color: var(--aq-logo-navy) !important; font-weight: 600; font-size: 15px; padding: 8px 0; }
.aq-mega-col a:hover { color: var(--aq-teal-dk) !important; }
.aq-mega-col p { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--aq-muted); }
.aq-mega-feature { display: flex; flex-direction: column; gap: 10px; background: var(--aq-ink); border-radius: 14px; padding: 12px; color: #fff !important; }
.aq-mega-img { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 10; }
.aq-mega-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; margin: 0 !important; }
.aq-mega-cap { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0 4px 4px; font-weight: 700; font-size: 15px; }
.aq-mega-price, .aq-mega-price .amount { color: var(--aq-teal) !important; font-weight: 700; }
.aq-mega-price del { opacity: .6; font-weight: 500; }

/* Icons on the right */
.aq-tools { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.aq-icon-btn {
	position: relative; width: 44px; height: 44px; border-radius: 10px; border: 0; background: transparent; color: var(--aq-logo-navy) !important;
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.aq-icon-btn:hover, .aq-icon-btn[aria-expanded="true"] { background: #EEF3F4; }
/* Theme and Nicepage button styles must not leak into the header. */
#aq-header-wrap :is(.aq-icon-btn, .aq-nav-btn, .aq-search-form button) { box-shadow: none !important; text-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
.aq-cart-count {
	position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--aq-logo-teal); color: var(--aq-logo-navy); font: 700 11px/18px var(--aq-body); text-align: center;
}
.aq-cart-count[data-count="0"] { background: #E3E9EB; color: var(--aq-muted); }
.aq-burger { display: none; }

/* Search panel */
.aq-search-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; background: #fff; border-top: 1px solid #E6E0D4; border-bottom: 1px solid #E6E0D4; padding: 18px 0; box-shadow: 0 24px 48px rgba(11,22,24,.14); }
.aq-search-form { display: flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid #D5DEE1; border-radius: 12px; padding: 5px 5px 5px 16px; color: var(--aq-muted); max-width: 760px; margin: 0 auto; }
.aq-search-form:focus-within { border-color: var(--aq-teal-dk); }
.aq-search-form input[type="search"] { flex: 1; min-width: 0; border: 0 !important; outline: 0; box-shadow: none !important; background: transparent !important; font: 400 17px var(--aq-body) !important; color: var(--aq-text) !important; height: 44px; padding: 0 !important; margin: 0 !important; }
.aq-search-form button { min-height: 44px; padding: 0 20px; border-radius: 9px; border: 0; background: var(--aq-logo-navy); color: #fff; font: 700 15px var(--aq-body); cursor: pointer; }
.aq-search-form button:hover { background: var(--aq-teal-dk); }

/* Mobile menu */
.aq-mobile { background: #fff; border-bottom: 1px solid #E6E0D4; max-height: calc(100vh - 100px); overflow-y: auto; color: var(--aq-logo-navy); box-shadow: 0 24px 48px rgba(11,22,24,.14); }
.aq-mobile-inner { padding: 16px 20px 28px; display: flex; flex-direction: column; gap: 4px; }
.aq-mobile .aq-search-form { margin: 0 0 12px; max-width: none; }
.aq-mobile details { border-bottom: 1px solid #EDE7DB; }
.aq-mobile summary { list-style: none; cursor: pointer; min-height: 52px; display: flex; align-items: center; justify-content: space-between; font: 700 17px var(--aq-body); color: var(--aq-logo-navy); }
.aq-mobile summary::-webkit-details-marker { display: none; }
.aq-mobile details[open] summary .aq-ico { transform: rotate(180deg); }
.aq-mobile details a { display: block; padding: 10px 0 10px 12px; color: var(--aq-muted) !important; font-size: 16px; }
.aq-mobile details a:last-child { margin-bottom: 10px; }
.aq-mobile-link { display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid #EDE7DB; color: var(--aq-logo-navy) !important; font: 700 17px var(--aq-body); }
.aq-mobile .aq-btn { margin-top: 16px; }

@media (max-width: 1180px) {
	.aq-nav-link[href*="#"] { display: none; }
	.aq-logo .aq-logo-full { width: 180px; }
}
/* Phone and tablet: menu button left, round logo centred, search and cart right (like suksaiaquatic.com). */
@media (max-width: 980px) {
	.aq-nav, .aq-mega, .aq-drop { display: none !important; }
	.aq-bar { height: 64px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; }
	.aq-burger { display: inline-flex; justify-self: start; margin-left: -8px; }
	.aq-logo { justify-self: center; }
	.aq-logo .aq-logo-full { display: none; }
	.aq-logo .aq-logo-icon { display: block; }
	.aq-tools { justify-self: end; margin-left: 0; margin-right: -8px; gap: 0; }
	.aq-hide-sm { display: none; }
}
@media (max-width: 480px) {
	.aq-announce { font-size: 13px; padding: 8px 16px; }
	.aq-wrap { padding-left: 16px; padding-right: 16px; }
}

/* 4. Footer -------------------------------------------------------------------- */
.aq-footer { background: var(--aq-deep); color: var(--aq-on-dk); font-family: var(--aq-body); font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; clear: both; }
.aq-footer *, .aq-footer *::before, .aq-footer *::after { box-sizing: border-box; }
.aq-footer a { color: var(--aq-on-dk) !important; text-decoration: none !important; }
.aq-footer a:hover { color: #fff !important; }
.aq-foot-top { padding-top: 64px; padding-bottom: 48px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 56px; }
.aq-foot-news h2 { font: 800 30px/1.1 var(--aq-display); letter-spacing: -.02em; color: #fff; margin: 0 0 12px; }
.aq-foot-news p { margin: 0 0 22px; max-width: 30em; }
.aq-footer .aq-btn-primary { color: var(--aq-deep) !important; }
.aq-foot-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.aq-foot-cols h3 { color: #fff; font: 700 15px var(--aq-body); margin: 0 0 12px; }
.aq-foot-cols a { display: block; padding: 5px 0; }
.aq-foot-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding-top: 28px; padding-bottom: 28px; border-top: 1px solid var(--aq-line-dk); }
.aq-foot-brand { display: flex; flex-direction: column; gap: 12px; max-width: 34em; }
.aq-foot-logo { width: 210px; height: auto; display: block; }
.aq-social { display: flex; gap: 8px; }
.aq-social a { width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--aq-line-dk); display: inline-flex; align-items: center; justify-content: center; }
.aq-social a:hover { border-color: var(--aq-teal); color: var(--aq-teal-lt) !important; }
.aq-foot-legal { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 96px; border-top: 1px solid var(--aq-line-dk); font-size: 14px; color: #8FA6A2; }
@media (max-width: 900px) {
	.aq-foot-top { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 560px) {
	.aq-foot-cols { grid-template-columns: 1fr 1fr; }
}

/* 5. Homepage ---------------------------------------------------------------- */
.aq-home-page { font-family: var(--aq-body); color: var(--aq-text); background: var(--aq-sand); -webkit-font-smoothing: antialiased; }
.aq-home-page *, .aq-home-page *::before, .aq-home-page *::after { box-sizing: border-box; }
.aq-home-page h1, .aq-home-page h2 { font-family: var(--aq-display); font-weight: 800; letter-spacing: -.02em; color: inherit; margin: 0; }
.aq-home-page h2 { font-size: clamp(32px, 3.6vw, 44px); line-height: 1.05; }
.aq-home-page p { margin: 0; }
.aq-home-page a { text-decoration: none; }
.aq-home-page img { max-width: 100%; }
.aq-home .site-content, .aq-home #content, .aq-home .ast-container, .aq-home .entry-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.aq-home .entry-content > .aq-home-page { margin: 0 !important; }
/* Astra's page-builder layout sets max-width: none on direct children of the content,
   which made some homepage sections run edge to edge. Keep every section in line with the hero. */
html.aq-uplift .aq-home-page .aq-wrap { max-width: var(--aq-wrap) !important; margin-left: auto !important; margin-right: auto !important; padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box !important; }
@media (max-width: 480px) { html.aq-uplift .aq-home-page .aq-wrap { padding-left: 16px !important; padding-right: 16px !important; } }
.aq-home .ast-article-single, .aq-home article.page { padding: 0 !important; margin: 0 !important; background: transparent !important; }

.aq-hero { background: var(--aq-ink); color: #fff; }
.aq-hero-inner { padding-top: 72px; padding-bottom: 88px; display: flex; flex-wrap: wrap; align-items: center; gap: 56px; }
.aq-hero-copy { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.aq-hero h1 { font-size: clamp(42px, 5.6vw, 76px); line-height: 1.02; letter-spacing: -.025em; color: #fff; }
.aq-lead { font-size: 19px; line-height: 1.6; color: var(--aq-on-dk); max-width: 34em; }
.aq-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.aq-trust { list-style: none; margin: 12px 0 0; padding: 24px 0 0; border-top: 1px solid var(--aq-line-dk); display: flex; flex-wrap: wrap; gap: 24px; font-size: 15px; color: var(--aq-on-dk); }
.aq-trust li { display: flex; align-items: center; gap: 8px; margin: 0; }
.aq-trust .aq-ico { color: var(--aq-teal-lt); }
.aq-hero-media { flex: 1 1 480px; min-width: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: 1fr 1fr; gap: 14px; height: 540px; }
.aq-hero-media figure { margin: 0; border-radius: 18px; overflow: hidden; grid-column: span 2; position: relative; background: var(--aq-panel); }
.aq-hero-media .aq-hero-main { grid-column: span 3; grid-row: span 2; }
.aq-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aq-hero-media figcaption { position: absolute; left: 14px; bottom: 14px; background: rgba(7,16,18,.82); color: #fff; padding: 8px 12px; border-radius: 8px; font-size: 14px; font-weight: 600; }
@media (max-width: 600px) {
	.aq-hero-inner { padding-top: 48px; padding-bottom: 56px; gap: 36px; }
	.aq-hero-media { height: 380px; }
}

.aq-section { padding-top: 88px; padding-bottom: 8px; }
.aq-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.aq-sec-head > div { display: flex; flex-direction: column; gap: 8px; }

.aq-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.aq-tile { position: relative; display: block; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--aq-ink); color: #fff !important; }
.aq-tile img { width: 100%; height: 100%; object-fit: cover; object-position: center 70%; display: block; opacity: .92; transition: transform .4s ease; }
.aq-tile:hover img { transform: scale(1.04); }
.aq-tile-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 20px; background: rgba(7,16,18,.86); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.aq-tile-cap > span { display: flex; flex-direction: column; gap: 2px; }
.aq-tile-cap strong { font: 700 21px/1.15 var(--aq-display); }
.aq-tile-cap small { font-size: 14px; color: var(--aq-on-dk-2); }

.aq-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.aq-product { display: flex; flex-direction: column; gap: 14px; color: var(--aq-text) !important; }
.aq-product-img { display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 1 / 1; background: var(--aq-sand-3); }
.aq-product-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; margin: 0 !important; transition: transform .4s ease; }
.aq-product:hover .aq-product-img img { transform: scale(1.04); }
.aq-product-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.aq-product-row > span:first-child { display: flex; flex-direction: column; gap: 4px; }
.aq-product-row strong { font-size: 18px; font-weight: 700; }
.aq-product-row small { font-size: 14px; color: var(--aq-muted); }
.aq-price, .aq-price .amount { font-weight: 700; font-size: 18px; color: var(--aq-text); white-space: nowrap; }
.aq-price del { opacity: .55; font-size: 15px; margin-right: 4px; }
.aq-price ins { text-decoration: none; }

.aq-steps { background: var(--aq-sand-2); margin-top: 96px; padding: 80px 0; }
.aq-steps h2 { font-size: clamp(28px, 3vw, 36px) !important; margin-bottom: 40px !important; }
.aq-steps-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 32px; }
.aq-steps-grid li { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.aq-step-no { font: 800 56px/1 var(--aq-display); color: var(--aq-teal-dk); }
.aq-steps-grid strong { font-size: 20px; }
.aq-steps-grid li > span:last-child { font-size: 16px; line-height: 1.6; color: var(--aq-muted); }

.aq-split { display: flex; flex-wrap: wrap; gap: 56px; align-items: center; }
.aq-split-top { align-items: flex-start; }
.aq-split-copy { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.aq-split-copy p { font-size: 18px; line-height: 1.65; color: #33403E; }
.aq-about-img { flex: 1 1 380px; min-width: 0; margin: 0; border-radius: 20px; overflow: hidden; aspect-ratio: 5 / 4; }
.aq-about-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }

.aq-license { background: var(--aq-ink); color: #fff; margin-top: 96px; padding: 96px 0; }
.aq-license .aq-split-copy p { color: var(--aq-on-dk); }
.aq-h-xl { font-size: clamp(40px, 4.4vw, 56px) !important; line-height: 1 !important; }
.aq-feature-grid { flex: 1 1 440px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.aq-feature-grid > div { background: var(--aq-panel-2); border: 1px solid var(--aq-line-dk); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.aq-feature-grid .aq-ico { color: var(--aq-teal-lt); }
.aq-feature-grid strong { font-size: 18px; }
.aq-feature-grid span { font-size: 15px; line-height: 1.5; color: var(--aq-on-dk-2); }
@media (max-width: 480px) { .aq-feature-grid { grid-template-columns: 1fr; } }

.aq-banner { background: var(--aq-teal-dk); color: #fff; border-radius: 24px; padding: 56px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.aq-banner > div { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.aq-banner h2 { font-size: clamp(30px, 3.2vw, 40px) !important; color: #fff; }
.aq-banner p { font-size: 18px; line-height: 1.6; color: #E1F2EF; }
@media (max-width: 600px) { .aq-banner { padding: 32px 24px; } }

.aq-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 28px; }
.aq-post { display: flex; flex-direction: column; gap: 12px; color: var(--aq-text) !important; }
.aq-post-img { display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--aq-sand-3); }
.aq-post-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.aq-post:hover .aq-post-img img { transform: scale(1.04); }
.aq-post small { font-size: 14px; color: var(--aq-muted); font-weight: 600; }
.aq-post strong { font: 700 22px/1.25 var(--aq-display); }

.aq-contact { background: var(--aq-sand-2); margin-top: 96px; padding: 80px 0; }
.aq-contact-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: start; }
.aq-contact-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.aq-contact-col h2 { font-size: clamp(28px, 3vw, 36px) !important; }
.aq-contact-col > p { font-size: 17px; line-height: 1.6; color: var(--aq-muted); }
@media (max-width: 860px) { .aq-contact-cols { grid-template-columns: 1fr; gap: 48px; } }

.aq-btn-dark, a.aq-btn-dark { background: var(--aq-ink); color: #fff !important; }
.aq-btn-outline, a.aq-btn-outline { background: transparent; color: var(--aq-ink) !important; border-color: var(--aq-ink); }
.aq-btn-outline:hover { background: var(--aq-ink); color: #fff !important; }

/* "Send me a message" opens the contact form underneath */
.aq-message { margin-top: 8px; }
.aq-message > summary { list-style: none; align-self: flex-start; display: inline-flex; width: auto; }
.aq-message > summary::-webkit-details-marker { display: none; }
.aq-message[open] > summary { background: var(--aq-ink); color: #fff !important; }
.aq-contact-form { margin-top: 20px; background: #fff; border-radius: 20px; padding: 28px; }
.aq-price-note { margin: 0 0 22px !important; padding: 14px 16px; border-radius: 12px; background: var(--aq-sand); font-size: 15px; line-height: 1.55; color: var(--aq-text); }
.aq-price-note strong { color: var(--aq-ink); }
.aq-price-note a { color: var(--aq-teal-dk) !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width: 600px) { .aq-contact-form { padding: 20px; } }

/* MailPoet signup (form 2) laid out like the v1 email box: field + button in one row */
.aq-news-form .mailpoet_form { padding: 0 !important; margin: 0 !important; background: transparent !important; width: auto !important; }
.aq-news-form form.mailpoet_form { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.aq-news-form .mailpoet_paragraph { margin: 0 !important; flex: 1 1 240px; min-width: 0; }
.aq-news-form .mailpoet_paragraph:has(.mailpoet_submit) { flex: 0 0 auto; }
.aq-news-form :is(h1, h2, h3, .mailpoet_form_image, .mailpoet_form_paragraph:not(.mailpoet_paragraph)) { display: none !important; }
.aq-news-form label.mailpoet_text_label, .aq-news-form .mailpoet_paragraph > label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
html.aq-uplift body .aq-news-form input.mailpoet_text, html.aq-uplift body .aq-news-form input[type="email"] {
	width: 100% !important; height: 52px !important; padding: 0 16px !important; border-radius: 10px !important;
	border: 1.5px solid #B9AE9B !important; background: #fff !important; color: var(--aq-text) !important;
	font: 400 16px var(--aq-body) !important; box-shadow: none !important;
}
html.aq-uplift body .aq-news-form input.mailpoet_submit {
	height: 52px !important; padding: 0 24px !important; border-radius: 10px !important; border: 0 !important;
	background: var(--aq-ink) !important; color: #fff !important; font: 700 16px var(--aq-body) !important; cursor: pointer; width: auto !important;
}
html.aq-uplift body .aq-news-form input.mailpoet_submit:hover { background: var(--aq-teal-dk) !important; }
.aq-news-form .mailpoet_message { flex: 1 1 100%; font-size: 15px; }
.aq-news-form .mailpoet_validate_success { color: var(--aq-teal-dk) !important; }

/* The homepage has its own newsletter box, so the footer one is hidden there */
.aq-home .aq-foot-news { display: none; }
.aq-home .aq-foot-top { grid-template-columns: 1fr; }

/* 6. Astra pages: base, blog, forms ----------------------------------------- */
html.aq-uplift body:not(.u-body) {
	background-color: var(--aq-sand);
	color: var(--aq-text);
	font-family: var(--aq-body);
	-webkit-font-smoothing: antialiased;
}
html.aq-uplift body.theme-astra,
html.aq-uplift body.theme-astra .site-content,
html.aq-uplift body.theme-astra #page { background-color: var(--aq-sand); }
html.aq-uplift body.theme-astra { font-family: var(--aq-body); color: var(--aq-text); }
html.aq-uplift body.theme-astra :is(h1, h2, h3, h4, h5, h6, .entry-title, .product_title, .woocommerce-loop-product__title) {
	font-family: var(--aq-display); color: var(--aq-text); letter-spacing: -.015em;
}
/* Headings on the homepage's dark and teal sections stay white. */
html.aq-uplift .aq-home-page :is(.aq-hero, .aq-license, .aq-banner) :is(h1, h2, h3) { color: #fff !important; }
html.aq-uplift .aq-home-page :is(h1, h2) { font-family: var(--aq-display) !important; font-weight: 800; }
html.aq-uplift .aq-footer h2, html.aq-uplift .aq-footer h3 { color: #fff !important; }
html.aq-uplift body.theme-astra .entry-content a:not(.button):not(.wp-block-button__link):not(.aq-btn) { color: var(--aq-teal-dk); text-decoration-thickness: 1px; text-underline-offset: 3px; }
html.aq-uplift body.theme-astra .entry-content a:not(.button):not(.wp-block-button__link):not(.aq-btn):hover { color: var(--aq-ink); }

/* Page and post titles */
html.aq-uplift body.theme-astra .entry-header .entry-title,
html.aq-uplift body.theme-astra h1.entry-title { font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; }
html.aq-uplift body.theme-astra .ast-archive-description { background: transparent; padding-left: 0; padding-right: 0; }

/* Content cards on boxed layouts */
html.aq-uplift body.ast-separate-container .ast-article-single,
html.aq-uplift body.ast-separate-container .ast-article-post,
html.aq-uplift body.ast-separate-container .comments-area { background-color: #fff; border-radius: 20px; }
html.aq-uplift body.ast-separate-container .ast-article-post .post-thumb img { border-radius: 14px; }

/* Single blog post */
html.aq-uplift body.single-post .entry-content { font-size: 18px; line-height: 1.75; }
html.aq-uplift body.single-post .entry-content :is(h2, h3) { margin-top: 1.6em; }
html.aq-uplift body.single-post .entry-content img { border-radius: 14px; }
html.aq-uplift body.single-post .entry-meta, html.aq-uplift body.single-post .entry-meta * { color: var(--aq-muted); font-size: 15px; }
html.aq-uplift .wp-block-quote, html.aq-uplift blockquote { border-left: 4px solid var(--aq-teal) !important; background: #fff; border-radius: 0 12px 12px 0; padding: 18px 22px !important; }

/* Table of contents (Easy TOC) */
html.aq-uplift #ez-toc-container { background: #fff !important; border: 1px solid var(--aq-line) !important; border-radius: 16px !important; padding: 20px 24px !important; box-shadow: none !important; }
html.aq-uplift #ez-toc-container .ez-toc-title { font-family: var(--aq-display); font-weight: 700; color: var(--aq-text); }
html.aq-uplift #ez-toc-container a { color: var(--aq-teal-dk) !important; }

/* Buttons (WordPress, Astra, WooCommerce) */
html.aq-uplift body.theme-astra :where(.wp-block-button__link, .ast-button, .button, button.button, input[type="submit"], input[type="button"], .wc-block-components-button:not(.is-link), .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit) {
	background-color: var(--aq-teal) !important;
	color: var(--aq-deep) !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: var(--aq-body) !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: background-color .15s ease;
}
html.aq-uplift body.theme-astra :where(.wp-block-button__link, .ast-button, .button, button.button, input[type="submit"], input[type="button"], .wc-block-components-button:not(.is-link), .woocommerce a.button, .woocommerce button.button, .woocommerce input.button):hover {
	background-color: var(--aq-teal-lt) !important;
	color: var(--aq-deep) !important;
}
html.aq-uplift body.theme-astra .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent !important; color: var(--aq-text) !important; box-shadow: inset 0 0 0 2px var(--aq-text); }

/* Form fields (Astra, WooCommerce, comments) */
html.aq-uplift body.theme-astra :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], select, textarea):not(.aq-search-form input) {
	border: 1.5px solid #C9BEAA !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	color: var(--aq-text) !important;
	font-family: var(--aq-body) !important;
	box-shadow: none !important;
}
html.aq-uplift body.theme-astra :is(input, select, textarea):focus { border-color: var(--aq-teal-dk) !important; outline: 2px solid rgba(52,181,170,.35); outline-offset: 1px; }

/* Search results and archives */
html.aq-uplift body.search .ast-article-post, html.aq-uplift body.archive:not(.woocommerce) .ast-article-post { border-radius: 18px; }

/* 7. WooCommerce ------------------------------------------------------------- */
/* Shop grid */
html.aq-uplift .woocommerce ul.products li.product,
html.aq-uplift .woocommerce-page ul.products li.product {
	background: #fff; border-radius: 18px; overflow: hidden; padding: 0 0 18px !important;
	transition: box-shadow .2s ease, transform .2s ease;
}
html.aq-uplift .woocommerce ul.products li.product:hover { box-shadow: 0 16px 36px rgba(11,22,24,.12); transform: translateY(-2px); }
html.aq-uplift .woocommerce ul.products li.product .astra-shop-thumbnail-wrap { margin-bottom: 14px; overflow: hidden; }
html.aq-uplift .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { margin: 0 !important; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; transition: transform .4s ease; }
html.aq-uplift .woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img { transform: scale(1.04); }
html.aq-uplift .woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 0 18px; }
html.aq-uplift .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; font-weight: 700; line-height: 1.3; color: var(--aq-text) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html.aq-uplift .woocommerce ul.products li.product .ast-woo-product-category { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--aq-muted); }
html.aq-uplift .woocommerce ul.products li.product .price { color: var(--aq-text) !important; font-weight: 700; font-size: 17px; }
html.aq-uplift .woocommerce ul.products li.product .button { margin-top: 10px; min-height: 42px; display: inline-flex; align-items: center; }
@media (max-width: 600px) {
	html.aq-uplift .woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 0 12px; }
	html.aq-uplift .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
	html.aq-uplift .woocommerce ul.products li.product .button { width: 100%; justify-content: center; padding: 0 10px !important; font-size: 15px !important; white-space: nowrap; }
}
html.aq-uplift .woocommerce span.onsale, html.aq-uplift .woocommerce ul.products li.product .onsale { background: var(--aq-teal) !important; color: var(--aq-deep) !important; border-radius: 999px !important; font-weight: 700; min-height: 0; line-height: 1; padding: 8px 12px; }
html.aq-uplift .woocommerce .woocommerce-result-count { color: var(--aq-muted); }
html.aq-uplift .woocommerce .woocommerce-ordering select { min-height: 44px; }
html.aq-uplift .woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 6px; }
html.aq-uplift .woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
html.aq-uplift .woocommerce nav.woocommerce-pagination ul li :is(a, span) { border-radius: 10px; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--aq-text); }
html.aq-uplift .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--aq-ink); color: #fff; }

/* 4 per row on desktop, 3 on small laptops/tablets, 2 on phones */
@media (min-width: 1100px) {
	html.aq-uplift .woocommerce ul.products:not(.related ul.products):not(.upsells ul.products),
	html.aq-uplift .woocommerce-page ul.products:not(.related ul.products):not(.upsells ul.products) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 768px) and (max-width: 1099px) {
	html.aq-uplift .woocommerce ul.products, html.aq-uplift .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
html.aq-uplift .woocommerce ul.products { gap: 22px !important; }

/* Search bar above the shop grid */
html.aq-uplift .aq-shop-search { clear: both; margin: 4px 0 28px; }
html.aq-uplift .aq-shop-search-form { max-width: none; margin: 0; padding: 6px 6px 6px 18px; border: 1.5px solid #D8CDBA; border-radius: 14px; background: #fff; box-shadow: 0 6px 18px rgba(11,22,24,.06); font-family: var(--aq-body); }
html.aq-uplift .aq-shop-search-form:focus-within { border-color: var(--aq-teal-dk); }
html.aq-uplift .aq-shop-search-form input[type="search"] { height: 50px !important; font-size: 17px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.aq-uplift .aq-shop-search-form button { min-height: 50px !important; padding: 0 26px !important; border-radius: 10px !important; background: var(--aq-ink) !important; color: #fff !important; font: 700 16px var(--aq-body) !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
html.aq-uplift .aq-shop-search-form button:hover { background: var(--aq-teal-dk) !important; }
html.aq-uplift .aq-shop-search-form .aq-ico { color: var(--aq-muted); }
@media (max-width: 480px) {
	html.aq-uplift .aq-shop-search-form button { padding: 0 16px !important; }
	html.aq-uplift .aq-shop-search-form input[type="search"] { font-size: 16px !important; }
}

/* Single product */
/* "Usage Terms" and the closing lines of each description in a darker box */
html.aq-uplift .aq-terms-box { background: var(--aq-sand-2); border-radius: 14px; padding: 22px 26px; margin-top: 26px; color: #2A3533; }
html.aq-uplift .aq-terms-box > p:first-child { margin-top: 0; }
html.aq-uplift .aq-terms-box > p:last-child { margin-bottom: 0; }
html.aq-uplift .aq-terms-box > p + p { padding-top: 18px; margin-top: 18px; border-top: 1px solid #D8CDBA; }
html.aq-uplift .woocommerce div.product .product_title { font-size: clamp(28px, 3.2vw, 40px); font-weight: 800; line-height: 1.1; }
html.aq-uplift .woocommerce div.product p.price, html.aq-uplift .woocommerce div.product span.price { color: var(--aq-text) !important; font-family: var(--aq-display); font-weight: 800; font-size: 30px; }
html.aq-uplift .woocommerce div.product .woocommerce-product-gallery__wrapper img, html.aq-uplift .woocommerce div.product .flex-control-thumbs img { border-radius: 14px; }
html.aq-uplift .woocommerce div.product .flex-control-thumbs { gap: 8px; }
html.aq-uplift .woocommerce div.product form.cart .single_add_to_cart_button { min-height: 54px; padding: 0 32px !important; font-size: 17px !important; }
html.aq-uplift .woocommerce div.product form.cart .quantity .qty { min-height: 54px; border-radius: 10px; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs { border: 0; padding: 0; margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 1.5px solid var(--aq-line) !important; border-radius: 999px !important; margin: 0 !important; padding: 0 !important; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs li::before, html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 18px !important; font-weight: 700; color: var(--aq-text) !important; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--aq-ink) !important; border-color: var(--aq-ink) !important; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
html.aq-uplift .woocommerce div.product .woocommerce-tabs .panel { background: #fff; border-radius: 18px; padding: 28px 32px; font-size: 17px; line-height: 1.7; }
html.aq-uplift .woocommerce div.product .entry-summary a:not(.button):not(.wc-block-components-button) { color: var(--aq-teal-dk); }
html.aq-uplift .woocommerce .woocommerce-breadcrumb, html.aq-uplift .woocommerce .woocommerce-breadcrumb a, html.aq-uplift .ast-breadcrumbs, html.aq-uplift .ast-breadcrumbs a { color: var(--aq-muted) !important; }
html.aq-uplift .woocommerce div.product .product_meta { color: var(--aq-muted); font-size: 15px; }
html.aq-uplift .woocommerce div.product .product_meta a { color: var(--aq-teal-dk); }
html.aq-uplift .woocommerce .related.products > h2, html.aq-uplift .woocommerce .upsells.products > h2 { font-size: 30px; font-weight: 800; }

/* Notices */
html.aq-uplift :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) { border-radius: 12px !important; border-top-color: var(--aq-teal) !important; }
html.aq-uplift .woocommerce-message::before, html.aq-uplift .woocommerce-info::before { color: var(--aq-teal-dk) !important; }

/* Cart and checkout (blocks) */
html.aq-uplift :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) { font-family: var(--aq-body); }
html.aq-uplift .wc-block-components-sidebar-layout .wc-block-components-sidebar,
html.aq-uplift .wc-block-cart .wc-block-cart__totals-title { font-family: var(--aq-display); }
html.aq-uplift .wc-block-components-sidebar-layout .wc-block-components-sidebar > div,
html.aq-uplift .wp-block-woocommerce-cart-totals-block,
html.aq-uplift .wp-block-woocommerce-checkout-order-summary-block { background: #fff; border-radius: 18px; padding: 8px 20px 20px; }
html.aq-uplift .wc-block-components-product-name { color: var(--aq-text) !important; font-weight: 700; }
html.aq-uplift .wc-block-cart-items .wc-block-cart-item__image img { border-radius: 10px; }
html.aq-uplift .wc-block-components-text-input input, html.aq-uplift .wc-block-components-combobox input, html.aq-uplift .wc-blocks-components-select select { border-radius: 10px !important; }

/* My account */
html.aq-uplift .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; background: #fff; border-radius: 16px; overflow: hidden; }
html.aq-uplift .woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--aq-sand-2); }
html.aq-uplift .woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; color: var(--aq-text); font-weight: 600; text-decoration: none; }
html.aq-uplift .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--aq-ink); color: #fff; }
html.aq-uplift .woocommerce form.login, html.aq-uplift .woocommerce form.register, html.aq-uplift .woocommerce form.checkout_coupon, html.aq-uplift .woocommerce form.lost_reset_password { background: #fff; border: 0 !important; border-radius: 18px !important; padding: 28px !important; }

/* 8. Nicepage pages, Forminator, extras ------------------------------------ */
/* Hide the old Nicepage header and footer; ours replace them. */
html.aq-np body.u-body > header.u-header,
html.aq-np body.u-body > footer.u-footer,
html.aq-np body.u-body > .u-header,
html.aq-np body.u-body > .u-footer { display: none !important; }

/* Nicepage typography and buttons in the new style (layout and colours stay). */
html.aq-np body.u-body { font-family: var(--aq-body); }
html.aq-np body.u-body :is(.u-section-1, .u-section-2, .u-section-3, .u-section-4, .u-section-5, .u-section-6, .u-section-7, .u-section-8, .u-section-9, .u-section-10, section) :is(h1, h2, h3, h4) { font-family: var(--aq-display) !important; letter-spacing: -.015em; }
html.aq-np body.u-body section :is(p, li, .u-text):not(h1):not(h2):not(h3):not(h4) { font-family: var(--aq-body); }
html.aq-np body.u-body section .u-btn { font-family: var(--aq-body) !important; font-weight: 700 !important; letter-spacing: .02em; border-radius: 10px !important; transition: background-color .15s ease, transform .15s ease; }
html.aq-np body.u-body section .u-btn:hover { transform: translateY(-1px); }
html.aq-np body.u-body section :is(input[type="text"], input[type="email"], input[type="tel"], textarea, select) { border-radius: 10px; font-family: var(--aq-body); }

/* Forminator forms (contact, custom design, license registration, waiting list). Looks only. */
html.aq-uplift .forminator-ui.forminator-custom-form { font-family: var(--aq-body) !important; }
html.aq-uplift .forminator-ui.forminator-custom-form :is(.forminator-label, .forminator-description, .forminator-checkbox-label, .forminator-radio-label) { font-family: var(--aq-body) !important; color: var(--aq-text) !important; }
html.aq-uplift .forminator-ui.forminator-custom-form .forminator-label { font-weight: 700 !important; font-size: 15px !important; }
html.aq-uplift .forminator-ui.forminator-custom-form :is(.forminator-input, .forminator-textarea, select.forminator-select--field, .forminator-select2 + .select2 .select2-selection) {
	background-color: #fff !important;
	border: 1.5px solid #C9BEAA !important;
	border-radius: 10px !important;
	color: var(--aq-text) !important;
	font-family: var(--aq-body) !important;
	font-size: 16px !important;
	min-height: 48px;
}
html.aq-uplift .forminator-ui.forminator-custom-form :is(.forminator-input, .forminator-textarea):focus { border-color: var(--aq-teal-dk) !important; box-shadow: 0 0 0 3px rgba(52,181,170,.25) !important; }
html.aq-uplift .forminator-ui.forminator-custom-form .forminator-button-submit,
html.aq-uplift .forminator-ui.forminator-custom-form .forminator-button:not(.forminator-button-back) {
	background-color: var(--aq-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: var(--aq-body) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	min-height: 50px;
	padding: 0 28px !important;
	box-shadow: none !important;
}
html.aq-uplift .forminator-ui.forminator-custom-form .forminator-button-submit:hover { background-color: var(--aq-teal-dk) !important; }
html.aq-uplift .forminator-ui.forminator-custom-form .forminator-checkbox .forminator-checkbox-box { border-radius: 5px !important; }

/* MailPoet: fonts only, the forms keep their own layout. */
html.aq-uplift .mailpoet_form :is(.mailpoet_text, .mailpoet_paragraph, input, label) { font-family: var(--aq-body) !important; }
html.aq-uplift .mailpoet_form .mailpoet_submit { border-radius: 10px !important; font-family: var(--aq-body) !important; font-weight: 700 !important; }

/* Keep the MailPoet bottom bar above our footer spacing */
html.aq-uplift .mailpoet_form_fixed_bar { z-index: 9995 !important; }

/* Astra leftovers we no longer use */
html.aq-uplift body.theme-astra #masthead,
html.aq-uplift body.theme-astra #ast-mobile-header,
html.aq-uplift body.theme-astra #ast-desktop-header,
html.aq-uplift body.theme-astra .site-footer#colophon { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	.aq-uplift *, .aq-uplift *::before, .aq-uplift *::after { transition: none !important; }
}
