/* ===== Schepen SCR — clean, no-overflow, themeable (deduplicated) ===== */
:root{
  --page-max: 1240px;
  --gap: .85rem;
  --logo-d: 150px;          /* CHANGED: hoogte logo in makelaarskaart desktop (was 110px) */
  --label-w: 110px;         /* labelbreedte Status/Prijs */
  --broker-logo-col-w: 240px;  /* CHANGED: bredere logokolom in brede layout (was 160px) */
}

/* Thema (licht) */
.schepen-container{
  --bg: #fff;
  --fg: #444;
  --card: #fff;
  --line: #e6e6e6;
  --muted: #777;
  --accent: #0d6efd;

  /* MarineTraffic button vars (licht) */
  --mt-btn-fg: #1f2937;
  --mt-btn-bg: #f1f3f5;
  --mt-btn-bd: #cbd5e1;
  --mt-btn-bg-hover: #e7edf3;
  --mt-btn-ring: #0d6efd66;

  /* NEW: vaste hoogte voor MarineTraffic embed */
  --mt-embed-h: 420px; /* pas aan naar wens */

  background: var(--bg);
  color: var(--fg);
  margin: 20px auto;
  padding: 16px;
  max-width: var(--page-max);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  box-sizing: border-box;
}
.schepen-container a:not(.btn){ color: var(--accent); }
.schepen-container .muted{ color: var(--muted); }

/* Thema (donker) */
.schepen-container.is-dark{
  --bg: #000;
  --fg: #f1f1f1;
  --card: #0b0b0d;
  --line: #1a1a1e;
  --muted: #a5a5a8;
  --accent: #9ad1ff;

  /* MarineTraffic button vars (donker) */
  --mt-btn-fg: #e6f1ff;
  --mt-btn-bg: #1f2937;
  --mt-btn-bd: #2b3442;
  --mt-btn-bg-hover: #263244;
  --mt-btn-ring: #9ad1ff66;
}

