/* ── HS Preisübersicht – Frontend Styles ── */

.hs-pu-widget { font-family: inherit; padding: 2rem 0; --pu-primary: #008a69; --pu-secondary: #FF7900; --pu-gray-light: #F4F4F4; --pu-gray-dark: #636363; }

.pu-headline { font-size: 12px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--pu-primary); margin-bottom: 5px; }
.pu-title    { font-size: 28px; font-weight: 600; color: #1a1a1a; margin: 0 0 5px; }
.pu-subtitle { font-size: 15px; color: var(--pu-gray-dark); margin: 0 0 22px; }

/* Toggle */
.pu-toggle-row {
    display: flex;
    background: var(--tog-wrap-bg, var(--pu-gray-light));
    border: var(--tog-wrap-border, none);
    border-radius: var(--tog-wrap-radius, 40px);
    padding: var(--tog-wrap-pad, 4px);
    width: fit-content;
    margin-bottom: 28px;
    gap: 0;
}
.pu-tog {
    border: none;
    background: transparent;
    padding: var(--tog-btn-pv, 8px) var(--tog-btn-ph, 22px);
    border-radius: var(--tog-btn-radius, 36px);
    font-size: var(--tog-btn-fs, 13px);
    font-weight: var(--tog-btn-fw, 500);
    cursor: pointer;
    color: var(--tog-btn-col, var(--pu-gray-dark));
    transition: background .18s, color .18s, box-shadow .18s;
}
.pu-tog.active {
    background: var(--tog-active-bg, var(--pu-primary));
    color: var(--tog-active-col, #fff);
    box-shadow: var(--tog-active-sh, none);
}

/* Cards Grid */
.pu-cards { display: grid; grid-template-columns: repeat(var(--pkg-count, 3), 1fr); gap: 16px; }
@media (max-width: 860px) { .pu-cards { grid-template-columns: 1fr; } }
@media (min-width: 861px) and (max-width: 1100px) { .pu-cards { grid-template-columns: repeat(2, 1fr); } }

/* Card */
.pu-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.pu-card.pu-featured { border: 2px solid var(--pu-primary); }

/* Header */
.pu-card-header { padding: 20px 20px 16px; border-bottom: 1px solid #f0f0f0; }
.pu-badge { display: inline-block; font-size: 11px; font-weight: 600; border-radius: 20px; padding: 3px 12px; margin-bottom: 10px; }
.pu-badge--primary   { background: var(--pu-primary);   color: #fff; }
.pu-badge--secondary { background: var(--pu-secondary); color: #fff; }
.pu-badge-spacer { height: 26px; margin-bottom: 10px; }

.pu-pkg-name    { font-size: 17px; font-weight: 600; color: #1a1a1a; margin-bottom: 2px; }
.pu-pkg-tagline { font-size: 12px; color: var(--pu-gray-dark); margin-bottom: 14px; }

.pu-price-row { display: flex; align-items: baseline; gap: 6px; }
.pu-price-main { font-size: 28px; font-weight: 600; color: #1a1a1a; }
.pu-price-unit { font-size: 13px; color: var(--pu-gray-dark); }
.pu-price-save { font-size: 12px; color: var(--pu-primary); font-weight: 500; margin-top: 3px; min-height: 18px; }

/* HW block */
.pu-hw-block { padding: 12px 20px; border-bottom: 1px solid #f0f0f0; }
.pu-hw-inner { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; }
.pu-hw-label { font-size: 11px; color: var(--pu-gray-dark); white-space: nowrap; }
.pu-hw-prices { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.pu-hw-price { font-size: 18px; font-weight: 600; color: #1a1a1a; }
.pu-hw-orig-wrap { display: inline-flex; align-items: baseline; gap: 3px; }
.pu-hw-uvp  { font-size: 11px; color: var(--pu-gray-dark); }
.pu-hw-orig { font-size: 13px; color: var(--pu-gray-dark); text-decoration: line-through; }
.pu-hw-note { font-size: 11px; color: var(--pu-gray-dark); margin-top: 3px; }
.pu-conn-tag { display: inline-block; font-size: 11px; font-weight: 600; border-radius: 5px; padding: 2px 9px; margin-top: 5px; background: var(--pu-gray-light); color: var(--pu-gray-dark); }
.pu-conn--lte { background: rgba(255,121,0,.12); color: var(--pu-secondary); }

/* Features */
.pu-features   { padding: 14px 20px 18px; flex: 1; }
.pu-feat-title { font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--pu-gray-dark); margin-bottom: 10px; }
.pu-feat { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 7px; font-size: 13px; color: var(--pu-gray-dark); }
.pu-feat--highlight { background: rgba(0,138,105,.07); border-radius: 6px; padding: 4px 7px; margin: 0 -7px 7px; }
.pu-feat-icon { flex-shrink: 0; width: 16px; margin-top: 1px; font-size: 15px; }
.pu-feat-icon img { width: 16px; height: 16px; object-fit: contain; }
.pu-icon-color--primary   .ti { color: var(--pu-primary); }
.pu-icon-color--secondary .ti { color: var(--pu-secondary); }
.pu-icon-color--muted     .ti { color: #bbb; }
.pu-feat--muted { color: #bbb; }

/* CTA */
.pu-cta { padding: 0 20px 18px; }
.pu-btn { display: block; width: 100%; padding: 11px 0; border-radius: 8px; font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.pu-btn--filled  { background: var(--pu-primary); color: #fff; border: 2px solid var(--pu-primary); }
.pu-btn--outline { background: transparent; color: var(--pu-primary); border: 2px solid var(--pu-primary); }
.pu-btn:hover { opacity: .88; }

/* Chips */
.pu-chips { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.pu-chip  { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--pu-gray-dark); }
.pu-chip-icon { color: var(--pu-primary); font-size: 15px; display: flex; align-items: center; }
.pu-chip-icon img { width: 15px; height: 15px; object-fit: contain; }

/* ════════════════════════════════════════════════
   COMPARISON TABLE
════════════════════════════════════════════════ */
.hs-pu-table-widget { }

/* Title bar with toggle inline */
.pu-tbl-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.pu-tbl-titlebar--notitle { justify-content: flex-end; }
.pu-tbl-h2 { margin: 0 !important; }

/* Small / subtle toggle variant (used in table titlebar) */
.pu-toggle--sm {
    --tog-btn-pv: 5px;
    --tog-btn-ph: 14px;
    --tog-btn-fs: 12px;
    --tog-btn-fw: 400;
    margin: 0;
    margin-bottom: 0;
}
.pu-toggle--sm .pu-tog { color: #888; }
.pu-toggle--sm .pu-tog.active { font-weight: 500; }

.pu-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.pu-tbl {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    color: var(--pu-gray-dark);
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 0 0 1px #e0e0e0;
    min-width: 480px;
}

/* Column widths */
.pu-tbl-label-col { width: 42%; min-width: 160px; }
.pu-tbl-pkg-col   { width: calc(58% / var(--col-count, 3)); text-align: center; vertical-align: top; }

/* Header row */
.pu-tbl-head th {
    padding: 20px 14px 14px;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    font-weight: 500;
    vertical-align: bottom;
}
.pu-tbl-head .pu-tbl-label-col {
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
    vertical-align: bottom;
    padding-bottom: 20px;
}
.pu-tbl-featured {
    background: rgba(0,138,105,.04);
}

.pu-tbl-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    border-radius: 20px;
    padding: 2px 10px;
    margin-bottom: 8px;
}
.pu-tbl-pkg-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 8px;
    white-space: nowrap;
}
.pu-tbl-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    margin-top: 2px;
}
.pu-tbl-price-main { font-size: 22px; font-weight: 600; color: #1a1a1a; }
.pu-tbl-price-unit { font-size: 12px; color: var(--pu-gray-dark); }

/* Body rows */
.pu-tbl-row td {
    padding: 13px 14px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}
.pu-tbl-row:last-child td { border-bottom: none; }
.pu-tbl-feat-label { text-align: left; color: var(--pu-gray-dark); font-size: 13px; }

.pu-tbl-cell {
    text-align: center;
    background: #fff;
}
.pu-tbl-cell.pu-tbl-featured { background: rgba(0,138,105,.04); }

.pu-tbl-check { display: inline-flex; align-items: center; justify-content: center; }
.pu-tbl-dash  { color: #ccc; font-size: 16px; font-weight: 400; display: inline-block; }

/* Footer CTA */
.pu-tbl-cta-row td {
    border-top: 1px solid #e8e8e8;
    background: #fff;
}
.pu-tbl-cta-row .pu-tbl-featured { background: rgba(0,138,105,.04); }

/* Responsive */
@media (max-width: 600px) {
    .pu-tbl-label-col { width: 38%; min-width: 110px; font-size: 12px; }
    .pu-tbl-pkg-name  { font-size: 13px; }
    .pu-tbl-price-main{ font-size: 18px; }
    .pu-tbl-head th,
    .pu-tbl-row td    { padding: 10px 8px; }
    .pu-tbl { min-width: 360px; }
    .pu-tbl-titlebar  { flex-direction: column; align-items: flex-start; }
}

/* ── Admin table settings card ── */
.hs-pu-table-settings { border-top: 2px solid var(--vm-green, #008a69) !important; }
.hs-pu-table-toggles  { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
