.cosmedica-price-table{
  --pt-header-bg:#E1EDFF;
  --pt-header-text:#213368;
  --pt-cell-text:#1A1A1A;
  --pt-brand:#213368;
  --pt-row-alt:#F7FAFF;
  --pt-badge-accent-bg:rgba(67,137,226,0.12);
  --pt-badge-accent-text:#4389E2;
  --pt-badge-success-bg:rgba(30,158,99,0.12);
  --pt-badge-success-text:#1e9e63;
  --pt-border:rgba(33,51,104,0.08);
  --pt-border-width:1px;
  --pt-radius:16px;
  --pt-table-width:100%;
  --pt-cell-padding-top:15px;
  --pt-cell-padding-right:18px;
  --pt-cell-padding-bottom:15px;
  --pt-cell-padding-left:18px;
  font-family:inherit;
}
.cosmedica-price-table *{ box-sizing:border-box; }

.cosmedica-price-table__scroll{
  overflow-x:auto;
  border-radius:var(--pt-radius);
  box-shadow:0 18px 44px -26px rgba(33,51,104,0.4);
  -webkit-overflow-scrolling:touch;
}

.cosmedica-price-table__table{
  width:var(--pt-table-width);
  min-width:520px;
  border-collapse:collapse;
  background:#fff;
  margin:0;
}

.cosmedica-price-table__th{
  background:var(--pt-header-bg);
  color:var(--pt-header-text);
  padding:16px 18px;
  font-weight:700;
  font-size:14px;
  letter-spacing:.01em;
  border:0;
}

.cosmedica-price-table__td{
  padding:var(--pt-cell-padding-top) var(--pt-cell-padding-right) var(--pt-cell-padding-bottom) var(--pt-cell-padding-left);
  border:0;
  border-top:var(--pt-border-width) solid var(--pt-border);
  color:var(--pt-cell-text);
  font-size:15px;
}

.cosmedica-price-table__row:nth-child(even) .cosmedica-price-table__td{
  background:var(--pt-row-alt);
}

.cosmedica-price-table__align--left{ text-align:left; }
.cosmedica-price-table__align--right{ text-align:right; }
.cosmedica-price-table__align--center{ text-align:center; }

.cosmedica-price-table__td--plain{ color:inherit; }
.cosmedica-price-table__td--brand{ color:var(--pt-brand); font-weight:800; white-space:nowrap; }
.cosmedica-price-table__td--strike{
  color:#8C9AC2; text-decoration:line-through; text-decoration-color:#D8E1F5; font-weight:500;
}

.cosmedica-price-table__badge{
  display:inline-block;
  font-weight:700;
  font-size:14px;
  padding:6px 14px;
  border-radius:999px;
  white-space:nowrap;
}
.cosmedica-price-table__td--badge-accent{
  background:var(--pt-badge-accent-bg);
  color:var(--pt-badge-accent-text);
}
.cosmedica-price-table__td--badge-success{
  background:var(--pt-badge-success-bg);
  color:var(--pt-badge-success-text);
}

/* ============================================================
   MOBILE — Modus A: Karten (Standard, für kurze Tabellen)
   ============================================================ */
@media(max-width:600px){
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__scroll{
    overflow:visible;
    box-shadow:none;
    border-radius:0;
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__table{
    min-width:0;
    background:transparent;
  }
  .cosmedica-price-table--mobile-cards thead{
    position:absolute;
    width:1px; height:1px; overflow:hidden;
    clip:rect(0 0 0 0); white-space:nowrap;
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__table,
  .cosmedica-price-table--mobile-cards tbody,
  .cosmedica-price-table--mobile-cards tr,
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__td{
    display:block; width:100%;
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__row{
    margin:0 0 16px;
    border:1px solid var(--pt-border);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 18px 44px -26px rgba(33,51,104,0.4);
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__row:last-child{ margin-bottom:0; }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__row:nth-child(even) .cosmedica-price-table__td{
    background:transparent;
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__td{
    border-top:0;
    border-bottom:1px solid var(--pt-border);
    text-align:right !important;
    padding:12px 16px;
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__td:last-child{ border-bottom:0; }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__td::before{
    content:attr(data-label);
    float:left;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--pt-badge-accent-text);
  }
}

/* ============================================================
   MOBILE — Modus B: Horizontal scrollen, 1. Spalte fixiert
   (für lange Tabellen — kein endloses Kartenscrollen)
   ============================================================ */
@media(max-width:600px){
  .cosmedica-price-table--mobile-scroll .cosmedica-price-table__scroll{
    overflow-x:auto;
  }
  .cosmedica-price-table--mobile-scroll .cosmedica-price-table__table{
    min-width:640px;
  }
  .cosmedica-price-table--mobile-scroll .cosmedica-price-table__th:first-child,
  .cosmedica-price-table--mobile-scroll .cosmedica-price-table__td:first-child{
    position:sticky;
    left:0;
    z-index:1;
    background:#fff;
    box-shadow:2px 0 6px rgba(33,51,104,0.06);
  }
  .cosmedica-price-table--mobile-scroll .cosmedica-price-table__th:first-child{
    background:var(--pt-header-bg);
    z-index:2;
  }
  .cosmedica-price-table--mobile-scroll .cosmedica-price-table__row:nth-child(even) .cosmedica-price-table__td:first-child{
    background:var(--pt-row-alt);
  }
}

/* ---------------- Footer row (optional) ---------------- */
.cosmedica-price-table{
  --pt-footer-bg:#213368;
  --pt-footer-text:#ffffff;
}
.cosmedica-price-table__footer-cell{
  background:var(--pt-footer-bg);
  color:var(--pt-footer-text);
  padding:16px 18px;
  font-weight:700;
  font-size:14px;
  border:0;
}

@media(max-width:600px){
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__footer-row{
    display:block;
    margin-top:12px;
    border-radius:14px;
    overflow:hidden;
  }
  .cosmedica-price-table--mobile-cards .cosmedica-price-table__footer-cell{
    display:block;
    text-align:left !important;
    border-top:0;
  }
}
