@font-face { font-family: "ubuntu"; src: url("/assets/fonts/Ubuntu/ubuntu-regular-webfont.woff2") format("woff2"), url("/assets/fonts/Ubuntu/ubuntu-regular-webfont.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "ubuntu"; src: url("/assets/fonts/Ubuntu/ubuntu-bold-webfont.woff2") format("woff2"), url("/assets/fonts/Ubuntu/ubuntu-bold-webfont.woff") format("woff"); font-weight: bold; font-style: normal; }
@font-face { font-family: "ubuntu"; src: url("/assets/fonts/Ubuntu/ubuntu-italic-webfont.woff2") format("woff2"), url("/assets/fonts/Ubuntu/ubuntu-italic-webfont.woff") format("woff"); font-weight: normal; font-style: italic; }
@font-face { font-family: "ubuntu"; src: url("/assets/fonts/Ubuntu/ubuntu-bolditalic-webfont.woff2") format("woff2"), url("/assets/fonts/Ubuntu/ubuntu-bolditalic-webfont.woff") format("woff"); font-weight: bold; font-style: italic; }

@font-face { font-family: "plusjakarta"; src: url("/assets/fonts/PlusJakarta/PlusJakartaSans-Regular.woff2") format("woff2"); font-weight: normal; font-style: normal; }
@font-face { font-family: "plusjakarta"; src: url("/assets/fonts/PlusJakarta/PlusJakartaSans-Bold.woff2") format("woff2"); font-weight: bold; font-style: normal; }
@font-face { font-family: "plusjakarta"; src: url("/assets/fonts/PlusJakarta/PlusJakartaSans-Italic.woff2") format("woff2"); font-weight: normal; font-style: italic; }
@font-face { font-family: "plusjakarta"; src: url("/assets/fonts/PlusJakarta/PlusJakartaSans-Bolditalic.woff2") format("woff2"); font-weight: bold; font-style: italic; }

/* Fontello cardee icons - BEGIN */
@font-face {
    font-family: 'cardee-icons';
    src: url('/assets/icons/cardee-icons.eot?96024512');
    src: url('/assets/icons/cardee-icons.eot?96024512#iefix') format('embedded-opentype'),
         url('/assets/icons/cardee-icons.woff2?96024512') format('woff2'),
         url('/assets/icons/cardee-icons.woff?96024512') format('woff'),
         url('/assets/icons/cardee-icons.ttf?96024512') format('truetype'),
         url('/assets/icons/cardee-icons.svg?96024512#cardee-icons') format('svg');
    font-weight: normal;
    font-style: normal;
  }
  /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
  /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
  /*
  @media screen and (-webkit-min-device-pixel-ratio:0) {
    @font-face {
      font-family: 'cardee-icons';
      src: url('/assets/icons/cardee-icons.svg?96024512#cardee-icons') format('svg');
    }
  }
  */
  [class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "cardee-icons";
    font-style: normal;
    font-weight: normal;
    speak: never;
  
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    /* opacity: .8; */
  
    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;
  
    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
  
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: .2em;
  
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
  
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
  }
  
  .icon-tiktok:before { content: '\e800'; } /* '' */
  .icon-mail:before { content: '\e801'; } /* '' */
  .icon-glass:before { content: '\e802'; } /* '' */
  .icon-music:before { content: '\e803'; } /* '' */
  .icon-search:before { content: '\e804'; } /* '' */
  .icon-heart:before { content: '\e805'; } /* '' */
  .icon-heart-empty:before { content: '\e806'; } /* '' */
  .icon-star:before { content: '\e807'; } /* '' */
  .icon-star-empty:before { content: '\e808'; } /* '' */
  .icon-user:before { content: '\e809'; } /* '' */
  .icon-users:before { content: '\e80a'; } /* '' */
  .icon-video:before { content: '\e80b'; } /* '' */
  .icon-videocam:before { content: '\e80c'; } /* '' */
  .icon-picture:before { content: '\e80d'; } /* '' */
  .icon-camera:before { content: '\e80e'; } /* '' */
  .icon-ok:before { content: '\e80f'; } /* '' */
  .icon-cancel:before { content: '\e810'; } /* '' */
  .icon-minus-circled:before { content: '\e811'; } /* '' */
  .icon-info-circled:before { content: '\e812'; } /* '' */
  .icon-help-circled:before { content: '\e813'; } /* '' */
  .icon-home:before { content: '\e814'; } /* '' */
  .icon-link:before { content: '\e815'; } /* '' */
  .icon-attach:before { content: '\e816'; } /* '' */
  .icon-lock:before { content: '\e817'; } /* '' */
  .icon-lock-open:before { content: '\e818'; } /* '' */
  .icon-pin:before { content: '\e819'; } /* '' */
  .icon-eye:before { content: '\e81a'; } /* '' */
  .icon-eye-off:before { content: '\e81b'; } /* '' */
  .icon-bookmark:before { content: '\e81c'; } /* '' */
  .icon-flag:before { content: '\e81d'; } /* '' */
  .icon-download:before { content: '\e81e'; } /* '' */
  .icon-upload:before { content: '\e81f'; } /* '' */
  .icon-forward:before { content: '\e820'; } /* '' */
  .icon-print:before { content: '\e821'; } /* '' */
  .icon-retweet:before { content: '\e822'; } /* '' */
  .icon-pencil:before { content: '\e823'; } /* '' */
  .icon-comment:before { content: '\e824'; } /* '' */
  .icon-chat:before { content: '\e825'; } /* '' */
  .icon-bell:before { content: '\e826'; } /* '' */
  .icon-attention:before { content: '\e827'; } /* '' */
  .icon-location:before { content: '\e828'; } /* '' */
  .icon-trash-empty:before { content: '\e829'; } /* '' */
  .icon-folder:before { content: '\e82a'; } /* '' */
  .icon-folder-open:before { content: '\e82b'; } /* '' */
  .icon-phone:before { content: '\e82c'; } /* '' */
  .icon-cog:before { content: '\e82d'; } /* '' */
  .icon-wrench:before { content: '\e82e'; } /* '' */
  .icon-basket:before { content: '\e82f'; } /* '' */
  .icon-calendar:before { content: '\e830'; } /* '' */
  .icon-login:before { content: '\e831'; } /* '' */
  .icon-logout:before { content: '\e832'; } /* '' */
  .icon-volume-off:before { content: '\e833'; } /* '' */
  .icon-volume-down:before { content: '\e834'; } /* '' */
  .icon-volume-up:before { content: '\e835'; } /* '' */
  .icon-clock:before { content: '\e836'; } /* '' */
  .icon-zoom-in:before { content: '\e837'; } /* '' */
  .icon-zoom-out:before { content: '\e838'; } /* '' */
  .icon-down-open:before { content: '\e839'; } /* '' */
  .icon-left-open:before { content: '\e83a'; } /* '' */
  .icon-right-open:before { content: '\e83b'; } /* '' */
  .icon-up-open:before { content: '\e83c'; } /* '' */
  .icon-down-big:before { content: '\e83d'; } /* '' */
  .icon-left-big:before { content: '\e83e'; } /* '' */
  .icon-right-big:before { content: '\e83f'; } /* '' */
  .icon-up-big:before { content: '\e840'; } /* '' */
  .icon-cw:before { content: '\e841'; } /* '' */
  .icon-ccw:before { content: '\e842'; } /* '' */
  .icon-arrows-cw:before { content: '\e843'; } /* '' */
  .icon-play:before { content: '\e844'; } /* '' */
  .icon-stop:before { content: '\e845'; } /* '' */
  .icon-pause:before { content: '\e846'; } /* '' */
  .icon-to-end:before { content: '\e847'; } /* '' */
  .icon-to-end-alt:before { content: '\e848'; } /* '' */
  .icon-to-start:before { content: '\e849'; } /* '' */
  .icon-to-start-alt:before { content: '\e84a'; } /* '' */
  .icon-fast-fw:before { content: '\e84b'; } /* '' */
  .icon-fast-bw:before { content: '\e84c'; } /* '' */
  .icon-eject:before { content: '\e84d'; } /* '' */
  .icon-link-ext:before { content: '\f08e'; } /* '' */
  .icon-bookmark-empty:before { content: '\f097'; } /* '' */
  .icon-facebook:before { content: '\f09a'; } /* '' */
  .icon-docs:before { content: '\f0c5'; } /* '' */
  .icon-mail-alt:before { content: '\f0e0'; } /* '' */
  .icon-download-cloud:before { content: '\f0ed'; } /* '' */
  .icon-upload-cloud:before { content: '\f0ee'; } /* '' */
  .icon-bell-alt:before { content: '\f0f3'; } /* '' */
  .icon-reply:before { content: '\f112'; } /* '' */
  .icon-flag-empty:before { content: '\f11d'; } /* '' */
  .icon-reply-all:before { content: '\f122'; } /* '' */
  .icon-unlink:before { content: '\f127'; } /* '' */
  .icon-help:before { content: '\f128'; } /* '' */
  .icon-info:before { content: '\f129'; } /* '' */
  .icon-mic:before { content: '\f130'; } /* '' */
  .icon-mute:before { content: '\f131'; } /* '' */
  .icon-calendar-empty:before { content: '\f133'; } /* '' */
  .icon-thumbs-up-alt:before { content: '\f164'; } /* '' */
  .icon-thumbs-down-alt:before { content: '\f165'; } /* '' */
  .icon-youtube-play:before { content: '\f16a'; } /* '' */
  .icon-instagram:before { content: '\f16d'; } /* '' */
  .icon-sliders:before { content: '\f1de'; } /* '' */
  .icon-share:before { content: '\f1e0'; } /* '' */
  .icon-bell-off:before { content: '\f1f6'; } /* '' */
  .icon-bell-off-empty:before { content: '\f1f7'; } /* '' */
  .icon-pinterest:before { content: '\f231'; } /* '' */
  .icon-user-plus:before { content: '\f234'; } /* '' */
  .icon-user-times:before { content: '\f235'; } /* '' */
  .icon-calendar-plus-o:before { content: '\f271'; } /* '' */
  .icon-calendar-minus-o:before { content: '\f272'; } /* '' */
  .icon-calendar-times-o:before { content: '\f273'; } /* '' */
  .icon-calendar-check-o:before { content: '\f274'; } /* '' */
  .icon-telegram:before { content: '\f2c6'; } /* '' */
  .icon-facebook-1:before { content: '\f300'; } /* '' */
  .icon-twitter:before { content: '\f302'; } /* '' */
  .icon-twitter-bird:before { content: '\f303'; } /* '' */
  .icon-linkedin-rect:before { content: '\f31b'; } /* '' */
/* Fontello cardee icons - END */

.svg_fa_icon {
    display: inline-block;
    line-height: 1em;
    width: 1em;
    height: 1em;
}

.svg_fa_icon svg {
    width: 1em;
    height: 1em;
}

button .svg_fa_icon, .default_btn .svg_fa_icon {
    margin-right: 0.5em;
}

body {
    color: #203042;
    background-color: #fff;
    font-family: "plusjakarta";
    margin: 0;
    padding: 0;
}

.app_container {
    display: flex;
    flex-direction: row;
}

a {
    color: #203042;
}

a:hover {
    color: #777;
}

header {
    display: flex;
    flex-direction: row;
    align-items: center;
    border-radius: 5px;
    padding: 0.5rem;
}

.logo {
    width: 144px;
    height: 30px;
}

.header_auth_menu {
    color: #464c55;
    display: flex;
    flex-direction: row;
    font-family: "ubuntu";
    margin: 0;
    margin-left: auto;
    padding: 0;
}

.header_auth_menu a {
    text-decoration: none;
}

.header_auth_menu li {
    list-style: none;
    margin: 1rem 0.25rem;
}

.language_bar {
    display: flex;
    flex-direction: row;
    padding: 0 0 1rem;
    justify-content: flex-end;
}

.language_bar span {
    display: inline-block;
    line-height: 1rem;
    height: 1rem;
    font-size: 1rem;
}

.language_bar form {
    line-height: 1rem;
    height: 1rem;
    margin: 0 5px;
}

.language_bar button {
    border: 0;
    font-size: 1rem;
    background-color: transparent;
    cursor: pointer;
    margin-top: -0.20rem;
}

.language_bar button:hover {
    color: #888;
}

.default_cta {
    color: #2a7fba;
    text-decoration: none;
    font-weight: bold;
}

.default_cta:hover {
    color: #31c5f4;
}

input[type="text"],
input[type="date"],
input[type="password"],
input[type="email"],
input[type="date"],
select,
textarea {
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #888;
    font-size: 1rem;
    padding: 0.25rem;
    line-height: 1.75rem;
}

.form_field_error_message ul {
    padding: 0;
    list-style: none;
}

.fetch_error {
    color: #9d0000;
}

.form_field_error_message ul li {
    background-color: #ffdede;
    border: 1px solid #9d0000;
    border-radius: 3px;
    padding: 0.25rem;
    color: #9d0000;
}

.default_btn {
    border: 0;
    background-color: #44b0ec;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 1.10rem;
    line-height: 1.75rem;
    margin-left: auto;
    min-width: 7rem;
    padding: 0.85rem;
    text-align: center;
    text-decoration: none;
  
}

.section_container .action_btn {
    display: inline-block;
    border: 0;
    color: #fff;
    cursor: pointer;
    background-color: #44b0ec;
    font-size: 1rem;
    border-radius: 3px;
    padding: 0.25rem;
    text-align: center;
    text-decoration: none;
    line-height: 1rem;
    min-width: 5em;
    width: fit-content;
    margin: 0 0.5rem;
}

.section_container .important_btn {
    background-color: #f77;
}

.section_container .action_disabled {
    background-color: #bbb;
}

.section_container .action_btn_container {
    margin: 0;
    padding: 0;
    text-align: right;
    width: 100%;
    display: flex;
    justify-content: end;
}

.default_btn:hover, .action_btn:hover {
    background-color: #0A65AD;
    color: #fff;
}

.important_btn:hover {
    background-color: #844;
    color: #fff;
}

.action_disabled:hover {
    background-color: #bbb;
    color: #fff;
    cursor: default;
}

.form_info_text {
    margin: 0 0 0 1rem;
    display: inline-block;
}

.general_form_warning {
    padding: 1rem;
    background: #f0f0c4;
    border-radius: 3px;
}

.general_form_warning .warning_announcement::before {
    color: #6c6c00;
    padding-right: 0.5rem;
    font-family: "cardee-icons";
    content: '\e811'; /* icon-minus-circled */
}
.general_form_warning .warning_announcement {
    font-weight: bold;
    font-size: 1.25rem;
    padding: 0.5rem 0;
}

.general_form_warning .warning_details {
    font-size: 1.25rem;
}

.general_form_error {
    padding: 1rem;
    background: #f0c4c4;
    border-radius: 3px;
}

.general_form_error .error_announcement::before {
    color: #6c0000;
    padding-right: 0.5rem;
    font-family: "cardee-icons";
    content: '\e827'; /* icon-attention */
}
.general_form_error .error_announcement {
    font-weight: bold;
    font-size: 1.25rem;
    padding: 0.5rem 0;
}

.general_form_error .error_details {
    font-size: 1.25rem;
}

.section_container {
    width: 90%;
    margin: auto;
}

.app_side_menu {
    width: 20%;
    min-width: 10rem;
}

.app_side_main {
    width: 80%;
    max-width: calc(100% - 10rem);
}

.view_list_entry, .log_list_entry {
    display: flex;
    border: 1px solid #aaa;
    margin: 0.25rem;
    padding: 0.25rem;
}

.view_list_entry > div, .log_list_entry > div {
    min-width: 10rem;
}

.footer_subsection {
    width: 50%;
}

.footer_section_container {
    display: flex;
    flex-direction: row;
}

.default_search_form_contents {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.section_container .default_search_form_contents input, .default_search_form_contents button {
    margin: 0;
}

.section_container .default_search_form_contents input {
    height: 1rem;
    width: 12rem;
}

.default_search_form_contents button {
    height: 1.5rem;
    line-height: 1rem;
    width: fit-content;
    min-width: 3rem;
    margin: 0 0.5rem;
}

.form_list_searchbutton::before {
    font-family: "cardee-icons";
    content: '\e804'; /* icon-search */
}

.form_list_searchbutton span {
    display: none;
}

.delete_confirm_yes, .delete_confirm_no, .delete_dismiss {
    cursor: pointer;
}

.default_search_form_contents button {
    padding: 0.25rem;
}

footer {
    margin-top: 0.5em;
    padding: 1rem 0;
    background-color: #FFF;
    width: 100%;
}

.footer_section_container {
    width: 90%;
    margin: auto;
}

.footer_subsection_3_2 ul {
    list-style: none;
}

.footer-link, .footer-link-2 {
    text-decoration: none;
    color: #0A64AD;
}

.footer-link:hover, .footer-link-2:hover {
    color: #5E5BA8;
    text-decoration: underline;
}

.footer-link-2 {
    color: #203042;
}

.footer_subsection_3_1 {
    width: 65%;
}

.footer_subsection_3_2 {
    width: 35%;
}

.footer_subsection_3_1, .footer_subsection_3_2 {
    padding-top: 2rem;    
    font-size: 0.75rem;
}

.footer_subsection_3_2 ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0;
}

.footer_subsection_3_2 ul li {
    margin: 0 2rem;
}

.page_section {
    background-color: #E9EEF6;
}

.home_page_section {
    background-color: #fff;
}

.section_container .form_container {
    margin: auto;
    width: 65%;
}

.section_container form > div {
    margin: 1rem 0;
}

.section_container label, .section_container input, .section_container textarea, .section_container .read_only_form_value {
    display: inline-block;
    width: 40%;
}

.section_container label {
    font-weight: bold;
}

label.required::after {
    content: ' *';
    color: var(--color-error);
}

.info_text {
    text-align: center;
}

.vich-image {
    display: inline-block;
}

.vich-image input {
    margin: 0;
}

.vich-image div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top: 0.5rem;
}

.vich-image div label {
    width: auto;
    margin-right: 0.5rem;
}

.vich-image div label::before {
    color: #6c0000;
    margin-right: 0.5rem;
    font-family: "cardee-icons";
    content: '\e829'; /* icon-trash-empty */
    cursor: pointer;
    font-size: 1.5rem;
}

.vich-image div input {
    width: auto;
}

.vich-image div input::after {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
    background-color: #f00;
}

.upload_field_filled {
    background-color: #add0ec;
    border-radius: 5px;
    padding: 1rem;
}

.upload_field_not_filled img {
    display: none;
}

.upload_field_filled input[type="file"] {
    display: none;
}

.img_uploaded_image {
    max-height: 12rem;
    max-width: 100%;
    margin: 1rem auto 0;
    display: block;
}

.form_checkbox_row input[type="checkbox"] {
    width: auto;
}

.form_checkbox_row .form_info_text {
    text-align: left;
}

.form_checkbox_row .form_info_text a {
    font-weight: normal;
}

.form_checkbox_row .checkbox_field {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    width: 75%;
    margin: auto;
}

.form_checkbox_row .checkbox_field p {
    margin-left: 1rem;
    text-align: left;
}

.checkbox_field.checkbox_field_ticket_type > div, .checkbox_field.checkbox_field_require_tickets > div {
    width: 40%;
    text-align: right;
}

.form_radios_row input[type="radio"] {
    width: 2rem;
    margin-left: calc(40% - 2rem);
    display: inline-block;
}

.form_radios_row label {
    text-align: left;
    white-space: nowrap;
}

.success_page_section,
.fail_page_section {
    background-color: #E9EEF6;
    min-height: 50vh;
}

.success_page_section p,
.fail_page_section p {
    margin: 3rem 0;;
}

.success_page_section a,
.fail_page_section a,
.logout_page_section a {
    width: 50%;
    margin: auto;
}

.attention_color {
    color: #9d0000;
}

.view_profile_page_section p, .view_profile_page_section h2 {
    text-align: center;
}

.view_profile_page_section h2 {
    margin: 3rem auto 1rem;
}

.view_profile_page_section .go_home {
    margin: 3rem auto;
}

.view_profile_page_section .default_btn {
    margin: 1rem auto;
    padding: 0.5rem;
    width: 16rem;
}

.view_profile_row_value {
    font-weight: bold;
}

.section_container form.form_list {
    width: 100%;    
}

.sidebar_entry_selected {
    font-weight: bold;
}

.plus_field_datetime {
    .pdt_field {
      display: inline-block;
      width: 12rem;
    }

    .pdt_time {
      width: 2.5rem;
    }

    .pdt_time_ampm {
      width: 3.5rem;
    }
}

.view_event_label {
    font-weight: bold;
}

.view_event_info_country {
    font-weight: bold;
}

.event_seats_left, .event_not_available {
    color: red;
}

.search_submit_btn {
    padding: 1rem 2rem;
    background: var(--color-primary-gradient);
    color: var(--color-text-white);
    border: none;
    border-radius: var(--radius-lg);
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-md);
    margin-top: var(--space-md);
}

