/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
:root {
    --main-color: rgb(237, 15, 93);
}

#scws_webshop {
    display: flex;
    flex-direction: column;
}

#scws_webshop * {
    border-radius: 5px;
}

#scws_webshop .light {
    color: #999;
}

#scws_webshop .loading {
    position: absolute;
    display: flex;
    justify-content: space-around;
    height: 100%;
    width: 100%;
    background-color: rgba(2550, 255, 255, 0.5);
    backdrop-filter: blur(2px);
}

#scws_webshop #current_product_bar .loading {
    align-items: center;
}

#scws_webshop #step_checkout .loading {
    align-items: center;
    z-index: 2;
}

#scws_webshop .loading.visible {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.25s ease-out;
    z-index: 3;
    padding-top: 250px;
    margin-top: -100px;
}

#scws_webshop .loading.hidden {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 0.25s, opacity 0.25s ease-out;
}

#scws_webshop .order_overview .loading .dots {
    margin-top: 250px;
}

#scws_webshop>header {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: row;
}

#scws_webshop nav#steps {
    position: sticky;
    top: 134px;
    align-self: center;
    background-color: rgba(200, 200, 200, 0.5);
    border-radius: 10px;
    margin-top: 1em;
    width: 100%;
    z-index: 1;
}

#scws_webshop button:disabled {
    color: var(--wp-text-disabled);
}

#scws_webshop nav#steps ul {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: row;
    list-style-type: none;
    height: 100%;
    padding: 0;
    margin: 0;
    gap: 3em;
}

#scws_webshop nav#steps ul li {
    background-color: #fff;
    padding: 0.5em;
    cursor: default;
    border: 1px solid #ccc;
    white-space: nowrap;
}

#scws_webshop nav#steps ul li .nav_step_number {
    display: inline-block;
}

#scws_webshop nav#steps ul li.enabled {
    color: #333;
    cursor: pointer;
}

#scws_webshop nav#steps ul li.enabled.complete:after {
    font-family: 'Font Awesome 5 Free';
    -webkit-font-smoothing: antialiased;
    content: '\f058';
    margin-left: 0.5em;
    color: green;
}

#scws_webshop #step {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#scws_webshop #step_main {
    display: flex;
    flex-direction: row;
}

#scws_webshop #step_main_content {
    display: flex;
    flex-direction: row;
    overflow-x: hidden;
    width: 100%;
}

#scws_webshop #step_main_content .main_content_step {
    width: 100%;
    min-width: 100%;
    margin: 0 1em;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: start;
    padding: 0 2em;
}

#scws_webshop #step_main_content .main_content_step.hidden {
    display: none;
}

#scws_webshop .order_overview {
    width: 100%;
}

#scws_webshop .order_overview ul {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    list-style-type: none;
    height: 100%;
    padding: 0;
    margin: 0;
}

#scws_webshop .order_overview ul li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    border: 1px solid #ccc;
    margin-bottom: 1.25em;
    padding: 0.5em;
}

#scws_webshop .order_overview ul li .aside_item_left {
    display: flex;
    flex-direction: column;
}

#scws_webshop .order_overview ul li .aside_item_right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    word-break: keep-all;
}

#scws_webshop .order_overview ul li header {
    font-weight: bold;
}

#scws_webshop .order_overview ul li .price {
    font-weight: bold;
    display: flex;
    flex-direction: row;
}

#scws_webshop .order_overview ul li .price .oldprice,
#scws_webshop #step_product .price .oldprice {
    color: red;
    text-decoration: line-through;
    margin-right: 0.5em;
    font-weight: normal;
}

#scws_webshop #step_product .price .oldprice {
    font-size: 0.66em;
    margin-bottom: 0.25em;
}

#scws_webshop .order_overview ul li .price .newprice,
.amount_discount,
#scws_webshop #step_product .price .newprice  {
    color: green;
}

#scws_webshop #step_product .price .newprice {
    margin-bottom: 0.125em;
}

#scws_webshop #step_product .price .affiliate_discount_text {
    font-size: 1rem;
    text-align: center;
}

#scws_webshop .order_overview ul li .product span:not(:empty):not(:first-child)::before {
    content: "- ";
}

#scws_webshop .order_overview ul li.costs {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

#scws_webshop .order_overview ul li.costs>span {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 1rem;
}

