/* ══════════════════════════════════════════
   Concord — Living in Melbourne style.css
   Brand: Purple #765196 | Gold #DE9D00 | Blue #2F98D5
   Fonts loaded by Astra — no import needed
   ══════════════════════════════════════════ */

.clm-wrap *{box-sizing:border-box!important;margin:0!important;padding:0!important;}
.clm-wrap{font-family:'Open Sans',sans-serif!important;color:#1a1a2e!important;line-height:1.6!important;}

/* ── HERO ── */
.clm-hero{position:relative!important;min-height:90vh!important;display:flex!important;align-items:flex-end!important;overflow:hidden!important;}
.clm-hero__canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important;z-index:1!important;}
.clm-hero__slides{position:absolute!important;inset:0!important;z-index:0!important;}
.clm-slide{position:absolute!important;inset:0!important;background-size:cover!important;background-position:center!important;opacity:0!important;transition:opacity 1.2s ease!important;}
.clm-slide--active{opacity:1!important;}
.clm-hero__overlay{position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(180deg,rgba(26,10,46,.3) 0%,rgba(26,10,46,.5) 40%,rgba(26,10,46,.92) 100%)!important;}
.clm-hero__inner{position:relative!important;z-index:3!important;width:100%!important;max-width:1080px!important;margin:0 auto!important;padding:40px 20px 40px!important;}

