/* =====================================================================
   VB.com — Visitors Bureau (/visitorsbureau/)
   Styles scoped under .vbb so they never touch the shared vb.com theme
   (header.souspage.php / footer.souspage.php, Bootstrap 3 + nexus.css).
   ===================================================================== */
.vbb{
  --ink:#1d1b1a; --ink-soft:#5a5654; --paper:#ffffff; --paper-2:#efeeec; --line:#d9d6d2;
  --vb-red:#b12121; --vb-orange:#f08a35; --link:#0b3d91;
  --f-display:"PT Serif", Georgia, "Times New Roman", serif;
  --f-body:"PT Sans", "Helvetica Neue", Arial, sans-serif;
  --f-ui:"Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  background:var(--paper); color:var(--ink); font-family:var(--f-body); font-size:16px; line-height:1.6;
  padding:0 !important; overflow:hidden; border-radius:0 0 6px 6px; margin-bottom:22px;
}
.vbb *,.vbb *::before,.vbb *::after{box-sizing:border-box}
.vbb [hidden]{display:none !important}
.vbb a{color:var(--link)}
.vbb a:focus-visible,.vbb button:focus-visible,.vbb input:focus-visible{outline:3px solid var(--vb-orange);outline-offset:2px}
.vbb h1,.vbb h2,.vbb h3{font-family:var(--f-display);color:inherit;text-transform:none;letter-spacing:0;text-shadow:none}
.vbb .vbb-pad{padding-left:clamp(16px,4vw,48px);padding-right:clamp(16px,4vw,48px)}

/* breadcrumb */
.vbb-crumb{font-family:var(--f-ui);font-size:13px;letter-spacing:.04em;color:var(--ink-soft);padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line);margin:0}
.vbb-crumb a{color:var(--ink-soft)}

/* intro */
.vbb-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(28px,5vw,56px)}
.vbb-eyebrow{font-family:var(--f-ui);text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--vb-red);margin:0 0 10px}
.vbb h1{font-size:clamp(32px,4.6vw,52px);line-height:1.08;margin:0 0 18px;font-weight:700}
.vbb h1 em{font-style:italic;font-weight:400;color:var(--vb-red)}
.vbb-lede{font-size:18px;max-width:60ch;margin:0 0 12px}
.vbb-lede + p{max-width:60ch;color:var(--ink-soft);margin:0}
.vbb-intro figure{margin:0;text-align:center}
.vbb-intro figure img{width:300px;max-width:100%;height:auto}
.vbb-intro figcaption{font-family:var(--f-ui);font-size:13px;color:var(--ink-soft)}
.vbb-facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.vbb-facts li{padding:12px 16px 0 0;margin-right:16px;border-right:1px solid var(--line)}
.vbb-facts li:last-child{border:0;margin-right:0}
.vbb-facts b{display:block;font-family:var(--f-display);font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink)}
.vbb-facts span{font-family:var(--f-ui);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}

