a {
    cursor: pointer;
}

/* =========================================================
   BOOKING MODAL
========================================================= */

.booking-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

/* Hidden state */
.booking-modal.hidden {
    display: none;
}


/* =========================================================
   OVERLAY
========================================================= */

.booking-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(28, 25, 23, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}


/* =========================================================
   DIALOG
========================================================= */

.booking-modal__dialog {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 680px;
    max-height: calc(100vh - 40px);

    overflow-y: auto;

    background: #ffffff;

    border: 1px solid rgba(244, 63, 94, 0.12);

    border-radius: 28px;

    box-shadow:
        0 25px 60px rgba(28, 25, 23, 0.25);

    animation: bookingModalIn 0.25s ease-out;
}


/* =========================================================
   MODAL ANIMATION
========================================================= */

@keyframes bookingModalIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.booking-modal__close {
    position: absolute;

    top: 16px;
    right: 18px;

    z-index: 5;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 999px;

    background: #f5f5f4;

    color: #57534e;

    font-size: 28px;
    line-height: 1;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.booking-modal__close:hover {
    background: #e11d48;
    color: #ffffff;
    transform: rotate(90deg);
}


/* =========================================================
   CONTENT
========================================================= */

.booking-modal__content {
    padding: 40px;
}


/* =========================================================
   HEADER
========================================================= */

.booking-modal__header {
    text-align: center;
    margin-bottom: 28px;
}

.booking-modal__badge {
    display: inline-block;

    padding: 7px 14px;

    margin-bottom: 14px;

    background: #ffe4e6;
    color: #e11d48;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.booking-modal__header h2 {
    margin: 0 0 12px;

    color: #1c1917;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.15;
    font-weight: 700;
}

.booking-modal__header p {
    max-width: 520px;

    margin: 0 auto;

    color: #78716c;

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   SELECTED PRODUCT
========================================================= */

.booking-product-info {
    padding: 16px 18px;

    margin-bottom: 24px;

    background: #fff1f2;

    border: 1px solid #fecdd3;

    border-radius: 16px;
}

.booking-product-info.hidden {
    display: none;
}

.booking-product-info__label {
    display: block;

    margin-bottom: 5px;

    color: #a8a29e;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.booking-selected-product {
    color: #e11d48;

    font-size: 17px;
    font-weight: 700;
}


/* =========================================================
   FORM
========================================================= */

.booking-form {
    display: flex;
    flex-direction: column;

    gap: 20px;
}

.booking-form__row {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
}

.booking-form__field {
    display: flex;
    flex-direction: column;

    gap: 8px;
}

.booking-form__field label {
    color: #44403c;

    font-size: 14px;
    font-weight: 600;
}

.booking-form__field input,
.booking-form__field textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 13px 15px;

    background: #ffffff;

    border: 1px solid #d6d3d1;

    border-radius: 12px;

    color: #1c1917;

    font-family: inherit;

    font-size: 16px;
    line-height: 1.5;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.booking-form__field input {
    min-height: 50px;
}

.booking-form__field textarea {
    min-height: 130px;

    resize: vertical;
}

.booking-form__field input:focus,
.booking-form__field textarea:focus {
    border-color: #e11d48;

    box-shadow:
        0 0 0 3px rgba(225, 29, 72, 0.1);
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.booking-form__submit {
    width: 100%;

    min-height: 54px;

    padding: 14px 24px;

    margin-top: 4px;

    border: 0;
    border-radius: 999px;

    background: #e11d48;

    color: #ffffff;

    font-family: inherit;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.booking-form__submit:hover {
    background: #be123c;

    transform: translateY(-1px);

    box-shadow:
        0 12px 25px rgba(225, 29, 72, 0.22);
}

.booking-form__submit:disabled {
    opacity: 0.65;

    cursor: not-allowed;

    transform: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 640px) {

    .booking-modal {
        align-items: flex-end;

        padding: 0;
    }

    .booking-modal__dialog {
        max-width: 100%;
        max-height: 92vh;

        border-radius: 28px 28px 0 0;
    }

    .booking-modal__content {
        padding: 32px 20px;
    }

    .booking-form__row {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .booking-modal__header h2 {
        font-size: 30px;
    }

}

/* =========================================================
   BOOKING PAGE
========================================================= */

.booking-page {
    background: #fffdfc;
    color: #292524;
    overflow: hidden;
}


/* =========================================================
   HERO
========================================================= */

.booking-page__hero {
    position: relative;
    padding: 5rem 1.5rem 4rem;
    text-align: center;
    background:
        radial-gradient(
            circle at top,
            rgba(253, 164, 175, 0.18),
            transparent 45%
        );
}

.booking-page__hero-inner {
    max-width: 760px;
    margin: 0 auto;
}

.booking-page__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;

    margin-bottom: 1.25rem;

    background: #fff1f2;
    color: #e11d48;

    border-radius: 999px;

    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.booking-page__title {
    margin: 0;

    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.5rem, 6vw, 4.75rem);
    font-weight: 500;
    line-height: 1.1;

    color: #292524;
}

.booking-page__title span {
    color: #e11d48;
}

.booking-page__description {
    max-width: 620px;

    margin: 1.5rem auto 0;

    color: #78716c;

    font-size: 1.125rem;
    line-height: 1.8;
}


/* =========================================================
   CONTENT
========================================================= */

.booking-page__content {
    padding: 3rem 1.5rem 7rem;
}

.booking-page__container {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 5rem;

    align-items: start;
}


/* =========================================================
   LEFT INFORMATION
========================================================= */

.booking-page__info {
    padding: 2rem 0;
}

.booking-page__eyebrow {
    display: block;

    margin-bottom: 1rem;

    color: #e11d48;

    font-size: 0.75rem;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.booking-page__info h2 {
    margin: 0;

    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 500;
    line-height: 1.2;

    color: #292524;
}

.booking-page__info h2 span {
    display: block;
    color: #e11d48;
}

.booking-page__info > p {
    max-width: 500px;

    margin: 1.5rem 0 0;

    color: #78716c;

    font-size: 1.05rem;
    line-height: 1.8;
}


/* =========================================================
   BOOKING STEPS
========================================================= */

.booking-page__steps {
    margin-top: 3rem;

    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.booking-step {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

.booking-step__number {
    width: 46px;
    height: 46px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff1f2;

    color: #e11d48;

    border-radius: 50%;

    font-size: 0.8rem;
    font-weight: 700;
}

.booking-step h3 {
    margin: 0 0 0.4rem;

    color: #292524;

    font-size: 1.1rem;
    font-weight: 700;
}

.booking-step p {
    margin: 0;

    color: #78716c;

    font-size: 0.95rem;
    line-height: 1.6;
}


/* =========================================================
   FORM CARD
========================================================= */

.booking-page__form-card {
    position: relative;

    padding: 3rem;

    background: #ffffff;

    border: 1px solid #f1f5f9;

    border-radius: 2rem;

    box-shadow:
        0 20px 60px rgba(41, 37, 36, 0.08);
}

.booking-page__form-header {
    margin-bottom: 2rem;
}

.booking-page__form-header h2 {
    margin: 0;

    color: #292524;

    font-family: "Playfair Display", Georgia, serif;

    font-size: 2rem;
    font-weight: 500;
}

.booking-page__form-header p {
    margin: 0.75rem 0 0;

    color: #78716c;

    font-size: 1rem;
    line-height: 1.6;
}


/* =========================================================
   BOOKING FORM
========================================================= */

.booking-form {
    display: flex;
    flex-direction: column;

    gap: 1.25rem;
}

.booking-form__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 1.25rem;
}

.booking-form__field {
    display: flex;
    flex-direction: column;

    gap: 0.55rem;
}

.booking-form__field label {
    color: #44403c;

    font-size: 0.875rem;
    font-weight: 600;
}

.booking-form input,
.booking-form select,
.booking-form textarea {
    width: 100%;

    padding: 0.9rem 1rem;

    background: #fff;

    color: #292524;

    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;

    outline: none;

    font-family: inherit;
    font-size: 1rem;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.booking-form textarea {
    min-height: 130px;

    resize: vertical;
}

.booking-form input::-moz-placeholder, .booking-form textarea::-moz-placeholder {
    color: #a8a29e;
}

.booking-form input::placeholder,
.booking-form textarea::placeholder {
    color: #a8a29e;
}

.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus {
    border-color: #f43f5e;

    box-shadow:
        0 0 0 4px rgba(244, 63, 94, 0.1);
}


/* =========================================================
   SERVICE SELECT
========================================================= */

.booking-form select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;

    cursor: pointer;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #78716c 50%
        ),
        linear-gradient(
            135deg,
            #78716c 50%,
            transparent 50%
        );

    background-position:
        calc(100% - 18px) 50%,
        calc(100% - 13px) 50%;

    background-size:
        6px 6px,
        6px 6px;

    background-repeat: no-repeat;
}


/* =========================================================
   TIME SLOTS
========================================================= */

.booking-time-slots {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 0.75rem;
}

.time-btn {
    width: 100%;

    padding: 0.9rem 1rem;

    background: #ffffff;

    color: #57534e;

    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;

    cursor: pointer;

    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.time-btn:hover:not(:disabled) {
    border-color: #fb7185;

    background: #fff1f2;

    color: #e11d48;
}

.time-btn.is-selected {
    background: #e11d48;

    color: #ffffff;

    border-color: #e11d48;

    box-shadow:
        0 8px 20px rgba(225, 29, 72, 0.2);
}

.time-btn:disabled {
    opacity: 0.4;

    cursor: not-allowed;

    background: #f5f5f4;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.booking-form__submit {
    width: 100%;

    margin-top: 0.5rem;

    padding: 1rem 1.5rem;

    background: #e11d48;

    color: #ffffff;

    border: none;
    border-radius: 999px;

    cursor: pointer;

    font-family: inherit;

    font-size: 0.875rem;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.booking-form__submit:hover {
    background: #be123c;

    transform: translateY(-1px);

    box-shadow:
        0 12px 25px rgba(225, 29, 72, 0.25);
}

.booking-form__submit:disabled {
    opacity: 0.65;

    cursor: wait;

    transform: none;
}


/* =========================================================
   ERROR
========================================================= */

.booking-form__error {
    padding: 0.9rem 1rem;

    background: #fff1f2;

    color: #be123c;

    border: 1px solid #fecdd3;

    border-radius: 0.75rem;

    font-size: 0.9rem;
}

.booking-form__error.hidden {
    display: none;
}


/* =========================================================
   FLATPICKR
========================================================= */

.flatpickr-calendar {
    border-radius: 1rem;

    border: 1px solid #f1f5f9;

    box-shadow:
        0 20px 50px rgba(41, 37, 36, 0.15);
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #e11d48 !important;

    border-color: #e11d48 !important;
}

.flatpickr-day:hover {
    background: #fff1f2;

    border-color: #fecdd3;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1024px) {

    .booking-page__container {
        grid-template-columns: 1fr;

        gap: 3rem;
    }

    .booking-page__info {
        max-width: 700px;

        padding-top: 0;
    }

}


@media (max-width: 640px) {

    .booking-page__hero {
        padding:
            3.5rem 1.25rem
            2.5rem;
    }

    .booking-page__content {
        padding:
            2rem 1rem
            4rem;
    }

    .booking-page__form-card {
        padding: 1.5rem;

        border-radius: 1.5rem;
    }

    .booking-form__row {
        grid-template-columns: 1fr;
    }

    .booking-time-slots {
        grid-template-columns: 1fr;
    }

    .booking-page__title {
        font-size: 2.75rem;
    }

    .booking-page__info h2 {
        font-size: 2.25rem;
    }

}

/* =========================================================
   SERVICE SELECT FIELD
========================================================= */

.booking-form__field--service {
    position: relative;
}

.booking-form__field--service label {
    display: flex;
    align-items: center;
    gap: 0.35rem;

    margin-bottom: 0.6rem;

    color: #292524;

    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.booking-form__field--service label .required {
    color: #e11d48;
    font-size: 1rem;
}


/* Select wrapper */

.booking-service-select {
    position: relative;
}


/* Select field */

.booking-form__field--service select {
    width: 100%;
    min-height: 54px;

    padding: 0 3.25rem 0 1rem;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-color: #ffffff;

    color: #292524;

    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;

    cursor: pointer;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.booking-form__field--service select:hover {
    border-color: #fda4af;
}

.booking-form__field--service select:focus {
    border-color: #f43f5e;

    box-shadow:
        0 0 0 4px rgba(244, 63, 94, 0.1);

    outline: none;
}


/* Placeholder / default option */

.booking-form__field--service select:invalid {
    color: #a8a29e;
}

.booking-form__field--service select option {
    color: #292524;
    background: #ffffff;
}


/* Custom dropdown arrow */

.booking-service-select::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 1.2rem;

    width: 8px;
    height: 8px;

    border-right: 2px solid #78716c;
    border-bottom: 2px solid #78716c;

    transform:
        translateY(-65%)
        rotate(45deg);

    pointer-events: none;

    transition: transform 0.2s ease;
}

.booking-service-select:focus-within::after {
    border-color: #e11d48;

    transform:
        translateY(-35%)
        rotate(225deg);
}


/* Selected state */

.booking-form__field--service select:valid {
    color: #292524;
}


/* Error state */

.booking-form__field--service select.has-error {
    border-color: #e11d48;

    background-color: #fffafa;
}

.booking-form__field--service select.has-error:focus {
    box-shadow:
        0 0 0 4px rgba(225, 29, 72, 0.1);
}


/* Error message */

.booking-field-error {
    display: block;

    min-height: 18px;

    margin-top: 0.35rem;

    color: #e11d48;

    font-size: 0.78rem;
    font-weight: 500;
}

/* Service Select Field */

.booking-form__field--service {
    width: 100%;
}

.booking-form__field--service label {
    display: block;
    margin-bottom: 8px;

    color: #44403c;

    font-size: 14px;
    font-weight: 600;
}

.booking-form__field--service .required {
    color: #e11d48;
    margin-left: 3px;
}


/* Select wrapper */

.booking-service-select {
    position: relative;
    width: 100%;
}


/* Select */

.booking-service-select select {
    display: block;

    width: 100%;
    height: 52px;

    padding: 0 48px 0 16px;

    background: #fff;

    border: 1px solid #e7e5e4;
    border-radius: 12px;

    color: #292524;

    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* Hover */

.booking-service-select select:hover {
    border-color: #fda4af;
}


/* Focus */

.booking-service-select select:focus {
    border-color: #f43f5e;

    outline: none;

    box-shadow:
        0 0 0 4px rgba(244, 63, 94, 0.1);
}


/* Placeholder */

.booking-service-select select:invalid {
    color: #a8a29e;
}


/* Options */

.booking-service-select select option {
    color: #292524;
    background-color: #ffffff;
}


/* Custom Arrow */

.booking-service-select::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 18px;

    width: 8px;
    height: 8px;

    border-right: 2px solid #78716c;
    border-bottom: 2px solid #78716c;

    transform:
        translateY(-65%)
        rotate(45deg);

    pointer-events: none;
}


/* Focus Arrow */

.booking-service-select:focus-within::after {
    border-color: #e11d48;
}


/* Error */

.booking-service-select select.has-error {
    border-color: #e11d48;
    background-color: #fffafa;
}

.booking-field-error {
    display: block;
    min-height: 18px;

    margin-top: 6px;

    color: #e11d48;

    font-size: 12px;
}

/* =========================================
   CMS CONTENT
========================================= */

.cms-content {
    color: #57534e;
    font-size: 1rem;
    line-height: 1.8;
}

/* Paragraphs */
.cms-content p {
    margin-bottom: 1.5rem;
}

/* Headings */
.cms-content h1,
.cms-content h2,
.cms-content h3,
.cms-content h4,
.cms-content h5,
.cms-content h6 {
    color: #1c1917;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 700;
    line-height: 1.25;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.cms-content h1 {
    font-size: 2.5rem;
}

.cms-content h2 {
    font-size: 2rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e7e5e4;
}

.cms-content h3 {
    font-size: 1.5rem;
}

.cms-content h4 {
    font-size: 1.25rem;
}

/* First heading */
.cms-content > h1:first-child,
.cms-content > h2:first-child {
    margin-top: 0;
}

/* Links */
.cms-content a {
    color: #e11d48;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.cms-content a:hover {
    color: #9f1239;
}

/* Lists */
.cms-content ul,
.cms-content ol {
    margin: 1.5rem 0;
    padding-left: 1.5rem;
}

.cms-content ul {
    list-style: disc;
}

.cms-content ol {
    list-style: decimal;
}

.cms-content li {
    margin-bottom: 0.6rem;
    padding-left: 0.25rem;
}

/* Nested lists */
.cms-content ul ul,
.cms-content ol ol,
.cms-content ul ol,
.cms-content ol ul {
    margin: 0.5rem 0;
}

/* Strong */
.cms-content strong,
.cms-content b {
    color: #292524;
    font-weight: 700;
}

/* Blockquote */
.cms-content blockquote {
    margin: 2rem 0;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid #e11d48;
    background: #fff1f2;
    color: #44403c;
    font-style: italic;
}

.cms-content blockquote p:last-child {
    margin-bottom: 0;
}

/* Images */
.cms-content img {
    max-width: 100%;
    height: auto;
    border-radius: 0.75rem;
    margin: 2rem 0;
}

/* WordPress image blocks */
.cms-content .wp-block-image {
    margin: 2rem 0;
}

.cms-content .wp-block-image img {
    margin: 0;
}

/* Tables */
.cms-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    font-size: 0.95rem;
}

.cms-content th,
.cms-content td {
    padding: 0.875rem 1rem;
    border: 1px solid #e7e5e4;
    text-align: left;
}

.cms-content th {
    background: #f5f5f4;
    color: #1c1917;
    font-weight: 600;
}

/* Horizontal rule */
.cms-content hr {
    border: 0;
    border-top: 1px solid #e7e5e4;
    margin: 3rem 0;
}

/* Gutenberg buttons */
.cms-content .wp-block-button {
    margin: 1.5rem 0;
}

.cms-content .wp-block-button__link {
    background: #e11d48;
    color: #ffffff;
    text-decoration: none;
    border-radius: 0.5rem;
    padding: 0.8rem 1.5rem;
}

.cms-content .wp-block-button__link:hover {
    background: #be123c;
    color: #ffffff;
}

/* Code */
.cms-content pre,
.cms-content code {
    background: #f5f5f4;
    border-radius: 0.375rem;
}

.cms-content code {
    padding: 0.15rem 0.35rem;
    font-size: 0.9em;
}

.cms-content pre {
    padding: 1.25rem;
    overflow-x: auto;
    margin: 1.5rem 0;
}

.cms-content pre code {
    padding: 0;
    background: transparent;
}

/* Mobile */
@media (max-width: 640px) {
    .cms-content {
        font-size: 0.95rem;
        line-height: 1.7;
    }

    .cms-content h1 {
        font-size: 2rem;
    }

    .cms-content h2 {
        font-size: 1.65rem;
        margin-top: 2rem;
    }

    .cms-content h3 {
        font-size: 1.3rem;
    }

    .cms-content blockquote {
        padding: 1rem;
        margin: 1.5rem 0;
    }

    .cms-content th,
    .cms-content td {
        padding: 0.7rem;
    }
}
/************************************************************
 * PRIMARY MENU
 ************************************************************/

.nw-primary-menu {
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Normal menu items */
.nw-primary-menu > li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Mega menu item uses primary menu as positioning context */
.nw-primary-menu > li.nw-mega-menu-item {
	position: static;
}


/************************************************************
 * TOP LEVEL LINKS
 ************************************************************/

.nw-primary-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 0;

	color: #44403c;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.02em;
	text-decoration: none;

	transition: color 0.2s ease;
}

.nw-primary-menu > li > a:hover,
.nw-primary-menu > li.current-menu-item > a,
.nw-primary-menu > li.current-menu-ancestor > a {
	color: #e11d48;
}


/************************************************************
 * CHEVRONS
 ************************************************************/

.nw-menu-chevron,
.nw-mega-chevron {
	display: block;
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	transition: transform 0.2s ease;
}


/* Top-level normal dropdown chevron */

.nw-primary-menu > li.menu-item-has-children:hover > a .nw-menu-chevron,
.nw-primary-menu > li.menu-item-has-children:focus-within > a .nw-menu-chevron {
	transform: rotate(180deg);
}


/* Mega menu chevron */

.nw-mega-menu-item:hover > .nw-mega-menu-trigger .nw-mega-chevron,
.nw-mega-menu-item:focus-within > .nw-mega-menu-trigger .nw-mega-chevron {
	transform: rotate(180deg);
}


/************************************************************
 * NORMAL SUBMENU - FIRST LEVEL
 *
 * IMPORTANT:
 * top: 100% means there is NO GAP between the parent
 * and submenu, preventing the submenu from disappearing.
 ************************************************************/

.nw-primary-menu > li.menu-item-has-children > .sub-menu,
.nw-primary-menu > li.menu-item-has-children > .nw-sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;

	z-index: 99999;

	display: flex;
	flex-direction: column;

	width: 220px;
	min-width: 220px;

	margin: 0;
	padding: 8px;

	list-style: none;

	background: rgba(255, 255, 255, 0.98);
	border: 1px solid #ffe4e6;
	border-radius: 14px;

	box-shadow:
		0 18px 45px rgba(41, 37, 36, 0.14);

	backdrop-filter: blur(18px);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transform: translateX(-50%);

	transition:
		opacity 0.18s ease,
		visibility 0.18s ease;
}


/************************************************************
 * SHOW FIRST LEVEL SUBMENU
 ************************************************************/

.nw-primary-menu > li.menu-item-has-children:hover > .sub-menu,
.nw-primary-menu > li.menu-item-has-children:hover > .nw-sub-menu,
.nw-primary-menu > li.menu-item-has-children:focus-within > .sub-menu,
.nw-primary-menu > li.menu-item-has-children:focus-within > .nw-sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}


/************************************************************
 * SUBMENU ITEMS
 ************************************************************/

.nw-primary-menu .sub-menu li,
.nw-primary-menu .nw-sub-menu li {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}


/************************************************************
 * SUBMENU LINKS
 ************************************************************/

.nw-primary-menu .sub-menu li > a,
.nw-primary-menu .nw-sub-menu li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;
	box-sizing: border-box;

	padding: 12px 15px;

	color: #44403c;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;

	text-decoration: none;
	white-space: nowrap;

	border-radius: 9px;

	transition:
		background 0.18s ease,
		color 0.18s ease;
}

.nw-primary-menu .sub-menu li > a:hover,
.nw-primary-menu .nw-sub-menu li > a:hover,
.nw-primary-menu .sub-menu li.current-menu-item > a,
.nw-primary-menu .nw-sub-menu li.current-menu-item > a {
	background: #fff1f2;
	color: #e11d48;
}


/************************************************************
 * NESTED SUBMENU CHEVRON
 ************************************************************/

.nw-primary-menu .sub-menu .menu-item-has-children > a .nw-menu-chevron,
.nw-primary-menu .nw-sub-menu .menu-item-has-children > a .nw-menu-chevron {
	transform: rotate(-90deg);
}


/************************************************************
 * SECOND LEVEL AND DEEPER SUBMENUS
 *
 * left: 100% means there is NO HORIZONTAL GAP.
 ************************************************************/

.nw-primary-menu .sub-menu li.menu-item-has-children > .sub-menu,
.nw-primary-menu .sub-menu li.menu-item-has-children > .nw-sub-menu,
.nw-primary-menu .nw-sub-menu li.menu-item-has-children > .sub-menu,
.nw-primary-menu .nw-sub-menu li.menu-item-has-children > .nw-sub-menu {
	position: absolute;
	top: 0;
	left: 100%;

	z-index: 100000;

	display: flex;
	flex-direction: column;

	width: 220px;
	min-width: 220px;

	margin: 0;
	padding: 8px;

	list-style: none;

	background: rgba(255, 255, 255, 0.98);
	border: 1px solid #ffe4e6;
	border-radius: 14px;

	box-shadow:
		0 18px 45px rgba(41, 37, 36, 0.14);

	backdrop-filter: blur(18px);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 0.18s ease,
		visibility 0.18s ease;
}


/************************************************************
 * SHOW NESTED SUBMENUS
 ************************************************************/

.nw-primary-menu .sub-menu li.menu-item-has-children:hover > .sub-menu,
.nw-primary-menu .sub-menu li.menu-item-has-children:hover > .nw-sub-menu,
.nw-primary-menu .sub-menu li.menu-item-has-children:focus-within > .sub-menu,
.nw-primary-menu .sub-menu li.menu-item-has-children:focus-within > .nw-sub-menu,

.nw-primary-menu .nw-sub-menu li.menu-item-has-children:hover > .sub-menu,
.nw-primary-menu .nw-sub-menu li.menu-item-has-children:hover > .nw-sub-menu,
.nw-primary-menu .nw-sub-menu li.menu-item-has-children:focus-within > .sub-menu,
.nw-primary-menu .nw-sub-menu li.menu-item-has-children:focus-within > .nw-sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}


/************************************************************
 * MEGA MENU TRIGGER
 ************************************************************/

.nw-mega-menu-trigger {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}


/************************************************************
 * MEGA MENU DROPDOWN
 ************************************************************/

.nw-mega-dropdown {
	position: absolute;

	top: 100%;
	left: 50%;

	width: min(1180px, calc(100vw - 48px));

	z-index: 99990;

	padding: 18px 0 30px;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transform: translate(-50%, 6px);

	transition:
		opacity 0.18s ease,
		visibility 0.18s ease,
		transform 0.18s ease;
}


/************************************************************
 * SHOW MEGA MENU
 ************************************************************/

.nw-mega-menu-item:hover > .nw-mega-dropdown,
.nw-mega-menu-item:focus-within > .nw-mega-dropdown {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transform: translate(-50%, 0);
}


/************************************************************
 * MEGA MENU HOVER BRIDGE
 ************************************************************/

.nw-mega-dropdown::before {
	content: "";

	position: absolute;

	top: -18px;
	left: 0;
	right: 0;

	height: 18px;

	background: transparent;
}


/************************************************************
 * MEGA INNER
 ************************************************************/

.nw-mega-inner {
	position: relative;

	width: 100%;
	box-sizing: border-box;

	margin: 0;
	padding: 28px;

	background: rgba(255, 255, 255, 0.98);

	border: 1px solid #ffe4e6;
	border-radius: 24px;

	box-shadow:
		0 25px 70px rgba(41, 37, 36, 0.14);

	backdrop-filter: blur(18px);
}


/************************************************************
 * MEGA HEADER
 ************************************************************/

.nw-mega-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 30px;

	margin-bottom: 22px;
	padding-bottom: 20px;

	border-bottom: 1px solid #f5f5f4;
}

.nw-mega-eyebrow {
	display: block;

	margin-bottom: 5px;

	color: #e11d48;

	font-size: 10px;
	font-weight: 700;

	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nw-mega-header h3 {
	margin: 0;

	color: #292524;

	font-family: Georgia, "Times New Roman", serif;

	font-size: 27px;
	font-weight: 500;
	line-height: 1.25;
}

.nw-mega-header p {
	max-width: 600px;

	margin: 7px 0 0;

	color: #78716c;

	font-size: 13px;
	line-height: 1.6;
}


/************************************************************
 * VIEW ALL
 ************************************************************/

.nw-mega-view-all {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	color: #e11d48;

	font-size: 12px;
	font-weight: 700;

	text-decoration: none;
	text-transform: uppercase;

	letter-spacing: 0.05em;
	white-space: nowrap;

	transition: color 0.2s ease;
}

.nw-mega-view-all:hover {
	color: #be123c;
}


/************************************************************
 * PRODUCTS GRID
 ************************************************************/

.nw-mega-products {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 16px;
}


/************************************************************
 * PRODUCT CARD
 ************************************************************/

.nw-mega-product {
	min-width: 0;

	overflow: hidden;

	background: #fafaf9;

	border: 1px solid #f5f5f4;
	border-radius: 17px;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease;
}

.nw-mega-product:hover {
	transform: translateY(-3px);

	border-color: #fecdd3;

	box-shadow:
		0 12px 30px rgba(120, 113, 108, 0.10);
}


/************************************************************
 * PRODUCT IMAGE
 ************************************************************/

.nw-mega-product-image-wrap {
	position: relative;

	display: block;

	width: 100%;

	aspect-ratio: 4 / 3;

	overflow: hidden;

	background: #fff1f2;
}

.nw-mega-product-image {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	-o-object-fit: cover;

	   object-fit: cover;

	transition: transform 0.35s ease;
}

.nw-mega-product:hover .nw-mega-product-image {
	transform: scale(1.04);
}


/************************************************************
 * PRODUCT CONTENT
 ************************************************************/

.nw-mega-product-content {
	padding: 15px;
}

.nw-mega-product-content h4 {
	margin: 0 0 5px;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.nw-mega-product-content h4 a {
	color: #292524;
	text-decoration: none;
}

.nw-mega-product-content h4 a:hover {
	color: #e11d48;
}

.nw-mega-product-content p {
	display: -webkit-box;

	overflow: hidden;

	margin: 0 0 12px;

	color: #78716c;

	font-size: 11px;
	line-height: 1.55;

	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}


/************************************************************
 * PRODUCT BOTTOM
 ************************************************************/

.nw-mega-product-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 8px;
}

.nw-mega-product-price {
	color: #292524;

	font-size: 12px;
	font-weight: 700;
}

.nw-mega-product-price del {
	color: #a8a29e;
}

.nw-mega-product-price ins {
	color: #e11d48;
	text-decoration: none;
}


/************************************************************
 * PRODUCT BUTTON / LINK
 ************************************************************/

.nw-mega-book {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 4px;

	margin: 0;
	padding: 0;

	background: transparent;
	border: 0;

	color: #e11d48;

	font-size: 10px;
	font-weight: 700;

	text-decoration: none;
	text-transform: uppercase;

	letter-spacing: 0.04em;

	cursor: pointer;

	transition: color 0.2s ease;
}

.nw-mega-book:hover {
	color: #be123c;
}


/************************************************************
 * MEGA FOOTER
 ************************************************************/

.nw-mega-footer {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 6px;

	margin-top: 20px;
	padding-top: 18px;

	border-top: 1px solid #f5f5f4;

	color: #a8a29e;

	font-size: 12px;
}

.nw-mega-footer a {
	color: #e11d48;

	font-weight: 600;
	text-decoration: none;
}

.nw-mega-footer a:hover {
	text-decoration: underline;
}


/************************************************************
 * MEGA MENU DISABLED STATE
 ************************************************************/

.nw-mega-menu-item.mega-menu-disabled > .nw-mega-dropdown {
	opacity: 0 !important;

	visibility: hidden !important;

	pointer-events: none !important;

	transform: translate(-50%, 8px) !important;
}


/************************************************************
 * TABLET
 ************************************************************/

@media (max-width: 1024px) {

	.nw-primary-menu {
		gap: 24px;
	}

	.nw-mega-dropdown {
		width: min(900px, calc(100vw - 32px));
	}

	.nw-mega-products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/************************************************************
 * MOBILE
 ************************************************************/

@media (max-width: 767px) {

	.nw-primary-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.nw-primary-menu > li,
	.nw-primary-menu > li.nw-mega-menu-item {
		position: relative;
		width: 100%;
	}

	.nw-primary-menu > li > a {
		width: 100%;
		justify-content: space-between;

		padding: 12px 0;
	}

	/* First-level submenu */

	.nw-primary-menu > li.menu-item-has-children > .sub-menu,
	.nw-primary-menu > li.menu-item-has-children > .nw-sub-menu {
		position: static;

		width: 100%;
		min-width: 0;

		margin-top: 0;

		transform: none;
	}

	/* Nested submenu */

	.nw-primary-menu .sub-menu li.menu-item-has-children > .sub-menu,
	.nw-primary-menu .sub-menu li.menu-item-has-children > .nw-sub-menu,
	.nw-primary-menu .nw-sub-menu li.menu-item-has-children > .sub-menu,
	.nw-primary-menu .nw-sub-menu li.menu-item-has-children > .nw-sub-menu {
		position: static;

		width: calc(100% - 12px);
		min-width: 0;

		margin: 0 0 0 12px;

		box-shadow: none;

		transform: none;
	}

	/* Mega menu */

	.nw-mega-dropdown {
		position: absolute;

		top: 100%;
		left: 50%;

		width: calc(100vw - 24px);

		padding: 10px 0 20px;

		transform: translate(-50%, 6px);
	}

	.nw-mega-menu-item:hover > .nw-mega-dropdown,
	.nw-mega-menu-item:focus-within > .nw-mega-dropdown {
		transform: translate(-50%, 0);
	}

	.nw-mega-inner {
		padding: 20px;
		border-radius: 18px;
	}

	.nw-mega-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
	}

	.nw-mega-products {
		grid-template-columns: 1fr;
	}

	.nw-mega-footer {
		flex-wrap: wrap;
		text-align: center;
	}
}

/* =========================================================
   MOBILE NAVIGATION
   NW\Walkers\MobileNav
========================================================= */


/* =========================================================
   MOBILE ONLY
========================================================= */

@media (max-width: 1023px) {

	/* =====================================================
	   MOBILE MENU CONTAINER
	===================================================== */

	#nw-mobile-menu {
		position: fixed !important;
		inset: 0 !important;

		display: none !important;

		width: 100% !important;
		height: 100dvh !important;
		max-height: 100dvh !important;

		margin: 0 !important;
		padding: 0 !important;

		overflow: hidden !important;

		background: #ffffff !important;

		z-index: 2147483647 !important;
	}

	#nw-mobile-menu.mobile-menu-open {
		display: block !important;
	}

	#nw-mobile-menu.hidden {
		display: none !important;
	}


	/* =====================================================
	   MENU SHELL
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-shell {
		position: relative;

		display: flex;
		flex-direction: column;

		width: 100%;
		height: 100dvh;

		min-height: 0;

		overflow: hidden;

		background: #ffffff;
	}


	/* =====================================================
	   HEADER
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-header {
		position: relative;
		z-index: 100;

		display: grid;
		grid-template-columns: 1fr auto 1fr;

		align-items: center;

		flex: 0 0 72px;

		width: 100%;
		height: 72px;
		min-height: 72px;

		padding: 0 20px;

		box-sizing: border-box;

		border-bottom: 1px solid #e7e5e4;

		background: #ffffff;
	}


	/* =====================================================
	   BACK BUTTON
	===================================================== */

	#nw-mobile-menu .nw-mobile-back {
		display: inline-flex;

		align-items: center;
		gap: 6px;

		justify-self: start;

		padding: 8px 0;

		border: 0;

		background: transparent;

		color: #57534e;

		font-size: 13px;

		cursor: pointer;

		opacity: 0;
		visibility: hidden;

		pointer-events: none;

		-webkit-tap-highlight-color: transparent;

		transition:
			opacity .2s ease,
			visibility .2s ease;
	}

	#nw-mobile-menu .nw-mobile-back.is-visible {
		opacity: 1;
		visibility: visible;

		pointer-events: auto;
	}

	#nw-mobile-menu .nw-mobile-back svg {
		flex-shrink: 0;
	}


	/* =====================================================
	   TITLE
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-title {
		color: #292524;

		font-size: 13px;
		font-weight: 600;

		letter-spacing: .12em;

		text-align: center;
		text-transform: uppercase;

		white-space: nowrap;
	}


	/* =====================================================
	   CLOSE BUTTON
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-close {
		display: inline-flex;

		align-items: center;
		justify-content: center;

		justify-self: end;

		width: 42px;
		height: 42px;

		padding: 0;

		border: 0;

		background: transparent;

		color: #292524;

		cursor: pointer;

		-webkit-tap-highlight-color: transparent;
	}


	/* =====================================================
	   MENU VIEWPORT
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-viewport {
		position: relative;

		flex: 1 1 auto;

		width: 100%;
		min-height: 0;

		overflow: hidden;

		background: #ffffff;
	}


	/* =====================================================
	   ROOT MENU PANEL
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-list {
		position: absolute !important;
		inset: 0 !important;

		display: block !important;

		width: 100% !important;
		height: auto !important;

		box-sizing: border-box;

		margin: 0 !important;
		padding: 10px 20px 30px !important;

		list-style: none !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;

		-webkit-overflow-scrolling: touch;

		overscroll-behavior-y: contain;

		background: #ffffff;

		transform: translateX(0);

		opacity: 1;
		visibility: visible;

		pointer-events: auto;

		z-index: 1;

		transition:
			transform .3s ease,
			opacity .25s ease,
			visibility .25s ease;
	}


	/* =====================================================
	   HIDDEN PARENT PANEL
	===================================================== */
    #nw-mobile-menu
    .nw-mobile-menu-list.nw-mobile-panel-hidden
    > .nw-mobile-menu-item
    > .nw-mobile-menu-row {
        transform: translateX(-20%);
        display: none !important;
    }

    #nw-mobile-menu .nw-mobile-panel-hidden {
        opacity: 1 !important;
        transform: none !important;
        pointer-events: none;
    }

	/* #nw-mobile-menu
	.nw-mobile-menu-list.nw-mobile-panel-hidden,
	#nw-mobile-menu
	.nw-mobile-submenu.nw-mobile-panel-hidden {
		transform: translateX(-20%);

		opacity: 1;
		visibility: hidden;

		pointer-events: none;
	} */


	/* =====================================================
	   MENU ITEMS
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-item {
		position: static !important;

		width: 100%;

		margin: 0 !important;
		padding: 0 !important;

		overflow: visible !important;

		list-style: none !important;

		border-bottom: 1px solid #f5f5f4;
	}


	/* =====================================================
	   MENU ROW
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-row {
		display: flex;

		align-items: center;

		width: 100%;
		min-height: 64px;
	}


	/* =====================================================
	   MENU LINKS
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-link {
		display: flex;

		align-items: center;

		flex: 1 1 auto;

		min-width: 0;
		min-height: 64px;

		color: #292524;

		font-size: 16px;
		font-weight: 500;

		line-height: 1.4;

		text-decoration: none;

		-webkit-tap-highlight-color: transparent;
	}

	#nw-mobile-menu .nw-mobile-menu-link:hover,
	#nw-mobile-menu .nw-mobile-menu-link:focus {
		color: #e11d48;
	}


	/* =====================================================
	   CURRENT MENU ITEM
	===================================================== */

	#nw-mobile-menu
	.nw-mobile-current
	> .nw-mobile-menu-row
	> .nw-mobile-menu-link {
		color: #e11d48;
	}


	/* =====================================================
	   SUBMENU TOGGLE
	===================================================== */

	#nw-mobile-menu .nw-mobile-submenu-toggle {
		display: inline-flex;

		align-items: center;
		justify-content: center;

		flex: 0 0 48px;

		width: 48px;
		height: 48px;

		margin-right: -8px;

		padding: 0;

		border: 0;

		background: transparent;

		color: #e11d48;

		cursor: pointer;

		-webkit-tap-highlight-color: transparent;
	}

	#nw-mobile-menu .nw-mobile-submenu-toggle svg {
		width: 18px;
		height: 18px;

		pointer-events: none;
	}


	/* =====================================================
	   SUBMENU PANEL
	===================================================== */

	#nw-mobile-menu .nw-mobile-submenu {
		position: absolute !important;
		inset: 0 !important;

		display: block !important;

		width: 100% !important;
		height: auto !important;

		box-sizing: border-box;

		margin: 0 !important;
		padding: 10px 20px 30px !important;

		list-style: none !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;

		-webkit-overflow-scrolling: touch;

		overscroll-behavior-y: contain;

		background: #ffffff;

		transform: translateX(100%);

		opacity: 0;
		visibility: hidden;

		pointer-events: none;

		z-index: 10;

		transition:
			transform .3s ease,
			opacity .25s ease,
			visibility .25s ease;
	}


	/* =====================================================
	   ACTIVE SUBMENU
	===================================================== */

	#nw-mobile-menu
	.nw-mobile-submenu.nw-mobile-panel-active {
		transform: translateX(0);

		opacity: 1;
		visibility: visible;

		pointer-events: auto;
	}


	/* =====================================================
	   DEEPER SUBMENUS
	===================================================== */

	#nw-mobile-menu
	.nw-mobile-submenu
	.nw-mobile-submenu {
		z-index: 20;
	}


	/* =====================================================
	   FOOTER
	===================================================== */

	#nw-mobile-menu .nw-mobile-menu-footer {
		position: relative;
		z-index: 100;

		flex: 0 0 auto;

		width: 100%;

		padding:
			16px
			20px
			calc(16px + env(safe-area-inset-bottom));

		box-sizing: border-box;

		border-top: 1px solid #e7e5e4;

		background: #ffffff;
	}


	/* =====================================================
	   BOOK NOW BUTTON
	===================================================== */

	#nw-mobile-menu .nw-mobile-book-now {
		display: flex;

		align-items: center;
		justify-content: center;

		width: 100%;
		min-height: 54px;

		padding: 14px 24px;

		box-sizing: border-box;

		border-radius: 999px;

		background: #e11d48;

		color: #ffffff;

		font-size: 13px;
		font-weight: 700;

		letter-spacing: .08em;

		text-align: center;
		text-decoration: none;
		text-transform: uppercase;

		-webkit-tap-highlight-color: transparent;

		transition:
			background .2s ease,
			transform .2s ease;
	}

	#nw-mobile-menu .nw-mobile-book-now:hover,
	#nw-mobile-menu .nw-mobile-book-now:focus {
		background: #be123c;

		color: #ffffff;
	}

	#nw-mobile-menu .nw-mobile-book-now:active {
		transform: scale(.98);
	}


	/* =====================================================
	   SCROLLBARS
	===================================================== */

	#nw-mobile-menu
	.nw-mobile-menu-list::-webkit-scrollbar,
	#nw-mobile-menu
	.nw-mobile-submenu::-webkit-scrollbar {
		width: 4px;
	}

	#nw-mobile-menu
	.nw-mobile-menu-list::-webkit-scrollbar-thumb,
	#nw-mobile-menu
	.nw-mobile-submenu::-webkit-scrollbar-thumb {
		background: rgba(120, 113, 108, .25);

		border-radius: 999px;
	}

}


