/* ═══════════════════════════════════════════════════════════════
   FindDepotrum.dk — Frontend CSS v1.0
   Design: Clean Danish property portal
   Fonts: Fraunces (serif display) + DM Sans (body)
   ═══════════════════════════════════════════════════════════════ */

:root {
  --fdr-forest:    #1b4332;
  --fdr-forest-md: #2d6a4f;
  --fdr-forest-lt: #40916c;
  --fdr-mint:      #d8f3dc;
  --fdr-mint-pale: #f0faf2;
  --fdr-amber:     #d97706;
  --fdr-amber-lt:  #fef3c7;
  --fdr-amber-hot: #b45309;
  --fdr-ink:       #111827;
  --fdr-ink-mid:   #374151;
  --fdr-slate:     #6b7280;
  --fdr-bone:      #f9f6f1;
  --fdr-white:     #ffffff;
  --fdr-border:    #e5e7eb;
  --fdr-border-md: #d1d5db;
  --fdr-red:       #991b1b;
  --fdr-red-lt:    #fee2e2;
  --fdr-gold:      #f59e0b;

  --fdr-s1: 0 1px 3px rgba(0,0,0,.07);
  --fdr-s2: 0 4px 12px rgba(0,0,0,.09);
  --fdr-s3: 0 8px 28px rgba(0,0,0,.12);
  --fdr-s4: 0 20px 60px rgba(0,0,0,.16);
}

/* ── Base reset for plugin elements ── */
.fdr-wrap, .fdr-wrap * {
  box-sizing: border-box;
}
.fdr-wrap {
  font-family: 'DM Sans', sans-serif;
  color: var(--fdr-ink);
  line-height: 1.6;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
.fdr-wrap a { text-decoration: none; color: inherit; }
.fdr-wrap button { font-family: 'DM Sans', sans-serif; cursor: pointer; }
.fdr-wrap input, .fdr-wrap select, .fdr-wrap textarea { font-family: 'DM Sans', sans-serif; }

/* ════════════════════════════════════════════════════════════════
   SHARED HEADER BANNER (list + detail pages)
   ════════════════════════════════════════════════════════════════ */
.fdr-list-header {
  background: linear-gradient(160deg, var(--fdr-forest) 0%, var(--fdr-forest-md) 100%);
  padding: 28px 0;
  margin-bottom: 0;
}
.fdr-list-header-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 28px;
}
.fdr-breadcrumb {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.fdr-breadcrumb a { color: rgba(255,255,255,.55); transition: color .15s; }
.fdr-breadcrumb a:hover { color: #fff; }
.fdr-bc-sep { opacity: .35; }
.fdr-list-h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 3.5vw, 32px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -.3px;
  margin: 0 0 6px;
}
.fdr-list-meta { font-size: 13.5px; color: rgba(255,255,255,.6); margin: 0; }

/* ════════════════════════════════════════════════════════════════
   HERO (forside)
   ════════════════════════════════════════════════════════════════ */
.fdr-hero {
  background: var(--fdr-forest);
  padding: 72px 28px 84px;
  position: relative;
  overflow: hidden;
}
.fdr-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 70% -10%, rgba(64,145,108,.45) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at -10% 80%, rgba(27,67,50,.8) 0%, transparent 60%);
  pointer-events: none;
}
.fdr-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .04;
  background-image:
    linear-gradient(rgba(255,255,255,1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,1) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}
.fdr-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
}
.fdr-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 24px;
}
.fdr-eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  animation: fdr-blink 2s ease-in-out infinite;
}
@keyframes fdr-blink { 0%,100%{opacity:1} 50%{opacity:.3} }

.fdr-hero-h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(30px, 5vw, 54px);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -.5px;
  max-width: 720px;
  margin: 0 0 16px;
}
.fdr-hero-h1 em { color: #86efac; font-style: normal; }
.fdr-hero-lead {
  color: rgba(255,255,255,.7);
  font-size: 17px;
  max-width: 520px;
  margin: 0 0 40px;
  line-height: 1.75;
}

/* ── Search box ── */
.fdr-search-box {
  background: var(--fdr-white);
  border-radius: 16px;
  box-shadow: var(--fdr-s4);
  overflow: hidden;
  max-width: 860px;
}
.fdr-sbox-tabs {
  display: flex;
  border-bottom: 1px solid var(--fdr-border);
  background: var(--fdr-bone);
}
.fdr-sbt {
  flex: 1;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 700;
  color: var(--fdr-slate);
  cursor: pointer;
  transition: all .15s;
}
.fdr-sbt.active {
  color: var(--fdr-forest);
  border-bottom-color: var(--fdr-forest);
  background: var(--fdr-white);
}
.fdr-sbox-fields {
  display: grid;
  grid-template-columns: 1fr 200px 180px 64px;
}
.fdr-sbf {
  border-right: 1px solid var(--fdr-border);
  padding: 14px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: background .15s;
}
.fdr-sbf:hover { background: var(--fdr-mint-pale); }
.fdr-sbf-label {
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--fdr-slate);
}
.fdr-sbf-input {
  border: none;
  outline: none;
  font-size: 15px;
  font-weight: 600;
  color: var(--fdr-ink);
  background: transparent;
  width: 100%;
  padding: 0;
}
.fdr-sbf-input::placeholder { font-weight: 400; color: #9ca3af; }
.fdr-sbox-go {
  background: var(--fdr-amber);
  border: none;
  color: #fff;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
}
.fdr-sbox-go:hover { background: var(--fdr-amber-hot); }

/* Hero stats */
.fdr-hero-stats {
  display: flex;
  gap: 48px;
  margin-top: 44px;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,.12);
  flex-wrap: wrap;
}
.fdr-hs {}
.fdr-hs-n {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.fdr-hs-l { display: block; font-size: 13px; color: rgba(255,255,255,.5); margin-top: 4px; }

/* ════════════════════════════════════════════════════════════════
   HOME CONTENT — regions + preview
   ════════════════════════════════════════════════════════════════ */
.fdr-home-content {
  max-width: 1320px;
  margin: 0 auto;
  padding: 56px 28px 64px;
}
.fdr-sec-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 20px;
}
.fdr-sec-title {
  font-family: 'Fraunces', serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--fdr-ink);
  letter-spacing: -.3px;
  margin: 0;
}
.fdr-sec-more {
  font-size: 14px;
  font-weight: 700;
  color: var(--fdr-forest-lt);
  transition: color .15s;
}
.fdr-sec-more:hover { color: var(--fdr-forest); }

.fdr-regions-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: 56px;
}
.fdr-region-card {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 12px;
  padding: 20px 14px;
  text-align: center;
  cursor: pointer;
  transition: all .22s;
  display: block;
  color: var(--fdr-ink);
}
.fdr-region-card:hover {
  border-color: var(--fdr-forest-lt);
  background: var(--fdr-mint-pale);
  transform: translateY(-4px);
  box-shadow: var(--fdr-s3);
}
.fdr-rc-icon { font-size: 28px; display: block; margin-bottom: 9px; }
.fdr-rc-name { font-size: 13.5px; font-weight: 700; color: var(--fdr-ink-mid); display: block; margin-bottom: 3px; }
.fdr-rc-count { font-size: 12px; color: var(--fdr-slate); }
.fdr-region-card:hover .fdr-rc-name { color: var(--fdr-forest); }

.fdr-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.fdr-preview-card {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: all .22s;
  display: block;
  color: var(--fdr-ink);
}
.fdr-preview-card:hover {
  box-shadow: var(--fdr-s3);
  transform: translateY(-4px);
  border-color: var(--fdr-mint);
}
.fdr-pc-img {
  height: 168px;
  background: linear-gradient(135deg, var(--fdr-mint) 0%, #b7e4c7 100%);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 54px;
  position: relative;
  overflow: hidden;
}
.fdr-pc-img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.fdr-pc-placeholder {
  font-size: 54px;
  opacity: .5;
}
.fdr-pc-feat-badge {
  position: absolute;
  top: 11px; left: 11px;
  background: var(--fdr-amber);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: .4px;
  z-index: 1;
}
.fdr-pc-body { padding: 16px 18px; }
.fdr-pc-prov { font-size: 12px; font-weight: 700; color: var(--fdr-forest-lt); letter-spacing: .5px; text-transform: uppercase; margin-bottom: 5px; }
.fdr-pc-title {
  font-family: 'Fraunces', serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--fdr-ink);
  margin-bottom: 6px;
  line-height: 1.3;
}
.fdr-pc-loc { font-size: 13px; color: var(--fdr-slate); margin-bottom: 14px; }
.fdr-pc-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--fdr-border);
}
.fdr-pc-price { font-family: 'Fraunces', serif; font-size: 19px; font-weight: 700; color: var(--fdr-forest); }

