/* AJAX sidebar content transition */
#wapi-content-area {
    transition: opacity 0.2s ease;
}

/*user login*/
.path-user .layout-content{
  margin-bottom: 90px;
}
.path-user header {
  position: static!important;
  top: 0!important;
}

.password-strength {
  margin-bottom: 10px;
}

.path-user .user-login-form,
#block-newcustomers{
  margin: 50px 0;
}
.path-user .page-title{
  text-align: center;
}

.user-login-form{
  max-width: 500px;
}

.user-login-form .form-actions,
.user-pass .form-actions,
.user-register-form .form-actions{
    display: inline-block;
    float: right;
    clear: right;
    margin: 20px 0 0 0;
}
.user-login-form .captcha {
    float: right;
}
.user-register-form .form-actions {
    clear: right;
}

.new-customer-content .content-action-toolbar {
  text-align: right;
}

/*reset password*/
#block-hmds-content #user-pass{
  max-width: 500px;
  margin: 50px auto;
}


/*user register form*/
#user-register-form {
  overflow: hidden;
  max-width: 700px;
  margin: 0 auto;
  padding: 50px 0;
}
#user-register-form label {
  display: block;
}

#user-register-form .password-confirm,
#user-register-form .password-field,
#user-register-form .password-strength,
#user-register-form .password-confirm-match,
#user-register-form select{
  width: 100%;
}


#user-register-form > .form-wrapper:not(.form-actions){
  display: inline-block;
  width: 50%;
  max-width: 350px;
  padding-left: 20px;
}

#user-register-form > .form-wrapper:not(.form-actions):nth-of-type(-n+6) {
  float: left;
  clear: left;
  padding-left: 0;
  padding-right: 20px;
}

#user-register-form .field--type-datetime{
    margin-bottom: 16px;
}
#user-register-form .field--type-datetime .label {
    font-weight: normal;
    margin-bottom: 0.5em;
    display: block;
}

#user-register-form div[id*='edit-pass--description'] {
    display: none;
}

#user-register-form > .field--name-field-terms-and-conditions {
    /*float: right;*/
    /*clear: right;*/
}
#user-register-form div[id*="edit-field-newsletter-wrapper"] {
    /*float: right;*/
    /*clear: right;*/
}

#user-register-form div[id*="edit-field-newsletter-wrapper"] .js-form-item {
    margin-top: 0;
}
#user-register-form div[id*="edit-field-newsletter-wrapper"] .js-form-item legend {
    display: none;
}

#user-register-form .captcha {
    float: right;
}

#user-register-form .form-wrapper:not(.form-actions) > div{
  margin-top: 0;
}
#user-register-form #edit-password-reset-link {
  display: inline-block;
  clear: both;
  float: left;
}

#edit-password-reset-link {
    display: inline-block;
    margin-top: 105px;
}
.user-pass #edit-password-reset-link,
.user-login-form #edit-password-reset-link {
    margin-top: 28px;
}

/* Phone number styles moved to elements.css */


/*new custommer block*/
@media all and (min-width: 768px) {
  .new-customer-content .content{
    min-height: 114px;
  }
}

@media all and (max-width: 767px) {
  .path-user .page-title{
    text-align: left;
  }
    #user-register-form #edit-password-reset-link {
        float: none;
        margin-top: 0;
    }
    #user-register-form .captcha {
        float: none;
        margin-top: 20px;
    }

  .content-action-toolbar .btn {
    width: 100%;
    margin-top: 10px;
  }
  .form-actions,
  .form-actions .btn {
    width: 100%;
  }
  .form-actions .btn {
    margin-top: 10px;
  }

  #user-register-form > .form-wrapper:not(.form-actions){
    display: inline-block;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
      padding-right: 0!important;
  }

  #user-register-form > .form-wrapper:not(.form-actions):nth-of-type(-n+5) {
    float: none;
    clear: none;
    padding-left: 0;
    padding-right: 0;
  }

}


/* ==========================================================================
   USER ACCOUNT / DASHBOARD
   Modern flat design — Bounded + Manrope + Reddit Mono
   ========================================================================== */

/* ---- Drupal admin tabs (View/Edit) ---- */
.path-user .tabs.primary li {
    display: block;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}
.path-user .tabs a {
    color: #555;
    padding: 10px 16px;
    text-decoration: none;
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all 0.2s ease;
}
.path-user .tabs a:hover { color: #000; }
.path-user .tabs a.is-active {
    background-color: #000;
    color: #fff;
    border-radius: var(--radius-pill, 50px);
}

/* ---- Edit tab forms ---- */
form#user-form > .form-wrapper:not(.form-actions) {
    display: inline-block;
    width: 50%;
    padding-left: 20px;
}
form#user-form > .form-wrapper:not(.form-actions):nth-of-type(-n+4) {
    float: left;
    clear: left;
    padding-left: 0;
    padding-right: 20px;
}
form#user-form .form-wrapper:not(.form-actions) > div { margin-top: 0; }
form#user-form .form-wrapper label { display: block; }
form#user-form .form-wrapper:not(.form-actions) input,
form#user-form .form-wrapper select { width: 100%; }
form#user-form .mobile-number-field .form-type-textfield input { max-width: none; }
form#user-form .form-wrapper .confirm-parent,
form#user-form .form-wrapper .password-parent { max-width: 100%; }