/* =========================================================
   DESKTOP RESET
========================================================= */

@media (min-width: 1024px) {

	#nw-mobile-menu {
		display: none !important;
	}

}

/* =========================================================
   MENU PANELS
========================================================= */

#nw-mobile-menu .nw-mobile-menu-viewport {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}


/* Root and submenu panels */

#nw-mobile-menu .nw-mobile-menu-list,
#nw-mobile-menu .nw-mobile-submenu {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 10px 20px 30px !important;

	box-sizing: border-box !important;

	overflow-x: hidden !important;
	overflow-y: auto !important;

	list-style: none !important;

	background: #ffffff !important;

	transition:
		transform 0.3s ease,
		opacity 0.25s ease;

	-webkit-overflow-scrolling: touch;
}


/* =========================================================
   ROOT PANEL
========================================================= */

#nw-mobile-menu .nw-mobile-menu-list {
	z-index: 1;

	transform: translateX(0);

	opacity: 1;

	pointer-events: auto;
}


/* =========================================================
   SUBMENU DEFAULT
========================================================= */

#nw-mobile-menu .nw-mobile-submenu {
	z-index: 10;

	transform: translateX(100%);

	opacity: 0;

	pointer-events: none;
}


/* =========================================================
   ACTIVE PANEL
========================================================= */

