/* general dashboard page design */
.omt-auth * {
    box-sizing: border-box;
}

body.omt-private-page {
    background: #F3F1F5;
}

.button.margin-top {
    margin-top: 20px;
}

.omt-dashboard {
    display: flex;
    gap: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    align-items: start;
}

a.auth-important {
    color: #2d8360;
    font-weight: 500;
}

/*fix overflow in the footer */
.omt-auth + #page-footer-wrapper,
.omt-dashboard + #page-footer-wrapper {
    overflow-x: hidden;
}

.omt-partner-sidebar {
    box-shadow: 0px 0px 13px 6px rgba(0, 0, 0, 0.02);
    background: white;
    border-radius: 20px;
    width: 100%;
    padding: 20px;
}

.partner-info {
    display: flex;
    gap: 15px;
}

.partner-details p {
    margin: 0;
}

.partner-details small {
    display: block;
    color: #888;
}

.partner-avatar {
    border-radius: 50%;
    box-shadow: 0px 0px 8px 4px rgba(0, 0, 0, .05);
    overflow: hidden;
    width: 73px;
    height: 73px;
    flex: 0 0 73px;
}

.partner-avatar img {
    display: block;
    width: 73px;
    height: 73px;
    object-fit: cover;
}

.partner-menu {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}

.partner-menu li a {
    height: 60px;
    line-height: 60px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 10px;
    border-radius: 10px;
}

.partner-menu li img {
    width: 23px;
    height: 23px;
    object-fit: contain;
}

.partner-menu li.active a {
    background: #3FAA7E;
    color: white;
}

.partner-menu li.active a img {
    filter: invert(1);
}

.partner-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* dashboard main */
.omt-custom-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: step;
}

.omt-custom-list > li {
    counter-increment: step;
    display: grid;
    grid-template-columns: 2rem 1fr;
    align-items: start;
    gap: .5rem;
    margin: .5rem 0;
}

.omt-custom-list > li::before {
    content: counter(step);
    display: inline-grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #3FAA7E;
    color: #fff;
    font: 600 0.95rem/1 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.omt-custom-list ol {
    counter-reset: step;
    margin-left: 2.5rem;
}

.dashboard-main .dashboard-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.partner-link {
    display: flex;
    padding: 10px 0;
    margin: 10px 0;
}

.partner-link:not(:last-child) {
    border-bottom: 1px #d2d2d2 solid;
}

.partner-link::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    margin-right: 8px;
    box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .1);
}

.partner-link.en::before {
    background: url('https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/icons/gb.png') no-repeat center / contain;
}

.partner-link.pl::before {
    background: url('https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/icons/pl.png') no-repeat center / contain;
}

.partner-link.es::before {
    background: url('https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/icons/es.png') no-repeat center / contain;
}

