/* ================================================================
   RYDER ITINERARY ARCHIVE — archive.css
   All classes prefixed ra- to avoid conflicts
   ================================================================ */

.ryder-archive-wrap *,
.ryder-archive-wrap *::before,
.ryder-archive-wrap *::after { box-sizing: border-box; }

.ryder-archive-wrap {
  --ra-brown: #2A1E06;
  --ra-brown-90: rgba(42,30,6,.9);
  --ra-brown-light: #3D2E10;
  --ra-gold: #C8A96E;
  --ra-gold-light: #D4BC8B;
  --ra-gold-dark: #A8874E;
  --ra-gold-muted: rgba(200,169,110,.35);
  --ra-ivory: #FAF7F2;
  --ra-cream: #F4EDE2;
  --ra-sand: #E8DFD0;
  --ra-parchment: #F0E8DA;
  --ra-text: #3A2F1E;
  --ra-text-secondary: #6B5D4A;
  --ra-text-muted: #8C7E6A;
  --ra-sidebar-w: 272px;
  --ra-font: 'Optima','Palatino Linotype','Book Antiqua','Palatino','Georgia',serif;
  font-family: var(--ra-font);
  color: var(--ra-text);
  background: var(--ra-ivory);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* ── HERO ── */
.ra-hero { position:relative; height:50vh; min-height:360px; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.ra-hero-bg { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1920&q=80') center/cover no-repeat; }
.ra-hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(42,30,6,.55) 0%,rgba(42,30,6,.22) 40%,rgba(42,30,6,.62) 100%); }
.ra-hero-content { position:relative; z-index:2; padding:0 clamp(20px,5vw,60px); }
.ra-breadcrumb { font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:14px; display:flex; align-items:center; justify-content:center; gap:8px; }
.ra-breadcrumb a { color:rgba(255,255,255,.4); text-decoration:none; }
.ra-breadcrumb a:hover { color:var(--ra-gold); }
.ra-hero-content h1 { font-size:clamp(28px,4.2vw,60px); font-weight:400; color:#fff; line-height:1.1; margin:0 0 16px; font-family:var(--ra-font); animation:raFadeUp .8s .2s both; }
.ra-hero-sub { font-size:clamp(13px,1.15vw,16px); color:rgba(255,255,255,.7); line-height:1.8; max-width:660px; margin:0 auto 18px; animation:raFadeUp .8s .4s both; }
.ra-gold-rule { width:44px; height:1.5px; background:var(--ra-gold); margin:0 auto; animation:raFadeUp .8s .55s both; }
@keyframes raFadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* ── STAT STRIP ── */
.ra-stat-strip { background:var(--ra-parchment); border-bottom:1px solid var(--ra-sand); padding:16px clamp(20px,4vw,48px); }
.ra-stat-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; max-width:1440px; margin:0 auto; }
.ra-stat-group { display:flex; flex-wrap:wrap; }
.ra-stat-item { display:flex; flex-direction:column; padding:0 24px; border-right:1px solid var(--ra-sand); }
.ra-stat-item:first-child { padding-left:0; }
.ra-stat-item:last-child { border-right:none; }
.ra-stat-num { font-size:20px; font-weight:300; color:var(--ra-brown); line-height:1; }
.ra-stat-label { font-size:8.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ra-gold-dark); margin-top:3px; }
.ra-stat-link { font-size:10.5px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--ra-gold-dark); border-bottom:1px solid var(--ra-gold-muted); padding-bottom:1px; white-space:nowrap; text-decoration:none; }
.ra-stat-link:hover { color:var(--ra-brown); }

/* ── MOBILE FILTER TOGGLE ── */
.ra-mob-toggle { display:none; width:100%; align-items:center; gap:10px; padding:13px 20px; background:var(--ra-brown); color:#fff; font-size:11.5px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; border:none; font-family:var(--ra-font); }
.ra-mob-badge { background:var(--ra-gold); color:var(--ra-brown); font-size:9px; padding:2px 6px; border-radius:10px; margin-left:4px; }
.ra-mob-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:800; opacity:0; transition:opacity .3s; }
.ra-mob-overlay.open { opacity:1; }

