*, *::before, *::after {
    box-sizing: border-box;
}
/*--------------------Common-------------------*/
@font-face {
    font-family: 'EuclidFlex';
    src: url('/static/fonts/EuclidFlex-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

.clctdButton {
    background-color: #b3b3b3;  
    color: #fff;                 
    border: none;
    border-radius: 24px;          
    padding: 4px 4px;           
    font-size: inherit;         
    cursor: pointer;
    display: inline-block;
    text-align: center;
    transition: background-color 0.2s ease;
}

.clctdButton_empty {
    background-color: #fff;
    border: 2px solid #b3b3b3;  
    color: #b3b3b3;                 
    border-radius: 24px;          
    padding: 4px 4px;           
    font-size: inherit;         
    cursor: pointer;
    display: inline-block;
    text-align: center;
    transition: background-color 0.2s ease;
}

.active-working-area {
    height: calc(100vh - 240px) !important;
    width: 80%;
    margin: 0;
    position: relative !important;
    overflow-y: scroll;
    -ms-overflow-style: none !important; 
    scrollbar-width: none !important;
  }  

.navigation {
    position: fixed;  
    top: 240px; 
    right: 0; 
    bottom: 40px;    
    display: flex;
    flex-flow: column nowrap;
    flex-grow: 1;
    height: 100%;
    width: 19%; 
    overflow: visible;
    padding-left: 60px;
    padding-right: 60px;
}

.Collection_scroll {
    position: fixed;
    top: 240px;
    right: calc(19% + 10px);
    width: 4px;
    height: calc(100vh - 240px - 40px); 
    background: #b3b3b3;
    z-index: 900;
}

.Collection.masonry::-webkit-scrollbar {
    display: none;        
  }

  .Collection_scroll .scroll-dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    background: white;     /* Dot color */
    border: 2px solid #b3b3b3;
    border-radius: 50%;
    top: 0;              /* Initial position */
}
/*--------------------End Common-------------------*/

body {
    margin: 0;
    padding: 0;
    font-family: 'EuclidFlex';
    background-color: white;
 
}

.sign_in_page {
    display: flex;
    height: 100%;
    width: 100%;
    flex-wrap: nowrap;    
}

.sign_in_logo {
    display: flex; 
    justify-content: center;
    align-items: flex-start; 
    width: 50%;
    height: 100vh;
    overflow: hidden;

}

.sign_in_logo img {
    position: relative; 
    width: 600px;
    top: -120px;
    object-fit: cover; 
}

.sign_in_active {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 50%;
    height: 100vh;
    justify-content: center;
    align-content: center;
}

.sign_in_IntroText {
    font-weight: bold;
    font-size: 24px;
    color: #333333;
    width: 455px;
    margin-top: 40px;
    margin-bottom: 40px;

}

.sign_in_Introsmalllogo {
    display: flex;
    width: 100%; 
}

.sign_in_Introsmalllogo img {
    max-width: 600px; 
    width: 100%; 
    height: auto; 
}

.sign_in_input_section {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 456px;
    margin-top: 120px;
}

.sign_in_Input_alerts {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 456px;
    margin-bottom: 20px;
    height: 120px;
}

.sign-in-flash-messages {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 456px;
    height: 60px;
    margin-bottom: 60px;
    align-items: center;
}



.sign_in_registration {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 456px;
    margin-bottom: 60px;
    align-items: center;
}



.sign_in_input_form {
    outline: none;
    height: 60px; 
    width: 456px;
    border: 4px solid var(--Collected-Black, #b3b3b3);
    border-radius: 30px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 1.2rem;
}

.sign_in_input_form:focus {
    border: 4px solid var(--Collected-Black, #333);
}

.sign_in_input_section_pass_title {
    margin-top: 16px;
}

.sign_in_Input_alert {
    height: 40px; 
    width: 456px;
}

.sign_in_forgot_pass_link {
    width: 456px;
    display: flex;
    flex-direction: row-reverse;
    color: #b3b3b3;
    margin-top: 16px;
    cursor: pointer;
}

#forgotPasswordPopup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    background: white;
    padding: 2em;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  }
  #forgotPasswordPopup.hidden { display: none; }
  

.LOGIN_button_wrapper {
    width: 456px;
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    cursor: pointer;
}

#LOGIN_button {
    padding-left: 8px;
    padding-right: 8px;
}

#SignInForNewUsers {
    text-decoration: none;
    color:#333333;
}

