
.milera-circuits{max-width:1200px;margin:auto}
.mcir-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;border:1px solid #e8e8e8;border-radius:14px;background:#fff}
.mcir-form label span{display:block;font-weight:700;margin-bottom:6px}
.mcir-form input,.mcir-form select{width:100%;min-height:46px;padding:9px 12px;border:1px solid #d8d8d8;border-radius:8px;background:#fff}
.mcir-form button,.mcir-open,.mcir-request-btn{border:0;border-radius:8px;background:#2f7d4a;color:#fff!important;font-weight:700;padding:12px 18px;cursor:pointer;text-decoration:none}
.mcir-form button{grid-column:1/-1;justify-self:start}
.mcir-status{margin:16px 0;font-weight:600}
.mcir-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mcir-card{overflow:hidden;border:1px solid #e7e7e7;border-radius:15px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.06)}
.mcir-card>img{width:100%;height:220px;object-fit:cover}
.mcir-card-body{padding:18px}
.mcir-card h3{margin:8px 0 12px;font-size:20px}
.mcir-tags{display:flex;gap:6px;flex-wrap:wrap}.mcir-tags span{font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;    background: #f5e5ff;color: #4c1d68;}
.mcir-meta{display:grid;gap:5px;font-size:13px}
.mcir-card-foot{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:18px}.mcir-card-foot small,.mcir-summary small{display:block}.mcir-card-foot strong{font-size:18px;color:#000;}.mcir-card-foot small{color:#000;}
.mcir-modal[hidden]{display:none!important}.mcir-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:25px}.mcir-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.mcir-modal-card{position:relative;width:min(1050px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:28px;z-index:1}
.mcir-close{position:sticky;float:right;top:0;z-index:3;width:40px;height:40px;border:0;border-radius:50%;font-size:28px;cursor:pointer;padding:13px 15px 13px 15px!important;}.mcir-modal-open{overflow:hidden}
.mcir-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:24px}.mcir-gallery img{width:100%;height:180px;object-fit:cover;border-radius:10px}.mcir-gallery img:first-child{height:368px;grid-row:span 2}
.mcir-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 28px;color:#000;}.mcir-summary>div{padding:14px;border:1px solid #e8e8e8;border-radius:10px}.mcir-summary strong{display:block;margin-top:3px}
.mcir-section,.mcir-highlight,.mcir-request{margin:28px 0}.mcir-highlight{padding:20px;border-radius:14px;background:#edf5ef}
.mcir-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mcir-services>div{display:flex;gap:10px;justify-content:space-between;padding:12px;border:1px solid #eee;border-radius:9px}
.mcir-info{padding:15px;border:1px solid #eee;border-radius:10px;margin-bottom:10px}
.mcir-itinerary{display:grid}.mcir-day{position:relative;margin-left:18px;padding:0 0 24px 30px;border-left:2px solid #dfe8e1}.mcir-day>span{display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f5e5ff;
    font-size: 12px;
    font-weight: 700;
    color: #4c1d68;}.mcir-day h4{margin:8px 0}.mcir-day small{display:block;margin-top:8px}
.mcir-request{padding:22px;border-radius:14px;background:#f7f7f7}.mcir-request-btn{display:inline-block;margin-top:8px}
@media(max-width:900px){.mcir-form{grid-template-columns:repeat(2,1fr)}.mcir-grid{grid-template-columns:repeat(2,1fr)}.mcir-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mcir-form,.mcir-grid,.mcir-summary,.mcir-services{grid-template-columns:1fr}.mcir-modal{padding:8px}.mcir-modal-card{padding:18px}.mcir-gallery{grid-template-columns:1fr 1fr}.mcir-gallery img,.mcir-gallery img:first-child{height:150px;grid-row:auto}.mcir-gallery img:first-child{grid-column:1/-1;height:220px}}


/* v1.2 ERP-backed select form */
.mcir-form select:disabled,
.mcir-form button:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.mcir-form select{
  cursor:pointer;
}


/* v1.5 booking request form */
.mcir-request{
  padding:22px;
  border-radius:14px;
  background:#f7f7f7;
}
.mcir-booking-form{
  margin-top:16px;
}
.mcir-booking-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.mcir-booking-grid label span{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:700;
}
.mcir-booking-grid input,
.mcir-booking-grid select{
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  padding:9px 12px;
  border:1px solid #d8d8d8;
  border-radius:8px;
  background:#fff;
}
.mcir-booking-submit{
  margin-top:16px;
  border:0;
  border-radius:8px;
  background:#582998!important;
  color:#fff!important;
  padding:12px 18px;
  font-weight:700;
  cursor:pointer;
}
.mcir-booking-submit:hover{
  background:#9767F7!important;
}
.mcir-booking-submit:disabled{
  opacity:.65;
  cursor:wait;
}
.mcir-booking-status{
  margin-top:12px;
  font-size:14px;
  font-weight:600;
}
.mcir-booking-status.is-success{
  color:#23733d;
}
.mcir-booking-status.is-error{
  color:#b42318;
}
@media(max-width:600px){
  .mcir-booking-grid{
    grid-template-columns:1fr;
  }
}


/* v1.6 popup gallery */
.mcir-gallery-section{margin:0 0 24px}
.mcir-gallery-main{
  overflow:hidden;
  border-radius:14px;
  background:#f2f2f2;
  aspect-ratio:16/8;
}
.mcir-gallery-main img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.mcir-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.mcir-gallery-thumb{
  display:block;
  padding:0!important;
  border:2px solid transparent!important;
  border-radius:8px;
  overflow:hidden;
  background:none!important;
  cursor:pointer;
  aspect-ratio:4/3;
}
.mcir-gallery-thumb.is-active{border-color:#2f7d4a!important}
.mcir-gallery-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:700px){
  .mcir-gallery-main{aspect-ratio:4/3}
  .mcir-gallery-thumbs{
    display:flex;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .mcir-gallery-thumb{
    flex:0 0 82px;
  }
}


/* v1.8 additional information */
.mcir-booking-full{
  grid-column:1 / -1;
}
.mcir-booking-grid textarea{
  width:100%;
  min-height:120px;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #d8d8d8;
  border-radius:8px;
  background:#fff;
  resize:vertical;
  font:inherit;
}
