/* BedsteElselskaber.dk – frontend */
.bes-shortcode{
  --bes-ink:#10243a;
  --bes-muted:#637083;
  --bes-line:#dce4ee;
  --bes-soft:#f5f8fc;
  --bes-soft-blue:#eef5ff;
  --bes-blue:#246ee9;
  --bes-blue-dark:#1657bd;
  --bes-teal:#0fa78f;
  --bes-teal-dark:#087966;
  --bes-amber:#f4b73f;
  --bes-radius:18px;
  --bes-shadow:0 12px 30px rgba(16,36,58,.08);
  color:var(--bes-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  box-sizing:border-box;
}
.bes-shortcode *, .bes-shortcode *::before, .bes-shortcode *::after{box-sizing:border-box}
.bes-data-error,.bes-no-products{padding:14px 16px;border:1px solid #f1c9c9;background:#fff7f7;border-radius:12px;color:#8f2f2f}

/* Toolbar + filter */
.bes-card-feed .filter-sticky-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;padding:12px 14px;background:#fff;border:1px solid var(--bes-line);border-radius:14px;box-shadow:0 6px 18px rgba(16,36,58,.05)}
.bes-card-feed .filter-trigger-btn{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:0;border-radius:10px;background:var(--bes-ink);color:#fff;font-weight:700;cursor:pointer}
.bes-card-feed .filter-trigger-btn:hover{background:#183856}
.bes-card-feed .filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--bes-ink);font-size:12px}
.bes-card-feed .last-updated-global{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--bes-muted);font-size:13px}
.bes-card-feed .last-updated-global strong{color:var(--bes-ink)}
.source-tooltip{position:relative;display:inline-flex;align-items:center}
.source-tooltip .info-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bes-soft-blue);border:1px solid #cbdcf6;color:var(--bes-blue-dark);font-weight:800;font-size:11px;cursor:help}
.source-tooltip .tooltip-bubble{position:absolute;left:0;top:26px;z-index:1000;min-width:220px;max-width:330px;padding:10px 12px;background:#0e1b2b;color:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(5px);transition:.15s ease;font-size:12px;line-height:1.45}
.source-tooltip:hover .tooltip-bubble,.source-tooltip:focus-within .tooltip-bubble{opacity:1;visibility:visible;transform:none}
.source-tooltip .tooltip-title{display:block;font-weight:800;margin-bottom:4px}
.source-tooltip .tooltip-source{display:block}
body.bes-filter-open{overflow:hidden}
.bes-filter-modal-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(11,27,43,.56);opacity:0;transition:opacity .22s ease}
.bes-filter-modal-overlay[hidden]{display:none}
.bes-filter-modal-overlay.active{opacity:1}
.bes-filter-modal-content{width:min(620px,100%);max-height:min(760px,92vh);overflow:hidden;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.24);display:flex;flex-direction:column}
.filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--bes-line)}
.filter-modal-header h3{margin:0;font-size:22px;color:var(--bes-ink)}
.close-btn{border:0;background:var(--bes-soft);width:38px;height:38px;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--bes-ink)}
.filter-modal-body{overflow:auto;padding:20px 22px}
.filter-section{margin:0 0 20px;padding:0;border:0}
.filter-section-title{display:block;margin:0 0 10px;font-weight:800;color:var(--bes-ink)}
.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.filter-list{display:grid;gap:9px}
.filter-grid label,.filter-list label{display:flex;align-items:center;gap:8px;color:#314255;font-size:14px}
.select-wrapper select{width:100%;min-height:42px;border:1px solid var(--bes-line);border-radius:10px;padding:0 12px;background:#fff;color:var(--bes-ink)}
.filter-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--bes-line);background:#fbfcfe}
.primary-btn,.secondary-btn{min-height:42px;padding:0 17px;border-radius:10px;font-weight:800;cursor:pointer}
.primary-btn{border:0;background:var(--bes-blue);color:#fff}.primary-btn:hover{background:var(--bes-blue-dark)}
.secondary-btn{border:1px solid var(--bes-line);background:#fff;color:var(--bes-ink)}

/* Main comparison feed */
.bes-card-feed .el-products-container{display:flex;flex-direction:column;gap:15px;padding:0;margin:0}
.bes-card-feed .card{display:grid;grid-template-columns:minmax(225px,1.2fr) minmax(160px,.72fr) minmax(280px,1.35fr) minmax(145px,.62fr);grid-template-areas:"header price features cta" "tags price features cta";gap:14px 18px;align-items:center;position:relative;padding:18px 18px 18px 20px;background:#fff;border:1px solid var(--bes-line);border-left:4px solid var(--bes-blue);border-radius:var(--bes-radius);box-shadow:var(--bes-shadow);overflow:hidden}
.bes-card-feed .card::after{content:"";position:absolute;right:-34px;top:-46px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(36,110,233,.08),rgba(36,110,233,0) 70%);pointer-events:none}
.bes-card-feed .card[hidden]{display:none!important}
.bes-card-feed .card-header{grid-area:header;display:flex;align-items:center;gap:14px;min-width:0}
.bes-card-feed .card-logo{width:76px;height:52px;object-fit:contain;flex:0 0 auto;padding:6px;border:1px solid #edf1f6;border-radius:12px;background:#fff}
.bes-card-feed .card-logo-placeholder{background:var(--bes-soft)}
.bes-card-feed .card-title-section{min-width:0}
.bes-card-feed .card-provider-name{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--bes-blue-dark);margin-bottom:3px}
.bes-card-feed .card-title-text{font-size:18px;line-height:1.22;font-weight:800;color:var(--bes-ink);overflow-wrap:anywhere}
.bes-card-feed .card-rating{display:flex;align-items:center;gap:4px;margin-top:7px;color:var(--bes-muted);font-size:12px;flex-wrap:wrap}
.rating-stars{display:inline-flex;gap:1px}.rating-stars .star-icon{width:13px;height:13px;fill:var(--bes-teal)}
.bes-card-feed .card-rating-score{font-weight:800;color:var(--bes-ink)}
.bes-card-feed .card-updated-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px;color:#7c8796;font-size:11px}
.bes-card-feed .card-price-block{grid-area:price;align-self:stretch;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:15px 12px;border:1px solid #d6e4f8;border-radius:14px;background:linear-gradient(180deg,#f3f8ff 0%,#edf5ff 100%)}
.bes-card-feed .card-price{font-size:20px;line-height:1.25;font-weight:850;color:var(--bes-blue-dark)}
.bes-card-feed .card-price-sub{margin-top:6px;font-size:12px;color:#50657c}
.bes-card-feed .card-features{grid-area:features;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0!important;padding:0!important;list-style:none;border:1px solid #e8edf3;border-radius:14px;overflow:hidden;background:#fff}
.bes-card-feed .card-features>li{display:flex;justify-content:space-between;gap:10px;min-width:0;padding:9px 11px!important;margin:0!important;border-bottom:1px solid #edf1f5;font-size:12px;line-height:1.35}
.bes-card-feed .card-features>li:nth-child(odd){border-right:1px solid #edf1f5}
.bes-card-feed .card-features>li.feature-intro-row,.bes-card-feed .card-features>li.feature-note-row{grid-column:1/-1;border-right:0}
.bes-card-feed .card-features>li:last-child{border-bottom:0}
.bes-card-feed .feature-label{color:#6d7886}.bes-card-feed .feature-value{font-weight:750;color:var(--bes-ink);text-align:right}
.bes-card-feed .intro-card{width:100%;display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border-radius:10px;background:#fff8e7;border:1px solid #f5d17f;color:#775112}
.bes-card-feed .intro-card strong{display:block;margin-bottom:2px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.bes-card-feed .intro-icon{color:#bf8120;flex:0 0 auto}
.bes-card-feed .feature-note-row{display:block!important}.bes-card-feed .feature-note-label{display:block;margin-bottom:3px}.bes-card-feed .feature-note-text{color:#435163}
.bes-card-feed .card-tags{grid-area:tags;display:flex;flex-wrap:wrap;gap:6px;align-self:start}
.bes-card-feed .info-tag{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#f0f4f8;color:#435163;font-size:11px;font-weight:700}
.bes-card-feed .bes-card-action{grid-area:cta;text-align:center}
.bes-card-feed .card-cta-button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;border-radius:12px;background:var(--bes-teal);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:850;text-align:center;box-shadow:0 8px 18px rgba(15,167,143,.22)}
.bes-card-feed .card-cta-button:hover{background:var(--bes-teal-dark);transform:translateY(-1px)}
.bes-card-feed .bes-card-ad-label{display:block;margin-top:5px;color:#8a94a1;font-size:9px;text-transform:uppercase;letter-spacing:.07em}

/* Provider overview block */
.bes-provider-card{margin:24px 0;background:#fff;border:1px solid var(--bes-line);border-radius:22px;box-shadow:var(--bes-shadow);overflow:hidden}
.bes-provider-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(135deg,#f7fbff 0%,#eef6ff 60%,#f7fbff 100%);border-bottom:1px solid #dbe7f5}
.bes-provider-identity{display:flex;align-items:center;gap:15px;min-width:0}
.bes-provider-logo{width:92px;height:64px;object-fit:contain;padding:8px;background:#fff;border:1px solid #dfe7ef;border-radius:14px}
.bes-provider-logo-placeholder{display:grid;place-items:center;font-weight:900;color:var(--bes-blue-dark)}
.bes-provider-eyebrow{display:block;margin-bottom:2px;color:var(--bes-blue-dark);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.bes-provider-name{font-size:27px;font-weight:900;line-height:1.1;color:var(--bes-ink)}
.bes-provider-rating{display:flex;align-items:center;gap:4px;margin-top:7px;color:var(--bes-muted);font-size:13px}.bes-provider-rating strong{color:var(--bes-ink)}
.bes-provider-highlights{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:52%}
.bes-provider-highlight{display:inline-flex;align-items:center;min-height:31px;padding:0 10px;border:1px solid #d4e2f2;border-radius:999px;background:#fff;color:#43566c;font-size:12px;font-weight:700}
.bes-provider-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 24px 0}
.bes-provider-overview-item{padding:14px 15px;border:1px solid #e2e9f1;border-radius:13px;background:#fbfcfe}.bes-provider-overview-item span{display:block;color:var(--bes-muted);font-size:11px;font-weight:700;margin-bottom:4px}.bes-provider-overview-item strong{display:block;color:var(--bes-ink);font-size:15px;line-height:1.25}
.bes-provider-description{margin:14px 24px 18px;padding:14px 16px;border-left:3px solid var(--bes-blue);background:#f8fafc;color:#435163;line-height:1.65;font-size:14px}
.bes-provider-products{border-top:1px solid #edf1f5}
.bes-provider-product{border-bottom:1px solid #edf1f5;background:#fff}.bes-provider-product:last-child{border-bottom:0}
.bes-provider-product-summary{display:grid;grid-template-columns:minmax(200px,1.35fr) minmax(135px,.75fr) minmax(120px,.65fr) minmax(100px,.58fr) minmax(128px,.58fr);gap:14px;align-items:center;padding:16px 24px}
.bes-provider-product-main{min-width:0}.bes-provider-type-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf3ff;color:var(--bes-blue-dark);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.bes-provider-product-name{margin-top:5px;font-size:16px;font-weight:850;color:var(--bes-ink)}
.bes-provider-intro-chip{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 8px;border-radius:8px;background:#fff7df;color:#7b5311;font-size:11px;font-weight:750}.bes-provider-intro-chip svg{width:13px;height:13px}
.bes-provider-metric{min-width:0}.bes-provider-metric-label{display:block;margin-bottom:3px;color:var(--bes-muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.bes-provider-metric strong{font-size:13px;line-height:1.3;color:var(--bes-ink)}
.bes-provider-product-action{text-align:center}.bes-provider-cta{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border-radius:10px;background:var(--bes-teal);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:850}.bes-provider-cta:hover{background:var(--bes-teal-dark)}.bes-provider-ad-label{display:block;margin-top:4px;color:#8a94a1;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.bes-provider-details{background:#fbfcfe}.bes-provider-details>summary{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;color:#536375;font-size:12px;font-weight:750;cursor:pointer;list-style:none}.bes-provider-details>summary::-webkit-details-marker{display:none}.bes-provider-details>summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s}.bes-provider-details[open]>summary svg{transform:rotate(180deg)}.bes-provider-details-label-open{display:none}.bes-provider-details[open] .bes-provider-details-label-open{display:inline}.bes-provider-details[open] .bes-provider-details-label-closed{display:none}
.bes-provider-detail-content{padding:0 24px 18px}.bes-provider-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.bes-provider-detail-grid>div{padding:10px 12px;border:1px solid #e3e9ef;border-radius:10px;background:#fff}.bes-provider-detail-grid dt{margin:0 0 3px;color:var(--bes-muted);font-size:10px;font-weight:750;text-transform:uppercase}.bes-provider-detail-grid dd{margin:0;color:var(--bes-ink);font-size:12px;font-weight:700}
.bes-provider-intro-box,.bes-provider-note{display:flex;gap:10px;margin-top:10px;padding:11px 13px;border-radius:10px}.bes-provider-intro-box{background:#fff7df;border:1px solid #f3d17f;color:#765112}.bes-provider-note{display:block;background:#f2f5f8;color:#435163}.bes-provider-intro-box p,.bes-provider-note p{margin:2px 0 0;font-size:12px;line-height:1.5}.bes-provider-intro-icon{flex:0 0 auto}
.bes-provider-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 24px;background:#f7f9fb;border-top:1px solid #e8edf2;color:#748090;font-size:11px}

/* Editorial comparison tables */
.bes-summary-table-block{margin:22px 0;border:1px solid var(--bes-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,36,58,.055);overflow:hidden}
.bes-table-title{padding:16px 18px;border-bottom:1px solid var(--bes-line);background:linear-gradient(90deg,#f7faff,#fff);font-size:17px;font-weight:900;color:var(--bes-ink)}
.bes-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bes-summary-table{width:100%;border-collapse:collapse;min-width:760px;font-size:13px}
.bes-summary-table th{padding:11px 13px;background:#f6f8fb;border-bottom:1px solid var(--bes-line);color:#566477;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.bes-summary-table td{padding:13px;border-bottom:1px solid #edf1f4;color:#324255;vertical-align:middle}.bes-summary-table tbody tr:last-child td{border-bottom:0}.bes-summary-table tbody tr:hover{background:#fbfdff}
.bes-table-provider{display:flex;align-items:center;gap:10px;min-width:150px}.bes-table-provider img{width:54px;height:38px;object-fit:contain;padding:4px;border:1px solid #edf1f5;border-radius:8px;background:#fff}.bes-table-provider strong{display:block;color:var(--bes-ink);font-size:13px}.bes-table-provider a{display:inline-block;margin-top:2px;color:var(--bes-blue-dark);font-size:10px;font-weight:700;text-decoration:none}
.bes-offer-chip{display:inline-block;padding:6px 8px;border-radius:8px;background:#fff5d8;border:1px solid #f3d17f;color:#75500d;font-size:11px;line-height:1.35}
.bes-table-note{margin:0;padding:11px 15px;border-top:1px solid #edf1f4;background:#fbfcfe;color:#6a7787;font-size:11px;line-height:1.5}.bes-table-footer{padding:9px 15px;background:#f5f7fa;color:#7c8794;font-size:10px;text-align:right}

/* Legacy generic comparison table kept for aliases */
.el-table-container{margin:20px 0}.el-table-wrapper{overflow-x:auto;border:1px solid var(--bes-line);border-radius:16px}.el-comparison-table{width:100%;min-width:880px;border-collapse:collapse;background:#fff;font-size:12px}.el-comparison-table th{padding:11px;background:#f6f8fb;color:#59687a;text-align:left;border-bottom:1px solid var(--bes-line)}.el-comparison-table td{padding:11px;border-bottom:1px solid #edf1f4;vertical-align:middle}.el-comparison-table .col-logo img{width:54px;height:38px;object-fit:contain}.prod-link{font-weight:800;color:var(--bes-blue-dark)!important;text-decoration:none!important}.prod-meta,.price-sub{display:block;color:#7b8795;font-size:10px;margin-top:2px}.price-val{font-weight:800;color:var(--bes-ink)}.intro-badge,.fee-item{display:block;margin:2px 0}.table-footer{padding:8px 4px;color:#7b8795;font-size:10px;text-align:right}

@media (max-width:1080px){
  .bes-card-feed .card{grid-template-columns:1.1fr .7fr 1.15fr;grid-template-areas:"header price cta" "features features features" "tags tags tags"}.bes-card-feed .card-cta-button{min-height:44px}
  .bes-provider-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bes-provider-product-summary{grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(105px,.7fr));}.bes-provider-product-action{grid-column:1/-1;justify-self:end;width:150px}
}
@media (max-width:767px){
  .bes-card-feed .filter-sticky-header{align-items:stretch;flex-direction:column}.bes-card-feed .filter-trigger-btn{justify-content:center}.bes-card-feed .last-updated-global{justify-content:center;text-align:center}
  .source-tooltip .tooltip-bubble{left:auto;right:0;max-width:min(300px,calc(100vw - 36px))}
  .filter-grid{grid-template-columns:1fr}
  .bes-card-feed .card{display:flex;flex-direction:column;align-items:stretch;padding:16px;border-left-width:3px}.bes-card-feed .card-header{align-items:center}.bes-card-feed .card-logo{width:72px;height:48px}.bes-card-feed .card-price-block{min-height:88px}.bes-card-feed .card-features{grid-template-columns:1fr}.bes-card-feed .card-features>li:nth-child(odd){border-right:0}.bes-card-feed .card-features>li.feature-intro-row,.bes-card-feed .card-features>li.feature-note-row{grid-column:auto}.bes-card-feed .bes-card-action{width:100%}.bes-card-feed .card-cta-button{width:100%}
  .bes-provider-header{align-items:flex-start;flex-direction:column;padding:18px}.bes-provider-highlights{max-width:none;justify-content:flex-start}.bes-provider-logo{width:78px;height:56px}.bes-provider-name{font-size:23px}.bes-provider-overview{grid-template-columns:1fr 1fr;padding:14px 18px 0}.bes-provider-description{margin:12px 18px 16px}.bes-provider-product-summary{display:grid;grid-template-columns:1fr 1fr;padding:15px 18px}.bes-provider-product-main{grid-column:1/-1}.bes-provider-product-action{grid-column:1/-1;width:100%;justify-self:stretch}.bes-provider-detail-content{padding:0 18px 16px}.bes-provider-detail-grid{grid-template-columns:1fr 1fr}.bes-provider-footer{padding:10px 18px;flex-direction:column}
}
@media (max-width:480px){
  .bes-card-feed .card-header{align-items:flex-start}.bes-card-feed .card-logo{width:64px;height:44px}.bes-card-feed .card-title-text{font-size:16px}.bes-card-feed .card-price{font-size:18px}
  .bes-provider-overview{grid-template-columns:1fr}.bes-provider-product-summary{grid-template-columns:1fr}.bes-provider-metric{padding:8px 0;border-top:1px solid #edf1f4}.bes-provider-detail-grid{grid-template-columns:1fr}
}