#nw-mobile-menu .nw-mobile-menu-list.nw-mobile-panel-active,
#nw-mobile-menu .nw-mobile-submenu.nw-mobile-panel-active {
	transform: translateX(0);

	opacity: 1;

	pointer-events: auto;
}


/* =========================================================
   PREVIOUS PANEL
========================================================= */

#nw-mobile-menu .nw-mobile-menu-list.nw-mobile-panel-hidden,
#nw-mobile-menu .nw-mobile-submenu.nw-mobile-panel-hidden {
	transform: translateX(-25%);

	opacity: 0;

	pointer-events: none;
}
/* =========================================================
   HIDDEN PANEL
========================================================= */

#nw-mobile-menu .nw-mobile-panel-hidden {
	opacity: 1 !important;
	transform: none !important;
	pointer-events: none !important;
}

/* =========================================================
   SERVICES MOBILE SUBMENU
========================================================= */

#nw-mobile-menu .nw-mobile-services-submenu {
	padding: 16px !important;
}


/* =========================================================
   SERVICE ITEM
========================================================= */

#nw-mobile-menu .nw-mobile-service-item {
	margin: 0 0 14px !important;
	padding: 0 !important;

	list-style: none !important;
}


/* =========================================================
   SERVICE CARD
========================================================= */

#nw-mobile-menu .nw-mobile-service-card {
	display: flex !important;

	align-items: center !important;

	gap: 14px !important;

	width: 100% !important;

	padding: 12px !important;

	box-sizing: border-box !important;

	background: #ffffff !important;

	border: 1px solid #e7e5e4 !important;

	border-radius: 12px !important;

	text-decoration: none !important;

	color: #292524 !important;

	-webkit-text-fill-color: #292524 !important;

	visibility: visible !important;

	opacity: 1 !important;
}


/* =========================================================
   IMAGE
========================================================= */

#nw-mobile-menu .nw-mobile-service-image-wrap {
	flex: 0 0 82px !important;

	width: 82px !important;

	height: 82px !important;

	overflow: hidden !important;

	border-radius: 8px !important;

	background: #f5f5f4 !important;
}


#nw-mobile-menu .nw-mobile-service-image {
	display: block !important;

	width: 100% !important;

	height: 100% !important;

	-o-object-fit: cover !important;

	   object-fit: cover !important;
}


/* =========================================================
   CONTENT
========================================================= */

#nw-mobile-menu .nw-mobile-service-content {
	flex: 1 !important;

	min-width: 0 !important;
}


#nw-mobile-menu .nw-mobile-service-title {
	margin: 0 0 5px !important;

	padding: 0 !important;

	color: #292524 !important;

	font-size: 15px !important;

	font-weight: 600 !important;

	line-height: 1.3 !important;
}


#nw-mobile-menu .nw-mobile-service-description {
	margin: 0 !important;

	padding: 0 !important;

	color: #78716c !important;

	font-size: 13px !important;

	line-height: 1.5 !important;
}


/* =========================================================
   ARROW
========================================================= */

#nw-mobile-menu .nw-mobile-service-arrow {
	display: flex !important;

	flex: 0 0 auto !important;

	align-items: center !important;

	justify-content: center !important;

	color: #e11d48 !important;
}

/* =========================================================
   CART DROPDOWN
========================================================= */

.cart-wrapper {
	position: relative;
	z-index: 99999;
}

.cart-dropdown {
	right: 0;
	left: auto;
}

/*
 * Keep support for hover/focus on desktop
 * and .cart-open for JavaScript control.
 */
.cart-wrapper:hover .cart-dropdown,
.cart-wrapper:focus-within .cart-dropdown,
.cart-wrapper.cart-open .cart-dropdown {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}


/* =========================================================
   MOBILE CART DROPDOWN
========================================================= */

@media (max-width: 1023px) {

	.cart-dropdown {
		position: fixed !important;
		top: 88px !important;
		right: 12px !important;
		left: 12px !important;

		width: auto !important;
		max-width: none !important;

		z-index: 999999 !important;
	}

}


/* =========================================================
   PRODUCT CARD BODY
========================================================= */

.shop-section__product-body {
	display: flex;
	flex-direction: column;

	height: auto;
	min-height: 0;

	width: 100%;
}


/* =========================================================
   PRODUCT META
========================================================= */

.shop-section__product-meta {
	display: flex;
	flex-direction: column;

	gap: 12px;

	flex: 1 1 auto;

	min-width: 0;
}


/* =========================================================
   PRODUCT TITLE
========================================================= */

.shop-section__product-name {
	margin: 0 0 8px;

	line-height: 1.3;
}


/* =========================================================
   PRODUCT DESCRIPTION
========================================================= */

.shop-section__product-sub {
	margin: 0;

	line-height: 1.65;

	overflow-wrap: break-word;
	word-break: normal;
}


/* =========================================================
   PRODUCT FOOTER
========================================================= */

.shop-section__product-footer {
	display: flex;
	flex-wrap: wrap;

	align-items: center;

	gap: 12px;

	width: 100%;

	margin-top: auto;
	padding-top: 20px;

	box-sizing: border-box;

	position: relative !important;

	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
}


/* =========================================================
   PRODUCT PRICE
========================================================= */

.shop-section__product-price {
	display: block;

	/* flex: 1 1 100%; */

	margin: 0;

	white-space: nowrap;
}


/* =========================================================
   ADD TO CART BUTTON
========================================================= */

.shop-section__add-to-cart {
	display: inline-flex !important;

	align-items: center;
	justify-content: center;

	position: relative !important;

	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;

	flex: 0 1 auto;

	min-height: 48px;

	margin: 0 !important;

	padding: 12px 20px;

	box-sizing: border-box;

	white-space: nowrap;
	text-decoration: none;
}


