/* Pérez & Burgos — biblioteca de Extranjería, V215. */
:root{--imm-navy:#102e3c;--imm-deep:#0b2631;--imm-ink:#334950;--imm-gold:#b58c5c;--imm-sand:#f3eee6;--imm-paper:#fffdf9;--imm-mist:#e8f0ef;--imm-line:rgba(16,46,60,.16);--imm-ok:#236b5c;--imm-warn:#8b5b22}
.immigration-library-page{background:var(--imm-paper);color:var(--imm-ink)}
.imm-hero{overflow:hidden;color:#fff;background:radial-gradient(circle at 84% 14%,rgba(223,180,127,.2),transparent 31%),linear-gradient(122deg,#0b2631 0%,#123844 58%,#1b4d58 100%)}
.imm-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.55fr);gap:clamp(30px,5vw,68px);align-items:center;padding-block:clamp(48px,6vw,76px)}
.imm-hero h1{max-width:930px;margin:9px 0 15px;color:#fff;font:500 clamp(2.3rem,4.4vw,4.2rem)/.98 var(--serif);letter-spacing:-.045em;text-wrap:balance}
.imm-hero .hero-copy{max-width:790px;margin:0;color:#cad7da;font-size:clamp(.96rem,1.25vw,1.08rem);line-height:1.58}
.imm-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}
.imm-hero .button-ghost{border-color:rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.03)}
.imm-hero-aside{padding:7px 0 7px 24px;border-left:1px solid rgba(223,180,127,.62)}
.imm-hero-aside strong{display:block;color:#e0bb8d;font:500 clamp(2.8rem,5vw,4.2rem)/.9 var(--serif)}
.imm-hero-aside span{display:block;margin-top:10px;color:#fff;font-size:.82rem;font-weight:700;line-height:1.4}
.imm-hero-aside small{display:block;margin-top:8px;color:#adbec3;font-size:.72rem;line-height:1.45}
.imm-library-toolbar{position:sticky;top:8px;z-index:10;display:grid;gap:9px;margin:0 0 30px;padding:14px;border:1px solid var(--imm-line);border-radius:5px;background:rgba(255,253,249,.97);box-shadow:0 13px 32px rgba(16,46,60,.09);backdrop-filter:blur(12px)}
.imm-library-toolbar label{color:var(--imm-navy);font:700 .65rem var(--brand);letter-spacing:.1em;text-transform:uppercase}
.imm-library-toolbar input,.imm-library-toolbar select,.imm-tool-form input,.imm-tool-form select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b9c5c4;border-radius:3px;background:#fff;color:var(--imm-ink);font:600 .84rem var(--sans)}
.imm-library-toolbar input:focus,.imm-tool-form input:focus,.imm-tool-form select:focus{outline:0;border-color:#557c86;box-shadow:0 0 0 3px rgba(85,124,134,.14)}
.imm-filter-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.imm-filter-row button{flex:0 0 auto;padding:7px 11px;border:1px solid var(--imm-line);border-radius:2px;background:var(--imm-sand);color:#4d6268;font:700 .72rem var(--sans);cursor:pointer}
.imm-filter-row button:hover,.imm-filter-row button.is-active{border-color:var(--imm-navy);background:var(--imm-navy);color:#fff}
.imm-library-status{color:#64767b;font-size:.72rem}
.guide-index-card[data-sensitive="true"]{border-top:3px solid var(--imm-gold)}
.guide-index-card .guide-card-flag{display:block;margin-top:11px;color:#875d37;font-size:.67rem;font-weight:800}
.imm-guide-caution{margin:20px 0;padding:17px 19px;border:1px solid rgba(181,140,92,.34);border-left:4px solid var(--imm-gold);background:#fbf6ed}
.imm-guide-caution strong{display:block;color:var(--imm-navy);font:600 .76rem var(--brand);letter-spacing:.07em;text-transform:uppercase}
.imm-guide-caution p{margin:5px 0 0;font-size:.83rem;line-height:1.55}
.imm-guide-sections>section{scroll-margin-top:115px}
.imm-guide-sections>section+section{margin-top:31px;padding-top:27px;border-top:1px solid var(--imm-line)}
.imm-guide-sections h2{max-width:720px}
.imm-guide-example{margin:24px 0;padding:19px 20px;background:var(--imm-mist);border-left:3px solid #4c7b80}
.imm-guide-example strong{display:block;margin-bottom:5px;color:var(--imm-navy)}
.imm-guide-faq details{border-top:1px solid var(--imm-line)}
.imm-guide-faq details:last-child{border-bottom:1px solid var(--imm-line)}
.imm-guide-faq summary{padding:13px 4px;color:var(--imm-navy);font-weight:800;cursor:pointer}
.imm-guide-faq details p{margin:0;padding:0 4px 14px;font-size:.83rem;line-height:1.56}
.imm-related-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.imm-related-strip a{display:grid;gap:4px;padding:15px;border:1px solid var(--imm-line);background:#fff;text-decoration:none}
.imm-related-strip span{color:#875d37;font:700 .61rem var(--brand);letter-spacing:.08em;text-transform:uppercase}
.imm-related-strip strong{color:var(--imm-navy);font:500 1rem/1.15 var(--serif)}
.imm-related-strip small{color:#65777b;font-size:.7rem}
.imm-resource-section{background:linear-gradient(180deg,#fffdf9,#f4f0e9)}
.imm-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.imm-resource-card{display:grid;grid-template-rows:auto auto 1fr auto;min-height:210px;padding:18px;border:1px solid var(--imm-line);border-radius:3px;background:#fff;box-shadow:0 10px 26px rgba(16,46,60,.05);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.imm-resource-card:hover{transform:translateY(-2px);border-color:rgba(181,140,92,.58);box-shadow:0 16px 34px rgba(16,46,60,.1)}
.imm-resource-card>span{color:#8a6239;font:700 .61rem/1.4 var(--brand);letter-spacing:.09em;text-transform:uppercase}
.imm-resource-card h3{margin:8px 0;color:var(--imm-navy);font:500 1.2rem/1.12 var(--serif)}
.imm-resource-card p{margin:0;color:#596c71;font-size:.77rem;line-height:1.52}
.imm-resource-card strong{align-self:end;margin-top:16px;padding-top:11px;border-top:1px solid var(--imm-line);color:#704d2f;font-size:.73rem}
.imm-tool-section{padding-block:clamp(34px,5vw,58px)}
.imm-tool-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:clamp(24px,4vw,48px);align-items:start}
.imm-tool-form{padding:22px;border:1px solid var(--imm-line);border-radius:5px;background:#fff;box-shadow:0 16px 42px rgba(16,46,60,.08)}
.imm-tool-form h2{margin:3px 0 9px;color:var(--imm-navy);font:500 clamp(1.55rem,2.3vw,2rem)/1.06 var(--serif)}
.imm-tool-form>p{margin-top:0;color:#607378;font-size:.8rem;line-height:1.52}
.imm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}
.imm-fields label,.imm-tool-form>label{display:grid;gap:5px;color:var(--imm-navy);font-size:.73rem;font-weight:800}
.imm-fields label small,.imm-tool-form label small{color:#6d7e82;font-size:.67rem;font-weight:500;line-height:1.38}
.imm-field-wide{grid-column:1/-1}
.imm-action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.imm-action-row button{cursor:pointer}
.imm-secondary-action{padding:10px 13px;border:1px solid var(--imm-line);border-radius:2px;background:var(--imm-sand);color:var(--imm-navy);font:800 .73rem var(--sans)}
.imm-result{position:sticky;top:105px;min-height:250px;padding:20px;border-radius:5px;color:#fff;background:linear-gradient(145deg,#0d2b37,#174650);box-shadow:0 16px 40px rgba(16,46,60,.17)}
.imm-result .result-empty{display:grid;gap:9px}
.imm-result .result-empty strong,.imm-result h2{color:#fff;font:500 1.55rem/1.08 var(--serif)}
.imm-result p,.imm-result li,.imm-result span{color:#cbd8db;font-size:.78rem;line-height:1.52}
.imm-result .imm-result-number{display:block;margin:8px 0 3px;color:#e1bb8b;font:500 clamp(2.55rem,5vw,3.8rem)/.95 var(--serif)}
.imm-result ul{padding-left:18px}
.imm-result a{color:#f0cfaa}
.imm-result-breakdown{display:grid;gap:1px;margin-top:16px;background:rgba(255,255,255,.16)}
.imm-result-breakdown div{display:flex;justify-content:space-between;gap:14px;padding:10px 11px;background:rgba(6,29,38,.82)}
.imm-result-breakdown strong{color:#fff;font-size:.76rem}
.imm-stays{display:grid;gap:8px;margin-top:14px}
.imm-stay-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--imm-line);background:#faf8f4}
.imm-stay-row button{width:38px;height:46px;border:1px solid #ccb99f;background:#fff;color:#764f2c;font-weight:900;cursor:pointer}
.imm-checkbox{display:flex!important;grid-column:1/-1;grid-template-columns:auto 1fr!important;align-items:start;gap:9px!important;padding:11px;border:1px solid var(--imm-line);background:#faf8f4}
.imm-checkbox input{width:18px!important;min-height:auto!important;margin-top:2px}
.imm-channel-card,.imm-check-card{margin-top:13px;padding:14px;border:1px solid rgba(255,255,255,.16);background:rgba(6,29,38,.55)}
.imm-channel-card strong,.imm-check-card strong{display:block;color:#fff}
.imm-channel-links{display:grid;gap:7px;margin-top:10px}
.imm-channel-links a{padding:9px 10px;border:1px solid rgba(240,207,170,.35);text-decoration:none}
.imm-checklist-output{display:grid;gap:7px;margin-top:13px}
.imm-checklist-output label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:9px;border:1px solid rgba(255,255,255,.14);background:rgba(6,29,38,.46);color:#fff;font-size:.76rem}
.imm-checklist-output input{margin-top:2px}
.imm-tool-explainer{padding-top:0}
.imm-tool-explainer-grid{display:grid;grid-template-columns:210px minmax(0,780px);justify-content:center;gap:clamp(28px,5vw,58px);align-items:start}
.imm-tool-explainer nav{position:sticky;top:105px;display:grid;padding:8px;border:1px solid var(--imm-line);background:#fff}
.imm-tool-explainer nav a{padding:8px 9px;color:#52676d;font-size:.71rem;font-weight:700;text-decoration:none}
.imm-tool-explainer article h2{margin:26px 0 8px;color:var(--imm-navy);font:500 clamp(1.4rem,2vw,1.85rem)/1.08 var(--serif)}
.imm-tool-explainer article p,.imm-tool-explainer article li{font-size:.83rem;line-height:1.58}
.imm-method-note{padding:16px 18px;border-left:3px solid var(--imm-gold);background:var(--imm-sand)}
.imm-model-badge{display:inline-flex;margin-bottom:8px;padding:5px 7px;background:var(--imm-sand);color:#7b5635;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.imm-print-only{display:none}
@media(max-width:1050px){.imm-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.imm-tool-layout,.imm-tool-explainer-grid{grid-template-columns:1fr}.imm-result{position:static}.imm-tool-explainer nav{position:static;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}}
@media(max-width:700px){.imm-hero-grid{grid-template-columns:1fr;gap:24px;padding-block:38px}.imm-hero h1{font-size:clamp(2.1rem,10vw,2.85rem)}.imm-hero-aside{padding:4px 0 4px 17px}.imm-resource-grid,.imm-fields{grid-template-columns:1fr}.imm-resource-card{min-height:0}.imm-field-wide{grid-column:auto}.imm-stay-row{grid-template-columns:1fr 1fr}.imm-stay-row button{grid-column:1/-1;width:100%;height:38px}.imm-related-strip{grid-template-columns:1fr}.imm-library-toolbar{position:relative;top:auto}.imm-tool-form{padding:17px}.imm-action-row .button{width:100%}.imm-secondary-action{width:100%}}
@media(max-width:390px){.imm-stay-row{grid-template-columns:1fr}.imm-stay-row button{grid-column:auto}.imm-hero-actions .button{width:100%;text-align:center}}
@media print{.site-header,.footer,.imm-hero,.imm-action-row,.imm-tool-explainer{display:none!important}.imm-tool-section{padding:0}.imm-tool-layout{display:block}.imm-tool-form{display:none}.imm-result{position:static;color:#111;background:#fff;box-shadow:none}.imm-result p,.imm-result li,.imm-result span{color:#222}.imm-result h2,.imm-result strong{color:#111}.imm-print-only{display:block}}