.error-input {
    border-color: rgb(204, 79, 79) !important;
  }

/**********************LogIN page***************************/

/**********************Registration page***************************/

.registration_form {
    display: flex;
    flex-direction: row nowrap;
    height: 100vh; 
    width: 100vw;
}

.logo_container {
    display:flex ;
    height: 100vh;
    width: 20%;
    overflow: hidden; 
}

@media (max-width: 800px) {
    .logo_container {
            display: none; 
    }
    
}

.logo_container img {
    max-width: 400px;
}

.registration_input {

    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    width: 80%;
    margin-right: 200px;
    margin-left: 100px;
}

.registration_input_frames {
    display: flex;
    margin-top: 36px;
    
}

.registration_input_frames_col {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
}

.registration_input_frame_wrapper {
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 600px;
    height: 92px;
}

.registration_input_common {
    border: 2px solid #b3b3b3;
    border-radius: 24px;
    width: 80%;
    height: 48px;
    padding-left: 8px;
    font-family: Inter;
    font-size: 16px;
    padding-left: 16px;
}

.text-danger {
    height: 20px;
    width: 456px;
}

.registration_consent {
    display: flex;
    margin-top: 36px;
}
#TermsandConditions_checkbox {
    height: 20px;
    width: 20px;
    border-radius: 24px;
    border: 2px solid #b3b3b3; 
    margin-right: 8px;
    
}

#TermsAndConditions {
    font-weight: bold;
    cursor: pointer;
    margin-left: 12px;
}

.registration_payment_plans {
    display: flex;
    flex-flow: column nowrap;
    margin-top: 80px;
}

.registration_payment_plans_header {
    display: flex;
    margin-bottom: 16px;
    font-size: 22px;
}
.registration_plans {
    display: flex;
    gap: 32px;
}

.registration_plan {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    height: 280px;
    width: 320px;
    border: 2px solid #b3b3b3;
    border-radius: 24px; 
    padding: 20px;
}

