/*
Theme Name: GuardGuides
Theme URI: https://guardguides.com/
Author: GuardGuides
Description: A custom WooCommerce-ready theme for GuardGuides, built for security guards and the GuardGuides digital product ecosystem.
Version: 1.3.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: guardguides
*/

:root {
  --gg-bg: #0b0d10;
  --gg-surface: #15181d;
  --gg-surface-2: #1c2026;
  --gg-line: #343941;
  --gg-text: #f3f4f6;
  --gg-muted: #b3b7be;
  --gg-brand-gray: #8d8a8a;
  --gg-brand-dark: #4d4a4b;
  --gg-blue: #2da5ff;
  --gg-blue-soft: #8fd0ff;
  --gg-success: #76d29a;
  --gg-danger: #ff8d8d;
  --gg-radius: 18px;
  --gg-shadow: 0 18px 50px rgba(0,0,0,.32);
  --gg-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 78% 10%, rgba(45,165,255,.09), transparent 32%),
    linear-gradient(180deg, #0a0c0f 0%, #101318 100%);
  color: var(--gg-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--gg-blue-soft); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

.gg-container { width: min(calc(100% - 36px), var(--gg-max)); margin: 0 auto; }
.gg-section { padding: 72px 0; }
.gg-section-tight { padding: 44px 0; }
.gg-eyebrow { color: var(--gg-blue-soft); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; }
.gg-muted { color: var(--gg-muted); }
.gg-small { font-size: .9rem; }
.gg-lead { color: var(--gg-muted); font-size: clamp(1.05rem, 1.7vw, 1.28rem); max-width: 760px; }
.gg-content h1, .gg-content h2, .gg-content h3,
.gg-hero h1, .gg-page-hero h1, .gg-section h2, .gg-card h3 { line-height: 1.08; margin-top: 0; }
.gg-hero h1 { font-size: clamp(2.4rem, 5vw, 5rem); max-width: 850px; }
.gg-page-hero h1 { font-size: clamp(2.2rem, 4vw, 4rem); }
.gg-section h2 { font-size: clamp(1.8rem, 3vw, 3rem); }

.gg-site-header {
  position: sticky; top: 0; z-index: 999;
  backdrop-filter: blur(14px);
  background: rgba(8,10,13,.9);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.gg-nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.gg-brand { display: flex; align-items: center; gap: 12px; min-width: 230px; }
.gg-brand img { width: 54px; height: 60px; object-fit: contain; }
.gg-brand strong { display:block; font-size: 1.38rem; letter-spacing: -.02em; color: #fff; }
.gg-brand span { display:block; color: var(--gg-muted); font-size: .78rem; }
.gg-nav { display: flex; align-items: center; gap: 24px; list-style: none; margin: 0; padding: 0; }
.gg-nav li { margin: 0; }
.gg-nav a { color: #d9dce0; font-weight: 700; font-size: .95rem; }
.gg-nav .current-menu-item > a, .gg-nav .current_page_item > a, .gg-nav a:hover { color: var(--gg-blue-soft); }
.gg-nav .gg-nav-cta > a { border: 1px solid var(--gg-blue); padding: 10px 15px; border-radius: 12px; color: var(--gg-blue-soft); }
.gg-menu-toggle { display:none; border:1px solid var(--gg-line); color:white; background:var(--gg-surface); border-radius:10px; padding:8px 11px; cursor:pointer; }

.gg-hero { position: relative; overflow:hidden; padding: 88px 0 54px; border-bottom: 1px solid rgba(255,255,255,.08); }
.gg-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(90deg, rgba(8,10,13,.98) 0%, rgba(8,10,13,.86) 50%, rgba(8,10,13,.28) 100%),
              url('assets/img/hero-security.svg') right center/cover no-repeat;
  z-index:-1;
}
.gg-hero-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap: 44px; align-items:center; }
.gg-hero-copy { padding: 32px 0; }
.gg-hero-logo { max-width: 320px; margin-left:auto; opacity:.88; filter: drop-shadow(0 18px 40px rgba(0,0,0,.45)); }
.gg-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top: 30px; }
.gg-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wp-element-button {
  display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding: 0 18px;
  border-radius:12px; font-weight:800; border:1px solid transparent; cursor:pointer; transition: .18s ease;
}
.gg-button-primary, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .wp-element-button {
  background:linear-gradient(135deg, #268ee2, #57b8ff) !important; color:#06111b !important;
}
.gg-button-secondary { border-color:#6b727c; background:rgba(12,14,18,.55); color:#fff; }
.gg-button-ghost { border-color:var(--gg-line); background:var(--gg-surface); color:#fff; }
.gg-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-1px); }

.gg-grid { display:grid; gap:20px; }
.gg-grid-4 { grid-template-columns: repeat(4, 1fr); }
.gg-grid-3 { grid-template-columns: repeat(3, 1fr); }
.gg-grid-2 { grid-template-columns: repeat(2, 1fr); }
.gg-card { background:linear-gradient(180deg, rgba(28,32,38,.96), rgba(17,20,24,.98)); border:1px solid var(--gg-line); border-radius:var(--gg-radius); box-shadow:var(--gg-shadow); overflow:hidden; }
.gg-card-body { padding:22px; }
.gg-card h3 { margin-bottom:8px; }
.gg-card p { color:var(--gg-muted); }
.gg-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--gg-blue); border-radius:50%; color:var(--gg-blue-soft); font-size:1.35rem; margin-bottom:18px; }
.gg-trust { border-top:1px solid var(--gg-line); border-bottom:1px solid var(--gg-line); background:rgba(21,24,29,.75); }
.gg-trust-grid { display:grid; grid-template-columns: 1.5fr 1fr; gap:30px; align-items:center; }
.gg-checks { display:grid; gap:10px; }
.gg-checks span::before { content:"✓"; color:var(--gg-blue-soft); margin-right:10px; font-weight:900; }
.gg-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; margin: 26px 0; flex-wrap:wrap; }
.gg-product-art { aspect-ratio:16/10; display:grid; place-items:center; padding: 20px; background: linear-gradient(135deg, rgba(45,165,255,.16), rgba(255,255,255,.02)), #101318; border-bottom:1px solid var(--gg-line); text-align:center; }
.gg-product-art strong { max-width:80%; font-size:1.2rem; }
.gg-tag { display:inline-block; padding:5px 9px; border-radius:999px; background:#252b33; color:#cfd4db; font-size:.78rem; margin-bottom:10px; }
.gg-page-hero { padding: 62px 0 38px; border-bottom:1px solid var(--gg-line); }
.gg-content-wrap { width: min(calc(100% - 36px), 860px); margin: 0 auto; padding: 60px 0; }
.gg-content { font-size: 1.03rem; }
.gg-content a { color: var(--gg-blue-soft); text-decoration: underline; }
.gg-content blockquote { margin: 24px 0; padding: 18px 22px; border-left: 4px solid var(--gg-blue); background: var(--gg-surface); }
.gg-notice { padding:14px 16px; border-radius:12px; border:1px solid #4b5a68; background:#151c23; color:#dcecff; }

.gg-video-shell { width:100%; aspect-ratio:16/9; min-height:0; border-radius:var(--gg-radius); border:1px solid var(--gg-line); background: radial-gradient(circle at 60% 20%, rgba(45,165,255,.18), transparent 34%), #11151a; display:grid; place-items:center; overflow:hidden; }
.gg-video-shell iframe { width:100%; height:100%; min-height:0; aspect-ratio:16/9; border:0; display:block; }
.gg-video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gg-video-thumb { aspect-ratio:16/9; display:grid; place-items:center; background:#0d1116; border-bottom:1px solid var(--gg-line); color:var(--gg-blue-soft); font-weight:900; }
.gg-community-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:26px; align-items:center; }
.gg-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
.gg-stat { padding:18px; border:1px solid var(--gg-line); border-radius:14px; text-align:center; }
.gg-stat strong { display:block; font-size:1.4rem; }

.gg-site-footer { margin-top:60px; border-top:1px solid var(--gg-line); background:#0a0c0f; }
.gg-footer-grid { display:grid; grid-template-columns:1.4fr repeat(4, 1fr); gap:28px; padding:48px 0; }
.gg-footer-grid h4 { margin:0 0 12px; }
.gg-footer-grid a { display:block; color:var(--gg-muted); margin:7px 0; }
.gg-footer-brand { display:flex; gap:14px; }
.gg-footer-brand img { width:72px; height:78px; object-fit:contain; }
.gg-footer-bottom { border-top:1px solid var(--gg-line); padding:18px 0; color:var(--gg-muted); font-size:.9rem; display:flex; justify-content:space-between; gap:20px; }

/* WordPress core */
.alignwide { max-width: var(--gg-max); margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.wp-caption, .gallery-caption { color: var(--gg-muted); }
.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; }

/* WooCommerce */
.woocommerce, .woocommerce-page { color: var(--gg-text); }
.woocommerce .woocommerce-breadcrumb { color: var(--gg-muted); margin: 0 0 24px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gg-blue-soft); }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; float:none !important; display:flex; flex-direction:column; background:linear-gradient(180deg, rgba(28,32,38,.96), rgba(17,20,24,.98)); border:1px solid var(--gg-line); border-radius:var(--gg-radius); overflow:hidden; box-shadow:var(--gg-shadow); padding-bottom:20px; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display:block; flex:1 1 auto; }
.woocommerce ul.products li.product a img {
  width:100%; height:280px; margin:0; padding:14px;
  object-fit:contain; object-position:center;
  background:radial-gradient(circle at 50% 35%, rgba(45,165,255,.08), transparent 58%), #101318;
  border-bottom:1px solid var(--gg-line);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .button { margin-left:20px; margin-right:20px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1.18rem; padding-top:18px; color:#fff; }
.woocommerce ul.products li.product .price { color:var(--gg-blue-soft); font-weight:900; }
.woocommerce div.product { background:var(--gg-surface); border:1px solid var(--gg-line); border-radius:var(--gg-radius); padding:26px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--gg-blue-soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:var(--gg-surface-2); border-color:var(--gg-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:#fff; }
.woocommerce table.shop_table { border-color:var(--gg-line); background:var(--gg-surface); border-radius:var(--gg-radius); overflow:hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color:var(--gg-line); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select, .select2-container--default .select2-selection--single { background:#0e1115; color:#fff; border:1px solid var(--gg-line); border-radius:10px; min-height:44px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { background:var(--gg-surface); color:#fff; border-top-color:var(--gg-blue); }
.woocommerce-checkout #payment { background:var(--gg-surface); border:1px solid var(--gg-line); }
.woocommerce-checkout #payment div.payment_box { background:var(--gg-surface-2); color:#fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--gg-surface-2); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:10px 12px; background:var(--gg-surface); border-bottom:1px solid var(--gg-line); }

@media (max-width: 980px) {
  .gg-menu-toggle { display:block; }
  .gg-nav { display:none; position:absolute; left:18px; right:18px; top:78px; background:#0f1216; border:1px solid var(--gg-line); border-radius:14px; padding:16px; flex-direction:column; align-items:stretch; }
  .gg-nav.gg-open { display:flex; }
  .gg-hero-grid, .gg-trust-grid, .gg-community-grid { grid-template-columns:1fr; }
  .gg-hero-logo { max-width:220px; margin:0 auto; }
  .gg-grid-4 { grid-template-columns:repeat(2,1fr); }
  .gg-grid-3, .gg-video-grid, .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .woocommerce ul.products li.product a img { height:260px; }
  .gg-footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px) {
  .gg-container, .gg-content-wrap { width:min(calc(100% - 24px), var(--gg-max)); }
  .gg-section { padding:52px 0; }
  .gg-hero { padding-top:48px; }
  .gg-grid-4, .gg-grid-3, .gg-grid-2, .gg-video-grid, .gg-stats, .gg-footer-grid, .woocommerce ul.products { grid-template-columns:1fr; }
  .woocommerce ul.products li.product a img { height:300px; }
  .gg-brand { min-width:auto; }
  .gg-brand strong { font-size:1.12rem; }
  .gg-brand span { display:none; }
  .gg-footer-bottom { flex-direction:column; }
}
