/* https://casey.clrdigital.town/wp-content/plugins/DirectoryPlugin/css/frontend.css?ver=4.1 */
.directory-listing{margin:20px 0;clear:both}.directory-items{display:grid;gap:20px;margin-top:20px}.directory-layout-grid .directory-items{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.directory-layout-list .directory-items{grid-template-columns:1fr}.directory-item{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:box-shadow 0.3s ease;overflow:hidden;position:relative}.directory-item:hover{box-shadow:0 4px 8px rgba(0,0,0,.15)}.directory-item-image{margin:-20px -20px 15px -20px}.directory-item-image img{width:100%;height:200px;object-fit:cover;display:block}.directory-item-title{margin:0 0 5px 0;font-size:1.3em;font-weight:700;line-height:1.3}.directory-item-title a{text-decoration:none;color:#333;transition:color 0.3s ease}.directory-item-title a:hover{color:#0073aa;text-decoration:none}.directory-item-category{margin:0 0 12px 0;font-size:.9em;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border-left:3px solid #0073aa;padding-left:8px}.directory-item-content{position:relative}.directory-item-excerpt{margin-bottom:15px;color:#666;line-height:1.6;font-size:14px}.directory-item-excerpt p{margin:0 0 10px 0}.directory-item-excerpt p:last-child{margin-bottom:0}.directory-item-contact{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.directory-contact-btn{display:inline-block!important;background:#0073aa!important;color:white!important;padding:8px 14px!important;margin:3px 6px 3px 0!important;border-radius:20px!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important;transition:all 0.3s ease!important;border:none!important;cursor:pointer!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important;vertical-align:middle!important;line-height:1.4!important;white-space:nowrap!important}.directory-contact-btn:hover{background:#005177!important;color:white!important;transform:translateY(-1px)!important;box-shadow:0 3px 8px rgba(0,0,0,.2)!important;text-decoration:none!important}.directory-contact-btn:focus{outline:2px solid #0073aa!important;outline-offset:2px!important}.directory-contact-btn:active{transform:translateY(0)!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important}.directory-contact-btn .dashicons{font-size:14px!important;width:14px!important;height:14px!important;vertical-align:middle!important;margin-right:4px!important;line-height:1!important}.phone-btn{background:#28a745!important;color:white!important}.phone-btn:hover{background:#1e7e34!important;color:white!important}.email-btn{background:#17a2b8!important;color:white!important}.email-btn:hover{background:#117a8b!important;color:white!important}.website-btn{background:#6f42c1!important;color:white!important}.website-btn:hover{background:#5a32a3!important;color:white!important}.contact-address{margin-top:12px;padding:8px 12px;background:#f8f9fa;border-radius:4px;color:#555;font-size:14px;line-height:1.5;border-left:3px solid #0073aa}.contact-address .dashicons{color:#0073aa;margin-right:6px;vertical-align:middle;font-size:16px;width:16px;height:16px}.directory-item a.directory-contact-btn,.directory-listing a.directory-contact-btn,a.directory-contact-btn{display:inline-block!important;background:#0073aa!important;color:white!important;padding:8px 14px!important;margin:3px 6px 3px 0!important;border-radius:20px!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important;border:none!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important;vertical-align:middle!important;line-height:1.4!important;white-space:nowrap!important}.directory-item a.phone-btn,.directory-listing a.phone-btn,a.phone-btn{background:#28a745!important;color:white!important}.directory-item a.email-btn,.directory-listing a.email-btn,a.email-btn{background:#17a2b8!important;color:white!important}.directory-item a.website-btn,.directory-listing a.website-btn,a.website-btn{background:#6f42c1!important;color:white!important}.directory-filters{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:25px;border:1px solid #e9ecef;box-shadow:0 1px 3px rgba(0,0,0,.1)}.directory-filters label{font-weight:600;margin-right:12px;color:#333;font-size:14px}.directory-filters select{padding:10px 14px;border:1px solid #ced4da;border-radius:6px;background:#fff;font-size:14px;min-width:220px;transition:border-color 0.3s ease,box-shadow 0.3s ease}.directory-filters select:focus{outline:none;border-color:#0073aa;box-shadow:0 0 0 3px rgba(0,115,170,.1)}.directory-error{background:#f8d7da;color:#721c24;padding:20px;border:1px solid #f5c6cb;border-radius:8px;margin:20px 0;font-weight:500;text-align:center}.directory-no-results{text-align:center;color:#6c757d;font-style:italic;padding:60px 20px;background:#f8f9fa;border-radius:8px;margin:30px 0;border:1px solid #e9ecef;font-size:16px}.directory-layout-list .directory-item{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}.directory-layout-list .directory-item-image{margin:-20px 0 -20px -20px;height:calc(100% + 40px)}.directory-layout-list .directory-item-image img{height:100%;min-height:150px}.fl-builder-content .directory-listing,.fl-module .directory-listing{margin:0}.fl-builder-content .directory-contact-btn,.fl-module .directory-contact-btn{display:inline-block!important;background:#0073aa!important;color:white!important;padding:8px 14px!important;margin:3px 6px 3px 0!important;border-radius:20px!important;text-decoration:none!important;font-size:13px!important}.entry-content .directory-contact-btn,.post-content .directory-contact-btn,.content .directory-contact-btn{display:inline-block!important;background:#0073aa!important;color:white!important;text-decoration:none!important;border:none!important;padding:8px 14px!important;margin:3px 6px 3px 0!important;border-radius:20px!important}@media (max-width:768px){.directory-layout-grid .directory-items{grid-template-columns:1fr;gap:15px}.directory-layout-list .directory-item{grid-template-columns:1fr;gap:15px}.directory-layout-list .directory-item-image{margin:-20px -20px 15px -20px;height:auto}.directory-layout-list .directory-item-image img{height:180px}.directory-item{padding:15px}.directory-contact-btn{margin:4px 4px 4px 0!important;font-size:12px!important;padding:7px 12px!important}.directory-filters{text-align:center;padding:15px}.directory-filters label{display:block;margin-bottom:10px}.directory-filters select{width:100%;max-width:300px}.contact-address{font-size:13px;padding:6px 10px}.directory-item-category{font-size:.8em}}@media (max-width:480px){.directory-items{gap:15px}.directory-item{padding:12px}.directory-item-title{font-size:1.1em}.directory-contact-btn{font-size:11px!important;padding:6px 10px!important;margin:3px 3px 3px 0!important}.directory-item-image img{height:160px}.directory-item-category{font-size:.75em;margin-bottom:8px}}.directory-debug{background:#f0f0f0;padding:10px;margin:10px 0;border:1px solid #ddd;font-family:monospace;font-size:12px}@media print{.directory-contact-btn{background:none!important;color:#333!important;border:1px solid #333!important;box-shadow:none!important}.directory-item{break-inside:avoid;box-shadow:none;border:1px solid #333}.directory-filters{display:none}.directory-item-category{color:#333}}.debug-contact-info{background:yellow;padding:5px;margin:5px 0;border:1px solid orange}.directory-contact-buttons{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.directory-contact-buttons.directory-layout-vertical{display:flex;flex-direction:column;gap:12px}.directory-contact-buttons.directory-layout-horizontal{display:flex;flex-wrap:wrap;gap:12px}.directory-contact-btn{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;padding:12px 18px!important;background:#0073aa!important;color:white!important;text-decoration:none!important;border-radius:6px!important;font-size:14px!important;font-weight:500!important;transition:all 0.3s ease!important;border:none!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important;min-height:44px!important;position:relative!important;overflow:hidden!important}.directory-contact-btn:hover{background:#005177!important;color:white!important;transform:translateY(-1px)!important;box-shadow:0 4px 8px rgba(0,0,0,.15)!important;text-decoration:none!important}.directory-contact-btn:active{transform:translateY(0)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.directory-contact-btn .dashicons{margin-right:8px!important;font-size:18px!important;width:18px!important;height:18px!important;flex-shrink:0!important}.directory-contact-btn .btn-text{flex:1!important}.phone-btn{background:#28a745!important;color:white!important}.phone-btn:hover{background:#218838!important;color:white!important}.email-btn{background:#17a2b8!important;color:white!important}.email-btn:hover{background:#138496!important;color:white!important}.website-btn{background:#6f42c1!important;color:white!important}.website-btn:hover{background:#5a32a3!important;color:white!important}.directions-btn{background:#fd7e14!important;color:white!important}.directions-btn:hover{background:#e8650e!important;color:white!important}.directory-address-display{margin:20px 0;padding:15px;background:#fff;border:1px solid #e9ecef;border-radius:6px;border-left:4px solid #28a745}.directory-address-display h4{margin:0 0 10px 0;color:#333;font-size:16px}.directory-address-text{display:flex;align-items:flex-start;margin-bottom:10px;font-size:14px;line-height:1.5;color:#555}.directory-address-text .dashicons{color:#28a745;margin-right:8px;margin-top:2px;flex-shrink:0}.directory-address-directions{margin-top:12px}.directory-directions-link{display:inline-flex;align-items:center;padding:8px 12px;background:#28a745;color:white!important;text-decoration:none;border-radius:4px;font-size:13px;transition:background 0.3s ease}.directory-directions-link:hover{background:#218838;color:white!important;text-decoration:none}.directory-directions-link .dashicons{margin-right:6px;font-size:14px;width:14px;height:14px}@media (max-width:768px){.directory-contact-buttons.directory-layout-horizontal{flex-direction:column}.directory-contact-btn{padding:14px 16px!important;font-size:16px!important;min-height:48px!important}.directory-contact-btn .dashicons{font-size:20px!important;width:20px!important;height:20px!important;margin-right:10px!important}}.in-apppresser .directory-contact-buttons{background:transparent;border:none;padding:15px 0}.in-apppresser .directory-contact-btn{min-height:48px!important;font-size:16px!important;padding:16px 20px!important;border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important}.in-apppresser .directory-contact-btn:hover{transform:scale(1.02)!important}.directory-item .directory-contact-btn,.directory-listing .directory-contact-btn,.entry-content .directory-contact-btn,.post-content .directory-contact-btn,.content .directory-contact-btn,a.directory-contact-btn{display:inline-flex!important;align-items:center!important;padding:12px 18px!important;margin:3px 6px 3px 0!important;text-decoration:none!important;border:none!important;border-radius:6px!important;font-weight:500!important;transition:all 0.3s ease!important;min-height:44px!important}.directory-item-category{margin:0 0 12px 0!important;font-size:0.9em!important;color:#666!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:0.5px!important;border-left:3px solid #0073aa!important;padding-left:8px!important;background:none!important}.directory-contact-btn.loading{pointer-events:none;opacity:.7}.directory-contact-btn.loading::after{content:'';position:absolute;top:50%;right:15px;width:16px;height:16px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:button-spinner 1s linear infinite}@keyframes button-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media print{.directory-contact-btn{background:none!important;color:#333!important;border:1px solid #333!important;box-shadow:none!important;padding:8px 12px!important}.directory-contact-btn::after{content:" (" attr(href) ")";font-size:12px;color:#666}}