.registration_plan_name_and_selector {
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.registration_plan_description {
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

.registration_plan_pricing {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    font-weight: bold;
}

.registration_plan_pricing_annually {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.registration_plan_pricing_annually_full {
color: #b3b3b3;
text-decoration: line-through;

}
.registration_payment_plans_name {
    display: flex;

}

.Signin_button {
    margin-top: 24px;
}

/**********************Base page***************************/

.main_screen {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    padding-right: 6.24%;  
    padding-left: 6.24%;    
    height: 100vh; 
    width: 100vw;
    box-sizing: border-box;
}

.base_body {
    display: flex;
    flex-flow: column nowrap;
    height: 100%;
    width: 100%;
    margin-top: 240px;
}

.base_menu {
    position: fixed;
    top: 0;
    left: 6.24%; 
    right: 6.24%;
    height: 240px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    z-index: 1000;
}

.base_menu_menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 70px;
}

.base_menu a {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    text-decoration: none; 
    color: #000000; 
}

.base_menu_pa {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;

}

.base_menu_pa_text {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding-top: 16px;
    padding-bottom: 16px;
}

.base_menu_pa_text_hello_name {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.base_menu_pa_text_name {
    margin-left: 8px;
    color: #b3b3b3;
    text-decoration: none;
}


.base_workplace {
    flex: 1;
    overflow-y: auto;  
    margin: 0;         
    padding: 0;   
    margin-bottom: 16px;
}


#bucket-count {
    position: relative;
    top: -4px;
    right: -4px;
    background: #b3b3b3;
    color: white;
    border-radius: 50%;
    padding: 5px 10px;
    font-size: 12px;
}

.base_menu_pa_img_X {
    width: 400px;
    height: auto;
}

.base_menu_menu_item.active {
    color: #b3b3b3;
}

/**********************Collection - HOME*********************/
.Collection_container {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
}

.Collection_no_items_entry {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;

}



/**********************Home - First Entry*********************/
.FirstEntry_container {
    display: flex;
    flex-flow: column nowrap;
    padding: 40px;
}

.welcome_text {
    display:flex;
    flex-flow: column nowrap;
    width: 70%;
    color: var(--Collected-Black, #000);
    font-family: Lusitana;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding-bottom: 36px;
}


.hidden {
    display: none;
}


/**********************ALBUMS*********************/
.albums-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
  }

.albums-list {
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-y: scroll;
    -ms-overflow-style: none !important; 
    scrollbar-width: none !important;
    position: relative !important;
}



.album-row {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 10px;
    align-items: center;
    height: 200px; 
  }

.album-link {
    text-decoration: none;
    color: inherit;
    display: block;
    display: flex;
    flex-direction: row;
  }

.disabled-link {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
  }
.album-link.disabled-link {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
  }

.album-row.edit-mode {
    cursor: default;
}

.album-row.edit-mode .album-link {
    pointer-events: none;
}

.album-cover {
    width: 70%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 40px;
  }

.album-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
.blank-cover {
    display: flex;
    width: 100%;     
    height: 100%;     
    background-color: #b3b3b3;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }  


.album-info {
    width: 25%;
    height: 100%;
    margin-left: 20px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
  }  

.album-name-input {
    width: 100%;
    padding: 5px;
    font-size: 16px;
    border: 1px solid #b3b3b3;
    border-radius: 16px;
    box-shadow: none;

  }

.albums-actions {
    display: flex;
    flex-direction: column;
    justify-content:space-around;
    height: 100%;
    width: 25%;

}

.Album_cover_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .cover-picker {
    position: relative;
    width: 50%;   /* or your desired size */
    height: 100%;
  }
  
  .cover-picker .blank-cover,
  .cover-picker img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .cover-picker .album-cover-overlay {
    position: absolute;
    top: 80%; right: 10%;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.6);
    color: #fff;
    padding: 0.5em 1em;
    border-radius: 24px;
    font-size: 0.9em;
    display: none;            

  }
  
  /* “Add” overlay: show whenever there is no cover */
  .cover-picker .Album-cover-add {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* “Change” overlay: only show when in edit mode */
  .album-row.edit-mode .cover-picker .Album-cover-change {
    display: flex;
    align-items: center;
    justify-content: center;
  }
   

.delete-album-btn {
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 20px;
    color: black;
    cursor: pointer;
    display: none; /* hidden by default */
  }

.album-row.edit-mode .delete-album-btn {
    display: block;
  }
  
.album-row.edit-mode .album-cover a {
    pointer-events: none;
    cursor: default;
  }

.albums_navigation {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 20%;
    padding-left: 60px;
    padding-right: 60px;
    gap: 20px;
}


.album-action-item {
    width: 100%;
    font-size: 16px;
    cursor: pointer;
    padding-top: 20px;
    padding-bottom: 20px;
  }


#album-add-item-modal.hidden {
    display: none !important;
  }

  #album-add-item-modal {
    display: block;
    position: fixed;
    top: 40px; left: 4opx; right: 0; bottom: 0;
    z-index: 1000;
  }
  #album-add-item-modal .album-add-item-modal-backdrop {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
  }

  /* ——— Content Container ——— */
.album-add-item-modal-content {
    position: relative;
    width: 80vw;
    max-width: 1000px;
    height: 80vh;
    margin: 5vh auto;
    background: #fff;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    padding: 1em;
    overflow: hidden;
    box-sizing: border-box;
  }
  
  /* ——— Close Button ——— */
  .album-add-item-modal-close {
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
  }
  
  /* ——— Filter Bar ——— */
  .album-add-item-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #ddd;
  }
  .album-add-item-filter-bar select,
  .album-add-item-filter-bar button {
    padding: 0.5em;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    box-sizing: border-box;
  }
  
  /* ——— Works Grid ——— */
  .album-add-item-works-grid {
    flex: 1;
    margin-top: 0.5em;
    overflow-y: auto;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
  }
  
  /* ——— Work Item Tiles ——— */
  .album-add-item-works-grid .work-item {
    position: relative;
    width: 200px;
    margin: 8px;
    box-sizing: border-box;
  }
  .album-add-item-works-grid .work-item img {
    width: 100%;
    border-radius: 4px;
    display: block;
  }
  
  /* ——— “+” Button on Each Tile ——— */
  .album-add-item-works-grid .work-item .add-to-album {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
  }
  
  /* ——— Optional: Scrollbar Styling ——— */
  .album-add-item-works-grid::-webkit-scrollbar {
    width: 6px;
  }
  .album-add-item-works-grid::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
    border-radius: 3px;
  }
  /* Firefox */
  .album-add-item-works-grid {
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.2) transparent;
  }


/**********************Search*********************/

.search-container {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100%;
    margin-top: 20%;
    align-items: center; 

}

.search-box {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 10px;
    width: 60%;
    height: 60px;
    border: 2px solid #b3b3b3;
    border-radius: 32px;

}