.dashboard-info {
    color: #856404;
    background-color: #fff3cd;
    border: 1px #c9b16d solid;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}

.dashboard-info ul {
    margin: 0;
}

.dashboard-hero {
    background-image: url(https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/planting-cert-hero.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    padding: 50px 30px;
    color: white;
    border-radius: 20px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}

.dashboard-hero:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
}

.dashboard-hero > * {
    position: relative;
    z-index: 1;
}

.plans-info {
    background: white;
    padding: 30px;
    color: black;
    border-radius: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 30px;
}

.plans-info h1 {
    font-size: 2rem;
    margin-bottom: 0;
}

.plans-info .subtitle {
    margin-bottom: 20px;
    color: #888888;
}

.plans-info img {
    border-radius: 20px;
}

.plans-info {
    line-height: 1.5;
}

.info-img {
    flex: 0 0 35%;
}

.dashboard-hero ul {
    max-width: 50%;
}

.dashboard-hero h1 {
    color: white;
}

.dashboard-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.block-heading {
    font-size: 22px;
    font-weight: 500;
}

.block-heading.big {
    font-size: 28px;
}

.dashboard-block {
    border-radius: 20px;
    padding: 30px;
    overflow: hidden;
}

.dashboard-block p {
    margin: 0;
    padding: 0;
}

.dashboard-block .block-subtitle {
    color: #888;
}

.dashboard-block.white .block-heading {
    color: black;
}

.dashboard-block .block-stat {
    margin: 15px 0;
    display: flex;
    gap: 10px;
    align-items: center;
}

.dashboard-block .block-stat span {
    background: #258F64;
    border-radius: 5px;
    width: 90px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    display: block;
}

.dashboard-block.green {
    background-color: #3FAA7E;
    background-image: url("https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/root-shape.svg");
    background-position: 50% 50%;
    color: white;
}

.dashboard-block.white {
    background: white;
}

.dashboard-block.align-top {
    align-self: start;
}

.credits-stat.credits-used {
    margin-top: 30px;
    margin-bottom: 10px;
}

.credits-stat {
    display: flex;
    align-items: center;
    gap: 10px;
}

.credits-stat .dashboard-icon {
    width: 56px;
    height: 48px;
    border-radius: 5px;
    background-size: 50%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.credits-stat.credits-used .dashboard-icon {
    background-color: #E9E7FC;
    background-image: url(https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/credits-used.svg);
}

.credits-stat.credits-available .dashboard-icon {
    background-color: #D5F4F8;
    background-image: url(https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/credits-available.svg);
}

.credits-stat .stat .label {
    font-size: 16px;
    color: black;
}

.credits-stat .stat .value {
    font-size: 18px;
    color: #888;
}

.dashboard-map {
    padding: 0;
    position: relative;
}

.dashboard-map .map-text {
    position: absolute;
    background: rgba(0, 0, 0, .8);
    border-radius: 10px;
    left: 15px;
    top: 15px;
    z-index: 100;
    padding: 10px 20px;
    color: white;
    font-size: 21px;
}

.dashboard-map .tm-google-map .map {
    height: 300px;
}

.materials-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.materials-page,
.photos-page {
    width: calc(100% - 370px);
}

.materials-page .dashboard-content,
.photos-page .dashboard-content {
    width: 100%;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    box-shadow: 0px 0px 13px 6px rgba(0, 0, 0, 0.02);
    background: white;
    border-radius: 20px;
    padding: 20px;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.drive-link {
    min-width: 100%;
    padding: 20px;
    border: 1px #dadada solid;
    border-radius: 10px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.drive-link svg {
    width: 32px;
    height: 32px;
}

/* choose plan */
.omt-plans-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-top: 20px;
}

.omt-plans {
    justify-content: center;
    align-items: center;
}

.omt-plan {
    border-radius: 10px;
    font-size: 16px;
    line-height: 150%;
    border: 1px #EFEFEF solid;
    background: white;
    overflow: hidden;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.omt-plan form {
    margin: auto 0 0;
}

.omt-plan form p {
    margin: 1rem 0;
}

.omt-plan .choose-plan {
    width: 100%;
    background: #3faa7e;
    border: none;
}

.omt-plan.hidden {
    display: none;
}

.omt-plan .plan-name {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.omt-plan .plan-benefits .omt-custom-list > li {
    gap: 5px;
}

.omt-plan .plan-benefits .omt-custom-list > li::before {
    content: '';
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none"><circle cx="10.5" cy="10.5" r="10.5" fill="%23CAEDDF"/><path d="M8.62502 15.7625L4.74377 11.8813L6.51252 10.1125L8.62502 12.2313L14.8 6.05005L16.5688 7.8188L8.62502 15.7625Z" fill="%23258F64"/></svg>') no-repeat center;
}

.omt-plan .plan-name .name {
    font-size: 24px;
    font-weight: bold;
    color: black;
}

.omt-plan .plan-name .price {
    font-size: 15px;
    color: #888888;
}

.omt-plan:hover {
    box-shadow: 0px 0px 14px 4px rgba(0, 0, 0, .05);
}

.omt-plan[data-plan="custom"] {
    grid-column: 1 / 3;
}

.omt-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.plans-container ul {
    text-align: left;
}

.plan-benefits ul li.strong {
    color: black;
    font-weight: 500;
}

.omt-flex {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin: 35px auto;
}

.omt-flex.switcher {
    margin: 0 -30px;
    background: white;
    font-size: 18px;
    gap: 30px;
    font-weight: 500;
    width: calc(100% + 60px);
    border-bottom: 1px solid #DFDFDF;
}

.omt-flex .omt-button {
    height: 50px;
    cursor: pointer;
}

.omt-button.active {
    border-bottom: 4px #3faa7e solid;
    color: #3faa7e;
}

.plan-name {
    font-size: 21px;
}

#purchase-plan-form {
    margin: 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-column: 1 / 3;
}

form.loading button[type="submit"] {
    pointer-events: none;
    cursor: not-allowed;
}

.button-container {
    width: 100%;
    display: flex;
    justify-content: center;
    grid-column: 1 / 3;
}

.confirmation-popup > p {
    border-bottom: 1px #d6d6d6 solid;
    margin: 0 0 10px;
    padding: 0 0 10px;
}

.confirmation-popup > p.no-border {
    border: 0;
}

#cancel-subscription-button {
    color: black;
    cursor: pointer;
    display: inline-block;
}

#cancel-subscription-button:hover {
    text-decoration: underline;
}

#confirmation-popup-overlay[data-plan-slug="omt_yearly_100"] .onetime-only,
#confirmation-popup-overlay[data-plan-slug="omt_yearly_300"] .onetime-only,
#confirmation-popup-overlay[data-plan-slug="omt_yearly_500"] .onetime-only,
#confirmation-popup-overlay[data-plan-slug="omt_yearly_1000"] .onetime-only,
#confirmation-popup-overlay[data-plan-slug="omt_monthly_custom"] .onetime-only {
    display: none;
}

#confirmation-popup-overlay[data-plan-slug="omt_one_time_custom"] .monthly-only {
    display: none;
}