/* =========================================================
   WOOCOMMERCE VIEW CART
========================================================= */

.shop-section__product-footer .added_to_cart {
	display: inline-flex !important;

	align-items: center;
	justify-content: center;

	position: relative !important;

	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;

	flex: 0 1 auto;

	min-height: 48px;

	margin: 0 !important;
	padding: 12px 4px;

	box-sizing: border-box;

	white-space: nowrap;
	text-decoration: none;
}


/* =========================================================
   MOBILE PRODUCT LAYOUT
========================================================= */

@media (max-width: 640px) {

	.shop-section__product-body {
		height: auto !important;
	}


	.shop-section__product-meta {
		flex: 0 0 auto;
	}


	.shop-section__product-footer {
		display: grid;

		grid-template-columns: 1fr auto;

		align-items: center;

		-moz-column-gap: 12px;

		     column-gap: 12px;
		row-gap: 12px;

		margin-top: 20px;
	}


	/*
	 * Price takes full row.
	 */
	.shop-section__product-price {
		grid-column: 1 / -1;

		width: 100%;
	}


	/*
	 * Add to cart fills available space.
	 */
	.shop-section__add-to-cart {
		width: 100%;

		min-width: 0;
	}


	/*
	 * View cart stays beside button.
	 */
	.shop-section__product-footer .added_to_cart {
		font-size: 14px;

		padding-left: 4px;
		padding-right: 4px;
	}

}

/* =========================================================
   SERVICE FOOTER
========================================================= */

.shop-section__service-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 16px;

	width: 100%;
	margin-top: auto;
	padding-top: 20px;

	box-sizing: border-box;
}


/* Service price */

.shop-section__service-price {
	margin: 0;

	flex: 1 1 auto;

	white-space: nowrap;
}


/* Book now button */

.shop-section__service-footer button {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	position: relative !important;

	flex: 0 0 auto;

	min-height: 48px;

	margin: 0 !important;

	white-space: nowrap;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 640px) {

	.shop-section__service-footer {
		display: flex;

		flex-direction: column;
		align-items: stretch;

		gap: 14px;

		margin-top: 20px;
	}


	/* Price */

	.shop-section__service-price {
		width: 100%;

		flex: none;

		text-align: left;

		margin: 0;
	}


	/* Book Now full width */

	.shop-section__service-footer button {
		width: 100%;

		min-width: 0;

		min-height: 50px;

		justify-content: center;
	}

}

.logo-container {
    background: #f5f5f5;
    border-radius: 6px;
    overflow: hidden;
    padding: 10px 20px;
}

/* =========================================================
   CONTACT PAGE
========================================================= */

.nw-contact-page {
    background: #ffffff;
    color: #292524;
    overflow: hidden;
}

.nw-contact-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   HERO
========================================================= */

.nw-contact-hero {
    padding: 120px 0 100px;
    background:
        linear-gradient(
            135deg,
            #fff 0%,
            #fff7f8 50%,
            #ffffff 100%
        );
    border-bottom: 1px solid #ffe4e6;
}

.nw-contact-hero-content {
    max-width: 760px;
}

.nw-contact-eyebrow {
    display: inline-flex;
    align-items: center;

    margin-bottom: 18px;

    padding: 8px 16px;

    border-radius: 999px;

    background: #fff1f2;

    color: #e11d48;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .18em;
    text-transform: uppercase;
}

.nw-contact-hero h1 {
    margin: 0;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(42px, 6vw, 78px);

    font-weight: 500;

    line-height: 1.08;

    letter-spacing: -.03em;
}

.nw-contact-hero h1 span {
    display: block;
    color: #e11d48;
}

.nw-contact-hero p {
    max-width: 620px;

    margin: 28px 0 0;

    color: #78716c;

    font-size: 17px;

    line-height: 1.8;
}


/* =========================================================
   CONTACT CARDS
========================================================= */

.nw-contact-info-section {
    padding: 100px 0;
}

.nw-contact-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.nw-contact-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 340px;

    padding: 32px;

    background: #ffffff;

    border: 1px solid #f5f5f4;

    border-radius: 24px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.nw-contact-card:hover {
    transform: translateY(-5px);

    border-color: #fecdd3;

    box-shadow:
        0 20px 50px rgba(41, 37, 36, .08);
}

.nw-contact-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 28px;

    border-radius: 16px;

    background: #fff1f2;

    color: #e11d48;
}

.nw-contact-label {
    margin-bottom: 10px;

    color: #e11d48;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .16em;

    text-transform: uppercase;
}

.nw-contact-card h3 {
    margin: 0;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 24px;

    font-weight: 500;
}

.nw-contact-card p {
    margin: 14px 0 28px;

    color: #78716c;

    font-size: 14px;

    line-height: 1.7;
}

.nw-contact-card > a {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: auto;

    color: #e11d48;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .08em;

    text-decoration: none;

    text-transform: uppercase;
}

.nw-contact-card > a span {
    font-size: 18px;

    transition: transform .2s ease;
}

.nw-contact-card > a:hover span {
    transform: translateX(5px);
}


/* =========================================================
   MAP
========================================================= */

.nw-contact-map-section {
    padding: 40px 0 110px;
}

.nw-contact-map-heading {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 40px;

    margin-bottom: 35px;
}

.nw-contact-map-heading h2 {
    margin: 0;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4vw, 56px);

    font-weight: 500;
}

.nw-contact-map-heading p {
    max-width: 420px;

    margin: 0;

    color: #78716c;

    font-size: 15px;

    line-height: 1.8;
}

.nw-contact-map {
    position: relative;

    overflow: hidden;

    min-height: 500px;

    border-radius: 28px;

    border: 1px solid #f5f5f4;

    box-shadow:
        0 30px 80px rgba(41, 37, 36, .10);
}

.nw-contact-map iframe {
    display: block;

    width: 100%;

    height: 500px;
}


/* =========================================================
   CTA
========================================================= */

.nw-contact-cta {
    padding: 110px 0;

    background: #292524;
}

.nw-contact-cta-inner {
    max-width: 850px;

    margin: 0 auto;

    text-align: center;
}

.nw-contact-cta-inner > span {
    display: block;

    margin-bottom: 20px;

    color: #fda4af;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .2em;

    text-transform: uppercase;
}

.nw-contact-cta h2 {
    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(40px, 5vw, 70px);

    font-weight: 500;

    line-height: 1.15;
}

.nw-contact-cta h2 em {
    color: #fb7185;

    font-style: normal;
}

.nw-contact-cta-button {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 38px;

    padding: 17px 32px;

    border-radius: 999px;

    background: #e11d48;

    color: #ffffff;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .12em;

    text-decoration: none;

    text-transform: uppercase;

    transition:
        background .2s ease,
        transform .2s ease;
}

.nw-contact-cta-button:hover {
    background: #be123c;

    color: #ffffff;

    transform: translateY(-3px);
}

.nw-contact-cta-button span {
    font-size: 18px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .nw-contact-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .nw-contact-map-heading {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 640px) {

    .nw-contact-container {
        width: min(100% - 32px, 1180px);
    }

    .nw-contact-hero {
        padding: 80px 0 70px;
    }

    .nw-contact-hero p {
        font-size: 15px;
    }

    .nw-contact-info-section {
        padding: 70px 0;
    }

    .nw-contact-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .nw-contact-card {
        min-height: 280px;
        padding: 26px;
    }

    .nw-contact-map-section {
        padding: 10px 0 75px;
    }

    .nw-contact-map-heading {
        gap: 20px;
        margin-bottom: 25px;
    }

    .nw-contact-map {
        min-height: 380px;
        border-radius: 20px;
    }

    .nw-contact-map iframe {
        height: 380px;
    }

    .nw-contact-cta {
        padding: 80px 0;
    }

}

/* ========================================
   OUR TEAM PAGE
======================================== */

.nw-team-page {
    background: #ffffff;
    color: #1c1917;
}


/* ========================================
   CONTAINER
======================================== */

.nw-team-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}


/* ========================================
   HERO
======================================== */

.nw-team-hero {
    padding: 140px 0 100px;
    background: #1c1917;
    text-align: center;
}

.nw-team-hero-content {
    max-width: 760px;
    margin: 0 auto;
}

.nw-team-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: #e11d48;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.nw-team-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1.1;
}

.nw-team-hero h1 span {
    display: block;
    color: #f43f5e;
}

.nw-team-hero p {
    max-width: 620px;
    margin: 28px auto 0;
    color: #a8a29e;
    font-size: 18px;
    line-height: 1.8;
}


/* ========================================
   INTRO
======================================== */

.nw-team-intro {
    padding: 120px 0;
    background: #fafaf9;
}

.nw-team-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: start;
}

.nw-team-intro h2 {
    margin: 0;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.15;
}

.nw-team-intro h2 em {
    color: #e11d48;
    font-style: italic;
}

.nw-team-intro-grid > div:last-child p {
    margin: 0 0 24px;
    color: #78716c;
    font-size: 17px;
    line-height: 1.8;
}


/* ========================================
   TEAM SECTION
======================================== */

.nw-team-section {
    padding: 120px 0;
}

.nw-team-section-heading {
    margin-bottom: 60px;
}

.nw-team-section-heading h2 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.15;
}


/* ========================================
   TEAM GRID
======================================== */

.nw-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


/* ========================================
   TEAM CARD
======================================== */

.nw-team-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e7e5e4;
    border-radius: 12px;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.nw-team-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}


/* ========================================
   TEAM IMAGE
======================================== */

.nw-team-image {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #e7e5e4;
}

.nw-team-photo {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.5s ease;
}

.nw-team-card:hover .nw-team-photo {
    transform: scale(1.05);
}

.nw-team-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #78716c;
}


/* ========================================
   TEAM CONTENT
======================================== */

.nw-team-content {
    padding: 28px;
}

.nw-team-role {
    display: block;
    margin-bottom: 10px;
    color: #e11d48;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.nw-team-content h3 {
    margin: 0 0 14px;
    color: #1c1917;
    font-size: 26px;
    line-height: 1.2;
}

.nw-team-content p {
    margin: 0;
    color: #78716c;
    line-height: 1.7;
}


/* ========================================
   SOCIAL LINKS
======================================== */

.nw-team-social {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 22px;
}

.nw-team-social a {
    color: #57534e;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.nw-team-social a:hover {
    color: #e11d48;
}


/* ========================================
   EMPTY STATE
======================================== */

.nw-team-empty {
    padding: 60px 20px;
    color: #78716c;
    text-align: center;
    border: 1px dashed #d6d3d1;
}


/* ========================================
   CTA
======================================== */

.nw-team-cta {
    padding: 120px 0;
    background: #1c1917;
}

.nw-team-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.nw-team-cta-inner > span {
    display: block;
    margin-bottom: 18px;
    color: #f43f5e;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.nw-team-cta h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.15;
}

.nw-team-cta h2 em {
    display: block;
    color: #f43f5e;
}

.nw-team-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 35px;
    padding: 15px 28px;
    background: #e11d48;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.2s ease;
}

.nw-team-cta-button:hover {
    background: #be123c;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 991px) {

    .nw-team-hero {
        padding: 110px 0 80px;
    }

    .nw-team-intro,
    .nw-team-section,
    .nw-team-cta {
        padding: 90px 0;
    }

    .nw-team-intro-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .nw-team-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 640px) {

    .nw-team-container {
        width: min(100% - 32px, 1200px);
    }

    .nw-team-grid {
        grid-template-columns: 1fr;
    }

    .nw-team-content {
        padding: 22px;
    }

    .nw-team-hero {
        padding: 90px 0 70px;
    }

    .nw-team-intro,
    .nw-team-section,
    .nw-team-cta {
        padding: 70px 0;
    }

}


.site-header {
    position: relative;
    z-index: 1000;
}

