body#my-account #center-column {
    width: min(1180px, 92%);
    margin: 0 auto;
    padding: 32px 0 56px;
}

body#my-account .page-header {
    margin-bottom: 24px;
}

body#my-account .page-title-section {
    display: block;
    margin: 0;
    color: #173225;
    font-size: clamp(26px, 4vw, 34px);
    font-weight: 700;
    line-height: 1.3;
}

body#my-account .account-menu__title {
    display: none;
}

body#my-account .account-menu__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

body#my-account .account-menu__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-width: 0;
    min-height: 148px;
    padding: 24px 18px;
    border: 1px solid #dfe9e2;
    border-radius: 8px;
    background: #fff;
    color: #173225;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    box-shadow: 0 2px 8px rgba(27, 36, 29, .04);
    transition: border-color .15s, background-color .15s;
}

body#my-account .account-menu__link:hover {
    border-color: #08783d;
    background: #f2f8f4;
    color: #07582d;
}

body#my-account .account-menu__link:focus-visible {
    outline: 2px solid #08783d;
    outline-offset: 3px;
}

:where(body#my-account, .ggm-account-layout) .account-menu__icon {
    display: block;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    overflow: hidden;
    background: #08783d;
    font-size: 0;
    -webkit-mask: url('../img/account.svg') center / contain no-repeat;
    mask: url('../img/account.svg') center / contain no-repeat;
}

:is(body#my-account, .ggm-account-layout) :is(#address_link, #addresses_link) .account-menu__icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

:is(body#my-account, .ggm-account-layout) :is(#history_link, #order-slips_link, #discounts_link) .account-menu__icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E");
}

:is(body#my-account, .ggm-account-layout) :is(#returns_link, #signout_link) .account-menu__icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H4v16h6M9 12h12m-5-5 5 5-5 5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H4v16h6M9 12h12m-5-5 5 5-5 5'/%3E%3C/svg%3E");
}

:is(body#my-account, .ggm-account-layout) .account-menu__link--wishlist .account-menu__icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0l-1 1-1-1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0l-1 1-1-1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
}

:is(body#my-account, .ggm-account-layout) .account-menu__link--emailalerts .account-menu__icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E");
}

.ggm-account-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 28px;
    width: min(1180px, 92%);
    margin: 32px auto 56px;
    color: #173225;
    line-height: 1.6;
}

.ggm-account-layout,
.ggm-account-layout *,
.ggm-account-layout *::before,
.ggm-account-layout *::after {
    box-sizing: border-box;
}

.ggm-account-layout--guest {
    grid-template-columns: minmax(0, 1fr);
    max-width: 880px;
}

.ggm-account-sidebar,
.ggm-account-main {
    min-width: 0;
}

.ggm-account-sidebar .account-menu,
.ggm-account-main {
    padding: 24px;
    border: 1px solid #dfe9e2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(27, 36, 29, .04);
}

.ggm-account-sidebar .account-menu {
    padding: 18px 12px;
}

.ggm-account-sidebar .account-menu__title {
    margin: 0 12px 12px;
    font-size: 20px;
    font-weight: 700;
}

.ggm-account-sidebar .account-menu__nav {
    display: grid;
    gap: 4px;
}

.ggm-account-sidebar .account-menu__link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border-radius: 6px;
    color: #3e4d44;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.ggm-account-sidebar .account-menu__link:is(:hover, [aria-current='page']) {
    background: #edf7f0;
    color: #07582d;
}

.ggm-account-sidebar .account-menu__link[aria-current='page'] {
    font-weight: 700;
}

.ggm-account-layout .account-menu__link .account-menu__icon {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
}

.ggm-account-main .page-header {
    margin-bottom: 12px;
}

.ggm-account-main .page-title-section {
    display: block;
    margin: 0;
    color: #173225;
    font-size: clamp(24px, 3vw, 30px);
    line-height: 1.3;
}

.ggm-account-main #content {
    width: 100%;
    max-width: none;
    margin: 20px 0 0;
    padding: 0;
}

.ggm-account-main :is(h2, h3) {
    margin: 20px 0 12px;
    color: #173225;
    font-size: 20px;
    line-height: 1.4;
}

.ggm-account-main p {
    margin: 0 0 16px;
}

.ggm-account-main a {
    color: #08783d;
    text-underline-offset: 3px;
}

.ggm-account-layout :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid #08783d;
    outline-offset: 3px;
}

.ggm-account-main :is(.btn, button[type='submit']) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 18px;
    border: 1px solid #08783d;
    border-radius: 5px;
    background: #fff;
    color: #08783d;
    font: inherit;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
}

.ggm-account-main :is(.btn-primary, #customer-form button[type='submit'], button[type='submit']) {
    width: auto;
    height: auto;
    min-height: 46px;
    background: #08783d;
    color: #fff;
    font-size: 16px;
    box-shadow: none;
}

.ggm-account-main .btn:hover {
    background: #edf7f0;
    color: #07582d;
}

.ggm-account-main :is(.btn-primary, button[type='submit']):hover {
    background: #07582d;
    color: #fff;
}