/* ── WEATHER WIDGET ── */
.clm-weather{background:rgba(255,255,255,.1)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:16px!important;padding:16px 20px!important;display:inline-flex!important;align-items:center!important;gap:14px!important;margin-bottom:28px!important;flex-wrap:wrap!important;}
.clm-weather__loading{font-size:13px!important;color:rgba(255,255,255,.7)!important;}
.clm-weather__icon{font-size:36px!important;line-height:1!important;}
.clm-weather__temp{font-family:'Nunito',sans-serif!important;font-size:32px!important;font-weight:900!important;color:#fff!important;line-height:1!important;}
.clm-weather__unit{font-size:16px!important;color:rgba(255,255,255,.6)!important;}
.clm-weather__details{display:flex!important;flex-direction:column!important;gap:2px!important;}
.clm-weather__condition{font-size:14px!important;font-weight:600!important;color:#fff!important;}
.clm-weather__sub{font-size:11px!important;color:rgba(255,255,255,.6)!important;}
.clm-weather__city{font-size:12px!important;color:rgba(255,255,255,.5)!important;border-left:1px solid rgba(255,255,255,.2)!important;padding-left:14px!important;}
.clm-weather__time{font-size:11px!important;color:rgba(255,255,255,.5)!important;}
.clm-weather__forecast{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.clm-weather__day{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;font-size:11px!important;color:rgba(255,255,255,.65)!important;}
.clm-weather__day-icon{font-size:16px!important;}
.clm-weather__day-temp{font-weight:700!important;color:#fff!important;}

/* ── HERO CONTENT ── */
.clm-hero__content{margin-bottom:24px!important;}
.clm-hero__h1{font-family:'Nunito',sans-serif!important;font-size:clamp(26px,5vw,50px)!important;font-weight:900!important;color:#fff!important;line-height:1.1!important;margin:10px 0 16px!important;}
.clm-hero__h1 span{color:#DE9D00!important;}
.clm-hero__lead{font-size:15px!important;color:rgba(255,255,255,.8)!important;line-height:1.8!important;max-width:640px!important;margin-bottom:24px!important;}
.clm-hero__stats{display:flex!important;gap:20px!important;align-items:center!important;flex-wrap:wrap!important;}
.clm-stat{display:flex!important;flex-direction:column!important;gap:2px!important;}
.clm-stat__n{font-family:'Nunito',sans-serif!important;font-size:24px!important;font-weight:900!important;color:#DE9D00!important;line-height:1!important;}
.clm-stat span:last-child{font-size:11px!important;color:rgba(255,255,255,.55)!important;}
.clm-stat__div{width:1px!important;height:36px!important;background:rgba(255,255,255,.2)!important;}

/* ── CAROUSEL DOTS ── */
.clm-dots{display:flex!important;gap:8px!important;margin-top:16px!important;}
.clm-dot{width:8px!important;height:8px!important;border-radius:100px!important;background:rgba(255,255,255,.3)!important;cursor:pointer!important;transition:all .3s!important;}
.clm-dot--active{background:#DE9D00!important;width:24px!important;}

/* ── LABELS ── */
.clm-lbl{display:inline-block!important;font-size:10px!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#765196!important;background:rgba(118,81,150,.1)!important;padding:4px 12px!important;border-radius:100px!important;margin-bottom:12px!important;}
.clm-lbl--gold{color:#DE9D00!important;background:rgba(222,157,0,.12)!important;}

/* ── SECTIONS ── */
.clm-section{padding:60px 20px!important;}
.clm-section--light{background:#f7f4fb!important;}
.clm-section--white{background:#fff!important;}
.clm-section--dark{background:linear-gradient(135deg,#1a0a2e,#2d1854)!important;}
.clm-section--purple{background:linear-gradient(135deg,#765196,#5a3d73)!important;}
.clm-container{max-width:1080px!important;margin:0 auto!important;}
.clm-h2{font-family:'Nunito',sans-serif!important;font-size:clamp(22px,3.5vw,32px)!important;font-weight:900!important;color:#1a0a2e!important;margin-bottom:10px!important;line-height:1.2!important;}
.clm-h2--light{color:#fff!important;}
.clm-intro{font-size:14px!important;color:#4a4a6a!important;line-height:1.75!important;margin-bottom:32px!important;max-width:680px!important;}
.clm-intro--light{color:rgba(255,255,255,.75)!important;}

/* ── WHY GRID ── */
.clm-why-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:14px!important;}
.clm-why-card{background:#fff!important;border:1px solid #e0d8f0!important;border-radius:14px!important;padding:22px!important;animation:clmIn .5s ease forwards!important;}
@keyframes clmIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.clm-why-card__icon{font-size:28px!important;display:block!important;margin-bottom:10px!important;}
.clm-why-card h3{font-family:'Nunito',sans-serif!important;font-size:15px!important;font-weight:800!important;color:#1a0a2e!important;margin-bottom:6px!important;}
.clm-why-card p{font-size:13px!important;color:#5a5a7a!important;line-height:1.65!important;}

/* ── VIDEO ── */
.clm-video-wrap{position:relative!important;padding-bottom:56.25%!important;height:0!important;overflow:hidden!important;border-radius:16px!important;box-shadow:0 20px 60px rgba(0,0,0,.4)!important;}
.clm-video{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border-radius:16px!important;}

/* ── GALLERY ── */
.clm-gallery{display:grid!important;grid-template-columns:repeat(4,1fr)!important;grid-template-rows:auto auto!important;gap:10px!important;}
.clm-gallery-item{position:relative!important;overflow:hidden!important;border-radius:12px!important;aspect-ratio:4/3!important;}
.clm-gallery-item--wide{grid-column:span 2!important;grid-row:span 2!important;aspect-ratio:unset!important;}
.clm-gallery-item img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .4s ease!important;display:block!important;}
.clm-gallery-item:hover img{transform:scale(1.05)!important;}
.clm-gallery-item__caption{position:absolute!important;bottom:0!important;left:0!important;right:0!important;background:linear-gradient(transparent,rgba(26,10,46,.85))!important;color:#fff!important;font-size:12px!important;font-weight:600!important;padding:20px 12px 10px!important;}

/* ── EVENTS ── */
.clm-events{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:14px!important;margin-bottom:24px!important;}
.clm-events__loading{display:flex!important;align-items:center!important;gap:12px!important;padding:24px!important;font-size:13px!important;color:#5a5a7a!important;grid-column:1/-1!important;}
.clm-spinner{width:20px!important;height:20px!important;border:2px solid #e0d8f0!important;border-top-color:#765196!important;border-radius:50%!important;animation:spin .8s linear infinite!important;}
@keyframes spin{to{transform:rotate(360deg);}}
.clm-event-card{background:#fff!important;border:1px solid #e0d8f0!important;border-radius:12px!important;overflow:hidden!important;transition:transform .2s,box-shadow .2s!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;}
.clm-event-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 30px rgba(118,81,150,.12)!important;}
.clm-event-card__img{width:100%!important;height:140px!important;object-fit:cover!important;background:#f0e8f8!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:36px!important;}
.clm-event-card__body{padding:14px!important;flex:1!important;}
.clm-event-card__cat{font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#765196!important;margin-bottom:5px!important;}
.clm-event-card__title{font-family:'Nunito',sans-serif!important;font-size:14px!important;font-weight:800!important;color:#1a0a2e!important;line-height:1.3!important;margin-bottom:6px!important;}
.clm-event-card__desc{font-size:11px!important;color:#5a5a7a!important;line-height:1.55!important;}
.clm-event-card__date{font-size:11px!important;color:#765196!important;font-weight:600!important;padding:8px 14px!important;border-top:1px solid #f0e8f8!important;}
.clm-events-cta{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.clm-events__error{grid-column:1/-1!important;text-align:center!important;padding:24px!important;}
.clm-events__error a{color:#765196!important;font-weight:600!important;}

/* ── QUOTE ── */
.clm-quote{max-width:760px!important;margin:0 auto!important;text-align:center!important;}
.clm-quote__mark{font-family:'Nunito',sans-serif!important;font-size:80px!important;line-height:.8!important;color:rgba(255,255,255,.2)!important;margin-bottom:10px!important;}
.clm-quote__text{font-size:clamp(16px,2.5vw,22px)!important;font-style:italic!important;color:#fff!important;line-height:1.65!important;margin-bottom:16px!important;}
.clm-quote__attr{font-size:12px!important;color:rgba(255,255,255,.5)!important;}

/* ── BUTTONS ── */
.clm-btn{display:inline-flex!important;align-items:center!important;padding:12px 22px!important;background:linear-gradient(135deg,#DE9D00,#f5b800)!important;color:#1a0a2e!important;font-family:'Nunito',sans-serif!important;font-size:13px!important;font-weight:800!important;border-radius:100px!important;text-decoration:none!important;}
.clm-btn--outline{background:transparent!important;border:1.5px solid rgba(118,81,150,.4)!important;color:#765196!important;}

/* ── LINKS GRID ── */
.clm-links-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:12px!important;}
.clm-link-card{display:flex!important;align-items:center!important;gap:14px!important;background:#f7f4fb!important;border:1px solid #e0d8f0!important;border-radius:12px!important;padding:16px 18px!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s!important;}
.clm-link-card:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px rgba(118,81,150,.1)!important;}
.clm-link-card__icon{font-size:22px!important;flex-shrink:0!important;}
.clm-link-card h4{font-family:'Nunito',sans-serif!important;font-size:13px!important;font-weight:800!important;color:#1a0a2e!important;margin-bottom:2px!important;}
.clm-link-card p{font-size:11px!important;color:#5a5a7a!important;line-height:1.4!important;}
.clm-link-card__arrow{font-size:16px!important;color:#765196!important;margin-left:auto!important;flex-shrink:0!important;}

/* ── MOBILE ── */
@media(max-width:700px){
  .clm-hero{min-height:100svh!important;}
  .clm-gallery{grid-template-columns:1fr 1fr!important;}
  .clm-gallery-item--wide{grid-column:span 2!important;aspect-ratio:16/9!important;}
  .clm-stat__div{display:none!important;}
  .clm-events-cta{flex-direction:column!important;}
  .clm-btn{justify-content:center!important;}
  .clm-weather{width:100%!important;}
}
