/*
Theme Name: JS FSGroup Theme

WooCommerce styles override
*/
.woocommerce {
	/*margin-top: 2rem; */
}

/* MY ACCOUNT STYLES */
.woocommerce-account-login .entry-content .woocommerce {
    max-width: 540px;
    margin: 2rem auto;
    border: 1px solid #dddddd;
    padding: 2.5rem;
    border-radius: 0.375rem;
}

/* Container and general */
.woocommerce .woocommerce-form-login {
    max-width: 28rem;
    margin: 0 auto;
    padding: 2rem;
}

/* Headings */
.woocommerce #customer_login .u-column1 h2,
.woocommerce #customer_login .u-column2 h2  {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-align: center;
}

/* Form rows */
.woocommerce-form-row {
    margin-bottom: 1.25rem;
}

/* Labels */
.woocommerce-form-row label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 700;
    color: #4b5563;
    font-size: 13.5px;
    letter-spacing: normal;
}

/* Inputs */
.woocommerce-form-row input[type="text"],
.woocommerce-form-row input[type="password"] {
    width: 100%;
    border: 1px solid #d1d5db;
    padding: 0.25rem;
    margin: 0;
    height: auto;
    border-radius: 0;
    outline: none;
    transition: all 0.2s;
}

/* Password show button */
.password-input {
    position: relative;
    display: flex;
    align-items: center;
}

.show-password-input {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    width: 2.5rem;
    height: 2.5rem;
    cursor: pointer;
    color: #9ca3af;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    transform: translateY(-50%);
    --icon-content: "\e8f4" !important;
}

.show-password-input:hover {
    color: #4b5563; 
}

.show-password-input::after {
    content: var(--icon-content);
    font-family: "Material Icons";
    font-weight: 500;
    font-size: 1.25rem;
    pointer-events: none;
    color: currentColor;
    display: block;
    line-height: 1;
}

.show-password-input.active::after {
    content: "\e8f5" !important; /* eye-slash */
}

/* Checkbox container */
.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
    accent-color: #f18a7c;
    border: 1px solid #d1d5db;
    border-radius: 0.25rem;
}

.woocommerce-form-login__rememberme span {
    user-select: none;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: normal;
}

/* Lost password link */
.woocommerce-LostPassword a {
    font-size: 0.875rem;
    color: #f18a7c;
    display: block;
    margin-top: 1rem;
    text-align: center;
    letter-spacing: normal;
    text-decoration: none;
}

.woocommerce-LostPassword a:hover {
    color: #f97361; /* coral-700 */
}

.woocommerce #customer_login .switch-to-register,
.woocommerce #customer_login .switch-to-login,
.woocommerce #customer_login .switch-to-register a,
.woocommerce #customer_login .switch-to-login a {
	font-size: 0.875rem;
    text-align: center;
}

/* Buttons */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background-color: #3e3840;
    color: white;
    border: 1px solid #3e3840;
    border-radius: 2px;
    padding: 10px 40px;
    width: 100%;
    cursor: pointer;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: #f18a7c;
    border-color: #f18a7c;
    color: white;
}

.woocommerce-account form button[type="submit"] {
    margin-top: 2rem;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.5rem 0;
    background-color: black;
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}

.woocommerce-account form button[type="submit"]:hover {
    background-color: #f18a7c;
}

/* My Account Page Layout */
body.logged-in.woocommerce-account .woocommerce {
    margin-top: 3rem;
    margin-bottom: 6rem;
    display: flex;
    flex-direction: column;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1200px) {
    body.logged-in.woocommerce-account .woocommerce {
        flex-direction: row;
        gap: 2rem;
    }

    body.logged-in.woocommerce-account .woocommerce > nav.woocommerce-MyAccount-navigation {
        width: 25%;
        border-right: 1px solid #d1d5db;
    }

    body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
        width: 75%;
        padding: 1.5rem;
    }
}

/* Lost password form wrapper */
.woocommerce-lost-password .woocommerce {
    max-width: 28rem;
    margin: 0 auto;
    border: 1px solid #d1d5db;
    padding: 2.5rem;
    border-radius: 0.375rem;
}

.woocommerce-lost-password .woocommerce form .form-row-first {
    width: 100%;
}

/* Account form row spacing */
.woocommerce-account .woocommerce form .form-row {
    margin-bottom: 1.25rem;
}

/* Nav wrapper: width and border right */
.woocommerce > nav.woocommerce-MyAccount-navigation {
    width: 100%;
    max-width: 25%;
    border-right: 1px solid #d1d5db;
    background-color: white;
    border-radius: 0.375rem;
}

/* Nav list no padding, no bullets */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: white;
}

/* Nav list items with border top between */
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link + .woocommerce-MyAccount-navigation-link {
    border-top: 1px solid #dddddd;
}

/* Nav links: flex items center, gap, text styling */
.woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #4b5563;
    text-decoration: none;
    padding: 0.75rem 1rem;
    width: 100%;
    transition: color 0.3s;
}

.woocommerce-MyAccount-navigation ul li a:focus {
    outline: none;
}

/* Nav icon wrapper */
.woocommerce-MyAccount-navigation-link span.ahfb-svg-iconset {
    vertical-align: middle;
    color: #f18a7c;
}

/* Icon SVG fill current color */
.woocommerce-MyAccount-navigation-link span.ahfb-svg-iconset svg,
.woocommerce-MyAccount-downloads-file svg {
    fill: currentColor;
}

/* Nav list item positioning */
li.woocommerce-MyAccount-navigation-link {
    position: relative;
}

/* Nav active and hover indicator bar */
li.woocommerce-MyAccount-navigation-link.is-active:after,
li.woocommerce-MyAccount-navigation-link:hover:after {
    content: "";
    position: absolute;
    top: 1px;
    right: -1px;
    height: 100%;
    width: 3px;
    background-color: #f18a7c;
    opacity: 1;
    transition: opacity 0.3s;
    z-index: 9;
}

/* Active and hover link text color */
.woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-MyAccount-navigation-link:hover a {
    color: #f18a7c;
}

/* Account content wrapper */
.woocommerce > .woocommerce-MyAccount-content {
    width: 100%;
    max-width: 100%
    padding: 1.5rem;
    background-color: white;
    border-radius: 0.375rem;
}

/* Form fieldset legends */
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
    border-bottom: none;
    font-size: 1.125rem;
    font-weight: 600;
    color: black;
}

/* Table styling inside account content */
.woocommerce-order-details .shop_table,
.woocommerce-order-pay .shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 2rem;
    border-radius: 0.375rem;
    border: 1px solid #d1d5db;
}

/* Hide table headers for orders and pay */
.woocommerce-order-details .shop_table thead,
.woocommerce-order-pay .shop_table thead {
    display: none;
}

/* Table cells padding and borders */
.woocommerce-order-details .shop_table tbody tr td,
.woocommerce-order-pay .shop_table tbody tr td {
    padding: 1rem;
    border-bottom: 1px solid #d1d5db;
    box-sizing: border-box;
}

/* Table footer rows styling */
.woocommerce-order-details .shop_table tfoot tr:first-child th,
.woocommerce-order-details .shop_table tfoot tr:first-child td,
.woocommerce-order-pay .shop_table tfoot tr:first-child th,
.woocommerce-order-pay .shop_table tfoot tr:first-child td {
    padding-top: 1rem;
    padding-bottom: 0.5rem;
    border: none;
    background-color: #f3f4f6;
    font-weight: normal;
}

.woocommerce-order-details .shop_table tfoot tr:last-child th,
.woocommerce-order-details .shop_table tfoot tr:last-child td,
.woocommerce-order-pay .shop_table tfoot tr:last-child th,
.woocommerce-order-pay .shop_table tfoot tr:last-child td {
    border-top: 1px solid #d1d5db;
    font-size: 1rem;
    padding-top: 0.5rem;
}

/* Price amount font weight */
.woocommerce table.shop_table .woocommerce-Price-amount,
.woocommerce-page table.shop_table .woocommerce-Price-amount {
    font-weight: normal;
}

/* Highlight marks in orders */
mark.order-status,
mark.order-date,
mark.order-number,
td.woocommerce-table__product-name.product-name a,
td.woocommerce-table__product-total.product-total span bdi {
    font-weight: bold;
}

/* Account content titles and table theads */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title,
.woocommerce .woocommerce-Addresses .woocommerce-Address-title,
.woocommerce table.shop_table thead,
.woocommerce-page table.shop_table thead {
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
}

/* Addresses, customer details, and order tables border */
.woocommerce-account .woocommerce-customer-details address,
.woocommerce-account .woocommerce-MyAccount-content address,
.woocommerce-order-details table.shop_table,
.woocommerce-order-pay table.shop_table {
    border: 1px solid #d1d5db;
}

