/* OneRoomEarth Public Styles */
:root {
  --ore-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ore-font-heading: var(--ore-font-sans);
}
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800&display=swap'); /* Fallback for now */


.ore-notice { background:#F0FAFA; border-left:4px solid #006D77; border-radius:0 12px 12px 0; padding:16px 20px; font-size:15px; color:#134E4A; margin:20px 0; line-height:1.7; }
.ore-notice a { color:#006D77; font-weight:700; }
.ore-notice-warn { background:#FEF3C7; border-left-color:#F59E0B; color:#92400E; }
.ore-notice-warn a { color:#92400E; }

/* Search results */
.ore-trip-results { display:grid; gap:16px; margin-top:24px; }
.ore-trip-result-card { background:#fff; border:1px solid #E8EDF2; border-radius:16px; padding:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; box-shadow:0 2px 12px rgba(0,0,0,0.04); transition:box-shadow 0.2s; }
.ore-trip-result-card:hover { box-shadow:0 6px 24px rgba(0,0,0,0.1); }
.ore-trip-result-route { font-family: var(--ore-font-heading); font-size:18px; font-weight:800; color:#1A2235; margin-bottom:6px; }
.ore-trip-result-meta { font-size:13px; color:#64748B; line-height:1.8; }
.ore-trip-result-right { text-align:right; }
.ore-trip-result-price { font-family: var(--ore-font-heading); font-size:22px; font-weight:800; color:#006D77; }
.ore-trip-result-price span { font-size:13px; font-weight:400; color:#94A3B8; }
.ore-enquire-btn { display:inline-block; background:#E76F51; color:#fff; padding:10px 24px; border-radius:50px; font-family: var(--ore-font-heading); font-weight:700; font-size:14px; text-decoration:none; margin-top:10px; border:none; cursor:pointer; transition:all 0.2s; }
.ore-enquire-btn:hover { background:#d4603f; color:#fff; text-decoration:none; }

/* Enquiry modal */
.ore-modal-overlay { display:none; position:fixed; top:0;left:0;width:100%;height:100%; background:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center; }
.ore-modal-overlay.open { display:flex; }
.ore-modal { background:#fff; border-radius:20px; padding:32px; max-width:480px; width:90%; position:relative; }
.ore-modal h3 { font-family: var(--ore-font-heading); font-size:20px; font-weight:800; color:#1A2235; margin-bottom:16px; }
.ore-modal-close { position:absolute; top:16px; right:20px; font-size:24px; cursor:pointer; color:#94A3B8; background:none; border:none; }
.ore-modal label { display:block; font-size:13px; font-weight:700; color:#1A2235; margin:14px 0 6px; }
.ore-modal input, .ore-modal textarea { width:100%; padding:10px 14px; border:1px solid #E8EDF2; border-radius:8px; font-size:14px; font-family:Arial,sans-serif; }
.ore-modal input:focus, .ore-modal textarea:focus { outline:none; border-color:#006D77; }
.ore-modal textarea { height:80px; resize:vertical; }
.ore-modal-submit { width:100%; margin-top:20px; background:#006D77; color:#fff; border:none; padding:14px; border-radius:50px; font-family: var(--ore-font-heading); font-weight:800; font-size:15px; cursor:pointer; }
.ore-modal-submit:hover { background:#005a63; }



/* ── Plugin-wide Responsive Layouts ── */
@media (max-width: 640px) {
  .ore-db-header { padding: 20px; }
  .ore-db-header h2 { font-size: 18px; }
  .ore-db-header-btns { width: 100%; flex-direction: column; }
  .ore-db-btn { width: 100%; text-align: center; }
  
  .ore-db-stats { grid-template-columns: repeat(2, 1fr); display: grid !important; }
  .ore-db-stat { min-width: 0; padding: 12px; }
  .ore-db-stat-num { font-size: 20px; }
  
  .ore-db-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding: 6px; }
  .ore-db-tab { padding: 8px 14px; font-size: 12px; }

  .ore-booking-card { flex-direction: column; padding: 16px; }
  .ore-booking-right { text-align: left; width: 100%; border-top: 1px solid #E8EDF2; padding-top: 12px; margin-top: 4px; }
  .ore-booking-view { width: 100%; text-align: center; }

  .ore-trip-result-card { flex-direction: column; align-items: flex-start; }
  .ore-trip-result-right { text-align: left; width: 100%; border-top: 1px solid #E8EDF2; padding-top: 12px; }
  .ore-enquire-btn { width: 100%; text-align: center; }

  .ore-modal { padding: 20px; width: 95%; }
}

/* Fix for broken desktop layout (if any) */
.ore-db-stats { display: flex; gap: 12px; flex-wrap: wrap; }
@media (min-width: 641px) {
  .ore-db-stat { flex: 1; }
}