html,
body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    color: #222;
    line-height: 1.35;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: inherit;
}

.ben-section {
    border-radius: 0px;
    border: 0px solid #e2e4ea;
    margin: 10px auto !important;
    max-width: 1440px
}

.ben-container-wl40pjx2 {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center
}

.ben-container-kj3fibsl {
    width: 100%;
    max-width: 1345px;
    margin: 0 auto;
    padding: 0px 19px 22px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-direction: column;
    background: #fff;
}

/*.ben-container-kj3fibsl{width:calc(59% - 12px);display:flex;flex-direction:column;background:#fff}*/
@media (max-width:1024px) {
    .ben-container-kj3fibsl {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
        padding: 0 15px
    }
}

.ben-container-3fyfvo8f {
    width: calc(37% - 12px)
}

@media (max-width:1024px) {
    .ben-container-3fyfvo8f {
        display: none
    }
}

.ben-image-5a2h3iw6 {
    width: 100%;
    height: 700px;
    object-fit: cover;
    border-radius: 30px;
    margin: 10px 0
}

@media (max-width:1024px) {
    .ben-image-5a2h3iw6 {
        height: 480px;
        margin: 0
    }
}

@media (max-width:768px) {
    .ben-image-5a2h3iw6 {
        height: 450px
    }
}

.form-section:has(input:not(:checked)) {
    border: 1px solid #f3c179;
    background: #fdfdfd !important;
    box-shadow: unset;
}

.form-section {
    border: 1px solid #f0e2ce;
    background: #fff !important;
    box-shadow: unset;
    padding: 20px 17px;
    border-radius: 12px;
    margin-bottom: 20px
}

.form-section:has(input[type="radio"]:checked) {
    border: 1px solid #ae5825;
    background-color: #faf6ea !important;
    border-left: 1px solid #ae5825;
    border-color: #ae5825;
    /*box-shadow: inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);*/
    padding: 20px 17px;
    border-radius: 12px;
    margin-bottom: 20px
}

.form-label.question-label:not(:empty) {
    color: #1a1a1c;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px
}

.form-input {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
    background: 0 0;
    border: none;
    box-shadow: none
}

.radio-option {
    padding: 10px 0;
    border-bottom: 1px solid #eceff3
}

.radio-option:last-child {
    border-bottom: none
}

.radio-option input[type=radio] {
    display: none
}

.radio-option input[type=radio]+label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 4px;
    font-size: 1.05rem;
    color: #333;
    cursor: pointer;
    transition: color .2s ease
}

.radio-option input[type=radio]:checked+label {
    color: #165932;
    font-weight: 600
}

.radio-desc {
    margin-top: 6px;
    padding: 10px 12px;
    background: #f7f9fc;
    border-radius: 6px;
    font-size: .95rem;
    color: #1a1a1c;
    line-height: 1.5
}

input[type=checkbox].custom-checkbox {
    display: none
}

input[type=checkbox].custom-checkbox+label {
    display: block;
    text-align: end;
    padding: 12px 16px;
    border: 1px solid #f0e2ce;
    border-radius: 10px;
    font-size: 1.1rem;
    color: #3a3a3c;
    cursor: pointer;
    transition: all .25s ease
}

input[type=checkbox].custom-checkbox:checked+label {
    font-size: 1.1rem;
    text-align: start;
    font-weight: 400;
    border-radius: 10px;
    padding: 10px 7px;
    margin-bottom: 30px;
    border: 1px solid #ae5825 !important;
    color: #1a1a1c;
    background-color: #faf6ea;
    border-color: #ae5825;
    /*box-shadow: inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);*/
}

input[type=checkbox].custom-checkbox+label:hover {
    box-shadow: inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);
    color: #1a1a1c;
}

.input-container {
    position: relative;
    width: 100%
}

.custom-input {
    padding: 1.6rem 1rem;
    border: 1px solid #f3c179;
    border-radius: 8px;
    font-size: 21px;
    background: #fff;
    transition: all .25s ease
}

.custom-input:focus {
    border-color: #165932;
    box-shadow: 0 0 0 3px rgba(22, 89, 50, .15)
}

