/*
Theme Name: Phiala Tours
Theme URI: https://phialatours.com
Author: Phiala Tours
Author URI: https://phialatours.com
Description: Professional travel and tourism theme for Phiala Tours Egypt.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Private
Text Domain: phiala-tours
*/

/* ─── GOOGLE FONTS ─────────────────────────────────────────── */
/* Loaded via wp_enqueue_style in inc/enqueue.php — do NOT @import */

/* ═══════════════════════════════════════════════════════
   CSS DESIGN TOKENS
═══════════════════════════════════════════════════════ */
:root {
  --pt-navy:        #0D1B2A;
  --pt-navy-mid:    #1E3A5F;
  --pt-navy-light:  #2A4F7C;
  --pt-gold:        #F5A623;
  --pt-gold-dark:   #D4891A;
  --pt-gold-light:  #FBBE57;
  --pt-white:       #FFFFFF;
  --pt-off-white:   #F5F7FA;
  --pt-gray-100:    #F0F2F5;
  --pt-gray-200:    #E2E8F0;
  --pt-gray-400:    #94A3B8;
  --pt-gray-600:    #64748B;
  --pt-text:        #0D1B2A;
  --pt-green:       #10B981;
  --pt-red:         #EF4444;

  --pt-grad-navy: linear-gradient(135deg, #0D1B2A 0%, #1E3A5F 100%);
  --pt-grad-gold: linear-gradient(135deg, #F5A623 0%, #D4891A 100%);
  --pt-grad-hero: linear-gradient(to right, rgba(13,27,42,0.92) 0%, rgba(13,27,42,0.65) 55%, rgba(13,27,42,0.15) 100%);

  --pt-font:        'Inter', system-ui, sans-serif;
  --pt-font-serif:  'Playfair Display', Georgia, serif;

  --pt-radius:    12px;
  --pt-radius-lg: 20px;
  --pt-radius-xl: 28px;

  --pt-shadow-sm: 0 2px 12px rgba(0,0,0,0.07);
  --pt-shadow:    0 8px 32px rgba(0,0,0,0.11);
  --pt-shadow-lg: 0 20px 60px rgba(0,0,0,0.16);
  --pt-shadow-gold: 0 8px 28px rgba(245,166,35,0.35);

  --pt-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  --pt-transition-fast: all 0.18s ease;

  --pt-section-py: 80px;

  /* Abstract background tokens for unified styling */
  --bg-base: var(--pt-off-white);
  --bg-card: var(--pt-white);
  --border-color: var(--pt-gray-200);
  --text-primary: var(--pt-text);
  --text-secondary: var(--pt-gray-600);
}

/* ── Dark Mode Overrides ── */
/* NOTE: We do NOT override --pt-navy or --pt-gold. Those are brand colors
   used in buttons/gradients and must stay constant. Instead we override
   only the semantic tokens (bg-base, bg-card, text-primary, etc.) */
[data-theme="dark"] {
  --bg-base:        #0A131F;
  --bg-card:        #111D2E;
  --border-color:   #1E3A5F;
  --text-primary:   #E2E8F0;
  --text-secondary: #94A3B8;
  --pt-off-white:   #0D1B2A;
  --pt-gray-100:    #152943;
  --pt-gray-200:    #1E3A5F;
  --pt-text:        #E2E8F0;
}
/* Dark mode: nav, toggler, and component-specific overrides */
[data-theme="dark"] .pt-nav-link{color:var(--text-primary)!important;}
[data-theme="dark"] .pt-nav-link:hover,[data-theme="dark"] .pt-nav-link.active{color:var(--pt-gold)!important;}
[data-theme="dark"] .navbar-toggler{border-color:var(--text-primary);}
[data-theme="dark"] .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23E2E8F0' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
[data-theme="dark"] .pt-tour-card-title a{color:var(--text-primary)!important;}
[data-theme="dark"] .pt-tour-card-body{color:var(--text-primary);}


/* ═══════════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:var(--pt-font);
  color:var(--text-primary);
  background:var(--bg-base);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition: background 0.3s ease, color 0.3s ease;
}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;transition:var(--pt-transition-fast);}
ul,ol{list-style:none;padding:0;margin:0;}
h1,h2,h3,h4,h5,h6{
  font-family:var(--pt-font-serif);
  font-weight:700;
  line-height:1.2;
  color:var(--text-primary);
}

/* ═══════════════════════════════════════════════════════
   TYPOGRAPHY HELPERS
═══════════════════════════════════════════════════════ */
.section-badge{
  display:inline-flex;align-items:center;gap:10px;
  font-size:0.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--pt-gold);margin-bottom:12px;font-family:var(--pt-font);
}
.section-badge::before{
  content:'';display:inline-block;width:32px;height:2px;
  background:var(--pt-gold);border-radius:2px;
}
.section-title{
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:700;color:var(--text-primary);margin-bottom:12px;
}
.section-desc{font-size:0.95rem;color:var(--text-secondary);max-width:580px;}


/* ═══════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════ */
.btn-gold{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--pt-grad-gold);color:var(--pt-navy);
  font-weight:700;font-size:0.9rem;padding:13px 28px;
  border-radius:50px;border:none;cursor:pointer;
  box-shadow:var(--pt-shadow-gold);transition:var(--pt-transition);
  white-space:nowrap;
}
.btn-gold:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 40px rgba(245,166,35,0.5);
  color:var(--pt-navy);
  background:linear-gradient(135deg,#FBBE57 0%,#F5A623 100%);
}
.btn-navy{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--pt-grad-navy);color:var(--pt-white);
  font-weight:700;font-size:0.9rem;padding:13px 28px;
  border-radius:50px;border:none;cursor:pointer;
  transition:var(--pt-transition);white-space:nowrap;
}
.btn-navy:hover{
  transform:translateY(-2px);box-shadow:var(--pt-shadow-lg);
  opacity:0.92;color:var(--pt-white);
}
.btn-outline-white{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--pt-white);
  font-weight:600;font-size:0.9rem;padding:11px 26px;
  border-radius:50px;border:2px solid rgba(255,255,255,0.55);
  cursor:pointer;transition:var(--pt-transition);white-space:nowrap;
}
.btn-outline-white:hover{
  background:rgba(255,255,255,0.12);
  border-color:var(--pt-white);color:var(--pt-white);
  transform:translateY(-2px);
}
.btn-whatsapp{
  display:inline-flex;align-items:center;gap:9px;
  background:#25D366;color:var(--pt-white);
  font-weight:700;font-size:0.9rem;padding:13px 28px;
  border-radius:50px;border:none;cursor:pointer;
  box-shadow:0 6px 20px rgba(37,211,102,0.35);
  transition:var(--pt-transition);white-space:nowrap;
}
.btn-whatsapp:hover{
  background:#20BA5A;color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(37,211,102,0.5);
}

