/* ============================
   GLOBAL RESET & BASE STYLE
   ============================ */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", Arial, sans-serif;
}

html { scroll-behavior: smooth; }

body {
  background-color: #ffffff;
  color: #2f2f2f;
  line-height: 1.5;
}

/* Make images responsive */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ============================
   HEADER (same style as home page)
   ============================ */
.header {
  width: 100%;
  background-color: #f6faf7;
  padding: 12px 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #eee;

  position: sticky;
  top: 0;
  z-index: 1000;
}

/* Logo */
.header-left .logo img {
  height: 55px;
  cursor: pointer;
}

.header-center {
  text-align: center;
  flex: 1;
}

.greeting {
  font-size: 20px;
  font-weight: 700;
  color: #1c5a4c;
  animation: fadeIn 0.6s ease-in-out;
}

.datetime {
  margin-top: 2px;
  font-size: 14px;
  color: #1c5a4c;
  font-weight: 500;
}

/* ============================
   HAMBURGER MENU
   ============================ */
.hamburger {
  display: block;
  font-size: 30px;
  background: none;
  border: none;
  cursor: pointer;
  color: #1c5a4c;
}

.mobile-menu {
  display: none;
  position: absolute;
  right: 20px;
  top: 70px;
  background: white;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  z-index: 9999;
  min-width: 180px;
  border: 1px solid #e9eeec;
}

.mobile-menu.open { display: block; }

.mobile-menu a {
  display: block;
  padding: 10px 12px;
  text-decoration: none;
  color: #1c5a4c;
  font-weight: 700;
  border-radius: 10px;
}

.mobile-menu a:hover { background: #f6faf7; }

/* ============================
   HERO SECTION
   ============================ */
.hero {
  width: 100%;
  height: 750px;
  background: url("images/hero-green.png") center/cover no-repeat;
  border-bottom: 2px solid #eee;
}

/* ============================
   SERVICE CARDS (INDEX)
   ============================ */
.service-cards,
.service-title {
  padding: 60px 20px;
  text-align: center;
}

.service-cards h2,
.service-title h2 {
  font-size: 32px;
  margin-bottom: 35px;
  color: #1c5a4c;
  font-weight: 800;
  letter-spacing: -0.4px;
}

.cards-container {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap;
}

.service-card {
  width: 250px;
  background: #fff;
  text-decoration: none;
  color: #1c5a4c;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.service-card h3 {
  padding: 15px;
  font-size: 18px;
  font-weight: 700;
}

.service-card:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 18px 45px rgba(0,0,0,0.12);
}

/* Mobile cards */
@media (max-width: 768px) {
  .service-card { width: 90%; }
}

/* ============================
   SECTION TITLE (WEDDING/BIRTHDAY/BRIDAL/BABY)
   ============================ */
.section-title {
  text-align: center;
  margin-top: 55px;
  margin-bottom: 35px;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: #1c5a4c;
}

/* ============================
   GALLERY GRID
   ============================ */
.gallery-grid {
  width: 90%;
  margin: 40px auto 70px auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}

.gallery-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
}

.gallery-card img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.gallery-card:hover img { transform: scale(1.03); }

/* ✅ Green bar stays (but no price text anymore) */
.price-tag {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 64px;                 /* fixed bar height = stable layout */
  background: rgba(28, 90, 76, 0.95);
  display: flex;                /* center the button */
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  z-index: 2;
  border-bottom-left-radius: 14px;
border-bottom-right-radius: 14px;
}

/* ✅ Book centered inside green bar */
.book-btn {
  position: static;             /* important: no absolute anymore */
  background: #ffffff;
  color: #0f3d2e;

  padding: 10px 22px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;

  border: 1px solid rgba(15,61,46,0.18);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
  transition: transform 0.2s ease, background 0.2s ease;
}

.book-btn:hover {
  background: #f6faf7;
  transform: translateY(-1px);
}

/* ============================
   CONTACT
   ============================ */
.contact {
  padding: 60px 20px;
  text-align: center;
  background: #f6faf7;
  margin-top: 40px;
  border-top: 1px solid #e9eeec;
}

.contact p { margin: 10px 0; }

/* ============================
   FOOTER (same style as home page)
   ============================ */
