/****************************/
/* Fonts          		    */
/****************************/
@font-face {
    font-family: "Hyundai";
    src: url("../fonts/HyundaiSansText-Regular.ttf");
	font-weight: 300;
	font-display: swap;
}
@font-face {
    font-family: "Hyundai";
    src: url("../fonts/HyundaiSansHead-Medium.otf");
	font-weight: 600;
	font-display: swap;
}
@font-face {
    font-family: "Hyundai";
    src: url("../fonts/HyundaiSansHead-Bold.otf");
	font-weight: 800;
	font-display: swap;
}
@font-face {
    font-family: "Hyundai Heading";
    src: url("../fonts/HyundaiSansHead-Regular.otf");
	font-weight: 300;
	font-display: swap;
}

/****************************/
/* Global   				*/
/****************************/
:root {
    --white: #fff;
    --black: #000;
    --blue: #003166;
    --dark: #373a3c;
    --grayLink: #a6b0cf;
    --grayDarkLink: #7f8387;
    --gray: #262b3c;
    --darkGray: #3c4054;
    --lightgray: #808390;
    --red: #FF0000;
    --darkGreen: #2e4b4f;
    --lightGreen: #28c76f;
    --darkOrange: #504448;
    --lightOrange: #ff9f43;
}

body {
    font-family: Hyundai;
	font-size: 16px;
	font-weight: 300;
    color: var(--black);
}
#root {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
main {
    flex-grow: 1;
    display: flex;
}

/* Links */
a,
a:visited {
    text-decoration: none !important;
}

a:not(.sidebar a),
a:visited:not(.sidebar a:visited) {
    color: var(--blue);
    outline: none;
}

/* a:hover {
    color: var(--red);
} */
li {
    list-style: none;
}

::-webkit-scrollbar {
    width: 0;
}

::-webkit-scrollbar-thumb {
    background: transparent;
}

/****************************/
/* Reusables   				*/
/****************************/

/* Positions */
.relative {
    position: relative;
}

.abs-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.abs-mr {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
}
.fixed-tl {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(0, 0);
}
.fixed-mr {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
}

/* Displays */
.block {
    display: block;
}

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

.flex {
    display: flex;
    justify-content: space-between;
}
/* Grid */
.flex-row {
    display: flex;
    justify-content: space-between;
}

.flex-row > div {
    flex: 1 1 20%;
    padding: 0 0.75rem;
}

/* Heights */
.height-100 {
    height: 100vh;
}
.max-height-50 {
    max-height: 50px;
}
/* Font Sizes */
.fs-11 {
    font-size: 11px;
}
.fs-13 {
    font-size: 13px;
}
.fs-16 {
    font-size: 16px;
}
.fs-20 {
    font-size: 20px;
}
/* Font Sizes */
.fs-10 {
    font-size: 10px;
}
.fs-11 {
    font-size: 11px;
}
.fs-12 {
    font-size: 12px;
}
.fs-14 {
    font-size: 14px;
}
.fs-2vw {
    font-size: 2vw;
}
.fs-3vw {
    font-size: 3vw;
}

/* Font Weights */
.fw-900 {
    font-weight: 900;
}

/* Line Heights */
.lh-3vw {
    line-height: 3vw;
}

/* Font Weights */
.fw-600 {
    font-weight: 600;
}
.fw-900 {
    font-weight: 900;
}

/* Text Transforms */
.uppercase {
    text-transform: uppercase;
}

/* Aligns */
.ta-center {
    text-align: center;
}

.ta-right {
    text-align: right;
}

/* Margins */
.no-margin {
    margin: 0 !important;
}
.margin-bottom-10 {
    margin-bottom: 10px;
}
.margin-bottom-20 {
    margin-bottom: 20px;
}
.margin-top-40 {
    margin-top: 40px;
}
.overflow-hidden {
    overflow: hidden;
}
/* Paddings */
.padding-vert-5 {
    padding: 5px 0;
}
.padding-vert-10 {
    padding: 10px 0;
}
.padding-vert-20 {
    padding: 20px 0;
}
.padding-vert-40 {
    padding: 40px 0;
}
.padding-vert-40-80 {
    padding: 40px 0 80px 0;
}
.padding-vert-80 {
    padding: 80px 0;
}
.padding-vert-80-40 {
    padding: 80px 0 40px 0;
}
.padding-vert-90 {
    padding: 90px 0;
}
.padding-vert-120 {
    padding: 120px 0;
}

