
:root{
  --purple:#6A1B9A;
  --yellow:#FBBF3D;
  --white:#FFFFFF;
  --black:#000000;
  --muted:#64748b;
  --card:#ffffff;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Arial,sans-serif;margin:0;background:linear-gradient(180deg,#fff,#f6f6fb);color:var(--black)}
.header/* --- Header layout & brand --- */
:root {
  --purple: #6A1B9A;
  --yellow: #FBBF3D;
  --white: #ffffff;
}

.site-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; /* logo centered */
  padding: 10px 16px;
  background: var(--purple);   /* purple background */
  min-height: 100px;
  box-sizing: border-box;
}

/* Login button (bottom-left) */
.login-btn {
  position: absolute;
  left: 12px;
  bottom: 8px;   /* stick to bottom */
  background: transparent;
  border: none;
  color: var(--yellow); 
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
}

/* Logo 4x bigger */
.site-logo {
  height: 160px;   /* 4x bigger than 40px */
  width: auto;
  object-fit: contain;
  display: block;
}

/* Date/time bottom-right */
.site-datetime {
  position: absolute;
  right: 12px;
  bottom: 8px;   /* stick to bottom */
  color: var(--yellow);
  font-weight: 700;
  font-size: 1rem;
  white-space: pre-line;
  text-align: right;
  line-height: 0.9;
}
.blocker {
  position: absolute;
  inset: 0;
  cursor: not-allowed;
  background: rgba(0,0,0,0); /* invisible */
}

.status-badge {
  padding: 4px 8px;
  border-radius: 6px;
  color: white;
  font-weight: 600;
  text-transform: capitalize;
}

