/* JPC Guru Time Search - Styles (no transitions/animations) */
:root{
  --gold:#A58220;
  --bg:#F9F3E0;
  --deep:#4B633F;
  --text:#1b1b1b;
  --muted:#7A7A7A;
  --card:#FFF6DE;
  --border:#d7c7a1;
}
.jpc-guru-search, .jpc-guru-results{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
}
.jpc-row{margin:16px 0;}
.jpc-section-title{
  font-size:28px; font-weight:700;
}
.jpc-subtitle{font-size:24px; font-weight:700; margin-bottom:8px;}
.jpc-days{display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap;}
.jpc-day, .jpc-cal{
  border:2px solid var(--gold); background:#fff; border-radius:16px; padding:12px 18px; min-width:140px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer;
  text-align:center;
}
.jpc-day .jpc-day-top{font-size:24px; font-weight:700; color:var(--gold);}
.jpc-day .jpc-day-bottom{font-size:22px; color:var(--gold);}
.jpc-day.active{background:var(--gold); color:#fff;}
.jpc-day.active .jpc-day-top, .jpc-day.active .jpc-day-bottom{color:#fff;}

.jpc-cal{width:88px; padding:8px 10px; gap:4px;}
.jpc-cal-icon{font-size:28px; line-height:1;}
.jpc-cal-month{font-size:18px; color:var(--gold); font-weight:700;}

.jpc-hidden{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.jpc-dropdown{max-width:720px; border:2px solid var(--gold); border-radius:16px;}
.jpc-dd-header{width:100%; background:#fff; border:none; padding:18px; display:flex; align-items:center; justify-content:space-between; font-size:28px; font-weight:700; color:var(--gold); cursor:pointer;}
.jpc-dd-panel{display:none; padding:16px;}
.jpc-dropdown[data-open="1"] .jpc-dd-panel{display:block;}
.jpc-time-group{margin-bottom:14px;}
.jpc-time-title{font-size:28px; font-weight:800; margin-bottom:8px; color:var(--text);}
.jpc-time-grid{display:flex; gap:16px; flex-wrap:wrap;}
.jpc-time-btn{
  border:2px solid var(--gold); background:#fff; color:var(--gold);
  border-radius:12px; padding:0px !important; font-size:16px !important;; cursor:pointer; width: 100%; line-height: normal;
}

.jpc-submit{
  width:100%; max-width:720px; background:var(--gold); color:#fff; border:none; border-radius:12px; padding:20px;
  font-size:32px; font-weight:800; cursor:pointer;
}

/* Results - card */
.jpc-card{
  display:grid; grid-template-columns:160px 1fr 1fr; gap:24px; align-items:center;
  background:var(--card); border:2px solid var(--border); border-radius:18px; padding:20px; margin:16px 0;
}
.jpc-avatar-wrap{width:140px; height:140px; background:#e6e6e6; border-radius:12px; display:flex; align-items:center; justify-content:center;}
.jpc-avatar{width:140px; height:140px; object-fit:cover; border-radius:12px;}
.jpc-avatar.placeholder{background:#e6e6e6;}
.jpc-card-title{font-size:36px; font-weight:800;}
.jpc-card-rating{color:var(--gold); font-weight:700; margin:10px 0;}
.jpc-star{font-size:20px; margin-right:6px;}
.jpc-profile-btn{display:inline-block; background:var(--deep); color:#fff; text-decoration:none; padding:16px 22px; border-radius:12px; font-size:26px; font-weight:800;}
.jpc-right-title{font-size:24px; font-weight:800; color:#2b2b2b; margin-bottom:8px;}
.jpc-times{display:flex; gap:14px; flex-wrap:wrap;}
.jpc-time-btn{display:inline-block; text-decoration:none; border:2px solid var(--gold); border-radius:12px; padding:14px 18px; font-size:24px; color:var(--gold); background:#fff;}
.jpc-no-schedule{color:var(--muted); font-weight:600;}

@media (max-width: 980px){
  .jpc-card{grid-template-columns:120px 1fr; grid-template-rows:auto auto; }
  .jpc-card-right{grid-column:1/-1;}
  .jpc-avatar-wrap{width:110px; height:110px;}
  .jpc-avatar{width:110px; height:110px;}
  .jpc-card-title{font-size:28px;}
  .jpc-profile-btn{font-size:20px;}
  .jpc-time-btn{font-size:20px;}
}

@media (max-width: 600px){
  .jpc-day, .jpc-cal{min-width:120px;}
  .jpc-dd-header{font-size:22px;}
  .jpc-time-btn{font-size:18px; padding:12px 14px;}
  .jpc-submit{font-size:26px;}
}

/* Modal & calendar styles */
.jpc-modal{position:fixed; inset:0; background:rgba(0,0,0,.4); display:none; align-items:center; justify-content:center; padding:16px; z-index:9999;}
.jpc-modal .jpc-modal-box{background:#fff; border-radius:12px; border:2px solid var(--border); max-width:680px; width:100%; max-height:80vh; overflow:auto; padding:16px;}
.jpc-modal .jpc-modal-close{background:#eee; border:1px solid #ccc; border-radius:8px; padding:8px 12px; cursor:pointer;}
.jpc-reviews-link{background:none; border:none; color:var(--gold); font-weight:800; font-size:22px; cursor:pointer; padding:0;}
.jpc-reviews-list{display:flex; flex-direction:column; gap:12px;}
.jpc-r-head{font-weight:700;}
.jpc-r-stars{color:var(--gold);}
.jpc-r-content{margin-top:4px;}

.jpc-cal-wrap{display:flex; align-items:center; gap:12px;}
#jpc-day-picked{min-width:120px; color:var(--gold); font-weight:800;}
.jpc-cal-box{max-width:420px;}
.jpc-cal-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
.jpc-cal-title{font-weight:800;}
.jpc-cal-nav{background:#fff; border:1px solid var(--gold); border-radius:8px; padding:4px 10px; cursor:pointer;}
.jpc-cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.jpc-cal-cell{border:1px solid var(--border); padding:10px 8px; text-align:center; border-radius:8px; background:#fafafa;}
.jpc-cal-cell.disabled{opacity:.4; background:#f3f3f3;}
.jpc-cal-cell.has{border-color:var(--gold); color:var(--gold); font-weight:800;}
.jpc-cal-cell.selectable{cursor:pointer; background:#fff;}
.jpc-cal-actions{margin-top:10px; text-align:right;}


/* ===== 2.7.0 Safe Final Dropdown ===== */

.jpc-time-btn {
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: 6px;
    overflow: hidden;
}

.jpc-gts-class {
    font-size: 10pt;
    color: white;
    background: #4c6641;
    padding: 4px 2px;
    text-align: center;
}

.jpc-gts-time {
    padding: 6px 8px;
    text-align: center;
}


/* ===== JPC Guru 3.0 Professional Suite ===== */

.jpc-card .jpc-times {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: stretch;
}

.jpc-card .jpc-time-btn {
    display: flex;
    flex-direction: column;
    justify-content: end;
    text-align: center;
    border-radius: 10px;
    overflow: hidden;
    min-width: 160px;
    flex: 1 1 160px;
    transition: all 0.25s ease;
	background: #f7f7f7;
}

.jpc-card-class-title {
    font-size: 12pt;
    color: white;
    background: #4c6641;
    padding: 8px 10px;
}

.jpc-card-class-time {
    padding: 10px;
    background: #f7f7f7;
    font-size: 14pt;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.jpc-time-icon {
    font-size: 13px;
}

.jpc-card .jpc-time-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 22px rgba(0,0,0,0.15);
}