/* ── LAYOUT ── */
.ra-layout { display:flex; align-items:flex-start; max-width:1440px; margin:0 auto; }

/* ── SIDEBAR ── */
.ra-sidebar { width:var(--ra-sidebar-w); flex-shrink:0; position:sticky; top:0; height:100vh; overflow-y:auto; background:#fff; border-right:1px solid var(--ra-sand); scrollbar-width:thin; scrollbar-color:var(--ra-sand) transparent; }
.ra-sidebar::-webkit-scrollbar { width:3px; }
.ra-sidebar::-webkit-scrollbar-thumb { background:var(--ra-sand); }
.ra-fs-head { padding:20px 20px 16px; border-bottom:1px solid var(--ra-sand); }
.ra-fs-head-title { font-size:9.5px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--ra-text-muted); margin-bottom:8px; }
.ra-fs-count { font-size:13px; color:var(--ra-text-secondary); }
.ra-fs-count strong { color:var(--ra-text); font-weight:600; }
.ra-fs-clear { display:none; margin-top:10px; font-size:9.5px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--ra-gold-dark); background:none; border:none; cursor:pointer; font-family:var(--ra-font); text-decoration:underline; text-underline-offset:2px; }
.ra-fs-clear.visible { display:block; }
.ra-fs-sec { border-bottom:1px solid var(--ra-sand); }
.ra-fs-sec-hdr { display:flex; align-items:center; justify-content:space-between; padding:13px 20px; cursor:pointer; background:none; border:none; width:100%; text-align:left; font-family:var(--ra-font); }
.ra-fs-sec-hdr:hover { background:var(--ra-ivory); }
.ra-fs-sec-label { font-size:10.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ra-text); }
.ra-fs-arrow { font-size:9px; color:var(--ra-text-muted); transition:transform .25s; }
.ra-fs-sec.open .ra-fs-arrow { transform:rotate(180deg); }
.ra-fs-body { max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.22,1,.36,1); }
.ra-fs-sec.open .ra-fs-body { max-height:700px; }
.ra-fs-inner { padding:4px 12px 14px; }
.ra-fs-pill { display:flex; align-items:center; gap:9px; width:100%; padding:7px 8px; background:none; border:none; cursor:pointer; font-family:var(--ra-font); text-align:left; border-radius:3px; transition:background .12s; margin-bottom:1px; }
.ra-fs-pill:hover { background:var(--ra-ivory); }
.ra-fs-pill.active { background:rgba(200,169,110,.12); }
.ra-fs-pill-label { font-size:12px; color:var(--ra-text-secondary); line-height:1.3; flex:1; }
.ra-fs-pill.active .ra-fs-pill-label { color:var(--ra-brown); font-weight:600; }
.ra-fs-check { width:15px; height:15px; border-radius:2px; flex-shrink:0; border:1.5px solid var(--ra-sand); background:#fff; display:flex; align-items:center; justify-content:center; transition:all .12s; }
.ra-fs-pill.active .ra-fs-check { background:var(--ra-gold); border-color:var(--ra-gold); }
.ra-fs-pill.active .ra-fs-check::after { content:'✓'; font-size:8.5px; color:var(--ra-brown); font-weight:700; line-height:1; }
.ra-fs-nights { font-size:13px; font-weight:600; color:var(--ra-gold-dark); text-align:center; margin-bottom:12px; }
.ra-fs-slider { -webkit-appearance:none; appearance:none; width:100%; height:3px; background:var(--ra-sand); border-radius:2px; outline:none; cursor:pointer; display:block; margin-bottom:10px; }
.ra-fs-slider::-webkit-slider-thumb { -webkit-appearance:none; width:17px; height:17px; border-radius:50%; background:var(--ra-gold); cursor:pointer; border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.15); }
.ra-fs-slider-ends { display:flex; justify-content:space-between; font-size:10px; color:var(--ra-text-muted); }
.ra-fs-sort { width:100%; background:var(--ra-ivory); border:1.5px solid var(--ra-sand); color:var(--ra-text); font-family:var(--ra-font); font-size:12px; padding:9px 12px; cursor:pointer; outline:none; border-radius:3px; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238C7E6A'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:28px; }
.ra-fs-sort:focus { border-color:var(--ra-gold); }

/* ── MAIN CONTENT ── */
.ra-content { flex:1; min-width:0; padding:22px clamp(16px,3vw,36px) 60px; }
.ra-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--ra-sand); margin-bottom:20px; flex-wrap:wrap; }
.ra-count-txt { font-size:13px; color:var(--ra-text-muted); }
.ra-count-txt strong { color:var(--ra-text); font-weight:600; }
.ra-view-toggle { display:flex; gap:4px; }
.ra-vt-btn { background:var(--ra-sand); border:1.5px solid var(--ra-sand); color:var(--ra-text-secondary); padding:6px 9px; cursor:pointer; border-radius:2px; transition:all .2s; display:flex; align-items:center; }
.ra-vt-btn.active { background:var(--ra-brown); border-color:var(--ra-brown); color:var(--ra-gold); }
.ra-vt-btn:hover:not(.active) { border-color:var(--ra-gold-dark); }
.ra-active-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:18px; }
.ra-atag { display:inline-flex; align-items:center; gap:4px; font-size:9.5px; font-weight:600; letter-spacing:.5px; color:var(--ra-brown); background:var(--ra-gold); padding:3px 8px; border-radius:2px; }
.ra-atag button { background:none; border:none; color:var(--ra-brown); cursor:pointer; font-size:13px; line-height:1; padding:0 0 0 2px; font-weight:700; }