/* Colors */
.white {
    color: var(--white);
}
.white-bg {
    background: var(--white);
}
.blue {
    color: var(--blue) !important;
}
.blue-bg {
    background: var(--blue);
}   
.black {
    color: var(--black) !important;
}

/* Widths */
.w-25 {
    width: 25%;
}
.w-75 {
    width: 75%;
}
.w-100px {
    width: 100px;
}
.w-100 {
    width: 100%;
}

.w-auto {
    width: auto;
}

/* Z-indexes */
.z-99 {
    z-index: 99;
}

/* Buttons */
.btn-blue {
    background: #003166;
    color: #fff !important;
    border-radius: 0;
    padding: 25px 50px;
    border: none;
}
.white-btn {
    color: #003166;
    background: #fff;
    padding: 10px 60px;
}

/* Sizes */
.cover {
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

/* Borders */
.border-top-1 {
    border-top: 1px solid var(--gray);
}

.border-bottom-1 {
    border-bottom: 1px solid var(--gray);
}

/* Buttons */
.btn {
    color: var(--black) !important;
    background: transparent;
    padding: 10px 30px;
    border: 1px solid #000;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
    cursor: pointer;
}

.btn:hover {
    color: var(--white) !important;
    background: var(--black);
}

/* Pointer */
.pointer {
    cursor: pointer;
}
.underline {
    text-decoration: underline;
}


/* Forms */
input, 
select,
textarea {
    width: 100%;
    outline: none;
    border: none;
    border-bottom: 1px solid var(--black);
    color: var(--black);
    padding: 10px 0;
    font-family: inherit;
    font-weight: 100;
}
select {
    height: 36px
}
.interest-form {
    padding: 20px;
}
.interest-form .form-label {
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 13px;
}
.interest-form button{
    background: #003166;
    color: #fff;
    border: 0;
    padding: 15px 60px;
    border-radius: 0;
}
/* textarea {
    height: 150px; 
    margin-top: 10px;
} */
input:not([type="checkbox"]):not([type="range"]) + label,
select + label,
textarea + label {
    position: absolute;
    top: -10px;
    left: 0;
    font-size: 11px;
    padding: 0 10px;
    color: var(--grayDarkLink);
    margin-bottom: 5px;
    transition: all .2s ease-in-out;
}
.accordion-item input[type="checkbox"] {
    display: none;
}
.accordion-item label {
    display: block;
    padding: 10px;
    cursor: pointer;
    font-weight: bold;
}
small.helper-text {
    font-size: 11px;
    color: var(--grayDarkLink);
}
/* form input:not(:placeholder-shown) + label,
form input:focus + label,
form label.active
 {
    font-size: 11px;
    top: -10px;
} */
form .error {
    color: var(--red);
}

/* Searchbar */
.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}
.form-control {
    display: block;
    width: 100%;
    /* height: calc(1.5em + 1.25rem + 2px); */
    /* padding: 0.625rem 1.1875rem; */
    line-height: 1.5;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--black);
    background: no-repeat bottom,50% calc(100% - 1px);
    background-size: 0 100%,100% 100%;
    transition: background 0s ease-out;
}
.form-control:focus {
    outline: none;
    border-bottom-color: transparent;
    background-size: 100% 100%,100% 100%;
    transition-duration: .3s;
    box-shadow: none;
    background-image: linear-gradient(0deg,var(--blue) 2px,rgba(70,128,255,0) 0),linear-gradient(0deg,var(--grayLink) 1px,rgba(206,212,218,0) 0);
}

/* Tables */
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.table {
    width: 100%;
    margin-bottom: 1rem;
    color: var(--black);
    border-collapse: collapse;
}
.table thead tr {
    border-bottom: 1px solid #e2e5e8;
    font-size: 13px;
    color: var(--dark);
    background: #ecf0f5;
    text-transform: uppercase;
}
.table td,
.table tr {
    border-top: 1px solid #e2e5e8;
}
.table td,
.table th {
    border-top: 1px solid #e3eaef;
    padding: 1.5rem 0.75rem;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}
.table-hover tbody tr:hover {
    background-color: rgba(70, 128, 255, .03);
}

.table-link::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.5em;
}