/* ── Button Aliases (used in PHP templates) ── */
.btn-pt-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--pt-grad-gold);color:var(--pt-navy);
  font-weight:700;font-size:0.9rem;padding:13px 28px;
  border-radius:50px;border:none;cursor:pointer;
  box-shadow:var(--pt-shadow-gold);transition:var(--pt-transition);
  white-space:nowrap;text-decoration:none;
}
.btn-pt-primary:hover{
  transform:translateY(-2px);color:var(--pt-navy);
  box-shadow:0 14px 40px rgba(245,166,35,0.5);
  background:linear-gradient(135deg,#FBBE57 0%,#F5A623 100%);
}
.btn-pt-outline{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:#fff;
  font-weight:600;font-size:0.9rem;padding:11px 26px;
  border-radius:50px;border:2px solid rgba(255,255,255,0.55);
  cursor:pointer;transition:var(--pt-transition);white-space:nowrap;text-decoration:none;
}
.btn-pt-outline:hover{
  background:rgba(255,255,255,0.12);
  border-color:#fff;color:#fff;
  transform:translateY(-2px);
}
.btn-pt-dark{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--pt-grad-navy);color:#fff;
  font-weight:700;font-size:0.9rem;padding:13px 28px;
  border-radius:50px;border:none;cursor:pointer;
  transition:var(--pt-transition);white-space:nowrap;text-decoration:none;
}
.btn-pt-dark:hover{
  transform:translateY(-2px);box-shadow:var(--pt-shadow-lg);
  opacity:0.92;color:#fff;
}
.pt-whatsapp-btn{
  display:inline-flex;align-items:center;gap:9px;
  background:#25D366;color:#fff;
  font-weight:700;font-size:0.9rem;padding:13px 28px;
  border-radius:50px;border:none;cursor:pointer;
  box-shadow:0 6px 20px rgba(37,211,102,0.35);
  transition:var(--pt-transition);white-space:nowrap;text-decoration:none;
}
.pt-whatsapp-btn:hover{
  background:#20BA5A;color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(37,211,102,0.5);
}

/* ═══════════════════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════════════════ */
.pt-topbar{
  background:var(--pt-navy);
  padding:7px 0;
  font-size:0.8rem;
  color:rgba(255,255,255,0.72);
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.pt-topbar a{color:rgba(255,255,255,0.72);}
.pt-topbar a:hover{color:var(--pt-gold);}
.pt-topbar-item{
  display:inline-flex;align-items:center;gap:6px;
}
.pt-topbar-item i{color:var(--pt-gold);font-size:0.78rem;}
.pt-topbar-social a{
  color:rgba(255,255,255,0.65);font-size:0.82rem;
  transition:var(--pt-transition-fast);
}
.pt-topbar-social a:hover{color:var(--pt-gold);}
.pt-lang-btn{
  background:transparent;border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.8);font-size:0.75rem;font-weight:600;
  padding:3px 9px;border-radius:4px;cursor:pointer;
  transition:var(--pt-transition-fast);
}
.pt-lang-btn:hover,.pt-lang-btn.active{
  background:var(--pt-gold);color:var(--pt-navy);border-color:var(--pt-gold);
}

/* ═══════════════════════════════════════════════════════
   HEADER / NAVBAR
═══════════════════════════════════════════════════════ */
.pt-header{
  background:var(--bg-card);
  box-shadow:0 2px 18px rgba(0,0,0,0.08);
  position:sticky;top:0;z-index:1050;
  transition:background 0.3s ease, box-shadow 0.3s ease;
}
.pt-header.scrolled{box-shadow:0 4px 28px rgba(0,0,0,0.14);}
.pt-navbar{padding:12px 0;}
.pt-logo img{height:50px;width:auto;object-fit:contain;}
.pt-nav-link{
  font-size:0.88rem;font-weight:600;
  color:var(--text-primary)!important;
  padding:6px 14px!important;border-radius:8px;
  transition:var(--pt-transition-fast);
  position:relative;
}
.pt-nav-link::after{
  content:'';position:absolute;
  bottom:0;left:50%;transform:translateX(-50%) scaleX(0);
  width:70%;height:2px;background:var(--pt-gold);
  border-radius:2px;transition:transform 0.28s ease;
}
.pt-nav-link:hover,.pt-nav-link.active{color:var(--pt-gold)!important;}
.pt-nav-link:hover::after,.pt-nav-link.active::after{transform:translateX(-50%) scaleX(1);}
.navbar-toggler{border:2px solid var(--pt-navy);padding:6px 10px;border-radius:8px;}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%230D1B2A' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}

@media (max-width: 991.98px) {
  .navbar-nav .pt-nav-link {
    display: inline-block;
  }
  .pt-nav-link::after {
    width: calc(100% - 28px);
  }
}

/* ═══════════════════════════════════════════════════════
   HERO SECTION  — FIXED (no parallax)
═══════════════════════════════════════════════════════ */
.pt-hero{
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--pt-navy);
}
.pt-hero-bg{
  position:absolute;
  inset:0;
  background-image:url('https://phialatours.com/wp-content/uploads/2026/08/hero.jpeg');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  /* NO transform, NO parallax — image stays fixed in place */
  will-change:auto;
}
.pt-hero-overlay{
  position:absolute;inset:0;
  background:var(--pt-grad-hero);
}
.pt-hero-content{
  position:relative;z-index:2;
  padding:100px 0 80px;
}
.pt-hero-badge{
  display:inline-flex;align-items:center;gap:12px;
  font-size:0.78rem;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--pt-gold);
  margin-bottom:22px;font-family:var(--pt-font);
}
.pt-hero-badge span{
  display:inline-block;width:38px;height:2px;
  background:var(--pt-gold);border-radius:2px;
}
.pt-hero-title{
  font-family:var(--pt-font-serif);
  font-size:clamp(2.1rem,4.5vw,3.6rem);
  font-weight:800;color:var(--pt-white);
  line-height:1.14;margin-bottom:18px;
}
.pt-hero-desc{
  font-size:1.05rem;color:rgba(255,255,255,0.88);
  margin-bottom:36px;max-width:520px;
}
.pt-hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.pt-hero-scroll{
  position:absolute;bottom:28px;left:50%;
  transform:translateX(-50%);z-index:2;
  animation:bounce 2s infinite;
}
.pt-hero-scroll a{
  width:42px;height:42px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.4);
  display:flex;align-items:center;justify-content:center;
  color:var(--pt-white);font-size:1rem;
}

