﻿.dofely-calendar {
    max-width: 760px;
    border: 1px solid #e7ddd3;
    border-radius: 18px;
    padding: 18px;
    background: #fff
}

.dofely-cal-grid {
    display: grid;
    grid-template-columns:repeat(7, 1fr);
    gap: 6px
}

.dofely-cal-day {
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    background: #f8f4ef
}

.dofely-cal-day.is-busy {
    background: #1A120D;
    color: #fff
}

.dofely-cal-day.is-empty {
    background: transparent
}

.dofely-booking-form {
    max-width: 620px;
    display: grid;
    gap: 14px
}

.dofely-booking-form input, .dofely-booking-form select, .dofely-booking-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #d7c8bc;
    border-radius: 10px
}

.dofely-booking-form button {
    padding: 13px 18px;
    border: 0;
    border-radius: 999px;
    background: #1A120D;
    color: #fff;
    cursor: pointer
}

.dofely-notice {
    padding: 12px;
    border-radius: 10px;
    background: #f8f4ef;
    margin: 10px 0
}

.dofely-picker {
    max-width: 100% ;
    border: 1px solid #e0d2c4;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
    color: #1A120D;
    box-shadow: 0 8px 30px rgba(26, 18, 13, .08)
}

.dofely-picker-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px
}

.dofely-picker-title {
    font-weight: 800;
    font-size: 22px;
    line-height: 1.2
}

.dofely-picker-mode {
    font-size: 14px;
    color: #6d5f53;
    margin-top: 4px
}

.dofely-picker-nav {
    display: flex;
    gap: 8px;
    flex: 0 0 auto
}

.dofely-picker button {
    font: inherit
}

.dofely-picker-nav button, .dofely-guest-step button, .dofely-picker-reset {
    height: 40px;
    border: 1px solid #d7c8bc;
    background: #fff;
    border-radius: 8px;
    color: #808285;
    padding:0;
    cursor: pointer;
}

.dofely-picker-nav button, .dofely-guest-step button {
    width: 40px
}

.dofely-picker-reset {
    padding: 0 12px
}

.dofely-picker-months {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap: 22px
}

.dofely-picker-month-title {
    font-weight: 800;
    margin-bottom: 10px;
    text-transform: capitalize
}

.dofely-picker-grid {
    display: grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap: 7px
}

.dofely-picker-weekday {
    font-size: 12px;
    text-align: center;
    color: #7a6b5f;
    font-weight: 700
}

.dofely-picker-day {
    aspect-ratio: 1/1;
    border: 1px solid #e4d6c8;
    background: #fffaf5;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    font-weight: 700;
    color: #808285;
    transition: border-color .15s, background .15s, color .15s
}

.dofely-picker-day:hover {
    border-color: #1A120D;
    background: #f3eadf;
    color: #808285;
}

.dofely-picker-day.is-empty {
    visibility: hidden
}

.dofely-picker-day.is-busy {
    background: #e6e3df;
    color: #8d837a;
    border-color: #d3ccc4;
    text-decoration: line-through;
    cursor: not-allowed
}

.dofely-picker-day.is-busy:hover {
    background: #e6e3df;
    border-color: #d3ccc4
}

.dofely-picker-day.is-boundary, .dofely-picker-day.is-checkout-only {
    background: linear-gradient(135deg, #fffaf5 0, #fffaf5 48%, #9f8f80 49%, #9f8f80 51%, #e6e3df 52%, #e6e3df 100%);
    color: #1A120D;
    border-color: #d8ae82;
    text-decoration: none
}

.dofely-picker-day.is-boundary {
    cursor: not-allowed
}

.dofely-picker-day.is-checkout-only {
    cursor: pointer
}

.dofely-picker-day.is-checkout-only:hover {
    background: linear-gradient(135deg, #fffaf5 0, #fffaf5 48%, #1A120D 49%, #1A120D 51%, #e6e3df 52%, #e6e3df 100%);
    border-color: #1A120D
}

.dofely-picker-day.is-disabled, .dofely-picker-day.is-past {
    opacity: .45;
    cursor: not-allowed;
    background: #f1eee9;
    color: #8d837a
}

.dofely-picker-day.is-selected {
    background: #b7e3bf;
    color: #15391d;
    border-color: #5aa469;
    text-decoration: none;
    cursor: pointer
}

.dofely-picker-day.is-range {
    background: #dff3e3;
    border-color: #8ccf98;
    color: #15391d;
    text-decoration: none
}

.dofely-picker-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 0;
    font-size: 13px;
    color: #6d5f53
}

.dofely-picker-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.dofely-picker-dot {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: #fffaf5;
    border: 1px solid #e4d6c8
}

.dofely-picker-dot.is-busy {
    background: #e6e3df;
    border-color: #d3ccc4
}

.dofely-picker-dot.is-selected {
    background: #b7e3bf;
    border-color: #5aa469
}

.dofely-picker-dot.is-range {
    background: #dff3e3;
    border-color: #8ccf98
}

.dofely-picker-dot.is-checkout-only {
    background: linear-gradient(135deg, #fffaf5 0, #fffaf5 48%, #9f8f80 49%, #9f8f80 51%, #e6e3df 52%, #e6e3df 100%);
    border-color: #d8ae82
}

.dofely-picker-controls {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #eadfd5
}

.dofely-picker-field {
    display: grid;
    gap: 6px
}

.dofely-picker-field span {
    font-size: 12px;
    color: #7a6b5f
}

.dofely-picker-field input {
    width: 100%;
    padding: 11px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    background: #fff
}

.dofely-picker-field input[readonly] {
    color: #1A120D
}

.dofely-guest-step {
    display: flex;
    align-items: center;
    gap: 10px
}

.dofely-guest-step input {
    max-width: 80px;
    text-align: center
}

.dofely-picker-status {
    margin-top: 12px;
    padding: 12px;
    border-radius: 8px;
    background: #f8f4ef
}

.dofely-picker-status.is-ok {
    background: #edf7ed
}

.dofely-picker-status.is-error {
    background: #fff1f1
}

@media (max-width: 520px) {
    .dofely-picker {
        padding: 14px
    }

    .dofely-picker-head {
        align-items: stretch;
        flex-direction: column
    }

    .dofely-picker-nav button {
        flex: 1
    }

    .dofely-picker-nav {
        width: 100%
    }
}

.dofely-picker-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 18px;
    border-bottom: 1px solid #eadfd5
}

.dofely-picker-tab {
    border: 0;
    background: transparent;
    padding: 12px 14px;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    font-weight: 800;
    color: #6d5f53
}

.dofely-picker-tab.is-active {
    background: #1A120D;
    color: #fff
}

.dofely-picker-tab:focus-visible {
    outline: 2px solid #b55f34;
    outline-offset: 2px
}

.dofely-dayuse {
    display: none;
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #eadfd5;
    border-radius: 8px;
    background: #fbf8f4
}

.dofely-dayuse.is-visible {
    display: block
}

.dofely-dayuse-title {
    font-weight: 800;
    margin-bottom: 6px
}

.dofely-dayuse-copy {
    margin: 0 0 12px;
    color: #6d5f53
}

.dofely-dayuse-grid {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px
}

.dofely-dayuse select {
    width: 100%;
    padding: 11px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    background: #fff
}

.dofely-dayuse-output {
    margin-top: 10px;
    font-weight: 700
}

.dofely-dayuse-output.is-error {
    color: #8f1d1d
}

.dofely-dayuse-output.is-ok {
    color: #256f31
}

.dofely-picker-summary {
    display: none;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #d9e7dc;
    border-radius: 8px;
    background: #f4fbf5
}

.dofely-picker-summary.is-visible {
    display: block
}

.dofely-picker-summary-title {
    font-weight: 800;
    margin-bottom: 8px
}

.dofely-picker-summary-lines {
    display: grid;
    gap: 6px;
    font-size: 14px
}

.dofely-picker-summary-line {
    display: flex;
    justify-content: space-between;
    gap: 12px
}

.dofely-picker-summary-total {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #c9dfce;
    font-weight: 900;
    display: flex;
    justify-content: space-between;
    gap: 12px
}

.dofely-customer-panel {
    display: none;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #eadfd5;
    border-radius: 8px;
    background: #fffaf5
}

.dofely-customer-panel.is-visible {
    display: block
}

.dofely-customer-title {
    font-weight: 800;
    margin-bottom: 10px
}

.dofely-customer-grid {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px
}

.dofely-customer-panel input, .dofely-customer-panel textarea {
    width: 100%;
    padding: 11px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    background: #fff
}

.dofely-customer-panel label {
    display: grid;
    gap: 6px;
    font-size: 12px;
    color: #7a6b5f
}

.dofely-customer-submit {
    margin-top: 12px;
    height: 42px;
    border: 0;
    border-radius: 8px;
    padding: 0 16px;
    background: #1A120D;
    color: #fff;
    cursor: pointer;
    font-weight: 800
}

.dofely-checkout-summary {
    margin: 0 0 14px;
    padding: 14px;
    border: 1px solid #d9e7dc;
    border-radius: 8px;
    background: #f4fbf5
}

.dofely-checkout-summary-title {
    font-weight: 900;
    margin-bottom: 10px
}

.dofely-checkout-summary-lines {
    display: grid;
    gap: 7px
}

.dofely-checkout-summary-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    font-size: 14px
}

.dofely-checkout-summary-line span:first-child {
    color: #6d5f53
}

.dofely-checkout-summary-line strong {
    text-align: right
}

.dofely-checkout-summary-total {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #c9dfce;
    font-weight: 900;
    display: flex;
    justify-content: space-between;
    gap: 12px
}

.dofely-checkout-summary-note {
    margin-top: 8px;
    color: #6d5f53;
    font-size: 12px;
    line-height: 1.35
}

@media (max-width: 520px) {
    .dofely-checkout-summary-line, .dofely-checkout-summary-total {
        display: grid;
        gap: 3px
    }

    .dofely-checkout-summary-line strong {
        text-align: left
    }
}

.dofely-policy-acceptance {
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #eadfd5;
    border-radius: 8px;
    background: #fff;
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    color: #1A120D !important;
    font-size: 13px !important;
    line-height: 1.45
}

.dofely-policy-acceptance input[type=checkbox] {
    width: auto !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 2px 0 0 !important;
    accent-color: #c8a46a
}

.dofely-policy-acceptance a {
    font-weight: 800;
    color: #1A120D;
    text-decoration: underline
}

.dofely-confirmation {
    max-width: 760px;
    margin: 18px 0;
    padding: 18px;
    border: 1px solid #d9e7dc;
    border-radius: 8px;
    background: #f4fbf5;
    color: #1A120D
}

.dofely-confirmation-title {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 8px
}

.dofely-confirmation-copy {
    margin: 0 0 14px;
    color: #6d5f53
}

.dofely-confirmation-grid {
    display: grid;
    gap: 8px
}

.dofely-confirmation-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #d9e7dc;
    padding-bottom: 7px
}

.dofely-confirmation-row span {
    color: #6d5f53
}

.dofely-confirmation-row strong {
    text-align: right
}

@media (max-width: 520px) {
    .dofely-policy-acceptance {
        display: grid !important
    }

    .dofely-confirmation-row {
        display: grid
    }

    .dofely-confirmation-row strong {
        text-align: left
    }
}

.dofely-romantic-option {
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #eadfd5;
    border-radius: 8px;
    background: #fff
}

.dofely-romantic-check {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px !important;
    color: #1A120D !important
}

.dofely-romantic-check input {
    width: auto !important;
    margin-top: 2px
}

.dofely-romantic-check span {
    line-height: 1.35
}

.dofely-romantic-preview-toggle {
    margin-top: 10px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    background: #fff;
    height: 36px;
    padding: 0 12px;
    cursor: pointer
}

.dofely-romantic-preview {
    display: none;
    margin-top: 10px;
    grid-template-columns:120px 1fr;
    gap: 12px;
    align-items: end
}

.dofely-romantic-preview.is-visible {
    display: grid
}

