/**
 * One-page checkout CSS (v1).
 * Editable in Admin → CMS → Skin → Software Defaults → checkout-one-page.css
 * v1 and v2 default to the same content; v2 can diverge when a new design is added.
 */
:root {
    /* --primary-color and --secondary-color: set by client global/stylesheet so their buttons match site branding; fallbacks used below if unset */
    --highlight-color: #c10037;
    --radius-small: 4px;
    --radius-medium: 8px;
    --radius-large: 10px;
    --radius-xlarge: 12px;
    --radius-xxlarge: 60px;
    /* Shared field styling – checkout/login/register consume the platform Styler tokens */
    --field-padding: var(--sw-field-padding-y, 0.55rem) var(--sw-field-padding-x, 0.75rem);
    --field-padding-sm: 8px;
    --field-border: 1px solid var(--sw-border-color, #b2b1b1);
    --field-radius: var(--sw-field-radius, var(--sw-radius, var(--radius-medium)));
    --field-min-height: var(--sw-field-min-height, 2.5rem);
    --field-font-size: var(--sw-field-font-size, inherit);
    --field-bg: var(--sw-field-bg, var(--sw-surface-bg, #fff));
    --field-text: var(--sw-field-text, var(--sw-surface-text, #222));
    --field-focus-color: var(--sw-accent, var(--primary-color, #4c82f7));
    --field-placeholder: var(--sw-text-muted, #999);
}
body {
    margin: 0px;
}
.sw_custom-row {
    display: flex;
    flex-wrap: wrap;
}
.sw_custom-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, .125);
    border-radius: .25rem;
}
.sw_list-content {
    position: relative;
    padding: 70px 0;
}
.sw_list-content .sw_custom-grid-view .sw_custom-card {
    background: #ffffff;
    padding: 0;
    border: 1px solid #e3e3e3;
    box-shadow: none;
    border-radius: var(--radius-large);
    margin: 0 0 25px;
}
.sw_custom-grid-view .sw_card-body {
    position: relative;
    padding: 25px;
}
.sw_custom-grid-view .sw_blog-location-details {
    color: #9c9c9c;
    font-size: 12px;
    margin: 0 0 15px;
    display: flex;
    justify-content: space-between;
}
.sw_custom-grid-view .sw_custom-card .sw_ratings span {
    background: var(--secondary-color, #ff823b);
    color: #ffffff;
    margin: 0 6px 0 0;
    padding: 2px 9px;
    border-radius: var(--radius-small);
    font-size: 14px;
}
.sw_amount-details {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.sw_custom-grid-view .sw_custom-card h6 {
    margin: 0 0 15px;
    width: 100%;
    color: #0d233e;
    font-size: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.sw_grid-listview a {
    background: #ffffff;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-small);
    display: flex;
}
.sw_active img.sw_list-grid {
    filter: invert(1);
}
.sw_custom-grid-view .sw_grid-author {
    position: absolute;
    top: -18px;
    z-index: 2;
    border-radius: var(--radius-xxlarge);
}
.sw_amount-details .sw_validrate {
    color: var(--highlight-color);
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
}
.sw_custom-container a {
    color: #0d233e;
    cursor: pointer;
    text-decoration: none;
}
.sw_custom-grid-view .sw_fav-item {
    position: absolute;
    left: 0;
    top: 0;
    width: -webkit-fill-available;
    padding: 20px;
    z-index: 1;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
img.sw_hrt {
    width: 15px;
    height: 15px;
}
a.sw_hrt:hover {
    background: var(--primary-color, #4c82f7);
}
a.sw_hrt:hover i {
    color: #fff;
}
.sw_blog-img {
    position: relative;
}
a.sw_hrt {
    background: white;
    border-radius: var(--radius-xxlarge);
    height: 35px;
    width: 35px;
    align-items: center;
    display: flex !important;
    justify-content: center;
}
.sw_custom-grid-view .sw_featured-text {
    background: var(--primary-color, #4c82f7);
    border-radius: var(--radius-small);
    color: #ffffff;
    padding: 7px 10px;
}
.sw_custom-grid-view .sw_grid-author img {
    border-radius: var(--radius-xxlarge);
    width: 40px;
    height: 40px;
}
.sw_custom-grid-view .sw_bloglist-content .sw_blogfeaturelink {
    margin: 15px 0;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
}
.sw_blog-img img.sw_img-fluid {
    border-radius: 10px 10px 0px 0px;
    width: -webkit-fill-available;
}
.sw_custom-grid-view .sw_custom-row {
    gap: 10px;
}
.sw_grid-listview ul.sw_d-flex {
    list-style: none;
    gap: 10px;
    display: flex;
    margin-bottom: 0px;
    margin-top: 0px;
    padding: 0px;
}
.sw_grid-listview a.sw_active {
    background: var(--highlight-color);
    border-color: var(--highlight-color);
    color: #ffffff;
}
/* List View */
.sw_custom-card-list .sw_blog-widget {
    display: flex;
    width: 100%;
}
a.sw_fet {
    height: 250px;
}
.sw_custom-card-list .sw_card-body {
    width: -webkit-fill-available;
}
.sw_custom-card-list .sw_blog-widget .sw_bloglist-content {
    width: 100%;
}
.sw_custom-card-list {
    background: #ffffff;
    box-shadow: 3px 5px 13px rgba(222, 226, 231, 0.44);
    border-radius: var(--radius-medium);
    margin-bottom: 24px;
    display: flex;
    width: 100%;
    position: relative;
}
.sw_bloglist-content .sw_blog-author-img img {
    margin: 0 5px 0 0;
    border-radius: var(--radius-xxlarge);
    width: 25px;
    height: 25px;
}
.sw_list .sw_blog-author {
    display: flex;
    align-items: center;
}
.sw_list-view img.sw_img-fluid {
    border-radius: 10px 0px 0px 10px;
    height: -webkit-fill-available;
}
.sw_custom-card-list h6 {
    font-size: 18px;
    font-weight: 600;
    margin: 15px 0 15px;
    white-space: nowrap;
    width: 395px;
    text-overflow: ellipsis;
    overflow: hidden;
}
.sw_custom-card-list .sw_blogfeaturelink {
    justify-content: flex-start !important;
    gap: 20px;
    font-size: 13px;
    align-items: center;
    margin-top: 0px !important;
}
.sw_custom-card-list .sw_blog-author {
    display: flex;
    align-items: center;
}
.sw_custom-card-list .sw_ratings span {
    background: var(--secondary-color, #ff823b);
    color: #ffffff;
    padding: 2px 10px;
    margin: 0 6px 0 0;
    border-radius: var(--radius-small);
    font-size: 14px;
    border: 1px solid var(--secondary-color, #ff823b);
}
.sw_custom-card-list .sw_blog-img a {
    display: block;
}
.sw_custom-card-list .sw_blog-img img.sw_img-fluid {
    border-radius: 10px 0px 0px 10px;
    height: 250px;
    object-fit: cover;
}
.sw_col-cs-12 {
    width: 100%;
}
.sw_blogfeaturelink a, .sw_blog-author span {
    color: #9c9c9c;
}
img.sw_sm-icons {
    width: 15px;
    position: relative;
    top: 3px;
}
img.sw_list-grid {
    width: 25px;
    height: 25px;
}
/* List View */
@media (max-width: 767px){
    .sw_grid-listview a {
        background: #ffffff;
        width: 37px;
        height: 37px;
    }
    .sw_list-view .sw_blog-widget {
        display: block;
    }
    .sw_list-view img.sw_img-fluid {
        border-radius: 10px 10px 0px 0px;
        width: 100%;
    }
    .sw_grid-view .sw_card-body {
        position: relative;
        padding: 25px 15px;
    }
    .sw_custom-container {
        width: -webkit-fill-available;
        margin: 0 auto;
        padding: 0px 15px;
    }
    .sw_col-cs-6 {
        width: 100%;
    }
    .sw_custom-card-list .sw_blog-widget {
        display: block;
        height: 100%;
    }
    .sw_custom-card-list .sw_blog-img img.sw_img-fluid {
        border-radius: 10px 10px 0px 0px;
    }
    .sw_list-content {
        position: relative;
        padding: 50px 0;
    }
    .sw_custom-row {
        display: block;
    }
    .sw_custom-grid-view .sw_custom-card h6 {
        font-size: 16px;
    }
    .sw_col-cs-4 {
        width: 100% !important;
    }
    .sw_custom-grid-view .sw_amount-details {
        font-size: 13px;
    }
    .sw_custom-card-list .sw_blog-img img.sw_img-fluid {
        height: 100%;
    }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    .sw_custom-container {
        max-width: 1140px !important;
        margin: 0 auto;
    }
    .sw_col-cs-4 {
        width: 32.7%;
    }
    .sw_col-cs-8 {
        width: 66.66666667%;
    }
}
@media (min-width: 1400px){
    .sw_custom-container {
        max-width: 1300px !important;
        margin: 0 auto;
    }
    .sw_custom-grid-view .sw_col-cs-4 {
        width: 24.4%;
    }
    .sw_col-cs-4 {
        width: 32.7%;
    }
    .sw_col-cs-8 {
        width: 66.66666667%;
    }
}
@media (min-width: 990px) and (max-width: 1199px) {
    .sw_col-cs-4 {
        width: 32%;
    }
    .sw_col-cs-8 {
        width: 66.66666667%;
    }
    .sw_col-cs-6 {
        width: 50%;
    }
    .sw_listings-sidebar, .sw_lr-padding {
        padding: 0px 15px;
    }
    .sw_custom-container {
        max-width: 930px !important;
    }
}
@media (max-width: 989px){
    .sw_col-cs-4 {
        width: 49%;
    }
    .sw_col-cs-8 {
        width: 100%;
        justify-content: flex-start !important;
    }
    .sw_custom-card-list h6 {
        font-size: 16px;
        width: -webkit-fill-available;
    }
}
@media (min-width: 768px) {
    .sw_custom-container {
        max-width: 720px;
        margin: 0 auto;
    }
    .sw_col-cs-6 {
        width: 49.3%;
    }
}
@media (max-width: 767px) and (min-width: 600px){
    .sw_custom-row {
        display: flex !important;
    }
    .sw_custom-grid-view .sw_col-cs-4 {
        width: 48.5% !important;
    }
    .sw_custom-container {
        max-width: 100%;
    }
}
@media (max-width: 989px) and (min-width: 600px){
    .sw_custom-card-list .sw_blog-widget {
        display: flex;
        flex-wrap: wrap;
    }
    .sw_blog-img.sw_img-list {
        width: 40%;
    }
    .sw_custom-card-list .sw_blog-widget .sw_bloglist-content {
        width: 60%;
    }
    .sw_custom-card-list .sw_blog-img img.sw_img-fluid {
        border-radius: 10px 0px 0px 10px !important;
    }
    .sw_custom-grid-view .sw_blog-location-details {
        font-size: 10px;
    }
}


/* Detail View */

.sw_det_container {
    margin: 0 auto;
    padding: 20px 15px;
}
.sw_det_container a {
    text-decoration: none;
    color: #333;
}

  /* Product Layout */
.sw_det_row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

  /* Product Gallery */
.sw_det_product-gallery {
    position: relative;
    overflow: hidden;
}
.sw_det_product-label {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--primary-color, #4c82f7);
    color: #fff;
    padding: 5px 10px;
    width: 40px;
    text-align: center;
    font-size: 12px;
    border-radius: var(--radius-small);
}
.sw_det_product-label.sw_det_sale {
    background: var(--secondary-color, #ff823b);
    top: 45px;
}
.sw_det_product-gallery img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: var(--radius-large);
}

  /* Thumbnails */
.sw_det_thumbnail-container {
    display: flex;
    justify-content: start;
    margin-top: 10px;
}
.sw_det_thumbnail {
    width: 115px;
    height: auto;
    margin: 0 5px;
    border: 2px solid transparent;
    cursor: pointer;
    border-radius: var(--radius-medium);
}
.sw_det_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-medium);
}
.sw_det_thumbnail.sw_det_active {
    border-color: #333;
}

  /* Product Info */
.sw_det_product-info h1 {
    font-size: 24px;
    margin: 10px 0;
}
.sw_det_reviews {
    color: #666;
    font-size: 14px;
}
.sw_det_product-description {
    margin: 10px 0;
    color: #555;
}
.sw_det_product-info p {
    margin: 0px 0px 20px;
}
.sw_det_product-info .sw_det_price-box {
    margin: 15px 0px;
    color: var(--highlight-color);
    font-weight: 600;
    font-size: 24px;
}
.sw_det_product-info-list {
    font-size: 14px;
    margin-bottom: 25px;
}
.sw_det_product-info-list p {
    margin-bottom: 10px;
}
.sw_det_old-price {
    text-decoration: line-through;
    color: #a7a7a7;
    font-size: 18px;
}

  /* Quantity Selector */
.sw_det_quantity-cart {
    display: flex;
    align-items: center;
    padding: 20px 0;
    border: 1px solid #d9d9d9;
    border-width: 1px 0px;
    gap: 10px;
}
.sw_det_quantiy {
    display: flex;
}
.sw_det_quantity-cart button {
    width: 30px;
    height: 46px;
    font-size: 18px;
    background: #fff;
    cursor: pointer;
    border: 1px solid #e7e7e7;
}
.sw_det_quantity-cart input {
    width: 50px;
    text-align: center;
    border: 1px solid #ddd;
    height: 42px;
}

  /* Add to Cart Button */
.sw_det_cart-btn .sw_det_btn {
    padding: 10px 20px;
    background: var(--primary-color, #4c82f7);
    color: white;
    border: none;
    cursor: pointer;
    width: 170px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    border-radius: var(--radius-small);
    align-items: center;
    gap: 5px;
}
.sw_det_cart-btn .sw_det_btn:hover {
    background: var(--secondary-color, #ff823b);
}

  /* Social Icons */
.sw_det_s-icons img {
    width: 14px;
}
.sw_det_s-icons {
    width: 32px;
    height: 32px;
    border: 1px solid #b4b4b4;
    border-radius: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sw_det_social-icons {
    display: inline-flex;
    gap: 7px;
}
.sw_det_social-wish {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 20px;
}
.sw_det_add-wishlist img {
    width: 20px;
}
a.sw_det_add-wishlist {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
}
.sw_det_s-icons:hover {
    cursor: pointer;
    background: var(--primary-color, #4c82f7);
    border-color: var(--primary-color, #4c82f7);
}
.sw_det_s-icons:hover i {
    color: #fff;
}

/* Tabs */
.sw_det_tabs {
    width: 100%;
    margin: 0 auto;
}

.sw_det_tab-titles {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px solid #ccc;
    gap: 20px;
}
button.sw_det_tab-button {
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    color: #555;
}
.sw_det_tab-button {
    padding: 8px 0px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
}
.sw_det_tab-button.sw_det_active {
    border-bottom: 1px solid #222;
    color: #111;
}
.sw_det_tab-content {
    padding: 20px 0px;
}
.sw_det_tab-pane {
    display: none;
}
.sw_det_tab-pane.sw_det_active {
    display: block;
}
.sw_det_tab-pane p, .sw_det_tab-pane ul {
    color: #444;
    font-size: 14px;
}

/* Product Grid */
.sw_det_rel-prd{
    padding: 0px 0px 50px;
}
.sw_det_rel-prd h2 {
    text-align: left;
    border: 1px solid #d6d6d6;
    border-width: 0px 0px 1px;
    padding-bottom: 12px;
    margin-top: 0px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 30px;
}
.sw_det_product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.sw_det_pr-lbls {
    position: relative;
}
.sw_det_product {
    text-align: center;
}
.sw_det_product img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-medium);
    margin-bottom: 10px;
}
.sw_det_pr-lbls .sw_det_labels {
    position: absolute;
    top: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    left: 5px;
}
.sw_det_label {
    display: inline-block;
    background-color: var(--secondary-color, #ff823b);
    color: #fff;
    padding: 3px 8px;
    font-size: 12px;
    border-radius: var(--radius-small);
    margin: 0 5px;
}
.sw_det_label.sw_det_hot {
    background-color: var(--primary-color, #4c82f7);
}
.sw_det_category {
    font-size: 12px;
    color: #888;
    margin-bottom: 5px;
}
.sw_det_title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 5px;
}
.sw_det_stars {
    margin-bottom: 5px;
}
.sw_det_stars span {
    color: #6a6a6d;
    font-size: 16px;
}
.sw_det_price {
    margin-bottom: 10px;
}
.sw_det_price del {
    color: #888;
    margin-right: 5px;
}
.sw_det_price span {
    font-weight: 600;
    color: var(--highlight-color);
    font-size: 18px;
}
.sw_det_rel-prd .sw_det_btn {
    background-color: var(--primary-color, #4c82f7);
    color: #fff;
    padding: 10px 22px;
    display: inline-block;
    border-radius: var(--radius-small);
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
}
.sw_det_btn:hover {
    background-color: var(--secondary-color, #ff823b);
    color: #fff;
}

.sw_det_col-lg-5{
    max-width: 40%;
}
.sw_det_col-lg-7{
    max-width: 58%;
}
@media (max-width: 767px){
    .sw_det_container {
        max-width: 95%;
    }
    .sw_det_col-lg-5{
        max-width: 100%;
    }
    .sw_det_col-lg-7{
        max-width: 100%;
    }
    .sw_det_product-gallery img {
        max-height: 100% !important;
    }
    .sw_det_thumbnail {
        height: auto;
    }
    .sw_det_product-info .sw_det_price-box {
        font-size: 20px;
    }
    .sw_det_old-price {
        font-size: 16px;
    }
    p.sw_det_product-description {
        font-size: 14px;
    }
    .sw_det_product-info .sw_det_price-box {
        margin: 10px 0px;
    }
    .sw_det_product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .sw_det_rel-prd .sw_det_title, .sw_det_price del {
        font-size: 13px;
    }
    .sw_det_rel-prd .sw_det_btn {
        padding: 8px 14px;
        font-size: 12px;
    }
    .sw_det_label {
        font-size: 10px;
    }
    .sw_det_price span {
        font-size: 14px;
    }
    .sw_det_rel-prd .sw_det_product {
        margin-bottom: 15px;
    }
    button.sw_det_tab-button {
        font-size: 12px;
        padding: 0px 0px 5px;
    }
    .sw_det_tab-titles {
        flex-wrap: wrap;
        gap: 10px;
    }
    .sw_det_tab-pane p, .sw_det_tab-pane ul {
        font-size: 12px;
    }
}
@media (min-width: 1300px){
    .sw_det_container {
        max-width: 1220px;
    }
}

@media (min-width: 1200px) and (max-width: 1299px) {
    .sw_det_container {
        max-width: 1140px;
    }
}

@media (min-width: 1000px) and (max-width: 1199px){
    .sw_det_container {
        max-width: 94%;
    }
    .sw_det_col-lg-5{
        max-width: 39.5%;
    }
    .sw_det_col-lg-7{
        max-width: 58.5%;
    }
    p.sw_det_product-description {
        font-size: 14px;
    }
    .sw_det_row{
        gap: 14px;
    }
    .sw_det_product-info .sw_det_price-box {
        margin: 7px 0px;
    }
}

@media (min-width: 800px) and (max-width: 999px){
    .sw_det_container {
        max-width: 94%;
    }
    .sw_det_col-lg-5{
        max-width: 39.5%;
    }
    .sw_det_col-lg-7{
        max-width: 58.5%;
    }
    p.sw_det_product-description {
        font-size: 14px;
    }
    .sw_det_row{
        gap: 14px;
    }
    .sw_det_product-info .sw_det_price-box {
        margin: 7px 0px;
    }
    .sw_det_product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

@media (min-width: 600px) and (max-width: 799px){
    .sw_det_container {
        max-width: 90%;
    }
    .sw_det_product-gallery img {
        max-height: 100% !important;
    }
    .sw_det_col-lg-5{
        max-width: 100%;
    }
    .sw_det_col-lg-7{
        max-width: 100%;
    }
}

/* Checkout CSS */
.sw_checkout .sw_inner-cnt {
    box-shadow: 0px 0px 4px 0px #0000001a;
    border-radius: var(--radius-large);
    padding: 15px;
    margin-bottom: 8px;
}
.sw_det_container.sw_checkout {
    display: flex;
    gap: 20px;
    padding: 0px 0px 50px 0px;
}
/* Tablet and desktop: right column (order summary + Place Order) sticks on scroll when two-column layout is active.
   If it doesn't stick on a customer site: check for overflow:hidden on any ancestor (common with sticky headers/wrappers). */
@media (min-width: 768px) {
    .sw_det_container.sw_checkout .sw_col-cs-4 {
        position: sticky !important;
        top: 1rem !important;
        align-self: flex-start !important;
    }
}
.sw_checkout h3 {
    margin: 0px 0px 15px;
}

.sw_edit_btn {
    float: right;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #666;
    margin-bottom: 15px;
}

/* Billing + shipping always side-by-side, never stack */
.sw_checkout .sw_address-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
}

.sw_checkout .sw_address-col {
    flex: 1;
    min-width: 0;
}

.sw_checkout .sw_address-col > h4:first-child {
    margin-bottom: 10px;
    border-bottom: none !important;
    border: none !important;
}

#address_edit_forms {
    margin-top: 20px;
}

/* Compact spacing for address edit forms - reduce padding so state/country are visible */
#address_edit_forms .sw_input {
    margin-bottom: 12px; /* Reduced from 20px */
}

#address_edit_forms .sw_input input:not([type="radio"]):not([type="checkbox"]),
#address_edit_forms .sw_input select {
    padding: var(--field-padding);
    font-size: 14px;
}

#address_edit_forms .sw_three_inputs {
    gap: 8px; /* Reduced from 10px */
    margin-bottom: 12px; /* Reduced from 20px */
}

/* Stack City, State, Country vertically (each on own line) - only for the city/state/country group */
#address_edit_forms .sw_three_inputs:has(input[name*="city"]),
#address_edit_forms .sw_three_inputs:has(select[name*="city"]),
#address_edit_forms .sw_three_inputs:has(select[name*="country"]),
#address_edit_forms .sw_three_inputs:has(select[name*="state"]) {
    flex-direction: column; /* Stack vertically instead of horizontally */
    gap: 0; /* No gap since margin-bottom on .sw_input handles spacing */
    margin-bottom: 0; /* Let individual .sw_input margins handle spacing */
}

#address_edit_forms .sw_three_inputs:has(input[name*="city"]) .sw_input,
#address_edit_forms .sw_three_inputs:has(select[name*="city"]) .sw_input,
#address_edit_forms .sw_three_inputs:has(select[name*="country"]) .sw_input,
#address_edit_forms .sw_three_inputs:has(select[name*="state"]) .sw_input {
    margin-bottom: 12px; /* Restore margin since parent gap is 0 */
}

#address_edit_forms .sw_address-row {
    gap: 12px; /* Reduced from 20px */
}

#address_edit_forms .sw_address-col > h4:first-child {
    margin-bottom: 8px; /* Reduced from 10px */
    border-bottom: none !important;
    border: none !important;
}

#address_edit_forms .sw_free {
    margin-bottom: 10px; /* Reduced from 15px */
}

.sw_checkout .sw_address-col .sw_free {
    margin-bottom: 15px;
}

.sw_checkout .sw_free input[type="checkbox"] {
    vertical-align: middle;
}

.sw_checkout .sw_free > p:first-child {
    margin-bottom: 0;
}

/* Specific Item Shipping Cost – informational block below shipping options */
.sw_specific-item-shipping {
    margin-top: 1rem;
}
.sw_specific-item-shipping-label {
    margin: 0 0 6px 0;
    font-size: 0.95em;
    font-weight: 600;
}
/* Keep table fonts in line with shipping method options; avoid inheriting larger sizes */
.sw_specific-item-shipping table {
    font-size: 0.95em;
}
.sw_specific-item-shipping table th {
    font-weight: 600;
}
.sw_specific-item-shipping table td {
    font-weight: inherit;
}
.sw_specific-item-shipping .sw_specific-item-note {
    margin-top: 8px;
    margin-bottom: 0;
}
.sw_specific-item-shipping .sw_override-breakdown {
    font-size: 0.85em;
    font-weight: normal;
    color: #666;
}

.sw_pay {
    margin-top: 15px;
}

.sw_pay p {
    margin-bottom: 10px;
}

.sw_pay .sw_btn button.sw_btn_paypal {
    background: #ffc439;
    color: #003087;
    padding: 12px 30px;
    border: none;
    border-radius: var(--radius-small);
    cursor: pointer;
    font-weight: 600;
}

.sw_pay_check {
    padding: 15px;
    background: #f9f9f9;
    border-radius: var(--radius-medium);
}

.sw_promo-code + .sw_promo-code {
    margin-top: 10px;
}

.sw_promo-code ~ .sw_free {
    margin-top: 25px;
}

.sw_ord_note {
    font-size: 0.9em;
    color: #666;
}

.sw_checkout .sw_btn button {
    padding: 12px 30px;
    background: var(--primary-color, #4c82f7);
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    border-radius: var(--radius-small);
}
.sw_checkout .sw_btn button:hover {
   background: var(--secondary-color, #ff823b);
}
.sw_payment-option span {
    font-size: 18px;
}
.sw_payment-option input[type="radio"] {
    margin: 0px 10px 0px 0px;
    height: 20px;
    width: 20px;
}
/* Each option + its content (CC form, PayPal button, etc.) wrapped together */
.sw_payment-option-wrap {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e2e2e2;
}
.sw_payment-option-wrap:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.sw_payment-option-wrap > .sw_payment-option {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.sw_payment-option {
    display: flex;
    flex-flow: wrap;
    align-items: center;
    border: 1px solid #e2e2e2;
    border-width: 0px 0px 1px 0px;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.sw_icons {
    width: 100%;
    margin-top: 10px;
    display: flex;
    gap: 10px;
}
/* ============================================ */
/* Form fields: inputs, selects, textareas - same base styles */
/* Outliers: promo code & gift certificate only */
/* ============================================ */

.sw_echeck_form_wrapper {
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e2e2e2;
}

.sw_echeck_form_wrapper h4 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: #333;
}

/* Auth subsection – same h4 style as eCheck header above */
.sw_echeck_auth {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e2e2e2;
}

.sw_echeck_form_wrapper > .sw_btn {
    margin-top: 20px;
}

.sw_checkbox_label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.sw_checkbox_label input[type="checkbox"] {
    margin-top: 4px;
    cursor: pointer;
}

.sw_checkbox_label span {
    font-size: 14px;
    line-height: 1.5;
}

/* Register/login/guest choice: panels same spacing and alignment below buttons */
.sw_register_choice_panel {
    display: none;
    margin-top: 1.25rem;
    width: 100%;
}
.sw_register_choice_panel.is-open {
    display: block;
}
/* Reusable smaller button size: add sw_btn_sm to any .sw_btn container */
.sw_btn.sw_btn_sm button {
    padding: 8px 18px;
    font-size: 14px;
}
/* Choice buttons: same style as Place Order button, compact so they fit in a row */
.register_login .sw_register_choice_buttons.sw_btn {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.register_login .sw_register_choice_buttons.sw_btn button {
    padding: 12px 30px;
    background: var(--sw-accent, var(--primary-color, #4c82f7));
    color: var(--sw-accent-contrast, #fff);
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    border-radius: var(--sw-button-radius, var(--sw-radius, var(--radius-small)));
}
.register_login .sw_register_choice_buttons.sw_btn button:hover {
    background: var(--sw-secondary, var(--secondary-color, #ff823b));
}
.register_login .sw_register_choice_buttons.sw_btn.sw_btn_sm button {
    padding: 8px 18px;
    font-size: 14px;
}
/* Standalone /login and /register + guest Continue: same button style as checkout choice (Sign in + Create account) */
.login_form .sw_btn.sw_btn_sm,
.login_box .sw_btn.sw_btn_sm,
.register_form .sw_btn.sw_btn_sm,
.register_box .sw_btn.sw_btn_sm,
.checkout_guest_form .sw_btn.sw_btn_sm,
.already_user.sw_btn.sw_btn_sm {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
.login_form .sw_btn.sw_btn_sm button,
.login_box .sw_btn.sw_btn_sm button,
.register_form .sw_btn.sw_btn_sm button,
.register_box .sw_btn.sw_btn_sm button,
.checkout_guest_form .sw_btn.sw_btn_sm button {
    padding: 8px 18px;
    font-size: 14px;
    background: var(--sw-accent, var(--primary-color, #4c82f7));
    color: var(--sw-accent-contrast, #fff);
    border: none;
    cursor: pointer;
    font-weight: 400;
    border-radius: var(--sw-button-radius, var(--sw-radius, var(--radius-small)));
}
.login_form .sw_btn.sw_btn_sm button:hover,
.login_box .sw_btn.sw_btn_sm button:hover,
.register_form .sw_btn.sw_btn_sm button:hover,
.register_box .sw_btn.sw_btn_sm button:hover,
.checkout_guest_form .sw_btn.sw_btn_sm button:hover {
    background: var(--sw-secondary, var(--secondary-color, #ff823b));
}
.login_form .sw_btn.sw_btn_sm a,
.login_box .sw_btn.sw_btn_sm a,
.register_form .sw_btn.sw_btn_sm a,
.register_box .sw_btn.sw_btn_sm a,
.already_user.sw_btn.sw_btn_sm a {
    padding: 8px 18px;
    font-size: 14px;
    border: 1px solid var(--sw-border-color, #b2b1b1);
    background: transparent;
    border-radius: var(--sw-button-radius, var(--sw-radius, var(--radius-small)));
    color: var(--sw-link, inherit);
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-weight: 400;
}
.login_form .sw_btn.sw_btn_sm a:hover,
.login_box .sw_btn.sw_btn_sm a:hover,
.register_form .sw_btn.sw_btn_sm a:hover,
.register_box .sw_btn.sw_btn_sm a:hover,
.already_user.sw_btn.sw_btn_sm a:hover {
    border-color: var(--sw-accent, var(--primary-color, #4c82f7));
    color: var(--sw-accent, var(--primary-color, #4c82f7));
}
.register_form .sw_btn_submit,
.register_box .sw_btn_submit {
    margin-top: 1.25rem;
}
/* Same distance from buttons: zero extra top space from inner wrappers */
.sw_register_choice_panel .login_area,
.sw_register_choice_panel .register_area,
.sw_register_choice_panel .checkout_guest_form {
    width: 100%;
    margin-top: 0;
    padding-top: 0;
}
.sw_register_choice_panel .form_box_wrapper,
.sw_register_choice_panel .login_box,
.sw_register_choice_panel .register_box,
.sw_register_choice_panel .creds_input,
.sw_register_choice_panel .login_form,
.sw_register_choice_panel .register_form {
    margin-top: 0;
    padding-top: 0;
    width: 100%;
    max-width: none;
}
.sw_register_choice_panel .register_form {
    width: 100%;
}
/* Register-only top blocks: hide in choice panel so first field aligns with login/guest */
.sw_register_choice_panel .pre_account_info,
.sw_register_choice_panel .already_user {
    display: none;
}
/* Pull register first field up to match login/guest (e.g. module region above adds space) */
.sw_register_choice_panel .register_form form {
    margin-top: 0;
    padding-top: 0;
}
.sw_register_choice_panel .register_form form > div.already_user + div.field_box,
.sw_register_choice_panel .register_form form > div.pre_account_info + div.field_box {
    margin-top: -0.5rem;
}

/* Checkout, register-step, and standalone login/register/guest share the same input styling */
.sw_checkout .sw_input,
.sw_register_choice_panel .sw_input,
.login_form .sw_input,
.register_form .sw_input,
.register_box .creds_input .sw_input,
.checkout_guest_form .sw_input {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}

.sw_register_choice_panel .sw_input label,
.login_form .sw_input label,
.checkout_guest_form .sw_input label {
    display: block;
    margin-bottom: var(--sw-field-gap, 0.35rem);
}

/* Shared base – all text inputs, selects, textareas */
.sw_checkout .sw_input input:not([type="radio"]):not([type="checkbox"]),
.sw_checkout .sw_input select,
.sw_checkout .sw_input textarea,
.sw_register_choice_panel .sw_input input:not([type="radio"]):not([type="checkbox"]),
.sw_register_choice_panel .sw_input select,
.sw_register_choice_panel input.inp,
.sw_register_choice_panel .field_box input.inp,
.sw_register_choice_panel textarea.inp,
.login_form input.inp,
.login_form textarea.inp,
.register_form input.inp,
.register_form .field_box input.inp,
.register_form select.inp,
.register_form .field_box select.inp,
.register_form textarea.inp,
.register_box .creds_input input.inp,
.register_box .creds_input .field_box input.inp,
.register_box .creds_input select.inp,
.register_box .creds_input .field_box select.inp,
.register_box .creds_input textarea.inp,
.checkout_guest_form input,
.checkout_guest_form textarea {
    width: 100%;
    min-height: var(--field-min-height);
    height: calc(1.2em + var(--sw-field-padding-y, 0.55rem) + var(--sw-field-padding-y, 0.55rem) + 2px);
    padding: var(--field-padding);
    border: var(--field-border);
    border-radius: var(--field-radius);
    background-color: var(--field-bg);
    color: var(--field-text);
    font-family: var(--sw-font-family, inherit) !important;
    font-size: var(--field-font-size);
    line-height: 1.2;
    box-sizing: border-box;
    display: block;
    transition: border-color 0.2s ease;
}

.sw_checkout .sw_input textarea,
.sw_register_choice_panel textarea.inp,
.login_form textarea.inp,
.register_form textarea.inp,
.register_box .creds_input textarea.inp,
.checkout_guest_form textarea {
    height: auto;
}

.sw_checkout .sw_input input:not([type="radio"]):not([type="checkbox"]):focus,
.sw_checkout .sw_input select:focus,
.sw_checkout .sw_input textarea:focus,
.sw_register_choice_panel .sw_input input:focus,
.sw_register_choice_panel input.inp:focus,
.sw_register_choice_panel .field_box input:focus,
.login_form input:focus,
.register_form input.inp:focus,
.register_form .field_box input:focus,
.register_box .creds_input input:focus,
.checkout_guest_form input:focus {
    outline: none;
    border-color: var(--field-focus-color);
}

.sw_checkout .sw_input input::placeholder,
.sw_register_choice_panel input::placeholder,
.login_form input::placeholder,
.register_form input::placeholder,
.register_box .creds_input input::placeholder,
.checkout_guest_form input::placeholder {
    color: var(--field-placeholder);
}

/* Register/Login/Guest: password toggle, table→stack, field_box (checkout step + standalone) */
.sw_register_choice_panel .field_box,
.register_form .field_box,
.register_box .creds_input .field_box {
    display: block;
    margin-bottom: 1rem;
    position: relative;
}
.sw_register_choice_panel .field_box.wicon input,
.sw_register_choice_panel .sw_password_wrap input,
.register_form .field_box.wicon input,
.register_form .sw_password_wrap input,
.login_form .field_box.wicon input,
.login_form .sw_password_wrap input {
    padding-right: 4rem;
}
.sw_register_choice_panel .sw_password_wrap,
.login_form .sw_password_wrap,
.register_form .sw_password_wrap {
    position: relative;
    display: block;
}
.sw_register_choice_panel .sw_password_toggle,
.sw_register_choice_panel .toggle-password,
.login_form .sw_password_toggle,
.login_form .toggle-password,
.register_form .sw_password_toggle,
.register_form .toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.85em;
    color: #666;
}
/* Override script-set inline left/top on .toggle-password; 35px from right so it clears the ? tooltip */
.sw_register_choice_panel .toggle-password,
.register_form .toggle-password,
.register_box .creds_input .toggle-password {
    left: auto !important;
    right: 35px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
.sw_register_choice_panel .tooltip_overlay,
.register_form .tooltip_overlay {
    position: relative;
}

/* Help/tooltip question-mark icons: align to right of input, vertically centered */
.sw_register_choice_panel .tooltip_overlay .tooltip,
.sw_register_choice_panel .field_box.wicon > .tooltip,
.register_form .tooltip_overlay .tooltip,
.register_form .field_box.wicon > .tooltip,
.register_box .creds_input .tooltip_overlay .tooltip,
.register_box .creds_input .field_box.wicon > .tooltip {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}
.sw_register_choice_panel .tooltip_overlay.t2 .tooltip,
.register_form .tooltip_overlay.t2 .tooltip {
    right: 10px;
}
.sw_register_choice_panel .tooltip_overlay.t2 .tooltip2,
.register_form .tooltip_overlay.t2 .tooltip2 {
    right: 2.5rem;
}
.sw_register_choice_panel table,
.register_form table { border: none; width: 100%; }
.sw_register_choice_panel table tr,
.register_form table tr { display: block; margin-bottom: 1rem; }
.sw_register_choice_panel table td,
.register_form table td { display: block; padding: 0; border: none; }
.sw_register_choice_panel table td.lbl,
.register_form table td.lbl { margin-bottom: 0.35rem; }
.sw_register_choice_panel .sw_checkbox_lbl,
.login_form .sw_checkbox_lbl,
.register_form .sw_checkbox_lbl { display: block; margin-bottom: 0.5rem; }
.sw_register_choice_panel .sw_checkbox_lbl input[type="checkbox"],
.login_form .sw_checkbox_lbl input[type="checkbox"],
.register_form .sw_checkbox_lbl input[type="checkbox"] { margin-right: 0.5rem; vertical-align: middle; }

/* Select-only: custom arrow, no layout change */
.sw_checkout .sw_input select {
    cursor: pointer;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

.sw_checkout .sw_input select::-ms-expand {
    display: none;
}

/* Textarea-only: slightly less padding, resize */
.sw_checkout .sw_input textarea {
    padding: var(--field-padding-sm);
    resize: vertical;
    line-height: 1.5;
}

/* Outlier: Check Number – max-width only */
.sw_checkout .sw_input input.sw_input_small {
    max-width: 200px;
}

.sw_checkout .sw_three_inputs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.sw_checkout .sw_three_inputs .sw_input {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}

.sw_ord {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
}
.sw_ord p {
    margin: 0px 0px 10px;
}
.sw_ord.sw_brd-bt {
    border: 1px solid gainsboro;
    border-width: 0px 0px 1px;
    margin-bottom: 20px;
}
.sw_col-cs-4 .sw_btn {
    text-align: center;
}
p.sw_ord-sum {
    font-size: 14px;
    color: gray;
}

/* Remaining Balance amount bold */
[data-summary-type="charge_total"] .sw_amount {
    font-weight: bold;
}

.sw_promo-code {
    display: flex;
    width: 100%;
    gap: 0;
}

input.sw_promo-input {
    border: var(--field-border);
    padding: var(--field-padding);
    border-radius: 10px 0 0 10px;
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    border-width: 1px 0 1px 1px;
}

button.sw_apply-btn {
    flex: 0 0 auto;
    min-width: 48px;
    padding: var(--field-padding);
    color: var(--primary-color, #4c82f7);
    background: transparent;
    border: var(--field-border);
    font-weight: 600;
    border-radius: 0 10px 10px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.sw_item h4.sw_fst {
    font-weight: 400;
    margin-top: 0px;
    margin-bottom: 10px;
}
h4.sw_ttl {
    margin-top: 0px;
    font-size: 22px;
}
.sw_item {
    display: flex;
    gap: 20px;
    border: 1px solid gainsboro;
    border-width: 1px 0px 0px;
    padding-top: 20px;
}
.sw_item-img {
    width: 22%;
}
.sw_item-img img {
    width: 100%;
}
.sw_col-cs-4 .sw_btn button {
    width: 100%;
}
h4.sw_shr {
    margin: 3px 0px !important;
    font-weight: 400;
}
.sw_ship_2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sw_dlt h4 {
    margin: 10px 0px 5px;
    font-size: 14px;
}
.sw_ship_2 .sw_bt button {
    padding: 10px 22px;
    color: var(--primary-color, #4c82f7);
    background: transparent;
    border: 2px solid var(--primary-color, #4c82f7);
    border-radius: var(--radius-large);
    cursor: pointer;
    font-weight: 500;
    font-size: 12px;
}
.sw_item .sw_cnt {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.sw_cnt img {
    width: 17px;
}
.sw_cn1 p {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0px;
}
.sw_sve {
    display: flex;
    justify-content: end;
    gap: 60px;
    align-items: center;
}
.sw_sve a {
    text-decoration: underline;
    text-underline-offset: 5px;
}
.sw_counter {
    padding: 5px 10px;
    width: 100px;
    justify-content: space-between;
    display: flex;
}
.sw_counter button {
    border-radius: 100px;
    width: 25px;
    height: 25px;
    border: unset;
    cursor: pointer;
    font-size: 17px;
}
.sw_main-item {
    padding-top: 10px;
}
/* Package sub-items (like production cart) */
.sw_package_children {
    margin-top: 8px;
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid var(--sw-border-color, #e0e0e0);
}
.sw_package_sub {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 4px 0;
    font-size: 0.95em;
}
.sw_package_sub_name {
    flex: 1 1 60%;
    min-width: 0;
}
.sw_package_sub_price {
    flex: 0 0 auto;
}
.sw_package_sub_qty {
    flex: 0 0 auto;
}
.sw_strike {
    text-decoration: line-through;
    margin-right: 4px;
}
@media (max-width: 767px) {
    .sw_det_container.sw_checkout {
        flex-flow: wrap;
    }
    .sw_checkout .sw_inner-cnt {
        padding: 18px;
        margin-bottom: 20px;
    }
    .sw_checkout .sw_input {
        --field-padding: 10px;
        --field-padding-sm: 8px;
    }
    .sw_checkout .sw_input input:not([type="radio"]):not([type="checkbox"]),
    .sw_checkout .sw_input select,
    .sw_checkout .sw_input textarea {
        font-size: 13px;
    }
    .sw_checkout p {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .sw_item {
        gap: 10px;
    }
    h4.sw_ttl {
        margin-bottom: 5px;
    }
    .sw_item .sw_cnt h4 {
        font-size: 14px;
    }
    .sw_col-cs-4 .sw_btn {
        margin-top: 20px;
    }
    p.sw_ord-sum {
        text-align: center;
    }
    .sw_dlt h4 {
        margin: 20px 0px 5px;
        font-size: 13px;
    }
    .sw_ship_2 .sw_bt button {
        font-size: 11px;
        padding: 8px 12px;
    }
    .sw_item .sw_cnt {
        font-size: 13px;
    }
    .sw_item-img {
        width: 34%;
        align-content: center;
    }
    .sw_sve {
        gap: 20px;
        font-size: 12px;
        justify-content: space-between;
        line-height: 25px;
    }
    .sw_counter {
        width: 80px;
        padding: 10px 0px;
    }
    p.sw_b {
        margin-top: 5px;
        color: var(--primary-color, #4c82f7);
    }
    .sw_cn1 p {
        font-size: 13px;
        margin-bottom: 0px;
    }
    input.sw_promo-input {
        padding: 10px;
        border-radius: 10px 0 0 10px;
    }
    button.sw_apply-btn {
        padding: 10px;
        border-radius: 0 10px 10px 0;
    }
}
@media (max-width: 1200px) and (min-width: 768px) {
    .sw_checkout .sw_input {
        --field-padding: 10px;
        --field-padding-sm: 8px;
    }
    input.sw_promo-input {
        padding: 10px;
    }
    button.sw_apply-btn {
        padding: 10px;
    }
    .sw_checkout p {
        font-size: 14px;
        margin-bottom: 10px;
    }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    .sw_det_container.sw_checkout .sw_col-cs-8 {
        width: 58% !important;
        flex: 0 0 58% !important;
    }

    .sw_det_container.sw_checkout .sw_col-cs-4 {
        width: 40% !important;
        flex: 0 0 40% !important;
    }

    /* Reduce gap between main columns */
    .sw_det_container.sw_checkout {
        gap: 15px;
    }

    /* Reduce gap between billing and shipping address columns */
    .sw_checkout .sw_address-row {
        gap: 10px !important;
    }

    /* Reduce padding in inner containers */
    .sw_checkout .sw_inner-cnt {
        padding: 20px 20px 10px 20px;
    }

    /* Promo / gift: smaller in tight containers */
    .sw_checkout input.sw_promo-input {
        padding: 10px 8px;
        font-size: 12px;
        flex: 0.90;
    }
    .sw_checkout button.sw_apply-btn {
        padding: 10px 8px;
        font-size: 12px;
        flex: 0.30;
    }
}

/* v2: remove gray block – use "Payment Method" heading only (h3 removed via PHP) */
#v2_cc_section #card_info_area,
#v2_cc_section #card_info {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* v2: payment option areas (CC, PayPal, eCheck, etc.) */
.v2-payopt-area {
    margin-top: 12px;
}

/* v2: CC block below credit card radio */
.sw_cc-below-radio {
    margin-top: 12px;
}
.sw_cc-below-radio .separated_area {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
