:root {
  --md-sys-color-primary: #cf171a;
  --md-sys-color-on-primary: #ffffff;
  --md-sys-color-primary-container: #ffdad4;
  --md-sys-color-on-primary-container: #3a0905;
  --md-sys-color-secondary: #775651;
  --md-sys-color-on-secondary: #ffffff;
  --md-sys-color-secondary-container: #ffdad4;
  --md-sys-color-on-secondary-container: #2c1512;
  --md-sys-color-surface: #fff8f6;
  --md-sys-color-on-surface: #231918;
  --md-sys-color-background: #fff8f6;
  --md-sys-color-on-background: #231918;
  --size: 18px;
  --font: Verdana, Helvetica, sans-serif;
  --active: rgb(128 128 128 / 0.192);
  --overlay: rgb(0 0 0 / 0.5);
  --elevate1: 0 0.125rem 0.125rem 0 rgb(0 0 0 / 0.32);
  --elevate2: 0 0.25rem 0.5rem 0 rgb(0 0 0 / 0.4);
  --elevate3: 0 0.375rem 0.75rem 0 rgb(0 0 0 / 0.48);
  ---round: 2rem;



  --primary: #cf171a;
  --on-primary: #fff;
  --container: #ffdad4;
  --on-primary-container: #3a0905;
  --secondary: #775651;
  --on-secondary-container: #2c1512;
  --surface: #fff8f6;
  --on-surface: #231918;
  --font-size: 18px;
  --round: 2rem;

}:root{--primary:#cf171a;--on-primary:#ffffff;--container:#ffdad4;--on-primary-container:#3a0905;--secondary:#775651;--on-secondary-container:#2c1512;--surface:#fff8f6;--on-surface:#231918;--font-size:1rem;--round:2rem;--active:rgba(128,128,128,0.192);--overlay:rgba(0,0,0,0.5);--elevate1:0 0.125rem 0.125rem 0 rgba(0,0,0,0.32);--elevate2:0 0.25rem 0.5rem 0 rgba(0,0,0,0.4);--elevate3:0 0.375rem 0.75rem 0 rgba(0,0,0,0.48);}
html{box-sizing:border-box;scroll-behavior:smooth;overflow-y:scroll;}
*,*:before,*:after{box-sizing:border-box;position:relative;vertical-align:middle;margin:0;padding:0;border-radius:inherit;}
body{font-family:'Roboto',Arial,sans-serif;background:var(--surface);color:var(--on-surface);font-size:var(--font-size);line-height:1.5;-webkit-font-smoothing:antialiased;}
body::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:0.04;z-index:-1;background:url(../bilder/shell.svg) no-repeat center/cover;}
.material-symbols-outlined{width:1.5rem;height:1.5rem;overflow:hidden;}
.container{max-width:1200px;margin:0 auto;padding:1rem;}
.tophead {
  display: inline-flex
;
  gap: 2rem;
  flex-wrap: wrap;}
.logo{
  color: #2d43bf;
  font-weight: 700;
  font-size: 1.4rem;
  display: inline-flex
;
  flex-direction: column;}
.logo img{
  width: 100%;
  max-width: 120px;}
button,.btn-main{background:var(--primary);color:var(--on-primary);padding:0.4rem 1.2rem;border-radius:100px;font-size:0.875rem;font-weight:700;letter-spacing:0.1em;cursor:pointer;transition:background 0.3s,color 0.3s;display:inline-flex;align-items:center;justify-content:center;border:none;width:fit-content;gap:0.5rem;}
.btn-main:hover,button:hover{background:var(--container);color:var(--on-primary-container);}
article{background:#fffefe;padding:1rem;border-radius:1rem;display:flex;gap:1rem;margin:1rem 0;transition: box-shadow 0.2s;display:flex;box-shadow:0.3px 0.9px 0.7px hsl(14deg 27% 79% / 0.5),
  1px 2.8px 2.2px -5px hsl(14deg 27% 79% / 0.25);}