.ggm-account-main .account-menu__back {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
}

.ggm-account-main :is(.mb-3, .mb-4) {
    margin-bottom: 20px;
}

.ggm-account-main :is(.form-label, #customer-form .form-label) {
    display: block;
    margin: 0 0 8px;
    color: #173225;
    font-size: 14px;
    font-weight: 600;
}

.ggm-account-main :is(.form-control, .form-select, #customer-form .form-control) {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    height: auto;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #cfdcd4;
    border-radius: 5px;
    background: #fff;
    color: #173225;
    font: inherit;
    font-size: 15px;
    line-height: 1.5;
    box-shadow: none;
}

.ggm-account-main textarea.form-control {
    min-height: 120px;
    resize: vertical;
}

.ggm-account-main :is(.form-control, .form-select):focus {
    border-color: #08783d;
    box-shadow: 0 0 0 3px rgba(8, 120, 61, .1);
}

.ggm-account-main .form-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}

.ggm-account-main .form-check-inline {
    display: inline-flex;
    margin-right: 18px;
}

.ggm-account-main .form-check-input {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    margin: 4px 0 0;
    accent-color: #08783d;
}

.ggm-account-main .form-check-label {
    font-size: 14px;
    line-height: 1.6;
}

.ggm-account-main :is(.form-text, .form-control-comment) {
    display: block;
    margin-top: 6px;
    color: #68746d;
    font-size: 12px;
    line-height: 1.5;
}

.ggm-account-main .buttons-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 24px;
}

.ggm-account-main .password-field {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    border: 1px solid #cfdcd4;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
}

.ggm-account-main #customer-form .password-field .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    height: 48px;
    border: 0;
    border-radius: 0;
}

.ggm-account-main #customer-form .password-field [data-ps-action='toggle-password'] {
    flex: 0 0 48px;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 0;
    background: #fff;
    color: #173225;
}

.ggm-account-main .alert {
    position: relative;
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid #d5e5db;
    border-radius: 6px;
    background: #f2f8f4;
    color: #315640;
    font-size: 14px;
}

.ggm-account-main .alert-danger {
    border-color: #f0cfca;
    background: #fff5f3;
    color: #a4341f;
}

.ggm-account-main .alert-warning {
    border-color: #ead8ac;
    background: #fff9ed;
    color: #79581c;
}

.ggm-account-main .alert-dismissible {
    padding-right: 42px;
}

.ggm-account-main .alert .btn-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 20px;
    line-height: 16px;
    cursor: pointer;
}

.ggm-account-main .alert .btn-close::before {
    content: '\00d7';
}

.ggm-account-main .help-block ol {
    margin: 0;
    padding-left: 20px;
    list-style: decimal;
}

.ggm-account-main .invalid-feedback {
    color: #a4341f;
    font-size: 13px;
}

.ggm-account-main .has-error :is(.form-control, .form-select, .password-field),
.ggm-account-main #customer-form .has-error .form-control {
    border-color: #a4341f;
}

.ggm-account-main :is(.addresses__list, .order-addresses__list) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.ggm-account-main .address-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid #dfe9e2;
    border-radius: 6px;
    overflow-wrap: anywhere;
}

.ggm-account-main .address-card__alias {
    display: block;
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 700;
}

.ggm-account-main .address-card__content {
    margin: 0 0 16px;
    font-style: normal;
}

.ggm-account-main .address-card__actions {
    display: flex;
    gap: 20px;
}

.ggm-account-main :is(.address-card__delete, .link-danger) {
    color: #a4341f;
}

.ggm-account-main .address-card--add-address {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 150px;
    border-style: dashed;
    text-decoration: none;
}

.ggm-account-main .address-card__add-icon::before {
    content: '+';
}

.ggm-account-main :is(.order-history, .grid-table, .table-responsive) {
    max-width: 100%;
    margin: 20px 0;
    overflow-x: auto;
}

.ggm-account-main .grid-table__inner {
    --account-table-columns: 1;
    display: grid;
    grid-template-columns: repeat(var(--account-table-columns), minmax(100px, 1fr));
    min-width: min-content;
}

.ggm-account-main .grid-table__inner--2 { --account-table-columns: 2; }
.ggm-account-main .grid-table__inner--3 { --account-table-columns: 3; }
.ggm-account-main .grid-table__inner--4 { --account-table-columns: 4; }
.ggm-account-main .grid-table__inner--5 { --account-table-columns: 5; }
.ggm-account-main .grid-table__inner--6 { --account-table-columns: 6; }
.ggm-account-main .grid-table__inner--7 { --account-table-columns: 7; }
.ggm-account-main .grid-table__inner--8 { --account-table-columns: 8; }
.ggm-account-main .grid-table__inner--9 { --account-table-columns: 9; }

.ggm-account-main :is(.grid-table__header, .grid-table__row) {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    border-bottom: 1px solid #e3ebe6;
}

.ggm-account-main .order-history__inner {
    min-width: 780px;
}

