/* from home + top-cities */
.w2-top-cities-empty{margin-bottom:var(--w2-g5);}
.w2-top-cities{margin-bottom:var(--w2-g7);}
.w2-top-cities .w2-content-title{margin-bottom:var(--w2-g4);}
.w2-top-cities-grid{display:grid;gap:var(--w2-g4);grid-template-columns:1fr;}
@media(min-width:640px){.w2-top-cities-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.w2-top-cities-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.w2-top-cities-grid{grid-template-columns:repeat(4,1fr)}}
.w2-top-city-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--w2-g5);border-radius:var(--w2-rxl);border:1px solid var(--w2-bdr);background:var(--w2-surf);color:inherit;text-decoration:none;transition:var(--w2-tr);}
.w2-top-city-card:hover{border-color:rgba(56,189,248,.5);background:var(--w2-surf2);}
.w2-top-city-card-inner{display:flex;align-items:center;gap:var(--w2-g2);margin-bottom:var(--w2-g2);}
.w2-top-city-flag{height:1.5rem;width:2rem;flex-shrink:0;border-radius:var(--w2-rxs);border:1px solid var(--w2-b);object-fit:cover;}
.w2-top-city-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:var(--w2-g0);}
.w2-top-city-name{font-size:var(--w2-fbase);font-weight:600;color:var(--w2-t);}
.w2-top-city-country{font-size:var(--w2-fsm);color:var(--w2-m);}
.w2-top-city-meta{font-size:var(--w2-fxs);color:var(--w2-m);margin:0;}

/* from resources\views\countries\index.blade.php */
.w2-countries-header{margin-bottom:var(--w2-g6);}
.w2-countries-header h1{font-size:var(--w2-f2xl);font-weight:600;color:var(--w2-t);margin:0;}
.w2-countries-header p{margin:var(--w2-g1) 0 0;font-size:var(--w2-fsm);color:var(--w2-m);}
.w2-countries-card{background:var(--w2-surf);border:1px solid var(--w2-bdr);border-radius:var(--w2-rlg);padding:var(--w2-g5);}
.w2-grid-countries{display:grid;gap:var(--w2-g4);grid-template-columns:repeat(1,1fr);}
@media(min-width:640px){.w2-grid-countries{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.w2-grid-countries{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.w2-grid-countries{grid-template-columns:repeat(4,1fr)}}
.w2-country-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--w2-g5);border-radius:var(--w2-rxl);border:1px solid var(--w2-bdr);background:var(--w2-surf);color:inherit;text-decoration:none;transition:var(--w2-tr);}
.w2-country-card:hover{border-color:rgba(56,189,248,.5);background:var(--w2-surf2);}
.w2-country-card-inner{display:flex;align-items:center;gap:var(--w2-g2);}
.w2-country-card .w2-flag{height:1.5rem;width:2rem;border-radius:var(--w2-rxs);border:1px solid var(--w2-b);object-fit:cover;}
.w2-country-card-text{min-width:0;flex:1;}
.w2-country-code{font-size:var(--w2-fxs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--w2-a);}
.w2-country-name{font-size:var(--w2-fsm);font-weight:600;color:var(--w2-t);margin:0;}
.w2-muted{color:var(--w2-m);font-size:var(--w2-fsm);margin:0;}

/* from resources\views\maps\index.blade.php */
.maps-grid { display: grid; gap: var(--w2-g5); margin-top: var(--w2-g5); }
    @media(min-width:640px){ .maps-grid { grid-template-columns: repeat(2, 1fr); } }
    @media(min-width:1024px){ .maps-grid { grid-template-columns: repeat(3, 1fr); } }
    .maps-card { display: flex; flex-direction: column; border-radius: var(--w2-rxl); border: 1px solid var(--w2-bdr3); background: var(--w2-surf2); padding: var(--w2-g5); transition: border-color .15s, background .15s; text-decoration: none; color: inherit; }
    .maps-card:hover { border-color: var(--w2-a); background: var(--w2-b); }
    .maps-card-icon { width: 3rem; height: 3rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: var(--w2-rlg); background: rgba(14, 165, 233, .8); color: var(--w2-white); margin-bottom: var(--w2-g4); }
    .maps-card:hover .maps-card-icon { background: var(--w2-a); }
    .maps-card h2 { font-size: var(--w2-fbase); font-weight: 600; color: var(--w2-t); margin: 0 0 var(--w2-g1); }
    .maps-card:hover h2 { color: var(--w2-sy0); }
    .maps-card p { font-size: var(--w2-fsm); color: var(--w2-m); margin: 0; }

