.csl-wrap{font-family:inherit;max-width:100%;margin:0;background:#fff0}.csl-wrap *{margin:0;padding:0;box-sizing:border-box}.csl-header{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);color:#fff;padding:25px;text-align:center}.csl-header h2{font-size:1.8em;margin-bottom:8px;font-weight:300}.csl-header p{font-size:1em;opacity:.9}.csl-search{padding:0 0 10px;background:#fff0}.csl-field{margin-bottom:20px}.csl-field label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.csl-control{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s,box-shadow .2s}.csl-control:focus{outline:0;border-color:#667eea;box-shadow:0 0 0 3px rgb(102 126 234 / .1)}.csl-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:0;padding:12px 25px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;width:100%;transition:transform .2s,box-shadow .2s}.csl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 15px rgb(102 126 234 / .3)}.csl-control[disabled]{opacity:.6;cursor:not-allowed}.csl-banners{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 0}.csl-chip{background:#fff;border:1px solid #d7dbe0;color:#2c3e50;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.csl-chip:hover{border-color:#667eea}.csl-chip.is-active{background:#667eea;border-color:#667eea;color:#fff}.csl-group{font-size:1.05em;font-weight:700;color:#2c3e50;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid #e9ecef}.csl-group:first-child{margin-top:0}.csl-group-region{font-weight:500;color:#6c757d;font-size:.85em}.csl-results{padding:18px 0 0}.csl-citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;grid-auto-rows:1fr;margin-bottom:18px}.csl-citygrid:last-child{margin-bottom:0}.csl-citygrid .csl-card{margin-bottom:0;height:100%;display:flex;flex-direction:column}.csl-citygrid .csl-card .csl-maps{margin-top:auto;align-self:flex-start}.csl-results-head{padding:15px 0;border-bottom:2px solid #e9ecef;margin-bottom:15px}.csl-count{font-size:1.1em;color:#2c3e50;font-weight:600}.csl-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px;margin-bottom:12px;box-shadow:0 2px 8px rgb(0 0 0 / .05);transition:transform .2s,box-shadow .2s,border-color .2s}.csl-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgb(0 0 0 / .1);border-color:#667eea}.csl-name{font-size:1.1em;font-weight:600;color:#2c3e50;margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.csl-region-tag{font-size:.7em;font-weight:600;color:#667eea;background:#eef0fd;border-radius:999px;padding:3px 10px;white-space:nowrap}.csl-tags{margin-bottom:10px}.csl-section-tag{display:inline-flex;align-items:center;gap:5px;font-size:.82em;font-weight:600;border-radius:999px;padding:5px 12px}.csl-section-fruits{color:#1e7e34;background:#e7f6ec}.csl-section-alcool{color:#8a1c3b;background:#fbe9ef}.csl-info{display:flex;align-items:center;gap:15px;margin-bottom:10px;flex-wrap:wrap}.csl-info-item{display:flex;align-items:center;color:#6c757d;font-size:.9em}.csl-info-item .ico{margin-right:6px}.csl-address{background:#f8f9fa;padding:12px;border-radius:6px;color:#495057;font-size:.95em;margin-bottom:10px;line-height:1.4}.csl-wrap a.csl-maps,.csl-wrap a.csl-maps:link,.csl-wrap a.csl-maps:visited{background:#e7b51f!important;color:#000!important;border:0;padding:8px 15px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:background .2s,color .2s}.csl-wrap a.csl-maps:hover,.csl-wrap a.csl-maps:focus{background:#000!important;color:#fff!important;text-decoration:none}.csl-empty,.csl-loading{text-align:center;padding:30px;color:#6c757d}.csl-loading{color:#667eea}.csl-empty .ico{font-size:3em;margin-bottom:15px;opacity:.3;display:block}.csl-spinner{border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;width:30px;height:30px;animation:csl-spin 1s linear infinite;margin:0 auto 15px}@keyframes csl-spin{to{transform:rotate(360deg)}}.csl-hidden{display:none}@media(max-width:768px){.csl-header{padding:20px}.csl-header h2{font-size:1.5em}.csl-search{padding:25px 20px}.csl-results{padding:0 20px 20px}.csl-info{flex-direction:column;align-items:flex-start;gap:8px}}