.search_submit_btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.search_submit_btn:active {
    transform: translateY(0);
    box-shadow: var(--shadow-sm);
}

.general_table {
    border-collapse: collapse;
    margin-top: 1.5rem;
    width: 100%;
}

.general_table th {
    background: #eee;
}

.general_table th, .general_table td {
    border: 1px solid #aaa;
}

.general_table_cell {
    padding: 0.5rem;
}

.signup_email_request_form {
    input {
        margin-bottom: 1rem;
    }

}

/* Search Bar Modern */
.modern_search_container {
    background: var(--color-bg-card);
    border-radius: var(--radius-xl);
    padding: var(--space-2xl);
    margin-bottom: var(--space-3xl);
    box-shadow: var(--shadow-lg);
}

.modern_search_title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: var(--space-xl);
    color: var(--color-text-primary);
    text-align: center;
}

.modern_search_form {
    display: flex;
    flex-direction: column;
}

.search_input_group {
    display: flex;
    flex-direction: column;
}

.search_input_label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-secondary);
    margin-left: var(--space-xs);
}

.search_input,
.search_select {
    width: 100%;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-lg);
    transition: all var(--transition-base);
    background-color: var(--color-bg-tertiary);
}

.search_input:hover,
.search_select:hover {
    border-color: var(--color-border-hover);
    background-color: var(--color-bg-primary);
}