/* ---- User profile base ---- */
.strong-text {
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-size: 16px;
    font-weight: 600;
    display: inline-block;
}
.reset-password-page .user-pass-reset { margin-top: 60px; }

/* ---- Page-level background ---- */
.custom-tabs,
.user-account-content,
.user-edit-content {
    padding-top: 48px;
}

.user-edit-content form { overflow: hidden; }
.user-edit-content .field--name-field-newsletter fieldset { margin: 0; }
.user-edit-content .field--name-field-newsletter fieldset .js-form-type-checkbox { margin: 0; }
.user-edit-content .field--name-field-newsletter legend { display: none; }
.user-edit-content .field--name-field-terms-and-conditions,
.user-edit-content .field--name-field-newsletter,
.user-edit-content .form-actions { float: right; clear: both; }

@media all and (max-width: 767px) {
    form#user-form > .form-wrapper:not(.form-actions) { width: 100%; padding-left: 0; }
    form#user-form > .form-wrapper:not(.form-actions):nth-of-type(-n+4) { padding-right: 0; }
}


/* ==========================================================================
   SIDEBAR NAVIGATION — Modern flat nav (Stripe/Linear style)
   Kill ALL Bootstrap card chrome, pure CSS nav
   ========================================================================== */

/* Reset all Bootstrap card styling in sidebar */
.custom-tabs .accordion,
.custom-tabs .accordion .card {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}
.custom-tabs .accordion .card-header {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}
.custom-tabs .accordion .show,
.custom-tabs .accordion .card:not(.active) {
    border: none !important;
}

/* All nav link buttons — base style */
.custom-tabs .accordion .card .card-header .btn,
.custom-tabs .accordion .card .card-header a.btn,
.custom-tabs .accordion .card .card-header .btn.btn-link,
.custom-tabs .accordion .card .card-header a.btn.btn-link {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px 16px;
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-weight: 400;
    font-size: 14px;
    color: #666 !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none !important;
    text-align: left !important;
    justify-content: flex-start !important;
    height: auto;
    border: none;
    border-radius: 10px;
    background: transparent;
    transition: all 0.15s ease;
    cursor: pointer;
}
.custom-tabs .accordion .card .card-header .btn:hover,
.custom-tabs .accordion .card .card-header a.btn:hover {
    background: rgba(0,0,0,0.04);
    color: #000 !important;
}

/* Active nav item — subtle filled background */
.custom-tabs .accordion .card.active .card-header .btn,
.custom-tabs .accordion .card.active .card-header a.btn {
    background: #000 !important;
    color: #fff !important;
    font-weight: 600;
    border-radius: 10px;
}

/* FontAwesome icons in nav */
.custom-tabs .accordion .card .card-header .btn .fa,
.custom-tabs .accordion .card .card-header a.btn .fa {
    width: 18px;
    text-align: center;
    font-size: 14px;
    opacity: 0.5;
    transition: opacity 0.15s ease;
}
.custom-tabs .accordion .card.active .card-header .btn .fa,
.custom-tabs .accordion .card.active .card-header a.btn .fa {
    opacity: 1;
}

/* Dashboard link section */
.custom-tabs #accordionDashboard {
    margin-bottom: 8px;
}
.custom-tabs #accordionDashboard .card:not(.active) .card-header .btn,
.custom-tabs #accordionSettings .card:not(.active) .card-header .btn {
    color: #000 !important;
    font-weight: 600 !important;
}

/* Events accordion section — visual separator */
.custom-tabs #accordionTabs {
    border-top: 1px solid rgba(0,0,0,0.06);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    padding: 8px 0;
    margin-bottom: 8px;
}

/* Active event group — wrap event + sub-pages in a visual container */
.custom-tabs #accordionTabs .card.active {
    background: var(--color-beige, #f5f3f1) !important;
    border-radius: var(--radius-card, 17px) !important;
    padding: 4px !important;
}

/* Inactive events — preset padding/radius to avoid layout shift on expand.
   Background only shows when accordion is open. */
.custom-tabs #accordionTabs .card:not(.active) {
    background: transparent !important;
    border-radius: var(--radius-card, 17px) !important;
    padding: 4px !important;
}
.custom-tabs #accordionTabs .card:not(.active):has(.collapse.show) {
    background: transparent !important;
}

/* Sub-items container — indented under active event */
.custom-tabs #accordionTabs .card.active .card-body,
.custom-tabs #accordionTabs .card:not(.active) .card-body {
    padding: 4px 4px 4px 8px !important;
    margin: 0 !important;
    border-left: 2px solid rgba(0,0,0,0.12);
    margin-left: 14px !important;
}

/* Event cards — shared radius & spacing */
.custom-tabs #accordionTabs .card {
    margin-bottom: 8px !important;
}

