/* =========================
   Staff Detail (scoped)
   ========================= */


.single-staff {
    margin: auto;
    --staff-primary: var(--e-global-color-primary, #0d2a45);
    --staff-secondary: var(--e-global-color-secondary, #4b5563);
}

/* Headings — beat Elementor */
.single-staff h1,
.single-staff .entry-title {
    margin: 6px 0 !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    color: var(--staff-primary) !important;
}
.single-staff h2 {
    margin: 6px 0 !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    color: var(--staff-secondary) !important;
}

/* Contact block */
.single-staff .info-block {
    margin: 0 0 14px 0;
    font-size: .85rem;
    line-height: 1.2;
    color: var(--staff-secondary);
}

/* Boat cards */
.single-staff .card-img-top {
    height: 240px;
    object-fit: cover;
    display: block;
    width: 100%;
}

/* Tabs */
.single-staff .nav-tabs { margin: 0; border: 0; }
.single-staff .nav-tabs .nav-link {
    padding: .5rem 1rem;
    border: 0;
}

/* Buttons (use Elementor globals, with fallbacks) */
.single-staff .btn-primary {
    background-color: var(--staff-primary) !important;
    border-color: var(--staff-primary) !important;
    color: #fff !important;
}
.single-staff .btn-primary:hover { filter: brightness(1.04) !important; }

.single-staff .btn-secondary {
    background-color: var(--staff-secondary) !important;
    border-color: var(--staff-secondary) !important;
    color: #fff !important;
}
.single-staff .btn-secondary:hover {
    background-color: var(--staff-primary) !important;
    border-color: var(--staff-primary) !important;
    color: #fff !important;
}

/* Listings section spacing */
.single-staff .single-staff-listings { margin-top: 60px; }
.single-staff .staff-listings-bleed h3{
    font-size: 2rem !important;
}
.single-staff #staffBoatsContent { padding: 40px 0; }

/* Mobile tweaks */
@media (max-width: 767.98px){
    .single-staff .biography { margin-top: 20px; }
    .single-staff .card-img-top { height: 200px; }
}

.single-staff .card-img-top { height: 240px; object-fit: cover; }
.single-staff .badge { pointer-events: none; }

/* Full-bleed background for listings block */
.staff-listings-bleed { position: relative; padding: 10px 0; z-index: 0; }
.staff-listings-bleed::before {
    content: "";
    position: absolute; inset: 0 auto 0 auto; top: 0; bottom: 0;
    left: 50%; right: 50%;
    margin-left: -50vw; margin-right: -50vw;   /* stretch to viewport edges */
    background: #f6f8fb;                       /* <-- wall-to-wall color */
    z-index: -1;
}


/* Minimal, theme-friendly styles */
.team-jump ul{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;list-style:none}
.team-jump a{display:inline-block;padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;text-decoration:none;font-size:13px}
.team-index .team-location{margin:40px 0}
.team-index .team-location-title{margin:0 0 14px;font-size:18px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.team-index .card-img-top{aspect-ratio:1/1;object-fit:cover}
.team-index .team-phone-field{margin:.15rem 0}
.team-name { font-size: 1.25rem !important;}

@media (max-width: 767px){ .staff-listings-bleed{ padding: 32px 0; } }