/*
Theme Name: Sams Business
Theme URI: https://samsbusiness.com/
Author: Sams Business
Description: Premium classic theme for Sams Business — deep navy, gold and white, bold text wordmark header, clean navigation, full-width pages, in-content image support. No featured-image dependency for pages.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: samsbusiness
*/

:root {
  --navy: #0A1931;
  --navy-2: #12294D;
  --navy-3: #1B3A66;
  --gold: #C9A227;
  --gold-light: #E8C766;
  --ink: #1F2937;
  --muted: #5B6472;
  --line: #E3E0D5;
  --cream: #F7F5EF;
  --white: #FFFFFF;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
}

a { color: var(--navy-3); }
a:hover { color: var(--gold); }

/* ---------- Header: navy, bold text wordmark only ---------- */
.site-header {
  background: var(--navy);
  color: var(--white);
  border-bottom: 4px solid var(--gold);
}
.site-header-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 22px 24px 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 32px;
}
.site-wordmark {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
}
.site-wordmark a {
  color: var(--white);
  text-decoration: none;
}
.site-wordmark a:hover { color: var(--gold-light); }
.site-tagline {
  margin: 2px 0 0;
  color: #CBD5E1;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 26px;
}
.main-nav a {
  color: var(--white);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.main-nav a:hover,
.main-nav .current-menu-item a,
.main-nav .current_page_item a { color: var(--gold-light); }

/* ---------- Layout ---------- */
.site-main {
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 24px 64px;
}
.entry-header { margin-bottom: 28px; }
.entry-title {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--navy);
  font-size: 38px;
  line-height: 1.25;
  margin: 0 0 10px;
}
.entry-content h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--navy);
  font-size: 27px;
  line-height: 1.3;
  margin: 38px 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--gold);
}
.entry-content h3 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--navy-2);
  font-size: 21px;
  margin: 28px 0 8px;
}
.entry-content p { margin: 0 0 16px; }
.entry-content ul, .entry-content ol { margin: 0 0 18px 22px; }
.entry-content li { margin-bottom: 6px; }

/* In-content images (no featured-image dependency) */
.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}
.entry-content figure { margin: 24px 0; }
.entry-content figcaption {
  color: var(--muted);
  font-size: 14px;
  text-align: center;
}

/* ---------- Buttons / CTAs ---------- */
.button, .btn,
.entry-content a.button {
  display: inline-block;
  background: var(--gold);
  color: var(--navy);
  border: 2px solid var(--gold);
  padding: 12px 26px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  line-height: 1.4;
}
.button:hover, .btn:hover,
.entry-content a.button:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}
.button-outline, .entry-content a.button-outline {
  background: transparent;
  color: var(--navy);
  border: 2px solid var(--navy);
}
.button-outline:hover, .entry-content a.button-outline:hover {
  background: var(--navy);
  color: var(--white);
}

/* ---------- Callout / note boxes ---------- */
.callout {
  background: var(--cream);
  border-left: 4px solid var(--gold);
  padding: 18px 22px;
  margin: 26px 0;
}
.callout p:last-child { margin-bottom: 0; }
.disclosure {
  border-top: 1px solid var(--line);
  margin-top: 44px;
  padding-top: 18px;
  color: var(--muted);
  font-size: 14px;
}

/* ---------- Package cards (homepage preview) ---------- */
.package-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 26px 0;
}
.package-card {
  border: 1px solid var(--line);
  border-top: 5px solid var(--navy);
  border-radius: 6px;
  padding: 24px 22px;
  background: var(--white);
}
.package-card.featured {
  border-color: var(--gold);
  border-top: 5px solid var(--gold);
  background: var(--cream);
}
.package-card h3 { margin-top: 0; }
.package-price {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  color: var(--navy);
  margin: 6px 0 4px;
}
.package-price span {
  font-size: 15px;
  color: var(--muted);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.package-badge {
  display: inline-block;
  background: var(--gold);
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 3px;
}

/* ---------- Pricing table ---------- */
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin: 26px 0;
  font-size: 16px;
}
.price-table th, .price-table td {
  border: 1px solid var(--line);
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
}
.price-table thead th {
  background: var(--navy);
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
}
.price-table thead th.featured-col { background: var(--navy-3); }
.price-table tbody tr:nth-child(even) { background: var(--cream); }

/* ---------- Blog index ---------- */
.post-card {
  border-bottom: 1px solid var(--line);
  padding: 0 0 26px;
  margin: 0 0 30px;
}
.post-card h2 { margin: 0 0 8px; }
.post-card h2 a { color: var(--navy); text-decoration: none; }
.post-card h2 a:hover { color: var(--gold); }
.post-meta { color: var(--muted); font-size: 14px; margin-bottom: 10px; }

/* ---------- Forms (WPForms-friendly) ---------- */
input[type="text"], input[type="email"], input[type="tel"],
input[type="url"], select, textarea {
  width: 100%;
  max-width: 560px;
  padding: 11px 12px;
  border: 1px solid #CBD5E1;
  border-radius: 4px;
  font-size: 16px;
  font-family: inherit;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--navy);
}
button, input[type="submit"] {
  background: var(--gold);
  color: var(--navy);
  border: 2px solid var(--gold);
  padding: 12px 26px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
}
button:hover, input[type="submit"]:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

/* ---------- Footer ---------- */
.site-footer {
  background: var(--navy);
  color: #CBD5E1;
  border-top: 4px solid var(--gold);
}
.site-footer-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 36px 24px;
}

.site-footer a { color: var(--white); text-decoration: none; }
.site-footer a:hover { color: var(--gold-light); }
.footer-wordmark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--white);
  margin: 0 0 12px;
}
.footer-nav ul {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 22px;
}
.footer-disclosure { font-size: 13px; line-height: 1.6; }
.footer-disclosure p { margin: 0 0 8px; }