/* ── GRID ── */
.ra-itin-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:1260px){ .ra-itin-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .ra-itin-grid{ grid-template-columns:1fr; } }
.ra-itin-card { background:#fff; border:1px solid var(--ra-sand); transition:box-shadow .35s,transform .35s,border-color .35s; overflow:hidden; display:flex; flex-direction:column; }
.ra-itin-card:hover { transform:translateY(-4px); box-shadow:0 14px 40px rgba(42,30,6,.12); border-color:var(--ra-gold); }
.ra-card-img-wrap { position:relative; padding-top:66.67%; overflow:hidden; flex-shrink:0; }
.ra-card-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s; background:var(--ra-sand); }
.ra-itin-card:hover .ra-card-img { transform:scale(1.04); }
.ra-code-tag { position:absolute; top:10px; right:10px; background:rgba(42,30,6,.8); color:var(--ra-gold-light); font-size:8.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:3px 8px; font-family:'Courier New',monospace; }
.ra-card-body { padding:16px 18px 14px; display:flex; flex-direction:column; flex:1; }
.ra-cat-badge { font-size:8px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ra-gold-dark); background:var(--ra-gold-muted); padding:3px 8px; display:inline-block; margin-bottom:8px; align-self:flex-start; }
.ra-card-title { font-size:clamp(13px,1.05vw,15.5px); font-weight:600; color:var(--ra-brown); line-height:1.35; margin-bottom:8px; }
.ra-card-dur { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--ra-text-secondary); margin-bottom:8px; }
.ra-dur-dash { width:11px; height:1.5px; background:var(--ra-gold); flex-shrink:0; }
.ra-card-hls { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:8px; }
.ra-hl-pill { font-size:8px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; color:var(--ra-text-muted); background:var(--ra-parchment); padding:2px 6px; border:1px solid var(--ra-sand); }
.ra-card-styles { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:10px; }
.ra-style-tag { font-size:9.5px; font-style:italic; color:var(--ra-text-secondary); }
.ra-style-tag+.ra-style-tag::before { content:'·'; margin-right:3px; color:var(--ra-gold-dark); opacity:.55; }
.ra-card-price { font-size:11px; color:var(--ra-text-secondary); margin-bottom:10px; }
.ra-card-cta { font-size:9.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--ra-gold-dark); display:inline-flex; align-items:center; gap:4px; border-bottom:1px solid transparent; margin-top:auto; transition:all .2s; text-decoration:none; }
.ra-card-cta:hover { color:var(--ra-brown); border-bottom-color:var(--ra-brown); }