#search-form {
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    width: 100%; 

}

#search-input {
    flex: 1;
    border: none;
    outline: none; 
    font-size: 24px;
    padding: 8px;
}

#search_icon {
    height: 32px;
    width: 32px;
    cursor: pointer;
    margin-right: 20px;
}

.search-suggestions {
    position: absolute;

    width: 60%;
    background-color: #fff;
    border: 2px solid #b3b3b3;
    border-radius: 0 0 32px 32px;
    border-top: none;
    margin-top: 60px;
    padding-right: 20px;
    padding-left: 20px;
    z-index: 1;
}

.search-suggestions div {
    padding: 12px 16px;
    cursor: pointer;
  }
  .search-suggestions div:hover {
    background-color: #f0f0f0;
  }

.search-results {
    width: 60%;

}

.artist-results {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}


/**********************Share*********************/
.share {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
}

.share_selected_items{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100%;
    width: 50%;
}

.share_preview {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100%;
    width: 35%;
}

.Collection.masonry.alternative-width {
    width: 50%;
}

.share_selected_items_bucket {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

}

.share_selected_items_bucket_item{
    display: flex;
    flex-flow: column nowrap;
    margin: 10px;
}

.share_preview_output {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
}



.checkbox-item {
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-top: 20px;
    margin-bottom: 20px;
}


.checkbox-square {
    width: 20px;
    height: 20px;
    border: 2px solid #b3b3b3;
    border-radius: 10px;
    margin-right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkbox-square.active {
    background-color: #b3b3b3;
}

.checkbox-text {
    font-size: 16px;
    color: black;
    user-select: none; /* Prevent text selection */
}



.share_preview_output_mockup{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    position: relative;
}

.spinner-overlay {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;            
    background: rgba(255,255,255,0.8);
    padding: 1em;
    border-radius: 8px;
    display: flex;
    align-items: center;

  }
  .spinner-overlay img {
    width: 100%;
    height: 100%;
    margin-right: 0.5em;
  }
  .spinner-overlay.hidden {
    display: none !important;
  }

.share_preview_output_list_list_a4 {
    width: 20vw; 
    height: calc(20vw * 1.414); 
    margin: 20px auto; 
    padding: 2vw; 
    border: 1px solid black; 
    box-shadow: 3px 3px 30px rgba(52, 52, 52, 0.2); 
    background: white; 
    box-sizing: border-box; 
    position: relative; 
    overflow: hidden; 
}

.share_preview_upload_button{
    display: flex;
    width: 100%;
    margin-top: 24px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.share-img-miniature {
    display: flex;
    flex-flow: column nowrap;
    align-items: center; 
    justify-content: center; 
    width: 216px;
    height: 180px;
    background-color: white; 
    overflow: hidden; 
    border: 1px solid #918989;
    padding: 8px;
}

.share-img-miniature-pic {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: left bottom;
}

.share-artwork-container-text-tip {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;

}
.share-artwork-container-text{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}
.share-artwork-container-tip {
    display: flex;
}

#canvas {
    border: 1px solid black;
    width: 100%;
    height: 100%;
}

.share_remove_all {
    margin-top: 24px;
}
/**********************Add item*********************/
#add_item_input_picture_text_form {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
}
/*----------Left part - Images and Documents----------*/
.add_item_container {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: space-between;
    width: 35%;
    height: 100%;  
    padding-right: 80px; 
    min-width: 360px; 
}

.add_item_main_picture {
    width: 100%;
    height: 192px; 
    background-color: #ddd; 
    border-radius: 60px;
    margin-bottom: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative; 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: left; 

}

.plus {
    position: absolute;
}

.add_item_small_pictures_row2,
.add_item_small_pictures_row1{
    display: flex;
    flex-wrap: row;
    height: 160px; 
    width: 100%;
    gap:16px;

}

.file-input {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.add_item_small_picture {
    width: max(calc(33.33% - 10px), 150px); 
    /* width: 96px;*/
    height: 80px; 
    position: relative;
    background-color: #ddd; 
    border-radius: 16px;
}

.add_item_docs_container {

    width: 100%; 
    height: 400px; 
    position: relative; /* Position for shadow */
    display: flex;
    border-radius: 60px;
    
}

.dropzone .dz-preview .dz-remove {
    color: inherit;
    text-decoration: none;
}
.dropzone .dz-preview .dz-remove:hover {
    text-decoration: none;
}
/*-----------------------------------Input fields--------------------------------------*/
.add_input_section {
    display: flex;
    flex-flow: column;
    height: 100%;
    width: 50%; 
    padding-right: 80px;
    min-width: 360px;
}


.add_item_year_medium_edition {
    display: flex;
    flex-flow: row wrap;
    width: 100%;

}

#add_item_year_id {
    width: 75px;
    margin-right: 32px;

}