/* Inactive event names — separator style */
.custom-tabs #accordionTabs .card:not(.active) .card-header .btn {
    font-weight: 500 !important;
    color: #333 !important;
    font-size: 13px;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    background: transparent !important;
}
/* Inactive event with expanded accordion — styled header */
.custom-tabs #accordionTabs .card:not(.active):has(.collapse.show) .card-header .btn,
.custom-tabs #accordionTabs .card:not(.active):has(.collapsing) .card-header .btn {
    color: #000 !important;
    background: rgba(0,0,0,0.06) !important;
    border-radius: 10px !important;
    border-bottom-color: transparent !important;
}

.custom-tabs #accordionTabs .card:not(.active):last-child .card-header .btn {
    border-bottom: none !important;
}
.custom-tabs #accordionTabs .card:not(.active) .card-header .btn:hover {
    color: #000 !important;
    background: rgba(0,0,0,0.04) !important;
    border-radius: 10px !important;
    border-bottom-color: transparent !important;
}

/* Settings link section */
.custom-tabs #accordionSettings {
    margin-top: 0 !important;
}
.custom-tabs #accordionSettings .card {
    margin-top: 0 !important;
}

/* Chevron arrows for event accordions */
#accordionTabs .card .btn {
    position: relative;
    padding-left: 16px;
    padding-right: 32px;
}
#accordionTabs .card .btn:before {
    content: "\f105";
    font-family: 'fontAwesome';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    font-size: 12px;
    color: rgba(0,0,0,0.3);
    transition: transform 0.3s ease, color 0.2s ease;
    left: auto;
    width: auto;
    height: auto;
    display: block;
}
#accordionTabs .card.active .btn:before {
    color: rgba(255,255,255,0.6);
}
#accordionTabs .card .btn[aria-expanded="true"]:before {
    transform: translateY(-50%) rotate(90deg);
}
/* Expanded inactive — darker chevron */
#accordionTabs .card:not(.active) .btn[aria-expanded="true"]:before {
    color: rgba(0,0,0,0.4);
}

/* Sub-navigation items (event form links) */
.custom-tabs .card-body {
    padding: 6px 0 10px 0;
    border-left: none;
    margin-left: 0;
    background: transparent;
}

#accordionTabs .card-item {
    position: relative;
    width: 100%;
    min-width: 0;
    margin-bottom: 2px;
}
#accordionTabs .card-item .icon {
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    width: 16px;
    text-align: center;
}
#accordionTabs .card-item .icon .fa {
    font-size: 12px;
    color: #999;
    transition: color 0.15s ease;
}
#accordionTabs .card-item.active .icon .fa {
    color: #000;
}

.card-item a {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #222;
    font-family: 'Reddit Mono', var(--font-mono, monospace);
    font-size: 14px;
    font-weight: 400;
    position: relative;
    text-transform: none;
    text-decoration: none;
    padding: 6px 10px 6px 28px;
    border-radius: 8px;
    transition: all 0.15s ease;
}
.card-item a:first-letter { text-transform: capitalize; }
.card-item a:hover {
    color: #000;
    background: rgba(0,0,0,0.07);
}
.card-item.active a {
    color: #000;
    font-weight: 600;
    text-decoration: none;
}

