@import url('https://fonts.googleapis.com/css2?family=Nunito&display=swap');
.tilda-catalog,#catalog-modal,#catalog-filters{font-family:'Nunito',sans-serif;}

#catalog-wrapper{display:flex;align-items:flex-start;flex-wrap:wrap;margin-left:100px;margin-right:100px;}
@media (max-width:1023px){#catalog-wrapper{flex-direction:column;margin-left:0;margin-right:0;}}

#catalog-main{flex:1;display:flex;flex-direction:column;position:relative;width:100%;}

#catalog-filters{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  width:200px;
  margin:1rem 1rem 1rem 0;
  overflow-y:auto;
}

@media (max-width:1023px){
  #catalog-filters{
    width:100%;
    margin:0;
    position:fixed;
    inset:0;
    height:100%;
    background:#fff;
    z-index:1500;
    padding:1rem;
    overflow-y:auto;
    display:none;
  }
  #catalog-filters.show{display:flex;flex-direction:column;flex-wrap:nowrap;}
  #catalog-filters .filter-group{width:100%;}
  #filters-open{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    margin:.5rem auto .5rem;
    padding:.25rem .5rem;
    background:none;
    color:var(--color-orange,#f3af3d);
    border:none;
    border-radius:8px;
    font-size:1rem;
  }
  #filters-open svg{width:20px;height:20px;}
  #filters-close{
    display:block;
    align-self:flex-end;
    background:none;
    border:none;
    font-size:1.5rem;
    margin-bottom:.5rem;
    position:sticky;
    top:0;
    margin-left:auto;
    z-index:1;
  }
}

@media (min-width:1024px){
  #catalog-filters{
    position:sticky;
    top:1rem;
    max-height:calc(100vh - 2rem);
  }
}

@media (max-width:600px){
  #catalog-modal .modal-content{width:95%;max-width:none;margin:.5rem;}
  #catalog-modal .info-calendar{flex-direction:column;}
  #catalog-modal .info-calendar .calendar-section,
  #catalog-modal .modal-actions{width:100%;}
  #catalog-modal .calendar{font-size:.8rem;}
  #catalog-modal .calendar-day{padding:6px 0;}
  #catalog-modal .thumbs img{width:60px;height:45px;}
  #catalog-modal .similar-cards{flex-direction:column;}
  #catalog-modal .similar-cards .catalog-card{display:flex;align-items:center;gap:.5rem;}
  #catalog-modal .similar-cards .catalog-card img{width:40%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog{grid-template-columns:1fr;margin:.5rem;}
  #catalog-map{
    margin:.5rem auto;
    width:calc(100% - 1rem);
  }
  .tilda-catalog .catalog-card{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:24px;}
  .tilda-catalog .catalog-card img{width:30%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card .info{padding:0;flex:1;}
  .tilda-catalog .catalog-card .info h4{font-size:1rem;}
  .tilda-catalog .catalog-card .info p{font-size:.9rem;}
  .tilda-catalog .catalog-card .features{font-size:.8rem;}

  /* mobile filters overlay */
  #catalog-filters{
    width:100%;
    margin:0;
    position:fixed;
    inset:0;
    height:100%;
    background:#fff;
    z-index:1500;
    padding:1rem;
    overflow-y:auto;
    display:none;
  }
  #catalog-filters.show{display:flex;flex-direction:column;flex-wrap:nowrap;}
  #catalog-filters .filter-group{width:100%;}
  #filters-open{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    margin:.5rem auto .5rem;
    padding:.25rem .5rem;
    background:none;
    color:var(--color-orange,#f3af3d);
    border:none;
    border-radius:8px;
    font-size:1rem;
  }
  #filters-open svg{width:20px;height:20px;}
  #filters-close{
    display:block;
    align-self:flex-end;
    background:none;
    border:none;
    font-size:1.5rem;
    margin-bottom:.5rem;
    position:sticky;
    top:0;
    margin-left:auto;
    z-index:1;
  }
}

@media (min-width:1024px){
  #filters-open{display:none;}
  #filters-close{display:none;}
}

@media (max-width:600px){
  #filters-open{
    font-size:.9rem;
  }
  .favorites-indicator{
    width:40px;
    height:40px;
    bottom:0.75rem;
    right:0.75rem;
  }
  .catalog-card{
    border-radius:24px;
  }
  .catalog-card img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:24px;
  }
}

.tilda-catalog{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1rem;
  margin:1rem;
  flex:1;
}

