/* =========================================================
   RUPA
   ACCOUNT + RESERVATIONS + DASHBOARD
========================================================= */


/*
=========================================================
VARI VEIS
=========================================================
*/

:root {
    --account-bg: #f6f4ee;
    --account-white: #ffffff;
    --account-text: #182019;
    --account-muted: #6f766f;
    --account-soft: #f8f7f3;
    --account-border: #dedbd3;
    --account-green: #687153;
    --account-green-dark: #596347;
    --account-header: #21483f;
    --account-success-bg: #f0f5eb;
    --account-success-border: #cbd4bf;
    --account-success-text: #536047;
    --account-warning-bg: #faf5e8;
    --account-warning-text: #826d3d;
    --account-error-bg: #faf0ed;
    --account-error-text: #80554b;
}


/* =========================================================
   BASE
========================================================= */

.account-page,
.reservation-page,
.account-dashboard-page {
    min-height: 70vh;
    background: var(--account-bg);
    color: var(--account-text);
}

.account-dashboard-page * {
    box-sizing: border-box;
}

.account-dashboard-page a {
    color: inherit;
    text-decoration: none;
}


/*
=========================================================
HEADER DAS P GINAS INTERNAS
=========================================================
*/

body.page-template-page-login .site-header,
body.page-template-page-registo .site-header,
body.page-template-page-pedido-reserva .site-header,
body.page-template-page-minha-conta .site-header {
    position: relative;
    top: 0 !important;
    z-index: 50;
    padding: 26px 0;
    background: var(--account-header);
    color: #fff;
}

body.page-template-page-login .site-logo,
body.page-template-page-registo .site-logo,
body.page-template-page-pedido-reserva .site-logo,
body.page-template-page-minha-conta .site-logo,
body.page-template-page-login .main-nav a,
body.page-template-page-registo .main-nav a,
body.page-template-page-pedido-reserva .main-nav a,
body.page-template-page-minha-conta .main-nav a {
    color: #fff;
}


/* =========================================================
   LOGIN / REGISTO
========================================================= */

.account-auth-section {
    padding: 85px 0 110px;
}

.account-auth-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 470px;
    gap: 100px;
    align-items: center;
}

.account-auth-intro {
    max-width: 580px;
}

.account-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--account-green);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.account-auth-intro h1 {
    margin: 0 0 22px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: clamp(48px, 6vw, 72px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.04em;
}

.account-auth-intro p {
    max-width: 450px;
    margin: 0;
    color: #626962;
    font-size: 15px;
    line-height: 1.8;
}

.account-card {
    padding: 38px;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(26, 36, 28, .07);
}

.account-card h2 {
    margin: 0 0 27px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 31px;
    font-weight: 400;
}


/*
=========================================================
FORMUL RIOS
=========================================================
*/

.account-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.account-field,
.reservation-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.account-field label,
.reservation-field label {
    color: #465047;
    font-size: 11px;
    font-weight: 600;
}

.account-field input,
.account-field select,
.account-field textarea,
.reservation-field input,
.reservation-field select,
.reservation-field textarea {
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid #dad7cf;
    border-radius: 9px;
    outline: 0;
    background: #fff;
    color: var(--account-text);
    font-family: Inter, Arial, sans-serif;
    font-size: 13px;
    transition: border .2s ease, box-shadow .2s ease;
}

.account-field textarea,
.reservation-field textarea {
    min-height: 125px;
    padding: 14px;
    resize: vertical;
    line-height: 1.6;
}

.account-field input:focus,
.account-field select:focus,
.account-field textarea:focus,
.reservation-field input:focus,
.reservation-field select:focus,
.reservation-field textarea:focus {
    border-color: var(--account-green);
    box-shadow: 0 0 0 3px rgba(104, 113, 83, .08);
}

.account-field small,
.reservation-field label small {
    color: #929792;
    font-size: 9px;
    font-weight: 400;
    text-transform: uppercase;
}

.account-checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #646a64;
    font-size: 11px;
}


/*
=========================================================
BOT ES
=========================================================
*/

.account-primary-button,
.account-secondary-button,
.reservation-primary-button,
.reservation-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: Inter, Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background .2s ease,
        border .2s ease,
        transform .2s ease;
}

.account-primary-button,
.reservation-primary-button {
    background: var(--account-green);
    color: #fff;
}

.account-primary-button:hover,
.reservation-primary-button:hover {
    background: var(--account-green-dark);
    transform: translateY(-1px);
}

.account-secondary-button,
.reservation-secondary-button {
    border-color: #dcd9d1;
    background: #fff;
    color: #344139;
}

.account-secondary-button:hover,
.reservation-secondary-button:hover {
    border-color: var(--account-green);
}

.account-card-footer {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid #ebe7df;
    color: #777d77;
    font-size: 11px;
}

.account-card-footer a {
    color: #526048;
    font-weight: 600;
}


/* =========================================================
   MENSAGENS DE SISTEMA
========================================================= */

.account-message {
    margin-bottom: 24px;
    padding: 14px 16px;
    border-radius: 9px;
    font-size: 12px;
    line-height: 1.55;
}

.account-message.is-error {
    border: 1px solid #e0c3bc;
    background: var(--account-error-bg);
    color: var(--account-error-text);
}

.account-message.is-success {
    border: 1px solid var(--account-success-border);
    background: var(--account-success-bg);
    color: var(--account-success-text);
}


/* =========================================================
   PAGINA PEDIDO DE RESERVA
========================================================= */

.reservation-layout-section {
    padding: 62px 0 110px;
}

.reservation-page-heading {
    max-width: 780px;
    margin-bottom: 52px;
}

.reservation-back {
    display: inline-flex;
    margin-bottom: 31px;
    color: #66705e;
    font-size: 12px;
    transition: transform .2s ease;
}

.reservation-back:hover {
    transform: translateX(-4px);
}

.reservation-eyebrow {
    display: block;
    margin-bottom: 9px;
    color: var(--account-green);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.reservation-page-heading h1 {
    margin: 0 0 17px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: clamp(46px, 5vw, 64px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.04em;
}

.reservation-page-heading p {
    margin: 0;
    color: #646b64;
    font-size: 14px;
    line-height: 1.75;
}

.reservation-main-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
}


/* =========================================================
   RESUMO DO QUARTO
========================================================= */

.reservation-room-summary {
    position: sticky;
    top: 30px;
    overflow: hidden;
    border: 1px solid var(--account-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(28, 37, 29, .055);
}

.admin-bar .reservation-room-summary {
    top: 62px;
}

.reservation-room-photo {
    height: 225px;
    overflow: hidden;
    background: #dedbd4;
}

.reservation-room-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reservation-room-summary-body {
    padding: 26px;
}

.reservation-room-type {
    display: inline-flex;
    margin-bottom: 13px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eef1e9;
    color: #58634b;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.reservation-room-summary h2 {
    margin: 0 0 7px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 26px;
    font-weight: 400;
}

.reservation-room-small {
    margin: 0 0 25px;
    color: #7a807a;
    font-size: 11px;
}

.reservation-summary-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    padding-top: 23px;
    border-top: 1px solid #ebe7df;
}

.reservation-summary-cards > div,
.reservation-minimum-stay {
    padding: 17px;
    border: 1px solid #e2dfd8;
    border-radius: 11px;
    background: #f8f7f3;
}

.reservation-summary-cards span,
.reservation-minimum-stay span {
    display: block;
    margin-bottom: 8px;
    color: #92988f;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.reservation-summary-cards strong,
.reservation-minimum-stay strong {
    color: #243028;
    font-size: 18px;
    font-weight: 600;
}

.reservation-summary-cards small {
    color: #929792;
    font-size: 9px;
}

.reservation-minimum-stay {
    margin-top: 11px;
}


/* =========================================================
   TOTAL DA RESERVA
========================================================= */

.reservation-initial-total {
    margin-top: 26px;
    padding-top: 25px;
    border-top: 1px solid #ebe7df;
}

.reservation-initial-total > span:first-child {
    display: block;
    margin-bottom: 17px;
    color: #879086;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.reservation-initial-total p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 11px;
    color: #656c65;
    font-size: 11px;
}

.reservation-initial-total p strong {
    color: #28332b;
}

.reservation-total-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-top: 21px;
    padding-top: 20px;
    border-top: 2px solid #ece8e0;
}

.reservation-total-line span {
    color: #29342c;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.reservation-total-line strong {
    font-size: 27px;
}

.reservation-initial-total > small {
    display: block;
    margin-top: 14px;
    color: #929792;
    font-size: 9px;
    line-height: 1.55;
}


/* =========================================================
   PAGINA DA RESERVA
========================================================= */

.reservation-process-column {
    display: grid;
    gap: 22px;
}

.reservation-panel {
    padding: 36px 40px;
    border: 1px solid var(--account-border);
    border-radius: 17px;
    background: #fff;
}

.reservation-panel-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

.reservation-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 10px;
    background: #f2f1ec;
    color: #536048;
    font-size: 19px;
}

.reservation-panel-title > div > span {
    display: block;
    margin-bottom: 3px;
    color: #92988f;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.reservation-panel-title h2 {
    margin: 0;
    color: #253128;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* =========================================================
   DATAS
========================================================= */

.reservation-dates-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.reservation-date-box {
    padding: 17px;
    border: 1px solid var(--account-border);
    border-radius: 10px;
    background: #f8f7f3;
}

.reservation-date-box span {
    display: block;
    margin-bottom: 8px;
    color: #969c95;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.reservation-date-box strong {
    color: #263128;
    font-size: 14px;
}

.reservation-dates-note {
    margin: 18px 0 0;
    color: #858c85;
    font-size: 10px;
    line-height: 1.6;
}

.reservation-dates-note.is-warning {
    color: #8a655a;
}


/* =========================================================
   RESERVA SEM LOGIN
========================================================= */

.reservation-login-info {
    margin-bottom: 21px;
    padding: 18px;
    border: 1px solid #d4decc;
    border-radius: 11px;
    background: #f1f5ed;
}

.reservation-login-info strong {
    display: block;
    margin-bottom: 7px;
    color: #485742;
    font-size: 12px;
}

.reservation-login-info p {
    margin: 0;
    color: #677062;
    font-size: 11px;
    line-height: 1.6;
}

.reservation-account-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.reservation-account-option {
    padding: 24px;
    border: 1px solid var(--account-border);
    border-radius: 13px;
    background: #f8f7f3;
}

.reservation-account-option.is-highlighted {
    border-color: #ced8c6;
    background: #f3f6ef;
}

.reservation-account-option h3 {
    margin: 0 0 9px;
    color: #28332b;
    font-size: 13px;
    text-transform: uppercase;
}

.reservation-account-option p {
    min-height: 48px;
    margin: 0 0 20px;
    color: #7b827b;
    font-size: 10px;
    line-height: 1.6;
}


/* =========================================================
   UTILIZADOR LIGADO
========================================================= */

.reservation-user-connected {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 28px;
    padding: 13px 15px;
    border: 1px solid #d8dfd2;
    border-radius: 9px;
    background: #f4f6f1;
    color: #667064;
    font-size: 9px;
    text-transform: uppercase;
}

.reservation-user-connected > span {
    width: 7px;
    height: 7px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--account-green);
}

.reservation-user-connected strong {
    color: #4c5947;
}

.reservation-user-connected small {
    color: #7f877f;
    font-size: inherit;
}


/*
=========================================================
FORMUL RIO FINAL DA RESERVA
=========================================================
*/

.reservation-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.reservation-field-full {
    grid-column: 1 / -1;
}

.reservation-confirmation {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 25px 0 18px;
    color: #656c65;
    font-size: 10px;
    line-height: 1.6;
}

.reservation-confirmation input {
    margin-top: 2px;
}

.reservation-submit-button {
    width: 100%;
    min-height: 55px;
    border: 0;
    border-radius: 7px;
    background: var(--account-green);
    color: #fff;
    font-family: Inter, Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.reservation-submit-button:hover {
    background: var(--account-green-dark);
    transform: translateY(-1px);
}

.reservation-submit-button:disabled {
    background: #b1b5ab;
    cursor: not-allowed;
    transform: none;
}

.reservation-submit-note {
    margin: 12px 0 0;
    color: #929792;
    font-size: 9px;
    text-align: center;
}


/*
=========================================================
DASHBOARD ESTRUTURA
=========================================================
*/

.account-dashboard {
    padding: 64px 0 110px;
}

.account-dashboard-container {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
}


/* =========================================================
   SIDEBAR
========================================================= */

.account-sidebar {
    position: sticky;
    top: 30px;
    padding: 30px 24px;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
}

.admin-bar .account-sidebar {
    top: 62px;
}

.account-sidebar-user {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 26px;
    margin-bottom: 22px;
    border-bottom: 1px solid #ebe8e1;
}

.account-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #f2f2ed;
    color: var(--account-green);
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 18px;
}

.account-sidebar-user strong {
    display: block;
    margin-bottom: 3px;
    color: #263229;
    font-size: 14px;
}

.account-sidebar-user span {
    color: #939991;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* =========================================================
   MENU DASHBOARD
========================================================= */

.account-nav {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.account-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 0 13px;
    border-radius: 9px;
    color: #697169;
    font-size: 11px;
    font-weight: 600;
    transition: background .2s ease, color .2s ease;
}

.account-nav-link:hover {
    background: #f6f5f1;
    color: #29362d;
}

.account-nav-link.is-active {
    background: #eef1e9;
    color: #4f5b45;
}

.account-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    font-size: 15px;
}

.account-nav-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    margin-left: auto;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--account-green);
    color: #fff;
    font-size: 8px;
}

.account-nav-logout {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ebe8e1;
}

.account-nav-logout .account-nav-link {
    color: #8a655a;
}


/*
=========================================================
CONTE DO DASHBOARD
=========================================================
*/

.account-dashboard-content {
    min-width: 0;
}

.account-dashboard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 35px;
}

.account-dashboard-header span {
    display: block;
    margin-bottom: 7px;
    color: var(--account-green);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.account-dashboard-header h1 {
    margin: 0;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.account-dashboard-header p {
    max-width: 600px;
    margin: 12px 0 0;
    color: #737a73;
    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   CARDS PRINCIPAIS
========================================================= */

.account-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.account-stat-card {
    min-height: 180px;
    padding: 28px;
    border: 1px solid var(--account-border);
    border-radius: 17px;
    background: #fff;
}

.account-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    margin-bottom: 24px;
    border-radius: 10px;
    background: #f3f3ef;
    color: #536048;
    font-size: 18px;
}

.account-stat-card > span {
    display: block;
    margin-bottom: 8px;
    color: #969c94;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.account-stat-card strong {
    display: block;
    color: #243129;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 25px;
    font-weight: 400;
}


/*
=========================================================
PAINEL GEN RICO
=========================================================
*/

.account-dashboard-panel {
    margin-bottom: 22px;
    padding: 30px;
    border: 1px solid var(--account-border);
    border-radius: 17px;
    background: #fff;
}

.account-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}

.account-panel-header h2 {
    margin: 0;
    color: #253128;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .04em;
}

.account-panel-header a {
    color: var(--account-green);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}


/* =========================================================
   ATIVIDADE RECENTE
========================================================= */

.account-activity-list {
    display: flex;
    flex-direction: column;
}

.account-activity-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    padding: 17px 0;
    border-bottom: 1px solid #eeece6;
}

.account-activity-item:first-child {
    padding-top: 0;
}

.account-activity-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.account-activity-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f4f4ef;
    color: var(--account-green);
}

.account-activity-content strong {
    display: block;
    margin-bottom: 4px;
    color: #2d382f;
    font-size: 12px;
}

.account-activity-content span {
    color: #8b918a;
    font-size: 10px;
}

.account-activity-date {
    color: #989d97;
    font-size: 9px;
}


/* =========================================================
   RESERVAS
========================================================= */

.account-reservations-list {
    display: grid;
    gap: 16px;
}

.account-reservation-card {
    padding: 24px;
    border: 1px solid #e1ded7;
    border-radius: 14px;
    background: #fff;
}

.account-reservation-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.account-reservation-room {
    display: flex;
    gap: 16px;
    align-items: center;
}

.account-reservation-image {
    width: 92px;
    height: 72px;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 10px;
    background: #e4e1da;
}

.account-reservation-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-reservation-room h3 {
    margin: 0 0 5px;
    font-family: Inter, Arial, sans-serif;
    font-size: 20px;
    font-weight: 850;
}

.account-reservation-room p {
    margin: 0;
    color: #858b84;
    font-size: 10px;
}

.account-reservation-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 0;
    border-top: 1px solid #ece9e2;
    border-bottom: 1px solid #ece9e2;
}

.account-reservation-detail span {
    display: block;
    margin-bottom: 6px;
    color: #989e97;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-reservation-detail strong {
    color: #303b32;
    font-size: 12px;
}

.account-reservation-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 18px;
}


/* =========================================================
   ESTADOS DAS RESERVAS
========================================================= */

.account-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 11px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.account-status-pending {
    background: #f4f0e5;
    color: #7c6d45;
}

.account-status-approved {
    background: #edf4e9;
    color: #506448;
}

.account-status-payment {
    background: #eef1e9;
    color: #536048;
}

.account-status-paid {
    background: #e9f3ed;
    color: #42614c;
}

.account-status-cancelled,
.account-status-rejected {
    background: #f7ece9;
    color: #805a51;
}


/* =========================================================
   OS MEUS DADOS
========================================================= */

.account-profile-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.account-profile-form .account-field-full {
    grid-column: 1 / -1;
}

.account-profile-actions {
    display: flex;
    justify-content: flex-end;
    grid-column: 1 / -1;
    padding-top: 8px;
}


/* =========================================================
   PAGAMENTOS
========================================================= */

.account-payments-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 25px;
}

.account-payment-summary-card {
    padding: 22px;
    border: 1px solid var(--account-border);
    border-radius: 13px;
    background: #fff;
}

.account-payment-summary-card span {
    display: block;
    margin-bottom: 8px;
    color: #969c95;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.account-payment-summary-card strong {
    color: #263128;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 22px;
    font-weight: 400;
}

.account-payment-list {
    display: flex;
    flex-direction: column;
}

.account-payment-item {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) 120px 120px auto;
    gap: 20px;
    align-items: center;
    padding: 19px 0;
    border-bottom: 1px solid #ece9e2;
}

.account-payment-item:last-child {
    border-bottom: 0;
}

