/*
Theme Name: OVL Shell
Theme URI: https://onlinevenuelog.co.uk/
Author: OVL
Author URI: https://onlinevenuelog.co.uk/
Description: A minimal clean shell theme for the OVL Core plugin. OVL Core manages the public header, menu, footer, Home, Pricing, About Us, Login and Dashboard pages.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ovl-shell
Tags: custom-background, custom-logo, featured-images, full-width-template
*/

:root {
	--ovl-shell-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ovl-shell-text: #111827;
	--ovl-shell-muted: #6b7280;
	--ovl-shell-bg: #ffffff;
	--ovl-shell-border: #e5e7eb;
	--ovl-shell-link: inherit;
	--ovl-shell-focus: #2563eb;
}

html {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	margin: 0;
	min-width: 320px;
	background: var(--ovl-shell-bg);
	color: var(--ovl-shell-text);
	font-family: var(--ovl-shell-font);
	font-size: 16px;
	line-height: 1.5;
}

a {
	color: var(--ovl-shell-link);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover,
a:focus {
	text-decoration-thickness: 0.12em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--ovl-shell-focus);
	outline-offset: 2px;
}

img,
svg,
video,
canvas,
iframe {
	max-width: 100%;
	height: auto;
}

img {
	display: block;
}

button,
input,
select,
textarea {
	font: inherit;
}

main {
	display: block;
}

.ovl-shell-site,
.ovl-shell-main,
.ovl-shell-content {
	width: 100%;
	min-height: 100vh;
}

.ovl-shell-content {
	margin: 0;
	padding: 0;
}

.ovl-shell-fallback {
	width: min(100% - 32px, 960px);
	margin: 0 auto;
	padding: 48px 0;
}

.ovl-shell-fallback h1,
.ovl-shell-fallback h2,
.ovl-shell-fallback h3 {
	line-height: 1.15;
}

.ovl-shell-fallback p {
	color: var(--ovl-shell-muted);
}

.ovl-shell-fallback .entry-content > *:first-child,
.ovl-shell-content > *:first-child {
	margin-top: 0;
}

.ovl-shell-fallback .entry-content > *:last-child,
.ovl-shell-content > *:last-child {
	margin-bottom: 0;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 100000;
	display: block;
	width: auto;
	height: auto;
	padding: 12px 16px;
	clip: auto;
	background: #ffffff;
	border: 1px solid var(--ovl-shell-border);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	color: var(--ovl-shell-text);
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 640px) {
	.ovl-shell-fallback {
		width: min(100% - 24px, 960px);
		padding: 32px 0;
	}
}
