/* =========================================================
   DEOMALI MIST
   TRACK ORDER PAGE
========================================================= */

* {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    min-height: 100vh;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(196, 160, 90, 0.07),
            transparent 30%
        ),
        #0d0a07;

    color: #f2e8d8;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;
}


/* =========================================================
   NAVBAR
========================================================= */

.site-nav {

    width: 100%;
    height: 90px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 70px;

    background: #090705;

    border-bottom:
        1px solid
        rgba(196, 160, 90, 0.13);

    position: relative;
    z-index: 10;
}


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

.nav-logo {

    display: flex;
    align-items: center;

    gap: 14px;

    min-width: 210px;
}

.nav-logo-icon {

    width: 42px;
    height: 42px;

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

    color: #2f775f;

    font-size: 35px;

    line-height: 1;
}

.nav-logo-text {

    display: flex;
    flex-direction: column;

    gap: 3px;
}

.nav-logo-name {

    color: #c4a05a;

    font-family:
        "Cinzel",
        serif;

    font-size: 17px;

    letter-spacing: 0.14em;

    text-transform: uppercase;
}

.nav-logo-sub {

    color:
        rgba(196, 160, 90, 0.55);

    font-size: 8px;

    letter-spacing: 0.28em;

    text-transform: uppercase;
}


/* =========================================================
   NAV LINKS
========================================================= */

.nav-links {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 35px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.nav-links li {
    margin: 0;
    padding: 0;
}

.nav-links a {

    color:
        rgba(242, 232, 216, 0.52);

    text-decoration: none;

    font-size: 12px;

    font-weight: 500;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    transition:
        color 0.25s ease;
}

.nav-links a:hover {

    color: #c4a05a;
}

.nav-links a.active {

    color: #c4a05a;
}


/* =========================================================
   NAV RIGHT
========================================================= */

.nav-right {

    min-width: 210px;

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 16px;
}

.nav-right > a {

    color: #c4a05a;

    text-decoration: none;

    font-size: 12px;

    letter-spacing: 0.12em;
}

.sign-in {

    transition:
        color 0.25s ease;
}

.sign-in:hover {

    color: #e0c17a !important;
}


/* =========================================================
   THEME BUTTON
========================================================= */

.theme-btn {

    width: 45px;
    height: 45px;

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

    border:
        1px solid
        rgba(196, 160, 90, 0.25);

    border-radius: 50%;

    background: transparent;

    color: #c4a05a;

    font-size: 19px;

    cursor: pointer;

    transition:
        all 0.25s ease;
}

.theme-btn:hover {

    border-color:
        rgba(196, 160, 90, 0.7);

    background:
        rgba(196, 160, 90, 0.07);
}


/* =========================================================
   CART
========================================================= */

.cart-btn {

    height: 45px;

    padding: 0 19px;

    display: flex;

    align-items: center;

    gap: 9px;

    border:
        1px solid
        rgba(196, 160, 90, 0.22);

    color:
        rgba(242, 232, 216, 0.75) !important;

    font-size: 11px !important;

    letter-spacing: 0.2em !important;

    transition:
        all 0.25s ease;
}

.cart-btn:hover {

    border-color:
        rgba(196, 160, 90, 0.65);

    color: #c4a05a !important;
}

.cart-icon {
    font-size: 16px;
}


/* =========================================================
   MAIN TRACK PAGE
========================================================= */

#track-page {

    min-height:
        calc(100vh - 90px);

    padding:
        65px 0 100px;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(196, 160, 90, 0.055),
            transparent 34%
        );
}


/* =========================================================
   MAIN WIDTH
========================================================= */

