/**
 * Built for More landing page styles.
 * All page styles are scoped to #wfb4m-page or its page-only body class.
 */

#wfb4m-page, #wfb4m-page *,
#wfb4m-page::before, #wfb4m-page *::before,
#wfb4m-page::after, #wfb4m-page *::after { box-sizing: border-box; margin: 0; padding: 0; }
#wfb4m-page { scroll-behavior: smooth; }
#wfb4m-page {
      font-family: 'Lato', sans-serif;
      background-color: #0a0a0f;
      color: #e8e0d0;
      line-height: 1.7;
      overflow-x: hidden;
    }
#wfb4m-page {
      --gold:        #c9a84c;
      --gold-light:  #e8c96e;
      --gold-dark:   #8a6a20;
      --cream:       #f0e8d8;
      --dark-bg:     #0a0a0f;
      --dark-mid:    #12121a;
      --dark-card:   #1a1a26;
      --dark-border: #2a2a3a;
      --text-muted:  #9090a8;
    }
#wfb4m-page .container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
#wfb4m-page .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
#wfb4m-page .gold { color: var(--gold); }
#wfb4m-page .text-center { text-align: center; }
#wfb4m-page .section-label {
      font-family: 'Lato', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
      display: block;
    }
#wfb4m-page .divider {
      width: 60px; height: 2px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      margin: 20px auto;
    }
#wfb4m-page .btn {
      display: inline-block;
      padding: 14px 38px;
      border-radius: 3px;
      font-family: 'Lato', sans-serif;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.3s ease;
    }
#wfb4m-page .btn-gold {
      background: linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-light));
      color: #0a0a0f;
      border: none;
    }
#wfb4m-page .btn-gold:hover {
      background: linear-gradient(135deg, var(--gold), var(--gold-light), #f5d980);
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(201,168,76,0.4);
    }
#wfb4m-page .btn-outline {
      background: transparent;
      color: var(--gold);
      border: 1px solid var(--gold);
    }
#wfb4m-page .btn-outline:hover {
      background: rgba(201,168,76,0.1);
      transform: translateY(-2px);
    }
#wfb4m-page nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      background: rgba(10,10,15,0.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--dark-border);
      padding: 14px 0;
      transition: all 0.3s ease;
    }
#wfb4m-page nav .nav-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 24px;
      display: flex; align-items: center; justify-content: space-between;
    }
#wfb4m-page nav .nav-logo img { width: auto; height: 36px; display: block; }
#wfb4m-page nav .nav-links {
      display: flex; gap: 32px; list-style: none;
    }
#wfb4m-page nav .nav-links a {
      color: var(--cream); text-decoration: none;
      font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em;
      text-transform: uppercase; transition: color 0.2s;
    }
#wfb4m-page nav .nav-links a:hover { color: var(--gold); }
#wfb4m-page nav .nav-cta { display: flex; gap: 12px; align-items: center; }
#wfb4m-page .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      padding: 8px;
      border: 0;
      background: transparent;
      color: inherit;
      cursor: pointer;
    }
#wfb4m-page .hamburger span { width: 24px; height: 2px; background: var(--cream); display: block; transition: all 0.3s; }
#wfb4m-page .hamburger:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@keyframes wfb4m-hero-image-reveal {
      from { opacity: 0.65; transform: scale(1.025); }
      to { opacity: 1; transform: scale(1); }
    }
@keyframes wfb4m-hero-actions-reveal {
      from { opacity: 0; transform: translateY(18px); }
      to { opacity: 1; transform: translateY(0); }
    }
#wfb4m-page #wfb4m-hero {
      position: relative;
      width: 100%; min-height: 100vh;
      display: flex; align-items: flex-end;
      overflow: hidden;
    }
#wfb4m-page #wfb4m-hero .hero-img {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      object-fit: cover; object-position: center top;
      animation: wfb4m-hero-image-reveal 900ms cubic-bezier(0.22, 1, 0.36, 1) both;
    }