.search-popup {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 999;

    background: #ffffff;
    border-bottom: 1px solid #f3d5da;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);

    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;

    transition:
        transform 0.4s ease,
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.search-popup.active {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.search-popup-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px;
}

.search-form {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #d9d9d9;
}

.search-form input {
    flex: 1;
    width: 100%;
    border: none;
    outline: none;
    background: transparent;

    padding: 15px 0;
    font-size: 18px;
    color: #333;
}

.search-form input::-moz-placeholder {
    color: #999;
}

.search-form input::placeholder {
    color: #999;
}

.search-form button {
    background: transparent;
    border: none;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #555;
    padding: 10px;
}

.close-search {
    font-size: 28px;
    font-weight: 300;
    margin-left: 15px;
}

/**********Results**************/
.search-results-page {
    padding: 10px 20px 100px 20px;
  
}

.search-results-page .container {
    max-width: 1200px;
    margin: 0 auto;
}

.search-heading {
    text-align: center;
    margin-bottom: 60px;
}

.search-heading span {
    color: #c92b4b;
    font-size: 12px;
    letter-spacing: 3px;
}

.search-heading h1 {
    font-size: 42px;
    margin-top: 15px;
}

.search-heading strong {
    color: #c92b4b;
}

.search-results {
    display: grid;
    gap: 30px;
}

.search-result {
    display: flex;
    gap: 30px;
    padding: 30px;
    border-bottom: 1px solid #eee;
}

.search-result img {
    width: 220px;
    height: 160px;
    -o-object-fit: cover;
       object-fit: cover;
}

.search-result-content {
    flex: 1;
}

.result-type {
    color: #c92b4b;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.search-result h2 {
    margin: 10px 0;
}

.search-result h2 a {
    color: #222;
    text-decoration: none;
}

.read-more {
    display: inline-block;
    margin-top: 10px;
    color: #c92b4b;
    text-decoration: none;
    font-weight: 600;
}

/****** Pagination***********/
.search-pagination .page-numbers {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #e7e5e4;
    color: #57534e;

    text-decoration: none;

    transition: all 0.3s ease;
}

.search-pagination .page-numbers:hover {
    background: #e11d48;
    border-color: #e11d48;
    color: #ffffff;
}

.search-pagination .page-numbers.current {
    background: #e11d48;
    border-color: #e11d48;
    color: #ffffff;
}

.search-pagination .page-numbers.prev,
.search-pagination .page-numbers.next {
    width: auto;
    padding: 0 16px;
}

@media (max-width: 767px) {
    .search-popup-inner {
        padding: 15px;
    }

    .search-form button {
        padding-right: 0;
    }
}

.faq-item {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.faq-item:hover {
    border-color: #fecdd3;
}

.faq-item[open] {
    border-color: #f43f5e;
    box-shadow: 0 10px 30px rgba(244, 63, 94, 0.08);
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item[open] .faq-icon svg,
.faq-item[open] summary > span svg {
    transform: rotate(45deg);
}

.faq-item svg {
    transition: transform 0.3s ease;
}

/* theme.css */
/* ! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com *//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
  display: none;
}
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {

    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {

    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {

    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {

    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {

    .container {
        max-width: 1536px;
    }
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.visible {
    visibility: visible;
}
.invisible {
    visibility: hidden;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.inset-0 {
    inset: 0px;
}
.-right-1 {
    right: -0.25rem;
}
.-top-1 {
    top: -0.25rem;
}
.bottom-10 {
    bottom: 2.5rem;
}
.bottom-4 {
    bottom: 1rem;
}
.left-0 {
    left: 0px;
}
.left-1\/4 {
    left: 25%;
}
.left-4 {
    left: 1rem;
}
.right-0 {
    right: 0px;
}
.right-10 {
    right: 2.5rem;
}
.right-3 {
    right: 0.75rem;
}
.right-4 {
    right: 1rem;
}
.top-0 {
    top: 0px;
}
.top-1\/2 {
    top: 50%;
}
.top-3 {
    top: 0.75rem;
}
.top-4 {
    top: 1rem;
}
.top-8 {
    top: 2rem;
}
.top-full {
    top: 100%;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-\[1000\] {
    z-index: 1000;
}
.z-\[99999\] {
    z-index: 99999;
}
.z-\[9999\] {
    z-index: 9999;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-span-6 {
    grid-column: span 6 / span 6;
}
.-mx-4 {
    margin-left: -1rem;
    margin-right: -1rem;
}
.mx-5 {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.mb-0 {
    margin-bottom: 0px;
}
.mb-0\.5 {
    margin-bottom: 0.125rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-10 {
    margin-bottom: 2.5rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-16 {
    margin-bottom: 4rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-20 {
    margin-bottom: 5rem;
}
.mb-24 {
    margin-bottom: 6rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-3 {
    margin-left: 0.75rem;
}
.mr-2 {
    margin-right: 0.5rem;
}
.mt-0 {
    margin-top: 0px;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-10 {
    margin-top: 2.5rem;
}
.mt-12 {
    margin-top: 3rem;
}
.mt-16 {
    margin-top: 4rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-24 {
    margin-top: 6rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-5 {
    margin-top: 1.25rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-8 {
    margin-top: 2rem;
}
.mt-auto {
    margin-top: auto;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.grid {
    display: grid;
}
.contents {
    display: contents;
}
.hidden {
    display: none;
}
.aspect-\[16\/9\] {
    aspect-ratio: 16/9;
}
.aspect-\[4\/3\] {
    aspect-ratio: 4/3;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.h-10 {
    height: 2.5rem;
}
.h-11 {
    height: 2.75rem;
}
.h-12 {
    height: 3rem;
}
.h-14 {
    height: 3.5rem;
}
.h-2 {
    height: 0.5rem;
}
.h-20 {
    height: 5rem;
}
.h-24 {
    height: 6rem;
}
.h-32 {
    height: 8rem;
}
.h-4 {
    height: 1rem;
}
.h-5 {
    height: 1.25rem;
}
.h-6 {
    height: 1.5rem;
}
.h-64 {
    height: 16rem;
}
.h-7 {
    height: 1.75rem;
}
.h-8 {
    height: 2rem;
}
.h-80 {
    height: 20rem;
}
.h-9 {
    height: 2.25rem;
}
.h-96 {
    height: 24rem;
}
.h-auto {
    height: auto;
}
.h-full {
    height: 100%;
}
.max-h-64 {
    max-height: 16rem;
}
.max-h-\[22px\] {
    max-height: 22px;
}
.max-h-\[24px\] {
    max-height: 24px;
}
.max-h-\[calc\(100vh-1\.5rem\)\] {
    max-height: calc(100vh - 1.5rem);
}
.max-h-full {
    max-height: 100%;
}
.min-h-screen {
    min-height: 100vh;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-12 {
    width: 3rem;
}
.w-14 {
    width: 3.5rem;
}
.w-20 {
    width: 5rem;
}
.w-24 {
    width: 6rem;
}
.w-32 {
    width: 8rem;
}
.w-4 {
    width: 1rem;
}
.w-5 {
    width: 1.25rem;
}
.w-6 {
    width: 1.5rem;
}
.w-64 {
    width: 16rem;
}
.w-7 {
    width: 1.75rem;
}
.w-8 {
    width: 2rem;
}
.w-80 {
    width: 20rem;
}
.w-9 {
    width: 2.25rem;
}
.w-96 {
    width: 24rem;
}
.w-\[58px\] {
    width: 58px;
}
.w-auto {
    width: auto;
}
.w-full {
    width: 100%;
}
.min-w-0 {
    min-width: 0px;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-7xl {
    max-width: 80rem;
}
.max-w-\[42px\] {
    max-width: 42px;
}
.max-w-\[44px\] {
    max-width: 44px;
}
.max-w-full {
    max-width: 100%;
}
.max-w-lg {
    max-width: 32rem;
}
.max-w-md {
    max-width: 28rem;
}
.max-w-none {
    max-width: none;
}
.max-w-xl {
    max-width: 36rem;
}
.flex-1 {
    flex: 1 1 0%;
}
.flex-shrink-0 {
    flex-shrink: 0;
}
.shrink-0 {
    flex-shrink: 0;
}
.flex-grow {
    flex-grow: 1;
}
.grow {
    flex-grow: 1;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1\/2 {
    --tw-translate-x: 50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1\/3 {
    --tw-translate-x: 33.333333%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2 {
    --tw-translate-y: 0.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-pointer {
    cursor: pointer;
}
.resize {
    resize: both;
}
.list-none {
    list-style-type: none;
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flex-col {
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.items-start {
    align-items: flex-start;
}
.items-center {
    align-items: center;
}
.items-baseline {
    align-items: baseline;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-10 {
    gap: 2.5rem;
}
.gap-12 {
    gap: 3rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-20 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-stone-100 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(245 245 244 / var(--tw-divide-opacity));
}
.self-start {
    align-self: flex-start;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-y-auto {
    overflow-y: auto;
}
.overscroll-contain {
    overscroll-behavior: contain;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-3xl {
    border-radius: 1.5rem;
}
.rounded-\[6px\] {
    border-radius: 6px;
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-xl {
    border-radius: 0.75rem;
}
.border {
    border-width: 1px;
}
.border-0 {
    border-width: 0px;
}
.border-2 {
    border-width: 2px;
}
.border-b {
    border-bottom-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.border-red-500\/20 {
    border-color: rgb(239 68 68 / 0.2);
}
.border-rose-100 {
    --tw-border-opacity: 1;
    border-color: rgb(255 228 230 / var(--tw-border-opacity));
}
.border-rose-100\/50 {
    border-color: rgb(255 228 230 / 0.5);
}
.border-rose-100\/60 {
    border-color: rgb(255 228 230 / 0.6);
}
.border-rose-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 205 211 / var(--tw-border-opacity));
}
.border-rose-50 {
    --tw-border-opacity: 1;
    border-color: rgb(255 241 242 / var(--tw-border-opacity));
}
.border-rose-500 {
    --tw-border-opacity: 1;
    border-color: rgb(244 63 94 / var(--tw-border-opacity));
}
.border-rose-600 {
    --tw-border-opacity: 1;
    border-color: rgb(225 29 72 / var(--tw-border-opacity));
}
.border-stone-100 {
    --tw-border-opacity: 1;
    border-color: rgb(245 245 244 / var(--tw-border-opacity));
}
.border-stone-200 {
    --tw-border-opacity: 1;
    border-color: rgb(231 229 228 / var(--tw-border-opacity));
}
.border-stone-200\/70 {
    border-color: rgb(231 229 228 / 0.7);
}
.border-stone-200\/80 {
    border-color: rgb(231 229 228 / 0.8);
}
.border-stone-300 {
    --tw-border-opacity: 1;
    border-color: rgb(214 211 209 / var(--tw-border-opacity));
}
.border-stone-700 {
    --tw-border-opacity: 1;
    border-color: rgb(68 64 60 / var(--tw-border-opacity));
}
.border-stone-800 {
    --tw-border-opacity: 1;
    border-color: rgb(41 37 36 / var(--tw-border-opacity));
}
.border-transparent {
    border-color: transparent;
}
.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}
.bg-body {
    --tw-bg-opacity: 1;
    background-color: rgb(120 113 108 / var(--tw-bg-opacity));
}
.bg-emerald-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / var(--tw-bg-opacity));
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}
.bg-red-500\/10 {
    background-color: rgb(239 68 68 / 0.1);
}
.bg-rose-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 228 230 / var(--tw-bg-opacity));
}
.bg-rose-100\/40 {
    background-color: rgb(255 228 230 / 0.4);
}
.bg-rose-200\/30 {
    background-color: rgb(254 205 211 / 0.3);
}
.bg-rose-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 241 242 / var(--tw-bg-opacity));
}
.bg-rose-500\/10 {
    background-color: rgb(244 63 94 / 0.1);
}
.bg-rose-500\/30 {
    background-color: rgb(244 63 94 / 0.3);
}
.bg-rose-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(225 29 72 / var(--tw-bg-opacity));
}
.bg-stone-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 244 / var(--tw-bg-opacity));
}
.bg-stone-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 250 249 / var(--tw-bg-opacity));
}
.bg-stone-50\/60 {
    background-color: rgb(250 250 249 / 0.6);
}
.bg-stone-50\/80 {
    background-color: rgb(250 250 249 / 0.8);
}
.bg-stone-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(68 64 60 / var(--tw-bg-opacity));
}
.bg-stone-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(41 37 36 / var(--tw-bg-opacity));
}
.bg-stone-800\/90 {
    background-color: rgb(41 37 36 / 0.9);
}
.bg-stone-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(28 25 23 / var(--tw-bg-opacity));
}
.bg-stone-950 {
    --tw-bg-opacity: 1;
    background-color: rgb(12 10 9 / var(--tw-bg-opacity));
}
.bg-transparent {
    background-color: transparent;
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/20 {
    background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/80 {
    background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90 {
    background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
    background-color: rgb(255 255 255 / 0.95);
}
.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.from-rose-50 {
    --tw-gradient-from: #fff1f2 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-50\/50 {
    --tw-gradient-from: rgb(255 241 242 / 0.5) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-600 {
    --tw-gradient-from: #e11d48 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(225 29 72 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-stone-50 {
    --tw-gradient-from: #fafaf9 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(250 250 249 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-stone-800 {
    --tw-gradient-from: #292524 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(41 37 36 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-rose-50\/30 {
    --tw-gradient-to: rgb(255 241 242 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255 241 242 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white {
    --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-rose-700 {
    --tw-gradient-to: #be123c var(--tw-gradient-to-position);
}
.to-stone-100 {
    --tw-gradient-to: #f5f5f4 var(--tw-gradient-to-position);
}
.to-stone-50\/30 {
    --tw-gradient-to: rgb(250 250 249 / 0.3) var(--tw-gradient-to-position);
}
.to-stone-900 {
    --tw-gradient-to: #1c1917 var(--tw-gradient-to-position);
}
.to-white {
    --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.p-1 {
    padding: 0.25rem;
}
.p-10 {
    padding: 2.5rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-4 {
    padding: 1rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-7 {
    padding: 1.75rem;
}
.p-8 {
    padding: 2rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.pb-24 {
    padding-bottom: 6rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.pb-6 {
    padding-bottom: 1.5rem;
}
.pb-64 {
    padding-bottom: 16rem;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pt-12 {
    padding-top: 3rem;
}
.pt-16 {
    padding-top: 4rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.pt-3 {
    padding-top: 0.75rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.pt-8 {
    padding-top: 2rem;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.font-body {
    font-family: Cormorant Garamond, Georgia, serif;
}
.font-heading {
    font-family: Playfair Display, Georgia, serif;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.text-5xl {
    font-size: 3rem;
    line-height: 1;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-black {
    font-weight: 900;
}
.font-bold {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-medium {
    font-weight: 500;
}
.font-normal {
    font-weight: 400;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.lowercase {
    text-transform: lowercase;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-\[0\.15em\] {
    letter-spacing: 0.15em;
}
.tracking-tight {
    letter-spacing: -0.025em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-widest {
    letter-spacing: 0.1em;
}
.text-amber-500 {
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / var(--tw-text-opacity));
}
.text-amber-600 {
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity));
}
.text-body {
    --tw-text-opacity: 1;
    color: rgb(120 113 108 / var(--tw-text-opacity));
}
.text-emerald-700 {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity));
}
.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity));
}
.text-red-700 {
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity));
}
.text-rose-100 {
    --tw-text-opacity: 1;
    color: rgb(255 228 230 / var(--tw-text-opacity));
}
.text-rose-200 {
    --tw-text-opacity: 1;
    color: rgb(254 205 211 / var(--tw-text-opacity));
}
.text-rose-300 {
    --tw-text-opacity: 1;
    color: rgb(253 164 175 / var(--tw-text-opacity));
}
.text-rose-400 {
    --tw-text-opacity: 1;
    color: rgb(251 113 133 / var(--tw-text-opacity));
}
.text-rose-500 {
    --tw-text-opacity: 1;
    color: rgb(244 63 94 / var(--tw-text-opacity));
}
.text-rose-600 {
    --tw-text-opacity: 1;
    color: rgb(225 29 72 / var(--tw-text-opacity));
}
.text-rose-700 {
    --tw-text-opacity: 1;
    color: rgb(190 18 60 / var(--tw-text-opacity));
}
.text-stone-300 {
    --tw-text-opacity: 1;
    color: rgb(214 211 209 / var(--tw-text-opacity));
}
.text-stone-400 {
    --tw-text-opacity: 1;
    color: rgb(168 162 158 / var(--tw-text-opacity));
}
.text-stone-500 {
    --tw-text-opacity: 1;
    color: rgb(120 113 108 / var(--tw-text-opacity));
}
.text-stone-600 {
    --tw-text-opacity: 1;
    color: rgb(87 83 78 / var(--tw-text-opacity));
}
.text-stone-700 {
    --tw-text-opacity: 1;
    color: rgb(68 64 60 / var(--tw-text-opacity));
}
.text-stone-800 {
    --tw-text-opacity: 1;
    color: rgb(41 37 36 / var(--tw-text-opacity));
}
.text-stone-900 {
    --tw-text-opacity: 1;
    color: rgb(28 25 23 / var(--tw-text-opacity));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.underline {
    text-decoration-line: underline;
}
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.placeholder-stone-400::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(168 162 158 / var(--tw-placeholder-opacity));
}
.placeholder-stone-400::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(168 162 158 / var(--tw-placeholder-opacity));
}
.accent-rose-600 {
    accent-color: #e11d48;
}
.opacity-0 {
    opacity: 0;
}
.opacity-40 {
    opacity: 0.4;
}
.opacity-70 {
    opacity: 0.7;
}
.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-rose-100\/30 {
    --tw-shadow-color: rgb(255 228 230 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-100\/40 {
    --tw-shadow-color: rgb(255 228 230 / 0.4);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-100\/50 {
    --tw-shadow-color: rgb(255 228 230 / 0.5);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-200 {
    --tw-shadow-color: #fecdd3;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-300\/60 {
    --tw-shadow-color: rgb(253 164 175 / 0.6);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-600\/30 {
    --tw-shadow-color: rgb(225 29 72 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-stone-100 {
    --tw-shadow-color: #f5f5f4;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-stone-200 {
    --tw-shadow-color: #e7e5e4;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-stone-200\/50 {
    --tw-shadow-color: rgb(231 229 228 / 0.5);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.blur-3xl {
    --tw-blur: blur(64px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.duration-700 {
    transition-duration: 700ms;
}



@theme {
  --font-body:
    "Cormorant Garamond", ui-sans-serif, system-ui, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-heading:
    "Playfair Display", ui-serif, Georgia, Cambria, "Times New Roman", Times,
    serif;
}

/* Custom body classes */
body {
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
    cursor: pointer;
}

.font-heading {
  font-family: var(--font-heading);
}

.font-body {
  font-family: var(--font-body);
}

/* WordPress Core Styles */
.alignnone {
  margin: 1rem 0;
}

.aligncenter {
  display: block;
  margin: 1rem auto;
}

.alignleft {
  float: left;
  margin: 0.5rem 1.5rem 1rem 0;
}

.alignright {
  float: right;
  margin: 0.5rem 0 1rem 1.5rem;
}

.alignwide {
  max-width: 100vw;
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

.alignfull {
  max-width: 100vw;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

img.aligncenter {
  display: block;
  margin: 1rem auto;
}

/* WordPress Block Editor support */
.wp-block-image img {
  max-width: 100%;
  height: auto;
}

.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
  width: 100%;
}

.entry-content > * {
  max-width: 100%;
}

.has-large-font-size {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.has-medium-font-size {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.has-small-font-size {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* Screen reader text */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Custom logo styles */
.custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.custom-logo {
  max-height: 48px;
  width: auto;
  border-radius: 9999px;
}

/* Navigation highlight for current page */
.current-menu-item > a,
.current_page_item > a {
  color: #e11d48 !important;
}

/* Form focus states */
input:focus,
textarea:focus,
select:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(251, 113, 133, 0.5);
  border-color: #fb7185;
}

/* Button states */
.wp-block-button__link {
  background-color: #e11d48;
  color: #ffffff;
  padding: 0.75rem 2rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}

.wp-block-button__link:hover {
  background-color: #be123c;
  box-shadow: 0 10px 25px rgba(225, 29, 72, 0.3);
}

/* Gallery support */
.wp-block-gallery {
  display: grid;
  gap: 1rem;
}

.wp-block-gallery .wp-block-image {
  border-radius: 1.5rem;
  overflow: hidden;
}

.wp-block-gallery .wp-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.gallery-item {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
}

.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
}

/* Pagination */
.nav-links {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  color: #57534e;
  background-color: #f5f5f4;
  transition: all 0.3s ease;
}

.nav-links .page-numbers:hover {
  background-color: #ffe4e6;
  color: #e11d48;
}

.nav-links .page-numbers.current {
  background-color: #e11d48;
  color: #ffffff;
}

.nav-links .page-numbers.dots {
  background: transparent;
}

/* Post navigation */
.post-navigation {
  border-top: 1px solid #ffe4e6;
  padding-top: 2rem;
  margin-top: 2rem;
}

/* Captions */
.wp-caption {
  max-width: 100%;
  margin-bottom: 1.5rem;
}

.wp-caption img {
  border-radius: 1.5rem;
  display: block;
}

.wp-caption-text,
figcaption {
  font-size: 0.875rem;
  color: #78716c;
  text-align: center;
  margin-top: 0.5rem;
  font-style: italic;
}

/* Sticky post indicator */
.sticky .sticky-badge {
  display: inline-flex;
}

.sticky-badge {
  display: none;
}

/* Password protected posts */
.post-password-form label {
  display: block;
  font-family: var(--font-heading);
  color: #292524;
  margin-bottom: 0.5rem;
}

.post-password-form input[type="password"] {
  padding: 0.75rem 1.5rem;
  border: 1px solid #d6d3d1;
  border-radius: 9999px;
  margin-right: 0.5rem;
}

.post-password-form input[type="submit"] {
  padding: 0.75rem 1.5rem;
  background-color: #e11d48;
  color: #ffffff;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}

.post-password-form input[type="submit"]:hover {
  background-color: #be123c;
}

/* Hero animation */
.hero-fade-item {
  animation: heroFadeIn 0.8s ease forwards;
}

.hero-fade-item:nth-child(1) {
  animation-delay: 0.1s;
}

.hero-fade-item:nth-child(2) {
  animation-delay: 0.3s;
}

.hero-fade-item:nth-child(3) {
  animation-delay: 0.5s;
}

.hero-fade-item:nth-child(4) {
  animation-delay: 0.7s;
}

@keyframes heroFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.to-rose-700 {
  --tw-gradient-to: var(--color-rose-700, #be123c); /* Added hex fallback */
}

.from-rose-600 {
  --tw-gradient-from: var(--color-rose-600, #e11d48); /* Added hex fallback */
}

.to-stone-900 {
  --tw-gradient-to: var(--color-stone-900, #1c1917); /* Added hex fallback */
}

.from-stone-800 {
  --tw-gradient-from: var(--color-stone-800, #292524); /* Added hex fallback */
}

.bg-gradient-to-br {
  /* Provide default position if missing, and default stops if via is missing */
  background-image: linear-gradient(
    var(--tw-gradient-position, to bottom right),
    var(--tw-gradient-from),
    var(--tw-gradient-to, transparent)
  );
}

/* Optional: Add oklab support explicitly if you want the smoother blending */
@supports (
  background-image: linear-gradient(to bottom right in oklab, red, blue)
) {
  .bg-gradient-to-br {
    background-image: linear-gradient(
      var(--tw-gradient-position, to bottom right in oklab),
      var(--tw-gradient-from),
      var(--tw-gradient-to, transparent)
    );
  }
}

.from-rose-50 {
  --tw-gradient-from: var(--color-rose-50, #e11d48); /* Added hex fallback */
}

.to-white {
  --tw-gradient-to: #ffffff var(--tw-gradient-to-position);
}

.bg-rose-600 {
  background-color: var(--color-rose-600, #e11d48);
}

.rounded-full {
  border-radius: calc(infinity * 1px);
}
/* end of theme.css */

/* ==========================================================
   WooCommerce Notifications
========================================================== */

.woocommerce-notices-wrapper {
    width: 100%;
    margin-bottom: 1.5rem;
}

.woocommerce-notices-wrapper .woocommerce-message {
    position: relative;

    display: flex;
    align-items: center;
    gap: 0.75rem;

    padding: 1rem 1.25rem;

    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 1rem;

    color: #9f1239;

    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: 500;

    box-shadow: 0 8px 20px rgba(244, 63, 94, 0.08);
}


/* Success icon */
.woocommerce-notices-wrapper .woocommerce-message::before {
    content: "✓";

    width: 2rem;
    height: 2rem;

    flex: 0 0 2rem;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e11d48;
    color: #ffffff;

    border-radius: 9999px;

    font-size: 0.875rem;
    font-weight: 700;
}


/* Remove WooCommerce default icon */
.woocommerce-notices-wrapper .woocommerce-message::after {
    display: none;
}


/* Links inside notice */
.woocommerce-notices-wrapper .woocommerce-message a {
    margin-left: auto;

    color: #be123c;
    font-size: 0.75rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.05em;

    text-decoration: none;
}

.woocommerce-notices-wrapper .woocommerce-message a:hover {
    color: #9f1239;
}


/* Mobile */
@media (max-width: 640px) {

    .woocommerce-notices-wrapper .woocommerce-message {
        align-items: flex-start;
        padding: 0.875rem 1rem;
        font-size: 0.8125rem;
    }

    .woocommerce-notices-wrapper .woocommerce-message::before {
        width: 1.75rem;
        height: 1.75rem;
        flex-basis: 1.75rem;
    }

}

.cart-dropdown {
    z-index: 1000;
}

/*****Checkout css**********/
/* =========================================================
   NEPALESE WEDDING
   CUSTOM WOOCOMMERCE CHECKOUT
========================================================= */


/* =========================================================
   BASE
========================================================= */

.nw-checkout-page {
    width: 100%;
    background: #faf9f7;
    color: #292524;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;

    padding-bottom: 80px;
}

.nw-checkout-page *,
.nw-checkout-page *::before,
.nw-checkout-page *::after {
    box-sizing: border-box;
}

.nw-checkout-container {
    width: min(1280px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   PAGE HEADING
========================================================= */

.nw-checkout-heading {
    padding: 70px 0 55px;
    text-align: center;
}

.nw-checkout-eyebrow {
    display: inline-block;

    margin-bottom: 16px;
    padding: 7px 15px;

    background: #ffe4e6;
    color: #e11d48;

    border-radius: 999px;

    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.nw-checkout-title {
    margin: 0;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.08;
    font-weight: 500;

    letter-spacing: -.035em;
}

.nw-checkout-title span {
    color: #e11d48;
}

.nw-checkout-description {
    max-width: 620px;

    margin: 18px auto 0;

    color: #78716c;

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   MAIN CHECKOUT GRID
========================================================= */

.nw-checkout-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(360px, .9fr);

    gap: 40px;

    align-items: start;
}

.nw-checkout-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}


/* =========================================================
   CHECKOUT CARDS
========================================================= */

.nw-checkout-card {
    width: 100%;

    padding: 30px;

    background: #ffffff;

    border: 1px solid rgba(244, 63, 94, .12);
    border-radius: 24px;

    box-shadow:
        0 20px 50px rgba(120, 113, 108, .07);
}

.nw-checkout-card-header {
    display: flex;

    align-items: flex-start;

    gap: 16px;

    margin-bottom: 28px;
    padding-bottom: 22px;

    border-bottom: 1px solid #f5f5f4;
}

.nw-checkout-step {
    display: flex;

    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    align-items: center;
    justify-content: center;

    background: #fff1f2;
    color: #e11d48;

    border-radius: 50%;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
}

.nw-checkout-card-header h2 {
    margin: 0;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 25px;
    line-height: 1.3;
    font-weight: 500;
}

.nw-checkout-card-header p {
    margin: 5px 0 0;

    color: #78716c;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   FORM ROWS
========================================================= */

.nw-checkout-card .form-row {
    margin-top: 0;
    margin-bottom: 20px;

    padding: 0;
}

.nw-checkout-card .form-row:last-child {
    margin-bottom: 0;
}

.nw-checkout-card .form-row-first,
.nw-checkout-card .form-row-last {
    width: 48%;
}

.nw-checkout-card .form-row-first {
    float: left;
}

.nw-checkout-card .form-row-last {
    float: right;
}

.nw-checkout-card .form-row-wide {
    width: 100%;
}

.nw-checkout-card .form-row::after {
    content: "";
    display: table;
    clear: both;
}


/* =========================================================
   FORM LABELS
========================================================= */

.nw-checkout-card label {
    display: block;

    margin-bottom: 8px;

    color: #44403c;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

.nw-checkout-card label .required {
    color: #e11d48;

    font-weight: 700;
}


/* =========================================================
   INPUTS
========================================================= */

.nw-checkout-card input.input-text,
.nw-checkout-card input[type="text"],
.nw-checkout-card input[type="email"],
.nw-checkout-card input[type="tel"],
.nw-checkout-card input[type="number"],
.nw-checkout-card input[type="password"],
.nw-checkout-card select,
.nw-checkout-card textarea {

    display: block;

    width: 100%;

    min-height: 52px;

    padding: 13px 16px;

    background: #fafaf9;

    border: 1px solid #d6d3d1;
    border-radius: 12px;

    color: #292524;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.nw-checkout-card input.input-text:hover,
.nw-checkout-card input[type="text"]:hover,
.nw-checkout-card input[type="email"]:hover,
.nw-checkout-card input[type="tel"]:hover,
.nw-checkout-card select:hover,
.nw-checkout-card textarea:hover {
    border-color: #a8a29e;
}

.nw-checkout-card input.input-text:focus,
.nw-checkout-card input[type="text"]:focus,
.nw-checkout-card input[type="email"]:focus,
.nw-checkout-card input[type="tel"]:focus,
.nw-checkout-card select:focus,
.nw-checkout-card textarea:focus {

    background: #ffffff;

    border-color: #fb7185;

    box-shadow:
        0 0 0 4px rgba(244, 63, 94, .08);
}

.nw-checkout-card textarea {
    min-height: 130px;
    resize: vertical;
}


/* =========================================================
   SELECT2 / WOOCOMMERCE SELECT FIELDS
========================================================= */

.nw-checkout-card .select2-container {
    width: 100% !important;
}

.nw-checkout-card .select2-container .select2-selection--single {
    height: 52px;

    background: #fafaf9;

    border: 1px solid #d6d3d1;
    border-radius: 12px;
}

.nw-checkout-card
.select2-container
.select2-selection--single
.select2-selection__rendered {

    height: 50px;

    padding: 0 16px;

    color: #292524;

    font-size: 15px;
    line-height: 50px;
}

.nw-checkout-card
.select2-container
.select2-selection--single
.select2-selection__arrow {

    height: 50px;

    right: 10px;
}


/* =========================================================
   CHECKBOXES
========================================================= */

.nw-checkout-card input[type="checkbox"] {
    width: 17px;
    height: 17px;

    margin-right: 7px;

    accent-color: #e11d48;
}


/* =========================================================
   SHIPPING
========================================================= */

.nw-shipping-card {
    overflow: hidden;
}

.nw-shipping-options {
    width: 100%;
}

.nw-shipping-options table {
    width: 100%;
    border-collapse: collapse;
}

.nw-shipping-options th,
.nw-shipping-options td {
    padding: 0;

    border: 0;

    text-align: left;
}

.nw-shipping-options th {
    display: none;
}

.woocommerce-shipping-methods {
    margin: 0;
    padding: 0;

    list-style: none;
}

.woocommerce-shipping-methods li {
    display: flex;

    align-items: center;

    gap: 12px;

    min-height: 56px;

    margin: 0 0 10px;
    padding: 15px 16px;

    background: #fafaf9;

    border: 1px solid #e7e5e4;
    border-radius: 14px;

    color: #44403c;

    transition:
        border-color .2s ease,
        background-color .2s ease;
}

.woocommerce-shipping-methods li:last-child {
    margin-bottom: 0;
}

.woocommerce-shipping-methods li:hover {
    background: #fff;

    border-color: #fda4af;
}

.woocommerce-shipping-methods input[type="radio"] {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;

    margin: 0;

    accent-color: #e11d48;
}

.woocommerce-shipping-methods label {
    display: flex;

    width: 100%;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin: 0;

    color: #44403c;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;

    cursor: pointer;
}

.woocommerce-shipping-methods .amount {
    color: #e11d48;
    font-weight: 700;
}


/* =========================================================
   PAYMENT
========================================================= */

.nw-payment-card {
    overflow: hidden;
}

#payment.woocommerce-checkout-payment {
    margin: 0;

    background: transparent;

    border-radius: 0;
}

#payment ul.payment_methods {
    margin: 0;
    padding: 0;

    border: 0;

    list-style: none;
}

#payment ul.payment_methods::before,
#payment ul.payment_methods::after {
    display: none;
}

#payment ul.payment_methods li {
    position: relative;

    margin: 0 0 12px;
    padding: 18px;

    background: #fafaf9;

    border: 1px solid #e7e5e4;
    border-radius: 15px;

    color: #44403c;

    font-size: 15px;
    line-height: 1.6;

    transition:
        border-color .2s ease,
        background-color .2s ease,
        box-shadow .2s ease;
}

#payment ul.payment_methods li:last-child {
    margin-bottom: 0;
}

#payment ul.payment_methods li:hover {
    background: #ffffff;
    border-color: #fda4af;
}

#payment ul.payment_methods li > input[type="radio"] {
    width: 18px;
    height: 18px;

    margin: 0 9px 0 0;

    vertical-align: middle;

    accent-color: #e11d48;
}

#payment ul.payment_methods li > label {
    display: inline;

    margin: 0;

    color: #292524;

    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;

    cursor: pointer;
}


/* Payment description */

#payment ul.payment_methods li .payment_box {
    margin: 14px -2px -3px;

    padding: 14px 15px;

    background: #fff1f2;

    border-radius: 11px;

    color: #57534e;

    font-size: 14px;
    line-height: 1.65;
}

#payment ul.payment_methods li .payment_box::before {
    display: none;
}


/* eSewa / gateway content */

#payment ul.payment_methods li img {
    max-height: 28px;
    width: auto;

    vertical-align: middle;
}

#payment ul.payment_methods li a {
    color: #e11d48;
}


/* =========================================================
   PLACE ORDER
========================================================= */

#payment .place-order {
    margin: 24px 0 0;
    padding: 0;

    border: 0;
}

#payment .place-order::before,
#payment .place-order::after {
    display: none;
}

#payment #place_order {
    display: flex;

    width: 100%;
    min-height: 58px;

    align-items: center;
    justify-content: center;

    padding: 15px 24px;

    background: #e11d48;
    color: #ffffff;

    border: 0;
    border-radius: 999px;

    font-family: inherit;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;

    cursor: pointer;

    box-shadow:
        0 12px 28px rgba(244, 63, 94, .24);

    transition:
        background-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

#payment #place_order:hover {
    background: #be123c;

    transform: translateY(-1px);

    box-shadow:
        0 16px 34px rgba(244, 63, 94, .28);
}

#payment #place_order:active {
    transform: translateY(0);
}

#payment #place_order:disabled {
    opacity: .6;
    cursor: not-allowed;
}


/* =========================================================
   ORDER REVIEW
========================================================= */

#order_review {
    margin: 0;
}

#order_review .shop_table {
    width: 100%;

    margin: 0;

    border: 0;
    border-collapse: collapse;

    font-size: 14px;
}

#order_review .shop_table th,
#order_review .shop_table td {
    padding: 13px 0;

    border: 0;
    border-bottom: 1px solid #f5f5f4;

    color: #57534e;

    font-size: 14px;
    line-height: 1.5;

    text-align: left;
}

#order_review .shop_table td {
    color: #44403c;
    text-align: right;
}

#order_review .shop_table .product-name {
    text-align: left;
}

#order_review .shop_table .product-total {
    text-align: right;
}

#order_review .shop_table .product-name strong {
    color: #292524;
    font-weight: 600;
}

#order_review .shop_table .product-quantity {
    color: #a8a29e;
    font-size: 13px;
}

#order_review .shop_table .cart-subtotal th,
#order_review .shop_table .cart-subtotal td {
    padding-top: 18px;
}

#order_review .shop_table .order-total th,
#order_review .shop_table .order-total td {
    padding-top: 20px;

    border-bottom: 0;
    border-top: 1px solid #e7e5e4;
}

#order_review .shop_table .order-total th {
    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 18px;
    font-weight: 600;
}

#order_review .shop_table .order-total td {
    color: #e11d48;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 29px;
    font-weight: 700;
}


/* =========================================================
   COUPONS
========================================================= */

.nw-checkout-coupon {
    margin-top: 20px;
    padding-top: 20px;

    border-top: 1px solid #f5f5f4;
}

.nw-coupon-toggle {
    display: flex;

    width: 100%;

    align-items: center;
    justify-content: space-between;

    padding: 0;

    background: transparent;
    color: #57534e;

    border: 0;

    font-family: inherit;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
}

.nw-coupon-toggle:hover {
    color: #e11d48;
}

.nw-coupon-form {
    margin-top: 14px;
}


/* =========================================================
   WOOCOMMERCE COUPON FORM
========================================================= */

.checkout_coupon {
    display: flex;

    gap: 10px;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}

.checkout_coupon .form-row {
    margin: 0 !important;
    padding: 0 !important;
}

.checkout_coupon .form-row-first {
    width: auto !important;
    flex: 1;
}

.checkout_coupon .form-row-last {
    width: auto !important;
}

.checkout_coupon input.input-text {
    min-height: 48px;

    border-radius: 999px;
}

.checkout_coupon button {
    min-height: 48px;

    padding: 10px 20px;

    background: #292524;
    color: #fff;

    border: 0;
    border-radius: 999px;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;
}

.checkout_coupon button:hover {
    background: #44403c;
}


/* =========================================================
   ORDER NOTES
========================================================= */

.nw-order-notes .form-row {
    margin-bottom: 0;
}

.nw-order-notes label {
    font-size: 14px;
}


/* =========================================================
   SECURE CHECKOUT MESSAGE
========================================================= */

.nw-secure-payment-note {
    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin-top: 24px;
    padding-top: 20px;

    border-top: 1px solid #f5f5f4;
}

.nw-secure-icon {
    display: flex;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    align-items: center;
    justify-content: center;

    background: #ecfdf5;
    color: #059669;

    border-radius: 50%;

    font-size: 14px;
    font-weight: 700;
}

.nw-secure-payment-note strong {
    display: block;

    margin-bottom: 3px;

    color: #44403c;

    font-size: 13px;
    line-height: 1.5;
}

.nw-secure-payment-note p {
    margin: 0;

    color: #78716c;

    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   ORDER SUMMARY SIDEBAR
========================================================= */

.nw-checkout-sidebar {
    position: sticky;
    top: 32px;

    min-width: 0;
}

.nw-order-summary {
    padding: 30px;

    background: #ffffff;

    border: 1px solid rgba(244, 63, 94, .12);
    border-radius: 26px;

    box-shadow:
        0 20px 50px rgba(244, 63, 94, .07);
}


/* =========================================================
   SUMMARY HEADER
========================================================= */

.nw-order-summary-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 15px;

    padding-bottom: 20px;

    border-bottom: 1px solid #f5f5f4;
}

.nw-summary-eyebrow {
    display: block;

    margin-bottom: 5px;

    color: #e11d48;

    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.nw-order-summary-header h2 {
    margin: 0;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 25px;
    line-height: 1.3;
    font-weight: 500;
}

.nw-summary-count {
    display: inline-flex;

    align-items: center;

    white-space: nowrap;

    padding: 5px 10px;

    background: #fafaf9;

    border-radius: 999px;

    color: #78716c;

    font-size: 12px;
    line-height: 1.4;
}


/* =========================================================
   ORDER PRODUCTS
========================================================= */

.nw-order-products {
    padding: 8px 0;
}

.nw-order-product {
    display: flex;

    align-items: flex-start;

    gap: 14px;

    padding: 16px 0;

    border-bottom: 1px solid #f5f5f4;
}

.nw-order-product-image-wrap {
    position: relative;

    width: 68px;
    height: 68px;

    flex: 0 0 68px;
}

.nw-order-product-image {
    display: block;

    width: 68px;
    height: 68px;

    -o-object-fit: cover;

       object-fit: cover;

    border-radius: 13px;
}

.nw-order-product-quantity {
    position: absolute;

    top: -7px;
    right: -7px;

    display: flex;

    width: 21px;
    height: 21px;

    align-items: center;
    justify-content: center;

    background: #e11d48;
    color: #fff;

    border-radius: 50%;

    font-size: 10px;
    line-height: 1;
    font-weight: 700;
}

.nw-order-product-info {
    min-width: 0;
    flex: 1;
}

.nw-order-product-info h3 {
    margin: 0 0 4px;

    color: #292524;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
}

.nw-order-product-info p {
    margin: 0 0 6px;

    color: #a8a29e;

    font-size: 12px;
    line-height: 1.5;
}

.nw-order-product-price {
    color: #e11d48;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
}


/* =========================================================
   SIDEBAR ORDER REVIEW
========================================================= */

.nw-order-summary #order_review {
    margin-top: 0;
}

.nw-order-summary #order_review .shop_table {
    width: 100%;

    margin: 0;

    border: 0;

    font-size: 14px;
}

.nw-order-summary #order_review .shop_table th,
.nw-order-summary #order_review .shop_table td {
    padding: 13px 0;

    border: 0;
    border-bottom: 1px solid #f5f5f4;

    color: #57534e;

    font-size: 14px;
    line-height: 1.5;
}

.nw-order-summary #order_review .shop_table td {
    text-align: right;
}

.nw-order-summary #order_review .shop_table .order-total th,
.nw-order-summary #order_review .shop_table .order-total td {
    padding-top: 20px;

    border-top: 1px solid #e7e5e4;
    border-bottom: 0;
}

.nw-order-summary #order_review .shop_table .order-total th {
    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 17px;
}

.nw-order-summary #order_review .shop_table .order-total .amount {
    color: #e11d48;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 29px;
    font-weight: 700;
}


/* =========================================================
   TERMS & CONDITIONS
========================================================= */

.nw-checkout-terms {
    padding: 0 8px;

    color: #78716c;

    font-size: 12px;
    line-height: 1.75;
}

.nw-checkout-terms p {
    margin: 0;
}

.nw-checkout-terms a {
    color: #e11d48;

    text-decoration: none;
}

.nw-checkout-terms a:hover {
    text-decoration: underline;
}


/* =========================================================
   WOOCOMMERCE CHECKOUT VALIDATION
========================================================= */

.nw-checkout-page .woocommerce-invalid input.input-text,
.nw-checkout-page .woocommerce-invalid select,
.nw-checkout-page .woocommerce-invalid textarea {
    border-color: #f43f5e;
}

.nw-checkout-page .woocommerce-validated input.input-text,
.nw-checkout-page .woocommerce-validated select {
    border-color: #86efac;
}


/* =========================================================
   WOOCOMMERCE NOTICES
========================================================= */

.nw-checkout-page .woocommerce-notices-wrapper {
    width: min(1280px, calc(100% - 40px));

    margin: 0 auto 24px;
}

.nw-checkout-page .woocommerce-message,
.nw-checkout-page .woocommerce-info,
.nw-checkout-page .woocommerce-error {
    margin: 0 0 12px;

    padding: 16px 20px;

    background: #fff1f2;

    border: 1px solid #fecdd3;
    border-radius: 14px;

    color: #9f1239;

    font-size: 14px;
    line-height: 1.6;
}

.nw-checkout-page .woocommerce-error {
    background: #fff1f2;
    border-color: #fda4af;
}


/* =========================================================
   HIDE DEFAULT WOOCOMMERCE CLEARFIX ARTIFACTS
========================================================= */

.nw-checkout-page .woocommerce-form-coupon-toggle,
.nw-checkout-page .woocommerce-form-login-toggle {
    margin-bottom: 20px;
}

.nw-checkout-page .woocommerce-form-coupon-toggle a,
.nw-checkout-page .woocommerce-form-login-toggle a {
    color: #e11d48;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 1100px) {

    .nw-checkout-grid {
        grid-template-columns:
            minmax(0, 1.4fr)
            minmax(320px, .9fr);

        gap: 28px;
    }

    .nw-checkout-card,
    .nw-order-summary {
        padding: 26px;
    }

}


@media (max-width: 900px) {

    .nw-checkout-heading {
        padding: 55px 0 40px;
    }

    .nw-checkout-grid {
        display: flex;
        flex-direction: column;
    }

    .nw-checkout-main,
    .nw-checkout-sidebar {
        width: 100%;
    }

    .nw-checkout-sidebar {
        position: static;
    }

    .nw-order-summary {
        width: 100%;
    }

}


@media (max-width: 640px) {

    .nw-checkout-page {
        padding-bottom: 50px;
    }

    .nw-checkout-container {
        width: calc(100% - 24px);
    }

    .nw-checkout-heading {
        padding: 42px 0 32px;
    }

    .nw-checkout-title {
        font-size: 40px;
    }

    .nw-checkout-description {
        padding: 0 8px;

        font-size: 15px;
    }

    .nw-checkout-card,
    .nw-order-summary {
        padding: 20px;

        border-radius: 20px;
    }

    .nw-checkout-card-header {
        gap: 12px;

        margin-bottom: 22px;
        padding-bottom: 18px;
    }

    .nw-checkout-step {
        width: 36px;
        height: 36px;

        flex-basis: 36px;

        font-size: 12px;
    }

    .nw-checkout-card-header h2 {
        font-size: 22px;
    }

    .nw-checkout-card-header p {
        font-size: 13px;
    }

    .nw-checkout-card .form-row-first,
    .nw-checkout-card .form-row-last {
        width: 100%;
        float: none;
    }

    .nw-checkout-card input.input-text,
    .nw-checkout-card input[type="text"],
    .nw-checkout-card input[type="email"],
    .nw-checkout-card input[type="tel"],
    .nw-checkout-card select,
    .nw-checkout-card textarea {
        font-size: 16px;
    }

    .nw-order-summary-header h2 {
        font-size: 22px;
    }

    .nw-order-product-image-wrap,
    .nw-order-product-image {
        width: 60px;
        height: 60px;
    }

    .nw-order-product-image-wrap {
        flex-basis: 60px;
    }

    #order_review .shop_table .order-total .amount,
    .nw-order-summary #order_review .shop_table .order-total .amount {
        font-size: 25px;
    }

    .checkout_coupon {
        flex-direction: column;
    }

    .checkout_coupon .form-row-first,
    .checkout_coupon .form-row-last {
        width: 100% !important;
    }

    .checkout_coupon button {
        width: 100%;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .nw-checkout-title {
        font-size: 34px;
    }

    .nw-checkout-card,
    .nw-order-summary {
        padding: 17px;
    }

    .nw-checkout-card-header h2 {
        font-size: 20px;
    }

    .nw-checkout-card-header p {
        font-size: 12px;
    }

    .nw-order-summary-header {
        flex-direction: column;
    }

    .nw-summary-count {
        align-self: flex-start;
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.nw-checkout-page button:focus-visible,
.nw-checkout-page input:focus-visible,
.nw-checkout-page select:focus-visible,
.nw-checkout-page textarea:focus-visible,
.nw-checkout-page a:focus-visible {
    outline: 3px solid rgba(244, 63, 94, .35);
    outline-offset: 2px;
}


/* =========================================================
   REDUCE MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .nw-checkout-page *,
    .nw-checkout-page *::before,
    .nw-checkout-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }

}

/*****Thank you page**********/
/* =========================================================
   ORDER RECEIVED / THANK YOU
========================================================= */

.nw-order-received-page {
    background: #faf9f7;
    color: #292524;

    padding: 70px 0 90px;

    font-size: 15px;
    line-height: 1.6;
}

.nw-order-received-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   SUCCESS HEADER
========================================================= */

.nw-order-success {
    max-width: 700px;

    margin: 0 auto 50px;

    text-align: center;
}

.nw-success-icon {
    display: flex;

    width: 70px;
    height: 70px;

    margin: 0 auto 20px;

    align-items: center;
    justify-content: center;

    background: #ecfdf5;
    color: #059669;

    border: 1px solid #a7f3d0;
    border-radius: 50%;
}

.nw-order-eyebrow,
.nw-card-eyebrow {
    display: block;

    color: #e11d48;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.nw-order-eyebrow {
    margin-bottom: 12px;
}

.nw-order-title {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(40px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 500;

    letter-spacing: -.035em;
}

.nw-order-title span {
    color: #e11d48;
}

.nw-order-description {
    max-width: 600px;

    margin: 18px auto 0;

    color: #78716c;

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   ORDER META
========================================================= */

.nw-order-meta-card {
    margin-bottom: 32px;

    padding: 22px 28px;

    background: #ffffff;

    border: 1px solid rgba(244, 63, 94, .12);
    border-radius: 22px;

    box-shadow: 0 15px 40px rgba(120, 113, 108, .06);
}

.nw-order-meta {
    display: grid;

    grid-template-columns: repeat(4, 1fr);
}

.nw-order-meta-item {
    padding: 5px 24px;

    border-right: 1px solid #f5f5f4;
}

.nw-order-meta-item:first-child {
    padding-left: 0;
}

.nw-order-meta-item:last-child {
    padding-right: 0;
    border-right: 0;
}

.nw-order-meta-item span {
    display: block;

    margin-bottom: 5px;

    color: #a8a29e;

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .06em;
    text-transform: uppercase;
}

.nw-order-meta-item strong {
    color: #292524;

    font-size: 14px;
    font-weight: 700;
}

.nw-order-meta-item .nw-order-total {
    color: #e11d48;

    font-size: 16px;
}


/* =========================================================
   MAIN GRID
========================================================= */

.nw-order-received-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(320px, .8fr);

    gap: 32px;

    align-items: start;
}

.nw-order-received-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.nw-order-received-sidebar {
    position: sticky;
    top: 30px;

    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* =========================================================
   ORDER CARD
========================================================= */

.nw-order-card,
.nw-order-info-card {
    background: #ffffff;

    border: 1px solid rgba(244, 63, 94, .1);
    border-radius: 24px;

    box-shadow: 0 20px 50px rgba(120, 113, 108, .06);
}

.nw-order-card {
    padding: 30px;
}

.nw-order-card-header {
    padding-bottom: 20px;

    border-bottom: 1px solid #f5f5f4;
}

.nw-order-card-header h2 {
    margin: 5px 0 0;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 26px;
    font-weight: 500;
}


/* =========================================================
   PRODUCTS
========================================================= */

.nw-received-product {
    display: flex;

    gap: 16px;

    padding: 20px 0;

    border-bottom: 1px solid #f5f5f4;
}

.nw-received-product-image-wrap {
    position: relative;

    width: 82px;
    height: 82px;

    flex: 0 0 82px;
}

.nw-received-product-image {
    display: block;

    width: 82px;
    height: 82px;

    -o-object-fit: cover;

       object-fit: cover;

    border-radius: 14px;
}

.nw-received-product-quantity {
    position: absolute;

    top: -7px;
    right: -7px;

    display: flex;

    width: 22px;
    height: 22px;

    align-items: center;
    justify-content: center;

    background: #e11d48;
    color: #ffffff;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 700;
}

.nw-received-product-info {
    min-width: 0;
    flex: 1;
}

.nw-received-product-info h3 {
    margin: 0 0 5px;

    color: #292524;

    font-size: 16px;
    font-weight: 700;
}

.nw-received-product-meta {
    margin-bottom: 8px;

    color: #a8a29e;

    font-size: 12px;
}

.nw-received-product-bottom {
    display: flex;

    justify-content: space-between;

    gap: 20px;

    color: #a8a29e;

    font-size: 12px;
}

.nw-received-product-bottom strong {
    color: #e11d48;

    font-size: 14px;
}


/* =========================================================
   TOTALS
========================================================= */

.nw-received-totals {
    padding-top: 15px;
}

.nw-total-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 11px 0;

    color: #57534e;

    font-size: 14px;
}

.nw-total-row strong {
    color: #44403c;
}

.nw-free-shipping {
    color: #059669 !important;
}

.nw-discount-row {
    color: #e11d48;
}

.nw-discount-row strong {
    color: #e11d48;
}

.nw-grand-total {
    margin-top: 10px;
    padding-top: 20px;

    border-top: 1px solid #e7e5e4;

    color: #292524;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 18px;
    font-weight: 600;
}

.nw-grand-total strong {
    color: #e11d48;

    font-size: 29px;
}


/* =========================================================
   INFO CARDS
========================================================= */

.nw-order-info-card {
    padding: 24px;
}

.nw-info-card-header {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 18px;
}

.nw-info-icon {
    display: flex;

    width: 38px;
    height: 38px;

    align-items: center;
    justify-content: center;

    background: #fff1f2;
    color: #e11d48;

    border-radius: 50%;
}

.nw-info-card-header h2 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
    font-weight: 500;
}

.nw-order-address {
    margin: 0;

    color: #57534e;

    font-size: 14px;
    line-height: 1.75;

    font-style: normal;
}

.nw-contact-detail {
    display: flex;

    flex-direction: column;

    gap: 2px;

    margin-top: 16px;
    padding-top: 14px;

    border-top: 1px solid #f5f5f4;
}

.nw-contact-detail span {
    color: #a8a29e;

    font-size: 11px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.nw-contact-detail a {
    color: #e11d48;

    font-size: 13px;

    text-decoration: none;
}

.nw-contact-detail a:hover {
    text-decoration: underline;
}


/* =========================================================
   NEXT STEPS
========================================================= */

.nw-next-steps-card {
    padding: 26px;

    background: #fff1f2;

    border: 1px solid #fecdd3;
    border-radius: 24px;
}

.nw-next-steps-card h2 {
    margin: 6px 0 22px;

    color: #881337;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 23px;
    font-weight: 500;
}

.nw-next-step {
    display: flex;

    gap: 12px;

    padding: 13px 0;

    border-top: 1px solid rgba(244, 63, 94, .12);
}

.nw-next-step span {
    color: #e11d48;

    font-size: 11px;
    font-weight: 700;
}

.nw-next-step p {
    margin: 0;

    color: #57534e;

    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   CONTINUE SHOPPING
========================================================= */

.nw-continue-shopping {
    display: flex;

    min-height: 54px;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 14px 24px;

    background: #292524;
    color: #ffffff;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: .06em;
    text-transform: uppercase;

    text-decoration: none;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.nw-continue-shopping:hover {
    background: #44403c;
    color: #ffffff;

    transform: translateY(-1px);
}


/* =========================================================
   PAYMENT INSTRUCTIONS
========================================================= */

.nw-payment-instructions {
    overflow: hidden;
}

.nw-payment-instructions p {
    color: #57534e;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   WOOCOMMERCE GATEWAY OUTPUT
========================================================= */

.nw-order-received-page .woocommerce-order {
    width: 100%;
}

.nw-order-received-page .woocommerce-order-overview,
.nw-order-received-page .woocommerce-order-details,
.nw-order-received-page .woocommerce-customer-details {
    margin: 0;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .nw-order-received-grid {
        grid-template-columns: 1fr;
    }

    .nw-order-received-sidebar {
        position: static;
    }

    .nw-order-meta {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 20px;
    }

    .nw-order-meta-item:nth-child(2) {
        border-right: 0;
    }

}


@media (max-width: 640px) {

    .nw-order-received-page {
        padding: 45px 0 60px;
    }

    .nw-order-received-container {
        width: calc(100% - 24px);
    }

    .nw-order-title {
        font-size: 40px;
    }

    .nw-order-description {
        font-size: 15px;
    }

    .nw-order-meta-card,
    .nw-order-card,
    .nw-order-info-card,
    .nw-next-steps-card {
        padding: 20px;
        border-radius: 20px;
    }

    .nw-order-meta {
        grid-template-columns: 1fr;
    }

    .nw-order-meta-item,
    .nw-order-meta-item:first-child {
        padding: 0 0 15px;

        border-right: 0;
        border-bottom: 1px solid #f5f5f4;
    }

    .nw-order-meta-item:last-child {
        padding-bottom: 0;

        border-bottom: 0;
    }

    .nw-received-product-image-wrap,
    .nw-received-product-image {
        width: 68px;
        height: 68px;
    }

    .nw-received-product-image-wrap {
        flex-basis: 68px;
    }

    .nw-received-product-info h3 {
        font-size: 15px;
    }

    .nw-grand-total strong {
        font-size: 25px;
    }

}

/***Comment section*********/
/* =========================================================
   PRODUCT REVIEW FORM
========================================================= */

#review-form {
    width: 100%;
}

/* Remove empty reply title space */
#review-form #reply-title {
    display: none;
}

/* Respond wrapper */
#review-form .comment-respond {
    width: 100%;
}

/* Form */
#review-form .woocommerce-review-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Logged in message */
#review-form .logged-in-as {
    margin: 0;
    padding: 14px 16px;

    background: #fdf2f8;
    border: 1px solid #fce7f3;
    border-radius: 14px;

    color: #57534e;

    font-size: 14px;
    line-height: 1.6;
}

#review-form .logged-in-as a {
    color: #e11d48;
    font-weight: 600;
    text-decoration: none;
}

#review-form .logged-in-as a:hover {
    text-decoration: underline;
}

/* Required field message */
#review-form .required-field-message {
    display: block;
    margin-top: 5px;

    color: #a8a29e;
    font-size: 12px;
}

/* Required star */
#review-form .required {
    color: #e11d48;
}

/* Comment field */
#review-form .comment-form-comment {
    display: flex;
    flex-direction: column;
    gap: 10px;

    margin: 0;
}

/* Label */
#review-form .comment-form-comment label {
    color: #292524;

    font-size: 14px;
    font-weight: 600;
}

/* Textarea */
#review-form .comment-form-comment textarea {
    width: 100%;
    min-height: 160px;

    padding: 16px 18px;

    background: #ffffff;
    border: 1px solid #d6d3d1;
    border-radius: 16px;

    color: #292524;

    font-size: 15px;
    line-height: 1.6;

    resize: vertical;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* Focus */
#review-form .comment-form-comment textarea:focus {
    border-color: #fb7185;

    box-shadow:
        0 0 0 4px rgba(251, 113, 133, 0.12);
}

/* Submit wrapper */
#review-form .form-submit {
    margin: 0;
}

/* Submit button */
#review-form .form-submit input[type="submit"] {
    width: 100%;
    min-height: 52px;

    padding: 14px 24px;

    border: 0;
    border-radius: 999px;

    background: #e11d48;
    color: #ffffff;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    cursor: pointer;

    box-shadow:
        0 10px 24px rgba(225, 29, 72, 0.2);

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

#review-form .form-submit input[type="submit"]:hover {
    background: #be123c;

    transform: translateY(-1px);

    box-shadow:
        0 14px 30px rgba(225, 29, 72, 0.28);
}

#review-form .form-submit input[type="submit"]:active {
    transform: translateY(0);
}

/* Remove default WooCommerce/WordPress spacing */
#review-form p {
    margin-top: 0;
    margin-bottom: 0;
}

/* Mobile */
@media (max-width: 640px) {

    #review-form {
        margin-top: 32px;
        padding: 24px;
        border-radius: 24px;
    }

    #review-form .comment-form-comment textarea {
        min-height: 130px;
        padding: 14px;
    }

}


.cart-count {
    font-family: sans-serif!important;
}

.woocommerce .site-logo,
.woocommerce-page .site-logo {
    height: 5rem !important; /* h-20 = 80px */
    width: auto !important;
    max-height: none;
}

.hover\:-translate-y-0:hover {
    --tw-translate-y: -0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-rose-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(253 164 175 / var(--tw-border-opacity));
}

.hover\:border-rose-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(251 113 133 / var(--tw-border-opacity));
}

.hover\:border-rose-50:hover {
    --tw-border-opacity: 1;
    border-color: rgb(255 241 242 / var(--tw-border-opacity));
}

.hover\:border-stone-600:hover {
    --tw-border-opacity: 1;
    border-color: rgb(87 83 78 / var(--tw-border-opacity));
}

.hover\:bg-rose-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 228 230 / var(--tw-bg-opacity));
}

.hover\:bg-rose-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 241 242 / var(--tw-bg-opacity));
}

.hover\:bg-rose-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(225 29 72 / var(--tw-bg-opacity));
}

