/* ============================================
   CATCHWRESTLE AMEMBER THEME — theme.css
   Applies the main site's design system to every
   aMember member-side page (login, cart, dashboard,
   invoices, etc.)

   IMPORTANT: This loads on TOP of aMember's own
   default CSS, so plain selectors here should win
   without needing !important in most cases. If a
   specific aMember element still doesn't take the
   style, that's the one spot that may need !important
   — test on the live site and flag it.
   ============================================ */

/* ===== Base reset ===== */
html, body {
  background: #FFFFFF !important;
  background-image: none !important;
  font-family: 'Source Serif 4', serif;
  color: #3A3020;
  margin: 0;
  padding: 0;
}

a {
  color: #6B231D;
}

a:hover {
  color: #9A362B;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto Slab', serif;
  font-weight: 900;
  color: #1D1710;
}

/* ===== Header / Nav ===== */
.cw-theme-nav-wrap {
  background-color: #151109;
  width: 100%;
  padding: 0 24px;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(184, 147, 79, 0.25);
}

.cw-theme-nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  flex-wrap: wrap;
  gap: 16px;
}

.cw-theme-nav-logo {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1.15;
}

.cw-theme-nav-logo-top {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #9A362B;
}

.cw-theme-nav-logo-main {
  font-family: 'Roboto Slab', serif;
  font-weight: 900;
  font-size: 17px;
  color: #EAE0C7;
}

.cw-theme-nav-links {
  display: flex;
  align-items: center;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.cw-theme-nav-links a {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #C9BE9F;
  text-decoration: none;
}

.cw-theme-nav-links a:hover {
  color: #D4AF6A;
}

.cw-theme-nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cw-theme-nav-dashboard,
.cw-theme-nav-logout {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 3px;
  white-space: nowrap;
}

.cw-theme-nav-dashboard {
  color: #EAE0C7;
  border: 1px solid #B8934F;
}

.cw-theme-nav-logout {
  color: #151109;
  background: linear-gradient(180deg, #D4AF6A 0%, #B8934F 100%);
}

/* ===== Content wrapper (where aMember's actual pages render) ===== */
.cw-theme-content-wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 24px 80px;
  box-sizing: border-box;
}

/* ===== Forms (login, checkout fields, etc.) ===== */
.cw-theme-content-wrapper input[type="text"],
.cw-theme-content-wrapper input[type="email"],
.cw-theme-content-wrapper input[type="password"],
.cw-theme-content-wrapper input[type="tel"],
.cw-theme-content-wrapper select,
.cw-theme-content-wrapper textarea {
  display: block;
  width: 100%;
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: #1D1710;
  background-color: #F0E6CC;
  border: 1px solid #B8934F;
  border-radius: 3px;
  padding: 10px 14px;
  box-sizing: border-box;
}

.cw-theme-content-wrapper label {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #B8934F;
}

.cw-theme-content-wrapper input[type="submit"],
.cw-theme-content-wrapper button:not([class*="jw-"]):not([class*="vjs-"]):not([class*="plyr"]):not([class*="video"]):not([class*="player"]) {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #151109 !important;
  background: linear-gradient(180deg, #D4AF6A 0%, #B8934F 100%) !important;
  border: none !important;
  border-radius: 3px;
  padding: 12px 28px;
  cursor: pointer;
}

/* ===== Content area wrappers =====
   These are the REAL nested containers confirmed from
   the actual page source: .am-layout > .am-common >
   .am-body > .am-body-content-wrapper. One of these
   was carrying aMember's default gray background,
   creating a "box inside a box" look against the white
   content column. Matching all of them to white removes
   that visual seam entirely. */

.am-layout,
.am-common,
.am-body,
.am-body-content-wrapper,
.cw-theme-content-wrapper {
  background: #FFFFFF !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
}

body {
  box-shadow: none !important;
}

.am-body-content-top h1 {
  font-family: 'Roboto Slab', serif;
  font-weight: 900;
  color: #1D1710;
}

/* ===== Account toolbar (username / logout at top) ===== */
.am-user-identity-block {
  font-family: 'Oswald', sans-serif;
}

.am-user-identity-block_login {
  color: #1D1710;
  font-weight: 600;
}

/* ===== Widget boxes (Active Subscriptions, Useful Links, Downloads, etc.) ===== */
.am-widget h2 {
  font-family: 'Roboto Slab', serif;
  font-weight: 900;
  font-size: 20px;
  color: #6B231D;
  margin-bottom: 16px;
}

.am-block {
  background-color: #F0E6CC !important;
  border: 1px solid #C9B98A !important;
  border-radius: 4px;
  padding: 20px;
}

/* Links inside widget lists — these need higher specificity
   than aMember's own .am-list-links a / .am-list-subscriptions a
   rules, which otherwise stay default blue. */
.am-widget-list.am-list-links a,
.am-widget-list.am-list-subscriptions a,
.am-block a {
  color: #6B231D !important;
  text-decoration: underline;
}

.am-widget-list.am-list-links a:hover,
.am-widget-list.am-list-subscriptions a:hover,
.am-block a:hover {
  color: #9A362B !important;
}

.am-list-subscriptions-title strong {
  color: #1D1710;
}

.am-list-subscriptions-date {
  color: #6B231D;
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
}

.am-widget-list.am-list-links li {
  padding: 6px 0;
}

/* ===== Cart page overrides (confirmed from earlier testing) ===== */
.am-cart-product-content-desc-img-wrapper {
  background: transparent !important;
}

.am-cart-product-content-desc,
.am-cart-product-content-desc p {
  text-align: center;
}

/* ===== General table styling =====
   For pages we haven't inspected yet (Payment History,
   invoices, etc.) that may use table.am-table. Safe
   fallback — remove if it turns out unnecessary once
   we see those pages' real markup. */
table.am-table {
  background-color: #1A1510 !important;
  border: 1px solid rgba(184, 147, 79, 0.2) !important;
  color: #C9BE9F !important;
  border-radius: 4px;
}

table.am-table th {
  background-color: #241E17 !important;
  color: #EAE0C7 !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
}

table.am-table td {
  border-bottom: 1px solid rgba(184, 147, 79, 0.15) !important;
  color: #C9BE9F !important;
}

/* ===== Footer ===== */
.cw-theme-footer-wrap {
  background-color: #1A1510;
  width: 100%;
  padding: 50px 24px 40px;
  box-sizing: border-box;
  border-top: 1px solid rgba(184, 147, 79, 0.2);
}

.cw-theme-footer-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.cw-theme-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 30px;
}

.cw-theme-footer-button {
  display: inline-block;
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #151109;
  background: linear-gradient(180deg, #D4AF6A 0%, #B8934F 100%);
  padding: 16px 36px;
  border-radius: 3px;
  text-decoration: none;
}

.cw-theme-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cw-theme-footer-links a {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 12.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #C9BE9F;
  text-decoration: none;
}

.cw-theme-footer-links a:hover {
  color: #D4AF6A;
}

.cw-theme-footer-copyright {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: 12px;
  color: #7A6F5A;
  text-align: center;
  margin: 0;
}

/* ===== Mobile ===== */
@media (max-width: 700px) {
  .cw-theme-nav-inner {
    justify-content: center;
    text-align: center;
  }
  .cw-theme-footer-row {
    flex-direction: column;
    align-items: center;
  }
  .cw-theme-content-wrapper {
    padding: 40px 20px 60px;
  }
}