/* Status dots on sidebar nav items */
.card-item .account-event-icon {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: relative;
    top: 0;
    right: auto;
    flex-shrink: 0;
    margin-left: 4px;
}
.card-item .draft { background-color: #479fff; }
.card-item .pending { background-color: #de9000; }
.card-item .confirm { background-color: #8bc428; }

.card-item p {
    color: #999;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 12px;
    margin: 2px 0 0 36px;
}

.first-letter-uppercase { text-transform: lowercase; }
.first-letter-uppercase:first-letter { text-transform: capitalize; }

/* Summary page legend dots */
.legend-item .draft { background-color: #479fff; }
.legend-item .pending { background-color: #de9000; }
.legend-item .confirm { background-color: #8bc428; }
.legend-item.card-item .account-event-icon {
    position: relative;
    width: 12px;
    height: 12px;
}

/* Bivouac icon */
.accordion .fa-fire:before {
    content: '';
    display: inline-block;
    width: 17px;
    height: 17px;
    background-image: url("../images/elements/bivouak_icon.jpg");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: bottom;
}

/* Old tab styles — kept for compat but hidden by new styles */
.custom-tabs .tabs { padding-left: 0; }
.custom-tabs .tabs.inner-tabs { margin: 0; }
.custom-tabs .tabs.inner-tabs li:last-of-type { border: 0; }
.custom-tabs .tabs.inner-tabs li:not(.no-link) a { padding-left: 30px; }
.custom-tabs .tabs li.no-link { padding: 10px 15px; }
#accordionTabs .card-item .fa-bed { font-size: 15px; }


/* ==========================================================================
   CONTENT AREA — Page titles & general
   ========================================================================== */

.user-account-content .title {
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-weight: 700;
    font-size: 26px;
    line-height: 1.2;
}
.user-account-content .title .first-letter-uppercase {
    font-weight: 400;
    color: #666;
}

.user-account-content .edition-name { margin: 0; }
.user-account-content .table-total { text-align: right; }
.user-account-content .table-total .order-total-line__total {
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-weight: 700;
}

/* Summary page — order table */
.user-account-content .checkout-order-summary {
    font-size: 16px;
    font-family: var(--font-body, 'Manrope', sans-serif);
}
.user-account-content .checkout-order-summary table {
    width: 100%;
}
.user-account-content .checkout-order-summary table tr td {
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    vertical-align: top;
}
.user-account-content .checkout-order-summary table tr:last-child td {
    border-bottom: none;
}
.user-account-content .checkout-order-summary table tr td:last-of-type {
    text-align: right;
    font-family: var(--font-mono, 'Reddit Mono', monospace);
    font-weight: 500;
}

/* Registration number */
.user-account-content .registration-number {
    background: var(--color-beige, #f5f3f1);
    border-radius: var(--radius-card, 17px);
    padding: 16px 20px;
}
.user-account-content .registration-number p { margin: 0; }

/* Order total lines */
.user-account-content .table-total .order-total-line {
    padding: 6px 0;
}
.user-account-content .table-total .order-total-line .order-total-line-value {
    font-family: var(--font-mono, 'Reddit Mono', monospace);
}

/* Description items */
.user-account-content .description-item {
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 15px;
    line-height: 1.6;
    color: #444;
}

/* Promo message */
.user-account-content .promo-message {
    background: var(--color-beige, #f5f3f1);
    border-radius: var(--radius-card, 17px);
    padding: 24px;
}

/* Status legend */
.user-account-content .color-legend {
    border-top-color: rgba(0,0,0,0.06) !important;
    padding-top: 24px !important;
}
.user-account-content .color-legend .h5 {
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #999;
}
.user-account-content .color-legend .legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 14px;
    color: #555;
}

/* Distance card (summary page) */
.user-account-content > .card {
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: var(--radius-card, 17px) !important;
    overflow: hidden;
}
.user-account-content > .card > .card-header {
    background: var(--color-beige, #f5f3f1);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-size: 15px;
    font-weight: 500;
    padding: 14px 20px;
}
.user-account-content > .card > .card-body {
    padding: 16px 20px;
}

/* Date fields in user account pages — match global label style */
.user-account-content .field--type-datetime .label,
.user-account-content .field--type-datetime h4.label {
    font-family: 'Reddit Mono', var(--font-mono, monospace) !important;
    font-weight: 500;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #000;
    margin-bottom: 8px;
}

/* Forms general */
.user-account-content form:not(.profile-form) { max-width: 660px; }
.user-account-content form div.js-form-item-field-phone-0-mobile { width: auto; flex: 1; }
.user-account-content form Label { display: block; }
.user-account-content form input:not([type='submit']):not([type='date']) { width: 100%; }
.user-account-content form input[type='submit'] { float: right; }
.user-account-content img { max-width: 100%; }
.user-account-content .form-item { margin-top: 0; }

.profile-customer-form fieldset[id*="edit-field-newsletter"] .form-type-checkbox { margin: 0; }
.profile-customer-form fieldset[id*="edit-field-newsletter"] legend { display: none; }


/* ==========================================================================
   DASHBOARD CONTENT CARDS — Event accordion cards
   ========================================================================== */

#accordionInnerDashboard .card {
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: var(--radius-card, 17px) !important;
    overflow: hidden;
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    transition: box-shadow 0.2s ease;
}
#accordionInnerDashboard .card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* Active card header */
#accordionInnerDashboard .card.active .card-header {
    background: #000 !important;
    border-radius: 17px 17px 0 0;
}
#accordionInnerDashboard .card.active .card-header .btn {
    color: #fff !important;
    font-weight: 500;
}

/* Inactive card header */
#accordionInnerDashboard .card:not(.active) .card-header {
    background: var(--color-beige, #f5f3f1) !important;
    border-radius: var(--radius-card, 17px) !important;
}
#accordionInnerDashboard .card:not(.active) .card-header .btn {
    color: #000 !important;
    padding: 18px 24px;
}

/* Card header button */
#accordionInnerDashboard .card .card-header {
    border: none !important;
    padding: 0 !important;
}
#accordionInnerDashboard .card .card-header .btn {
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-weight: 400;
    font-size: 16px;
    padding: 18px 24px;
    text-transform: none;
    letter-spacing: 0;
    height: auto;
    border: none;
    border-radius: 0;
    text-align: left;
    width: 100%;
}

/* Card body — form link items */
#accordionInnerDashboard .card-body.card-item {
    padding: 10px 24px;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
#accordionInnerDashboard .card-body.card-item:last-child {
    border-bottom: none;
}

/* Dashboard card form links */
#accordionInnerDashboard .card-item a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all 0.15s ease;
    text-decoration: none;
}
#accordionInnerDashboard .card-item a:hover {
    color: #000;
    background: rgba(0,0,0,0.04);
}

/* Dashboard card icons (inside link) */
#accordionInnerDashboard .card-item a .fa {
    color: #999;
    font-size: 16px;
    width: 18px;
    text-align: center;
    transition: color 0.15s ease;
}
#accordionInnerDashboard .card-item a:hover .fa {
    color: #000;
}

