/* ==========================================================
   CALUSADE HOTELS GROUP
   Creative Project Portal
   Forminator Form ID: 8947
========================================================== */


/* ----------------------------------------------------------
   GLOBAL TYPOGRAPHY
---------------------------------------------------------- */

form#forminator-module-8947,
form#forminator-module-8947 input,
form#forminator-module-8947 textarea,
form#forminator-module-8947 select,
form#forminator-module-8947 button,
form#forminator-module-8947 label,
form#forminator-module-8947 .select2-selection,
form#forminator-module-8947 .select2-selection__rendered,
form#forminator-module-8947 .select2-selection__placeholder {
    font-family: "Montserrat", Arial, sans-serif !important;
}


/* ----------------------------------------------------------
   FIELD LABELS
---------------------------------------------------------- */

form#forminator-module-8947 .forminator-label {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.1px !important;
    color: #2F3542 !important;
    margin-bottom: 8px !important;
}


/* Required asterisk */

form#forminator-module-8947 .forminator-required {
    color: #D92D20 !important;
}


/* ----------------------------------------------------------
   FIELD DESCRIPTIONS
---------------------------------------------------------- */

form#forminator-module-8947 .forminator-description {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #6B7280 !important;
}


/* ----------------------------------------------------------
   INPUTS, TEXTAREAS AND SELECT FIELDS
---------------------------------------------------------- */

form#forminator-module-8947 input.forminator-input,
form#forminator-module-8947 textarea.forminator-textarea,
form#forminator-module-8947 .select2-selection--single,
form#forminator-module-8947 .select2-selection--multiple {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2F3542 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #D4DAE2 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}


/* Input and textarea padding */

form#forminator-module-8947 input.forminator-input,
form#forminator-module-8947 textarea.forminator-textarea {
    padding: 14px 16px !important;
}


/* ----------------------------------------------------------
   PLACEHOLDER TEXT
---------------------------------------------------------- */

form#forminator-module-8947 input.forminator-input::placeholder,
form#forminator-module-8947 textarea.forminator-textarea::placeholder,
form#forminator-module-8947 .select2-selection__placeholder {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #5F6B7A !important;
    opacity: 1 !important;
}


/* Dropdown field text */

form#forminator-module-8947 .select2-selection__rendered {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2F3542 !important;
}


/* ----------------------------------------------------------
   FOCUS STATE
---------------------------------------------------------- */

form#forminator-module-8947 input.forminator-input:focus,
form#forminator-module-8947 textarea.forminator-textarea:focus,
form#forminator-module-8947 .select2-selection:focus {
    border-color: #2F3542 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(47, 53, 66, 0.08) !important;
}


/* ----------------------------------------------------------
   SELECT2 DROPDOWN MENU
   Rendered outside the form wrapper
---------------------------------------------------------- */

.select2-container .select2-dropdown,
.forminator-select-dropdown {
    font-family: "Montserrat", Arial, sans-serif !important;
    background-color: #FFFFFF !important;
    border: 1px solid #D4DAE2 !important;
    box-shadow: none !important;
}


/* Dropdown options */

.select2-results__option,
.forminator-select-dropdown .select2-results__option {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    color: #2F3542 !important;
    background-color: #FFFFFF !important;
    padding: 12px 16px !important;
}


/* Highlighted option */

.select2-results__option--highlighted,
.select2-container--default
.select2-results__option--highlighted[aria-selected],
.forminator-select-dropdown
.select2-results__option--highlighted {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 500 !important;
    color: #F4F5F7 !important;
    background-color: #2F3542 !important;
}


/* Selected option */

.select2-results__option[aria-selected="true"],
.select2-results__option[data-selected="true"] {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 500 !important;
}


/* Dropdown search field */

.select2-search__field,
.forminator-select-dropdown .select2-search__field {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2F3542 !important;
}


/* ----------------------------------------------------------
   UPLOAD AREA
---------------------------------------------------------- */

form#forminator-module-8947 .forminator-multi-upload {
    background-color: #FAFBFC !important;
    border: 1px dashed #C9CED6 !important;
    border-radius: 4px !important;
}


form#forminator-module-8947 .forminator-multi-upload-message p {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #6B7280 !important;
}


form#forminator-module-8947 .forminator-multi-upload-message a {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #2F3542 !important;
    text-decoration: none !important;
}


/* ----------------------------------------------------------
   FULL-WIDTH SUBMIT BUTTON
---------------------------------------------------------- */

form#forminator-module-8947 .forminator-row-last .forminator-col,
form#forminator-module-8947 .forminator-row-last .forminator-field {
    width: 100% !important;
}