/* Pagination nargin in my account*/
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination {
    margin-top: 2rem; /* mt-8 */
}

/* Responsive Nav & Content widths on small screens */
@media (max-width: 1200px) {
    .woocommerce > nav.woocommerce-MyAccount-navigation {
        width: 100%;
        max-width: 100%;
    }
    .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.25rem;
        margin-bottom: 2rem;
    }
}
@media (max-width: 1140px) {
    .woocommerce > nav.woocommerce-MyAccount-navigation,
    .woocommerce > .woocommerce-MyAccount-content {
        width: 100%;
        border: none;
        padding: 0;
        background-color: transparent;
        border-radius: 0;
    }
    .woocommerce-MyAccount-navigation ul li a {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 781px) {
    .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 1.25rem;
        margin-bottom: 2rem;
    }
}
/* FontAwesome icons for nav links */
.woocommerce-MyAccount-navigation li.has-icon a::before {
    margin-right: 0.5rem;
    font-size: 1rem;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
}

.woocommerce-MyAccount-navigation li.fa-house a::before { content: "\f015"; }
.woocommerce-MyAccount-navigation li.fa-box a::before { content: "\f49e"; }
.woocommerce-MyAccount-navigation li.fa-download a::before { content: "\f019"; }
.woocommerce-MyAccount-navigation li.fa-address-book a::before { content: "\f2b9"; }
.woocommerce-MyAccount-navigation li.fa-user a::before { content: "\f007"; }
.woocommerce-MyAccount-navigation li.fa-arrow-right-from-bracket a::before { content: "\f2f5"; }

/* Target only the My Account dashboard intro paragraphs */
.woocommerce-MyAccount-content > p {
    font-size: 0.875rem;
}

/* Target links inside those paragraphs */
.woocommerce-MyAccount-content > p a {
    color: #f18a7c;
}

/* Woocommerce Addresses */
.woocommerce-Addresses {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .woocommerce-Addresses {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Each column container */
.woocommerce-Address {
    display: flex;
    flex-direction: column;
    border-radius: 0;
}

/* Top grey box in each column */
.woocommerce-Address > header.woocommerce-Address-title {
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
    border-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 0;
}

/* Edit link on right */
.woocommerce-Address > header.woocommerce-Address-title a.edit {
    color: #f18a7c;
    font-size: 0.75rem;
    text-decoration: none;
    white-space: nowrap;
}
.woocommerce-Address > header.woocommerce-Address-title a.edit:hover {
    text-decoration: underline;
}

/* Bottom white address box attached below */
.woocommerce-Address > address {
    background-color: #ffffff;
    border: 1px solid #d1d5db;
    border-top: 0;
    padding: 1rem 1.5rem;
    font-size: 0.875rem;
    color: #4a4a4a;
    line-height: 1.5;
    border-radius: 0;
}

/* Optional: Add margin to the paragraph above the button to give space */
#acfw-store-credits-my-account p {
    margin-bottom: 20px;
}

/* Optional: Add margin to the table to create space between button and table */
#acfwf_store_credits_app .ant-table-wrapper {
    margin-top: 20px;
}

/* Override the "Continue Shopping" button in the store credits section */
#acfw-store-credits-my-account a.button.alt {
    background-color: var(--link-color, #f18a7c);
    border: 2px solid var(--link-color, #f18a7c);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 0;
    margin: 0;
    transition: all 0.2s ease;
}

/* Hover state */
#acfw-store-credits-my-account a.button.alt:hover {
    background-color: #fff;
    color: #f18a7c;
    border-color: #f18a7c;
}

/* Account Details */

/* Container spacing */
.woocommerce-account form {
    margin-left: auto;
    margin-right: auto;
    padding: 2rem;
}

/* Form row base */
.woocommerce-account form p.form-row {
    position: relative;
    margin-bottom: 1.5rem;
}

/* Wrap First and Last name fields in flex container on md+ screens */
@media (min-width: 781px) {
    .woocommerce-account form {
        display: flex;
        flex-wrap: wrap;
    }
}

/* First & Last name side by side */
.woocommerce-account .form-row-first,
.woocommerce-account .form-row-last {
    width: 50%;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
}
.woocommerce-account .form-row-first {
    padding-right: 0.5rem;
}
.woocommerce-account .form-row-last {
    padding-left: 0.5rem;
}

/* Avoid flexing unrelated fields */
#account_display_name_field,
#account_email_field,
#password_current_field,
#password_1_field,
#password_2_field {
    width: 100%;
}

/* Avoid flex affecting other unrelated elements */
.woocommerce-account form > *:not(.form-row-first):not(.form-row-last) {
    flex-basis: 100%;
}

/* Inputs styles */
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"] {
    padding-top: 1.5rem;
    padding-bottom: 0.25rem;
    padding-left: 1.25rem;
    width: 100%;
    border: 1px solid #d1d5db;
    font-size: 0.875rem;
    background-color: transparent;
}

/* Custom Select2 arrow */
.woocommerce-account form .select2-container--default .select2-selection--single {
    position: relative;
    border-bottom: 2px solid #d1d5db;
    padding-top: 1.25rem; /* pt-5 */
    padding-bottom: 0.25rem; /* pb-1 */
    padding-left: 1.25rem;
    font-size: 0.875rem;
    background-color: transparent;
    width: 100%;
    height: 2.5rem;
    line-height: 1.25rem;
}

.woocommerce-account form .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.woocommerce-account form .select2-container--default .select2-selection--single .select2-selection__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1rem;
    height: 1rem;
    transform: translate(-50%, -50%);
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* Labels always visible inside inputs (except password fields start hidden) */
/* Labels remain as floating labels if needed */
.woocommerce-account form label {
    position: absolute;
    left: 0.75rem;
    top: 0;
    color: #4b5563;
    font-size: 0.75rem;
    font-weight: 400;
    transition: all 0.2s;
    pointer-events: none;
    user-select: none;
}

/* The description/em under inputs */
.woocommerce-account form em {
    position: static;
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #6b7280;
    font-style: italic;
    pointer-events: auto;
}

/* Password labels hidden initially */
#password_current_field label,
#password_1_field label,
#password_2_field label {
    opacity: 0;
    top: 12px;
    transition: opacity 0.2s ease, top 0.2s ease;
}

/* Show password label on focus or when input has value */
#password_current_field input.peer:focus + label,
#password_current_field input.peer:not(:placeholder-shown) + label,
#password_1_field input.peer:focus + label,
#password_1_field input.peer:not(:placeholder-shown) + label,
#password_2_field input.peer:focus + label,
#password_2_field input.peer:not(:placeholder-shown) + label {
    opacity: 1;
    top: 3px;
    left: 3px;
    color: #f18a7c;
    background-color: white;
    padding: 0;
}

/* Placeholder style */
input::placeholder {
    color: #9ca3af;
    opacity: 1;
}

/* Labels always visible for non-password fields */
#account_first_name_field label,
#account_last_name_field label,
#account_display_name_field label,
#account_email_field label {
    top: 0;
    left: 0.75rem;
    color: #f18a7c;
    background: white;
    padding: 0 0.25rem;
}

/* Submit button */
.woocommerce-account form button[type="submit"]:not(.woocommerce-form-login__submit) {
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
    max-width: 150px;
    background-color: #000;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}

.woocommerce-account form button[type="submit"]:not(.woocommerce-form-login__submit):hover {
    background-color: #f18a7c;
}

/* Password strength meter */
.woocommerce-password-strength {
    text-align: center;
    font-weight: 600;
    padding: 0.1875rem 0.5rem;
    font-size: 1rem;
}

.woocommerce-password-strength.short {
    background-color: #fca5a5;
    color: #fff;
}

/* Password hint */
.woocommerce-password-hint {
    margin: 0.5em 0 0;
    display: block;
}

/* Small text */
small {
    font-size: 0.75rem;
}

/* Remove focus outlines */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    outline: none;
    color: inherit !important;
}

/* Inputs & Select2 alignment */
input::placeholder,
.select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
    margin-left: 0;
    line-height: 2.5rem;
}

/* Misc */
.break-inside-avoid {
    break-inside: avoid;
}

/* WooCommerce Breadcrumbs */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) 
.woocommerce-breadcrumb a,
body:not(.woocommerce-uses-block-theme) 
.woocommerce-breadcrumb a {
    color: #f18a7c !important;
}

@media (max-width: 1199px) {
    #header-mini-cart {
        overflow-y: auto;
    }
}

/* =========================
   Wishlist Table Layout
========================= */
/* Container */
.woosw-list {
    margin-top: 2rem;
    margin-bottom: 2rem;
    font-family: 'Century Gothic', sans-serif;
}