.add_item_medium  {
    display: inline-block; /* Makes inputs sit side by side */
    align-items: center;
}


.add_item_input_common {
    border: 2px solid #b3b3b3;
    border-radius: 24px;
    width: 100%;
    height: 48px;
    min-width: 200px;
    padding-left: 16px;
    font-size: 1em;

}

.add_item_input_common[type='number']::-webkit-inner-spin-button,
.add_item_input_common[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.add_item_input_common:focus {
    outline: none; 
    border-color: #333; 
}

.add_collection_tags {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 4px 8px;
    border: 2px solid #b3b3b3;
    border-radius: 24px;
    min-height: 48px; 
    max-height: 96px;
    overflow-y: auto;
    background: #fff;
    box-sizing: border-box;
  }
  
  /* custom scrollbar for webkit */
  .add_collection_tags::-webkit-scrollbar {
    width: 6px;
  }
  .add_collection_tags::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
    border-radius: 3px;
  }
  /* Firefox */
  .add_collection_tags {
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.2) transparent;
  }
  
  .add_collection_tags .tags-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  #collection_tags_input_id .tags-list li {
    display: inline-flex;           
    align-items: center;
    background-color: #808080;      
    color: #fff;                    
    border-radius: 999px;          
    padding: 0.25em 0.75em;         
    margin: 0.25em;                
  }

  .add_collection_tags .tag-add-button {
    flex: none;
    margin-left: 8px;
    padding: 6px 10px;
    border: none;
    background-color: #b3b3b3;
    color: white;
    font-size: 1.25rem;
    border-radius: 50%;
    cursor: pointer;
    line-height: 1;
  }
  .add_collection_tags .tag-add-button:hover {
    background-color: #b3b3b3;
  }
  
  #collection_tags_input_id .tags-list li .tag-remove {
    background: none;
    border: none;
    padding: 0 0.25em;
    margin-left: 0.25em;
    font-size: 1em;
    line-height: 1;
    cursor: pointer;
    color: #333;             
  }

  #collection_tags_input_id .tags-list li .tag-label::before {
    content: '#';
    margin-right: 0.25em;
    color: inherit;           
  }
  
  /* the typing input */
  .add_collection_tags input {
    flex: 1;
    min-width: 120px;
    border: none;
    outline: none;
    padding: 6px;
    font-size: 1rem;
  }
  
  /* autocomplete dropdown override to match styling if needed */
  .ui-autocomplete {
    max-height: 150px;
    overflow-y: auto;
    padding: 0;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }
  /* prevent jQueryUI from messing up font */
  .ui-menu-item-wrapper {
    font-size: 1rem;
    padding: 4px 8px;
  }
  .ui-menu-item-wrapper:hover {
    background: #f0f0f0;
  }
  

.add_item_text_common {
    display: flex;
    flex-flow: column nowrap;
    margin-bottom: 24px;

}

