
.saeson-calendar{
  background:#fff;
  border:1px solid #ddd;
  max-width:100%;
  margin:1em auto;
  color:#111;
  font-family:inherit;
}
.saeson-header{
  text-align:center;
  font-size:1.3em;
  font-weight:bold;
  padding:.5em 0;
}
.saeson-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  background:#f5f5f5;
  border-bottom:1px solid #ddd;
}
.saeson-weekdays>div{
  padding:.25em;
  text-align:center;
  font-weight:bold;
}
.saeson-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
}
.saeson-cell{
  min-height:60px;
  padding:.5em;
  text-align:right;
  border:1px solid #eee;
  box-sizing:border-box;
  position:relative;
}
.saeson-cell.empty{
  background:#fafafa;
  border:none;
}
.saeson-cell.has-event{
  background:#e8f5ff;
  cursor:pointer;
}
.saeson-cell.has-event:hover{
  background:#d1ecff;
}
.saeson-cell.has-event::after{
  content:"•";
  position:absolute;
  left:4px;
  top:4px;
  font-size:1em;
  color:#0073aa;
}

/* 2.7.5 – bredde-fix */
.saeson-calendar{min-width:420px; display:inline-block;}
.saeson-calendar-wrapper{text-align:center;}

/* 2.7.6 – margin + nav */
.saeson-calendar-wrapper{padding:0 20px; text-align:center;}
.saeson-nav{margin:0 12px; text-decoration:none; font-weight:bold; color:#0073aa;}
.saeson-nav:hover{color:#005177;}

/* 2.7.7 – width + arrow box*/
.saeson-calendar{min-width:490px;}
.saeson-nav{display:inline-block;background:#e8f5ff;border:1px solid #0073aa;padding:2px 6px;border-radius:3px;}
.saeson-nav:hover{background:#d1ecff;}

/* 2.7.8 – header fix & width */
.saeson-calendar{min-width:560px;}

/* 2.7.9 – fjernede gamle nav-variabler (PHP notices) */

/* 2.7.15 – modal */
.saeson-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;
}
.saeson-modal{
  background:#fff;border-radius:8px;max-width:500px;width:90%;padding:1em;position:relative;
}
.saeson-modal .saeson-close{
  position:absolute;top:8px;right:10px;border:0;background:none;font-size:1.5em;cursor:pointer;
}
.saeson-modal img.saeson-img{
  max-width:100%;height:auto;margin:0.5em 0;
}

/* 2.7.16 – dark modal design */
.saeson-overlay{
  background: rgba(0,0,0,0.8);
}
.saeson-modal{
  background:#000;
  color:#fff;
}
.saeson-modal h2{
  color:#28a745; /* grøn overskrift */
  margin-top:0;
}
.saeson-modal .saeson-close{
  color:#fff;
}
a.saeson-link{
  color:#28a745;
}

/* 2.7.17 – shrink image */
.saeson-modal img.saeson-img{
  max-width:100%;
  height:auto;
  max-height:230px;
  display:block;
  margin:0.5em auto;
}

/* 2.8.4 Event list */
.saeson-event-list{display:grid;gap:1.2rem;margin:1.5rem auto;max-width:800px;padding:0 1rem;}
.saeson-event-card{display:flex;background:#111;color:#fff;border:1px solid #333;border-radius:8px;overflow:hidden;}
.saeson-event-date{background:#28a745;color:#fff;padding:0.8rem 1rem;text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:70px;}
.saeson-event-date .day{font-size:1.5rem;font-weight:bold;line-height:1;}
.saeson-event-date .month{text-transform:uppercase;font-size:0.9rem;letter-spacing:1px;}
.saeson-event-info{flex:1;padding:0.8rem 1rem;}
.saeson-event-title{margin:0 0 0.4rem;font-size:1.2rem;color:#28a745;}
.saeson-event-meta{font-size:0.9rem;margin:0 0 0.6rem;color:#ccc;}
.saeson-event-meta .time{margin-right:0.8rem;}
.saeson-event-desc{margin:0 0 0.6rem;}
.saeson-link{color:#28a745;}

/* 2.8.7 image thumb + label */
.saeson-event-image{
  max-width:120px;
  height:auto;
  float:right;
  margin-left:1rem;
  border-radius:6px;
}

/* 2.8.8 image tweaks */
.saeson-event-image{
  max-width:70px;
  height:auto;
  float:right;
  margin-left:0.8rem;
}

/* 2.8.9 thumbnail tighter */
.saeson-event-card{align-items:flex-start;}
.saeson-event-image{
  max-width:90px;
  max-height:90px;
  object-fit:cover;
  float:right;
  margin-left:0.8rem;
}

/* 2.8.10 thumbnail 125px */
.saeson-event-image{
  max-width:125px;
  max-height:125px;
}

/* 2.8.11 image top-right overlay */
.saeson-event-info{position:relative;padding-right:140px;}
.saeson-event-image{
  position:absolute;
  top:0;
  right:0;
  width:125px;
  height:125px;
  object-fit:cover;
  margin:0;
}

/* 2.8.12 – 150x150 thumbnail */
.saeson-event-info{
  position:relative;
  padding-right:170px; /* 150 + 20px space */
}
.saeson-event-image{
  position:absolute;
  top:0;
  right:0;
  width:150px;
  height:150px;
  object-fit:cover;
  margin:0;
}

/* 2.8.13 – mobile responsive tweaks */
@media (max-width: 600px){
  .saeson-calendar-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .saeson-calendar{min-width:unset;}
  .saeson-cell{min-height:48px;font-size:.9rem;padding:.35em;}
  .saeson-modal{width:95%;max-width:420px;}
  .saeson-event-list{grid-template-columns:1fr;gap:.8rem;}
  .saeson-event-card{flex-direction:column;}
  .saeson-event-date{flex-direction:row;justify-content:flex-start;min-width:auto;padding:.6rem .8rem;}
  .saeson-event-date .day{font-size:1.2rem;margin-right:.4rem;}
  .saeson-event-info{padding:0.8rem;padding-right:0.8rem;}
  .saeson-event-image{position:static;width:100%;height:auto;max-width:100%;margin:.6rem 0 0;}
}