/* ═══════════════════════════════════════════════════════
   SERVICES BAR
═══════════════════════════════════════════════════════ */
.pt-services-wrap,.pt-services-bar{
  background:var(--bg-card);
  border-radius:var(--pt-radius-lg);
  box-shadow:0 -4px 0 3px rgba(245,166,35,0.12), var(--pt-shadow-lg);
  padding:28px 16px;
  margin-top:-52px;
  position:relative;z-index:10;
}
.pt-service-item{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:14px 8px;
  border-radius:12px;transition:var(--pt-transition);
  cursor:pointer;border:1px solid transparent;text-decoration:none;
}
.pt-service-item:hover{
  background:rgba(245,166,35,0.07);
  border-color:rgba(245,166,35,0.22);
  transform:translateY(-4px);
}
.pt-service-icon{
  width:58px;height:58px;
  background:linear-gradient(135deg,rgba(245,166,35,0.1),rgba(245,166,35,0.18));
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;transition:var(--pt-transition);
}
.pt-service-icon i{font-size:1.35rem;color:var(--pt-gold);}
.pt-service-item:hover .pt-service-icon{background:var(--pt-grad-gold);}
.pt-service-item:hover .pt-service-icon i{color:var(--pt-navy);}
.pt-service-name{font-size:0.78rem;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--pt-font);}

/* ═══════════════════════════════════════════════════════
   SECTION WRAPPER
═══════════════════════════════════════════════════════ */
.pt-section{padding:var(--pt-section-py) 0;}
.pt-section-light{background:var(--bg-base);}
.pt-section-dark{background:var(--pt-grad-navy);}

/* ═══════════════════════════════════════════════════════
   TOUR CARDS
═══════════════════════════════════════════════════════ */
.pt-tour-card{
  background:var(--bg-card);
  border-radius:var(--pt-radius-lg);
  overflow:hidden;
  box-shadow:var(--pt-shadow-sm);
  border:1px solid var(--border-color);
  transition:var(--pt-transition);
  display:flex;flex-direction:column;height:100%;
}
.pt-tour-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--pt-shadow-lg);
  border-color:rgba(245,166,35,0.3);
}
.pt-tour-card-img{
  position:relative;overflow:hidden;
  aspect-ratio: 4/5;
  height: auto;
}
.pt-tour-card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.pt-tour-card:hover .pt-tour-card-img img{transform:scale(1.07);}

