/* ===================================================================================

* Theme Name: Delishs Child
* Theme URI: https://wp.rrdevs.net/delishs/
* Author: RRdevs
* Author URI: https://themeforest.net/user/rrdevs/portfolio
* Description: Delishs - Restaurant Cafe WordPress Theme
* Version: 1.0.2
* Tested up to: 6.7
* Requires PHP: 7.4
* Template: delishs
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tags: one-column, right-sidebar, left-sidebar, custom-menu, featured-images, post-formats, sticky-post, translation-ready

* We encourage you to create Child theme for any modifications you will want to do.

* Why use Child theme?

* Because of future updates we may provide for this theme that will overwrite your
* modifications and all your custom work.

* If you are not familiar with Child Themes, you can read about it here:
* http://codex.wordpress.org/Child_Themes
* http://wp.tutsplus.com/tutorials/theme-development/child-themes-basics-and-creating-child-themes-in-wordpress/

====================================================================================== */

.leftRight {
    animation: leftRight 1.3S infinite alternate;
}

.floatingRight {
    animation: floatRotateRight 6s ease-in-out infinite;
    animation-delay: 500ms;
}

@keyframes floatRotateRight {
    0% {
        transform: translate(0, 0) rotate(-45deg);
    }
    25% {
        transform: translate(-15px, 15px) rotate(-15deg);
    }
    50% {
        transform: translate(0px, 10px) rotate(-35deg);
    }
    75% {
        transform: translate(20px, 20px) rotate(15deg);
    }
    100% {
        transform: translate(0, 0) rotate(-45deg);
    }
}

.floatingLeft {
    animation: floatRotateLeft 6s ease-in-out infinite;
}

@keyframes floatRotateLeft {
    0% {
        transform: translate(0, 0) rotate(45deg);
    }
    25% {
        transform: translate(-20px, 20px) rotate(15deg);
    }
    50% {
        transform: translate(0px, 10px) rotate(45deg);
    }
    75% {
        transform: translate(15px, 15px) rotate(-15deg);
    }
    100% {
        transform: translate(0, 0) rotate(45deg);
    }
}

.about-our-company_shape-1 {
    top: 225px;
    right: -50px;
    width: 160px;
    height: 160px;
    background-size: contain;
    background-repeat: no-repeat;
}
.about-our-company_shape-2 {
    top: -80px;
    left: 20px;
    width: 160px;
    height: 120px;
    background-size: contain;
    background-repeat: no-repeat;
}

@media (min-width: 600px) {
    .about-our-company_shape-1 {
        top: 225px;
        right: -50px;
        width: 200px;
        height: 200px;
        background-size: contain;
    }
    .about-our-company_shape-2 {
        top: -100px;
        left: -120px;
        width: 200px;
        height: 175px;
        background-size: contain;
    }
}

/* ==========================================================================
   Employee Application Form (CF7) — De Leon brand
   Brand palette: #FFFBF3 cream bg, #F4EADB tan, #F03B33 red, #E0592A orange,
                  #FFF301 yellow, #251E1A warm dark brown, #5E3315 earth brown.
   Fonts: Grift (display), Darker Grotesque (labels/buttons), Jost (body).
   Apply via shortcode: [contact-form-7 id="123" html_class="employee-application"]
   ========================================================================== */
form.employee-application {
    --ea-bg: #FFFBF3;
    --ea-panel: #F4EADB;
    --ea-ink: #251E1A;
    --ea-ink-2: #5E3315;
    --ea-muted: #6b5e51;
    --ea-line: rgba(37, 30, 26, 0.15);
    --ea-red: #F03B33;
    --ea-orange: #E0592A;
    --ea-yellow: #FFF301;

    font-family: 'Jost', sans-serif;
    color: var(--ea-ink);
    max-width: 960px;
    margin: 0 auto;
    padding: 48px 44px;
    background: var(--ea-bg);
    border: 2px solid var(--ea-ink);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 28px;
    position: relative;
}

/* Decorative top accent bar — yellow band, red underline */
form.employee-application::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 8px;
    background: var(--ea-yellow);
    border-bottom: 2px solid var(--ea-ink);
}

/* CF7's auto-inserted <p> wrappers around each field */
form.employee-application > p {
    margin: 0 0 18px;
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    form.employee-application > p:has(> label > input[type="text"]),
    form.employee-application > p:has(> label > input[type="email"]),
    form.employee-application > p:has(> label > input[type="tel"]),
    form.employee-application > p:has(> label > input[type="number"]),
    form.employee-application > p:has(> label > input[type="date"]),
    form.employee-application > p:has(> label > select) {
        grid-column: span 1;
    }
    form.employee-application > p:has(textarea),
    form.employee-application > p:has(input[type="file"]),
    form.employee-application > p:has(.wpcf7-checkbox),
    form.employee-application > p:has(.wpcf7-radio),
    form.employee-application > p:has(.wpcf7-acceptance),
    form.employee-application > p:has(input[type="submit"]) {
        grid-column: 1 / -1;
    }
}

/* Labels + legends share the same look */
form.employee-application label,
form.employee-application legend {
    display: block;
    font-family: 'Darker Grotesque', 'Jost', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--ea-ink);
    letter-spacing: 1.2px;
    text-transform: uppercase;
    line-height: 1.3;
    padding: 0;
}

form.employee-application label .wpcf7-form-control-wrap {
    margin-top: 12px;
    display: block;
}

/* Fieldset = semantic group container for radio/checkbox sets — reset chrome */
form.employee-application fieldset {
    border: 0;
    padding: 0;
    margin: 0 0 18px;
    min-width: 0;
    grid-column: 1 / -1;
}
form.employee-application fieldset legend {
    margin-bottom: 10px;
}

