/*
Theme Name: PBST OceanWP Child
Theme URI: https://pakbusinessstars.com/
Description: Pak Business Stars child theme for OceanWP. Certificate-inspired premium navy/gold design system for PBST public website, registry, applications, academy and verification pages.
Author: Pak Business Stars
Template: oceanwp
Version: 1.0.0
Text Domain: pbst-oceanwp-child
*/

:root {
  --pbst-navy: #071D36;
  --pbst-blue: #17365D;
  --pbst-blue-2: #2F5597;
  --pbst-gold: #C69214;
  --pbst-gold-2: #E4B94D;
  --pbst-cream: #F8F3E7;
  --pbst-paper: #FFFDF7;
  --pbst-ink: #10233D;
  --pbst-muted: #64748B;
  --pbst-border: #E7D4A6;
  --pbst-shadow: 0 18px 45px rgba(7,29,54,.14);
}

/* OceanWP base polish */
body {
  color: var(--pbst-ink);
  background: #ffffff;
}

#site-header {
  border-bottom: 1px solid rgba(198,146,20,.25);
  box-shadow: 0 8px 24px rgba(7,29,54,.05);
}

#site-logo #site-logo-inner a img,
#site-logo #site-logo-inner a {
  max-height: 64px;
}

#site-navigation-wrap .dropdown-menu > li > a,
.oceanwp-mobile-menu-icon a {
  font-weight: 700;
  letter-spacing: .02em;
}

#site-navigation-wrap .dropdown-menu > li.btn > a,
.pbst-menu-cta > a {
  background: var(--pbst-gold);
  color: #fff !important;
  border-radius: 999px;
  padding: 12px 18px !important;
  line-height: 1 !important;
  margin-top: 18px;
}

#footer-widgets {
  background: var(--pbst-navy);
  color: #DDE7F5;
  border-top: 5px solid var(--pbst-gold);
}

#footer-widgets a,
#footer-bottom a {
  color: var(--pbst-gold-2);
}

#footer-bottom {
  background: #041425;
  color: #B8C7DA;
}

/* PBST layout system */
.pbst-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 18px;
}

.pbst-section {
  padding: 70px 0;
}

.pbst-eyebrow {
  display: inline-block;
  color: var(--pbst-gold);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 13px;
  margin-bottom: 12px;
}

.pbst-title {
  color: var(--pbst-navy);
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.04;
  margin: 0 0 18px;
  letter-spacing: -.03em;
}

.pbst-subtitle {
  color: #35506F;
  font-size: 19px;
  line-height: 1.7;
  max-width: 860px;
}

.pbst-btn,
a.pbst-btn,
button.pbst-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--pbst-gold), #A97708);
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(198,146,20,.25);
  transition: transform .18s ease, box-shadow .18s ease;
}

.pbst-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(198,146,20,.34);
}

.pbst-btn-secondary {
  background: #fff;
  color: var(--pbst-navy) !important;
  border: 1px solid rgba(198,146,20,.45);
}

/* Homepage hero */
.pbst-hero {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  background:
    radial-gradient(circle at 82% 25%, rgba(228,185,77,.26), transparent 34%),
    linear-gradient(135deg, #061A31 0%, #17365D 58%, #09213D 100%);
  color: #fff;
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 36px;
  align-items: center;
  padding: 64px 54px;
  box-shadow: var(--pbst-shadow);
}

.pbst-hero:before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(228,185,77,.42);
  border-radius: 24px;
  pointer-events: none;
}

.pbst-hero:after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -160px;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: rgba(198,146,20,.18);
}

.pbst-hero-content,
.pbst-hero-visual {
  position: relative;
  z-index: 1;
}

.pbst-hero .pbst-title,
.pbst-hero h1 {
  color: #fff;
  font-size: clamp(38px, 5.5vw, 72px);
  line-height: 1;
  letter-spacing: -.04em;
}

.pbst-hero p {
  color: #EAF1FA;
  font-size: 19px;
  line-height: 1.7;
}

.pbst-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  border: 1px solid rgba(228,185,77,.55);
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(255,255,255,.08);
  font-weight: 900;
  letter-spacing: .05em;
}

