/* DMSans (Safari-friendly) */
@font-face{
  font-family:'DMSans';
src:url('../fonts/DMSans-Regular.woff2') format('woff2'),
     url('../fonts/DMSans-Regular.woff') format('woff'),
     url('../fonts/DMSans-Regular.ttf') format('truetype');
  font-weight:400; font-style:normal; font-display:swap;
}

*{ box-sizing:border-box; }

body{
  font-family:'DMSans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  margin:0; padding:20px; background:#f8f9fa; color:#222;
}

/* Header (matches other pages) */
.header{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 20px; background:#fff; border-radius:15px;
  box-shadow:0 2px 5px rgba(0,0,0,.1); margin-bottom:16px;
}
.header h1{ margin:0; font-size:1.5rem; }
.button-group{ display:flex; gap:10px; flex-wrap:wrap; }
.button-group > *:not(:last-child){ margin-right:10px; } /* safari fallback */

/* Cards */
.card{
  background:#fff; border:1px solid #e5e5e5; border-radius:15px; padding:16px;
  box-shadow:0 2px 5px rgba(0,0,0,.06); margin-top:16px;
}
.card-head{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.card-head h2{ margin:0; }
.hint{ color:#666; font-size:.95rem; }

/* Buttons (unified system) */
button{
  border:0; padding:10px 16px; border-radius:25px; cursor:pointer;
  font:600 16px 'DMSans',sans-serif;
  transition:background-color .2s ease, transform .1s ease;
  -webkit-backface-visibility:hidden; transform:translate3d(0,0,0);
}
button:hover{ transform:translateY(-2px); }

.add-btn, .confirm-btn, .action-btn{ background:#3675bc; color:#fff; }
.add-btn:hover, .confirm-btn:hover, .action-btn:hover{ background:#285c94; }

.edit-btn{ background:#f0ad4e; color:#fff; }
.edit-btn:hover{ background:#d9891e; }

.delete-btn{ background:#dc3545; color:#fff; }
.delete-btn:hover{ background:#b52a37; }

.secondary, .cancel-btn{ background:#6c757d; color:#fff; }
.secondary:hover, .cancel-btn:hover{ background:#545b62; }

.btnbar{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.btnbar > *:not(:last-child){ margin-right:10px; } /* safari fallback */
button.disabled{ opacity:.6; cursor:not-allowed; }

/* Tent Hours Layout */
.days-hours{ display:flex; flex-direction:column; gap:14px; }
.empty-note{ color:#666; font-style:italic; }

.day-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:12px; border:1px solid #eee; border-radius:12px; background:#fafafa;
}
.day-left{ min-width:220px; display:flex; align-items:center; gap:12px; }
.day-title{ font-weight:700; }

.closed-toggle{
  display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #e5e5e5;
  padding:6px 10px; border-radius:20px;
}
.closed-toggle input[type="checkbox"]{
  width:18px; height:18px; cursor:pointer;
}

.day-right{ flex:1; display:flex; flex-direction:column; gap:10px; }
.slots-wrap{ display:flex; flex-direction:column; gap:8px; }

.slot-row{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:8px;
}
.slot-row label{
  font-weight:600; font-size:14px; display:flex; align-items:center; gap:6px;
}
.slot-row input[type="time"]{
  padding:8px 10px; border:1px solid #ccc; border-radius:8px; font:14px 'DMSans',sans-serif; cursor:pointer;
}
.slot-row .slot-del{ padding:8px 12px; }

/* Booths List (similar to seminar cards) */
.booth-list{ display:flex; flex-direction:column; gap:12px; margin-top:10px; }

.booth-card{
  display:flex; gap:14px; align-items:stretch;
  background:#fff; border:1px solid #e5e5e5; border-radius:15px; padding:12px;
  box-shadow:0 2px 5px rgba(0,0,0,.06);
}
.booth-left{ width:220px; min-width:220px; }
.booth-img{
  width:100%; height:120px; object-fit:cover; border-radius:10px; display:block; cursor:pointer;
}
.booth-right{ flex:1; display:flex; flex-direction:column; gap:10px; }

.booth-title{
  width:100%; padding:10px; border:1px solid #ccc; border-radius:8px; font-size:16px; font-weight:700;
}
.booth-desc{
  width:100%; min-height:80px; padding:10px; border:1px solid #ccc; border-radius:8px; font-size:15px; resize:vertical;
}

/* Accessible focus */
:focus-visible{
  outline:2px solid rgba(54,117,188,.6);
  outline-offset:2px;
}

/* Mobile tweaks */
@media (max-width:720px){
  .day-left{ min-width:auto; }
  .booth-left{ width:100%; min-width:0; }
  .booth-card{ flex-direction:column; }
  .booth-img{ height:180px; }
}
  
  /* Put space between Tent Hours section and the next header */
.card + .header {
  margin-top: 24px;  /* adjust value to taste */
}