/*
Theme Name: YGMI
Theme URI: https://ygmi.org
Author: YGMI
Author URI: https://ygmi.org
Description: The official theme for YGMI — Youth-Driven Growth & Market Intelligence. Built around the YGMI brand guide (Midnight Indigo, Sunburst Gold, Orange, Warm Ivory) and designed to be edited with the Elementor page builder. Includes a styled header and footer, brand components, and full-width templates for Elementor pages.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ygmi
Tags: business, portfolio, elementor, one-column, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

The main design system lives in assets/css/ygmi.css.
This file carries the theme header and WordPress/Elementor-specific styling only.
*/

/* --------------------------------------------------------------------------
   WordPress core classes
   -------------------------------------------------------------------------- */
.alignleft   { float: left;  margin: .35rem 1.75rem 1.25rem 0; }
.alignright  { float: right; margin: .35rem 0 1.25rem 1.75rem; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide   { max-width: min(1180px, 100%); margin-inline: auto; }
.alignfull   { width: 100%; }

.wp-caption { max-width: 100%; }
.wp-caption-text,
.wp-block-image figcaption {
  font-family: var(--ygmi-mono);
  font-size: .75rem;
  letter-spacing: .04em;
  color: var(--ygmi-ink-faint);
  margin-top: .75rem;
}

/* Customizer custom logo, matched to the bundled brand mark */
.custom-logo-link { display: inline-flex; align-items: center; flex: none; }
.custom-logo-link img,
.wp-block-site-logo img { height: 34px; width: auto; }
.ygmi-footer .custom-logo-link img { height: 36px; }

.sticky .ygmi-post__meta::after {
  content: "Featured";
  display: block;
  color: var(--ygmi-orange);
  margin-top: .35rem;
}

.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 2rem; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-item img { border-radius: var(--ygmi-radius); }

.post-password-form input[type="password"] {
  border: 1px solid var(--ygmi-rule);
  border-radius: var(--ygmi-radius);
  padding: .8rem 1rem;
}

/* Featured image on single posts */
.ygmi-featured-image { margin-bottom: clamp(2rem, 4vw, 3rem); }
.ygmi-featured-image img { border-radius: var(--ygmi-radius-lg); width: 100%; }

/* Entry meta */
.ygmi-entry-meta {
  font-family: var(--ygmi-mono);
  font-size: .74rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ygmi-ink-faint);
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
.ygmi-entry-meta a:hover { color: var(--ygmi-orange); }

.ygmi-post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  border-top: 1px solid var(--ygmi-rule);
  margin-top: clamp(3rem, 5vw, 4rem);
  padding-top: 2rem;
}
.ygmi-post-nav a { display: block; }
.ygmi-post-nav span {
  font-family: var(--ygmi-mono);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ygmi-ink-faint);
  display: block;
  margin-bottom: .5rem;
}
.ygmi-post-nav strong { font-family: var(--ygmi-display); font-size: 1.15rem; font-weight: 600; }
.ygmi-post-nav .is-next { text-align: right; }
@media (max-width: 640px) { .ygmi-post-nav { grid-template-columns: 1fr; } .ygmi-post-nav .is-next { text-align: left; } }

/* Comments */
.ygmi-comments { margin-top: clamp(3rem, 5vw, 4rem); }
.ygmi-comments .comment-list { list-style: none; margin: 0 0 2.5rem; padding: 0; }
.ygmi-comments .comment-list li { border-top: 1px solid var(--ygmi-rule); padding: 1.5rem 0; }
.ygmi-comments .comment-list .children { list-style: none; padding-left: clamp(1rem, 4vw, 2.5rem); }
.ygmi-comments .comment-meta {
  font-family: var(--ygmi-mono);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ygmi-ink-faint);
  margin-bottom: .6rem;
}
.ygmi-comments .comment-form { display: grid; gap: 1.25rem; max-width: 700px; }
.ygmi-comments .comment-form input[type="text"],
.ygmi-comments .comment-form input[type="email"],
.ygmi-comments .comment-form input[type="url"],
.ygmi-comments .comment-form textarea {
  width: 100%;
  font-family: var(--ygmi-body);
  font-size: 1rem;
  border: 1px solid var(--ygmi-rule);
  border-radius: var(--ygmi-radius);
  padding: .85rem 1rem;
  background: var(--ygmi-paper);
}
.ygmi-comments .comment-form label {
  font-family: var(--ygmi-mono);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ygmi-ink-muted);
  display: block;
  margin-bottom: .4rem;
}
.ygmi-comments .form-submit input[type="submit"] {
  background: var(--ygmi-orange);
  color: #fff;
  border: 1px solid var(--ygmi-orange);
  border-radius: var(--ygmi-radius);
  font-family: var(--ygmi-body);
  font-size: .9rem;
  font-weight: 600;
  padding: .95rem 1.55rem;
  cursor: pointer;
  transition: background .28s var(--ygmi-ease), border-color .28s var(--ygmi-ease);
}
.ygmi-comments .form-submit input[type="submit"]:hover {
  background: var(--ygmi-indigo);
  border-color: var(--ygmi-indigo);
}

/* Search form */
.ygmi-search-form { display: flex; gap: .6rem; max-width: 480px; }
.ygmi-search-form input[type="search"] {
  flex: 1;
  font-family: var(--ygmi-body);
  font-size: 1rem;
  border: 1px solid var(--ygmi-rule);
  border-radius: var(--ygmi-radius);
  padding: .85rem 1rem;
  background: var(--ygmi-paper);
}

/* Widgets */
.widget { margin-bottom: 2.5rem; }
.widget-title {
  font-family: var(--ygmi-mono);
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ygmi-ink-faint);
  margin-bottom: 1rem;
}
.widget ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }

/* --------------------------------------------------------------------------
   Elementor integration
   -------------------------------------------------------------------------- */

/* Keep Elementor's boxed containers on the YGMI grid */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--ygmi-container); }
.e-con { --container-max-width: var(--ygmi-container); }

/* Elementor's default widgets pick up the brand type automatically */
.elementor-widget-heading .elementor-heading-title { font-family: var(--ygmi-display); }
.elementor-widget-text-editor,
.elementor-widget-icon-list { font-family: var(--ygmi-body); }

/* Elementor buttons default to the YGMI orange button */
.elementor-button {
  font-family: var(--ygmi-body);
  font-weight: 600;
  border-radius: var(--ygmi-radius);
  transition: background .28s var(--ygmi-ease), color .28s var(--ygmi-ease), transform .28s var(--ygmi-ease);
}
.elementor-button:not(.elementor-button-link):hover { transform: translateY(-2px); }

/* Admin bar offset for the sticky header */
.admin-bar .ygmi-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .ygmi-header { top: 46px; } }
