/*
Theme Name:        Tewido Elementra Theme
Theme URI:         https://tewido.com/
Author:            Tewido
Author URI:        https://tewido.com/
Description:       Minimal companion theme for the Tewido Elementra plugin. The plugin's Theme Builder canvas takes over rendering for any page with matching Header/Footer/Single/Archive templates. Where no template applies yet, the theme serves a real page - header, content and footer - so the site is usable from the first load, and marks each unbuilt slot for anyone who can edit templates.
Version:           1.2.0
Requires at least: 5.8
Tested up to:      6.9
Requires PHP:      7.4
License:           GPL v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       tewido-elementra-theme
Tags:              elementor, minimal, theme-builder
*/

/**
 * This is the ONLY stylesheet the theme loads unconditionally, so it holds the
 * one rule that is needed on every request the theme's `header.php` serves and
 * nothing else. Everything the theme paints beyond this belongs to a fallback
 * that may not render, and lives in a sheet enqueued by whoever renders it -
 * see `inc/fallback.php`.
 *
 * The skip link is emitted by `header.php` on EVERY theme-path request,
 * including ones where a Theme Builder Header applies and no fallback
 * stylesheet loads at all. Left unstyled it renders as visible text at the top
 * of the page. It survived that way only because Elementor's `frontend.css`
 * happens to define the same class - load-order luck, not design, and
 * `inc/optimize.php` deliberately dequeues `wp-block-library`, which is where
 * core's copy of the rule lives.
 */
/**
 * The browser's default 8px body margin, removed.
 *
 * This belongs to the theme and nothing else was doing it. The plugin's canvas
 * stylesheet styles `body.tewido-elementra-body` — background, `min-height:
 * 100vh`, flex column — and never touches the margin, because resetting the
 * body is a theme's job. So every page, canvas included, was inset 8px with a
 * strip of the browser's default background showing around the header, and the
 * `100vh` plus the margin guaranteed a scrollbar on pages that should have had
 * none.
 *
 * It sits in `style.css` rather than a fallback sheet because it has to hold on
 * every request the theme serves, not only the ones where a fallback renders.
 */
body {
	margin: 0;
}

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

/**
 * Revealed on keyboard focus - the whole point of a skip link. `clip: auto`
 * plus a real size undoes the hiding above; the rest makes it legible against
 * whatever chrome happens to be underneath.
 */
.screen-reader-text:focus {
	z-index: 100000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	margin: 0;
	padding: 12px 20px;
	overflow: visible;
	clip: auto;
	clip-path: none;
	background: #ffffff;
	border-radius: 6px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
	color: #93003f;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}