/* Dashboard card date — align with link text (past icon) */
#accordionInnerDashboard .card-item p {
    margin-left: 38px; /* 12px link-padding + 18px icon + 8px gap */
}
#accordionInnerDashboard .card-item p {
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 12px;
    color: #555;
    margin-top: 0;
    margin-bottom: 0;
}


/* ==========================================================================
   STATUS BADGES — Pill with colored dot
   ========================================================================== */

.card .card-status {
    font-size: 11px;
    font-family: var(--font-mono, 'Reddit Mono', monospace);
    font-weight: 500;
    padding: 4px 12px 4px 22px;
    display: inline-block;
    line-height: 16px;
    border-radius: var(--radius-pill, 50px);
    position: relative;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    vertical-align: middle;
    margin-left: 6px;
}
.card .card-status:before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
}

.card .card-status.draft { background-color: rgba(71,159,255,0.1); color: #479fff; }
.card .card-status.draft:before { background-color: #479fff; }
.card .card-status.pending { background-color: rgba(222,144,0,0.1); color: #de9000; }
.card .card-status.pending:before { background-color: #de9000; }
.card .card-status.confirm,
.card .card-status.complete { background-color: rgba(139,196,40,0.1); color: #8bc428; }
.card .card-status.confirm:before,
.card .card-status.complete:before { background-color: #8bc428; }


/* ==========================================================================
   FORM PAGES — Bivouac, Forms, Profile content
   ========================================================================== */

.form-content form table tr td .js-form-item { margin-bottom: 15px; }
.form-content form .form-actions input:first-of-type,
.form form .form-actions input:first-of-type { float: none; }

/* Submitted profile info — roommates/neighbours */
.form-content .field--name-field-neighbours .field__items,
.form-content .field--name-field-roommates .field__items { margin-top: 10px; }
.form-content .field--name-field-neighbours .field__items .field__item,
.form-content .field--name-field-roommates .field__items .field__item {
    border: 1px solid rgba(0,0,0,0.08);
    background-color: var(--color-beige, #f5f3f1);
    padding: 12px 16px;
    margin-bottom: 12px;
    border-radius: var(--radius-card, 17px);
    font-family: var(--font-body, 'Manrope', sans-serif);
}


/* ==========================================================================
   DOCUMENTS PAGE
   ========================================================================== */

.documents .document-item {
    margin-bottom: 0;
    margin-top: 0 !important; /* override mt-4 */
}
a.doc-content {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 20px;
    border-radius: var(--radius-card, 17px);
    transition: background 0.2s ease;
    height: 100%;
    text-decoration: none;
    color: #000;
}
a.doc-content:hover {
    background: var(--color-beige, #f5f3f1);
    text-decoration: none;
    color: #000;
}

.documents .doc-icon {
    flex-shrink: 0;
}
.documents .doc-description {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.documents i {
    font-size: 22px;
    color: #000;
    opacity: 0.4;
    transition: opacity 0.15s ease;
    margin-top: 2px;
}
a.doc-content:hover i {
    opacity: 1;
}
.documents .document-title {
    font-family: var(--font-primary, 'Bounded', sans-serif);
    font-weight: 500;
    font-size: 15px;
    display: block;
}
.documents .doc-description .content {
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 13px;
    color: #666;
    margin-top: 4px;
    display: block;
}


/* ==========================================================================
   ACCOUNT SETTINGS
   ========================================================================== */

.user-account-settings-form.user-form { max-width: inherit !important; }
.user-account-settings-form.user-form > .js-form-wrapper:not(.field--widget-mailchimp-lists-select):not(.field--name-field-terms-and-conditions) {
    float: left;
    position: relative;
    display: inline-block;
    width: 48%;
    clear: left;
    margin-right: 4%;
}
.user-account-settings-form.user-form > #edit-account.js-form-wrapper {
    position: relative;
    display: inline-block;
    width: 48%;
    margin-right: 0;
    float: none;
}
.user-account-settings-form.user-form .field--name-field-terms-and-conditions { margin-top: 30px; clear: both; }
.user-account-settings-form.user-form fieldset[id*="edit-field-newsletter"] legend { display: none; }
.user-account-settings-form .field--type-datetime { margin-bottom: 15px; }
.user-account-settings-form .field--type-datetime .label { display: inline-block; font-weight: normal; margin-bottom: 10px; }
.user-account-settings-form.user-form .form-actions.js-form-wrapper { margin-right: 0 !important; }
.user-account-settings-form.user-form .form-actions.js-form-wrapper input#edit-delete { float: right; margin-left: 0; }


/* ==========================================================================
   PERSONAL INFORMATION
   ========================================================================== */

.profile-personal-information-form.profile-form { max-width: inherit; }
.profile-personal-information-form.profile-form .field--type-datetime { margin-bottom: 15px; }
.profile-personal-information-form.profile-form .field--type-datetime .label { display: inline-block; font-weight: normal; margin-bottom: 10px; }
.profile-personal-information-form.profile-form > .form-actions { float: right; }
.profile-personal-information-form.profile-form input[data-drupal-selector="edit-field-date-of-birth-0-value-date"] {
    pointer-events: none;
    background-color: var(--color-beige, #f5f3f1);
}

/* Submitted personal info display */
.personal-information .form .profile--type--personal-information {
    padding: 20px 24px;
    background-color: var(--color-beige, #f5f3f1);
    border: none;
    border-radius: var(--radius-card, 17px);
}


/* ==========================================================================
   COMPANION INFORMATION
   ========================================================================== */

.profile-companion-information-form.profile-form { max-width: inherit; }
.profile-companion-information-form.profile-form > .js-form-wrapper { position: relative; display: inline-block; width: 48%; }
.profile-companion-information-form.profile-form > .js-form-wrapper:nth-child(-n+9) { float: left; clear: left; margin-right: 4%; }
.profile-companion-information-form.profile-form .field--type-datetime { margin-bottom: 15px; }
.profile-companion-information-form.profile-form .field--type-datetime .label { display: inline-block; font-weight: normal; margin-bottom: 10px; }
.profile-companion-information-form.profile-form > .form-actions { float: right; clear: both; }
.profile-companion-information-form.profile-form .form-actions input:first-of-type { float: none; }

/* Submitted companion info */
.profile--type--companion-information.profile {
    background-color: var(--color-beige, #f5f3f1);
    padding: 24px;
    border-radius: var(--radius-card, 17px);
}
.profile--type--companion-information.profile .field { position: relative; display: inline-block; width: 48%; margin-bottom: 10px; }
.profile--type--companion-information.profile .field:nth-child(-n+4) { float: left; clear: left; margin-right: 4%; }
.profile--type--companion-information.profile .field:nth-child(4):after { content: ''; display: block; height: 135px; }

/* Accommodation choice — legendary orange */
.accomodation-chioce {
    font-family: 'Reddit Mono', var(--font-mono, monospace);
    font-size: 14px;
    color: var(--color-legendary, #E6780B);
}

/* Profile field labels & values */
div[class*="profile--type--"].profile .field .field__label,
.bold-title-text .field__label {
    display: inline-block;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 500;
    font-family: var(--font-mono, 'Reddit Mono', monospace);
    letter-spacing: 0.3px;
    vertical-align: top;
    color: #333;
}
div[class*="profile--type--"].profile .field .field__label:after { content: ':'; display: inline-block; }
div[class*="profile--type--"].profile .field .field__item {
    display: inline-block;
    font-family: var(--font-body, 'Manrope', sans-serif);
    vertical-align: top;
    font-size: 14px;
    color: #000;
}
div[class*="profile--type--"].profile .custom-date > h3 { display: none; }

.profile-form .country.form-select,
.user-form .country.form-select { width: 100%; }


/* ==========================================================================
   EMERGENCY INFO
   ========================================================================== */

.profile-emergency-info-form.profile-form { max-width: inherit; }
.profile-emergency-info-form.profile-form .field--name-field-first-name,
.profile-emergency-info-form.profile-form .field--name-field-last-name { float: left; clear: left; margin-right: 4%; }
.profile-emergency-info-form.profile-form > .form-wrapper { position: relative; display: inline-block; width: 48%; margin-bottom: 10px; }
.profile-emergency-info-form.profile-form > .form-actions { float: right; }
.profile-emergency-info-form.profile-form > .form-actions input:first-of-type { float: none; }

.profile--type--emergency-info {
    background-color: var(--color-beige, #f5f3f1);
    padding: 24px;
    border-radius: var(--radius-card, 17px);
}
.profile--type--emergency-info .field { position: relative; display: inline-block; width: 48%; margin-bottom: 10px; }
.profile--type--emergency-info .field:nth-child(-n+3) { float: left; clear: left; margin-right: 4%; }

.profile--type--emergency-info .field .field__label,
.profile--type--arrival-departure-information .field__label {
    display: inline-block;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 500;
    font-family: var(--font-mono, 'Reddit Mono', monospace);
    letter-spacing: 0.3px;
    color: #888;
}
.profile--type--emergency-info .field .field__label:after,
.profile--type--arrival-departure-information .field__label:after { content: ':'; display: inline-block; }
.profile--type--emergency-info .field .field__item,
.profile--type--arrival-departure-information .field__item {
    display: inline-block;
    font-family: var(--font-body, 'Manrope', sans-serif);
    color: #000;
}

@media all and (max-width: 991px) {
    .contextual-region.profile .field { width: 100%; margin-right: 0 !important; }
    .profile-emergency-info-form.profile-form > .form-wrapper { width: 100%; margin-right: 0 !important; }
    .contextual-region.profile .field:nth-child(4):after { display: none; }
    .user-account-settings-form.user-form > .js-form-wrapper:not(.field--widget-mailchimp-lists-select):not(.field--name-field-terms-and-conditions),
    .user-account-settings-form.user-form > #edit-account.js-form-wrapper { width: 100%; }
    .profile-personal-information-form.profile-form > .js-form-wrapper,
    .profile-companion-information-form.profile-form > .js-form-wrapper { width: 100%; }
}


/* ==========================================================================
   WARNING / INFO MESSAGES
   ========================================================================== */

.messages--warning p:last-of-type { margin-bottom: 0; }

/* Alert messages — override all Drupal/Classy defaults */
.user-account-content .messages,
.user-account-content .messages.messages--info,
.user-account-content .messages.messages--warning,
.user-account-content .messages.messages--error,
.user-account-content .messages.messages--status {
    border: none !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 18px 24px 18px 50px !important;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
    box-shadow: none !important;
}
.user-account-content .messages.messages--info {
    border-left: 4px solid #479fff !important;
    background-color: rgba(71,159,255,0.06) !important;
    border-radius: 0 var(--radius-card, 17px) var(--radius-card, 17px) 0 !important;
    color: #333;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23479fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
    background-size: 22px !important;
    background-position: 16px 50% !important;
    background-repeat: no-repeat !important;
}
.user-account-content .messages.messages--warning {
    border-left: 4px solid #de9000 !important;
    background-color: rgba(222,144,0,0.06) !important;
    border-radius: 0 var(--radius-card, 17px) var(--radius-card, 17px) 0 !important;
    color: #333;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23de9000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") !important;
    background-size: 22px !important;
    background-position: 16px 50% !important;
    background-repeat: no-repeat !important;
}
.user-account-content .messages.messages--error {
    border-left: 4px solid #e53e3e !important;
    background-color: rgba(229,62,62,0.06) !important;
    border-radius: 0 var(--radius-card, 17px) var(--radius-card, 17px) 0 !important;
    color: #333;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e53e3e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") !important;
    background-size: 22px !important;
    background-position: 16px 50% !important;
    background-repeat: no-repeat !important;
}
.user-account-content .messages.messages--status {
    border-left: 4px solid #8bc428 !important;
    background-color: rgba(139,196,40,0.06) !important;
    border-radius: 0 var(--radius-card, 17px) var(--radius-card, 17px) 0 !important;
    color: #333;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238bc428' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='9 12 12 15 16 10'/%3E%3C/svg%3E") !important;
    background-size: 22px !important;
    background-position: 16px 50% !important;
    background-repeat: no-repeat !important;
}


/* ==========================================================================
   ARRIVAL / DEPARTURE INFORMATION
   ========================================================================== */

.profile-arrival-departure-information-form .form-actions { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.profile-arrival-departure-information-form .field--type-datetime { margin-bottom: 1em; }
.profile-arrival-departure-information-form .field--type-datetime .label { font-weight: normal; margin-bottom: 8px; display: block; }
.profile-arrival-departure-information-form .fieldset-wrapper input { margin: 0; }
.profile-arrival-departure-information-form .fieldset-wrapper legend { font-size: 16px; }
.modal.timepicker-modal.open { height: auto; }
.profile--type--arrival-departure-information fieldset.form-item { margin-top: 20px; }

.profile--type--arrival-departure-information .field--name-field-airport-hotel-transfer,
.profile--type--arrival-departure-information .field--name-field-hotel-airport-transfer {
    width: 100%;
    padding: 12px 16px;
    margin-top: 8px;
    text-transform: uppercase;
    background-color: var(--color-beige, #f5f3f1);
    border: none;
    border-radius: var(--radius-card, 17px);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}
.profile--type--arrival-departure-information .field--name-field-airport-hotel-transfer .field__label,
.profile--type--arrival-departure-information .field--name-field-hotel-airport-transfer .field__label { display: inline-block; max-width: 76%; float: left; margin-right: 4%; }
.profile--type--arrival-departure-information .field--name-field-airport-hotel-transfer .field__item,
.profile--type--arrival-departure-information .field--name-field-hotel-airport-transfer .field__item { float: left; font-size: 14px; text-align: right; width: 20%; }

.profile-hotel-information-form .form-actions { min-height: 24px; }

/* Time picker */
.timepicker .title { display: none; }
@media all and (min-width: 992px) {
    .timepicker .cell-4 { height: 20px; }
    .timepicker .cell-2 { height: 20px; }
    .timepicker .icon-down, .timepicker .icon-up { width: 100%; background-size: 30%; height: 27px; }
    .timepicker .handle .cell-4 { height: 27px; }
}
@media (min-width: 992px) {
    .profile-arrival-departure-information-form .form-actions {
        margin-left: 50%;
        -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%;
        position: relative; width: 100%; padding-right: 15px; padding-left: 15px;
    }
}
@media all and (max-width: 991px) {
    .arrival-information { border-bottom: 1px solid rgba(0,0,0,0.08); }
}


/* ==========================================================================
   PAYMENTS PAGE — Table & summary
   ========================================================================== */

.payment-container {
    background: #fff;
    overflow: hidden;
}

.payment-container .responsive-enabled,
.payment-container table.views-table { width: 100%; }

.payment-container .responsive-enabled thead {
    border-bottom: none;
    font-family: var(--font-primary, 'Bounded', sans-serif);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
}
.payment-container .responsive-enabled thead th {
    padding: 14px 12px;
    background-color: #000;
    color: #fff;
    font-weight: 500;
}
.payment-container .responsive-enabled thead th:first-child { border-top-left-radius: 12px; }
.payment-container .responsive-enabled thead th:last-child { border-top-right-radius: 12px; }
.payment-container .responsive-enabled thead th:nth-child(4) { width: 100px; text-align: center; }
.payment-container .responsive-enabled thead th:nth-child(5):nth-child(6):nth-child(7) { width: 140px; }

.payment-container .responsive-enabled tbody tr {
    border-bottom: 1px solid rgba(0,0,0,0.06);
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 14px;
    transition: background 0.15s ease;
}
.payment-container .responsive-enabled tbody tr:hover {
    background: rgba(0,0,0,0.015);
}
.payment-container .responsive-enabled tbody tr:nth-child(odd) {
    background: rgba(0,0,0,0.01);
}
.payment-container .responsive-enabled tbody tr:nth-child(odd):hover {
    background: rgba(0,0,0,0.03);
}
.payment-container .responsive-enabled tbody tr td {
    padding: 12px;
}
.payment-container .responsive-enabled tbody tr td:nth-child(4),
.payment-container .responsive-enabled tbody tr td:nth-child(7) { text-align: center; }

/* Payment summary */
.payment-container .payment-summary-line {
    overflow: hidden;
    margin-bottom: 0;
    padding: 8px 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
.payment-container .payment-summary-line:last-child {
    border-bottom: none;
}
.payment-container .payment-summary-line-label {
    display: inline-block;
    width: 50%;
    float: left;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 14px;
    color: #555;
}
.payment-container .payment-summary-line-value {
    display: inline-block;
    width: 50%;
    float: left;
    font-family: var(--font-mono, 'Reddit Mono', monospace);
    font-weight: 500;
}
.payment-container .payment-summary-line-balance .payment-summary-line-label,
.payment-container .payment-summary-line-balance .payment-summary-line-value {
    font-weight: 700;
    color: #000;
    font-size: 16px;
}


/* Responsive table — cards on mobile */
@media all and (max-width: 1319px) {
    .payment-container .responsive-enabled { display: inline-block !important; width: 100%; }
    .payment-container .responsive-enabled tbody { display: block; }
    .payment-container .responsive-enabled thead,
    .payment-container .responsive-enabled tbody,
    .payment-container .responsive-enabled th,
    .payment-container .responsive-enabled td,
    .payment-container .responsive-enabled tr { display: block; }
    .payment-container .responsive-enabled thead tr { position: absolute; top: -9999px; left: -9999px; }
    .payment-container .responsive-enabled tbody tr { position: relative; height: inherit !important; }
    .payment-container .responsive-enabled td { position: relative; }
    .payment-container .responsive-enabled span { margin: inherit; }
    .payment-container .responsive-enabled .header-in-table {
        position: absolute; left: 0; top: 0; padding: 10px; padding-top: 16px;
        color: #333; max-width: 30%; z-index: 15; line-height: 12px; font-size: 13px;
        font-family: var(--font-mono, 'Reddit Mono', monospace); text-transform: uppercase; letter-spacing: 0.3px;
    }
    .payment-container .responsive-enabled a:before { position: absolute; left: inherit; }
    .payment-container .responsive-enabled .views-align-right { text-align: center; }
    .payment-container .responsive-enabled tr {
        border: 1px solid rgba(0,0,0,0.08); border-radius: var(--radius-card, 17px);
        margin-bottom: 16px; overflow: hidden; background: #fff;
    }
    .payment-container .responsive-enabled td {
        border: none; border-bottom: 1px solid rgba(0,0,0,0.04);
        position: relative; padding-left: 37% !important; text-align: left !important;
        min-height: 40px; overflow: hidden;
        padding-top: 10px !important; padding-bottom: 10px !important;
        width: auto !important; max-width: inherit !important;
    }
    .payment-container .responsive-enabled .label-caption { padding-left: 10px !important; }
    .payment-container .responsive-enabled .form-submit.ajax-processed { float: none !important; min-width: 55px !important; margin: 0 !important; }
    .payment-container .responsive-enabled td:before {
        position: absolute; top: 6px; left: 6px; width: 40%; padding-right: 10px; white-space: nowrap;
    }
}
@media all and (max-width: 991px) {
    .payment-container .responsive-enabled td { min-height: 60px; }
}



/* ==========================================================================
   RESPONSIVE — Mobile & Tablet
   ========================================================================== */

@media all and (min-width: 768px) {
    .custom-tabs {
        position: sticky;
        top: 24px;
        align-self: flex-start;
    }
}

@media all and (max-width: 767px) {
    .custom-tabs {
        padding-top: 24px;
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(0,0,0,0.06);
        margin-bottom: 8px;
    }
    .user-account-content {
        padding-top: 24px;
    }
    .user-account-content .title {
        font-size: 22px;
    }
    #accordionInnerDashboard .card {
        border-radius: var(--radius-card, 17px) !important;
    }
    #accordionInnerDashboard .card.active .card-header {
        border-radius: var(--radius-card, 17px) var(--radius-card, 17px) 0 0;
    }
    #accordionInnerDashboard .card .card-header .btn {
        padding: 14px 18px;
        font-size: 15px;
    }
    #accordionInnerDashboard .card-body.card-item {
        padding: 12px 18px;
    }
    .payment-container {
        overflow: hidden;
    }
}


