/* ===== JC Calendar Plugin ===== */

/* Breadcrumbs */
.jc-cal-breadcrumbs{padding:20px 0;font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jc-cal-breadcrumbs a{color:var(--text-secondary);text-decoration:none;transition:color .3s}
.jc-cal-breadcrumbs a:hover{color:var(--golden)}
.jc-cal-sep{color:var(--golden-light);font-size:.7rem}

/* ===== TODAY BANNER ===== */
.jc-cal-today-banner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin-bottom:40px;
}
.jc-cal-today-card{
  border-radius:var(--radius-xl,32px);padding:40px 44px;
  position:relative;overflow:hidden;
  transition:all .4s;
}
.jc-cal-today-card:hover{transform:translateY(-3px)}
.jc-cal-today-greg{
  background:var(--warm-white,#FFFCF7);border:1px solid var(--border-soft,rgba(201,168,76,0.15));
}
.jc-cal-today-greg:hover{box-shadow:var(--shadow-hover,0 12px 48px rgba(44,36,24,0.12));border-color:var(--golden-light,#E8D5A0)}
.jc-cal-today-heb{
  background:linear-gradient(145deg,var(--deep-blue,#1B2B4B),var(--deep-blue-light,#2A3D66));
  color:#fff;border:none;
}
.jc-cal-today-heb:hover{box-shadow:0 12px 48px rgba(27,43,75,0.25)}
.jc-cal-today-heb::before{
  content:'\2721';position:absolute;bottom:-30px;right:-10px;
  font-size:10rem;opacity:.04;color:var(--golden,#C9A84C);
}
.jc-cal-today-heb::after{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a84c' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events:none;
}
.jc-cal-today-label{
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:12px;position:relative;z-index:1;
}
.jc-cal-today-greg .jc-cal-today-label{color:var(--golden,#C9A84C)}
.jc-cal-today-heb .jc-cal-today-label{color:var(--golden-light,#E8D5A0)}
.jc-cal-today-day{
  font-family:'Playfair Display',serif;font-size:3.8rem;font-weight:800;
  line-height:1;margin-bottom:6px;position:relative;z-index:1;
}
.jc-cal-today-greg .jc-cal-today-day{color:var(--deep-blue,#1B2B4B)}
.jc-cal-today-heb .jc-cal-today-day{color:var(--golden,#C9A84C)}
.jc-cal-today-monthyear{
  font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600;
  position:relative;z-index:1;
}
.jc-cal-today-greg .jc-cal-today-monthyear{color:var(--text-secondary,#6B5D4F)}
.jc-cal-today-heb .jc-cal-today-monthyear{color:rgba(255,255,255,0.75)}
.jc-cal-today-weekday{
  font-size:.88rem;margin-top:10px;position:relative;z-index:1;
}
.jc-cal-today-greg .jc-cal-today-weekday{color:var(--text-muted,#9B8E7E)}
.jc-cal-today-heb .jc-cal-today-weekday{color:rgba(255,255,255,0.5)}
.jc-cal-today-parasha{
  margin-top:14px;padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.1);
  font-size:.85rem;color:rgba(255,255,255,0.6);
  position:relative;z-index:1;
}
.jc-cal-today-parasha strong{color:var(--golden-light,#E8D5A0);font-weight:700}

/* ===== CONVERTER ===== */
.jc-cal-converter-section{margin-bottom:48px}
.jc-cal-section-title{
  font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;
  color:var(--deep-blue,#1B2B4B);display:flex;align-items:center;gap:12px;margin-bottom:28px;
}
.jc-cal-section-title::before{
  content:'';width:4px;height:26px;
  background:linear-gradient(to bottom,var(--golden,#C9A84C),var(--golden-light,#E8D5A0));border-radius:2px;
}
.jc-cal-converter-box{
  background:var(--warm-white,#FFFCF7);border:1px solid var(--border-soft,rgba(201,168,76,0.15));
  border-radius:var(--radius-xl,32px);padding:40px;
}
.jc-cal-converter-tabs{
  display:flex;gap:6px;margin-bottom:32px;
  background:var(--sand,#F5EDE0);border-radius:var(--radius-sm,12px);padding:5px;
  width:fit-content;
}
.jc-cal-tab{
  padding:10px 28px;border-radius:10px;font-size:.88rem;font-weight:700;
  cursor:pointer;transition:all .3s;border:none;
  font-family:'Nunito Sans',sans-serif;color:var(--text-secondary,#6B5D4F);background:transparent;
}
.jc-cal-tab.active{
  background:var(--golden,#C9A84C);color:var(--deep-blue,#1B2B4B);box-shadow:0 4px 14px rgba(201,168,76,0.3);
}
.jc-cal-tab:hover:not(.active){color:var(--deep-blue,#1B2B4B)}

.jc-cal-panel{display:none}
.jc-cal-panel.active{display:block}

.jc-cal-conv-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:end}
.jc-cal-conv-arrow{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,var(--golden,#C9A84C),var(--golden-light,#E8D5A0));
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:var(--deep-blue,#1B2B4B);
  box-shadow:0 4px 16px rgba(201,168,76,0.25);
  margin-bottom:6px;
}
.jc-cal-conv-group{display:flex;flex-direction:column;gap:10px}
.jc-cal-conv-label{font-size:.82rem;font-weight:700;color:var(--text-secondary,#6B5D4F);letter-spacing:.3px}
.jc-cal-conv-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.jc-cal-input,.jc-cal-select{
  width:100%;padding:14px 18px;
  border:1.5px solid var(--border-soft,rgba(201,168,76,0.15));border-radius:var(--radius-sm,12px);
  background:var(--cream,#FDF8F0);font-family:'Nunito Sans',sans-serif;
  font-size:.92rem;color:var(--text-primary,#2C2418);outline:none;transition:all .3s;
}
.jc-cal-input:focus,.jc-cal-select:focus{
  border-color:var(--golden,#C9A84C);background:var(--warm-white,#FFFCF7);box-shadow:0 0 0 4px rgba(201,168,76,0.1);
}
.jc-cal-select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239B8E7E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
.jc-cal-btn{
  padding:14px 36px;background:linear-gradient(135deg,var(--golden,#C9A84C),var(--golden-hover,#B8953E));
  color:var(--deep-blue,#1B2B4B);border:none;border-radius:var(--radius-sm,12px);
  font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:.92rem;
  cursor:pointer;transition:all .3s;letter-spacing:.3px;
  margin-top:10px;position:relative;overflow:hidden;
}
.jc-cal-btn::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left .6s;
}
.jc-cal-btn:hover::before{left:100%}
.jc-cal-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,168,76,0.35)}

/* Result */
.jc-cal-conv-result{
  margin-top:28px;padding:28px 32px;
  background:linear-gradient(135deg,var(--sand,#F5EDE0),var(--cream,#FDF8F0));
  border:1px solid var(--golden-light,#E8D5A0);
  border-radius:var(--radius-md,16px);display:none;
}
.jc-cal-conv-result.show{display:block;animation:jcFadeInUp .4s ease}
.jc-cal-conv-result-label{font-size:.78rem;font-weight:700;color:var(--golden-hover,#B8953E);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.jc-cal-conv-result-date{
  font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;
  color:var(--deep-blue,#1B2B4B);line-height:1.3;
}
.jc-cal-conv-result-extra{font-size:.88rem;color:var(--text-secondary,#6B5D4F);margin-top:6px}

/* ===== SHABBAT ===== */
.jc-cal-shabbat-card{
  background:linear-gradient(135deg,var(--sand,#F5EDE0),var(--warm-white,#FFFCF7));
  border:1px solid var(--golden-light,#E8D5A0);
  border-radius:var(--radius-lg,24px);padding:28px 36px;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;margin-bottom:48px;
}
.jc-cal-shabbat-left{display:flex;align-items:center;gap:18px}
.jc-cal-shabbat-icon{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,var(--golden,#C9A84C),var(--golden-light,#E8D5A0));
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;box-shadow:0 4px 16px rgba(201,168,76,0.25);
}
.jc-cal-shabbat-title{
  font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--deep-blue,#1B2B4B);
}
.jc-cal-shabbat-parasha{font-size:.88rem;color:var(--text-secondary,#6B5D4F)}
.jc-cal-shabbat-times{display:flex;gap:24px}
.jc-cal-shabbat-time{text-align:center}
.jc-cal-shabbat-time-label{font-size:.7rem;font-weight:700;color:var(--text-muted,#9B8E7E);text-transform:uppercase;letter-spacing:.8px}
.jc-cal-shabbat-time-val{
  font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--deep-blue,#1B2B4B);
}

/* ===== HOLIDAYS ===== */
.jc-cal-holidays-section{margin-bottom:64px}
.jc-cal-holidays-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.jc-cal-holiday-card{
  background:var(--warm-white,#FFFCF7);border:1px solid var(--border-soft,rgba(201,168,76,0.15));
  border-radius:var(--radius-lg,24px);padding:28px;
  display:flex;gap:20px;align-items:flex-start;
  transition:all .4s cubic-bezier(.23,1,.32,1);cursor:default;
  position:relative;overflow:hidden;
}
.jc-cal-holiday-card::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:4px;
  background:var(--golden-light,#E8D5A0);opacity:0;transition:opacity .3s;
}
.jc-cal-holiday-card:hover{
  transform:translateY(-3px);box-shadow:var(--shadow-hover,0 12px 48px rgba(44,36,24,0.12));border-color:var(--golden-light,#E8D5A0);
}
.jc-cal-holiday-card:hover::before{opacity:1}
.jc-cal-holiday-card.is-soon{border-left:4px solid var(--golden,#C9A84C)}
.jc-cal-holiday-card.is-soon::before{display:none}
.jc-cal-holiday-card.is-today{
  background:linear-gradient(135deg,var(--deep-blue,#1B2B4B),var(--deep-blue-light,#2A3D66));
  color:#fff;border:none;
}
.jc-cal-holiday-card.is-today::before{display:none}

.jc-cal-holiday-date-box{
  min-width:64px;text-align:center;
  background:var(--sand,#F5EDE0);padding:12px 14px;border-radius:var(--radius-sm,12px);
  transition:all .3s;
}
.jc-cal-holiday-card:hover .jc-cal-holiday-date-box{background:var(--golden-light,#E8D5A0)}
.jc-cal-holiday-card.is-today .jc-cal-holiday-date-box{background:rgba(201,168,76,0.2)}
.jc-cal-holiday-date-day{
  font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;
  line-height:1;color:var(--deep-blue,#1B2B4B);
}
.jc-cal-holiday-card.is-today .jc-cal-holiday-date-day{color:var(--golden,#C9A84C)}
.jc-cal-holiday-date-month{
  font-size:.68rem;text-transform:uppercase;letter-spacing:.8px;
  color:var(--text-muted,#9B8E7E);font-weight:600;margin-top:2px;
}
.jc-cal-holiday-card.is-today .jc-cal-holiday-date-month{color:rgba(255,255,255,0.6)}

.jc-cal-holiday-info{flex:1}
.jc-cal-holiday-name{
  font-family:'Playfair Display',serif;font-size:1.12rem;font-weight:700;
  color:var(--deep-blue,#1B2B4B);margin-bottom:4px;transition:color .3s;
}
.jc-cal-holiday-card:hover .jc-cal-holiday-name{color:var(--golden-hover,#B8953E)}
.jc-cal-holiday-card.is-today .jc-cal-holiday-name{color:#fff}
.jc-cal-holiday-name-heb{
  font-size:.88rem;color:var(--golden,#C9A84C);font-weight:600;margin-bottom:6px;
}
.jc-cal-holiday-card.is-today .jc-cal-holiday-name-heb{color:var(--golden-light,#E8D5A0)}
.jc-cal-holiday-desc{font-size:.84rem;color:var(--text-secondary,#6B5D4F);line-height:1.55}
.jc-cal-holiday-card.is-today .jc-cal-holiday-desc{color:rgba(255,255,255,0.7)}
.jc-cal-holiday-countdown{
  display:inline-block;margin-top:8px;
  font-size:.75rem;font-weight:700;
  padding:4px 12px;border-radius:16px;
}
.jc-cal-holiday-card:not(.is-today) .jc-cal-holiday-countdown{
  background:rgba(201,168,76,0.1);color:var(--golden-hover,#B8953E);
}
.jc-cal-holiday-card.is-today .jc-cal-holiday-countdown{
  background:rgba(201,168,76,0.2);color:var(--golden,#C9A84C);
}
.jc-cal-holiday-card.is-soon .jc-cal-holiday-countdown{
  background:var(--golden,#C9A84C);color:var(--deep-blue,#1B2B4B);
}

/* Animations */
@keyframes jcFadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.jc-cal-animate{animation:jcFadeInUp .6s cubic-bezier(.23,1,.32,1) forwards;opacity:0}
.jc-cal-delay-1{animation-delay:.1s}
.jc-cal-delay-2{animation-delay:.2s}

/* Responsive */
@media(max-width:1024px){
  .jc-cal-today-banner{grid-template-columns:1fr}
  .jc-cal-holidays-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .jc-cal-conv-grid{grid-template-columns:1fr;gap:16px}
  .jc-cal-conv-arrow{display:none}
  .jc-cal-conv-row{grid-template-columns:1fr}
  .jc-cal-today-card{padding:28px 24px}
  .jc-cal-today-day{font-size:2.8rem}
  .jc-cal-shabbat-card{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .jc-cal-converter-box{padding:24px}
  .jc-cal-converter-tabs{width:100%}
  .jc-cal-tab{flex:1;text-align:center;padding:10px 12px;font-size:.82rem}
}

/* ===== ADMIN PANEL ===== */
.jc-admin-tabs{display:flex;gap:0;border-bottom:2px solid #c3c4c7;margin:20px 0 0}
.jc-admin-tab{padding:10px 20px;border:1px solid transparent;border-bottom:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:#646970;border-radius:4px 4px 0 0;position:relative;bottom:-2px}
.jc-admin-tab.active{background:#fff;border-color:#c3c4c7;border-bottom-color:#fff;color:#1d2327}
.jc-admin-tab:hover:not(.active){color:#2271b1}

.jc-admin-panel{display:none;background:#fff;border:1px solid #c3c4c7;border-top:none;padding:24px;margin-bottom:20px}
.jc-admin-panel.active{display:block}
.jc-admin-panel h2{margin-top:0}

.jc-admin-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}

.jc-admin-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:100000;display:flex;align-items:center;justify-content:center}
.jc-admin-modal{background:#fff;border-radius:8px;padding:24px 28px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,0.2)}
.jc-admin-modal h3{margin-top:0;margin-bottom:16px;font-size:1.2em}

.jc-admin-status{padding:10px 16px;border-radius:4px;margin:12px 0;font-weight:600}
.jc-admin-status-ok{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.jc-admin-status-err{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.jc-admin-status-loading{background:#fff3cd;color:#856404;border:1px solid #ffeeba}

.jc-admin-last-update{background:#e8f0fe;color:#1a56db;padding:8px 14px;border-radius:4px;margin:10px 0;font-size:13px}
