/* Dodaci i popravke (učitava se na svim stranicama, nakon ostalih CSS-ova). */

/* Linkovi oko postojećih slika ne smiju mijenjati raspored */
.header .logo a,
.upper-mobile > a,
.mobile-header-main > a,
.hover-info a {
    display: contents;
}

/* Honeypot polje za botove – ljudi ga ne vide */
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Poruka nakon slanja forme */
.form-notice {
    width: fit-content;
    max-width: 90%;
    margin: 1.5vw auto;
    padding: 0.9vw 1.6vw;
    border-radius: 4px;
    font-family: var(--dmsans, sans-serif);
    font-size: 0.95vw;
    line-height: 1.4;
    text-align: center;
}
.form-notice--ok  { background: #e8f5ec; color: #1e6b3a; border: 1px solid #b7dfc4; }
.form-notice--err { background: #fdecec; color: #8a1f1f; border: 1px solid #f3c2c2; }

/* Greška unutar popup forme rezervacije: poruka ide u prvi red, iznad polja */
.formapop .form-notice {
    order: -1;
    flex-basis: 100%;
    margin: 0 0 1.2vw;
    max-width: none;
    width: auto;
}
.formapop:has(.form-notice) { flex-wrap: wrap; }

/* Kalendar raspoloživosti */
.avail-hint {
    font-family: var(--dmsans, sans-serif);
    font-size: 0.75vw;
    color: #828282;
    margin: -0.6vw 0 0.8vw;
}
.daterangepicker td.disabled:not(.off) {
    color: #c9b9ab;
    background: #f7f2ee;
    text-decoration: line-through;
}

/* Google ocjena */
.g-rating {
    display: inline-flex;
    align-items: baseline;
    gap: 0.5em;
    font-family: var(--dmsans, sans-serif);
    text-decoration: none;
    white-space: nowrap;
}
.g-rating__stars { color: #CEAE92; letter-spacing: 0.12em; }
.g-rating__score { font-weight: 700; }
.g-rating:hover .g-rating__count { text-decoration: underline; }
.g-rating--hero {
    position: absolute;
    top: 49.6vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    font-size: 1.15vw;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0,0,0,.45);
}
.g-rating--hero .g-rating__count { opacity: .9; }
.g-rating--dark {
    margin: 0.8vw 0 0.4vw;
    font-size: 0.95vw;
    color: #333333;
}
.g-rating--dark .g-rating__count { color: #828282; }
.g-rating--hero-mobile { display: none; }

/* 404 stranica */
.not-found {
    text-align: center;
    padding: 6vw 1rem 8vw;
    font-family: var(--dmsans, sans-serif);
}
.not-found p { font-size: 1.1vw; color: #4F4F4F; margin-bottom: 2vw; }
.not-found__btn {
    display: inline-block;
    padding: 0.9vw 2.2vw;
    background: var(--primary, #32343B);
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.05em;
}

/* Upit: greške uz polja, sažetak boravka, poruka, napomena o Apartmani.app */
.formapop { max-height: 72vh; overflow-y: auto; }
.formapop .field-error {
    display: block;
    max-width: 15.6vw;
    margin: -0.9vw 0 0.9vw 0.73vw;
    font-family: var(--dmsans, sans-serif);
    font-size: 0.72vw;
    color: #b42318;
}
.formapop .guest-counter + .field-error { margin-top: 0.4vw; }
@media (min-width: 801px) {
    /* dvije kolone ostaju jedna pored druge i kad je poruka o grešci u prvom redu */
    .formapop > .form-left, .formapop > .form-right { flex: 1 1 0; min-width: 0; }
    .formapop > .form-left { margin-right: 1vw; }
}
.formapop .stay-info {
    max-width: 15.6vw;
    padding: 0;
    margin: -0.4vw 0 0.8vw 0;
    font-family: var(--dmsans, sans-serif);
    font-size: 0.75vw;
    line-height: 1.4;
    color: #4F4F4F;
}
.formapop .stay-info--warn { color: #8a5a00; }
.stay-info[hidden] { display: none; }
.formapop .message-label { display: inline-block; margin-top: 1.2vw; }
.formapop .optional, .formapop .guest-max { font-weight: 400; color: #828282; }
.formapop textarea {
    box-sizing: border-box;
    width: 15.63vw;
    margin-top: 0.73vw;
    padding: 0.6vw 1vw;
    border: 1px solid #bdbdbd;
    font-family: var(--dmsans, sans-serif);
    font-size: 0.83vw;
    color: #4F4F4F;
    resize: vertical;
}
.formapop textarea::placeholder { color: #bdbdbd; }
.formapop .form-privacy {
    max-width: 15.6vw;
    padding: 0;
    margin: 1vw 0 0;
    font-family: var(--dmsans, sans-serif);
    font-size: 0.68vw;
    line-height: 1.4;
    color: #828282;
}
/* Kalendar: cijena ispod datuma, dani kraći od minimuma */
.daterangepicker td.available { position: relative; }
.daterangepicker td .hh-price {
    display: block;
    font-size: 9px;
    line-height: 1;
    color: #a08670;
    margin-top: 1px;
}
.daterangepicker td.active .hh-price, .daterangepicker td.in-range .hh-price { color: inherit; opacity: .85; }
.daterangepicker td.available { height: 34px; line-height: 1.1; }
.daterangepicker td.hh-short:not(.active) { background: #fff6e5; color: #8a5a00; }

@media (max-width: 800px) {
    .formapop { max-height: none; }
    .formapop .field-error { max-width: none; font-size: 3.3vw; margin: -6vw 0 5vw 0; }
    .formapop .guest-counter + .field-error { margin-top: 2vw; }
    .formapop .stay-info { max-width: none; width: auto; padding: 0; font-size: 3.4vw; line-height: 1.4; margin: -1vw 0 4vw; }
    .formapop .message-label { margin-top: 6vw; }
    .formapop textarea { width: 74vw; font-size: 3.8vw; padding: 2.5vw 3vw; margin-top: 2.7vw; }
    .formapop .form-privacy { max-width: none; width: auto; padding: 0; font-size: 3.1vw; line-height: 1.4; margin-top: 5vw; }
    .form-notice { font-size: 3.6vw; padding: 3vw 4vw; margin: 4vw auto; }
    .not-found p { font-size: 4vw; margin-bottom: 6vw; }
    .not-found__btn { padding: 3vw 7vw; font-size: 3.6vw; }
    .avail-hint { font-size: 3.2vw; margin: -2vw 0 3vw; }
    .g-rating--hero { display: none; }
    .g-rating--hero-mobile {
        display: flex;
        margin-top: 4vw;
        font-size: 3.7vw;
        line-height: 1.3;
        color: #fff;
        font-weight: 400;
        text-shadow: 0 1px 6px rgba(0,0,0,.45);
    }
    .g-rating--dark { font-size: 3.6vw; margin: 3vw 0 2vw; }
}
