*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--eu-blue: #003399;--eu-blue-dark: #002275;--eu-blue-mid: #1a4db8;--eu-blue-faint: #eef3ff;--eu-gold: #ffcc00;--bg-page: #f5f8ff;--bg-card: #ffffff;--text: #0d1b3e;--text-2: #4a5a7a;--text-3: #8a98b8;--border: #d2daea;--shadow-sm: 0 1px 4px rgba(0, 51, 153, .07);--shadow-md: 0 4px 16px rgba(0, 51, 153, .1);--shadow-lg: 0 10px 32px rgba(0, 51, 153, .13);--radius: 12px;--radius-lg: 18px;--radius-full: 999px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--dur-spin: .85s;--dur-slide: .35s;--dur-fade: .3s;--dur-medium: .4s;--dur-fast: .2s;--dur-transition: .5s;--ease-standard: cubic-bezier(.4, 0, .2, 1)}body,html{margin:0;padding:0;font-family:var(--font);background-color:var(--bg-page);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.main-page{min-height:100vh;display:flex;flex-direction:column}.center-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;width:100%;transition:justify-content var(--dur-transition) ease,padding-top var(--dur-transition) ease}.main-page.has-searched .center-container{justify-content:flex-start;padding-top:2.5rem}.header{width:100%;max-width:680px}.header-content{width:100%;display:flex;flex-direction:column;align-items:center}.logo-section{text-align:center;margin-bottom:2.5rem;transition:margin-bottom .45s var(--ease-standard);display:flex;flex-direction:column;align-items:center}.main-page.has-searched .logo-section{margin-bottom:1.5rem}.logo-section--clickable{cursor:pointer;border-radius:var(--radius-lg);outline:none}.logo-section--clickable:hover .eu-stars,.logo-section--clickable:focus-visible .eu-stars{opacity:1}.logo-section--clickable:focus-visible{box-shadow:0 0 0 3px var(--eu-gold)}.eu-stars{display:block;width:72px;height:72px;border-radius:50%;box-shadow:0 4px 16px #00339940;margin-bottom:1.25rem;transition:width var(--dur-medium) ease,height var(--dur-medium) ease,opacity var(--dur-fade) ease,margin-bottom var(--dur-medium) ease}.main-page.has-searched .eu-stars{width:36px;height:36px;margin-bottom:.5rem;opacity:.85}.title{margin:0;font-size:clamp(2.25rem,7vw,3.75rem);font-weight:800;letter-spacing:-.03em;color:var(--eu-blue);line-height:1.1;transition:font-size var(--dur-medium) ease}.main-page.has-searched .title{font-size:clamp(1.5rem,4vw,2rem)}.subtitle{margin:.75rem 0 0;color:var(--text-2);font-size:clamp(.9rem,2.5vw,1.0625rem);line-height:1.55;max-height:5rem;overflow:hidden;transition:opacity var(--dur-fade) ease,max-height var(--dur-medium) ease,margin var(--dur-medium) ease}.main-page.has-searched .subtitle{opacity:0;max-height:0;margin:0}.location-error{margin:.5rem 0 0;font-size:.8125rem;color:#b45309}.search-section{width:100%}.product-search{display:flex;flex-direction:column;gap:1.5rem;width:100%}.search-container{position:relative;width:100%}.search-input{width:100%;padding:.9375rem 5rem .9375rem 3.25rem;font-size:1rem;font-family:var(--font);color:var(--text);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);outline:none;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease;appearance:none;-webkit-appearance:none}.search-input::placeholder{color:var(--text-3)}.search-input:focus{border-color:var(--eu-blue);box-shadow:0 0 0 3px #0033991f,var(--shadow-sm)}.search-icons{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none}.search-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;pointer-events:auto;color:var(--text-3);transition:color var(--dur-fast) ease}.search-button svg{width:1.25rem;height:1.25rem;fill:currentColor}.search-button:hover{color:var(--eu-blue)}.search-button:disabled,.photo-button:disabled{opacity:.4;cursor:not-allowed}.search-actions{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center}.photo-button{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;color:var(--text-3);transition:color var(--dur-fast) ease;border-radius:50%}.photo-button svg{width:1.25rem;height:1.25rem;fill:currentColor}.photo-button:hover{color:var(--eu-blue)}.file-input-hidden{display:none}.clear-query-button{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;color:var(--text-3);transition:color var(--dur-fast) ease;border-radius:50%}.clear-query-button svg{width:1.125rem;height:1.125rem;fill:currentColor}.clear-query-button:hover{color:var(--eu-blue)}.image-preview{position:relative;display:inline-flex;border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--border);box-shadow:var(--shadow-sm);max-width:160px}.image-preview img{display:block;width:100%;height:auto;max-height:120px;object-fit:cover}.clear-image-button{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background var(--dur-fast) ease}.clear-image-button:hover{background:#000c}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-2);gap:.75rem;font-size:.9375rem}.spinner{width:36px;height:36px;border:3px solid rgba(0,51,153,.12);border-top-color:var(--eu-blue);border-radius:50%;animation:spin var(--dur-spin) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:1rem 1.25rem;border-radius:var(--radius);font-size:.9375rem;font-weight:500;width:100%;box-sizing:border-box}.result-card{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--eu-gold);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);animation:slideUp var(--dur-slide) ease-out;transition:opacity .25s ease;width:100%;box-sizing:border-box}.result-card.is-loading{opacity:.65}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.result-category{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--eu-blue);background:var(--eu-blue-faint);border:1px solid rgba(0,51,153,.15);padding:3px 10px;border-radius:var(--radius-full);margin-bottom:1rem}.result-header{font-size:1rem;font-weight:600;color:var(--text);line-height:1.6;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.alternatives-intro{font-size:.875rem;font-weight:600;color:var(--eu-blue);margin:0 0 1rem}.alternatives-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.alternative-item{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.875rem 1rem;background:var(--eu-blue-faint);border-radius:var(--radius);border:1px solid rgba(0,51,153,.08);transition:box-shadow var(--dur-fast) ease,transform var(--dur-fast) ease}.alternative-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.alternative-country{flex-shrink:1;min-width:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--eu-blue);background:var(--bg-card);border:1px solid rgba(0,51,153,.18);padding:2px 8px;border-radius:var(--radius-full);word-break:break-word;overflow-wrap:break-word}.alternative-name{flex:1 1 0;min-width:0;font-size:.9375rem;color:var(--text);font-weight:500;line-height:1.35;word-break:break-word;overflow-wrap:break-word}@media(max-width:600px){.center-container{padding:1.25rem 1rem}.main-page.has-searched .center-container{padding-top:1.5rem}.logo-section{margin-bottom:2rem}.result-card{padding:1.25rem}.alternatives-list{grid-template-columns:1fr}.alternative-item{gap:.375rem}}@media(max-width:380px){.search-input{padding:.8125rem 3.25rem .8125rem 2.875rem;font-size:.9375rem}.search-icons{left:.9rem}.search-actions{right:.75rem}}