/* Fields */
form.employee-application input[type="text"],
form.employee-application input[type="email"],
form.employee-application input[type="tel"],
form.employee-application input[type="number"],
form.employee-application input[type="date"],
form.employee-application input[type="url"],
form.employee-application select,
form.employee-application textarea {
    width: 100%;
    max-width: 100%;
    height: 56px;
    padding: 14px 20px;
    border: 2px solid var(--ea-ink);
    border-radius: 0;
    background-color: #ffffff;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: var(--ea-ink);
    text-transform: none;
    letter-spacing: normal;
    box-shadow: 4px 4px 0 0 var(--ea-ink);
    transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
    box-sizing: border-box;
}

form.employee-application textarea {
    min-height: 150px;
    height: auto;
    resize: vertical;
}

form.employee-application input:focus,
form.employee-application select:focus,
form.employee-application textarea:focus {
    outline: none;
    border-color: var(--ea-red);
    box-shadow: 4px 4px 0 0 var(--ea-red);
    transform: translate(-1px, -1px);
}

form.employee-application input::placeholder,
form.employee-application textarea::placeholder {
    color: var(--ea-muted);
    font-weight: 400;
    font-size: 16px;
    text-transform: none;
    letter-spacing: normal;
    opacity: 1;
}

/* Custom select with red caret */
form.employee-application select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path fill='%23F03B33' d='M7 10L0 0h14z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 14px 10px;
    padding-right: 48px;
    cursor: pointer;
}

/* File upload */
form.employee-application input[type="file"] {
    height: auto;
    padding: 12px 16px;
    line-height: 1.4;
    background: #ffffff;
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
    font-family: 'Jost', sans-serif;
}

form.employee-application input[type="file"]::file-selector-button {
    margin-right: 16px;
    padding: 10px 18px;
    border: 2px solid var(--ea-ink);
    border-radius: 0;
    background: var(--ea-yellow);
    color: var(--ea-ink);
    font-family: 'Darker Grotesque', 'Jost', sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
form.employee-application input[type="file"]::file-selector-button:hover {
    background: var(--ea-red);
    color: #ffffff;
}

/* Checkbox / radio / acceptance — panel-style group on tan bg */
form.employee-application .wpcf7-checkbox,
form.employee-application .wpcf7-radio {
    display: block;
    margin-top: 10px;
    padding: 14px 18px;
    background: var(--ea-panel);
    border: 2px solid var(--ea-ink);
}

form.employee-application .wpcf7-acceptance {
    display: block;
    margin-top: 6px;
    padding: 16px 20px;
    background: var(--ea-panel);
    border: 2px solid var(--ea-ink);
    border-left: 8px solid var(--ea-red);
}

form.employee-application .wpcf7-list-item {
    display: inline-flex;
    align-items: center;
    margin: 0 20px 8px 0;
    font-family: 'Jost', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--ea-ink);
    text-transform: none;
    letter-spacing: normal;
}

form.employee-application .wpcf7-list-item-label {
    margin-left: 10px;
    line-height: 1.3;
}

form.employee-application input[type="checkbox"],
form.employee-application input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--ea-red);
    margin: 0;
    cursor: pointer;
}

form.employee-application .wpcf7-acceptance .wpcf7-list-item {
    margin-right: 0;
    align-items: flex-start;
    font-size: 14px;
    line-height: 1.55;
    color: var(--ea-ink);
}
form.employee-application .wpcf7-acceptance input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
}

/* Submit — matches the site's outline Elementor buttons:
   transparent bg, 2px border, Darker Grotesque uppercase,
   border + text flip to brand red on hover. */
form.employee-application p:has(input[type="submit"]) {
    text-align: center;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 2px dashed var(--ea-line);
}

form.employee-application input[type="submit"],
form.employee-application .wpcf7-submit {
    display: inline-block;
    width: auto;
    min-width: 240px;
    padding: 18px 44px;
    border: 2px solid var(--ea-ink);
    border-radius: 0;
    background-color: transparent;
    color: var(--ea-ink);
    font-family: 'Darker Grotesque', 'Jost', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

form.employee-application input[type="submit"]:hover,
form.employee-application input[type="submit"]:focus,
form.employee-application .wpcf7-submit:hover,
form.employee-application .wpcf7-submit:focus {
    background-color: transparent;
    color: var(--ea-red);
    border-color: var(--ea-red);
    outline: none;
    transform: none;
    box-shadow: none;
}

/* Validation + response */
form.employee-application .wpcf7-not-valid-tip {
    display: block;
    margin-top: 8px;
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--ea-red);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

form.employee-application .wpcf7-not-valid {
    border-color: var(--ea-red) !important;
    box-shadow: 4px 4px 0 0 var(--ea-red) !important;
}

form.employee-application .wpcf7-response-output {
    grid-column: 1 / -1;
    margin: 24px 0 0;
    padding: 16px 22px;
    border: 2px solid var(--ea-ink);
    border-radius: 0;
    background: var(--ea-panel);
    font-family: 'Jost', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--ea-ink);
    text-transform: none;
    letter-spacing: normal;
}

form.employee-application.sent .wpcf7-response-output {
    background: var(--ea-yellow);
    border-color: var(--ea-ink);
}

form.employee-application.invalid .wpcf7-response-output,
form.employee-application.failed .wpcf7-response-output {
    background: var(--ea-red);
    color: #ffffff;
    border-color: var(--ea-ink);
}

form.employee-application .wpcf7-spinner {
    margin: 0 0 0 16px;
    background-color: var(--ea-ink);
}

@media (max-width: 600px) {
    form.employee-application {
        padding: 36px 22px;
    }
    form.employee-application input[type="submit"],
    form.employee-application .wpcf7-submit {
        width: 100%;
        min-width: 0;
        padding: 16px 24px;
        font-size: 18px;
    }
}