/* directory */
.vbb-dir{background:var(--paper-2);padding-top:clamp(24px,4vw,44px);padding-bottom:clamp(24px,4vw,44px)}
.vbb h2{font-size:clamp(24px,3vw,32px);margin:0 0 4px;color:var(--vb-red);font-weight:700}
.vbb-dir > p{margin:0 0 20px;color:var(--ink-soft)}
.vbb-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.vbb-search{position:relative}
.vbb-lbl{display:block;font-family:var(--f-ui);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 4px;font-weight:400}
.vbb-search input{width:100%;font:inherit;font-size:17px;height:auto;padding:12px 14px 12px 42px;border:2px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:none}
.vbb-search svg{position:absolute;left:13px;bottom:15px;width:18px;height:18px;color:var(--ink)}
.vbb-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--paper)}
.vbb-seg button{font-family:var(--f-ui);font-size:14px;border:0;background:transparent;color:var(--ink);padding:11px 14px;cursor:pointer;line-height:1.3}
.vbb-seg button + button{border-left:1px solid var(--ink)}
.vbb-seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.vbb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.vbb-chips .vbb-lbl{margin:0 4px 0 0;min-width:64px}
.vbb-chip{font-family:var(--f-ui);font-size:14px;line-height:1.4;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:5px 12px;cursor:pointer}
.vbb-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.vbb-chip small{opacity:.65;margin-left:4px;font-size:12px;font-variant-numeric:tabular-nums}
.vbb-count{font-family:var(--f-ui);font-size:14px;color:var(--ink-soft);margin:18px 0 10px}
.vbb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.vbb-period{display:flex;align-items:baseline;gap:12px;margin:28px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--vb-red)}
.vbb-period:first-child{margin-top:4px}
.vbb-period h3{font-size:26px;margin:0;color:var(--vb-red);font-variant-numeric:tabular-nums}
.vbb-period span{font-family:var(--f-ui);font-size:13px;color:var(--ink-soft)}

