@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

/* Colour palette */
:root {
    --clr-primary: #77BC1F;
    --clr-white: #FFFFFF;
    --clr-black: #000000;
    --clr-red: #FF0000;
    --clr-grey: #4D4D4D;
    --clr-dark-grey: #3C3936;
    --clr-darker-grey: #9E9E9E;
    --clr-danger: #A5365E;
    --clr-background: #1D1715;
    --clr-background-primary: #5E1739;
    --clr-background-secondary: #175E40;
    --clr-background-tertiary: #17445E;
    --clr-border-form-input: #DBD8D6;
    --clr-box-shadow: #DBD8D6;
    --clr-divider: #B2B2B2;
    --clr-table-head: #3C3936;
    --clr-table-highlight: #F5F9F0;
    --clr-off-white: #F7F7F7;
    --clr-success-green: #DFF5C2;
    --clr-dark-blue: #1F83BC;
    /**/
    --bg-primary: var(--clr-primary);
    --bg-radial-primary: radial-gradient(28.01% 34.85% at 16.84% 65.91%, var(--clr-background-primary) 18.75%, var(--clr-background) 100%);
    --bg-radial-secondary: radial-gradient(28.01% 34.85% at 16.84% 65.91%, var(--clr-background-secondary) 18.75%, var(--clr-background) 100%);
    --bg-radial-tertiary: radial-gradient(28.01% 34.85% at 16.84% 65.91%, var(--clr-background-tertiary) 18.75%, var(--clr-background) 100%);
    --bg-cta: radial-gradient(74.04% 65.25% at 12.61% 72.93%, var(--clr-background-secondary) 0%, rgba(29, 23, 23, 0.00) 100%), linear-gradient(90deg, var(--clr-black) 52.83%, rgba(0, 0, 0, 0.00) 80.69%), url('/modules/custom/ego_wm_v2/img/account/13_Prod-Batteries.jpg') center / cover no-repeat;
    --bg-cta-app: radial-gradient(213.49% 66.51% at 12.61% 72.93%, var(--clr-black) 21.88%, var(--clr-background-secondary) 100%), linear-gradient(90deg, var(--clr-black) 52.83%, rgba(0, 0, 0, 0.00) 80.69%), lightgray 676.013px -315.991px / 59.102% 225.497% no-repeat;
}

body {
    display: none;
    padding-top: 0 !important;
}

body.path-v2 {
	background: var(--bg-radial-secondary);
}

main {
    background: var(--bg-radial-secondary);
	min-height: 99vh;
}

/* Hide default theme elements */
body header,
.breadcrumbs,
.action-links,
.footer {
    display: none;
}

/* Reset */
a.primary {
    color: var(--clr-primary);
}
.outline {
    outline-style: none !important;
}