@media (max-width: 600px) {
#wfb4m-page #wfb4m-hero {
        min-height: unset;
        display: block;
        position: relative;
      }
#wfb4m-page #wfb4m-hero .hero-img {
        position: relative;
        width: 100%; height: auto;
        object-fit: contain;
        display: block;
      }
#wfb4m-page #wfb4m-hero .hero-overlay {
        position: absolute; inset: 0;
      }
#wfb4m-page #wfb4m-hero .hero-content {
        position: relative;
        z-index: 2;
      }

    
}
#wfb4m-page #wfb4m-hero .hero-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(10,10,15,0.15) 0%,
        rgba(10,10,15,0.05) 40%,
        rgba(10,10,15,0.7) 75%,
        rgba(10,10,15,1) 100%
      );
    }
#wfb4m-page #wfb4m-hero .hero-content {
      position: relative; z-index: 2;
      width: 100%; padding: 60px 24px 80px;
      max-width: 1100px; margin: 0 auto;
      text-align: center;
    }
#wfb4m-page #wfb4m-hero .hero-cta-wrap {
      display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
      margin-top: 32px;
      animation: wfb4m-hero-actions-reveal 650ms 300ms cubic-bezier(0.22, 1, 0.36, 1) both;
    }
#wfb4m-page #wfb4m-about {
      background: var(--dark-bg);
      padding: 100px 0 80px;
    }
#wfb4m-page #wfb4m-about .about-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
    }
#wfb4m-page #wfb4m-about h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 700;
      color: var(--cream);
      line-height: 1.25;
      margin-bottom: 24px;
    }
#wfb4m-page #wfb4m-about h2 em {
      font-style: italic;
      color: var(--gold);
      font-family: 'Playfair Display', serif;
    }
#wfb4m-page #wfb4m-about p {
      color: #b8b0a0;
      font-size: 1rem;
      margin-bottom: 16px;
    }
#wfb4m-page #wfb4m-about .about-image-wrap {
      position: relative;
    }
#wfb4m-page #wfb4m-about .about-image-wrap img {
      width: 100%; border-radius: 4px;
      border: 1px solid var(--dark-border);
      display: block;
    }
#wfb4m-page #wfb4m-about .about-image-wrap::before {
      content: '';
      position: absolute; inset: -8px;
      border: 1px solid var(--gold-dark);
      border-radius: 6px; z-index: -1;
      opacity: 0.4;
    }
#wfb4m-page #wfb4m-topics {
      background: var(--dark-mid);
      padding: 100px 0;
    }
#wfb4m-page #wfb4m-topics .section-header { text-align: center; margin-bottom: 60px; }
#wfb4m-page #wfb4m-topics .section-header h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.6rem, 2.8vw, 2.4rem);
      color: var(--cream);
      font-weight: 700;
    }
#wfb4m-page #wfb4m-topics .topics-grid {
      display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
    }
#wfb4m-page .topic-card {
      background: var(--dark-card);
      border: 1px solid var(--dark-border);
      border-top: 2px solid var(--gold-dark);
      border-radius: 4px;
      padding: 36px 28px;
      transition: transform 0.3s, box-shadow 0.3s;
    }
#wfb4m-page .topic-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 40px rgba(0,0,0,0.5);
      border-top-color: var(--gold);
    }
#wfb4m-page .topic-card .topic-number {
      font-family: 'Cinzel', serif;
      font-size: 2.4rem;
      color: var(--gold-dark);
      font-weight: 900;
      line-height: 1;
      margin-bottom: 16px;
      opacity: 0.6;
    }
#wfb4m-page .topic-card h3 {
      font-family: 'Cinzel', serif;
      font-size: 1rem;
      color: var(--gold);
      font-weight: 600;
      margin-bottom: 6px;
      letter-spacing: 0.04em;
    }
