
:root{
  --olive:#808000; 
  --hover-blue:#4a90e2; 
  --teal:#26bac5;
  --ink:#1f2937; 
  --muted:#6b7280; 
  --bg:#ffffff; 
  --card:#f9fafb;
  --receipt-bg:#0b1020;   /* dark blue */
  --receipt-fg:#c7e5ff;   /* light blue text */
  --receipt-radius:10px;
}

*{box-sizing:border-box}

html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}

.container{max-width:980px;margin:0 auto;padding:24px}

/* Remove the extra 24px top padding on the <main> wrapper only */
main.container { padding-top: 0; }

.header{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e5e7eb;padding:12px 0 16px}
.header img{height:36px;width:auto}
.h1{font-size:28px;margin:0}
.lead{color:var(--muted);margin:8px 0 24px;font-size:16px}

.card {
  background:var(--card);
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:20px;
  margin:16px 0;
  box-shadow: 0 6px 20px rgba(0,0,0,.06)
}

/* Normalize headings inside cards so content starts at the card padding,
   not below the browser's default h1–h4 top margins */
.card > h1,
.card > h2,
.card > h3,
.card > h4 { margin-top: 0; }
   



.card--receipt{
  --card: #f9fafb;        /* same as index.html cards */
  border-color: #e5e7eb;  /* same border as base .card */
  background-color: var(--card);
}


/* Utilities */
.mt0 { margin-top: 0; }





.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1fr 1fr}





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

label{font-size:13px;color:var(--muted);display:block;margin-bottom:6px}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;outline:none;
  box-shadow:inset 0 0 0 1px rgba(38,186,197,.0); transition:border-color .15s ease, box-shadow .15s ease;
}
input:focus,select:focus,textarea:focus{border-color:#9ca3af;box-shadow:inset 0 0 0 2px rgba(38,186,197,.5)}
textarea{min-height:120px;resize:vertical}

.checkbox{display:flex;align-items:center;gap:10px}
.checkbox input{width:18px;height:18px}

.btn{display:inline-block;border:0;border-radius:24px;padding:12px 20px;cursor:pointer;text-decoration:none}
.btn-olive{background:var(--olive);color:#000}
.btn-olive:hover{background:var(--hover-blue);color:#fff}
.btn-outline{background:#fff;border:1px solid #d1d5db;color:#111}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

.small{font-size:12px;color:var(--muted)}
.footer{margin:40px 0 16px;color:var(--muted);font-size:12px;text-align:center}

.flatpickr-calendar{z-index:999999}
.price-legend{display:flex;gap:12px;align-items:center;margin-top:8px}
.badge{display:inline-block;font-size:11px;padding:2px 6px;border-radius:6px;background:#eef2ff}
.badge.unavail{background:#fee2e2}

.price-note{font-size:12px;color:var(--muted);margin-top:6px}
.day-price{
  position:absolute; bottom:4px; right:4px; font-size:10px; padding:2px 4px;
  border-radius:4px; background:rgba(0,0,0,.06);
}


/* Only the calendar instance we mark will get these styles */

.has-price-badges .flatpickr-day {
  position: relative;       /* required so the badge anchors to the day */
  padding-bottom: 20px;     /* room for the badge below the date */
}

.has-price-badges .price-badge {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;              /* sits below the date, not on top */
  font-size: 8.5px;
  line-height: 1.1;
  padding: 0 3px;
  border-radius: 3px;
  background: #eef6ff;
/*  background: #fffb01; */
  color: #1e4fa3;
/*  color: #f70a0a; */
  pointer-events: none;     /* clicks still select the day */
  user-select: none;        /* avoid accidental text selection */
  white-space: nowrap;      /* keep prices on one line */
}

/* hide on disabled days just in case */
.has-price-badges .flatpickr-day.disabled .price-badge { display: none; }

/* Optional: a touch more room on very small screens */
@media (max-width: 480px) {
  .has-price-badges .flatpickr-day { padding-bottom: 22px; }
  .has-price-badges .price-badge { font-size: 8px; }
}

/* Receipt Block style — light blue theme */
.summary{
  white-space: pre-wrap;            /* make \n render as line breaks */
  background:var(--receipt-bg);
/*   background: #eef6ff;              light blue bg */
  color:var(--receipt-fg);
/*   color: #102a43;                   dark ink */
  border: 1px solid #b9d8ff;
  border-radius:var(--receipt-radius);
/*   border-radius: 10px;   */
  padding: 16px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  overflow: auto;
}

