.clm-wrap{--clm-pink:#fa2b91;--clm-ink:#1c1723;--clm-gold:#f4c35d;color:#27212c;font-family:inherit;max-width:1250px;margin:0 auto 50px}
.clm-wrap *{box-sizing:border-box}.clm-hero{text-align:center;background:linear-gradient(120deg,#151020,#3b1332);color:#fff;border-radius:18px;padding:42px 24px;margin-bottom:24px}
.clm-overline{letter-spacing:2px;color:#ffc9e0;font-size:12px;font-weight:700}.clm-hero h2{color:#fff;font-size:clamp(26px,4vw,40px);margin:12px 0}.clm-hero p{color:#eee5ef;font-size:16px;margin:0}
.clm-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:start}.clm-map-side,.clm-submit{border:1px solid #e8dce7;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 6px 20px rgba(24,17,34,.05)}
.clm-toolbar{padding:17px;background:#fbf7fa;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.clm-toolbar label{font-weight:700}.clm-toolbar input{flex:1;min-width:180px;padding:12px;border:1px solid #d5ccd6;border-radius:8px;background:white;color:#27212c}.clm-toolbar span{font-size:12px;color:#6a5769}
#clm-map{height:460px;width:100%;background:#ebf0ed;z-index:1}.clm-map-footnote{padding:12px 18px;font-size:12px;color:#695e6b;border-bottom:1px solid #eee}
.clm-list{max-height:530px;overflow:auto;padding:12px 18px}.clm-location{border-bottom:1px solid #eee;padding:14px 0}.clm-location:last-child{border:0}.clm-location h4{margin:0 0 6px;font-size:18px;color:#241629}.clm-location p{margin:5px 0;font-size:14px;line-height:1.5}.clm-address{font-weight:600}.clm-details{color:#615466}.clm-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.clm-show-btn,.clm-direction{background:#241629;color:white!important;border:0;border-radius:8px;padding:8px 11px;font-size:12px;text-decoration:none;cursor:pointer}.clm-direction{background:#b31565}.clm-report{margin:0}.clm-report-btn{background:none!important;color:#77586e!important;padding:0!important;border:0!important;font-size:12px!important;text-decoration:underline;cursor:pointer}.clm-empty{padding:16px;color:#64556b}
.clm-submit{padding:24px}.clm-submit h3{font-size:23px;margin:0 0 12px;color:#231728}.clm-submit>p{font-size:14px;color:#675969;margin-bottom:20px}.clm-form{display:flex;flex-direction:column;gap:14px}.clm-form label{font-weight:700;font-size:13px;color:#342338;display:flex;flex-direction:column;gap:6px}.clm-form label span{font-weight:400;color:#766b79}.clm-form input:not([type=checkbox]),.clm-form textarea{padding:12px;width:100%;border:1px solid #d5c9d4;background:white;border-radius:8px;color:#241629;font-size:14px}.clm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clm-form .clm-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.clm-consent input{margin-top:4px;flex-shrink:0}.clm-consent span{color:#3b3240!important}.clm-btn{background:#d41475!important;color:white!important;border:0!important;border-radius:9px!important;padding:14px!important;font-weight:700!important;cursor:pointer}.clm-btn:hover{background:#a80e5a!important}.clm-form small{font-size:11px;line-height:1.5;color:#695d6b}.clm-trap{position:absolute;left:-10000px;opacity:0}.clm-notice{background:#fff3fb;border:1px solid #e9a2cf;color:#652047;padding:14px;margin-bottom:18px;border-radius:10px}.clm-popup p{margin:5px 0!important}
@media(max-width:850px){.clm-layout{grid-template-columns:1fr}.clm-submit{padding:19px}#clm-map{height:370px}.clm-toolbar{align-items:stretch;flex-direction:column}.clm-toolbar input{width:100%}}
/* v1.1: supplied banner, festive markers, and always-visible location directory */
.clm-hero{padding:0;background:#100b19;overflow:hidden}
.clm-hero-image{display:block;width:100%;height:auto;max-height:390px;object-fit:cover}
.clm-hero-tagline{padding:12px 18px 18px!important;font-size:16px!important;color:#fff!important}
.clm-list-heading{padding:20px 18px 6px;border-top:1px solid #eee;background:#fff}
.clm-list-heading h3{font-size:23px;color:#241629;margin:0 0 4px}
.clm-list-heading p{font-size:13px;color:#655b68;margin:0}
.clm-list{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.clm-location{padding:16px;border:1px solid #eee;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(24,17,34,.04)}
.clm-location:last-child{border:1px solid #eee}
.clm-festive-pin{background:transparent;border:0}
.clm-festive-pin span{display:flex;width:37px;height:37px;align-items:center;justify-content:center;font-size:24px;background:#fff;border:3px solid #e91e86;border-radius:50%;box-shadow:0 2px 8px #0005;position:relative}
.clm-festive-pin span:after{content:"";position:absolute;bottom:-10px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #e91e86}
.clm-map-unavailable{display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;color:#3d3040}
@media(max-width:650px){.clm-list{grid-template-columns:1fr}.clm-hero-image{max-height:none}}

/* 1.2: optional precise manual pin fallback for unrecognized streets */
.clm-manual-location{border:1px solid #d2c1cf;border-radius:10px;padding:14px;background:#fff8fc}
.clm-manual-location summary{cursor:pointer;font-size:14px;font-weight:700;color:#a61560}
.clm-manual-location p{color:#534a53;font-size:13px;line-height:1.5}
.clm-pin-map{height:260px;width:100%;border-radius:10px;z-index:1;overflow:hidden;margin-top:10px}
.clm-pin-status{font-weight:700}
.clm-pin-clear{border:1px solid #ba1e67!important;background:white!important;color:#ba1e67!important;border-radius:6px;padding:7px 10px!important;font-size:12px;cursor:pointer}