.input-container label {
    position: absolute;
    top: -4px;
    left: 14px;
    background: #fffefe;
    padding: 0 6px;
    font-size: 14px;
    color: #01101a;
    font-weight: 400
}

.modern-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .08)
}

.modern-table thead {
    background: #274781;
    color: #fff
}

.modern-table td,
.modern-table th {
    padding: 12px 18px;
    border-bottom: 1px solid #eef2f7;
    text-align: right
}

.modern-table tbody tr:hover {
    background: #f7faff
}

.ben-two-sections {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    gap: 0;
    align-items: flex-start
}

.section-left {
    flex: 1 1 60%;
    min-width: 0
}

.section-right {
    padding: 20px;
    border: 1px solid #f0e2ce;
    border-radius: 12px;
    background: #f3ede0;
    margin: auto;
    width: 100% !important;
    flex: 1 1 40%;
    min-width: 0;
}

.usp-eri {
    margin-top: 10px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 20px;
    background: #f3ede0;
    border-radius: 8px;
    padding: 18px 24px;
    margin-bottom: 20px;
    border: 1px solid #a45d2d;
    box-shadow: inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);
}

.usp-eri-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #003087
}

.usp-eri-item a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #000 !important
}

.usp-eri {
    margin: 30px
}

@media (max-width:1112px) {
    .ben-two-sections {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
        flex-direction: column
    }

    .section-left,
    .section-right {
        flex: 1 1 100%;
        width: 100%;
        margin-top: unset
    }

    .input-container label {
        font-size: 16px !important
    }

    .custom-input {
        font-size: 21px !important
    }
}

@media (max-width:1024px) {
    .ben-two-sections {
        width: 98%;
        margin-right: auto;
        margin-left: auto;
        flex-direction: column
    }
}

/*od 17.01.2026*/
.config-summary-wrapper {
    /*position:sticky;*/
    top: 0;
    background: unset;
    padding: 12px 0;
    z-index: 99999
}

.config-summary {
    border: 1px solid #ae5825;
    border-left: 1px solid #ae5825;
    margin-top: 0;
    padding: 16px 20px;
    border-radius: 14px;
    background: #faf6ea;
    /*box-shadow:inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);*/
}

.kosik_table_z tr.section-faktury,
.kosik_table_z tr.section-pripojeni,
.kosik_table_z tr.section-livetv,
.kosik_table_z tr.section-platby,
.kosik_table_z tr.section-router,
.kosik_table_z tr.section-sluzba,
.kosik_table_z tr.section-zavazek {
    display: none
}

.kosik_table_z tr.open {
    display: table-row
}

.summary-item:first-child .summary-item:nth-child(2) .info-icon {
    margin-left: 20px
}

.summary-item:nth-child(3) .info-icon {
    margin-left: 12px
}

.summary-item:nth-child(4) .info-icon {
    margin-left: 28px
}

.summary-item:nth-child(5) .summary-item:nth-child(6) .summary-section-title {
    font-size: .85rem;
    font-weight: 700;
    color: #888;
    margin-top: 18px;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.summary-item {
    border: 0px solid #faf6ea;
    border-top: 0px solid #faf6ea;
    display: flex;
    align-items: center;
    padding: 5px 0px;
    cursor: pointer;
    border-radius: 8px;
    transition: background .15s ease
}

.summary-item:hover {
    background-color: #f3ece2;
    box-shadow: inset 0px 0.3px 0.9px rgba(0, 0, 0, 0.1), 0px 1.6px 3.6px rgba(0, 0, 0, 0.13);
}

.summary-icon {
    width: 28px;
    font-size: 18px;
    text-align: center;
    opacity: .9
}

.summary-text {
    flex-grow: 1;
    font-size: 1.1rem;
    color: #1a1a1c;
}

.summary-price {
    font-size: 1.1rem;
    color: #1a1a1c;
    margin-right: 2rem;
}

.summary-arrow {
    color: #a45d2d;
    font-weight: 600;
    font-size: 0.9rem;
    opacity: 0.9;
}

.summary-item:hover .summary-arrow {
    text-decoration: underline;
    opacity: 1;
}

.summary-tip {
    font-size: .85rem;
    color: #999
}

#config-edit-panel {
    background: #faf6ea;
    border: 1px solid #ae5825;
    border-radius: 14px;
    padding: 15px 20px 0px 19px;
    margin-top: 1rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08)
}