.site-footer {
  background-color: #f5f5f5;
  padding: 30px 0;
  font-size: 18px;
  color: #1c5a4c;
  text-align: center;
  border-top: 2px solid #ddd;
  margin-top: 50px;
}

/* ============================
   MODAL (LOGIN / REGISTER)
   ============================ */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 61, 46, 0.55);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.modal-content {
  width: 100%;
  max-width: 420px;
  background: #ffffff;
  border-radius: 18px;
  padding: 28px 26px 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.25);
  position: relative;
  border: 2px solid #e6f2ef;
  animation: modalFade 0.15s ease-in-out;
}

.modal .close {
  position: absolute;
  top: 12px;
  right: 14px;
  font-size: 26px;
  cursor: pointer;
  color: #0f3d2e;
  font-weight: 900;
}

/* Inputs */
.modal input {
  width: 100%;
  padding: 13px 14px;
  margin-bottom: 12px;
  border-radius: 12px;
  border: 1.5px solid #cfe3dd;
  font-size: 15px;
  outline: none;
}

.modal input:focus {
  border-color: #1c5a4c;
  box-shadow: 0 0 0 3px rgba(28, 90, 76, 0.15);
}

/* Buttons */
.modal button {
  width: 100%;
  padding: 13px;
  margin-top: 6px;
  border: none;
  border-radius: 12px;
  background: #0f3d2e;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

.modal button:hover { background: #1c5a4c; }

/* ============================
   BOOKING PAGE
   ============================ */
.booking-wrap{
  width: min(900px, 92%);
  margin: 40px auto 70px;
}

.booking-title{
  text-align: center;
  margin: 0 0 18px;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: #1c5a4c;
}

.booking-summary{
  background: linear-gradient(180deg, #f6faf7 0%, #ffffff 100%);
  border: 1px solid #e9eeec;
  padding: 18px;
  border-radius: 14px;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
}

.booking-summary-row{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.booking-label{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1c5a4c;
  font-weight: 900;
  margin-bottom: 6px;
}

.booking-value{
  font-size: 16px;
  font-weight: 700;
  color: #333;
}

.booking-desc{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e9eeec;
  color: #333;
}

.booking-form{
  margin-top: 18px;
  background: #fff;
  border: 1px solid #e9eeec;
  padding: 22px;
  border-radius: 14px;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
}

.booking-field{
  display: block;
  margin-bottom: 14px;
}

.booking-field span{
  display: block;
  font-weight: 900;
  color: #1c5a4c;
  margin-bottom: 8px;
  font-size: 14px;
}

.booking-form input[type="date"],
.booking-form textarea{
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  border: 1.5px solid #cfe3dd;
  outline: none;
}

.booking-form textarea{ resize: vertical; }

.booking-form input:focus,
.booking-form textarea:focus{
  border-color: #1c5a4c;
  box-shadow: 0 0 0 3px rgba(28, 90, 76, 0.15);
}

/* Custom file input */
.file-input{ display:none; }

.file-btn{
  display:inline-block;
  padding:10px 16px;
  border-radius:12px;
  background:#0f3d2e;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  margin-right:10px;
}

.file-btn:hover{ background:#1c5a4c; }

.file-name{
  font-weight:600;
  color:#333;
  font-size:14px;
}

.booking-submit{
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 12px;
  background: #0f3d2e;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.booking-submit:hover{ background:#1c5a4c; }

/* Booking success block */
.booking-success{
  background: #f6faf7;
  border: 1px solid #e9eeec;
  padding: 22px;
  border-radius: 14px;
  text-align: center;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
  margin-bottom: 18px;
}

.booking-success h3{
  color: #1c5a4c;
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: 900;
}

.booking-success p{
  margin: 6px 0;
  color: #333;
  font-weight: 500;
}

.booking-success-small{
  opacity: 0.85;
  font-size: 14px;
  margin-top: 8px;
}

.booking-success-btn{
  display: inline-block;
  margin-top: 14px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #0f3d2e;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

.booking-success-btn:hover{ background:#1c5a4c; }

/* ============================
   CHAT MINI
   ============================ */
.chat-mini{
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99999;
  width: 340px;
  max-width: calc(100vw - 40px);
  background: #fff;
  border: 1px solid #e9eeec;
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
  overflow: hidden;
}

.chat-mini.collapsed .chat-content{ display:none; }

.chat-header{
  height: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  background: #0f3d2e;
  color:#fff;
  font-weight:900;
}

.chat-content{ padding:10px; }

/* ============================
   ANIMATIONS
   ============================ */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes modalFade {
  from { transform: scale(0.97); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}

/* ============================
   RESPONSIVE
   ============================ */
@media (max-width: 768px) {
  .header {
    padding: 12px 20px;
    flex-direction: column;
    gap: 10px;
  }

  .mobile-menu {
    right: 10px;
    top: 120px;
  }

  .section-title { font-size: 32px; }
  .booking-title { font-size: 32px; }
  .booking-summary-row { grid-template-columns: 1fr; }
}
/* ============================
   ADMIN PANEL STYLES
   Paste at BOTTOM of style.css
   ============================ */

.wrap{
  width: min(1100px, 92%);
  margin: 30px auto 80px;
}

.grid-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

.card{
  background: #fff;
  border: 1px solid #e9eeec;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
}

.card h2{
  margin: 0 0 12px;
  color: #1c5a4c;
  font-size: 20px;
}

/* Tables */
.card table{
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  overflow: hidden;
  border-radius: 12px;
}

.card th, .card td{
  border-top: 1px solid #eef2f1;
  padding: 10px 10px;
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

.card th{
  background: #f6faf7;
  color: #1c5a4c;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.card a{
  color: #0f3d2e;
  font-weight: 700;
  text-decoration: none;
}

.card a:hover{ text-decoration: underline; }

.danger{
  color: #b42318 !important;
  font-weight: 800;
}

/* Chat box */
.chatBox{
  border: 1px solid #e9eeec;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.msgs{
  height: 320px;
  overflow: auto;
  padding: 12px;
  background: #f6faf7;
}

.msg{
  max-width: 85%;
  padding: 10px 12px;
  border-radius: 12px;
  margin: 8px 0;
  border: 1px solid rgba(15,61,46,0.12);
  background: #fff;
  font-size: 14px;
  line-height: 1.35;
}

.msg .meta{
  display: block;
  margin-top: 6px;
  font-size: 11px;
  color: #667085;
}

.msg.customer{
  background: #e8f5f1;
  margin-right: auto;
}

.msg.admin{
  background: #fff;
  margin-left: auto;
  border-color: rgba(28,90,76,0.25);
}

/* Reply form */
.replyForm{
  display: flex;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #e9eeec;
  background: #fff;
}

.replyForm input{
  flex: 1;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1.5px solid #cfe3dd;
  outline: none;
}

.replyForm input:focus{
  border-color: #1c5a4c;
  box-shadow: 0 0 0 3px rgba(28, 90, 76, 0.15);
}

.replyForm .btn,
.replyForm button{
  border: none;
  border-radius: 12px;
  padding: 12px 16px;
  background: #0f3d2e;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.replyForm button:hover{
  background: #1c5a4c;
}

/* Mobile */
@media (max-width: 900px){
  .grid-2{ grid-template-columns: 1fr; }
  .msgs{ height: 260px; }
}
/* ============================
   ADMIN PAGE POLISH
   ============================ */

.admin-wrap{
  width: min(1200px, 92%);
  margin: 26px auto 70px;
}

.admin-hero{
  text-align: center;
  margin: 18px auto 22px;
}

.admin-title{
  font-size: 44px;
  font-weight: 900;
  letter-spacing: -0.8px;
  color: #1c5a4c;
  margin-bottom: 8px;
}

.admin-subtitle{
  color: #3a3a3a;
  opacity: 0.9;
  font-size: 15px;
}

.wrap{ /* your existing admin.php uses .wrap */
  width: min(1200px, 92%);
  margin: 26px auto 70px;
}

.grid-2{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: start;
}

.card{
  background: #fff;
  border: 1px solid #e9eeec;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
}

.card h2{
  margin-bottom: 12px;
  color: #1c5a4c;
  font-size: 18px;
  font-weight: 900;
}

.card table{
  width: 100%;
  border-collapse: collapse;
}

.card th{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #1c5a4c;
  padding: 10px 8px;
  border-bottom: 1px solid #e9eeec;
  text-align: left;
}

.card td{
  padding: 12px 8px;
  border-bottom: 1px solid #f1f4f3;
  vertical-align: top;
  color: #2f2f2f;
  font-size: 14px;
}

.card tr:hover td{
  background: #f6faf7;
}

.card a{
  color: #0f3d2e;
  font-weight: 800;
  text-decoration: none;
}
.card a:hover{ text-decoration: underline; }

.card a.danger{
  color: #b42318;
  font-weight: 900;
}

.chatBox{
  border: 1px solid #e9eeec;
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
}

.msgs{
  height: 320px;
  overflow: auto;
  padding: 12px;
  background: #f6faf7;
}

.msg{
  max-width: 85%;
  padding: 10px 12px;
  border-radius: 12px;
  margin: 8px 0;
  border: 1px solid rgba(15,61,46,0.12);
  background: #ffffff;
}

.msg.admin{
  margin-left: auto;
  background: #e8f3ef;
}

.msg.customer{
  margin-right: auto;
  background: #ffffff;
}

.meta{
  display: block;
  margin-top: 6px;
  font-size: 11px;
  opacity: 0.7;
}

.replyForm{
  display: flex;
  gap: 10px;
  padding: 12px;
  background: #fff;
  border-top: 1px solid #e9eeec;
}

.replyForm input{
  flex: 1;
  padding: 12px;
  border-radius: 12px;
  border: 1.5px solid #cfe3dd;
  outline: none;
}

.replyForm input:focus{
  border-color: #1c5a4c;
  box-shadow: 0 0 0 3px rgba(28, 90, 76, 0.15);
}

.replyForm button{
  padding: 12px 16px;
  border-radius: 12px;
  border: none;
  background: #0f3d2e;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.replyForm button:hover{ background:#1c5a4c; }

@media (max-width: 980px){
  .grid-2{ grid-template-columns: 1fr; }
  .admin-title{ font-size: 34px; }
}
/* ===== Admin visual hierarchy ===== */

.card h2 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.card h2::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, #e9eeec, transparent);
}

/* Highlight Users card slightly */
.card:first-of-type {
  border-left: 5px solid #1c5a4c;
}

/* Make Chat feel interactive */
#chat {
  background: linear-gradient(180deg, #f9fcfb 0%, #ffffff 100%);
}
.card td {
  line-height: 1.45;
}

.card td:first-child {
  font-weight: 700;
  color: #1c5a4c;
}
 .card a {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f6faf7;
}

.card a:hover {
  background: #e8f3ef;
  text-decoration: none;
}
 .card + .card {
  margin-top: 22px;
}
/* ===== Admin layout container ===== */
.wrap {
  max-width: 1200px;
  margin: 30px auto 80px;
  padding: 0 20px;
}

/* Admin title */
h1 {
  text-align: center;
  font-size: 38px;
  font-weight: 800;
  color: #1c5a4c;
  margin-bottom: 6px;
}

h1 + p {
  text-align: center;
  color: #666;
  margin-bottom: 30px;
}

/* Dashboard grid */
.grid-2 {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
  margin-bottom: 30px;
}

/* Cards */
.card {
  background: #ffffff;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.08);
}

/* Section headers */
.card h2 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 14px;
}

.card h2::after {
  content: "";
  display: block;
  height: 3px;
  width: 48px;
  background: #1c5a4c;
  border-radius: 999px;
  margin-top: 6px;
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
}

th {
  background: #f6faf7;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1c5a4c;
}

td {
  padding: 12px 10px;
  vertical-align: top;
}

tr + tr td {
  border-top: 1px solid #eee;
}
/* ============================
   ADMIN PANEL POLISH
   ============================ */

body {
  background: #f3f6f5;
}

/* Page title */
.admin-title {
  text-align: center;
  font-size: 42px;
  font-weight: 800;
  color: #1c5a4c;
  margin: 40px 0 10px;
}

.admin-subtitle {
  text-align: center;
  color: #5f6f6a;
  margin-bottom: 40px;
}

/* Main wrapper */
.wrap {
  width: min(1200px, 94%);
  margin: 0 auto 80px;
}

/* Grid layout */
.grid-2 {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 28px;
  margin-bottom: 40px;
}

@media (max-width: 900px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

/* Cards */
.card {
  background: #ffffff;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.08);
  border: 1px solid #e7efec;
}

/* Card titles */
.card h2 {
  font-size: 20px;
  margin-bottom: 16px;
  color: #1c5a4c;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

th {
  text-align: left;
  padding: 10px;
  color: #1c5a4c;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid #e6f2ef;
}

td {
  padding: 12px 10px;
  border-bottom: 1px solid #f0f4f3;
  vertical-align: top;
}

/* Links */
a {
  color: #1c5a4c;
  font-weight: 600;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Delete danger */
.danger {
  color: #c0392b;
  font-weight: 700;
}

/* Chat box */
.chatBox {
  display: flex;
  flex-direction: column;
}

.msgs {
  background: #f6faf7;
  border-radius: 14px;
  padding: 14px;
  height: 320px;
  overflow-y: auto;
  margin-bottom: 14px;
}

/* Messages */
.msg {
  max-width: 80%;
  padding: 10px 14px;
  border-radius: 14px;
  margin-bottom: 10px;
  font-size: 14px;
}

.msg.customer {
  background: #ffffff;
  border: 1px solid #e2ece9;
}

.msg.admin {
  background: #1c5a4c;
  color: #ffffff;
  margin-left: auto;
}

/* Reply form */
.replyForm {
  display: flex;
  gap: 10px;
}

.replyForm input {
  flex: 1;
  padding: 12px;
  border-radius: 12px;
  border: 1.5px solid #cfe3dd;
}

.replyForm button {
  padding: 12px 18px;
  border-radius: 12px;
  border: none;
  background: #1c5a4c;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.replyForm button:hover {
  background: #0f3d2e;
}

/* Back link */
.card a[href*="index.php"] {
  display: inline-block;
  margin-top: 10px;
}
/* ============================
   FIX GALLERY CARDS (GREEN BAR + BOOK CENTER, NO PRICE TEXT)
   ============================ */

.gallery-card .price-tag{
  display: flex;
  align-items: center;
  justify-content: center;

  height: 72px;     /* ⬅️ increase from 64 → 72 */
  padding: 0 16px;

  font-size: 0;
  background: rgba(28, 90, 76, 0.95);
  z-index: 1;
}
.gallery-card .book-btn{
  padding: 12px 26px;   /* slightly bigger button */
  font-size: 14px;
}
.gallery-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.12);
}
 .gallery-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.12);
}
/* ============================
   BOOKING PAGE - PREMIUM LOOK
   ============================ */

body {
  background: #f3f6f5; /* soft background instead of pure white */
}

/* Main wrapper */
.booking-wrap{
  width: min(980px, 92%);
  margin: 36px auto 80px;
  background: 40px 0 70px;
}

/* Title */
.booking-title{
  text-align: center;
  font-size: 32px;
  font-weight: 900;
  color: #1c5a4c;
  letter-spacing: -0.8px;
  margin-bottom: 28px;
}

/* ===== Summary card ===== */
.booking-summary {
  width: min(1000px, 92%);
  margin: 0 auto 26px;
  background: #ffffff;
  border-radius: 18px;
  padding: 22px 26px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.06);
}

.booking-summary-row {
  display: grid;
  grid-template-columns: 1fr 1.5fr auto;
  gap: 24px;
  align-items: center;
} 

/* Label + value */
.booking-label{
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1c5a4c;
  font-weight: 900;
  margin-bottom: 6px;
}

.booking-value{
  font-size: 16px;
  font-weight: 800;
  color: #1c5a4c;
}

/* Included list block */
.booking-desc{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e9eeec;
  color: #1c5a4c;
}

.booking-desc ul{
  margin-top: 10px;
  padding-left: 18px;
}

.booking-desc li{
  margin: 6px 0;
  line-height: 1.45;
}

/* Form card */
.booking-form{
  margin-top: 18px;
  background: #ffffff;
  border: 1px solid #e7efec;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

/* Fields spacing */
.booking-field{
  margin-bottom: 16px;
}

.booking-field span{
  display: block;
  font-weight: 900;
  color: #1c5a4c;
  margin-bottom: 8px;
  font-size: 14px;
}

/* Inputs */
.booking-form input[type="date"],
.booking-form textarea{
  width: 100%;
  padding: 14px 14px;
  border-radius: 14px;
  border: 1.5px solid #cfe3dd;
  outline: none;
  background: #fbfdfc;
}

.booking-form textarea{
  min-height: 120px;
  resize: vertical;
}

.booking-form input:focus,
.booking-form textarea:focus{
  border-color: #1c5a4c;
  box-shadow: 0 0 0 4px rgba(28, 90, 76, 0.14);
  background: #ffffff;
}

/* Upload button nicer */
.file-btn{
  padding: 12px 18px;
  border-radius: 14px;
  background:#0f3d2e;
  color:#fff;
  font-weight:900;
  box-shadow: 0 12px 26px rgba(0,0,0,0.14);
}

.file-btn:hover{
  background:#1c5a4c;
}

/* Submit button premium */
.booking-submit{
  margin-top: 10px;
  padding: 14px;
  border-radius: 14px;
  background: #1c5a4c;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 18px 40px rgba(28,90,76,0.22);
}

.booking-submit:hover{
  background:#0f3d2e;
}

/* Mobile */
@media (max-width: 768px){
  .booking-title{ font-size: 34px; }
  .booking-summary-row{ grid-template-columns: 1fr; }
}
/* ============================
   PRICE PILL (BOOKING PAGE)
   ============================ */

.booking-price-pill{
  display: inline-block;
  background: linear-gradient(135deg, #1c5a4c, #0f3d2e);
  color: #ffffff;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 24px rgba(28,90,76,0.35);
}
.actionBtns{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.btnSmall{
  display:inline-block;
  padding:7px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #d7e3dd;
  background:#ffffff;
  color:#0f3d2e;
  transition: 0.15s;
}

.btnSmall:hover{
  background:#f3f7f5;
  transform: translateY(-1px);
}

.btnDanger{
  border-color:#f2bcbc;
  color:#9b1c1c;
  background:#fff;
}

.btnDanger:hover{
  background:#fff1f1;
}
/* ===== ADMIN ACTION BUTTONS (FINAL OVERRIDE) ===== */
.card td .actionBtns{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:nowrap;
}

.card td .actionBtns a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none !important;
  border:1px solid #d7e3dd;
  background:#ffffff;
  color:#0f3d2e;
  white-space:nowrap;
  line-height:1;
  box-shadow: 0 8px 18px rgba(0,0,0,0.06);
}

.card td .actionBtns a:hover{
  background:#f6faf7;
  transform: translateY(-1px);
}

.card td .actionBtns a.btnDanger{
  border-color:#f2bcbc;
  color:#9b1c1c;
  background:#fff;
}

.card td .actionBtns a.btnDanger:hover{
  background:#fff1f1;
}
/* ============================
   BOOKING TABLE - OPEN CHAT BUTTON
   ============================ */

.btnChat {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 6px 14px;
  border-radius: 999px;

  background: #f6faf7;
  color: #0f3d2e;
  font-weight: 800;
  font-size: 13px;

  border: 1px solid #cfe3dd;
  transition: all 0.18s ease;
}

/* Hover effect */
.btnChat:hover {
  background: #e8f3ef;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(28,90,76,0.15);
  text-decoration: none;
}

/* Optional: add chat icon */
.btnChat::before {
  content: "💬";
  font-size: 14px;
}
/* Booking table action button */
.card table .btnSmall {
  padding: 6px 12px;
  font-size: 13px;
}
/* =========================
   HEADER SEARCH
   ========================= */

.header-search {
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

.header-search input {
  width: 100%;
  padding: 10px 14px;
  border-radius: 20px;
  border: none;
  outline: none;

  font-size: 14px;
  background: #ffffff;
  color: #1c5a4c;

  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.header-search input::placeholder {
  color: #888;
}
.booking-success {
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: #e9f7ef;
  border: 1px solid #b7e2c7;
  color: #1f6b3a;
  font-weight: 600;
}