#wfb4m-page .topic-card h4 {
      font-family: 'Playfair Display', serif;
      font-size: 1.2rem;
      color: var(--cream);
      font-weight: 700;
      margin-bottom: 14px;
      font-style: italic;
    }
#wfb4m-page .topic-card p { color: #9090a8; font-size: 0.9rem; line-height: 1.65; }
#wfb4m-page #wfb4m-speaker {
      background: var(--dark-bg);
      padding: 100px 0;
    }
#wfb4m-page #wfb4m-speaker .sheikh-inner {
      display: grid; grid-template-columns: 340px 1fr; gap: 64px; align-items: start;
    }
#wfb4m-page #wfb4m-speaker .sheikh-photo {
      position: relative;
    }
#wfb4m-page #wfb4m-speaker .sheikh-photo img {
      width: 100%; border-radius: 4px;
      border: 1px solid var(--dark-border);
      display: block;
    }
#wfb4m-page #wfb4m-speaker .sheikh-photo::after {
      content: '';
      position: absolute; bottom: -12px; right: -12px;
      width: 80%; height: 80%;
      border: 1px solid var(--gold-dark);
      border-radius: 4px; z-index: -1; opacity: 0.35;
    }
#wfb4m-page #wfb4m-speaker .sheikh-bio h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.8rem, 3vw, 2.8rem);
      color: var(--cream); font-weight: 700;
      margin-bottom: 6px;
    }
#wfb4m-page #wfb4m-speaker .sheikh-bio .sheikh-title {
      font-family: 'Playfair Display', serif;
      font-style: italic;
      color: var(--gold);
      font-size: 1.1rem;
      margin-bottom: 24px;
      display: block;
    }
#wfb4m-page #wfb4m-speaker .sheikh-bio p {
      color: #b0a898; font-size: 0.98rem; margin-bottom: 16px;
    }
#wfb4m-page #wfb4m-speaker .sheikh-credentials {
      display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px;
    }
#wfb4m-page .credential-badge {
      background: var(--dark-card);
      border: 1px solid var(--dark-border);
      border-left: 3px solid var(--gold-dark);
      padding: 10px 16px;
      border-radius: 3px;
      font-size: 0.8rem;
      color: var(--cream);
    }
#wfb4m-page #wfb4m-for-you {
      background: linear-gradient(180deg, var(--dark-mid) 0%, var(--dark-bg) 100%);
      padding: 100px 0;
    }
#wfb4m-page #wfb4m-for-you .section-header { text-align: center; margin-bottom: 60px; }
#wfb4m-page #wfb4m-for-you .section-header h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.6rem, 2.8vw, 2.4rem);
      color: var(--cream); font-weight: 700;
    }
#wfb4m-page #wfb4m-for-you .checklist {
      max-width: 780px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
    }
#wfb4m-page .check-item {
      display: flex; align-items: flex-start; gap: 14px;
      background: var(--dark-card);
      border: 1px solid var(--dark-border);
      padding: 20px 22px;
      border-radius: 4px;
      transition: border-color 0.3s;
    }
#wfb4m-page .check-item:hover { border-color: var(--gold-dark); }
#wfb4m-page .check-item .check-icon {
      flex-shrink: 0;
      width: 22px; height: 22px;
      border: 1.5px solid var(--gold);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      margin-top: 2px;
    }
#wfb4m-page .check-item .check-icon::after {
      content: '✓';
      color: var(--gold);
      font-size: 0.7rem;
      font-weight: 700;
    }
#wfb4m-page .check-item p { color: #b0a898; font-size: 0.92rem; line-height: 1.55; }
#wfb4m-page #wfb4m-purpose {
      background: var(--dark-bg);
      padding: 100px 0;
      text-align: center;
    }
#wfb4m-page #wfb4m-purpose .purpose-inner {
      max-width: 760px; margin: 0 auto;
    }
