
/* Rustic Fields Booking System MVP */
.booking-page-body{background:#fbf4e8;color:#18120d}
.booking-shell{padding:138px 0 90px;min-height:100vh;background:
  radial-gradient(circle at 20% 0%,rgba(199,154,77,.22),transparent 32%),
  linear-gradient(180deg,#fbf4e8,#f4ead8)}
.booking-hero-small{text-align:center;margin-bottom:46px}
.booking-hero-small h1{color:#18120d;font-family:'Outfit',Inter,sans-serif;font-weight:500;font-size:clamp(2.8rem,8vw,6rem);line-height:.95;letter-spacing:-.045em;margin-bottom:18px}
.booking-hero-small p{max-width:780px;margin:auto;color:#6e6255;font-size:1.08rem}
.booking-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:26px;align-items:start}
.booking-panel,.booking-summary,.admin-panel{background:#fffaf1;border:1px solid rgba(91,53,29,.14);border-radius:34px;padding:30px;box-shadow:0 28px 84px rgba(32,18,10,.13)}
.booking-panel h2,.booking-summary h2,.admin-panel h2{font-family:'Outfit',Inter,sans-serif;font-weight:500;font-size:2.05rem;letter-spacing:-.035em;margin-bottom:10px}
.booking-panel .note,.booking-summary .note{font-size:.92rem;color:#6e6255}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.booking-form-grid label,.booking-full label{display:grid;gap:8px;font-weight:800;color:#5b351d;font-size:.9rem}
.booking-form-grid input,.booking-form-grid select,.booking-full textarea,.admin-panel input,.admin-panel select,.admin-panel textarea{
  border:1px solid rgba(91,53,29,.18);background:#fff;border-radius:17px;padding:14px 15px;outline:0;color:#18120d;width:100%
}
.booking-form-grid input:focus,.booking-form-grid select:focus,.booking-full textarea:focus,.admin-panel input:focus,.admin-panel select:focus,.admin-panel textarea:focus{
  border-color:#c79a4d;box-shadow:0 0 0 4px rgba(199,154,77,.14)
}
.booking-full{margin-top:16px}
.booking-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.availability-card{display:grid;gap:12px;margin:22px 0;padding:18px;border-radius:24px;background:#f4ead8;border:1px solid rgba(91,53,29,.12)}
.availability-card strong{font-size:1.1rem}
.availability-ok{color:#255d32}.availability-bad{color:#9a2c20}.availability-warn{color:#8d640f}
.summary-lines{display:grid;gap:12px;margin-top:22px}
.summary-line{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(91,53,29,.1);padding-bottom:12px;color:#6e6255}
.summary-line strong{color:#18120d}
.total-line{font-size:1.2rem}.deposit-line{color:#5b351d}
.policy-box{margin-top:22px;padding:18px;border-radius:24px;background:#15100b;color:#fffaf1}
.policy-box p,.policy-box li{color:rgba(255,250,241,.78);line-height:1.65}
.policy-box ul{margin:10px 0 0;padding-left:18px}
.booking-result{display:none;margin-top:24px;padding:20px;border-radius:26px;background:#fff;border:1px solid rgba(199,154,77,.36)}
.booking-result.show{display:block}
.booking-ref{font-size:1.4rem;font-weight:900;color:#5b351d}
.room-stock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.stock-card{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(91,53,29,.12)}
.stock-card span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#c79a4d}
.stock-card strong{display:block;font-size:1.7rem;margin-top:6px}
.invoice-preview{display:none}
.admin-shell{padding:130px 0 80px;background:#fbf4e8;min-height:100vh}
.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}
.admin-table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}
.admin-table th,.admin-table td{text-align:left;padding:12px;border-bottom:1px solid rgba(91,53,29,.13);vertical-align:top}
.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#5b351d}
.status-pill{display:inline-flex;border-radius:999px;padding:6px 10px;font-weight:900;font-size:.72rem;background:#f4ead8;color:#5b351d}
.status-confirmed,.status-paid{background:#dff2df;color:#23552b}
.status-pending_payment{background:#fff1c7;color:#7d5c08}
.status-cancelled,.status-expired{background:#f7d7d3;color:#8c2e23}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-actions button{border:0;border-radius:999px;padding:8px 10px;cursor:pointer;font-weight:800}
.admin-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:960px){
  .booking-grid,.admin-grid{grid-template-columns:1fr}
  .room-stock-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .booking-shell,.admin-shell{padding-top:118px}
  .booking-form-grid,.admin-mini-grid{grid-template-columns:1fr}
  .booking-panel,.booking-summary,.admin-panel{padding:22px;border-radius:26px}
  .room-stock-grid{grid-template-columns:1fr}
}
@media print{
  body *{visibility:hidden}
  .invoice-preview,.invoice-preview *{visibility:visible}
  .invoice-preview{display:block!important;position:absolute;inset:0;padding:30px;background:white;color:black}
}


/* Premium invoice print fix */
@media print{
  @page{size:A4;margin:0}
  body{background:#fff!important}
}

/* Venue booking additions */
#venueTypeLabel select{font-weight:700}

.admin-pin-hint{font-size:.9rem;color:#8a745b;margin:.4rem 0 1rem;font-weight:700;}

.booking-actions button:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(.2);}