.track-wrap {

    width:
        min(1000px, calc(100% - 50px));

    margin:
        0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.track-hd {

    margin-bottom: 52px;
}

.eyebrow {

    margin: 0 0 22px;

    display: flex;

    align-items: center;

    gap: 14px;

    color: #c4a05a;

    font-family:
        "DM Sans",
        sans-serif;

    font-size: 11px;

    font-weight: 500;

    letter-spacing: 0.35em;

    text-transform: uppercase;
}

.eyebrow::before {

    content: "";

    display: block;

    width: 30px;
    height: 2px;

    background: #c4a05a;
}


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

.display {

    margin: 0;

    color: #f2e8d8;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        clamp(3.2rem, 6vw, 5rem);

    font-weight: 400;

    line-height: 0.95;

    letter-spacing: -0.025em;
}

.display em {

    color: #c4a05a;

    font-weight: 400;

    font-style: italic;
}


/* =========================================================
   GOLD BAR
========================================================= */

.gold-bar {

    width: 60px;
    height: 2px;

    margin-top: 32px;

    background: #c4a05a;
}


/* =========================================================
   SUBTITLE
========================================================= */

.track-sub {

    margin:
        25px 0 0;

    color:
        rgba(242, 232, 216, 0.48);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 18px;

    font-style: italic;

    line-height: 1.5;
}


/* =========================================================
   SEARCH FORM
========================================================= */

.track-form {

    width: 100%;

    margin-bottom: 44px;
}

.track-input-row {

    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        120px;
}


/* =========================================================
   INPUT
========================================================= */

.track-input {

    width: 100%;
    height: 64px;

    padding:
        0 20px;

    border:
        1px solid
        rgba(196, 160, 90, 0.25);

    border-right: none;

    outline: none;

    background:
        rgba(255, 255, 255, 0.025);

    color: #f2e8d8;

    font-family:
        "DM Sans",
        sans-serif;

    font-size: 15px;

    transition:
        border-color 0.25s ease;
}

.track-input::placeholder {

    color:
        rgba(242, 232, 216, 0.27);
}

.track-input:focus {

    border-color:
        rgba(196, 160, 90, 0.65);
}


/* =========================================================
   TRACK BUTTON
========================================================= */

.btn-gold {

    height: 64px;

    border: none;

    outline: none;

    background: #c4a05a;

    color: #111;

    font-family:
        "DM Sans",
        sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.28em;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        all 0.25s ease;
}

.btn-gold:hover {

    background: #d5b66d;
}


/* =========================================================
   ERROR / NOT FOUND
========================================================= */

.track-message {

    width: 100%;

    margin-bottom: 30px;

    padding: 20px 24px;

    border:
        1px solid
        rgba(196, 160, 90, 0.22);

    background:
        rgba(255, 255, 255, 0.025);

    display: flex;

    flex-direction: column;

    gap: 7px;

    font-size: 14px;
}

.track-message strong {

    color: #c4a05a;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 22px;

    font-weight: 400;
}

.track-message span {

    color:
        rgba(242, 232, 216, 0.55);

    line-height: 1.6;
}

.track-message.error {

    border-color:
        rgba(180, 70, 60, 0.35);
}


/* =========================================================
   ORDER RESULT
========================================================= */

.track-result {

    width: 100%;

    padding:
        38px 40px 45px;

    border:
        1px solid
        rgba(196, 160, 90, 0.20);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.025),
            rgba(255,255,255,0.008)
        );
}


/* =========================================================
   ORDER HEADER
========================================================= */

.track-order-info {

    padding-bottom: 28px;

    border-bottom:
        1px solid
        rgba(196, 160, 90, 0.12);
}


/* =========================================================
   ORDER ID
========================================================= */

.track-order-id {

    margin-bottom: 12px;

    color: #c4a05a;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 27px;

    letter-spacing: 0.08em;
}


/* =========================================================
   ORDER DATE
========================================================= */

.track-order-date {

    color:
        rgba(242, 232, 216, 0.48);

    font-size: 14px;

    line-height: 1.8;
}

.order-products {

    color:
        rgba(242, 232, 216, 0.55);

    margin-top: 3px;
}

.order-total {

    color: #c4a05a;

    margin-top: 3px;
}

.separator {

    margin:
        0 6px;

    color:
        rgba(196, 160, 90, 0.5);
}

.tracking-number {

    color:
        rgba(196, 160, 90, 0.65);

    margin-top: 4px;
}


/* =========================================================
   STATUS BADGE
========================================================= */

.track-order-badge {

    display: inline-block;

    margin-top: 18px;

    padding:
        7px 15px;

    border:
        1px solid
        rgba(196, 160, 90, 0.35);

    color: #c4a05a;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.18em;

    text-transform: uppercase;
}


/* =========================================================
   TIMELINE
========================================================= */

.track-steps {

    position: relative;

    margin-top: 35px;

    padding-left: 40px;
}

.track-steps::before {

    content: "";

    position: absolute;

    top: 8px;
    bottom: 8px;

    left: 9px;

    width: 1px;

    background:
        rgba(196, 160, 90, 0.22);
}


/* =========================================================
   STEP
========================================================= */

.track-step {

    position: relative;

    padding-bottom: 34px;
}

