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

CRUISES (U.S. REGISTRANTS)

Page-Specific Styles

Requires:
main.css
jobrestrictions.css (hero, disclaimer, --navy)
travel.css (travel-section, callout, source-list, faq)

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


/*==================================================
THE FIVE QUESTIONS
==================================================*/

.question-grid{

list-style:none;

padding:0 !important;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(170px,1fr));

gap:12px;

margin:16px 0 4px !important;

counter-reset:q;

}

.question-grid li{

margin:0;

padding:14px 16px;

background:white;

border:1px solid #e5e7eb;

border-radius:10px;

line-height:1.5;

counter-increment:q;

}

.question-grid li::before{

content:"Q" counter(q);

display:block;

font-size:.75rem;

font-weight:700;

letter-spacing:.06em;

color:var(--muted);

}

.question-grid strong{

display:block;

color:var(--navy);

margin-bottom:4px;

}


/*==================================================
EVIDENCE BADGES
Labels describe the evidence, never the traveler.
==================================================*/

.ev{

display:inline-block;

padding:2px 10px;

border-radius:999px;

font-size:.74rem;

font-weight:700;

letter-spacing:.04em;

text-transform:uppercase;

line-height:1.6;

white-space:nowrap;

vertical-align:2px;

border:1px solid transparent;

}

.ev-confirmed{ background:var(--navy); color:white; }

.ev-conditional{ background:#fff7cc; color:#5c4a00; border-color:var(--gold); }

.ev-reported{ background:#ede9fe; color:#4c1d95; border-color:#c4b5fd; }

.ev-unresolved{ background:#f1f5f9; color:#334155; border:1px dashed #64748b; }

.ev-legend{

list-style:none;

padding:0 !important;

display:grid;

gap:10px;

margin:12px 0 0 !important;

}

.ev-legend li{

margin:0;

line-height:1.6;

}


/*==================================================
FILTERS
Hidden until js/cruises.js runs; without it every card shows.
==================================================*/

.cruise-filters{

position:sticky;

/* Sits under the fixed site header; js/cruises.js sets the exact offset. */
top:86px;

z-index:5;

max-width:960px;

margin:0 auto 26px;

padding:14px 18px;

background:white;

border:1px solid #e5e7eb;

border-radius:14px;

box-shadow:0 6px 18px rgba(8,26,51,.06);

color:var(--text-dark);

}

.cruise-filters[hidden]{ display:none; }

.filter-row{

display:flex;

flex-wrap:wrap;

align-items:center;

gap:8px;

}

.filter-row + .filter-row{ margin-top:10px; }

.filter-label{

font-size:.8rem;

font-weight:700;

letter-spacing:.05em;

text-transform:uppercase;

color:var(--muted);

margin-right:4px;

}

.filter-btn{

min-height:40px;

padding:8px 14px;

border:1px solid #cbd5e1;

border-radius:999px;

background:white;

color:var(--navy);

font:inherit;

font-size:.9rem;

cursor:pointer;

}

.filter-btn[aria-pressed="true"]{

background:var(--navy);

border-color:var(--navy);

color:white;

}

.filter-btn:focus-visible,
.cruise-card summary:focus-visible{

outline:3px solid var(--primary);

outline-offset:2px;

}

.filter-count{

margin:10px 0 0;

font-size:.88rem;

color:var(--muted);

}


/*==================================================
FINDING CARDS
==================================================*/

.card-list{

list-style:none;

padding:0 !important;

margin:16px 0 0 !important;

}

.cruise-card{

scroll-margin-top:250px;

margin:0 0 12px !important;

background:white;

border:1px solid #e5e7eb;

border-radius:10px;

}

.cruise-card[hidden]{ display:none; }

.cruise-card summary{

position:relative;

padding-right:46px !important;

display:flex;

flex-wrap:wrap;

align-items:center;

gap:6px 10px;

padding:14px 18px;

min-height:48px;

cursor:pointer;

list-style:none;

}

.cruise-card summary::-webkit-details-marker{ display:none; }

.cruise-card summary::after{

content:"+";

position:absolute;

top:14px;

right:18px;

font-size:1.3rem;

line-height:1;

color:var(--muted);

}

.cruise-card[open] summary::after{ content:"\2212"; }

.card-title{

font-weight:700;

color:var(--navy);

font-size:1.05rem;

}

.card-gist{

flex-basis:100%;

font-size:.95rem;

line-height:1.55;

color:var(--text-dark);

}

.card-body{

padding:0 18px 16px;

border-top:1px solid #f1f5f9;

}

.card-body h4{

margin:14px 0 4px;

font-size:.82rem;

letter-spacing:.05em;

text-transform:uppercase;

color:var(--muted);

}

.card-body p{ margin:0 0 10px; }

.card-body blockquote{

margin:8px 0 12px;

padding:10px 14px;

background:#f8fafc;

border-left:3px solid #94a3b8;

border-radius:4px;

font-family:Georgia,serif;

font-size:.95rem;

line-height:1.6;

}

.card-src{

margin:10px 0 0 !important;

padding:0 !important;

list-style:none;

font-size:.88rem;

line-height:1.55;

}

.card-src li{ margin:0 0 6px; }

.card-src a{ overflow-wrap:anywhere; }

.card-verified{

display:block;

margin-top:8px;

font-size:.82rem;

color:var(--muted);

}


/*==================================================
UNRESOLVED LIST
==================================================*/

.open-list li{

margin-bottom:10px;

}


@media (max-width:700px){

/* On a phone the bar would cover half the screen; let it scroll away. */
.cruise-filters{

position:static;

padding:12px;

}

.cruise-card{ scroll-margin-top:96px; }

.filter-btn{

padding:8px 12px;

font-size:.86rem;

}

.cruise-card summary{

padding:12px 14px;

}

.card-body{

padding:0 14px 14px;

}

}
