/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
Template: bb-theme
*/

/* =========================
   Global
========================= */
/* Prevent horizontal page scroll */
html, body {
    overflow-x: hidden !important;
}

/* Fix Beaver Builder rows that overflow on mobile */
@media (max-width: 768px) {

    .fl-row-content {
        max-width: 100% !important;
    }

    /* Reset horizontal scroll layout */
    .video-scroll-row .fl-row-content {
        width: 100% !important;
        flex-wrap: wrap;
    }
}
p {
  color: #000;
}

/* Underline links sitewide */
body a {
  text-decoration: underline;
}

/* Fix: your original rule was invalid (#latest-box:{...}) */
#latest-box {
  max-width: 325px;
}

/* Fix: invalid selector "a:not(#menu-main) hover" */
a:not(#menu-main):hover {
  text-decoration: none;
  font-weight: bold;
}

/* =========================
   Header
========================= */
#main-menu a.fl-button {
    padding: 10px 10px !important;
}

/* =========================
   Footer
========================= */

.fl-page-footer-widgets-container {
  font-size: 15px;
}

.fl-page-footer-widgets-container h4 {
  margin: 0 !important;
}

.fl-widget.widget_block {
  margin: 10px !important;
}

.fl-page-footer-widgets a,.edac-accessibility-statement a, .fl-page-footer-widgets p, .fl-page-footer-widgets h4 {
    color: black !important;
}

.sermon_title .fl-post-grid-title h4 {
	font-size: 20px !important;
}

/* =========================
   Page 988: PCO sermon links styling
========================= */

.page-id-988 .pco-sermon-links {
  display: grid;
  gap: 1.75rem;
}

.page-id-988 .pco-sermon-link-title a {
  font-family: inherit; /* let theme control font */
  font-size: 20px !important;
  font-weight: 500;
  color: #0071b9;
  text-decoration: none;
  line-height: 1.4;
  padding: 10px 20px !important; /* fix: commas -> spaces */
}

.page-id-988 .pco-sermon-link-title a:hover {
  text-decoration: underline;
}

.page-id-988 .pco-sermon-link-item {
  border-bottom: none;
  text-align: center;
  background-color: #fff;
}

.pco-sermon-link-date {
  font-style: normal;
  font-size: 1.3rem;
  color: #666;
  margin-top: 0.25rem;
}

/* Optional grid layout for PCO sermons */
.bb-sermon-grid .pco-sermons-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.bb-sermon-grid .pco-sermon {
  border-bottom: 0;
  padding-bottom: 0;
}


/*Small engagement boxes on Connect/Engage page*/
.engage-boxes-small {
    border-radius: 10%;
}
/*Palestine page resources make scrollable*/

.fl-builder-content-4719 .fl-node-azw0euig2kty {
    overflow-x: scroll;
}
/* =========================
   Clickable Beaver Builder Callout / Icon Modules
========================= */

/* ======================================================
   Clickable Card Base
   ====================================================== */
.bb-clickable-callout,
.bb-clickable-icon,
.clickable-engage-callout,
.clickable-engage-boxes .fl-module-callout {
  position: relative;
  cursor: pointer;
}

/* ======================================================
   Hover styles
   ====================================================== */

/* Standalone Callouts */
.bb-clickable-callout:hover {
  background-color: #d9eaf5;
}


.clickable-engage-callout:hover {
 /* border: solid 1px black;*/
  border-radius: 30px;

  box-shadow: 0px 0px 40px 0px rgb(230, 230, 230);
}

/* Callout cards INSIDE Engage Box (this is the key fix) */
.clickable-engage-boxes .fl-module-callout .fl-callout {
  transition: background-color 0.2s ease;
}

.clickable-engage-boxes .fl-module-callout:hover {
  background-color: #ffffff !important;
}

/* ======================================================
   Link hover styles
   ====================================================== */
.bb-clickable-callout a:hover {
  text-decoration: underline;
  color: #000 !important;
}

/* ======================================================
   Stretch anchor (Callout titles + Icons)
   ====================================================== */
.bb-clickable-callout .fl-callout-title a,
.clickable-engage-callout .fl-callout-title a,
.clickable-engage-boxes .fl-module-callout .fl-callout-title a,
.bb-clickable-icon a[class*="fl-icon"] {
  position: static;
}

/* ======================================================
   Overlay link (the magic)
   ====================================================== */
.bb-clickable-callout .fl-callout-title a::after,
.clickable-engage-callout .fl-callout-title a::after,
.clickable-engage-boxes .fl-module-callout .fl-callout-title a::after,
.bb-clickable-icon a[class*="fl-icon"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}




/* =========================
   WN Card styling
========================= */

.wn-card h3 {
  text-decoration: underline !important;
  text-decoration-color: #f4d638 !important;
}

