/* ================================================
   PV BIKE CHICKS — WEBSITE STYLE GUIDE
   ================================================
   
   STYLING APPROACH:
   - All styling is done through CSS, NOT through Divi module settings
   - Divi is used for layout only (sections, rows, columns)
   - All HTML uses class names added directly in the div wrapper
   - Font Awesome 6 is used for all icons
   
   COLOR PALETTE:
   - Teal (Pantone 326):  #00B2A9 — primary brand color
   - Navy (Pantone 286):  #003DA5 — header bar, footer
   - Deep Blue:           #0040AD — hyperlinks
   - Gray:                #7A7A7A — body text
   - Off-white:           #F5F5F5 — text on dark backgrounds
   
   TYPOGRAPHY:
   - Font: Lato
   - Body size: 15px
   - Line height: 1.7
   
   CONVENTIONS:
   - Header classes: .pvbc-header-rides, .pvbc-header-nav
   - Footer classes: .footer-left, .footer-right, .footer-bottom
   - Sidebar classes: .sidebar-calendar, .sidebar-strava, .sidebar-join
   
   ================================================ */

/* ================================================
   UNDER CONSTRUCTION PAGE
   ================================================ */

.under-construction {
  text-align: center !important;
  padding: 60px 20px !important;
}

.under-construction .fa-hard-hat {
  font-size: 60px !important;
  color: #00B2A9 !important;
  margin-bottom: 20px !important;
  display: block !important;
}

.under-construction h2 {
  color: #003DA5 !important;
  font-size: 32px !important;
  margin-bottom: 16px !important;
}

.under-construction p {
  color: #7A7A7A !important;
  font-size: 16px !important;
  margin-bottom: 24px !important;
}

.uc-home-link {
  color: #0040AD !important;
  font-size: 14px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.uc-home-link:hover {
  color: #00B2A9 !important;
}

/* ================================================
   DIVI GLOBAL CSS
   ================================================ */

.et_pb_section {
  width: 100% !important;
}

.et_pb_row {
  max-width: 100% !important;
  width: 100% !important;
}

/* ================================================
   HYPERLINKS
   ================================================ */

/* Style all hyperlinks with underline */
a {
  text-decoration: underline !important;
  text-decoration-color: #0040AD !important;
}

/* But NOT navigation menu links */
.et_pb_menu a,
.et_pb_menu .et_pb_menu__menu a,
nav a {
  text-decoration: none !important;
}

/* And NOT buttons */
.et_pb_button {
  text-decoration: none !important;
}

/* ================================================
   HEADER — TOP LEVEL NAV ITEMS
   ================================================ */

/* Icon ABOVE text layout */
.nav-home > a,
.nav-login > a,
.nav-join-us > a,
.nav-resources > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 12px !important;
}

/* Top level icons */
.nav-home > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f015";
  font-size: 18px;
  display: block !important;
}

.nav-join-us > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f234";
  font-size: 18px;
  display: block !important;
}

.nav-resources > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f05a";
  font-size: 18px;
  display: block !important;
}

.nav-login > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f090";
  font-size: 18px;
  display: block !important;
}

/* ================================================
   HEADER — SUBMENUS
   ================================================ */

/* Submenu items — icon LEFT of text */
.nav-about > a,
.nav-calendar > a,
.nav-routes > a,
.nav-new-to-cycling > a,
.nav-local-bike-shops > a,
.nav-contact-us > a,
.nav-roster > a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 16px !important;
}

/* Submenu icons */
.nav-about > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f500";
  font-size: 14px;
  display: inline-block !important;
}

.nav-calendar > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f073";
  font-size: 14px;
  display: inline-block !important;
}

.nav-routes > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f279";
  font-size: 14px;
  display: inline-block !important;
}

.nav-new-to-cycling > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f206";
  font-size: 14px;
  display: inline-block !important;
}

.nav-local-bike-shops > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f54e";
  font-size: 14px;
  display: inline-block !important;
}

.nav-contact-us > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f0e0";
  font-size: 14px;
  display: inline-block !important;
}

.nav-roster > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f0c0";
  font-size: 14px;
  display: inline-block !important;
}

/* Resources submenu sizing and alignment */
.nav-resources .sub-menu a {
  padding: 0 !important;
}

.nav-resources .sub-menu li {
  padding: 4px 12px !important;
  margin: 0 !important;
}

.nav-resources .sub-menu {
  padding: 6px 0 !important;
  min-width: 180px !important;
  right: 0 !important;
  left: auto !important;
}

