/*
 * High Tech Horned Toad Software — design system
 * Complements Divi 5's global colors and fonts. Page layouts are native Divi
 * modules; these classes are applied through each module's "CSS Class" field.
 */

/* ---------- Fonts (self-hosted, SIL OFL — see assets/fonts/OFL-*.txt) ---------- */
@font-face { font-family: "HTHT Bitter"; src: url(../fonts/bitter-latin.woff2) format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "HTHT Bitter"; src: url(../fonts/bitter-italic-latin.woff2) format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "HTHT Source Sans"; src: url(../fonts/source-sans-3-latin.woff2) format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "HTHT Source Sans"; src: url(../fonts/source-sans-3-italic-latin.woff2) format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }

:root {
	--htht-slate: #243746;
	--htht-slate-deep: #1A2934;
	--htht-teal: #187F83;
	--htht-teal-dark: #156E72;
	--htht-teal-light: #7FD1CF;
	--htht-terracotta: #C66B49;
	--htht-terracotta-dark: #A9502F;
	--htht-terracotta-light: #E39A7B;
	--htht-sand: #E8D4B3;
	--htht-sand-soft: #F1E5D0;
	--htht-offwhite: #F8F5EF;
	--htht-charcoal: #263238;
	--htht-muted: #4A5A63;
	--htht-sage: #829782;
	--htht-sage-dark: #5E735E;
	--htht-font-head: "HTHT Bitter", Georgia, "Times New Roman", serif;
	--htht-font-body: "HTHT Source Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	--htht-radius: 14px;
	--htht-radius-lg: 22px;
	--htht-shadow: 0 1px 2px rgba(36, 55, 70, .06), 0 8px 24px rgba(36, 55, 70, .08);
	--htht-shadow-lg: 0 2px 4px rgba(36, 55, 70, .06), 0 18px 48px rgba(36, 55, 70, .14);
}

/* ---------- Base typography ---------- */
body.htht,
body.htht #page-container {
	background: var(--htht-offwhite);
}
body.htht,
.htht .et_pb_text,
.htht .et_pb_module {
	font-family: var(--htht-font-body);
	color: var(--htht-charcoal);
}
body.htht { font-size: 18px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.htht h1, body.htht h2, body.htht h3, body.htht h4, body.htht h5, body.htht h6,
.htht .et_pb_section h1, .htht .et_pb_section h2, .htht .et_pb_section h3, .htht .et_pb_section h4 {
	font-family: var(--htht-font-head);
	color: var(--htht-slate);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -.01em;
	padding-bottom: .4em;
}
body.htht .et_pb_section h1 { font-size: clamp(2.3rem, 1.6rem + 3vw, 3.9rem); font-weight: 800; }
body.htht .et_pb_section h2 { font-size: clamp(1.8rem, 1.4rem + 1.7vw, 2.6rem); }
body.htht .et_pb_section h3 { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); }
body.htht .et_pb_section h4 { font-size: 1.15rem; }
body.htht .et_pb_section .htht-card h2 { font-size: clamp(1.35rem, 1.2rem + .5vw, 1.6rem); }
body.htht .et_pb_section .htht-card h3 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); }
.htht .et_pb_text p { padding-bottom: 1em; }
.htht .et_pb_text p:last-child { padding-bottom: 0; }
.htht .et_pb_text ul, .htht .et_pb_text ol { padding-bottom: 1em; line-height: 1.65; }
.htht .et_pb_text li { margin-bottom: .35em; }
.htht a { color: var(--htht-teal-dark); text-underline-offset: .18em; }
.htht .et_pb_text a { text-decoration: underline; text-decoration-thickness: 1px; }
.htht .et_pb_text a:hover { color: var(--htht-terracotta-dark); }
.htht strong { color: inherit; font-weight: 700; }

/* Visible keyboard focus everywhere */
.htht a:focus-visible,
.htht button:focus-visible,
.htht input:focus-visible,
.htht select:focus-visible,
.htht textarea:focus-visible,
.htht .et_pb_button:focus-visible {
	outline: 3px solid var(--htht-teal);
	outline-offset: 3px;
	border-radius: 6px;
}

/* ---------- Section treatments ---------- */
.htht .et_pb_section { padding: clamp(56px, 7vw, 104px) 0; }
.htht .et_pb_row { padding: 0; width: 88%; max-width: 1180px; }
.htht .et_pb_row + .et_pb_row { margin-top: clamp(28px, 4vw, 48px); }

