/* ==========================================================
   BLOODWEAVER — CONS10.css (UNIFIED / AUTHORITATIVE)
   Classic layout: 960 / 180 / 780 (floats)
   Purpose:
   - Owns the classic layout (.container/.sidebar1/.content)
   - Keeps BloodWeaver look (background GIF, Verdana, classic links)
   - Fixes sidebar squeezing + padding inheritance issues
   - Provides safe base forms/buttons consistent with your pages
   - Includes essential “utilities” so classic pages do NOT need style.css
   ========================================================== */

/* ===== SAFE VARIABLES (moved from style.css) ===== */
:root{
  --primary:#7952b3;
  --secondary:#61428f;
  --border:#dee2e6;
  --radius:4px;
  --focus:0 0 0 3px rgba(121,82,179,.25);

  --error:#dc3545;
  --success:#198754;
  --warning:#664d03;
  --info:#0c5460;

  --alert-error-bg:#f8d7da;
  --alert-warning-bg:#fff3cd;
  --alert-success-bg:#d4edda;
  --alert-info-bg:#d1ecf1;
}

/* ===== RESET / BASE ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body{
  font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
  color: #000;
  background-image: url("../Background/PresentationBB2.gif");
  background-repeat: repeat;
  background-color: #FFFFFF;
}

/* Element defaults (kept light; avoid fighting page-specific styles) */
p { margin: .75em 0; }
img { border: none; }
a img { border: none; }