#scws_webshop .order_overview ul li.costs>span.delivery_information {
    flex-direction: column;
}

#scws_webshop .order_overview ul li.costs .costs {
    font-weight: bold;
}

#scws_webshop .order_overview ul li.totalcosts {
    border: none;
    font-weight: bold;
    font-size: 1.25rem;
}

#scws_webshop .order_overview ul li.totalcosts>span {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    width: 100%;
}

#scws_webshop .order_overview ul li.totalcosts>span>header {
    padding-right: 0.5rem;
}

#scws_webshop nav#steps ul li.active {
    font-weight: bold;
    border-color: #464646;
}

#scws_webshop #current_product_bar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ccc;
    margin: 1em 0;
    padding: 1em;
    position: relative;
    min-height: calc(51px + 2em);
}

#scws_webshop #current_product_bar>* {
    flex-grow: 1;
}

#scws_webshop #current_product_bar img {
    height: 50px;
    flex-grow: 0;
}

#scws_webshop #current_product_bar div span:not(:empty):not(:first-child)::before {
    content: "- ";
}

#scws_webshop #current_product_bar>a {
    flex-grow: 0;
}

#scws_webshop #step_main_content #products .product .price {
    font-size: 1.125em;
}

#scws_webshop #step_main_content #products {
    display: flex;
    flex-direction: row;
    gap: 1em;
    width: 100%;
}

#scws_webshop #step_main_content #products .product {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #ccc;
    padding: 1em;
}

#scws_webshop #step_main_content #products .product .options {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

#scws_webshop #step_main_content #products .product .gallery_images {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#scws_webshop #step_main_content #products .product .expand {
    display: block;
}

#scws_webshop #step_main_content #products .product .expand .expanded_colors {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}
#scws_webshop #step_main_content #products .product .expand .expanded_colors>div {
    padding: 1em;
    filter: drop-shadow(0.15rem 0.15rem 0.2rem rgba(0, 0, 0, 0.5));
}

#scws_webshop #step_main_content #products .product .expand .expanded_options {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    height: 80px;
    margin: 0.5em 0;
    padding: 0.5em;
    border: 1px solid #ccc;
    width: 100%;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option .image.text_image {
    width: 100%;
    height: 100%;
    color: #ccc;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option .image {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 0;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option .image img {
    object-fit: cover;
    max-height: 64px;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option .content {
    display: flex;
    flex-direction: column;
    justify-content: start;
    flex-grow: 1;
    padding: 0 0.5em;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option .content .name {
    font-weight: bold;
}

#scws_webshop #step_main_content #products .product .expand .expanded_options .option .selection {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 0;
}

#scws_webshop #step_main_content #products .product:has(h3 > input[type=radio]) .expand {
    max-height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
}

#scws_webshop #step_main_content #products .product:has(h3 > input[type=radio]:checked) .expand {
    max-height: 500px;
}

#scws_webshop #step_main_content #products .product:has(h3 > input[type=radio]) .options {
    max-height: 500px;
}

#scws_webshop #step_main_content #products .product:has(h3 > input[type=radio]:checked) .options {
    opacity: 0;
    max-height: 500px;
}

#scws_webshop #step_main_content #products .product .featured_image {
    height: 225px;
    padding: 2em 0;
    object-fit: contain;
}

#scws_webshop #step_main_content #step_product-color #product-colors {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    gap: 1em;
}

#scws_webshop #step_main_content #step_product-color #product-colors .product_color {
    max-width: calc(25% - 1em);
    cursor: pointer;
}

#scws_webshop #step_main_content #step_product-color #product-colors .product_color .color_description {
    display: inline-block;
    width: 100%;
    background-color: var(--main-color);
    color: #fff;
    padding: 0.5em;
    text-align: center;
    font-size: 1.25em;
}

#scws_webshop #step_main_content .product-options .expanded_options {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: start;
    align-items: stretch;
    width: 100%;
    gap: 1em;
}

#scws_webshop #step_main_content .product-options .expanded_options .product_option {
    display: flex;
    flex-direction: column;
    justify-content: start;
    padding: 0.5em;
    cursor: pointer;
    max-width: calc(25% - 0.5em);
    flex: 1;
}

#scws_webshop #step_main_content .product-options .expanded_options .product_option .image {
    text-align: center;
}

