/*
Theme Name: MigraFácil
Theme URI: https://migrafacil.es
Author: MigraFácil
Description: Tema ligero para MigraFácil: empleo, extranjería, artículos y LUNA. Español + árabe (RTL) con Polylang.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: migrafacil
*/
:root{--ink:#0e2a47;--ink2:#17395c;--teal:#0b7a75;--teal-d:#095f5b;--sun:#f2b01e;--paper:#f5f7f9;--card:#fff;--muted:#586878;--line:#dde4ea;--ok:#1a7f4b;--bad:#b3261e;--r:12px;--w:1140px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:#1c2a38;font:400 1rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Tahoma,"Noto Sans Arabic",Arial,sans-serif}
:lang(ar) body,body:lang(ar){line-height:1.9}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-d)}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
h1,h2,h3{line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(1.85rem,5vw,2.9rem)}h2{font-size:clamp(1.35rem,3vw,1.85rem)}h3{font-size:1.15rem}
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:1rem}.narrow{max-width:780px}
.skip{position:absolute;inset-inline-start:-999px}.skip:focus{inset-inline-start:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
.section{padding-block:2.5rem}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem}
.section-head h2{margin:0}
/* Header */
.site-header{background:var(--ink);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{font-weight:800;font-size:1.4rem;color:#fff;text-decoration:none;letter-spacing:-.02em}.brand span{color:var(--sun)}
.nav-toggle{display:none;background:none;border:1px solid #ffffff55;color:#fff;border-radius:8px;padding:.45rem .7rem;font-size:1.1rem}
.nav{display:flex;align-items:center;gap:1.25rem}
.nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0}
.nav a{color:#dbe6f1;text-decoration:none;font-weight:600;font-size:.95rem}.nav a:hover,.nav .current>a,.nav a[aria-current]{color:#fff}
.nav .current>a{box-shadow:0 2px 0 var(--sun)}
.lang{display:flex;gap:.4rem;align-items:center;color:#8fa6bd;font-size:.9rem}.lang a{padding:.15rem .3rem;border-radius:6px}.lang a[aria-current]{background:#ffffff1f;color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:.8rem 1.25rem;font:700 1rem/1 inherit;text-decoration:none;cursor:pointer;min-height:46px}
.btn:hover{background:var(--teal-d);color:#fff}.btn-sun{background:var(--sun);color:#1b1b1b}.btn-sun:hover{background:#ffc43d;color:#000}
.btn-line{background:transparent;border:2px solid #ffffff88;color:#fff}.btn-line:hover{background:#ffffff1f}
.btn-sm{padding:.55rem .9rem;min-height:38px;font-size:.9rem}
/* Hero */
.hero{background:var(--ink) radial-gradient(circle at 1px 1px,#ffffff14 1px,transparent 0) 0 0/22px 22px;color:#fff;padding:3rem 0 4.5rem}
.hero h1{color:#fff;max-width:18ch}.hero p{color:#c6d5e4;font-size:1.15rem;max-width:52ch}.hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.searchbox{background:var(--card);border-radius:16px;padding:1.25rem;margin-top:-3rem;box-shadow:0 10px 30px #0e2a4722;position:relative}
.searchbox h2{font-size:1.2rem;margin-bottom:.9rem}
.sgrid{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:760px){.sgrid{grid-template-columns:2fr 1.2fr 1.2fr auto}}
label{font-weight:600;font-size:.9rem;display:block;margin-bottom:.25rem}
input[type=text],input[type=email],input[type=search],input[type=password],input[type=url],input[type=date],input[type=number],select,textarea{width:100%;border:1.5px solid #c5d0da;border-radius:10px;padding:.75rem .85rem;font:inherit;background:#fff;color:inherit;min-height:46px}
textarea{min-height:130px}
/* Cards */
.grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.grid.g3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.25rem}
.card h3{margin-bottom:.35rem}.card h3 a{text-decoration:none;color:var(--ink)}.card h3 a:hover{color:var(--teal-d)}
.job-card{border-inline-start:4px solid var(--teal)}
.meta{color:var(--muted);font-size:.9rem;display:flex;flex-wrap:wrap;gap:.25rem .9rem}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}
.chip{background:#e8f3f2;color:var(--teal-d);border-radius:99px;padding:.15rem .7rem;font-size:.85rem;font-weight:600}.chip.sun{background:#fdf1d3;color:#7a5600}
.guide-card{border-top:4px solid var(--sun)}
.post-card img{border-radius:8px;margin-bottom:.7rem;aspect-ratio:16/9;object-fit:cover;width:100%}
/* Content */
.crumbs{font-size:.88rem;color:var(--muted);padding:1rem 0 .25rem}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-inline-end:.35rem;color:#9aa8b5}
.page-head{padding:1.25rem 0 .5rem}
.prose{max-width:74ch}.prose h2{margin-top:2rem}.prose h3{margin-top:1.5rem}.prose img{border-radius:10px}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);padding:.5rem .7rem}
.layout{display:grid;gap:2rem}@media(min-width:1024px){.layout.with-side{grid-template-columns:minmax(0,1fr) 300px}}
.toc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem;margin:1.25rem 0}.toc strong{display:block;margin-bottom:.4rem}.toc ol{margin:0;padding-inline-start:1.2rem}
.notice{background:#fff8e6;border:1px solid #f0d58a;border-radius:var(--r);padding:.9rem 1.1rem;font-size:.95rem;margin:1.25rem 0}
.notice.bad{background:#fdecea;border-color:#f3b8b3}.notice.ok{background:#e7f6ee;border-color:#a9dcc0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin:.5rem 0;padding:.2rem 1rem}.faq summary{cursor:pointer;font-weight:700;padding:.7rem 0}
.sources{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem;margin:1.5rem 0}.sources ul{margin:.4rem 0 0;padding-inline-start:1.2rem}
.pagination{margin:2rem 0}.pagination .nav-links{display:flex;gap:.4rem;flex-wrap:wrap}.pagination a,.pagination span{padding:.5rem .85rem;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none}.pagination .current{background:var(--ink);color:#fff}
/* Ads */
.ad{margin:1.5rem auto;text-align:center;min-height:100px;max-width:100%}.ad-label{display:block;font-size:.72rem;color:#8a97a3;margin-bottom:.2rem}
.ad-sidebar{display:none}@media(min-width:1024px){.ad-sidebar{display:block;position:sticky;top:84px}}
/* LUNA */
.luna-box{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;height:min(72vh,640px)}
.luna-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;background:#f9fbfc}
.msg{max-width:88%;padding:.7rem .95rem;border-radius:14px;white-space:pre-wrap;word-wrap:break-word}
.msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-end-start-radius:4px}
.msg.me{background:var(--ink);color:#fff;align-self:flex-end;border-end-end-radius:4px}
.msg.typing{color:var(--muted);font-style:italic}
.luna-extra{align-self:stretch;font-size:.92rem}.luna-extra ul{margin:.3rem 0 0;padding-inline-start:1.1rem}
.luna-form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--line);background:#fff}.luna-form input{flex:1}
.luna-note{font-size:.8rem;color:var(--muted);padding:0 .9rem .7rem;background:#fff}
.luna-fab{position:fixed;inset-inline-end:1rem;bottom:1rem;z-index:60;background:var(--sun);color:#1b1b1b;border:0;border-radius:99px;padding:.9rem 1.2rem;font-weight:800;box-shadow:0 6px 20px #0003;cursor:pointer;min-height:48px}
.luna-panel{position:fixed;inset-inline-end:1rem;bottom:4.6rem;z-index:61;width:min(400px,calc(100vw - 2rem))}
.luna-panel .luna-box{height:min(70vh,560px);box-shadow:0 12px 40px #0004}
.luna-panel[hidden]{display:none}
@media(max-width:560px){.luna-panel{inset-inline:0;bottom:0;width:100%}.luna-panel .luna-box{height:82vh;border-radius:16px 16px 0 0}}
/* Forms */
.form{display:grid;gap:.9rem;max-width:560px}.hp{position:absolute;inset-inline-start:-9999px;height:0;overflow:hidden}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}.check input{margin-top:.3rem}
table.tbl{width:100%;border-collapse:collapse;background:#fff}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:.6rem;text-align:start}
/* Footer */
.site-footer{background:var(--ink);color:#b9c9d9;margin-top:3rem;padding:2.5rem 0 1.5rem;font-size:.95rem}
.site-footer a{color:#dbe6f1}.fgrid{display:grid;gap:1.5rem}@media(min-width:760px){.fgrid{grid-template-columns:2fr 1fr 1fr}}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.site-footer h3{color:#fff;font-size:1rem}
.fine{border-top:1px solid #ffffff22;margin-top:1.5rem;padding-top:1rem;font-size:.85rem}
/* Mobile nav */
@media(max-width:900px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:64px;inset-inline:0;background:var(--ink);flex-direction:column;align-items:stretch;padding:1rem;border-top:1px solid #ffffff22}.nav.open{display:flex}.nav ul{flex-direction:column;gap:.2rem}.nav a{display:block;padding:.65rem .25rem}.lang{padding:.4rem 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