/* Spinner */
#loading {
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255,255,255,.3);
    border-radius: 50%;
    border-top-color: var(--red);
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
  }
  
@keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}

/* Misc */
.mobile {
    display: none;
}

/****************************/
/* Header   				*/
/****************************/
header {
    position: fixed;
    top: 0;
    background-color: var(--white);
    width: 100%;
    border-bottom: 1px solid #dcdbdb;
    z-index: 999;
}

.admin-menu {
    background: var(--blue);
}

header .logo-container {
    max-height: 60px;
}

/* header a,
.admin-menu a {
    color: var(--grayLink) !important;
    margin: 0 10px;
    transition: all .5s;
}

header a:hover,
.admin-menu a:hover {
    color: var(--white) !important;
} */
 .brand-logo img {
	max-height: 20px;
	width: auto;
}
 nav {
	background-color: #fff !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
nav ul a,
nav ul a:visited,
nav ul a:hover {
	font-size: 12px !important;
	/* padding: 0 10px; */
	color: #003166;
	background-color: transparent !important;
}
.menu-item a {
	outline: none;
}
.vendor_logo {
    max-height: 40px;
    top: 50%;
    transform: translateY(-50%);
}

/* Responsive Menu */
.responsive-menu {
    display: none;
}
.responsive-menu .responsive-menu-container {
    position: fixed;
    top: 57px;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    list-style: none;
    padding: 2rem;
    box-sizing: border-box;
}
  
.responsive-menu .responsive-menu-container.open {
    transform: translateX(0);
}

.responsive--menu--icon {
    position: relative;
    /* left: 0;
    top: 50%;
    transform: translate(0, -50%); */
}

.responsive-menu ul li {
    float: inherit !important;
}

.responsive-menu ul li a {
    font-size: 20px !important;
    line-height: 40px;
    font-weight: 900;
}

  @media (min-width: 1401px) {
    .responsive-menu {
      display: none !important;
    }
    /* .responsive-menu .responsive-menu-container {
      position: relative;
      transform: none;
      background: none;
    } */
}

/****************************/
/* Footer       		    */
/****************************/
#contact-section {
    background: #e8e8e8;
    margin-top: -22px;
}
#contact-section .row {
    margin-bottom: 0;
}
.footer-table td {
    padding: 0 5px;
}
footer {
    color: #ffffff;
    background: #323232;
}
footer .brand-logo img {
    max-height: 50px;
	width: auto;
}
.footer-column-menu ul {
	padding: 0;
}
.footer-column-menu li {
	white-space: normal !important;
}
.footer-menu-item,
.footer-column-menu li a{
    font-size: 14px;
    line-height: 1.3;
    color: #fff !important;
}
.footer-menu-item:hover,
.footer-column-menu .menu-item a:hover {
    text-decoration: underline;
}
footer svg {
    fill: #fff;
}
/* Footer Bottom Menu */
.footer-border-bottom {
	padding: 20px;
    border-bottom: 2px solid hsla(0,0%,100%,.1);
}
.footer-columns a {
	color: #fff !important;
	display: block;
}
.footer-column-menu {
	margin-left: 20px;
}
.floating-action-item svg {
    fill: #fff;
}
.floating-action-item:hover {
	background: #00819e;
}
.footer-bottom-menu ul {
	display: block;
}
.footer-bottom-menu ul li {
	display: inline-block;
}
.footer-bottom-menu ul li a {
	color: #fff;
}
.footer-bottom-menu ul li a:hover {
	text-decoration: underline;
}
.footer-bottom-menu ul li:after {
    content: "|";
	padding: 0 5px;
}
.footer-bottom-menu ul li:last-child:after {
	content: "";
	padding: 0;
}
footer svg {
    margin-right: 20px
}
.accordion-item {
    border-top: 2px solid rgba(0,0,0,.07);
}
.accordion-item::after {
    content: "";
    display: table;
    clear: both;
  }
.accordion-item:last-of-type {
    border-bottom: 2px solid rgba(0,0,0,.07);
}


/****************************/
/* Sidebar         			*/
/****************************/
.sidebar {
    height: calc(100vh - 52px);
    background-color: var(--white);
    border-right: 1px solid #dcdbdb;
    transition: width 0.3s ease;
}

.sidebar-closed {
    width: 50px !important;
    padding: 0 !important;
}