/* card */
.vbb-card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-width:0;transition:border-color .15s}
.vbb-card:hover{border-color:var(--ink)}
.vbb-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.vbb-city{font-size:21px;line-height:1.2;margin:0;font-weight:700}
.vbb-where{font-family:var(--f-ui);font-size:13px;color:var(--ink-soft)}
.vbb-dom{font-weight:700;font-size:16px;color:var(--link);text-decoration:none;overflow-wrap:anywhere}
.vbb-dom:hover{text-decoration:underline}
.vbb-nolink{color:var(--ink);cursor:default}
.vbb-nolink:hover{text-decoration:none}
.vbb-dates{display:flex;flex-direction:column;gap:6px;font-family:var(--f-ui);font-size:13px;color:var(--ink-soft);margin-top:auto;padding-top:8px;border-top:1px dashed var(--line);font-variant-numeric:tabular-nums}
.vbb-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0}
.vbb-dl dt{color:var(--ink-soft);font-weight:400}
.vbb-dl dd{margin:0;color:var(--ink);font-weight:700}
.vbb-note{font-size:12px;font-style:italic}
.vbb-pill{font-family:var(--f-ui);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:999px;white-space:nowrap}
.vbb-pill.live{background:#e3f1e5;color:#1f5a2a}
.vbb-pill.old{background:#ececec;color:#555}
.vbb-empty{padding:28px;text-align:center;color:var(--ink-soft);border:1px dashed var(--line);border-radius:4px;background:var(--paper)}

/* history */
.vbb-story{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(28px,5vw,56px)}
.vbb-tl{list-style:none;margin:16px 0 0;padding:0;border-left:2px solid var(--vb-red)}
.vbb-tl li{position:relative;padding:8px 14px 10px 22px;margin-bottom:6px}
.vbb-tl li::before{content:"";position:absolute;left:-8px;top:15px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:2px solid var(--vb-red);z-index:1}
.vbb-tl b{font-family:var(--f-display);font-size:20px;display:block;font-variant-numeric:tabular-nums;color:var(--ink)}
.vbb-tl-hint{font-family:var(--f-ui);font-size:14px;color:var(--ink-soft);margin:6px 0 0}
/* dates with photos: frame drawn on hover, kept on click (timeline red), photos open in place */
.vbb-ev{cursor:pointer;border:2px solid transparent;border-left:0;border-radius:0 6px 6px 0;transition:border-color .15s,background-color .15s}
.vbb-ev:hover{border-color:rgba(177,33,33,.45)}
.vbb-ev[aria-expanded="true"]{border-color:var(--vb-red);background:#fffaf9}
.vbb-tl .vbb-ev[aria-expanded="true"]::before{background:var(--vb-red)}
.vbb-ev:focus-visible{outline:3px solid var(--vb-orange);outline-offset:2px}
.vbb-cam{display:inline-block;margin-left:12px;vertical-align:3px;font-family:var(--f-ui);font-size:12px;font-weight:400;letter-spacing:.04em;line-height:1.6;color:var(--vb-red);border:1px solid rgba(177,33,33,.45);border-radius:999px;padding:0 9px;white-space:nowrap}
.vbb-cam svg{width:12px;height:12px;vertical-align:-1px;margin-right:4px}
.vbb-ev[aria-expanded="true"] .vbb-cam{background:var(--vb-red);color:#fff;border-color:var(--vb-red)}
.vbb-pics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;margin:14px 0 4px;max-width:900px;cursor:default}
.vbb-pics[hidden]{display:none}
.vbb-pics figure{margin:0}
.vbb-pics img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--line)}
.vbb-pics figcaption{font-family:var(--f-ui);font-size:13px;color:var(--ink-soft);margin-top:6px}
.vbb-story figure{margin:0}
.vbb-story figure img{width:100%;height:auto;border-radius:3px}
.vbb-story figcaption{font-family:var(--f-ui);font-size:13px;color:var(--ink-soft);margin-top:6px}
.vbb-cta{grid-column:1/-1;background:var(--ink);color:#fff;border-radius:4px;padding:24px clamp(16px,3vw,32px);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.vbb-cta p{margin:0;max-width:60ch}
.vbb-cta strong{font-family:var(--f-display);font-size:22px;display:block;color:var(--vb-orange)}
.vbb-btns{display:flex;flex-wrap:wrap;gap:10px}
.vbb-btn{display:inline-block;font-family:var(--f-ui);text-transform:uppercase;letter-spacing:.08em;font-size:14px;text-decoration:none !important;padding:11px 18px;border-radius:4px;border:2px solid #fff;color:#fff !important}
.vbb-endlogo{grid-column:1/-1;margin:0;text-align:center}
.vbb-endlogo img{width:240px;max-width:100%;height:auto}
.vbb-endlogo-gvl{display:inline-block;margin-top:40px}
.vbb-endlogo .vbb-endlogo-gvl img{width:300px}
.vbb-endlogo p{margin:10px auto 0;max-width:46ch;font-family:var(--f-display);font-style:italic;font-size:18px;line-height:1.45;color:var(--ink);text-wrap:balance}
.vbb-btn.solid{background:#fff;color:var(--ink) !important}

/* city groups (e.g. the 20 visitparisNN.com) */
.vbb-group{cursor:pointer;box-shadow:5px 5px 0 -1px var(--paper),5px 5px 0 0 var(--line),10px 10px 0 -1px var(--paper),10px 10px 0 0 var(--line)}
.vbb-group:hover,.vbb-group:focus-visible{border-color:var(--ink)}
.vbb-group:focus-visible{outline:3px solid var(--vb-orange);outline-offset:2px}
.vbb-range{font-weight:700;font-size:16px;color:var(--ink);overflow-wrap:anywhere}
.vbb-open{color:var(--link);font-weight:700;letter-spacing:.02em}
.vbb-pill.grp{background:var(--ink);color:var(--paper)}
.vbb-member{cursor:pointer;border-left:3px solid var(--vb-red)}
.vbb-fold{font-family:var(--f-ui);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:999px;padding:1px 8px;cursor:pointer;white-space:nowrap;margin-left:auto}
.vbb-fold:hover{border-color:var(--ink)}
.vbb-top .vbb-pill + .vbb-fold{margin-left:6px}

@media (max-width:820px){
  .vbb-intro{grid-template-columns:minmax(0,1fr)}
  .vbb-intro figure{display:none}            /* It's a Visit logo: hidden in the mobile header, shown at the bottom */
  .vbb-tools{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .vbb-facts{grid-template-columns:repeat(2,auto);row-gap:12px}
  .vbb-facts li:nth-child(2){border:0;margin-right:0}
}
@media (prefers-reduced-motion:reduce){.vbb-card,.vbb-ev{transition:none}}
