/* EuroSOR Country Guides - Grid Styles */
.eurosor-3pl-wrapper { --eurosor-primary:#6F4BC3;--eurosor-primary-dark:#5C3AA8;--eurosor-tag-bg:#F8F7FB;--eurosor-tag-text:#515463;--eurosor-tag-border:#E6E3EC;--eurosor-radius:12px;--eurosor-img-height:200px;--eurosor-columns:3;--eurosor-shadow:0 1px 3px rgba(28,28,36,0.08),0 1px 2px rgba(28,28,36,0.06); font-family:'Inter',system-ui,-apple-system,sans-serif; max-width:1200px; margin:0 auto; padding:0 16px; box-sizing:border-box; }
.eurosor-3pl-wrapper *,.eurosor-3pl-wrapper *::before,.eurosor-3pl-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:#777B8A; pointer-events:none; }
.eurosor-search { width:100%; height:48px; padding:0 16px 0 44px; border:1px solid #E6E3EC; border-radius:10px; font-size:15px; color:#515463; background:#fff; outline:none; transition:border-color .2s,box-shadow .2s; -webkit-appearance:none; }
.eurosor-search::placeholder { color:#777B8A; }
.eurosor-search:focus { border-color:var(--eurosor-primary); box-shadow:0 0 0 3px rgba(111,75,195,0.12); }
.eurosor-filter-wrap { flex:0 0 200px; }
.eurosor-region-filter { width:100%; height:48px; padding:0 36px 0 16px; border:1px solid #E6E3EC; border-radius:10px; font-size:15px; color:#515463; 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='%23777B8A' 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(111,75,195,0.12); }
.eurosor-count { margin-bottom:24px; font-size:14px; color:#515463; }
.eurosor-grid { display:grid; grid-template-columns:repeat(var(--eurosor-columns),1fr); gap:28px; margin-bottom:40px; }
.eurosor-card { border:1px solid #E6E3EC; 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(28,28,36,0.10); 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:#F8F7FB; }
.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:#F8F7FB; color:#E6E3EC; }
.eurosor-card-placeholder svg { width:48px; height:48px; }
.eurosor-card-body { padding:20px; }
.eurosor-card-title { font-size:18px; font-weight:600; color:#1C1C24; 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:#515463; 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:#515463; background:#fff; border:1px solid #E6E3EC; border-radius:10px; cursor:pointer; transition:all .2s; min-width:200px; }
.eurosor-load-more:hover { background:#F8F7FB; border-color:#E6E3EC; }
.eurosor-load-more.loading { pointer-events:none; color:#777B8A; }
.eurosor-load-more.loading::after { content:''; display:inline-block; width:16px; height:16px; margin-left:8px; border:2px solid #E6E3EC; 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:#777B8A; 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;} }
