/*
Theme Name: BetOnSports Picks
Description: WordPress conversion of the BetOnSports Picks website, with bundled pages, local images, editable content, and a guided site import.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Author: BetOnSports Picks
Text Domain: betonsports-picks
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Original page styling loads first. These rules provide the WordPress shell. */
html { scroll-behavior: smooth; }
body.bos-site-body { margin: 0; background: #fff; color: #262626; }
.bos-site-body *, .bos-site-body *::before, .bos-site-body *::after { box-sizing: border-box; }
.bos-skip-link { position: absolute; left: 20px; top: -100px; z-index: 10000; padding: 12px 18px; background: #fff; color: #111; }
.bos-skip-link:focus { top: 12px; }
.bos-header { background: #202421; color: #fff; border-bottom: 3px solid #a99868; }
.bos-header-inner { max-width: 1280px; margin: auto; padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.bos-brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 12px; color: #fff; font: 700 20px/1.25 Montserrat, Arial, sans-serif; letter-spacing: .01em; }
.bos-brand:hover { color: #e4d5aa; }
.bos-brand img { display: block; width: auto; height: 56px; max-width: 220px; object-fit: contain; }
.bos-brand .custom-logo-link { display: inline-flex; }
.bos-menu, .bos-menu ul { list-style: none; padding: 0; margin: 0; }
.bos-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 18px; justify-content: flex-end; }
.bos-menu li { margin: 0; padding: 0; }
.bos-menu a { display: inline-block; padding: 8px 0; color: #eee; font: 500 11px/1.65 Montserrat, Arial, sans-serif; text-transform: uppercase; letter-spacing: .07em; }
.bos-menu a:hover, .bos-menu .current-menu-item > a, .bos-menu .current_page_item > a { color: #e4d5aa; }
.bos-menu .sub-menu { padding-left: 12px; }
.bos-menu-button { display: none; border: 1px solid #938568; border-radius: 3px; padding: 9px 13px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.bos-hero { margin: 0; background: #202421; }
.bos-hero img { width: 100%; height: auto; max-height: 430px; object-fit: cover; display: block; }
#main-wrap.bos-main { min-height: 45vh; background: #fff; }
.bos-main .wsite-section { background-color: #fff; }
.bos-main #wsite-content .container { max-width: 1040px; padding: 42px 30px; width: 100%; }
.bos-page-title { max-width: 980px; padding: 28px 30px 0; margin: 0 auto; font: 700 30px/1.25 Montserrat, Arial, sans-serif; color: #202421; }
.bos-main img { max-width: 100%; height: auto; }
.bos-main .wsite-image { max-width: 100%; }
.bos-main .wsite-image div { font-size: 14px !important; }
.bos-main .wsite-image a img { cursor: zoom-in; }
.bos-main .wsite-image a:focus-visible { outline: 3px solid #9b844b; }
.bos-main div.paragraph { overflow-wrap: anywhere; }
.bos-main table { max-width: 100%; }
.bos-main .wcustomhtml { overflow-x: auto !important; }
.bos-main .wsite-button { display: inline-block; padding: 0; border: 0; background: none; height: auto; }
.bos-main .wsite-button .wsite-button-inner { display: inline-block; height: auto; line-height: 1.45; padding: 13px 22px; border: 1px solid #244b2b; border-radius: 3px; background: #245230; color: #fff; font-size: 13px !important; font-weight: 700; text-shadow: none; }
.bos-main .wsite-button:hover .wsite-button-inner { background: #173e22; color: #fff; }
.bos-main .wsite-multicol-table { table-layout: fixed; width: 100%; }
.bos-main .wsite-section-elements > div { max-width: 100%; }
.bos-main h1 { line-height: 1.25; }
.bos-main .bos-standard-content { max-width: 980px; margin: auto; padding: 40px 30px; }
.bos-main .bos-standard-content h1, .bos-main .bos-standard-content h2 { margin: 0 0 20px; }
.bos-main .bos-standard-content p { margin: 0 0 20px; }
.bos-main a:focus-visible, .bos-header a:focus-visible, .bos-footer a:focus-visible, button:focus-visible { outline: 3px solid #b59c56; outline-offset: 4px; }
.bos-footer { padding: 42px 26px; background: #202421; color: #eee; text-align: center; }
.bos-footer-inner { max-width: 960px; margin: auto; }
.bos-footer p { margin: 0 0 12px; font: 400 13px/1.9 'Open Sans', Arial, sans-serif; }
.bos-footer a { color: #e4d5aa; }
.bos-footer .bos-menu { justify-content: center; margin-bottom: 24px; }
.bos-footer .bos-menu a { font-size: 10px; }
.bos-contact-section { max-width: 760px; margin: auto; padding: 44px 28px; }
.bos-contact-section h1 { margin: 0 0 28px; font-size: 32px; }
.bos-form { margin: 18px 0; text-align: left; }
.bos-form label { display: block; margin: 18px 0 6px; font-weight: 600; }
.bos-form input, .bos-form textarea { width: 100%; padding: 12px; border: 1px solid #bbb; border-radius: 3px; background: #fff; color: #222; font: inherit; line-height: 1.5; }
.bos-form input:focus, .bos-form textarea:focus { outline: 2px solid #a99868; outline-offset: 2px; }
.bos-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bos-form button { padding: 12px 26px; margin-top: 20px; background: #245230; border: 0; border-radius: 3px; color: #fff; font: 600 16px/1.5 Arial, sans-serif; cursor: pointer; }
.bos-form-note { font-size: 13px; }
.bos-message { padding: 15px 18px; border-left: 4px solid #245230; background: #f0f6ef; }
.bos-message-error { border-color: #a11b1b; background: #fff1f1; }
.bos-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0); }
.bos-empty { padding: 60px 28px; max-width: 980px; margin: auto; }
.bos-pagination { display: flex; gap: 16px; margin-top: 25px; }
@media (max-width: 900px) {
  .bos-header-inner { flex-wrap: wrap; padding: 17px 22px; }
  .bos-nav { width: 100%; }
  .bos-menu { justify-content: flex-start; gap: 4px 18px; }
  .bos-js .bos-menu-button { display: block; }
  .bos-js .bos-nav:not(.is-open) { display: none; }
  .bos-menu a { font-size: 12px; padding: 9px 0; }
  .bos-main #wsite-content .container { padding: 28px 22px; }
  .bos-main .wsite-multicol-table, .bos-main .wsite-multicol-tbody, .bos-main .wsite-multicol-tr, .bos-main .wsite-multicol-col { display: block; width: 100% !important; }
}
@media (max-width: 520px) {
  .bos-brand { font-size: 17px; }
  .bos-main #wsite-content .container { padding: 24px 17px; }
  .bos-main h1 { font-size: 27px !important; }
  .bos-main .wsite-spacer { max-height: 40px; }
  .bos-name-fields { grid-template-columns: 1fr; gap: 0; }
  .bos-main .wcustomhtml th, .bos-main .wcustomhtml td { padding: 8px 5px !important; }
  .bos-main div.paragraph { font-size: 16px; line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
