*{box-sizing:border-box;margin:0;padding:0}

/* APP WRAPPER */
.movetoeu-app{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;min-height:100vh;background:linear-gradient(135deg,#f0f4f8 0%,#e2e8f0 100%);color:#1e293b;line-height:1.6}

/* HEADER */
.app-header{background:white;box-shadow:0 2px 10px rgba(0,0,0,0.1);position:sticky;top:0;z-index:1000}
.header-content{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.logo{display:flex;align-items:center;gap:0.75rem;text-decoration:none;cursor:pointer;transition:transform 0.3s}
.logo:hover{transform:scale(1.05)}
.header-logo-img{width:40px;height:40px;border-radius:8px;object-fit:cover}
.logo-text{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#1e3a8a,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px}
.logo p{font-size:0.75rem;color:#64748b;text-transform:uppercase;letter-spacing:1px}
.main-nav{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center}
.main-nav a{background:none;border:none;padding:0.75rem 1rem;font-size:0.9rem;font-weight:500;color:#475569;border-radius:8px;text-decoration:none;transition:all 0.3s;font-family:inherit;display:inline-block}
.main-nav a:hover{background:#f1f5f9;color:#1e3a8a}
.main-nav a.support-nav-btn{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:white!important;font-weight:bold;padding:0.6rem 1.2rem;border-radius:8px;box-shadow:0 2px 8px rgba(249,115,22,0.3)}
.main-nav a.support-nav-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(249,115,22,0.4);background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}
.settings-btn-static{display:flex;align-items:center;gap:0.4rem;background:#f1f5f9;border:none;border-radius:8px;padding:0.5rem 1rem;color:#475569;font-size:0.9rem;text-decoration:none;font-family:inherit;font-weight:500}
.settings-btn-static:hover{background:#e2e8f0}

/* MAIN */
.app-main{max-width:1400px;margin:0 auto;padding:2rem;min-height:calc(100vh - 200px)}
.page{background:white;border-radius:16px;padding:3rem;box-shadow:0 4px 20px rgba(0,0,0,0.08)}

/* SEO INTRO */
.seo-static-intro{max-width:860px;margin:0 auto 1.5rem auto;padding:1rem 1.25rem;background:#f0f7ff;border-left:4px solid #1e3a8a;border-radius:4px;font-size:0.97rem;line-height:1.7;color:#1e293b}

/* BREADCRUMB */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0.25rem;margin-bottom:1.5rem;font-size:0.9rem;color:#94a3b8}
.breadcrumb-link{background:none;border:none;color:#3b82f6;font-size:0.9rem;text-decoration:none;padding:0;transition:color 0.2s}
.breadcrumb-link:hover{color:#1e3a8a;text-decoration:underline}
.breadcrumb-sep{color:#cbd5e1;margin:0 0.35rem;font-size:0.8rem}
.breadcrumb-current{color:#475569;font-weight:600}

/* GUIDE HEADER */
.guide-content{animation:fadeIn 0.5s ease}
.guide-header{display:flex;align-items:center;gap:2rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #e2e8f0}
.flag-huge{display:none!important;font-size:0!important}
.guide-header h1{font-size:2.5rem;color:#1e3a8a}
.capital{color:#64748b;font-size:1.1rem;margin-top:0.5rem}
.verified{color:#10b981;font-size:0.9rem;margin-top:0.5rem}
.verified-note{color:#94a3b8;font-size:0.8rem;font-style:italic;margin-top:0.25rem}

/* REGISTRATION SECTION */
.registration-section h3{font-size:1.8rem;margin-bottom:1.5rem;color:#1e3a8a}
.registration-card{background:#f8fafc;border:2px solid #e2e8f0;border-left:4px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;transition:all 0.3s}
.registration-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.1);border-left-color:#3b82f6}
.registration-header{padding:1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;background:white}
.registration-header h4{font-size:1.2rem;color:#1e3a8a;margin-bottom:0.25rem}
.authority{color:#64748b;font-size:0.9rem}
.reg-header-top{display:flex;align-items:center;flex-wrap:wrap;gap:0.25rem}
.registration-header>div:first-child{flex:1}
.chevron-icon{transition:transform 0.3s;flex-shrink:0}
.registration-header.expanded .chevron-icon{transform:rotate(180deg)}

/* ACCORDION */
.registration-details{display:none;padding:1.5rem;border-top:2px solid #e2e8f0}
.registration-details.open{display:block}

/* BADGES */
.badge-mandatory{display:inline-block;background:#dc2626;color:#fff;font-size:0.72rem;font-weight:700;padding:0.2rem 0.55rem;border-radius:4px;letter-spacing:0.03em;text-transform:uppercase;margin-left:0.5rem;vertical-align:middle;flex-shrink:0}
.badge-optional{display:inline-block;background:#16a34a;color:#fff;font-size:0.72rem;font-weight:700;padding:0.2rem 0.55rem;border-radius:4px;letter-spacing:0.03em;text-transform:uppercase;margin-left:0.5rem;vertical-align:middle;flex-shrink:0}
.badge-goodtohave{display:inline-block;background:#d97706;color:#fff;font-size:0.72rem;font-weight:700;padding:0.2rem 0.55rem;border-radius:4px;letter-spacing:0.03em;text-transform:uppercase;margin-left:0.5rem;vertical-align:middle;flex-shrink:0}

/* DETAIL ROWS */
.detail-row{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:0.75rem;color:#475569;font-size:0.95rem;line-height:1.5}
.detail-row strong{flex-shrink:0}
.detail-icon-text{font-size:1rem;flex-shrink:0;width:16px;text-align:center}
.detail-deadline{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:0.75rem 1rem;color:#991b1b;margin-bottom:1rem}
.detail-deadline strong{color:#991b1b}
.detail-section{margin:1.25rem 0}
.detail-section strong{display:block;margin-bottom:0.5rem;color:#1e3a8a}
.detail-section ul{list-style:none;padding-left:0}
.detail-where{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1rem}
.detail-where strong{color:#0369a1}
.detail-where p{color:#475569;margin:0.4rem 0 0 0;line-height:1.5;font-size:0.9rem}
.detail-penalty{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f97316;border-radius:8px;padding:1rem;display:flex;align-items:flex-start;gap:0.5rem}
.detail-penalty svg{color:#ea580c;flex-shrink:0;margin-top:2px}
.detail-penalty strong{color:#9a3412;display:block;margin-bottom:0.25rem}
.detail-penalty p{color:#78350f;margin:0;font-size:0.9rem;line-height:1.5}

/* REGIONAL WARNING */
.regional-warning{background:#fef3c7;border-left:4px solid #fbbf24;padding:1rem;margin:1rem 0;display:flex;align-items:flex-start;gap:0.5rem}
.regional-warning strong{color:#92400e}

/* OFFICIAL LINK */
.official-link{display:inline-flex;align-items:center;gap:0.5rem;
  background:linear-gradient(90deg,#1e3a8a,#60a5fa,#3b82f6,#1e3a8a);
  background-size:220% 100%;background-position:0% center;
  color:white!important;padding:0.75rem 1.5rem;border-radius:8px;
  text-decoration:none;font-weight:600;transition:transform 0.3s,box-shadow 0.3s;
  margin-top:1rem;position:relative;overflow:hidden;
  animation:guideShimmer 2.4s linear infinite,guideGlow 2.4s ease-in-out infinite;
}
.official-link::after{content:'';position:absolute;top:-60%;left:-70%;
  width:42%;height:220%;
  background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.40) 45%,rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);opacity:0;pointer-events:none;
  animation:guideSweep 2.8s ease-in-out infinite;
}
.official-link:hover{transform:translateY(-2px);
  box-shadow:0 0 36px rgba(59,130,246,0.85),0 0 64px rgba(96,165,250,0.55),0 6px 24px rgba(30,95,204,0.6);
}
@keyframes guideShimmer{0%{background-position:0% center}100%{background-position:220% center}}
@keyframes guideGlow{
  0%{box-shadow:-22px 2px 38px rgba(59,130,246,0.75),0 0 18px rgba(59,130,246,0.35);}
  50%{box-shadow:22px 2px 38px rgba(59,130,246,0.75),0 0 18px rgba(59,130,246,0.35);}
  100%{box-shadow:-22px 2px 38px rgba(59,130,246,0.75),0 0 18px rgba(59,130,246,0.35);}
}
@keyframes guideSweep{
  0%{left:-70%;opacity:0;}12%{opacity:0.85;}48%{left:125%;opacity:0;}100%{left:125%;opacity:0;}
}
@media(prefers-reduced-motion:reduce){
  .official-link{animation:none;}
  .official-link::after{animation:none;opacity:0;}
}

/* EXPORT */
.export-section{display:flex;gap:1rem;margin-top:3rem;flex-wrap:wrap}
.export-btn{display:flex;align-items:center;gap:0.5rem;background:white;border:2px solid #3b82f6;color:#3b82f6;padding:0.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all 0.3s;font-size:0.9rem;font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
.export-btn:hover{background:#eff6ff}


/* FOOTER */
.app-footer{background:#0f172a;color:#cbd5e1;padding:0;margin-top:4rem;font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
.footer-columns{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding:3.5rem 2rem 3rem}
.footer-brand p{color:#94a3b8;line-height:1.7;font-size:0.9rem;margin-top:0.75rem}
.footer-logo{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.25rem}
.footer-logo-icon{font-size:1.8rem}
.footer-logo-text{font-size:1.5rem;font-weight:800;color:white;letter-spacing:0.05em}
.footer-col h4{color:#e2a74b;font-size:1rem;font-weight:700;margin-bottom:1.25rem;letter-spacing:0.03em}
.footer-col a{display:block;background:none;border:none;color:#94a3b8;padding:0.3rem 0;text-decoration:none;text-align:left;font-size:0.9rem;font-family:inherit;transition:color 0.2s}
.footer-col a:hover{color:white}
.footer-col-note{display:block;color:#64748b;font-size:0.9rem;font-family:inherit;padding:0.3rem 0;font-style:italic}
.footer-disclaimer-bar{max-width:1200px;margin:0 auto;padding:2rem;border-top:1px solid rgba(255,255,255,0.08)}
.footer-disclaimer-bar p{color:#64748b;font-size:0.82rem;line-height:1.7}
.footer-disclaimer-bar strong{color:#94a3b8}
.footer-privacy-line{margin-top:0.75rem}
.footer-legal-addendum{margin-top:0.5rem;font-style:italic}
.footer-inline-link{color:#3b82f6;text-decoration:underline}
.footer-bottom{max-width:1200px;margin:0 auto;padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,0.06)}
.footer-bottom p{color:#475569;font-size:0.82rem}

/* BACK TO TOP */
#back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;left:auto;top:auto;transform:none;z-index:9999;display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid #bfdbfe;background:#ffffff;color:#1e3a8a;box-shadow:0 10px 30px rgba(15,23,42,0.15);cursor:pointer;font-size:18px;font-weight:700;line-height:1}
#back-to-top:hover{background:#eff6ff;border-color:#93c5fd}
#back-to-top:focus{outline:2px solid #3b82f6;outline-offset:2px}

/* ANIMATIONS */
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* MOBILE */
.mobile-menu-btn{display:none;background:none;border:1px solid #e2e8f0;border-radius:8px;padding:0.5rem 0.75rem;cursor:pointer;font-size:1.2rem;color:#475569;transition:background 0.2s;}
.mobile-menu-btn:hover{background:#f1f5f9;}

/* Mobile nav slide-in drawer overlay */
.mteu-nav-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,0.45);z-index:998;opacity:0;transition:opacity 0.28s ease;}
.mteu-nav-overlay.open{display:block;opacity:1;}

@media(max-width:768px){
  .mobile-menu-btn{display:flex;align-items:center;}
  .main-nav{
    display:flex;flex-direction:column;gap:0;
    position:fixed;top:0;right:0;bottom:0;width:78vw;max-width:300px;
    background:white;padding:1.5rem 1rem 2rem;
    box-shadow:-4px 0 24px rgba(0,0,0,0.18);
    border-top:none;z-index:999;
    overflow-y:auto;
    transform:translateX(100%);
    transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
  }
  .main-nav.open{transform:translateX(0);}
  .main-nav a{padding:0.85rem 1rem;border-radius:8px;width:100%;font-size:1rem;border-bottom:1px solid #f1f5f9;}
  .main-nav a:last-child{border-bottom:none;}
  .header-content{flex-wrap:wrap;padding:0.75rem 1rem}
  .app-main{padding:1rem}
  .page{padding:1.5rem}
  .guide-header{flex-direction:column;gap:1rem;text-align:center}
  .guide-header h1{font-size:1.8rem}
  .flag-huge{font-size:3.5rem}
  .footer-columns{grid-template-columns:1fr 1fr;gap:2rem;padding:2.5rem 1.5rem 2rem}
}

@media(max-width:480px){
  .footer-columns{grid-template-columns:1fr}
}

@media print{
  .app-header,.main-nav,.export-section,.settings-btn-static{display:none!important}
  body{background:#fff!important}
  .page{box-shadow:none!important;padding:0!important}
}

/* AUDIENCE FILTER BAR */
.audience-filter-wrap{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 100%);border:1px solid #c7d7fc;border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.75rem;box-shadow:0 2px 8px rgba(30,58,138,0.07)}
.audience-filter-inner{display:flex;align-items:center;flex-wrap:wrap;gap:0.75rem}
.audience-filter-label{font-size:0.95rem;font-weight:700;color:#1e3a8a;white-space:nowrap;letter-spacing:0.01em}
.audience-filter-bar{display:flex;flex-wrap:wrap;gap:0.5rem}
.filter-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.55rem 1.1rem;font-size:0.92rem;font-weight:600;font-family:inherit;border:2px solid #c7d7fc;border-radius:999px;background:white;color:#3b5bdb;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;box-shadow:0 1px 4px rgba(30,58,138,0.08);line-height:1.2}
.filter-btn:hover{background:#eff4ff;border-color:#748ffc;color:#1e3a8a;box-shadow:0 3px 10px rgba(30,58,138,0.15);transform:translateY(-1px)}
.filter-btn.active{background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%);border-color:transparent;color:white;box-shadow:0 4px 12px rgba(30,58,138,0.35);transform:translateY(-1px)}
.filter-btn.active svg{stroke:white}
.filter-btn svg{stroke:#3b5bdb;flex-shrink:0;transition:stroke 0.2s}
.filter-btn:hover svg{stroke:#1e3a8a}
@media(max-width:600px){.audience-filter-inner{flex-direction:column;align-items:flex-start}.filter-btn{font-size:0.87rem;padding:0.5rem 0.9rem}}

/* AUDIENCE BADGES (EU + Non-EU, EU Citizens Only, Non-EU Citizens Only) */
.badge-both{display:inline-flex;align-items:center;gap:0.3rem;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;font-size:0.7rem;font-weight:700;padding:0.22rem 0.6rem;border-radius:999px;letter-spacing:0.04em;text-transform:uppercase;margin-left:0.4rem;vertical-align:middle;flex-shrink:0;white-space:nowrap;box-shadow:0 1px 4px rgba(30,58,138,0.25)}
.badge-eu-only{display:inline-flex;align-items:center;gap:0.3rem;background:linear-gradient(135deg,#0369a1,#38bdf8);color:#fff;font-size:0.7rem;font-weight:700;padding:0.22rem 0.6rem;border-radius:999px;letter-spacing:0.04em;text-transform:uppercase;margin-left:0.4rem;vertical-align:middle;flex-shrink:0;white-space:nowrap;box-shadow:0 1px 4px rgba(3,105,161,0.25)}
.badge-noneu-only{display:inline-flex;align-items:center;gap:0.3rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;font-size:0.7rem;font-weight:700;padding:0.22rem 0.6rem;border-radius:999px;letter-spacing:0.04em;text-transform:uppercase;margin-left:0.4rem;vertical-align:middle;flex-shrink:0;white-space:nowrap;box-shadow:0 1px 4px rgba(124,58,237,0.25)}

/* CHEVRON — larger and more visible */
.chevron-icon{width:26px;height:26px;transition:transform 0.3s,color 0.2s;flex-shrink:0;color:#3b82f6;opacity:0.85}
.registration-header:hover .chevron-icon{opacity:1;color:#1e3a8a}
.registration-header.expanded .chevron-icon{transform:rotate(180deg);color:#1e3a8a;opacity:1}

/* FILTER HINT — always shown below the filter bar */
.filter-hint{margin:0.6rem 0 0 0;font-size:0.88rem;color:#475569;min-height:1.3em;padding:0}

/* AFFILIATE RECOMMENDATION SUB-SECTION (inside card details) */
.detail-recommend{background:#f0f7ff;border:1px solid #bfdbfe;border-left:4px solid #3b82f6;border-radius:8px;padding:0.85rem 1rem;margin-top:1rem}
.detail-recommend strong{display:block;color:#1e3a8a;font-size:0.85rem;font-weight:700;margin-bottom:0.55rem;text-transform:uppercase;letter-spacing:0.04em}
.detail-recommend ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.35rem}
.detail-recommend li{font-size:0.88rem;color:#334155;line-height:1.5;display:flex;align-items:baseline;gap:0.4rem;flex-wrap:wrap}
.detail-recommend li>a{flex-shrink:0}
.detail-recommend li>a::after{content:' ·';color:#94a3b8;font-weight:400;margin-left:0.1rem}
.detail-recommend a{color:#1d4ed8;font-weight:600;text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;gap:0.4rem}
.detail-recommend a:hover{color:#1e40af}

/* Partner logos injected via ::before on each known affiliate link */
.detail-recommend a::before{
  content:'';
  display:inline-block;
  width:22px;
  height:22px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  border-radius:4px;
  flex-shrink:0;
  vertical-align:middle;
  box-shadow:0 1px 3px rgba(0,0,0,0.12);
}
.detail-recommend a[href*="safetywing"]::before{background-image:url(/assets/safetywing.png)}
.detail-recommend a[href*="translayte"]::before{background-image:url(/assets/translayte.png)}
.detail-recommend a[href*="rushtranslate"]::before{background-image:url(/assets/rushtranslate.png)}
.detail-recommend a[href*="flatio"]::before{background-image:url(/assets/flatio.png)}
.detail-recommend a[href*="mybaggage"]::before{background-image:url(/assets/mybaggage.png)}
.detail-recommend a[href*="parcelabc"]::before{background-image:url(/assets/parcelabc.png)}
.detail-recommend a[href*="wise.com"]::before,.detail-recommend a[href*="wise.prf.hn"]::before{background-image:url(/assets/wise.png)}
.detail-recommend a[href*="mobimatter"]::before{background-image:url(/assets/mobimatter.png)}
.detail-recommend a[href*="simoptions"]::before{background-image:url(/assets/simoptions.png)}
.detail-recommend a[href*="saily"]::before{background-image:url(/assets/saily.png)}
.detail-recommend a[href*="feather"]::before{background-image:url(/assets/feather.png)}

/* SEO — semantic structure helpers */
.guide-page h1{font-size:clamp(1.6rem,4vw,2.5rem)}
.guide-page h2,
.guide-page h3{font-size:clamp(1.1rem,3vw,1.8rem)}
.registration-card h4{font-size:clamp(1rem,2.5vw,1.2rem)}

/* MOBILE IMPROVEMENTS — does not affect desktop layout */
@media(max-width:768px){
  /* Cards */
  .registration-header{padding:1rem}
  .registration-details{padding:1rem}
  .registration-card{margin-bottom:1rem}
  /* Detail rows wrap cleanly */
  .detail-row{flex-wrap:wrap;gap:0.4rem}
  /* Audience filter */
  .audience-filter-wrap{padding:0.75rem 0.9rem}
  .audience-filter-bar{gap:0.4rem}
  /* Recommend sub-section */
  .detail-recommend ul{gap:0.5rem}
  /* Official link full width on mobile */
  .official-link{display:flex;justify-content:center;text-align:center}
  /* Breadcrumb smaller */
  .breadcrumb{font-size:0.82rem}
  /* Export buttons stack */
  .export-section{flex-direction:column}
  /* Footer single column already handled above */
  /* Back to top repositioned for mobile thumb zone */
  #back-to-top{top:auto;bottom:1.25rem;left:auto;right:1.25rem;transform:none}
}

@media(max-width:480px){
  .page.guide-page{padding:1rem}
  .audience-filter-label{font-size:0.88rem}
  .filter-btn{font-size:0.82rem;padding:0.45rem 0.8rem}
  .guide-header h1{font-size:1.5rem}
  .flag-huge{font-size:3rem}
  /* Improvement 4: sticky selector below taller mobile header */
  .guide-page .country-selector{top:68px}
  /* Improvement 7: footer link tap targets on small screens */
  .footer-col a{padding:0.5rem 0;font-size:0.95rem}
  .footer-col-note{padding:0.5rem 0}
}
