

    

    /* CAT TAG */
    .cat-tag {
      display: inline-block; background: #c81e28; color: #fff;
      font-size: 1.4rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
      padding: 4px 12px; border-radius: 3px; margin: 28px 0 14px;
    }

    

    /* CLAVES */
    .claves-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 1px; background: #dce4f0;
      border: 1px solid #dce4f0; border-radius: 8px; overflow: hidden; margin-bottom: 28px;
    }
    @media(max-width:600px){ .claves-grid { grid-template-columns: repeat(2,1fr); } }
    .clave-item { background: #fff7f7; padding: 16px 14px; text-align: center; }
    .clave-val { font-family: 'Fraunces', serif; font-size: 1.45rem; font-weight: 700; color: #c81e28; line-height: 1.1; margin-bottom: 4px; }
    .clave-label { font-size: 1.4rem; color: #5a6a80; line-height: 1.35; }
    .claves-header { font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #5a6a80; margin-bottom: 10px; }

    /* TOC */
    .toc-box { background: #f0f6ff; border: 1px solid #c5d8f5; border-radius: 8px; padding: 20px 22px; margin-bottom: 32px; }
    .toc-box .toc-title { font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #1155a6; margin-bottom: 12px; }
    .toc-box ol { list-style: none; counter-reset: toc; }
    .toc-box ol li { counter-increment: toc; display: flex; gap: 10px; padding: 5px 0; border-bottom: 1px solid #dce4f0; font-size: 1.5rem; }
    .toc-box ol li:last-child { border-bottom: none; }
    .toc-box ol li::before { content: "0" counter(toc); font-size: 0.68rem; font-weight: 700; color: #c81e28; flex-shrink: 0; margin-top: 2px; }
    .toc-box ol li a { color: #1a1a2e; }
    .toc-box ol li a:hover { color: #1155a6; }

    /* ARTICLE BODY */
    .article-body { font-size: 0.97rem; color: #1a1a2e; }
    .article-body p { margin-bottom: 16px; }
    .article-body h2 {
      font-family: 'Fraunces', serif; font-size: 1.4rem; font-weight: 700; color: #0d1b2e;
      margin: 36px 0 14px; padding-bottom: 8px; border-bottom: 2px solid #e8eef8; line-height: 1.3;
    }
    .article-body h3 { font-size: 1.4rem; font-weight: 600; color: #0d3d7a; margin: 26px 0 10px; }

    /* CALLOUTS */
    .callout { border-radius: 6px; padding: 16px 20px; margin: 22px 0; }
    .callout-red   { background: #fff0f0; border-left: 4px solid #c81e28; }
    .callout-blue  { background: #eaf2ff; border-left: 4px solid #1155a6; }
    .callout-green { background: #eafaf5; border-left: 4px solid #06b06a; }
    .callout-orange{ background: #fff7e6; border-left: 4px solid #f4a261; }
    .callout .callout-label { font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; }
    .callout-red .callout-label   { color: #c81e28; }
    .callout-blue .callout-label  { color: #1155a6; }
    .callout-green .callout-label { color: #06793e; }
    .callout-orange .callout-label{ color: #c97c2a; }
    .callout p { font-size: 1.3rem; margin-bottom: 0; line-height: 1.6; }

    /* BLOCKQUOTE */
    blockquote {
      border-left: 3px solid #c81e28; margin: 20px 0; padding: 14px 20px;
      background: #fff7f7; border-radius: 0 6px 6px 0;
      font-style: italic; font-size: 0.95rem; color: #1a1a2e;
    }
    blockquote cite { display: block; font-size: 1.4rem; font-style: normal; color: #5a6a80; margin-top: 8px; }

    /* TABLES */
    .table-wrap { overflow-x: auto; margin: 20px 0; }
    table { width: 100%; border-collapse: collapse; font-size: 1.5rem; }
    thead { background: #1a1a2e; color: #fff; }
    thead th { padding: 10px 14px; text-align: left; font-weight: 600; font-size: 0.82rem; }
    tbody tr:nth-child(even) { background: #f8faff; }
    tbody tr:nth-child(odd)  { background: #fff; }
    tbody td { padding: 10px 14px; border-bottom: 1px solid #e0e9f5; vertical-align: top; }
    tbody td:first-child { font-weight: 500; }

    /* COUNTRY TAG GRID */
    .country-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
    .ctag {
      background: #f0f4fa; border: 1px solid #c5d0e0;
      border-radius: 4px; padding: 5px 11px; font-size: 1.1rem;
      color: #1a2a3e; font-weight: 500; line-height: 1.3;
    }
    .ctag.ban { background: #fff0f0; border-color: #f5c6c9; color: #8b0000; }
    .ctag.visa { background: #fff7e6; border-color: #f0d4aa; color: #7a4500; }
    .ctag.added { background: #eaf2ff; border-color: #b8d0f0; color: #0d3d7a; }

    /* REGION SECTION */
    .region-block { margin: 24px 0; }
    .region-title {
      font-size: 1.2rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
      color: #fff; background: #1a1a2e; display: inline-block;
      padding: 3px 12px; border-radius: 3px; margin-bottom: 10px;
    }

    /* STEPS */
    .steps-list { list-style: none; counter-reset: steps; margin: 16px 0; }
    .steps-list li { counter-increment: steps; display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; border-bottom: 1px solid #e8eef8; font-size: 1.5rem; }
    .steps-list li:last-child { border-bottom: none; }
    .steps-list li::before {
      content: counter(steps); min-width: 28px; height: 28px;
      background: #c81e28; color: #fff; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.75rem; font-weight: 700; flex-shrink: 0; margin-top: 1px;
    }

    /* FAQ */
    .faq-item { border-bottom: 1px solid #e8eef8; padding: 16px 0; }
    .faq-item:first-of-type { border-top: 1px solid #e8eef8; }
    .faq-q { font-weight: 600; font-size: 0.95rem; color: #0d1b2e; margin-bottom: 8px; }
    .faq-a { font-size: 0.9rem; color: #3a3a3a; line-height: 1.65; }

    /* CONCLUSION */
    .conclusion-box { background: #f0f6ff; border: 1px solid #c5d8f5; border-radius: 8px; padding: 24px 26px; margin: 32px 0; }
    .conclusion-box h2 { font-family: 'Fraunces', serif; font-size: 1.15rem; font-weight: 700; color: #0d3d7a; margin: 0 0 14px; border-bottom: none; padding-bottom: 0; }
    .conclusion-box ul { list-style: none; }
    .conclusion-box ul li { padding: 7px 0; border-bottom: 1px solid #dce4f0; font-size: 0.9rem; display: flex; gap: 10px; align-items: flex-start; }
    .conclusion-box ul li:last-child { border-bottom: none; }
    .conclusion-box ul li::before { content: '✔️'; flex-shrink: 0; }

    /* RELATED */
    .related-box { margin: 36px 0 20px; }
    .related-box h3 { font-family: 'Fraunces', serif; font-size: 1rem; font-weight: 700; color: #0d1b2e; margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px solid #e8eef8; }
    .related-box ul { list-style: none; }
    .related-box ul li { padding: 6px 0; border-bottom: 1px solid #f0f4fa; font-size: 0.875rem; }
    .related-box ul li::before { content: '✔️ '; }

    /* BACK LINK */
    .back-to-top { display: inline-block; font-size: 0.75rem; color: #1155a6; margin-top: 8px; }

    /* SIDEBAR */
    .sidebar { padding-top: 28px; }
    .sidebar-widget { background: #f8faff; border: 1px solid #dce4f0; border-radius: 8px; padding: 18px; margin-bottom: 22px; }
    .sidebar-widget h4 { font-family: 'Fraunces', serif; font-size: 0.95rem; font-weight: 700; color: #0d1b2e; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid #e8eef8; }
    .sidebar-widget ul { list-style: none; }
    .sidebar-widget ul li { font-size: 0.82rem; padding: 6px 0; border-bottom: 1px solid #e8eef8; line-height: 1.4; }
    .sidebar-widget ul li:last-child { border-bottom: none; }
    .sidebar-cta { background: #c81e28; color: #fff; border-radius: 8px; padding: 20px 18px; text-align: center; margin-bottom: 22px; }
    .sidebar-cta h4 { font-size: 1rem; font-weight: 700; margin-bottom: 10px; color: #fff; }
    .sidebar-cta p { font-size: 0.82rem; opacity: 0.9; margin-bottom: 14px; line-height: 1.5; }
    .sidebar-cta a { display: inline-block; background: #ffd166; color: #0d1b2e; font-weight: 700; font-size: 0.82rem; padding: 9px 18px; border-radius: 4px; transition: background 0.2s; }
    .sidebar-cta a:hover { background: #f0bb45; text-decoration: none; }
    .sidebar-alert { background: #fff0f0; border: 1px solid #f5c6c9; border-radius: 8px; padding: 16px; margin-bottom: 22px; }
    .sidebar-alert h4 { font-size: 0.85rem; font-weight: 700; color: #c81e28; margin-bottom: 8px; }
    .sidebar-alert p { font-size: 0.8rem; color: #3a1a1a; line-height: 1.5; margin-bottom: 0; }

    /* FOOTER */
    .site-footer { background: #0d1b2e; color: rgba(255,255,255,0.65); padding: 32px 20px 20px; margin-top: 48px; text-align: center; font-size: 0.8rem; line-height: 1.6; }
    .site-footer a { color: rgba(255,255,255,0.65); }
    .site-footer strong { color: #fff; }

    /* UTILS */
    .section-anchor { scroll-margin-top: 16px; }
    ul.body-list { list-style: disc; padding-left: 22px; margin-bottom: 16px; }
    ul.body-list li { margin-bottom: 7px; font-size: 1.4rem; }