.confirmation-popup-overlay {
    position: fixed;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .8);
    width: 100%;
    height: 100%;
    z-index: 100000;
    align-items: center;
    justify-content: center;
    display: none;
}

.confirmation-popup-overlay.active {
    display: flex;
}

.confirmation-popup-close {
    position: absolute;
    right: 50px;
    top: 50px;
    color: white;
    font-size: 48px;
    cursor: pointer;
}

.confirmation-popup {
    background: white;
    width: 380px;
    padding: 20px;
    border-radius: 10px;
}

.confirmation-popup h3 {
    text-align: center;
    margin-bottom: 20px;
}

#price-placeholder,
#plan-placeholder,
#trees-placeholder {
    font-weight: bold;
    color: black;
    text-transform: capitalize;
}

#confirm_cancel {
    margin: 10px auto;
    display: table;
}

.omt-plan.span-2 {
    grid-column: span 2;
}

.omt-plans-wrapper[data-showing="monthly"] .omt-plan[data-plan="one-time"] {
    display: none;
}

.omt-plans-wrapper[data-showing="one-time"] .omt-plan[data-plan="monthly"] {
    display: none;
}

/* Widgets */
.one-more-tree-widgets table {
    background: white;
}

.one-more-tree-widgets table th {
    background: #f2f2f2;
}

.one-more-tree-accordion {
    width: 100%;
}

.one-more-tree-accordion details,
.one-more-tree-widgets details {
    margin-bottom: 1rem;
    background: white;
    overflow: hidden;
    border: 1px #dadada solid;
    border-radius: 10px;
}

.one-more-tree-accordion summary,
.one-more-tree-widgets summary {
    padding: 20px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    gap: 5px;
    align-items: center;
}

.one-more-tree-accordion summary::-webkit-details-marker,
.one-more-tree-widgets summary::-webkit-details-marker {
    display: none;
}

.one-more-tree-accordion summary::after,
.one-more-tree-widgets summary::after {
    content: "▸";
    margin-left: auto;
    transition: transform 0.2s ease;
}

.one-more-tree-accordion details[open] summary::after,
.one-more-tree-widgets details[open] summary::after {
    transform: rotate(90deg);
}

.one-more-tree-widgets summary::before {
    content: '';
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin-right: 8px;
    box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .1);
}

.one-more-tree-widgets summary.accordion-en::before {
    background: url('https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/icons/gb.png') no-repeat center / contain;
}

.one-more-tree-widgets summary.accordion-pl::before {
    background: url('https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/icons/pl.png') no-repeat center / contain;
}

.one-more-tree-widgets summary.accordion-es::before {
    background: url('https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/icons/es.png') no-repeat center / contain;
}

.one-more-tree-widgets table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    margin: 0;
}

.one-more-tree-widgets table th,
.one-more-tree-widgets table td {
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    vertical-align: top;
    padding: 30px;
}

.one-more-tree-widgets tr:last-child th {
    border: none;
}

.one-more-tree-widgets th {
    background: #f2f2f2;
}

.one-more-tree-accordion details[open],
.one-more-tree-widgets details[open] {
    animation: one-more-tree-widgets-open 0.2s ease;
}