/* Table styling */
.woosw-list .woosw-items {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

/* Table cells */
.woosw-list .woosw-items td,
.woosw-list .woosw-items th {
    border: 1px solid #e0e0e0; /* column borders */
    vertical-align: middle;
    padding: 10px;
}

/* Remove X column */
.woosw-list .woosw-item--remove {
    text-align: center;
}

/* Product Image column */
.woosw-list .woosw-item--image {
    text-align: center;
}
.woosw-list table.woosw-items .woosw-item .woosw-item--image img{
    width: auto !important;
    height: auto;
    border-radius: 4px;
}

/* Info column: product name + price + added on */
.woosw-list .woosw-item--info {
    width: 30%;
}
.woosw-list .woosw-item--name a {
    font-weight: 400 !important;
    color: #f18a7c !important;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
}
.woosw-list .woosw-item--price {
    font-size: 14px;
    color: #555;
}
.woosw-list .woosw-item--time {
    font-size: 12px;
    color: #999;
}

/* Actions column */
.woosw-list .woosw-item--actions {
    width: 40%;
    text-align: right;
    position: relative;
}

/* Stock info top right */
.woosw-list .woosw-item--stock p {
    font-size: 14px;
    font-weight: 500;
    text-align: right;
    margin-bottom: 10px;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
        color: #f18a7c !important;
}

/* Add to Bag button */
.woosw-list .woosw-item--atc .button.add_to_cart, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button {
    background-color: var(--link-color, #f18a7c) !important;
    color: #fff !important;
    border: 2px solid var(--link-color, #f18a7c) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    padding: 15px 10px !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
    display: block !important;
    width: fit-content !important;
    transition: all 0.2s ease !important;
}

.woosw-list .woosw-item--atc .button.add_to_cart:hover {
    background-color: #fff !important;
    color: var(--link-color, #f18a7c) !important;
    border-color: var(--link-color, #f18a7c) !important;
}

/* Force wishlist row hover to light gray */
.woosw-list .woosw-items tr.woosw-item:hover td {
    background-color: #ffffff !important;
}

/* =========================
   Wishlist Share + Copy Section
========================= */

/* Container */
.woosw-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}

/* Share icons */
.woosw-actions .woosw-share {
    font-size: 15px;
}
.woosw-actions .woosw-share span {
    font-weight: 500;
}

.woosw-actions .woosw-share a:hover {
    background-color: var(--link-color, #f18a7c);
    color: #fff;
}

/* Copy URL section */
.woosw-actions .woosw-copy {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 15px;
}
.woosw-actions .woosw-copy span.woosw-copy-label {
    white-space: nowrap;
}
.woosw-actions .woosw-copy input {
    padding: .75em;
    border: 1px solid #ccc;
    border-radius: 2px;
    width: 150px;
}
.woosw-actions .woosw-copy .button {
    padding: 6px 12px;
    background-color: var(--link-color, #f18a7c);
    color: #fff;
    border: 2px solid var(--link-color, #f18a7c);
    border-radius: 0;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
}
.woosw-actions .woosw-copy .button:hover {
    background-color: #fff;
    color: var(--link-color, #f18a7c);
    border-color: var(--link-color, #f18a7c);
}

/* =========================
   Responsive Adjustments
========================= */
@media (max-width: 781px) {
    .woosw-list .woosw-items {
        display: table; /* keep table layout */
        width: 100%;
    }
    .woosw-list .woosw-items td,
    .woosw-list .woosw-items th {
        display: table-cell;
        vertical-align: middle;
    }
    .woosw-list .woosw-item--name a {
        font-size: 14px;
    }
    .woosw-list .woosw-item--price {
        font-size: 12px;
    }
    .woosw-items .woosw-item .woosw-item--remove {
        padding: 0;
    }
    .woosw-items .woosw-item .woosw-item--remove span:before {
        font-size: 14px;
    }
    .woosw-list table.woosw-items .woosw-item .woosw-item--image {
        padding: 0;
    }
    .woosw-actions {
        flex-direction: column;
        gap: 10px;
    }
}

.site-header-wishlist .header-wishlist::before {
    display: none;
}

/* WooCommerce Notices */
.woocommerce-notices-wrapper {
	margin-bottom: 1.5rem;
}
.woocommerce-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #fff0f0 !important;
    border-top: 4px solid #f18a7c !important; 
    color: #4a4a4a;
    font-size: 1.125rem !important;
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-radius: 0;
    line-height: 1.4;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    content: "" !important; 
    margin-right: 0.75rem !important; 
    display: inline-block !important; 
    height: 1rem !important; 
    width: 1rem !important; 
    border-width: 1px !important; 
    border-top-width: 4px !important; 
    color: #f18a7c !important; 
    --tw-border-opacity: 1;
    border-color: #f18a7c !important; 
    border-color: #f18a7c !important; 
    vertical-align: baseline !important; 
    box-sizing: border-box !important;
	top: 1.5rem !important
}

.woocommerce-info > *:not(a.button) {
    display: inline-flex;
    align-items: baseline;
}

.woocommerce-info a.button {
    margin-left: auto; 
    display: inline-flex;
    justify-content: center; 
    align-items: center;    
    padding: 0.25rem 0.75rem; 
    font-size: 0.75rem;       
    background-color: #000;
    color: #fff;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05); 
    white-space: nowrap;
    max-width: 150px;
    transition: background-color 0.2s;
}

.woocommerce-info a.button:hover {
    background-color: #333; 
}

a.restore-item {
    font-size: 0.9rem;
    padding-left: 10px;
}

/* Notices wrapper */
.woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-notices-wrapper > .woocommerce-error,
.woocommerce-notices-wrapper > .woocommerce-info {
    width: 100%;
    display: flex;
    align-items: center;
    background-color: #fff0f0;
    border-top: 4px solid #f18a7c;
    color: #4a4a4a;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
    border-radius: 0;
    line-height: 1.4;
}

.woocommerce-notices-wrapper > .woocommerce-message > *,
.woocommerce-notices-wrapper > .woocommerce-info > *,
.woocommerce-notices-wrapper > .woocommerce-error > * {
    margin-right: 1rem;
}

.woocommerce-notices-wrapper > .woocommerce-info::before,
.woocommerce-notices-wrapper > .woocommerce-message::before,
.woocommerce-notices-wrapper > .woocommerce-error::before {
    content: "" !important; 
    margin-right: 0.75rem !important; 
    display: inline-block !important; 
    height: 1rem !important; 
    width: 1rem !important; 
    border-width: 1px !important; 
    border-top-width: 4px !important; 
    color: #f18a7c !important; 
    --tw-border-opacity: 1;
    border-color: #f18a7c !important; 
    border-color: #f18a7c !important; 
    vertical-align: baseline !important; 
    box-sizing: border-box !important;
	top: 1.2rem !important;
}

.woocommerce-notices-wrapper ul.woocommerce-error li,
.woocommerce-notices-wrapper ul.woocommerce-info li,
.woocommerce-notices-wrapper ul.woocommerce-message li {
    width: 100%;
    display: flex;
    align-items: center;
}

.woocommerce-notices-wrapper > *:not(a.button) {
    display: inline-flex;
    align-items: baseline;
}

.woocommerce-notices-wrapper ul.woocommerce-error li a.button,
.woocommerce-notices-wrapper ul.woocommerce-info li a.button,
.woocommerce-notices-wrapper ul.woocommerce-message li a.button {
    margin-left: auto; 
    display: inline-flex;
    justify-content: center; 
    align-items: center;     
    padding: 0.75rem; 
    font-size: 0.75rem;       
    background-color: #000;
    color: #fff;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05); 
    white-space: nowrap;
    max-width: 150px; 
    transition: background-color 0.2s;
}

.woocommerce-notices-wrapper > .woocommerce-message:focus,
.woocommerce-notices-wrapper > .woocommerce-info:focus,
.woocommerce-notices-wrapper > .woocommerce-error:focus {
    outline: none;
}

.woocommerce-notices-wrapper .button:focus {
    outline: 2px solid transparent;
    box-shadow: none;
}

/* Search page */
.woocommerce-products-header__title.page-title {
	color: #f18a7c;
    font-family: High Tide;
    font-weight: 400;
    font-size: clamp(2rem, 5vw, 4em);
    text-align: center;
    text-transform: capitalize; 
    margin-top: 0.5rem;  
    margin-bottom: 0.5rem; 
}

/* Headline styles */
.dgwt-wcas-custom-results-wrapper .dgwt-wcas-posts-results-headline{
    font-size: 1.25rem;       
    font-weight: 600;         
    color: #1f2937;           
    border-bottom: 1px solid #d1d5db; 
    padding-bottom: 0.5rem;   
    margin-bottom: 0.5rem;   
}

/* Paragraph below headlines */
.dgwt-wcas-custom-results-wrapper .dgwt-wcas-posts-results-headline + p{
    color: #6b7280;          
    font-style: italic;
    font-size: 16px;
    margin-left: 2.5rem;     
    margin-top: 1rem;        
    margin-bottom: 1rem;     
}

/* UL under headlines */
.dgwt-wcas-custom-results-wrapper .dgwt-wcas-posts-results-headline + ul {
    list-style-type: disc;
    list-style-position: inside;
    margin-left: 2.5rem;     
    margin-top: 1rem;       
    margin-bottom: 1rem;
    gap: 0.5rem;
}

/* Links inside list */
.dgwt-wcas-custom-results-wrapper .dgwt-wcas-posts-results-headline + ul a:hover{
    color: #f18a7c;
}

/* Optional: wrapper styling */
.dgwt-wcas-search-results-wrapper {
    max-width: 64rem;
    margin-left: auto; 
    margin-right: auto; 
    padding: 1.5rem;
    gap: 2rem;
}

/* Remove not product found */
.woocommerce-no-products-found {
    display: none;
}

/* Separator styles */
.wp-block-separator.tp-separator {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    width: 41% !important;
    border-top-width: 4px;
    display: block;
    margin-left: 0 !important;
}

/* Grid layout for products */
.products li.product .button {
    display: none !important;
}

/* Each product box */
.woocommerce ul.products:not(.slick-product-slider) li.product,
.woocommerce-page ul.products:not(.slick-product-slider) li.product {
    width: 100%;
    max-width: 100%;
    margin: 2rem 0 0 0 !important;
    padding: 0 !important;
    text-align: center;
}

/* PRODUCT GRID ONLY */
.woocommerce ul.products:not(.slick-product-slider) li.product,
.woocommerce-page ul.products:not(.slick-product-slider) li.product  {
    float: left;
    margin: 0 5px 5px 0 !important; 
    width: calc(25% - 0.25rem) !important;
    box-sizing: border-box;
    text-align: center;
}

/* REMOVE RIGHT MARGIN ON LAST ITEM IN ROW */
.woocommerce ul.products:not(.slick-product-slider) li.product:nth-child(4n),
.woocommerce-page ul.products:not(.slick-product-slider) li.product:nth-child(4n) {
    margin-right: 0 !important;
}

@media (max-width: 1140px) {

    .woocommerce ul.products:not(.slick-product-slider) li.product,
    .woocommerce-page ul.products:not(.slick-product-slider) li.product  {
        width: calc(50% - 0.2rem) !important;
        margin: 0 5px 5px 0 !important;
    }

    /* reset 4th rule */
    .woocommerce ul.products:not(.slick-product-slider) li.product:nth-child(4n),
    .woocommerce-page ul.products li.product:nth-child(4n) {
        margin-right: 5px !important;
    }

    /* every 2nd item has no right margin */
    .woocommerce ul.products:not(.slick-product-slider) li.product:nth-child(2n),
    .woocommerce-page ul.products:not(.slick-product-slider) li.product:nth-child(2n) {
        margin-right: 0 !important;
    }
}

.woocommerce-loop-product__title {
    font-size: 14px !important;
    margin-bottom: 10px !important;
    color: #333;
    display: block;
    text-align: center;
}

/* Image wrapper */
.woocommerce ul.products li.product a img {
    transition: opacity .3s ease;
}

.woocommerce ul.products li.product {
    position: relative;
}

.woocommerce ul.products li.product .attachment-woocommerce_thumbnail:first-child {
    position: relative;
    z-index: 1;
}

/* Hover image */
.woocommerce-hover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .3s ease;
    z-index: 2;
    pointer-events: none;
}

/* Desktop hover only */
@media (hover:hover) {

    .woocommerce ul.products:not(.slick-product-slider) li.product:hover .woocommerce-hover-image {
        opacity: 1;
    }
}

@media (hover:none) {

    .woocommerce ul.products li.product.mobile-hover-image .woocommerce-hover-image {
        opacity: 1;
    }

    .woocommerce ul.products li.product.mobile-hover-image .attachment-woocommerce_thumbnail {
        opacity: 0;
    }

}

/* Sale prices (del + ins) remain stacked */
.woocommerce ul.products li.product .price del {
	color: #333 !important;
    font-weight: 400;
	font-family: "Century Gothic";
}

.products li.product .price del bdi,
.products li.product .price ins bdi {
    display: inline;
	font-family: "Century Gothic";
    font-weight: 400;
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
    color: #333;
}
.products li.product .price ins bdi,
.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
}

/* Variable product price range inline */
.products li.product .price:not(del) bdi {
    display: inline; /* keep variable prices on same line */
    margin-bottom: 0; /* remove block spacing */
    font-weight: 700;
	font-family: "Century Gothic";
    font-size: 0.875rem;
    color: #333;
    text-decoration: none !important;
}

/* Optional: spacing for dash between variable prices */
.woocommerce-page .price > span[aria-hidden="true"] {
    margin: 0 !important;
}


/* Make variable product price range display inline */
.woocommerce-page .price .woocommerce-Price-amount,
.woocommerce-page .price > span[aria-hidden="true"] {
    display: inline !important;
}

.woocommerce-page .price > span[aria-hidden="true"] {
    margin: 0 0.25em;
}

.out-of-stock-badge {
    color: #D32F2F;
	font-weight: 400;
    font-size: 0.75rem;
    margin-bottom: 0.3rem;
}

.term-description {
	text-align: center;
}

.subcategory-buttons {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: 5px;
    justify-content: center;
    margin: 0 auto;
}

.subcategory-buttons .btn-checkout {
	margin: 0.5rem;
}

@media (max-width: 781px) {
    .subcategory-buttons {
        grid-template-columns: repeat(2, max-content);
        justify-content: center;
    }
}

.subcategory-buttons .btn-checkout {
    display: inline-block; 
    text-align: center; 
}

/* Make sure the product link allows the badge to escape the image frame */
.products li.product .woocommerce-LoopProduct-link {
    position: relative;
    overflow: visible !important;
}

/* Style the badge */
.woocommerce ul.products li.product .onsale {
    margin: 0.5em 0.5em 0 0 !important;
}

.products li.product .onsale {
    background-color: #f18a7c;
    color: #fff;
    font-weight: 700;
    font-size: 0.75rem;
    width: 50px;
    height: 45px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    right: 10px;
	left: auto;
    z-index: 9;
}

/* Sorting select styling */
.woocommerce .woocommerce-result-count {
    display: none !important;
}

/* Make shop header area flex */
.woocommerce .woocommerce-before-shop-loop,
.woocommerce .woocommerce-notices-wrapper {
    display: flex;
}

/* Create a flex row above products */
.woocommerce .woocommerce-ordering {
    margin-left: auto;
    text-align: right;
}

/* Optional: align select nicely */
.woocommerce-ordering select {
    min-width: 200px;
    padding: 15px 2.5rem 15px 10px;
    border: none;
    font-size: 14px;
    /*background: #fce9e6; */

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px;
}

/* Dotted focus for select dropdown */
.woocommerce-ordering select:focus {
    outline: 2px dotted #333;
    outline-offset: 2px;
}

@media (max-width: 600px) {
	.woocommerce .woocommerce-ordering {
		text-align: center;
		width: 100%;
	}
}

/* Cart page */
.wc-block-components-button:not(.is-link) {
	border-radius: 0px;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(241 138 124 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(241 138 124 / var(--tw-bg-opacity, 1));
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    text-transform: uppercase;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.wc-block-components-product-metadata__description {
    display: none !important;
}

/* Quantity selector container */
.wc-block-components-quantity-selector {
    border: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
}
/* Vertical dividers */
.wc-block-components-quantity-selector>.wc-block-components-quantity-selector__button--minus{
    border-radius: 0 !important;
    border-right: 1px solid #e5e5e5 !important;
}

.wc-block-components-quantity-selector>.wc-block-components-quantity-selector__button--plus {
    border-left: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
}

h1.wp-block-heading.entry-title {
	margin-bottom: 0.25rem;
    margin-top: 2.5rem;
    display: block;
    font-family: 'Century Gothic', sans-serif;
    font-size: 30px;
    font-weight: 300;
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item-shipping, .wc-block-components-checkbox__label a {
    font-size: small !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax {
    font-size: small;
}

/* Checkout Page */
.wc-block-components-title.wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
    font-size: 1rem !important;
    font-weight: 400 !important;
}
.wc-block-components-form .wc-block-components-text-input input[type=email], 
.wc-block-components-form .wc-block-components-text-input input[type=number], 
.wc-block-components-form .wc-block-components-text-input input[type=password], 
.wc-block-components-form .wc-block-components-text-input input[type=tel], 
.wc-block-components-form .wc-block-components-text-input input[type=text], 
.wc-block-components-form .wc-block-components-text-input input[type=url], 
.wc-block-components-text-input input[type=email], .wc-block-components-text-input input[type=number], 
.wc-block-components-text-input input[type=password], .wc-block-components-text-input input[type=tel], 
.wc-block-components-text-input input[type=text], .wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea, 
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
    font-size: 0.875rem !important;
    border-radius: 0 !important;
    border: 1px solid #d1d5db !important;
}
.wc-block-components-form .wc-block-components-text-input label, 
.wc-block-components-text-input label,
.wc-block-components-totals-shipping .wc-block-components-totals-item strong,
.woocommerce table.shop_attributes td p, .woocommerce table.shop_attributes td p a,
.wcgwp-details,
.wcgwp-title,
.wcpbc-price,
.wcgwp-note-container label {
    font-size: 0.875rem !important;
}
.wc-block-components-checkout-return-to-cart-button {
    color: #f18a7c !important;
}
/* Align checkbox and label nicely */
.wc-block-components-checkbox label {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    cursor: pointer !important;
}

/* Gift Wrap  */
.woocommerce-cart .wcgwp-wrapper,
.woocommerce-checkout .wcgwp-wrapper {
    width: 100%;
    margin-bottom: 0.5rem !important;
}

.woocommerce-cart .wcgwp-wrapper .wcgwp-prompt-wrapper,
.woocommerce-checkout .wcgwp-wrapper .wcgwp-prompt-wrapper {
    width: 100%;
    margin-bottom: 0 !important;
}

.woocommerce-cart .wcgwp-li .woocommerce-Price-amount,
.woocommerce-checkout .wcgwp-li .woocommerce-Price-amount {
    font-size: 0.875rem !important;
}

/* Gift Wrap Buttons */
.wcgwp-slidetoggle.button,
.wcgwp-slidetoggle.wcgwp-cancel.button,
.wcgwp-submit.button.btn.alt {
    background-color: var(--link-color, #f18a7c) !important;
    border: 2px solid var(--link-color, #f18a7c) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    padding: 8px 16px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 0.25rem 0.5rem 0 !important;
}

/* Hover effect */
.wcgwp-slidetoggle.button:hover,
.wcgwp-slidetoggle.wcgwp-cancel.button:hover,
.wcgwp-submit.button.btn.alt:hover {
    background-color: #e76e5f; /* slightly darker coral */
    border-color: #e76e5f;
}

.woocommerce-cart .wcgwp-slidetoggle.button,
.woocommerce-cart .wcgwp-slidetoggle.wcgwp-cancel.button,
.woocommerce-cart .wcgwp-submit.button.btn.alt,
.woocommerce-checkout .wcgwp-slidetoggle.button,
.woocommerce-checkout .wcgwp-slidetoggle.wcgwp-cancel.button,
.woocommerce-checkout .wcgwp-submit.button.btn.alt {
    width: 100%;
    box-sizing: border-box; 
}
/* Style the checkbox input itself */
.wc-block-components-checkbox__input {
    width: 1.25rem !important;
    height: 1.25rem !important;
    flex-shrink: 0 !important;
}

/* Store credit wrapper (accordion content) */
.acfw-accordion-inner {
    border: 1px solid #e5e7eb; /* light border */
    padding: 1rem;
    background: #fafafa;
    margin-bottom: small;
    border-radius: 0.375rem;
}

/* Balance text */
.acfw-store-credit-user-balance,
.acfw-store-credit-user-balance .woocommerce-Price-amount {
    font-weight: 400;
    font-size: small;
    margin-bottom: 0.5rem;
    color: #111827; /* dark text */
}

/* Instructions text */
.acfw-store-credit-instructions {
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: #6b7280; /* gray */
}

/* Input wrapper */
#acfw_redeem_store_credit {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* Input field */
#acfw_redeem_store_credit input.wc_input_price {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    font-size: 0.875rem;
    width: 100%;
}

/* Apply button */
#acfw_redeem_store_credit button.button.alt {
    background-color: #f18a7c;
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 400;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

#acfw_redeem_store_credit button.button.alt:hover {
    background-color: #f18a7c; /* slightly darker coral */
}

/* Gift Card Input */
#pwgc-redeem-gift-card-number {
    border: 1px solid #d1d5db;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    width: 100%;
    box-sizing: border-box;
}

/* Apply button styling to match theme buttons */
.pwgc-apply-gift-card-button {
    background-color: #f18a7c; /* coral */
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.pwgc-apply-gift-card-button:hover {
    background-color: #e67362; /* slightly darker coral */
}

/* ================================
   WooCommerce Product Filters 
================================ */
.wpf-filter-container {
    display: inline-block; /* or flex if you want it inline with sorting */
    margin-right: 1rem;
    vertical-align: top;
}

.wpfPriceRangeField#wpfMinPrice, .wpfPriceRangeField#wpfMaxPrice {
    background-color: #f1ecec;
    border: 1px solid #f0efef;
    color: black;
    font-size:  14px;
	border-radius: 0;
    height: 26px;
    padding: 5px;
}

.wpfPriceInputs .wpfCurrencySymbol {
    font-size:  14px;
}

.wpfFilterWrapper .wpfFilterTitle {
    font-size:  14px;
	font-weight: 600;
}

.wpfColorsFilterVer label.wpfAttrLabel {
    font-size:  12px;
}

.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton {
    padding: 5px;
    align-items: center;
    min-height: 52px;
    border-radius: 0;
	background: #fce9e6;
    font-size: 17px;
    text-decoration: none !important;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.2s;
    white-space: normal;
    cursor: pointer;
    border: none;
    font-weight: bold;
    outline: none;
}

.wpfFloatingSwitcher {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpfFloatingSwitcher::before {
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 8px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23f18a7c' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/g%3E%3Cg fill='white'%3E%3Ccircle cx='8' cy='6' r='2'/%3E%3Ccircle cx='15' cy='12' r='2'/%3E%3Ccircle cx='11' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E");
}

.wpfFloatingSwitcher:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/g%3E%3Cg fill='%23f18a7c'%3E%3Ccircle cx='8' cy='6' r='2'/%3E%3Ccircle cx='15' cy='12' r='2'/%3E%3Ccircle cx='11' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E");
}

.wpfSelectedParametersClear,
.wpfSelectedDelete,
.wpfSelectedTitle {
    font-size: 14px;
}


/* Product grid layout */
@media (max-width: 1200px) {
    .products {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 781px) {
    .products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .woocommerce .woocommerce-before-shop-loop {
        display: flex;
        gap: 10px;
        align-items: stretch;
    }

    .wpf-filter-container {
        flex: 0 0 30%;
        min-width: 0;
        margin-right: 0;
    }

    .woocommerce .woocommerce-ordering {
        flex: 0 0 calc(70% - 10px);
        margin-left: 0;
        width: auto;
    }

    .woocommerce .wpfFloatingSwitcher,
    .woocommerce .woocommerce-ordering select {
        width: 100%;
        height: 52px;
        box-sizing: border-box;
    }
}

/* ================================
   WooCommerce Pagination 
================================ */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
    text-align: left !important;
    margin-top: 2rem;
	margin-bottom: 2rem;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers {
    padding: 0;
    margin: 0;
    list-style: none;
    display: inline-block;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers {
    border: none;
    padding: 0;
    margin: 0;
    list-style: none;
    display: inline-block;
    white-space: nowrap;
}


.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li {
    border: 1px solid #f18a7c !important;
    border-right: 1px solid #f18a7c !important;
    margin: 0 8px 8px 0;
    overflow: hidden;
    padding: 0;
    display: inline-block;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span {
    display: block;
    min-width: 2.5em;
    padding: 0.9em;
    text-align: center;
    text-decoration: none;
    font-size: 1em;
    font-weight: 400;
    line-height: 1;
    color: #f18a7c;
    background: transparent;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a:focus {
    background: #f18a7c;
    color: #fff !important;
    border-color: #f18a7c;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.current {
    background: #f18a7c;
    color: #fff !important;
    border-color: #f18a7c;
    font-weight: 500;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.dots {
    background: transparent;
    border: none;
    color: #f18a7c;
    cursor: default;
}

/* Optional: next/prev arrows */
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.next {
    color: #f18a7c;
}

/*Shop page */
.sec-collection .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.sec-collection .wp-block-column {
	flex: 1;
	min-width: 0;
}
.sec-collection .wp-block-column .no-overlay-cover > .wp-block-cover__inner-container > .hoverlay {
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    background-color: rgba(228, 228, 228, 0.83);
    color: #000;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 0.625rem; 
    font-size: 18px;
    line-height: 1.375;
	margin: 0 !important;
}
/* Mobile special layout for sec-collection */
@media (max-width: 1140px) {
	.sec-collection .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
		"col1 col1"  /* first column full width */
		"col2 col3"; /* second and third side by side */
		gap: 5px;
		max-width: 100vw; /* keep inside viewport */
	}
	.sec-collection .wp-block-column:nth-child(1) {
		grid-area: col1;
	}
	.sec-collection .wp-block-column:nth-child(2) {
		grid-area: col2;
	}
	.sec-collection .wp-block-column:nth-child(3) {
		grid-area: col3;
	}
	/* Only target 2nd and 3rd covers inside sec-collection */
	.sec-collection .wp-block-column:nth-child(2) .wp-block-cover,
	.sec-collection .wp-block-column:nth-child(3) .wp-block-cover {
		min-height: 250px !important; /* smaller height */
		aspect-ratio: 1 / 1;          /* keep square shape */
	}
	.sec-collection .no-overlay-cover > .wp-block-cover__inner-container > .hoverlay {
		height: 60px;
	}
}
.five-sec-collection .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem !important;
}
.five-sec-collection .wp-block-column {
	flex: 1;
	min-width: 0;
}
.five-sec-collection .wp-block-column {
	flex: 1;
	min-width: 0;
}
.five-sec-collection .wp-block-column .wp-block-cover {
	min-height: 350px !important;
	aspect-ratio: 1 / 1;
}
.five-sec-collection .wp-block-column .no-overlay-cover > .wp-block-cover__inner-container > .hoverlay {
	position: absolute; 
    bottom: 0;    
    left: 0;  
    right: 0;      
    width: 100%;    
    text-align: center;  
    background-color: rgba(228, 228, 228, 0.83); 
    color: #000;   
    height: 60px;   
    display: flex;   
    align-items: center;   
    justify-content: center;  
    padding: 1.25rem 0.625rem;  
    font-size: 18px;   
    line-height: 1.375;
	margin: 0 !important;
}
/* Tablet layout */
@media (max-width: 1220px) and (min-width: 782px) {
	.five-sec-collection .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr 1fr; /* 3 columns */
		grid-template-areas:
		"col1 col2 col3"  /* first row: 3 items */
		"col4 col5 col5"; /* second row: 2 items side by side (col5 spans) */
		gap: 5px;
		margin: 0 auto;
		max-width: 100%;
	}
	.five-sec-collection .wp-block-column:nth-child(1) { grid-area: col1; }
	.five-sec-collection .wp-block-column:nth-child(2) { grid-area: col2; }
	.five-sec-collection .wp-block-column:nth-child(3) { grid-area: col3; }
	.five-sec-collection .wp-block-column:nth-child(4) { grid-area: col4; }
	.five-sec-collection .wp-block-column:nth-child(5) { grid-area: col5; }

	/* Adjust heights for tablet */
	.five-sec-collection .wp-block-column .wp-block-cover {
		min-height: 300px !important;
		aspect-ratio: 1 / 1; /* keep square */
	}
}
/* Mobile layout for five-sec-collection */
@media (max-width: 1140px) {
	.five-sec-collection .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
		"col1 col2"  /* first row: 2 items side by side */
		"col3 col3"  /* second row: full-width */
		"col4 col5"; /* third row: 2 items side by side */
		gap: 5px;
		margin: 0 auto;       /* fix centering */
		max-width: 100vw;     /* keep inside viewport */
	}
	.five-sec-collection .wp-block-column:nth-child(1) {
		grid-area: col1;
	}
	.five-sec-collection .wp-block-column:nth-child(2) {
		grid-area: col2;
	}
	.five-sec-collection .wp-block-column:nth-child(3) {
		grid-area: col3;
	}
	.five-sec-collection .wp-block-column:nth-child(4) {
		grid-area: col4;
	}
	.five-sec-collection .wp-block-column:nth-child(5) {
		grid-area: col5;
	}
	/* Make the 2-column covers square and smaller */
	.five-sec-collection .wp-block-column:nth-child(1) .wp-block-cover,
	.five-sec-collection .wp-block-column:nth-child(2) .wp-block-cover,
	.five-sec-collection .wp-block-column:nth-child(4) .wp-block-cover,
	.five-sec-collection .wp-block-column:nth-child(5) .wp-block-cover {
		min-height: 250px !important;
		aspect-ratio: 1 / 1;
	}
	/* Full-width middle column can be taller */
	.five-sec-collection .wp-block-column:nth-child(3) .wp-block-cover {
		min-height: 350px !important;
		aspect-ratio: auto;
	}

	.five-sec-collection .no-overlay-cover > .wp-block-cover__inner-container > .hoverlay {
		height: 60px;
	}
}

:where(.wp-block-group.has-background) {
    padding: 1.25em 1.500em;
}

.four-sec-collection .five-grid {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0 !important;
    margin-top: 1rem;
    gap: 5px;
}
.four-sec-collection .five-grid .wp-block-column {
    flex: 1;
    min-width: 0;
}
.four-sec-collection .five-grid .wp-block-column .wp-block-cover {
	min-height: 60px !important;
	aspect-ratio: 1 / 1;
	position: relative;
}
.four-sec-collection .five-grid .wp-block-column .no-overlay-cover > .wp-block-cover__inner-container > .hoverlay {
	position: absolute; 
    bottom: 0;    
    left: 0;  
    right: 0;      
    width: 100%;    
    text-align: center;  
    background-color: rgba(228, 228, 228, 0.83); 
    color: #000;   
    height: 60px;   
    display: flex;   
    align-items: center;   
    justify-content: center;  
    padding: 1.25rem 0.625rem;  
    font-size: 18px;   
    line-height: 1.375;
	margin: 0 !important;
}

/* Mobile layout */
@media (max-width: 1140px) {
	.four-sec-collection .five-grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr; /* 2 columns */
		grid-template-areas:
		"col1 col2"
		"col3 col4";
		margin: 0 auto;
		max-width: 100vw;
	}
	.four-sec-collection .five-grid .wp-block-column:nth-child(1) { grid-area: col1; }
	.four-sec-collection .five-grid .wp-block-column:nth-child(2) { grid-area: col2; }
	.four-sec-collection .five-grid .wp-block-column:nth-child(3) { grid-area: col3; }
	.four-sec-collection .five-grid .wp-block-column:nth-child(4) { grid-area: col4; }

	.four-sec-collection .five-grid .wp-block-column .wp-block-cover {
		min-height: 200px !important;
		aspect-ratio: 1 / 1;
		font-size: 16px;
	}

	.four-sec-collection .five-grid .wp-block-column .wp-block-cover p {
		font-size: 16px !important;
	}

	.four-sec-collection .five-grid .no-overlay-cover > .wp-block-cover__inner-container > .hoverlay {
		height: 60px;
	}
}

 
/* =========================================================
   BASE
========================================================= */
.product-category-buttons-section .product-category-buttons-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    overscroll-behavior-x: contain;
    cursor: grab;
    pointer-events: auto !important;
    gap: 5px;
    padding-left: .5rem;
    padding-right: .5rem;
    scrollbar-width: none;
}

.product-category-buttons-section .product-category-buttons-grid > * {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-width: max-content !important;
    width: max-content !important;
    display: inline-flex;
}

.product-category-buttons-section .product-category-buttons-grid::-webkit-scrollbar {
    display: none;
}

/* ONLY safe reset (do NOT override flex here) */
.product-category-buttons-section .product-category-buttons-grid .wp-block-column {
    flex: 0 0 auto;
}

.product-category-buttons-section .product-category-buttons-grid .wp-block-column a {
    color: #f18a7c !important;
}

.product-category-buttons-section .product-category-buttons-grid .wp-block-column a:hover {
    color: #ffffff !important;
}

/* =========================================================
   BUTTON STYLE
========================================================= */

.product-category-buttons-section .product-category-buttons-grid .product-category-button {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    white-space: nowrap;
    border: 2px solid #f18a7c;
}

.product-category-buttons-section .product-category-buttons-grid .product-category-button:hover {
    border: 2px solid #f18a7c;
    background: #f18a7c;
}

/* =========================================================
   TEXT
========================================================= */

.product-category-buttons-section .product-category-buttons-grid .product-category-button-title {
    margin: 0 !important;
    font-size: 18px;
    line-height: 1.375;
    font-weight: 500;
    text-align: left;
    text-transform: uppercase;
}

@media (max-width: 781px) {

    .product-category-buttons-section .product-category-buttons-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 5px;
        padding-left: 0;
        padding-right: 0;
    }

    .product-category-buttons-section .product-category-buttons-grid .wp-block-column {
        width: auto !important;
        flex: 0 0 auto !important;
    }

}

/* Single product page adjustments */
/* Force gallery + summary side by side */
.single-product div.product {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 40px;
    margin: 0 auto; 
    box-sizing: border-box;
	width: 100%;
}

/* allow flex children to shrink */
.single-product div.product > * {
    min-width: 0;
}

/* Gallery column */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .iconic-woothumbs-all-images-wrap {
    flex: 0 0 45%;
	max-width: 45%;
}

/* Summary column */
.single-product div.product .summary {
    flex: 0 0 50%;
	max-width: 50%;
}

/* Mobile fallback */
@media (max-width: 768px) {
    .single-product div.product {
        flex-direction: column;
        justify-content: flex-start;
		gap: 5px;
		padding-left: 10px;
		padding-right: 10px;
    }

    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .iconic-woothumbs-all-images-wrap,
    .single-product div.product .summary {
        max-width: 100%;
        flex: 0 0 100%;
        width: 100% !important;
    }
}

/* SLIDER */
/* Remove WooCommerce default list margin */
.you-may-also-like ul.products {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Kill Slick reserved space */
.you-may-also-like .slick-list,
.you-may-also-like .slick-track {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Control spacing ABOVE the slider instead */
.you-may-also-like {
    margin-top: 0;
    margin-bottom: 0;
	padding-right: 0;
}

.slick-product-slider {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
	width: 100%;
	box-sizing: border-box;
}

.slick-product-slider .product {
    display: block;   /* ensure each product acts as a slide */
}

.slick-product-slider li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .out-of-stock-badge,
.slick-product-slider .price,
.slick-product-slider .out-of-stock-badge {
    text-align: center;
}

.you-may-also-like .iconic-was-swatches {
    display: none !important;
}

.slick-product-slider .slick-slide {
    padding: 0 0 0 5px; /* 10px on left & right = 20px total gap */
	box-sizing: border-box;
}

.slick-product-slider .slick-track {
	display: flex; 
    margin: 0 -5px; /* compensate for padding on track */
}

/* Style the badge inside slider */
.slick-product-slider .product .onsale {
    background-color: #f18a7c !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    width: 50px !important;
    height: 45px !important;
    line-height: 40px !important;
    text-align: center !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 999 !important;
}

/* Kill heading spacing */
.you-may-also-like h2.wp-block-heading {
    margin-bottom: 20px !important;
}

/* Kill product card margins */
.you-may-also-like .products li.product {
    margin-bottom: 0 !important;
}

/* Kill Woo block spacing after slider */
.you-may-also-like + .product-quality-section {
    margin-top: 0 !important;
}

/* Safety: no bottom space anywhere */
.you-may-also-like,
.you-may-also-like * {
    margin-bottom: 0;
}

@media (max-width: 781px) {
	.you-may-also-like {
		padding-right: 20px !important;
	}
}

/* ===============================
   Ring Size Guide Modal
================================ */

.ring-size-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}

.ring-size-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Overlay */
.ring-size-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
}

/* Modal box */
.ring-size-modal-content {
    position: relative;
    z-index: 1;

    width: min(480px, calc(100% - 32px));
    background: #fff;
    padding: 32px 24px;
    border-radius: 8px;
    text-align: center;

    transform: translateY(20px);
    transition: transform .25s ease;
}

.ring-size-modal.is-open .ring-size-modal-content {
    transform: translateY(0);
}

/* Close button */
.ring-size-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    padding: 0;
    background: none;
    border: 0;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

/* Mobile */
@media (max-width: 781px) {
    .ring-size-modal-content {
        width: calc(100% - 24px);
        padding: 24px 16px;
    }
}

/* ================================
   Product Collection Section
================================ */
.product-collection-section {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: center;
	padding: 0;
	margin-bottom: 1rem;
}

.single-product .product-collection-section h2.wp-block-heading {
    font-size: 3rem !important;
	font-weight: 400 !important;
    text-transform: capitalize !important;
}

/* Grid */
.product-category-collections-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
}

/* Tablet */
@media (max-width: 1140px) {
    .product-category-collections-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Collection card */
.product-category-collections-column {
    width: 100%;
    margin: 0 !important;
}

.product-category-collections-column a {
    display: block;
    text-decoration: none;
    color: #000;
    height: 100%;
}

.product-category-collections {
    text-align: center;
}

/* Image */
.product-category-collections-image-wrap {
    margin-bottom: 10px;
}

.product-category-collections-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Title */
.product-category-collections-title {
    margin: 0;
    font-weight: 700;
    text-transform: uppercase;
    color: #000;
    text-align: center;
}

/* Price */
.product-category-collections-price {
    margin: 5px 0 0;
    text-align: center;
    color: #000;
    font-size: 0.95rem;
}


/* Product summary wrapper */
/* Jersey Pearl style summary box */
.single-product .summary.entry-summary {
    max-width: 520px;
    padding: 32px 40px;
    border: 1px solid #e5e5e5;
    background-color: #fff;
}

/* Coral side accents beside the summary box */
.single-product .summary.entry-summary {
    position: relative;
}

.single-product .summary.entry-summary {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Left coral accent bar */
.single-product .summary.entry-summary::before,
.single-product .summary.entry-summary::after {
    content: "";
    position: absolute;
    top: 25%;
    bottom: 25%;
    width: 8px;
    background-color: #f18a7c;
    z-index: 0;
}

/* Left */
.single-product .summary.entry-summary::before {
    left: -4px;
}

/* Right */
.single-product .summary.entry-summary::after {
    right: -4px;
}

/* Content above accents */
.single-product .summary.entry-summary > * {
    position: relative;
    z-index: 1;
	line-height: 1.5;
    width: 100%;
}

/* Slight separation from product image */
@media (min-width: 768px) {
    .single-product .summary.entry-summary {
        margin-left: 32px;
    }
}

/* Soft divider under title block */
.single-product .product_title {
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

/* Space between major sections */
.single-product .woocommerce-product-rating,
.single-product p.price,
.single-product .woocommerce-product-details__short-description {
    margin-top: 16px;
}

.single-product .summary.entry-summary {
    max-width: 520px;
    font-family: inherit;
}

.single-product .summary * {
    line-height: 1.5;
}

.single-product p.price ins {
    text-decoration: none !important;
}

/* Product title */
.single-product .product_title {
    font-family: "Century Gothic", Sans-serif;
    font-size: 19px;
    font-weight: 400;
    margin-bottom: 8px;
	color: #f18a7c;
}

/* Rating row */
.single-product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

/* Normalize star rating alignment */
.single-product .star-rating,
.single-product .woocommerce-review-link {
    margin-top: 0;
    margin-bottom: 0;
    align-self: center;
}

.single-product .woocommerce-review-link {
    font-size: 14px;
	color: #f18a7c;
	position: relative;
    top: 3px;
}

/* Fix WooCommerce star rating clipping */
.single-product .star-rating {
    line-height: 1;
    height: auto;
    overflow: visible;
	margin-top: 2px;
}

/* Ensure stars render fully */
.single-product .star-rating span {
    line-height: 1;
}


/* Price styling */
.single-product p.price {
    font-size: 19px;
    font-weight: 400 !important;
    color: #333;
    margin-top: 20px;
    margin-bottom: 24px;
	display: block;
    text-align: left;
}

/* Sale price emphasis */
.single-product p.price del,
.single-product p.price del bdi {
    font-size: 19px;
    font-weight: 400;
    color: #888;
    margin-right: 8px;
}

.single-product p.price ins {
    text-decoration: none !important;
    font-size: 19px;
    font-weight: 400;
    color: #000; 
}

.single-product p.price bdi {
    text-decoration: none;
    font-weight: 600;
    color: #000; 
}

.single-product .summary.entry-summary p.price,
.single-product .summary.entry-summary span.price {
    color: #000;

    font-weight: 400;
    font-size: 19px;
}

/* Short description */
.single-product .woocommerce-product-details__short-description {
    font-size: 15px;
    margin-bottom: 24px;
}

/* Simple products only: quantity + button inline */
.single-product form.cart:not(.variations_form) {
    display: flex;
    gap: 12px;
    align-items: center;
}

/* Packaging add-on */
.single-product .wc-pao-addons-container {
    order: -1;
    width: 100%;
    margin: 20px 0;
    flex: 0 0 100%;
}

.single-product form.cart {
    order: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.wc-pao-addon-image-swatch img {
    max-width: 45px !important;
    max-height: 45px !important;
}

.wc-pao-addon-image-swatch-selected-swatch,
div.product-addon-totals,
div.product-addon-totals .wc-pao-subtotal-line,
div.product div.product-addon-totals .wc-pao-subtotal-line p.price,
div.product div.product-addon-totals .wc-pao-subtotal-line span.amount,
.wc-pao-addons-container .wc-pao-legend
 {
    font-size: 14px !important;
}

/* Variable products: quantity + button inline */

/* Quantity container */
.single-product .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #e5e5e5;
    height: 44px;
    flex: 0 0 auto;
}

/* Hide native arrows */
.single-product .quantity input::-webkit-inner-spin-button,
.single-product .quantity input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.single-product .quantity input {
    width: 48px;
    text-align: center;
    border: 1px solid #e5e5e5;
    font-size: 14px;
}

/* Plus / minus buttons */
.qty-btn {
    width: 36px;
    height: 44px;
    border: 1px solid #e5e5e5;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
}

/* Style single product Add to bag button like btn-checkout */
.single-product .single_add_to_cart_button.button.alt {
    background-color: var(--link-color, #f18a7c); 
    border: 2px solid var(--link-color, #f18a7c);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 0;
    margin: 0; /* remove theme margins */
    transition: all 0.2s ease;
}

/* Hover state */
.single-product .single_add_to_cart_button.button.alt:hover {
    background-color: #fff;
    color: #f18a7c;
    border-color: #f18a7c;
}

/* Override WooCommerce disabled button color */
.woocommerce.single-product button.single_add_to_cart_button.button.alt.disabled,
.woocommerce.single-product button.single_add_to_cart_button.button.alt:disabled {
    background-color: #f18a7c !important;
    border-color: #f18a7c !important;
    color: #fff !important;
    opacity: 0.6;
    cursor: not-allowed;
}

/* INLINE layout */
/* Simple products */
.single-product form.cart:not(.variations_form) {
    display: flex;
    gap: 12px;
    align-items: center;
}

/* Variable products */
.single-product .variations_button {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 16px;
}

/* Add to bag button */
.single-product .btn-checkout {
    height: 44px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.single-product .variations_button {
    margin-top: 16px;
}

.single-product .variations_button .quantity {
    margin-bottom: 12px;
}

.woocommerce div.product form.cart .variations label {
    font-weight: 400;
    font-size: 15px;
}

.woocommerce div.product form.cart .variations label strong {
    font-size: 15px;
}


.single-product .quantity input {
    width: 70px;
    height: 44px;
}

.woocommerce div.product form.cart .woocommerce-variation-description p {
    font-size: 15px;
}

/* Add to bag button */
.single-product .single_add_to_cart_button {
    height: 44px;
    padding: 0 28px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Ring size guide button */
.ring-size-guide {
    margin: 16px 0;
}

/* Stock text */
.single-product p.stock {
    font-size: 14px;
    color: #2E7D32;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
    font-size: 14px !important;
    color: #2E7D32 !important;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .out-of-stock {
    font-size: 14px !important;
    color: #D32F2F !important;
}

.product-ref {
    font-size: 14px;
    color: #666;
}

.product-ref .ref-label {
    font-weight: 500;
    letter-spacing: 0.5px;
}

.woosw-btn-icon-text .woosw-btn-text {
    font-size: 14px;
}

/* SINGLE product onsale badge*/
/* Ensure the main image wrapper is relative */
.single-product div.woocommerce-product-gallery  {
    position: relative;
	z-index: 1; 
}

/* Move the onsale badge on top of the main image, top-right */
.single-product span.onsale {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: 45% !important;
    z-index: 20 !important;
    background-color: #f18a7c !important;
    color: #fff !important;
    width: 50px !important;
    height: 50px !important;
    line-height: 45px !important;
    text-align: center;
    border-radius: 50% !important;
    font-weight: 700;
    font-size: 0.75rem !important;
    pointer-events: none; /* so zoom still works */
}

/* Mobile adjustments: shift badge more to the left */
@media (max-width: 768px) {
    .single-product span.onsale {
        left: 85% !important; /* adjust as needed */
        right: auto !important;
        top: 10px !important;
    }
}

/* Single Product disclaimer & additional info accordion */
.product-disclaimer-accordion,
.product-additional-info-accordion {
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 0.9rem;
}

.disclaimer-toggle-btn,
.additional-info-toggle-btn {
	display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    color: #f18a7c;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
}

.disclaimer-toggle-btn .accordion-arrow,
.additional-info-toggle-btn .accordion-arrow {
    font-family: "Segoe UI Symbol", "Arial Unicode MS", monospace; 
    font-size: 1.5rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.disclaimer-content,
.additional-info-content {
	margin-top: 10px;
	padding: 10px;
	border-left: 3px solid #f18a7c;
	background-color: #f9f9f9;
}

/* Single Product Page Accordion */
.shop-page-accordion-container {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    order: 3;
}
.shop-accordion-item {
    margin-top: 20px;
    margin-bottom: 20px;
}
.shop-accordion-toggle {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    color: #f18a7c;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
}

.shop-accordion-toggle .accordion-arrow {
    font-family: "Segoe UI Symbol", "Arial Unicode MS", monospace; 
    font-size: 1.5rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.shop-accordion-content {
    margin-top: 10px;
    padding: 10px;
    border-left: 3px solid #f18a7c;
    background-color: #f9f9f9;
}
.shop-accordion-content p {
	font-size: 0.9rem;
}
.shop-accordion-content a {
    font-size: 0.9rem;
}
.shop-accordion-content p + p {
    margin-top: 0.8em; /* only adds space between paragraphs */
}

/* -------- Jersey Pearl Quality Section -------- */
.product-quality-inner{
    display:flex;
    align-items:stretch;
}

.product-quality-content{
    flex:1;
}

.product-quality-image{
    flex:1;
    background-size:cover;
    background-position:center;
    min-height:600px;
}

.quality-image-small img{
    display:block;
    width:100%;
    height:auto;
}

/* Mobile */

@media (max-width: 781px){
    .product-quality-inner{
        flex-direction:column-reverse !important;
    }

    .product-quality-image{
        min-height:400px;
    }
}

/* -------- Customer Care Feature Blocks -------- */
.product-feature-blocks .product-feature-inner {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

/* Each block */
.product-feature-blocks .feature-block {
    flex: 1 1 calc(33.333% - 16px); /* 3 per row with gap */
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
	padding-top: 1rem;
	justify-content: center;
}

/* Background image covering entire block */
.product-feature-blocks .feature-img {
    position: relative; 
    width: 100%;
    aspect-ratio: 3 / 1;
    overflow: hidden;
    display: flex;
	justify-content: center;
}

.product-feature-blocks .feature-img img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    display: block;
}

/* Overlay for text + button */
.product-feature-blocks .feature-overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    color: #000;
    box-sizing: border-box;
}

/* Text inside overlay */
.product-feature-blocks .feature-text {
    font-size: 1rem;
    margin-bottom: 16px;
    line-height: 1.6;
}

/* Button */
.product-feature-blocks .feature-btn {
    background-color: transparent;
    color: #000;
	border: 2px solid #000;
}

.product-feature-blocks .feature-btn:hover {
    background-color: rgba(228, 228, 228, 0.83)!important;
	border: 2px solid rgba(245, 245, 245, 0.83) !important;
    color: #000 !important;
}

/* Mobile */
@media (max-width: 781px) {
    .product-feature-blocks .product-feature-inner {
        flex-direction: column;
    }

    .product-feature-blocks .feature-block {
        flex: 0 0 100%;
        min-height: 300px;
    }

    .product-feature-blocks .feature-overlay {
        padding: 20px;
    }

    .product-feature-blocks .feature-text {
        font-size: 0.95rem;
    }

    .product-feature-blocks .feature-btn {
        font-size: 0.95rem;
        padding: 8px 20px;
    }
}

.cr-all-reviews-shortcode .cr-review-form-res .cr-review-form-result .cr-review-form-continue, .cr-ajax-reviews-review-form .cr-review-form-res .cr-review-form-result .cr-review-form-continue, .cr-all-reviews-shortcode .cr-review-form-not-logged-in .cr-review-form-continue, .cr-ajax-reviews-review-form .cr-review-form-not-logged-in .cr-review-form-continue, .cr-reviews-grid .cr-review-form-res .cr-review-form-result .cr-review-form-continue, .cr-reviews-grid .cr-review-form-not-logged-in .cr-review-form-continue, .cr-qna-block .cr-review-form-res .cr-review-form-result .cr-review-form-continue, .cr-qna-block .cr-review-form-not-logged-in .cr-review-form-continue {
	background-color: #f18a7c !important;
	border-color: #f18a7c !important;
	color: #fff !important;
}