/* Badges — both .pt-badge and .pt-tour-badge work */
.pt-badge,.pt-tour-badge{
  position:absolute;top:13px;left:13px;
  padding:3px 11px;border-radius:20px;
  font-size:0.7rem;font-weight:700;letter-spacing:0.3px;
  text-transform:uppercase;z-index:2;
}
.pt-badge-bestseller,.pt-tour-badge.best-seller{background:var(--pt-gold);color:var(--pt-navy);}
.pt-badge-toprated,.pt-tour-badge.top-rated{background:#10B981;color:#fff;}
.pt-badge-popular,.pt-tour-badge.popular{background:#3B82F6;color:#fff;}
.pt-badge-adventure,.pt-tour-badge.adventure{background:#EF4444;color:#fff;}
.pt-badge-new,.pt-tour-badge.new{background:#8B5CF6;color:#fff;}

/* Tour card body — aliases for both naming conventions */
.pt-tour-body,.pt-tour-card-body{padding:18px;flex:1;display:flex;flex-direction:column;}
.pt-tour-title,.pt-tour-card-title{
  font-size:1rem;font-weight:700;color:var(--text-primary);
  margin-bottom:5px;font-family:var(--pt-font-serif);
}
.pt-tour-card-title a{color:inherit;text-decoration:none;}
.pt-tour-card-title a:hover{color:var(--pt-gold);}
.pt-tour-subtitle,.pt-tour-card-desc{font-size:0.8rem;color:var(--text-secondary);margin-bottom:14px;flex:1;}
.pt-tour-card-meta{
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;
  font-size:0.75rem;color:var(--text-secondary);
}
.pt-tour-card-meta span{display:inline-flex;align-items:center;gap:4px;}
.pt-tour-card-meta i{color:var(--pt-gold);font-size:0.7rem;}
.pt-tour-footer,.pt-tour-card-footer{
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--border-color);padding-top:12px;margin-top:auto;
}
.pt-price-from,.pt-tour-price-label{font-size:0.68rem;color:var(--pt-gray-400);display:block;}
.pt-price-amount,.pt-tour-price-value{
  font-size:1.25rem;font-weight:900;color:var(--pt-gold);
  font-family:var(--pt-font);line-height:1;
}
.pt-price-per,.pt-tour-price-per{font-size:0.68rem;color:var(--pt-gray-400);margin-top:2px;display:block;}
.pt-tour-price{display:flex;flex-direction:column;}
.pt-book-btn,.pt-tour-book-btn{
  background:var(--pt-grad-navy);color:#fff;
  font-size:0.78rem;font-weight:700;padding:8px 16px;
  border-radius:20px;border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
  transition:var(--pt-transition);white-space:nowrap;text-decoration:none;
}
.pt-book-btn:hover,.pt-tour-book-btn:hover{background:var(--pt-grad-gold);color:var(--pt-navy);transform:translateY(-2px);}

/* ═══════════════════════════════════════════════════════
   WHY CHOOSE US
═══════════════════════════════════════════════════════ */
.pt-why-us{background:linear-gradient(135deg,var(--bg-base) 0%,var(--bg-card) 100%);}
.pt-why-card,.pt-why-item{
  text-align:center;padding:30px 18px;
  transition:var(--pt-transition);border-radius:var(--pt-radius);
}
.pt-why-card:hover{transform:translateY(-5px);}
.pt-why-icon{
  width:70px;height:70px;
  background:var(--pt-grad-navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  box-shadow:0 8px 24px rgba(13,27,42,0.22);
  transition:var(--pt-transition);
}
.pt-why-icon i{font-size:1.55rem;color:var(--pt-gold);}
.pt-why-card:hover .pt-why-icon{background:var(--pt-grad-gold);}
.pt-why-card:hover .pt-why-icon i{color:var(--pt-navy);}
.pt-why-title{font-size:0.95rem;font-weight:700;color:var(--text-primary);margin-bottom:6px;font-family:var(--pt-font);}
.pt-why-desc{font-size:0.82rem;color:var(--pt-gray-600);margin:0;}

/* ═══════════════════════════════════════════════════════
   FLEET SECTION
═══════════════════════════════════════════════════════ */
.pt-fleet{background:var(--pt-grad-navy);}
.pt-fleet .section-title{color:var(--pt-white);}
.pt-fleet .section-desc{color:rgba(255,255,255,0.65);}
.pt-fleet-card{
  position:relative;border-radius:var(--pt-radius-lg);
  overflow:hidden;height:200px;transition:var(--pt-transition);
}
.pt-fleet-card:hover{transform:translateY(-5px);box-shadow:var(--pt-shadow-lg);}
.pt-fleet-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.pt-fleet-card:hover img{transform:scale(1.08);}
.pt-fleet-overlay,.pt-fleet-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(13,27,42,0.95) 0%,rgba(13,27,42,0.25) 60%,transparent 100%);
}
.pt-fleet-info,.pt-fleet-card-info{
  position:absolute;bottom:0;left:0;right:0;padding:18px;
}
.pt-fleet-name,.pt-fleet-card-name{
  font-size:0.95rem;font-weight:700;color:#fff;
  margin-bottom:5px;font-family:var(--pt-font);
}
.pt-fleet-cap,.pt-fleet-card-capacity{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.73rem;color:var(--pt-gold);font-weight:600;
  background:rgba(245,166,35,0.14);padding:2px 9px;
  border-radius:20px;border:1px solid rgba(245,166,35,0.28);
}

/* ═══════════════════════════════════════════════════════
   BOOKING FORM SECTION
═══════════════════════════════════════════════════════ */
.pt-booking-wrap{
  background:var(--bg-card);
  border-radius:var(--pt-radius-xl);
  box-shadow:var(--pt-shadow-lg);
  border:1px solid var(--border-color);
  padding:36px 40px;
  position:relative;z-index:10;
}
.pt-book-tabs .nav-link{
  color:var(--pt-gray-600);font-weight:600;font-size:0.88rem;
  padding:9px 22px;border-radius:8px 8px 0 0;
  border:none;background:transparent;
  display:inline-flex;align-items:center;gap:7px;
  transition:var(--pt-transition-fast);
}
.pt-book-tabs .nav-link.active{
  background:var(--pt-grad-navy);color:var(--pt-white);
}
.pt-book-tabs .nav-link i{color:var(--pt-gold);}
.pt-field-label{
  font-size:0.78rem;font-weight:700;color:var(--pt-gray-600);
  margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:0.5px;
}
.pt-field{
  width:100%;padding:11px 14px;
  border:1.5px solid var(--pt-gray-200);border-radius:var(--pt-radius);
  font-size:0.88rem;color:var(--pt-text);background:var(--pt-off-white);
  transition:var(--pt-transition-fast);font-family:var(--pt-font);
}
.pt-field:focus{
  outline:none;border-color:var(--pt-gold);background:var(--pt-white);
  box-shadow:0 0 0 3px rgba(245,166,35,0.14);
}
.pt-field::placeholder{color:#CBD5E1;}
.pt-field-wrap{position:relative;}
.pt-field-icon{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--pt-gray-400);font-size:0.85rem;pointer-events:none;
}

/* ═══════════════════════════════════════════════════════
   HAJJ & UMRAH + SUPPORT SECTION
═══════════════════════════════════════════════════════ */
.pt-hajj-section{background:var(--pt-grad-navy);}
.pt-hajj-card{
  background:var(--bg-card);
  border:1px solid var(--border-color);
  border-radius:var(--pt-radius-xl);
  padding:38px;height:100%;
  transition:var(--pt-transition);
  position:relative;overflow:hidden;
  box-shadow:var(--pt-shadow-sm);
}
.pt-hajj-card:hover{transform:translateY(-4px);box-shadow:var(--pt-shadow);}
.pt-hajj-icon{
  width:65px;height:65px;
  background:rgba(245,166,35,0.18);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;border:2px solid rgba(245,166,35,0.35);
}
.pt-hajj-icon i{font-size:1.7rem;color:var(--pt-gold);}
.pt-hajj-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:12px;}
.pt-hajj-desc{color:var(--text-secondary);margin-bottom:24px;font-size:0.9rem;line-height:1.7;}
.pt-support-phone{
  font-size:1.4rem;font-weight:900;color:var(--pt-gold);
  display:flex;align-items:center;gap:10px;margin-bottom:20px;
}
.pt-support-phone a{color:var(--pt-gold);}

/* ═══════════════════════════════════════════════════════
   SINGLE TOUR PAGE
═══════════════════════════════════════════════════════ */
.pt-page-banner{
  position:relative;height:320px;
  display:flex;align-items:center;overflow:hidden;
  background:var(--pt-grad-navy);
}
.pt-page-banner-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;opacity:0.3;
}
.pt-page-banner-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(13,27,42,0.88) 0%,rgba(13,27,42,0.6) 100%);
}
.pt-page-banner-content{position:relative;z-index:2;}
.pt-page-title,.pt-page-banner-title{
  font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800;
  color:#fff;margin-bottom:10px;
}
.pt-breadcrumb{color:rgba(255,255,255,0.62);font-size:0.85rem;}
.pt-breadcrumb a{color:var(--pt-gold);}
.pt-breadcrumb .sep,.pt-breadcrumb .separator{margin:0 8px;}