.status-pending { background: #FBBF3D; }   /* Yellow */
.status-confirmed { background: #5cb85c; } /* Green */
.status-completed { background: #6A1B9A; } /* Purple */
.status-cancelled { background: #d9534f; } /* Red */


/* Responsive tweaks */
@media (max-width: 600px) {
  .site-header { padding: 8px 10px; min-height: 80px; }
  .site-logo { height: 100px; } /* scale down for small screens */
  .login-btn { font-size: 0.9rem; }
  .site-datetime { font-size: 0.9rem; }
}

.logo{height:84px;display:block;margin:0 auto 8px auto}
.brand{font-size:28px;font-weight:800;letter-spacing:1px}
.tag{font-size:14px;margin-top:6px;color:var(--yellow);font-weight:600}
.container{max-width:980px;margin:18px auto;padding:16px}
.card{background:var(--card);border-radius:12px;padding:18px;box-shadow:0 6px 20px rgba(15,23,42,0.06)}
.center-choices{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.choice{min-width:200px;padding:20px;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfbff);border:2px solid #f0edf9;text-align:center;cursor:pointer}
.choice h3{margin:6px 0 2px 0;color:var(--purple)}
.choice p{margin:0;color:var(--muted);font-size:13px}
.hidden{display:none}
.form-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.full{flex:1 1 100%}
.two{flex:1 1 48%}
.input{padding:12px;border-radius:10px;border:1px solid #e6e6f0;width:100%;font-size:15px}
.purple{color:var(--purple);font-weight:700}
.actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.btn{padding:12px 14px;border-radius:10px;border:none;cursor:pointer;font-weight:700}
.btn-primary{background:var(--purple);color:var(--white)}
.btn-secondary{background:transparent;border:1px solid var(--purple);color:var(--purple)}
.small{font-size:13px;color:var(--muted)}
.result{margin-top:12px;padding:12px;border-radius:8px;background:#fffbe6;border:1px solid #fff1cc}
.controls{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.checkbox-inline{display:flex;align-items:center;gap:8px}
.select-multi{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}
.chip{padding:8px 10px;border-radius:8px;background:#f4f4f8;border:1px solid #eee;cursor:pointer}
.chip.selected{background:var(--purple);color:var(--white);border-color:var(--purple)}
.center{display:flex;justify-content:center;align-items:center}
.footer{margin-top:18px;padding:18px;text-align:center;background:#000;color:var(--yellow);border-radius:8px}
@media (max-width:600px){
  .two{flex:1 1 100%}
  .choice{min-width:140px}
  .logo{height:64px}
}

/* Minimal styles to hide and show and keep table responsive */
.hidden { display: none !important; }
.my-bookings { padding: 16px; }
.table-wrapper { overflow-x: auto; margin-top: 12px; }
.responsive-table { width: 100%; border-collapse: collapse; }
.responsive-table th, .responsive-table td { padding: 8px; text-align: left; border-bottom: 1px solid #e6e6e6; }

/* Optional: keep header sticky when many rows (small improvement) */
.bookings-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
@media (max-width: 640px) {
  .bookings-header h2 { font-size: 1.1rem; }
}

/* Tagline under the main buttons */
.tagline {
  margin-top: 18px;
  font-size: 1.0rem;
  font-weight: 700;
  color: var(--yellow);
  text-align: center;
}

.hidden { display: none !important; }
.admin-link { margin-left: 0.5rem; padding: 0.35rem .6rem; font-size: .9rem; border-radius: 6px; }

/* Form styling */
.form-container {
  max-width: 600px;
  margin: 20px auto;
  background: #fff;
  padding: 20px;
  border-radius: 10px;
}

.form-group {
  margin-bottom: 15px;
}

.form-group label {
  display: block;
  margin-bottom: 5px;
}

.luggage-options {
  display: flex;
  gap: 10px;
}

.estimate-btn {
  background: #6A0DAD; /* purple */
  color: #FFD700; /* yellow */
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.chip {
  display: inline-block;
  padding: 8px 14px;
  margin: 4px;
  border-radius: 20px;
  background-color: #eee;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s, color 0.2s;
}

.chip.selected {
  background-color: #6a1b9a; /* purple shade */
  color: #fff;
  font-weight: bold;
}

/* ——— MULTI-LINE CAR CLASS CHIPS (REPLACES .chip) ——— */
.car-class-container {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 2 per row on mobile */
  gap: 12px;
  margin-top: 12px;
}

@media (min-width: 601px) {
  .car-class-container {
    grid-template-columns: repeat(4, 1fr);  /* 4 per row on desktop */
  }
}

.car-class-chip {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.9rem 0.6rem;
  min-height: 88px;
  text-align: center;
  background: #f8f9fa;
  border: 2px solid #e0e0e6;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  user-select: none;
}

.car-class-chip:hover {
  background: #eef0f3;
  border-color: var(--purple);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.car-class-chip.selected {
  background: var(--purple);
  color: white;
  border-color: var(--purple);
  box-shadow: 0 4px 12px rgba(106, 27, 154, 0.3);
}

.car-class-chip .line1 {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.2;
}

.car-class-chip .line2 {
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.3;
  opacity: 0.9;
  margin-top: 2px;
}

.car-class-chip .line3 {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3;
  opacity: 0.85;
  margin-top: 3px;
}

.car-class-chip.selected .line2,
.car-class-chip.selected .line3 {
  opacity: 1;
  color: #f0e8ff;
}

/* Mobile fine-tuning */
@media (max-width: 600px) {
  .car-class-chip {
    min-height: 78px;
    padding: 0.7rem 0.4rem;
  }
  .car-class-chip .line1 { font-size: 0.95rem; }
  .car-class-chip .line2 { font-size: 0.78rem; }
  .car-class-chip .line3 { font-size: 0.7rem; }
}

/* ——— LUGGAGE INPUT BOXES – 2 per row on mobile ——— */
.luggage-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 2 per row */
  gap: 10px;
  margin-top: 8px;
}

.luggage-item {
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  color: var(--black);
}

.luggage-input {
  width: 100%;
  padding: 8px 10px;
  margin-top: 4px;
  border: 1.5px solid #e0e0e6;
  border-radius: 10px;
  font-size: 0.95rem;
  text-align: center;
  background: #fafafa;
  transition: all 0.2s ease;
}

.luggage-input:focus {
  outline: none;
  border-color: var(--purple);
  background: white;
  box-shadow: 0 0 0 3px rgba(106, 27, 154, 0.15);
}

/* Desktop: 4 per row */
@media (min-width: 601px) {
  .luggage-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

.seo-description {
  font-size: 1px;       /* very tiny text */
  color: #000;          /* same as background-safe */
  opacity: 0.1;         /* almost invisible */
  height: 1px;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