.search_input:focus,
.search_select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(68, 176, 236, 0.1);
    background-color: var(--color-bg-primary);
    outline: none;
}

.search_filters_row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-md);
}

@media screen and (max-width: 700px) {
    .search_submit_btn {
        padding: 0.875rem 1.5rem;
        font-size: 1rem;
        margin-top: var(--space-sm);
    }

    h2 {
        text-align: center;
    }

    .footer_section_container {
        width: 100%;
    }

    .footer_subsection {
        width: 90%;
    }

    header, 
    .footer_section_container {
        flex-direction: column;
        align-items: center;
    }

    .footer_subsection_3_1 {
        font-size: 1rem;
        text-align: center;
        line-height: 2rem;
    }

    .footer_subsection_3_2 ul {
        font-size: 1rem;
    }

    .footer_subsection_3_2 ul li {
        margin: 0 1rem;
    }

    .page_section {
        padding: 0.5rem 0;
    }

    .page_section label {
        text-align: center;
        font-size: 1.125rem;
        margin-bottom: 0.25rem;
        width: 100%;
    }

    .form_radios_row input[type="radio"] {
        width: 3rem;
        margin-left: 0;
    }
    
    .form_radios_row label {
        width: calc(90% - 3rem);
    }
    
    .page_section input[type="text"],
    .page_section input[type="password"],
    .page_section input[type="email"],
    .page_section select,
    .page_section textarea,
    .form_info_text {
        width: 100%;
        margin: 0;
    }

    .page_section .form_info_section label {
        display: none;
    }

    .header_auth_menu {
        margin: auto;
        font-size: 0.90rem;
    }

    .auth_vertical_bar {
        display: none;
    }

    .section_container {
        width: 98%;
        margin: auto;
    }

    .page_section p {
        margin: 2rem 0;;
    }
}

/* Preview Mode Banner */
.preview_mode_banner {
    background: linear-gradient(135deg, #ff9800 0%, #ff5722 100%);
    color: white;
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    font-weight: 600;
    font-size: 0.9375rem;
    box-shadow: 0 2px 8px rgba(255, 87, 34, 0.3);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.preview_mode_banner i {
    font-size: 1.25rem;
}

.preview_exit_link {
    margin-left: auto;
    color: white;
    text-decoration: none;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-md, 6px);
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.preview_exit_link:hover {
    background: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 700px) {
    .preview_mode_banner {
        flex-wrap: wrap;
        text-align: center;
        padding: 0.75rem 1rem;
    }

    .preview_exit_link {
        margin-left: 0;
        width: 100%;
        justify-content: center;
        margin-top: 0.5rem;
    }
}