#config-edit-panel .edit-panel-inner {
    display: block;
    width: 100%
}

#config-edit-panel table,
#config-edit-panel td,
#config-edit-panel tr {
    display: block;
    width: 100%
}

.summary-item strong {
    margin: 0 0 0;
    line-height: 1.27;
}

/* cenik  */
.rekapitulace-box {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif
}

.pricing-box {
    max-width: 480px;
    margin: 0 auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    padding: 24px 24px 28px;
    border: 1px solid #e5e7eb
}

.price-monthly-label {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 4px
}

.price-monthly-value {
    margin-top: 18px;
    font-size: 32px;
    font-weight: 700;
    color: #111827
}

.price-monthly-value span {
    font-size: 18px;
    font-weight: 500;
    color: #4b5563
}

.price-note {
    font-size: 14px;
    color: #6b7280;
    margin-top: 6px
}

.section-divider {
    border: 0;
    border-top: 1px solid #e5e7eb;
    margin: 20px 0
}

.section-title {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #111827;
    margin-bottom: 8px
}

.row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 15px;
    margin: 4px 0
}

.row span.label {
    color: #4b5563
}

.row span.value {
    font-weight: 600;
    color: #111827
}

.first-bill-box {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb
}

.first-bill-title {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 4px
}

.first-bill-row {
    display: flex;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 800;
    color: #111827
}

.info-text {
    font-size: 14px;
    color: #6b7280;
    margin-top: 10px;
    line-height: 1.5
}

/* tabulka doplnk�  */
#white_objednavka {
    max-width: 1440px;
    margin: 50px auto;
    padding: 0;
}

.product-container {
    background: #fff;
    border-radius: 0;
    overflow: hidden;
}

.product-header {
    color: #fff;
}

.product-details {
    padding: 10px 20px 20px;
}

.product-item:hover {
    background: #f8f9fa;
    box-shadow: inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);
}

.product-checkbox img {
    width: 20px;
    height: 20px;
}

.product-info-now {
    flex-grow: 1;
}

.product-info-now div:first-child {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 4px;
}

.product-info-now span {
    color: #222;
    font-size: 15px;
}

.product-price {
    padding-right: 0px;
    font-weight: 600;
    color: #333;
    min-width: 70px;
    text-align: right;
}

/* tabulka doplnk� jen t�i ��dky */
.product-details.limited {
    max-height: 300px;
    overflow: hidden;
    position: relative;
}

.product-details.limited::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
}

#toggle-more:checked~.product-details.limited {
    max-height: 2000px;
}

#toggle-more:checked~.product-details.limited::after {
    display: none;
}

.show-more-btn {
    display: block;
    text-align: center;
    margin: 10px 15px 20px;
    cursor: pointer;
    font-weight: 600;
    color: #2d3c47;
    padding: 8px 0;
    border-radius: 6px;
    background: #e9ecef;
    transition: background 0.2s;
}

.show-more-btn:hover {
    background: #dfe3e6;
}

#toggle-more:checked+.product-details.limited+.show-more-btn {
    content: "Skr�t";
}

.product-details {
    padding: unset;
    margin-top: unset;
}

.container-grid-sp {
    display: none;
}

.product-item {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    padding: 15px 20px;
    border: 1px solid #f3c179;
    border-radius: 10px;
    margin-bottom: 1rem;
    background: #fdfdfd;
    transition: 0.2s ease;
}

.product-item:hover {
    border-color: #c9c9c9;
}

/*.product-item.selected {border: 1px solid #0077ff;border-left: 6px solid #0077ff;border-color: #0077ff;background: #eef5ff;} */
.product-item.selected {
    background-color: #faf6ea;
    border-left: 1px solid #ae5825;
    border-color: #ae5825;
    /*box-shadow: inset 0 10px 42px -16px rgba(141, 121, 81, 0.61);*/
}