#scws_webshop #step_main_content .product-options .expanded_options .product_option img {
    height: 185px;
    object-fit: cover;
}

#scws_webshop #step_main_content .product-options .expanded_options .product_option .content {
    margin-top: auto;
}

#scws_webshop #step_main_content .product-options .expanded_options .product_option .name {
    padding: 0.5em;
    font-weight: bold;
}

#scws_webshop .radio_select_color div {
    display: inline-block;
}

#scws_webshop .radio_select_color input[type=radio] {
    display: none;
}

#scws_webshop .radio_select_color input[type=radio]+label {
    color: #333;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

#scws_webshop .radio_select_color input[type=radio]+label span {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: -1px 4px 0 0;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 50%;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.33);
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    line-height: 44px;
}

#scws_webshop .radio_select_color span img {
    vertical-align: initial;
}

#scws_webshop .radio_select_color input[type=radio]+label span img {
    opacity: 0;
    transition: all 0.3s ease;
}

#scws_webshop .radio_select_color input[type=radio]:checked+label span img {
    opacity: 1;
}

#scws_webshop #step #step_buttons {
    position: sticky;
    bottom: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-radius: 0;
    padding: 1em;
    pointer-events: none;
}

#scws_webshop #step #step_buttons button {
    pointer-events: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

#scws_webshop #step #step_buttons button[data-step=""] {
    visibility: hidden;
}

#scws_webshop #step_main_content #step_subscription #subscriptions {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

#scws_webshop #step_main_content #step_subscription #subscriptions_container {
    width: 100%;
}

#scws_webshop #step_main_content #step_subscription #subscriptions_container:hover {
    display: inline-block;
    position: relative;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription {
    border: 1px solid #ccc;
    transition: all 0.5s;
    flex: 1;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription:not(:nth-of-type(2)) {
    margin-top: 1em;
    margin-bottom: 1em;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 1em;
    padding-top: 75px;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .name {
    font-size: 1.4em;
    height: 2em;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .title {
    font-size: 1em;
    height: 5em;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .monthly_price {
    font-size: 2em;
    margin-bottom: 2em;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription>* {
    margin: 0;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .subscription_duration_text {
    font-size: 1.25em;
    margin-bottom: 0.5em;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .select {
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;
    padding: 1em;
}

/* If there's only 1 subscription option, make it look and act like a button instead of a checkbox */
#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .inner:not(:has(input.linkedsubscription)) .subscription_duration_text {
    display: none;
}

#scws_webshop #step_main_content #step_subscription #subscriptions .subscription .inner:not(:has(input.linkedsubscription)) .select label {
    cursor: pointer;
}

#scws_webshop #step_main_content #step_keybox #optional_products {
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 100%;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border: 1px solid #ccc;
    padding: 1em;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product .content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product.hidden {
    display: none;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product>* {
    flex-grow: 1;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product>span.image {
    flex-grow: 0;
    margin-right: 1em;
    width: 50px;
    min-width: 100px;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product>span.image img {
    width: 50px;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product>span.select {
    flex-grow: 0;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product .content .price {
    display: flex;
    flex-direction: row;
    justify-content: start;
    gap: 1em;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product .content .price div {
    display: flex;
    flex-direction: column;
    justify-content: start;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product .content .price div.ampersand {
    justify-content: space-around;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product .content .price div>span:first-child {
    font-weight: bold;
}

#scws_webshop #step_main_content #step_keybox #optional_products .optional_product:last-child .link {
    display: none;
}

#scws_webshop #step_main_content #step_checkout form {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

#scws_webshop #step_main_content #step_checkout form input,
#scws_webshop #step_main_content #step_checkout form select {
    height: 3em;
    padding: 0.5em 0 0 1rem;
    margin-bottom: 0.5em;
    border: 1px solid #ccc;
    transition: border-color 250ms;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    width: 100%;
}

#scws_webshop #step_main_content #step_checkout form input[data-purpose="optional"] {
    height: auto;
}

#scws_webshop #step_main_content #step_checkout form .field {
    position: relative;
}

#scws_webshop #step_main_content #step_checkout form select:focus,
#scws_webshop #step_main_content #step_checkout form input:focus {
    border: 1px solid rgb(0, 56, 0);
}

#scws_webshop #step_main_content #step_checkout form select::placeholder,
#scws_webshop #step_main_content #step_checkout form textarea::placeholder,
#scws_webshop #step_main_content #step_checkout form input::placeholder {
    color: transparent;
}

#scws_webshop #step_main_content #step_checkout form input::-webkit-contacts-auto-fill-button {
    visibility: hidden;
    pointer-events: none;
    position: absolute;
}

#scws_webshop #step_main_content #step_checkout form .field label {
    position: absolute;
    top: 1em;
    left: 1rem;
    color: #999;
    pointer-events: none;
    transform-origin: left center;
    transition: transform 250ms;
    white-space: nowrap;
}

#scws_webshop #step_main_content #step_checkout form fieldset {
    border: none;
    padding: 0.5em;
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: #fff;
}

#scws_webshop #step_main_content #step_checkout form .optional_section {
    background-color: #fff;
    padding: 0 0.5em;
    font-size: 1.125em;
}

#scws_webshop #step_main_content #step_checkout form .checkout_form_section {
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.05));
    margin-bottom: 2em;
}