#wfb4m-page #wfb4m-purpose h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.8rem, 3vw, 2.8rem);
      color: var(--cream); font-weight: 700;
      margin-bottom: 28px;
    }
#wfb4m-page #wfb4m-purpose blockquote {
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-size: clamp(1.2rem, 2vw, 1.6rem);
      color: var(--gold-light);
      line-height: 1.6;
      border-left: 3px solid var(--gold-dark);
      padding: 20px 32px;
      margin: 40px 0;
      text-align: left;
      background: var(--dark-card);
      border-radius: 0 4px 4px 0;
    }
#wfb4m-page #wfb4m-purpose p { color: #b0a898; font-size: 1rem; margin-bottom: 16px; }
#wfb4m-page #wfb4m-tickets {
      background: var(--dark-mid);
      padding: 100px 0;
    }
#wfb4m-page #wfb4m-tickets .section-header { text-align: center; margin-bottom: 60px; }
#wfb4m-page #wfb4m-tickets .section-header h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.6rem, 2.8vw, 2.4rem);
      color: var(--cream); font-weight: 700;
    }
#wfb4m-page .tour-region { margin-bottom: 56px; }
#wfb4m-page .tour-region-title {
      font-family: 'Cinzel', serif;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 20px;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--dark-border);
      display: flex; align-items: center; gap: 12px;
    }
#wfb4m-page .tour-region-title::before {
      content: '';
      display: inline-block;
      width: 28px; height: 1px;
      background: var(--gold);
    }
#wfb4m-page .events-table {
      width: 100%;
      border-collapse: collapse;
    }
#wfb4m-page .events-table thead tr {
      background: var(--dark-card);
      border-bottom: 1px solid var(--dark-border);
    }
#wfb4m-page .events-table thead th {
      font-family: 'Lato', sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--text-muted);
      padding: 14px 20px;
      text-align: left;
    }
#wfb4m-page .events-table tbody tr {
      border-bottom: 1px solid var(--dark-border);
      transition: background 0.2s;
    }
#wfb4m-page .events-table tbody tr:hover { background: rgba(201,168,76,0.04); }
#wfb4m-page .events-table td {
      padding: 20px;
      font-size: 0.92rem;
      color: #c8c0b0;
      vertical-align: middle;
    }
#wfb4m-page .events-table td.date-cell {
      font-family: 'Cinzel', serif;
      font-size: 0.85rem;
      color: var(--gold-light);
      white-space: nowrap;
    }
#wfb4m-page .events-table td.city-cell {
      font-weight: 700;
      color: var(--cream);
      font-size: 1rem;
    }
#wfb4m-page .events-table td.time-cell {
      color: var(--text-muted);
      font-size: 0.85rem;
    }
#wfb4m-page .events-table td.btn-cell { white-space: nowrap; }
#wfb4m-page .btn-book {
      display: inline-block;
      padding: 10px 24px;
      background: linear-gradient(135deg, var(--gold-dark), var(--gold));
      color: #0a0a0f;
      font-family: 'Lato', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: 3px;
      transition: all 0.3s;
    }
#wfb4m-page .btn-book:hover {
      background: linear-gradient(135deg, var(--gold), var(--gold-light));
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(201,168,76,0.35);
    }
#wfb4m-page .btn-tbc {
      display: inline-block;
      padding: 10px 24px;
      background: transparent;
      color: var(--text-muted);
      font-family: 'Lato', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      border: 1px solid var(--dark-border);
      border-radius: 3px;
    }
#wfb4m-page #wfb4m-policies {
      background: var(--dark-bg);
      padding: 80px 0;
    }
#wfb4m-page #wfb4m-policies .section-header { text-align: center; margin-bottom: 48px; }
#wfb4m-page #wfb4m-policies .section-header h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.4rem, 2.4vw, 2rem);
      color: var(--cream); font-weight: 700;
    }
#wfb4m-page .policies-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
      max-width: 960px; margin: 0 auto;
    }
