/*
Theme Name: Codbrand
Theme URI: https://codbrand.pro/theme
Author: Kayo Plugins
Author URI: https://codbrand.pro
Description: A deliberately minimal classic theme built for the COD Leads storefront plugin. It renders the document shell and nothing else - no fonts, no icon set, no colour system, no jQuery of its own - so the plugin's own storefront CSS is never fought or duplicated. Works with Gutenberg, Elementor and other page builders, and adds per-page width / chrome / title controls that reuse the plugin's existing width modes.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
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: codbrand
Tags: e-commerce, one-column, custom-menu, block-styles, wide-blocks, rtl-language-support, translation-ready
*/

/*
 * ---------------------------------------------------------------------------
 * THIS FILE IS DELIBERATELY TINY. READ BEFORE ADDING TO IT.
 * ---------------------------------------------------------------------------
 * The theme exists to REMOVE bytes. Every rule below has to justify its own
 * existence, and the justification is written next to it. If you cannot write
 * one, the rule does not belong here.
 *
 * Specifically NOT here, on purpose:
 *   - typography (font-family / size / weight / line-height)
 *   - any colour whatsoever
 *   - button, form, table or list styling
 *   - spacing rhythm
 *
 * Storefront pages are rendered entirely by the plugin, which ships its own
 * CSS. Gutenberg content is styled by WordPress core's block library. Anything
 * this file added on top would be a third opinion nobody asked for - and, worse,
 * one the plugin would then need `!important` to beat.
 *
 * Hand-written classic-editor content and blog archives therefore render at
 * browser defaults. That is a known, accepted trade-off (task file D12 / 9.4).
 */

/* Predictable box model. One line, prevents an entire class of layout bugs. */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Stop media overflowing its container. Without this a single wide image
   introduces horizontal page scroll, which is a real bug rather than a taste. */
img,
video,
iframe,
embed,
object {
    max-width: 100%;
    height: auto;
}

/* WordPress core emits these alignment classes in block content. When no
   theme.json is present, nothing else defines them, so wide/full-width blocks
   silently render at content width. Logical properties keep RTL correct
   (task file D14). */
.aligncenter {
    margin-inline: auto;
}

.alignwide,
.alignfull {
    max-width: none;
}

/* Content width is a single custom property so a child theme or the merchant
   can retune it without touching a rule (task file D11). It is applied nowhere
   by default - templates opt in via the width-mode wrapper, whose actual
   appearance comes from the plugin's Store > Width Layout settings. */
:root {
    --codbrand-content-width: 1140px;
}

/* Accessibility: required by the WordPress theme handbook and by Theme Check.
   Visually hidden, still announced by screen readers. */
.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* The skip link must become visible when focused, or it helps nobody. */
.skip-link:focus {
    clip-path: none;
    height: auto;
    margin: 0;
    padding: 0.75rem 1rem;
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: auto;
    z-index: 100000;
    background: #fff;
    color: #000;
}
