/* EuroSOR Country Guides — Grid Styles */
.eurosor-guides-wrapper { --eurosor-primary:#2563EB;--eurosor-tag-bg:#F1F5F9;--eurosor-tag-text:#334155;--eurosor-tag-border:#CBD5E1;--eurosor-radius:12px;--eurosor-img-height:200px;--eurosor-columns:3;--eurosor-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; max-width:1200px; margin:0 auto; padding:0 16px; box-sizing:border-box; }
.eurosor-guides-wrapper *,.eurosor-guides-wrapper *::before,.eurosor-guides-wrapper *::after { box-sizing:border-box; }
.eurosor-controls { display:flex; gap:16px; margin-bottom:20px; }
.eurosor-search-wrap { flex:1; position:relative; }
.eurosor-search-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:#94A3B8; pointer-events:none; }
.eurosor-search { width:100%; height:48px; padding:0 16px 0 44px; border:1px solid #E2E8F0; border-radius:10px; font-size:15px; color:#1E293B; background:#fff; outline:none; transition:border-color .2s,box-shadow .2s; -webkit-appearance:none; }
.eurosor-search::placeholder { color:#94A3B8; }
.eurosor-search:focus { border-color:var(--eurosor-primary); box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
.eurosor-filter-wrap { flex:0 0 200px; }
.eurosor-region-filter { width:100%; height:48px; padding:0 36px 0 16px; border:1px solid #E2E8F0; border-radius:10px; font-size:15px; color:#1E293B; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center; background-size:16px; cursor:pointer; outline:none; -webkit-appearance:none; appearance:none; }
.eurosor-region-filter:focus { border-color:var(--eurosor-primary); box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
.eurosor-count { margin-bottom:24px; font-size:14px; color:#64748B; }
.eurosor-grid { display:grid; grid-template-columns:repeat(var(--eurosor-columns),1fr); gap:28px; margin-bottom:40px; }
.eurosor-card { border:1px solid #E2E8F0; border-radius:var(--eurosor-radius); overflow:hidden; background:#fff; box-shadow:var(--eurosor-shadow); transition:box-shadow .25s,transform .25s; animation:eurosorFadeUp .35s ease both; }
.eurosor-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.1); transform:translateY(-2px); }
.eurosor-card-link { display:block; text-decoration:none; color:inherit; }
.eurosor-card-link:hover { text-decoration:none; color:inherit; }
.eurosor-card-image { width:100%; height:var(--eurosor-img-height); overflow:hidden; background:#F1F5F9; }
.eurosor-card-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.eurosor-card:hover .eurosor-card-image img { transform:scale(1.03); }
.eurosor-card-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#F1F5F9; color:#CBD5E1; }
.eurosor-card-placeholder svg { width:48px; height:48px; }
.eurosor-card-body { padding:20px; }
.eurosor-card-title { font-size:18px; font-weight:600; color:#0F172A; margin:0 0 10px; line-height:1.3; }
.eurosor-card-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.eurosor-badge { display:inline-flex; padding:3px 10px; font-size:12px; font-weight:500; color:var(--eurosor-tag-text); background:var(--eurosor-tag-bg); border:1px solid var(--eurosor-tag-border); border-radius:20px; white-space:nowrap; }
.eurosor-card-desc { font-size:14px; color:#64748B; line-height:1.55; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.eurosor-card-cta { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--eurosor-primary); transition:gap .2s; }
.eurosor-card:hover .eurosor-card-cta { gap:10px; }
.eurosor-card-cta svg { width:16px; height:16px; }
.eurosor-load-more-wrap { display:flex; justify-content:center; margin-bottom:40px; }
.eurosor-load-more { padding:12px 32px; font-size:15px; font-weight:500; color:#1E293B; background:#fff; border:1px solid #E2E8F0; border-radius:10px; cursor:pointer; transition:all .2s; min-width:200px; }
.eurosor-load-more:hover { background:#F8FAFC; border-color:#CBD5E1; }
.eurosor-load-more.loading { pointer-events:none; color:#94A3B8; }
.eurosor-load-more.loading::after { content:''; display:inline-block; width:16px; height:16px; margin-left:8px; border:2px solid #E2E8F0; border-top-color:var(--eurosor-primary); border-radius:50%; animation:eurosor-spin .6s linear infinite; }
@keyframes eurosor-spin { to{transform:rotate(360deg);} }
@keyframes eurosorFadeUp { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }
.eurosor-no-results,.eurosor-no-results-message p { text-align:center; color:#94A3B8; font-size:15px; padding:40px 20px; grid-column:1/-1; }
@media(max-width:1024px) { .eurosor-grid{grid-template-columns:repeat(2,1fr);gap:20px;} }
@media(max-width:768px) { .eurosor-controls{flex-direction:column;} .eurosor-filter-wrap{flex:1;} .eurosor-grid{grid-template-columns:repeat(2,1fr);gap:16px;} .eurosor-card-body{padding:16px;} .eurosor-card-title{font-size:16px;} }
@media(max-width:540px) { .eurosor-grid{grid-template-columns:1fr;} }
