
.dk-internetInputs{
  padding: 20px !important;
  border-radius: 24px;
}

.dk-form__heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin: 0 0 16px;
}

.dk-form__headingIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background: var(--dk-green-100, #eef7e8);
  color: var(--dk-green, #339900);
  font-size:20px;
}

.dk-form__headingText{
  margin:0;
  font-size:22px;
  line-height:1.15;
  font-weight:800;
  color:#1d1d1d;
}

.dk-inputChoice{
  display:flex;
  align-items:center;
  gap:12px;
  /*padding:14px 0 10px;*/
  /*border-bottom:1px solid #efefef;*/
}

.dk-inputChoice--first{
  padding-top: 4px;
}

.dk-inputChoice__icon{
  color: var(--dk-green, #339900);
  font-size: 20px;
  width: 24px;
  text-align:center;
  flex: 0 0 24px;
}

.dk-inputChoice .ui-selectbooleancheckbox{
  display:flex;
  align-items:center;
  gap:10px;
}

.dk-inputChoice .ui-chkbox-label{
  font-size:20px;
  font-weight:800;
  color: var(--dk-green, #339900);
}

.dk-form__sectionTitle{
  display:block;
  /*margin:16px 0 8px;*/
  font-size:16px;
  line-height:1.35;
  font-weight:400;
  /*color: var(--dk-green, #339900);*/
}

.dk-form__labelText{
  color:#3f3f3f;
  font-weight:600;
  font-size:16px;
  line-height:1.45;
  
}

.dk-form__grid{
  width:100% !important;
  border-collapse:collapse;
}

.dk-form__grid > tbody > tr > td{
  padding: 0 0 8px 0 !important;
  vertical-align: top;
}

.dk-form__subgrid{
  width:100%;
}

.dk-form__subgrid > tbody > tr > td{
  padding: 0 !important;
}

.dk-selectMenu{
  width:100% !important;
  /*margin: 8px 0 14px !important;*/
}

.dk-selectMenu--compact{
  max-width: 240px;
}

.dk-numberInput.ui-inputfield{
  width:88px !important;
  min-width:88px !important;
  padding:12px 10px !important;
  font-size:16px !important;
  text-align:center;
  border-radius:14px !important;
}

.dk-optionBlock{
  margin-top:16px;
}

.dk-subOptionBlock{
  margin:10px 0 0 20px;
}

.dk-fieldsetSimplified{
  margin: 6px 0 16px !important;
}

.dk-fieldsetSimplified.ui-fieldset{
  border:1px solid #e7efe7 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow: var(--dk-shadow-sm);
}

.dk-fieldsetSimplified .ui-fieldset-legend{
  font-size:18px !important;
  font-weight:800 !important;
  color: var(--dk-green, #339900) !important;
}

.dk-fieldsetSimplified .ui-fieldset-content{
  padding: 12px 0 0 0 !important;
}

.dk-submitBtn.ui-button,
.dk-buttonWide.ui-button{
  width:100% !important;
}

.dk-linkInline{
  display:inline-block;
  margin-left:0 !important;
}

.dk-infoIcon{
  color: var(--dk-green, #339900);
  font-size:18px;
  vertical-align:middle;
  margin-left:6px;
  cursor:help;
}

.dk-infoPromo{
  margin-top: 20px;
  padding: 20px;
}

.dk-infoPromo .seitenTitel{
  display:block;
  margin-bottom:8px;
}

.dk-clearBoth{
  clear: both;
}

.dk-internetInputs br{
  line-height: 1.2;
}

.dk-internetInputs .textSize13{
  font-size:14px;
}

.dk-internetInputs .ui-slider{
  margin-top:8px;
  margin-bottom:8px;
}

.dk-internetInputs .ui-tabs{
  margin-top:18px;
}

.dk-internetInputs .NaviButton{
  width:100%;
  border-radius:999px;
  border:1px solid var(--dk-green, #339900);
  background:#fff;
  color: var(--dk-green, #339900);
  font-weight:800;
  padding:14px 18px;
}

.dk-internetInputs .ui-outputlabel,
.dk-internetInputs .ui-outputtext,
.dk-internetInputs .ui-selectbooleancheckbox .ui-chkbox-label{
  /*font-size:16px;*/
  margin: 10px;
}

.dk-internetInputs .compareSelectOneMenu .ui-selectonemenu-label{
  font-size:16px !important;
}

.dk-internetInputs .ui-selectbooleancheckbox{
  margin-top:4px;
}

@media (max-width: 991px){
  .dk-internetInputs{
    padding: 18px !important;
  }

  .dk-form__headingText{
    font-size:20px;
  }

  .dk-inputChoice .ui-chkbox-label{
    font-size:17px;
  }

  .dk-form__sectionTitle{
    font-size:17px;
  }
}



#internetInputForm\:speedAuswahl1.ui-selectonemenu,
#internetInputForm\:telOptions.ui-selectonemenu{
    padding: 0 !important;
}

.dk-optionBlock .dk-form__labelText + label,
.dk-optionBlock .dk-form__labelText .ui-chkbox-label {
    margin-left: 5px;
    /*color: var(--dk-green, #339900);*/
  font-weight:800;
        
}

.dk-addressBox {
    background-color: #e7e7e7;
    padding: 8px;
}

.dk-addressBox__control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    padding: 6px; 
    background-color: white;
}

.dk-addressBox input.ui-inputfield,
.dk-addressBox .ui-selectonemenu,
.dk-addressBox .compareSelectOneMenu,
.dk-addressBox .dk-selectMenu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.dk-addressBox .ui-selectonemenu-label {
    box-sizing: border-box;
}

.dk-addressBox__button.ui-button,
.dk-addressBox .dk-buttonWide.ui-button {
    width: 100% !important;
    max-width: 100% !important;
}

.dk-addressBox .ui-selectonemenu {
    display: block !important;
}

#plzInput .dk-compare__sidebar input.ui-inputfield{
    padding-left: 20px;
}


#internetInputForm\:plzInput {
    display: block;
    margin-top: 14px !important;
    margin-bottom: 14px !important;
    padding-left: 20px !important;
    box-sizing: border-box;
}


.dk-kombirabattBlock {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dk-subBlock__title {
    padding-top: 20px;
    color: #339900;
    /*font-size: 20px;*/
    font-weight: 800;
    line-height: 1.2;
    border-top: 2px #d9d9d9 solid;
    margin-bottom: 0px;
}

.dk-kombirabattBlock__intro {
    margin: 0;
    color: #666;
    font-size: 15px;
    line-height: 1.45;
}

.dk-kombirabattOption {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 0;
    border-bottom: 1px solid #ececec;
}

.dk-kombirabattOption:last-child {
    border-bottom: 0;
}

.dk-kombirabattOption__head {
    display: grid;
    grid-template-columns: auto 20px 1fr;
    align-items: center;
    gap: 10px;
}

.dk-kombirabattOption__icon {
    color: #339900;
    font-size: 16px;
}

.dk-kombirabattOption__label {
    font-size: 16px;
    line-height: 1.35;
    color: #1d1d1d;
    font-weight: 600;
}

.dk-kombirabattOption__selectWrap {
    padding-left: 34px;
    width: 100%;
    box-sizing: border-box;
}

.dk-kombirabattOption__select {
    width: 100% !important;
    max-width: 100% !important;
}

.dk-kombirabattOption__select.ui-selectonemenu,
.dk-kombirabattOption__select .ui-selectonemenu-label,
.dk-kombirabattOption__select .ui-selectonemenu-trigger {
    font-size: 15px !important;
}

.dk-kombirabattOption__panel .ui-selectonemenu-item {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.dk-kombirabattOption .ui-selectbooleancheckbox .ui-chkbox-label,
.dk-kombirabattOption .ui-selectbooleancheckbox + label {
    font-size: 16px;
}

#internetInputForm\:promoAuswahl.ui-selectonemenu{
    width: 100%
}

/*Überschreibt dk-inputs.css*/
.dk-calcProto__chipWrap > .ui-button.dk-calcProto__chipBtn--install {
    min-height: 52px !important;
    padding: 0 22px !important;
    border-radius: 10px !important;
    background: #fff !important;
    border: 1px solid #d9d9d9 !important;
    color: #4b4b4b !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    width: 100%
}

.dk-calcProto__chipWrap > .ui-button.dk-calcProto__chipBtn--install .ui-button-text {
    line-height: 50px !important;
    padding: 0 !important;
    color: inherit !important;
}

.dk-calcProto__chipWrap > .ui-button.dk-calcProto__chipBtn--install.is-active,
.dk-calcProto__chipWrap > .ui-button.dk-calcProto__chipBtn--install.ui-state-active {
    background: #339900 !important;
    border-color: #339900 !important;
    color: #fff !important;
}

.dk-calcProto__chipWrap > .ui-button.dk-calcProto__chipBtn--install.is-active .ui-button-text,
.dk-calcProto__chipWrap > .ui-button.dk-calcProto__chipBtn--install.ui-state-active .ui-button-text {
    color: #fff !important;
}

.dk-inlineLabelRow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dk-inlineLabelRow .dk-form__labelText {
    margin: 0;
}

.dk-infoIcon {
    color: #339900;
    font-size: 16px;
    line-height: 1;
}

#internetInputForm\:promoAuswahl {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* =============================================================
   Ergänzungen für _inputfelder.xhtml – neue Design-Fixes
   ============================================================= */

/* Fix 2+3: Einrückung Radio-Labels und Glasfaser-Checkbox
   Die Labels "nur Schweizweit verfügbare" / "für meine Adresse"
   und die Glasfaser-Checkbox sollen gleich weit links eingerückt
   sein wie der Radio-Button-Text. */
.dk-internetInputs .ui-selectoneradio td {
    padding-left: 0 !important;
    vertical-align: middle;
}

.dk-internetInputs .ui-selectoneradio label {
    font-size: 16px !important;
    margin-left: 8px;
}

/* Fix 3: Glasfaser-Checkbox Einrückung */
.dk-indentedOption {
    padding-top: 10px;
    padding-left: 26px;
    display: block;
}

.dk-indentedOption .ui-chkbox-label {
    font-size: 16px;
    margin-left: 8px;
}

/* Fix 4+5: Einheitliche Schriftgrösse in Telefonie-Eingabefeldern.
   Der dk-numberInput hat bereits 16px – hier sicherstellen dass
   auch Labels gleich gross sind. */
.dk-fieldsetSimplified .dk-form__labelText {
    font-size: 16px !important;
}

.dk-fieldsetSimplified .dk-form__sectionTitle {
    font-size: 16px !important;
    font-weight: 600;
    color: var(--dk-text, #1d1d1d);
    margin: 12px 0 6px;
}

/* Fix 4: Mindestvertragsdauer – compareSelectOneMenu übernimmt
   Styling, aber wir wollen eine kompaktere Darstellung */
#internetInputForm\:mindVertragAuswahl.ui-selectonemenu {
    padding: 0 !important;
}

/* Sicherstellen dass alle p:slider im Fieldset gleich aussehen */
.dk-fieldsetSimplified .ui-slider {
    margin-top: 6px;
    margin-bottom: 2px;
}


/* =============================================================
   Ergänzungen – zweite Runde
   ============================================================= */

/* --- Glasfaser-Checkbox: Abstand nach oben, kein padding-left --- */
.dk-glassCheck {
    display: block;
    margin-top: 14px;
}
.dk-glassCheck .ui-chkbox-label {
    font-size: 16px;
    margin-left: 8px;
}

/* --- Adressbox: einheitliche Felder mit Abstand --- */
.dk-addressBox {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--dk-green-tint, #e0f0d9);
    border-radius: 16px;
    padding: 14px;
}

/* Alle Controls in der Adressbox gleich hoch */
.dk-addressBox .dk-addressBox__control,
.dk-addressBox .compareSelectOneMenu,
.dk-addressBox input.ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    min-height: 52px !important;
}

/* PLZ-Inputfeld gleich hoch wie Selects */
.dk-addressBox .dk-addressBox__control--plz.ui-inputfield {
    min-height: 52px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    border-radius: 16px !important;
}

/* selectOneMenu in Adressbox: Label-Höhe angleichen */
.dk-addressBox .compareSelectOneMenu .ui-selectonemenu-label {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
}

/* Button: mehr Abstand nach oben */
.dk-addressBox__btn.ui-button {
    margin-top: 6px !important;
}

/* --- Telefonie-Fieldset: saubere Abstände --- */
.dk-fieldsetSimplified {
    margin: 12px 0 16px !important;
}

/* Abstand zwischen den Sections (Telefonie / Tageszeiten / Verteilung) */
.dk-fieldsetSimplified .dk-form__sectionTitle {
    margin-top: 18px !important;
    margin-bottom: 8px !important;
    padding-top: 14px;
    border-top: 1px solid #efefef;
}

/* Erste sectionTitle im Fieldset braucht keinen Border oben */
.dk-fieldsetSimplified .ui-fieldset-content > .dk-form__sectionTitle:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0 !important;
}

/* dSchnitt-Zeile (ergibt X Min pro Anruf) */
.dk-dSchnitt {
    display: block;
    margin-top: 6px;
    margin-left: 0 !important;
    font-size: 13px !important;
    color: var(--dk-muted, #878787);
}

/* Zeilen-Abstand im dk-form__grid */
.dk-fieldsetSimplified .dk-form__grid > tbody > tr > td {
    padding-bottom: 12px !important;
}

/* Ausland-Fieldset: Abstand nach oben */
.dk-fieldsetSimplified + .dk-fieldsetSimplified {
    margin-top: 14px !important;
}

/* Separator im Ausland-Fieldset */
.dk-fieldsetSimplified .ui-separator {
    margin: 14px 0 !important;
}

/* Autocomplete in Ausland-Fieldset volle Breite */
.dk-fieldsetSimplified .ui-autocomplete,
.dk-fieldsetSimplified .ui-autocomplete-input {
    width: 100% !important;
}

/* Mindestvertragsdauer – volle Breite sicherstellen */
#internetInputForm\:mindVertragAuswahl.ui-selectonemenu {
    width: 100% !important;
    padding: 0 !important;
}


/* =============================================================
   FIX: Doppelter Rahmen bei compareSelectOneMenu in Sidebar
   dk-inputs.css setzt border auf den Wrapper (.ui-selectonemenu),
   compareSelectOneMenu setzt border auf das Label.
   Wrapper-Border hier auf none nullen – nur das Label hat den Rahmen.
   ============================================================= */
.dk-internetInputs .compareSelectOneMenu.ui-selectonemenu,
.dk-resultsPage__sidebarSection .compareSelectOneMenu.ui-selectonemenu {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}


/* =============================================================
   FIX: Strassenfeld-Dropdown bleibt offen beim Klick ins Filter-Input
   PrimeFaces rendert das Panel als Overlay – sicherstellen dass
   pointer-events und z-index korrekt sind.
   ============================================================= */
.ui-selectonemenu-panel {
    pointer-events: auto !important;
}

.ui-selectonemenu-filter-container {
    pointer-events: auto !important;
}

.ui-selectonemenu-filter-container input {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 1 !important;
}