.sidebar-closed .sidebar-sticky {
    width: 0 !important;
}
.sidebar-sticky {
    position: sticky;
    overflow-y: scroll;
    height: 100%;
    padding-top: 50px;
}
.hamburger {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    z-index: 9;
}
.hamburger .line{
    width: 30px;
    height: 2px;
    background-color: var(--blue);
    display: block;
    margin: 8px auto;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.hamburger.is-active .line:nth-child(2){
    opacity: 0;
}
.hamburger.is-active .line:nth-child(1){
    -webkit-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    -o-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
}
.hamburger.is-active .line:nth-child(3){
    -webkit-transform: translateY(-10px) rotate(-45deg);
    -ms-transform: translateY(-10px) rotate(-45deg);
    -o-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
}
/* SideBar Menu items*/
.sidebar-sticky li {
    padding: 3px 0;
}
.menu-title {
    padding: 16px 8px !important;
    margin-bottom: 3px;
    letter-spacing: .05em;
    font-size: 11px;
    text-transform: uppercase;
    color: var(--black);
    font-weight: 600;
    border-radius: 0.375rem;
    transition: all .5s ease;
}
.menu-title.active,
.menu-title:hover {
    background: #ecf0f5;
}
.menu-title .arrow {
    float: right;
    transition: transform 0.3s ease;
}
.menu-title .arrow-up {
    transform: rotate(-180deg);
}
.sub-menu-item-container {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
}
.sub-menu-item-container.open {
    grid-template-rows: 1fr;
}
.sub-menu-item-container ul {
    margin: 0;
    padding-left: 10px !important;
}
.sub-menu-items {
    overflow: hidden;
}
.nav-link {
    color: var(--dark);
    display: block;
    padding: 16px 8px !important;
    letter-spacing: .05em;
    font-size: 11px;
    position: relative;
    border-radius: 0.375rem;
    transition: all .5s;
}
.nav-link.active,
.nav-link:hover {
    background: rgba(70, 128, 255, .05);
}

/****************************/
/* User         			*/
/****************************/
.avatar-image {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e0e0e0;

}
.avatar-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--white);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border: 1px solid #e0e0e0;
    cursor: pointer;
}
.avatar-dropdown {
    position: absolute;
    text-align: left;
    top: 60px;
    right: 10px;
    background: var(--white);
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    border-radius: 4px;
    width: max-content;
    max-width: 300px;
    z-index: 1000;
}
.avatar-dropdown .name-container {
    font-size: 14px;
    font-weight: bold;
    color: rgb(51, 51, 51);
    text-align: left;
    padding: 12px 16px;
    border-bottom: 1px solid rgb(224, 224, 224);
}
.avatar-dropdown .links-container {
    padding: 12px 16px;
}
.avatar-dropdown .links-container ul li {
    font-size: 13px;
    text-decoration: none;
    margin-bottom: 10px;;
    transition: background-color 0.2s;
}
.avatar-dropdown .links-container ul li:hover {
    background: rgba(70, 128, 255, .05);
}
.avatar-dropdown .links-container ul li a {
    display: block;
    font-weight: 400;
    --link-color: #000;
    padding: 8px;
}
.avatar-dropdown .links-container ul li a.logout {
    color: var(--white);
    background-color: var(--red);
    border-radius: 0.375rem;
    text-align: center;
    padding: 5px 30px;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
}

/****************************/
/* Login         			*/
/****************************/
.login-wrapper {
    max-width: 30%;
    margin: 0 auto;
}

/****************************/
/* Dashboard      			*/
/****************************/
.dashboard-content {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 52px);
    transition: width 0.3s ease;
    overflow-y: scroll;
}
.dashboard-content.m12 {
    width: calc(100% - 50px) !important
}
g.recharts-layer.recharts-label-list text tspan {
    fill: #fff !important;
    font-weight: 900;
}

/****************************/
/* Lists          			*/
/****************************/
.status {
    padding: 5px 10px;
}
.status.Active,
.status.published {
    color: var(--lightGreen);
    background-color: var(--darkGreen);
}
.status.Pending,
.status.draft {
    color: var(--lightOrange);
    background-color: var(--darkOrange);
}
.status.Inactive,
.status.archived {
    color: var(--lightgray);
    background-color: var(--darkGray);
}

/****************************/
/* Hierarchical Pages List  */
/****************************/
.child-page {
    background-color: rgba(70, 128, 255, 0.02);
}