.one-more-tree-widgets pre {
    font-size: 13px;
    border-radius: 10px;
    text-align: left;
    margin-top: 0;
}

@keyframes one-more-tree-widgets-open {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Register form, login form */

.button-field {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.button-field .small {
    font-size: 14px;
}

.omt-field {
    margin-bottom: 1rem !important;
    color: #333;
}

.omt-field label {
    font-size: 15px;
}

.omt-field .optional,
.omt-field .required {
    text-transform: lowercase;
    color: #888;
}

#logo {
    height: 45px;
    width: 100%;
    background: #f4f4f4;
    padding: 10px;
    border-radius: 10px;
}

.omt-fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media screen and (max-width: 1024px) {
    .omt-fieldset {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }
}

.omt-fieldset[data-layout="row"] {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 400px;
    margin: 0 auto 50px;
}

.omt-field button[type="submit"] {
    background: #1e8675;
    border: none !important;
    box-shadow: none !important;
}

.omt-field button[type="submit"]:hover {
    background: #154b42;
}

button[type="submit"].with-loader {
    height: 50px;
}

button[type="submit"].with-loader .loader {
    display: none;
}

form.loading button[type="submit"].with-loader span.label {
    display: none;
}

form.loading button[type="submit"].with-loader .loader {
    display: block;
    width: 33px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 8px solid white;
    animation: l20-1 0.8s infinite linear alternate,
    l20-2 1.6s infinite linear;
}

@keyframes l20-1 {
    0% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%)
    }
    12.5% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%)
    }
    25% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 100%, 100% 100%, 100% 100%)
    }
    50% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100%)
    }
    62.5% {
        clip-path: polygon(50% 50%, 100% 0, 100% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100%)
    }
    75% {
        clip-path: polygon(50% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 50% 100%, 0% 100%)
    }
    100% {
        clip-path: polygon(50% 50%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0% 100%)
    }
}

@keyframes l20-2 {
    0% {
        transform: scaleY(1) rotate(0deg)
    }
    49.99% {
        transform: scaleY(1) rotate(135deg)
    }
    50% {
        transform: scaleY(-1) rotate(0deg)
    }
    100% {
        transform: scaleY(-1) rotate(-135deg)
    }
}

.auth-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.auth-actions p {
    padding: 0;
    margin: 0;
}

/* auth page - login, register */

.omt-auth {
    display: flex;
    position: relative;
}

/* we already removed the video */
.omt-auth video,
.omt-auth .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
}

.omt-auth .overlay {
    background: #2D8360;
}

.omt-auth-left::before {
    content: "";
    width: calc(100% + 200px);
    height: calc(100% + 200px);
    left: -100px;
    top: -100px;
    position: absolute;
    background-image: url("https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/bg-tree-shape.svg");
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.3;
}

.omt-auth .omt-auth-left h1 {
    color: white;
    text-transform: capitalize;
    font-size: 42px;
}

