/* GEO SEO Pro — Frontend Shortcode Styles */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
.geoseo-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0;}
.geoseo-location-card{border:1px solid #EBEBEB;border-radius:16px;padding:22px;background:#fff;transition:box-shadow 0.2s;}
.geoseo-location-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.geoseo-loc-name{font-size:17px;font-weight:600;margin:0 0 10px;color:#1A1A2E;}
.geoseo-loc-address,.geoseo-loc-phone,.geoseo-loc-email{margin:4px 0;font-size:14px;color:#555;}
.geoseo-loc-directions{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:9px 18px;background:#1A1A2E;color:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:500;transition:background 0.15s;}
.geoseo-loc-directions:hover{background:#0F3460;color:#fff;}
.geoseo-map-wrap{margin:20px 0;border-radius:16px;overflow:hidden;}
.geoseo-reviews{margin:24px 0;}
.geoseo-review-summary{font-size:16px;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.geoseo-stars{color:#F59E0B;letter-spacing:2px;}
.geoseo-review{border:1px solid #EBEBEB;border-radius:12px;padding:16px 20px;margin-bottom:10px;background:#fff;}
.geoseo-review-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.geoseo-review-header strong{font-size:14px;font-weight:600;color:#1A1A2E;}
.geoseo-review-header time{font-size:12px;color:#AAA;margin-left:auto;}
.geoseo-review-body{margin:0;font-size:14px;color:#555;line-height:1.7;}
.geoseo-faq{margin:24px 0;}
.geoseo-faq-item{border:1px solid #EBEBEB;border-radius:10px;margin-bottom:6px;overflow:hidden;}
.geoseo-faq-question{padding:14px 16px;font-size:15px;font-weight:500;color:#1A1A2E;cursor:pointer;display:flex;justify-content:space-between;}
.geoseo-faq-answer{padding:0 16px 14px;font-size:14px;color:#555;line-height:1.7;}
.geoseo-hours-widget{margin:16px 0;}
.geoseo-hours-status{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:99px;font-weight:500;font-size:14px;margin-bottom:14px;}
.geoseo-hours-status.open{background:#DCFCE7;color:#166534;}
.geoseo-hours-status.closed{background:#FEE2E6;color:#991B1B;}
.geoseo-hours-table{border-collapse:collapse;font-size:14px;width:100%;}
.geoseo-hours-table td{padding:6px 16px 6px 0;color:#555;}
.geoseo-hours-table tr.today td{font-weight:600;color:#1A1A2E;}
.geoseo-breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px;font-size:13px;color:#888;}
.geoseo-breadcrumbs li:not(:last-child)::after{content:' /';margin-left:4px;color:#DDD;}
.geoseo-breadcrumbs a{color:#1A1A2E;text-decoration:none;}
.geoseo-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:20px 0;}
.geoseo-event-card{border:1px solid #EBEBEB;border-radius:12px;padding:18px;background:#fff;}
.geoseo-event-date{font-size:11px;font-weight:600;color:#E94560;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px;}
.geoseo-event-name{font-size:15px;font-weight:600;color:#1A1A2E;margin-bottom:8px;}
.geoseo-event-desc{font-size:13px;color:#666;margin-bottom:12px;}
.geoseo-event-link{display:inline-flex;align-items:center;padding:7px 14px;background:#1A1A2E;color:#fff;border-radius:7px;text-decoration:none;font-size:12px;font-weight:500;}