.add_item_Required {
    color: var(--Collected-light-grey, #b3b3b3);
    font-size: 12px;
    text-transform: capitalize;
    margin-left: 8px;
}

.add_item_for_required {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
}

.size-input {
    width: calc(25% - 4px); 
    display: inline-block; /* Makes inputs sit side by side */
    min-width: 50px;

}

.price-input {
    width: calc(50% - 4px); 
    display: inline-block; /* Makes inputs sit side by side */

}

.add_item_price {
    display: flex;
    flex-direction: row;
    gap: 24px;
}

.add_item_currency  {
    width: 40px; 
    display: inline-block; /* Makes inputs sit side by side */
    justify-content: right;
}

.custom-dropdown {
    position: relative;
    display: flex; 
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
}

.custom-dropdown svg {
    position: absolute;
    top: 50%;
    right: 0.75rem;          
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }

  .custom-dropdown svg.rotated {
    transform: rotate(180deg);
  }

  .custom-dropdown .selected-value {
    display: inline-block;
    padding-right: 1.5rem;    /* arrow will sit in that space */
  }

.arrow {
    margin-left: 5px;  
}

.custom-dropdown .dropdown-list {
  position: absolute;
  top: calc(100% + 4px);       
  left: 0;
  width: 100%;                 
  background: #fff;
  border: 2px solid #b3b3b3;
  border-radius: 20px;
  display: none;   
  z-index: 10;
  padding: 12px;
  max-height: 10rem; 
  overflow-y: auto;
}

/* 4) Hide when .hidden is present */
.dropdown-list.hidden {
  display: none;
}

.custom-dropdown .dropdown-list.hidden {
    display: none;
  }
  
.custom-dropdown .dropdown-list:not(.hidden) {
    display: block;
  }

.custom-dropdown .dropdown-item:hover {
    background-color: #bbbbbb;
    border-radius: 1rem; 
    
  }

.add_item_size_container, .add_item_price_container {
    display: flex;
    flex-direction: row;
    gap: 16px; 
}




/**********************Collection*********************/

.Collection.masonry {
    height: calc(100vh - 240px) !important;
    width: 80%;
    margin: 0;
    position: relative !important;
    overflow-y: scroll;
    -ms-overflow-style: none !important; 
    scrollbar-width: none !important;
  }  


.collection-artwork-container {
    display: flex;
    flex-flow: column nowrap;
    position: relative;
    background-color: #fff;
    padding: 8px;
}

.sizeL {
    width: 220px;
}

.sizeM {

        width: 160px;
}

.collection-img-miniature {
    display: flex;
    flex-flow: column nowrap;
    align-items: center; /* Align children to the left */
    justify-content: center; /* Align children to the bottom */
    width: 100%;
    background-color: white; /* Ensures background is white */
    overflow: hidden; /* Hides any overflow */
    box-sizing: border-box;
    position: relative;
}

.collection-img-miniature-pic {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left bottom;
    display: block;
}


.collection-artwork-container-text{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 4px;
}

.artist-name,
.artwork-title,
.artwork-style,
.artwork-size,
.artwork-year {
  margin: 0;
  font-family: 'EuclidFlex', sans-serif;
  font-size: 14px;
  color: #b3b3b3
}

.artist-name,
.artwork-title
{
    color: black;
    font-size: 20px;
}


.collection-artwork-container-tip {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.delete_item_container {
    cursor: pointer;
    bottom: 0px; 
    left: 8px;
    position: absolute;
}

.delete_item_container img {
    cursor: pointer;
    width: 20px;
    height: 20px;
    object-fit: contain;
}


.collection-img-miniature.delete-mode { opacity: 0.7; } 

.custom-checkbox {
    position: relative;
    cursor: pointer;
    display: inline-block;
    width: 20px;
    height: 20px;
  }

.custom-checkbox .checkmark {
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #b3b3b3;
    background-color: #fff;
    border-radius: 50%;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  
.collection-artwork-container.selected .custom-checkbox .checkmark  {
    background-color: #666;
    border-color: #666;
}

.collection-artwork-container.selected {
    background-color: #b3b3b3;
  }

.collection-artwork-container.selected .artwork-style,
.collection-artwork-container.selected .artwork-size,
.collection-artwork-container.selected .artwork-year {
  color: #666; /* dark grey */
}


/*------------Scroll---------*/

/*---------------------------  

.collection_navigation {
    position: fixed;  
    top: 240px; 
    right: 0; 
    bottom: 40px;    
    display: flex;
    flex-flow: column nowrap;
    flex-grow: 1;
    height: 100%;
    width: 19%; 
    overflow: visible;
    padding-left: 60px;
    padding-right: 60px;
}
*/
.collection_add_item,
 .collection_delete_item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
    cursor: pointer;
}

.collection_show_tags {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    margin-top: 20px;
    margin-bottom: 20px;
    cursor: pointer;
    transition: margin-top 0.3s ease; /* Smooth movement */  
    position: relative; 
}

.collection_show_tags_header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.collection-tag-dropdown {
    position: absolute;

    top: 20px;
    width: 100%;
    z-index: 1;
}

.collection-tag-dropdown-list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    margin-top: 20px;
    margin-left: 16px;
    gap: 4px;
    max-height: 5.5em; 
    overflow-y: auto;
}

.collection-tag-link.active {
    background: #b3b3b3;
    color: #fff;
    border-radius: 20px;
}

.collection_show_tags_hash,
.collection_add_item_plus,
.collection_delete_item_min
{
    width: 28px;
}

.collection_select_all {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
    cursor: pointer;
}

.collection_select_all_checkbox {
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 2px solid #b3b3b3;
    border-radius: 50%;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
  }

  .collection_select_all.selected .collection_select_all_checkbox {
    background-color: #b3b3b3; 
  }


.collection_add_item a {
    text-decoration: none; 
    color: inherit; 
    display: flex;
    align-items: center;
}

.collection-filter,
.collection-order {
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    position: relative; 
}

.collection-filter-title,
.collection-order-title {
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top: 20px;
    margin-bottom: 20px;
    cursor: pointer;
}


.collection-filter-title img,
.collection-order-title img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin-right: 8px;
}

