/*==================================================
COMPLIANCEATLAS

INTERNATIONAL TRAVEL (U.S. REGISTRANTS)

Page-Specific Styles

Requires:
main.css
jobrestrictions.css (hero, disclaimer, --navy)

==================================================*/


.travel-meta{

margin-top:18px;

font-size:.95rem;

opacity:.85;

}

.travel-toc{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:26px;

}

.travel-toc a{

padding:8px 14px;

border:1px solid rgba(255,255,255,.3);

border-radius:999px;

color:white;

text-decoration:none;

font-size:.92rem;

}

.travel-toc a:hover{

background:rgba(255,255,255,.12);

}


/*==================================================
SECTIONS
==================================================*/

.travel-body{

padding:50px 0 70px;

}

.travel-section{

max-width:960px;

margin:0 auto 34px;

padding:30px 34px;

background:#F8FAFC;

border:1px solid #e5e7eb;

border-radius:14px;

color:var(--text-dark);

line-height:1.8;

scroll-margin-top:90px;

}

.travel-section h2{

color:var(--navy);

font-size:1.6rem;

margin:0 0 6px;

}

.travel-section h3{

color:var(--navy);

font-size:1.12rem;

margin:22px 0 8px;

}

.travel-section p{

margin:0 0 14px;

}

.travel-section ul,
.travel-section ol{

margin:0 0 14px;

padding-left:22px;

}

.travel-section li{

margin-bottom:6px;

}

.travel-section a{

color:var(--primary);

}

.section-basis{

display:block;

margin-bottom:18px;

font-size:.9rem;

color:var(--muted);

}

.callout{

margin:18px 0;

padding:14px 18px;

border-left:4px solid var(--gold);

background:#fff7cc;

border-radius:8px;

}

.endorsement{

margin:14px 0;

padding:14px 18px;

background:white;

border:1px dashed #94a3b8;

border-radius:8px;

font-family:Georgia,serif;

font-style:italic;

}


/*==================================================
TIMELINE
==================================================*/

.timeline{

list-style:none;

padding:0 !important;

counter-reset:step;

}

.timeline li{

position:relative;

padding:0 0 16px 46px;

counter-increment:step;

}

.timeline li::before{

content:counter(step);

position:absolute;

left:0;

top:0;

width:30px;

height:30px;

border-radius:50%;

background:var(--navy);

color:white;

font-weight:700;

display:flex;

align-items:center;

justify-content:center;

font-size:.9rem;

}


/*==================================================
FAQ
==================================================*/

.faq details{

border-top:1px solid #e5e7eb;

padding:12px 0;

}

.faq details:last-child{

border-bottom:1px solid #e5e7eb;

}

.faq summary{

cursor:pointer;

font-weight:600;

color:var(--navy);

}

.faq details p{

margin:10px 0 0;

}


/*==================================================
SOURCES
==================================================*/

.source-list li{

margin-bottom:8px;

}

@media (max-width:700px){

.travel-section{

padding:22px 18px;

}

}


/*==================================================
INTERNATIONAL PAGE BANNER
==================================================*/

.travel-banner{

padding:26px 0 0;

}

.travel-banner-inner{

display:flex;

align-items:center;

justify-content:space-between;

gap:24px;

padding:22px 28px;

background:#fff7cc;

border-left:5px solid var(--gold);

border-radius:12px;

color:var(--text-dark);

}

.travel-banner h2{

margin:0 0 6px;

font-size:1.3rem;

color:var(--navy);

}

.travel-banner p{

margin:0;

line-height:1.6;

}

.travel-banner-link{

flex-shrink:0;

padding:12px 18px;

background:var(--navy);

color:white;

border-radius:10px;

font-weight:600;

text-decoration:none;

}

.travel-banner-link:hover{

opacity:.9;

}

@media (max-width:800px){

.travel-banner-inner{

flex-direction:column;

align-items:flex-start;

}

}


/*==================================================
COUNTRY PAGES (international/<slug>.html)
Generated by scripts/international.mjs
==================================================*/

/* The TOC on country pages is a list: lay the list out as the
   pill row, not the nav, so pills wrap cleanly instead of overlapping. */

.travel-toc ul{

display:flex;

flex-wrap:wrap;

justify-content:center;

gap:10px;

margin:0;

padding:0;

list-style:none;

}

.travel-toc li{

margin:0;

}

.travel-toc a{

display:inline-block;

line-height:1.3;

}

.travel-meta a{

color:white;

text-decoration:underline;

text-underline-offset:3px;

}

/* Claims: one card row per statement, with the basis as a badge. */

.travel-section ul.claims{

list-style:none;

padding:0;

margin:14px 0 0;

}

.claims .claim{

margin:0 0 12px;

padding:14px 18px;

background:white;

border:1px solid #e5e7eb;

border-radius:10px;

}

.claims .claim:last-child{

margin-bottom:0;

}

.claims .section-basis{

display:inline-block;

margin:0 8px 0 0;

padding:2px 10px;

border-radius:999px;

background:var(--navy);

color:white;

font-size:.75rem;

font-weight:700;

letter-spacing:.04em;

text-transform:uppercase;

line-height:1.6;

vertical-align:2px;

}

.claims .claim-none{

background:#f1f5f9;

border-style:dashed;

}

.claims .claim-none .section-basis{

background:#64748b;

}

.claims small{

display:inline-block;

margin-top:6px;

color:var(--muted);

line-height:1.6;

}

.claims small a,
.source-list a{

overflow-wrap:anywhere;

}

.recheck{

display:inline-block;

margin-top:8px;

padding:4px 10px;

background:#fff7cc;

border-left:3px solid var(--gold);

border-radius:4px;

font-size:.88rem;

}

@media (max-width:700px){

.travel-toc ul{

justify-content:flex-start;

gap:8px;

}

.travel-toc a{

padding:7px 12px;

font-size:.85rem;

}

.claims .claim{

padding:12px 14px;

}

}