form#forminator-module-8947 button.forminator-button-submit {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    color: #F4F5F7 !important;
    background-color: #2F3542 !important;
    border: 0 !important;
    border-radius: 4px !important;
    padding: 18px 24px !important;
    box-shadow: none !important;
    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* Submit button hover */

form#forminator-module-8947 button.forminator-button-submit:hover,
form#forminator-module-8947 button.forminator-button-submit:focus {
    color: #FFFFFF !important;
    background-color: #252A35 !important;
}


/* =======================================================
   CALUSADE HOTELS – FORMINATOR DATE PICKER
   Refined compact version
   ======================================================= */

/* Main calendar container */
.ui-datepicker {
    width: 340px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #d9dee5 !important;
    border-radius: 9px !important;
    box-shadow: 0 12px 30px rgba(47, 53, 66, 0.14) !important;
    font-family: "Montserrat", sans-serif !important;
    overflow: hidden !important;
}

/* Header */
.ui-datepicker .ui-datepicker-header {
    position: relative !important;
    padding: 18px 58px !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #e7ebf0 !important;
    border-radius: 0 !important;
}

/* Month and year */
.ui-datepicker .ui-datepicker-title {
    margin: 0 !important;
    color: #2f3542 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 38px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Month and year dropdowns */
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: auto !important;
    min-width: 82px !important;
    height: 38px !important;
    margin: 0 3px !important;
    padding: 0 28px 0 12px !important;
    color: #2f3542 !important;
    background-color: #ffffff !important;
    border: 1px solid #d9dee5 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Navigation buttons */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    top: 18px !important;
    width: 38px !important;
    height: 38px !important;
    background: #2f3542 !important;
    border: 0 !important;
    border-radius: 5px !important;
    cursor: pointer !important;
}

.ui-datepicker .ui-datepicker-prev {
    left: 16px !important;
}

.ui-datepicker .ui-datepicker-next {
    right: 16px !important;
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    background: #252a35 !important;
}

/* Hide original navigation icons */
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: none !important;
}

/* Custom slim arrows */
.ui-datepicker .ui-datepicker-prev::before,
.ui-datepicker .ui-datepicker-next::before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 9px !important;
    height: 9px !important;
    content: "" !important;
    border-top: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
}

.ui-datepicker .ui-datepicker-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg) !important;
}

.ui-datepicker .ui-datepicker-next::before {
    transform: translate(-65%, -50%) rotate(45deg) !important;
}

/* Calendar table */
.ui-datepicker table {
    width: calc(100% - 24px) !important;
    margin: 12px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-collapse: separate !important;
    border-spacing: 3px !important;
    font-family: "Montserrat", sans-serif !important;
}

/* Weekday row */
.ui-datepicker thead,
.ui-datepicker thead tr,
.ui-datepicker thead th {
    background: #ffffff !important;
    border: 0 !important;
}