#wfb4m-page .policy-card .policy-body { flex: 1; }
#wfb4m-page .policy-card {
      background: var(--dark-card);
      border: 1px solid var(--dark-border);
      border-radius: 4px;
      padding: 28px 28px;
      display: flex; gap: 18px; align-items: flex-start;
    }
#wfb4m-page .policy-number {
      flex-shrink: 0;
      width: 36px; height: 36px;
      background: var(--gold-dark);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-family: 'Cinzel', serif;
      font-size: 0.85rem;
      font-weight: 700;
      color: #0a0a0f;
    }
#wfb4m-page .policy-card h3 {
      font-family: 'Lato', sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
    }
#wfb4m-page .policy-card p { color: #9090a8; font-size: 0.87rem; line-height: 1.6; }
#wfb4m-page .cta-banner {
      background: linear-gradient(135deg, #0f0f18 0%, #1a1408 50%, #0f0f18 100%);
      border-top: 1px solid var(--dark-border);
      border-bottom: 1px solid var(--dark-border);
      padding: 70px 24px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
#wfb4m-page .cta-banner::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at center, rgba(201,168,76,0.08) 0%, transparent 70%);
    }
#wfb4m-page .cta-banner h2 {
      font-family: 'Cinzel', serif;
      font-size: clamp(1.6rem, 3vw, 2.6rem);
      color: var(--cream); font-weight: 700;
      margin-bottom: 12px;
      position: relative;
    }
#wfb4m-page .cta-banner p {
      color: var(--text-muted); font-size: 1rem;
      margin-bottom: 32px; position: relative;
    }
#wfb4m-page .cta-banner .btn { position: relative; }
#wfb4m-page footer {
      background: #060608;
      padding: 48px 0 28px;
      border-top: 1px solid var(--dark-border);
    }
#wfb4m-page footer .footer-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 24px;
      display: flex; flex-direction: column; align-items: center; gap: 24px;
    }
#wfb4m-page footer img { width: auto; height: 32px; opacity: 0.8; }
#wfb4m-page footer .footer-links {
      display: flex; gap: 28px; flex-wrap: wrap; justify-content: center;
    }
#wfb4m-page footer .footer-links a {
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      transition: color 0.2s;
    }
#wfb4m-page footer .footer-links a:hover { color: var(--gold); }
#wfb4m-page footer .footer-copy {
      color: #50505a;
      font-size: 0.75rem;
      text-align: center;
    }
@media (max-width: 900px) {
#wfb4m-page #wfb4m-about .about-grid { grid-template-columns: 1fr; gap: 40px; }
#wfb4m-page #wfb4m-about .about-image-wrap { order: -1; max-width: 480px; margin: 0 auto; }
#wfb4m-page #wfb4m-speaker .sheikh-inner { grid-template-columns: 1fr; gap: 40px; }
#wfb4m-page #wfb4m-speaker .sheikh-photo { max-width: 320px; margin: 0 auto; }
#wfb4m-page #wfb4m-topics .topics-grid { grid-template-columns: 1fr; }
#wfb4m-page #wfb4m-for-you .checklist { grid-template-columns: 1fr; }
#wfb4m-page .policies-grid { grid-template-columns: 1fr; }
#wfb4m-page nav .nav-links { display: none; }
#wfb4m-page nav.is-open .nav-links { display: flex; }
#wfb4m-page .hamburger { display: flex; }
#wfb4m-page .events-table { display: block; overflow-x: auto; }

    
}
@media (max-width: 600px) {
#wfb4m-page .container { padding: 0 16px; }
#wfb4m-page .cta-banner { padding: 50px 16px; }
#wfb4m-page nav { padding: 12px 0; }
#wfb4m-page nav .nav-inner { padding: 0 16px; }
#wfb4m-page nav .nav-logo img { height: 28px; }
#wfb4m-page nav .nav-cta .btn { padding: 10px 18px; font-size: 0.72rem; }
#wfb4m-page nav .nav-links {
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: rgba(10,10,15,0.98);
        flex-direction: column;
        padding: 16px 20px 20px;
        gap: 0;
        border-bottom: 1px solid var(--dark-border);
        z-index: 999;
      }