.omt-auth .omt-auth-left .omt-counter {
    color: white;
    position: relative;
    font-size: 20px;
    align-self: stretch;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.omt-auth .omt-auth-left .omt-counter span {
    color: white;
    font-weight: bold;
    font-size: 24px;
    display: block;
}

body.showing-company .omt-auth h1 span[data-scope="private"] {
    display: none;
}

body.showing-private .omt-auth h1 span[data-scope="company"] {
    display: none;
}

body.showing-company .omt-auth .omt-auth-left .swiper[data-scope="private"] {
    display: none;
}

body.showing-private .omt-auth .omt-auth-left .swiper[data-scope="company"] {
    display: none;
}

.omt-auth .omt-auth-left .omt-counters {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-align: center;
}

.omt-auth .omt-auth-left .omt-counters .omt-counter:nth-child(1) {
    border-right: 1px white solid;
}

.omt-auth .omt-auth-left .omt-counters .omt-counter:nth-child(3) {
    border-left: 1px white solid;
}

.benefits-swiper {
    padding-bottom: 40px !important;
    max-width: 100%;
}

.benefits-swiper .swiper-pagination-bullet {
    background: #fff;
    opacity: .5;
}

.benefits-swiper .swiper-pagination-bullet-active {
    background: white;
    opacity: 1;
}

.benefits-swiper .card {
    height: 100%;
    background: white;
    color: #888;
    font-size: 14px;
    padding: 26px 12px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.benefits-swiper .card .card-title {
   margin-bottom: 5px;
}

.benefits-swiper .card .card-text {
    line-height: 1.34;
}

.benefits-swiper .card .card-icon {
    margin-bottom: 15px;
}

@media screen and (min-width: 1800px) {
    .benefits-swiper .card {
        padding: 30px;
    }
}

.benefits-swiper .swiper-slide {
    height: auto;
    align-self: stretch;
}

.benefits-swiper .card .card-title {
    font-size: 20px;
    color: #1A1A1A;
}

/* hide private swiper on login page */
.omt-login .benefits-swiper[data-scope="private"] {
    display: none;
}

@media screen and (max-width: 1024px) {
    .omt-auth {
        flex-direction: column;
        padding-bottom: 50px;
    }

    .omt-auth .omt-auth-left .omt-auth-top {
        margin-bottom: 20px;
    }
}

.omt-auth form {
    width: 100%;
    max-width: 600px;
}

.omt-auth form h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 28px;
}

.omt-auth .omt-auth-left .text {
    max-width: 660px;
    width: 100%;
}

.omt-auth .omt-auth-right {
    background: #F9F9F9;
}

.omt-auth .omt-auth-left {
    position: relative;
    color: white;
}

@media screen and (min-width: 1025px) {
    .omt-auth .omt-auth-left .omt-auth-top {
        max-width: calc(100% - 60px);
        padding: 0 0 50px;
        position: absolute;
        width: 660px;
        top: 30px;
    }
}

.omt-auth .omt-auth-left .omt-auth-top {
    display: flex;
    justify-content: space-between;
    align-items: start;
}

.omt-auth .omt-auth-left .omt-auth-top .language-switcher {
    padding: 10px;
    background: #06332c;
    border-radius: 50px;
}

.omt-auth .omt-auth-left .omt-auth-top .language-switcher a:hover,
.omt-auth .omt-auth-left .omt-auth-top .language-switcher a.current_language {
    box-shadow: 0px 0px 0px 2px #fff;
}

.omt-auth .omt-auth-left .omt-auth-top img {
    width: 100px;
}


.omt-auth .omt-auth-right {
    border-radius: 20px;
    padding: 20px;
    width: calc(100% - 30px);
    margin: 0 auto;
}

.omt-auth .omt-auth-left {
    padding: 20px 20px 50px;
}

.subtitle {
    font-size: 15px;
    line-height: 15px;
    display: block;
    font-weight: 500;
    color: #2d8360;
}

@media screen and (min-width: 1025px) {
    .omt-auth .omt-auth-right {
        flex: 0 0 50%;
        min-width: 50%;
        max-width: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 0 50px;
    }

    .omt-auth .omt-auth-left {
        justify-content: center;
        flex: 0 0 50%;
        min-width: 50%;
        max-width: 50%;
        display: flex;
        align-items: center;
        flex-direction: column;
        padding: 100px 30px 20px;
    }

    .omt-auth .omt-auth-right {
        border-top-left-radius: 50px;
        border-bottom-left-radius: 50px;
    }
}

@media screen and (min-width: 1025px) {
    .omt-partner-sidebar {
        width: 320px;
    }

    .omt-partner-sidebar {
        min-height: 80vh;
    }

    .dashboard-content {
        width: calc(100% - 370px);
    }
}

@media screen and (max-width: 1024px) {
    .omt-dashboard {
        flex-direction: column;
        gap: 20px;
    }
}

@media screen and (max-width: 767px) {
    .dashboard-main .dashboard-content,
    .omt-plans-wrapper {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
    }
}

.omt-form-header {
    display: flex;
    justify-content: space-between;
    padding: 10px 0 0;
    width: 100%;
    max-width: 600px;
}

.omt-form-header .switcher {
    margin: 0 0 30px auto;
    gap: 0;
    font-size: 16px;
    width: auto;
    border: none;
    background: #f2f2f2;
    border-radius: 30px;
    padding: 5px;
}

@media screen and (max-width: 1024px) {
    .omt-form-header {
        flex-direction: column;
        align-items: center;
    }

    .omt-form-header .switcher {
        margin: 15px 0;
    }
}

.omt-form-header .switcher input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.omt-form-header .switcher label {
    padding: 4px 16px;
    cursor: pointer;
    border-radius: 20px;
    transition: background-color 0.2s;
}

.omt-form-header .switcher label:has(input[type="radio"]:checked) {
    background-color: #EBB14F;
    color: #37301e;
}

.omt-auth-left .price-info {
    background: rgba(5, 51, 44, 0.5);
    border-radius: 20px;
    display: flex;
    padding: 10px 20px;
    font-size: 24px;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}

.omt-auth-left .price-info .stats {
    font-size: 16px;
    margin-left: auto;
    margin-right: auto;
}

.omt-auth-left .price-info .stats p {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.omt-auth-left .price-info .stats p:last-child img {
    transform: rotate(180deg);
}

/* hide private/company based on user choice */
body.showing-private #omt-register-form-company {
    display: none;
}

body.showing-company #omt-register-form-private {
    display: none;
}