.wn-card h3 a:hover {
  background-color: #f4d638 !important;
  color: #000 !important;
}

/* =========================
   Icons / Identity
========================= */

.identity-icon {
  padding-top: 20px;
}

.fl-icon-wrap a:hover {
  background-color: yellow !important;
}

.fl-icon-text {
  padding-left: 0 !important;
}

/* =========================
   Video
========================= */

.video-large iframe {
  border-radius: 30px;
  width: 70%;
}

/* =========================
   Typography
========================= */

h2 {
  font-family: Aleo;
}

/* =========================
   Event sidebar
========================= */

.event-box-sidebar {
  gap: 5px !important;
  margin-top: 0;
  margin-bottom: 0;
}

/* =========================
   Sticky
========================= */

.sticky,
.sticky-column {
  position: sticky !important;
  top: 0 !important;
  z-index: 99;
}

/* =========================
   Values hotspot / tooltip
========================= */

.values-hotspot-container {
  position: relative;
  display: inline-block;
  max-width: 900px;
  width: 100%;
}

.values-hotspot-container img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* Hotspot button */
.hotspot {
  position: absolute;
  transform: translate(-50%, -50%);
  background: #fff;
  border: 2px solid #0f172a;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.hotspot > span[aria-hidden="true"] {
  font-size: 0; /* hide bullet text; dot handled via ::before */
}

.hotspot::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #0f172a;
  display: block;
}

.hotspot:focus {
  outline: 3px solid #1d4ed8;
  outline-offset: 2px;
}

/* Tooltip / popover */
.tooltip {
  position: absolute;
  left: 50%;
  top: calc(100% + 10px);
  transform: translateX(-50%);
  background: #fff;
  color: #111;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
  width: min(280px, 80vw);
  font-size: 0.95rem;
  text-align: left;
  z-index: 20;
  display: none;
}

.tooltip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-bottom-color: #fff;
}

/* Show on hover and focus */
.hotspot:hover .tooltip,
.hotspot:focus .tooltip,
.hotspot[data-open="true"] .tooltip {
  display: block;
}

/*ways to engage boxes*/
.engage-boxes .fl-callout-text {
    font-size: 16px !important;
}
.engage-boxes h3 {
    font-size: 20px !important;
    font-weight: bold;
}

/*horizontal scroll PCO events*/
.pco-events-horizontal{
  overflow-x: auto;
  overflow-y: hidden;
}
.pco-events-vertical{
	overflow-x: hidden;
  overflow-y: auto;
}

.pco-events-horizontal, .pco-events-vertical {
  width: 100%;
  position: relative;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

/* Show scrollbar on hover in Firefox */
.pco-events-horizontal:hover, .pco-events-vertical:hover {
  scrollbar-width: thin;
  scrollbar-color: #cfcfcf #f6f6f6;
}

/* Hide scrollbar by default in Chrome / Edge / Safari */
.pco-events-horizontal::-webkit-scrollbar, .pco-events-vertical::-webkit-scrollbar {
  height: 0;
}

/* Show scrollbar on hover */
.pco-events-horizontal:hover::-webkit-scrollbar, .pco-events-vertical:hover::-webkit-scrollbar {
  height: 8px;
}

.pco-events-horizontal::-webkit-scrollbar-track, .pco-events-vertical::-webkit-scrollbar-track  {
  background: #f6f6f6;
}

.pco-events-horizontal::-webkit-scrollbar-thumb, .pco-events-vertical::-webkit-scrollbar-thumb {
  background: #cfcfcf;
  border-radius: 6px;
}

.pco-events-horizontal::-webkit-scrollbar-thumb:hover, .pco-events-vertical::-webkit-scrollbar-thumb:hover  {
  background: #b5b5b5;
}

/* Planning Center iframe */
.pco-events-horizontal iframe.planning-center-calender-embed {
  display: block;
  width: 1200px !important;
  min-width: 1200px;
  max-width: none !important;
  border: 0;
  scroll-snap-align: start;
}
/* =========================
 ABOLITION PAGE VIDEOS
========================= */
/* hide extra videos initially */
.past-event-recordings .extra-video {
    display: none;
}

/* show them when expanded */
.past-event-recordings.show-all .extra-video {
    display: block;
}

/* optional button styling */
.past-videos-toggle {
    margin-top: 20px;
    padding: 8px 16px;
    cursor: pointer;
}
/* =========================
   Responsive
========================= */

@media (max-width: 768px) {
  .tooltip {
    font-size: 0.9rem;
  }

  .hotspot {
    width: 32px;
    height: 32px;
  }

  .sticky-column {
    position: static !important;
    top: auto !important;
  }
  /* grid layout for PCO sermons */
.bb-sermon-grid .pco-sermons-list {
    grid-template-columns: repeat(2, 1fr) !important;
}

}
