/* RESPONSIVE CHANGES ------------------------------------------------------------------------------------------ */
/* Note: Bootstrap will handle its own elements automatically */

@media (min-width: 1201px) {
	.maddos-content-scroll { max-height: 360px; overflow-y: auto; }
}

@media (max-width: 1200px) {
	.maddos-post-linktext { font-size: 22px; }
	.maddos-grid-container p { height: 200px; }
}

@media (min-width: 993px) and (max-width: 1200px) {
	.maddos-content-scroll { max-height: 280px; overflow-y: auto; }
}

@media (max-width: 992px) {
	.maddos-review { display: block !important; }
	.maddos-review img { display: inline !important; }
	.maddos-single-left { border-bottom: 1px solid; padding-bottom: 20px; margin-bottom: 20px; }
	.maddos-post-linktext { font-size: 28px; }
	.maddos-link-thumbnail img { width: 100%; }
	.maddos-grid-container p { height: 120px; }
}

@media (max-width: 768px) {
	.maddos-search { display: none; }
}

@media (max-width: 480px) {
	.maddos-post-header { font-size: 1.5em; }
	.maddos-link-header-back { font-size: 1.0em; }
	.maddos-headline { font-size: 0.9em; }
	.maddos-infobar { font-size: 0.9em; }
	.maddos-link-thumbnail a { font-size: 1.6em; }
}

@media (max-width: 320px) {
	.maddos-post-header { font-size: 1.3em; }
	.maddos-link-header-back { font-size: 0.8em; }
	.maddos-headline { font-size: 0.8em; }
	.maddos-infobar{ font-size: 0.8em; }
	.maddos-link-thumbnail a { font-size: 1.4em; }
}

@media (max-width: 240px) {
	.maddos-post-header { font-size: 1.1em; }
	.maddos-link-header-back { font-size: 0.7em; }
	.maddos-headline { font-size: 0.7em; }
	.maddos-infobar{ font-size: 0.7em; }
	.maddos-link-thumbnail a { font-size: 1.2em; }
}

/* Premium mobile refinements for the directory, forms and advertising pages. */
@media (max-width: 767px) {
	html, body { overflow-x: hidden; }
	.maddos-nav-inner { gap: 4px; padding: 5px 8px !important; }
	.maddos-hamburger { min-width: 44px; min-height: 44px; margin: 3px 2px; border-color: rgba(255,255,255,.28); border-radius: 9px; }
	.es4u-nav-register { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin: 3px 2px; padding: 9px 13px; border-radius: 9px; font-size: 13px; }
	.maddos-nav-right { order: 4; width: 100%; justify-content: center; margin: 0; padding: 8px 6px 4px; border-top: 1px solid rgba(255,255,255,.1); }
	.maddos-banner-nav { max-width: 100%; }
	.maddos-banner-nav .maddos-banner-img { display: block; max-width: min(100%, 290px); max-height: 44px; object-fit: contain; }
	.maddos-hero-inner { padding: 23px 18px !important; gap: 0 !important; }
	#maddos-site-title, #maddos-site-title a { font-size: clamp(24px, 7vw, 32px) !important; line-height: 1.12; overflow-wrap: anywhere; }
	#maddos-site-desc { max-width: 100%; font-size: 9px !important; letter-spacing: .19em !important; line-height: 1.55; }
	.maddos-hero-search { display: none !important; }
	.maddos-header-banner-section { padding: 7px 8px; }
	.maddos-directory-container { padding: 14px 10px !important; }
	.maddos-directory { grid-template-columns: 1fr !important; gap: 11px !important; }
	.maddos-category-container { min-width: 0; }
	.maddos-category-header-title { white-space: normal !important; overflow-wrap: anywhere; }
	.maddos-archive-block { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 10px; padding: 16px !important; }
	.maddos-archive-block .maddos-link-header-back { width: 100% !important; margin: 3px 0 0 !important; }
	.maddos-content-single .maddos-link-header-back { float: none; width: 100%; margin: 10px 0; }
	.maddos-register-grid { grid-template-columns: 1fr !important; }
	.es4u-register-grid { grid-template-columns: minmax(0,1fr) !important; gap: 11px; }
	.es4u-register-guide { position: static !important; grid-template-columns: 1fr !important; }
	.es4u-register-form-card, .es4u-guide-card { padding: 17px !important; }
	.es4u-form-pair { grid-template-columns: 1fr !important; gap: 13px; }
	.es4u-plan-options { grid-template-columns: 1fr !important; gap: 9px; }
	.es4u-plan-option > span { min-height: 74px; }
	.adv-inner { width: calc(100% - 28px) !important; }
	.adv-section { padding: 34px 0 !important; }
	.adv-plan-grid, .adv-ad-grid, .adv-contact-grid { grid-template-columns: minmax(0,1fr) !important; gap: 12px; }
	.adv-plan { min-height: 0 !important; padding: 20px !important; }
	.adv-ad-card { padding: 18px !important; }
	.adv-btn { min-height: 44px; }
	.es4u-footer-cta-inner { align-items: flex-start !important; flex-direction: column; gap: 15px; }
	.es4u-footer-cta-actions { display: grid !important; grid-template-columns: 1fr; width: 100%; gap: 8px; }
	.es4u-footer-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
	.es4u-footer-bottom-inner { align-items: flex-start !important; flex-direction: column; gap: 7px; }
}

