/* *{ outline: 1px solid red; }*/

.kontakt_nadpis3_poz1 {
    grid-column: span 4;
    text-align: left;
}

@media only screen and (max-width: 768px) {
    .kontakt_nadpis3_poz1 {
        text-align: center;
        padding: 2rem 0 2rem 0;
    }
}

.kontakt_form_addres_desk {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    width: 80%;
    margin: 5rem 0 5rem 0 ;
    padding: 2rem;
    color: #000000;
    border: solid 1px;
}

@media only screen and (max-width: 768px) {
    .kontakt_form_addres_desk {
        display: none;
    }
}

.kontakt_form_addres_mob {
    display: none;
}

@media only screen and (max-width: 768px) {
    .kontakt_form_addres_mob {
        display: flex;
        flex-direction: column
    }
}

@media only screen and (max-width: 768px) {
    .kontakt_mob_poz1 {
        padding-bottom: 2rem;
    }
}

.kontakt_label {
    display: grid; 
    grid-template-columns: repeat(3, 1fr);
}

.kontakt_prostor{
    grid-column: span 3; 
    padding-bottom: 1rem;
}


.kontakt_label input[type="radio"] {
    -webkit-appearance: none; /* Pro WebKit (Safari, Chrome) */
    -moz-appearance: none; /* Pro Firefox */
    appearance: none;
    width: 30px; /* Šířka tlačítka rádia */
    height: 30px; /* Výška tlačítka rádia */
    border: 1px solid #999; /* Okraj tlačítka rádia */
    border-radius: 4px; /* Zakulacení rohů */
    outline: none; /* Odstraní obrys při focusu */
    margin-top: 1rem;
}

.kontakt_label input[type="radio"]:hover {
    background-color: #0d4739;
}

.kontakt_label input[type="radio"]:checked {
    background-color: #0d4739; /* Barva pozadí zaškrtnutého tlačítka */
}

.kontakt_send {
}

@media only screen and (max-width: 768px) {
    .kontakt_send {
        padding-top: 2rem;
    }
    
}

.kontakt_send input {
    display: flex;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 1rem;
    width: 50%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 768px) {
    .kontakt_send input {
        font-size: 2rem;
    }
}

.kontakt_send input:hover {
    background-color: #000000;
    color: #f7ecd8;
}

.kontakt_zprava {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  height: 100%;            /* ⬅️ výška grid buňky */
}

.kontakt_zprava textarea {
  flex: 1 1 auto;          /* ⬅️ vyplní zbytek výšky */
  width: 100%;
  resize: none;            /* volitelné */
  box-sizing: border-box;
}


/* 5 číslic + trochu rezervy */
input.format-psc {
  width: 6ch;
}

input.format-tel {
  width: 15ch; /* 9 číslic + rezerva */
}

input[type="date"]{
  width: 12ch;
  max-width: 12ch;
}

/*****************************************************/
/* styly pro zobrazení předvyplněných údajů z ceníku */
/*****************************************************/
.kontakt_predvyplneno_karta{
    margin: 26px 0 34px 0;
    padding: 28px 30px;
    /*border-radius: 24px;*/
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(244,248,246,0.96) 100%);
    border: 1px solid rgba(38, 92, 72, 0.14);
    box-shadow: 0 18px 42px rgba(21, 57, 44, 0.10);
}

.kontakt_predvyplneno_hlavicka{
    margin-bottom: 22px;
}

.kontakt_predvyplneno_nadpis{
    font-size: 28px;
    line-height: 1.15;
    font-weight: 700;
    color: #1d4d3d;
    margin-bottom: 8px;
}

.kontakt_predvyplneno_popis{
    font-size: 16px;
    line-height: 1.55;
    color: #5b6f67;
}

.kontakt_predvyplneno_grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.kontakt_predvyplneno_item{
    padding: 16px 18px;
    /*border-radius: 18px;*/
    background: rgba(240, 246, 243, 0.95);
    border: 1px solid rgba(38, 92, 72, 0.08);
}

.kontakt_predvyplneno_item_sirka{
    grid-column: 1 / -1;
}

.kontakt_predvyplneno_label{
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #789087;
    margin-bottom: 6px;
}

.kontakt_predvyplneno_hodnota{
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    color: #1f332d;
}

.kontakt_predvyplneno_cena_box{
    margin-top: 20px;
    padding: 18px 20px;
    /*border-radius: 20px;*/
    background: linear-gradient(135deg, #1f6a52 0%, #2f876b 100%);
    box-shadow: 0 16px 34px rgba(31, 106, 82, 0.18);
}

.kontakt_predvyplneno_cena_label{
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255,255,255,0.78);
    margin-bottom: 6px;
}

.kontakt_predvyplneno_cena_hodnota{
    font-size: 30px;
    line-height: 1.1;
    font-weight: 800;
    color: #ffffff;
}

@media (max-width: 900px){
    .kontakt_predvyplneno_karta{
        padding: 22px 18px;
        border-radius: 20px;
        margin: 20px 0 28px 0;
    }

    .kontakt_predvyplneno_nadpis{
        font-size: 24px;
    }

    .kontakt_predvyplneno_grid{
        grid-template-columns: 1fr;
    }

    .kontakt_predvyplneno_item_sirka{
        grid-column: auto;
    }

    .kontakt_predvyplneno_hodnota{
        font-size: 17px;
    }

    .kontakt_predvyplneno_cena_hodnota{
        font-size: 26px;
    }
}

