/* ============================================================
   O'Brothers Wine & Spirits — Static Site Stylesheet
   Combines GeneratePress customizer settings + child theme overrides
   ============================================================ */

/* --- GeneratePress Customizer Settings (from wp inline CSS) --- */
body { background-color: #efefef; color: #3a3a3a; }
a { color: #1e73be; }
a:hover, a:focus, a:active { color: #000000; }
body .grid-container { max-width: 1100px; }

:root {
  --contrast: #222222;
  --contrast-2: #575760;
  --contrast-3: #b2b2be;
  --base: #f0f0f0;
  --base-2: #f7f8f9;
  --base-3: #ffffff;
  --accent: #1e73be;
}

body, button, input, select, textarea { font-family: "Open Sans", sans-serif; }
body { line-height: 1.5; }
.main-title { font-size: 45px; }
h1 { font-weight: 300; font-size: 40px; }
h2 { font-weight: 300; font-size: 30px; }
h3 { font-size: 20px; }
h4, h5 { font-size: inherit; }
@media (max-width: 768px) {
  .main-title { font-size: 30px; }
  h1 { font-size: 30px; }
  h2 { font-size: 25px; }
}

.site-header { background-color: #ffffff; color: #3a3a3a; }
.site-header a { color: #3a3a3a; }
.main-title a, .main-title a:hover { color: #222222; }
.site-description { color: #757575; }

.main-navigation, .main-navigation ul ul { background-color: #222222; }
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle { color: #ffffff; }
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: #ffffff; background-color: #3f3f3f; }

.separate-containers .inside-article,
.separate-containers .page-header,
.one-container .container { background-color: #ffffff; }

.sidebar .widget { background-color: #ffffff; }
.sidebar .widget .widget-title { color: #000000; }

.site-info { color: #ffffff; background-color: #222222; padding: 20px; }
.site-info a { color: #ffffff; }
.site-info a:hover { color: #606060; }

.inside-header { padding: 40px; }
.inside-top-bar { padding: 10px; }
.site-info { padding: 20px; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="tel"], input[type="number"], textarea, select {
  color: #666666; background-color: #fafafa; border-color: #cccccc;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
  color: #666666; background-color: #ffffff; border-color: #bfbfbf;
}
button, input[type="submit"], a.button {
  color: #ffffff; background-color: #666666;
}
button:hover, input[type="submit"]:hover, a.button:hover {
  color: #ffffff; background-color: #3f3f3f;
}

@media (max-width: 768px) {
  .main-navigation .menu-toggle, .sidebar-nav-mobile { display: block; }
  .main-navigation ul { display: none; }
}

/* --- Child Theme: O'Brothers Overrides --- */
body, .site-header { background-color: #e7e77d; }

.main-navigation, .site-info { background-color: #009542; }

.page-header, .post, .site-main, .widget-area .widget, .site-footer {
  border: 1px solid #EEE;
}


.widget_media_image { text-align: center; }

.entry-meta, .copyright-bar { display: none; }

/* --- Contact Form --- */
#contact-form { max-width: 600px; }
#contact-form label { display: block; margin-top: 1em; font-weight: bold; }
#contact-form input[type="text"],
#contact-form input[type="email"],
#contact-form input[type="tel"],
#contact-form textarea {
  width: 100%; padding: .5em; box-sizing: border-box;
  border: 1px solid #ccc; border-radius: 3px;
}
#contact-form textarea { height: 120px; }
#contact-form button[type="submit"] {
  margin-top: 1.2em; padding: .6em 1.6em;
  background: #009542; color: #fff; border: none;
  border-radius: 3px; font-size: 1em; cursor: pointer;
}
#contact-form button[type="submit"]:hover { background: #007a35; }
.form-notice { padding: .8em 1em; margin: 1em 0; border-radius: 3px; }
.form-notice.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.form-notice.error   { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.field-error { display: block; color: #721c24; font-size: .875em; margin-top: .25em; }
#contact-form [aria-invalid="true"] { border-color: #dc3545; }

/* --- Locations --- */
.location-card {
  background: #fff; border: 1px solid #ddd; border-radius: 4px;
  padding: 1.5em; margin-bottom: 1.5em;
}
.location-card h2 { margin-top: 0; color: #009542; }
.location-card .location-note { font-style: italic; color: #666; margin-top: .5em; }