.pbst-hero-badge:before {
  content: "★";
  color: var(--pbst-gold-2);
}

.pbst-hero-visual {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(228,185,77,.35);
  border-radius: 28px;
  padding: 18px;
  backdrop-filter: blur(8px);
}

.pbst-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}

/* Certificate sample */
.pbst-certificate-frame {
  background:
    linear-gradient(135deg, rgba(198,146,20,.2), transparent 22%),
    linear-gradient(315deg, rgba(198,146,20,.18), transparent 24%),
    var(--pbst-paper);
  border: 10px solid var(--pbst-navy);
  outline: 4px solid var(--pbst-gold);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 25px 60px rgba(7,29,54,.25);
}

.pbst-certificate-frame img {
  width: 100%;
  display: block;
  border-radius: 8px;
}

/* Cards and grids */
.pbst-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 22px;
}

.pbst-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(198,146,20,.22);
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 12px 35px rgba(7,29,54,.08);
  overflow: hidden;
}

.pbst-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--pbst-gold), var(--pbst-blue));
}

.pbst-card h2,
.pbst-card h3 {
  color: var(--pbst-navy);
  margin-top: 8px;
}

.pbst-card p {
  color: #435A76;
  line-height: 1.65;
}

/* Trust strip */
.pbst-trust-strip,
.pbst-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 26px 0;
}

.pbst-trust-strip span,
.pbst-strip {
  background: var(--pbst-cream);
  border: 1px solid rgba(198,146,20,.28);
  border-radius: 999px;
  padding: 10px 14px;
  color: var(--pbst-navy);
  font-weight: 800;
}

/* Registry / verification */
.pbst-search {
  display: flex;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(198,146,20,.25);
  border-radius: 20px;
  padding: 14px;
  box-shadow: 0 10px 30px rgba(7,29,54,.08);
}

.pbst-search input {
  flex: 1;
  border: 1px solid #D8E0EC;
  border-radius: 14px;
  min-height: 52px;
  padding: 0 16px;
}

.pbst-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  background: #EAF1FA;
  color: var(--pbst-blue);
}

.pbst-status-active {
  background: #E4F6E8;
  color: #176A2A;
}

.pbst-status-suspended,
.pbst-status-withdrawn {
  background: #FDE7E7;
  color: #A10000;
}

.pbst-stars {
  color: var(--pbst-gold);
  font-size: 30px;
  letter-spacing: 2px;
  text-shadow: 0 2px 0 rgba(0,0,0,.08);
}

/* Forms */
.pbst-form {
  background: #fff;
  border: 1px solid rgba(198,146,20,.24);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 14px 40px rgba(7,29,54,.08);
}

.pbst-form label {
  display: block;
  font-weight: 900;
  color: var(--pbst-navy);
  margin: 16px 0 6px;
}

.pbst-form input,
.pbst-form select,
.pbst-form textarea {
  width: 100%;
  border: 1px solid #CBD7E5;
  border-radius: 14px;
  padding: 13px 14px;
  background: #fff;
}

.pbst-check {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  font-weight: 700 !important;
}

.pbst-check input {
  width: auto;
  margin-top: 4px;
}

/* Notice blocks */
.pbst-warning {
  background: #FFF7E6;
  border: 1px solid #F1D28A;
  border-left: 6px solid var(--pbst-gold);
  padding: 18px;
  border-radius: 16px;
  margin: 20px 0;
}

.pbst-notice {
  background: #EAF7EE;
  border-left: 6px solid #2E7D32;
  padding: 18px;
  border-radius: 16px;
  margin: 20px 0;
}

.pbst-small {
  color: var(--pbst-muted);
  font-size: 13px;
}

/* OceanWP content alignment */
.content-area,
#primary {
  overflow: visible;
}

.single-page-article {
  padding-top: 0;
}

/* Mobile */
@media (max-width: 900px) {
  .pbst-hero {
    grid-template-columns: 1fr;
    padding: 42px 22px;
    min-height: auto;
  }

  .pbst-hero-visual {
    display: none;
  }

  .pbst-search {
    display: block;
  }

  .pbst-search input {
    width: 100%;
    margin-bottom: 12px;
  }
}