#wfb4m-page nav .nav-links li { border-bottom: 1px solid var(--dark-border); }
#wfb4m-page nav .nav-links a { display: block; padding: 14px 0; font-size: 0.85rem; }
#wfb4m-page #wfb4m-hero { min-height: 56vw; max-height: none; }
#wfb4m-page #wfb4m-hero .hero-img {
        position: relative;
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: center top;
      }
#wfb4m-page #wfb4m-hero .hero-overlay {
        background: linear-gradient(
          to bottom,
          rgba(10,10,15,0) 0%,
          rgba(10,10,15,0) 60%,
          rgba(10,10,15,0.8) 85%,
          rgba(10,10,15,1) 100%
        );
      }
#wfb4m-page #wfb4m-hero .hero-content { padding: 24px 16px 48px; }
#wfb4m-page #wfb4m-hero .hero-cta-wrap { flex-direction: column; align-items: center; gap: 12px; }
#wfb4m-page #wfb4m-hero .hero-cta-wrap .btn { width: 100%; max-width: 300px; text-align: center; }
#wfb4m-page #wfb4m-about { padding: 72px 0 56px; }
#wfb4m-page #wfb4m-about .about-image-wrap { max-width: 100%; }
#wfb4m-page #wfb4m-topics { padding: 72px 0; }
#wfb4m-page #wfb4m-speaker { padding: 72px 0; }
#wfb4m-page #wfb4m-speaker .sheikh-photo { max-width: 260px; }
#wfb4m-page #wfb4m-for-you { padding: 72px 0; }
#wfb4m-page #wfb4m-purpose { padding: 72px 0; }
#wfb4m-page #wfb4m-tickets { padding: 72px 0; }
#wfb4m-page #wfb4m-policies { padding: 60px 0; }
#wfb4m-page #wfb4m-about h2 { font-size: 1.6rem; }
#wfb4m-page #wfb4m-speaker .sheikh-bio h2 { font-size: 1.7rem; }
#wfb4m-page #wfb4m-purpose h2 { font-size: 1.6rem; }
#wfb4m-page #wfb4m-purpose blockquote { font-size: 1.05rem; padding: 16px 20px; }
#wfb4m-page .cta-banner h2 { font-size: 1.5rem; }
#wfb4m-page .btn { padding: 13px 28px; }
#wfb4m-page #wfb4m-about .btn,
#wfb4m-page #wfb4m-speaker .btn,
#wfb4m-page #wfb4m-for-you .btn,
#wfb4m-page #wfb4m-purpose .btn { width: 100%; text-align: center; }
#wfb4m-page .topic-card { padding: 28px 20px; }
#wfb4m-page .check-item { padding: 16px 16px; }
#wfb4m-page .credential-badge { font-size: 0.75rem; padding: 8px 12px; }
#wfb4m-page .events-table thead { display: none; }
#wfb4m-page .events-table tbody tr {
        display: block;
        background: var(--dark-card);
        border: 1px solid var(--dark-border);
        border-radius: 4px;
        margin-bottom: 12px;
        padding: 16px;
      }
#wfb4m-page .events-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        border: none;
        font-size: 0.88rem;
      }
#wfb4m-page .events-table td::before {
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--text-muted);
        flex-shrink: 0;
        margin-right: 12px;
      }
#wfb4m-page .events-table td.btn-cell {
        justify-content: flex-end;
        padding-top: 12px;
        margin-top: 4px;
        border-top: 1px solid var(--dark-border);
      }