/* ── LIST ── */
.ra-itin-list { display:flex; flex-direction:column; gap:12px; }
.ra-list-card { background:#fff; border:1px solid var(--ra-sand); display:flex; align-items:stretch; overflow:hidden; transition:box-shadow .3s,border-color .3s; }
.ra-list-card:hover { box-shadow:0 5px 24px rgba(42,30,6,.1); border-color:var(--ra-gold); }
.ra-list-img { width:200px; flex-shrink:0; position:relative; overflow:hidden; }
.ra-list-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.ra-list-card:hover .ra-list-img img { transform:scale(1.04); }
.ra-list-code { position:absolute; top:8px; right:8px; background:rgba(42,30,6,.8); color:var(--ra-gold-light); font-size:8px; font-weight:700; letter-spacing:1.5px; padding:2px 6px; font-family:monospace; }
.ra-list-body { padding:16px 20px; display:flex; flex-direction:column; justify-content:center; flex:1; gap:5px; }
.ra-list-title { font-size:clamp(13px,1.1vw,16px); font-weight:600; color:var(--ra-brown); line-height:1.3; }
.ra-list-desc { font-size:12px; color:var(--ra-text-secondary); line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ra-list-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.ra-list-dur { font-size:10.5px; color:var(--ra-text-secondary); display:flex; align-items:center; gap:5px; }
.ra-list-dur::before { content:''; display:inline-block; width:10px; height:1.5px; background:var(--ra-gold); }
.ra-list-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
@media(max-width:580px){ .ra-list-card{ flex-direction:column; } .ra-list-img{ width:100%; height:160px; } }

/* ── REVEAL ANIMATION ── */
.ra-rv { opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1); }
.ra-rv.ra-vis { opacity:1; transform:translateY(0); }

/* ── EMPTY STATE ── */
.ra-empty-state { display:none; flex-direction:column; align-items:center; justify-content:center; padding:70px 20px; text-align:center; }
.ra-empty-state.visible { display:flex; }
.ra-empty-state h3 { font-size:19px; font-weight:400; margin-top:18px; margin-bottom:8px; }
.ra-empty-state p { font-size:13px; color:var(--ra-text-muted); margin-bottom:20px; }

/* ── LOAD MORE ── */
.ra-lm-wrap { text-align:center; padding:32px 0 20px; }
.ra-lm-btn { display:inline-block; font-family:var(--ra-font); font-size:10.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; padding:12px 38px; background:transparent; color:var(--ra-text); border:1.5px solid var(--ra-sand); cursor:pointer; transition:all .3s; }
.ra-lm-btn:hover { border-color:var(--ra-gold); color:var(--ra-gold-dark); background:rgba(200,169,110,.05); }
.ra-lm-sub { font-size:11px; color:var(--ra-text-muted); margin-top:9px; }

/* ── UTILITY ── */
.ra-btn { display:inline-block; font-family:var(--ra-font); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; padding:12px 30px; cursor:pointer; border:none; transition:all .3s; }
.ra-btn-gold { background:var(--ra-gold); color:var(--ra-brown); }
.ra-btn-gold:hover { background:var(--ra-gold-dark); transform:translateY(-1px); }

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .ra-mob-toggle { display:flex; }
  .ra-mob-overlay { display:block; }
  .ra-sidebar { position:fixed; top:0; left:0; bottom:0; z-index:900; width:min(292px,85vw); transform:translateX(-100%); transition:transform .35s cubic-bezier(.22,1,.36,1); height:100%; }
  .ra-sidebar.open { transform:translateX(0); }
  .ra-layout { flex-direction:column; }
}
@media(max-width:600px){ .ra-stat-item{ padding:0 12px 0 0; border-right:none; } .ra-stat-group{ gap:10px; } }
@media(prefers-reduced-motion:reduce){ .ra-rv{ opacity:1; transform:none; } .ra-rv.ra-vis{ opacity:1; transform:none; } }