/* from resources\views\static\contacts.blade.php */
.static-page .static-header { margin-bottom: var(--w2-g7); text-align: center; }
    .static-page[dir="rtl"] .static-header { text-align: right; }
    .static-page .static-title { margin: 0 0 var(--w2-g4); font-size: var(--w2-f3xl); font-weight: 700; color: var(--w2-white); }
    .static-page .static-subtitle { font-size: var(--w2-fbase); color: var(--w2-m); margin: 0; }
    .static-page .static-card { border-radius: var(--w2-rxl); border: 1px solid var(--w2-bdr2); background: var(--w2-surf2); padding: var(--w2-g6); box-shadow: var(--w2-sh); margin-bottom: var(--w2-g5); }
    .static-page .static-success { border-color: rgba(34, 197, 94, .5); background: rgba(22, 101, 52, .2); }
    .static-page .static-success-inner { display: flex; align-items: center; gap: var(--w2-g3); color: #4ade80; }
    .static-page .static-success-inner svg { flex-shrink: 0; width: 1.25rem; height: 1.25rem; }
    .static-page .static-form-group { margin-bottom: var(--w2-g6); }
    .static-page .static-label { display: flex; align-items: center; gap: var(--w2-g3); margin-bottom: var(--w2-g3); font-size: var(--w2-fsm); font-weight: 500; color: var(--w2-s2); }
    .static-page .static-label svg { flex-shrink: 0; width: 1rem; height: 1rem; color: var(--w2-a); }
    .static-page .static-input, .static-page .static-textarea { width: 100%; padding: var(--w2-g2) var(--w2-g4); border-radius: var(--w2-rmd); font-size: var(--w2-fbase); font: inherit; background: var(--w2-s9); border: 1px solid var(--w2-b); color: var(--w2-t); box-shadow: 0 0 0 1px var(--w2-r); transition: border-color .15s, box-shadow .15s; }
    .static-page .static-input::placeholder, .static-page .static-textarea::placeholder { color: var(--w2-m); }
    .static-page .static-input:focus, .static-page .static-textarea:focus { outline: none; border-color: var(--w2-a); box-shadow: 0 0 0 2px var(--w2-ah); }
    .static-page .static-input.error, .static-page .static-textarea.error { border-color: #f87171; }
    .static-page .static-textarea { min-height: 8rem; resize: vertical; }
    .static-page .static-error { margin-top: var(--w2-g1); font-size: var(--w2-fsm); color: #f87171; }
    .static-page .static-submit-wrap { display: flex; justify-content: flex-end; margin-top: var(--w2-g6); }
    .static-page[dir="rtl"] .static-submit-wrap { justify-content: flex-start; }
    .static-page .static-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--w2-g3); padding: var(--w2-g2) var(--w2-g5); border-radius: var(--w2-rmd); font-size: var(--w2-fbase); font-weight: 500; border: none; cursor: pointer; background: var(--w2-a); color: var(--w2-white); transition: background .15s; }
    .static-page .static-btn:hover:not(:disabled) { background: #0ea5e9; }
    .static-page .static-btn:disabled { opacity: .85; cursor: wait; }
    .static-page .static-btn svg { width: 1rem; height: 1rem; flex-shrink: 0; }
    .static-page .static-btn .static-btn-spinner { animation: static-spin .7s linear infinite; }
    .static-page .static-response { font-size: var(--w2-fsm); color: var(--w2-m); margin: 0; }
    @keyframes static-spin { to { transform: rotate(360deg); } }
    .static-page .static-success { animation: static-fade-in .4s ease-out; }
    @keyframes static-fade-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

/* from resources\views\widgets\index.blade.php */
/* Match React layout: title, intro, alignment */
    .widgets-page .widgets-header { margin-bottom: var(--w2-g5); }
    .widgets-page[dir="rtl"] .widgets-header { text-align: right; }
    .widgets-page .widgets-title { margin: 0 0 var(--w2-g4); font-size: var(--w2-f3xl); font-weight: 700; color: var(--w2-white); }
    .widgets-page .widgets-intro { font-size: var(--w2-fbase); color: var(--w2-s3); margin: 0 0 var(--w2-g6); }
    /* Settings grid: mb-10 grid grid-cols-1 gap-x-8 gap-y-6 lg:grid-cols-2 */
    .widgets-page .widgets-settings { display: grid; grid-template-columns: 1fr; gap: var(--w2-g6) var(--w2-g8); margin-bottom: 2.5rem; }
    @media (min-width: 1024px) { .widgets-page .widgets-settings { grid-template-columns: 1fr 1fr; } }
    .widgets-page .widgets-form-group { margin-bottom: 0; }
    .widgets-page .widgets-label { display: block; margin-bottom: var(--w2-g2); font-size: var(--w2-fsm); font-weight: 500; color: var(--w2-s3); }
    .widgets-page .widgets-location-wrap { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--w2-g2); }
    .widgets-page .widgets-location-input-wrap { position: relative; flex: 1; min-width: 0; }
    .widgets-page .widgets-location-input { width: 100%; min-height: 2.5rem; padding: 0.5rem 0.75rem 0.5rem 2.25rem; border-radius: var(--w2-rlg); font-size: var(--w2-fbase); font: inherit; line-height: 1.5; background-color: rgba(30, 41, 59, 0.6); border: 1px solid var(--w2-bdr2); color: var(--w2-s2); box-sizing: border-box; }
    .widgets-page .widgets-location-input::placeholder { color: var(--w2-m); }
    .widgets-page .widgets-location-input:focus { outline: none; border-color: rgba(14, 165, 233, 0.5); box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.3); }
    .widgets-page .widgets-location-input + .widgets-search-icon { position: absolute; left: var(--w2-g3); top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; color: var(--w2-m); pointer-events: none; }
    .widgets-page[dir="rtl"] .widgets-location-input { padding-left: 0.75rem; padding-right: 2.25rem; }
    .widgets-page[dir="rtl"] .widgets-search-icon { left: auto; right: var(--w2-g3); }
    .widgets-page .widgets-location-suggestions { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; margin-top: var(--w2-g1); max-height: 14rem; overflow-y: auto; border-radius: var(--w2-rlg); border: 1px solid var(--w2-bdr2); background: var(--w2-900); box-shadow: var(--w2-sh); list-style: none; padding: 0; margin-top: var(--w2-g1); }
    .widgets-page .widgets-location-suggestions li { margin: 0; }
    .widgets-page .widgets-location-suggestions button { display: flex; align-items: center; gap: var(--w2-g2); width: 100%; padding: var(--w2-g2) var(--w2-g4); text-align: left; font-size: var(--w2-fsm); font: inherit; color: var(--w2-t); background: transparent; border: none; cursor: pointer; transition: background .15s; }
    .widgets-page[dir="rtl"] .widgets-location-suggestions button { text-align: right; }
    .widgets-page .widgets-location-suggestions button:hover { background: var(--w2-s9); }
    .widgets-page .widgets-location-suggestions button.highlight { background: rgba(14, 165, 233, 0.2); }
    .widgets-page .widgets-location-suggestions img { width: 1.25rem; height: 1rem; border-radius: 2px; object-fit: cover; flex-shrink: 0; }
    .widgets-page .widgets-location-suggestions .loc-name { font-weight: 500; }
    .widgets-page .widgets-location-suggestions .loc-code { font-size: var(--w2-fxs); color: var(--w2-m); }
    .widgets-page .widgets-clear-btn { display: inline-flex; align-items: center; gap: 0.375rem; padding: var(--w2-g2) var(--w2-g4); border-radius: var(--w2-rlg); font-size: var(--w2-fsm); font-weight: 500; border: 1px solid var(--w2-bdr3); background: var(--w2-s9); color: var(--w2-s3); cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
    .widgets-page .widgets-clear-btn:hover { border-color: var(--w2-a); background: var(--w2-s96); color: var(--w2-white); }
    .widgets-page .widgets-clear-btn svg { width: 1rem; height: 1rem; flex-shrink: 0; }
    .widgets-page .widgets-location-hint { margin-top: 0.375rem; font-size: var(--w2-fxs); color: var(--w2-m); }
    .widgets-page .widgets-select { width: 100%; min-height: 2.5rem; padding: 0.5rem 2.25rem 0.5rem 0.75rem; border-radius: var(--w2-rlg); font-size: var(--w2-fbase); font: inherit; line-height: 1.5; background-color: rgba(30, 41, 59, 0.6); border: 1px solid var(--w2-bdr2); color: var(--w2-s2); cursor: pointer; appearance: none; background-image: 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='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.5rem center; background-size: 1.25rem; }
    .widgets-page[dir="rtl"] .widgets-select { padding-left: 2.25rem; padding-right: 0.75rem; background-position: left 0.5rem center; }
    .widgets-page .widgets-select:focus { outline: none; border-color: rgba(14, 165, 233, 0.5); box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.3); }
    .widgets-page .widgets-select option { padding: 0.5rem 0.75rem; font-size: var(--w2-fbase); line-height: 1.5; min-height: 2rem; }
    .widgets-page .widgets-apply-btn { display: inline-flex; align-items: center; justify-content: center; padding: var(--w2-g2) var(--w2-g5); border-radius: var(--w2-rlg); font-size: var(--w2-fbase); font-weight: 500; border: 1px solid var(--w2-a); background: var(--w2-a); color: var(--w2-white); cursor: pointer; transition: background .15s, border-color .15s; }
    .widgets-page .widgets-apply-btn:hover { background: #0ea5e9; border-color: #0ea5e9; }
    .widgets-page .widgets-apply-wrap { align-self: flex-end; }
    /* Widget section: same as WidgetEmbedSection */
    .widgets-page .widgets-grid { column-count: 1; column-gap: var(--w2-g8); }
    @media (min-width: 1024px) { .widgets-page .widgets-grid { column-count: 2; } }
    .widgets-page .widget-section { break-inside: avoid; margin-bottom: var(--w2-g7); }
    .widgets-page .widget-section h2 { margin: 0 0 var(--w2-g2); font-size: var(--w2-fxl); font-weight: 600; color: var(--w2-white); }
    .widgets-page .widget-section .widget-desc { margin-bottom: var(--w2-g4); font-size: var(--w2-fbase); color: var(--w2-m); }
    .widgets-page .widget-section .widget-desc code { border-radius: var(--w2-rsm); background: var(--w2-s9); padding: 0.125rem 0.375rem; font-size: var(--w2-fsm); color: #7dd3fc; }
    /* Preview card: rounded-xl border border-slate-700 bg-slate-900/50 p-4 */
    .widgets-page .widget-preview-wrap { margin-bottom: var(--w2-g4); border-radius: var(--w2-rxl); border: 1px solid var(--w2-bdr2); background: rgba(15, 23, 42, 0.5); padding: var(--w2-g4); }
    .widgets-page .widget-preview-label { margin: 0 0 var(--w2-g2); font-size: var(--w2-fxs); font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; color: var(--w2-m); }
    .widgets-page .widget-preview-inner { overflow: hidden; border-radius: var(--w2-rlg); border: 1px solid var(--w2-bdr2); background: var(--w2-950); }
    .widgets-page .widget-preview-frame { width: 100%; border: 0; display: block; vertical-align: top; }
    /* Embed code card: same + header with icon, button */
    .widgets-page .widget-embed-wrap { border-radius: var(--w2-rxl); border: 1px solid var(--w2-bdr2); background: rgba(15, 23, 42, 0.5); padding: var(--w2-g4); }
    .widgets-page .widget-embed-head { display: flex; align-items: center; justify-content: space-between; gap: var(--w2-g2); margin-bottom: var(--w2-g2); }
    .widgets-page .widget-embed-head .embed-label { display: inline-flex; align-items: center; gap: var(--w2-g2); font-size: var(--w2-fxs); font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; color: var(--w2-m); }
    .widgets-page .widget-embed-head .embed-label svg { width: 1rem; height: 1rem; flex-shrink: 0; }
    .widgets-page .widget-copy-btn { display: inline-flex; align-items: center; gap: var(--w2-g2); padding: var(--w2-g2) var(--w2-g4); border-radius: var(--w2-rlg); font-size: var(--w2-fsm); font-weight: 500; border: 1px solid var(--w2-bdr3); background: var(--w2-s9); color: var(--w2-s2); cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
    .widgets-page .widget-copy-btn:hover { border-color: var(--w2-a); background: var(--w2-s96); color: var(--w2-white); }
    .widgets-page .widget-copy-btn:focus { outline: none; box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.5); }
    .widgets-page .widget-copy-btn.copied { border-color: rgba(34, 197, 94, 0.5); background: rgba(15, 23, 42, 0.7); color: #4ade80; }
    .widgets-page .widget-copy-btn svg { width: 1rem; height: 1rem; flex-shrink: 0; }
    .widgets-page .widget-copy-btn .icon-copy { display: inline-block; }
    .widgets-page .widget-copy-btn .icon-check { display: none; }
    .widgets-page .widget-copy-btn.copied .icon-copy { display: none; }
    .widgets-page .widget-copy-btn.copied .icon-check { display: inline-block; }
    .widgets-page pre { margin: 0; overflow-x: auto; border-radius: var(--w2-rlg); border: 1px solid var(--w2-bdr2); background: var(--w2-950); padding: var(--w2-g4); font-size: var(--w2-fsm); color: var(--w2-s3); }
    .widgets-page pre code { font-family: ui-monospace, monospace; white-space: pre; }
    .widgets-page .widget-embed-raw { display: none; }

