:root{
  --lc-orange:#ff6600;
  --lc-orange-hover:#e05500;
  --lc-bg:#f9f9f9;
  --lc-text:#333;
}
body{font-family:Arial,Helvetica,sans-serif;background:var(--lc-bg);color:var(--lc-text);margin:0}
.container{max-width:860px;margin:40px auto;padding:24px;background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
h1{color:var(--lc-orange);margin:0 0 10px}
p{line-height:1.6}
.lead{font-size:1.05rem}
.highlight{background:#fff3e0;border-left:4px solid var(--lc-orange);padding:14px;border-radius:8px;margin:16px 0}
form label{display:block;margin-top:14px;font-weight:600}
input[type="text"], input[type="email"], textarea{
  width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font:inherit
}
textarea{min-height:100px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row > div{min-width:0}
.calendar-wrap{margin-top:18px}
.calendar-hint{font-size:.95rem;opacity:.9;margin:6px 0 12px}
.calendar{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.day-tile{
  border:1px solid #ddd;border-radius:12px;padding:12px;text-align:center;cursor:pointer;
  user-select:none;background:#fff;transition:box-shadow .15s, transform .02s; color:#333;
}
.day-tile.selected{outline:2px solid var(--lc-orange);box-shadow:0 0 0 3px rgba(255,102,0,.15)}
.day-tile:active{transform:translateY(1px)}
.calendar-footer{margin-top:10px;font-size:.95rem}
.count-badge{display:inline-block;background:#fff3e0;border:1px solid #ffd199;border-radius:999px;padding:4px 10px;margin-left:6px}
.slots-wrap{margin-top:14px}
.slot-row{display:flex;align-items:center;gap:10px;margin:6px 0;padding:10px 12px;border:1px dashed #ddd;border-radius:10px;background:#fff}
.slot-row label{margin:0;font-weight:600;color:#333}
.slot-row select{padding:8px 10px;border:1px solid #ccc;border-radius:8px;font:inherit;background:#fff;color:#333}
.error-msg{color:#b00020;margin-top:8px;display:none}
.flex-line{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px}
.raffle-note{display:none;color:#0b6e2e;font-weight:600}
.btn{
  margin-top:20px;padding:12px 20px;background:var(--lc-orange);color:#fff;border:none;border-radius:10px;
  cursor:pointer;font-size:16px
}
.btn:hover{background:#e05500}
.muted{font-size:.95rem;opacity:.85}
.radio-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.hidden{display:none !important}
@media (max-width:720px){
  .row{grid-template-columns:1fr}
  .calendar{grid-template-columns:repeat(3,1fr)}
}