/* Fonts */
.font-secondary {
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

/* Backgrounds */
.bg-screen {
    background-color: var(--clr-background);
}
.bg-screen img {
    object-fit: contain;
    object-position: top;
}
.bg-primary {
    background: var(--bg-primary);
}
.bg-radial__primary {
    background: var(--bg-radial-primary);
}
.bg-radial__secondary {
    background: var(--bg-radial-secondary);
}
.bg-radial__tertiary {
    background: var(--bg-radial-tertiary);
}
.bg-cta {
    background: var(--bg-cta);
}
.bg-cta-app {
    background: var(--bg-cta-app);
}
.bg-subtle {
    background: var(--clr-off-white);
}
.bg-warning {
    color: var(--clr-white);
    background-color: var(--clr-danger);
}

/* Cards */
.card {
    background-color: var(--clr-off-white);
    box-shadow: 0px 4px 10px 3px rgba(0, 0, 0, 0.06);
}
.table-card:nth-child(odd) {
    background-color: var(--clr-off-white);
}

/* Forms */
.form-required:after {
    content: '*';
    margin-left: .3rem;
    color: var(--clr-red);
}
.form-radios {
    display: flex;
    gap: .625rem;
    margin-top: .75rem;
}
.form-item {
    border: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.form-item label,
.form-item legend {
    font-weight: bold;
}
.form-item input,
.form-item select {
    width: 100%;
    padding: 1.25rem;
    margin-top: 0;
    border: 1px solid var(--clr-border-form-input);
    border-radius: .375rem;
    box-shadow: 0px 4px 10px 3px rgba(0, 0, 0, 0.06);
}
.form-item input:not(:placeholder-shown):valid {
    border-color: var(--clr-primary);
    outline-color: var(--clr-primary);
}
.form-item input:invalid {
    border-color: var(--clr-red);
    outline-color: var(--clr-red);
}
.form-item input:invalid:focus-visible {
    outline-color: var(--clr-red);
}
.form-item input.form-file {
    cursor: pointer;
}
.form-item input.form-file:hover {
    background: var(--clr-table-highlight);
}
.form-item input.date.flatpickr-input:hover {
    background: var(--clr-table-highlight);
}
.form-item input.date ~ .flatpickr-calendar {
    box-shadow: none;
    -webkit-box-shadow: none;
    border: none;
    border-bottom: 1px solid var(--clr-box-shadow);
    border-radius: 0;
    height: 0;
    interpolate-size: allow-keywords; /* so we can animate to "auto" */
    opacity: 0;
    overflow: hidden;
    transition: height 0.5s ease, opacity 0.5s ease;
    width: 100%;
}
.form-item input.date {
    line-height: 1.9rem;
}
.form-item input.date:not(:placeholder-shown) {
    font-weight: 700;
}
.form-item input.date:focus {
    border: 1px solid var(--clr-primary);
    color: var(--clr-primary);
    outline: none;
}
.form-item input.date ~ .flatpickr-calendar:hover,
.form-item input.date:focus ~ .flatpickr-calendar {
    height: auto;
    opacity: 1;
    padding-bottom: 0.2em;
}
.form-item input.date ~ .flatpickr-calendar input,
.form-item input.date ~ .flatpickr-calendar select {
    box-shadow: none;
    color: var(--clr-dark-grey);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
}
.form-item input.date ~ .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
.form-item input.date ~ .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--clr-primary)
}
.form-item input.date ~ .flatpickr-calendar .flatpickr-innerContainer,
.form-item input.date ~ .flatpickr-calendar .flatpickr-rContainer,
.form-item input.date ~ .flatpickr-calendar .flatpickr-days {
    width: 100%;
}
.form-item input.date ~ .flatpickr-calendar .flatpickr-weekday {
    color: var(--clr-dark-grey);
}
.form-item input.date ~ .flatpickr-calendar .dayContainer {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day {
    max-width: inherit;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day:hover {
    border: 1px solid var(--clr-white);
    background: transparent;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day:hover:before {
    content: " ";
    background: var(--clr-box-shadow);
    border-radius: 150%;
    height: 2.5em;
    left: 50%;
    line-height: 2.5em;
    position: absolute;
    top: 50%;
    transform: translate(-49%, -49%);
    width: 2.5em;
    z-index: -1;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day.selected {
    background: transparent;
    border: 1px solid var(--clr-white);
    color: var(--clr-primary);
    position: relative;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day.selected:before {
    content: " ";
    background: var(--clr-success-green);
    border-radius: 150%;
    height: 2.5em;
    left: 50%;
    line-height: 2.5em;
    position: absolute;
    top: 50%;
    transform: translate(-49%, -49%);
    width: 2.5em;
    z-index: -1;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day.today {
    border: none;
}
.form-item input.date ~.flatpickr-calendar .flatpickr-day.today:before {
    content: " ";
    border: 1px solid var(--clr-box-shadow);
    border-radius: 150%;
    height: 2.5em;
    left: 50%;
    line-height: 2.5em;
    position: absolute;
    top: 50%;
    transform: translate(-49%, -49%);
    width: 2.5em;
    z-index: -1;
}
.form-item input.error {
    border-color: var(--clr-red);
}
.form-item.form-type-radio {
    flex-direction: row;
    align-items: center;
}
.form-item.form-type-radio label {
    font-weight: normal;
    font-size: .875rem;
    line-height: 1.25rem;
}
.form-item.form-type-radio input {
    width: 24px;
    height: 24px;
    accent-color: var(--clr-primary);
    box-shadow: none;
}
input#edit-submit {
    width: auto;
    padding: 1.125rem;
    cursor: pointer;
    transition: opacity 0.4s
}
input#edit-submit:disabled {
    cursor: default;
    opacity: 0.4;
}

/* Buttons */
.button {
    display: flex !important;
    align-items: center !important;
    align-content: center !important;
    align-self: stretch !important;
    justify-content: center !important;
    gap: .5rem !important;
    padding: .75rem 1.25rem !important;
    font-weight: 700 !important;
    border: 1px solid !important;
    border-radius: .5rem !important;
}
.button:hover {
    color: inherit;
}
.button.large {
    padding: 1.125rem !important;
}
.button.loading {
    opacity: .5;
    cursor: wait;
}
.button.info {
    color: var(--clr-white);
    background-color: var(--clr-dark-grey);
    border-color: var(--clr-dark-grey) !important;
}
.button.edit {
    color: var(--clr-primary);
    border-color: var(--clr-primary);
}
.button.add {
    color: var(--clr-white);
    background-color: var(--clr-primary);
    border-color: var(--clr-primary) !important;
}
.button.warning {
    color: var(--clr-white);
    background-color: var(--clr-danger);
}
.button.delete {
    color: var(--clr-danger);
    border-color: var(--clr-danger);
}
.button:not(.no-icon):after {
    content: "";
    position: relative;
    display: block;
    width: .875rem;
    height: 1.31rem;
}
.button[target="_blank"]:after,
.button.link:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/external-link.svg') center / contain no-repeat;
}
.button.add:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/plus.svg') center / contain no-repeat;
}
.button.edit:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/edit.svg') center / contain no-repeat;
}
.button.save:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/tick.svg') center / contain no-repeat;
}
.button.close:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/close.svg') center / contain no-repeat;
}
.button.warning:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/warning.svg') center / contain no-repeat;
}
.button.delete:after {
    background: url('/modules/custom/ego_wm_v2/img/icons/bin.svg') center / contain no-repeat;
}