/* ═══════════════════════════════════════════════════════
   BOOKING FORM (SINGLE TOUR)
═══════════════════════════════════════════════════════ */
.pt-form-card{
  background:linear-gradient(135deg,#F8FAFC,#FFFFFF);
  border-radius:var(--pt-radius-xl);padding:34px;
  border:2px solid rgba(245,166,35,0.18);
  box-shadow:var(--pt-shadow-lg);
}
.pt-form-title{
  font-size:1.3rem;font-weight:800;color:var(--pt-navy);
  display:flex;align-items:center;gap:10px;margin-bottom:4px;
}
.pt-form-title i{color:var(--pt-gold);}
.pt-form-submit{
  width:100%;padding:14px;border:none;border-radius:50px;
  background:var(--pt-grad-gold);color:var(--pt-navy);
  font-weight:800;font-size:0.95rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:9px;
  transition:var(--pt-transition);
  box-shadow:var(--pt-shadow-gold);
}
.pt-form-submit:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(245,166,35,0.5);}
.pt-form-submit:disabled{opacity:0.7;cursor:not-allowed;transform:none;}
.pt-form-success{
  background:#D1FAE5;border:1px solid #10B981;border-radius:var(--pt-radius);
  padding:18px;text-align:center;color:#065F46;font-weight:600;display:none;
}
.pt-form-error{
  background:#FEF2F2;border:1px solid #EF4444;border-radius:var(--pt-radius);
  padding:10px 14px;color:#B91C1C;font-size:0.85rem;display:none;
}
.pt-price-box{
  background:var(--pt-grad-navy);border-radius:var(--pt-radius-lg);
  padding:22px;text-align:center;margin-bottom:14px;
}
.pt-price-box .from{font-size:0.78rem;color:rgba(255,255,255,0.55);}
.pt-price-box .amount{font-size:2rem;font-weight:900;color:var(--pt-gold);display:block;}
.pt-price-box .per{font-size:0.78rem;color:rgba(255,255,255,0.55);}
.pt-includes-list li{
  display:flex;align-items:flex-start;gap:9px;
  padding:6px 0;font-size:0.86rem;color:var(--pt-text);
  border-bottom:1px dashed var(--pt-gray-200);
}
.pt-includes-list li:last-child{border-bottom:none;}
.pt-includes-list li i{color:var(--pt-green);margin-top:3px;min-width:14px;}
.pt-excludes-list li i{color:var(--pt-red);}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════════════════════════ */
.pt-contact-card{
  background:var(--pt-grad-navy);border-radius:var(--pt-radius-xl);
  padding:38px;height:100%;color:var(--pt-white);
}
.pt-contact-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;}
.pt-contact-icon{
  width:44px;height:44px;background:rgba(245,166,35,0.18);
  border-radius:11px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;border:1px solid rgba(245,166,35,0.28);
}
.pt-contact-icon i{color:var(--pt-gold);font-size:1rem;}
.pt-contact-label{font-size:0.72rem;color:rgba(255,255,255,0.48);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;font-weight:600;}
.pt-contact-val{color:var(--pt-white);font-size:0.9rem;margin:0;}
.pt-contact-val a{color:var(--pt-white);}
.pt-contact-val a:hover{color:var(--pt-gold);}

