/* Additions to the original theme: plain-looking contact links and small-screen layout.
   Nothing here changes the desktop (960px+) appearance. */
div#main-container a.plain-link, div#main-container a.plain-link:link, div#main-container a.plain-link:visited {
	color: inherit;
	text-decoration: none;
}

@media (max-width: 979px) {
	body { min-width: 0; }
	div#main-container.container_24 { width: auto; margin: 0; box-shadow: none; }
	div#main-container .grid_24 { width: auto; margin: 0; float: none; }
	div#main-container img { max-width: 100%; height: auto; }

	/* Header: logo and accreditation badge side by side */
	div#main-container #header { padding-top: 16px; }
	#blockStyle82Main11 p { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 16px; font-size: 0; }
	#blockStyle82Main11 img[style*="float"] { float: none !important; flex: 1 1 auto; min-width: 0; }
	#blockStyle82Main11 img[alt^="Law Institute"] { flex: 0 0 72px; width: 72px; }

	/* Menu: a centred bar that wraps cleanly */
	div#main-container #header ul.nav { float: none; margin: 14px 0 0; padding: 6px 8px; text-align: center; line-height: 2.2em; border-top: 1px solid #e3e3e3; }
	div#main-container #header ul li { font-size: 15px; white-space: nowrap; }
	div#main-container #header ul li a { padding: 6px 9px; }

	div#main-container #header-image img { width: 100%; height: 130px; object-fit: cover; }
	#header-image p { margin: 12px 16px; font-size: 13px; line-height: 1.6; }

	div#main-content-inner { margin: 24px 16px 36px; }
	div#main-content-inner h1 span { font-size: 26px !important; }
	.ccm-layout-col { width: 100% !important; float: none !important; }
	.googleMapCanvas { height: 300px; }
	div#main-content-inner table { width: 100% !important; }
	div#main-content-inner table td { width: auto !important; }

	div#main-container #footer { width: auto; min-height: 0; }
	div#main-container #footer #footer-inner { margin: 0; padding: 24px 16px; }
}

/* ---- Contact calls-to-action ---- */
.cta-icon { width: 1em; height: 1em; fill: currentColor; vertical-align: -0.15em; margin-right: 6px; }

/* Slim contact bar across the top of every page */
div#main-container #header { padding-top: 0; }
.cta-topbar { background: #2b2380; color: #fff; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; padding: 9px 30px; margin-bottom: 26px; text-align: right; }
.cta-topbar-label { float: left; opacity: 0.85; }
div#main-container a.cta-topbar-link, div#main-container a.cta-topbar-link:visited { color: #fff; font-weight: bold; margin-left: 24px; white-space: nowrap; }

/* Enquiry box at the end of each page's content */
.cta-box { clear: both; margin: 40px 0 10px; padding: 24px 28px; background: #f3f2fa; border-left: 5px solid #2b2380; font-family: Helvetica, Arial, sans-serif; }
div#main-container h2.cta-box-title { font-size: 22px; line-height: 1.3; margin: 0 0 6px; color: #2b2380; }
div#main-container p.cta-box-text { margin: 0 0 16px; font-size: 15px; }
.cta-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
div#main-container a.cta-button, div#main-container a.cta-button:visited { display: inline-block; padding: 11px 20px; border: 2px solid #2b2380; border-radius: 4px; color: #2b2380; background: #fff; font-size: 16px; font-weight: bold; text-decoration: none; }
div#main-container a.cta-button-primary, div#main-container a.cta-button-primary:visited { background: #2b2380; color: #fff; }
div#main-container a.cta-button:hover { text-decoration: none; filter: brightness(1.15); }

/* Call / Email bar fixed to the bottom of the screen on phones */
.cta-sticky { display: none; }

@media (max-width: 979px) {
	.cta-topbar { padding: 8px 16px; margin-bottom: 14px; text-align: center; font-size: 13px; }
	.cta-topbar-label { float: none; display: block; }
	div#main-container a.cta-topbar-link { margin: 0 8px; }
	.cta-box { margin-top: 32px; padding: 20px 18px; }
	.cta-buttons a { flex: 1 1 auto; text-align: center; }

	.cta-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; box-shadow: 0 -2px 8px rgba(0,0,0,0.2); font-family: Helvetica, Arial, sans-serif; }
	.cta-sticky a { flex: 1; padding: 15px 0 calc(15px + env(safe-area-inset-bottom)); text-align: center; font-size: 17px; font-weight: bold; text-decoration: none; }
	.cta-sticky-call { background: #2b2380; color: #fff; }
	.cta-sticky-email { background: #fff; color: #2b2380; border-top: 1px solid #d6d4ea; }
	body { padding-bottom: 60px; }
}