.product-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.product-checkbox img {
    width: 22px;
    height: 22px;
    cursor: pointer;
}

.product-image img {
    min-width: 100px;
    max-width: 100px;
    height: auto;
}

.product-right {
    flex: 1;
    cursor: pointer;
}

.product-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}

.product-description {
    font-size: 13px;
    color: #666;
    margin-bottom: 6px;
}

.product-price {
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.product-info-now .small_font {
    display: block;
    margin-top: 3px;
    line-height: 1.3;
    color: #666;
    font-size: 0.95rem;
    font-weight: 400 !important;
}

.product-info-now {
    display: block;
}

.service-line {
    display: inline-flex;
    align-items: baseline;
    /* zarovn� text vertik�ln� doprost�ed obr�zku */
    gap: 0.5rem;
    /* mezera mezi obr�zkem a textem */
}

.setup-block.hidden {
    display: none;
}

.product-checkbox.radio-like {
    display: flex;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #f0e2ce;
    background-color: #fff;
    transition: border-width .1s linear;
}

.product-checkbox.radio-like.active {
    border: 5px solid #ae5825;
}

select[name="doprava"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

select[name="doprava"] {
    background: #daf7e6 url("data:image/svg+xml;utf8,<svg fill='black' height='12' width='12' xmlns='http://www.w3.org/2000/svg'><polygon points='0,0 12,0 6,7'/></svg>") no-repeat 0px center;
    color: #000;
    border: none;
    padding: 8px 12px 8px 30px;
    /* m�sto vlevo pro �ipku */
    border-radius: 4px;
    cursor: pointer;
}

.option-main-hlavni {
    margin-top: 12px;
    border-bottom: 1px solid #f0e2ce;
    align-items: center;
    display: flex;
    justify-content: space-between;
    font-size: 17px;
    margin-bottom: 6px;
}

.variant-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.variant-label-rychlost {
    font-size: 1.9rem;
    line-height: 2rem;
    font-weight: 700;
    color: #432c1d;
}

.main-tariff-label {
    margin-bottom: 2px;
}

.main-tariff-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #c98a5d !important;
    background: unset;
    padding: 2px 0px;
    border-radius: 999px;
}

.tlacitko_vyzva {
    text-transform: unset;
    max-width: 80%;
    display: inline-block;
    width: 300px;
    display: block;
    margin-left: auto;
}

.postup-box {
    background: #f7f7f7;
    border-radius: 12px;
    padding: 16px 14px;
    margin-bottom: 18px
}

.postup-nadpis {
    margin-bottom: 10px;
    font-size: 1.05em
}

.postup-kroky {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px
}

.krok {
    display: flex;
    gap: 10px
}

.cislo-b {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #165932;
    color: #fff;
    font-size: .9em;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.krok .text strong {
    display: block;
    font-size: 1rem
}

.krok .text p {
    font-size: 1rem;
    margin: 2px 0 0
}

.usp-eri {
    display: flex;
    flex-direction: row;
    gap: 1px;
    margin-bottom: 0px
}

@media (min-width:768px) {
    .usp-eri {
        flex-direction: row
    }
}

.availability-footer {
    font-size: 1rem;
    display: flex;
    flex-direction: column;
    gap: 6px
}

@media (min-width:768px) {
    .availability-footer {
        font-size: 1rem
    }
}

@media (min-width:1025px) {
    .ben-wrapper-1 {
        display: none
    }
}

.availability-new {
    width: 90%;
    max-width: 1045px;
    margin: 0 auto;
    padding: 18px 19px 22px;
    background: #fff;
    border-radius: 16px;
    color: #111827;
}

.click-a {
    --icon-click-a: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEAElEQVR4nO2aWYjPURTHP7YZDCnLZBmyPMmLDM2QbFlfSHalKBm74kFKUUpIebC/eLFE3qTEA/W3i+yiLGUYe7KOdf469f3p+jXzn9/2//+NfOv3cM7/3nPvufecc8899w/B0Au4BtwEGtFAMRx4A6SByw1VkVHAZylxDGhDA8RQR4mdQGPxhwDdM/TrBswF9gCXgErgo75K8faoTddsK9ELeC0ldsmc7Fsv3hlfe1NyMnAKqFGbIJ+1PQlMchYqMTSXU9tARzSAKbFbvB/ATJ8P3XIm9x04ASwHxmlRvN9KgMHAEuCo2nq/3ZAVJIbNEnwbaC3eJvG+AdPFKwS2+3bgGdDeJ++s87sfxcAy4ImzQ1slOxbKgJ9aqVLxZmmQr8AE8WyyFxz+WgWDVC0yT2dQxEMrYINkWbtzQLs4iniDmi8gs/go3jxHidviPQb6BZBbnyIeSrWraZmrf3cDYbwEPHdM6qR4+0S3AC46pvdAylOLOZ2OoAiKiHfU/rx8NhRS6rxY9ETRL4C24nkO/xDopMnWZU6piIoYOgJP1cf8MDD6qtNboEhRyjOfBWozWvQXoH8Y4REUMQxyfGYEISPVFtFjHB9oCjQB7or3M6A5ufwoihhWOf5ic6gXD9RhoOjDoleKniH6EXA8oDm5/KiKtASq1HdqfY17q2GVDj8zrU9aeTvAUDi0NkuJhqiKGBapb227/Qdmq+FB0WNF2znhheAa+YbF+6DmFDVq+WELW605ZMrx2KZBVoheJ3qj6IWiLez6ka2o5ccx9a8gA9Yoy+0j2rLSd8AA0Qd8YTkK4iqyyHee1YmCDL9dlZDykObk8uMqUqb+V2LI+H077BzSnFx+XEWK1f9VDBm/D6XQqYKDuIoUOodx7EmENaekolZiMjwBqTxGrUQVafAy0j4B+YhaWVEkH1ErUUX+li8y/jlF8o30f0WE/4okjHTceXi5VqYMOdsoTCLX8orZkYplCaFYc3gZR4h3H/EuWvlAufPQFBn7JcRujvlCheawN46QBRJiV9584ZCv/hwJPVXBeKc6U65RBHwIUkUJgjNakTnkHnMz3IdCY7qE3VMJNVcoAO5r7ClJCGzilPq9+lcusFJj3kzyjXGkhFarPJNtlDqvyoGr8UGxS4Lt7aIL2UOJU7y2SmjiaO68WF3LkjIlwHXnxSr2w2hd6OD4S1XCZlbu7MSdXKRF7Z2dMZ9ZrXgfFc3k2NXOTuQstzMz2+Gk17aS80MemkU6J7wQWyOfyJo5ZcII573Rvvd6a5kns+ug86BAWWyZcqdDOrHTTogdRp5hMX6aSj9h/4uS0mGX+H9R4qKHVtzeMizttvuMXc7ss2q68SyLtTaxcycPvwB3H+MGZNZ8XgAAAABJRU5ErkJggg==);
}

.button-nabidka {
    -webkit-appearance: button;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #9e9e9e;
    box-shadow: 0 6px 8px rgba(0, 0, 0, .25);
    margin-left: auto;
    background-color: #fff;
    border-radius: 8px;
    padding: 8px 26px;
    color: #000;
    font-size: 1.2rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: box-shadow .12s ease, transform .12s ease;
}

.button-nabidka:hover {
    background: #faf6ea;
    box-shadow: 0 4px 6px rgba(0, 0, 0, .3);
}

.button-nabidka:active {
    transform: translateY(3px);
    box-shadow: 0 2px 3px rgba(0, 0, 0, .35);
}

.button-nabidka .btn-text {
    font-weight: 600;
}

.tlacitko_hneda {
    align-items: center;
    justify-content: center;
    border: none;
    transition: all .4s;
    text-decoration: none;
    font-size: 1.2rem;
    color: #fff !important;
    border-radius: 4px;
    text-align: center;
    background-color: #0F4C5C !important;
    padding: 15px 25px;
    font-weight: 400;
    width: 300px;
    box-sizing: border-box;
    cursor: pointer;
}

.tlacitko_hneda:hover {
    background-color: #8f471f !important;
}

.tlacitko_hneda:hover svg {
    transform: rotate(244deg);
    fill: #fff !important;
}