.hierarchy-indicator {
    color: var(--grayDarkLink);
    /* font-family: monospace; */
    font-size: 12px;
    margin-right: 5px;
}

.child-url {
    color: var(--dark);
}

.parent-url-prefix {
    color: var(--grayDarkLink);
    font-style: italic;
}

/****************************/
/* Block Editor Controls    */
/****************************/
.block-controls {
    border: 1px solid #ddd;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 4px;
    background-color: #f9f9f9;
}

/* Control rows - flex layout */
.control-row {
    display: flex;
    align-items: flex-end;
    gap: 15px;
    margin-bottom: 15px;
    width: 100%;
}

.control-row:last-child {
    margin-bottom: 0;
}

.control-group {
    display: flex;
    flex-direction: column;
}

.control-group.flex-grow {
    flex: 1;
}

.control-group.full-width {
    width: 100%;
}

/* Special styling for padding row */
.control-row.padding-row {
    flex-direction: column;
    align-items: stretch;
}

.control-group label {
    display: block;
    font-weight: 500;
    margin-bottom: 5px;
    color: var(--dark);
    font-size: 12px;
}

/* Checkbox styling */
.checkbox-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    cursor: pointer;
}

.checkbox-label input[type="checkbox"] {
    margin: 0;
}

.class-input {
    width: auto;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

/* Padding controls grid layout */
.padding-controls-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 5px;
    width: 100%;
}

.padding-input-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.padding-input-group label {
    font-size: 11px;
    font-weight: 400;
    margin: 0 !important;
    min-width: 45px;
}

.padding-number-input {
    width: 50px;
    padding: 4px 6px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 12px;
    text-align: center;
}

.padding-range {
    flex: 1;
    height: 4px;
    background: #ddd;
    border-radius: 2px;
    outline: none;
}

.padding-range::-webkit-slider-thumb {
    appearance: none;
    width: 16px;
    height: 16px;
    background: var(--blue);
    border-radius: 50%;
    cursor: pointer;
}

.padding-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: var(--blue);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

/* Legacy padding controls (remove if not needed) */
.padding-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 5px;
}

.padding-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.padding-input label {
    font-size: 12px;
    font-weight: 400;
    margin: 0;
    min-width: 45px;
}

.padding-input input[type="range"] {
    flex: 1;
    height: 4px;
    background: #ddd;
    border-radius: 2px;
    outline: none;
}

.padding-input input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 16px;
    height: 16px;
    background: var(--blue);
    border-radius: 50%;
    cursor: pointer;
}

.padding-input input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: var(--blue);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

.padding-input span {
    font-size: 12px;
    color: var(--dark);
    min-width: 35px;
    text-align: right;
}

/****************************/
/* Media          			*/
/****************************/
.media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
    padding: 1rem 0;
}

.media-item {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    background: white;
    transition: transform 0.2s, box-shadow 0.2s;
}

