/*
Theme Name: Enfold Child
Description: OSHA Guardian marketing site — child theme of Enfold.
Version: 1.1
Author: OSHA Guardian
Template: enfold
*/

/* ==========================================================================
   Brand tokens (match the app: app.oshaguardian.com)
   ========================================================================== */
:root {
	--og-blue: #1a5cff;
	--og-blue-dark: #1449cc;
	--og-blue-soft: #eff5ff;
	--og-navy: #0f172a;
	--og-slate: #475569;
	--og-border: #e2e8f0;
	--og-green: #059669;
}

/* Logo sizing in the Enfold header */
.logo img { max-height: 46px !important; width: auto; }

/* "Start free trial" menu item (menu item CSS class: og-menu-cta) */
#top .main_menu .menu li.og-menu-cta > a .avia-menu-text {
	background: var(--og-blue);
	color: #fff !important;
	border-radius: 8px;
	padding: 10px 18px;
	font-weight: 600;
}
#top .main_menu .menu li.og-menu-cta > a:hover .avia-menu-text { background: var(--og-blue-dark); }
#top .main_menu .menu li.og-menu-cta > a .avia-menu-fx { display: none; }

/* Hero */
.og-hero-sub { font-size: 20px; line-height: 1.6; color: #cbd5e1; max-width: 760px; margin: 0 auto; }
.og-eyebrow { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--og-blue); }
.og-trust { color: #94a3b8; font-size: 14px; }

/* Steps */
.og-step-num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: var(--og-blue); color: #fff; font-weight: 700; margin-bottom: 12px; }

/* Role table */
.og-table-wrap { overflow-x: auto; }
.og-roles { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; }
.og-roles th, .og-roles td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--og-border); text-align: center; }
.og-roles th:first-child, .og-roles td:first-child { text-align: left; }
.og-roles thead th { background: var(--og-navy); color: #fff; font-weight: 600; }
.og-roles .yes { color: var(--og-green); font-weight: 700; }
.og-roles .no { color: #94a3b8; }

/* ==========================================================================
   Pricing table ([og_pricing] shortcode)
   ========================================================================== */
.og-pricing { text-align: center; }
.og-toggle { display: inline-flex; gap: 4px; padding: 4px; background: #e2e8f0; border-radius: 12px; margin-bottom: 32px; }
.og-toggle-btn { border: 0; background: transparent; padding: 10px 20px; border-radius: 9px; font-weight: 600; font-size: 15px; color: var(--og-navy); cursor: pointer; }
.og-toggle-btn.is-active { background: #fff; box-shadow: 0 1px 3px rgba(15,23,42,.15); }
.og-save { color: var(--og-green); font-weight: 700; }
.og-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; text-align: left; }
.og-plan { position: relative; background: #fff; border: 1px solid var(--og-border); border-radius: 18px; padding: 32px 28px; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.og-plan.is-featured { border: 2px solid var(--og-blue); box-shadow: 0 12px 30px rgba(26,92,255,.15); }
.og-badge { position: absolute; top: -13px; left: 28px; background: var(--og-blue); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.og-plan-name { margin: 0 0 4px; font-size: 22px; }
.og-plan-desc { color: var(--og-slate); min-height: 48px; margin: 0; }
.og-price { margin: 20px 0 16px; }
.og-amount { font-size: 44px; font-weight: 800; color: var(--og-navy); letter-spacing: -0.02em; }
.og-per { color: var(--og-slate); margin-left: 4px; }
.og-features { list-style: none; margin: 24px 0 0 !important; padding: 0; }
.og-features li { position: relative; padding: 6px 0 6px 28px; margin: 0 !important; color: #334155; list-style: none; }
.og-features li::before { content: ""; position: absolute; left: 0; top: 10px; width: 18px; height: 18px; border-radius: 999px; background: var(--og-blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a5cff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.og-pricing-note { margin-top: 28px; color: var(--og-slate); }
.og-pricing-fallback { text-align: center; padding: 30px; }
.og-price-block[hidden] { display: none !important; }

.og-btn { display: block; text-align: center; padding: 13px 18px; border-radius: 10px; font-weight: 700; text-decoration: none !important; transition: background .15s, border-color .15s; }
.og-btn-primary { background: var(--og-blue); color: #fff !important; }
.og-btn-primary:hover { background: var(--og-blue-dark); }
.og-btn-outline { border: 1.5px solid #cbd5e1; color: var(--og-navy) !important; }
.og-btn-outline:hover { border-color: var(--og-blue); color: var(--og-blue) !important; }

@media (max-width: 767px) {
	.og-hero-sub { font-size: 17px; }
	.og-amount { font-size: 38px; }
}

/* Inline buttons used in page sections */
.og-btn-row { margin: 0; }
.og-btn.og-btn-inline { display: inline-block; margin: 6px; padding: 14px 26px; font-size: 16px; }
.og-btn-ghost { border: 1.5px solid rgba(255,255,255,.45); color: #fff !important; }
.og-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.og-step-num + h3 { margin-top: 0; }