#wfb4m-page .events-table td.btn-cell::before { display: none; }
#wfb4m-page .btn-book,
#wfb4m-page .btn-tbc { width: 100%; text-align: center; padding: 12px 20px; }
#wfb4m-page .policy-card { padding: 20px 16px; gap: 14px; }
#wfb4m-page .policy-number { width: 30px; height: 30px; font-size: 0.78rem; flex-shrink: 0; }
#wfb4m-page footer { padding: 36px 0 20px; }
#wfb4m-page footer .footer-links { gap: 16px; }
#wfb4m-page footer .footer-links a { font-size: 0.72rem; }

    
}
@media (max-width: 380px) {
#wfb4m-page nav .nav-cta .btn { display: none; }
#wfb4m-page #wfb4m-hero .hero-img { object-position: 70% top; }

    
}
@media (prefers-reduced-motion: reduce) {
#wfb4m-page { scroll-behavior: auto; }
#wfb4m-page, #wfb4m-page *,
#wfb4m-page::before, #wfb4m-page *::before,
#wfb4m-page::after, #wfb4m-page *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }

    
}

  
/* Page-only integration safeguards. */
body.wfb4m-page-active {
	margin: 0 !important;
	padding: 0 !important;
	background: #0a0a0f !important;
	overflow-x: hidden;
}

body.wfb4m-page-active .entry-content,
body.wfb4m-page-active .wp-block-post-content,
body.wfb4m-page-active .wp-block-shortcode,
body.wfb4m-page-active .elementor-widget-shortcode,
body.wfb4m-page-active .elementor-widget-shortcode .elementor-widget-container,
body.wfb4m-page-active .elementor-widget-shortcode .elementor-shortcode {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wfb4m-modal-open {
	overflow: hidden !important;
}

body.admin-bar.wfb4m-page-active #wfb4m-page .wfb4m-nav {
	top: 32px;
}

#wfb4m-page {
	position: relative;
	width: 100%;
	max-width: none;
	min-height: 100vh;
	isolation: isolate;
	overflow: hidden;
}

#wfb4m-page strong {
	color: var(--cream);
}

#wfb4m-page .wfb4m-divider-left {
	margin: 0 0 24px;
}

#wfb4m-page .wfb4m-section-action {
	margin-top: 32px;
}

#wfb4m-page .wfb4m-section-action-large {
	margin-top: 48px;
}

#wfb4m-page .btn-book {
	border: 0;
	cursor: pointer;
}

#wfb4m-page .btn:focus-visible,
#wfb4m-page .btn-book:focus-visible,
#wfb4m-page a:focus-visible,
#wfb4m-page .wfb4m-dialog-close:focus-visible {
	outline: 2px solid var(--gold-light);
	outline-offset: 4px;
}

#wfb4m-page #wfb4m-about,
#wfb4m-page #wfb4m-topics,
#wfb4m-page #wfb4m-speaker,
#wfb4m-page #wfb4m-for-you,
#wfb4m-page #wfb4m-purpose,
#wfb4m-page #wfb4m-tickets,
#wfb4m-page #wfb4m-policies {
	scroll-margin-top: 78px;
}

#wfb4m-page footer .footer-copy a {
	color: inherit;
	text-decoration: none;
}

/* Accessible Ticket Tailor modal. */
#wfb4m-page .wfb4m-ticket-dialog {
	width: min(940px, calc(100vw - 32px));
	max-width: 940px;
	height: auto;
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 0;
	color: #17171f;
	background: #ffffff;
	border: 1px solid #d8d8df;
	border-radius: 8px;
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.78);
	overflow: hidden;
	color-scheme: light;
}

#wfb4m-page .wfb4m-ticket-dialog::backdrop {
	background: rgba(2, 2, 7, 0.86);
	backdrop-filter: blur(7px);
}

#wfb4m-page .wfb4m-dialog-shell {
	display: flex;
	flex-direction: column;
	max-height: calc(100dvh - 34px);
	min-height: 260px;
	background: #ffffff;
}