.htht-band-offwhite { background-color: var(--htht-offwhite) !important; }
.htht-band-sand { background-color: var(--htht-sand-soft) !important; }
.htht-band-white { background-color: #fff !important; }
.htht-band-slate {
	background-color: var(--htht-slate) !important;
	background-image: radial-gradient(1200px 400px at 85% -10%, rgba(24, 127, 131, .35), transparent 60%),
		radial-gradient(900px 380px at -10% 110%, rgba(198, 107, 73, .25), transparent 60%) !important;
}
.htht-band-slate,
.htht-band-slate .et_pb_text,
.htht-band-slate p { color: #E9EEF1; }
body.htht .htht-band-slate h1, body.htht .htht-band-slate h2, body.htht .htht-band-slate h3, body.htht .htht-band-slate h4 { color: var(--htht-offwhite); }
.htht-band-slate .et_pb_text a { color: var(--htht-teal-light); }
.htht-band-slate .et_pb_text a:hover { color: var(--htht-sand); }

/* Subtle mesa-ridge divider along the bottom of hero bands */
.htht-ridge { position: relative; overflow: hidden; }
.htht-ridge::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: clamp(28px, 4vw, 56px);
	background: var(--htht-offwhite);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V38l120-6 70-20 90 4 60 14 160-4 80-18 110 2 70 16 190 2 90-22 140 6 60 16 150-2 50-12v84z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V38l120-6 70-20 90 4 60 14 160-4 80-18 110 2 70 16 190 2 90-22 140 6 60 16 150-2 50-12v84z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
	pointer-events: none;
}
.htht-ridge.htht-ridge--sand::after { background: var(--htht-sand-soft); }
.htht-ridge.htht-ridge--white::after { background: #fff; }

/* ---------- Small type elements ---------- */
.htht-eyebrow,
.htht .htht-eyebrow p {
	font-family: var(--htht-font-body);
	font-size: .82rem !important;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--htht-teal-dark) !important;
	margin-bottom: .35rem;
}
.htht-band-slate .htht-eyebrow,
.htht-band-slate .htht-eyebrow p { color: var(--htht-teal-light) !important; }
.htht-lede, .htht .htht-lede p { font-size: clamp(1.1rem, 1rem + .45vw, 1.3rem); line-height: 1.6; color: var(--htht-muted); }
.htht-band-slate .htht-lede, .htht-band-slate .htht-lede p { color: #D6DEE3; }
.htht-tagline { font-family: var(--htht-font-head); font-style: italic; color: var(--htht-terracotta-light) !important; font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); font-weight: 600; }
.htht-center, .htht-center .et_pb_text_inner { text-align: center; }
.htht-narrow { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
/* Interior page heroes: text starts at the row edge, in line with the content below */
.htht-page-hero .htht-narrow { margin-left: 0 !important; }
.htht-muted.htht-center p, .htht-center h2 { text-wrap: balance; }

/* ---------- Buttons ---------- */
.htht .et_pb_button,
.htht .htht-btn,
.htht .et_pb_contact_submit {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	font-family: var(--htht-font-body) !important;
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
	line-height: 1.2 !important;
	padding: .9em 1.5em !important;
	min-height: 48px;
	border-radius: 999px !important;
	border: 2px solid var(--htht-terracotta-dark) !important;
	background: var(--htht-terracotta-dark) !important;
	color: #fff !important;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
	cursor: pointer;
}
.htht .et_pb_button::after { display: none !important; }
.htht .et_pb_button:hover,
.htht .htht-btn:hover,
.htht .et_pb_contact_submit:hover {
	background: #8F4227 !important;
	border-color: #8F4227 !important;
	color: #fff !important;
	padding: .9em 1.5em !important;
	transform: translateY(-1px);
}
.htht .htht-btn-secondary .et_pb_button,
.htht a.et_pb_button.htht-btn-secondary,
.htht .htht-btn--ghost {
	background: transparent !important;
	color: var(--htht-slate) !important;
	border-color: var(--htht-slate) !important;
}
.htht .htht-btn-secondary .et_pb_button:hover,
.htht a.et_pb_button.htht-btn-secondary:hover,
.htht .htht-btn--ghost:hover {
	background: var(--htht-slate) !important;
	color: #fff !important;
	border-color: var(--htht-slate) !important;
}
.htht-band-slate a.et_pb_button.htht-btn-secondary,
.htht-band-slate .htht-btn-secondary .et_pb_button {
	color: var(--htht-offwhite) !important;
	border-color: rgba(248, 245, 239, .7) !important;
}
.htht-band-slate a.et_pb_button.htht-btn-secondary:hover,
.htht-band-slate .htht-btn-secondary .et_pb_button:hover {
	background: var(--htht-offwhite) !important;
	color: var(--htht-slate) !important;
}
.htht-button-row .et_pb_column { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.htht-button-row .et_pb_column .et_pb_module { margin-bottom: 0 !important; }
.htht-button-row.htht-center .et_pb_column { justify-content: center; }
.htht .htht-linkbutton { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }

/* ---------- Badges & placeholders ---------- */
.htht-badge {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .45em 1em;
	border-radius: 999px;
	font-family: var(--htht-font-body);
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.2;
}
.htht-badge--soon { background: var(--htht-sand); color: var(--htht-slate); border: 1px solid #D7BE95; }
.htht-badge--soon::before { content: ""; width: .55em; height: .55em; border-radius: 50%; background: var(--htht-terracotta); box-shadow: 0 0 0 3px rgba(198, 107, 73, .25); }
.htht-band-slate .htht-badge--soon { background: rgba(232, 212, 179, .14); color: var(--htht-sand); border-color: rgba(232, 212, 179, .35); }
.htht-placeholder {
	display: inline-block;
	padding: .05em .45em;
	border: 1px dashed var(--htht-terracotta-dark);
	border-radius: 6px;
	background: #FBEFE9;
	color: #7E3A21;
	font-size: .92em;
	font-weight: 600;
}
.htht-notice {
	border-left: 5px solid var(--htht-terracotta);
	background: #FBEFE9;
	padding: 1em 1.25em;
	border-radius: 0 var(--htht-radius) var(--htht-radius) 0;
	color: #5A2B19;
}
.htht-notice strong { color: #5A2B19; }

/* ---------- Cards ---------- */
.htht-card {
	background: #fff;
	border-radius: var(--htht-radius-lg);
	box-shadow: var(--htht-shadow);
	padding: clamp(24px, 3vw, 36px) !important;
	border: 1px solid rgba(36, 55, 70, .08);
	height: 100%;
}
.htht-cards .et_pb_column { display: flex; flex-direction: column; }
.htht-cards .et_pb_column > .et_pb_module { flex: 1; margin-bottom: 0 !important; }
.htht-card h3 { margin-top: .2em; }
.htht-card .htht-card__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 16px; background: var(--htht-sand-soft); margin-bottom: 16px; }
.htht-card .htht-card__icon svg { width: 36px; height: 36px; stroke: var(--htht-teal-dark); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.htht-band-sand .htht-card { background: #fff; }

/* Product showcase card (Software page / home feature) */
.htht-product {
	background: var(--htht-slate);
	border-radius: var(--htht-radius-lg);
	overflow: hidden;
	box-shadow: var(--htht-shadow-lg);
}
.htht-product .et_pb_column { padding: clamp(28px, 4vw, 52px); }
.htht-product, .htht-product p, .htht-product .et_pb_text { color: #E3EAEE; }
body.htht .htht-product h2, body.htht .htht-product h3 { color: var(--htht-offwhite); }
.htht-product .htht-eyebrow, .htht-product .htht-eyebrow p { color: var(--htht-teal-light) !important; }
.htht-product .htht-badge--soon { background: rgba(232, 212, 179, .14); color: var(--htht-sand); border-color: rgba(232, 212, 179, .35); }
.htht-product a.et_pb_button.htht-btn-secondary { color: var(--htht-offwhite) !important; border-color: rgba(248, 245, 239, .7) !important; }
.htht-product .htht-art-col { background: radial-gradient(circle at 50% 45%, #2E5A5C 0%, #1F3A44 55%, #172A33 100%); display: flex; align-items: center; justify-content: center; }
.htht-product .htht-art-col .et_pb_image_wrap img,
.htht-product .htht-art-col img { max-width: 360px; width: 100%; height: auto; }

/* Illustration sizing (SVG artwork) */
.htht-hero-mascot img, .htht-about-mascot img { width: 100%; max-width: 400px; height: auto; }
.htht-hero-mascot img { filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .28)); }
.htht-lt-art img { width: 100%; max-width: 440px; height: auto; border-radius: 44px; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
.htht-lt-support-art img { width: 100%; max-width: 240px; height: auto; border-radius: 30px; }
.htht-art img { width: 100%; max-width: 360px; height: auto; border-radius: 36px; box-shadow: 0 18px 40px rgba(0, 0, 0, .3); }
.htht-hero-row, .htht-lonetoad-hero .et_pb_row:first-child { display: flex; flex-wrap: wrap; align-items: center; }
.htht-product-actions .et_pb_button_module_wrapper,
.htht-product .et_pb_button_module_wrapper { display: inline-block; margin: 0 12px 12px 0 !important; }
.htht-cta-row { display: flex; flex-wrap: wrap; align-items: center; }
/* Closing CTA: a dark panel on the light canvas, so it never runs into the dark footer */
.htht-band-slate.htht-cta-band { background: var(--htht-offwhite) !important; }
.htht-cta-band .htht-cta-row {
	background-color: var(--htht-slate);
	background-image: radial-gradient(900px 320px at 90% -20%, rgba(24, 127, 131, .35), transparent 60%),
		radial-gradient(700px 300px at -10% 120%, rgba(198, 107, 73, .25), transparent 60%);
	border-radius: var(--htht-radius-lg);
	box-shadow: var(--htht-shadow-lg);
	padding: clamp(28px, 4.5vw, 56px) !important;
}
.htht-cta-actions { display: flex !important; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.htht-cta-actions .et_pb_module { margin-bottom: 0 !important; }
.htht-card--stacked { margin-top: 24px; }
.htht-muted, .htht-muted p { color: var(--htht-muted); }
.htht-form-note { font-size: .95rem; color: var(--htht-muted); margin-top: 12px; }

/* Feature list */
/* Divi's ".et-l--body ul { list-style-type: disc }" outranks a single class; the checkmark is the only marker */
.htht .et_pb_text ul.htht-features,
.htht-features { list-style: none !important; padding: 0 !important; margin: 0; display: grid; gap: 14px; }
.htht-features li::marker { content: none; }
.htht-features li { position: relative; padding-left: 34px; margin: 0; }
.htht-features li::before {
	content: "";
	position: absolute; left: 0; top: .32em;
	width: 20px; height: 20px; border-radius: 6px;
	background: var(--htht-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}

/* Screenshot placeholders — clearly not real captures */
.htht-shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2.5vw, 28px); }
.htht-shot {
	aspect-ratio: 9 / 19.5;
	border-radius: 34px;
	border: 2px dashed rgba(36, 55, 70, .35);
	background: repeating-linear-gradient(135deg, rgba(232, 212, 179, .45) 0 14px, rgba(232, 212, 179, .2) 14px 28px), #fff;
	display: grid;
	place-items: center;
	text-align: center;
	padding: 18px;
	color: var(--htht-muted);
	font-size: .95rem;
	font-weight: 600;
}
.htht-shot span { display: block; max-width: 14ch; }
.htht-shot--ipad { aspect-ratio: 4 / 3; border-radius: 22px; }

/* Lone Toad product personality */
.htht-lonetoad-hero {
	background-color: #14313A !important;
	background-image:
		radial-gradient(700px 360px at 80% 30%, rgba(127, 209, 207, .22), transparent 65%),
		radial-gradient(800px 420px at 10% 100%, rgba(198, 107, 73, .30), transparent 60%),
		linear-gradient(180deg, #172F3B 0%, #12303A 100%) !important;
}
.htht-lonetoad-hero h1 { letter-spacing: .01em; }
.htht-lonetoad-hero .htht-tagline { color: var(--htht-sand) !important; }

/* Simple two-column definition rows on legal/support pages */
.htht-legal h2 { font-size: clamp(1.35rem, 1.2rem + .7vw, 1.7rem); margin-top: 1.4em; }
.htht-legal h2:first-child { margin-top: 0; }
.htht-legal h3 { font-size: 1.15rem; margin-top: 1em; }
.htht-legal .et_pb_text_inner { max-width: 78ch; }
.htht-toc { background: #fff; border-radius: var(--htht-radius); padding: 1.1em 1.4em; border: 1px solid rgba(36, 55, 70, .1); }
.htht-toc ol { margin: 0; padding-left: 1.2em !important; }

/* Support listing */
.htht-support-item {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 20px;
	align-items: start;
}
.htht-support-item__art { margin: 0; }
.htht-support-item img { display: block; width: 72px; height: 72px; border-radius: 18px; }
/* Guard: an empty <p> from wpautop must never become a grid cell */
.htht-support-item > p:empty { display: none; }

/* FAQ placeholder entries */
.htht-faq details {
	background: #fff;
	border: 1px solid rgba(36, 55, 70, .12);
	border-radius: var(--htht-radius);
	padding: .9em 1.2em;
	margin-bottom: 12px;
}
.htht-faq summary { cursor: pointer; font-weight: 700; color: var(--htht-slate); min-height: 28px; }
.htht-faq details[open] summary { margin-bottom: .5em; }

/* ---------- Contact form (Divi Contact Form module) ---------- */
.htht .et_pb_contact_form_container .et_pb_contact_form_label,
.htht .et_pb_contact_form_container label {
	display: block !important;
	position: static !important;
	clip: auto !important;
	width: auto !important;
	height: auto !important;
	font-weight: 700;
	font-size: .95rem;
	color: var(--htht-slate);
	margin-bottom: 6px;
}
.htht .et_pb_contact_form_container input.input,
.htht .et_pb_contact_form_container textarea.input,
.htht .et_pb_contact_form_container select,
.htht .et_pb_contact_form_container .et_pb_contact_select {
	background: #fff !important;
	border: 1.5px solid #C9C1B3 !important;
	border-radius: 10px !important;
	color: var(--htht-charcoal) !important;
	font-family: var(--htht-font-body) !important;
	font-size: 1rem !important;
	padding: 14px 16px !important;
	min-height: 50px;
}
.htht .et_pb_contact_form_container input.input:focus,
.htht .et_pb_contact_form_container textarea.input:focus,
.htht .et_pb_contact_form_container select:focus {
	border-color: var(--htht-teal) !important;
	box-shadow: 0 0 0 3px rgba(24, 127, 131, .2);
}
.htht .et_pb_contact_form_container .et_contact_error { border-color: #B3261E !important; }
.htht .et-pb-contact-message { font-weight: 600; color: var(--htht-slate); }
.htht .et-pb-contact-message ul { color: #8C1D18; }
.htht .et_pb_contact_captcha_question { color: var(--htht-slate); font-weight: 700; }
.htht .et_pb_contact_form_container textarea.input { min-height: 180px; resize: vertical; }
/* Captcha and submit share one tidy row; they stack full-width on phones */
.htht .htht-contact-form .et_contact_bottom_container {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 16px; width: 100%; margin: 8px 0 0 !important; float: none;
}
.htht .htht-contact-form .et_pb_contact_right { width: auto; min-width: 0; margin: 0 !important; padding: 0 !important; text-align: left; }
.htht .htht-contact-form .et_pb_contact_right p { padding: 0; }
.htht .htht-contact-form .et_pb_contact_right label {
	display: inline-flex !important; align-items: center; gap: 10px;
	margin: 0; font-size: 1rem;
}
.htht .htht-contact-form input.et_pb_contact_captcha { width: 72px !important; min-height: 48px; text-align: center; padding: 10px !important; }
.htht .htht-contact-form .et_pb_button_wrapper { margin: 0; }
@media (max-width: 767px) {
	.htht .htht-contact-form .et_pb_contact_field { width: 100% !important; margin-left: 0 !important; }
	.htht .htht-contact-form .et_contact_bottom_container { flex-direction: column; align-items: stretch; }
	.htht .htht-contact-form .et_pb_button_wrapper,
	.htht .htht-contact-form .et_pb_contact_submit { width: 100%; justify-content: center; }
	.htht .htht-card--stacked { margin-top: 20px; }
}

/* ---------- Header (Theme Builder header layout) ---------- */
.htht-header .et_pb_menu { background: transparent !important; }
.htht-header {
	background: rgba(248, 245, 239, .96) !important;
	border-bottom: 1px solid rgba(36, 55, 70, .1);
	padding: 0 !important;
}
.htht-header .et_pb_row { padding: 10px 0 !important; }
.htht-header .et_pb_menu__logo img,
.htht-header .et_pb_menu__logo-wrap img { max-height: 64px; width: auto; }
.htht-header .et-menu > li > a,
.htht-header .et_pb_menu__menu > nav > ul > li > a {
	font-family: var(--htht-font-body);
	font-weight: 700;
	font-size: 1.02rem;
	color: var(--htht-slate) !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	position: relative;
}
.htht-header .et-menu > li > a::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: 2px;
	height: 3px; border-radius: 2px;
	background: var(--htht-terracotta);
	transform: scaleX(0);
	transition: transform .2s ease;
}
.htht-header .et-menu > li > a:hover::after,
.htht-header .et-menu > li.current-menu-item > a::after,
.htht-header .et-menu > li.current-menu-ancestor > a::after,
.htht-header .et-menu > li.current-page-ancestor > a::after { transform: scaleX(1); }
.htht-header .et-menu > li { padding-left: 14px; padding-right: 14px; }
/* Logo left, menu flush right and vertically centred on the logo */
.htht-header .et_pb_menu_inner_container { align-items: center; }
.htht-header .et_pb_menu__wrap { flex: 1 1 auto; justify-content: flex-end; align-items: center; }
.htht-header .et_pb_menu__menu > nav > ul { align-items: center; }
.htht-header .et-menu > li:last-child { padding-right: 0; }
.htht-header .mobile_menu_bar::before { color: var(--htht-slate) !important; font-size: 34px; }
.htht-header .mobile_menu_bar {
	display: inline-grid; place-items: center;
	min-width: 48px; min-height: 48px; border-radius: 10px;
	transition: background-color .2s ease;
}
.htht-header .mobile_menu_bar::before { line-height: 1; top: 0; }
/* Open state: the hamburger becomes a close (×) icon on a tinted button */
.htht-header .mobile_nav.opened .mobile_menu_bar { background: var(--htht-sand-soft); }
.htht-header .mobile_nav.opened .mobile_menu_bar::before { content: "\4d"; }
.htht-header .et_mobile_nav_menu { padding: 0; }
.htht-header .et_mobile_menu li a:hover,
.htht-header .et_mobile_menu li.current-menu-item > a { background: var(--htht-sand-soft); }
.htht-header .et_mobile_menu li.current-menu-item > a { box-shadow: inset 4px 0 0 var(--htht-terracotta); }
.htht-header .et_mobile_menu { border-top: 3px solid var(--htht-terracotta) !important; background: var(--htht-offwhite) !important; }
.htht-header .et_mobile_menu li a { color: var(--htht-slate) !important; font-weight: 700; font-size: 1.05rem; padding: 14px 6% !important; }

/* ---------- Footer (Theme Builder footer layout) ---------- */
.htht-footer {
	background-color: var(--htht-slate-deep) !important;
	color: #C9D3D9;
	padding: clamp(48px, 6vw, 80px) 0 28px !important;
	border-top: 4px solid var(--htht-terracotta);
}
.htht-footer .et_pb_text, .htht-footer p, .htht-footer li { color: #C9D3D9; font-size: .98rem; }
body.htht .htht-footer h2, body.htht .htht-footer h3, body.htht .htht-footer h4 {
	color: var(--htht-sand);
	font-family: var(--htht-font-body);
	font-size: .8rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 700;
}
.htht-footer a { color: #E9EEF1 !important; text-decoration: none !important; }
.htht-footer a:hover { color: var(--htht-teal-light) !important; text-decoration: underline !important; }
.htht-footer ul { list-style: none; padding: 0 !important; margin: 0; }
.htht-footer li { margin-bottom: .55em; }
/* Link lists never break mid-label; the long email may break only at need */
.htht-footer li a { white-space: nowrap; }
.htht-footer .htht-email { overflow-wrap: anywhere; }
.htht-footer .htht-footer__tagline { font-family: var(--htht-font-head); font-style: italic; color: var(--htht-sand); font-size: 1.1rem; }
.htht-footer .htht-placeholder { background: rgba(198, 107, 73, .15); color: #F3C9B8; border-color: rgba(227, 154, 123, .7); }
.htht-footer-bottom { border-top: 1px solid rgba(233, 238, 241, .14); padding-top: 20px !important; margin-top: 36px !important; }
.htht-footer-bottom p { font-size: .9rem; color: #A9B7BF; }

/* ---------- Consent banner ---------- */
.htht-consent {
	position: fixed; z-index: 99999; left: 16px; right: 16px; bottom: 16px;
	max-width: 760px; margin: 0 auto;
	background: var(--htht-slate); color: #E9EEF1;
	border-radius: var(--htht-radius); box-shadow: var(--htht-shadow-lg);
	padding: 18px 20px; display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center;
	font-family: var(--htht-font-body); font-size: .98rem;
}
.htht-consent p { margin: 0; flex: 1 1 320px; color: #E9EEF1; }
.htht-consent a { color: var(--htht-teal-light); }
.htht-consent__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.htht-consent .htht-btn--ghost { color: #fff !important; border-color: rgba(255, 255, 255, .7) !important; }


/* ---------- Grid layouts on top of Divi rows ---------- */
.htht-cards, .htht-product, .htht-footer-main, .htht-hero-row, .htht-cta-row, .htht-contact-row { display: grid !important; gap: clamp(20px, 3vw, 36px); align-items: stretch; }
.htht-cards::before, .htht-cards::after, .htht-product::before, .htht-product::after, .htht-footer-main::before, .htht-footer-main::after,
.htht-hero-row::before, .htht-hero-row::after, .htht-cta-row::before, .htht-cta-row::after, .htht-contact-row::before, .htht-contact-row::after { display: none !important; }
.htht-cards > .et_pb_column, .htht-product > .et_pb_column, .htht-footer-main > .et_pb_column, .htht-hero-row > .et_pb_column, .htht-cta-row > .et_pb_column, .htht-contact-row > .et_pb_column { width: auto !important; margin: 0 !important; float: none !important; }
.htht-cards { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.htht-product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
.htht-footer-main { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(max-content, 1fr)); gap: clamp(24px, 3.5vw, 48px); }
.htht-hero-row { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: center; }
.htht-lonetoad-hero .htht-hero-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.htht-cta-row { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: center; }
.htht-contact-row { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
@media (max-width: 980px) {
	.htht-cards { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); }
	.htht-cards > .et_pb_column:nth-child(n) { margin-bottom: 0 !important; }
	.htht-product, .htht-hero-row, .htht-lonetoad-hero .htht-hero-row, .htht-cta-row, .htht-contact-row { grid-template-columns: minmax(0, 1fr); }
	.htht-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.htht-footer-main > .et_pb_column:first-child { grid-column: 1 / -1; }
	.htht-hero-row > .et_pb_column:last-child { order: -1; }
}
@media (min-width: 600px) and (max-width: 980px) {
	.htht-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
	.htht-footer-main { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	body.htht { font-size: 17px; }
	.htht .et_pb_row { width: 90%; }
	.htht-product .htht-art-col { min-height: 280px; }
	/* The hero art moves above the headline here, so keep it modest */
	.htht-hero-mascot img { max-width: 260px; }
	.htht-shots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.htht-cta-actions { justify-content: flex-start; }
	.htht-hero-mascot img { max-width: 200px; }
	.htht-lt-art img { max-width: 260px; border-radius: 32px; }
	.htht .et_pb_section { padding: 52px 0; }
	.htht-shots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.htht-shots .htht-shot:nth-child(3) { display: none; }
	.htht-support-item { grid-template-columns: 56px 1fr; gap: 14px; }
	.htht-support-item img { width: 56px; height: 56px; }
	.htht-header .et_pb_menu__logo img { max-height: 52px; }
	.htht-footer .et_pb_column { margin-bottom: 28px !important; }
}
@media (max-width: 479px) {
	.htht-hero-mascot img { max-width: 168px; }
	.htht-lt-art img { max-width: 220px; border-radius: 28px; }
}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.htht .et_pb_button:hover, .htht .htht-btn:hover { transform: none; }
}

/* ---------- Skip link ---------- */
.htht-skip-link {
	position: absolute; left: 12px; top: -100px; z-index: 100000;
	background: var(--htht-slate); color: #fff !important;
	padding: 12px 18px; border-radius: 10px; font-weight: 700; text-decoration: none;
}
.htht-skip-link:focus { top: 12px; outline: 3px solid var(--htht-teal-light); outline-offset: 2px; }
.htht-header .mobile_menu_bar:focus-visible { outline: 3px solid var(--htht-teal); outline-offset: 3px; }

/* Buttons placed inside hero/text columns sit side by side */
.htht-hero-row .et_pb_button_module_wrapper,
.htht-404-row .et_pb_button_module_wrapper { display: inline-block; margin: 8px 12px 0 0 !important; }

/* Divi's #main-content defaults to white; keep the warm canvas between sections */
body.htht #main-content { background-color: var(--htht-offwhite); }
