/* =========================================================
   SURFCAMP COMPARISON
========================================================= */

.surfcamp-comparison-section{
  color:var(--surfcamp-grid-text,#22272a);
}


/* =========================================================
   TABLE WRAPPER
========================================================= */

.surfcamp-comparison{
  position:relative;
  width:100%;
  overflow:hidden;

  background:#ffffff;

  border:1px solid var(--surfcamp-grid-border,#e6edf0);
  border-radius:28px 28px 32px 22px;

  box-shadow:
    0 2px 12px rgba(15,111,143,.04);

  isolation:isolate;
}


/* =========================================================
   TABLE
========================================================= */

.surfcamp-comparison__table{
  width:100%;
  border:0;
  border-collapse:collapse;
  border-spacing:0;

  color:var(--surfcamp-grid-text,#22272a);

  font-family:
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Ubuntu,
    Cantarell,
    "Helvetica Neue",
    Arial,
    sans-serif;
}


/* =========================================================
   HEAD
========================================================= */

.surfcamp-comparison__table thead{
  background:
    linear-gradient(
      90deg,
      rgba(94,211,223,.18),
      rgba(26,166,183,.10) 52%,
      rgba(14,116,144,.13)
    );
}

.surfcamp-comparison__table th{
  padding:18px 24px;

  border:0;
  border-bottom:1px solid rgba(14,116,144,.12);

  color:var(--surfcamp-grid-primary-dark,#0E7490);

  text-align:left;
  vertical-align:middle;

  font:
    900 12px/1.25
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Ubuntu,
    Cantarell,
    "Helvetica Neue",
    Arial;

  letter-spacing:.09em;
  text-transform:uppercase;
}

.surfcamp-comparison__table th:first-child{
  width:29%;
}

.surfcamp-comparison__table th:nth-child(2){
  width:36%;
}

.surfcamp-comparison__table th:last-child{
  width:35%;
}


/* =========================================================
   ROWS
========================================================= */

.surfcamp-comparison__table tbody tr{
  background:#ffffff;

  transition:
    background .18s ease,
    box-shadow .18s ease;
}

.surfcamp-comparison__table tbody tr:nth-child(even){
  background:rgba(26,166,183,.018);
}

.surfcamp-comparison__table tbody tr:hover{
  background:rgba(26,166,183,.04);
}

.surfcamp-comparison__table td{
  padding:21px 24px;

  border:0;
  border-bottom:1px solid var(--surfcamp-grid-border,#e6edf0);

  vertical-align:middle;

  color:#374151;

  font:
    500 15px/1.55
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Ubuntu,
    Cantarell,
    "Helvetica Neue",
    Arial;
}

.surfcamp-comparison__table tbody tr:last-child td{
  border-bottom:0;
}


/* =========================================================
   "DU SUCHST"
========================================================= */

.surfcamp-comparison__need{
  color:var(--surfcamp-grid-text,#22272a) !important;

  font:
    800 17px/1.35
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Ubuntu,
    Cantarell,
    "Helvetica Neue",
    Arial !important;
}

/* Kleine visuelle Markierung */

.surfcamp-comparison__need::before{
  content:"";

  display:inline-block;

  width:7px;
  height:7px;

  margin:0 11px 2px 0;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      var(--surfcamp-grid-primary-light,#5ED3DF),
      var(--surfcamp-grid-primary-dark,#0E7490)
    );

  box-shadow:
    0 3px 9px rgba(26,166,183,.24);
}

/* =========================================================
   CAMPS
========================================================= */

.surfcamp-comparison__camp-list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:7px;
}

.surfcamp-comparison__camp{
  position:relative;

  display:inline-flex;
  align-items:center;

  min-height:36px;

  padding:8px 13px;

  border:1px solid rgba(26,166,183,.14);
  border-radius:999px;

  background:rgba(26,166,183,.07);

  color:var(--surfcamp-grid-primary-dark,#0E7490);

  text-decoration:none;

  font:
    800 13px/1.25
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Ubuntu,
    Cantarell,
    "Helvetica Neue",
    Arial;

  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.surfcamp-comparison__camp::after{
  content:"→";

  display:inline-block;

  margin-left:8px;

  font-size:13px;
  line-height:1;

  transition:transform .18s ease;
}

.surfcamp-comparison__camp:hover,
.surfcamp-comparison__camp:focus{
  color:#ffffff;
  text-decoration:none;

  border-color:transparent;

  background:
    linear-gradient(
      90deg,
      var(--surfcamp-grid-primary-light,#5ED3DF),
      var(--surfcamp-grid-primary-dark,#0E7490)
    );

  transform:translateY(-2px);

  box-shadow:
    0 9px 20px rgba(14,116,144,.20);

  outline:none;
}

.surfcamp-comparison__camp:hover::after,
.surfcamp-comparison__camp:focus::after{
  transform:translateX(3px);
}


/* =========================================================
   REASON
========================================================= */

.surfcamp-comparison__reason{
  color:#4b5563 !important;
}


/* =========================================================
   EMPTY VALUE
========================================================= */

.surfcamp-comparison__empty{
  color:var(--surfcamp-grid-muted,#66727a);
  opacity:.55;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

  .surfcamp-comparison__table th{
    padding:16px 18px;
  }

  .surfcamp-comparison__table td{
    padding:18px;
  }

  .surfcamp-comparison__need{
    font-size:16px !important;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:620px){

  .surfcamp-comparison{
    overflow:visible;

    background:transparent;

    border:0;
    border-radius:0;

    box-shadow:none;
  }


  /* Header der Desktop-Tabelle verstecken */

  .surfcamp-comparison__table thead{
    position:absolute;

    width:1px;
    height:1px;

    padding:0;
    margin:-1px;

    overflow:hidden;

    clip:rect(0,0,0,0);
    white-space:nowrap;

    border:0;
  }


  .surfcamp-comparison__table,
  .surfcamp-comparison__table tbody{
    display:block;
    width:100%;
  }


  /* Jede Tabellenzeile wird mobile zur Card */

  .surfcamp-comparison__table tbody{
    display:grid;
    gap:14px;
  }

  .surfcamp-comparison__table tbody tr{
    display:block;

    overflow:hidden;

    background:#ffffff !important;

    border:1px solid var(--surfcamp-grid-border,#e6edf0);
    border-radius:22px 22px 26px 16px;

    box-shadow:
      0 4px 16px rgba(15,111,143,.06);
  }

  .surfcamp-comparison__table td{
    display:block;

    width:100%;

    padding:16px 18px;

    border-bottom:
      1px solid var(--surfcamp-grid-border,#e6edf0);
  }

  .surfcamp-comparison__table tbody tr:last-child td,
  .surfcamp-comparison__table tbody tr td:last-child{
    border-bottom:0;
  }


  /* Mobile Spaltenbezeichnung */

  .surfcamp-comparison__table td::before{
    content:attr(data-label);

    display:block;

    margin:0 0 8px;

    color:var(--surfcamp-grid-muted,#66727a);

    font:
      900 10px/1.2
      system-ui,
      -apple-system,
      Segoe UI,
      Roboto,
      Ubuntu,
      Cantarell,
      "Helvetica Neue",
      Arial;

    letter-spacing:.11em;
    text-transform:uppercase;
  }


  /*
   * Desktop-Punkt wird mobile nicht benötigt,
   * da ::before schon das mobile Label verwendet.
   */

  .surfcamp-comparison__need::before{
    content:attr(data-label);

    width:auto;
    height:auto;

    margin:0 0 8px;

    border-radius:0;

    background:none;
    box-shadow:none;

    color:var(--surfcamp-grid-muted,#66727a);

    font:
      900 10px/1.2
      system-ui,
      -apple-system,
      Segoe UI,
      Roboto,
      Ubuntu,
      Cantarell,
      "Helvetica Neue",
      Arial;

    letter-spacing:.11em;
    text-transform:uppercase;
  }


  .surfcamp-comparison__camp-list{
    gap:6px;
  }

  .surfcamp-comparison__camp{
    min-height:38px;

    padding:9px 12px;

    font-size:13px;
  }

}