@media (max-width: 380px) {
	.maddos-header-banner-section .maddos-banner-header { grid-template-columns: 1fr !important; }
	.maddos-nav-right .maddos-banner-img { max-width: 230px; }
	.es4u-register-intro h1 { font-size: 28px !important; }
}

/* Mobile polish: keep the primary action left, menu control right, and ads inset. */
@media (max-width: 767px) {
	.maddos-nav-inner {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		padding: 8px 12px !important;
	}
	.es4u-nav-register {
		order: 1;
		margin: 0 !important;
		font-size: 15px !important;
		min-height: 48px;
		padding: 11px 16px !important;
	}
	.maddos-header .maddos-nav-inner > .maddos-hamburger {
		order: 2;
		margin: 0 0 0 auto !important;
		min-width: 48px;
		min-height: 48px;
	}
	.maddos-nav-collapse {
		order: 3;
		flex-basis: 100%;
		width: 100%;
	}
	.maddos-nav-right {
		order: 4;
		flex: 0 0 100%;
		width: 100%;
		margin: 0 !important;
		padding: 10px 12px 4px !important;
	}
	.maddos-nav-right .maddos-banner-nav,
	.maddos-nav-right .maddos-banner,
	.maddos-header-banner-section .maddos-banner-header > * {
		box-sizing: border-box;
		min-width: 0;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.maddos-nav-right .maddos-banner-img,
	.maddos-header-banner-section .maddos-banner-img {
		max-width: 100% !important;
		width: auto;
		max-height: 54px;
		object-fit: contain;
	}
	.maddos-header-banner-section {
		padding: 10px 14px !important;
	}
	.maddos-header-banner-section .maddos-banner-header {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		padding: 8px 0 !important;
	}
	.maddos-header-banner-section .maddos-banner-header .maddos-banner-item {
		width: 100%;
		padding: 10px !important;
		border-radius: 12px;
	}
	/* Small copy across the theme had been set to 10–12px; keep it legible on phones. */
	body { font-size: 16px; line-height: 1.6; }
	body :is(p, li, label, input, select, textarea, button, a, small, .maddos-infobar,
		.maddos-headline, .maddos-post-linktext, .es4u-nav-register, .adv-btn,
		.es4u-plan-option, .es4u-form-help, .es4u-footer-grid a) {
		font-size: 14px !important;
		line-height: 1.55;
	}
	body :is(input, select, textarea, button) { min-height: 44px; }
	#maddos-site-desc { font-size: 12px !important; line-height: 1.6; letter-spacing: .16em !important; }
	.maddos-infobar { padding: 8px 14px !important; }
}

@media (max-width: 380px) {
	.maddos-header-banner-section { padding-left: 12px !important; padding-right: 12px !important; }
	.maddos-header-banner-section .maddos-banner-header { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.maddos-header-banner-section .maddos-banner-header .maddos-banner-item { padding: 8px !important; }
}

/* Consistent navigation, banners and readable type across viewport sizes. */
body { font-size: clamp(15px, calc(14px + .22vw), 17px); line-height: 1.6; }
body :is(p, li, label, input, select, textarea, button, a, small, .maddos-headline,
	.maddos-infobar, .maddos-copyright, .maddos-post-linktext, .maddos-category-wrapper,
	.es4u-footer-grid, .es4u-footer-bottom, .adv-copy, .adv-description) {
	font-size: clamp(14px, calc(13.5px + .18vw), 16px) !important;
	line-height: 1.55;
}
body :is(input, select, textarea, button) { min-height: 44px; }
body :is(h1, .maddos-post-title) { font-size: clamp(1.9rem, 3vw + 1rem, 3.25rem); line-height: 1.12; }
body :is(h2) { font-size: clamp(1.5rem, 1.7vw + 1rem, 2.25rem); line-height: 1.2; }
body :is(h3) { font-size: clamp(1.2rem, 1vw + .9rem, 1.65rem); line-height: 1.25; }

@media (max-width: 991px) {
	.maddos-header .maddos-nav-inner {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 8px;
		padding: 8px 12px !important;
	}
	.maddos-header .maddos-nav-inner > .es4u-nav-register { order: 1 !important; }
	.maddos-header .maddos-nav-inner > .maddos-hamburger {
		order: 2 !important;
		margin: 0 0 0 auto !important;
		float: none !important;
	}
	.maddos-header .maddos-nav-inner > .maddos-nav-collapse {
		order: 3 !important;
		flex: 0 0 100% !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: #102A26 !important;
		box-shadow: none !important;
	}
	.maddos-header .maddos-nav-inner > .maddos-nav-collapse.in {
		display: block !important;
		max-height: calc(100dvh - 90px);
		overflow-x: hidden;
		overflow-y: auto;
	}
	.maddos-header .maddos-nav-collapse .maddos-nav-list {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 6px 0 !important;
		background: #102A26 !important;
	}
	.maddos-header .maddos-nav-collapse .maddos-nav-list > li { float: none !important; width: 100% !important; }
	.maddos-header .maddos-nav-collapse .maddos-nav-list > li > a {
		display: block !important;
		width: 100% !important;
		padding: 12px 18px !important;
		color: #F6F5ED !important;
		-webkit-text-fill-color: #F6F5ED !important;
		font-size: 16px !important;
		line-height: 1.4 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}
	.maddos-header .maddos-nav-right {
		order: 4 !important;
		flex: 0 0 100% !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 10px 14px 4px !important;
	}
	.maddos-header .maddos-nav-right .maddos-banner-nav {
		display: flex !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}
	.maddos-header .maddos-nav-right .maddos-banner-rotator {
		width: min(100%, 360px) !important;
		max-width: 360px !important;
		max-height: none !important;
		margin: 0 auto !important;
	}
	.maddos-header .maddos-nav-right .maddos-banner-slide { width: 100% !important; }
	.maddos-header .maddos-nav-right .maddos-banner-img {
		width: auto !important;
		max-width: 100% !important;
		max-height: 54px !important;
		object-fit: contain;
	}
	.maddos-header-banner-section { padding: 10px 14px !important; }
	.maddos-header-banner-section .maddos-banner-header,
	footer .maddos-banner-footer {
		box-sizing: border-box;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		width: calc(100% - 28px) !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 8px 0 !important;
	}
	.maddos-header-banner-section .maddos-banner-item,
	footer .maddos-banner-footer .maddos-banner-item {
		box-sizing: border-box;
		min-width: 0 !important;
		width: 100% !important;
		min-height: 60px !important;
		padding: 8px !important;
	}
	.maddos-header-banner-section .maddos-banner-item img,
	footer .maddos-banner-footer .maddos-banner-item img {
		max-width: 100% !important;
		max-height: 48px !important;
		object-fit: contain;
	}
}

@media (max-width: 380px) {
	.maddos-header .maddos-nav-inner { padding-left: 10px !important; padding-right: 10px !important; }
	.maddos-header-banner-section, footer .maddos-banner-footer { padding-left: 10px !important; padding-right: 10px !important; }
}