.toast-error {
    background: rgb(255, 245, 245) !important;
    color: #c53030 !important;
    border: 2px #c53030 solid !important;
    border-radius: 20px !important;
}

.toast-error .toast-close {
    color: #c53030 !important;
    opacity: 1 !important;
    background: none !important;
    box-shadow: none !important;
}

.toast-success {
    background: rgb(237, 247, 237) !important;
    color: #2f855a !important;
    border: 2px #2f855a solid !important;
    border-radius: 20px !important;
}

.toast-success .toast-close {
    color: #2f855a !important;
    opacity: 1 !important;
    background: none !important;
    box-shadow: none !important;
}

/* shops */
.shops-hero {
    background: url(https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/shops-hero.jpg);
    min-height: 300px;
    align-items: start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-size: cover;
    background-position: 100% 100%;
}

.shops-hero::before {
    background-image: linear-gradient(
            to right,
            rgba(45, 131, 96, 0.8),
            rgba(102, 102, 102, 0.2)
    );
}

.shops-hero h1 {
    font-weight: 600;
}

.shops-hero p {
    font-size: 21px;
    max-width: 50%;
}

.promo-search {
    background: white;
    padding: 30px;
    border-radius: 20px;
}

.promo-search__fields {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: flex-end;
    gap: 30px;
}

.promo-search__fields label {
    margin-bottom: 5px;
    display: block;
}

.promo-search__fields button {
    background: #3fa876;
    color: #fff;
    border: 0;
    cursor: pointer;
}

.promo-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.promo-card {
    display: flex;
    position: relative;
    gap: 16px;
    padding: 20px;
    border: 1px solid #e3e3e3;
    border-radius: 20px;
    background: #fff;
}

.promo-code {
    margin-top: 10px;
    padding: 3px;
    background: #3fa876;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    font-weight: 600;
    position: relative;
    cursor: pointer;
    z-index: 10;
}

.promo-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #111;
    font-size: 12px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    margin-bottom: 6px;
    color: white !important;
    padding: 10px 40px !important;
}

.promo-tooltip::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #000;
}

.promo-code:hover .promo-tooltip {
    opacity: 1;
}

.promo-info {
    position: absolute;
    right: 20px;
    top: 20px;
    margin-left: auto;
    border: 1px solid #000;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    background-image: url(https://one-more-tree.org/wp-content/plugins/one-more-tree/assets/images/info.svg);
    background-color: white;
    background-size: 5px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.promo-info:hover {
    background-color: white;
}

.promo-card__logo {
    width: 90px;
    height: 90px;
    object-fit: cover;
}

.promo-card__center {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.promo-card__center strong {
    font-weight: 600;
    font-size: 17px;
    color: black;
    padding-right: 40px;
}

.promo-card__center span {
    color: #888888;
    line-height: 1;
    padding-right: 40px;
    font-size: .9rem;
}

.promo-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.promo-modal.is-open {
    display: flex;
}

.promo-modal__content {
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    width: 800px;
    max-width: 100%;
    position: relative;
}

.promo-modal__close {
    float: right;
    border: 0;
    background: none;
    font-size: 36px;
    cursor: pointer;
    color: black;
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 20px;
    top: 20px;
}

.modal-flex {
    display: flex;
    gap: 40px;
    margin-top: 20px;
}

.modal-flex .promo-logo {
    max-width: 100px;
}

@media (max-width: 640px) {
    .shops-hero p {
        max-width: 100%;
    }
    .shops-hero::before {
        background-image: linear-gradient(to right, rgba(45, 131, 96, 0.9), rgba(102, 102, 102, 0.5));
    }
    .promo-search__fields {
        grid-template-columns: 1fr;
    }
    .modal-flex .promo-logo {
        display: none;
    }
}