article:hover{box-shadow: 0.3px 0.9px 0.7px hsl(14deg 27% 79% / 0.7),
  5px 14px 11.1px -5px hsl(14deg 27% 79% / 0.35);z-index: 9;
  background: #fff;}
h1,h2,h3,h4,h5,h6{font-weight:900;color:#420b0c;line-height:1.33;margin-bottom:0.75rem;}
h1{font-size:3.5625rem;}
h2{font-size:3.3125rem;}
h3{font-size:3rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  background: rgb(66 11 12);
  background: linear-gradient(90deg, rgb(207 23 26) 0%, rgb(45 67 191) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  width: fit-content;}
h4{font-size:1.8rem;}
h5{font-size:1.45rem;}
h6{font-size:1.3rem;}
p{margin:0.5rem 0;}
input,select,textarea{all:unset;display:flex;align-items:center;border-radius:var(--round);padding:0 0.9375rem;font-family:inherit;font-size:1rem;width:100%;height:2.7rem;border: 1px solid rgba(216, 194, 187);transition:box-shadow 0.2s;background: #fff;block-size:3rem;box-sizing: border-box;}
input:hover,select:hover{box-shadow:0 2px 5px rgba(0,0,0,0.1);}
select:hover{background-color:#fdf4f2!important;color:var(--primary);}
.search{position:absolute;top:50%;left:1rem;transform:translateY(-50%);background:none;color:#888;cursor:pointer;transition:color 0.3s;}
nav{display:inline-flex;align-items:center;margin:0!important;}
.flex{display:flex;}
.select{cursor:pointer;}
.select span{position:absolute;top:50%;right:1rem;transform:translateY(-50%);cursor:pointer;width:1.5rem;height:1.5rem;}
.suffix, .suffix select{max-width:8rem;box-sizing: border-box;flex:1;}
.suffix select:hover,.suffix select:focus{box-shadow:none;}
.options{display: inline-flex;flex-wrap: wrap;max-width: 25rem;gap: 0.5rem;}
.round{border-radius:var(--round);}
.green{color:#4caf50!important;border:1px solid #4caf50!important;background-color:transparent!important;}
.red{border:1px solid var(--primary)!important;color:var(--primary)!important;}
.book{position:absolute;right:1rem;top:-0.4rem;color:#2196f3;}
.booked{color:var(--primary);}
a{text-decoration:none;font-weight:700;color:inherit;}
a:hover{color:var(--primary);font-variation-settings:"FILL" 1;}
.forward{color:var(--primary);position:absolute;top:0;cursor:pointer;border-radius:50%;width:42px;right:0;display:flex;justify-content:center;opacity:0.5;text-decoration:none;height:100%;align-items:center;}
.forward:hover{opacity:1;color:#3a0905;}
.icon{font-size:1rem !important;top:-0.1rem;width:16px;height:16px;}
sub{display: flex;
  gap: 1rem;
  margin-block-start: 0.5rem;
  font-size: 1rem;
  flex-wrap: wrap;
  color: #775651;}
.fancy{text-decoration:none;position:relative;}
.fancy:hover{background: linear-gradient(90deg, rgb(207, 23, 26) 0%, rgb(45, 67, 191) 100%) text;
  -webkit-text-fill-color: transparent;
  color: transparent;}
.meny{position:absolute;top:1rem;right:1rem;z-index:99;}
details summary::-webkit-details-marker {
  display: none; /* Äldre Webkit-stöd */
}

details summary::marker {
  display: none; /* Moderna webbläsare */
  content: ""; /* Förhindrar markör */
}

details summary {
  list-style: none; /* Tar bort listmarkörer */
  appearance: none; /* Standardutseende bort */
  -webkit-appearance: none; /* Webkit (Safari, Chrome) */
  -moz-appearance: none; /* Firefox */
  outline: none; /* Tar bort eventuell fokusmarkering */
}

/* Extra för mobila webbläsare */
details summary {
  display: block; /* Säkerställer konsekvent rendering */
  -webkit-user-select: none; /* Förhindrar oönskad interaktion */
  user-select: none;
}

/* För öppnade tillstånd */
details[open] summary::-webkit-details-marker,
details[open] summary::marker {
  display: none;
}
details{cursor:pointer;right:0;}  
details ul{position:absolute;right:50%;top:0.7rem;list-style:none;width:max-content;background:#fff;border-radius:1rem 0 1rem 1rem;box-shadow:0 2px 5px rgb(210 170 170 / 47%);z-index:99;padding:1rem;gap:0.4rem;display:flex;flex-direction:column;align-items:flex-start;}
details ul a{padding:5px 15px;cursor:pointer;display:block;border-radius:var(--round);display:flex;gap:0.5rem;align-items: center;}
details ul a:hover{background:var(--surface);}  
details ul li{width:100%;}
.dialog{position:fixed;z-index:100;width:100%;height:100%;background:rgb(0 0 0 / 0.5);top:0;left:0;bottom:0;right:0;---blur:0.2rem;-webkit-backdrop-filter:blur(var(---blur));backdrop-filter:blur(var(---blur));display:flex;align-items:center;justify-content:center;}
.dialog-main{border:none;opacity:1;visibility:visible;box-shadow:var(--elevate2);background-color:#fff;min-inline-size:20rem;max-inline-size:100%;overflow-x:hidden;overflow-y:auto;border-radius:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;}
.dialog-content{padding:0 1rem 1rem 1rem;font-size:1.1rem;flex-grow:1;overflow-y:auto;}
.dialog-head{position:sticky;top:0;z-index:1;padding:1.5rem 1.3rem 1rem;display:flex;justify-content:space-between;background:#fff;flex-direction:column;gap:1rem;}
.dialog-foot{position:sticky;bottom:0;z-index:1;background:#fff;padding:1rem 1.5rem 1.5rem;display:flex;justify-content:space-between;}
.dialog-head header{display:flex;justify-content:space-between;align-items:center;}
dfn{position:relative;}
dfn::after{content:attr(data-info);display:inline;position:absolute;top:22px;left:50%;transform:translateX(-50%);right:0;opacity:0;width:max-content;max-width:130px;font-size:13px;font-weight:700;line-height:1.5em;padding:0.5em 0.8em;background:rgba(0,0,0,0.8);color:#fff;pointer-events:none;transition:opacity 250ms,top 250ms;border-radius:2rem;text-align:center;}
dfn::before{content:"";display:block;position:absolute;top:12px;opacity:0;width:0;height:0;border:solid transparent 5px;border-bottom-color:rgba(0,0,0,0.8);transition:opacity 250ms,top 250ms;left:50%;transform:translateX(-50%);z-index:99;}
dfn:hover{z-index:99;}
dfn:hover::after,dfn:hover::before{opacity:1;}
dfn:hover::after{top:40px;}
dfn:hover::before{top:30px;}
.action-icon{border-radius:50%;box-sizing:border-box;cursor:pointer;margin:0 2px;outline:none;padding:6px;transition:0.3s;width:fit-content;}
.action-icon:hover,.action:hover{background-color:#fdf4f2;color:var(--primary);}
.action{border-radius:var(--round);box-sizing:border-box;cursor:pointer;margin:0 2px;outline:none;padding:0.4rem 1.2rem;transition:0.3s;display:inline-flex;align-items:center;gap:0.5rem;background:var(--on-primary);border: 1px solid rgba(216, 194, 187);}
hr{color:#FDEFF5;background:#fdefed;border:2px solid;border-radius:2rem;margin:1rem 0;}
.btn-close,.icon-big{font-size:1.8rem!important;width:28px;height:28px;}
.btn-back{display:flex;background:var(--container);border-radius:50%;width:40px;height:40px;align-items:center;justify-content:center;}
.fix-left{position:fixed;bottom:1rem;left:1rem;z-index:99;}
.btn-back .btn-close{display:inline-flex;}
.btn-anmal{border:1px solid var(--on-primary-container);color:var(--on-primary-container);background:transparent;padding:0.2rem 0.8rem;}
.btn-anmal:hover{border:1px solid var(--primary);color:var(--on-primary)!important;background:var(--primary);}
.btn-anmal .material-symbols-outlined{font-size:0.9rem;}
.green:hover{background:#4caf50!important;color:#fff!important;}
.anaml{background:#4caf50;}
.cancel{color:var(--primary)!important;text-decoration:line-through;}
.searchbox {display: inline-flex;align-items: center;flex:1;}
.searchbox input {padding-left:3rem;    flex: 0 1 18rem;}
.searchbox .material-symbols-outlined {position: absolute;left: 1rem;opacity: 0.5;}
.extranav {display: flex;flex-wrap: wrap;gap: 0.7rem;margin: 0.7rem 0 0.4rem 0;justify-content: space-between;}    
#notification{background-color:#fff59d;padding:20px;border:1px solid #ffeb3b;color:#000;font-size:16px;position:absolute;animation:hideDiv 10s forwards;top:0;left:0;width:100%;z-index:9999;text-align:center;}
@keyframes hideDiv{90%{opacity:1;transform:translate(0,0);}100%{opacity:0;display:none;transform:translate(0,-200px);}}
footer{background-color:var(--container);padding:1.7rem 1.7rem;border-radius:1.4rem;flex:1 1 100%;margin:2rem 0 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
footer div{flex:1 1 100%;}
.year{background:#fff59d;font-size:0.9rem;padding:0.2rem 0.5rem;color:#000;font-weight:700;border:1px solid #ffeb3b;}
.padding{padding:0.8rem 1rem;}
.hidden{display:none;}
@media (min-width:720px){#dialog-main.small {width:300px !important;}.filterform{margin:0.7rem 0 1rem 0;}.dialog-main{max-height:80vh;border-radius:2rem;height:fit-content;}footer div{flex:0 0 48.8%;}footer{padding:2.2rem;border-radius:2rem;}}
@media (max-width:720px) and (orientation:landscape){.dialog-main{height:100%;max-height:unset;border-radius:unset;}}
#dialog-main.small {width:100%;}
#dialog-main.medium {width: 700px;}
#dialog-main.large {width: 1200px;}
#dialog-main.fullscreen {width: 100%;height: 100%;max-width: none;max-height: none;border-radius: 0;}
#activitiesList {margin: 0 -0.5rem;}
    .activity-card {
    
    z-index: 1;
    }
    .day {
        font-size: 1.6rem;
        font-weight: 700;
        display: inline-flex;
        gap:0.7rem;
        flex-direction: column;
        color:#420b0c;
    }
    .month {font-weight: 700;
        font-size: 1rem;
        text-transform: capitalize;
        display: block;
    }
    .activity-info {
        flex-grow: 1;
        padding: 0;
    }
    .activity-info p {
        margin: 5px 0 0;
        font-size: 0.9rem;
        color: #666;
    }
    .green {text-wrap: nowrap;
    padding: 0.3rem 0.9rem;
}
    .activity-title {display: flex;justify-content: space-between;top: 0.25rem;flex-direction: column;}
    .activity-time {display: none; font-weight: 400;color:#420b0c;}
  .show-time {display: inline-flex;}
  .loader::before {content: '';display: inline-block;width: 20px;height: 20px;border: 3px solid #f3f3f3;border-top: 3px solid #3498db;border-radius: 50%;animation: spin 1s linear infinite;margin-right: 10px;vertical-align: middle;}
  @keyframes spin {0% { transform: rotate(0deg); }100% { transform: rotate(360deg); }}
  
  .anmal {position: absolute;right:0;}
  .activity-card:has(.anmal) {margin-block-end:2rem;}
  @media (min-width:36rem){
      .anmal {bottom:0;}
      .activity-card:has(.anmal) {margin-block-end:0rem;}
      .activity-card {
      padding: 1.3rem 2rem;
      gap: 2rem;}
      .activity-title {top:0;}
      }
    @media (min-width:36rem){
      .activity-title {flex-direction: row;}
      .activity-time  {display: inline-flex;font-size: 1.2rem;font-weight: 900;}
      .show-time {display:none;}
    }
    .fxIcon {display: inline-flex;gap: 0.3rem;align-items: center;}
    .chip {
    background: var(--surface);
    padding: 0 0.7rem;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;border: 1px solid rgba(216, 194, 187, 0.5);}
    .cancel { border: 3px solid var(--primary);}
    .cancel-box {
      position: absolute;
      overflow: hidden;
      top: 0;
      left: 0;
      width: 5rem;
      height: 4rem;}
    .cancel-sign {
      
    position: absolute;
    top: 0.3rem;
    left: -2.3rem;
    background: var(--primary);
    color: #fff;
    border-radius: 4px;
    padding: 0.1rem 2rem;
    transform: rotate(-41deg);
    z-index: 99;}
    .snackbar {
                                
      visibility: hidden;
      width: fit-content;
      max-width: 350px;
      background-color: #333;
      color: #fff;
      text-align: center;
      border-radius: 1rem;
      padding: 16px;
      position: fixed;
      z-index: 9999;
      left: 1%;
      bottom: 30px;
      font-size: 1rem;
      opacity: 0;
      transition: opacity 0.5s ease-in-out, visibility 0s 5s;
      animation: showSnackbar 5s forwards;
                              }
  
                              
                              
                              @keyframes showSnackbar {
                                  0% {
                                      visibility: visible;
                                      opacity: 1;
                                  }
                                  90% {
                                      visibility: visible;
                                      opacity: 1;
                                  }
                                  100% {
                                      visibility: hidden;
                                      opacity: 0;
                                  }
                              }