@media (min-width:1024px){
  .tilda-catalog{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:600px){
  #catalog-modal .modal-content{width:95%;max-width:none;margin:.5rem;}
  #catalog-modal .info-calendar{flex-direction:column;}
  #catalog-modal .info-calendar .calendar-section,
  #catalog-modal .modal-actions{width:100%;}
  #catalog-modal .calendar{font-size:.8rem;}
  #catalog-modal .calendar-day{padding:6px 0;}
  #catalog-modal .thumbs img{width:60px;height:45px;}
  #catalog-modal .similar-cards{flex-direction:column;}
  #catalog-modal .similar-cards .catalog-card{display:flex;align-items:center;gap:.5rem;}
  #catalog-modal .similar-cards .catalog-card img{width:40%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:24px;}
  .tilda-catalog .catalog-card img{width:30%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card .info{padding:0;flex:1;}
  .tilda-catalog .catalog-card .info h4{font-size:1rem;}
  .tilda-catalog .catalog-card .info p{font-size:.9rem;}
  .tilda-catalog .catalog-card .features{font-size:.8rem;}
}

.leaflet-popup-content{margin:0;}
.leaflet-popup-content-wrapper{padding:0;border-radius:24px;overflow:hidden;}
.leaflet-popup-content .catalog-card{width:240px;}
.catalog-card{border:none;border-radius:24px;cursor:pointer;background:#fff;box-shadow:none;position:relative;overflow:hidden;}
.catalog-card img{width:100%;height:220px;object-fit:cover;display:block;border-radius:24px;}
.catalog-card .info{padding:0.5rem;}
.catalog-card .info p{margin:.25rem 0;color:var(--color-orange,#f3af3d);}
.catalog-card .info .label{font-weight:600;margin-right:4px;}
.catalog-card .features{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.75rem;color:#000;margin-bottom:.25rem;}
.catalog-card .features span{display:flex;align-items:center;gap:.15rem;}
.catalog-card .features svg{width:14px;height:14px;color:#000;}

.catalog-card .info h4{margin:0 0 .25rem;font-size:1.1rem;font-weight:700;color:#000;text-align:left;text-transform:capitalize;}
.catalog-card .fav-btn{position:absolute;top:8px;right:8px;background:rgba(255,255,255,0.9);border:none;border-radius:50%;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.catalog-card .fav-btn svg{width:20px;height:20px;stroke:var(--color-orange,#f3af3d);fill:none;}
.catalog-card .fav-btn.active svg{fill:var(--color-orange,#f3af3d);}

@media (max-width:600px){
  #catalog-modal .modal-content{width:95%;max-width:none;margin:.5rem;}
  #catalog-modal .info-calendar{flex-direction:column;}
  #catalog-modal .info-calendar .calendar-section,
  #catalog-modal .modal-actions{width:100%;}
  #catalog-modal .calendar{font-size:.8rem;}
  #catalog-modal .calendar-day{padding:6px 0;}
  #catalog-modal .thumbs img{width:60px;height:45px;}
  #catalog-modal .similar-cards{flex-direction:column;}
  #catalog-modal .similar-cards .catalog-card{display:flex;align-items:center;gap:.5rem;}
  #catalog-modal .similar-cards .catalog-card img{width:40%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:24px;}
  .tilda-catalog .catalog-card img{width:30%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card .info{padding:0;flex:1;}
  .tilda-catalog .catalog-card .info h4{font-size:1rem;}
  .tilda-catalog .catalog-card .info p{font-size:.9rem;}
  .tilda-catalog .catalog-card .features{font-size:.8rem;}
}
.copy-toast{
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,0.8);
  color:#fff;
  padding:.5rem 1rem;
  border-radius:8px;
  font-size:.875rem;
  font-family:'Nunito',sans-serif;
  z-index:2000;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s;
}
.copy-toast.show{opacity:1;}

.catalog-pagination{display:flex;justify-content:center;gap:.5rem;margin:1rem;grid-column:1/-1;}
.catalog-pagination button{padding:.25rem .5rem;border:1px solid #ccc;background:#fff;cursor:pointer;border-radius:8px;}
.catalog-pagination button.active{background:var(--color-orange,#f3af3d);color:#fff;}
.catalog-pagination span.dots{padding:.25rem .5rem;align-self:center;}
@media (max-width:600px){
  .catalog-pagination{margin:.5rem;gap:.25rem;}
  .catalog-pagination button{padding:.25rem .4rem;font-size:.9rem;}
}
#catalog-controls{display:flex;justify-content:flex-end;align-items:center;margin:.5rem 1rem;gap:.5rem;}
#catalog-controls #filters-open{margin:0;}
@media (max-width:600px){
  #catalog-controls{justify-content:space-between;}
}
.view-toggle{margin:0;display:flex;align-items:center;}
#catalog-map{min-height:800px;border-radius:8px;flex:1;display:none;}
.leaflet-attribution-flag{display:none!important;}
.view-toggle .view-btn{
  background:none;
  border:none;
  width:36px;
  height:36px;
  padding:0;
  border-radius:50%;
  cursor:pointer;
  font-size:.9rem;
  color:var(--color-orange,#f3af3d);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.view-toggle .view-btn + .view-btn{
  margin-left:.25rem;
}
.view-toggle .view-btn.active{color:#fff;}
.view-toggle .view-btn.active::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:36px;
  height:36px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--color-orange,#f3af3d);
  z-index:-1;
}
.view-toggle .view-btn svg{width:20px;height:20px;}
.view-toggle .map-style-select{height:100%;padding:.3rem;border:none;border-left:1px solid var(--color-orange,#f3af3d);background:#fff;font-size:.9rem;color:var(--color-orange,#f3af3d);}
.modal-map{height:300px;margin-top:1rem;border-radius:8px;}

#catalog-filters .filter-group{margin-bottom:.5rem;}
#catalog-filters .filter-group h4{margin:0 0 .25rem;font-size:1rem;}
#catalog-filters .filter-group label{display:block;font-size:.9rem;}
#catalog-filters input[type=checkbox]{margin-right:.25rem;}
#catalog-filters input[type=date],
#catalog-filters select{
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  color:var(--color-dark,#333);
  padding:6px;
  border:1px solid #dee9fc;
  border-radius:8px;
  background:#fff;
}
#catalog-filters button{padding:.25rem .75rem;border:none;border-radius:6px;background:var(--color-orange,#f3af3d);color:#fff;cursor:pointer;margin-top:.5rem;}

@media (max-width:1023px){
  #catalog-filters{
    width:100%;
    margin:0;
    position:fixed;
    inset:0;
    height:100%;
    background:#fff;
    z-index:1500;
    padding:1rem;
    overflow-y:auto;
    display:none;
  }
  #catalog-filters.show{display:flex;flex-direction:column;flex-wrap:nowrap;}
  #catalog-filters .filter-group{width:100%;}
  #filters-open{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    margin:.5rem auto .5rem;
    padding:.25rem .5rem;
    background:none;
    color:var(--color-orange,#f3af3d);
    border:none;
    border-radius:8px;
    font-size:1rem;
  }
  #filters-open svg{width:20px;height:20px;}
  #filters-close{
    display:block;
    align-self:flex-end;
    background:none;
    border:none;
    font-size:1.5rem;
    margin-bottom:.5rem;
    position:sticky;
    top:0;
    margin-left:auto;
    z-index:1;
  }
}

@media (min-width:1024px){
  #catalog-filters{position:sticky;top:1rem;}
}


#catalog-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:1000;}
#catalog-modal.show{display:flex;}
#catalog-modal .modal-content{position:relative;background:#fff;padding:0;border-radius:32px;overflow-y:auto;max-height:90%;width:60%;max-width:900px;margin:2rem;}
#catalog-modal .close-wrapper{position:sticky;top:0;width:100%;height:0;z-index:2;}
#catalog-modal .close{position:absolute;top:1rem;right:1rem;cursor:pointer;font-size:1.5rem;}
#catalog-modal .modal-body{display:flex;flex-direction:column;gap:1rem;}


#catalog-modal .modal-heading{margin-top:0;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;color:#000;text-align:left;text-transform:capitalize;padding:0;}
#catalog-modal .modal-photos{display:flex;flex-direction:column;align-items:center;gap:0;}

#catalog-modal .modal-info{font-size:.9rem;padding:0;}
#catalog-modal .modal-info .price{font-size:1.2rem;font-weight:700;margin:.5rem 0 1rem;color:var(--color-orange,#f3af3d);}
#catalog-modal .modal-info p{margin:.25rem 0;}
#catalog-modal .modal-info .label{font-weight:600;margin-right:4px;}
#catalog-modal .calendar{width:100%;margin:0;font-size:1rem;}
#catalog-modal .calendar-title{margin:.5rem 0;font-size:1rem;font-weight:700;color:var(--color-orange,#f3af3d);}
#catalog-modal .busy-dates-block{border:1px solid #ccc;border-radius:24px;padding:.5rem;margin:.5rem 0;display:inline-block;width:100%;box-sizing:border-box;}
#catalog-modal .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:1rem;}
#catalog-modal select.calendar-month-select{font-size:1rem;}
#catalog-modal .calendar-header button{background:none;border:none;cursor:pointer;color:var(--color-orange,#f3af3d);font-size:1rem;}
#catalog-modal .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:.9rem;}
#catalog-modal .calendar-grid .day-name{font-weight:600;}
#catalog-modal .calendar-day{padding:11px 0;min-width:2rem;border-radius:16px;}
#catalog-modal .calendar-day.busy{background:#ccc;color:#fff;}
#catalog-modal .calendar-day.other-month{color:#bbb;}
#catalog-modal .image-viewer{position:relative;width:100%;max-height:70vh;overflow:hidden;border-radius:32px 32px 0 0;}
#catalog-modal .image-viewer img{width:100%;height:auto;max-height:70vh;display:block;border-radius:32px 32px 0 0;object-fit:cover;margin:0;}

#catalog-modal .image-viewer button{position:absolute;top:50%;transform:translateY(-50%);background:none;color:#fff;border:none;padding:.25rem .5rem;cursor:pointer;font-size:1.5rem;border-radius:50%;}
#catalog-modal .image-viewer button.prev{left:0;}
#catalog-modal .image-viewer button.next{right:0;}
#catalog-modal .thumbs{display:flex;gap:0;margin-top:0;overflow-x:auto;justify-content:flex-start;padding:0 .5rem;box-sizing:border-box;max-width:100%;}

#catalog-modal .thumbs img{flex:0 0 auto;width:80px;height:60px;object-fit:cover;cursor:pointer;opacity:1;border-radius:0;border:none;}
#catalog-modal .thumbs img.active{border:none;opacity:1;}

/* new styles for title row actions */
#catalog-modal .modal-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 2.4rem;
}


.icon-btn{
  background:none;
  border:none;
  color:var(--color-orange,#f3af3d);
  padding:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}

.icon-btn.fav svg{
  stroke:currentColor;
  fill:none;
}

.icon-btn.fav.active{
  color:#e74c3c;
}

.icon-btn.fav.active svg{
  fill:currentColor;
}

.icon-btn svg{
  width:24px;
  height:24px;
  transition:transform 0.2s;
}

.icon-btn:hover svg{
  transform:scale(1.15);
}

.book-btn{
  background:var(--color-orange,#f3af3d);
  color:#fff;
  border:none;
  border-radius:25px;
  padding:0.75rem 1.5rem;
  cursor:pointer;
  white-space:nowrap;
  flex:1;
  font-size:1rem;
}

.book-btn:hover{
  opacity:0.9;
}

/* error message */
.tilda-catalog .error{
  grid-column:1/-1;
  color:#c00;
  text-align:center;
  padding:1rem;
}

/* feature line inside product modal */
#catalog-modal .features{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  font-size:.8rem;
  color:#000;
  padding:0;
}
#catalog-modal .features span{
  display:flex;
  align-items:center;
  gap:.25rem;
}
#catalog-modal .features svg{
  width:16px;
  height:16px;
  color:#000;
  stroke:#000;
}

/* reduce spacing between heading and features inside modal */
#catalog-modal .modal-title-row + .features{
  margin-top:-0.5rem;
}

/* layout for info and calendar */
#catalog-modal .info-calendar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  padding:0 2.4rem 2.4rem;
}
#catalog-modal .info-calendar .info-left{
  flex:1;
}
#catalog-modal .info-calendar .calendar-section{
  width:18rem;
}
#catalog-modal .modal-actions{
  display:flex;
  gap:0.5rem;
  align-items:center;
  width:18rem;
}

#catalog-modal .back-btn{
  position:absolute;
  top:1rem;
  left:1rem;
  background:none;
  border:none;
  color:var(--color-orange,#f3af3d);
  font-size:1.5rem;
  cursor:pointer;
  z-index:3;
}

#catalog-modal .similar-section{
  padding:0 2.4rem 2.4rem;
}
#catalog-modal .similar-section h4{
  margin:0 0 .5rem;
}
#catalog-modal .similar-cards{
  display:flex;
  gap:0.5rem;
}
#catalog-modal .similar-cards .catalog-card{
  flex:1;
}
#catalog-modal .similar-cards .catalog-card img{
  height:140px;
}

.favorites-indicator{position:fixed;bottom:20px;right:20px;background:var(--color-orange,#f3af3d);color:#fff;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1100;box-shadow:0 2px 6px rgba(0,0,0,0.2);}
.favorites-indicator.hidden{display:none;}
.favorites-indicator .count{position:absolute;top:-4px;right:-4px;background:var(--color-orange,#f3af3d);color:#fff;border-radius:50%;width:20px;height:20px;font-size:.75rem;display:flex;align-items:center;justify-content:center;}
.favorites-indicator svg{width:22px;height:22px;}

.favorites-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:1100;font-family:'Nunito',sans-serif;}
.favorites-modal.show{display:flex;}
.favorites-modal .fav-content{position:relative;background:#fff;padding:2.4rem;border-radius:24px;max-height:80%;overflow-y:auto;width:90%;max-width:600px;}
.favorites-modal .close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.5rem;cursor:pointer;}
.favorites-modal .fav-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--color-orange,#f3af3d);}
.favorites-modal .fav-item{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #eee;cursor:pointer;}
.favorites-modal .fav-item img{width:80px;height:60px;object-fit:cover;border-radius:8px;}
.favorites-modal .fav-info{flex:1;}
.favorites-modal .fav-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:#000;text-transform:capitalize;}
.favorites-modal .fav-info .features{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.75rem;color:#000;margin-bottom:.25rem;}
.favorites-modal .fav-info .features span{display:flex;align-items:center;gap:.15rem;}
.favorites-modal .fav-info .features svg{width:14px;height:14px;color:#000;}
.favorites-modal .remove-btn{background:none;border:none;color:#c00;cursor:pointer;font-size:1.25rem;align-self:flex-start;}
.favorites-modal .clear-btn{display:block;margin:0;padding:0.5rem 1rem;background:none;color:#c00;border:none;border-radius:8px;cursor:pointer;font-size:1rem;}
.favorites-modal .fav-actions{display:flex;gap:.5rem;justify-content:center;margin-top:.5rem;flex-wrap:wrap;}
.favorites-modal .fav-actions .book-btn{background:var(--color-orange,#f3af3d);color:#fff;border:none;border-radius:25px;padding:0.5rem 1rem;cursor:pointer;font-size:1rem;}
.selected-objects{font-size:.9rem;margin:0.5rem 0;color:#333;}

.catalog-booking-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:1200;font-family:'Nunito',sans-serif;}
.catalog-booking-overlay .booking-content{background:#fff;padding:2.4rem;border-radius:24px;width:90%;max-width:400px;position:relative;}
.catalog-booking-overlay .booking-content .close-btn{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.25rem;cursor:pointer;}
.catalog-booking-overlay label{display:block;font-size:.9rem;margin-top:.5rem;}
.catalog-booking-overlay input,.catalog-booking-overlay textarea{width:100%;padding:.5rem;margin-top:.25rem;border:1px solid #dee9fc;border-radius:8px;font-family:'Nunito',sans-serif;box-sizing:border-box;}
.catalog-booking-overlay textarea{resize:vertical;}
.catalog-booking-overlay .book-btn{margin-top:.75rem;width:100%;box-sizing:border-box;}

@media (max-width:600px){
  #catalog-modal .modal-content{width:95%;max-width:none;margin:.5rem;}
  #catalog-modal .info-calendar{flex-direction:column;}
  #catalog-modal .info-calendar .calendar-section,
  #catalog-modal .modal-actions{width:100%;}
  #catalog-modal .calendar{font-size:.8rem;}
  #catalog-modal .calendar-day{padding:6px 0;}
  #catalog-modal .thumbs img{width:60px;height:45px;}
  #catalog-modal .similar-cards{flex-direction:column;}
  #catalog-modal .similar-cards .catalog-card{display:flex;align-items:center;gap:.5rem;}
  #catalog-modal .similar-cards .catalog-card img{width:40%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:24px;}
  .tilda-catalog .catalog-card img{width:30%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;}
  .tilda-catalog .catalog-card .info{padding:0;flex:1;}
  .tilda-catalog .catalog-card .info h4{font-size:1rem;}
  .tilda-catalog .catalog-card .info p{font-size:.9rem;}
  .tilda-catalog .catalog-card .features{font-size:.8rem;}
}


/* cluster popup */
.cluster-popup{position:relative;width:240px;}
.cluster-card-container{width:100%;}
.cluster-nav{position:absolute;top:45%;background:none;border:none;font-size:1.2rem;cursor:pointer;}
.cluster-nav.prev{left:0;}
.cluster-nav.next{right:0;}
.catalog-card{position:relative;}
.catalog-card .badges{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;z-index:1;}
.catalog-card .badge{background:#d6b3ff;color:#fff;font-size:.75rem;padding:0.1rem 0.3rem;border-radius:8px;text-transform:uppercase;line-height:1;}