/***********************************************************/
/* styly pro tlačítko akce -> přepočet ceny pobytu         */
/***********************************************************/
.kontakt_predvyplneno_akce{
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

.kontakt_predvyplneno_btn_upravit{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border: 1px solid rgba(31, 106, 82, 0.18);
    background: rgba(240, 246, 243, 0.95);
    color: #1f6a52;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(21, 57, 44, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.kontakt_predvyplneno_btn_upravit:hover{
    transform: translateY(-1px);
    background: #1f6a52;
    color: #ffffff;
    box-shadow: 0 16px 30px rgba(31, 106, 82, 0.18);
}

@media (max-width: 900px){
    .kontakt_predvyplneno_akce{
        justify-content: stretch;
    }

    .kontakt_predvyplneno_btn_upravit{
        width: 100%;
    }
}


/*****************************************************/
/*        formulář kontaktu – Apolena styl           */
/*****************************************************/
.kontakt_form_desk,
.kontakt_form_mob{
    padding: 30px 32px;
    /*border-radius: 24px;*/
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(244,248,246,0.96) 100%);
    border: 1px solid rgba(38, 92, 72, 0.14);
    box-shadow: 0 18px 42px rgba(21, 57, 44, 0.10);
    color: #1f332d;
    box-sizing: border-box;
}

.kontakt_form_desk{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    width: 80%;
    margin: 3rem 0 5rem 0;
}

.kontakt_form_mob{
    display: none;
}

.kontakt_form_desk .kontakt_pole_span2{
    grid-column: span 2;
}

.kontakt_form_desk .placeholder{
    visibility: hidden;
}

.kontakt_form_desk label,
.kontakt_form_mob label{
    display: inline-block;
    margin-bottom: 0.55rem;
    font-size: 0.9rem;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #789087;
}

.kontakt_form_desk input.text2,
.kontakt_form_mob input.text2,
.kontakt_form_desk textarea.text2,
.kontakt_form_mob textarea.text2{
    width: 100%;
    min-height: 58px;
    padding: 16px 18px;
    /*border-radius: 18px;*/
    border: 1px solid rgba(38, 92, 72, 0.12);
    background: rgba(240, 246, 243, 0.95);
    color: #1f332d;
    font-size: 1rem;
    line-height: 1.4;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.kontakt_form_desk textarea.text2,
.kontakt_form_mob textarea.text2{
    min-height: 180px;
    resize: vertical;
}

.kontakt_form_desk input.text2:focus,
.kontakt_form_mob input.text2:focus,
.kontakt_form_desk textarea.text2:focus,
.kontakt_form_mob textarea.text2:focus{
    border-color: rgba(31, 106, 82, 0.45);
    box-shadow: 0 0 0 4px rgba(31, 106, 82, 0.10);
    background: #ffffff;
}

.kontakt_form_desk input.text2:hover,
.kontakt_form_mob input.text2:hover,
.kontakt_form_desk textarea.text2:hover,
.kontakt_form_mob textarea.text2:hover{
    border-color: rgba(31, 106, 82, 0.22);
    background: #ffffff;
}

.kontakt_form_desk .text2,
.kontakt_form_mob .text2{
    color: #1f332d;
}

.kontakt_form_desk .kontakt_send,
.kontakt_form_mob .kontakt_send{
    margin-top: 0.4rem;
    padding-top: 0.5rem;
}

.kontakt_form_desk .kontakt_send input,
.kontakt_form_mob .kontakt_send input{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 26px;
    width: auto;
    border: 0;
    /*border-radius: 18px;*/
    background: linear-gradient(135deg, #1f6a52 0%, #2f876b 100%);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(31, 106, 82, 0.18);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.kontakt_form_desk .kontakt_send input:hover,
.kontakt_form_mob .kontakt_send input:hover{
    transform: translateY(-1px);
    box-shadow: 0 20px 40px rgba(31, 106, 82, 0.22);
    filter: brightness(1.02);
    background: linear-gradient(135deg, #1f6a52 0%, #2f876b 100%);
    color: #ffffff;
}

.kontakt_form_desk .kontakt_send_desk{
    grid-column: span 2;
}

.kontakt_form_mob .kontakt_send_mob input{
    width: 100%;
}

.kontakt_form_desk .kontakt_label,
.kontakt_form_mob .kontakt_label{
    gap: 0.8rem;
    align-items: start;
}

.kontakt_form_desk .kontakt_prostor,
.kontakt_form_mob .kontakt_prostor{
    color: #789087;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

@media only screen and (max-width: 768px) {
    .kontakt_form_desk{
        display: none;
    }

    .kontakt_form_mob{
        display: flex;
        flex-direction: column;
        gap: 0;
        margin: 2rem 0 3rem 0;
        padding: 22px 18px;
        border-radius: 20px;
    }

    .kontakt_form_mob label{
        font-size: 0.85rem;
    }

    .kontakt_form_mob input.text2,
    .kontakt_form_mob textarea.text2{
        min-height: 54px;
        font-size: 16px;
    }

    .kontakt_form_mob textarea.text2{
        min-height: 150px;
    }
}

/*****************************************************/
/* styl pro variantu, kdy se uživatel pokusí odeslat */
/* formulář bez vyplněných termínů a ceny pobytu     */
/*****************************************************/
.tlacitko_disabled{
    opacity: 0.45;
    cursor: not-allowed;
}