.dofely-romantic-preview-media {
    height: 86px;
    border-radius: 8px;
    background: linear-gradient(135deg, #fff4f0, #f4ddd6 48%, #efe7dd);
    border: 1px solid #eadfd5
}

.dofely-romantic-preview p {
    margin: 4px 0 0;
    color: #6d5f53
}

@media (max-width: 520px) {
    .dofely-romantic-preview {
        grid-template-columns:1fr
    }

    .dofely-romantic-preview-media {
        height: 120px
    }
}

.dofely-extra-options, .dofely-global-extra-options {
    display: grid;
    gap: 10px;
    margin-top: 14px
}

.dofely-extra-titlebar {
    font-weight: 800;
    font-size: 16px
}

.dofely-extra-card {
    display: grid !important;
    grid-template-columns:88px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 0;
    padding: 10px;
    border: 1px solid #eadfd5;
    border-radius: 8px;
    background: #fff;
    color: #1A120D !important;
    font-size: 13px !important;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, background .15s
}

.dofely-extra-card:hover {
    border-color: #c8a46a;
    background: #fffaf5
}

.dofely-extra-card input[type=checkbox] {
    width: auto !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    accent-color: #c8a46a
}

.dofely-extra-media {
    position: relative;
    display: block;
    width: 88px;
    aspect-ratio: 4/3;
    border: 1px solid #eadfd5;
    border-radius: 6px;
    background: #efe7dd;
    overflow: hidden
}

.dofely-extra-media.has-gallery {
    cursor: pointer
}

.dofely-extra-media.has-placeholder {
    cursor: default;
    background: #fffaf5
}

.dofely-extra-media.has-placeholder img {
    object-fit: cover;
    background: #fffaf5
}

.dofely-extra-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dofely-extra-media.is-empty {
    background: linear-gradient(135deg, #fffaf5, #efe7dd)
}

.dofely-extra-gallery-icon {
    position: absolute;
    right: 6px;
    top: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(255, 250, 245, .92);
    color: #1A120D;
    border: 1px solid rgba(200, 164, 106, .7);
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .14)
}

.dofely-extra-gallery-count {
    position: absolute;
    left: 6px;
    bottom: 6px;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(26, 18, 13, .78);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1
}

.dofely-extra-body {
    display: grid;
    gap: 3px;
    min-width: 0
}

.dofely-extra-name {
    font-weight: 900;
    color: #1A120D
}

.dofely-extra-description {
    color: #6d5f53;
    line-height: 1.35
}

.dofely-extra-price {
    font-weight: 900;
    color: #15391d;
    white-space: nowrap
}

.dofely-extra-card:has(input:checked) {
    border-color: #5aa469;
    box-shadow: inset 0 0 0 1px #5aa469;
    background: #f4fbf5
}

@media (max-width: 620px) {
    .dofely-extra-card {
        grid-template-columns:72px minmax(0, 1fr) auto
    }

    .dofely-extra-media {
        width: 72px
    }

    .dofely-extra-price {
        white-space: normal
    }

    .dofely-extra-gallery-icon {
        min-width: 22px;
        height: 22px;
        font-size: 9px
    }
}

/* Compact single-suite calendar. It deliberately only changes presentation:
   availability states and all interaction data remain those of dofely-picker. */
.dofely-suite-calendar {
    padding: 20px;
    border: 1px solid #e8e0d7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(30, 20, 10, .05);
}

.dofely-suite-calendar .dofely-suite-calendar__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.dofely-suite-calendar .dofely-suite-calendar__title {
    margin: 0;
    color: #17110d;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(26px, 4vw, 32px);
    font-weight: 500;
    line-height: .95;
}

.dofely-suite-calendar .dofely-suite-calendar__mode {
    margin: 8px 0 0;
    color: #8a7166;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}

.dofely-suite-calendar .dofely-suite-calendar__head.is-title-hidden .dofely-suite-calendar__mode {
    margin-top: 0;
}

.dofely-suite-calendar .dofely-suite-calendar__nav {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.dofely-suite-calendar .dofely-suite-calendar__nav button {
    display: inline-flex;
    width: 32px;
    min-width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #e4d9cf;
    border-radius: 50%;
    background: #fff;
    color: #8b6535;
    font-family: Inter, sans-serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 1;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.dofely-suite-calendar .dofely-suite-calendar__nav button:hover:not(:disabled),
.dofely-suite-calendar .dofely-suite-calendar__nav button:focus-visible {
    border-color: #b89b84;
    background: #f6f1eb;
    color: #3f3731;
}

.dofely-suite-calendar .dofely-suite-calendar__nav [data-reset] { display: none; }
.dofely-suite-calendar .dofely-suite-calendar__nav button:disabled { opacity: .35; cursor: not-allowed; }

.dofely-suite-calendar .dofely-picker-months {
    display: block;
    margin: 0;
}

/* The embedded checkout deliberately borrows the result-card component;
   remove only the page-level vertical spacing of its original wrapper. */
.dofely-suite-calendar .dofely-suite-calendar__booking-shell {
    margin: 18px 0 0;
    padding: 0;
}

/* Selection feedback and the provisional price summary use the same quiet
   ivory/ink language as the shared result checkout. The calendar continues
   to supply all text and figures; this is presentation only. */
.dofely-suite-calendar .dofely-picker-status {
    margin-top: 14px;
    padding: 10px 14px;
    border: 1px solid #e8e0d7;
    border-left: 3px solid #cda866;
    border-radius: 6px;
    background: #f8f3ed;
    color: #5f5751;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.dofely-suite-calendar .dofely-picker-status.is-ok {
    background: #f8f3ed;
    color: #5f5751;
}

.dofely-suite-calendar .dofely-picker-status.is-error {
    border-left-color: #b86c62;
    background: #fbf4f1;
    color: #795852;
}

.dofely-suite-calendar .dofely-picker-summary {
    margin-top: 12px;
    padding: 18px 20px;
    border: 1px solid #e8e0d7;
    border-radius: 8px;
    background: #fff;
    color: #2f2924;
}

.dofely-suite-calendar .dofely-picker-summary-title {
    margin: 0 0 14px;
    color: #17110d;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 21px;
    font-weight: 500;
    line-height: 1;
}

.dofely-suite-calendar .dofely-picker-summary-lines {
    display: grid;
    gap: 8px;
    font-family: Inter, sans-serif;
    font-size: 12px;
}

.dofely-suite-calendar .dofely-picker-summary-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    color: #625a55;
    line-height: 1.35;
}

.dofely-suite-calendar .dofely-picker-summary-line > span {
    min-width: 0;
}

.dofely-suite-calendar .dofely-picker-summary-line > strong {
    flex: 0 0 auto;
    color: #2f2924;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
}

.dofely-suite-calendar .dofely-picker-summary-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e8e0d7;
    color: #2f2924;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.dofely-suite-calendar .dofely-picker-summary-total strong {
    flex: 0 0 auto;
    color: #17110d;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-align: right;
}

.dofely-suite-calendar .dofely-picker-month-title {
    margin: 0 0 12px;
    color: #17110d;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: capitalize;
}

.dofely-suite-calendar .dofely-picker-grid { column-gap: 0; row-gap: 8px; }

.dofely-suite-calendar .dofely-picker-weekday {
    min-height: 22px;
    color: #8a8179;
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .06em;
    line-height: 22px;
}

.dofely-suite-calendar .dofely-picker-day {
    position: relative;
    width: auto;
    height: 46px;
    min-height: 0;
    justify-self: stretch;
    border: 0;
    border-radius: 0;
    background: radial-gradient(circle at center, #fff 0 21.5px, #eee6de 22px 22.75px, transparent 23.25px);
    color: #3f3731;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    box-shadow: none !important;
    outline: 0;
}

/* The calendar uses transparent cells: only the date state itself is drawn.
   This prevents theme button rules from producing a visible square grid. */
.dofely-suite-calendar .dofely-picker-grid > .dofely-picker-day {
    border: 0 !important;
    box-shadow: none !important;
}

.dofely-suite-calendar .dofely-picker-day:hover:not(:disabled) {
    background: radial-gradient(circle at center, #f6f1eb 0 21.5px, #b89b84 22px 22.75px, transparent 23.25px);
    color: #3f3731;
}

.dofely-suite-calendar .dofely-picker-day.is-busy {
    background: radial-gradient(circle at center, #ddd8d2 0 21.5px, #d2cbc4 22px 22.75px, transparent 23.25px);
    color: #817972;
    text-decoration: none;
    cursor: not-allowed;
}

.dofely-suite-calendar .dofely-picker-day.is-boundary {
    background:
        radial-gradient(circle at center, transparent 0 21.5px, #b89b84 22px 22.75px, transparent 23.25px),
        linear-gradient(135deg, #fff 0 48%, #b89b84 49% 51%, #ddd8d2 52% 100%);
    -webkit-mask-image: radial-gradient(circle at center, #000 0 22.75px, transparent 23.25px);
    mask-image: radial-gradient(circle at center, #000 0 22.75px, transparent 23.25px);
    color: #3f3731;
    text-decoration: none;
}

.dofely-suite-calendar .dofely-picker-day.is-checkout-only {
    background:
        radial-gradient(circle at center, transparent 0 21.5px, #cda866 22px 22.75px, transparent 23.25px),
        linear-gradient(135deg, #fff 0 48%, #b89b84 49% 51%, #f6f1eb 52% 100%);
    -webkit-mask-image: radial-gradient(circle at center, #000 0 22.75px, transparent 23.25px);
    mask-image: radial-gradient(circle at center, #000 0 22.75px, transparent 23.25px);
    color: #3f3731;
    cursor: pointer;
    text-decoration: none;
}

.dofely-suite-calendar .dofely-picker-day.is-checkout-only:hover:not(:disabled) {
    background:
        radial-gradient(circle at center, transparent 0 21.5px, #8b6535 22px 22.75px, transparent 23.25px),
        linear-gradient(135deg, #f6f1eb 0 48%, #8b6535 49% 51%, #eadfce 52% 100%);
}

/* Once an overnight check-in has been picked, a checkout-only day is a valid
   destination. Show it as a full available circle during that selection step,
   while preserving its diagonal meaning before a check-in is selected. */
.dofely-suite-calendar:has(.dofely-picker-tab[data-tab="overnight"].is-active):has(.dofely-picker-day.is-selected):not(:has(.dofely-picker-day.is-end.is-selected)) .dofely-picker-day.is-checkout-only:not(.is-selected) {
    background: radial-gradient(circle at center, #fff 0 21.5px, #eee6de 22px 22.75px, transparent 23.25px);
    -webkit-mask-image: none;
    mask-image: none;
    color: #3f3731;
}

.dofely-suite-calendar:has(.dofely-picker-tab[data-tab="overnight"].is-active):has(.dofely-picker-day.is-selected):not(:has(.dofely-picker-day.is-end.is-selected)) .dofely-picker-day.is-checkout-only:not(.is-selected):hover:not(:disabled) {
    background: radial-gradient(circle at center, #f6f1eb 0 21.5px, #b89b84 22px 22.75px, transparent 23.25px);
}

.dofely-suite-calendar .dofely-picker-day.is-past,
.dofely-suite-calendar .dofely-picker-day.is-disabled {
    background: radial-gradient(circle at center, transparent 0 21.5px, transparent 22.75px, transparent 23.25px);
    color: #c9c2bb;
    opacity: .65;
}

.dofely-suite-calendar .dofely-picker-day.is-selected {
    background: radial-gradient(circle at center, #17110d 0 22px, transparent 22.5px);
    color: #fff;
    font-weight: 600;
    -webkit-mask-image: none;
    mask-image: none;
}

.dofely-suite-calendar .dofely-picker-day.is-range {
    width: 100%;
    background: #efe7de;
    color: #3f3731;
}

.dofely-suite-calendar .dofely-picker-day.is-start.is-selected {
    width: 100%;
    background:
        radial-gradient(circle at center, #17110d 0 22px, transparent 22.5px),
        linear-gradient(to right, transparent 0 50%, #efe7de 50% 100%);
}

.dofely-suite-calendar .dofely-picker-day.is-end.is-selected {
    width: 100%;
    background:
        radial-gradient(circle at center, #17110d 0 22px, transparent 22.5px),
        linear-gradient(to right, #efe7de 0 50%, transparent 50% 100%);
}

.dofely-suite-calendar .dofely-picker-day.is-boundary.is-selected,
.dofely-suite-calendar .dofely-picker-day.is-checkout-only.is-selected {
    background: radial-gradient(circle at center, #17110d 0 22px, transparent 22.5px);
    color: #fff;
}

.dofely-suite-calendar .dofely-picker-day.is-boundary.is-start.is-selected,
.dofely-suite-calendar .dofely-picker-day.is-checkout-only.is-start.is-selected {
    background:
        radial-gradient(circle at center, #17110d 0 22px, transparent 22.5px),
        linear-gradient(to right, transparent 0 50%, #efe7de 50% 100%);
}

.dofely-suite-calendar .dofely-picker-day.is-boundary.is-end.is-selected,
.dofely-suite-calendar .dofely-picker-day.is-checkout-only.is-end.is-selected {
    background:
        radial-gradient(circle at center, #17110d 0 22px, transparent 22.5px),
        linear-gradient(to right, #efe7de 0 50%, transparent 50% 100%);
}

.dofely-suite-calendar .dofely-picker-legend {
    gap: 12px;
    margin-top: 12px;
    color: #7a716a;
    font-family: Inter, sans-serif;
    font-size: 10px;
}

.dofely-suite-calendar .dofely-picker-legend span { gap: 5px; }

.dofely-suite-calendar .dofely-picker-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.dofely-suite-calendar .dofely-picker-dot.is-busy {
    background: #ddd8d2;
    border-color: #d2cbc4;
}

.dofely-suite-calendar .dofely-picker-dot.is-selected {
    background: #17110d;
    border-color: #17110d;
}

.dofely-suite-calendar .dofely-picker-dot.is-range {
    background: #efe7de;
    border-color: #e2d6ca;
}

.dofely-suite-calendar .dofely-picker-dot.is-checkout-only {
    background: linear-gradient(135deg, #fff 0 48%, #b89b84 49% 51%, #ddd8d2 52% 100%);
    border-color: #b89b84;
}

.dofely-suite-calendar .dofely-picker-tabs {
    margin: 0 0 14px;
    border-bottom-color: #e8e0d7;
}

.dofely-suite-calendar .dofely-picker-tab {
    padding: 12px 16px;
    border-radius: 6px 6px 0 0;
    color: #745f50;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.dofely-suite-calendar .dofely-picker-tab.is-active {
    background: #17110d;
    color: #fff;
}

.dofely-suite-calendar .dofely-picker-tab:not(.is-active):hover {
    background: #f6f1eb !important;
    color: #745f50 !important;
}

.dofely-suite-calendar .dofely-picker-tab.is-active:hover {
    background: #17110d !important;
    color: #fff !important;
}

.dofely-suite-calendar .dofely-picker-tab:focus-visible {
    outline: 2px solid #cda866;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .dofely-suite-calendar { padding: 16px 12px; }
    .dofely-suite-calendar .dofely-suite-calendar__head { margin-bottom: 14px; }
    .dofely-suite-calendar .dofely-picker-month-title { font-size: 22px; }
    .dofely-suite-calendar .dofely-suite-calendar__nav button { width: 30px; min-width: 30px; height: 30px; }
    .dofely-suite-calendar .dofely-picker-day { width: auto; height: 40px; min-height: 0; font-size: 12px; }
    .dofely-suite-calendar .dofely-picker-grid { column-gap: 0; row-gap: 4px; }
    .dofely-suite-calendar .dofely-picker-summary { padding: 14px 16px; }
    .dofely-suite-calendar .dofely-picker-summary-title { font-size: 20px; }
    .dofely-suite-calendar .dofely-picker-summary-total strong { font-size: 22px; }
}

/* Compact suite cards used by [dofely_availability_results]. */
.dofely-global-search-results-only .dofely-global-results {
    margin-top: 0;
    gap: 10px;
}

.dofely-global-card {
    padding: 8px;
    border-color: #ebe5de;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(26, 18, 13, .06);
}

.dofely-global-card-head {
    grid-template-columns: minmax(190px, 250px) minmax(0, 1fr) 112px;
    gap: 10px;
    align-items: stretch;
}

.dofely-global-card-media {
    aspect-ratio: 2 / 1;
    border: 0;
    border-radius: 3px;
}

.dofely-global-card-content {
    min-width: 0;
    padding: 3px 0;
}

.dofely-global-card-title {
    color: #251a14;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 600;
    line-height: .95;
}

.dofely-global-card-description {
    margin: 4px 0 7px;
    color: #75685e;
    font-size: 11px;
    line-height: 1.25;
}

.dofely-global-card-meta {
    display: grid;
    gap: 3px;
    color: #6d5f53;
    font-size: 10px;
}

.dofely-global-card-meta span {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.dofely-global-card-meta span::before {
    margin-right: 6px;
    color: #c8a46a;
    content: '✦';
    font-size: 8px;
}

.dofely-global-card-price {
    align-content: center;
    padding-left: 12px;
    border-left: 1px solid #eee7df;
    color: #251a14;
    text-align: center;
}

.dofely-global-card-rate {
    color: #251a14;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 23px;
    font-weight: 600;
    line-height: 1;
}

.dofely-global-card-rate small {
    display: inline;
    color: #75685e;
    font-family: Inter, sans-serif;
    font-size: 9px;
    font-weight: 700;
}

.dofely-global-card-actions {
    display: grid;
    gap: 6px;
    margin-top: 9px;
    justify-content: stretch;
}

.dofely-global-card-actions button {
    width: 100%;
    min-height: 0;
    padding: 8px 10px !important;
    font-size: 10px !important;
}

.dofely-global-card-actions a {
    color: #6d5f53;
    font-family: Inter, sans-serif;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}

.dofely-global-card-actions a:hover { color: #9b7a47; }

@media (max-width: 900px) {
    .dofely-global-card-head { grid-template-columns: 180px minmax(0, 1fr) 104px; }
}

@media (max-width: 620px) {
    .dofely-global-card-head { grid-template-columns: 1fr; }
    .dofely-global-card-price { padding: 10px 0 0; border-top: 1px solid #eee7df; border-left: 0; }
    .dofely-global-card-actions { max-width: 240px; margin-right: auto; margin-left: auto; }
}

/* Final result-card overrides: these follow the shared form/card styles. */
.dofely-global-card-head { grid-template-columns: 2fr 1fr 1fr; }
.dofely-global-card-media { min-height: 0; aspect-ratio: 2 / 1; border: 0; border-radius: 3px; }
.dofely-global-card-content { display: flex; flex-direction: column; min-width: 0; padding: 3px 0; }
.dofely-global-card-title { color: #251a14; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(20px, 2vw, 26px); font-weight: 600; line-height: .95; }
.dofely-global-card-description { margin: 4px 0 7px; color: #75685e; font-size: 11px; line-height: 1.25; }
.dofely-global-card-meta { display: grid; gap: 3px; margin-top: 8px; color: #6d5f53; font-size: 10px; }
.dofely-global-card-meta span { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; }
.dofely-global-card-meta span::before { margin-right: 6px; color: #c8a46a; content: '✦'; font-size: 8px; }
.dofely-global-card-price { align-content: center; padding-left: 12px; border-left: 1px solid #eee7df; color: #251a14; text-align: center; }
.dofely-global-card-rate { color: #251a14; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 23px; font-weight: 600; line-height: 1; }
.dofely-global-card-rate small { display: inline; color: #75685e; font-family: Inter, sans-serif; font-size: 9px; font-weight: 700; }
.dofely-global-card-actions { display: grid; gap: 6px; margin-top: 9px; justify-content: stretch; }
.dofely-global-card-actions button { width: 100%; min-height: 0; padding: 8px 10px !important; font-size: 10px !important; }
.dofely-global-card-actions a { color: #6d5f53; font-family: Inter, sans-serif; font-size: 9px; font-weight: 700; text-decoration: none; }
.dofely-global-card-actions a:hover { color: #9b7a47; }
.dofely-global-more-attributes { align-self: flex-start; margin-top: 7px; padding: 0; color: #8b6837; background: transparent; border: 0; font-family: Inter, sans-serif; font-size: 10px; font-weight: 700; text-decoration: underline; cursor: pointer; }

@media (max-width: 620px) {
    .dofely-global-card-head { grid-template-columns: 1fr; }
    .dofely-global-card-price { padding: 10px 0 0; border-top: 1px solid #eee7df; border-left: 0; }
    .dofely-global-card-actions { max-width: 240px; margin-right: auto; margin-left: auto; }
}

.dofely-global-search-results-only {
    width: 100%;
    max-width: none;
    padding: 0 !important;
}

.dofely-global-results-section {
    width: 100%;
    padding: 80px 0 80px;
}

.dofely-global-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 28px;
}

.dofely-global-results-heading h2 {
    margin: 0 0 5px;
    color: #251a14;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(30px, 4vw, 42px);
    font-weight: 600;
    line-height: .95;
}

.dofely-global-results-heading p {
    margin: 0;
    color: #75685e;
    font-family: Inter, sans-serif;
    font-size: 14px;
}

.dofely-global-results-heading > span {
    flex: 0 0 auto;
    padding: 10px 18px;
    border-radius: 999px;
    color: #8b6837;
    background: #f1e7d8;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 620px) {
    .dofely-global-results-section { padding: 80px 0 56px; }
    .dofely-global-results-heading { align-items: flex-start; flex-direction: column; margin-bottom: 20px; }
    .dofely-global-results-heading p { font-size: 13px; }
}

/* 50 / 25 / 25 desktop result-card composition. */
.dofely-global-card-head { grid-template-columns: 2fr 1fr 1fr; }
.dofely-global-card-media { min-height: 0; aspect-ratio: 2 / 1; }
.dofely-global-card-content { display: flex; flex-direction: column; }
.dofely-global-card-meta { margin-top: 8px; }

.dofely-global-more-attributes {
    align-self: flex-start;
    margin-top: 7px;
    padding: 0;
    color: #8b6837;
    background: transparent;
    border: 0;
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.dofely-global-card-gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #fff;
    background: rgba(26, 18, 13, .86);
    border: 0;
    border-radius: 50%;
    font-size: 25px;
    line-height: 27px;
    cursor: pointer;
    transform: translateY(-50%);
}

.dofely-global-card-gallery-nav.is-prev { left: 10px; }
.dofely-global-card-gallery-nav.is-next { right: 10px; }
.dofely-global-card-gallery-nav:hover { background: #9b7a47; }

.dofely-global-card-gallery-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    display: flex;
    gap: 5px;
    transform: translateX(-50%);
}

.dofely-global-card-gallery-dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .55);
}

.dofely-global-card-gallery-dots i.is-active { background: #fff; }

.dofely-suite-attributes-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(26, 18, 13, .58);
}

.dofely-suite-attributes-modal.is-visible { display: flex; }

.dofely-suite-attributes-modal-panel {
    position: relative;
    width: min(440px, 100%);
    max-height: min(640px, 90vh);
    overflow: auto;
    padding: 32px;
    background: #fffdfa;
    border: 1px solid #e5d9c5;
    box-shadow: 0 24px 60px rgba(26, 18, 13, .28);
}

.dofely-suite-attributes-modal-panel > span {
    display: block;
    margin-bottom: 6px;
    color: #9b7a47;
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dofely-suite-attributes-modal-panel h3 {
    margin: 0 0 18px;
    color: #251a14;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 30px;
    font-weight: 600;
}

.dofely-suite-attributes-modal-panel ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.dofely-suite-attributes-modal-panel li { color: #584b42; font-family: Inter, sans-serif; font-size: 14px; }
.dofely-suite-attributes-modal-panel li::before { margin-right: 8px; color: #c8a46a; content: '✦'; }

.dofely-suite-attributes-modal-close {
    position: absolute;
    top: 11px;
    right: 12px;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #251a14;
    background: transparent;
    border: 0;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 620px) {
    .dofely-global-card-head { grid-template-columns: 1fr; }
    .dofely-global-card-media { aspect-ratio: 2 / 1; }
}

/* Payment pages: deliberately scoped to Dofely WooCommerce orders only. */
.dofely-order-pay .site-content, .dofely-order-received .site-content {
    background: #f7f3eb;
}

.dofely-order-pay .woocommerce, .dofely-order-received .woocommerce {
    max-width: 960px;
    margin: 0 auto;
    padding: 42px 24px 64px;
    color: #261d17;
    font-family: Inter, sans-serif;
}

.dofely-order-pay .dofely-payment-intro {
    margin: 0 0 24px;
    color: #261d17;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 600;
}

.dofely-order-pay .dofely-payment-lock {
    display: inline-block;
    margin-right: 8px;
    color: #9b7a47;
    font-size: 16px;
    line-height: 1;
    vertical-align: -1px;
}

.dofely-order-pay .dofely-payment-hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 24px;
    padding: 42px 46px;
    color: #fffaf0;
    background: #1b1715;
    border-bottom: 3px solid #c8a46a;
}

.dofely-order-pay .dofely-payment-hero::after {
    position: absolute;
    right: -50px;
    bottom: -90px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(200, 164, 106, .48);
    border-radius: 50%;
    content: '';
}

.dofely-payment-kicker {
    display: block;
    margin-bottom: 8px;
    color: #c8a46a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dofely-order-pay .dofely-payment-hero h1 {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    color: #fffaf0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(34px, 5vw, 52px);
    font-weight: 600;
    line-height: .95;
}

.dofely-order-pay .dofely-payment-hero p {
    position: relative;
    z-index: 1;
    max-width: 600px;
    margin: 0;
    color: rgba(255, 250, 240, .82);
    font-size: 15px;
}

.dofely-order-pay .dofely-payment-summary {
    margin: 0 0 30px;
    padding: 28px 30px;
    background: #fffdfa;
    border: 1px solid #e5d9c5;
    box-shadow: 0 16px 32px rgba(42, 29, 18, .07);
}

.dofely-payment-summary-heading span {
    color: #9b7a47;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dofely-order-pay .dofely-payment-summary h2 {
    margin: 4px 0 20px;
    color: #241a14;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 32px;
    font-weight: 600;
}

.dofely-payment-summary-rows > div, .dofely-payment-amounts > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 10px 0;
    border-top: 1px solid #eee5d9;
    font-size: 14px;
}

.dofely-payment-summary-rows span, .dofely-payment-onsite span { color: #71665d; }
.dofely-payment-summary-rows strong { text-align: right; font-weight: 600; }
.dofely-payment-amounts { margin-top: 14px; }
.dofely-payment-amounts .dofely-payment-grand-total { font-size: 16px; font-weight: 700; }
.dofely-payment-grand-total strong { color: #241a14; font-size: 19px; }
.dofely-payment-amounts .dofely-payment-online { padding: 16px 18px; color: #fffaf0; background: #27201b; border: 0; }
.dofely-payment-online span { font-weight: 600; }
.dofely-payment-online strong { color: #d8b87f; font-size: 20px; }
.dofely-payment-amounts .dofely-payment-onsite { padding-bottom: 0; border-top: 0; }
.dofely-payment-onsite strong { color: #9b7a47; }

.dofely-order-pay .woocommerce-info, .dofely-order-pay .woocommerce-error, .dofely-order-pay .woocommerce-message {
    margin: 0 0 20px;
    border-top-color: #c8a46a;
    background: #fffdfa;
}

.dofely-order-pay #order_review, .dofely-order-pay .woocommerce-checkout-payment {
    padding: 28px 30px;
    background: #fffdfa;
    border: 1px solid #e5d9c5;
    box-shadow: 0 16px 32px rgba(42, 29, 18, .07);
}

.dofely-order-pay #order_review { margin-bottom: 24px; }
.dofely-order-pay .woocommerce-checkout-payment { margin-top: 24px; }
.dofely-order-pay .woocommerce-checkout-payment ul.payment_methods { padding: 0; border: 0; }
.dofely-order-pay .woocommerce-checkout-payment .payment_box { margin: 12px 0 18px; background: #f7f3eb; }
.dofely-order-pay .woocommerce-checkout-payment .payment_box::before { border-bottom-color: #f7f3eb; }

.dofely-order-pay table.shop_table {
    overflow: hidden;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

/* The Dofely summary above replaces only WooCommerce's duplicate product table.
   Keep the payment gateways and their controls inside #order_review visible. */
.dofely-order-pay #order_review > table.shop_table { display: none; }

.dofely-order-pay table.shop_table th, .dofely-order-pay table.shop_table td { padding: 13px 0; border-color: #eee5d9; }
.dofely-order-pay table.shop_table thead .product-quantity, .dofely-order-pay table.shop_table tbody .product-quantity, .dofely-order-pay table.shop_table thead .product-total, .dofely-order-pay table.shop_table tbody .product-total { display: none; }
.dofely-order-pay table.shop_table thead .product-name, .dofely-order-pay table.shop_table tbody .product-name { width: 100%; }
.dofely-order-pay .wc-item-meta { margin: 10px 0 0; padding: 12px 0 0; border-top: 1px solid #eee5d9; }
.dofely-order-pay .wc-item-meta li { margin: 0 0 7px; font-size: 13px; }
.dofely-order-pay .wc-item-meta-label { color: #75685e; font-weight: 500; }
.dofely-order-pay table.shop_table tfoot tr:last-child th, .dofely-order-pay table.shop_table tfoot tr:last-child td { color: #9b7a47; font-size: 18px; }

.dofely-order-pay #payment > .form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding: 18px 0 0;
}
.dofely-order-pay #payment > .form-row .woocommerce-terms-and-conditions-wrapper { flex: 0 0 100%; }
.dofely-order-pay #payment > .form-row .button:not(.dofely-payment-cancel), .dofely-order-pay .button.alt {
    flex: 0 1 240px;
    min-height: 52px;
    padding: 15px 25px;
    color: #fff !important;
    background: #c8a46a !important;
    border: 1px solid #c8a46a !important;
    border-radius: 0;
    font-family: Inter, sans-serif;
    font-weight: 700;
}
.dofely-order-pay #payment > .form-row .button:not(.dofely-payment-cancel):hover, .dofely-order-pay .button.alt:hover { background: #ad884b !important; border-color: #ad884b !important; }
.dofely-order-pay .woocommerce-privacy-policy-text { color: #70645a; font-size: 12px; line-height: 1.6; }
.dofely-order-pay .woocommerce-terms-and-conditions-wrapper input { accent-color: #c8a46a; }
.dofely-order-pay #payment > .form-row .dofely-payment-cancel {
    flex: 0 1 240px;
    box-sizing: border-box;
    min-height: 52px;
    padding: 15px 25px;
    color: #6e5140 !important;
    background: transparent !important;
    border: 1px solid #cdbda9 !important;
    border-radius: 0;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}
.dofely-order-pay #payment > .form-row .dofely-payment-cancel:hover { color: #fffaf0 !important; background: #6e5140 !important; border-color: #6e5140 !important; }

.dofely-order-received .woocommerce-notice--success, .dofely-order-received .woocommerce-thankyou-order-received {
    margin: 0 0 20px;
    padding: 16px 20px;
    color: #31563e;
    background: #edf5ed;
    border-left: 3px solid #6b9b70;
    font-weight: 600;
}
.dofely-order-received .woocommerce-order-overview, .dofely-order-received .woocommerce-order-details, .dofely-order-received .woocommerce-customer-details {
    margin: 0 0 24px;
    padding: 26px 30px;
    background: #fffdfa;
    border: 1px solid #e5d9c5;
    box-shadow: 0 16px 32px rgba(42, 29, 18, .07);
}
.dofely-order-received .woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    list-style: none;
}
.dofely-order-received .woocommerce-order-overview::before,
.dofely-order-received .woocommerce-order-overview::after,
.dofely-order-received .woocommerce-order-overview li::before,
.dofely-order-received .woocommerce-order-overview li::after {
    display: none !important;
    content: none !important;
}
.dofely-order-received .woocommerce-order-overview li {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 22px 24px;
    border: 0 !important;
    border-left: 1px solid #e5d9c5 !important;
    color: #71665d;
    font-size: 12px;
    line-height: 1.45;
}
.dofely-order-received .woocommerce-order-overview li:first-child { border-left: 0 !important; }
.dofely-order-received .woocommerce-order-overview li strong {
    display: block;
    margin-top: 5px;
    color: #261d17;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}
.dofely-order-received .woocommerce-order-details__title, .dofely-order-received .woocommerce-column__title {
    margin: 0 0 18px;
    color: #241a14;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 30px;
}

@media (max-width: 620px) {
    .dofely-order-pay .woocommerce, .dofely-order-received .woocommerce { padding: 24px 15px 44px; }
    .dofely-order-pay .dofely-payment-hero { padding: 30px 24px; }
    .dofely-order-pay .dofely-payment-summary, .dofely-order-pay #order_review, .dofely-order-pay .woocommerce-checkout-payment, .dofely-order-received .woocommerce-order-details, .dofely-order-received .woocommerce-customer-details { padding: 22px 20px; }
    .dofely-order-received .woocommerce-order-overview { grid-template-columns: 1fr; padding: 0; }
    .dofely-order-received .woocommerce-order-overview li { padding: 16px 20px; border-top: 1px solid #e5d9c5 !important; border-left: 0 !important; }
    .dofely-order-received .woocommerce-order-overview li:first-child { border-top: 0 !important; }
    .dofely-payment-summary-rows > div, .dofely-payment-amounts > div { align-items: flex-start; flex-direction: column; gap: 4px; }
    .dofely-payment-summary-rows strong { text-align: left; }
    .dofely-order-pay #payment > .form-row { display: grid; grid-template-columns: 1fr; }
    .dofely-order-pay #payment > .form-row .button:not(.dofely-payment-cancel), .dofely-order-pay #payment > .form-row .dofely-payment-cancel { width: 100%; }
}

.dofely-extra-payment-choice {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
    font-size: 12px;
    color: #6d5f53
}

.dofely-extra-payment-choice span {
    flex: 0 0 100%;
    font-weight: 800;
    color: #1A120D
}

.dofely-extra-payment-choice label {
    display: inline-flex !important;
    grid-template-columns:none !important;
    align-items: center;
    gap: 5px;
    margin: 0;
    color: #1A120D !important;
    font-size: 12px !important;
    cursor: pointer
}

.dofely-extra-payment-choice input {
    width: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    accent-color: #c8a46a
}

.dofely-extra-payment-choice .dofely-extra-payment-option {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    cursor: pointer
}

.dofely-extra-payment-choice .dofely-extra-payment-option input {
    width: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    margin: 0 !important
}

.dofely-extra-card {
    cursor: default !important
}

.dofely-extra-payment-info {
    font-size: 12px;
    font-weight: 800;
    color: #6d5f53
}

.dofely-extra-card input[type=checkbox], .dofely-extra-card input[type=radio] {
    cursor: pointer
}

.dofely-extra-media.has-gallery {
    cursor: pointer !important
}

.dofely-extra-card:has([data-extra-checkbox]:not(:checked)) {
    border-color: #eadfd5;
    box-shadow: none;
    background: #fff
}

.dofely-extra-card:has([data-global-extra-checkbox]:not(:checked)) {
    border-color: #eadfd5;
    box-shadow: none;
    background: #fff
}

.dofely-mode-confirm {
    display: none;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #e0c596;
    border-radius: 8px;
    background: #fff8ec
}

.dofely-mode-confirm.is-visible {
    display: block
}

.dofely-mode-confirm-title {
    font-weight: 800;
    margin-bottom: 4px
}

.dofely-mode-confirm-copy {
    margin: 0 0 12px;
    color: #6d5f53
}

.dofely-mode-confirm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.dofely-mode-confirm button {
    height: 40px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    padding: 0 12px;
    cursor: pointer;
    background: #fff
}

.dofely-mode-confirm [data-confirm-dayuse] {
    background: #1A120D;
    color: #fff;
    border-color: #1A120D
}

.dofely-picker-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px
}

.dofely-picker-actions.is-hidden {
    display: none
}

.dofely-fake-booking-button {
    height: 42px;
    border: 0;
    border-radius: 8px;
    padding: 0 16px;
    background: #1A120D;
    color: #fff;
    cursor: pointer;
    font-weight: 800
}

.dofely-fake-booking-button:disabled {
    opacity: .45;
    cursor: not-allowed
}

.dofely-picker-nav button:disabled {
    opacity: .35;
    cursor: not-allowed
}

.dofely-picker-months {
    transition: opacity .2s ease, transform .2s ease;
    will-change: transform, opacity
}

.dofely-picker-months.is-leaving-next {
    opacity: 0;
    transform: translateX(-42px)
}

.dofely-picker-months.is-leaving-prev {
    opacity: 0;
    transform: translateX(42px)
}

.dofely-picker-months.is-entering-next {
    animation: dofelySlideNext .24s ease both
}

.dofely-picker-months.is-entering-prev {
    animation: dofelySlidePrev .24s ease both
}

@keyframes dofelySlideNext {
    from {
        opacity: 0;
        transform: translateX(42px)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes dofelySlidePrev {
    from {
        opacity: 0;
        transform: translateX(-42px)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.dofely-global-search {
    /*max-width: 100%;*/
    /*border: 1px solid #e0d2c4;*/
    /*border-radius: 8px;*/
    /*padding: 16px;*/
    /*background: #fff;*/
    /*color: #1A120D;*/
    /*box-shadow: 0 8px 30px rgba(26, 18, 13, .08)*/
}

.dofely-global-search-form {
    display: grid;
    gap: 14px
}

.dofely-global-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    align-items: center;
    padding: 8px 0;
    white-space: normal;
    border-bottom: 1px solid #eadfd5;
    overflow: visible
}

.dofely-global-tabs label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border-radius: 0;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    color: #5f554d;
    cursor: pointer
}

.dofely-global-tabs input[type=radio] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    opacity: 0;
    pointer-events: none
}

.dofely-global-tabs label::before {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    box-sizing: border-box;
    border: 1.5px solid #b89b84;
    border-radius: 50%;
    background: transparent;
    content: '';
    transition: .2s ease
}

.dofely-global-tabs label:has(input[type=radio]:checked) { color: #3f352f; }

.dofely-global-tabs label:has(input[type=radio]:checked)::before {
    border-color: #b89b84;
    background: #b89b84;
    box-shadow: inset 0 0 0 4px #f6f1eb
}

.dofely-global-tabs label:has(input[type=radio]:focus-visible)::before {
    outline: 2px solid rgba(184, 155, 132, .35);
    outline-offset: 3px
}

.dofely-global-tabs label.is-disabled {
    opacity: .5;
    cursor: not-allowed
}

.dofely-global-tabs label:has(input[type=radio]:disabled) {
    opacity: .5;
    cursor: not-allowed
}

.dofely-global-tabs label.is-disabled span {
    color: #a99b8f;
    font-size: 11px;
    font-weight: 500
}

.dofely-global-search-fields {
    display: grid;
    /*grid-template-columns:repeat(5, minmax(130px, 1fr)) auto;*/
    grid-template-columns:repeat(4, minmax(130px, 1fr)) auto;
    gap: 10px;
    align-items: end
}

.dofely-global-search-fields label {
    display: grid;
    gap: 5px;
    color: #6d5f53;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

/* Day use uses the exact same public date-picker component as overnight.
   It only adds the configured, bookable time bands inside each day. */
.dofely-global-mode-fields label:has(.dofely-dayuse-date-picker) { position: relative; }
.dofely-global-search .dofely-date-range-picker__day.is-dayuse-day {
    min-height: 58px;
    padding: 5px 2px;
    display: grid;
    align-content: center;
    gap: 2px;
}
.dofely-global-search .dofely-date-range-picker__day.is-dayuse-day small {
    display: block;
    color: inherit;
    font-size: 8px;
    font-weight: 600;
    line-height: 1.15;
}
.dofely-global-search .dofely-date-range-picker__day.is-dayuse-available { background: #f4fbf5; color: #15391d; }
.dofely-global-search .dofely-date-range-picker__day.is-dayuse-available:hover:not(:disabled) { background: #e8f5ea; }

.dofely-global-search-form { position: relative; }

.dofely-global-search .dofely-global-date-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: .75rem 1rem;
    border: 1px solid #d7c8bc;
    border-radius: 0;
    background: #fff;
    color: #1a120d;
    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    box-shadow: none;
}

.dofely-global-search .dofely-global-date-trigger:hover,
.dofely-global-search .dofely-global-date-trigger:focus-visible {
    border-color: #b89b84;
    background: #fff;
    color: #1a120d;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(184, 155, 132, .12);
}

.dofely-global-search .dofely-global-date-trigger i { color: #8b6535; font-size: 16px; line-height: 1; }

.dofely-global-search .dofely-global-select-control {
    position: relative;
    display: block;
}

.dofely-global-search .dofely-global-select-control::after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #8b6535;
    border-bottom: 1.5px solid #8b6535;
    content: '';
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}

.dofely-global-search .dofely-global-select-control select {
    padding-right: 42px;
    appearance: none;
    -webkit-appearance: none;
}

.dofely-global-search .dofely-global-date-trigger.is-awaiting {
    border-color: #cda866;
    box-shadow: 0 0 0 2px rgba(205, 168, 102, .16);
}

.dofely-date-range-picker[hidden] { display: none !important; }

.dofely-date-range-picker {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    z-index: 50;
    width: min(620px, calc(100vw - 32px));
    padding: 24px;
    border: 1px solid #e8e0d7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(30, 20, 10, .14);
    color: #17110d;
    font-family: Inter, sans-serif;
    transform: none;
}

.dofely-date-range-picker__head { display: grid; gap: 14px; margin-bottom: 16px; }
.dofely-date-range-picker__step { color: #8a6a42; font-size: 12px; font-weight: 600; }

.dofely-date-range-picker__nav {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 12px;
}

.dofely-date-range-picker__nav strong {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    text-transform: capitalize;
}

.dofely-global-search .dofely-date-range-picker__nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #e8e0d7;
    border-radius: 50%;
    background: #fff;
    color: #8b6535;
    font-size: 12px;
}

.dofely-global-search .dofely-date-range-picker__nav button:hover:not(:disabled) { border-color: #b89b84; background: #f6f1eb; color: #8b6535; }
.dofely-global-search .dofely-date-range-picker__nav button:disabled { opacity: .35; cursor: not-allowed; }

.dofely-date-range-picker__weekdays,
.dofely-date-range-picker__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.dofely-date-range-picker__weekdays { margin-bottom: 6px; }
.dofely-date-range-picker__weekdays span { color: #8a8179; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-align: center; }

.dofely-date-range-picker__days > span { min-height: 42px; }

.dofely-global-search .dofely-date-range-picker__day {
    position: relative;
    min-width: 0;
    min-height: 42px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #3f3731;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.dofely-global-search .dofely-date-range-picker__day:hover:not(:disabled) { background: #f6f1eb; color: #3f3731; }
.dofely-global-search .dofely-date-range-picker__day.is-range { background: #f3ece4; color: #3f3731; }
.dofely-global-search .dofely-date-range-picker__day.is-preview-end {
    z-index: 1;
    background: radial-gradient(circle at center, #17110d 0 20px, transparent 20.5px), linear-gradient(to right, #f3ece4 50%, transparent 50%);
    color: #fff;
}

.dofely-global-search .dofely-date-range-picker__day.is-preview-end:hover:not(:disabled) {
    background: radial-gradient(circle at center, #17110d 0 20px, transparent 20.5px), linear-gradient(to right, #f3ece4 50%, transparent 50%);
    color: #fff;
}
.dofely-global-search .dofely-date-range-picker__day.is-start,
.dofely-global-search .dofely-date-range-picker__day.is-end {
    z-index: 1;
    width: auto;
    height: auto;
    justify-self: stretch;
    border-radius: 0;
    background: radial-gradient(circle at center, #17110d 0 20px, transparent 20.5px);
    color: #fff;
}

.dofely-global-search .dofely-date-range-picker__day.is-start:not(.is-end) {
    background: radial-gradient(circle at center, #17110d 0 20px, transparent 20.5px), linear-gradient(to right, transparent 50%, #f3ece4 50%);
}

.dofely-global-search .dofely-date-range-picker__day.is-end:not(.is-start) {
    background: radial-gradient(circle at center, #17110d 0 20px, transparent 20.5px), linear-gradient(to right, #f3ece4 50%, transparent 50%);
}
.dofely-global-search .dofely-date-range-picker__day.is-dayuse-selected,
.dofely-global-search .dofely-date-range-picker__day.is-dayuse-selected.is-start:not(.is-end) {
    background: radial-gradient(circle at center, #17110d 0 20px, transparent 20.5px);
}
.dofely-global-search .dofely-date-range-picker__day.is-disabled { color: #c9c2bb; cursor: not-allowed; }
.dofely-global-search .dofely-date-range-picker__day:focus-visible { z-index: 2; outline: 2px solid rgba(184, 155, 132, .55); outline-offset: -2px; }

@media (max-width: 700px) {
    .dofely-date-range-picker { left: 50%; width: calc(100vw - 24px); padding: 20px 16px; transform: translateX(-50%); }
    .dofely-date-range-picker__day, .dofely-date-range-picker__days > span { min-height: 40px; }
}

.dofely-global-search input, .dofely-global-search select {
    width: 100%;
    height: 40px;
    padding: 9px 10px;
    border: 1px solid #d7c8bc;
    border-radius: 0;
    background: #fff
}

.dofely-global-search button {
    /*height: 40px;*/
    border: 0;
    border-radius: 0;
    padding: 0 16px;
    background: #1A120D;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap
}

.dofely-global-results {
    margin-top: 18px;
    display: grid;
    gap: 12px
}

.dofely-global-card {
    border: 1px solid #eadfd5;
    border-radius: 8px;
    padding: 14px;
    background: #fffaf5;
    display: grid;
    gap: 10px
}

.dofely-global-card-head {
    display: grid;
    grid-template-columns:minmax(170px, 220px) 1fr auto;
    gap: 14px;
    align-items: start
}

.dofely-global-card-media {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 8px;
    overflow: hidden;
    background: #efe7dd;
    border: 1px solid #eadfd5
}

.dofely-global-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.dofely-global-card-media.is-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7a6b5f;
    font-size: 12px;
    text-align: center;
    padding: 12px
}

.dofely-global-card-title {
    font-size: 18px;
    font-weight: 900
}

.dofely-global-card-description {
    margin: 6px 0 10px;
    color: #6d5f53;
    font-size: 13px;
    line-height: 1.45;
    max-width: 58ch
}

.dofely-global-card-price {
    font-size: 18px;
    font-weight: 900;
    color: #15391d
}

.dofely-global-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #6d5f53;
    font-size: 13px
}

.dofely-global-card-meta span {
    padding: 5px 8px;
    border: 1px solid #eadfd5;
    border-radius: 8px;
    background: #fff
}

.dofely-global-empty {
    margin-top: 18px;
    padding: 14px;
    border-radius: 8px;
    background: #fff1f1;
    color: #7f1d1d
}

.dofely-global-mode-fields {
    display: contents
}

.dofely-global-mode-fields.is-hidden {
    display: none
}

@media (min-width: 901px) {
    .dofely-global-search-fields:has([data-global-dayuse]:not(.is-hidden)) {
        grid-template-columns: repeat(4, minmax(130px, 1fr));
        width: 100%;
        max-width: 1010px;
        margin-inline: auto;
    }
}

.dofely-global-submit {
    align-self: end
}

.dofely-global-calendars {
    margin-top: 18px;
    display: grid;
    gap: 14px
}

.dofely-global-calendars-title {
    font-weight: 900;
    font-size: 18px
}

.dofely-global-suite-calendar {
    border: 1px solid #eadfd5;
    border-radius: 8px;
    padding: 14px;
    background: #fffaf5
}

.dofely-global-suite-title {
    font-weight: 900;
    margin-bottom: 10px
}

.dofely-global-mini-grid {
    display: grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap: 6px
}

.dofely-global-mini-weekday {
    text-align: center;
    font-size: 11px;
    font-weight: 800;
    color: #7a6b5f
}

.dofely-global-mini-day {
    aspect-ratio: 1/1;
    border: 1px solid #e4d6c8;
    border-radius: 8px;
    background: #f4fbf5;
    color: #15391d;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center
}

.dofely-global-mini-day.is-empty {
    visibility: hidden
}

.dofely-global-mini-day.is-busy {
    background: #e6e3df;
    color: #8d837a;
    border-color: #d3ccc4;
    text-decoration: line-through
}

.dofely-global-mini-day.is-past {
    opacity: .45;
    background: #f1eee9;
    color: #8d837a
}

.dofely-global-mini-day.is-today {
    box-shadow: inset 0 0 0 2px #5aa469
}

@media (max-width: 900px) {
    .dofely-global-search-fields {
        grid-template-columns:repeat(2, minmax(150px, 1fr))
    }

    .dofely-global-submit {
        grid-column: 1/-1
    }

    .dofely-global-card-head {
        grid-template-columns:150px 1fr
    }
}

@media (max-width: 620px) {
    .dofely-global-search {
        padding: 14px
    }

    .dofely-global-search-fields {
        grid-template-columns:1fr
    }

    .dofely-global-card-head {
        grid-template-columns:1fr
    }

    .dofely-global-card-media {
        max-height: 220px
    }
}

.dofely-global-card-actions {
    display: flex;
    justify-content: flex-end
}

.dofely-global-booking-panel {
    display: none;
    border-top: 1px solid #eadfd5;
    padding-top: 12px
}

.dofely-global-booking-panel.is-visible {
    display: grid;
    gap: 12px
}

.dofely-global-booking-grid {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px
}

.dofely-global-booking-panel label {
    display: grid;
    gap: 6px;
    font-size: 12px;
    color: #7a6b5f
}

.dofely-global-booking-panel input, .dofely-global-booking-panel textarea {
    width: 100%;
    padding: 11px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    background: #fff
}

.dofely-global-booking-submit {
    justify-self: end
}

.dofely-global-romantic {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    color: #1A120D !important;
    font-size: 13px !important
}

.dofely-global-romantic input {
    width: auto !important;
    margin-top: 2px
}

.dofely-global-card-price {
    display: grid;
    gap: 3px;
    text-align: right
}

.dofely-global-card-price small {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #6d5f53;
    line-height: 1.25
}

@media (max-width: 620px) {
    .dofely-global-card-price {
        text-align: left
    }
}

.dofely-suite-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(26, 18, 13, .82);
    padding: 24px
}

.dofely-suite-lightbox.is-visible {
    display: flex
}

.dofely-suite-lightbox-panel {
    position: relative;
    width: min(980px, 100%);
    display: grid;
    gap: 10px
}

.dofely-suite-lightbox-stage, .dofely-extra-lightbox-stage {
    position: relative;
    justify-self: center;
    width: fit-content;
    max-width: 100%;
    line-height: 0;
}

.dofely-suite-lightbox-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 78vh;
    object-fit: contain;
    border-radius: 8px;
    background: #1A120D
}

.dofely-suite-lightbox-close, .dofely-extra-lightbox-close {
    position: absolute;
    border: 0;
    border-radius: 0;
    background: #1a120d;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22)
}

.dofely-suite-lightbox-close {
    top: -12px;
    right: -12px;
    width: 40px;
    height: 40px
}

.dofely-suite-lightbox-prev, .dofely-suite-lightbox-next,
.dofely-extra-lightbox-prev, .dofely-extra-lightbox-next {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    padding: 0;
    border: 2px solid #b18f62;
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    color: #b18f62;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .18)
}

.dofely-suite-lightbox-prev i, .dofely-suite-lightbox-next i,
.dofely-extra-lightbox-prev i, .dofely-extra-lightbox-next i,
.dofely-suite-lightbox-close i, .dofely-extra-lightbox-close i { line-height: 1; }

.dofely-suite-lightbox-prev:hover, .dofely-suite-lightbox-next:hover,
.dofely-extra-lightbox-prev:hover, .dofely-extra-lightbox-next:hover { color: #fff; background: #b18f62; }

.dofely-suite-lightbox-prev {
    left: 16px
}

.dofely-suite-lightbox-next {
    right: 16px
}

.dofely-suite-lightbox-counter {
    justify-self: center;
    color: #fff;
    font-weight: 800;
    font-size: 13px
}

.dofely-global-card-media {
    position: relative;
    cursor: pointer
}

.dofely-global-card-media:focus-visible {
    outline: 2px solid #b55f34;
    outline-offset: 2px
}

.dofely-global-gallery-count {
    position: absolute;
    left: 8px;
    bottom: 8px;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(26, 18, 13, .78);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .18)
}

@media (max-width: 620px) {
    .dofely-suite-lightbox {
        padding: 12px
    }

    .dofely-suite-lightbox-prev {
        left: 8px
    }

    .dofely-suite-lightbox-next {
        right: 8px
    }

    .dofely-suite-lightbox-close {
        top: 4px;
        right: 4px
    }
}

.dofely-extra-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(26, 18, 13, .82);
    padding: 24px
}

.dofely-extra-lightbox.is-visible {
    display: flex
}

.dofely-extra-lightbox-panel {
    position: relative;
    width: min(980px, 100%);
    display: grid;
    gap: 10px
}

.dofely-extra-lightbox-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 78vh;
    object-fit: contain;
    border-radius: 8px;
    background: #1A120D
}

.dofely-extra-lightbox-close {
    top: -12px;
    right: -12px;
    width: 40px;
    height: 40px
}

.dofely-extra-lightbox-prev {
    left: 16px
}

.dofely-extra-lightbox-next {
    right: 16px
}

.dofely-extra-lightbox-counter {
    justify-self: center;
    color: #fff;
    font-weight: 800;
    font-size: 13px
}

@media (max-width: 620px) {
    .dofely-extra-lightbox {
        padding: 12px
    }

    .dofely-extra-lightbox-prev {
        left: 8px
    }

    .dofely-extra-lightbox-next {
        right: 8px
    }

    .dofely-extra-lightbox-close {
        top: 4px;
        right: 4px
    }
}

.dofely-global-unified-calendar {
    border: 1px solid #e0d2c4;
    border-radius: 8px;
    padding: 20px;
    background: #fff
}

.dofely-global-unified-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 10px
}

.dofely-global-unified-title {
    display: grid;
    gap: 3px
}

.dofely-global-unified-month {
    font-weight: 900;
    text-transform: capitalize
}

.dofely-global-unified-note {
    font-size: 12px;
    color: #6d5f53
}

.dofely-global-unified-nav {
    display: flex;
    gap: 8px
}

.dofely-global-unified-nav button {
    height: 36px;
    min-width: 36px;
    border: 1px solid #d7c8bc;
    border-radius: 8px;
    background: #fff;
    color: #1A120D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 900;
    cursor: pointer
}

.dofely-global-unified-nav button:disabled {
    opacity: .35;
    cursor: not-allowed
}

.dofely-global-mini-day {
    position: relative;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 7px;
    text-decoration: none;
    overflow: hidden;
    aspect-ratio: 1/1;
    border: 1px solid #8ccf98;
    border-radius: 8px;
    background: #dff3e3;
    color: #15391d;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    min-width: 0;
    cursor: pointer
}

.dofely-global-mini-day:hover {
    border-color: #1A120D;
    background: #dff3e3
}

.dofely-global-mini-day-number {
    font-size: 13px;
    font-weight: 900;
    line-height: 1
}

.dofely-global-suite-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    align-items: flex-start
}

.dofely-global-suite-badge {
    font-size: 10px;
    line-height: 1;
    padding: 3px 4px;
    border-radius: 5px;
    background: #f1e2c8;
    color: #6b512f;
    border: 1px solid #d8c09b
}

.dofely-global-mini-day.is-empty {
    visibility: hidden
}

.dofely-global-mini-day.is-partial {
    background: #dff3e3;
    border-color: #8ccf98;
    color: #15391d
}

.dofely-global-mini-day.is-selected {
    background: #7fc98b;
    color: #103817;
    border-color: #27743a;
    box-shadow: inset 0 0 0 2px #27743a
}

.dofely-global-mini-day.is-selected .dofely-global-suite-badge {
    background: #eaf8ec;
    color: #103817;
    border-color: #5aa469
}

.dofely-global-mini-day.is-range {
    background: #b7e3bf;
    border-color: #5aa469;
    color: #15391d
}

.dofely-global-mini-day.is-checkout-disabled {
    opacity: .42;
    cursor: not-allowed
}

.dofely-global-mini-day.is-checkin-boundary {
    background: linear-gradient(135deg, #dff3e3 0, #dff3e3 48%, #9f8f80 49%, #9f8f80 51%, #f4d7d7 52%, #f4d7d7 100%);
    border-color: #d8ae82;
    color: #15391d;
    cursor: pointer
}

.dofely-global-mini-day.is-checkin-boundary:hover {
    background: linear-gradient(135deg, #dff3e3 0, #dff3e3 48%, #9f8f80 49%, #9f8f80 51%, #f4d7d7 52%, #f4d7d7 100%);
    border-color: #1A120D
}

.dofely-global-mini-day.is-checkin-boundary.is-selected {
    background: linear-gradient(135deg, #7fc98b 0, #7fc98b 48%, #27743a 49%, #27743a 51%, #f4d7d7 52%, #f4d7d7 100%);
    border-color: #27743a;
    color: #103817;
    box-shadow: inset 0 0 0 2px #27743a
}

.dofely-global-mini-day.is-checkin-boundary.is-selected:hover {
    background: linear-gradient(135deg, #7fc98b 0, #7fc98b 48%, #27743a 49%, #27743a 51%, #f4d7d7 52%, #f4d7d7 100%);
    border-color: #1A120D
}

.dofely-global-mini-day.is-busy {
    background: #f4d7d7;
    color: #8f1d1d;
    border-color: #d69a9a;
    text-decoration: none;
    cursor: not-allowed
}

.dofely-global-mini-day.is-busy:hover {
    background: #f4d7d7;
    border-color: #d69a9a
}

.dofely-global-mini-day.is-busy.is-checkin-boundary {
    background: linear-gradient(135deg, #dff3e3 0, #dff3e3 48%, #9f8f80 49%, #9f8f80 51%, #f4d7d7 52%, #f4d7d7 100%);
    border-color: #d8ae82;
    color: #8f1d1d;
    cursor: pointer
}

.dofely-global-mini-day.is-busy.is-checkin-boundary:hover {
    border-color: #1A120D
}

.dofely-global-mini-day.is-busy.is-checkin-boundary.is-selected {
    background: linear-gradient(135deg, #7fc98b 0, #7fc98b 48%, #27743a 49%, #27743a 51%, #f4d7d7 52%, #f4d7d7 100%);
    border-color: #27743a;
    color: #103817;
    box-shadow: inset 0 0 0 2px #27743a
}

.dofely-global-mini-day.is-busy .dofely-global-suite-badges {
    display: none
}

.dofely-global-mini-day.is-busy .dofely-global-mini-day-number {
    text-decoration: line-through
}

.dofely-global-mini-day.is-past {
    opacity: .45;
    background: #f1eee9;
    color: #8d837a;
    border-color: #d3ccc4;
    cursor: not-allowed
}

.dofely-global-mini-day.is-today {
    box-shadow: inset 0 0 0 2px #5aa469
}

@media (max-width: 520px) {
    .dofely-global-mini-day {
        padding: 5px
    }

    .dofely-global-suite-badge {
        font-size: 9px;
        padding: 2px 3px
    }

    .dofely-global-unified-head {
        display: grid
    }
}

.dofely-picker *, .dofely-booking-form *, .dofely-customer-panel *, .dofely-global-search *, .dofely-global-booking-panel * {
    box-sizing: border-box
}

.dofely-global-search-fields label, .dofely-global-mode-fields label, .dofely-picker-field, .dofely-customer-panel label, .dofely-global-booking-panel label {
    min-width: 0
}

.dofely-control, .dofely-picker input, .dofely-picker select, .dofely-picker textarea, .dofely-booking-form input, .dofely-booking-form select, .dofely-booking-form textarea, .dofely-customer-panel input, .dofely-customer-panel select, .dofely-customer-panel textarea, .dofely-global-search input:not([type=radio]):not([type=checkbox]):not([type=hidden]), .dofely-global-search select, .dofely-global-search textarea, .dofely-global-booking-panel input:not([type=checkbox]):not([type=hidden]), .dofely-global-booking-panel select, .dofely-global-booking-panel textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: .75rem 1rem;
    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #1A120D;
    background: #fff;
    background-clip: padding-box;
    border: 1px solid #dee2e6;
    border-radius: .375rem;
    box-shadow: none;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.dofely-global-search input:not([type=radio]):not([type=checkbox]):not([type=hidden]), .dofely-global-search select, .dofely-global-search textarea {
    border-color: #d7c8bc;
    border-radius: 0;
}

.dofely-global-search textarea, .dofely-global-booking-panel textarea, .dofely-booking-form textarea, .dofely-customer-panel textarea {
    min-height: 112px
}

.dofely-control:focus, .dofely-picker input:focus, .dofely-picker select:focus, .dofely-picker textarea:focus, .dofely-booking-form input:focus, .dofely-booking-form select:focus, .dofely-booking-form textarea:focus, .dofely-customer-panel input:focus, .dofely-customer-panel select:focus, .dofely-customer-panel textarea:focus, .dofely-global-search input:not([type=radio]):not([type=checkbox]):not([type=hidden]):focus, .dofely-global-search select:focus, .dofely-global-search textarea:focus, .dofely-global-booking-panel input:not([type=checkbox]):not([type=hidden]):focus, .dofely-global-booking-panel select:focus, .dofely-global-booking-panel textarea:focus {
    border-color: #c8a46a;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(200, 164, 106, .25)
}

.dofely-cta, .dofely-booking-form button[type=submit], .dofely-customer-submit, .dofely-fake-booking-button, .dofely-global-submit, .dofely-global-card-actions button, .dofely-global-booking-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: auto;
    height: auto;
    padding: 18px 34px !important;
    font-family: Inter, sans-serif;
    font-weight: 600;
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.2;
    color: #fff !important;
    background: #c8a46a !important;
    border: 1px solid #c8a46a !important;
    border-radius: 0 !important;
    text-decoration: none;
    cursor: pointer;
    transition: all .2s linear;
    white-space: nowrap;
    box-shadow: none
}

.dofely-cta:hover, .dofely-booking-form button[type=submit]:hover, .dofely-customer-submit:hover, .dofely-fake-booking-button:hover, .dofely-global-submit:hover, .dofely-global-card-actions button:hover, .dofely-global-booking-submit:hover {
    background: #b99355 !important;
    border-color: #b99355 !important;
    color: #fff !important
}

.dofely-cta:disabled, .dofely-booking-form button[type=submit]:disabled, .dofely-customer-submit:disabled, .dofely-fake-booking-button:disabled, .dofely-global-submit:disabled, .dofely-global-card-actions button:disabled, .dofely-global-booking-submit:disabled {
    opacity: .55;
    cursor: not-allowed
}

.dofely-picker-nav button, .dofely-guest-step button, .dofely-picker-reset, .dofely-global-unified-nav button, .dofely-suite-lightbox button {
    font-family: Inter, sans-serif
}

.dofely-global-tabs input[type=radio], .dofely-romantic-check input[type=checkbox], .dofely-global-romantic input[type=checkbox] {
    accent-color: #c8a46a
}

.dofely-global-submit {
    align-self: end
}

@media (max-width: 620px) {
    .dofely-cta, .dofely-booking-form button[type=submit], .dofely-customer-submit, .dofely-fake-booking-button, .dofely-global-submit, .dofely-global-card-actions button, .dofely-global-booking-submit {
        width: 100%
    }
}

/* Booking-result cards: scoped so the rest of Elementor is unaffected. */
.dofely-global-results-section .dofely-global-results { margin-top: 0; gap: 18px; }

.dofely-global-results-section .dofely-global-card {
    width: 100%;
    min-height: 235px;
    scroll-margin-top: 110px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(37, 25, 16, .08);
}

.dofely-global-results-section .dofely-global-card-head {
    display: grid;
    grid-template-columns: 52% 28% 20%;
    min-height: 240px;
    gap: 0;
    align-items: stretch;
}

.dofely-global-results-section .dofely-global-card-media {
    position: relative;
    width: 100%;
    height: 300px;
    min-height: 300px;
    aspect-ratio: auto;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #efe7dd;
}

.dofely-global-results-section .dofely-global-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.dofely-global-results-section .dofely-global-card-media,
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.has-gallery {
    touch-action: pan-y;
    user-select: none;
}

.dofely-global-results-section .dofely-global-card-media[data-suite-card-gallery],
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.has-gallery {
    cursor: grab;
}

.dofely-global-results-section .dofely-global-card-media[data-suite-card-gallery]:active,
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.has-gallery:active {
    cursor: grabbing;
}

.dofely-global-results-section .dofely-global-card-media img,
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.has-gallery img {
    -webkit-user-drag: none;
    user-select: none;
}

.dofely-global-results-section .dofely-global-card-media.is-dragging img,
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.has-gallery.is-dragging img {
    animation: none !important;
    pointer-events: none;
    transition: none !important;
}

.dofely-gallery-drag-preview {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    user-select: none;
}

.dofely-global-results-section .dofely-global-card-gallery-dots,
.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-dots { z-index: 2; }

@keyframes dofely-gallery-slide-next {
    from { opacity: .2; transform: translateX(8%); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes dofely-gallery-slide-prev {
    from { opacity: .2; transform: translateX(-8%); }
    to { opacity: 1; transform: translateX(0); }
}

.dofely-global-results-section .dofely-global-card-media.is-sliding-next img,
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.is-sliding-next img {
    animation: dofely-gallery-slide-next .3s ease-out;
}

.dofely-global-results-section .dofely-global-card-media.is-sliding-prev img,
.dofely-global-results-section .dofely-booking-details .dofely-extra-media.is-sliding-prev img {
    animation: dofely-gallery-slide-prev .3s ease-out;
}

.dofely-global-results-section .dofely-global-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 24px 26px;
}

.dofely-global-results-section .dofely-global-card-title {
    margin: 0;
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 29px;
    font-weight: 500;
    line-height: 1.05;
}

.dofely-global-results-section .dofely-global-card-description {
    margin: 4px 0 20px;
    color: #766c65;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.dofely-global-results-section .dofely-global-card-meta {
    display: grid;
    gap: 11px;
    margin: 0;
    color: #4e4843;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.dofely-global-results-section .dofely-global-card-meta span {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.dofely-global-results-section .dofely-global-card-meta span::before {
    width: 18px;
    min-width: 18px;
    margin-right: 12px;
    color: #b58c52;
    content: '✦';
    font-size: 14px;
    text-align: center;
}

.dofely-global-results-section .dofely-global-more-attributes {
    align-self: flex-start;
    margin-top: 12px;
    padding: 0;
    color: #8b6535;
    background: transparent;
    border: 0;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: underline;
    cursor: pointer;
}

.dofely-global-results-section .dofely-global-card-price {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 24px 20px;
    color: #17110d;
    border: 0;
    text-align: center;
}

.dofely-global-results-section .dofely-global-card-price::before {
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 1px;
    background: #e5ded7;
    content: '';
}

.dofely-global-results-section .dofely-global-card-rate {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.dofely-global-results-section .dofely-global-card-rate small,
.dofely-global-results-section .dofely-global-card-price > small {
    color: #625a55;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.dofely-global-results-section .dofely-global-card-rate small { display: inline; }
.dofely-global-results-section .dofely-global-card-price > small { display: block; margin-top: 4px; }

.dofely-global-results-section .dofely-late-checkin-badge {
    display: inline-flex;
    align-self: center;
    margin-top: 10px;
    padding: 6px 10px;
    border: 1px solid #dec695;
    border-radius: 999px;
    background: #faf4e7;
    color: #72501e;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.dofely-global-results-section .dofely-global-alternative-slot {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    color: #625a55;
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-align: left;
}
.dofely-global-results-section .dofely-global-alternative-slot select {
    width: 100%;
    min-height: 36px;
    padding: 6px 8px;
    border: 1px solid #d7c8bc;
    border-radius: 3px;
    background: #fff;
    color: #2a241f;
    font: inherit;
}

.dofely-global-results-section .dofely-global-card-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 18px;
}

.dofely-global-results-section .dofely-global-card-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    color: #fff;
    background: #cda866;
    border: 0;
    border-radius: 3px;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

.dofely-global-results-section .dofely-global-card-actions button:hover { background: #b99151; }

.dofely-global-results-section .dofely-global-card-actions a {
    margin-top: 15px;
    color: #8b6535;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: underline;
}

.dofely-global-results-section .dofely-global-card-gallery-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    color: #b18f62;
    background: rgba(255, 255, 255, .96);
    border: 2px solid #b18f62;
    border-radius: 50%;
    font-size: 12px;
    line-height: 1;
}

.dofely-global-results-section .dofely-global-card-gallery-nav i { line-height: 1; }

.dofely-global-results-section .dofely-global-card-gallery-nav.is-prev { left: 16px; }
.dofely-global-results-section .dofely-global-card-gallery-nav.is-next { right: 16px; }
.dofely-global-results-section .dofely-global-card-gallery-nav:hover { color: #fff; background: #b18f62; border-color: #b18f62; }
.dofely-global-results-section .dofely-global-card-gallery-dots { bottom: 12px; }

.dofely-suite-attributes-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: #fff;
    background: #1a120d;
    border: 0;
    border-radius: 0;
    font-size: 14px;
    line-height: 1;
}

.dofely-suite-attributes-modal-close:hover { background: #9b7a47; }
.dofely-suite-attributes-modal-close i { line-height: 1; }

@media (max-width: 1024px) {
    .dofely-global-results-section .dofely-global-card-head { grid-template-columns: 45% 32% 23%; }
    .dofely-global-results-section .dofely-global-card-content { padding: 22px; }
    .dofely-global-results-section .dofely-global-card-title { font-size: 26px; }
    .dofely-global-results-section .dofely-global-card-rate { font-size: 31px; }
}

@media (max-width: 700px) {
    .dofely-global-results-section .dofely-global-card-head { grid-template-columns: 1fr; }
    .dofely-global-results-section .dofely-global-card-media { min-height: 220px; aspect-ratio: 16 / 10; }
    .dofely-global-results-section .dofely-global-card-price { padding: 22px; }
    .dofely-global-results-section .dofely-global-card-price::before { top: 0; right: 22px; bottom: auto; left: 22px; width: auto; height: 1px; }
    .dofely-global-results-section .dofely-global-card-actions { max-width: 320px; width: 100%; margin-right: auto; margin-left: auto; }
}

/* Selected-suite booking step: all styles stay inside the booking panel. */
.dofely-global-results-section .dofely-booking-details {
    gap: 0;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid #e8e0d7;
    border-radius: 0 0 12px 12px;
    background: #fff;
}

.dofely-global-results-section .dofely-booking-details > .dofely-booking-section,
.dofely-global-results-section .dofely-booking-details > [data-dayuse-checkout-details] > .dofely-booking-section {
    padding: 24px 28px;
    border-top: 1px solid #e8e0d7;
}

.dofely-global-results-section .dofely-booking-details > .dofely-booking-section:first-of-type { border-top: 0; }

.dofely-global-results-section .dofely-booking-details > [data-dayuse-checkout-details] > .dofely-booking-section:first-child { border-top: 0; }

.dofely-global-results-section .dofely-dayuse-configuration {
    display: grid;
    gap: 22px;
}

.dofely-global-results-section .dofely-dayuse-choice-group {
    display: grid;
    gap: 8px;
}

.dofely-global-results-section .dofely-dayuse-choice-group h4 {
    margin: 0;
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1;
}

.dofely-global-results-section .dofely-dayuse-choice-group p,
.dofely-global-results-section .dofely-dayuse-choice-hint {
    margin: 0;
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 13px;
    line-height: 1.45;
}

.dofely-global-results-section .dofely-dayuse-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 10px;
    max-width: 580px;
}

.dofely-global-results-section .dofely-dayuse-choice {
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #ded4c8;
    border-radius: 0;
    background: #fff;
    color: #3f352f;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.dofely-global-results-section .dofely-dayuse-choice:hover,
.dofely-global-results-section .dofely-dayuse-choice:focus-visible {
    border-color: #b89b84;
    background: #faf6f1;
    outline: 0;
}

.dofely-global-results-section .dofely-dayuse-choice.is-selected {
    border-color: #cda866;
    background: #cda866;
    color: #fff;
}

.dofely-global-results-section .dofely-dayuse-choice-summary {
    display: grid;
    gap: 5px;
    padding: 18px 20px;
    border: 1px solid #e8e0d7;
    background: #faf8f5;
}

.dofely-global-results-section .dofely-dayuse-choice-summary > span,
.dofely-global-results-section .dofely-dayuse-choice-summary small {
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 13px;
}

.dofely-global-results-section .dofely-dayuse-choice-summary > strong {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 25px;
    font-weight: 600;
}

.dofely-global-results-section .dofely-dayuse-choice-summary > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #e8e0d7;
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 13px;
}

.dofely-global-results-section .dofely-dayuse-choice-summary > div strong {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 27px;
    font-weight: 600;
}

.dofely-global-results-section .dofely-dayuse-choice-price {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 10px;
}

.dofely-global-results-section .dofely-dayuse-choice-price small {
    color: #8b8179;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
}

.dofely-global-results-section .dofely-dayuse-choice-price s {
    color: #8b8179;
}

.dofely-global-results-section .dofely-dayuse-configuration > .dofely-global-booking-submit {
    width: min(100%, 300px);
    margin-top: 2px;
}

.dofely-global-results-section .dofely-booking-section-title {
    margin: 0 0 18px;
    color: #17110d;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.dofely-global-results-section .dofely-booking-required-note {
    margin: -9px 0 18px;
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 11px;
    line-height: 1.4;
}

.dofely-global-results-section .dofely-booking-required-note span,
.dofely-global-results-section .dofely-booking-required-mark { color: #b58c52; }

.dofely-global-results-section .dofely-booking-label-text { display: block; }

.dofely-global-results-section .dofely-booking-label-text .dofely-booking-required-mark {
    display: inline;
    margin-left: 2px;
    font-size: inherit;
    line-height: 1;
}

.dofely-global-results-section .dofely-booking-details .dofely-checkout-summary {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-title { display: none; }

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-lines {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
}

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-column {
    display: grid;
    align-content: start;
}

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-line {
    display: grid;
    grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
    padding: 9px 0;
    border-bottom: 1px solid #eee7df;
    color: #2a241f;
    font-family: Inter, sans-serif;
    font-size: 13px;
    line-height: 1.4;
}

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-lines > .dofely-checkout-summary-line:first-child {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    padding-top: 0;
}

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-lines > .dofely-checkout-summary-line:first-child span { display: none; }

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-lines > .dofely-checkout-summary-line:first-child strong {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.05;
    text-align: left;
}

.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-line > span { color: #6f665f; }
.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-line strong { min-width: 0; color: #2a241f; font-weight: 500; text-align: right; }
.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-line a { color: #8b6535; }
.dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-line p { margin: 0; }

.dofely-global-results-section .dofely-booking-cost-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 50%;
    margin: 22px auto 0;
    padding: 16px 0;
    border: 1px solid #e8e0d7;
    background: #faf8f5;
}

.dofely-global-results-section .dofely-booking-cost-summary .dofely-checkout-summary-line {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    align-content: start;
    padding: 0 16px;
    border: 0;
    border-left: 1px solid #e8e0d7;
    color: #2a241f;
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 1.35;
}

.dofely-global-results-section .dofely-booking-cost-summary .dofely-checkout-summary-line:first-child { border-left: 0; }
.dofely-global-results-section .dofely-booking-cost-summary .dofely-checkout-summary-line > span { color: #6f665f; }

/* Keep the two primary values side by side. City tax is informative but must
   not consume the second column and push the stay total onto another row. */
.dofely-global-results-section .dofely-booking-cost-summary > [data-global-stay-total] {
    grid-column: 2;
    grid-row: 1;
}

.dofely-global-results-section .dofely-booking-cost-summary > [data-shared-city-tax-row] {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e8e0d7;
    border-left: 0;
}

.dofely-global-results-section .dofely-booking-cost-summary .dofely-checkout-summary-line strong {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 21px;
    font-weight: 500;
    line-height: 1;
    text-align: left;
}

.dofely-global-results-section .dofely-booking-cost-extras ul {
    display: grid;
    gap: 4px;
    margin: 8px 0 0;
    padding: 0 0 0 17px;
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
}

.dofely-global-results-section .dofely-booking-cost-extras li::marker { color: #b58c52; }

.dofely-global-results-section .dofely-booking-details .dofely-checkout-summary-note {
    margin-top: 12px;
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 1.45;
}

.dofely-global-results-section .dofely-booking-details label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #80766e;
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.dofely-global-results-section .dofely-booking-details input:not([type=checkbox]):not([type=hidden]),
.dofely-global-results-section .dofely-booking-details textarea {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #ded4c8;
    border-radius: 3px;
    background: #fff;
    color: #2a241f;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.4;
    text-transform: none;
}

.dofely-global-results-section .dofely-booking-details textarea {
    min-height: 90px;
    padding: 12px 14px;
    resize: vertical;
}

.dofely-global-results-section .dofely-booking-details input:not([type=checkbox]):not([type=hidden]):focus,
.dofely-global-results-section .dofely-booking-details textarea:focus {
    border-color: #b89b84;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(184, 155, 132, .12);
}

.dofely-global-results-section .dofely-booking-details .dofely-global-booking-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dofely-global-results-section .dofely-booking-details .dofely-global-extra-options {
    display: grid;
    gap: 0;
    margin: 0;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: center;
    min-height: 120px;
    margin: 0;
    padding: 18px 0;
    border: 0;
    border-top: 1px solid #eee7df;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-card:first-child { padding-top: 0; border-top: 0; }
.dofely-global-results-section .dofely-booking-details .dofely-extra-card:hover { border-color: #eee7df; background: transparent; }

.dofely-global-results-section .dofely-booking-details .dofely-extra-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 6px;
    justify-self: start;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-media img {
    height: 100%;
    max-width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
    object-fit: cover;
    object-position: center;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-width: 0;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-name {
    color: #2b251f;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 600;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-description {
    color: #7a716a;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-price {
    grid-column: auto;
    grid-row: auto;
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 23px;
    font-weight: 500;
    white-space: nowrap;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-payment-info { font-size: 11px; font-weight: 500; }

.dofely-global-results-section .dofely-booking-details .dofely-extra-aside {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    color: #b18f62;
    background: rgba(255, 255, 255, .96);
    border: 2px solid #b18f62;
    border-radius: 50%;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-nav i { line-height: 1; }
.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-nav.is-prev { left: 6px; }
.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-nav.is-next { right: 6px; }
.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-nav:hover { color: #fff; background: #b18f62; }

.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-dots {
    position: absolute;
    bottom: 8px;
    left: 50%;
    display: flex;
    gap: 5px;
    transform: translateX(-50%);
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .58);
}

.dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-dots i.is-active { background: #fff; }
.dofely-global-results-section .dofely-booking-details .dofely-extra-card input[type=checkbox],
.dofely-global-results-section .dofely-booking-details .dofely-global-romantic input[type=checkbox],
.dofely-global-results-section .dofely-booking-details .dofely-policy-acceptance input[type=checkbox] {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px;
    min-height: 18px !important;
    margin: 0 !important;
    accent-color: #cda866;
}

.dofely-global-results-section .dofely-booking-details .dofely-global-romantic {
    display: flex !important;
    align-items: center;
    gap: 12px;
    color: #2b251f !important;
    font-family: Inter, sans-serif;
    font-size: 14px !important;
    font-weight: 500;
    letter-spacing: normal;
    text-transform: none;
}

.dofely-global-results-section .dofely-booking-voucher {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.dofely-global-results-section .dofely-booking-voucher .dofely-cta {
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: 3px;
    background: #cda866;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
}

.dofely-global-results-section .dofely-booking-utilities > label { margin-top: 16px; }

.dofely-global-results-section .dofely-booking-details .dofely-policy-acceptance {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #5f5751;
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.45;
    text-transform: none;
}

.dofely-global-results-section .dofely-booking-details .dofely-policy-acceptance span { display: block; }
.dofely-global-results-section .dofely-booking-details .dofely-policy-acceptance a { color: #8b6535; }

.dofely-global-results-section .dofely-booking-final-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
    gap: 24px;
    align-items: center;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #e8e0d7;
}

.dofely-global-results-section .dofely-booking-final .dofely-checkout-summary-total {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin: 0;
    padding: 0;
    border: 0;
}

.dofely-global-results-section .dofely-booking-final .dofely-checkout-summary-total span {
    color: #6f665f;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.dofely-global-results-section .dofely-booking-final .dofely-checkout-summary-total strong {
    color: #17110d;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
}

.dofely-global-results-section .dofely-booking-final .dofely-global-booking-submit {
    justify-self: stretch;
    min-width: 240px;
    min-height: 48px;
    padding: 12px 20px;
    border: 0;
    border-radius: 3px;
    background: #cda866;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 700px) {
    .dofely-global-results-section .dofely-booking-details > .dofely-booking-section,
    .dofely-global-results-section .dofely-booking-details > [data-dayuse-checkout-details] > .dofely-booking-section { padding: 20px 16px; }
    .dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-lines,
    .dofely-global-results-section .dofely-booking-details .dofely-global-booking-grid { grid-template-columns: 1fr; }
    .dofely-global-results-section .dofely-booking-stay .dofely-checkout-summary-line { grid-template-columns: minmax(88px, auto) minmax(0, 1fr); }
    .dofely-global-results-section .dofely-booking-cost-summary { grid-template-columns: 1fr; width: 100%; gap: 12px; padding: 16px; }
    .dofely-global-results-section .dofely-booking-cost-summary .dofely-checkout-summary-line { padding: 0; border: 0; }
    .dofely-global-results-section .dofely-booking-cost-summary > [data-global-stay-total],
    .dofely-global-results-section .dofely-booking-cost-summary > [data-shared-city-tax-row] { grid-column: auto; grid-row: auto; margin-top: 0; padding-top: 0; }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-card {
        grid-template-columns: 84px minmax(0, 1fr);
        grid-template-areas:
            "media body"
            "aside aside";
        gap: 14px;
        align-items: start;
        min-height: auto;
        padding: 16px 0;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-media {
        grid-area: media;
        width: 84px;
        height: 84px;
        aspect-ratio: 1;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-body {
        grid-area: body;
        align-self: start;
        gap: 6px;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-name {
        line-height: 1.3;
        word-break: normal;
        overflow-wrap: break-word;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-description {
        overflow-wrap: break-word;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-aside {
        grid-area: aside;
        align-items: center;
        justify-content: space-between;
        padding-top: 2px;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-price {
        grid-column: auto;
        grid-row: auto;
        font-size: 26px;
        line-height: 1;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-card input[type=checkbox] {
        grid-column: auto;
        grid-row: auto;
    }
    .dofely-global-results-section .dofely-booking-details .dofely-extra-gallery-nav {
        width: 20px;
        height: 20px;
        border-width: 1px;
        font-size: 10px;
    }
    .dofely-global-results-section .dofely-booking-voucher,
    .dofely-global-results-section .dofely-booking-final-actions { grid-template-columns: 1fr; }
    .dofely-global-results-section .dofely-booking-voucher .dofely-cta,
    .dofely-global-results-section .dofely-booking-final .dofely-global-booking-submit { width: 100%; min-width: 0; }
    .dofely-global-results-section .dofely-dayuse-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
    .dofely-global-results-section .dofely-dayuse-configuration > .dofely-global-booking-submit { width: 100%; }
}

/* Availability fallback calendar: visual treatment only. The availability
   states and the range-selection classes are generated by the existing JS. */
.dofely-global-results-section--empty .dofely-global-empty {
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #e8cbc6;
    border-radius: 6px;
    background: #fcf3f1;
    color: #7a4d46;
    font-family: Inter, sans-serif;
    font-size: 12px;
    line-height: 1.4;
}

.dofely-global-results-section--empty .dofely-global-calendars {
    gap: 8px;
    margin-top: 12px;
}

.dofely-global-results-section--empty .dofely-global-calendars-title {
    color: #17110d;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dofely-global-results-section--empty .dofely-global-unified-calendar {
    padding: 18px;
    border: 1px solid #e8e0d7;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(30, 20, 10, .05);
}

.dofely-global-results-section--empty .dofely-global-unified-head {
    align-items: center;
    margin-bottom: 8px;
}

.dofely-global-results-section--empty .dofely-global-unified-month {
    color: #17110d;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
}

.dofely-global-results-section--empty .dofely-global-unified-note {
    color: #8a8179;
    font-family: Inter, sans-serif;
    font-size: 10px;
    line-height: 1.3;
}

/* The compact suite calendar previews Day use only. Actual arrival and
   duration are intentionally selected in the shared results/checkout flow. */
.dofely-suite-calendar .dofely-suite-calendar__dayuse-preview {
    background: #faf8f5;
    border-color: #e8e0d7;
}

.dofely-suite-calendar .dofely-suite-calendar__dayuse-preview .dofely-dayuse-grid,
.dofely-suite-calendar .dofely-suite-calendar__dayuse-preview .dofely-dayuse-output {
    display: none !important;
}

.dofely-suite-calendar .dofely-suite-calendar__dayuse-from {
    margin-top: 12px;
    color: #17110d;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
}

.dofely-global-results-section--empty .dofely-global-unified-nav { gap: 6px; }

.dofely-global-results-section--empty .dofely-global-unified-nav button {
    width: 30px;
    min-width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #e3d8cd;
    border-radius: 50%;
    background: #fff;
    color: #8b6535;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.dofely-global-results-section--empty .dofely-global-unified-nav button:hover:not(:disabled) {
    border-color: #cda866;
    background: #f6f1eb;
    color: #17110d;
}

.dofely-global-results-section--empty .dofely-global-mini-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
}

.dofely-global-results-section--empty .dofely-global-mini-weekday {
    min-height: 18px;
    color: #8a8179;
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 18px;
    text-transform: uppercase;
}

.dofely-global-results-section--empty .dofely-global-mini-day {
    height: 58px;
    min-height: 58px;
    padding: 5px;
    gap: 3px;
    aspect-ratio: auto;
    border: 1px solid #91b99a;
    border-radius: 4px;
    background: #eaf4ec;
    color: #2f2924;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    transition: border-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

.dofely-global-results-section--empty .dofely-global-mini-day:hover:not(.is-busy):not(.is-past):not(.is-checkout-disabled) {
    border-color: #cda866;
    filter: brightness(.985);
}

.dofely-global-results-section--empty .dofely-global-mini-day-number {
    color: currentColor;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-dayuse-day {
    flex-direction: column;
    justify-content: flex-start;
    padding: 6px 3px;
    text-align: center;
}
.dofely-global-results-section--empty .dofely-global-dayuse-slots {
    font-size: 8px;
    font-weight: 600;
    line-height: 1.2;
}

.dofely-global-results-section--empty .dofely-global-suite-badges { gap: 2px; }

.dofely-global-results-section--empty .dofely-global-suite-badge {
    padding: 2px 3px;
    border: 1px solid #dfcfb5;
    border-radius: 3px;
    background: #f6eee3;
    color: #76572e;
    font-family: Inter, sans-serif;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.15;
}

/* Badge colour identifies the suite only. It must not change when the guest
   selects a start or end date. */
.dofely-global-results-section--empty .dofely-global-mini-day.is-selected .dofely-global-suite-badge {
    border-color: #dfcfb5;
    background: #f6eee3;
    color: #76572e;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-busy {
    border-color: #d6a2a2;
    background: #f8e7e7;
    color: #884942;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-checkin-boundary,
.dofely-global-results-section--empty .dofely-global-mini-day.is-busy.is-checkin-boundary {
    border-color: #c6a889;
    background: linear-gradient(135deg, #eaf4ec 0, #eaf4ec 48.5%, #c6a889 49%, #c6a889 51%, #f8e7e7 51.5%, #f8e7e7 100%);
    color: #2f2924;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-selected,
.dofely-global-results-section--empty .dofely-global-mini-day.is-checkin-boundary.is-selected,
.dofely-global-results-section--empty .dofely-global-mini-day.is-busy.is-checkin-boundary.is-selected {
    border-color: #b58c52;
    box-shadow: inset 0 0 0 2px #b58c52;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-selected:not(.is-checkin-boundary) {
    background: #f3ece4;
    color: #2f2924;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-range {
    border-color: #e2d0bc;
    background: #f3ece4;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-range.is-busy {
    border-color: #d6a2a2;
    background: #f8e7e7;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-range.is-checkin-boundary,
.dofely-global-results-section--empty .dofely-global-mini-day.is-range.is-busy.is-checkin-boundary {
    border-color: #c6a889;
    background: linear-gradient(135deg, #f3ece4 0, #f3ece4 48.5%, #c6a889 49%, #c6a889 51%, #f8e7e7 51.5%, #f8e7e7 100%);
}

/* Selection is an overlay: the booking availability colour below it remains
   recognisable, while intermediate nights form one continuous warm range. */
.dofely-global-results-section--empty .dofely-global-mini-day.is-range::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    content: "";
    background: rgba(243, 236, 228, .96);
    pointer-events: none;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-range > * {
    position: relative;
    z-index: 1;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-range-start .dofely-global-mini-day-number,
.dofely-global-results-section--empty .dofely-global-mini-day.is-range-end .dofely-global-mini-day-number {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #17110d;
    color: #fff;
    font-weight: 600;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-past,
.dofely-global-results-section--empty .dofely-global-mini-day.is-checkout-disabled {
    border-color: #e8e0d7;
    background: #f6f1eb;
    color: #aaa19a;
}

.dofely-global-results-section--empty .dofely-global-mini-day.is-today {
    box-shadow: inset 0 0 0 1px #cda866;
}

.dofely-global-search .dofely-global-submit {
    transition: box-shadow .25s ease, transform .25s ease;
}

.dofely-global-search .dofely-global-submit.is-search-highlighted {
    box-shadow: 0 0 0 4px rgba(205, 168, 102, .2);
    transform: translateY(-1px);
}

@media (max-width: 620px) {
    .dofely-global-results-section--empty .dofely-global-unified-calendar { padding: 12px; }
    .dofely-global-results-section--empty .dofely-global-mini-grid { gap: 3px; }
    .dofely-global-results-section--empty .dofely-global-mini-day {
        height: 44px;
        min-height: 44px;
        padding: 4px;
    }
    .dofely-global-results-section--empty .dofely-global-mini-day-number { font-size: 11px; }
    .dofely-global-results-section--empty .dofely-global-suite-badge {
        padding: 1px 2px;
        font-size: 8px;
    }
}