.collection-filter-panel {
    position: absolute;
    top: 60px;
    width: 100%;
    display: none;
    z-index: 1;
}

.filter-section,
 .sort-section {
    margin-bottom: 16px;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    padding: 12px;
    cursor: pointer;
    width: 100%;
}

.filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    font-size: 16px;
}

.filter-arrow {
    font-size: 24px;
    color: #b3b3b3;
}

.filter-options {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 150px;
    overflow-y: auto;
}

.filter-options label {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    cursor: pointer;
}

.filter-options input[type="checkbox"] {
    appearance: none; /* Remove default checkbox styling */
    width: 16px;
    height: 16px;
    border: 2px solid #b3b3b3; 
    border-radius: 12px; /* No rounded corners */
    margin-right: 10px; /* Space between checkbox and label text */
    cursor: pointer;
    display: inline-block;
    position: relative;
}

.filter-options input[type="checkbox"]:checked {
    background-color: #b3b3b3; /* Dark grey when checked */
}

.filter-options input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 6px;
    width: 6px;
    height: 12px;
    border: solid white;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg);
}

.filter-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-left: 8px;
    padding-right: 8px;
}

.filter-clear-all {
    margin-left: 15px;
    font-size: 14px;
    color: lightgrey;
    cursor: pointer;
    text-decoration: none;
}

.filter-clear-all:hover {
    color: #333; /* Dark grey when hovered */
}

.collection-filter-counter {
    margin-left: 20px;
    margin-right: 4px;
    font-weight: bold;
}

.collection-order {
    transition: margin-top 0.3s ease-in-out;
}

.order-dropdown {
    position: absolute;
    top:50px;
    cursor: pointer;
    width: 100%;
    z-index: 1;
}


.sort-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    font-size: 16px;
    font-weight: bold;
}

.order-arrows {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
 
}

.sort-arrow {
    margin-left: 12px;
    cursor: pointer;
    color: rgb(0, 0, 0);
    padding: 4px;
    padding-right: 6px;
    padding-left: 6px;
}

.sort-arrow:hover,
.sort-arrow.active{
background-color:#b9b9b9;
}


.clear-sorting-options {
    margin-left: 16px;
    font-size: 14px;
    color:#3f3f3f;
    cursor: pointer;
    text-decoration: none;    
}



button[type="submit"] {
    padding: 10px 20px;
    background-color: #bbbbbb; /* Bootstrap primary blue, adjust as needed */
    color: white;
    border: none;
    border-radius: 0px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 10px; /* Spacing above the button */
}

button[type="submit"]:hover {
    background-color: #4a4a4a; 
}

.collection-tag-link{
    text-decoration: none;
    color: #4a4a4a;
    cursor: pointer;
}

.collection-tag-link:hover{
    text-decoration: underline;
}
/**********************Edit*********************/
/**********************Personal Account*********************/
.personal_account_page {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
}

.personal_account_navigation {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 15%;
}

.personal_account_blocks {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 85%;
    height: 100%;
    gap: 40px;
    margin-left: 40px;
    margin-right: 40px;
}

.personal_account_header {
    margin-bottom: 40px;
    font-weight: bold;
}

.personal_account_block_header {
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    text-decoration: none;
    padding-top: 24px;
    padding-left: 24px;
}

.personal_account_block {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 300px;
    width: 500px;
    border: 2px solid #b3b3b3;
    border-radius: 24px;
    padding: 8px;

}