/* ═══════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════ */
.pt-footer{background:var(--bg-card);color:var(--text-secondary);padding:68px 0 0;border-top:1px solid var(--border-color);}
.pt-footer-logo img{height:52px;margin-bottom:18px;}
.pt-footer-about{font-size:0.86rem;line-height:1.8;color:var(--text-secondary);margin-bottom:22px;}
.pt-footer-heading,.pt-footer-title{
  font-family:var(--pt-font-serif);font-size:0.97rem;font-weight:700;
  color:var(--text-primary);margin-bottom:18px;padding-bottom:8px;
  border-bottom:2px solid var(--pt-gold);display:inline-block;
}
.pt-footer-desc{font-size:0.86rem;line-height:1.8;color:var(--text-secondary);margin-bottom:22px;}
.pt-footer-links li{margin-bottom:9px;}
.pt-footer-links a{
  font-size:0.85rem;color:var(--text-secondary);
  display:inline-flex;align-items:center;gap:7px;
  transition:var(--pt-transition-fast);
}
.pt-footer-links a::before{
  content:'\f054';font-family:'Font Awesome 6 Free';font-weight:900;
  font-size:0.58rem;color:var(--pt-gold);
}
.pt-footer-links a:hover{color:var(--pt-gold);padding-left:4px;}
.pt-footer-contact-item{
  display:flex;align-items:flex-start;gap:10px;margin-bottom:13px;
  font-size:0.85rem;color:var(--text-secondary);
}
.pt-footer-contact-item i{color:var(--pt-gold);font-size:0.85rem;margin-top:3px;min-width:15px;}
.pt-footer-contact-item a{color:var(--text-secondary);}
.pt-footer-contact-item a:hover{color:var(--pt-gold);}
.pt-social-links{display:flex;gap:9px;margin-top:18px;}
.pt-social-link{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-primary);font-size:0.85rem;
  border:1px solid var(--border-color);
  transition:var(--pt-transition);
}
.pt-social-link:hover{transform:translateY(-3px);}
.pt-social-link.fb:hover{background:#1877F2;border-color:#1877F2;color:#fff;}
.pt-social-link.ig:hover{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);border-color:#DD2A7B;color:#fff;}
.pt-social-link.wa:hover{background:#25D366;border-color:#25D366;color:#fff;}
.pt-social-link.ta:hover{background:#34E0A1;border-color:#34E0A1;color:var(--pt-navy);}
.pt-footer-bottom{
  border-top:1px solid var(--border-color);
  padding:18px 0;margin-top:48px;
  font-size:0.8rem;color:var(--text-secondary);
}


/* ═══════════════════════════════════════════════════════
   FILTERS / PAGINATION
═══════════════════════════════════════════════════════ */
.pt-filter-btn{
  padding:7px 20px;border-radius:50px;font-size:0.83rem;font-weight:600;
  border:2px solid var(--pt-gray-200);background:var(--pt-white);
  color:var(--pt-gray-600);cursor:pointer;transition:var(--pt-transition-fast);
}
.pt-filter-btn:hover,.pt-filter-btn.active{
  background:var(--pt-grad-navy);color:var(--pt-white);border-color:var(--pt-navy);
}
.pagination .page-link{
  color:var(--pt-navy);border-color:var(--pt-gray-200);
  border-radius:8px!important;margin:0 3px;font-weight:600;
  transition:var(--pt-transition-fast);
}
.pagination .page-item.active .page-link{background:var(--pt-grad-navy);border-color:var(--pt-navy);color:#fff;}
.pagination .page-link:hover{background:rgba(245,166,35,0.1);border-color:var(--pt-gold);color:var(--pt-gold);}

/* ═══════════════════════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════════════════════ */
@keyframes bounce{
  0%,100%{transform:translateX(-50%) translateY(0);}
  50%{transform:translateX(-50%) translateY(8px);}
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes spin{to{transform:rotate(360deg);}}

.pt-animate{opacity:0;transform:translateY(26px);transition:opacity 0.55s ease,transform 0.55s ease;}
.pt-animate.animated{opacity:1;transform:translateY(0);}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
@media(max-width:991.98px){
  :root{--pt-section-py:60px;}
  .pt-hero{min-height:72vh;}
  .pt-hero-content{padding:80px 0 60px;}
  .pt-booking-wrap{padding:24px;}
  .pt-page-banner{height:240px;}
}
@media(max-width:767.98px){
  :root{--pt-section-py:50px;}
  .pt-hero{min-height:80vh;}
  .pt-hero-title{font-size:2rem;}
  .pt-hero-actions{flex-direction:column;align-items:flex-start;}
  .pt-services-wrap{margin-top:0;padding:20px 10px;}
  .pt-hajj-card{padding:26px;}
  .pt-booking-wrap{padding:20px;}
}
@media(max-width:575.98px){
  .pt-hero-title{font-size:1.75rem;}

}

/* ═══════════════════════════════════════════════════════
   FLOATING WHATSAPP
═══════════════════════════════════════════════════════ */
#pt-wa-float{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,0.5);
  transition:var(--pt-transition);
}
#pt-wa-float:hover{transform:scale(1.1) translateY(-3px);box-shadow:0 8px 32px rgba(37,211,102,0.6);}
#pt-wa-float i{color:#fff;font-size:1.55rem;}

/* ═══════════════════════════════════════════════════════
   SINGLE TOUR PAGE — EXTRA STYLES
═══════════════════════════════════════════════════════ */
.pt-tour-gallery-main{
  border-radius:var(--pt-radius-lg);overflow:hidden;
}
.pt-tour-gallery-main img{
  width:100%;height:auto;max-height:500px;object-fit:cover;
  border-radius:var(--pt-radius-lg);
}
.pt-tour-info-card{
  background:var(--bg-card);border-radius:var(--pt-radius-lg);
  padding:24px;border:1px solid var(--border-color);
  box-shadow:var(--pt-shadow-sm);
}
.pt-tour-price-box{
  background:var(--pt-grad-navy);border-radius:var(--pt-radius-lg);
  padding:22px;text-align:center;
}
.pt-tour-price-box .price-from{font-size:0.78rem;color:rgba(255,255,255,0.55);margin:0;}
.pt-tour-price-box .price-amount{font-size:2rem;font-weight:900;color:var(--pt-gold);display:block;}
.pt-tour-price-box .price-per{font-size:0.78rem;color:rgba(255,255,255,0.55);}

/* ═══════════════════════════════════════════════════════
   BOOKING FORM (SINGLE TOUR) — MISSING STYLES
═══════════════════════════════════════════════════════ */
.pt-booking-form-card{
  background:linear-gradient(135deg,var(--bg-card),var(--bg-base));
  border-radius:var(--pt-radius-xl);padding:34px;
  border:2px solid rgba(245,166,35,0.18);
  box-shadow:var(--pt-shadow-lg);
}
.pt-booking-form-title{
  font-size:1.3rem;font-weight:800;color:var(--pt-navy);
  display:flex;align-items:center;gap:10px;margin-bottom:4px;
  font-family:var(--pt-font-serif);
}
.pt-booking-form-title i{color:var(--pt-gold);}
.pt-form-row{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;
}
@media(max-width:575.98px){.pt-form-row{grid-template-columns:1fr;}}
.pt-form-group{margin-bottom:16px;}
.pt-form-label{
  font-size:0.78rem;font-weight:700;color:var(--text-secondary);
  margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:0.5px;
}
.pt-form-control{
  width:100%;padding:11px 14px;
  border:1.5px solid var(--border-color);border-radius:var(--pt-radius);
  font-size:0.88rem;color:var(--text-primary);background:var(--bg-base);
  transition:var(--pt-transition-fast);font-family:var(--pt-font);
}
.pt-form-control:focus{
  outline:none;border-color:var(--pt-gold);background:var(--bg-card);
  box-shadow:0 0 0 3px rgba(245,166,35,0.14);
}
.pt-form-control::placeholder{color:#CBD5E1;}

/* ═══════════════════════════════════════════════════════
   DESTINATIONS SECTION (NEW)
═══════════════════════════════════════════════════════ */
.pt-dest-card{
  position:relative;border-radius:var(--pt-radius-lg);
  overflow:hidden;height:260px;transition:var(--pt-transition);
  cursor:pointer;
}
.pt-dest-card:hover{transform:translateY(-6px);box-shadow:var(--pt-shadow-lg);}
.pt-dest-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.6s ease;
}
.pt-dest-card:hover img{transform:scale(1.1);}
.pt-dest-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(13,27,42,0.92) 0%,rgba(13,27,42,0.15) 55%,transparent 100%);
}
.pt-dest-info{
  position:absolute;bottom:0;left:0;right:0;padding:22px;
}
.pt-dest-name{
  font-size:1.15rem;font-weight:800;color:#fff;
  margin-bottom:4px;font-family:var(--pt-font-serif);
}
.pt-dest-count{
  font-size:0.78rem;color:var(--pt-gold);font-weight:600;
  display:inline-flex;align-items:center;gap:5px;
}
.pt-dest-card-lg{height:100%;min-height:300px;}

/* ═══════════════════════════════════════════════════════
   CTA BANNER SECTION (NEW)
═══════════════════════════════════════════════════════ */
.pt-cta-section{
  background:var(--pt-grad-navy);position:relative;overflow:hidden;
}
.pt-cta-section::before{
  content:'';position:absolute;inset:0;
  background:url('https://phialatours.com/wp-content/uploads/2026/08/hero.jpeg') center/cover;
  opacity:0.08;
}
.pt-cta-content{position:relative;z-index:2;text-align:center;}
.pt-cta-title{
  font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;
  color:#fff;margin-bottom:14px;
  font-family:var(--pt-font-serif);
}
.pt-cta-desc{
  font-size:1.05rem;color:rgba(255,255,255,0.72);
  max-width:560px;margin:0 auto 30px;
}

/* ═══════════════════════════════════════════════════════
   DARK MODE TOGGLE BUTTON (HEADER)
═══════════════════════════════════════════════════════ */
#pt-theme-toggle{
  cursor:pointer;transition:var(--pt-transition-fast);
}
#pt-theme-toggle:hover{color:var(--pt-gold)!important;border-color:var(--pt-gold)!important;}

/* ═══════════════════════════════════════════════════════
   STATS SECTION
═══════════════════════════════════════════════════════ */
.pt-stats-section {
  position: relative;
  background: url('https://phialatours.com/wp-content/uploads/2026/08/Giza-Pyramids.jpg') center/cover no-repeat fixed;
  color: var(--pt-white);
  padding: 100px 0;
  overflow: hidden;
}
.pt-stats-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--pt-grad-navy);
  opacity: 0.95;
  z-index: 0;
}
.pt-stat-card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--pt-radius-lg);
  padding: 40px 20px;
  transition: var(--pt-transition);
}
.pt-stat-card:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}
.pt-stat-icon {
  font-size: 3rem;
  color: var(--pt-gold);
  margin-bottom: 20px;
}
.pt-stat-number-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.pt-stat-number {
  font-size: 3.5rem;
  font-weight: 900;
  font-family: var(--pt-font-serif);
  line-height: 1;
}
.pt-stat-suffix {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--pt-gold);
  margin-left: 5px;
}
.pt-stat-label {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
}