/* ===== LINKS (CLASSIC) ===== */
a:link    { color: #0000CC; text-decoration: underline; }
a:visited { color: #990099; text-decoration: underline; }
a:hover,
a:active,
a:focus   { text-decoration: none; }

/* ===== CONTAINER / COLUMNS ===== */
.container{
  width: 960px;
  max-width: 960px;
  margin: 0 auto;
  overflow: hidden;             /* contain floats */
  background: #FFF;
  background-image: url("../Background/PresentationBB2.gif");
  text-align: left;
}

/* Sidebar: narrow, padded, readable */
.sidebar1{
  float: right;
  width: 180px;
  padding: 12px 10px;
  background: #EADCAE;
  background-image: url("../Background/BackImageL6.gif");
  overflow: visible;
}

/* CRITICAL: stop any inherited padding squeezing sidebar */
.sidebar1 p{
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  line-height: 1.25;
}
.sidebar1 a{ word-break: break-word; }

/* Content column */
.content{
  float: right;
  width: 780px;
  padding: 12px;                /* fixes “jammed” look */
  background-image: url("../Background/PresentationBB2.gif");
  color: #000;
}

/* Headings/paragraphs inside classic content */
.content h1, .content h2, .content h3,
.content h4, .content h5, .content h6{
  margin: 0 0 .6em 0;
  padding: 0;
  font-weight: normal;
  color: #000;
}
.content p{
  padding: 0;
  margin: .75em 0;
  color: #000;
}
.content ul, .content ol{
  padding: 0 0 15px 40px;
  margin: .5em 0;
}

/* Classic nav list (if used) */
ul.nav{
  list-style: none;
  margin: 0 0 15px 0;
  padding: 0;
  border-top: 1px solid #666;
}
ul.nav li{ border-bottom: 1px solid #666; }
ul.nav a, ul.nav a:visited{
  display: block;
  width: auto;
  padding: 5px 5px 5px 15px;
  text-decoration: none;
  background: #C6D580;
  color: #000;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus{
  background: #ADB96E;
  color: #FFF;
}

/* ===== PAYPAL CONTAINMENT (prevents sidebar ugliness) ===== */
/* Use: <div class="paypalWrap"><div id="paypal-container-..."></div></div> */
.paypalWrap{ margin-top: 12px; }
.paypalWrap iframe{
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  border: 0 !important;
}

/* Optional: mild PayPal scale for very narrow sidebars
.paypalWrap.paypalScale{
  transform: scale(0.90);
  transform-origin: top left;
  width: calc(100% / 0.90);
}
*/

/* ===== FORMS (safe defaults) ===== */
.formPanel, .form-panel{
  background-color: #CC9999;
  border: 1px solid #A87474;
  margin: 10px 0 20px 0;         /* content already has padding */
  padding: 14px 16px 16px 16px;
}
.form-field{ margin: 10px 0; }
.form-field label{
  display: block;
  font-weight: bold;
  margin-bottom: 6px;
}

input[type="text"], input[type="password"], input[type="email"], input[type="url"],
textarea, select{
  width: 100%;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid #776;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.35;
  background: #FFF;
  color: #000;
}
textarea{ resize: vertical; }

input:focus, select:focus, textarea:focus{
  outline: 0;
  box-shadow: var(--focus);
}

/* Validation helper classes (optional) */
input.error, select.error, textarea.error{ border-color: var(--error); }
input.success, select.success, textarea.success{ border-color: var(--success); }

/* ===== BUTTONS ===== */
button, .btn{
  display: inline-block;
  padding: 8px 12px;
  min-width: 120px;
  background: #F9F9F9;
  color: #000;
  border: 1px solid var(--primary);
  text-decoration: none;
  cursor: pointer;
  border-radius: var(--radius);
  transition: all .18s ease-in-out;
}
button:hover, .btn:hover{
  background: #EAEAEA;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}

/* ===== ALERTS (moved from style.css) ===== */
.alert{
  position: relative;
  padding: 10px 12px;
  margin: 10px 0;
  border-radius: var(--radius);
  border: 1px solid rgba(0,0,0,.08);
}
.alert-error{ color: var(--error); background: var(--alert-error-bg); }
.alert-warning{ color: var(--warning); background: var(--alert-warning-bg); }
.alert-success{ color: var(--success); background: var(--alert-success-bg); }
.alert-info{ color: var(--info); background: var(--alert-info-bg); }

/* ===== TABLES (moved from style.css) ===== */
table{
  border-collapse: collapse;
  width: 100%;
}
th, td{
  border-bottom: 1px solid #e1e1e1;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
table.wrap{
  display: block;
  overflow-x: auto;
}

/* ===== UTILITIES ===== */
.fltrt { float: right; margin-left: 8px; }
.fltlft { float: left; margin-right: 8px; }
.clearfloat{ clear: both; height: 0; font-size: 1px; line-height: 0; }
.small-note{ font-size: 12px; }
.emphasis{ color: #900; text-decoration: underline; }

.feature-row { display: flex !important; }
.feature-card { flex: 1 1 0 !important; }

/* ===== RESPONSIVE (basic, safe) ===== */
@media screen and (max-width: 980px){
  .container{ width: 100%; max-width: 960px; }
}
@media screen and (max-width: 820px){
  .sidebar1{ float: none; width: 100%; }
  .content{ float: none; width: 100%; }
}

.hero {
    background: #fbfaf6;
    border-bottom: 1px solid #ece4d5;
}

.hero-inner {
    width: 960px;
    margin: 0 auto;
    overflow: hidden;
    padding: 34px 0 28px 0;
    box-sizing: border-box;
}

.hero-text {
    float: left;
    width: 500px;
    padding-top: 18px;
}

.hero-kicker {
    color: #8f6a2c;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.hero h1 {
    margin: 0 0 16px 0;
    padding: 0;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 54px;
    line-height: 1.03;
    color: #24385b;
}

.hero p {
    margin: 0 0 18px 0;
    padding: 0;
    font-size: 22px;
    color: #5d6674;
}

.hero-buttons {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 10px;
    align-items: flex-start;
}

.hero-buttons a {
    display: inline-block;
    margin: 0;
    padding: 11px 12px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.15;
    vertical-align: top;
    box-sizing: border-box;
    text-align: center;
}

.hero-buttons .search-main-btn { width: 180px; }
.hero-buttons .btn-primary      { width: 130px; }
.hero-buttons .btn-secondary    { width: 170px; }

.btn-primary {
    background: #7aa33b;
    color: #ffffff;
    border: 1px solid #64892f;
}

.btn-primary:hover,
.btn-primary:focus {
    background: #64892f;
    text-decoration: none;
}

.btn-secondary {
    background: #ffffff;
    color: #404040;
    border: 1px solid #cfc7b7;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: #f5f2ea;
    text-decoration: none;
}

.search-main-btn {
    background: #fff1a8;
    color: #1b3f78;
    border: 1px solid #d7c45b;
}

.search-main-btn:hover,
.search-main-btn:focus {
    background: #f4e27f;
    color: #14315d;
    text-decoration: none;
}

.hero-note {
    margin-top: 14px;
    font-size: 15px;
    color: #7a7a7a;
    clear: both;
}

.hero-image {
    float: right;
    width: 420px;
    text-align: right;
}

.hero-image img {
    width: 100%;
    border-radius: 8px;
}

.section {
    width: 960px;
    margin: 0 auto;
    padding: 34px 0;
    overflow: hidden;
    box-sizing: border-box;
}

.section-title {
    text-align: center;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 28px;
    color: #24385b;
    margin: 0 0 20px 0;
    padding: 0;
}

.section-subtitle {
    text-align: center;
    color: #6b6b6b;
    font-size: 17px;
    margin: 0 0 24px 0;
    padding: 0 50px;
}

.search-strip {
    background: #f7f3ea;
    border: 1px solid #e6dccb;
    border-radius: 8px;
    padding: 22px 24px;
    margin-top: 22px;
    text-align: center;
    box-sizing: border-box;
}

.search-strip h2 {
    margin: 0 0 10px 0;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 30px;
    color: #24385b;
}

.search-strip p {
    margin: 0 0 18px 0;
    color: #555555;
    font-size: 18px;
}

.search-strip a {
    display: inline-block;
    margin: 6px 8px;
    padding: 11px 12px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.15;
    vertical-align: top;
    box-sizing: border-box;
    text-align: center;
}

.search-strip .search-main-btn { width: 210px; }
.search-strip .btn-primary      { width: 150px; }
.search-strip .btn-secondary    { width: 110px; }
