/* Refined desktop calendar layout. Mobile keeps the compact single-column view. */
.regular-actions{padding-top:10px}
.events-header .events-back-button{display:grid;place-items:center;padding:0;line-height:1;cursor:pointer!important}
.events-header .events-back-button svg,.events-header .events-back-button svg *{display:block;cursor:pointer!important;pointer-events:none}
.events-header .events-back-button svg{width:23px;height:23px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.events-header .events-back-button:hover{background:#f3e9e2}
@media (min-width:701px){
  .events-shell{width:min(1380px,calc(100% - 64px));padding-top:42px}
  .events-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(340px,1fr);gap:22px;align-items:start;margin-top:34px}
  .events-layout .calendar-panel,.events-layout .event-results{margin-top:0}
  .calendar-panel{padding:28px;border-radius:26px;box-shadow:0 16px 44px rgba(88,57,37,.06)}
  .calendar-head{grid-template-columns:1fr auto 1fr;gap:18px;margin-bottom:6px}
  .calendar-head h2{min-width:190px;margin:0;font-size:25px;letter-spacing:-.04em}
  .calendar-head button{width:42px;height:42px;border-radius:50%;background:#fbf7f3;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
  .calendar-head button:first-child{justify-self:end}
  .calendar-head button:last-child{justify-self:start}
  .calendar-head button:hover{background:#f2e6dc;box-shadow:0 7px 18px rgba(91,57,35,.12);transform:translateY(-1px)}
  .calendar-week{gap:6px;margin:20px 0 7px}
  .calendar-week span{padding:4px 0;color:#8e8178;font-size:12px;letter-spacing:.08em}
  .calendar-week span:first-child{color:#b46c61}.calendar-week span:last-child{color:#7d654f}
  .calendar-grid{gap:6px}
  .calendar-grid button{min-height:76px;padding:10px;border-color:#eee6e0;border-radius:13px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
  .calendar-grid button:hover:not(.other){z-index:1;border-color:#cfa98d;background:#fffaf6;box-shadow:0 8px 20px rgba(91,57,35,.10);transform:translateY(-2px)}
  .calendar-grid button b{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;font-size:14px}
  .calendar-grid button:nth-child(7n+1):not(.other) b{color:#b45b52}
  .calendar-grid button:nth-child(7n):not(.other) b{color:#735947}
  .calendar-grid button.today{border-color:transparent}
  .calendar-grid button.today b{background:var(--brown);color:#fff!important;box-shadow:0 5px 13px rgba(154,103,65,.25)}
  .calendar-grid button.active{border-color:#b77b50;background:#fff7f0;box-shadow:inset 0 0 0 1px #b77b50}
  .calendar-grid button.active:not(.today) b{color:var(--brown)}
  .calendar-grid button.other{border-color:#f4efeb;background:#fdfbf9;opacity:.48}
  .calendar-grid button i{right:9px;bottom:9px;display:inline-flex;align-items:center;gap:3px;min-width:0;padding:5px 8px;background:#f2e5da;color:#8f5d3c;font-size:10px;font-weight:800}
  .calendar-grid button i span{font-weight:700}
  .event-results{position:sticky;top:18px;min-height:590px;max-height:calc(100vh - 36px);overflow:auto;padding:24px 20px;border-radius:26px;box-shadow:0 16px 44px rgba(88,57,37,.06);scrollbar-width:thin;scrollbar-color:#d8c5b7 transparent}
  .results-head{display:grid;gap:16px;align-items:start}
  .results-head h2{font-size:23px;letter-spacing:-.04em}
  .results-head p{font-size:13px}
  .results-head label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;font-size:12px;color:#7d6a5d}
  .results-head select{width:100%;height:40px}
  .event-list{grid-template-columns:1fr;gap:11px;margin-top:16px}
  .regular-card{border-radius:15px;box-shadow:0 6px 18px rgba(88,57,37,.045)}
  .regular-card>a{grid-template-columns:88px minmax(0,1fr)}
  .regular-image{min-height:118px}
  .regular-body{min-width:0;padding:12px}
  .regular-body h3{margin:5px 0;font-size:16px}
  .regular-body p{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
  .regular-meta{margin-top:9px;font-size:11px}
  .regular-actions{padding:9px 12px 12px}
  .regular-actions button{min-height:32px;padding:0 10px;font-size:11px}
  .empty{padding:82px 18px;border:1px dashed #dfcfc3;border-radius:16px;background:#fdfaf7;line-height:1.7}
}
@media (max-width:700px){
  .events-layout{display:block;margin:0}
  .calendar-grid button i span,.calendar-grid button i em{display:none}
}

/* Desktop: centered dates and compact event indicators. */
@media (min-width:701px){
  .calendar-grid button{display:grid;place-items:center;padding:8px;text-align:center}
  .calendar-grid button b{margin:0}
  .calendar-grid button i{position:absolute;right:auto;bottom:9px;left:50%;display:flex;min-width:0;align-items:center;gap:4px;padding:0;border-radius:0;background:transparent;color:var(--brown);font-size:10px;line-height:1;transform:translateX(-50%);pointer-events:none}
  .calendar-grid button i .calendar-event-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--brown);box-shadow:0 2px 5px rgba(154,103,65,.25)}
  .calendar-grid button i em{font-size:10px;font-style:normal;font-weight:900}
  .regular-actions button:not(:disabled){cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
  .regular-actions button:not(:disabled):hover{border-color:#b77b50;background:#fff6ef;color:#7e4f31;transform:translateY(-1px)}
  .regular-actions .like:not(:disabled):hover{border-color:#c76763;background:#fff1f0;color:#ad4542}
  .regular-actions button:disabled{cursor:default}
}

/* Requested desktop typography scale. */
@media (min-width:701px){
  .events-hero>span{font-size:14px;font-weight:900}
  .events-hero h1{font-size:36px;font-weight:700}
  .events-hero p{font-size:16px;font-weight:400}
  .calendar-head h2{font-size:25px;font-weight:700}
  .calendar-head button{font-size:26px;font-weight:400}
  .calendar-week span{font-size:15px;font-weight:800}
  .calendar-grid button b{font-size:15px;font-weight:700}
  .calendar-grid button i em{font-size:14px;font-weight:900}
  .results-head h2{font-size:23px;font-weight:700}
  .results-head p{font-size:15px;font-weight:400}
  .results-head label{font-size:14px;font-weight:800}
  .results-head select{font-size:16px;font-weight:400}
  .regular-body small{font-size:14px;font-weight:400}
  .regular-body h3{font-size:16px;font-weight:700}
  .regular-body p{font-size:14px;font-weight:400}
  .regular-meta{font-size:13px;font-weight:800}
  .regular-actions button{font-size:13px;font-weight:800}
  .empty{font-size:16px;font-weight:400}
}