/* ═══════════════════════════════════════════════════════
   TESTIMONIALS SECTION
═══════════════════════════════════════════════════════ */
.pt-testimonials-section {
  padding: 100px 0;
  background: var(--bg-base);
  overflow: hidden;
}
.pt-testimonials-swiper {
  padding: 20px 20px 60px 20px; /* Space for shadow and pagination */
}
.pt-testimonial-card {
  background: var(--bg-card);
  border-radius: var(--pt-radius-lg);
  padding: 40px;
  box-shadow: var(--pt-shadow);
  border: 1px solid var(--border-color);
  position: relative;
  transition: var(--pt-transition);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.pt-testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--pt-shadow-lg);
}
.pt-testimonial-rating {
  color: var(--pt-gold);
  margin-bottom: 20px;
  font-size: 1.1rem;
}
.pt-testimonial-text {
  font-size: 1.1rem;
  color: var(--text-secondary);
  font-style: italic;
  margin-bottom: 30px;
  flex-grow: 1;
  position: relative;
  z-index: 1;
}
.pt-testimonial-author {
  display: flex;
  align-items: center;
  gap: 15px;
}
.pt-testimonial-img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--pt-gold);
}
.pt-testimonial-name {
  font-size: 1.1rem;
  margin: 0 0 5px 0;
  color: var(--text-primary);
}
.pt-testimonial-country {
  font-size: 0.9rem;
  color: var(--pt-gold-dark);
  font-weight: 600;
}
.pt-quote-icon {
  position: absolute;
  top: 30px;
  right: 30px;
  font-size: 4rem;
  color: rgba(0, 0, 0, 0.03);
  z-index: 0;
}
[data-theme="dark"] .pt-quote-icon {
  color: rgba(255, 255, 255, 0.03);
}
/* Swiper Pagination Overrides */
.pt-testimonials-swiper .swiper-pagination-bullet {
  background: var(--pt-gray-400);
  opacity: 0.5;
  width: 10px;
  height: 10px;
  transition: var(--pt-transition);
}
.pt-testimonials-swiper .swiper-pagination-bullet-active {
  background: var(--pt-gold);
  opacity: 1;
  width: 30px;
  border-radius: 5px;
}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE — MISSING STYLES
═══════════════════════════════════════════════════════ */
.pt-contact-info-card{
  background:var(--pt-grad-navy);border-radius:var(--pt-radius-xl);
  padding:38px;height:100%;color:var(--pt-white);
}
.pt-contact-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;}
.pt-contact-item-icon{
  width:44px;height:44px;background:rgba(245,166,35,0.18);
  border-radius:11px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;border:1px solid rgba(245,166,35,0.28);
}
.pt-contact-item-icon i{color:var(--pt-gold);font-size:1rem;}
.pt-contact-item-text h6{
  font-size:0.72rem;color:rgba(255,255,255,0.48);text-transform:uppercase;
  letter-spacing:1px;margin-bottom:3px;font-weight:600;font-family:var(--pt-font);
}
.pt-contact-item-text p,.pt-contact-item-text a{
  color:var(--pt-white);font-size:0.9rem;margin:0;
}
.pt-contact-item-text a:hover{color:var(--pt-gold);}

/* ═══════════════════════════════════════════════════════
   FOOTER BOTTOM BAR — PROPER STYLES
═══════════════════════════════════════════════════════ */
.pt-footer-bottom{
  border-top:1px solid var(--border-color);
  padding:18px 0;margin-top:48px;
  font-size:0.8rem;color:var(--text-secondary);
}
.pt-footer-bottom p{margin:0;font-size:0.85rem;color:var(--text-secondary);}

