/* ============================================================
   WC Ad Space – Public Styles
   ============================================================ */
:root {
  --wcas-primary:   #0073bd;
  --wcas-green:     #00a352;
  --wcas-red:       #d63638;
  --wcas-amber:     #dba617;
  --wcas-gray-100:  #f8f9fa;
  --wcas-gray-200:  #e9ecef;
  --wcas-gray-600:  #6c757d;
  --wcas-radius:    8px;
}

/* Ad wrapper */
.wcas-ad { display:inline-block; position:relative; line-height:0; }
.wcas-ad-label {
  position:absolute; bottom:2px; right:4px;
  font-size:9px; color:#fff; background:rgba(0,0,0,.45);
  padding:1px 4px; border-radius:2px; line-height:1.4;
  pointer-events:none;
}
.wcas-ad img, .wcas-ad video { display:block; max-width:100%; height:auto; }

/* ---- My Ads Dashboard ---- */
.wcas-dashboard { font-family: inherit; }
.wcas-dashboard h2 { margin-bottom:1.5em; }

.wcas-ad-card {
  background:#fff;
  border:1px solid var(--wcas-gray-200);
  border-radius:var(--wcas-radius);
  padding:1.5em;
  margin-bottom:1.5em;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}

.wcas-ad-card__header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1em;
  margin-bottom:1em;
}
.wcas-ad-card__header h3 { margin:0 0 .4em; }

