/*
Theme Name: MGWDS Site Builder
Author: MGWallace Design Studios
Author URI: https://mgwdstudios.com/
Description: A lightweight, flexible WordPress theme with clean layouts, builder-friendly templates, responsive navigation, accessible defaults, and Customizer controls.
Version: 1.3.6.6
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mgwds-site-builder
Tags: custom-logo, custom-menu, featured-images, full-width-template, one-column, two-columns, right-sidebar, left-sidebar, theme-options, threaded-comments, translation-ready, blog
*/

/* Main presentation styles. */

:root {
    --mgwds-container: 1200px;
    --mgwds-content: 780px;
    --mgwds-accent: #d91b5c;
    --mgwds-text: #000000;
    --mgwds-bg: #ffffff;
    --mgwds-header-bg: #ffffff;
    --mgwds-header-menu-text: #000000;
    --mgwds-footer-bg: #000000;
    --mgwds-border: #e5e7eb;
    --mgwds-muted: #667085;
    --mgwds-radius: 8px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--mgwds-bg);
    color: var(--mgwds-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
figure { margin-left: 0; margin-right: 0; }
a { color: var(--mgwds-accent); text-decoration-thickness: .08em; text-underline-offset: .15em; }
a:hover { text-decoration-thickness: .12em; }
button, input, textarea, select { font: inherit; }
input, textarea, select {
    max-width: 100%;
    border: 1px solid var(--mgwds-border);
    border-radius: 6px;
    padding: .7rem .8rem;
}
button, input[type="submit"], .button, .wp-element-button {
    border: 0;
    border-radius: 6px;
    background: var(--mgwds-accent);
    color: #fff;
    padding: .75rem 1rem;
    cursor: pointer;
}


/* WordPress core alignment and caption classes. */
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text,
.gallery-caption { color: var(--mgwds-muted); font-size: .9rem; }
.sticky { border-inline-start: 4px solid var(--mgwds-accent); padding-inline-start: 1rem; }
.bypostauthor > .comment-body { border-inline-start: 4px solid var(--mgwds-accent); }

/* Visible keyboard focus for links and form controls. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid var(--mgwds-accent);
    outline-offset: 3px;
}

/* Basic submenu support without a custom walker. */
.main-navigation li { position: relative; }
.main-navigation ul ul {
    position: absolute;
    z-index: 60;
    top: 100%;
    left: -1rem;
    display: none;
    min-width: 220px;
    padding: .75rem 1rem;
    background: var(--mgwds-header-bg);
    border: 1px solid var(--mgwds-border);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}
.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul { display: block; }
.main-navigation ul ul li + li { margin-top: .55rem; }

.mgwds-container {
    width: min(calc(100% - 40px), var(--mgwds-container));
    margin-inline: auto;
}
.is-full-width { width: 100%; padding-inline: 20px; }

.site-header {
    position: relative;
    z-index: 50;
    background: var(--mgwds-header-bg);
    border-bottom: 1px solid var(--mgwds-border);
}
.mgwds-sticky-header .site-header { position: sticky; top: 0; }
.admin-bar.mgwds-sticky-header .site-header { top: 32px; }
.site-header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}
.site-branding { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.custom-logo { display: block; width: auto; max-height: 54px; }
.site-title { margin: 0; font-weight: 700; font-size: 1.25rem; line-height: 1.2; }
.site-title a { color: var(--mgwds-header-menu-text); text-decoration: none; }
.site-description { margin: 0; color: var(--mgwds-header-menu-text); font-size: .9rem; }
.main-navigation ul { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.main-navigation a { color: var(--mgwds-header-menu-text); text-decoration: none; font-weight: 500; }
.main-navigation a:hover, .main-navigation .current-menu-item > a { color: var(--mgwds-accent); }
.menu-toggle { display: none; align-items: center; gap: .45rem; color: var(--mgwds-header-menu-text); }

.site-main { padding-block: 52px; }
.page-content-wrap { max-width: var(--mgwds-content); }
.entry-page > .entry-header, .entry-single > .entry-header { margin-bottom: 1.5rem; }
.entry-title, .archive-title { line-height: 1.15; letter-spacing: -.025em; }
.entry-title { margin-top: 0; }
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content { overflow-wrap: anywhere; }
.entry-content .alignwide { width: min(100vw - 40px, var(--mgwds-container)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.mgwds-sidebar-left .content-area { grid-column: 2; }
.mgwds-sidebar-left .widget-area { grid-column: 1; grid-row: 1; }
.mgwds-sidebar-none .content-grid { grid-template-columns: minmax(0, 1fr); }
.widget-area { min-width: 0; }
.widget { margin-bottom: 2rem; }
.widget-title { font-size: 1.1rem; }
.widget ul { padding-left: 1.2rem; }

.post-card { padding-bottom: 2rem; margin-bottom: 2.25rem; border-bottom: 1px solid var(--mgwds-border); }
.post-thumbnail img { display: block; width: 100%; border-radius: var(--mgwds-radius); margin-bottom: 1.25rem; }
.entry-meta { display: flex; gap: .45rem; flex-wrap: wrap; color: var(--mgwds-muted); font-size: .9rem; }
.entry-meta a { color: inherit; }
.entry-summary > :last-child { margin-bottom: 0; }

.archive-header { margin-bottom: 2.5rem; }
.archive-description { color: var(--mgwds-muted); }

.site-footer { background: var(--mgwds-footer-bg); color: #fff; padding-block: 42px; }
.site-footer a { color: inherit; }
.footer-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; margin-bottom: 2rem; }
.site-info { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.footer-menu { list-style: none; display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; margin: 0; }
.footer-menu a { text-decoration: none; }



.mgwds-scroll-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--mgwds-accent);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background-color .2s ease;
}
.mgwds-scroll-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.mgwds-scroll-to-top:hover,
.mgwds-scroll-to-top:focus-visible {
    background: #000;
    color: #fff;
}
.mgwds-scroll-to-top:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}
.mgwds-scroll-to-top svg {
    width: 24px;
    height: 24px;
}

.mgwds-full-width-page, .mgwds-builder-content, .mgwds-canvas-main { padding: 0; }
.mgwds-builder-canvas { margin: 0; }

.comments-area { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--mgwds-border); }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; }
.comment-body { margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid var(--mgwds-border); border-radius: var(--mgwds-radius); }

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
.screen-reader-text:focus {
    background: #fff;
    clip: auto !important;
    clip-path: none;
    color: #111;
    display: block;
    font-size: 14px;
    height: auto;
    left: 10px;
    padding: 12px 16px;
    top: 10px;
    width: auto;
    z-index: 100000;
}

@media (max-width: 900px) {
    .admin-bar.mgwds-sticky-header .site-header { top: 46px; }
    .content-grid { grid-template-columns: 1fr; gap: 30px; }
    .mgwds-sidebar-left .content-area, .mgwds-sidebar-left .widget-area { grid-column: auto; grid-row: auto; }
    .menu-toggle { display: inline-flex; }
    .main-navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--mgwds-header-bg); border-bottom: 1px solid var(--mgwds-border); padding: 18px 20px 24px; }
    .main-navigation.is-open { display: block; }
    .main-navigation ul { display: block; }
    .main-navigation ul ul { position: static; display: block; min-width: 0; margin-top: .6rem; padding: 0 0 0 1rem; border: 0; box-shadow: none; }
    .main-navigation li + li { margin-top: .8rem; }
    .site-description { display: none; }
}

@media (max-width: 600px) {
    .mgwds-container { width: min(calc(100% - 28px), var(--mgwds-container)); }
    .site-main { padding-block: 36px; }
    .site-info { align-items: flex-start; flex-direction: column; }
    .mgwds-scroll-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }
}
