/* Cyprus Decoded, events calendar restyle (events.html only), 2026-07-22.
   Loaded AFTER css/style.css, so equal-specificity rules here override the
   base .cal-* rules there. Palette: olive #7A8B5C / deep #202B1F, cream
   tints, gold #C9A961 used sparingly. Mobile: .cal-row keeps the
   repeat(7,minmax(0,1fr)) pattern from style.css so nothing overflows. */

/* ---- layout: bigger, airier ---- */
.cal-controls{max-width:1120px;margin:0 auto 26px;justify-content:center;}
.cal-grid{max-width:1120px;}
.cal-list{max-width:1120px;}

/* ---- month navigation ---- */
.cal-nav{background:#fff;border:1px solid #dfe4c2;border-radius:999px;padding:8px 16px;gap:18px;box-shadow:0 3px 14px rgba(32,43,31,.08);}
.cal-nav button{width:40px;height:40px;border:none;border-radius:50%;background:#eef0de;color:#3c452c;font-size:1.15rem;cursor:pointer;transition:background .18s ease,color .18s ease;}
.cal-nav button:hover{background:#7A8B5C;color:#fdfcf3;}
#calLabel{font-family:'Playfair Display','Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:600;color:#202B1F;min-width:240px;}

/* ---- weekday header ---- */
.cal-head{margin-bottom:10px;}
.cal-dow{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7150;padding:6px 0 2px;}

/* ---- day cells ---- */
.cal-cell{position:relative;min-height:118px;aspect-ratio:auto;border:1px solid #e7e2cf;border-radius:14px;background:#fffdf6;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:8px;}
.cal-cell.empty{border:none;background:transparent;}
.cal-cell.has-ev{background:linear-gradient(180deg,#f7f8ec,#eef1dc);border-color:#cfd7a0;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease;}
.cal-cell.has-ev:hover{box-shadow:0 8px 22px rgba(32,43,31,.18);transform:translateY(-2px);border-color:#7A8B5C;}
.cal-num{font-size:.85rem;font-weight:600;color:#6b7150;}
.cal-cell.today-cell{outline:2px solid #C9A961;outline-offset:-2px;}
.cal-cell.today-cell .cal-num{color:#a4823c;font-weight:700;}
.cal-cell.past-ev{background:#f4f3ec;border-color:#e3e1d4;}
.cal-cell.past-ev .cal-num{opacity:.55;}
.cal-cell.past-ev .cal-cell-photo{filter:grayscale(.85);opacity:.6;}

/* festival-day photo thumbnails */
.cal-cell-photo{width:100%;height:46px;object-fit:cover;border-radius:9px;display:block;margin:1px 0 2px;background:#ece4d0;}

/* ---- event chips ---- */
.cal-chip{display:block;width:100%;font-size:.7rem;line-height:1.3;font-weight:600;border:none;border-radius:7px;padding:3px 7px;background:#e3e9c8;color:#39441f;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:inherit;}
.cal-chip:hover{background:#cfd7a0;}
.cal-chip-fest{background:#7A8B5C;color:#fdfcf3;}
.cal-chip-fest:hover{background:#68794c;}
.cal-chip-music{background:#f0e2bd;color:#6f5518;}
.cal-chip-music:hover{background:#e7d5a0;}
.cal-chip-past{background:#ecebe2;color:#98978c;}
.cal-chip-past:hover{background:#e4e3d8;}
.cal-chip-more{background:transparent;color:#8b9468;font-weight:500;}
.cal-chip-more:hover{background:transparent;}

/* ---- day detail popup ---- */
.cal-pop{width:min(460px,92vw);max-height:84vh;overflow-y:auto;border-radius:18px;padding:20px 24px;background:#fffdf6;border:1px solid #e2ddc9;}
.cal-pop .cal-list-title{font-family:'Playfair Display','Cormorant Garamond',Georgia,serif;font-size:1.5rem;text-transform:none;letter-spacing:0;color:#202B1F;margin:0 0 8px;}
.cal-pop-ev{display:block;padding:16px 0 4px;border-top:1px solid #eee9d8;}
.cal-pop-ev:first-of-type{border-top:none;padding-top:6px;}
.cal-pop-photo{height:170px;border-radius:12px;}
.cal-pop-date{color:#a4823c;}
.cal-pop-title{font-family:'Playfair Display','Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.3rem;color:#202B1F;}
.cal-pop-story{display:block;font-size:.9rem;line-height:1.65;color:#4a4d40;margin-top:9px;}
.cal-pop-practical{display:block;background:#f5f6ec;border:1px solid #dfe4c2;border-radius:10px;padding:11px 13px;font-size:.85rem;line-height:1.55;color:#4a4d40;margin-top:10px;}
.cal-pop-practical strong{display:block;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#6b7150;margin-bottom:5px;}
.cal-pop-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px;align-items:center;}
.cal-pop-links .btn{padding:9px 20px;font-size:.78rem;}

/* ---- mobile: no horizontal overflow, cells stay usable ---- */
@media(max-width:760px){
  .cal-cell{min-height:84px;padding:5px;gap:2px;border-radius:10px;}
  .cal-cell-photo{height:32px;border-radius:6px;}
  .cal-chip{font-size:.58rem;padding:2px 5px;border-radius:5px;}
  .cal-num{font-size:.72rem;}
  #calLabel{font-size:1.15rem;min-width:150px;}
  .cal-nav{gap:8px;padding:6px 10px;}
  .cal-nav button{width:34px;height:34px;font-size:1rem;}
}
@media(max-width:430px){
  .cal-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px;}
  .cal-cell{min-height:66px;padding:4px 3px;}
  .cal-cell-photo{height:24px;}
  .cal-num{font-size:.66rem;}
  .cal-chip{font-size:.5rem;padding:1px 4px;}
  .cal-pop{padding:16px 16px;}
  .cal-pop-photo{height:130px;}
}