/* Badges */
.wcas-badge {
  display:inline-block;
  font-size:.75em;
  font-weight:600;
  padding:.2em .6em;
  border-radius:20px;
  text-transform:capitalize;
  margin-right:.4em;
}
.wcas-badge--pending  { background:#fff3cd; color:#856404; }
.wcas-badge--review   { background:#cfe2ff; color:#084298; }
.wcas-badge--approved { background:#d1e7dd; color:#0a3622; }
.wcas-badge--rejected { background:#f8d7da; color:#842029; }

.wcas-slot-tag {
  font-size:.8em;
  color:var(--wcas-gray-600);
  background:var(--wcas-gray-100);
  padding:.2em .5em;
  border-radius:4px;
}

/* Upload section */
.wcas-upload-section { margin-top:1em; padding-top:1em; border-top:1px solid var(--wcas-gray-200); }
.wcas-upload-section h4 { margin:0 0 .75em; }
.wcas-notice { padding:.75em 1em; border-radius:var(--wcas-radius); margin-bottom:1em; font-size:.9em; }
.wcas-notice--info { background:#e8f4fd; border-left:4px solid var(--wcas-primary); }

.wcas-form-row { margin-bottom:1em; }
.wcas-form-row label { display:block; font-weight:600; font-size:.875em; margin-bottom:.3em; }
.wcas-form-row input[type=text],
.wcas-form-row input[type=url] {
  width:100%;
  padding:.5em .75em;
  border:1px solid var(--wcas-gray-200);
  border-radius:6px;
  font-size:.95em;
  box-sizing:border-box;
}
.wcas-form-row input:focus { outline:2px solid var(--wcas-primary); border-color:transparent; }

.wcas-checkbox-row { display:flex; align-items:flex-start; gap:.5em; font-size:.85em; font-weight:500; cursor:pointer; }
.wcas-checkbox-row input[type=checkbox] { margin-top:.2em; flex-shrink:0; }

/* Dropzone */
.wcas-dropzone {
  border:2px dashed var(--wcas-gray-200);
  border-radius:var(--wcas-radius);
  cursor:pointer;
  transition:border-color .2s, background .2s;
  position:relative;
}
.wcas-dropzone.dragging,
.wcas-dropzone:hover { border-color:var(--wcas-primary); background:rgba(0,115,189,.04); }
.wcas-dropzone__inner {
  display:flex; flex-direction:column; align-items:center;
  padding:2em; text-align:center; color:var(--wcas-gray-600);
}
.wcas-dropzone__inner svg { opacity:.4; margin-bottom:.5em; }
.wcas-dropzone__inner p { margin:.2em 0; }
.wcas-hint { font-size:.8em; }
.wcas-file-input {
  position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; z-index:2;
}
.wcas-upload-preview { margin-top:.5em; min-height:0; }
.wcas-upload-preview img { border-radius:4px; max-width:100%; }

/* Buttons */
.wcas-btn {
  display:inline-flex; align-items:center; gap:.4em;
  padding:.55em 1.2em;
  border:none; border-radius:6px;
  font-size:.9em; font-weight:600;
  cursor:pointer;
  transition:filter .15s;
}
.wcas-btn:hover { filter:brightness(.92); }
.wcas-btn--primary { background:var(--wcas-primary); color:#fff; }

/* Upload status */
.wcas-upload-status { margin-top:.75em; font-size:.875em; font-weight:500; }
.wcas-upload-status.success { color:var(--wcas-green); }
.wcas-upload-status.error   { color:var(--wcas-red); }

/* Analytics panel */
.wcas-analytics-panel { margin-top:1.25em; padding-top:1.25em; border-top:1px solid var(--wcas-gray-200); }
.wcas-analytics-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1em; }
.wcas-analytics-header h4 { margin:0; }

.wcas-period-tabs { display:flex; gap:.25em; }
.wcas-period-btn {
  padding:.3em .7em; border:1px solid var(--wcas-gray-200);
  background:#fff; border-radius:4px; cursor:pointer; font-size:.8em; font-weight:600;
  color:var(--wcas-gray-600); transition:all .15s;
}
.wcas-period-btn.active,
.wcas-period-btn:hover { background:var(--wcas-primary); color:#fff; border-color:var(--wcas-primary); }

.wcas-kpi-row { display:flex; gap:1.5em; margin-bottom:1.25em; flex-wrap:wrap; }
.wcas-kpi { display:flex; flex-direction:column; align-items:center; min-width:80px; }
.wcas-kpi__num { font-size:1.75em; font-weight:700; line-height:1; color:#1d1d1d; }
.wcas-kpi__label { font-size:.75em; color:var(--wcas-gray-600); margin-top:.2em; }

.wcas-dates { margin-top:1em; font-size:.85em; color:var(--wcas-gray-600); }

/* ---- Booking Calendar (product page) ---- */
.wcas-booking {
  border:1px solid var(--wcas-gray-200);
  border-radius:var(--wcas-radius);
  padding:1.25em;
  margin-bottom:1.5em;
  background:#fff;
  max-width:380px;
}
.wcas-booking-header { margin-bottom:.9em; }
.wcas-booking-title { margin:0 0 .25em; font-size:1em; }
.wcas-booking-hint { margin:0; font-size:.82em; color:var(--wcas-gray-600); }

.wcas-cal-nav {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:.6em;
}
.wcas-cal-prev, .wcas-cal-next {
  border:1px solid var(--wcas-gray-200); background:#fff; border-radius:6px;
  width:28px; height:28px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--wcas-gray-600); transition:all .15s;
}
.wcas-cal-prev:hover, .wcas-cal-next:hover { background:var(--wcas-primary); color:#fff; border-color:var(--wcas-primary); }
.wcas-cal-prev:disabled, .wcas-cal-next:disabled { opacity:.3; cursor:not-allowed; }
.wcas-cal-prev:disabled:hover, .wcas-cal-next:disabled:hover { background:#fff; color:var(--wcas-gray-600); border-color:var(--wcas-gray-200); }
.wcas-cal-label { font-weight:700; font-size:.92em; }

.wcas-cal-weekdays {
  display:grid; grid-template-columns:repeat(7,1fr);
  text-align:center; font-size:.72em; font-weight:600; color:var(--wcas-gray-600);
  margin-bottom:.3em;
}

.wcas-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.wcas-cal-cell {
  aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  font-size:.82em; border-radius:6px; cursor:pointer; user-select:none;
  background:var(--wcas-gray-100); color:#1d1d1d; transition:all .12s;
  border:1.5px solid transparent;
}
.wcas-cal-cell.wcas-cal-empty { background:transparent; cursor:default; }
.wcas-cal-cell.wcas-cal-disabled { background:transparent; color:#d3d3d3; cursor:not-allowed; }
.wcas-cal-cell.wcas-cal-unavailable {
  background:repeating-linear-gradient(45deg, var(--wcas-gray-200), var(--wcas-gray-200) 4px, #fff 4px, #fff 8px);
  color:#b3b3b3; cursor:not-allowed; text-decoration:line-through;
}
.wcas-cal-cell.wcas-cal-available:hover { border-color:var(--wcas-primary); background:rgba(0,115,189,.08); }
.wcas-cal-cell.wcas-cal-today { border-color:var(--wcas-gray-600); font-weight:700; }
.wcas-cal-cell.wcas-cal-selected {
  background:var(--wcas-primary); color:#fff; border-color:var(--wcas-primary); font-weight:700;
}

.wcas-cal-legend { display:flex; gap:1.1em; margin-top:.75em; font-size:.78em; color:var(--wcas-gray-600); flex-wrap:wrap; }
.wcas-cal-legend-item { display:flex; align-items:center; gap:.35em; }
.wcas-dot { width:9px; height:9px; border-radius:50%; display:inline-block; }
.wcas-dot-available   { background:var(--wcas-gray-100); border:1.5px solid var(--wcas-gray-200); }
.wcas-dot-selected     { background:var(--wcas-primary); }
.wcas-dot-unavailable  { background:var(--wcas-gray-200); }

.wcas-booking-summary {
  margin-top:1em; padding:.7em .9em; border-radius:6px;
  background:var(--wcas-gray-100); font-size:.85em; font-weight:600; color:#1d1d1d;
}
.wcas-booking-summary.wcas-has-selection { background:#e8f4fd; color:var(--wcas-primary); }