/* Errors */
.messages--error {
    display: none;
}
.form-item--error-message {
    color: var(--clr-red);
}
.form-item--error-message strong {
    font-weight: normal;
}

/* Register Wizard */
.register-wizard__step-indicator.active {
    border-color: var(--clr-primary);
}
.register-wizard__step:not(.active) {
    display: none;
}
#address-wrapper:not(.show) {
    display: none;
}
.ego-wm-v2-register-form #edit-marketing-preferences--wrapper legend,
.ego-wm-v2-register-form #edit-share-products--wrapper legend {
    font-weight: normal;
    font-size: .875rem;
}
#edit-marketing-preferences,
#edit-share-products {
    gap: 3rem;
}

/* Account */
.account-tab-link {
    position: relative;
}
.account-tab-link:hover {
    color: initial;
}
.account-tab-link.active:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -17px;
    width: 100%;
    border-bottom: 3px solid var(--clr-primary);
}

/* Register Warranty */
.register-warranty__step:not(.active) .register-warranty__step-content {
    /*display: none;*/
    opacity: 0.4;
}
.register-warranty__step:not(.active) .register-warranty__step-title {
    background-color: var(--white);
    color: var(--clr-divider);
}
.register-warranty__step:not(.active) .register-warranty__step-title .badge {
    background-color: var(--clr-divider);
}
.register-warranty__step-title {
    background-color: var(--clr-white);
    border-radius: .375rem;
}
.register-warranty__step-title .badge {
    background-color: var(--clr-dark-blue);
    color: var(--clr-white);
}
.register-warranty__step .register-warranty__step-content a,
.register-warranty__step .register-warranty__step-content a:visited,
.register-warranty__step .register-warranty__step-content a:active {
    color: var(--clr-primary);
}
.register-warranty__step .register-warranty__step-content a.button,
.register-warranty__step .register-warranty__step-content a.button:visited,
.register-warranty__step .register-warranty__step-content a.button:active {
    color: var(--clr-black);
}
.register-warranty__step-item {
    position: relative;
    cursor: pointer;
    border: 1px solid var(--clr-divider);
    border-radius: .125rem;
}
.register-warranty__step-item.selected {
    border-width: 4px;
    border-color: var(--clr-primary);
    box-shadow: 0px 1px 12px 0px var(--clr-box-shadow);
}
.register-warranty__step-item.selected:before {
    content: "";
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 32px;
    height: 32px;
    background: url('/modules/custom/ego_wm_v2/img/icons/circle-check.svg') center / cover no-repeat;
}
.register-warranty__step #edit-receipt-status--wrapper {
    display: none;
}
.register-warranty__step-item-image {
    height: 285px;
    object-fit: contain;
    object-position: center;
}
.register-warranty__step .product-sku {
    color: var(--clr-primary);
}
.register-warranty__step a[data-action="add-product"] {
    border-color: var(--clr-primary);
    color: var(--clr-primary);
}
.register-warranty__step .form-item-serial-number .form-item--error-message {
    display: none;
}

/* Tables */
.ego-table {
    border: 1px solid var(--clr-divider);
    border-spacing: 0;
    border-collapse: separate;
    border-radius: .75rem;
    overflow: hidden;
}
.ego-table thead {
    background-color: var(--clr-table-head);
    color: var(--clr-white);
}
.ego-table th {
    padding: 1.5rem 2.5rem;
    font-weight: normal;
}
.ego-table td {
    padding: .75rem 1.25rem;
    text-align: center;
}
.ego-table th,
.ego-table tr:not(:last-child) td {
    border-bottom: 1px solid var(--clr-divider);
}
.ego-table .highlight td {
    background-color: var(--clr-table-highlight);
}

/* Modals */
.modal-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;
    background: rgba(115, 115, 115, .60);
    z-index: 10;
}
.modal-content {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
    max-width: 80%;
    padding: 1.3rem;
    background-color: var(--clr-white);
    border-radius: 6px;
    border-left: 6px solid var(--clr-primary);
}
.modal-content.warning {
    border-color: var(--clr-danger);
}