.hover\:bg-rose-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(190 18 60 / var(--tw-bg-opacity));
}

.hover\:bg-stone-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 244 / var(--tw-bg-opacity));
}

.hover\:bg-stone-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(231 229 228 / var(--tw-bg-opacity));
}

.hover\:bg-stone-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(87 83 78 / var(--tw-bg-opacity));
}

.hover\:bg-stone-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(68 64 60 / var(--tw-bg-opacity));
}

.hover\:bg-stone-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(41 37 36 / var(--tw-bg-opacity));
}

.hover\:bg-stone-900:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(28 25 23 / var(--tw-bg-opacity));
}

.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.hover\:text-rose-400:hover {
    --tw-text-opacity: 1;
    color: rgb(251 113 133 / var(--tw-text-opacity));
}

.hover\:text-rose-500:hover {
    --tw-text-opacity: 1;
    color: rgb(244 63 94 / var(--tw-text-opacity));
}

.hover\:text-rose-600:hover {
    --tw-text-opacity: 1;
    color: rgb(225 29 72 / var(--tw-text-opacity));
}

.hover\:text-rose-700:hover {
    --tw-text-opacity: 1;
    color: rgb(190 18 60 / var(--tw-text-opacity));
}

.hover\:text-rose-800:hover {
    --tw-text-opacity: 1;
    color: rgb(159 18 57 / var(--tw-text-opacity));
}