.track-step:last-child {

    padding-bottom: 0;
}


/* =========================================================
   DOT
========================================================= */

.step-dot {

    position: absolute;

    left: -40px;
    top: 0;

    width: 20px;
    height: 20px;

    border-radius: 50%;

    border:
        2px solid
        rgba(196, 160, 90, 0.35);

    background: #0d0a07;
}

.track-step.completed .step-dot {

    border-color: #c4a05a;

    background: #c4a05a;
}

.track-step.active .step-dot {

    border-color: #c4a05a;

    background: #0d0a07;

    box-shadow:
        0 0 0 4px
        rgba(196, 160, 90, 0.08);
}


/* =========================================================
   STEP CONTENT
========================================================= */

.step-content {

    min-height: 20px;
}


/* =========================================================
   STEP STATUS
========================================================= */

.step-status {

    margin-bottom: 7px;

    color:
        rgba(242, 232, 216, 0.35);

    font-size: 13px;

    font-weight: 500;

    letter-spacing: 0.18em;

    text-transform: uppercase;
}

.track-step.completed .step-status {

    color: #c4a05a;
}

.track-step.active .step-status {

    color: #f2e8d8;
}


/* =========================================================
   STEP DESCRIPTION
========================================================= */

.step-detail {

    color:
        rgba(242, 232, 216, 0.50);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 17px;

    font-style: italic;

    line-height: 1.5;
}


/* =========================================================
   STEP DATE
========================================================= */

.step-time {

    margin-top: 8px;

    color:
        rgba(196, 160, 90, 0.65);

    font-size: 12px;
}


/* =========================================================
   HOW TO TRACK
========================================================= */

.track-hint {

    margin-top: 35px;

    padding: 30px;

    border:
        1px solid
        rgba(196, 160, 90, 0.15);

    background:
        rgba(255, 255, 255, 0.02);
}

.track-hint-label {

    margin:
        0 0 20px;

    color: #c4a05a;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 16px;

    font-style: italic;

    letter-spacing: 0.25em;

    text-transform: uppercase;
}

.track-hint p:not(.track-hint-label) {

    margin: 0;

    color:
        rgba(242, 232, 216, 0.50);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 16px;

    font-style: italic;

    line-height: 1.8;
}

.track-hint strong {

    color: #c4a05a;
}


/* =========================================================
   LIGHT MODE
========================================================= */

body.light-mode {

    background: #f5f1e8;

    color: #241d15;
}

body.light-mode #track-page {

    background: #f5f1e8;
}

body.light-mode .display {

    color: #241d15;
}

body.light-mode .track-input {

    background: #fff;

    color: #241d15;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .site-nav {

        padding:
            0 35px;
    }

    .nav-links {

        gap: 20px;
    }

    .nav-logo,
    .nav-right {

        min-width: 160px;
    }
}


@media (max-width: 850px) {

    .site-nav {

        height: auto;

        min-height: 80px;

        padding:
            18px 25px;

        flex-wrap: wrap;

        gap: 18px;
    }

    .nav-logo {

        min-width: auto;
    }

    .nav-links {

        order: 3;

        width: 100%;

        justify-content: center;

        flex-wrap: wrap;

        gap: 18px;
    }

    .nav-right {

        min-width: auto;
    }

    #track-page {

        padding-top: 50px;
    }
}


@media (max-width: 700px) {

    .track-wrap {

        width:
            calc(100% - 30px);
    }

    .display {

        font-size: 3.2rem;
    }

    .track-input-row {

        grid-template-columns: 1fr;
    }

    .track-input {

        border-right:
            1px solid
            rgba(196, 160, 90, 0.25);

        border-bottom: none;
    }

    .btn-gold {

        width: 100%;
    }

    .track-result {

        padding:
            28px 22px 35px;
    }

    .track-steps {

        padding-left: 32px;
    }

    .step-dot {

        left: -32px;
    }

    .track-hint {

        padding: 25px 20px;
    }
}


@media (max-width: 550px) {

    .site-nav {

        padding:
            15px;
    }

    .nav-logo-name {

        font-size: 14px;
    }

    .nav-right {

        gap: 8px;
    }

    .sign-in {

        display: none;
    }

    .cart-btn {

        padding:
            0 12px;
    }

    .nav-links a {

        font-size: 9px;
    }

    .display {

        font-size: 2.8rem;
    }

    .track-sub {

        font-size: 16px;
    }

    .track-order-id {

        font-size: 23px;
    }
}