#scws_webshop #step_main_content #step_checkout form fieldset .fields .title {
    display: inline-block;
    margin-top: 1em;
    font-weight: bold;
}
#scws_webshop #step_main_content #step_confirm #btn_submit_order,
#scws_webshop #step_main_content #step_checkout #btn_checkout_next {
    display: block;
    width: 100%;
    margin-bottom: 2em;
    padding: 1em;
    font-size: 1.25em;
}

#scws_webshop #step_main_content form .field:not(.radio)>select:required+label::after,
#scws_webshop #step_main_content form .field:not(.radio)>textarea:required+label::after,
#scws_webshop #step_main_content form .field:not(.radio)>input:required+label::after {
    content: " *";
    color: rgb(0, 56, 0);
}

/*
#scws_webshop #step_main_content #step_checkout form select:not(:has(option[value=""]:checked))
*/

#scws_webshop #step_main_content #step_checkout form .field:not(.radio)>input:focus+label,
#scws_webshop #step_main_content #step_checkout form .field:not(.radio)>input:not(:placeholder-shown)+label,
#scws_webshop #step_main_content #step_checkout form .field:not(.radio)>textarea:focus+label,
#scws_webshop #step_main_content #step_checkout form .field:not(.radio)>textarea:not(:placeholder-shown)+label,
#scws_webshop #step_main_content #step_checkout form select:not(:has(option[value=""]:checked))+label {
    color: #ccc;
    transform: translateY(-70%) scale(0.75);
}

#scws_webshop #step_main_content #step_checkout form .field.radio {
    border: 1px solid #ccc;
    padding: 0.5em 1rem 1rem 1rem;
    margin: 0.5em 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: start;
}

#scws_webshop #step_main_content #step_checkout form .field.radio input {
    margin: 0;
}

#scws_webshop #step_main_content #step_checkout form .field.radio>label {
    position: relative;
    top: initial;
    left: initial;
    margin-left: 0.5em;
    color: initial;
    pointer-events: initial;
    transform: none;
}

#scws_webshop #step_main_content #step_checkout form .field.radio .field {
    width: 100%;
}

#scws_webshop #step_main_content #step_checkout .error {
    border: 1px solid red;
}

#scws_webshop #step_main_content #step_checkout .error:valid {
    border-color: #ccc;
}

#scws_webshop #step_main_content #step_checkout #order_coupon_submit {
    padding: 0;
}

.cpg-form-wrapper br {
    display: none;
}

.cpg-form-wrapper p span {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.cpg-form-wrapper p span#cfg_regel6 {
    justify-content: start;
}

.cpg-form-wrapper p label,
.cpg-form-wrapper p input[type="submit"] {
    flex-basis: 23%;
}

.cpg-form-wrapper p:last-child {
    flex-direction: row-reverse;
}

.cpg-form-wrapper input:read-only:not([type="submit"]),
.cpg-form-wrapper select:disabled {
    background-color: #fff;
    border: 1px solid #eee;
}

.cp-gegevens {
    font-size: 1.25em;
    font-weight: 600;
}

#scws_webshop #step_main_content #step_checkout form fieldset:has(input[data-purpose="optional"]:not(:checked)) {
    display: none;
}

#scws_webshop #step_main_content #step_checkout form fieldset:disabled {
    display: none;
}