.media-preview {
    height: 200px;
    background: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.media-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.file-preview {
    text-align: center;
    color: #666;
}

.file-icon {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.file-icon.image {
    color: #4CAF50;
}

.file-icon.pdf {
    color: #f44336;
}

.media-info {
    padding: 1rem;
}

.media-info h4 {
    margin: 0 0 0.5rem 0;
    font-size: 0.9rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-size, .dimensions {
    margin: 0;
    font-size: 0.8rem;
    color: #666;
}

.media-actions {
    padding: 0.5rem 1rem 1rem;
    display: flex;
    gap: 0.5rem;
}

.btn-action {
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.btn-action.delete:hover {
    color: #f44336;
}

.file-info {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.file-thumbnail {
    width: 50px;
    height: 50px;
    border-radius: 4px;
    overflow: hidden;
    background: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.file-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.action-buttons {
    display: flex;
    gap: 0.5rem;
}

.empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #666;
}

.empty-state h3 {
    margin: 1rem 0;
}
.media-preview-card, .edit-form-card {
    background: white;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 1rem;
}

.preview-container {
    margin-bottom: 1.5rem;
    text-align: center;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem;
    background: #fafafa;
}

.preview-container img {
    max-width: 100%;
    max-height: 400px;
    border-radius: 4px;
}

.file-preview {
    padding: 2rem;
    text-align: center;
    color: #666;
}

.file-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.file-icon.pdf {
    color: #f44336;
}

.file-details {
    margin-bottom: 1.5rem;
}

.file-details h4 {
    margin-bottom: 1rem;
    color: #333;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-row strong {
    color: #333;
    min-width: 120px;
}

.detail-row span {
    color: #666;
    text-align: right;
    flex: 1;
    word-break: break-word;
    margin-left: 1rem;
}

.action-buttons {
    display: flex;
    /* flex-direction: column; */
    gap: 0.5rem;
}

.btn-block {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: #333;
}

.form-text {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #666;
}

.form-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}

@media (max-width: 992px) {
    .detail-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .detail-row span {
        text-align: left;
        margin-left: 0;
    }

    .form-actions {
        flex-direction: column;
    }
}

/* Media Component Modal */
/* Media Selector Modal Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Upload options layout for settings page */
.upload-options {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

@media (max-width: 600px) {
    .upload-options {
        flex-direction: column;
        align-items: stretch;
    }
    
    .upload-options span {
        text-align: center;
        margin: 5px 0 !important;
    }
}

.modal-content {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

.media-selector-modal {
    width: 90vw;
    max-width: 1200px;
    height: 80vh;
}

.modal-header {
    padding: 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f8f9fa;
}

.modal-header h4 {
    margin: 0;
    font-size: 1.5rem;
    color: #333;
}

.btn-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #666;
    padding: 5px;
    border-radius: 4px;
    transition: all 0.2s;
}

.btn-close:hover {
    background-color: #e9ecef;
    color: #333;
}

.modal-body {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.modal-footer {
    padding: 20px;
    border-top: 1px solid #eee;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    background-color: #f8f9fa;
}

.media-selector-controls {
    margin-bottom: 20px;
}

.media-selector-controls .row {
    margin-bottom: 15px;
}

.media-selector-controls .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* Media Item Selection Styles */
.media-item.selectable {
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.media-item.selectable:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.media-item.selected {
    border: 3px solid #2196F3 !important;
    box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2);
}

.selection-indicator {
    position: absolute;
    top: 8px;
    right: 8px;
    background-color: #2196F3;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/****************************/
/* Slider       		    */
/****************************/
.slider {
	/* height: 100vh; */
    height: 100vh;
}
.slider .slick-dotted.slick-slider {
	margin-bottom: 0;
}
.slick-active .relative {
    z-index: 1;
}
.slider-bg {
	height: 100vh;
	background-size: cover;
	background-repeat: no-repeat;
	-webkit-transform: scale(1.05);
    transform: scale(1.05);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    filter: blur(8px);
    -webkit-filter: blur(8px);
}
.slider-bg:before {
	content: "";
    display: block;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    opacity: 1;
	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(29%,hsla(0,0%,100%,.9)),color-stop(45%,hsla(0,0%,100%,0)));
    background-image: linear-gradient(180deg,hsla(0,0%,100%,.9) 29%,hsla(0,0%,100%,0) 45%);
}
.slider-bg:after {
	content: "";
    display: block;
    position: absolute;
    height: 45%;
    opacity: 1;
    bottom: 0;
    width: 100%;
	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(27%,transparent),to(#000));
    background-image: linear-gradient(180deg,transparent 27%,#000);
}
.slider .slider-container {
	position: absolute; 
    width: 85%;
	height: 85%;
    left: 50%;
    top: 0%;
	transform: translate(-50%,0%);
	background-size: cover;
    background-position: center center;
	background-repeat: no-repeat; 
}
.slider .slider-container:focus {
    outline: none;
}
.slider .slider-info-container {
    position: absolute;
	color: #fff;
    z-index: 999;
}
.slider .slider-button-container {
    position: absolute;
	color: #fff;
    z-index: 999;
}
.slider-title {
	font-size: 70px;
    font-weight: 600;
    margin: 0;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.slider-subtitle {
    font-size: 22px;
    font-weight: 600;
    margin: 0;
    position: absolute;
}
.slider .slides-navigation {
	background: transparent;
	margin-top: -50px;
}
.slider .slick-dots {
    position: absolute;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    width: 100%;
    bottom: 0;
    margin-bottom: 25px;
}
.slider .slick-dots li {
    height: 3px;
    width: 50px;
}
.slider .slick-dots li {
    position: relative;
    display: inline-block;
    list-style-type: none;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.slider .slick-dots li button {
    position: relative;
    background-color: #8d8888;
    opacity: 0.25;
    width: 50px;
    height: 3px;
    padding: 0;
}
.slider .slick-dots li button:before {
    display: none;
}
.slider .slick-active button {
    color: #fff;
	background-color: #fff !important;
    opacity: 0.75 !important;
}
.slider .tparrows {
	position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
}
.slider .tp-leftarrow {
	left: 0;
}
.slider .tp-leftarrow:hover {
	cursor: url(https://www.hyundai.com/eu/etc.clientlibs/hyundai-wwn3/clientlibs/main/resources/assets/cursor_icons/arrow-le.png) 40 30,auto;
}
.slider .tp-rightarrow {
	right: 0;
}
.slider .tp-rightarrow:hover {
	cursor: url(https://www.hyundai.com/eu/etc.clientlibs/hyundai-wwn3/clientlibs/main/resources/assets/cursor_icons/arrow-re.png) 40 30,auto;
}

/* Fix Slider Stacking issue on load */
.slider .slides {
    /* opacity: 0;
    visibility: hidden; */
    transition: opacity 1s ease;
    -webkit-transition: opacity 1s ease;
}
.slider .slides.slick-initialized {
    visibility: visible;
    opacity: 1;    
}

/* Admin Preview */
.wp-admin .slider-container.relative {
    position: relative;
    height: 600px;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 42px;
}
.wp-admin .slider-info-container {
    position: absolute;
    z-index: 999;
    color: #fff;
}
.slider-equal-heights-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    position: absolute;
    top: 100%;
    left: -40%;
    transform: translate(40%, -100%);
    width: 95%;
    margin-top: 35px;
}
.slider-container-button {
    font-weight: 600;
	align-self: flex-end;
}

@media all and (max-width: 1340px) {
    .slider-subtitle {position: relative;}
	.slider-container-title {width: 100% !important;}
    .slider-container-button {width: 50% !important;}
    .slider-container-button a {float: left !important;}
    .slider-title {font-size: 64px; line-height: 68px;}
}

@media all and (max-width: 768px) {
	.slider-title {font-size: 45px; line-height: 48px;}
    .slider-container-button {width: 80% !important;}
}

@media all and (max-width: 480px) {
	.slider,  .slider-bg, .slick-dotted.slick-slider {height: calc(75vh - 64px) !important;}
	.slider-bg {height: 75vh;}
	.slider .slider-container {height: 80%;}
	.slider-title {font-size: 38px; line-height: 40px;}
	.slider-subtitle {font-size: 20px;}
    .slider .slick-dots li {width: 35px;}
    .slider .slick-dots li button  {width: 35px;}
	.scrollmagic-pin-spacer {inset: -57px auto auto 0px !important;}
}

/****************************/
/* Posts         			*/
/****************************/
.post-img {
    /* aspect-ratio: 16/9;
    width: 100%;
    object-fit: cover; */
    width: 100%;
    max-width: 500px;
    height: 300px;
    object-fit: cover;
    object-position: center;
}

/****************************/
/* Responsive 				*/
/****************************/
@media all and (max-width: 1340px) {
	.slider-container-title {width: 100% !important;}
    .slider-container-button {width: 50% !important;}
    .slider-container-button a {float: left !important;}
    .slider-title {font-size: 64px; line-height: 68px;}
}

@media all and (max-width: 900px) {
	/* .burger-menu {display: block;} */
    .responsive-menu {display: block;}
	.hide-on-med-and-down {display: none !important;}
	.brand-logo {text-align: center; width: 100%;}
    .desktop {display: none;}
	.mobile {display: inline-block;max-height: 40px;}
    .brand-logo img {padding: 0 10px;}
}

@media all and (max-width: 768px) {
	.slider-title {font-size: 45px; line-height: 48px;}
    .slider-container-button {width: 80% !important;}
}

@media all and (max-width: 480px) {
	.slider,  .slider-bg, .slick-dotted.slick-slider {height: calc(75vh - 64px) !important;}
	.slider-bg {height: 75vh;}
	.slider .slider-container {height: 80%;}
	.slider-title {font-size: 38px; line-height: 40px;}
	.slider-subtitle {font-size: 20px;}
    .slider .slick-dots li {width: 35px;}
    .slider .slick-dots li button  {width: 35px;}
}