.hover\:text-stone-800:hover {
    --tw-text-opacity: 1;
    color: rgb(41 37 36 / var(--tw-text-opacity));
}

.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:underline:hover {
    text-decoration-line: underline;
}

.hover\:opacity-100:hover {
    opacity: 1;
}

.hover\:shadow-2xl:hover {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-xl:hover {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-rose-200:hover {
    --tw-shadow-color: #fecdd3;
    --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-rose-200\/50:hover {
    --tw-shadow-color: rgb(254 205 211 / 0.5);
    --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-rose-400\/50:hover {
    --tw-shadow-color: rgb(251 113 133 / 0.5);
    --tw-shadow: var(--tw-shadow-colored);
}

.focus\:border-rose-300:focus {
    --tw-border-opacity: 1;
    border-color: rgb(253 164 175 / var(--tw-border-opacity));
}

.focus\:border-rose-400:focus {
    --tw-border-opacity: 1;
    border-color: rgb(251 113 133 / var(--tw-border-opacity));
}

.focus\:border-rose-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(244 63 94 / var(--tw-border-opacity));
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-rose-300:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity));
}

.active\:scale-\[0\.99\]:active {
    --tw-scale-x: 0.99;
    --tw-scale-y: 0.99;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:-translate-x-1 {
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-1 {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:text-rose-600 {
    --tw-text-opacity: 1;
    color: rgb(225 29 72 / var(--tw-text-opacity));
}

.peer:checked ~ .peer-checked\:border-rose-500 {
    --tw-border-opacity: 1;
    border-color: rgb(244 63 94 / var(--tw-border-opacity));
}

.peer:checked ~ .peer-checked\:text-rose-500 {
    --tw-text-opacity: 1;
    color: rgb(244 63 94 / var(--tw-text-opacity));
}

@media (min-width: 640px) {

    .sm\:right-4 {
        right: 1rem;
    }

    .sm\:top-4 {
        top: 1rem;
    }

    .sm\:mx-8 {
        margin-left: 2rem;
        margin-right: 2rem;
    }

    .sm\:mb-8 {
        margin-bottom: 2rem;
    }

    .sm\:mt-4 {
        margin-top: 1rem;
    }

    .sm\:mt-8 {
        margin-top: 2rem;
    }

    .sm\:block {
        display: block;
    }

    .sm\:inline {
        display: inline;
    }

    .sm\:h-10 {
        height: 2.5rem;
    }

    .sm\:max-h-\[calc\(100vh-3rem\)\] {
        max-height: calc(100vh - 3rem);
    }

    .sm\:min-h-\[600px\] {
        min-height: 600px;
    }

    .sm\:w-10 {
        width: 2.5rem;
    }

    .sm\:w-48 {
        width: 12rem;
    }

    .sm\:w-auto {
        width: auto;
    }

    .sm\:max-w-lg {
        max-width: 32rem;
    }

    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:flex-row {
        flex-direction: row;
    }

    .sm\:gap-3 {
        gap: 0.75rem;
    }

    .sm\:space-y-5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
    }

    .sm\:rounded-3xl {
        border-radius: 1.5rem;
    }

    .sm\:p-10 {
        padding: 2.5rem;
    }

    .sm\:p-4 {
        padding: 1rem;
    }

    .sm\:p-8 {
        padding: 2rem;
    }

    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .sm\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .sm\:pb-40 {
        padding-bottom: 10rem;
    }

    .sm\:pt-14 {
        padding-top: 3.5rem;
    }

    .sm\:pt-8 {
        padding-top: 2rem;
    }

    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    .sm\:text-6xl {
        font-size: 3.75rem;
        line-height: 1;
    }

    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .sm\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }

    .sm\:text-xs {
        font-size: 0.75rem;
        line-height: 1rem;
    }

    .sm\:tracking-widest {
        letter-spacing: 0.1em;
    }
}

@media (min-width: 768px) {

    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }

    .md\:col-span-6 {
        grid-column: span 6 / span 6;
    }

    .md\:mx-10 {
        margin-left: 2.5rem;
        margin-right: 2.5rem;
    }

    .md\:block {
        display: block;
    }

    .md\:inline-flex {
        display: inline-flex;
    }

    .md\:grid {
        display: grid;
    }

    .md\:hidden {
        display: none;
    }

    .md\:h-screen {
        height: 100vh;
    }

    .md\:max-h-\[900px\] {
        max-height: 900px;
    }

    .md\:min-h-\[800px\] {
        min-height: 800px;
    }

    .md\:w-auto {
        width: auto;
    }

    .md\:max-w-\[42rem\] {
        max-width: 42rem;
    }

    .md\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:flex-row {
        flex-direction: row;
    }

    .md\:justify-center {
        justify-content: center;
    }

    .md\:gap-16 {
        gap: 4rem;
    }

    .md\:gap-4 {
        gap: 1rem;
    }

    .md\:p-10 {
        padding: 2.5rem;
    }

    .md\:p-14 {
        padding: 3.5rem;
    }

    .md\:p-6 {
        padding: 1.5rem;
    }

    .md\:py-6 {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .md\:pb-8 {
        padding-bottom: 2rem;
    }

    .md\:pt-12 {
        padding-top: 3rem;
    }

    .md\:pt-14 {
        padding-top: 3.5rem;
    }

    .md\:pt-32 {
        padding-top: 8rem;
    }

    .md\:text-right {
        text-align: right;
    }

    .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    .md\:leading-tight {
        line-height: 1.25;
    }
}

@media (min-width: 1024px) {

    .lg\:sticky {
        position: sticky;
    }

    .lg\:top-8 {
        top: 2rem;
    }

    .lg\:col-span-1 {
        grid-column: span 1 / span 1;
    }

    .lg\:col-span-4 {
        grid-column: span 4 / span 4;
    }

    .lg\:col-span-5 {
        grid-column: span 5 / span 5;
    }

    .lg\:col-span-7 {
        grid-column: span 7 / span 7;
    }

    .lg\:col-span-8 {
        grid-column: span 8 / span 8;
    }

    .lg\:mb-0 {
        margin-bottom: 0px;
    }

    .lg\:mb-12 {
        margin-bottom: 3rem;
    }

    .lg\:mb-16 {
        margin-bottom: 4rem;
    }

    .lg\:ml-auto {
        margin-left: auto;
    }

    .lg\:mt-14 {
        margin-top: 3.5rem;
    }

    .lg\:flex {
        display: flex;
    }

    .lg\:hidden {
        display: none;
    }

    .lg\:w-1\/2 {
        width: 50%;
    }

    .lg\:w-1\/5 {
        width: 20%;
    }

    .lg\:w-2\/5 {
        width: 40%;
    }

    .lg\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:flex-row {
        flex-direction: row;
    }

    .lg\:items-end {
        align-items: flex-end;
    }

    .lg\:justify-between {
        justify-content: space-between;
    }

    .lg\:gap-12 {
        gap: 3rem;
    }

    .lg\:gap-16 {
        gap: 4rem;
    }

    .lg\:p-12 {
        padding: 3rem;
    }

    .lg\:p-14 {
        padding: 3.5rem;
    }

    .lg\:p-8 {
        padding: 2rem;
    }

    .lg\:px-12 {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .lg\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .lg\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .lg\:py-24 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .lg\:py-28 {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }

    .lg\:py-32 {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    .lg\:pb-32 {
        padding-bottom: 8rem;
    }

    .lg\:pt-20 {
        padding-top: 5rem;
    }

    .lg\:pt-32 {
        padding-top: 8rem;
    }

    .lg\:text-center {
        text-align: center;
    }

    .lg\:text-right {
        text-align: right;
    }

    .lg\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    .lg\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    .lg\:text-5xl {
        font-size: 3rem;
        line-height: 1;
    }

    .lg\:text-6xl {
        font-size: 3.75rem;
        line-height: 1;
    }

    .lg\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .lg\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .lg\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .lg\:leading-relaxed {
        line-height: 1.625;
    }

    .lg\:leading-tight {
        line-height: 1.25;
    }
}