#scws_webshop #order_note {
    height: 6em;
}

#scws_webshop .popover {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    height: 50%;
    z-index: 999;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #fff;
    padding: 2em;
    border: 1px solid #ccc;
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
}

#scws_webshop .popover .alert {
    overflow: hidden;
}

#scws_webshop #step_main_content #products .product .gallery_images,
#scws_webshop #step_main_content #products .product:has(h3 > input[type=radio]) .options {
    display: none;
}

.cursor_pointer {
    cursor: pointer;
}

#scws_webshop #step_confirm #agree+label.agreetext {
    font-size: 1em;
    font-weight: 700;
    color: inherit;
}

#scws_webshop #step_main_content #step_checkout form .field .tooltip {
    position: absolute;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
    top: 53px;
    left: 0;
    background-color: #fff;
    width: 100%;
    z-index: 2;
    font-size: 0.85em;
    color: #333;
    opacity: 0;
    transition: opacity 0.25s ease-in;
}

#scws_webshop #step_main_content #step_checkout form .field:not(.radio):has(input:focus) .tooltip {
    opacity: 1;
}

#scws_webshop #step_main_content #step_checkout form .field .tooltip:before {
    position: absolute;
    height: 16px;
    width: 16px;
    top: -8px;
    left: 16px;
    content: ' ';
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 1;
    border: 1px solid #ccc;
}

#scws_webshop #step_main_content #step_checkout form .field .tooltip span {
    position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0.5em;
    z-index: 1;
}

#scws_webshop #step_main_content #step_checkout form .payment_method {
    width: 100%;
}

#scws_webshop .flex_break {
    flex-basis: 100%;
    height: 0;
}

/* Subscription ribbons */
#scws_webshop #step_main_content #step_subscription #subscriptions .subscription  label {
    position: relative;
    display: block;
    overflow: hidden;
}

#scws_webshop .ribbon {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    background: rgba(218,165,32, 1.0);
    color: #fff;
    padding: 0.5em 0;
    margin: 0;
    transform: translateX(75%) translateY(0%) rotate(45deg);
    transform-origin: top left;
    line-height: 1.2em;
    font-size: 1rem;
    padding-left: 1em;
}

#scws_webshop #step_subscription #subscriptions .subscription:nth-of-type(2) .ribbon,
#scws_webshop #step_subscription #subscriptions .subscription:nth-of-type(2) .ribbon:before,
#scws_webshop #step_subscription #subscriptions .subscription:nth-of-type(2) .ribbon:after {
    padding-left: 0.5em;
    background: rgb(192, 189, 183);
}

/* Extend the ribbon beyond the text */
#scws_webshop .ribbon:before,
#scws_webshop .ribbon:after {
    content: ' ';
    position: absolute;
    top: 0;
    margin: 0 -1px;
    width: 100%;
    height: 100%;
    background: rgba(218, 165, 32, 1.0);
}

#scws_webshop .ribbon:before {
    right: 100%;
}

#scws_webshop .ribbon:after {
    left: 100%;
}

#scws_webshop #billing_birthdate {
    background-color: #fff;
}

.scws_coupon_message {
    text-align: center;
    padding: 1em;
    margin: 1em 0;
    border: 2px solid var(--main-color);
    font-size: large;
}

.scws_coupon_message .scws_affiliate,
.scws_coupon_message .scws_amount {
    text-transform: capitalize;
    font-weight: bold;
}

.scws_coupon_message a {
    font-weight: bold;
}

#scws_webshop .button_container {
    position: relative;
    width: 100%;
}

#scws_webshop .form_errors {
    position: absolute;
    bottom: 100px;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
    background-color: #fff;
    width: 100%;
    z-index: 1;
    font-size: 0.85em;
    color: #333;
    opacity: 0;
    transition: opacity 0.25s ease-in;
    margin-bottom: 16px;
}

#scws_webshop .form_errors:before {
    position: absolute;
    height: 16px;
    width: 16px;
    bottom: -8px;
    left: 50%;
    content: ' ';
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 0;
    border: 1px solid #ccc;
}

#scws_webshop .form_errors span {
    position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0.5em;
    z-index: 1;
    width: 100%;
}

#scws_webshop .form_errors:has(+ #btn_checkout_next:disabled:hover) {
    opacity: 1;
}