/* ════════════════════════════════════════════════════════════════
   MAP BANNER (listeside)
   ════════════════════════════════════════════════════════════════ */
.fdr-map-banner-wrap { padding: 0 28px; max-width: 1320px; margin: 18px auto 0; }
.fdr-map-banner {
  background: var(--fdr-ink);
  border-radius: 12px;
  overflow: hidden;
}
.fdr-map-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  background: none;
  border: none;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  font-weight: 700;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  transition: color .15s;
}
.fdr-map-btn:hover { color: #fff; }
.fdr-map-chevron { margin-left: auto; font-size: 12px; transition: transform .25s; display: inline-block; }
.fdr-map-panel { overflow: hidden; }
#fdr-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 340px;
  background: var(--fdr-mint-pale);
  color: var(--fdr-forest);
}
.fdr-mp-icon { font-size: 48px; }
.fdr-mp-text { font-weight: 700; font-size: 16px; }
.fdr-mp-sub  { font-size: 13px; color: var(--fdr-slate); }

/* ════════════════════════════════════════════════════════════════
   SEARCH LAYOUT — 2-col
   ════════════════════════════════════════════════════════════════ */
.fdr-search-layout {
  max-width: 1320px;
  margin: 0 auto;
  padding: 22px 28px 64px;
  display: grid;
  grid-template-columns: 292px 1fr;
  gap: 24px;
  align-items: start;
}

/* ── Filter panel ── */
.fdr-filter-panel {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--fdr-s1);
  position: sticky;
  top: 24px;
}
.fdr-fp-header {
  background: var(--fdr-forest);
  color: #fff;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fdr-fp-title { font-family: 'Fraunces', serif; font-size: 15px; font-weight: 700; }
.fdr-fp-reset {
  background: none;
  border: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.75);
  border-radius: 6px;
  padding: 4px 11px;
  font-size: 12px;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  transition: all .15s;
}
.fdr-fp-reset:hover { border-color: #fff; color: #fff; }

.fdr-fp-block { border-bottom: 1px solid var(--fdr-border); padding: 14px 18px; }
.fdr-fp-block:last-of-type { border-bottom: none; }
.fdr-fp-label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .7px;
  color: var(--fdr-slate);
  margin-bottom: 10px;
}
.fdr-fp-in {
  width: 100%;
  border: 1.5px solid var(--fdr-border);
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 14px;
  color: var(--fdr-ink);
  outline: none;
  transition: border-color .2s;
  background: var(--fdr-white);
}
.fdr-fp-in:focus {
  border-color: var(--fdr-forest-lt);
  box-shadow: 0 0 0 3px rgba(64,145,108,.1);
}
.fdr-fp-range {
  display: grid;
  grid-template-columns: 1fr 16px 1fr;
  gap: 6px;
  align-items: center;
}
.fdr-fp-dash { text-align: center; color: var(--fdr-slate); font-weight: 700; }
.fdr-fp-gps-btn {
  width: 100%;
  margin-top: 9px;
  border: 1.5px solid var(--fdr-border);
  border-radius: 8px;
  padding: 9px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  color: var(--fdr-slate);
  background: none;
  font-family: 'DM Sans', sans-serif;
  transition: all .15s;
}
.fdr-fp-gps-btn:hover { border-color: var(--fdr-forest-lt); color: var(--fdr-forest); }

/* Chips */
.fdr-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.fdr-chip {
  border: 1.5px solid var(--fdr-border-md);
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fdr-slate);
  cursor: pointer;
  background: none;
  transition: all .15s;
  font-family: 'DM Sans', sans-serif;
}
.fdr-chip:hover { border-color: var(--fdr-forest-lt); color: var(--fdr-forest); }
.fdr-chip.on { background: var(--fdr-forest); border-color: var(--fdr-forest); color: #fff; }

/* Checkboxes */
.fdr-fp-checks { display: flex; flex-direction: column; gap: 9px; }
.fdr-fp-check {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  color: var(--fdr-ink-mid);
  cursor: pointer;
}
.fdr-fp-check input { accent-color: var(--fdr-forest); width: 15px; height: 15px; cursor: pointer; }
.fdr-fp-apply {
  width: 100%;
  background: var(--fdr-forest);
  color: #fff;
  border: none;
  padding: 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: .2px;
}
.fdr-fp-apply:hover { background: var(--fdr-forest-md); }

/* ── Results column ── */
.fdr-results-toolbar {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 12px;
  padding: 12px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  box-shadow: var(--fdr-s1);
}
.fdr-rt-count { font-size: 14px; color: var(--fdr-slate); }
.fdr-rt-count strong { font-family: 'Fraunces', serif; font-size: 16px; color: var(--fdr-ink); font-weight: 700; }
.fdr-rt-controls { display: flex; align-items: center; gap: 10px; }
.fdr-rt-sort {
  border: 1.5px solid var(--fdr-border);
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fdr-ink-mid);
  background: var(--fdr-white);
  outline: none;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
}
.fdr-view-btns { display: flex; border: 1.5px solid var(--fdr-border); border-radius: 8px; overflow: hidden; }
.fdr-view-btn {
  background: none;
  border: none;
  padding: 7px 11px;
  font-size: 15px;
  color: var(--fdr-slate);
  cursor: pointer;
  transition: all .15s;
}
.fdr-view-btn.active { background: var(--fdr-forest); color: #fff; }

/* Loading */
.fdr-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 48px;
  color: var(--fdr-slate);
}
.fdr-spinner {
  width: 36px;
  height: 36px;
  border: 3.5px solid var(--fdr-border);
  border-top-color: var(--fdr-forest);
  border-radius: 50%;
  animation: fdr-spin .7s linear infinite;
}
@keyframes fdr-spin { to { transform: rotate(360deg); } }

/* ════════════════════════════════════════════════════════════════
   LISTING CARD (horizontal — list view)
   ════════════════════════════════════════════════════════════════ */
.fdr-results-grid.fdr-view-list { display: flex; flex-direction: column; gap: 14px; }
.fdr-results-grid.fdr-view-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.fdr-l-card {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--fdr-s1);
  transition: box-shadow .22s, transform .22s, border-color .22s;
  cursor: pointer;
  /* <a> reset — kortet er nu et link */
  text-decoration: none;
  color: inherit;
  display: block;
}
/* List view layout */
.fdr-view-list .fdr-l-card {
  display: grid;
  grid-template-columns: 228px 1fr 188px;
}
/* Grid view layout */
.fdr-view-grid .fdr-l-card {
  display: flex;
  flex-direction: column;
}
.fdr-view-grid .fdr-l-img { height: 160px; }
.fdr-view-grid .fdr-l-aside { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--fdr-border); }

.fdr-l-card:hover {
  box-shadow: var(--fdr-s3);
  transform: translateY(-2px);
  border-color: var(--fdr-mint);
}
.fdr-l-card.featured { border-color: var(--fdr-amber); border-width: 2px; }
.fdr-l-card.is-taken { opacity: .72; }