.ui-datepicker th {
    padding: 9px 4px !important;
    color: #657184 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

/* Remove inherited backgrounds */
.ui-datepicker tbody,
.ui-datepicker tr,
.ui-datepicker td {
    background: #ffffff !important;
    border: 0 !important;
}

/* Date cells */
.ui-datepicker td {
    padding: 0 !important;
}

/* Individual dates */
.ui-datepicker td a,
.ui-datepicker td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: auto !important;
    padding: 0 !important;
    color: #2f3542 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 38px !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* Hover state */
.ui-datepicker td a:hover {
    color: #2f3542 !important;
    background: #f1f3f6 !important;
}

/* Today's date */
.ui-datepicker td .ui-state-highlight {
    color: #2f3542 !important;
    background: #eef1f4 !important;
    border: 0 !important;
    font-weight: 600 !important;
}

/* Selected date */
.ui-datepicker td .ui-state-active,
.ui-datepicker td .ui-state-active:hover {
    color: #ffffff !important;
    background: #2f3542 !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

/* Today when selected */
.ui-datepicker td .ui-state-highlight.ui-state-active {
    color: #ffffff !important;
    background: #2f3542 !important;
}

/* Remove blue browser/plugin focus ring */
.ui-datepicker a:focus,
.ui-datepicker a:active,
.ui-datepicker select:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Disabled and outside-month dates */
.ui-datepicker td.ui-datepicker-unselectable span,
.ui-datepicker td.ui-datepicker-other-month a,
.ui-datepicker td.ui-datepicker-other-month span {
    color: #b8c0ca !important;
    background: transparent !important;
}

/* Hide button panel if enabled */
.ui-datepicker .ui-datepicker-buttonpane {
    display: none !important;
}

/* Mobile */
@media (max-width: 480px) {
    .ui-datepicker {
        width: calc(100vw - 32px) !important;
        max-width: 340px !important;
    }

    .ui-datepicker .ui-datepicker-header {
        padding-right: 54px !important;
        padding-left: 54px !important;
    }

    .ui-datepicker td a,
    .ui-datepicker td span {
        width: 34px !important;
        height: 34px !important;
        line-height: 34px !important;
    }
}


/* ----------------------------------------------------------
   HIDE ADMIN EDIT FORM LINK
---------------------------------------------------------- */

.forminator-edit-module {
    display: none !important;
}


/* =========================================================
   CALUSADE CLIENT PORTAL – PASSWORD PAGE
   PAGE ID: 8914
   ========================================================= */


/* =========================================================
   PAGE BACKGROUND
   ========================================================= */

html,
body.page-id-8914 {
    min-height: 100%;
}

body.page-id-8914 {
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 40px 25px !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background-color: #1F2532 !important;

    background-image:
        linear-gradient(
            to right,
            rgba(31, 37, 50, 0) 0%,
            rgba(31, 37, 50, 0) 29%,
            rgba(31, 37, 50, 0.12) 34%,
            rgba(31, 37, 50, 0.52) 40%,
            rgba(31, 37, 50, 0.88) 46%,
            #1F2532 52%,
            #1F2532 100%
        ),
        url("https://punctualprint.com/wp-content/uploads/2026/07/calusade-hotels-background.webp") !important;

    background-size:
        100% 100%,
        48% auto !important;

    background-position:
        center center,
        left top !important;

    background-repeat:
        no-repeat,
        no-repeat !important;

    background-attachment:
        fixed,
        fixed !important;

    font-family: "Montserrat", Arial, sans-serif !important;
}


/* =========================================================
   WHITE PASSWORD PANEL
   ========================================================= */

body.page-id-8914 .post-password-form {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 650px !important;

    margin: 0 auto !important;
    padding: 56px 64px 58px !important;
    box-sizing: border-box !important;

    background: rgba(255, 255, 255, 0.98) !important;

    box-shadow:
        0 20px 65px rgba(0, 0, 0, 0.18) !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    text-align: center !important;
}


/* =========================================================
   CALUSADE LOGO
   ========================================================= */

body.page-id-8914 .post-password-form::before {
    content: "" !important;

    display: block !important;
    order: 1 !important;

    width: 330px !important;
    max-width: 82% !important;
    height: 120px !important;

    margin: 0 auto 28px !important;

    background-image:
        url("https://punctualprint.com/wp-content/uploads/2026/07/calusade-hotels-logo.png") !important;

    background-position: center center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

body.page-id-8914 .post-password-form::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   RESET WORDPRESS PARAGRAPHS
   ========================================================= */

body.page-id-8914 .post-password-form > p {
    box-sizing: border-box !important;
    font-family: "Montserrat", Arial, sans-serif !important;
}


/* =========================================================
   HIDE EMPTY ERROR PARAGRAPH ON INITIAL LOAD
   ========================================================= */

body.page-id-8914 .post-password-form > p:first-of-type:empty {
    display: none !important;
}


/* =========================================================
   HIDE DEFAULT WORDPRESS INSTRUCTION
   ========================================================= */

body.page-id-8914 .post-password-form > p:nth-of-type(2) {
    display: none !important;
}


/* =========================================================
   PASSWORD FORM WRAPPER
   ========================================================= */

body.page-id-8914 .post-password-form > p:last-of-type {
    display: flex !important;
    flex-direction: column !important;
    order: 2 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;
}


/* =========================================================
   SINGLE TITLE
   ========================================================= */

body.page-id-8914 .post-password-form > p:last-of-type::before {
    content: "Creative Project Brief" !important;

    display: block !important;
    order: 1 !important;

    margin: 0 0 14px !important;

    font-family: "Cormorant Garamond", serif !important;
    font-size: 44px !important;
    line-height: 1.12 !important;
    font-style: italic !important;
    font-weight: 500 !important;

    color: #1F2532 !important;
    text-align: center !important;
}

body.page-id-8914 .post-password-form > p:last-of-type::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   SUBTITLE AND PASSWORD LABEL
   ========================================================= */

body.page-id-8914 .post-password-form label {
    display: flex !important;
    flex-direction: column !important;
    order: 2 !important;

    margin: 0 !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;

    color: #1F2532 !important;
    text-align: left !important;
}

body.page-id-8914 .post-password-form label::before {
    content: "Please enter your password to access the Calusade Hotels Creative Project Brief." !important;

    display: block !important;

    margin: 0 0 34px !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;

    color: #5D6370 !important;
    text-align: center !important;
}


/* =========================================================
   PASSWORD FIELD
   ========================================================= */

body.page-id-8914 .post-password-form input[type="password"] {
    display: block !important;

    width: 100% !important;
    height: 56px !important;

    margin: 10px 0 16px !important;
    padding: 0 18px !important;

    box-sizing: border-box !important;

    background: #FFFFFF !important;

    border: 1px solid #D8DCE4 !important;
    border-radius: 4px !important;

    box-shadow: none !important;
    outline: none !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 56px !important;
    font-weight: 400 !important;

    color: #1F2532 !important;
}

body.page-id-8914 .post-password-form input[type="password"]:focus {
    border-color: #1F2532 !important;

    box-shadow:
        0 0 0 3px rgba(31, 37, 50, 0.08) !important;
}


/* =========================================================
   ENTER BUTTON
   ========================================================= */

body.page-id-8914 .post-password-form input[type="submit"] {
    display: block !important;
    order: 3 !important;

    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    box-sizing: border-box !important;

    background: #1F2532 !important;

    border: 1px solid #1F2532 !important;
    border-radius: 4px !important;

    box-shadow: none !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 54px !important;
    font-weight: 600 !important;

    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;

    color: #FFFFFF !important;

    cursor: pointer !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

body.page-id-8914 .post-password-form input[type="submit"]:hover {
    background: #303747 !important;
    border-color: #303747 !important;

    transform: translateY(-1px) !important;
}


/* =========================================================
   INCORRECT PASSWORD ALERT
   Only appears when the first paragraph is not empty
   ========================================================= */

body.page-id-8914
.post-password-form
> p:first-of-type:not(:empty) {
    display: block !important;
    order: 3 !important;

    margin: 18px 0 0 !important;
    padding: 12px 16px !important;

    background: #F9EEEE !important;

    border: 1px solid #DDB4B8 !important;
    border-radius: 4px !important;

    font-size: 0 !important;
    line-height: 0 !important;

    text-align: center !important;
}


/* Replace “Invalid password.” with the preferred message */
body.page-id-8914
.post-password-form
> p:first-of-type:not(:empty)::before {
    content: "This content is password protected. To view it, please enter the correct password below." !important;

    display: block !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;

    color: #8A2932 !important;
    text-align: center !important;
}

body.page-id-8914
.post-password-form
> p:first-of-type:not(:empty)::after {
    content: none !important;
    display: none !important;
}


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

@media (max-width: 1100px) {

    body.page-id-8914 {
        padding: 35px 22px !important;

        background-size:
            100% 100%,
            58% auto !important;
    }

    body.page-id-8914 .post-password-form {
        max-width: 590px !important;
        padding: 52px 48px 54px !important;
    }

    body.page-id-8914
    .post-password-form
    > p:last-of-type::before {
        font-size: 40px !important;
    }
}


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

@media (max-width: 767px) {

    body.page-id-8914 {
        padding: 22px 15px !important;

        background-image:
            linear-gradient(
                rgba(31, 37, 50, 0.62),
                rgba(31, 37, 50, 0.62)
            ),
            url("https://punctualprint.com/wp-content/uploads/2026/07/calusade-hotels-background.webp") !important;

        background-size:
            100% 100%,
            auto 100% !important;

        background-position:
            center center,
            28% top !important;

        background-repeat:
            no-repeat,
            no-repeat !important;

        background-attachment:
            scroll,
            scroll !important;
    }

    body.page-id-8914 .post-password-form {
        width: 100% !important;
        max-width: 100% !important;

        padding: 42px 27px 45px !important;
    }

    body.page-id-8914 .post-password-form::before {
        width: 270px !important;
        height: 100px !important;

        margin-bottom: 22px !important;
    }

    body.page-id-8914
    .post-password-form
    > p:last-of-type::before {
        margin-bottom: 13px !important;
        font-size: 35px !important;
    }

    body.page-id-8914 .post-password-form label::before {
        margin-bottom: 28px !important;

        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    body.page-id-8914 .post-password-form label {
        font-size: 13px !important;
    }

    body.page-id-8914 .post-password-form input[type="password"],
    body.page-id-8914 .post-password-form input[type="submit"] {
        height: 54px !important;
    }

    body.page-id-8914
    .post-password-form
    > p:first-of-type:not(:empty)::before {
        font-size: 13px !important;
    }
}

/* Hide the original “Invalid password.” message */
body.page-id-8914
.post-password-form.password-form-error
.post-password-form-invalid-password {
    display: none !important;
}


/* Add the corrected alert below the Enter button */
body.page-id-8914
.post-password-form.password-form-error
> p:last-of-type::after {
    content: "This content is password protected. To view it, please enter the correct password below." !important;

    display: block !important;
    order: 4 !important;

    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 11px 15px !important;
    box-sizing: border-box !important;

    background: #F9EEEE !important;
    border: 1px solid #DDB4B8 !important;
    border-radius: 4px !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;

    color: #8A2932 !important;
    text-align: center !important;
}