/* Header */
.schepen-header{ margin-bottom:.5rem; }
.schepen-title{
  font-size:1.25rem; font-weight:600; margin:4px 0 14px; color: var(--fg);
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
@media (max-width:576px){
  .schepen-header .schepen-title{
    white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  }
}
.back-link{ display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap; }
.theme-switch{ margin-left:.25rem; }
.theme-toggle .bi{ font-size:1rem; margin-right:.35rem; }

/* Sticky header op mobiel */
@media (max-width: 991.98px){
  .schepen-header{
    position: sticky; top: 0;
    background: var(--bg); z-index: 5;
    padding: 8px 4px; border-bottom: 1px solid var(--line);
  }
}

/* Favoriet (hart) + Flag bron verbergen */
.schepen-fav{ display:flex; align-items:center; }
.favorite-heart{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:999px;
  background: var(--bg); border:1px solid var(--line);
  box-shadow:0 2px 10px rgba(0,0,0,.12);
  transition: transform .12s, box-shadow .12s, opacity .12s;
}
.favorite-heart .bi{ font-size:1.25rem; line-height:1; }
.favorite-heart:hover{ transform:translateY(-1px); box-shadow:0 3px 14px rgba(0,0,0,.14); }
.favorite-heart.is-on .bi{ color: var(--bs-danger, #dc3545); }
.favorite-heart.is-busy{ opacity:.7; pointer-events:none; }
.schepen-container.is-dark .favorite-heart{
  background:#0b0b0d; border-color:#1a1a1e; box-shadow:0 2px 10px rgba(0,0,0,.35);
}
/* originele flag-link verbergen, in DOM laten (Ajax) */
.s2b-flag-original{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip: rect(1px,1px,1px,1px); white-space:nowrap;
}

/* Foto’s */
.schepen-photos{ margin-bottom:.75rem; max-width:100%; }
.schepen-photos .ratio{
  border-radius:10px; overflow:hidden;
  border:1px solid var(--line);
  background:#f3f3f5;
}
.schepen-container.is-dark .schepen-photos .ratio{ background:#0f0f10; }
.schepen-photos .carousel{ margin-bottom:14px; }
.schepen-photos .carousel-indicators [data-bs-target]{ width:9px; height:9px; border-radius:50%; }
.schepen-photos img{ content-visibility:auto; display:block; }

/* Midden-grid (nooit breder dan foto) */
.schepen-mid{
  display:grid;
  grid-template-columns: 1.25fr 1.75fr;
  gap:22px;
  margin-top:0;
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
}
.mid-left, .mid-right{ min-width:0; }
@media (max-width: 1200px){
  .schepen-mid{ grid-template-columns:1fr; gap:24px; }
}

/* Sectie header (Scheepsgegevens + Makelaar(s)) */
.section-hdr{
  display:flex;                 /* titel + share naast elkaar */
  align-items:center;
  justify-content:space-between;
  gap:.5rem;

  font-size:1rem;
  font-weight:600;
  color: var(--fg);
  margin:14px 0 8px;
  border-bottom:1px solid var(--line);
  padding-bottom:6px;
}

/* Zowel <h3 class="section-hdr"> als <div class="section-hdr"><h3>… */
.section-hdr h3,
h3.section-hdr{
  margin:0;
}

/* AddToAny rechts in de Makelaar-header */
.section-hdr .section-share{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}

/* AddToAny container + icoontjes compacter */
.section-hdr .addtoany_share_save_container,
.section-hdr .a2a_kit{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}

.section-hdr .a2a_kit a,
.section-hdr .a2a_svg{
  line-height:1;
}

/* Tabel scheepsgegevens */
.table-schepen{
  width:100%; border-collapse:separate; border-spacing:0;
  background: var(--card); border:1px solid var(--line); border-radius:10px; overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.05); font-size:.95rem;
}
.table-schepen th{
  background:#f0f0f0;
  color: var(--fg); font-weight:600; text-align:left; width:34%;
  padding:10px 12px; border-right:1px solid var(--line);
}
.schepen-container.is-dark .table-schepen th{ background:#141416; }
.table-schepen td{
  padding:10px 12px; color: var(--fg); border-bottom:1px solid var(--line);
}
.table-schepen tr:last-child td{ border-bottom:0; }

/* Historie (Binnenvaart.eu) */
.table-schepen .history-cell{ display:flex; align-items:center; gap:.6rem; flex-wrap:nowrap; min-width:0; }
.table-schepen .history-logo-inline{ height:40px; width:auto; flex:0 0 auto; }
.schepen-container.is-dark .history-logo-inline{ filter: brightness(1.1) saturate(1.05); }
.table-schepen .history-btn{ white-space:nowrap; flex:0 1 auto; }

/* ===== Makelaars ===== */
.broker-list{ display:grid; gap:12px; }

/* Kaart (basis: verticale stack) */
.broker-card{
  width:100%; min-width:0; box-sizing:border-box;
  display:grid; grid-template-rows:auto auto auto; /* logo, header, sell */
  gap:10px;
  background: var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition: box-shadow .15s ease, border-color .15s ease;
  container-type: inline-size;
}
.broker-card:hover{ box-shadow:0 4px 16px rgba(0,0,0,.08); }

/* Logo */
.bc-logo{ min-width:0; text-align:center; }
.broker-logo-img{
  display:block; margin-inline:auto;
  height: var(--logo-d); max-height: var(--logo-d);
  width:auto; max-width:100%; object-fit:contain;
  background: color-mix(in oklab, var(--card), #fff 4%);
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px;
}
.schepen-container.is-dark .broker-logo-img{
  background: color-mix(in oklab, var(--card), #000 6%);
}
.broker-logo-placeholder{
  width:100%; height:var(--logo-d);
  border:1px dashed var(--line); border-radius:8px;
}

/* Header (naam + knop) */
.bc-header{
  display:flex; align-items:center; justify-content:center;
  column-gap:16px; row-gap:6px; flex-wrap:nowrap;
  padding-bottom:6px;
  border-bottom:1px solid var(--line); min-width:0;
  gap:10px 16px;
}
.broker-name{ flex:0 1 auto; min-width:0; text-align:center; }
.broker-name-link{
  color:inherit; text-decoration:none; font-weight:600;
  display:inline-block; max-width:100%;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  font-size:1.05rem; letter-spacing:.1px;
}
.broker-name-link:hover{ text-decoration:underline; }
.broker-btn{ flex:0 0 auto; white-space:nowrap; max-width:100%; }
.broker-btn .btn{
  border-radius:10px;
  padding:.45rem .75rem;
  border:1px solid var(--line);
  background: var(--card);
  color: var(--fg);
}
.schepen-container.is-dark .broker-btn .btn{
  background:#0f1012; border-color:#24262b;
}
.broker-btn .btn:hover{
  transform: translateY(-1px);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}

/* Status/Prijs */
.bc-sell{ min-width:0; }
.sell-grid{
  display:grid;
  grid-template-columns: var(--label-w) minmax(0,1fr);
  gap:6px;
  min-width:0;
  align-items:start;
  row-gap:8px;
  grid-auto-rows: min-content;
}
.sell-label{
  background:linear-gradient(#f7f7f7, #f3f3f3);
  color: var(--fg);
  border:1px solid var(--line);
  border-radius:6px;
  padding:.42rem .55rem;
  font-weight:600;
  font-size:.9rem;                 /* referentie maat */
  line-height:1.25;
}
.schepen-container.is-dark .sell-label{
  background:linear-gradient(#15161a, #131418);
}
.sell-value{
  border:1px solid var(--line); border-radius:6px;
  padding:.42rem .55rem;
  overflow-wrap:anywhere; word-break:break-word; white-space:normal;
  line-height:1.35;
}
.sell-value .muted{ color: var(--muted); }

/* Gelijke typografie voor prijs “Op aanvraag” (zelfde als labels) */
.sell-value.price-strong,
.price-strong{
  font-weight:700;
  font-size:.9rem;                 /* gelijk aan .sell-label */
  line-height:1.25;
}

/* Zebra-rows */
.sell-grid > :is(.sell-label,.sell-value):nth-child(4n+3),
.sell-grid > :is(.sell-label,.sell-value):nth-child(4n+4){
  background: color-mix(in oklab, var(--card), var(--fg) 2%);
  border-color: color-mix(in oklab, var(--line), var(--fg) 5%);
}

/* Chips (optioneel) */
.sell-value .chip{
  display:inline-block;
  padding:.12rem .45rem;
  margin:.1rem .25rem .1rem 0;
  border-radius:999px;
  border:1px solid var(--line);
  background: var(--card);
  font-size:.82rem;
  white-space:nowrap;
}
.schepen-container.is-dark .sell-value .chip{
  background:#101114; border-color:#2a2c32;
}

/* Badges */
.s2b-status .badge{
  display:inline-block; font-size:.75rem;
  padding:.2rem .42rem; line-height:1;
  border-radius:.5rem;
}

/* Badge mag wrappen (≤408px kolombreedte) */
.mid-right{ container-type: inline-size; }
@container (max-width: 408px){
  .broker-card .s2b-status .badge{
    white-space: normal !important;
    display: inline-block !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}
/* Fallback zonder container queries */
@media (max-width: 408px){
  .broker-card .s2b-status .badge{
    white-space: normal !important;
    display: inline-block !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}

/* Finetune */
@container (max-width: 420px){
  .broker-card{ --label-w: 92px; }
  .broker-name-link{ font-size:1rem; }
  .broker-btn .btn{ padding:.4rem .65rem; }
}
@container (min-width: 660px){
  .sell-grid{ row-gap:10px; }
  /* (verwijderd: eerdere .price-strong font-size-opschaling) */
}

/* ========== Laptop horizontaal; tablet/phone verticaal ========== */

/* Laptop en groter: logo links; rechts onder elkaar term (naam) + link/knop */
@media (min-width: 992px){
  .broker-card{
    grid-template-columns: var(--broker-logo-col-w, 180px) 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "logo header"
      "sell sell";
    gap: 12px 18px;
    align-items: start;
  }
  .bc-logo{
    grid-area: logo;
    text-align: left;
    align-self: start;
  }
  .broker-logo-img{
    width: 100%;
    height: var(--logo-d);             /* CHANGED: vaste boxhoogte */
    max-height: var(--logo-d);         /* CHANGED */
    object-fit: contain;
    margin-inline: 0;
  }
  .bc-header{
    grid-area: header;
    display: flex;
    flex-direction: column;       /* naam + knop onder elkaar */
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
    border-bottom: 0;
    padding-bottom: 0;
  }
  .broker-name{ text-align: left; width: 100%; }
  .broker-btn{ margin: 0; }
  .bc-sell{ grid-area: sell; margin-top: 6px; }
}

/* Tablet en kleiner: stapelen + wrap zodat niets overlapt */
@media (max-width: 991.98px){
  .broker-card{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: none;
    gap: 10px;
  }
  .bc-logo{ text-align: center; }
  .bc-header{
    display: flex;
    flex-direction: row;          /* naam + knop naast elkaar */
    flex-wrap: wrap;              /* mag afbreken naar 2 regels */
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--line);
    padding-bottom: 6px;
    gap: 10px 16px;
    width: 100%;
  }
  .broker-name{ flex:1 1 auto; min-width:0; }
  .broker-btn{ flex:0 1 auto; margin:0; }
}

/* MarineTraffic */
.marinetraffic{ margin-top:18px; }
.marinetraffic-header{
  display:flex; justify-content:space-between; align-items:center;
  margin:10px 0 8px; border-bottom:1px solid var(--line); padding-bottom:6px;
}
.marinetraffic-header h3{ font-size:1rem; font-weight:600; margin:0; color: var(--fg); }

/* Knop */
.btn-marinetraffic{
  display:inline-flex; align-items:center; gap:.4rem;
  color: var(--mt-btn-fg);
  background: var(--mt-btn-bg);
  border: 1px solid var(--mt-btn-bd);
  padding:6px 10px;
  border-radius:6px;
  font-size:.9rem;
  text-decoration:none;
  line-height:1.2;
}
.btn-marinetraffic:hover{
  background: var(--mt-btn-bg-hover);
  color: var(--mt-btn-fg);
  filter:none;
}
.btn-marinetraffic:focus-visible{
  outline:3px solid var(--mt-btn-ring);
  outline-offset:2px;
}
.btn-marinetraffic i{ color: currentColor; }

/* Fallback: link als .btn naar MarineTraffic */
a[href*="marinetraffic.com"].btn{
  color: var(--mt-btn-fg);
  background: var(--mt-btn-bg);
  border:1px solid var(--mt-btn-bd);
}
a[href*="marinetraffic.com"].btn:hover{ background: var(--mt-btn-bg-hover); color: var(--mt-btn-fg); }
a[href*="marinetraffic.com"].btn:focus-visible{ outline:3px solid var(--mt-btn-ring); outline-offset:2px; }

/* Embed vaste hoogte */
.marinetraffic-embed{
  position: relative;
  height: var(--mt-embed-h);
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f3f3f5;
}
.schepen-container.is-dark .marinetraffic-embed{ background:#0f0f10; }
.marinetraffic-embed iframe,
.marinetraffic-embed > *{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
.marinetraffic .ratio{
  padding-top: 0 !important;
  height: var(--mt-embed-h) !important;
}
.marinetraffic .ratio > iframe{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

/* Algemeen */
.table-schepen td a{ overflow-wrap:anywhere; word-break:break-word; }

/* Donker: node hartknoppen */
@media (prefers-color-scheme: dark){
  .node--type-schepen-scr-feed .s2b-heartlink,
  .node--type-schepen-scr-feed .favorite-link{
    background:#2b2f36; border-color:#3a3f46; box-shadow:0 2px 10px rgba(0,0,0,.5);
  }
  .node--type-schepen-scr-feed .favorite-link .bi{ color:#c9ced6; }
}
.is-dark .node--type-schepen-scr-feed .s2b-heartlink,
.is-dark .node--type-schepen-scr-feed .favorite-link{
  background:#2b2f36; border-color:#3a3f46; box-shadow:0 2px 10px rgba(0,0,0,.5);
}
.is-dark .node--type-schepen-scr-feed .favorite-link .bi{ color:#c9ced6; }
.node--type-schepen-scr-feed .favorite-link.is-flagged .bi{ color:#dc3545; }

/* ===== Acties: toggle boven; views + hartje naast scheepsgegevens op mobiel ===== */
.s2b-actions--meta{ display:none; }
@media (max-width: 576px){
  .s2b-actions--header{
    display:flex !important;
    align-items:center;
    gap:10px;
  }
  .s2b-actions--header .node-viewcount,
  .s2b-actions--header .schepen-fav{
    display:none !important;
  }
  .s2b-actions--meta{
    display:flex !important;
    align-items:center;
    gap:10px;
    margin-bottom:0;
  }
  .schepen-mid .mid-left{
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:center;
    column-gap:12px;
    row-gap:8px;
  }
  .mid-left .section-hdr{ grid-column:1; grid-row:1; margin:14px 0 8px; }
  .mid-left .s2b-actions--meta{ grid-column:2; grid-row:1; justify-self:end; }
  .mid-left .table-schepen{ grid-column:1 / -1; grid-row:2; }

  .s2b-card__footer .js-s2b-viewcount,
  .s2b-card__footer .flag-favorite,
  .s2b-card__footer .flag{
    display:none !important;
  }
}
/* === OVERRIDE: ≤992px term + link onder logo, altijd gecentreerd === */
@media (max-width: 992px){
  .broker-card{
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas: none !important;
    gap: 10px !important;
  }

  .bc-logo{ text-align: center !important; }

  .bc-header{
    display: flex !important;
    flex-direction: column !important;   /* onder elkaar */
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-bottom: 1px solid var(--line) !important;
    padding-bottom: 8px !important;
    width: 100%;
    text-align: center !important;
  }

  .broker-name,
  .broker-name-link{
    width: 100%;
    min-width: 0;
    text-align: center !important;
    white-space: normal;                 /* mag aflopen naar 2+ regels */
  }

  .broker-btn{
    margin: 0 !important;
    align-self: center !important;       /* knop netjes in het midden */
  }
}

/* === OVERRIDE: horizontaal alleen op echt desktop (≥1200px) === */
@media (min-width: 1200px){
  .broker-card{
    grid-template-columns: var(--broker-logo-col-w, 180px) 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "logo header"
      "sell sell";
    gap: 12px 18px;
    align-items: start;
  }
  .bc-logo{
    grid-area: logo;
    text-align: left;
    align-self: start;
  }
  .broker-logo-img{
    width: 100%;
    height: var(--logo-d);          /* CHANGED hier ook consistente hoogte */
    max-height: var(--logo-d);
    object-fit: contain;
    margin-inline: 0;
  }
  .bc-header{
    grid-area: header;
    display: flex;
    flex-direction: column;       /* naam + knop onder elkaar */
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
    border-bottom: 0;
    padding-bottom: 0;
  }
  .broker-name{ text-align: left; width: 100%; }
  .broker-btn{ margin: 0; }
  .bc-sell{ grid-area: sell; margin-top: 6px; }
}

/* ===== Carousel-foto hoger / aspect ratio ===== */
.schepen-container{
  --photo-aspect: 16 / 9;       /* iets platter */
  --photo-aspect-perc: 68%;
  --photo-pos-y: 60%;           /* focus iets naar onderkant */
}

.schepen-photos .ratio{
  aspect-ratio: var(--photo-aspect);
  --bs-aspect-ratio: var(--photo-aspect-perc);
  height: auto !important;
  padding-top: unset !important;
}

.schepen-photos .carousel,
.schepen-photos .carousel-inner,
.schepen-photos .carousel-item{ height: 100%; }

.schepen-photos .carousel-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% var(--photo-pos-y);
  display: block;
}

/* Container mag niet knijpen op desktop */
@media (min-width: 992px) {
  .node--type-schepen .bc-logo {
    max-height: none;
    height: auto;
  }
}
/* AddToAny onder de makelaars: midden uitlijnen */
.section-share--below-brokers{
  text-align: center;           /* hele block centreren */
}

/* Icoontjes netjes naast elkaar gecentreerd */
.section-share--below-brokers .addtoany_share_save_container,
.section-share--below-brokers .a2a_kit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
}
/* Rij met socials + uitlicht-knop */
.s2b-share-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

/* Social icon-box */
.s2b-share-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

/* De uitlicht-knop */
.s2b-uitlichten-btn {
  font-size: .85rem;
  padding: .35rem .9rem;
  border-radius: 999px;
  font-weight: 600;
}

/* Mobiel */
@media (max-width: 575.98px) {
  .s2b-share-highlight {
    width: 100%;
  }
  .s2b-uitlichten-btn {
    width: 100%;
    text-align: center;
  }
}