.fdr-l-img {
  position: relative;
  background: linear-gradient(135deg, var(--fdr-mint) 0%, #b7e4c7 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 56px;
  overflow: hidden;
}
.fdr-view-list .fdr-l-img { height: auto; min-height: 160px; }
.fdr-l-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fdr-l-img-badge {
  position: absolute;
  top: 10px; left: 10px;
  background: var(--fdr-amber);
  color: #fff;
  font-size: 10.5px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 4px;
  letter-spacing: .4px;
  text-transform: uppercase;
  z-index: 1;
}
.fdr-l-img-badge.taken { background: var(--fdr-red); }

.fdr-l-body { padding: 18px 20px; flex: 1; }
.fdr-view-list .fdr-l-body { border-right: 1px solid var(--fdr-border); }
.fdr-l-badges { display: flex; gap: 6px; margin-bottom: 9px; flex-wrap: wrap; }
.fdr-badge { font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 4px; }
.b-leje { background: #dcfce7; color: #166534; }
.b-type { background: var(--fdr-bone); color: var(--fdr-slate); border: 1px solid var(--fdr-border); }
.b-vrf  { background: #dcfce7; color: #166534; }
.b-feat { background: var(--fdr-amber-lt); color: var(--fdr-amber-hot); }

.fdr-l-title {
  font-family: 'Fraunces', serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--fdr-ink);
  margin-bottom: 5px;
  line-height: 1.3;
  letter-spacing: -.1px;
}
.fdr-l-addr { font-size: 13px; color: var(--fdr-slate); margin-bottom: 13px; }
.fdr-l-specs { display: flex; gap: 20px; margin-bottom: 11px; flex-wrap: wrap; }
.fdr-l-spec {}
.fdr-ls-lbl { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--fdr-slate); }
.fdr-ls-val { font-size: 15px; font-weight: 700; color: var(--fdr-ink-mid); margin-top: 2px; }
.fdr-ls-val.price { color: var(--fdr-forest); font-size: 17px; font-family: 'Fraunces', serif; }
.fdr-ls-val.avail { color: #166534; }
.fdr-ls-val.taken { color: var(--fdr-red); }
.fdr-ls-val.unknown { color: #92400e; }
.fdr-l-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fdr-l-tag { background: var(--fdr-bone); border: 1px solid var(--fdr-border); color: var(--fdr-slate); font-size: 12px; padding: 3px 10px; border-radius: 20px; }

.fdr-l-aside { padding: 18px 16px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; gap: 12px; }
.fdr-la-prov-top {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  text-align: right;
}
.fdr-la-avatar {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1.5px solid var(--fdr-border);
  background: #f0fdf4;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fdr-la-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 3px;
}
.fdr-la-avatar span {
  font-size: 14px;
  font-weight: 800;
  color: var(--fdr-forest, #1a3d2b);
  letter-spacing: .03em;
  line-height: 1;
}
.fdr-la-prov-name { font-family: 'Fraunces', serif; font-size: 14px; font-weight: 700; color: var(--fdr-ink); text-align: right; }
.fdr-la-prov-vrf { font-size: 11.5px; color: #166534; font-weight: 700; text-align: right; margin-top: 2px; }
.fdr-la-rating { text-align: right; }
.fdr-la-count { font-size: 11.5px; color: var(--fdr-slate); display: block; margin-top: 2px; }
.fdr-la-cta {
  background: var(--fdr-forest);
  color: #fff !important;
  border: none;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
  text-decoration: none !important;
  display: inline-block;
}
.fdr-la-cta:hover { background: var(--fdr-forest-md) !important; color: #fff !important; }
.fdr-la-cta.full { background: var(--fdr-border-md); color: var(--fdr-slate) !important; cursor: default; }

/* No results */
.fdr-no-results {
  text-align: center;
  padding: 52px 20px;
  color: var(--fdr-slate);
  background: var(--fdr-white);
  border: 1.5px dashed var(--fdr-border);
  border-radius: 16px;
}
.fdr-no-results span { font-size: 40px; display: block; margin-bottom: 14px; }

/* Pagination */
.fdr-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 28px; flex-wrap: wrap; }
.fdr-pg {
  min-width: 40px;
  height: 40px;
  border: 1.5px solid var(--fdr-border);
  background: var(--fdr-white);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  color: var(--fdr-slate);
  transition: all .15s;
  padding: 0 12px;
  font-family: 'DM Sans', sans-serif;
}
.fdr-pg:hover { border-color: var(--fdr-forest-lt); color: var(--fdr-forest); }
.fdr-pg.on { background: var(--fdr-forest); border-color: var(--fdr-forest); color: #fff; }

/* ════════════════════════════════════════════════════════════════
   DETAIL PAGE
   ════════════════════════════════════════════════════════════════ */
.fdr-detail-layout {
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 28px 64px;
  display: grid;
  grid-template-columns: 1fr 368px;
  gap: 28px;
  align-items: start;
}
.fdr-detail-main { min-width: 0; }

/* Gallery */
.fdr-gallery { margin-bottom: 0; }
.fdr-gallery-main {
  border-radius: 16px;
  overflow: hidden;
  height: 420px;
  background: linear-gradient(135deg, var(--fdr-mint), #b7e4c7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 96px;
  margin-bottom: 12px;
  position: relative;
}
.fdr-gallery-main img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.fdr-gallery-placeholder { font-size: 80px; z-index: 1; }
.fdr-gallery-badge {
  position: absolute;
  top: 18px; left: 18px;
  background: var(--fdr-amber);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 8px;
  letter-spacing: .4px;
  z-index: 2;
}
.fdr-gallery-thumbs { display: flex; gap: 10px; }
.fdr-gthumb {
  flex: 1;
  height: 80px;
  border-radius: 8px;
  object-fit: cover;
  cursor: pointer;
  border: 2.5px solid transparent;
  transition: border-color .15s;
}
.fdr-gthumb.active, .fdr-gthumb:hover { border-color: var(--fdr-forest); }

/* Detail section box */
.fdr-d-section {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: var(--fdr-s1);
}
.fdr-d-title {
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--fdr-ink);
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--fdr-border);
  display: flex;
  align-items: center;
  gap: 9px;
}
.fdr-rev-count-badge {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--fdr-slate);
  font-weight: 400;
  margin-left: 4px;
}

/* Specs grid */
.fdr-d-specs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.fdr-d-spec {
  background: var(--fdr-bone);
  border: 1px solid var(--fdr-border);
  border-radius: 12px;
  padding: 15px;
}
.fdr-d-spec-l { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; color: var(--fdr-slate); margin-bottom: 5px; }
.fdr-d-spec-v { font-family: 'Fraunces', serif; font-size: 22px; font-weight: 700; color: var(--fdr-ink); }
.fdr-d-spec-v.hi { color: var(--fdr-forest); }
.fdr-d-spec-v.ok { color: #166534; font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 700; }
.fdr-d-spec-v.no { color: var(--fdr-red); font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 700; }

/* Description */
.fdr-d-desc { color: var(--fdr-ink-mid); line-height: 1.85; font-size: 15px; }

/* Features */
.fdr-feats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.fdr-feat-item {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  color: var(--fdr-ink-mid);
  background: var(--fdr-bone);
  border-radius: 8px;
  padding: 9px 13px;
}
.fdr-feat-yes { color: var(--fdr-forest); font-weight: 800; font-size: 15px; }
.fdr-feat-no  { color: var(--fdr-border-md); font-size: 15px; }

/* Map placeholder */
.fdr-map-placeholder-box {
  height: 260px;
  background: var(--fdr-mint-pale);
  border-radius: 12px;
  border: 1.5px dashed var(--fdr-mint);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--fdr-forest);
  text-align: center;
  padding: 20px;
}
.fdr-map-placeholder-box span:first-child { font-size: 40px; }
.fdr-map-placeholder-box strong { font-weight: 700; font-size: 15px; }
.fdr-map-placeholder-box span:last-child { font-size: 13px; color: var(--fdr-slate); }

/* Stars */
.fdr-stars { color: var(--fdr-gold); font-size: 14px; letter-spacing: .5px; }
.fdr-s-full  { color: var(--fdr-gold); }
.fdr-s-half  { color: var(--fdr-gold); font-size: 12px; }
.fdr-s-empty { color: var(--fdr-border-md); }
.fdr-s-num   { color: var(--fdr-slate); font-size: 12px; font-weight: 600; }

/* Reviews */
.fdr-rev-summary {
  display: flex;
  align-items: center;
  gap: 24px;
  background: var(--fdr-amber-lt);
  border: 1px solid #fde68a;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.fdr-rev-big { text-align: center; min-width: 84px; }
.fdr-rev-big-num { font-family: 'Fraunces', serif; font-size: 48px; font-weight: 900; color: var(--fdr-ink); line-height: 1; }
.fdr-rev-big-stars { margin: 4px 0; font-size: 20px; letter-spacing: 2px; }
.fdr-rev-big-count { font-size: 12px; color: var(--fdr-slate); }
.fdr-rev-bars { flex: 1; min-width: 200px; }
.fdr-rb-row { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; font-size: 13px; }
.fdr-rb-lbl { min-width: 22px; color: var(--fdr-slate); font-weight: 700; }
.fdr-rb-track { flex: 1; height: 6px; background: var(--fdr-border); border-radius: 3px; overflow: hidden; }
.fdr-rb-fill  { height: 100%; background: var(--fdr-gold); border-radius: 3px; transition: width .4s; }
.fdr-rb-n { min-width: 22px; text-align: right; color: var(--fdr-slate); }

.fdr-rev-list { display: flex; flex-direction: column; gap: 12px; }
.fdr-rev-item {
  background: var(--fdr-bone);
  border: 1px solid var(--fdr-border);
  border-radius: 12px;
  padding: 16px;
}
.fdr-rev-hdr { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; flex-wrap: wrap; gap: 6px; }
.fdr-rev-author { font-weight: 700; font-size: 14px; }
.fdr-rev-date { font-size: 12px; color: var(--fdr-slate); margin-left: 8px; }
.fdr-rev-title { font-weight: 700; font-size: 14px; margin-bottom: 5px; }
.fdr-rev-text { font-size: 14px; color: var(--fdr-slate); line-height: 1.65; margin: 0; }

/* Review form */
.fdr-rev-form-wrap {
  background: var(--fdr-mint-pale);
  border: 1.5px solid var(--fdr-mint);
  border-radius: 16px;
  padding: 22px;
  margin-top: 22px;
}
.fdr-rfw-title {
  font-family: 'Fraunces', serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--fdr-forest);
  margin-bottom: 18px;
}
.fdr-rf-group { margin-bottom: 14px; }
.fdr-rf-lbl { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--fdr-slate); margin-bottom: 6px; }
.fdr-rf-in {
  width: 100%;
  border: 1.5px solid var(--fdr-border);
  border-radius: 8px;
  padding: 10px 13px;
  font-size: 14px;
  color: var(--fdr-ink);
  outline: none;
  transition: border-color .2s;
  background: var(--fdr-white);
  font-family: 'DM Sans', sans-serif;
}
.fdr-rf-in:focus { border-color: var(--fdr-forest-lt); box-shadow: 0 0 0 3px rgba(64,145,108,.1); }
.fdr-rf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fdr-star-picker { display: flex; gap: 6px; font-size: 30px; cursor: pointer; color: var(--fdr-border-md); }
.fdr-star-picker span { transition: color .1s; line-height: 1; }
.fdr-star-picker span.lit { color: var(--fdr-gold); }
.fdr-rf-submit {
  width: 100%;
  background: var(--fdr-forest);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: .2px;
}
.fdr-rf-submit:hover { background: var(--fdr-forest-md); }

/* ════════════════════════════════════════════════════════════════
   CONTACT SIDEBAR
   ════════════════════════════════════════════════════════════════ */
.fdr-detail-sidebar { position: sticky; top: 24px; }
.fdr-contact-card {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--fdr-s3);
  margin-bottom: 12px;
}
.fdr-cc-head {
  background: linear-gradient(160deg, var(--fdr-forest), var(--fdr-forest-md));
  padding: 22px 22px 18px;
}
.fdr-cc-price { font-family: 'Fraunces', serif; font-size: 34px; font-weight: 900; color: #fff; line-height: 1; }
.fdr-cc-price-sub { font-size: 12.5px; color: rgba(255,255,255,.6); margin-top: 4px; }
.fdr-cc-avail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(74,222,128,.2);
  border: 1px solid rgba(74,222,128,.3);
  color: #86efac;
  font-size: 12.5px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  margin-top: 12px;
  letter-spacing: .3px;
}
.fdr-cc-avail.taken { background: rgba(239,68,68,.2); border-color: rgba(239,68,68,.3); color: #fca5a5; }
.fdr-cc-body { padding: 18px 20px 6px; }
.fdr-ccf-group { margin-bottom: 12px; }
.fdr-ccf-group label { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; color: var(--fdr-slate); margin-bottom: 5px; }
.fdr-ccf-in {
  width: 100%;
  border: 1.5px solid var(--fdr-border);
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 14px;
  color: var(--fdr-ink);
  outline: none;
  transition: border-color .2s;
  font-family: 'DM Sans', sans-serif;
}
.fdr-ccf-in:focus { border-color: var(--fdr-forest-lt); box-shadow: 0 0 0 3px rgba(64,145,108,.1); }
.fdr-cc-submit {
  width: 100%;
  background: var(--fdr-amber);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background .15s;
  font-family: 'DM Sans', sans-serif;
  margin: 6px 0 12px;
  display: block;
}
.fdr-cc-submit:hover { background: var(--fdr-amber-hot); }
.fdr-cc-phone-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: calc(100% - 40px);
  margin: 0 20px 16px;
  border: 1.5px solid var(--fdr-forest-lt);
  background: none;
  color: var(--fdr-forest);
  border-radius: 8px;
  padding: 10px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all .15s;
  font-family: 'DM Sans', sans-serif;
}
.fdr-cc-phone-btn:hover { background: var(--fdr-forest); color: #fff; }
.fdr-cc-provider {
  border-top: 1px solid var(--fdr-border);
  padding: 15px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.fdr-cc-avatar {
  width: 44px; height: 44px;
  background: var(--fdr-mint);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
  overflow: hidden;
}
.fdr-cc-avatar img { width: 100%; height: 100%; object-fit: cover; }
.fdr-cc-prov-name { font-family: 'Fraunces', serif; font-size: 14px; font-weight: 700; color: var(--fdr-ink); }
.fdr-cc-prov-vrf { font-size: 12px; color: #166534; font-weight: 700; margin-top: 1px; }
.fdr-cc-prov-resp { font-size: 12px; color: var(--fdr-slate); }
.fdr-prov-web { font-size: 12px; color: var(--fdr-forest-lt); font-weight: 700; display: block; margin-top: 3px; }
.fdr-prov-web:hover { color: var(--fdr-forest); }

.fdr-fav-btn {
  width: 100%;
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 12px;
  padding: 12px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all .15s;
  color: var(--fdr-ink-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
}
.fdr-fav-btn:hover { border-color: var(--fdr-red); color: var(--fdr-red); background: var(--fdr-red-lt); }
.fdr-fav-btn.saved { background: var(--fdr-red-lt); border-color: var(--fdr-red); color: var(--fdr-red); }

/* Message boxes */
.fdr-resp-msg {
  padding: 11px 13px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 600;
  margin-bottom: 12px;
}
.fdr-resp-msg.ok  { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.fdr-resp-msg.err { background: var(--fdr-red-lt); color: var(--fdr-red); border: 1px solid #fecaca; }

/* ════════════════════════════════════════════════════════════════
   LOGIN MODAL
   ════════════════════════════════════════════════════════════════ */
.fdr-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17,24,39,.6);
  backdrop-filter: blur(6px);
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fdr-modal-overlay.open { animation: fdr-fadein .2s ease; }
@keyframes fdr-fadein { from{opacity:0} to{opacity:1} }
.fdr-modal {
  background: var(--fdr-white);
  border-radius: 24px;
  width: 100%;
  max-width: 430px;
  overflow: hidden;
  box-shadow: var(--fdr-s4);
  animation: fdr-slideup .25s ease;
  max-height: 90vh;
  overflow-y: auto;
}
@keyframes fdr-slideup { from{transform:translateY(16px);opacity:0} to{transform:translateY(0);opacity:1} }
.fdr-modal-head {
  background: linear-gradient(160deg, var(--fdr-forest), var(--fdr-forest-md));
  padding: 28px 26px 22px;
  position: relative;
}
.fdr-modal-icon { font-size: 32px; display: block; margin-bottom: 10px; }
.fdr-modal-title { font-family: 'Fraunces', serif; font-size: 22px; font-weight: 900; color: #fff; letter-spacing: -.3px; }
.fdr-modal-sub { font-size: 13.5px; color: rgba(255,255,255,.6); margin-top: 5px; }
.fdr-modal-close {
  position: absolute; top: 14px; right: 14px;
  background: rgba(255,255,255,.15);
  border: none; color: #fff;
  width: 32px; height: 32px;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.fdr-modal-close:hover { background: rgba(255,255,255,.25); }
.fdr-modal-body { padding: 22px 24px; }

.fdr-m-tabs { display: flex; border-bottom: 2px solid var(--fdr-border); margin-bottom: 20px; }
.fdr-mtab {
  flex: 1; background: none; border: none; border-bottom: 3px solid transparent;
  margin-bottom: -2px; padding: 10px 14px;
  font-size: 14px; font-weight: 700; color: var(--fdr-slate);
  cursor: pointer; font-family: 'DM Sans', sans-serif; transition: color .15s;
}
.fdr-mtab.active { color: var(--fdr-forest); border-bottom-color: var(--fdr-forest); }
.fdr-m-field { margin-bottom: 14px; }
.fdr-m-field label { display: block; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--fdr-slate); margin-bottom: 6px; }
.fdr-m-field input {
  width: 100%; border: 1.5px solid var(--fdr-border); border-radius: 8px;
  padding: 11px 13px; font-size: 15px; color: var(--fdr-ink); outline: none;
  transition: border-color .2s; font-family: 'DM Sans', sans-serif;
}
.fdr-m-field input:focus { border-color: var(--fdr-forest-lt); box-shadow: 0 0 0 3px rgba(64,145,108,.1); }
.fdr-m-forgot { display: block; text-align: right; font-size: 13px; font-weight: 700; color: var(--fdr-forest-lt); margin: -8px 0 16px; }
.fdr-m-btn-primary {
  display: block; width: 100%; background: var(--fdr-forest); color: #fff; border: none;
  border-radius: 8px; padding: 13px; font-size: 15px; font-weight: 800;
  cursor: pointer; transition: background .15s; font-family: 'DM Sans', sans-serif;
  text-align: center; text-decoration: none; margin-top: 4px;
}
.fdr-m-btn-primary:hover { background: var(--fdr-forest-md); color: #fff; }
.fdr-m-btn-secondary {
  display: block; width: 100%; background: none; color: var(--fdr-slate); border: 1.5px solid var(--fdr-border);
  border-radius: 8px; padding: 11px; font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: 'DM Sans', sans-serif; margin-top: 10px; transition: all .15s;
}
.fdr-m-btn-secondary:hover { border-color: var(--fdr-ink); color: var(--fdr-ink); }
.fdr-m-divider {
  text-align: center; font-size: 13px; color: var(--fdr-slate); margin: 16px 0; position: relative;
}
.fdr-m-divider::before, .fdr-m-divider::after {
  content: ''; position: absolute; top: 50%; width: 36%; height: 1px; background: var(--fdr-border);
}
.fdr-m-divider::before { left: 0; } .fdr-m-divider::after { right: 0; }
.fdr-m-socials { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fdr-m-social {
  border: 1.5px solid var(--fdr-border); background: none; border-radius: 8px;
  padding: 10px; font-size: 13.5px; font-weight: 700; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 7px;
  transition: border-color .15s; font-family: 'DM Sans', sans-serif;
}
.fdr-m-social:hover { border-color: var(--fdr-forest-lt); }
.fdr-m-foot { text-align: center; margin-top: 16px; font-size: 13px; color: var(--fdr-slate); }
.fdr-m-foot a { color: var(--fdr-forest-lt); font-weight: 700; }
.fdr-m-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--fdr-ink-mid); margin-bottom: 16px; cursor: pointer; }
.fdr-m-check input { accent-color: var(--fdr-forest); width: 15px; height: 15px; }
.fdr-m-msg { padding: 11px 13px; border-radius: 8px; margin-bottom: 14px; font-size: 14px; font-weight: 600; }
.fdr-m-msg.ok  { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.fdr-m-msg.err { background: var(--fdr-red-lt); color: var(--fdr-red); border: 1px solid #fecaca; }

/* ════════════════════════════════════════════════════════════════
   PROVIDERS PAGE
   ════════════════════════════════════════════════════════════════ */
.fdr-providers-wrap { max-width: 1320px; margin: 0 auto; padding: 36px 28px; }
.fdr-prov-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fdr-prov-card {
  background: var(--fdr-white);
  border: 1.5px solid var(--fdr-border);
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--fdr-s1);
  transition: box-shadow .2s, transform .2s;
}
.fdr-prov-card:hover { box-shadow: var(--fdr-s3); transform: translateY(-3px); }
.fdr-prov-top { position: relative; margin-bottom: 14px; }
.fdr-prov-badge {
  position: absolute; top: 0; right: 0;
  background: #dcfce7; color: #166534;
  font-size: 11.5px; font-weight: 700;
  padding: 3px 10px; border-radius: 20px;
}
.fdr-prov-avatar {
  width: 60px; height: 60px; background: var(--fdr-mint); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 12px;
  overflow: hidden;
}
.fdr-prov-avatar img { width: 100%; height: 100%; object-fit: cover; }
.fdr-prov-card h3 { font-family: 'Fraunces', serif; font-size: 18px; font-weight: 700; color: var(--fdr-ink); margin: 0 0 8px; }
.fdr-prov-card p { font-size: 14px; color: var(--fdr-slate); line-height: 1.65; margin: 0 0 14px; }
.fdr-prov-stats { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.fdr-prov-stats span { font-size: 13.5px; color: var(--fdr-ink-mid); }
.fdr-prov-link {
  display: inline-block;
  color: var(--fdr-forest-lt);
  font-size: 14px; font-weight: 700;
  transition: color .15s;
}
.fdr-prov-link:hover { color: var(--fdr-forest); }

/* ════════════════════════════════════════════════════════════════
   MY PAGE
   ════════════════════════════════════════════════════════════════ */
.fdr-mypage-wrap { max-width: 1320px; margin: 0 auto; padding: 36px 28px; }
.fdr-mypage-header {
  display: flex; align-items: center; gap: 16px;
  background: var(--fdr-white); border: 1.5px solid var(--fdr-border);
  border-radius: 16px; padding: 22px; margin-bottom: 28px; box-shadow: var(--fdr-s1);
  flex-wrap: wrap;
}
.fdr-mypage-avatar { font-size: 44px; }
.fdr-mypage-header h1 { font-family: 'Fraunces', serif; font-size: 22px; font-weight: 700; margin: 0 0 4px; }
.fdr-mypage-header span { font-size: 14px; color: var(--fdr-slate); }
.fdr-mypage-wrap h2 { font-family: 'Fraunces', serif; font-size: 20px; font-weight: 700; margin: 0 0 18px; color: var(--fdr-ink); }

/* Login required */
.fdr-login-required { max-width: 1320px; margin: 0 auto; padding: 36px 28px; }
.fdr-notice-box {
  text-align: center; max-width: 480px; margin: 0 auto;
  background: var(--fdr-white); border: 1.5px solid var(--fdr-border);
  border-radius: 20px; padding: 48px 32px; box-shadow: var(--fdr-s3);
}
.fdr-notice-box span { font-size: 52px; display: block; margin-bottom: 16px; }
.fdr-notice-box h2 { font-family: 'Fraunces', serif; font-size: 24px; font-weight: 700; margin: 0 0 12px; color: var(--fdr-ink); }
.fdr-notice-box p { color: var(--fdr-slate); margin-bottom: 24px; font-size: 15px; }
.fdr-btn-primary {
  display: inline-block;
  background: var(--fdr-forest); color: #fff; border: none;
  border-radius: 8px; padding: 13px 24px; font-size: 15px; font-weight: 700;
  cursor: pointer; font-family: 'DM Sans', sans-serif; transition: background .15s;
}
.fdr-btn-primary:hover { background: var(--fdr-forest-md); }
.fdr-btn-secondary {
  background: none; color: var(--fdr-slate); border: 1.5px solid var(--fdr-border);
  border-radius: 8px; padding: 10px 20px; font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: 'DM Sans', sans-serif; transition: all .15s;
}
.fdr-btn-secondary:hover { border-color: var(--fdr-ink); color: var(--fdr-ink); }

/* Misc */
.fdr-notice { padding: 14px 18px; background: var(--fdr-amber-lt); border: 1px solid #fde68a; border-radius: 8px; font-size: 14px; }
.fdr-notice a { color: var(--fdr-forest); font-weight: 700; }

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .fdr-search-layout   { grid-template-columns: 260px 1fr; }
  .fdr-detail-layout   { grid-template-columns: 1fr 320px; }
  .fdr-regions-grid    { grid-template-columns: repeat(3, 1fr); }
  .fdr-preview-grid    { grid-template-columns: repeat(2, 1fr); }
  .fdr-prov-grid       { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .fdr-search-layout { grid-template-columns: 1fr; }
  .fdr-filter-panel  { position: static; }
  .fdr-detail-layout { grid-template-columns: 1fr; }
  .fdr-detail-sidebar { position: static; }
  .fdr-sbox-fields   { grid-template-columns: 1fr 64px; }
  .fdr-sbf:not(:first-child):not(:last-child) { display: none; }
  .fdr-view-list .fdr-l-card { grid-template-columns: 160px 1fr; }
  .fdr-l-aside { display: none; }
  .fdr-d-specs-grid { grid-template-columns: repeat(2, 1fr); }
  .fdr-rf-row { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .fdr-hero { padding: 48px 18px 56px; }
  .fdr-hero-stats { gap: 24px; }
  .fdr-home-content  { padding: 36px 18px 48px; }
  .fdr-search-layout { padding: 16px 18px 48px; }
  .fdr-detail-layout { padding: 16px 18px 48px; }
  .fdr-list-header   { padding: 20px 0; }
  .fdr-map-banner-wrap { padding: 0 18px; }
  .fdr-regions-grid  { grid-template-columns: repeat(2, 1fr); }
  .fdr-preview-grid  { grid-template-columns: 1fr; }
  .fdr-prov-grid     { grid-template-columns: 1fr; }
  .fdr-view-list .fdr-l-card { grid-template-columns: 1fr; }
  .fdr-l-img { height: 160px; }
  .fdr-gallery-main { height: 260px; }
  .fdr-d-specs-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Price type tabs ─────────────────────────────────────────── */
.fdr-price-tabs { display:flex; gap:4px; margin-bottom:8px; }
.fdr-ptab {
  flex:1; padding:5px 0; font-size:12px; font-weight:600;
  background:#f1f5f0; border:1.5px solid #d1d5db; border-radius:6px;
  color:#4b6043; cursor:pointer; transition:.15s;
}
.fdr-ptab:hover { background:#e2ead e; }
.fdr-ptab.active { background:var(--fdr-forest); color:#fff; border-color:var(--fdr-forest); }
.fdr-price-hint { font-size:11px; color:#9ca3af; margin-top:4px; }

/* ══════════════════════════════════════════════════════════════
   BY-SIDE  [finddepotrum_by]
   ══════════════════════════════════════════════════════════════ */
.fdr-by-wrap { max-width: 1100px; margin: 0 auto; padding: 24px 16px 64px; }

.fdr-by-hero { margin: 16px 0 24px; }
.fdr-by-h1   { font-family: 'Fraunces', serif; font-size: clamp(28px,5vw,42px);
                color: var(--fdr-forest); margin: 0 0 6px; }
.fdr-by-sub  { font-size: 15px; color: var(--fdr-ink-mid); margin: 0; }

.fdr-by-desc { background: #f8faf7; border-left: 4px solid var(--fdr-forest-lt);
               border-radius: 8px; padding: 20px 24px; margin-bottom: 32px;
               font-size: 15px; line-height: 1.7; color: var(--fdr-ink); }
.fdr-by-desc p:last-child { margin-bottom: 0; }

.fdr-by-section { margin-bottom: 40px; }
.fdr-by-h2 { font-family: 'Fraunces', serif; font-size: 22px;
              color: var(--fdr-forest); margin: 0 0 16px; }

/* Unit cards */
.fdr-by-units { display: grid;
                grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
                gap: 16px; }
.fdr-by-ucard { display: flex; flex-direction: column; border-radius: 12px;
                border: 1.5px solid #e5e7eb; background: #fff; overflow: hidden;
                text-decoration: none; color: inherit;
                transition: box-shadow .18s, transform .18s; }
.fdr-by-ucard:hover { box-shadow: 0 6px 24px rgba(0,0,0,.1); transform: translateY(-2px); }
.fdr-by-uimg { height: 150px; background: #e5ede5 center/cover no-repeat; position: relative; }
.fdr-by-nophoto { display: flex; align-items: center; justify-content: center; }
.fdr-by-nophoto::after { content: '📦'; font-size: 40px; }
.fdr-by-badge { position: absolute; top: 8px; left: 8px;
                background: var(--fdr-gold, #f59e0b); color: #fff;
                font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 20px; }
.fdr-by-ubody { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.fdr-by-utitle { font-weight: 700; font-size: 14px; color: var(--fdr-ink); line-height: 1.3; }
.fdr-by-uspecs { display: flex; flex-wrap: wrap; gap: 6px; }
.fdr-by-uspecs span { font-size: 12px; background: #f3f4f6; border-radius: 4px;
                       padding: 2px 8px; color: var(--fdr-ink-mid); }
.fdr-by-uspecs .fdr-by-price { background: #e8f0e8; color: var(--fdr-forest);
                                 font-weight: 700; }
.fdr-by-avail { font-size: 12px; font-weight: 600; color: #166534; }
.fdr-by-avail.unknown { color: #92400e; }

/* Provider cards */
.fdr-by-providers { display: grid;
                     grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
                     gap: 14px; }
.fdr-by-pcard { display: flex; align-items: center; gap: 14px; padding: 16px;
                border: 1.5px solid #e5e7eb; border-radius: 12px; background: #fff;
                text-decoration: none; color: inherit;
                transition: box-shadow .18s, transform .18s; }
.fdr-by-pcard:hover { box-shadow: 0 4px 16px rgba(0,0,0,.09); transform: translateY(-2px); }
.fdr-by-plogo { width: 48px; height: 48px; object-fit: contain; border-radius: 8px;
                border: 1px solid #e5e7eb; flex-shrink: 0; }
.fdr-by-plogo-ph { width: 48px; height: 48px; border-radius: 8px; flex-shrink: 0;
                    background: var(--fdr-forest); color: #fff;
                    display: flex; align-items: center; justify-content: center;
                    font-weight: 800; font-size: 15px; }
.fdr-by-pinfo { flex: 1; min-width: 0; }
.fdr-by-pname  { font-weight: 700; font-size: 14px; color: var(--fdr-ink);
                  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fdr-by-pvrf   { font-size: 11px; color: #166534; margin-top: 2px; }
.fdr-by-pcount { font-size: 12px; color: var(--fdr-ink-mid); margin-top: 2px; }

@media (max-width: 600px) {
  .fdr-by-units { grid-template-columns: 1fr 1fr; }
  .fdr-by-providers { grid-template-columns: 1fr; }
}

/* ── Breadcrumb provider segment ─────────────────────────────── */
.fdr-bc-prov-sep { margin: 0 4px; color: #9ca3af; }
.fdr-bc-prov { font-weight: 600; color: var(--fdr-forest); }
.fdr-bc-prov:hover { text-decoration: underline; }

/* ── Contact form: no-inquiry fallback ───────────────────────── */
.fdr-cc-submit-ext {
  display: block; text-align: center; text-decoration: none;
  background: var(--fdr-gold, #f59e0b); color: #fff;
  border: none; border-radius: 8px; padding: 14px;
  font-size: 15px; font-weight: 700; cursor: pointer;
  width: 100%; box-sizing: border-box;
  transition: background .15s;
}
.fdr-cc-submit-ext:hover { background: #d97706; color: #fff; }
.fdr-cc-no-form {
  text-align: center; font-size: 12px; color: #9ca3af;
  margin: 8px 0 0;
}
.fdr-cc-disabled {
  display: block; width: 100%; box-sizing: border-box;
  padding: 14px; border-radius: 8px; border: none;
  background: #e5e7eb; color: #9ca3af;
  font-size: 15px; font-weight: 700;
  cursor: not-allowed; text-align: center;
}

/* ═══════════════════════════════════════════════════════════════
   PROVIDER PROFIL-SIDE
   ═══════════════════════════════════════════════════════════════ */

/* Wrapper */
.fdr-prov-profile-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 0 60px;
  font-family: var(--fdr-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

/* ── Hero ── */
.fdr-pp-hero {
  background: var(--fdr-forest, #1a3d2b);
  color: #fff;
  padding: 36px 24px;
}
.fdr-pp-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 28px;
  flex-wrap: wrap;
}
.fdr-pp-logo-wrap {
  flex-shrink: 0;
}
.fdr-pp-logo {
  width: 90px;
  height: 90px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  padding: 6px;
}
.fdr-pp-logo-ph {
  width: 90px;
  height: 90px;
  background: rgba(255,255,255,.18);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 800;
  color: #fff;
}
.fdr-pp-hero-info { flex: 1; min-width: 200px; }
.fdr-pp-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.fdr-pp-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(255,255,255,.15);
  color: #fff;
}
.fdr-pp-badge.vrf { background: rgba(34,197,94,.25); }
.fdr-pp-badge.feat { background: rgba(245,158,11,.3); }
.fdr-pp-name {
  margin: 0 0 6px;
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}
.fdr-pp-tagline {
  margin: 0 0 12px;
  font-size: 15px;
  color: rgba(255,255,255,.8);
}
.fdr-pp-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
  color: rgba(255,255,255,.75);
}
.fdr-pp-hero-cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  min-width: 160px;
}
.fdr-pp-cta-phone,
.fdr-pp-cta-web,
.fdr-pp-cta-email {
  display: block;
  text-align: center;
  padding: 11px 18px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: opacity .15s;
  border: none;
}
.fdr-pp-cta-phone { background: #fff; color: var(--fdr-forest, #1a3d2b); }
.fdr-pp-cta-web   { background: var(--fdr-gold, #f59e0b); color: #fff; }
.fdr-pp-cta-email { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.fdr-pp-cta-phone:hover,
.fdr-pp-cta-web:hover,
.fdr-pp-cta-email:hover { opacity: .85; }

/* ── Tab nav ── */
.fdr-pp-tabs-bar {
  background: #fff;
  border-bottom: 2px solid #e5e7eb;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.fdr-pp-tabs-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  gap: 0;
  overflow-x: auto;
}
.fdr-pp-tab {
  padding: 16px 22px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.fdr-pp-tab:hover { color: var(--fdr-forest, #1a3d2b); }
.fdr-pp-tab.active {
  color: var(--fdr-forest, #1a3d2b);
  border-bottom-color: var(--fdr-forest, #1a3d2b);
}

/* ── Content area ── */
.fdr-pp-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 20px 0;
}
.fdr-pp-section-h {
  font-size: 20px;
  font-weight: 800;
  color: var(--fdr-ink, #111827);
  margin: 0 0 24px;
}
.fdr-pp-empty {
  color: #9ca3af;
  font-style: italic;
  padding: 24px 0;
}

/* ── Units grid ── */
.fdr-pp-units-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.fdr-pp-ucard {
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #e5e7eb;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s, transform .18s;
}
.fdr-pp-ucard:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  transform: translateY(-2px);
}
.fdr-pp-ucard.taken { opacity: .6; }
.fdr-pp-uimg {
  height: 160px;
  background: #f3f4f6 center/cover no-repeat;
  position: relative;
}
.fdr-pp-ustatus {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(0,0,0,.5);
  color: #fff;
}
.fdr-pp-ustatus.avail   { background: rgba(22,101,52,.85); }
.fdr-pp-ustatus.unknown { background: rgba(146,64,14,.75); }
.fdr-pp-ustatus.taken   { background: rgba(100,100,100,.7); }
.fdr-pp-ubody { padding: 16px; flex: 1; }
.fdr-pp-utitle {
  font-size: 15px;
  font-weight: 700;
  color: var(--fdr-ink, #111827);
  margin-bottom: 8px;
}
.fdr-pp-uspecs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13px;
  color: #6b7280;
}
.fdr-pp-uspecs strong { color: var(--fdr-forest, #1a3d2b); font-size: 15px; }
.fdr-pp-uaddr {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 8px;
}

/* ── Om / info grid ── */
.fdr-pp-desc-body {
  font-size: 15px;
  line-height: 1.7;
  color: #374151;
  margin-bottom: 28px;
  max-width: 720px;
}
.fdr-pp-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}
.fdr-pp-info-item {
  background: #f9fafb;
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fdr-pp-ii-lbl {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #9ca3af;
}
.fdr-pp-info-item span:last-child {
  font-size: 14px;
  font-weight: 600;
  color: var(--fdr-ink, #111827);
}
.fdr-pp-socials {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.fdr-pp-social-link {
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  background: #f3f4f6;
  color: #374151;
  transition: background .15s;
}
.fdr-pp-social-link:hover { background: #e5e7eb; }
.fdr-pp-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 8px;
}
.fdr-pp-gal-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 10px;
  transition: opacity .15s;
}
.fdr-pp-gal-item:hover img { opacity: .85; }

/* ── Faciliteter ── */
.fdr-pp-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.fdr-pp-feat-item {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #166534;
}

/* ── Beliggenhed ── */
.fdr-pp-address-card {
  background: #f9fafb;
  border-radius: 12px;
  padding: 20px 24px;
  display: inline-block;
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
  margin-bottom: 4px;
}
.fdr-pp-address-card p { margin: 0 0 6px; }

/* ── Anmeldelser ── */
.fdr-pp-rating-summary {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #f9fafb;
  border-radius: 14px;
  padding: 20px 28px;
  margin-bottom: 28px;
  width: fit-content;
}
.fdr-pp-rating-big {
  font-size: 52px;
  font-weight: 900;
  color: var(--fdr-forest, #1a3d2b);
  line-height: 1;
}
.fdr-pp-stars-big { font-size: 24px; color: #f59e0b; letter-spacing: 2px; }
.fdr-pp-rating-cnt { font-size: 13px; color: #9ca3af; margin-top: 4px; }
.fdr-pp-reviews { display: flex; flex-direction: column; gap: 16px; }
.fdr-pp-review {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px 20px;
}
.fdr-pp-rv-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.fdr-pp-rv-author { font-weight: 700; font-size: 14px; color: var(--fdr-ink, #111827); }
.fdr-pp-rv-stars  { color: #f59e0b; font-size: 15px; letter-spacing: 1px; }
.fdr-pp-rv-date   { font-size: 12px; color: #9ca3af; margin-left: auto; }
.fdr-pp-rv-text   { margin: 0; font-size: 14px; color: #374151; line-height: 1.6; }

/* ── Depotrum i området ── */
.fdr-pp-nearby {
  background: #f9fafb;
  border-top: 1.5px solid #e5e7eb;
  margin-top: 52px;
  padding: 40px 20px;
}
.fdr-pp-nearby-inner { max-width: 1100px; margin: 0 auto; }
.fdr-pp-nearby-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 8px;
}
.fdr-pp-nu-card {
  background: #fff;
  border-radius: 12px;
  border: 1.5px solid #e5e7eb;
  padding: 16px 18px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .18s, transform .18s;
  display: block;
}
.fdr-pp-nu-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,.09);
  transform: translateY(-2px);
}
.fdr-pp-nu-prov { font-size: 11px; color: #6b7280; margin-bottom: 4px; font-weight: 600; }
.fdr-pp-nu-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--fdr-ink, #111827);
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fdr-pp-nu-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  color: #6b7280;
}
.fdr-pp-nu-specs strong { color: var(--fdr-forest, #1a3d2b); }

/* ── Provider logo i sidebar ── */
.fdr-cc-prov-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  padding: 3px;
}
.fdr-cc-prov-name.fdr-cc-prov-link {
  text-decoration: none;
  color: var(--fdr-forest, #1a3d2b);
  font-weight: 700;
  font-size: 14px;
}
.fdr-cc-prov-name.fdr-cc-prov-link:hover { text-decoration: underline; }

/* ── Responsive ── */
@media (max-width: 768px) {
  .fdr-pp-hero-inner { flex-direction: column; gap: 20px; }
  .fdr-pp-hero-cta { flex-direction: row; flex-wrap: wrap; }
  .fdr-pp-cta-phone, .fdr-pp-cta-web, .fdr-pp-cta-email { flex: 1; min-width: 120px; }
  .fdr-pp-name { font-size: 22px; }
  .fdr-pp-units-grid { grid-template-columns: 1fr 1fr; }
  .fdr-pp-nearby-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .fdr-pp-units-grid, .fdr-pp-nearby-grid { grid-template-columns: 1fr; }
  .fdr-pp-tab { padding: 12px 14px; font-size: 13px; }
}

/* ── Provider profil: Om udbyder altid synlig ─────────────────── */
.fdr-pp-om-always {
  background: #f9fafb;
  border-bottom: 1.5px solid #e5e7eb;
}
.fdr-pp-om-always-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 20px;
}
.fdr-pp-om-always .fdr-pp-desc-body {
  margin-bottom: 20px;
}
.fdr-pp-om-always .fdr-pp-info-grid {
  margin-bottom: 16px;
}
/* Nearby inline — samme stil, ingen grå baggrund */
.fdr-pp-nearby-inline {
  background: #fff;
  border-top: 1.5px solid #e5e7eb;
  margin-top: 0;
}

/* ══════════════════════════════════════════════════════════════════
   BY-SIDE: udlejer-blokke med depotrum-tabeller
   ══════════════════════════════════════════════════════════════════ */

/* Quick-links til udlejere */
.fdr-by-quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.fdr-by-ql-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 13px;
  text-decoration: none;
  transition: background .15s;
}
.fdr-by-ql-chip:hover { background: rgba(255,255,255,.25); }
.fdr-by-ql-cnt {
  background: rgba(255,255,255,.25);
  border-radius: 10px;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 700;
}

/* Provider block */
.fdr-by-provider-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  margin-bottom: 24px;
  overflow: hidden;
  scroll-margin-top: 80px;
}

/* Provider header */
.fdr-by-prov-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid #f3f4f6;
  background: #fafafa;
}
.fdr-by-prov-logo {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fdr-by-prov-logo img { width: 100%; height: 100%; object-fit: contain; }
.fdr-by-prov-initials {
  font-size: 22px;
  font-weight: 700;
  color: #6b7280;
}
.fdr-by-prov-info { flex: 1; min-width: 0; }
.fdr-by-prov-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.fdr-by-prov-name {
  font-size: 20px;
  font-weight: 700;
  color: #111;
  margin: 0;
}
.fdr-by-prov-badge {
  background: #ecfdf5;
  color: #059669;
  border: 1px solid #6ee7b7;
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.fdr-by-prov-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 6px;
}
.fdr-by-prov-desc {
  font-size: 13px;
  color: #6b7280;
  margin: 4px 0 0;
  line-height: 1.5;
}
.fdr-by-prov-cta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
.fdr-by-prov-link {
  display: inline-block;
  background: #2563eb;
  color: #fff;
  padding: 9px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  text-align: center;
}
.fdr-by-prov-link:hover { background: #1d4ed8; color: #fff; }
.fdr-by-prov-web {
  display: inline-block;
  background: #f3f4f6;
  color: #374151;
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 12px;
  text-decoration: none;
  text-align: center;
  border: 1px solid #e5e7eb;
}
.fdr-by-prov-web:hover { background: #e5e7eb; color: #111; }

/* Unit table */
.fdr-by-units-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.fdr-by-units-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.fdr-by-units-table thead th {
  background: #f8fafc;
  color: #6b7280;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.fdr-by-units-table tbody tr {
  border-bottom: 1px solid #f3f4f6;
  transition: background .1s;
}
.fdr-by-units-table tbody tr:last-child { border-bottom: none; }
.fdr-by-units-table tbody tr:hover { background: #f8fafc; }
.fdr-by-units-table tbody tr.is-taken { opacity: .55; }
.fdr-by-units-table td {
  padding: 12px 14px;
  vertical-align: middle;
  color: #374151;
}
.fdr-by-unit-title {
  font-weight: 600;
  color: #111;
  max-width: 240px;
  word-break: break-word;
}
.fdr-by-feat-dot { margin-left: 4px; font-size: 12px; }
.fdr-by-td-num  { color: #6b7280; white-space: nowrap; }
.fdr-by-td-price { font-weight: 700; color: #2563eb; white-space: nowrap; }
.fdr-by-td-feats { max-width: 200px; }
.fdr-by-feat-tag {
  display: inline-block;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 11px;
  margin: 2px 2px 2px 0;
  white-space: nowrap;
}
.fdr-by-feat-more {
  display: inline-block;
  background: #f3f4f6;
  color: #9ca3af;
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 11px;
}
.fdr-by-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.fdr-by-status.avail   { background:#ecfdf5; color:#059669; }
.fdr-by-status.taken   { background:#fef2f2; color:#dc2626; }
.fdr-by-status.unknown { background:#fefce8; color:#ca8a04; }
.fdr-by-unit-btn {
  display: inline-block;
  background: #f3f4f6;
  color: #374151;
  padding: 6px 14px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid #e5e7eb;
  transition: all .15s;
}
.fdr-by-unit-btn:hover { background: #2563eb; color: #fff; border-color: #2563eb; }

/* Responsive */
@media (max-width: 768px) {
  .fdr-by-prov-header { flex-direction: column; }
  .fdr-by-prov-cta { flex-direction: row; }
  .fdr-by-units-table thead th:nth-child(3),
  .fdr-by-units-table tbody td:nth-child(3),
  .fdr-by-units-table thead th:nth-child(4),
  .fdr-by-units-table tbody td:nth-child(4),
  .fdr-by-units-table thead th:nth-child(6),
  .fdr-by-units-table tbody td:nth-child(6),
  .fdr-by-units-table thead th:nth-child(7),
  .fdr-by-units-table tbody td:nth-child(7) { display: none; }
}

/* ── Anmeldelser: depotrum-reference under anmeldelsen ─────────── */
.fdr-rev-unit-ref,
.fdr-pp-rv-unit {
  font-size: 12px;
  color: #6b7280;
  background: #f3f4f6;
  border-radius: 5px;
  padding: 3px 8px;
  margin: 4px 0 6px;
  display: inline-block;
}

/* ══════════════════════════════════════════════════════════════════
   BYOVERSIGT — [finddepotrum_byer]
   ══════════════════════════════════════════════════════════════════ */

.fdr-byer-wrap { max-width: 1100px; margin: 0 auto; }

.fdr-byer-search-wrap {
  padding: 20px 0 8px;
  max-width: 400px;
}
.fdr-byer-search {
  width: 100%;
  padding: 11px 16px;
  font-size: 15px;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  outline: none;
  transition: border-color .2s;
}
.fdr-byer-search:focus { border-color: #2563eb; }

.fdr-byer-region-block { margin: 28px 0 0; }

.fdr-byer-region-h {
  font-size: 18px;
  font-weight: 700;
  color: #111;
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.fdr-byer-region-cnt {
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 10px;
  border-radius: 20px;
}

.fdr-byer-table-wrap { overflow-x: auto; }

.fdr-byer-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
}
.fdr-byer-table thead th {
  background: #f8fafc;
  color: #6b7280;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 10px 16px;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.fdr-byer-table tbody tr {
  border-bottom: 1px solid #f3f4f6;
  transition: background .1s;
}
.fdr-byer-table tbody tr:last-child { border-bottom: none; }
.fdr-byer-table tbody tr:hover { background: #f8fafc; }
.fdr-byer-table td { padding: 11px 16px; vertical-align: middle; }

.fdr-byer-city a {
  font-weight: 600;
  color: #2563eb;
  text-decoration: none;
}
.fdr-byer-city a:hover { text-decoration: underline; }

.fdr-byer-avail {
  display: inline-block;
  background: #ecfdf5;
  color: #059669;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  font-size: 13px;
}
.fdr-byer-none { color: #d1d5db; }
.fdr-byer-td-num  { color: #6b7280; }
.fdr-byer-td-price { font-weight: 600; color: #111; white-space: nowrap; }

.fdr-byer-btn {
  display: inline-block;
  background: #2563eb;
  color: #fff;
  padding: 6px 14px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
}
.fdr-byer-btn:hover { background: #1d4ed8; color: #fff; }

.fdr-byer-no-result {
  text-align: center;
  padding: 40px;
  color: #6b7280;
}

@media (max-width: 640px) {
  .fdr-byer-table thead th:nth-child(3),
  .fdr-byer-table tbody td:nth-child(3) { display: none; }
}

/* ══════════════════════════════════════════════════════════════════
   PARTNER WIDGETS — mersalg
   ══════════════════════════════════════════════════════════════════ */
.fdr-partners-widget {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
  margin: 24px 0;
  background: #fafafa;
}
.fdr-pw-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 15px;
  color: #111;
  margin-bottom: 14px;
}
.fdr-pw-icon { font-size: 18px; }
.fdr-pw-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.fdr-pw-card {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 200px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px 14px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.fdr-pw-card:hover {
  border-color: #2563eb;
  box-shadow: 0 2px 8px rgba(37,99,235,.1);
  color: inherit;
}
.fdr-pw-card-icon { font-size: 26px; flex-shrink: 0; }
.fdr-pw-card-body { flex: 1; min-width: 0; }
.fdr-pw-card-name { font-weight: 600; font-size: 13px; color: #111; }
.fdr-pw-card-desc { font-size: 12px; color: #6b7280; margin-top: 2px; }
.fdr-pw-card-price { font-size: 13px; font-weight: 700; color: #2563eb; margin-top: 4px; }
.fdr-pw-card-cta {
  font-size: 12px;
  font-weight: 600;
  color: #2563eb;
  white-space: nowrap;
  flex-shrink: 0;
}
.fdr-pw-disclaimer {
  font-size: 11px;
  color: #9ca3af;
  margin: 12px 0 0;
}

/* Relaterede depotrum sektion */
.fdr-related-section {
  padding: 32px 0;
  border-top: 1px solid #f3f4f6;
  margin-top: 16px;
}

@media (max-width: 640px) {
  .fdr-pw-card { min-width: 100%; }
}

/* ── Social share ───────────────────────────────────────────── */
.fdr-share-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.fdr-share-label {
  font-size: 12px;
  color: #9ca3af;
  font-weight: 500;
}
.fdr-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  text-decoration: none;
  transition: opacity .15s;
  color: #fff;
}
.fdr-share-btn:hover { opacity: .85; color: #fff; }
.fdr-share-fb    { background: #1877f2; }
.fdr-share-li    { background: #0a66c2; }
.fdr-share-email { background: #6b7280; }

/* ── Nabobyer ────────────────────────────────────────────────── */
.fdr-nearby-cities {
  padding: 24px 0 8px;
  border-top: 1px solid #f3f4f6;
  margin-top: 24px;
}
.fdr-nearby-cities-h {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  margin: 0 0 12px;
}
.fdr-nearby-cities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fdr-nearby-city-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  transition: background .15s, border-color .15s;
}
.fdr-nearby-city-chip:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
}
.fdr-nearby-city-cnt {
  background: #2563eb;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 10px;
}
.fdr-share-wa { background: #25d366; }
.fdr-share-copy { background: #6b7280; border: none; cursor: pointer; }