.et_pb_menu .sub-menu li:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  display: block !important;
}

.et_pb_menu .sub-menu li a:hover,
.et_pb_menu .sub-menu li a:focus {
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}

.et_pb_menu .sub-menu li {
  display: block !important;
}

/* ================================================
   HEADER — AVATAR NAV MENU (logged in)
   ================================================ */

/* Hide Log In item when logged in */
.pvbc-nav-hidden {
  display: none !important;
}

/* Avatar li — centered in the 60px nav bar */
.nav-avatar {
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  margin-top: -10px !important;
}

/* Avatar link */
.nav-avatar > a.pvbc-nav-avatar-link {
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-decoration: none !important;
}

/* Hide Divi's dropdown chevron on avatar */
.nav-avatar > a > span.et_pb_menu__icon,
.nav-avatar > a::after {
  display: none !important;
  content: none !important;
}

/* Shared size for both avatar types */
.pvbc-nav-avatar-initials,
.pvbc-nav-avatar-img {
  width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Circular photo avatar */
.pvbc-nav-avatar-img {
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid rgba(245,245,245,0.6) !important;
  transition: border-color 0.2s ease !important;
}

.nav-avatar:hover .pvbc-nav-avatar-img {
  border-color: #fff !important;
}

/* Initials circle avatar */
.pvbc-nav-avatar-initials {
  border-radius: 50% !important;
  background: #003DA5 !important;
  border: 2px solid rgba(245,245,245,0.6) !important;
  color: #F5F5F5 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

.nav-avatar:hover .pvbc-nav-avatar-initials {
  background: #0040AD !important;
  border-color: #fff !important;
}

/* Avatar submenu */
.nav-avatar .sub-menu {
  padding: 6px 0 !important;
  min-width: 160px !important;
  right: 0 !important;
  left: auto !important;
}

.nav-avatar .sub-menu li {
  padding: 4px 12px !important;
  margin: 0 !important;
}

.nav-avatar .sub-menu a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 16px !important;
  padding: 0 !important;
}

.nav-avatar .sub-menu .fa-id-card,
.nav-avatar .sub-menu .fa-user-circle,
.nav-avatar .sub-menu .fa-sign-out-alt {
  font-size: 14px !important;
  width: 16px !important;
}

/* ================================================
   FOOTER — FIND US ONLINE
   ================================================ */

.et_pb_section.et_pb_footer_divs,
.et_pb_section.et_pb_section_0_tb_footer {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.footer-find-us,
.footer-whatsapp,
.footer-address,
.footer-sponsors {
  padding-top: 24px !important;
}

.footer-find-us {
  padding: 20px 20px 20px 24px !important;
}

.footer-find-us h4,
.footer-whatsapp h4 {
  color: #003DA5 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.footer-find-us,
.footer-whatsapp {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.footer-find-us ul,
.footer-whatsapp ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-find-us ul li,
.footer-whatsapp ul li {
  margin-bottom: 9px !important;
  list-style: none !important;
}

.footer-find-us ul li::before {
  display: none !important;
}

.footer-find-us ul li a,
.footer-whatsapp ul li a {
  color: #F5F5F5 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  transition: color 0.2s ease !important;
}

.footer-find-us ul li a:hover,
.footer-whatsapp ul li a:hover {
  color: rgba(245,245,245,0.75) !important;
  text-decoration: underline !important;
}

/* Social icon colors */
.footer-find-us .fa-facebook  { color: #7AB3F5; font-size: 16px; }
.footer-find-us .fa-instagram { color: #F5A7C7; font-size: 16px; }
.footer-find-us .fa-whatsapp  { color: #6BD97A; font-size: 16px; }
.footer-find-us .fa-strava    { color: #FC4C02; font-size: 16px; }
.footer-whatsapp .fa-whatsapp { color: #6BD97A; font-size: 16px; }

.footer-whatsapp {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

/* ================================================
   FOOTER — ADDRESS
   ================================================ */

.footer-address {
  text-align: center !important;
}

.footer-address h4 {
  color: #003DA5 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}

.footer-address p {
  color: rgba(245,245,245,0.85) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin-bottom: 6px !important;
}

.footer-address p a {
  color: rgba(245,245,245,0.85) !important;
  text-decoration: none !important;
  font-size: 13px !important;
}

.footer-address p a:hover {
  color: #F5F5F5 !important;
  text-decoration: underline !important;
}

/* ================================================
   FOOTER — LOCAL BIKE SHOPS
   ================================================ */

.footer-sponsors {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  padding-right: 24px !important;
}

.sponsor-grid-wrapper {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.sponsor-grid-wrapper h4,
.footer-sponsors h4 {
  color: #003DA5 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  text-align: center !important;
}

.sponsor-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
}

.sponsor-grid a {
  display: inline-block !important;
  text-decoration: none !important;
}

.sponsor-grid a img,
.sponsor-item img {
  height: 50px !important;
  width: auto !important;
  object-fit: contain !important;
  opacity: 0.85 !important;
  transition: opacity 0.2s ease !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 4px !important;
}

.sponsor-grid a:hover img,
.sponsor-item img:hover {
  opacity: 1 !important;
}

.sponsor-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.sponsor-item p {
  color: #F5F5F5 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  margin-bottom: 2px !important;
  text-align: center !important;
  width: 100% !important;
}

.sponsor-item p a {
  color: #F5F5F5 !important;
  text-decoration: none !important;
  font-size: 11px !important;
}

.sponsor-item p a:hover {
  color: rgba(245,245,245,0.75) !important;
  text-decoration: underline !important;
}

/* ================================================
   HOME PAGE
   ================================================ */

.simcal-wrapper {
  width: 85% !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

.simcal-calendar-head .simcal-view-calendar {
  display: none !important;
}

.pvbc-rides-widget p {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1 !important;
}

.pvbc-rides-widget p:empty,
.pvbc-rides-widget p span:empty {
  display: none !important;
}

.pvbc-rides-widget h3 {
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

.pvbc-next-rides {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.pvbc-ride-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.pvbc-ride-date {
  color: rgba(245,245,245,0.7) !important;
  font-size: 12px !important;
  min-width: 70px !important;
  flex-shrink: 0 !important;
}

.pvbc-ride-info {
  color: #F5F5F5 !important;
  font-size: 12px !important;
}

.pvbc-ride-map-link,
.pvbc-ride-map-link:visited {
  color: #F5F5F5 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: color 0.2s ease !important;
}

.pvbc-ride-map-link:hover {
  color: #00B2A9 !important;
  text-decoration: underline !important;
}

.pvbc-ride-map-link .fa-map-marker-alt {
  color: #00B2A9 !important;
  font-size: 12px !important;
}

/* ================================================
   ROSTER PAGE
   ================================================ */

.pvbc-roster-module {
  padding: 0 30px !important;
}

/* ================================================
   PMPRO
   ================================================ */

/* Hide PMPro payment method selector */
fieldset#pmpro_payment_method {
  display: none !important;
}

.page-id-479 .entry-title,
.page-id-479 .et_pb_post_title {
  display: none !important;
}

.pvbc-hint {
  color: #7A7A7A !important;
  font-family: Lato, sans-serif !important;
  font-size: .88em !important;
  line-height: 1.3 !important;
}

.pvbc-display-prefs .pvbc-pref-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: .5em !important;
  flex-wrap: nowrap !important;
}

/* Birthday label text baseline alignment */
.pvbc-birthday label {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

/* More padding inside all profile form inputs */
.pvbc-field-group input,
.pvbc-field-group select {
  padding: .75em 1em !important;
}

.footer-find-us,
.footer-whatsapp {
  padding-top: 24px !important;
  margin-top: 0 !important;
}

.pvbc-profile-card-header {
  position: relative !important;
}

.pvbc-toast {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  white-space: nowrap !important;
  z-index: 10 !important;
}



/* Hide redundant level selection text on checkout */

.pmpro_level_name_text {
  display: none !important
}

.pvbc-join-benefit--full {
  grid-column: 1 / -1 !important;
}

.et_pb_section_0 {
  position: relative !important;
}

.et_pb_section_0::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: 
    url('/wp-content/uploads/2026/06/TealSwirls-Mirrored-flatbottom.png'),
    url('/wp-content/uploads/2026/06/TealSwirls-Mirrored-flatontop.png') !important;
  background-size: contain, contain !important;
  background-position: bottom center, top center !important;
  background-repeat: no-repeat, no-repeat !important;
  opacity: 0.15 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  transform: none !important;
}

/* Swirl background for all PMPro pages */
body[class*="pmpro-"] #et-main-area {
  position: relative !important;
}

body[class*="pmpro-"] #et-main-area::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: 
    url('/wp-content/uploads/2026/06/TealSwirls-Mirrored-flatbottom.png'),
    url('/wp-content/uploads/2026/06/TealSwirls-Mirrored-flatontop.png') !important;
  background-size: contain, contain !important;
  background-position: bottom center, top center !important;
  background-repeat: no-repeat, no-repeat !important;
  opacity: 0.25 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.et_pb_menu .sub-menu li.pvbc-nav-hidden {
  display: none !important;
}

/* ================================================
   NEW TO CYCLING PAGE
   ================================================ */

.pvbc-ntc-intro {
  font-size: 16px !important;
  color: #7A7A7A !important;
  margin-bottom: 32px !important;
}

.pvbc-ntc-section {
  margin-bottom: 40px !important;
}

.pvbc-ntc-section h2 {
  color: #003DA5 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #00B2A9 !important;
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
}

.pvbc-ntc-section h2 i {
  color: #00B2A9 !important;
  margin-right: 8px !important;
}

.pvbc-ntc-section ul {
  color: #7A7A7A !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  padding-left: 20px !important;
  margin-bottom: 12px !important;
}

.pvbc-ntc-section ul li {
  margin-bottom: 6px !important;
}

.pvbc-ntc-section ul ul {
  margin-top: 6px !important;
}

.pvbc-ntc-section p {
  color: #7A7A7A !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin-bottom: 12px !important;
}

.pvbc-ntc-section .fa-file-pdf {
  color: #00B2A9 !important;
  margin-right: 4px !important;
}

#pvbc-pending-toast {
  position: fixed !important;
  bottom: 30px !important;
  right: 30px !important;
  top: auto !important;
  z-index: 9999 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

body.page-id-62 .et_pb_code_inner {
  padding-left: 10% !important;
  padding-right: 10% !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* ================================================
   LOGIN PAGE
   ================================================ */

body.page-id-14 .pmpro_login_wrap {
  max-width: 420px !important;
  margin: 0 auto !important;
}

body.page-id-14 .pmpro_actions_nav {
  text-align: center !important;
}

body.page-id-14 .pmpro_actions_nav a {
  color: #0040AD !important;
}

/* ================================================
   ABOUT PAGE  (page-id-68)
   ================================================ */

.pvbc-about-section {
    margin-bottom: 40px !important;
}

.pvbc-about-section h2 {
    color: #003DA5 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #00B2A9 !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
}

.pvbc-about-section h2 i {
    color: #00B2A9 !important;
    margin-right: 8px !important;
}

.pvbc-about-section p {
    color: #7A7A7A !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 12px !important;
}

/* People grid — one row per person, role | name */
.pvbc-about-people {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.pvbc-about-person {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    font-size: 15px !important;
}

.pvbc-about-role {
    color: #00B2A9 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    min-width: 140px !important;
    flex-shrink: 0 !important;
}

.pvbc-about-name {
    color: #7A7A7A !important;
    font-size: 15px !important;
}

/* Contact section */
.pvbc-about-contact p {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.pvbc-about-contact-icon {
    color: #00B2A9 !important;
    font-size: 15px !important;
    width: 16px !important;
    flex-shrink: 0 !important;
}

.pvbc-about-contact a {
    color: #0040AD !important;
}
/* About page padding */
body.page-id-68 .et_pb_code_inner {
    padding-left: 10% !important;
    padding-right: 10% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.pvbc-about-email {
    color: #00B2A9 !important;
    text-decoration: none !important;
    margin-left: 6px !important;
    font-size: 13px !important;
    opacity: 0.8 !important;
    transition: opacity 0.2s ease !important;
}

.pvbc-about-email:hover {
    opacity: 1 !important;
    text-decoration: none !important;
}

/* ================================================
   ROUTES PAGE
   ================================================ */

.pvbc-routes-wrap {
    overflow-x: auto !important;
    padding: 0 4% !important;
}

.pvbc-routes-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 14px !important;
    font-family: Lato, sans-serif !important;
    border: 1px solid #d0d0d0 !important;
}

/* Header row */
.pvbc-routes-table thead tr {
    background: #00B2A9 !important;
}

.pvbc-routes-table thead th {
    color: #F5F5F5 !important;
    font-weight: 700 !important;
    padding: 10px 12px !important;
    text-align: center !important;
    white-space: nowrap !important;
    border-right: 1px solid rgba(255,255,255,0.3) !important;
}

.pvbc-routes-table thead th:last-child {
    border-right: none !important;
}

.pvbc-routes-table thead th.pvbc-col-title,
.pvbc-routes-table thead th.pvbc-col-desc {
    text-align: left !important;
}

/* Body rows */
.pvbc-routes-table tbody tr {
    border-bottom: 1px solid #e0e0e0 !important;
}

.pvbc-routes-table tbody tr:nth-child(even) {
    background: #f9f9f9 !important;
}

.pvbc-routes-table tbody tr:hover {
    background: #f0fafa !important;
}

.pvbc-routes-table td {
    padding: 10px 12px !important;
    vertical-align: middle !important;
    color: #7A7A7A !important;
    border-right: 1px solid #e0e0e0 !important;
}

.pvbc-routes-table td:last-child {
    border-right: none !important;
}

/* Column widths */
.pvbc-col-map     { width: 100px !important; text-align: center !important; }
.pvbc-col-title   { width: 160px !important; }
.pvbc-col-desc    { min-width: 240px !important; font-size: 13px !important; line-height: 1.5 !important; }
.pvbc-col-dist,
.pvbc-col-ascent  { width: 90px !important; text-align: center !important; white-space: nowrap !important; }
.pvbc-col-icon    { width: 54px !important; text-align: center !important; }

/* Map thumbnail */
.pvbc-route-map-img {
    width: 90px !important;
    height: 68px !important;
    object-fit: cover !important;
    border-radius: 3px !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Elevation profile thumbnail */
.pvbc-route-profile-img {
    max-width: 90px !important;
    max-height: 50px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Route title link */
.pvbc-route-title-link {
    color: #0040AD !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: underline !important;
    text-decoration-color: #0040AD !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.pvbc-route-title-link:hover {
    color: #00B2A9 !important;
    text-decoration-color: #00B2A9 !important;
}

/* Asset icons */
.pvbc-asset-icon {
    color: #00B2A9 !important;
    font-size: 18px !important;
    transition: color 0.2s ease !important;
}

.pvbc-route-asset-link:hover .pvbc-asset-icon {
    color: #003DA5 !important;
}

/* Difficulty badges */
.pvbc-diff-badge {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    margin-top: 2px !important;
}

.pvbc-diff-beginner     { background: #e6f7f6 !important; color: #00B2A9 !important; }
.pvbc-diff-intermediate { background: #e8eef9 !important; color: #003DA5 !important; }
.pvbc-diff-advanced     { background: #fff0e6 !important; color: #c05c00 !important; }

/* Responsive — stack on small screens */
@media (max-width: 768px) {
    .pvbc-col-desc { display: none !important; }
    .pvbc-col-ascent { display: none !important; }
}

.pvbc-routes-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 14px !important;
    font-family: Lato, sans-serif !important;
}

/* Header row */
.pvbc-routes-table thead tr {
    background: #00B2A9 !important;
}

.pvbc-routes-table thead th {
    color: #F5F5F5 !important;
    font-weight: 700 !important;
    padding: 10px 12px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.pvbc-routes-table thead th.pvbc-col-title,
.pvbc-routes-table thead th.pvbc-col-desc {
    text-align: left !important;
}

/* Body rows */
.pvbc-routes-table tbody tr {
    border-bottom: 1px solid #e0e0e0 !important;
}

.pvbc-routes-table tbody tr:nth-child(even) {
    background: #f9f9f9 !important;
}

.pvbc-routes-table tbody tr:hover {
    background: #f0fafa !important;
}

.pvbc-routes-table td {
    padding: 10px 12px !important;
    vertical-align: middle !important;
    color: #7A7A7A !important;
}

/* Column widths */
.pvbc-col-map     { width: 100px !important; text-align: center !important; }
.pvbc-col-title   { width: 160px !important; }
.pvbc-col-desc    { min-width: 240px !important; font-size: 13px !important; line-height: 1.5 !important; }
.pvbc-col-dist,
.pvbc-col-ascent  { width: 90px !important; text-align: center !important; white-space: nowrap !important; }
.pvbc-col-icon    { width: 54px !important; text-align: center !important; }

/* Map thumbnail */
.pvbc-route-map-img {
    width: 90px !important;
    height: 68px !important;
    object-fit: cover !important;
    border-radius: 3px !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Elevation profile thumbnail */
.pvbc-route-profile-img {
    max-width: 90px !important;
    max-height: 50px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Route title link */
.pvbc-route-title-link {
    color: #0040AD !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: underline !important;
    text-decoration-color: #0040AD !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.pvbc-route-title-link:hover {
    color: #00B2A9 !important;
    text-decoration-color: #00B2A9 !important;
}

/* Asset icons */
.pvbc-asset-icon {
    color: #00B2A9 !important;
    font-size: 18px !important;
    transition: color 0.2s ease !important;
}

.pvbc-route-asset-link:hover .pvbc-asset-icon {
    color: #003DA5 !important;
}

/* Difficulty badges */
.pvbc-diff-badge {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    margin-top: 2px !important;
}

.pvbc-diff-beginner     { background: #e6f7f6 !important; color: #00B2A9 !important; }
.pvbc-diff-intermediate { background: #e8eef9 !important; color: #003DA5 !important; }
.pvbc-diff-advanced     { background: #fff0e6 !important; color: #c05c00 !important; }

/* Responsive — stack on small screens */
@media (max-width: 768px) {
    .pvbc-col-desc { display: none !important; }
    .pvbc-col-ascent { display: none !important; }
}

.pvbc-asset-na {
    color: #ccc !important;
    font-size: 16px !important;
    cursor: default !important;
}

.pvbc-routes-intro {
    padding: 0 4% 24px !important;
    color: #7A7A7A !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.pvbc-routes-intro p {
    margin-bottom: 8px !important;
}

/* Merchandise submenu nav item */
.nav-merchandise > a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 16px !important;
}

.nav-merchandise > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f290";
  font-size: 14px;
  display: inline-block !important;
}

/* Members Only top-level nav item */
.nav-members-only > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 12px !important;
}

.nav-members-only > a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f023";
  font-size: 18px;
  display: block !important;
}

/* Members Only submenu — match Resources submenu style */
.nav-members-only .sub-menu {
    padding: 6px 0 !important;
    min-width: 180px !important;
    right: 0 !important;
    left: auto !important;
}

.nav-members-only .sub-menu li {
    padding: 4px 12px !important;
    margin: 0 !important;
}

.nav-members-only .sub-menu a {
    padding: 0 !important;
}

/* ================================================
   WHATSAPP PAGE
   ================================================ */

/* Thread list */
.pvbc-wa-thread-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.pvbc-wa-thread-list li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15px !important;
}

.pvbc-wa-thread-list li::before {
    display: none !important;
}

.pvbc-wa-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #0040AD !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-decoration-color: #0040AD !important;
    white-space: nowrap !important;
}

.pvbc-wa-link:hover {
    color: #00B2A9 !important;
    text-decoration-color: #00B2A9 !important;
}

.pvbc-wa-icon {
    color: #6BD97A !important;
    font-size: 18px !important;
}

.pvbc-wa-desc {
    color: #7A7A7A !important;
    font-size: 14px !important;
}

/* Policy grid */
.pvbc-wa-policy-grid {
    display: grid !important;
    grid-template-columns: 49% 49% !important;
    gap: 24px !important;
    margin: 20px 0 !important;
}

@media (max-width: 700px) {
    .pvbc-wa-policy-grid {
        grid-template-columns: 100% !important;
    }
}

.pvbc-wa-policy-do,
.pvbc-wa-policy-donot {
    padding: 16px 20px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
}

.pvbc-wa-policy-do {
    background: #e6f9f8 !important;
    border-left: 4px solid #00B2A9 !important;
}

.pvbc-wa-policy-donot {
    background: #fde8e8 !important;
    border-left: 4px solid #e53e3e !important;
}

.pvbc-wa-policy-do h3,
.pvbc-wa-policy-donot h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.pvbc-wa-policy-do h3 {
    color: #006b66 !important;
}

.pvbc-wa-policy-do h3 i {
    color: #00B2A9 !important;
}

.pvbc-wa-policy-donot h3 {
    color: #b91c1c !important;
}

.pvbc-wa-policy-donot h3 i {
    color: #e53e3e !important;
}

.pvbc-wa-policy-do ul,
.pvbc-wa-policy-donot ul {
    color: #7A7A7A !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    padding-left: 18px !important;
    margin: 0 !important;
}

.pvbc-wa-policy-do ul li,
.pvbc-wa-policy-donot ul li {
    margin-bottom: 4px !important;
}

/* Info note */
.pvbc-wa-note {
    background: #f5f5f5 !important;
    border-left: 4px solid #00B2A9 !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    color: #7A7A7A !important;
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    line-height: 1.6 !important;
    margin-top: 16px !important;
}

.pvbc-wa-note .fa-info-circle {
    color: #00B2A9 !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.nav-whatsapp > a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 16px !important;
}

.nav-whatsapp > a:before {
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    content: "\f232";
    font-size: 14px;
    display: inline-block !important;
}