.ggm-account-main :is(.order-history__header, .order-history__row) {
    display: grid;
    grid-template-columns: 1.1fr 1fr .9fr 1fr 1.2fr .6fr 1.3fr;
    border-bottom: 1px solid #e3ebe6;
}

.ggm-account-main :is(.grid-table__header, .order-history__header) {
    background: #f2f7f3;
    font-weight: 700;
}

.ggm-account-main :is(.grid-table__cell, .order-history__cell) {
    min-width: 0;
    padding: 12px 10px;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.ggm-account-main .grid-table__cell--label-value {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: 20px;
}

.ggm-account-main .grid-table__cell--label-value::before {
    content: attr(data-ps-label);
}

.ggm-account-main :is(.grid-table__cell-group, .order-product__content) {
    display: grid;
    gap: 4px;
}

.ggm-account-main :is(.grid-table__cell--right, .grid-table__cell--center) {
    text-align: right;
}

.ggm-account-main .order-history__cell--actions .btn {
    margin-bottom: 6px;
    padding: 6px 10px;
    font-size: 12px;
}

.ggm-account-main .badge {
    position: static;
    display: inline-block;
    width: auto;
    height: auto;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
}

.ggm-account-main :is(.order-status__badge--bright, .order-history__status--bright) {
    color: #fff;
}

.ggm-account-main :is(.order-status__badge--dark, .order-history__status--dark) {
    color: #173225;
}

.ggm-account-main table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.ggm-account-main :is(th, td) {
    padding: 12px;
    border-bottom: 1px solid #dfe9e2;
    text-align: left;
}

.ggm-account-main th {
    background: #f2f7f3;
}

.ggm-account-main :is(.order-product__infos, .order-message) {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.ggm-account-main .order-product__img {
    width: 64px;
    height: auto;
}

.ggm-account-main .order-message {
    margin: 12px 0;
    padding: 16px;
    border: 1px solid #dfe9e2;
    border-radius: 6px;
}

.ggm-account-main .order-separator {
    margin: 28px 0;
    border: 0;
    border-top: 1px solid #dfe9e2;
}

.ggm-account-main .ps-emailalerts__product-list {
    margin: 20px 0;
    padding: 0;
    list-style: none;
}

.ggm-account-main .ps-emailalerts__product {
    display: flex;
    gap: 20px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #dfe9e2;
    border-radius: 6px;
}

.ggm-account-main .ps-emailalerts__product-image {
    width: 80px;
    max-width: 100%;
    height: auto;
}

.ggm-account-main .ps-emailalerts__product-content {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 8px;
    justify-items: start;
}

.ggm-account-main .wishlist-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 24px;
}

.ggm-account-main :is(.wishlist-container-header, .wishlist-products-container-header) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.ggm-account-main :is(.wishlist-container, .wishlist-products-container) h1 {
    margin: 0;
    font-size: clamp(24px, 3vw, 30px);
}

.ggm-account-main .wishlist-products-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ggm-account-main .wishlist-products-item {
    min-width: 0;
    padding: 0;
}

.ggm-account-main .d-none {
    display: none !important;
}

.ggm-account-main .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ggm-account-main .material-icons[aria-hidden='true']:not(.account-menu__icon),
.ggm-account-main .wishlist-footer-links .material-icons {
    display: none;
}

.ggm-account-main :is(a[aria-label], button[aria-label]):not(.btn):has(> .material-icons:only-child)::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 17v4h16v-4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 17v4h16v-4'/%3E%3C/svg%3E") center / contain no-repeat;
    content: '';
}

@media (max-width: 991.98px) {
    .ggm-account-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .ggm-account-sidebar .account-menu__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body#my-account .account-menu__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .ggm-account-layout {
        margin: 20px auto 36px;
    }

    .ggm-account-main {
        padding: 18px;
    }

    .ggm-account-sidebar .account-menu__nav,
    .ggm-account-main :is(.addresses__list, .order-addresses__list, .wishlist-products-list) {
        grid-template-columns: minmax(0, 1fr);
    }

    .ggm-account-main .grid-table__inner {
        display: block;
        min-width: 0;
    }

    .ggm-account-main .order-history__inner {
        min-width: 0;
    }

    .ggm-account-main :is(.grid-table__header, .order-history__header) {
        display: none;
    }

    .ggm-account-main :is(.grid-table__row, .order-history__row) {
        display: block;
        margin-bottom: 12px;
        padding: 8px;
        border: 1px solid #dfe9e2;
        border-radius: 6px;
    }

    .ggm-account-main :is(.grid-table__cell, .order-history__cell) {
        display: block;
        padding: 8px;
        text-align: left;
    }

    .ggm-account-main [role='cell'][data-ps-label]::before {
        display: block;
        margin-bottom: 4px;
        color: #68746d;
        font-size: 12px;
        font-weight: 600;
        content: attr(data-ps-label);
    }

    body#my-account #center-column {
        padding: 24px 0 36px;
    }

    body#my-account .account-menu__nav {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    body#my-account .account-menu__link {
        flex-direction: row;
        justify-content: flex-start;
        min-height: 80px;
        padding: 18px;
        text-align: left;
    }
}