.personal_account_block_lang_quick_op,
.personal_account_block_mode_quick_op {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 60px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.personal_account_block_lang_quick_op_window,
.personal_account_block_mode_quick_op_window {

    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    cursor: pointer;
}

.personal-data-grid {
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    grid-row-gap: 20px;
    grid-column-gap: 20px; 
    align-items: center; 
    justify-content: center; 
    margin-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
}

.personal-data-item {
    display: flex; /* Flex layout for label and value */
    flex-direction: column; /* Stack label and value vertically */
    background-color: #f5f5f5; /* White background for each item */
    border-radius: 0px; /* Rounded corners for boxes */
    padding: 15px; /* Internal padding */
    text-align: left; /* Align text to the left */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

.personal-data-label {
    font-size: 14px; /* Smaller font for label */
    color: #6c6c6c; /* Muted text color for label */
    margin-bottom: 5px; /* Space between label and value */
    text-transform: uppercase; /* Make the label uppercase */
}

.personal-data-value {
    font-size: 16px; /* Slightly larger font for value */
    color: #333; /* Darker text color for value */
    font-weight: bold; /* Emphasize value text */
}

.personal_account_block_light_mode_quick_op_window {

    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    cursor: pointer;
}

.personal_account_block_dark_mode_quick_op_window {
    background-color: #333333;
    color: #ffffff;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
}

.personal_account_block_lang_quick_op_window:hover {
    background-color:  lightgrey;
}

.personal_account_other_lang {
    display: flex;
    justify-content: flex-end;
    padding-right: 16px;
}

.personal_account_block_plan_body {
    display: flex;
    flex-wrap: nowrap;
    margin-top: 20px;
    justify-content: center;
    gap: 4px;
    margin-left: 60px;
    margin-right: 60px;
}

.personal_account_block_change_the_plan {
    display: flex;
    background-color: #333333;
    color: #ffffff;
    margin-top: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    justify-content: center;
    cursor: pointer;
}

.personal_account_block_stat_numbers {
    display: grid; /* Use grid layout for 2x2 structure */
    grid-template-columns: 1fr 1fr; /* Two columns with equal width */
    gap: 20px; /* Space between the boxes */
    max-width: 600px; /* Optional: limit overall width */
    margin: 20px auto; /* Center align and add margin */
}

.stat-box {
    background-color: #f5f5f5; /* Light gray background */
    padding: 12px; /* Internal padding for spacing */
    text-align: center; /* Center align text inside */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for better appearance */
    position: relative;
    width: 100%;
    aspect-ratio: 2/1;
}

.stat-title {
    font-size: 14px; /* Small font for the title */
    color: #6c6c6c; /* Muted text color for the title */
    margin-bottom: 10px; /* Spacing between title and value */
    text-transform: uppercase; /* Make the title all uppercase */
}

.stat-value {
    font-size: 24px; /* Larger font for the value */
    color: #333; /* Darker text color for the value */
    font-weight: bold; /* Emphasize the value */
}


.personal_account_other_stat {
    display: flex;
    justify-content: flex-end;
    color: #6c6c6c;
    font-size: 16px;
    margin-right: 20px;
}

/**********************Artists*********************/

.artists_block {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
}

.artists_search {
    display:flex;
    position: relative; 
    flex-direction: row;
    border: 2px solid #b3b3b3;
    border-radius: 20px;
    height: 40px;
    margin-top: 60px;
    margin-bottom: 60px;
    align-items: center;
    padding-left: 1%;
    padding-right: 1%;

}

.artists_search img {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.artists_list {
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 60px;

}

.artist_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    width: 240px;
    text-align: center;
}

.artist_card_link {
    text-decoration: none;
    color: inherit;
}


.artist_img img {
    width: 80px;
    height: 80px;


}
.artist_name {
    color:#333333;
    font-size: 16px;
}

.artists_search input[type="text"] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 16px;
    padding: 5px;
    background-color: transparent;
  }
/**********************Artist search*********************/
.suggestions {
  position: absolute;
  top: 120%; left: 0; right: 0;
  background: #fff;
  border: 2px solid #b3b3b3;
  border-radius: 24px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 10;
}
.suggestions div {
  padding: 0.5em;
  cursor: pointer;
}
.suggestions div:hover {
  background: #f0f0f0;
}
/**********************Artist profile*********************/
.artist_block{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 85%;
}

.artist_BIO {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    height: 400px;
}

.artist_BIO_about {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 50%;
}

.artist_picture {
    width: 50%;

}

.artist_picture img {
    width: 200px;
    height: 200px;

}

.artist_page_navigation {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 15%;
}

.artist_page_header_Name {
    font-weight: bold;  
    font-size: 36px;    
    text-decoration: none; 
}

.artist_page_header_stat {
    font-size: 16px;    
    text-decoration: none; 
    margin-bottom: 16px; 
    margin-top: 16px;
    color: #3f3f3f;
}