.account-payment-room strong {
    display: block;
    margin-bottom: 5px;
    color: #2d382f;
    font-size: 12px;
}

.account-payment-room span {
    color: #8a9089;
    font-size: 9px;
}

.account-payment-amount {
    color: #273229;
    font-size: 14px;
    font-weight: 600;
}

.account-payment-date {
    color: #858c85;
    font-size: 10px;
}

.account-pay-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 17px;
    border: 0;
    border-radius: 7px;
    background: var(--account-green);
    color: #fff !important;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.account-pay-button:hover {
    background: var(--account-green-dark);
}


/* =========================================================
   FAVORITOS
========================================================= */

.account-favourites-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.account-favourite-card {
    overflow: hidden;
    border: 1px solid var(--account-border);
    border-radius: 15px;
    background: #fff;
}

.account-favourite-image {
    position: relative;
    height: 190px;
    overflow: hidden;
    background: #dedbd4;
}

.account-favourite-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-favourite-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #596347;
    cursor: pointer;
}

.account-favourite-body {
    padding: 20px;
}

.account-favourite-body h3 {
    margin: 0 0 7px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
}

.account-favourite-meta {
    margin-bottom: 17px;
    color: #848b84;
    font-size: 10px;
}

.account-favourite-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 16px;
    border-top: 1px solid #ece9e2;
}

.account-favourite-price strong {
    font-size: 18px;
}

.account-favourite-price span {
    color: #929792;
    font-size: 9px;
}


/*
=========================================================
MENSAGENS ESTUDANTE ADMIN
=========================================================
*/

.account-messages-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    min-height: 560px;
    overflow: hidden;
    border: 1px solid var(--account-border);
    border-radius: 17px;
    background: #fff;
}

.account-conversations {
    border-right: 1px solid #e7e4dc;
    background: #faf9f6;
}

.account-conversations-header {
    padding: 22px;
    border-bottom: 1px solid #e7e4dc;
}

.account-conversations-header span {
    color: #929890;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.account-conversation {
    display: flex;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid #ebe8e1;
    cursor: pointer;
    transition: background .2s ease;
}

.account-conversation:hover,
.account-conversation.is-active {
    background: #f0f2eb;
}

.account-conversation-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--account-header);
    color: #fff;
    font-size: 11px;
}

.account-conversation-content {
    min-width: 0;
}

.account-conversation-content strong {
    display: block;
    margin-bottom: 5px;
    color: #2e3930;
    font-size: 11px;
}

.account-conversation-content p {
    overflow: hidden;
    margin: 0;
    color: #888e87;
    font-size: 9px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.account-chat {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.account-chat-header {
    padding: 20px 24px;
    border-bottom: 1px solid #e7e4dc;
}

.account-chat-header strong {
    display: block;
    margin-bottom: 3px;
    color: #29352c;
    font-size: 12px;
}

.account-chat-header span {
    color: #8e948d;
    font-size: 9px;
}

.account-chat-messages {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    overflow-y: auto;
    max-height: 430px;
    padding: 25px;
    background: #fdfcf9;
}

.account-chat-message {
    max-width: 72%;
}

.account-chat-message.is-user {
    align-self: flex-end;
}

.account-chat-message.is-admin {
    align-self: flex-start;
}

.account-chat-bubble {
    padding: 13px 15px;
    border-radius: 13px;
    font-size: 11px;
    line-height: 1.6;
}

.account-chat-message.is-user .account-chat-bubble {
    border-bottom-right-radius: 4px;
    background: var(--account-green);
    color: #fff;
}

.account-chat-message.is-admin .account-chat-bubble {
    border: 1px solid #e3e0d9;
    border-bottom-left-radius: 4px;
    background: #fff;
    color: #4b534c;
}

.account-chat-time {
    display: block;
    margin-top: 5px;
    color: #999e98;
    font-size: 8px;
}

.account-chat-message.is-user .account-chat-time {
    text-align: right;
}

.account-chat-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 18px;
    border-top: 1px solid #e7e4dc;
    background: #fff;
}

.account-chat-form textarea {
    width: 100%;
    min-height: 48px;
    max-height: 120px;
    padding: 13px;
    border: 1px solid #ddd9d1;
    border-radius: 9px;
    outline: none;
    resize: none;
    font-family: Inter, Arial, sans-serif;
    font-size: 11px;
}

.account-chat-form textarea:focus {
    border-color: var(--account-green);
}

.account-chat-send {
    min-width: 95px;
    border: 0;
    border-radius: 8px;
    background: var(--account-green);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    cursor: pointer;
}


/* =========================================================
   ESTADO VAZIO
========================================================= */

.account-empty-state {
    padding: 55px 30px;
    border: 1px dashed #d8d5cd;
    border-radius: 15px;
    background: #faf9f6;
    text-align: center;
}

.account-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #efefe9;
    color: var(--account-green);
    font-size: 20px;
}

.account-empty-state h3 {
    margin: 0 0 8px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
}

.account-empty-state p {
    max-width: 420px;
    margin: 0 auto 20px;
    color: #818781;
    font-size: 11px;
    line-height: 1.7;
}


/*
=========================================================
BADGE DE NOTIFICA O
=========================================================
*/

.account-notification-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 5px;
    border-radius: 50%;
    background: #a9785d;
}


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

@media (max-width: 1050px) {

    .account-dashboard-container {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 25px;
    }

    .account-messages-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }

}


@media (max-width: 980px) {

    .account-auth-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .account-card {
        max-width: 560px;
    }

    .reservation-main-grid {
        grid-template-columns: 1fr;
    }

    .reservation-room-summary {
        position: static;
        display: grid;
        grid-template-columns: 300px minmax(0, 1fr);
    }

    .reservation-room-photo {
        height: 100%;
    }

    .account-dashboard-container {
        grid-template-columns: 1fr;
    }

    .account-sidebar {
        position: static;
    }

    .account-sidebar-user {
        margin-bottom: 15px;
    }

    .account-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .account-nav-logout {
        grid-column: 1 / -1;
        margin-top: 10px;
    }

    .account-payment-item {
        grid-template-columns: minmax(0, 1fr) 100px auto;
    }

    .account-payment-date {
        display: none;
    }

}


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

@media (max-width: 700px) {

    .account-auth-section,
    .reservation-layout-section,
    .account-dashboard {
        padding: 45px 0 75px;
    }

    .account-auth-intro h1,
    .reservation-page-heading h1 {
        font-size: 41px;
    }

    .account-card,
    .reservation-panel {
        padding: 25px;
    }

    .reservation-room-summary {
        display: block;
    }

    .reservation-room-photo {
        height: 230px;
    }

    .reservation-dates-grid,
    .reservation-account-options,
    .reservation-form-grid,
    .account-profile-form,
    .account-overview-grid,
    .account-payments-summary,
    .account-favourites-grid {
        grid-template-columns: 1fr;
    }

    .reservation-field-full,
    .account-profile-form .account-field-full {
        grid-column: auto;
    }

    .reservation-panel-title h2 {
        font-size: 16px;
    }

    .account-dashboard-header {
        display: block;
    }

    .account-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .account-reservation-top {
        flex-direction: column;
    }

    .account-reservation-details {
        grid-template-columns: 1fr 1fr;
    }

    .account-reservation-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .account-payment-item {
        grid-template-columns: 1fr auto;
    }

    .account-payment-item .account-status {
        display: none;
    }

    .account-messages-layout {
        display: block;
        min-height: auto;
    }

    .account-conversations {
        border-right: 0;
        border-bottom: 1px solid #e7e4dc;
    }

    .account-conversation:not(.is-active) {
        display: none;
    }

    .account-chat-messages {
        min-height: 350px;
    }

    .account-chat-message {
        max-width: 88%;
    }

}


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

@media (max-width: 480px) {

    .account-nav {
        grid-template-columns: 1fr;
    }

    .account-dashboard-panel {
        padding: 22px;
    }

    .account-reservation-room {
        align-items: flex-start;
    }

    .account-reservation-image {
        width: 75px;
        height: 65px;
    }

    .account-reservation-details {
        grid-template-columns: 1fr;
    }

    .account-chat-form {
        grid-template-columns: 1fr;
    }

    .account-chat-send {
        min-height: 45px;
    }

}