/* ---------- Responsive ---------- */
@media (max-width: 820px) {
  .package-grid { grid-template-columns: 1fr; }
  .entry-title { font-size: 30px; }
  .site-wordmark { font-size: 25px; }
  .price-table { font-size: 14px; }
  .price-table th, .price-table td { padding: 9px 10px; }
}
/* ---------- Mega-menu navigation (added 2026-10-24) ---------- */.main-nav li {  position: relative;}.main-nav .sub-menu {  display: none;  position: absolute;  top: 100%;  left: 0;  min-width: 270px;  max-height: 80vh;  overflow-y: auto;  background: var(--navy-2);  padding: 8px 0;  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
	z-index: 100;}.main-nav li:hover > .sub-menu,.main-nav li:focus-within > .sub-menu {  display: block;
}.main-nav .sub-menu li {  display: block;
}.main-nav .sub-menu a {  display: block;  padding: 9px 18px;  white-space: normal;}.main-nav .sub-menu .sub-menu {  left: 100%;  top: 0;}/* Services is the 4th top-level item (Homepage, Pricing, Formation, Services...):   two columns instead of one long list, reading down each column like a mega-menu.   8 rows fit the current 15 services (8 + 7); adjust the repeat count if services   are added, and update the .main-nav li.menu-item-2085 selector if the top-level menu order changes. */@media (min-width: 769px) {  .main-nav li.menu-item-2085:hover > .sub-menu,  .main-nav li.menu-item-2085:focus-within > .sub-menu {    display: grid;    grid-auto-flow: column;    grid-template-rows: repeat(8, auto);    grid-template-columns: 1fr 1fr;    min-width: 540px;    max-width: calc(100vw - 48px);  }}@media (max-width: 768px) {  .main-nav {    width: 100%;  }  .main-nav > ul {    flex-direction: column;    gap: 8px 0;  }  .main-nav .sub-menu {    display: none;    position: static;    min-width: 0;    max-height: none;    overflow: visible;    background: transparent;    box-shadow: none;    padding: 4px 0 4px 18px;  }  .main-nav .sub-menu a {    padding: 6px 0;  } .main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display: none; } .main-nav li.sub-open > .sub-menu { display: block; }
}

}
.sams-hero{background:var(--navy);color:var(--white);padding:56px 24px;border-bottom:4px solid var(--gold);}
.sams-hero-inner{max-width:900px;margin:0 auto;text-align:center;}
.sams-hero-title{color:var(--white);font-size:40px;line-height:1.15;margin:0 0 12px;}
.sams-hero-sub{color:#CBD5E1;font-size:18px;margin:0 0 28px;}
.sams-hero-form{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:flex-end;}
.sams-hero-label{color:var(--gold-light);font-size:14px;text-align:left;}
.sams-hero-label select{display:block;margin-top:6px;padding:12px 14px;font-size:16px;min-width:200px;border:2px solid var(--gold);border-radius:6px;background:var(--white);color:var(--ink);}
.sams-hero-button{background:var(--gold);color:var(--navy);border:2px solid var(--gold);padding:12px 28px;font-size:16px;font-weight:700;border-radius:6px;cursor:pointer;}
.sams-hero-button:hover{background:var(--gold-light);border-color:var(--gold-light);}
.sams-hero-note{color:#CBD5E1;font-size:14px;margin:20px 0 0;}
@media(max-width:768px){.sams-hero-title{font-size:30px;}.sams-hero-form{flex-direction:column;align-items:stretch;}.sams-hero-label select{width:100%;}}

.site-header-cta{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:15px;padding:10px 22px;border-radius:6px;text-decoration:none;border:2px solid var(--gold);}
.site-header-cta:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--navy);}
main.site-main section.sams-hero{background:var(--navy);color:var(--white);padding:56px 24px;border-bottom:4px solid var(--gold);}
main.site-main section.sams-hero{background:var(--navy-3);}
header.site-header{background:var(--navy-3);}
.sams-hero-image{display:block;width:100%;max-width:880px;height:300px;object-fit:cover;border-radius:12px;border:2px solid var(--gold);margin:28px auto 0;}
.sams-hero-wrap{display:flex;gap:32px;align-items:center;max-width:1120px;margin:0 auto;}
.sams-hero-text{flex:1;min-width:0;text-align:left;}
.sams-hero-media{flex:1;min-width:0;}
.sams-hero-image{display:block;width:100%;max-width:none;height:420px;object-fit:cover;border-radius:12px;border:2px solid var(--gold);margin:0;}
@media(max-width:768px){.sams-hero-wrap{flex-direction:column;}.sams-hero-image{height:260px;}}
.sams-hero-text .sams-hero-form{justify-content:flex-start;text-align:left;}
.site-header-inner{display:flex;align-items:center;flex-wrap:nowrap;padding:12px 24px;}
.site-brand{display:grid;grid-template-columns:36px auto;column-gap:12px;align-items:center;flex-shrink:0;}
.site-brand-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#C9A227;color:#0A1931;font-size:22px;font-weight:700;border-radius:6px;grid-row:1 / span 2;}
.site-wordmark{grid-column:2;grid-row:1;font-size:24px;font-weight:700;color:#FFFFFF;line-height:1.1;margin:0;}
.site-wordmark a{color:#FFFFFF;}
.site-tagline{grid-column:2;grid-row:2;font-size:11px;margin:0;}
.main-nav{flex:1 1 auto;}
.site-header-cta{flex-shrink:0;}
@media (min-width:769px){header.site-header nav.main-nav ul.menu > li:hover > ul.sub-menu,header.site-header nav.main-nav ul.menu > li:focus-within > ul.sub-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;min-width:420px;}}