/* ═══════════════════════════════════════════════════════
   PREMIUM BOOKING FORM SECTION
═══════════════════════════════════════════════════════ */
.pt-booking-section {
  background: var(--bg-card);
  border-radius: var(--pt-radius-xl);
  padding: 40px;
  box-shadow: var(--pt-shadow-lg);
  border: 1px solid var(--border-color);
  margin-top: -80px;
  position: relative;
  z-index: 10;
  margin-bottom: 20px;
}
.pt-booking-tabs {
  border-bottom: 2px solid var(--border-color);
  gap: 10px;
}
@media (max-width: 767.98px) {
  .pt-booking-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 5px;
    justify-content: flex-start;
  }
  .pt-booking-tabs::-webkit-scrollbar {
    display: none;
  }
  .pt-booking-tabs .nav-item {
    flex: 0 0 auto !important;
  }
  .pt-booking-tabs .nav-link {
    white-space: nowrap !important;
  }
}
.pt-booking-tabs .nav-item {
  margin-bottom: -2px;
}
.pt-booking-tabs .nav-link {
  color: var(--text-secondary);
  font-weight: 700;
  padding: 12px 24px;
  border: none;
  border-bottom: 2px solid transparent;
  transition: var(--pt-transition);
  background: transparent;
  font-size: 1.05rem;
}
.pt-booking-tabs .nav-link:hover {
  color: var(--pt-gold);
}
.pt-booking-tabs .nav-link.active {
  color: var(--pt-navy);
  border-bottom: 2px solid var(--pt-gold);
}
[data-theme="dark"] .pt-booking-tabs .nav-link.active {
  color: var(--pt-gold);
}

.pt-form-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  display: block;
}
.pt-form-control {
  width: 100%;
  background: var(--bg-base);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  border-radius: var(--pt-radius);
  padding: 14px 20px;
  font-size: 1rem;
  transition: var(--pt-transition);
}
.pt-form-control:focus {
  outline: none;
  border-color: var(--pt-gold);
  box-shadow: 0 0 0 4px rgba(245,166,35,0.15);
}
/* Force LTR on date inputs to fix RTL browser placeholder formatting */
input[type="date"].pt-form-control {
  text-align: left;
  direction: ltr;
}

/* ═══════════════════════════════════════════════════════
   LEGAL TEMPLATE TYPOGRAPHY
═══════════════════════════════════════════════════════ */
.pt-legal-content h1, .pt-legal-content h2, .pt-legal-content h3 {
  color: var(--text-primary);
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.pt-legal-content h1 { font-size: 1.75rem; }
.pt-legal-content h2 { font-size: 1.5rem; }
.pt-legal-content h3 { font-size: 1.25rem; }
.pt-legal-content p {
  color: var(--text-secondary);
  margin-bottom: 1.25rem;
}
.pt-legal-content a {
  color: var(--pt-gold);
  text-decoration: underline;
}
.pt-legal-content ul, .pt-legal-content ol {
  color: var(--text-secondary);
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}

/* ═══════════════════════════════════════════════════════
   DARK MODE — ADDITIONAL OVERRIDES
═══════════════════════════════════════════════════════ */
/* Single tour inline-styled info boxes */
[data-theme="dark"] .pt-tour-info-card{
  background:var(--bg-card);border-color:var(--border-color);
}
[data-theme="dark"] .tour-content{color:var(--text-secondary)!important;}
[data-theme="dark"] .pt-booking-form-card{
  background:linear-gradient(135deg,var(--bg-card),var(--bg-base));
}
[data-theme="dark"] .pt-booking-form-title{color:var(--text-primary);}
[data-theme="dark"] .pt-form-card{
  background:linear-gradient(135deg,var(--bg-card),var(--bg-base));
}
[data-theme="dark"] .pt-form-title{color:var(--text-primary);}
[data-theme="dark"] .pt-footer-bottom p{color:var(--text-secondary);}
[data-theme="dark"] .pt-why-desc{color:var(--text-secondary);}

/* ═══════════════════════════════════════════════════════
   SOCIAL LINKS & WHATSAPP BUTTONS (PROPER DESIGN)
═══════════════════════════════════════════════════════ */
.pt-social-links {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.pt-social-link {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.14);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  font-size: 1.25rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none !important;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.pt-social-link:hover {
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
}

/* Brand Colors for Social Icons */
.pt-social-link.facebook {
  background: #1877F2 !important;
  border-color: #1877F2 !important;
  color: #FFFFFF !important;
}
.pt-social-link.facebook:hover {
  box-shadow: 0 6px 20px rgba(24, 119, 242, 0.5);
}

.pt-social-link.instagram {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
  border-color: transparent !important;
  color: #FFFFFF !important;
}
.pt-social-link.instagram:hover {
  box-shadow: 0 6px 20px rgba(220, 39, 67, 0.5);
}

/* WhatsApp Icon Button - High Visibility & Pulse Effect */
.pt-social-link.whatsapp {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #FFFFFF !important;
  font-size: 1.4rem;
  box-shadow: 0 4px 18px rgba(37, 211, 102, 0.55);
  animation: pt-wa-pulse 2.2s infinite ease-in-out;
}
.pt-social-link.whatsapp:hover {
  background: #20BD5A !important;
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.75);
  transform: translateY(-4px) scale(1.12);
}

.pt-social-link.tripadvisor {
  background: #34E0A1 !important;
  border-color: #34E0A1 !important;
  color: #000000 !important;
}
.pt-social-link.tripadvisor:hover {
  box-shadow: 0 6px 20px rgba(52, 224, 161, 0.5);
}

/* Prominent WhatsApp CTA Button */
.pt-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  color: #FFFFFF !important;
  font-weight: 800;
  font-size: 1.05rem;
  padding: 16px 30px;
  border-radius: 50px;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.38);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  letter-spacing: 0.3px;
}

.pt-whatsapp-btn:hover {
  background: linear-gradient(135deg, #20BD5A 0%, #0E7569 100%) !important;
  color: #FFFFFF !important;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.55);
}

.pt-whatsapp-btn i {
  font-size: 1.4rem;
}

/* Floating WhatsApp Button at Bottom Right */
#pt-wa-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.9rem;
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.5);
  z-index: 9999;
  transition: all 0.3s ease;
  text-decoration: none;
  border: 2px solid #ffffff;
  animation: pt-wa-pulse 2.5s infinite ease-in-out;
}

#pt-wa-float:hover {
  transform: scale(1.12) rotate(8deg);
  box-shadow: 0 12px 35px rgba(37, 211, 102, 0.7);
}

@keyframes pt-wa-pulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.65); }
  70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (max-width: 576px) {
  #pt-wa-float {
    width: 52px;
    height: 52px;
    bottom: 20px;
    right: 20px;
    font-size: 1.6rem;
  }
}