/*
=========================================================
ACCOUNT / RESERVATION DESIGN SYSTEM V1
=========================================================
*/
.account-dashboard-page,.reservation-page,.auth-page { background:var(--adr-cream,#f5f1e8); }
.account-dashboard { padding:46px 0 80px; }
.account-dashboard-container { gap:28px; }
.account-sidebar { border:1px solid var(--adr-line); border-radius:24px; background:var(--adr-paper); box-shadow:0 16px 45px rgba(18,63,54,.06); }
.account-sidebar-user { padding:22px; border-bottom:1px solid var(--adr-line); }
.account-avatar { background:var(--adr-green); color:#fff; border:0; }
.account-nav { gap:4px; padding:10px; }
.account-nav-link { min-height:48px; border-radius:12px; color:#526058; font-size:13px; font-weight:650; }
.account-nav-link:hover { background:#f0f1eb; color:var(--adr-ink); }
.account-nav-link.is-active { background:var(--adr-green); color:#fff; box-shadow:0 8px 22px rgba(18,63,54,.16); }
.account-nav-icon { width:20px; height:20px; display:grid; place-items:center; flex:0 0 20px; }
.account-nav-icon svg,.reservation-panel-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.account-nav-count { margin-left:auto; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:rgba(18,63,54,.09); color:var(--adr-green); display:grid; place-items:center; font-size:10px; }
.account-nav-link.is-active .account-nav-count { background:rgba(255,255,255,.18); color:#fff; }
.account-main { min-width:0; }
.account-page-header h1,.reservation-page-heading h1 { font-size:clamp(36px,5vw,62px); line-height:.98; color:var(--adr-green); }
.account-page-header p,.reservation-page-heading p { color:var(--adr-muted); font-size:15px; }
.account-stat-card,.account-content-card,.account-reservation-card,.reservation-panel,.reservation-room-summary { border:1px solid var(--adr-line); border-radius:22px; background:var(--adr-paper); box-shadow:none; }
.account-stat-card { padding:20px; }
.account-stat-card strong { font-family:"Libre Baskerville",serif; font-size:30px; color:var(--adr-green); }
.account-reservation-card { overflow:hidden; transition:transform .2s ease,box-shadow .2s ease; }
.account-reservation-card:hover { transform:translateY(-2px); box-shadow:var(--adr-shadow); }
.reservation-status { border-radius:999px; padding:7px 10px; font-weight:750; letter-spacing:.01em; text-transform:none; }
.reservation-status-pending { background:#fff3d7; color:#775718; }
.reservation-status-paid,.reservation-status-active { background:#e4f2e9; color:#23613f; }
.reservation-status-rejected,.reservation-status-cancelled { background:#f8e7e4; color:#8b4039; }
.reservation-layout-section { padding:44px 0 90px; }
.reservation-page-heading { max-width:760px; margin-bottom:34px; }
.reservation-back { color:var(--adr-green); font-weight:700; }
.reservation-main-grid { gap:28px; align-items:start; }
.reservation-room-summary { overflow:hidden; position:sticky; top:105px; }
.reservation-room-photo img { aspect-ratio:16/10; object-fit:cover; }
.reservation-room-summary-body { padding:24px; }
.reservation-room-summary h2 { font-size:30px; color:var(--adr-green); }
.reservation-summary-cards { gap:0; border-top:1px solid var(--adr-line); border-bottom:1px solid var(--adr-line); }
.reservation-summary-cards>div { border:0!important; border-radius:0!important; background:transparent!important; }
.reservation-summary-cards>div+div { border-left:1px solid var(--adr-line)!important; }
.reservation-panel { padding:26px; }
.reservation-panel-title { gap:13px; }
.reservation-panel-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#edf1ea; color:var(--adr-green); }
.reservation-panel-title h2 { font-size:22px; color:var(--adr-green); }
.reservation-editable-dates { padding:18px; border:1px solid var(--adr-line); border-radius:16px; background:#faf8f2; }
.reservation-editable-field input,.reservation-editable-field select,.account-form input,.account-form select,.account-form textarea { border:1px solid rgba(23,37,31,.16); border-radius:12px; background:#fff; min-height:48px; }
.reservation-editable-field input:focus,.reservation-editable-field select:focus,.account-form input:focus,.account-form textarea:focus { border-color:var(--adr-green); outline:3px solid rgba(18,63,54,.08); }
.reservation-availability-note { display:flex; gap:11px; align-items:flex-start; margin-top:14px; padding:13px 15px; border-radius:13px; background:#edf3ee; color:#355348; }
.reservation-availability-note strong,.reservation-availability-note span { display:block; }
.reservation-availability-note span { margin-top:2px; font-size:12px; color:#65756d; }
.reservation-availability-dot { width:9px; height:9px; margin-top:5px; border-radius:50%; background:#4f806b; flex:0 0 9px; }
.reservation-editable-dates.has-date-conflict { border-color:#c9857e; background:#fff5f3; }
.reservation-primary-button,.account-primary-button { border-radius:999px; background:var(--adr-green); box-shadow:0 9px 24px rgba(18,63,54,.15); }
.reservation-secondary-button,.account-secondary-button { border-radius:999px; }
@media(max-width:900px){ .account-dashboard{padding-top:22px}.account-dashboard-container{display:block}.account-sidebar{position:relative;top:auto;width:100%;margin-bottom:22px;border-radius:18px}.account-sidebar-user{display:none}.account-nav{display:flex;overflow-x:auto;gap:6px;padding:8px;scrollbar-width:none}.account-nav::-webkit-scrollbar{display:none}.account-nav-link{flex:0 0 auto;padding:0 14px}.account-nav-icon{display:none}.reservation-room-summary{position:relative;top:auto}.reservation-main-grid{grid-template-columns:1fr}.reservation-page-heading h1,.account-page-header h1{font-size:40px}.reservation-panel{padding:20px} }
@media(max-width:560px){ .account-dashboard{padding-bottom:50px}.reservation-layout-section{padding:28px 0 60px}.reservation-page-heading{margin-bottom:24px}.reservation-page-heading h1,.account-page-header h1{font-size:34px}.reservation-room-summary,.reservation-panel,.account-content-card,.account-reservation-card{border-radius:17px}.reservation-editable-dates{grid-template-columns:1fr!important}.reservation-summary-cards{grid-template-columns:1fr 1fr}.reservation-panel{padding:17px} }

/*
=========================================================
ALBERGUE DA RIA ACCOUNT UX/UI V2
Mais denso, moderno e coerente
=========================================================
*/
.account-dashboard-page{background:#f6f3ec!important;}
.account-dashboard{padding:34px 0 72px!important;}
.account-dashboard-container{gap:24px!important;align-items:start!important;}

/*
Sidebar mais s lida
*/
.account-sidebar{
  border:1px solid #deddd6!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(20,35,29,.045)!important;
  overflow:hidden!important;
}
.account-sidebar-user{padding:22px 24px!important;background:#fff!important;}
.account-avatar{width:48px!important;height:48px!important;background:#0d4b3f!important;}
.account-nav{padding:12px!important;gap:3px!important;}
.account-nav-link{
  min-height:47px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  color:#29342f!important;
  font-size:13px!important;
  font-weight:650!important;
}
.account-nav-link.is-active{
  background:#0d4b3f!important;color:#fff!important;
  box-shadow:none!important;
}
.account-nav-link:hover:not(.is-active){background:#f2f2ed!important;}

/*
Cabe alhos: editorial mas n o exagerados
*/
.account-dashboard-header,.account-page-header{margin-bottom:22px!important;}
.account-dashboard-header h1,.account-page-header h1{
  color:#17211d!important;
  font-size:clamp(34px,4vw,48px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.account-dashboard-header p,.account-page-header p{font-size:14px!important;color:#6e7771!important;}

/*
KPI cards: n mero sans, forte, compacto
*/
.account-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:18px!important;}
.account-stat-card{
  position:relative!important;
  min-height:142px!important;
  padding:20px!important;
  border:1px solid #deddd6!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.account-stat-card:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#0d4b3f;
}
.account-stat-icon{
  width:36px!important;height:36px!important;margin-bottom:18px!important;
  border-radius:9px!important;background:#eef2ef!important;color:#0d4b3f!important;
}
.account-stat-card>span{
  margin-bottom:5px!important;color:#7d857f!important;
  font-size:9px!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase!important;
}
.account-stat-card strong{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:34px!important;line-height:1!important;font-weight:750!important;letter-spacing:-.045em!important;color:#17211d!important;
}

/*
Pain is
*/
.account-dashboard-panel,.account-content-card{
  padding:26px!important;border:1px solid #deddd6!important;border-radius:16px!important;background:#fff!important;
}
.account-panel-header{margin-bottom:18px!important;padding-bottom:16px!important;border-bottom:1px solid #eceae4!important;}
.account-panel-header h2{
  font-family:Inter,system-ui,sans-serif!important;font-size:15px!important;font-weight:800!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;color:#17211d!important;
}
.account-panel-header a{font-size:9px!important;font-weight:800!important;letter-spacing:.1em!important;}

/*
Reservas: informa o com mais hierarquia
*/
.account-reservations-list{gap:14px!important;}
.account-reservation-card{
  position:relative!important;padding:0!important;border:1px solid #deddd6!important;border-radius:17px!important;background:#fff!important;
  box-shadow:0 5px 18px rgba(20,35,29,.025)!important;
}
.account-reservation-card:hover{transform:none!important;box-shadow:0 8px 26px rgba(20,35,29,.055)!important;}
.account-reservation-top{margin:0!important;padding:22px 24px 18px!important;align-items:flex-start!important;}
.account-reservation-room h3{
  font-family:Inter,system-ui,sans-serif!important;font-size:19px!important;font-weight:750!important;letter-spacing:-.025em!important;color:#17211d!important;
}
.account-reservation-room p{font-size:11px!important;color:#7b837e!important;}
.account-reservation-details{
  margin:0 24px!important;padding:16px 0!important;gap:20px!important;
  border-top:1px solid #eceae4!important;border-bottom:1px solid #eceae4!important;
}
.account-reservation-detail span{font-size:8px!important;font-weight:800!important;letter-spacing:.13em!important;color:#8a918c!important;}
.account-reservation-detail strong{font-size:13px!important;font-weight:700!important;color:#202b26!important;}
.account-reservation-actions{padding:17px 24px 22px!important;}

/*
Estado tem de ser imediatamente leg vel
*/
.account-status{
  min-height:34px!important;padding:0 13px!important;border-radius:8px!important;
  font-size:9px!important;font-weight:850!important;letter-spacing:.075em!important;text-transform:uppercase!important;
  border:1px solid transparent!important;
}
.account-status-pending{background:#fff6dc!important;color:#765718!important;border-color:#ecdca8!important;}
.account-status-payment{background:#eef5f2!important;color:#0d4b3f!important;border-color:#cbded7!important;}
.account-status-paid,.account-status-approved{background:#e8f4ed!important;color:#185c3d!important;border-color:#c5dfcf!important;}
.account-status-rejected,.account-status-cancelled{
  background:#fbe8e5!important;color:#9a342d!important;border-color:#efc4bf!important;
}
.account-status-rejected:before{content:"ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â";font-size:14px;font-weight:900;margin-right:6px;line-height:1;}

/* Recusa deixa de parecer texto perdido */
.account-rejection-box{
  margin:0 24px 4px!important;padding:16px 18px!important;
  border:1px solid #efc7c1!important;border-left:4px solid #a63e36!important;
  border-radius:10px!important;background:#fff5f3!important;color:#552a26!important;
}
.account-rejection-box strong{
  display:block!important;margin-bottom:7px!important;
  font-size:10px!important;font-weight:850!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:#8f332c!important;
}
.account-rejection-box p,.account-rejection-box div{line-height:1.55!important;}

/* Timeline */
.account-reservation-timeline{margin:0 24px 22px!important;border-top:0!important;}
.account-reservation-timeline summary{
  padding:13px 0!important;font-size:11px!important;font-weight:750!important;color:#48534d!important;cursor:pointer!important;
}

/* Dados pessoais: menos vazio e melhor ritmo */
.account-profile-required-note{
  margin-bottom:20px!important;padding:14px 16px!important;border-radius:10px!important;
  background:#f2f4f1!important;border:1px solid #e1e5e1!important;font-size:12px!important;line-height:1.55!important;color:#4f5b55!important;
}
.account-profile-form{gap:16px 18px!important;}
.account-profile-form label{font-size:10px!important;font-weight:750!important;color:#4f5954!important;}
.account-profile-form input{min-height:50px!important;border-radius:10px!important;background:#fff!important;}
.account-profile-actions{padding-top:8px!important;}
.account-primary-button{min-height:48px!important;border-radius:11px!important;padding:0 22px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.075em!important;}

/*
Empty states com mais presen a, sem caixa gigante
*/
.account-empty-state{min-height:260px!important;padding:38px!important;border-radius:16px!important;background:#fff!important;}
.account-empty-state h2,.account-empty-state h3{font-family:Inter,system-ui,sans-serif!important;font-weight:750!important;letter-spacing:-.02em!important;}

@media(max-width:1150px){.account-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:900px){
  .account-dashboard{padding-top:18px!important;}
  .account-sidebar{border-radius:14px!important;margin-bottom:16px!important;}
  .account-nav{display:flex!important;overflow-x:auto!important;padding:7px!important;gap:5px!important;scroll-snap-type:x proximity;}
  .account-nav-link{flex:0 0 auto!important;min-height:42px!important;padding:0 13px!important;scroll-snap-align:start;}
  .account-nav-icon{display:grid!important;}
}
@media(max-width:600px){
  .account-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  .account-stat-card{min-height:118px!important;padding:16px!important;}
  .account-stat-icon{width:31px!important;height:31px!important;margin-bottom:13px!important;}
  .account-stat-card strong{font-size:29px!important;}
  .account-dashboard-panel,.account-content-card{padding:18px!important;}
  .account-reservation-top{padding:18px!important;}
  .account-reservation-details{margin:0 18px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .account-reservation-actions{padding:15px 18px 18px!important;justify-content:flex-start!important;flex-wrap:wrap!important;}
  .account-rejection-box,.account-reservation-timeline{margin-left:18px!important;margin-right:18px!important;}
}




/*
=========================================================
YOUTH V3 DASHBOARD / RESERVAS
=========================================================
*/

:root {
    --account-bg: #f3f5f2;
    --account-white: #fff;
    --account-text: #111713;
    --account-muted: #68706c;
    --account-soft: #f5f7f5;
    --account-border: #dfe4df;
    --account-green: #0b4f3f;
    --account-green-dark: #06372c;
    --account-header: #0b4f3f;
}

.account-page,
.reservation-page,
.account-dashboard-page {
    background: #f3f5f2;
}

.account-auth-intro h1,
.account-card h2,
.reservation-page-heading h1,
.reservation-room-summary h2,
.account-dashboard-header h1,
.account-stat-card strong,
.account-reservation-room h3,
.account-payment-summary-card strong,
.account-favourite-body h3,
.account-empty-state h3 {
    font-family: Inter, Arial, sans-serif !important;
}

.account-auth-intro h1,
.reservation-page-heading h1,
.account-dashboard-header h1 {
    font-weight: 900 !important;
    letter-spacing: -.065em !important;
    text-transform: uppercase;
}

.account-dashboard-header span,
.account-eyebrow,
.reservation-eyebrow,
.account-panel-header h2 {
    font-weight: 900 !important;
    letter-spacing: .13em;
}

.account-sidebar,
.account-dashboard-panel,
.account-stat-card,
.account-reservation-card,
.account-payment-summary-card,
.account-card,
.reservation-panel,
.reservation-room-summary {
    border-radius: 10px !important;
    border-color: #dfe4df !important;
    box-shadow: none !important;
}

.account-overview-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.account-stat-card {
    position: relative;
    min-height: 138px !important;
    padding: 20px !important;
    overflow: hidden;
}

.account-stat-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: #0b4f3f;
}

.account-stat-card strong {
    font-size: clamp(34px, 4vw, 52px) !important;
    font-weight: 900 !important;
    line-height: .95;
    letter-spacing: -.06em !important;
}

.account-stat-card > span {
    font-size: 8px !important;
    font-weight: 900 !important;
}

.account-stat-icon {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 18px !important;
    border-radius: 7px !important;
    background: #e8eeea !important;
    color: #0b4f3f !important;
}

.account-nav-link {
    border-radius: 7px !important;
    font-weight: 700 !important;
}

.account-nav-link.is-active {
    background: #0b4f3f !important;
    color: #fff !important;
}

.account-status {
    min-height: 31px !important;
    border-radius: 5px !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
}

.account-status-rejected {
    background: #d94a45 !important;
    color: #fff !important;
}

.account-status-pending {
    background: #f2b84b !important;
    color: #342407 !important;
}

.account-status-paid,
.account-status-approved {
    background: #0b4f3f !important;
    color: #fff !important;
}

.account-rejection-box {
    margin: 16px 0 !important;
    padding: 17px 18px !important;
    border: 0 !important;
    border-left: 5px solid #d94a45 !important;
    border-radius: 7px !important;
    background: #fff0ef !important;
}

.account-rejection-box strong {
    color: #a52c28 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-rejection-box p {
    margin-top: 7px !important;
    color: #3d2422 !important;
    font-size: 13px !important;
    font-weight: 750;
}

.account-reservation-card {
    padding: 22px !important;
}

.account-reservation-room h3 {
    font-size: 21px !important;
    font-weight: 850 !important;
    letter-spacing: -.035em;
}

.account-reservation-detail strong {
    font-size: 12px !important;
    font-weight: 750 !important;
}

.account-reservation-timeline summary {
    font-weight: 900 !important;
}

.account-field input,
.account-field select,
.account-field textarea,
.reservation-field input,
.reservation-field select,
.reservation-field textarea {
    border-radius: 7px !important;
    border-color: #d7ddd8 !important;
}

.account-primary-button,
.account-secondary-button,
.reservation-primary-button,
.reservation-secondary-button,
.reservation-submit-button {
    border-radius: 7px !important;
}

@media (max-width: 700px) {

    .account-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .account-nav {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        gap: 7px !important;
        padding-bottom: 8px;
        scrollbar-width: none;
    }

    .account-nav::-webkit-scrollbar {
        display: none;
    }

    .account-nav-link {
        flex: 0 0 auto;
        white-space: nowrap;
        border: 1px solid #dfe4df;
        background: #fff;
    }

    .account-sidebar {
        position: static !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
}

@media (max-width: 420px) {

    .account-overview-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .account-stat-card {
        min-height: 122px !important;
        padding: 16px !important;
    }
}

/*
=========================================================
ALBERGUE V4.2 SISTEMA GLOBAL
Login Registo Reserva Pagamento Minha Conta
=========================================================
*/

:root {
    --system-green: #0b4f3f;
    --system-green-dark: #06372c;
    --system-ink: #111713;
    --system-muted: #68716c;
    --system-bg: #f5f6f3;
    --system-white: #ffffff;
    --system-line: #dfe4df;
    --system-soft: #f0f3ef;
    --system-danger: #d94a45;
    --system-warning: #f2b84b;
}

/* GLOBAL SYSTEM TYPOGRAPHY */
.account-page,
.reservation-page,
.payment-page,
.auth-page,
.page-template-page-login,
.page-template-page-registo,
.page-template-page-pagamento,
.page-template-page-pedido-reserva,
.page-template-page-minha-conta {
    font-family: Inter, Arial, sans-serif !important;
    color: var(--system-ink);
}

.account-page h1,
.account-page h2,
.account-page h3,
.reservation-page h1,
.reservation-page h2,
.reservation-page h3,
.payment-page h1,
.payment-page h2,
.payment-page h3 {
    font-family: Inter, Arial, sans-serif !important;
}

.account-dashboard-header h1,
.reservation-page-heading h1,
.account-auth-intro h1 {
    font-weight: 900 !important;
    letter-spacing: -.055em !important;
    line-height: .95 !important;
}

.account-dashboard-header h1 {
    font-size: clamp(42px, 5vw, 68px) !important;
}

/* SIDEBAR */
.account-nav-icon {
    display: inline-grid;
    width: 21px;
    place-items: center;
}

.account-nav-logout .account-nav-link {
    color: #6e3f35 !important;
}

/* helpers must never become giant */
.account-field-help,
.account-field > small,
.account-field p,
.reservation-field > small {
    display: block;
    margin-top: 7px !important;
    color: #737d77 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Form grid: postal + locality side-by-side */
.account-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px !important;
}

.account-form .account-field {
    min-width: 0;
}

.account-form .account-field:has(#account-address),
.account-form .account-field:has([name="address"]),
.account-form .account-field:has(textarea) {
    grid-column: 1 / -1;
}

.account-form .account-primary-button {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 210px;
    background: var(--system-green) !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* fallback if :has is unavailable: keep fields usable */
.account-card button[type="submit"],
.account-dashboard-content button[type="submit"] {
    background: var(--system-green) !important;
    color: #fff !important;
    border-color: var(--system-green) !important;
}

/* empty states */
.account-empty-state {
    border: 1px solid var(--system-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.account-empty-state h3,
.account-empty-title {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 850 !important;
    letter-spacing: -.03em !important;
}

.account-empty-state p,
.account-empty-copy {
    color: var(--system-muted) !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* AUTH */
.account-auth-section {
    min-height: calc(100vh - 72px);
    padding: 92px 0 110px !important;
    background:
        linear-gradient(135deg, #f7f8f5 0%, #eef2ed 100%);
}

.account-auth-container {
    align-items: center !important;
}

.account-auth-intro {
    max-width: 620px !important;
}

.account-auth-intro h1 {
    margin: 8px 0 24px !important;
    font-size: clamp(52px, 6vw, 84px) !important;
}

.account-auth-intro p {
    max-width: 500px !important;
    color: var(--system-muted) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.auth-card {
    border: 1px solid var(--system-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 24px 60px rgba(6,55,44,.08) !important;
}

.auth-card-heading h2 {
    margin: 6px 0 24px;
    font-size: 28px !important;
    font-weight: 850 !important;
    letter-spacing: -.035em !important;
}

.auth-submit {
    width: 100%;
    justify-content: center !important;
}

.auth-card-footer {
    display: grid;
    gap: 9px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--system-line);
    color: var(--system-muted);
    font-size: 11px;
}

.auth-card-footer a {
    color: var(--system-green);
    font-weight: 800;
}

/* RESERVATION */
.reservation-page-heading h1 {
    font-size: clamp(48px, 6vw, 82px) !important;
}

.reservation-layout-section {
    background: #fff !important;
}

.reservation-room-summary,
.reservation-panel {
    border-radius: 10px !important;
    border-color: var(--system-line) !important;
    box-shadow: none !important;
}

.reservation-panel-title h2 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

.reservation-editable-field input,
.reservation-editable-field select,
.reservation-field input,
.reservation-field textarea,
.reservation-field select {
    border-radius: 7px !important;
    border-color: #d7ddd9 !important;
}

.reservation-submit-button {
    background: var(--system-green) !important;
    color: #fff !important;
    border-radius: 7px !important;
}

/* PAYMENT */
.payment-page,
.system-page-section {
    background: #f5f6f3;
}

.payment-card,
.payment-summary,
.account-payment-card {
    border: 1px solid var(--system-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* reveal animation shared */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity .5s cubic-bezier(.2,.8,.2,1),
        transform .5s cubic-bezier(.2,.8,.2,1);
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Generic system-page entrance, even without JS */
.account-card,
.reservation-panel,
.payment-card,
.account-dashboard-panel {
    animation: systemCardIn .42s ease both;
}

@keyframes systemCardIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* MOBILE */
@media (max-width: 760px) {
    .account-form {
        grid-template-columns: 1fr !important;
    }

    .account-form .account-field,
    .account-form .account-primary-button {
        grid-column: 1 !important;
    }

    .account-form .account-primary-button {
        width: 100%;
        min-width: 0;
    }

    .account-auth-section {
        padding: 58px 0 80px !important;
    }

    .account-auth-container {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }

    .account-auth-intro h1 {
        font-size: clamp(44px, 13vw, 62px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-on-scroll,
    .account-card,
    .reservation-panel,
    .payment-card,
    .account-dashboard-panel {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
}

/*
=========================================================
V4.3 PEDIDO DE RESERVA
=========================================================
*/

.reservation-main-grid {
    display: grid !important;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
    gap: 54px !important;
    align-items: start !important;
}

.reservation-room-summary {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: sticky !important;
    top: 110px !important;
    overflow: hidden;
    border: 1px solid #dfe5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.reservation-room-photo {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef1ee;
}

.reservation-room-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reservation-room-summary-body {
    padding: 24px !important;
}

.reservation-room-summary-body h2 {
    margin: 8px 0 5px !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 27px !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
}

.reservation-room-type {
    color: #0b4f3f !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.reservation-summary-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin-top: 24px !important;
}

.reservation-summary-cards > div {
    padding: 15px !important;
    border: 1px solid #e0e5e1 !important;
    border-radius: 8px !important;
    background: #f8faf8 !important;
}

.reservation-summary-cards span {
    display: block;
    margin-bottom: 7px;
    color: #7a847f !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

.reservation-summary-cards strong {
    color: #101713 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.reservation-page-heading {
    max-width: 980px !important;
    margin-bottom: 54px !important;
}

.reservation-page-heading h1 {
    max-width: 820px;
    font-size: clamp(58px, 7vw, 92px) !important;
    line-height: .88 !important;
}

@media (max-width: 900px) {

    .reservation-main-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .reservation-room-summary {
        position: relative !important;
        top: auto !important;
    }
}

/*
=========================================================
ALBERGUE V4.4 UNIFORMIZA O FINAL DE SISTEMA
=========================================================
*/

:root {
    --adr-green: #0b4f3f;
    --adr-green-dark: #06372c;
    --adr-ink: #101713;
    --adr-muted: #68736d;
    --adr-bg: #f3f6f4;
    --adr-paper: #ffffff;
    --adr-soft: #edf3ef;
    --adr-line: #dce5e0;
    --adr-lime: #d7ff86;
    --adr-warning: #f3b742;
    --adr-danger: #d95b53;
}

/* -------- HEADER: no second green strip -------- */

body.page-template-page-login .site-header,
body.page-template-page-registo .site-header,
body.page-template-page-pedido-reserva .site-header,
body.page-template-page-minha-conta .site-header,
body.page-template-page-pagamento .site-header {
    position: relative !important;
    top: 0 !important;
    min-height: 72px !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--adr-line) !important;
    background: #fff !important;
    color: var(--adr-ink) !important;
}

body.page-template-page-login .site-logo,
body.page-template-page-registo .site-logo,
body.page-template-page-pedido-reserva .site-logo,
body.page-template-page-minha-conta .site-logo,
body.page-template-page-pagamento .site-logo {
    color: var(--adr-green-dark) !important;
}

body.page-template-page-login .main-nav a,
body.page-template-page-registo .main-nav a,
body.page-template-page-pedido-reserva .main-nav a,
body.page-template-page-minha-conta .main-nav a,
body.page-template-page-pagamento .main-nav a {
    color: var(--adr-ink) !important;
}

body.page-template-page-login .header-account-link,
body.page-template-page-registo .header-account-link,
body.page-template-page-pedido-reserva .header-account-link,
body.page-template-page-minha-conta .header-account-link,
body.page-template-page-pagamento .header-account-link {
    color: var(--adr-ink) !important;
}

/* -------- SYSTEM BACKGROUNDS: cool/white, no beige -------- */

.account-page,
.account-dashboard-page,
.reservation-page,
.payment-page {
    background: var(--adr-bg) !important;
}

.reservation-layout-section {
    padding-top: 46px !important;
    background: #fff !important;
}

.reservation-panel,
.reservation-date-box,
.reservation-editable-field,
.reservation-room-summary,
.account-dashboard-panel,
.account-stat-card,
.account-sidebar,
.account-profile-required-note {
    background: #fff !important;
}

/* -------- RESERVATION -------- */

.reservation-page-heading {
    margin-bottom: 46px !important;
}

.reservation-page-heading h1 {
    max-width: 820px;
    font-size: clamp(54px, 6.4vw, 86px) !important;
    line-height: .9 !important;
    letter-spacing: -.06em !important;
}

.reservation-main-grid {
    display: grid !important;
    grid-template-columns: 370px minmax(0, 1fr) !important;
    gap: 48px !important;
    align-items: start !important;
}

.reservation-room-summary {
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--adr-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.reservation-room-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #eef2ef !important;
}

.reservation-room-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
}

.reservation-room-summary-body {
    padding: 23px !important;
    border-top: 1px solid var(--adr-line);
}

.reservation-room-summary-body h2 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    letter-spacing: -.045em !important;
}

.reservation-summary-cards > div {
    background: #f7faf8 !important;
}

.reservation-process-column {
    gap: 16px !important;
}

.reservation-panel {
    padding: 28px 30px !important;
    border: 1px solid var(--adr-line) !important;
    border-radius: 10px !important;
}

.reservation-panel-title {
    margin-bottom: 22px !important;
}

.reservation-panel-title h2 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

.reservation-panel-icon {
    border-radius: 7px !important;
    background: var(--adr-soft) !important;
    color: var(--adr-green) !important;
}

.reservation-editable-dates,
.reservation-form-grid {
    gap: 14px !important;
}

.reservation-editable-field,
.reservation-date-box {
    padding: 13px 14px !important;
    border: 1px solid var(--adr-line) !important;
    border-radius: 7px !important;
    background: #fff !important;
}

.reservation-editable-field input,
.reservation-editable-field select,
.reservation-field input,
.reservation-field select,
.reservation-field textarea {
    min-height: 50px !important;
    border: 1px solid #d5ded9 !important;
    border-radius: 7px !important;
    background: #fff !important;
}

.reservation-user-connected {
    border-radius: 7px !important;
    background: #f4f8f5 !important;
}

.reservation-submit-button {
    min-height: 54px !important;
    border-radius: 7px !important;
    background: var(--adr-green) !important;
    color: #fff !important;
}

/* -------- DASHBOARD: more digital, less vintage -------- */

.account-dashboard-page {
    background: var(--adr-bg) !important;
}

.account-dashboard {
    padding: 34px 0 70px !important;
}

.account-dashboard-container {
    gap: 24px !important;
}

.account-sidebar {
    border: 1px solid var(--adr-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.account-sidebar-user {
    padding-bottom: 22px !important;
}

.account-sidebar-user strong {
    font-weight: 850 !important;
}

.account-nav {
    gap: 4px !important;
}

.account-nav-link {
    min-height: 48px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
}

.account-nav-link.is-active {
    background: var(--adr-green) !important;
    color: #fff !important;
}

.account-nav-icon svg,
.account-stat-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-nav-logout {
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--adr-line) !important;
}

.account-nav-logout .account-nav-link {
    justify-content: center !important;
    border: 1px solid #ead8d3 !important;
    background: #fff7f5 !important;
    color: #8d463b !important;
}

.account-nav-logout .account-nav-link:hover {
    background: #f7e7e3 !important;
}

.account-dashboard-header {
    margin-bottom: 22px !important;
}

.account-dashboard-header > div > span {
    color: var(--adr-green) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.account-dashboard-header h1 {
    margin: 6px 0 10px !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: clamp(42px, 4.8vw, 64px) !important;
    font-weight: 900 !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
    text-transform: uppercase !important;
}

.account-dashboard-header p {
    color: var(--adr-muted) !important;
    font-size: 13px !important;
}

.account-overview-grid {
    gap: 12px !important;
}

.account-stat-card {
    min-height: 150px !important;
    padding: 20px !important;
    border: 1px solid var(--adr-line) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transition: transform .18s ease, border-color .18s ease;
}

.account-stat-card:hover {
    transform: translateY(-3px);
    border-color: #b9cec3 !important;
}

.account-stat-icon {
    display: grid !important;
    width: 38px !important;
    height: 38px !important;
    place-items: center !important;
    border-radius: 7px !important;
    background: var(--adr-soft) !important;
    color: var(--adr-green) !important;
    font-size: 0 !important;
}

.account-stat-card > span {
    margin-top: 20px !important;
    color: #64706a !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.account-stat-card > strong {
    color: var(--adr-ink) !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
}

.account-dashboard-panel {
    margin-top: 14px !important;
    border: 1px solid var(--adr-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.account-panel-header h2 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

/* Profile form */
.account-profile-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.account-profile-form .account-field-full,
.account-profile-form .account-profile-address,
.account-profile-form .account-profile-row,
.account-profile-form > button {
    grid-column: 1 / -1;
}

.account-profile-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.field-help,
.account-field-help {
    display: block !important;
    margin-top: 6px !important;
    color: #748079 !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

.account-profile-form button[type="submit"] {
    justify-self: end !important;
    min-width: 220px !important;
    min-height: 50px !important;
    border-radius: 7px !important;
    background: var(--adr-green) !important;
    color: #fff !important;
}

/* -------- MOBILE -------- */
@media (max-width: 900px) {

    .reservation-main-grid {
        grid-template-columns: 1fr !important;
    }

    .reservation-room-summary {
        position: relative !important;
        top: auto !important;
    }

    .account-nav-link {
        text-transform: uppercase !important;
    }
}

@media (max-width: 680px) {

    .reservation-page-heading h1 {
        font-size: 46px !important;
    }

    .reservation-panel {
        padding: 20px !important;
    }

    .account-profile-form,
    .account-profile-row {
        grid-template-columns: 1fr !important;
    }

    .account-profile-form .account-field-full,
    .account-profile-form .account-profile-address,
    .account-profile-form .account-profile-row,
    .account-profile-form > button {
        grid-column: 1 !important;
    }

    .account-profile-form button[type="submit"] {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/*
=========================================================
ALBERGUE V4.5 AUTH + RESERVA + CORES
=========================================================
*/

/* ---------- RESERVA: DATAS SEM CAIXA BEGE EXTERIOR ---------- */

.reservation-editable-dates {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.reservation-editable-field {
    border-color: #d8e2dc !important;
    background: #fff !important;
}

.reservation-panel {
    background: #fff !important;
}

/*
Estadia m nima no resumo: verde, sem cor antiga
*/
.reservation-summary-minimum,
.reservation-room-summary .reservation-summary-minimum,
.reservation-summary-cards > div:last-child {
    border-color: #0b4f3f !important;
    background: #0b4f3f !important;
    color: #fff !important;
}

.reservation-summary-minimum span,
.reservation-summary-minimum strong,
.reservation-room-summary .reservation-summary-minimum span,
.reservation-room-summary .reservation-summary-minimum strong,
.reservation-summary-cards > div:last-child span,
.reservation-summary-cards > div:last-child strong {
    color: #fff !important;
}

/* ---------- CONTINUAR RESERVA SEM CONTA ---------- */

.reservation-login-info {
    margin-bottom: 18px !important;
    padding: 18px 20px !important;
    border: 1px solid #d8e4dd !important;
    border-radius: 8px !important;
    background: #f3f8f5 !important;
}

.reservation-login-info strong {
    color: #0b4f3f !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.reservation-account-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.reservation-account-option {
    display: flex !important;
    min-height: 210px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 24px !important;
    border: 1px solid #dce5e0 !important;
    border-radius: 9px !important;
    background: #fff !important;
}

.reservation-account-option.is-highlighted {
    border-color: #0b4f3f !important;
    background: #0b4f3f !important;
    color: #fff !important;
}

.reservation-account-option h3 {
    margin: 0 0 10px !important;
    color: inherit !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
    text-transform: uppercase !important;
}

.reservation-account-option p {
    margin: 0 0 22px !important;
    color: #6c7771 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.reservation-account-option.is-highlighted p {
    color: rgba(255,255,255,.74) !important;
}

.reservation-secondary-button,
.reservation-primary-button {
    display: inline-flex !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.reservation-secondary-button {
    border: 1px solid #0b4f3f !important;
    background: #fff !important;
    color: #0b4f3f !important;
}

.reservation-primary-button {
    border: 1px solid #d7ff86 !important;
    background: #d7ff86 !important;
    color: #06372c !important;
}

/* ---------- LOGIN / REGISTO: SPLIT SCREEN ---------- */

.account-auth-section {
    min-height: calc(100vh - 72px) !important;
    padding: 0 !important;
    background: #f3f6f4 !important;
}

.account-auth-container {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - 72px) !important;
    display: grid !important;
    grid-template-columns: minmax(360px, .9fr) minmax(560px, 1.1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
}

.account-auth-intro {
    display: flex !important;
    max-width: none !important;
    min-height: 100% !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: clamp(56px, 7vw, 110px) !important;
    background: #0b4f3f !important;
    color: #fff !important;
}

.account-auth-intro .account-eyebrow {
    color: #d7ff86 !important;
}

.account-auth-intro h1 {
    max-width: 720px !important;
    margin: 12px 0 24px !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: clamp(58px, 7vw, 100px) !important;
    font-weight: 900 !important;
    line-height: .88 !important;
    letter-spacing: -.065em !important;
    text-transform: uppercase !important;
}

.account-auth-intro p {
    max-width: 520px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.account-card.auth-card {
    align-self: center !important;
    width: min(680px, calc(100% - 80px)) !important;
    max-width: none !important;
    margin: 64px auto !important;
    padding: 42px !important;
    border: 1px solid #dce5e0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 24px 60px rgba(6,55,44,.08) !important;
}

.account-card.auth-card > .account-eyebrow,
.auth-card-heading .account-eyebrow {
    color: #0b4f3f !important;
}

.account-card.auth-card h2,
.auth-card-heading h2 {
    margin: 8px 0 28px !important;
    color: #101713 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: clamp(34px, 3vw, 46px) !important;
    font-weight: 900 !important;
    line-height: .95 !important;
    letter-spacing: -.045em !important;
    text-transform: uppercase !important;
}

.account-card.auth-card .account-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.account-card.auth-card .account-form-grid {
    display: contents !important;
}

.account-card.auth-card .account-field {
    min-width: 0 !important;
}

.account-card.auth-card .account-field input {
    min-height: 52px !important;
    border: 1px solid #d6dfda !important;
    border-radius: 7px !important;
    background: #fff !important;
}

.account-card.auth-card .account-field small {
    color: #748079 !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
}

.account-card.auth-card .account-checkbox,
.account-card.auth-card .account-message,
.account-card.auth-card .auth-card-footer,
.account-card.auth-card .account-primary-button,
.account-card.auth-card .auth-submit {
    grid-column: 1 / -1 !important;
}

.account-card.auth-card .account-primary-button,
.account-card.auth-card .auth-submit,
.account-card.auth-card button[type="submit"] {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    border: 1px solid #0b4f3f !important;
    border-radius: 7px !important;
    background: #0b4f3f !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.account-card.auth-card a,
.auth-card-footer a {
    text-decoration: none !important;
}

.account-card.auth-card a:hover,
.auth-card-footer a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.auth-card-footer {
    grid-column: 1 / -1 !important;
    margin-top: 8px !important;
    color: #718078 !important;
}

/* Form registo: username/email/phone/password balance */
body.page-template-page-registo .account-card.auth-card {
    width: min(760px, calc(100% - 80px)) !important;
}

body.page-template-page-registo .account-card.auth-card .account-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page-template-page-registo .account-card.auth-card .account-field:has(#register-username),
body.page-template-page-registo .account-card.auth-card .account-field:has(#register-email),
body.page-template-page-registo .account-card.auth-card .account-field:has(#register-phone) {
    grid-column: span 1 !important;
}

/* Login only: fields full width */
body.page-template-page-login .account-card.auth-card .account-form {
    grid-template-columns: 1fr !important;
}

body.page-template-page-login .account-card.auth-card .account-field,
body.page-template-page-login .account-card.auth-card .account-checkbox,
body.page-template-page-login .account-card.auth-card .account-primary-button {
    grid-column: 1 !important;
}

/* responsive */
@media (max-width: 980px) {

    .account-auth-container {
        grid-template-columns: 1fr !important;
    }

    .account-auth-intro {
        min-height: auto !important;
        padding: 56px 28px !important;
    }

    .account-auth-intro h1 {
        font-size: clamp(48px, 12vw, 72px) !important;
    }

    .account-card.auth-card,
    body.page-template-page-registo .account-card.auth-card {
        width: min(680px, calc(100% - 36px)) !important;
        margin: 28px auto 60px !important;
        padding: 28px !important;
    }
}

@media (max-width: 620px) {

    .reservation-account-options {
        grid-template-columns: 1fr !important;
    }

    .account-card.auth-card .account-form,
    body.page-template-page-registo .account-card.auth-card .account-form {
        grid-template-columns: 1fr !important;
    }

    .account-card.auth-card .account-field,
    body.page-template-page-registo .account-card.auth-card .account-field {
        grid-column: 1 !important;
    }
}

/*
=========================================================
ALBERGUE V4.6 CORRE ES UX/UI PEDIDAS
=========================================================
*/

/*
---------- RESERVA: estadia m nima VERDE CLARO ----------
*/
.reservation-summary-minimum,
.reservation-room-summary .reservation-summary-minimum,
.reservation-summary-cards > div:last-child {
    border-color: #cfe1d6 !important;
    background: #e8f4ed !important;
    color: #0b4f3f !important;
}

.reservation-summary-minimum span,
.reservation-summary-minimum strong,
.reservation-room-summary .reservation-summary-minimum span,
.reservation-room-summary .reservation-summary-minimum strong,
.reservation-summary-cards > div:last-child span,
.reservation-summary-cards > div:last-child strong {
    color: #0b4f3f !important;
}

/* ---------- AUTH: fundo direito verde escuro + card maior ---------- */
.account-auth-section,
.account-auth-container {
    background: #0b4f3f !important;
}

.account-auth-intro {
    background: #083d32 !important;
}

.account-card.auth-card {
    width: min(760px, calc(100% - 72px)) !important;
    padding: 48px !important;
    border-radius: 12px !important;
    box-shadow: 0 26px 70px rgba(0,0,0,.16) !important;
}

body.page-template-page-registo .account-card.auth-card {
    width: min(820px, calc(100% - 72px)) !important;
}

.account-card.auth-card label {
    color: #26312c !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.account-card.auth-card input {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 13px !important;
}

.account-card.auth-card .account-primary-button,
.account-card.auth-card button[type="submit"] {
    text-decoration: none !important;
}

/*
---------- DASHBOARD: menos gigante, s primeiro nome ----------
*/
.account-dashboard-header h1 {
    max-width: 900px !important;
    font-size: clamp(38px, 4.1vw, 56px) !important;
    line-height: .96 !important;
    letter-spacing: -.045em !important;
}

.account-sidebar-user {
    align-items: center !important;
}

.account-sidebar-user strong {
    color: #18211c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -.015em !important;
}

.account-sidebar-user span {
    margin-top: 5px !important;
    color: #8a938e !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.account-avatar {
    width: 46px !important;
    height: 46px !important;
    border-radius: 999px !important;
    background: #0b4f3f !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/*
---------- DADOS: sem caixa de instru es estrelas por campo ----------
*/
.account-profile-required-note {
    display: none !important;
}

.account-required-legend {
    margin: 0 0 14px !important;
    color: #7a847f !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
}

.account-profile-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 18px !important;
}

.account-profile-form label {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

/*
Email ocupa a esquerda, telem vel direita NIF passa para direita da linha seguinte
*/
.account-profile-form .account-field:has(#profile_email) {
    grid-column: 1 !important;
}

.account-profile-form .account-field:has(#profile_phone) {
    grid-column: 2 !important;
}

.account-profile-form .account-field:has(#profile_nif) {
    grid-column: 2 !important;
}

.account-profile-form .account-field:has(#profile_nif)::before {
    content: "";
    display: block;
}

/* Morada fica full width */
.account-profile-form .account-field:has(#profile_address) {
    grid-column: 1 / -1 !important;
}

/* helper discreto */
.field-help {
    margin-top: 5px !important;
    font-size: 8.5px !important;
    line-height: 1.35 !important;
}

/* ---------- RESERVAS: progresso tipo Salesforce ---------- */
.account-reservation-progress {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 22px 0 8px !important;
    padding: 0 !important;
}

.account-reservation-progress::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 9%;
    right: 9%;
    height: 2px;
    background: #dfe6e2;
    z-index: 0;
}

.account-progress-step {
    position: relative !important;
    z-index: 1;
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: center !important;
}

.account-progress-dot {
    display: grid !important;
    width: 31px !important;
    height: 31px !important;
    place-items: center !important;
    border: 2px solid #d8e0dc !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #7b8780 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.account-progress-step.is-complete .account-progress-dot {
    border-color: #0b4f3f !important;
    background: #0b4f3f !important;
    color: #fff !important;
}

.account-progress-step.is-current .account-progress-dot {
    border-color: #0b4f3f !important;
    background: #d7ff86 !important;
    color: #06372c !important;
    box-shadow: 0 0 0 5px #eef7f1 !important;
}

.account-progress-label {
    color: #7b8680 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.account-progress-step.is-current .account-progress-label,
.account-progress-step.is-complete .account-progress-label {
    color: #0b4f3f !important;
}

/* reservation card cleaner */
.account-reservation-card {
    padding: 26px !important;
    border: 1px solid #dce5e0 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.account-reservation-top {
    align-items: center !important;
}

.account-reservation-room h3 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    letter-spacing: -.03em !important;
}

/*
---------- OCORR NCIAS ----------
*/
.account-section-title,
.account-dashboard-panel > h2 {
    color: #18211c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}

.account-empty-state h3 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}

.account-empty-state p,
.account-empty-copy,
.account-dashboard-panel > p {
    max-width: 620px !important;
    color: #6e7973 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

/* ---------- MOBILE ---------- */
@media (max-width: 760px) {
    .account-dashboard-header h1 {
        font-size: 38px !important;
    }

    .account-reservation-progress {
        grid-template-columns: repeat(5, 96px) !important;
        overflow-x: auto !important;
        justify-content: start !important;
        padding-bottom: 8px !important;
    }

    .account-reservation-progress::before {
        left: 48px;
        right: auto;
        width: 384px;
    }

    .account-profile-form {
        grid-template-columns: 1fr !important;
    }

    .account-profile-form .account-field,
    .account-profile-form .account-field:has(#profile_email),
    .account-profile-form .account-field:has(#profile_phone),
    .account-profile-form .account-field:has(#profile_nif),
    .account-profile-form .account-field:has(#profile_address) {
        grid-column: 1 !important;
    }
}

/*
=========================================================
FINAL FIX PERFIL / SIDEBAR / DASHBOARD
=========================================================
*/

.account-sidebar-user strong {
    display: block !important;
    max-width: 126px !important;
    color: #18211c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
}

.account-dashboard-header h1 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: clamp(40px, 4.2vw, 58px) !important;
    font-weight: 900 !important;
    line-height: .94 !important;
    letter-spacing: -.05em !important;
    text-transform: uppercase !important;
}

.account-profile-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 18px !important;
}

.account-profile-form .account-field:has(#profile_first_name) {
    grid-column: 1 !important;
}

.account-profile-form .account-field:has(#profile_last_name) {
    grid-column: 2 !important;
}

.account-profile-form .account-field:has(#profile_email) {
    grid-column: 1 / -1 !important;
}

.account-profile-form .account-field:has(#profile_phone) {
    grid-column: 1 !important;
}

.account-profile-form .account-field:has(#profile_nif) {
    grid-column: 2 !important;
}

.account-profile-form .account-field:has(#profile_address) {
    grid-column: 1 / -1 !important;
}

.account-profile-form .account-field:has(#profile_postcode) {
    grid-column: 1 !important;
}

.account-profile-form .account-field:has(#profile_city) {
    grid-column: 2 !important;
}

.account-profile-form button[type="submit"] {
    grid-column: 1 / -1 !important;
    justify-self: end !important;
}

@media (max-width: 700px) {
    .account-profile-form {
        grid-template-columns: 1fr !important;
    }

    .account-profile-form .account-field,
    .account-profile-form button[type="submit"] {
        grid-column: 1 !important;
    }
}


/*
=========================================================
FINAL HIST RICO DAS RESERVAS
Corrige o bloco real usado no PHP: .account-reservation-timeline
=========================================================
*/

.account-reservation-timeline {
    margin: 0 24px 22px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    font-family: Inter, Arial, sans-serif !important;
}

.account-reservation-timeline summary {
    padding: 13px 0 !important;
    outline: 0 !important;
    color: #48534d !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.account-reservation-timeline summary:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

.account-reservation-timeline summary:focus-visible {
    outline: 2px solid #0b4f3f !important;
    outline-offset: 4px !important;
    border-radius: 3px !important;
}

/* "Pedido de reserva recebido" */
.account-reservation-timeline h2,
.account-reservation-timeline h3,
.account-reservation-timeline h4 {
    margin: 10px 0 4px !important;
    color: #18211c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em !important;
    text-transform: none !important;
}

/* Texto explicativo */
.account-reservation-timeline p {
    margin: 0 0 7px !important;
    color: #66706a !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
}

/* Data / hora */
.account-reservation-timeline time,
.account-reservation-timeline .history-date,
.account-reservation-timeline small {
    display: block !important;
    margin-top: 5px !important;
    color: #8d9690 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.account-reservation-timeline > div {
    color: #66706a;
    font-family: Inter, Arial, sans-serif;
    font-size: 11px;
    line-height: 1.5;
}

@media (max-width: 600px) {
    .account-reservation-timeline {
        margin-left: 18px !important;
        margin-right: 18px !important;
    }
}

/*
=========================================================
PAGAMENTO ALBERGUE DA RIA
=========================================================
*/

.payment-page-modern {
    background: #f5f7f4;
    color: #10201a;
    min-height: 100vh;
}

.payment-page-modern * {
    box-sizing: border-box;
}

.payment-section {
    padding: 64px 0 96px;
}

.payment-container {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   VOLTAR
========================================================= */

.payment-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 36px;
    color: #47584f;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}

.payment-back svg {
    width: 17px;
    height: 17px;
}


/*
=========================================================
CABE ALHO
=========================================================
*/

.payment-heading {
    max-width: 760px;
    margin-bottom: 42px;
}

.payment-eyebrow,
.payment-kicker,
.payment-card-header span,
.payment-billing-field span,
.payment-stay-item span,
.payment-summary-label {
    display: block;
    margin-bottom: 7px;
    color: #68786f;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.payment-heading h1 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(42px, 5.7vw, 76px);
    line-height: .94;
    letter-spacing: -.055em;
    color: #0d1713;
    font-weight: 800;
}

.payment-heading p {
    max-width: 720px;
    margin: 20px 0 0;
    color: #6b766f;
    font-size: 16px;
    line-height: 1.6;
}


/* =========================================================
   CARDS
========================================================= */

.payment-overview-card,
.payment-card,
.payment-summary {
    border: 1px solid #dce5df;
    background: #fff;
    border-radius: 18px;
}

.payment-overview-card {
    margin-bottom: 24px;
    padding: 28px 30px;
}


/* =========================================================
   RESERVA
========================================================= */

.payment-overview-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e6ece8;
}

.payment-overview-main h2,
.payment-card-header h2,
.payment-summary h2 {
    margin: 0;
    color: #0d1713;
    font-weight: 800;
    letter-spacing: -.035em;
}

.payment-overview-main h2 {
    font-size: 30px;
}


/* =========================================================
   ESTADOS
========================================================= */

.account-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-status-payment {
    background: #fff0bf;
    color: #654a00;
}

.account-status-paid {
    background: #dff5e9;
    color: #0c5f46;
}


/*
=========================================================
DATAS / H SPEDES
=========================================================
*/

.payment-stay-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 24px;
}

.payment-stay-item {
    padding-right: 24px;
}

.payment-stay-item + .payment-stay-item {
    padding-left: 24px;
    border-left: 1px solid #e6ece8;
}

.payment-stay-item strong {
    color: #17221d;
    font-size: 16px;
}


/* =========================================================
   LAYOUT PRINCIPAL
========================================================= */

.payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 32px;
    align-items: start;
}

.payment-main {
    display: grid;
    gap: 28px;
}

.payment-card {
    padding: 34px;
}


/*
=========================================================
CABE ALHO DOS CARDS
=========================================================
*/

.payment-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.payment-card-titlewrap {
    display: flex;
    align-items: center;
    gap: 14px;
}

.payment-icon-box,
.payment-provider-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #eef5f1;
    color: #0d5f4d;
    border-radius: 12px;
}

.payment-icon-box {
    width: 46px;
    height: 46px;
}

.payment-icon-box svg,
.payment-provider-icon svg,
.payment-security-note svg,
.payment-summary-badge svg {
    width: 20px;
    height: 20px;
}

.payment-card-header h2 {
    font-size: 26px;
}

.payment-edit-link {
    color: #0d5f4d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}


/*
=========================================================
DADOS DE FATURA O
=========================================================
*/

.payment-billing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.payment-billing-field {
    padding: 18px;
    border: 1px solid #dfe7e2;
    background: #fbfcfb;
    border-radius: 12px;
}

.payment-billing-field-full {
    grid-column: 1 / -1;
}

.payment-billing-field strong {
    display: block;
    color: #1f2b25;
    font-size: 14px;
    line-height: 1.55;
    word-break: break-word;
}


/*
=========================================================
M TODOS DE PAGAMENTO
=========================================================
*/

.payment-method-content {
    display: grid;
    gap: 28px;
}

.payment-method-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e6ece8;
}

.payment-method-intro strong {
    display: block;
    margin: 0 0 7px;
    color: #142019;
    font-size: 16px;
    font-weight: 850;
}

.payment-method-intro p {
    max-width: 620px;
    margin: 0;
    color: #6d7972;
    font-size: 13px;
    line-height: 1.6;
}

.payment-provider-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #e5f5ed;
    color: #0d5f4d;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.payment-bank-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
    row-gap: 0;
}

.payment-bank-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 17px 0;
    border-bottom: 1px solid #e8edea;
}

.payment-bank-row span {
    color: #7b877f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.payment-bank-row strong {
    min-width: 0;
    color: #17221d;
    font-size: 13px;
    font-weight: 800;
    text-align: right;
    overflow-wrap: anywhere;
}

.payment-proof-section {
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid #dce5df;
    border-radius: 12px;
    background: #f8faf8;
}

.payment-proof-section-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.payment-proof-placeholder-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 10px;
    background: #eaf3ee;
    color: #0d5f4d;
}

.payment-proof-placeholder-icon svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.payment-proof-kicker {
    display: block;
    margin-bottom: 4px;
    color: #718078;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.payment-proof-section-head strong {
    display: block;
    margin-bottom: 5px;
    color: #142019;
    font-size: 15px;
    font-weight: 850;
}

.payment-proof-section-head p {
    margin: 0;
    color: #718078;
    font-size: 11px;
    line-height: 1.55;
}

.payment-proof-section form {
    margin: 0;
}

.payment-proof-section input[type="file"] {
    width: 100%;
    min-height: 48px;
    padding: 7px;
    border: 1px solid #d7e1db;
    border-radius: 9px;
    background: #fff;
    color: #66736b;
    font: inherit;
    font-size: 11px;
}

.payment-proof-section input[type="file"]::file-selector-button {
    min-height: 32px;
    margin-right: 10px;
    padding: 0 13px;
    border: 0;
    border-radius: 7px;
    background: #eaf3ee;
    color: #0d5f4d;
    font-size: 9px;
    font-weight: 850;
    cursor: pointer;
}

.payment-proof-section button[type="submit"],
.payment-proof-section input[type="submit"] {
    min-height: 44px;
    margin-top: 10px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: #0d5f4d;
    color: #fff;
    font: inherit;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
    cursor: pointer;
}

.payment-proof-message {
    margin: 0;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.5;
}

.payment-proof-message.is-error {
    border: 1px solid #efd3cd;
    background: #fff6f4;
    color: #8a3f31;
}

/* =========================================================
   STRIPE
========================================================= */

.payment-provider-actions {
    margin-top: 20px;
}

.payment-provider-actions
.payment-method-placeholder.albergue-stripe-method {
    display: none;
}

.payment-provider-actions
.albergue-stripe-checkout-form {
    margin: 0;
}

.payment-provider-actions .payment-submit,
.payment-provider-actions .albergue-stripe-pay-button {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 10px;
    background: #0d5f4d;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.payment-provider-actions .payment-submit:hover,
.payment-provider-actions .albergue-stripe-pay-button:hover {
    background: #084f40;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(13, 95, 77, .16);
}

.payment-provider-actions .payment-submit-note {
    display: none;
}


/*
=========================================================
SEGURAN A
=========================================================
*/

.payment-security-note {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    color: #718078;
    font-size: 12px;
}

.payment-security-note svg {
    color: #0d5f4d;
}


/* =========================================================
   RESUMO LATERAL
========================================================= */

.payment-summary {
    position: sticky;
    top: 28px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(17, 40, 31, .07);
}

.payment-summary-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e9efeb;
}

.payment-summary-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.payment-summary-body {
    padding: 24px;
}

.payment-summary h2 {
    margin-top: 4px;
    font-size: 26px;
}


.payment-summary-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.payment-summary-title h2 {
    min-width: 0;
}

.payment-room-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    margin-top: 7px;
    color: #0d5f4d !important;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .045em;
    text-decoration: none;
    text-transform: uppercase;
}

.payment-room-link svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.payment-room-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.payment-summary-dates {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    color: #748078;
    font-size: 13px;
}

.payment-summary-divider {
    height: 1px;
    margin: 22px 0;
    background: #e6ece8;
}

.payment-summary-total {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.payment-summary-total span {
    color: #6c786f;
    font-size: 13px;
}

.payment-summary-total strong {
    color: #0d5f4d;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.04em;
}

.payment-summary-copy {
    margin: 18px 0 0;
    color: #7b877f;
    font-size: 12px;
    line-height: 1.55;
}

.payment-summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 18px;
    padding: 9px 11px;
    background: #eef5f1;
    color: #0d5f4d;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}


/* =========================================================
   PAGAMENTO CONFIRMADO
========================================================= */

.payment-success-box {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
    border: 1px solid #cde6da;
    background: #eef8f3;
    border-radius: 14px;
}

.payment-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #d9f1e6;
    color: #0d5f4d;
}

.payment-success-icon svg {
    width: 21px;
    height: 21px;
}

.payment-success-box strong {
    color: #0d5f4d;
}

.payment-success-box p {
    margin: 6px 0 0;
    color: #66756d;
    font-size: 13px;
    line-height: 1.55;
}


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

@media (max-width: 980px) {

    .payment-layout {
        grid-template-columns: 1fr;
    }

    .payment-summary {
        position: static;
    }
}


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

@media (max-width: 700px) {

    .payment-section {
        padding: 36px 0 64px;
    }

    .payment-container {
        width: min(100% - 28px, 1240px);
    }

    .payment-heading h1 {
        font-size: clamp(40px, 14vw, 58px);
    }

    .payment-overview-main,
    .payment-card-header,
    .payment-provider-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .payment-stay-grid,
    .payment-billing-grid {
        grid-template-columns: 1fr;
    }

    .payment-stay-item,
    .payment-stay-item + .payment-stay-item {
        padding: 14px 0;
        border-left: 0;
        border-top: 1px solid #e6ece8;
    }

    .payment-stay-item:first-child {
        border-top: 0;
    }

    .payment-billing-field-full {
        grid-column: auto;
    }

    .payment-overview-card,
    .payment-card {
        padding: 22px;
    }

    .payment-summary-total {
        align-items: flex-start;
        flex-direction: column;
    }

    .payment-method-intro,
    .payment-summary-title {
        flex-direction: column;
    }

    .payment-bank-details {
        grid-template-columns: 1fr;
    }

    .payment-proof-section {
        padding: 18px;
    }
}

/*
=========================================================
PAGAMENTO EDI O DOS DADOS DE FATURA O
Acrescentar no FINAL do account.css
=========================================================
*/

.payment-edit-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.payment-edit-link svg {
    width: 15px;
    height: 15px;
}

.payment-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 24px;
    padding: 14px 16px;
    border: 1px solid #dce5df;
    border-radius: 12px;
    background: #fff;
    font-size: 13px;
    line-height: 1.5;
}

.payment-notice svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-top: 1px;
}

.payment-notice p {
    margin: 0;
}

.payment-notice p + p {
    margin-top: 4px;
}

.payment-notice-success {
    border-color: #cde6da;
    background: #eef8f3;
    color: #0d5f4d;
}

.payment-notice-error {
    border-color: #efd3cd;
    background: #fff6f4;
    color: #8a3f31;
}

.payment-required-legend {
    margin: -4px 0 18px;
    color: #748078;
    font-size: 12px;
}

.payment-billing-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.payment-form-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.payment-form-field-full {
    grid-column: 1 / -1;
}

.payment-form-field label {
    color: #405047;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
}

.payment-form-field.is-required label::after {
    content: " *";
    color: #0d5f4d;
}

.payment-form-field input {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid #d7e1db;
    border-radius: 10px;
    outline: 0;
    background: #fff;
    color: #17221d;
    font: inherit;
    font-size: 14px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.payment-form-field input:focus {
    border-color: #0d5f4d;
    box-shadow: 0 0 0 3px rgba(13, 95, 77, .08);
}

.payment-form-field input:disabled {
    background: #f4f6f4;
    color: #7d8982;
    cursor: not-allowed;
}

.payment-form-field small {
    color: #849087;
    font-size: 10px;
    line-height: 1.4;
}

.payment-billing-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #e6ece8;
}

.payment-secondary-button,
.payment-save-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.payment-secondary-button {
    border: 1px solid #d7e1db;
    background: #fff;
    color: #39483f;
}

.payment-save-button {
    border: 0;
    background: #0d5f4d;
    color: #fff;
    cursor: pointer;
}

.payment-save-button svg {
    width: 16px;
    height: 16px;
}

.payment-save-button:hover {
    background: #084f40;
}

/*
Garante que os SVG Lucide ficam vis veis nos quadrados dos t tulos.
*/
.payment-icon-box svg,
.payment-provider-icon svg,
.payment-security-note svg,
.payment-summary-badge svg,
.payment-back svg {
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 700px) {
    .payment-billing-edit-grid {
        grid-template-columns: 1fr;
    }

    .payment-form-field-full {
        grid-column: auto;
    }

    .payment-billing-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .payment-secondary-button,
    .payment-save-button {
        width: 100%;
    }
}

/*
=========================================================
RESERVAS SISTEMA FINAL CONSOLIDADO
Hierarquia editorial + timeline discreta
=========================================================
*/

.account-dashboard-content:has(.account-reservations-list) {
    --r-green: #0d5f4d;
    --r-green-dark: #084f40;
    --r-lime: #d8ff78;
    --r-ink: #102019;
    --r-muted: #7f8983;
    --r-line: #e6ebe7;
    --r-soft: #f5f8f6;
}

/*
---------------------------------------------------------
CABE ALHO DA REA
---------------------------------------------------------
*/

.account-dashboard-content:has(.account-reservations-list)
.account-dashboard-header {
    margin-bottom: 28px;
}

.account-dashboard-content:has(.account-reservations-list)
.account-dashboard-header h1 {
    margin: 0;
    color: var(--r-ink);
    font-family: Inter, Arial, sans-serif;
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.055em;
}

.account-dashboard-content:has(.account-reservations-list)
.account-dashboard-header p {
    max-width: 620px;
    margin: 12px 0 0;
    color: var(--r-muted);
    font-family: Inter, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   LISTA + CARD
--------------------------------------------------------- */

.account-reservations-list {
    gap: 24px;
}

.account-reservation-card {
    overflow: hidden;
    padding: 0;
    border: 1px solid #dce5e0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(15, 48, 36, .04);
}

.account-reservation-card,
.account-reservation-card * {
    font-family: Inter, Arial, sans-serif;
}


/*
---------------------------------------------------------
CABE ALHO DA RESERVA
---------------------------------------------------------
*/

.account-reservation-top {
    align-items: center;
    margin: 0;
    padding: 32px 28px 26px;
    border-bottom: 0 !important;
}

.account-reservation-room {
    gap: 14px;
}

.account-reservation-image {
    width: 72px;
    height: 58px;
    overflow: hidden;
    flex: 0 0 auto;
    border-radius: 10px;
    background: #edf2ef;
}

.account-reservation-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-reservation-room h3 {
    margin: 0 0 4px;
    color: var(--r-ink);
    font-size: 20px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.account-reservation-room p {
    margin: 0;
    color: #929b95;
    font-size: 10px;
    line-height: 1.4;
}


.account-reservation-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: #929b95;
    font-size: 10px;
    line-height: 1.4;
}

.account-room-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--r-green) !important;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.account-room-link svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-room-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ---------------------------------------------------------
   ESTADO
--------------------------------------------------------- */

.account-reservation-card .account-status {
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
    white-space: nowrap;
}

.account-reservation-card .account-status-payment,
.account-reservation-card .account-status-contract,
.account-reservation-card .account-status-contract_sent,
.account-reservation-card .account-status-contract_signed,
.account-reservation-card .account-status-contract_validated,
.account-reservation-card .account-status-paid {
    border-color: #c9ddd3;
    background: #eef7f3;
    color: var(--r-green);
}

.account-reservation-card .account-status-pending {
    border-color: #ead28b;
    background: #fff3cb;
    color: #725300;
}

.account-reservation-card .account-status-rejected,
.account-reservation-card .account-status-cancelled {
    border-color: #ecd0c8;
    background: #fff4f1;
    color: #875347;
}


/*
---------------------------------------------------------
ENTRADA / SA DA / H SPEDES
Todas as divis rias usam exatamente a mesma espessura/cor.
---------------------------------------------------------
*/

.account-reservation-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0 28px;
    padding: 26px 0 30px;
    border-top: 1px solid var(--r-line) !important;
    border-bottom: 0 !important;
}

.account-reservation-detail {
    min-width: 0;
    padding: 0 22px;
}

.account-reservation-detail:first-child {
    padding-left: 0;
}

.account-reservation-detail + .account-reservation-detail {
    border-left: 1px solid var(--r-line);
}

.account-reservation-detail span {
    display: block;
    margin-bottom: 6px;
    color: #969f99;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.account-reservation-detail strong {
    color: var(--r-ink);
    font-size: 12px;
    font-weight: 800;
}


/*
---------------------------------------------------------
TIMELINE FINAL ROBUSTA
Linha ligada aos pontos, sem desalinhamentos.
---------------------------------------------------------
*/

.account-reservation-progress {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: start;
    gap: 0;
    margin: 0 28px;
    padding: 34px 0 38px;
    border: 0 !important;
    background: transparent;
}

/* remove as linhas absolutas antigas */
.account-reservation-progress::before,
.account-reservation-progress::after {
    display: none !important;
    content: none !important;
}

.account-progress-step {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

/* conector entre etapas, alinhado ao centro dos pontos */
.account-progress-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 9px;
    left: calc(50% + 10px);
    width: calc(100% - 20px);
    height: 1px;
    background: #dfe6e2;
    z-index: -1;
}

/*
segmentos j conclu dos
*/
.account-progress-step.is-complete:not(:last-child)::after {
    background: var(--r-green);
}

/* ponto base */
.account-progress-dot {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    border: 1.5px solid #d4ddd7 !important;
    border-radius: 50%;
    background: #fff !important;
    color: #9ca59f !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    z-index: 2;
}

/*
conclu dos
*/
.account-progress-step.is-complete .account-progress-dot {
    border-color: var(--r-green) !important;
    background: var(--r-green) !important;
    color: #fff !important;
}

.account-progress-step.is-complete .account-progress-dot svg {
    display: block;
    width: 11px;
    height: 11px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* atual */
.account-progress-step.is-current .account-progress-dot {
    width: 22px !important;
    height: 22px !important;
    margin-top: -2px !important;
    border: 2px solid var(--r-green) !important;
    background: #f1ffd9 !important;
    color: var(--r-green) !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    box-shadow: 0 0 0 4px #f4f7f5 !important;
}

/* futuro */
.account-progress-step:not(.is-complete):not(.is-current) .account-progress-dot {
    background: #fff !important;
    color: #a1aaa4 !important;
}

/* labels */
.account-progress-label {
    margin: 0 !important;
    color: #9da6a0 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 7px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase;
    text-align: center;
}

.account-progress-step.is-complete .account-progress-label {
    color: #7d8b83 !important;
}

.account-progress-step.is-current .account-progress-label {
    color: var(--r-green) !important;
    font-weight: 850 !important;
}

@media (max-width: 760px) {
    .account-reservation-progress {
        margin: 0 12px;
        padding: 24px 0 28px;
    }

    .account-progress-label {
        font-size: 6px !important;
    }
}


/*
---------------------------------------------------------
A O DA FASE
Mais espa o para respirar e hierarquia clara.
---------------------------------------------------------
*/

.account-reservation-actions {
    display: block;
    margin: 0;
    padding: 6px 28px 40px;
    border: 0;
}

.account-reservation-payment-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.account-reservation-payment-total {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.account-reservation-payment-total strong {
    display: block;
    margin: 0 0 5px;
    color: var(--r-green);
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.035em;
}

.account-reservation-payment-total small {
    display: block;
    margin: 0;
    color: #8b948e;
    font-size: 9px;
    line-height: 1.45;
}

.account-reservation-actions .account-primary-button,
.account-reservation-actions .account-secondary-button {
    min-height: 46px;
    border-radius: 9px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .055em;
}

.account-reservation-actions .account-primary-button {
    min-width: 190px;
    padding: 0 22px;
    border: 1px solid var(--r-green);
    background: var(--r-green);
    color: #fff;
}

.account-reservation-actions .account-primary-button:hover {
    background: var(--r-green-dark);
}


.account-reservation-actions .account-primary-button svg,
.account-reservation-actions .account-secondary-button svg {
    width: 15px;
    height: 15px;
    margin-right: 7px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-reservation-actions .account-secondary-button {
    padding: 0 18px;
    border: 1px solid #dce3de;
    background: #fff;
    color: #334139;
}


/* ---------------------------------------------------------
   CONTRATO
--------------------------------------------------------- */

.account-contract-step {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr);
    gap: 34px;
    align-items: center;
    margin: 2px 28px 30px;
    padding: 24px;
    border: 1px solid #dfe7e2;
    border-radius: 14px;
    background: #f8faf8;
}

.account-contract-step-copy > span {
    display: block;
    margin-bottom: 6px;
    color: var(--r-green);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.account-contract-step-copy > strong {
    display: block;
    margin-bottom: 7px;
    color: var(--r-ink);
    font-size: 15px;
    font-weight: 850;
}

.account-contract-step-copy > p {
    margin: 0;
    color: var(--r-muted);
    font-size: 11px;
    line-height: 1.6;
}

.account-contract-actions {
    display: grid;
    gap: 10px;
}

.account-contract-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 43px;
    width: fit-content;
    padding: 0 15px;
    border: 1px solid #cddbd3;
    border-radius: 8px;
    background: #fff;
    color: var(--r-green) !important;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.account-contract-open svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-contract-open:hover {
    border-color: var(--r-green);
}

.account-contract-upload {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
}

.account-contract-upload input[type="file"] {
    width: 100%;
    min-height: 43px;
    padding: 6px;
    border: 1px solid #d9e2dc;
    border-radius: 8px;
    background: #fff;
    color: #657168;
    font-size: 10px;
}

.account-contract-upload input[type="file"]::file-selector-button {
    min-height: 30px;
    margin-right: 10px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: #eef5f1;
    color: var(--r-green);
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.account-contract-upload .account-primary-button {
    min-height: 43px;
    border-radius: 8px;
    font-size: 9px;
}

.account-contract-upload small {
    grid-column: 1 / -1;
    color: #8b948e;
    font-size: 8px;
}


/*
---------------------------------------------------------
CONTRATO ENVIADO / AGUARDA VALIDA O
---------------------------------------------------------
*/

.account-contract-status {
    margin: 2px 28px 24px;
    padding: 15px 17px;
    border: 1px solid #dfe7e2;
    border-radius: 12px;
    background: #f8faf8;
    color: #66746b;
    font-size: 11px;
    line-height: 1.6;
}


/*
---------------------------------------------------------
REJEI O
---------------------------------------------------------
*/

.account-rejection-box {
    margin: 2px 28px 24px;
    padding: 18px;
    border: 1px solid #ecd0c9;
    border-radius: 12px;
    background: #fff7f5;
}

.account-rejection-box strong {
    color: #7f4c42;
    font-size: 13px;
}

.account-rejection-box p,
.account-rejection-box small {
    color: #82695f;
    font-size: 11px;
    line-height: 1.55;
}


/*
---------------------------------------------------------
HIST RICO
Terceiro n vel de hierarquia.
---------------------------------------------------------
*/

.account-reservation-timeline {
    margin: 0 28px 30px !important;
    padding: 20px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--r-line) !important;
    background: transparent !important;
}

.account-reservation-timeline summary {
    position: relative;
    min-height: 40px;
    padding: 0 24px 0 0 !important;
    outline: 0 !important;
    list-style: none;
    color: #78847d !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    cursor: pointer;
}

.account-reservation-timeline summary::-webkit-details-marker {
    display: none;
}

.account-reservation-timeline summary::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #849188;
    border-bottom: 1.5px solid #849188;
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s ease;
}

.account-reservation-timeline[open] summary::after {
    transform: translateY(-30%) rotate(225deg);
}

.account-reservation-timeline summary:focus,
.account-reservation-timeline summary:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

.account-reservation-timeline-list {
    display: grid;
    gap: 0;
    padding: 4px 0 8px;
    border: 0;
}

.account-reservation-timeline-item {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 0;
}

.account-reservation-timeline-item > span {
    width: 8px;
    height: 8px;
    margin-top: 5px;
    background: var(--r-green);
}

.account-reservation-timeline-item > div strong,
.account-reservation-timeline h2,
.account-reservation-timeline h3,
.account-reservation-timeline h4 {
    display: block;
    margin: 0 0 4px !important;
    color: var(--r-ink) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}

.account-reservation-timeline-item > div p,
.account-reservation-timeline p {
    margin: 0 0 5px !important;
    color: #6f7a73 !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

.account-reservation-timeline-item > div small,
.account-reservation-timeline time,
.account-reservation-timeline .history-date,
.account-reservation-timeline small {
    display: block;
    margin-top: 4px !important;
    color: #929b95 !important;
    font-size: 8px !important;
    line-height: 1.4 !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 760px) {

    .account-reservation-top {
        align-items: flex-start;
        padding: 22px 20px 18px;
    }

    .account-reservation-details {
        grid-template-columns: 1fr;
        margin: 0 20px;
        padding: 0;
    }

    .account-reservation-detail,
    .account-reservation-detail:first-child {
        padding: 14px 0;
    }

    .account-reservation-detail + .account-reservation-detail {
        border-left: 0;
        border-top: 1px solid var(--r-line);
    }

    .account-reservation-progress {
        margin: 0 12px;
        padding: 24px 0 26px;
    }

    .account-reservation-progress::before {
        top: 27px;
    }

    .account-progress-label {
        font-size: 6px !important;
    }

    .account-reservation-actions {
        padding: 4px 20px 30px;
    }

    .account-reservation-payment-summary {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .account-reservation-payment-total,
    .account-reservation-actions .account-primary-button,
    .account-reservation-actions .account-secondary-button {
        width: 100%;
    }

    .account-contract-step {
        grid-template-columns: 1fr;
        margin: 2px 20px 22px;
        padding: 18px;
    }

    .account-contract-open {
        width: 100%;
    }

    .account-contract-upload {
        grid-template-columns: 1fr;
    }

    .account-contract-upload small {
        grid-column: auto;
    }

    .account-contract-status,
    .account-rejection-box,
    .account-reservation-timeline {
        margin-left: 20px !important;
        margin-right: 20px !important;
    }
}


/*
=========================================================
RUPA RESERVAS: AJUSTE FINO DE RESPIRA O
Mant m a estrutura atual altera apenas o ritmo vertical.
=========================================================
*/

@media (min-width: 701px) {
    .account-reservation-card {
        padding-top: 32px;
        padding-bottom: 30px;
    }

    .account-reservation-top {
        margin-bottom: 26px;
    }

    .account-reservation-details {
        padding-top: 22px;
        padding-bottom: 24px;
    }

    .account-reservation-progress {
        padding-top: 34px;
        padding-bottom: 38px;
    }

    .account-reservation-actions {
        padding-top: 10px;
        padding-bottom: 38px;
    }

    .account-reservation-timeline {
        margin-top: 0 !important;
        padding-top: 22px !important;
        padding-bottom: 4px !important;
    }
}


/*
=========================================================
RUPA COMPROVATIVO DE PAGAMENTO
=========================================================
*/

.payment-proof-form {
    display: grid;
    gap: 10px;
}

.payment-proof-file-label {
    color: #405047;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
}

.payment-proof-form small {
    color: #87928b;
    font-size: 9px;
    line-height: 1.4;
}

.payment-proof-form button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
}

.payment-proof-form button[type="submit"] svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.payment-proof-message.is-success {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #cde6da;
    background: #eef8f3;
    color: #0d5f4d;
}

.payment-proof-message.is-success svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.payment-proof-locked {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 17px 18px;
    border: 1px solid #d9e5de;
    border-radius: 10px;
    background: #f2f7f4;
}

.payment-proof-locked-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 9px;
    background: #e2efe8;
    color: #0d5f4d;
}

.payment-proof-locked-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.payment-proof-locked strong {
    display: block;
    margin: 1px 0 4px;
    color: #163126;
    font-size: 12px;
    font-weight: 850;
}

.payment-proof-locked p {
    margin: 0;
    color: #718078;
    font-size: 10px;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .payment-proof-form button[type="submit"] {
        width: 100%;
    }
}


/*
=========================================================
RUPA PAGAMENTO: CORRE O VISUAL FINAL
Corrige cones e bot o do comprovativo sem afetar reservas.
=========================================================
*/

/*
cones dos t tulos
*/
.payment-page-modern .payment-icon-box {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    background: #eef5f1 !important;
    color: #0d5f4d !important;
}

.payment-page-modern .payment-icon-box svg,
.payment-page-modern .payment-proof-placeholder-icon svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/* Zona do comprovativo */
.payment-proof-form {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
}

.payment-proof-controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.payment-proof-controls input[type="file"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 7px !important;
    border: 1px solid #d7e1db !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #66736b !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.payment-proof-controls input[type="file"]::file-selector-button {
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #eaf3ee !important;
    color: #0d5f4d !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 32px !important;
    cursor: pointer !important;
}

.payment-proof-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 190px !important;
    max-width: none !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 1px solid #0d5f4d !important;
    border-radius: 9px !important;
    background: #0d5f4d !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
}

.payment-proof-submit::before,
.payment-proof-submit::after {
    display: none !important;
    content: none !important;
}

.payment-proof-submit:hover {
    background: #084f40 !important;
    border-color: #084f40 !important;
}

/* Mensagem depois do envio */
.payment-proof-locked {
    margin-top: 2px !important;
}

@media (max-width: 700px) {
    .payment-proof-controls {
        grid-template-columns: 1fr !important;
    }

    .payment-proof-submit {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/*
=========================================================
RUPA RESERVA CONFIRMADA / PREPARAR CHEGADA
=========================================================
*/

.payment-arrival {
    margin-top: 24px;
    padding-top: 28px;
    border-top: 1px solid #e6ece8;
}

.payment-arrival-head > span {
    display: block;
    margin-bottom: 6px;
    color: #0d5f4d;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.payment-arrival-head h3 {
    margin: 0;
    color: #102019;
    font-family: Inter, Arial, sans-serif;
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.035em;
}

.payment-arrival-head p {
    max-width: 650px;
    margin: 9px 0 0;
    color: #6d7972;
    font-size: 13px;
    line-height: 1.6;
}

.payment-arrival-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
    border-top: 1px solid #e6ece8;
}

.payment-arrival-item {
    min-width: 0;
    padding: 18px 0;
    border-bottom: 1px solid #e6ece8;
}

.payment-arrival-item:nth-child(odd) {
    padding-right: 24px;
}

.payment-arrival-item:nth-child(even) {
    padding-left: 24px;
    border-left: 1px solid #e6ece8;
}

.payment-arrival-item span {
    display: block;
    margin-bottom: 5px;
    color: #7c8981;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.payment-arrival-item strong,
.payment-arrival-item a {
    color: #17221d;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.payment-arrival-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.payment-arrival-primary,
.payment-arrival-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 9px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
}

.payment-arrival-primary {
    border: 1px solid #0d5f4d;
    background: #0d5f4d;
    color: #fff !important;
}

.payment-arrival-secondary {
    border: 1px solid #d7e1db;
    background: #fff;
    color: #334139 !important;
}

.account-reservation-confirmed {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.account-reservation-confirmed > div > span {
    display: block;
    margin-bottom: 5px;
    color: #0d5f4d;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.account-reservation-confirmed > div > strong {
    display: block;
    color: #102019;
    font-size: 15px;
    font-weight: 850;
}

.account-reservation-confirmed > div > p {
    max-width: 560px;
    margin: 6px 0 0;
    color: #7a867f;
    font-size: 10px;
    line-height: 1.55;
}

@media (max-width: 700px) {
    .payment-arrival-grid {
        grid-template-columns: 1fr;
    }

    .payment-arrival-item:nth-child(odd),
    .payment-arrival-item:nth-child(even) {
        padding-left: 0;
        padding-right: 0;
        border-left: 0;
    }

    .payment-arrival-actions,
    .account-reservation-confirmed {
        align-items: stretch;
        flex-direction: column;
    }

    .payment-arrival-primary,
    .payment-arrival-secondary,
    .account-reservation-confirmed .account-primary-button {
        width: 100%;
    }
}

/*
=========================================================
RUPA ACCOUNT UX REFINEMENTS
Empty states + message feedback
=========================================================
*/

.account-empty-state {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    padding: 44px 30px !important;
    border: 1px solid #dfe5e1 !important;
    border-radius: 14px !important;
    background: #fff !important;
    text-align: center;
}

.account-empty-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 54px !important;
    height: 54px !important;
    margin: 0 auto 18px !important;
    border-radius: 14px !important;
    background: #eef3f0 !important;
    color: var(--system-green, #21483f) !important;
    font-size: 0 !important;
}

.account-empty-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-empty-state h3 {
    margin: 0 0 8px !important;
    color: #18211c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

.account-empty-state p {
    max-width: 430px !important;
    margin: 0 auto 21px !important;
    color: #6e7973 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

.account-empty-state .account-primary-button {
    min-height: 44px !important;
    padding: 0 20px !important;
    border: 1px solid var(--system-green, #21483f) !important;
    border-radius: 8px !important;
    background: var(--system-green, #21483f) !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase;
}

.account-empty-state .account-primary-button:hover {
    border-color: var(--system-green-dark, #183a33) !important;
    background: var(--system-green-dark, #183a33) !important;
    color: #fff !important;
}

.account-chat-feedback {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 6px;
    min-height: 24px;
    margin: -2px 0 0;
    color: var(--system-green, #21483f);
    font-family: Inter, Arial, sans-serif;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.3;
    transition: opacity .2s ease, transform .2s ease;
}

.account-chat-feedback > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #eef5f1;
    color: var(--system-green, #21483f);
    font-size: 10px;
    font-weight: 900;
}

.account-chat-feedback.is-hiding {
    opacity: 0;
    transform: translateY(-3px);
}

@media (max-width: 700px) {
    .account-empty-state {
        padding: 36px 22px !important;
    }

    .account-empty-icon {
        width: 50px !important;
        height: 50px !important;
    }
}

/*
=========================================================
RUPA ESTADOS VAZIOS ALINHADOS COM O CONTE DO
=========================================================
*/

.account-dashboard-content .account-empty-state {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/*
=========================================================
RUPA EMPTY STATES FINAL FIX
cones sempre dentro da box e vis veis
=========================================================
*/

.account-dashboard-content .account-empty-state {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.account-empty-state .account-empty-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    height: 54px !important;
    margin: 0 auto 18px !important;
    border-radius: 14px !important;
    background: #eef3f0 !important;
    color: var(--system-green, #21483f) !important;
    font-size: 0 !important;
}

.account-empty-state .account-empty-icon svg {
    display: block !important;
    width: 23px !important;
    height: 23px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/*
=========================================================
RUPA FINAL ACCOUNT POLISH
Sidebar user + recent reservation + incidents
=========================================================
*/

.account-sidebar-user {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 6px 10px 24px !important;
    margin-bottom: 18px !important;
}

.account-avatar {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 50% !important;
    background: var(--system-green, #21483f) !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.account-sidebar-user strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #17221c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

.account-sidebar-user span {
    display: block !important;
    color: #8a958f !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

.account-activity-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    border-radius: 10px !important;
    background: #eef3f0 !important;
    color: var(--system-green, #21483f) !important;
    font-size: 0 !important;
}

.account-activity-icon svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/*
Hist rico de ocorr ncias
*/
.account-incidents-list {
    display: grid !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

.account-incident-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 18px 20px !important;
    border: 1px solid #e0e6e2 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.account-incident-card > div {
    min-width: 0 !important;
}

.account-incident-card strong {
    display: block !important;
    margin: 0 0 5px !important;
    color: #17221c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

.account-incident-card > div > span {
    display: block !important;
    color: #77827c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}

.account-incident-card .account-status {
    flex: 0 0 auto !important;
    min-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #eef3f0 !important;
    color: var(--system-green, #21483f) !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 850 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

@media (max-width: 700px) {
    .account-incident-card {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
}

/* =========================================================
   RUPA ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â RESERVAS COLAPSÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂVEIS
   Bloco consolidado: uma ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âºnica fonte de verdade
========================================================= */

/* Estrutura */
.account-reservation-top {
    position: relative;
}

.account-reservation-card .account-reservation-image {
    display: none !important;
}

.account-reservation-card .account-reservation-room {
    min-width: 0 !important;
    gap: 0 !important;
}

.account-reservation-collapsible {
    display: block;
    padding: 0 !important;
}

.account-reservation-card.is-collapsed .account-reservation-collapsible {
    display: none;
}

/* BotÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â£o expandir/recolher */
.account-reservation-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    margin-left: 18px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    border: 1px solid #dce5e0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--system-green, #21483f) !important;
    cursor: pointer;
    transition:
        background .18s ease,
        border-color .18s ease;
}

.account-reservation-toggle:hover {
    border-color: #bfd2c9 !important;
    background: #f2f7f4 !important;
}

.account-reservation-toggle svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform .22s ease;
}

.account-reservation-card.is-expanded .account-reservation-toggle svg {
    transform: rotate(180deg);
}

/* Alinhamento lateral igual aberto / fechado */
.account-reservation-card.is-collapsed .account-reservation-top,
.account-reservation-card.is-expanded .account-reservation-top {
    margin: 0 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    align-items: center !important;
}

.account-reservation-card.is-collapsed .account-status,
.account-reservation-card.is-expanded .account-status {
    margin-left: auto !important;
}

/* Estado fechado */
.account-reservation-card.is-collapsed {
    padding: 0 !important;
}

.account-reservation-card.is-collapsed .account-reservation-top {
    min-height: 82px !important;
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

.account-reservation-card.is-collapsed .account-reservation-room h3 {
    margin: 0 0 3px !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
}

.account-reservation-card.is-collapsed .account-reservation-room p {
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
}

/* Estado aberto */
.account-reservation-card.is-expanded .account-reservation-top {
    padding-top: 20px !important;
    padding-bottom: 16px !important;
}

.account-reservation-card.is-expanded .account-reservation-details,
.account-reservation-card.is-expanded .account-reservation-progress,
.account-reservation-card.is-expanded .account-reservation-confirmed,
.account-reservation-card.is-expanded .account-confirmed-block,
.account-reservation-card.is-expanded .account-reservation-history,
.account-reservation-card.is-expanded .account-reservation-timeline {
    margin-left: 22px !important;
    margin-right: 22px !important;
}

.account-reservation-card.is-expanded .account-reservation-details {
    margin-top: 18px !important;
    padding: 12px 0 10px !important;
}

.account-reservation-card.is-expanded .account-reservation-progress {
    margin-top: 8px !important;
    padding: 8px 0 10px !important;
}

.account-reservation-card.is-expanded .account-reservation-confirmed,
.account-reservation-card.is-expanded .account-confirmed-block {
    margin-top: 24px !important;
    padding: 12px 0 !important;
}

.account-reservation-card.is-expanded .account-reservation-history,
.account-reservation-card.is-expanded .account-reservation-timeline {
    margin-top: 18px !important;
}

.account-reservation-card.is-expanded .account-history-header,
.account-reservation-card.is-expanded .account-reservation-history-header,
.account-reservation-card.is-expanded .account-reservation-history-toggle,
.account-reservation-card.is-expanded .account-history-toggle {
    margin-top: 14px !important;
    padding-top: 14px !important;
    padding-bottom: 12px !important;
}

.account-reservation-card.is-expanded .account-reservation-history-toggle svg,
.account-reservation-card.is-expanded .account-history-toggle svg {
    margin-left: 10px !important;
}

/* Mobile */
@media (max-width: 700px) {
    .account-reservation-card.is-collapsed .account-reservation-top,
    .account-reservation-card.is-expanded .account-reservation-top {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .account-reservation-card.is-collapsed .account-reservation-top {
        min-height: 94px !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .account-reservation-card.is-collapsed .account-status {
        margin-left: 0 !important;
    }

    .account-reservation-card.is-collapsed .account-reservation-toggle {
        position: static !important;
        margin-left: auto !important;
    }

    .account-reservation-card.is-expanded .account-reservation-details,
    .account-reservation-card.is-expanded .account-reservation-progress,
    .account-reservation-card.is-expanded .account-reservation-confirmed,
    .account-reservation-card.is-expanded .account-confirmed-block,
    .account-reservation-card.is-expanded .account-reservation-history,
    .account-reservation-card.is-expanded .account-reservation-timeline {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }

    .account-reservation-card.is-expanded .account-reservation-details {
        margin-top: 16px !important;
    }

    .account-reservation-card.is-expanded .account-reservation-confirmed,
    .account-reservation-card.is-expanded .account-confirmed-block {
        margin-top: 20px !important;
    }
}


/* =========================================================
   RUPA ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â MOBILE ACCOUNT UI FINAL 2026-09-01
   Ajustes apenas para a ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡rea de conta em mobile.
   MantÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â©m o desktop intacto.
========================================================= */

@media (max-width: 700px) {

    body.page-template-page-minha-conta .account-dashboard {
        padding: 28px 0 64px !important;
    }

    body.page-template-page-minha-conta .account-dashboard-container {
        width: min(100% - 24px, var(--container)) !important;
        gap: 22px !important;
    }

    /* CartÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â£o do utilizador mais compacto e com margem interior correta */
    body.page-template-page-minha-conta .account-sidebar {
        padding: 16px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    body.page-template-page-minha-conta .account-sidebar-user {
        gap: 11px !important;
        margin: 0 0 12px !important;
        padding: 2px 2px 14px !important;
    }

    body.page-template-page-minha-conta .account-avatar {
        width: 42px !important;
        height: 42px !important;
        font-size: 15px !important;
    }

    body.page-template-page-minha-conta .account-sidebar-user strong {
        margin-bottom: 2px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    body.page-template-page-minha-conta .account-sidebar-user span {
        font-size: 8px !important;
        letter-spacing: .08em !important;
    }

    /* Menu horizontal deliberado: compacto, sem caixas gigantes */
    body.page-template-page-minha-conta .account-nav {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 4px !important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.page-template-page-minha-conta .account-nav::-webkit-scrollbar {
        display: none;
    }

    body.page-template-page-minha-conta .account-nav-link {
        flex: 0 0 auto !important;
        min-height: 46px !important;
        padding: 0 13px !important;
        gap: 9px !important;
        border: 1px solid var(--account-border) !important;
        border-radius: 10px !important;
        background: #fff !important;
        white-space: nowrap !important;
        font-size: 9px !important;
        scroll-snap-align: start;
    }

    body.page-template-page-minha-conta .account-nav-link.is-active {
        border-color: #0d5f4d !important;
        background: #0d5f4d !important;
        color: #fff !important;
    }

    body.page-template-page-minha-conta .account-nav-icon {
        width: 19px !important;
        height: 19px !important;
    }

    body.page-template-page-minha-conta .account-nav-icon svg {
        width: 19px !important;
        height: 19px !important;
    }

    body.page-template-page-minha-conta .account-nav-count {
        min-width: 18px !important;
        height: 18px !important;
        padding: 0 5px !important;
        font-size: 8px !important;
    }

    body.page-template-page-minha-conta .account-nav-logout {
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    body.page-template-page-minha-conta .account-nav-logout .account-nav-link {
        color: #8a554a !important;
        background: #fff8f6 !important;
    }

    /* TÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­tulo e introduÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â§ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â£o mais equilibrados */
    body.page-template-page-minha-conta .account-dashboard-header {
        margin-bottom: 24px !important;
    }

    body.page-template-page-minha-conta .account-dashboard-header h1 {
        font-size: clamp(36px, 10vw, 44px) !important;
        line-height: .98 !important;
        letter-spacing: -.045em !important;
    }

    body.page-template-page-minha-conta .account-dashboard-header p {
        margin-top: 12px !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    /* MantÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â©m estatÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­sticas em 2 colunas e reduz peso visual */
    body.page-template-page-minha-conta .account-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
    }

    body.page-template-page-minha-conta .account-stat-card {
        min-height: 150px !important;
        padding: 18px !important;
        border-radius: 14px !important;
    }

    body.page-template-page-minha-conta .account-stat-icon {
        width: 38px !important;
        height: 38px !important;
        margin-bottom: 17px !important;
        border-radius: 9px !important;
    }

    body.page-template-page-minha-conta .account-stat-card > span {
        margin-bottom: 5px !important;
        font-size: 8px !important;
    }

    body.page-template-page-minha-conta .account-stat-card strong {
        font-size: 40px !important;
        line-height: 1 !important;
    }

    body.page-template-page-minha-conta .account-dashboard-panel {
        padding: 20px !important;
        border-radius: 14px !important;
    }

    /* Header mobile mais compacto nas pÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ginas da conta */
    body.page-template-page-minha-conta .header-inner,
    body.page-template-page-login .header-inner,
    body.page-template-page-registo .header-inner {
        min-height: 64px !important;
        gap: 8px !important;
    }

    body.page-template-page-minha-conta .header-actions,
    body.page-template-page-login .header-actions,
    body.page-template-page-registo .header-actions {
        gap: 7px !important;
    }

    body.page-template-page-minha-conta .header-account-trigger {
        min-width: 36px !important;
        max-width: 44px !important;
        padding: 0 4px !important;
    }

    body.page-template-page-minha-conta .header-account-trigger > span {
        display: none !important;
    }

    body.page-template-page-minha-conta .header-button,
    body.page-template-page-login .header-button,
    body.page-template-page-registo .header-button {
        min-height: 38px !important;
        padding: 0 11px !important;
        font-size: 9px !important;
        letter-spacing: .06em !important;
    }
}

@media (max-width: 420px) {

    body.page-template-page-minha-conta .account-dashboard-container {
        width: min(100% - 20px, var(--container)) !important;
    }

    body.page-template-page-minha-conta .account-sidebar {
        padding: 14px !important;
    }

    body.page-template-page-minha-conta .account-stat-card {
        min-height: 140px !important;
        padding: 16px !important;
    }

    body.page-template-page-minha-conta .account-stat-card strong {
        font-size: 36px !important;
    }
}



/* Email verification */
.rupa-verification-resend {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #ebe7df;
}

.rupa-verification-resend summary {
    color: #5f695f;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.rupa-verification-resend-form {
    margin-top: 14px;
}

.rupa-verification-resend-form .account-secondary-button {
    width: 100%;
}
/* RUPA ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â DASHBOARD MOBILE COMPACTO */
@media (max-width:700px){
.account-sidebar{position:static!important;width:100%!important;margin:0 0 14px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.account-sidebar-user{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 7px!important;padding:10px 12px!important;border:1px solid #dfe4df!important;border-radius:8px!important;background:#fff!important}
.account-avatar{width:34px!important;height:34px!important;font-size:13px!important}
.account-sidebar-user strong{margin-bottom:1px!important;font-size:12px!important;line-height:1.2!important}.account-sidebar-user span{font-size:7px!important;letter-spacing:.06em!important}
.account-nav{display:flex!important;flex-direction:row!important;width:100%!important;gap:5px!important;margin:0!important;padding:0 0 4px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;scroll-snap-type:x proximity}.account-nav::-webkit-scrollbar{display:none!important}
.account-nav-link{flex:0 0 auto!important;min-height:36px!important;height:36px!important;gap:6px!important;padding:0 10px!important;border:1px solid #dfe4df!important;border-radius:6px!important;background:#fff!important;font-size:8px!important;font-weight:800!important;line-height:1!important;letter-spacing:.045em!important;white-space:nowrap!important;scroll-snap-align:start}.account-nav-link.is-active{border-color:#0b4f3f!important;background:#0b4f3f!important;color:#fff!important}
.account-nav-icon{display:grid!important;width:15px!important;height:15px!important;flex:0 0 15px!important;place-items:center!important}.account-nav-icon svg{width:14px!important;height:14px!important}.account-nav-count{min-width:17px!important;height:17px!important;margin-left:2px!important;padding:0 4px!important;font-size:7px!important}
.account-nav-logout{flex:0 0 auto!important;margin:0!important;padding:0!important;border:0!important}.account-nav-logout .account-nav-link{min-height:36px!important;height:36px!important}
.account-dashboard-header{margin-bottom:16px!important}.account-dashboard-header h1{font-size:clamp(31px,9vw,38px)!important;line-height:1!important}.account-dashboard-header p{margin-top:8px!important;font-size:12px!important;line-height:1.5!important}
.account-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-bottom:14px!important}.account-stat-card{min-height:102px!important;padding:12px!important;border-radius:8px!important}.account-stat-icon{width:27px!important;height:27px!important;margin-bottom:9px!important;border-radius:6px!important}.account-stat-icon svg{width:14px!important;height:14px!important}.account-stat-card>span{margin-bottom:4px!important;font-size:7px!important;letter-spacing:.08em!important}.account-stat-card strong{font-size:24px!important;line-height:1!important}
.account-dashboard-panel,.account-content-card{margin-bottom:14px!important;padding:15px!important;border-radius:8px!important}.account-panel-header{gap:10px!important;margin-bottom:14px!important}
}
@media (max-width:420px){.account-sidebar-user{padding:9px 10px!important}.account-nav-link{min-height:34px!important;height:34px!important;padding:0 9px!important;font-size:7.5px!important}.account-stat-card{min-height:96px!important;padding:11px!important}.account-stat-card strong{font-size:22px!important}}

/* =========================================================
   RUPA ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â MOBILE ACCOUNT UI/UX CONSISTENCY V3
   RevisÃƒÆ’Ã‚Â£o transversal: tipografia, botÃƒÆ’Ã‚Âµes, formulÃƒÆ’Ã‚Â¡rios,
   avatar, pagamentos, notificaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes, favoritos, ocorrÃƒÆ’Ã‚Âªncias
   e cartÃƒÆ’Ã‚Âµes de reservas.
========================================================= */

@media (max-width: 700px) {

    /* Base e ritmo vertical */
    .account-dashboard {
        padding: 26px 0 56px !important;
    }

    .account-dashboard-container {
        gap: 18px !important;
    }

    .account-dashboard-content,
    .account-main {
        min-width: 0 !important;
    }

    /* Avatar: cÃƒÆ’Ã‚Â­rculo rÃƒÆ’Ã‚Â­gido */
    .account-avatar {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;
        aspect-ratio: 1 / 1 !important;
        flex: 0 0 36px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        line-height: 36px !important;
        overflow: hidden !important;
    }

    .account-sidebar-user {
        gap: 11px !important;
    }

    .account-sidebar-user strong {
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .account-sidebar-user span {
        font-size: 8px !important;
        line-height: 1.25 !important;
    }

    /* Sistema tipogrÃƒÆ’Ã‚Â¡fico ÃƒÆ’Ã‚Âºnico */
    .account-dashboard-header,
    .account-page-header {
        margin-bottom: 18px !important;
    }

    .account-dashboard-header > div > span,
    .account-dashboard-header > span,
    .account-page-header > span,
    .account-eyebrow {
        margin-bottom: 6px !important;
        font-size: 8px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        letter-spacing: .14em !important;
    }

    .account-dashboard-header h1,
    .account-page-header h1 {
        margin: 0 !important;
        font-size: 32px !important;
        font-weight: 850 !important;
        line-height: .98 !important;
        letter-spacing: -.035em !important;
    }

    .account-dashboard-header p,
    .account-page-header p {
        margin: 10px 0 0 !important;
        max-width: none !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
    }

    .account-dashboard-panel h2,
    .account-content-card h2,
    .account-empty-state h3,
    .account-reservation-room h3 {
        font-size: 17px !important;
        line-height: 1.15 !important;
    }

    .account-dashboard-panel p,
    .account-content-card p,
    .account-empty-state p {
        font-size: 11px !important;
        line-height: 1.55 !important;
    }

    /* NavegaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o horizontal consistente */
    .account-nav {
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        overflow-x: auto !important;
        padding: 0 0 3px !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .account-nav::-webkit-scrollbar {
        display: none;
    }

    .account-nav-link {
        flex: 0 0 auto !important;
        min-height: 36px !important;
        padding: 0 10px !important;
        gap: 7px !important;
        border: 1px solid #dfe4df !important;
        border-radius: 7px !important;
        background: #fff !important;
        font-size: 8px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: .035em !important;
        white-space: nowrap !important;
    }

    .account-nav-link.is-active {
        border-color: var(--account-header) !important;
        background: var(--account-header) !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    .account-nav-icon {
        width: 16px !important;
        height: 16px !important;
        flex: 0 0 16px !important;
    }

    .account-nav-icon svg {
        width: 15px !important;
        height: 15px !important;
    }

    /* Cards */
    .account-dashboard-panel,
    .account-content-card,
    .account-reservation-card,
    .account-payment-list,
    .account-empty-state {
        border-radius: 12px !important;
    }

    .account-dashboard-panel,
    .account-content-card {
        padding: 16px !important;
    }

    /* BotÃƒÆ’Ã‚Âµes ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â uma ÃƒÆ’Ã‚Âºnica escala mobile */
    .account-primary-button,
    .account-secondary-button,
    .reservation-primary-button,
    .reservation-secondary-button,
    .reservation-submit-button,
    .account-pay-button,
    .account-empty-state a,
    .account-empty-state button {
        min-height: 40px !important;
        padding: 0 16px !important;
        border-radius: 7px !important;
        font-size: 9px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: .065em !important;
        text-transform: uppercase !important;
    }

    /* Forms */
    .account-form,
    .account-profile-form {
        gap: 13px !important;
    }

    .account-field,
    .reservation-field {
        gap: 6px !important;
    }

    .account-field label,
    .reservation-field label,
    .account-profile-form label {
        font-size: 10px !important;
        font-weight: 650 !important;
        line-height: 1.25 !important;
    }

    .account-field input,
    .account-field select,
    .reservation-field input,
    .reservation-field select,
    .account-profile-form input,
    .account-profile-form select,
    .account-dashboard-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .account-dashboard-page select {
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 13px !important;
        border-radius: 7px !important;
        font-size: 12px !important;
    }

    .account-field textarea,
    .reservation-field textarea,
    .account-profile-form textarea,
    .account-dashboard-page textarea {
        min-height: 104px !important;
        padding: 12px 13px !important;
        border-radius: 7px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    /* Pagamentos */
    .account-payment-item {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px 14px !important;
        padding: 16px 0 !important;
        align-items: center !important;
    }

    .account-payment-room strong {
        font-size: 11px !important;
    }

    .account-payment-room span {
        font-size: 9px !important;
    }

    .account-payment-amount {
        font-size: 14px !important;
        font-weight: 750 !important;
        white-space: nowrap !important;
    }

    .account-pay-button {
        grid-column: 1 / -1 !important;
        width: min(100%, 240px) !important;
    }

    /* NotificaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Âµes */
    .account-activity-item {
        grid-template-columns: 38px minmax(0, 1fr) auto !important;
        gap: 11px !important;
        padding: 14px 0 !important;
    }

    .account-activity-icon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 9px !important;
    }

    .account-activity-content strong {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .account-activity-content span,
    .account-activity-date {
        font-size: 9px !important;
        line-height: 1.45 !important;
    }

    /* Favoritos / empty state */
    .account-empty-state {
        padding: 34px 20px !important;
    }

    .account-empty-icon {
        width: 48px !important;
        height: 48px !important;
        margin-bottom: 16px !important;
    }

    /* Reservas ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â transformar o cartÃƒÆ’Ã‚Â£o aberto num resumo compacto */
    .account-reservations-list {
        gap: 12px !important;
    }

    .account-reservation-card {
        padding: 16px !important;
        overflow: hidden !important;
    }

    .account-reservation-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px 12px !important;
        align-items: start !important;
        margin-bottom: 13px !important;
    }

    .account-reservation-room {
        min-width: 0 !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .account-reservation-image {
        width: 64px !important;
        height: 54px !important;
        border-radius: 8px !important;
    }

    .account-reservation-room h3 {
        margin-bottom: 3px !important;
        font-size: 16px !important;
        font-weight: 800 !important;
    }

    .account-reservation-room p {
        font-size: 9px !important;
        line-height: 1.35 !important;
    }

    .account-status {
        min-height: 26px !important;
        padding: 0 9px !important;
        font-size: 7px !important;
        white-space: nowrap !important;
    }

    .account-reservation-details {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
        padding: 12px 0 !important;
    }

    .account-reservation-detail {
        min-width: 0 !important;
        padding: 4px 10px 4px 0 !important;
    }

    .account-reservation-detail:nth-child(even) {
        padding-left: 12px !important;
        border-left: 1px solid #ece9e2 !important;
    }

    .account-reservation-detail span {
        margin-bottom: 4px !important;
        font-size: 7px !important;
        font-weight: 800 !important;
        letter-spacing: .10em !important;
    }

    .account-reservation-detail strong {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .account-reservation-actions {
        gap: 7px !important;
        padding-top: 12px !important;
        justify-content: flex-start !important;
    }

    /* Elementos adicionais de reservas existentes no template */
    .account-reservation-card [class*="timeline"] {
        margin-top: 12px !important;
        margin-bottom: 12px !important;
    }

    .account-reservation-card [class*="price"],
    .account-reservation-card [class*="total"] {
        margin-top: 12px !important;
    }

    .account-reservation-card [class*="price"] strong,
    .account-reservation-card [class*="total"] strong {
        font-size: 20px !important;
        line-height: 1.1 !important;
    }

    /* OcorrÃƒÆ’Ã‚Âªncias: formulÃƒÆ’Ã‚Â¡rio nÃƒÆ’Ã‚Â£o deve parecer formulÃƒÆ’Ã‚Â¡rio desktop comprimido */
    .account-dashboard-page form select,
    .account-dashboard-page form input,
    .account-dashboard-page form textarea {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 420px) {
    .account-dashboard-header h1,
    .account-page-header h1 {
        font-size: 30px !important;
    }

    .account-dashboard-panel,
    .account-content-card {
        padding: 15px !important;
    }

    .account-reservation-card {
        padding: 14px !important;
    }

    .account-reservation-top {
        grid-template-columns: 1fr !important;
    }

    .account-reservation-top > .account-status {
        justify-self: start !important;
    }
}

/* =========================================================
   RUPA ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â RESERVAS MOBILE UX FIX V4
   Topo alinhado + datas limpas + progresso contido +
   histÃƒÆ’Ã‚Â³rico alinhado. Apenas mobile.
========================================================= */

@media (max-width: 700px) {

    body.page-template-page-minha-conta .account-reservation-card {
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Quarto + estado + seta na mesma linha */
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-top,
    body.page-template-page-minha-conta
    .account-reservation-card.is-collapsed
    .account-reservation-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        grid-template-rows: auto !important;
        align-items: center !important;
        column-gap: 9px !important;
        row-gap: 0 !important;
        min-height: 76px !important;
        margin: 0 !important;
        padding: 16px !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-room {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        align-self: center !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-room h3 {
        margin: 0 0 3px !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
        font-weight: 800 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-room p {
        margin: 0 !important;
        font-size: 8.5px !important;
        line-height: 1.3 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-status {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: end !important;
        min-height: 28px !important;
        margin: 0 !important;
        padding: 0 9px !important;
        font-size: 7px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-toggle {
        position: static !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: end !important;
        width: 30px !important;
        height: 30px !important;
        flex: 0 0 30px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-toggle svg {
        width: 14px !important;
        height: 14px !important;
        margin: 0 !important;
    }

    /* ConteÃƒÆ’Ã‚Âºdo aberto com uma margem ÃƒÆ’Ã‚Âºnica */
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-collapsible {
        padding: 0 16px 14px !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-details,
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-progress,
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-confirmed,
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-confirmed-block,
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-history,
    body.page-template-page-minha-conta
    .account-reservation-card.is-expanded
    .account-reservation-timeline {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Datas: uma sÃƒÆ’Ã‚Â³ linha superior, sem divisÃƒÆ’Ã‚Âµes em degrau */
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-details {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
        margin-top: 0 !important;
        padding: 14px 0 12px !important;
        border-top: 1px solid #e5ebe7 !important;
        border-bottom: 0 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail:first-child,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail:nth-child(even),
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail + .account-reservation-detail {
        min-width: 0 !important;
        padding: 0 8px !important;
        border: 0 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail:first-child {
        padding-left: 0 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail:last-child {
        padding-right: 0 !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail span {
        margin: 0 0 5px !important;
        font-size: 7px !important;
        line-height: 1.2 !important;
        letter-spacing: .1em !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-detail strong {
        display: block !important;
        font-size: 10.5px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }

    /* Progresso totalmente contido no cartÃƒÆ’Ã‚Â£o */
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-progress {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        margin-top: 8px !important;
        margin-bottom: 4px !important;
        padding: 14px 0 16px !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-progress::before,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-progress::after {
        max-width: 100% !important;
    }

    /* PreÃƒÆ’Ã‚Â§o/pagamento */
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-confirmed,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-confirmed-block {
        margin-top: 10px !important;
        padding: 12px 0 14px !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-primary-button,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-pay-button {
        width: 100% !important;
        min-height: 40px !important;
    }

    /* HistÃƒÆ’Ã‚Â³rico: texto ÃƒÆ’  esquerda, seta no extremo direito */
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-history-header,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-history-header,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-history-toggle,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-history-toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: 14px 0 0 !important;
        padding: 13px 0 0 !important;
        border-top: 1px solid #e5ebe7 !important;
        text-align: left !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-history-toggle svg,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-history-toggle svg,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-history-header svg,
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-history-header svg {
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        flex: 0 0 16px !important;
        margin: 0 0 0 auto !important;
    }
}

@media (max-width: 380px) {
    body.page-template-page-minha-conta
    .account-reservation-card
    .account-status {
        padding: 0 7px !important;
        font-size: 6.5px !important;
    }

    body.page-template-page-minha-conta
    .account-reservation-card
    .account-reservation-room h3 {
        font-size: 14px !important;
    }
}

/* =========================================================
   RUPA Ã¢â‚¬â€ MINHA CONTA MOBILE v6
   Dados + Reservas + NotificaÃƒÂ§ÃƒÂµes
   Apenas apresentaÃƒÂ§ÃƒÂ£o mobile; nÃƒÂ£o altera lÃƒÂ³gica.
========================================================= */
@media (max-width:700px){

  /* DADOS Ã¢â‚¬â€ grelha mais lÃƒÂ³gica */
  body.page-template-page-minha-conta .account-profile-form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 12px!important;
    align-items:start!important;
  }
  body.page-template-page-minha-conta .account-profile-form>.account-field{
    min-width:0!important;
    width:100%!important;
    margin:0!important;
  }
  body.page-template-page-minha-conta .account-profile-form>.account-field:nth-child(3),
  body.page-template-page-minha-conta .account-profile-form>.account-field-full,
  body.page-template-page-minha-conta .account-profile-form>.account-profile-actions{
    grid-column:1/-1!important;
  }
  body.page-template-page-minha-conta .account-profile-form input,
  body.page-template-page-minha-conta .account-profile-form select,
  body.page-template-page-minha-conta .account-profile-form textarea{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  body.page-template-page-minha-conta .account-profile-actions{
    width:100%!important;
    padding-top:2px!important;
  }
  body.page-template-page-minha-conta .account-profile-actions .account-primary-button{
    width:100%!important;
    min-height:44px!important;
  }

  /* RESERVAS Ã¢â‚¬â€ tÃƒÂ­tulo, estado e seta no mesmo cabeÃƒÂ§alho */
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:8px!important;
    align-items:center!important;
    margin:0!important;
    padding:15px!important;
  }
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-room{
    min-width:0!important;
    margin:0!important;
    align-items:center!important;
  }
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-room h3{
    margin:0!important;
  }
  body.page-template-page-minha-conta .account-reservation-card .account-status{
    margin:0!important;
    justify-self:end!important;
    white-space:nowrap!important;
  }
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-toggle{
    margin:0!important;
    justify-self:end!important;
  }

  /* Datas Ã¢â‚¬â€ elimina o efeito em degraus */
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-details{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    margin:0!important;
    padding:14px 0!important;
    border-top:1px solid #e5ebe7!important;
    border-bottom:1px solid #e5ebe7!important;
  }
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-detail,
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-detail:first-child,
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-detail:last-child{
    min-width:0!important;
    margin:0!important;
    padding:0 8px!important;
    border:0!important;
  }

  /* HistÃƒÂ³rico Ã¢â‚¬â€ alinhamento estÃƒÂ¡vel */
  body.page-template-page-minha-conta details.account-reservation-timeline{
    width:100%!important;
    margin:14px 0 0!important;
    border-top:1px solid #e5ebe7!important;
  }
  body.page-template-page-minha-conta details.account-reservation-timeline>summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:12px 0!important;
    box-sizing:border-box!important;
  }

  /* NOTIFICAÃƒâ€¡Ãƒâ€¢ES Ã¢â‚¬â€ ÃƒÂ­cone | conteÃƒÂºdo | aÃƒÂ§ÃƒÂ£o */
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-item{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) auto!important;
    gap:11px!important;
    align-items:center!important;
    width:100%!important;
    padding:15px 0!important;
  }
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-icon{
    width:38px!important;
    height:38px!important;
    margin:0!important;
  }
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-content{
    min-width:0!important;
    margin:0!important;
  }
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-content strong{
    display:block!important;
    margin:0 0 4px!important;
    line-height:1.3!important;
  }
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-content span{
    display:block!important;
    line-height:1.45!important;
  }
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-date{
    display:block!important;
    margin-top:4px!important;
    text-align:left!important;
  }
  body.page-template-page-minha-conta .account-dashboard-panel .account-activity-item .account-secondary-button{
    min-width:62px!important;
    min-height:38px!important;
    padding:0 10px!important;
    margin:0!important;
  }

  /* avatar rigorosamente circular */
  body.page-template-page-minha-conta .account-avatar{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    aspect-ratio:1/1!important;
    border-radius:50%!important;
    flex:0 0 48px!important;
  }
}

@media (max-width:380px){
  body.page-template-page-minha-conta .account-reservation-card .account-reservation-top{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:6px!important;
    padding:14px 12px!important;
  }
  body.page-template-page-minha-conta .account-reservation-card .account-status{
    padding:0 6px!important;
    font-size:6.5px!important;
  }
}


/* =========================================================
   RUPA â€” MINHA CONTA MOBILE v13
   Reservas recentes + notificaÃ§Ãµes
========================================================= */
@media (max-width: 700px) {
    .account-dashboard-page .account-recent-reservations-list .account-recent-reservation-item {
        display:grid!important;
        grid-template-columns:36px minmax(0,1fr) 104px!important;
        gap:9px!important;
        align-items:center!important;
        width:100%!important;
        padding:13px 0!important;
    }
    .account-dashboard-page .account-recent-reservations-list .account-activity-icon{
        width:36px!important;height:36px!important;margin:0!important;
    }
    .account-dashboard-page .account-recent-reservations-list .account-activity-content{
        min-width:0!important;margin:0!important;
    }
    .account-dashboard-page .account-recent-reservations-list .account-activity-content strong{
        display:block!important;margin:0 0 3px!important;
        font-size:12px!important;line-height:1.2!important;font-weight:700!important;
    }
    .account-dashboard-page .account-recent-reservations-list .account-activity-content span{
        display:block!important;font-size:9px!important;line-height:1.3!important;color:#7b837e!important;
    }
    .account-dashboard-page .account-recent-reservations-list .account-status{
        justify-self:end!important;
        width:104px!important;max-width:104px!important;min-height:30px!important;
        margin:0!important;padding:6px 7px!important;
        display:inline-flex!important;align-items:center!important;justify-content:center!important;
        white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
        text-align:center!important;font-size:7.5px!important;line-height:1.15!important;
        letter-spacing:.025em!important;border-radius:6px!important;box-sizing:border-box!important;
    }

    .account-dashboard-page .account-notifications-list .account-notification-item{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 58px!important;
        gap:12px!important;align-items:center!important;
        width:100%!important;padding:15px 0!important;
    }
    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content{
        min-width:0!important;margin:0!important;
    }
    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content strong{
        display:block!important;margin:0 0 4px!important;font-size:12px!important;line-height:1.25!important;font-weight:700!important;
    }
    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content span{
        display:block!important;margin:0 0 4px!important;color:#6f7772!important;font-size:9.5px!important;line-height:1.4!important;
    }
    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content small{
        display:block!important;color:#9aa09c!important;font-size:8.5px!important;line-height:1.3!important;
    }
    .account-dashboard-page .account-notifications-list .account-notification-item .account-secondary-button{
        justify-self:end!important;width:58px!important;min-width:58px!important;min-height:40px!important;
        padding:0 8px!important;font-size:8px!important;letter-spacing:.03em!important;border-radius:7px!important;
    }
}


/* =========================================================
   RUPA â€” MINHA CONTA v14
   NOTIFICAÃ‡Ã•ES: correÃ§Ã£o DESKTOP sem alterar o mobile
========================================================= */
@media (min-width: 701px) {
    .account-dashboard-page .account-notifications-list .account-notification-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 24px !important;
        align-items: center !important;
        width: 100% !important;
        padding: 22px 0 !important;
    }

    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content {
        min-width: 0 !important;
        width: auto !important;
        margin: 0 !important;
    }

    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content strong {
        display: block !important;
        margin: 0 0 5px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
    }

    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content span {
        display: block !important;
        max-width: 680px !important;
        margin: 0 0 5px !important;
        color: #6f7772 !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }

    .account-dashboard-page .account-notifications-list .account-notification-item .account-activity-content small {
        display: block !important;
        color: #9aa09c !important;
        font-size: 9px !important;
        line-height: 1.3 !important;
    }

    .account-dashboard-page .account-notifications-list .account-notification-item .account-secondary-button {
        justify-self: end !important;
        width: auto !important;
        min-width: 86px !important;
        max-width: none !important;
        min-height: 42px !important;
        padding: 0 18px !important;
        margin: 0 !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }
}
