/*
Theme Name:   Masthead for The Last Plugin
Theme URI:    https://automatedintelligentsolutions.com/the-last-plugin
Description:  Warm, local, reader-friendly starter theme for publications running The Last Plugin. Child of Hello Elementor. Pairs with the Masthead Elementor kit (header, footer, article, archive, podcast, video, newsletter, subscribe and contributor pages) and ships a one-click demo content installer under Appearance > Masthead Starter.
Author:       Automated Intelligent Solutions, Inc.
Author URI:   https://automatedintelligentsolutions.com
Template:     hello-elementor
Version:      1.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  tlp-masthead
*/

/* ------------------------------------------------------------------
   1. Tokens. Elementor global colors win when the kit is installed;
      the fallbacks give the same look without it.
   ------------------------------------------------------------------ */
:root {
	--mh-brand: var(--e-global-color-primary, #1f5fa8);
	--mh-mute: var(--e-global-color-secondary, #6b7280);
	--mh-ink: var(--e-global-color-text, #23282f);
	--mh-accent: var(--e-global-color-accent, #e8642c);
	--mh-paper: var(--e-global-color-mhpaper, #fffdf9);
	--mh-sky: var(--e-global-color-mhsky, #dfeefc);
	--mh-sand: var(--e-global-color-mhsand, #fbe9c8);
	--mh-sage: var(--e-global-color-mhsage, #dcebd9);
	--mh-blush: var(--e-global-color-mhblush, #fbdcd4);
	--mh-line: var(--e-global-color-mhline, #ece7dd);
	--mh-soft: #3a4654;
	--mh-display: "Fraunces", "Iowan Old Style", Georgia, serif;
	--mh-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--mh-r: 16px;
	--mh-r-sm: 12px;
	--mh-shadow: 0 14px 30px rgba(35, 40, 47, 0.08);
	--mh-measure: 720px;

	/* The Last Plugin reads these for every front-end component. */
	--tlp-primary: var(--mh-brand);
	--tlp-accent: var(--mh-accent);
	--tlp-ink: var(--mh-ink);
}

/* ------------------------------------------------------------------
   2. Base
   ------------------------------------------------------------------ */
body {
	font-family: var(--mh-sans);
	color: var(--mh-ink);
	background: var(--mh-paper);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .mh-display {
	font-family: var(--mh-display);
	font-variation-settings: "opsz" 96, "SOFT" 60;
	font-weight: 600;
	color: var(--mh-ink);
	letter-spacing: -0.015em;
	line-height: 1.12;
}
h5, h6 { font-family: var(--mh-sans); font-weight: 700; color: var(--mh-ink); }
a { color: var(--mh-brand); text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
a:hover { color: var(--mh-accent); }
::selection { background: var(--mh-sky); }
img { border-radius: 0; }

/* Section tag: pill label (give an Elementor heading the class mh-tag, or mh-tag-sky/sand/sage/blush). */
.mh-tag, .mh-tag .elementor-heading-title {
	display: inline-block;
	font-family: var(--mh-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 4px 11px;
	background: var(--mh-sky);
	color: var(--mh-brand);
	line-height: 1.4;
}
.mh-tag-sand, .mh-tag-sand .elementor-heading-title { background: var(--mh-sand); color: #8a5a0c; }
.mh-tag-sage, .mh-tag-sage .elementor-heading-title { background: var(--mh-sage); color: #2f6b3a; }
.mh-tag-blush, .mh-tag-blush .elementor-heading-title { background: var(--mh-blush); color: #b1341b; }
.mh-tag .elementor-heading-title { width: auto; }
.elementor-widget.mh-tag { width: auto !important; }

/* ------------------------------------------------------------------
   3. Layout helpers used by the Elementor kit
   ------------------------------------------------------------------ */
.mh-band { padding-top: 56px; padding-bottom: 56px; }
.mh-band-tight { padding-top: 32px; padding-bottom: 32px; }
.mh-measure > .e-con-inner, .mh-measure.e-con { max-width: var(--mh-measure); margin-left: auto; margin-right: auto; }
.mh-wide > .e-con-inner, .mh-wide.e-con { max-width: 1100px; margin-left: auto; margin-right: auto; }
/* Rounded colored panels: add mh-panel plus one of mh-sky / mh-sand / mh-sage / mh-blush / mh-white */
.mh-panel { border-radius: var(--mh-r); padding: 30px; }
.mh-sky { background: var(--mh-sky); }
.mh-sand { background: var(--mh-sand); }
.mh-sage { background: var(--mh-sage); }
.mh-blush { background: var(--mh-blush); }
.mh-white { background: #fff; border: 1px solid var(--mh-line); }
.mh-panel h2, .mh-panel h3 { color: var(--mh-ink); }
.mh-panel p, .mh-panel .elementor-widget-text-editor { color: var(--mh-soft); }
.mh-section-title .elementor-heading-title { font-family: var(--mh-display); font-size: 26px; font-weight: 600; letter-spacing: -0.01em; }
.mh-greet, .mh-greeting .elementor-heading-title { font-family: var(--mh-display); font-size: clamp(30px, 4vw, 44px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.05; margin: 0; }
@media (max-width: 767px) {
	.mh-band { padding-top: 40px; padding-bottom: 40px; }
	.mh-panel { padding: 22px; }
}

/* Pills: a row of small buttons. Give each Elementor button the class mh-pill (mh-pill-on for the active one). */
.mh-pill .elementor-button {
	background: #fff;
	color: var(--mh-ink);
	border: 1px solid var(--mh-line);
	border-radius: 999px;
	padding: 9px 16px;
	font-family: var(--mh-sans);
	font-size: 14px;
	font-weight: 700;
	box-shadow: none;
}
.mh-pill .elementor-button:hover { background: var(--mh-sky); color: var(--mh-brand); border-color: var(--mh-sky); }
.mh-pill-on .elementor-button, .mh-pill-on .elementor-button:hover { background: var(--mh-ink); color: #fff; border-color: var(--mh-ink); }
.mh-sky .mh-pill .elementor-button { border-color: #c9ddf1; }
.elementor-widget.mh-pill { width: auto !important; }

/* ------------------------------------------------------------------
   4. Header and footer
   ------------------------------------------------------------------ */
.mh-header { background: var(--mh-paper); }
.mh-header .elementor-widget-theme-site-title .elementor-heading-title,
.mh-footer .elementor-widget-theme-site-title .elementor-heading-title {
	font-family: var(--mh-display);
	font-weight: 700;
	font-variation-settings: "opsz" 96, "SOFT" 40;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--mh-brand);
}
.mh-header .elementor-widget-theme-site-title a { text-decoration: none; }
.mh-header .elementor-nav-menu--main .elementor-item {
	font-family: var(--mh-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--mh-ink);
	border-radius: 999px;
	padding: 9px 14px;
}
.mh-header .elementor-nav-menu--main .elementor-item:hover,
.mh-header .elementor-nav-menu--main .elementor-item.elementor-item-active { background: var(--mh-sky); color: var(--mh-brand); }
.mh-header .elementor-nav-menu--dropdown { background: #fff; border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); box-shadow: var(--mh-shadow); }
.mh-header .elementor-menu-toggle { border-radius: 999px; }
.mh-footer { background: #fff; border-top: 1px solid var(--mh-line); }
.mh-footer .elementor-nav-menu--main .elementor-item { font-size: 14px; color: var(--mh-soft); padding: 4px 0; }
.mh-footer .elementor-nav-menu--main .elementor-item:hover { color: var(--mh-accent); }
.mh-menu-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mh-menu-list a { font-family: var(--mh-sans); font-size: 14px; font-weight: 500; color: var(--mh-soft); text-decoration: none; }
.mh-menu-list a:hover { color: var(--mh-accent); }
.mh-footer-legal, .mh-footer-legal p { font-size: 13px; color: var(--mh-mute); }
.mh-footer-legal a { color: var(--mh-mute); }

/* ------------------------------------------------------------------
   5. Buttons and forms
   ------------------------------------------------------------------ */
.elementor-button, .elementor-button:visited {
	font-family: var(--mh-sans);
	font-weight: 700;
	border-radius: 999px;
	padding: 12px 22px;
}
.mh-btn-accent .elementor-button { background: var(--mh-accent); color: #fff; }
.mh-btn-accent .elementor-button:hover { background: var(--mh-ink); color: #fff; }
.mh-btn-brand .elementor-button { background: var(--mh-brand); color: #fff; }
.mh-btn-brand .elementor-button:hover { background: var(--mh-accent); color: #fff; }
.mh-btn-outline .elementor-button { background: #fff; color: var(--mh-ink); border: 1px solid var(--mh-line); }
.mh-btn-outline .elementor-button:hover { background: var(--mh-ink); color: #fff; border-color: var(--mh-ink); }
.elementor-field-group .elementor-field { border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); background: #fff; font-family: var(--mh-sans); }
.elementor-field-group .elementor-field:focus { border-color: var(--mh-brand); box-shadow: 0 0 0 3px rgba(31, 95, 168, 0.15); }
.elementor-form .elementor-button { border-radius: 999px; }

/* ------------------------------------------------------------------
   6. Elementor Pro Posts / Archive Posts widgets as rounded cards
   ------------------------------------------------------------------ */
.elementor-posts .elementor-post {
	background: #fff;
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.elementor-posts .elementor-post:hover { transform: translateY(-3px); box-shadow: var(--mh-shadow); }
.elementor-posts .elementor-post__thumbnail { background: var(--mh-sky); }
.elementor-posts .elementor-post__thumbnail img { transition: none; }
.elementor-posts .elementor-post__text { padding: 16px 18px 18px; }
.elementor-posts .elementor-post__title, .elementor-posts .elementor-post__title a {
	font-family: var(--mh-display);
	font-variation-settings: "opsz" 72, "SOFT" 60;
	font-weight: 600;
	font-size: 20px;
	letter-spacing: -0.01em;
	line-height: 1.15;
	color: var(--mh-ink);
	text-decoration: none;
}
.elementor-posts .elementor-post__title a:hover { color: var(--mh-brand); }
.elementor-posts .elementor-post__excerpt p { font-family: var(--mh-sans); font-size: 14px; line-height: 1.5; color: var(--mh-mute); }
.elementor-posts .elementor-post__meta-data { font-family: var(--mh-sans); font-size: 12px; color: var(--mh-mute); }
.elementor-posts .elementor-post__read-more { font-family: var(--mh-sans); font-weight: 700; color: var(--mh-accent); font-size: 13px; }
/* Badge becomes a pastel section tag; functions.php colors it per category. */
.elementor-posts .elementor-post__badge {
	position: static;
	display: inline-block;
	margin: 16px 18px 0;
	font-family: var(--mh-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 4px 11px;
	background: var(--mh-sky);
	color: var(--mh-brand);
}
.elementor-posts .elementor-post__badge[data-mh="1"] { background: var(--mh-sand); color: #8a5a0c; }
.elementor-posts .elementor-post__badge[data-mh="2"] { background: var(--mh-blush); color: #b1341b; }
.elementor-posts .elementor-post__badge[data-mh="3"] { background: var(--mh-sage); color: #2f6b3a; }
.elementor-posts .elementor-post__badge + .elementor-post__text { padding-top: 10px; }

/* Lead story: text sits over the image with a gradient (the sample's hero card). */
.mh-lead .elementor-post { position: relative; min-height: 320px; background: var(--mh-ink); box-shadow: var(--mh-shadow); border: 0; }
.mh-lead .elementor-post__thumbnail__link { position: absolute; inset: 0; margin: 0; width: 100% !important; }
.mh-lead .elementor-post__thumbnail { height: 100%; padding: 0 !important; }
.mh-lead .elementor-post__thumbnail img { height: 100%; object-fit: cover; }
.mh-lead .elementor-post__badge { position: absolute; left: 24px; bottom: auto; top: 24px; margin: 0; z-index: 2; }
.mh-lead .elementor-post__text {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 90px 24px 24px;
	background: linear-gradient(to top, rgba(10, 20, 40, 0.92), rgba(10, 20, 40, 0) 80%);
	color: #fff;
}
.mh-lead .elementor-post__title, .mh-lead .elementor-post__title a { color: #fff; font-size: clamp(24px, 2.6vw, 32px); }
.mh-lead .elementor-post__title a:hover { color: var(--mh-sand); }
.mh-lead .elementor-post__excerpt p { color: #dfe7f1; font-size: 15px; }
.mh-lead .elementor-post__meta-data { color: #c9d4e0; }
/* Headline list, no images, used in sidebars. */
.mh-list .elementor-posts-container { gap: 10px !important; }
.mh-list .elementor-post { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; padding: 8px; border-radius: var(--mh-r-sm); }
.mh-list .elementor-post__thumbnail__link { width: 64px !important; margin: 0; }
.mh-list .elementor-post__thumbnail { border-radius: 8px; padding-bottom: 100% !important; }
.mh-list .elementor-post__text { padding: 0; }
.mh-list .elementor-post__title { font-size: 15px; font-family: var(--mh-sans); font-weight: 700; margin: 0; }
.mh-list .elementor-post__badge { display: none; }
.mh-list .elementor-post:hover { transform: none; box-shadow: none; background: var(--mh-sky); }
.elementor-pagination { font-family: var(--mh-sans); font-weight: 700; }
.elementor-pagination .page-numbers { border-radius: 999px; padding: 6px 12px; }
.elementor-pagination .page-numbers.current { background: var(--mh-ink); color: #fff; }

/* ------------------------------------------------------------------
   7. Single article
   ------------------------------------------------------------------ */
.single .elementor-widget-theme-post-title .elementor-heading-title {
	font-size: clamp(32px, 4.5vw, 50px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.elementor-widget-theme-post-excerpt .elementor-widget-container { font-family: var(--mh-sans); font-size: 19px; line-height: 1.5; color: var(--mh-soft); }
.elementor-widget-post-info .elementor-icon-list-item, .elementor-widget-post-info .elementor-icon-list-text { font-family: var(--mh-sans); font-size: 13px; color: var(--mh-mute); }
.elementor-widget-post-info .elementor-icon-list-item a { color: var(--mh-ink); text-decoration: none; font-weight: 700; }
.elementor-widget-post-info .elementor-icon-list-item a:hover { color: var(--mh-accent); }
.elementor-widget-post-info .elementor-avatar { border-radius: 50%; }
.mh-terms .elementor-icon-list-text, .mh-terms .elementor-icon-list-item a {
	display: inline-block; background: var(--mh-sky); color: var(--mh-brand) !important;
	border-radius: 999px; padding: 4px 11px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
}
.elementor-widget-theme-post-featured-image img { border-radius: var(--mh-r); }
.elementor-widget-theme-post-featured-image .widget-image-caption { font-size: 13px; color: var(--mh-mute); text-align: left; margin-top: 8px; }
.elementor-widget-theme-post-content { font-size: 18px; line-height: 1.75; }
.elementor-widget-theme-post-content h2 { font-size: 26px; margin-top: 1.5em; }
.elementor-widget-theme-post-content h3 { font-size: 22px; margin-top: 1.3em; }
.elementor-widget-theme-post-content blockquote {
	margin: 1.5em 0;
	padding: 20px 24px;
	background: var(--mh-sand);
	border-radius: var(--mh-r);
	border: 0;
	font-family: var(--mh-display);
	font-size: 1.25em;
	line-height: 1.35;
	font-weight: 500;
	color: var(--mh-ink);
}
.elementor-widget-theme-post-content blockquote cite { display: block; font: 700 13px/1.5 var(--mh-sans); color: #8a5a0c; margin-top: 8px; font-style: normal; }
.elementor-widget-theme-post-content figcaption { font-size: 13px; color: var(--mh-mute); }
.elementor-widget-theme-post-content a { color: var(--mh-brand); }
.elementor-share-buttons--skin-minimal .elementor-share-btn { color: var(--mh-ink); }
.elementor-share-buttons--skin-minimal .elementor-share-btn:hover { color: var(--mh-accent); }
.elementor-author-box { padding: 20px; background: #fff; border: 1px solid var(--mh-line); border-radius: var(--mh-r); }
.elementor-author-box__avatar img { border-radius: 50%; }
.elementor-author-box__name { font-family: var(--mh-display); font-size: 20px; font-weight: 600; }
.elementor-author-box__bio { font-size: 15px; color: var(--mh-mute); }
.elementor-author-box__button { border-radius: 999px; }
.mh-sidebar-box h4 { font-family: var(--mh-sans); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mh-mute); }

/* ------------------------------------------------------------------
   8. The Last Plugin components, restyled to match
   ------------------------------------------------------------------ */
.tlp-btn { font-family: var(--mh-sans); border-radius: 999px; padding: 12px 22px; font-weight: 700; }
.tlp-btn.tlp-btn-outline { border-width: 1px; border-color: var(--mh-line); background: #fff; color: var(--mh-ink) !important; }
.tlp-btn.tlp-btn-outline:hover { background: var(--mh-ink); color: #fff !important; border-color: var(--mh-ink); }
.tlp-form label, .tlp-submit label { font-family: var(--mh-sans); font-size: 14px; }
.tlp-form input[type=text], .tlp-form input[type=email], .tlp-form input[type=url], .tlp-form textarea, .tlp-form select,
.tlp-nl-signup input[type=email], .tlp-nl-signup .tlp-nl-field input {
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-sm);
	font-family: var(--mh-sans);
	background: #fff;
	padding: 12px 14px;
}
.tlp-form input:focus, .tlp-form textarea:focus, .tlp-nl-signup input:focus { outline: none; border-color: var(--mh-brand); box-shadow: 0 0 0 3px rgba(31, 95, 168, 0.15); }
.tlp-notice { border-radius: var(--mh-r-sm); font-size: 15px; }

/* Paywall */
.tlp-paywall { border: 0; border-radius: var(--mh-r); background: var(--mh-sky); padding: 32px 28px; }
.tlp-paywall h3 { font-family: var(--mh-display); font-size: 26px; font-weight: 600; }
.tlp-paywall p { color: var(--mh-soft); }
.tlp-paywall::before { background: linear-gradient(to bottom, rgba(255, 253, 249, 0), var(--mh-paper)); }
.tlp-paywall .tlp-btn { background: var(--mh-accent); }

/* Tier cards */
.tlp-tiers { gap: 18px; }
.tlp-tier { border: 1px solid var(--mh-line); border-radius: var(--mh-r); padding: 26px 24px; text-align: left; background: #fff; }
.tlp-tier.tlp-tier-featured { border: 2px solid var(--mh-accent); box-shadow: none; }
.tlp-tier .tlp-tier-name { font-family: var(--mh-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mh-mute); }
.tlp-tier .tlp-price { font-family: var(--mh-display); font-size: 40px; font-weight: 600; margin: 8px 0 4px; color: var(--mh-ink); }
.tlp-tier .tlp-price small { font-family: var(--mh-sans); font-size: 14px; color: var(--mh-mute); }
.tlp-tier .tlp-tier-desc { font-size: 15px; color: var(--mh-soft); }
.tlp-tier ul { margin: 14px 0 20px; display: grid; gap: 8px; color: var(--mh-soft); }
.tlp-tier ul li { padding-left: 22px; position: relative; font-size: 14px; }
.tlp-tier ul li::before { content: ""; position: absolute; left: 0; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--mh-accent); }
.tlp-tier .tlp-btn { text-align: center; background: var(--mh-brand); }
.tlp-tier.tlp-tier-featured .tlp-btn { background: var(--mh-accent); }
.tlp-tier-badge { left: 20px; transform: none; top: -12px; }

/* Newsletter signup and list */
.tlp-nl-signup { border: 0; background: transparent; padding: 0; gap: 8px; }
.tlp-nl-signup .tlp-btn { background: var(--mh-accent); }
.tlp-nl-signup .tlp-btn:hover { background: var(--mh-ink); }
.mh-blush .tlp-nl-signup input { border-color: #e3b9ad; }
.tlp-nl-item { border: 1px solid var(--mh-line); border-radius: var(--mh-r); padding: 22px; background: #fff; }
.tlp-nl-title { font-family: var(--mh-display); font-size: 24px; font-weight: 600; }
.tlp-nl-badge { background: var(--mh-sky); color: var(--mh-brand); border-radius: 999px; }
.tlp-nl-thumb img { border-radius: var(--mh-r-sm); }

/* Podcast */
.tlp-episode-list { display: grid; gap: 10px; }
.tlp-episode-list li { background: #fff; border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); padding: 14px 16px; }
.mh-sand .tlp-episode-list li { border-color: transparent; }
.tlp-episode-list li h3 { font-family: var(--mh-sans); font-size: 16px; font-weight: 700; margin: 0 0 2px; }
.tlp-episode-list li h3 a { color: var(--mh-ink); }
.tlp-episode-meta { font-family: var(--mh-sans); font-size: 12px; color: var(--mh-mute); }
.tlp-episode-excerpt { font-size: 14px; }
.tlp-episode audio, .tlp-episode-list audio { width: 100%; height: 40px; border-radius: 999px; }
.tlp-subscribe .tlp-btn { padding: 8px 16px; font-size: 13px; }
.tlp-private-feed { border-color: var(--mh-line); border-radius: var(--mh-r); }

/* Video */
.tlp-video, .tlp-video-locked { border-radius: var(--mh-r); border-top: 0; }
.tlp-video-card-thumb { border-radius: var(--mh-r-sm); border-bottom: 0; }
.tlp-video-card-title { font-family: var(--mh-sans); font-size: 15px; font-weight: 700; line-height: 1.25; }
.tlp-video-card-duration { border-radius: 6px; font-family: var(--mh-sans); }
.tlp-video-locked-inner h3 { font-family: var(--mh-display); font-size: 26px; }

/* Contributor form, account, corrections, sponsor */
.tlp-submit { max-width: 760px; }
.tlp-account .tlp-card { border-color: var(--mh-line); border-radius: var(--mh-r); }
.tlp-account h3 { font-family: var(--mh-display); font-weight: 600; }
.tlp-correction { background: var(--mh-sand); border: 0; border-radius: var(--mh-r-sm); }
.tlp-correction-label { color: #8a5a0c; }
.tlp-sponsor { background: var(--mh-sage); border: 0; border-radius: var(--mh-r-sm); }
.tlp-sponsor-label { color: #2f6b3a; }

/* ------------------------------------------------------------------
   9. Sticky newsletter bar (functions.php prints it; dismiss is remembered)
   ------------------------------------------------------------------ */
.mh-stick {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
	background: #fff; border-top: 1px solid var(--mh-line);
	padding: 10px 24px; display: flex; align-items: center; gap: 14px;
	font-family: var(--mh-sans); font-size: 14px; box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.06);
}
.mh-stick b { font-family: var(--mh-display); font-size: 16px; font-weight: 600; white-space: nowrap; }
.mh-stick .mh-stick-sub { color: var(--mh-mute); white-space: nowrap; }
.mh-stick .tlp-nl-signup-wrap { flex: 1; max-width: 460px; }
.mh-stick .tlp-nl-signup input { padding: 9px 14px; border-radius: 999px; }
.mh-stick .tlp-nl-signup .tlp-btn { padding: 10px 16px; font-size: 13px; }
.mh-stick .mh-stick-x { margin-left: auto; background: none; border: 0; color: var(--mh-mute); font-size: 18px; cursor: pointer; line-height: 1; }
body.mh-has-stick { padding-bottom: 72px; }
@media (max-width: 700px) { .mh-stick .mh-stick-sub { display: none; } .mh-stick { padding: 10px 14px; gap: 10px; } }
.admin-bar .mh-stick { z-index: 90; }

/* ------------------------------------------------------------------
   10. Hello Elementor fallbacks when the kit is not installed
   ------------------------------------------------------------------ */
.site-header .site-title a { font-family: var(--mh-display); font-weight: 700; text-decoration: none; color: var(--mh-brand); }
.site-header .site-navigation a { font-family: var(--mh-sans); font-weight: 600; font-size: 14px; }
body:not(.elementor-page) .site-main { max-width: var(--mh-measure); margin: 40px auto; padding: 0 20px; font-size: 18px; line-height: 1.7; }