#wfb4m-page .wfb4m-dialog-header {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 26px 20px;
	background: #ffffff;
	border-bottom: 1px solid #e4e4e9;
}

#wfb4m-page .wfb4m-dialog-header .section-label {
	margin-bottom: 5px;
}

#wfb4m-page .wfb4m-dialog-header h2 {
	font-family: 'Cinzel', serif;
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.2;
	color: #17171f;
}

#wfb4m-page .wfb4m-dialog-header p {
	margin-top: 7px;
	color: #5f5f6b;
	font-size: 0.92rem;
}

#wfb4m-page .wfb4m-dialog-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #d8d8df;
	border-radius: 50%;
	background: #f7f7f8;
	color: #17171f;
	font: 300 2rem/1 'Lato', sans-serif;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

#wfb4m-page .wfb4m-dialog-close:hover {
	color: var(--gold-dark);
	border-color: var(--gold-dark);
	background: #f5f0e2;
}

#wfb4m-page .wfb4m-dialog-body {
	padding: 24px 26px 30px;
	background: #ffffff;
	overflow: auto;
	overscroll-behavior: contain;
}

#wfb4m-page .wfb4m-ticket-panel[hidden] {
	display: none !important;
}

#wfb4m-page .wfb4m-ticket-panel,
#wfb4m-page .wfb4m-ticket-panel > div,
#wfb4m-page .wfb4m-ticket-panel iframe {
	width: 100% !important;
	max-width: 100% !important;
}

#wfb4m-page .wfb4m-ticket-panel {
	background: #ffffff;
	color: #17171f;
}

#wfb4m-page .wfb4m-ticket-panel iframe {
	min-height: 520px;
	border: 0;
}

#wfb4m-page .wfb4m-ticket-fallback {
	margin: 0;
	padding: 24px;
	border: 1px solid #e4e4e9;
	border-radius: 4px;
	background: #f7f7f8;
	color: #363640;
	text-align: center;
}

@media (min-width: 601px) and (max-width: 900px) {
	#wfb4m-page #wfb4m-hero {
		min-height: 0;
		display: block;
	}

	#wfb4m-page #wfb4m-hero .hero-img {
		position: relative;
		width: 100%;
		height: auto;
		object-fit: contain;
		display: block;
	}

	#wfb4m-page #wfb4m-hero .hero-overlay {
		background: linear-gradient(to bottom, rgba(10, 10, 15, 0) 0%, rgba(10, 10, 15, 0) 58%, rgba(10, 10, 15, 0.82) 86%, rgba(10, 10, 15, 1) 100%);
	}

	#wfb4m-page #wfb4m-hero .hero-content {
		padding: 28px 24px 60px;
	}
}

@media (max-width: 782px) {
	body.admin-bar.wfb4m-page-active #wfb4m-page .wfb4m-nav {
		top: 46px;
	}
}

@media (max-width: 600px) {
	#wfb4m-page #wfb4m-hero {
		padding-top: 64px;
	}

	#wfb4m-page .tour-region,
	#wfb4m-page .events-table,
	#wfb4m-page .events-table tbody,
	#wfb4m-page .events-table tbody tr {
		display: block;
		width: 100%;
		max-width: none;
	}

	#wfb4m-page .wfb4m-ticket-dialog {
		width: calc(100vw - 16px);
		max-height: calc(100dvh - 16px);
		border-radius: 6px;
	}

	#wfb4m-page .wfb4m-dialog-shell {
		max-height: calc(100dvh - 18px);
	}

	#wfb4m-page .wfb4m-dialog-header {
		padding: 18px 16px 15px;
	}

	#wfb4m-page .wfb4m-dialog-body {
		padding: 16px 12px 20px;
	}

	#wfb4m-page .wfb4m-dialog-close {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}

	#wfb4m-page .wfb4m-ticket-panel iframe {
		min-height: 500px;
	}
}
