/* ================================================================
   PSYCHOHEAL SHOP
   MAIN SHOP / EQUIPMENT CATALOG
================================================================ */

:root {
    --pss-primary: #22A6B3;
    --pss-primary-dark: #168C98;

    --pss-primary-soft: #EAF8F9;
    --pss-primary-soft-2: #F3FAFA;

    --pss-dark: #132231;
    --pss-dark-soft: #2C3E4C;

    --pss-orange: #FF9F43;
    --pss-orange-dark: #ED892E;
    --pss-orange-soft: #FFF3E6;

    --pss-white: #FFFFFF;
    --pss-bg: #F7FAFA;
    --pss-bg-soft: #FBFDFD;

    --pss-text: #31434F;
    --pss-text-soft: #647580;
    --pss-muted: #8A979F;

    --pss-border: #E1EAEC;
    --pss-border-dark: #D1DEE1;

    --pss-shadow:
        0 18px 48px rgba(19, 34, 49, 0.065);

    --pss-shadow-soft:
        0 8px 24px rgba(19, 34, 49, 0.045);

    --pss-shadow-card:
        0 10px 28px rgba(19, 34, 49, 0.055);

    --pss-radius-xl: 28px;
    --pss-radius-lg: 21px;
    --pss-radius-md: 15px;
    --pss-radius-sm: 11px;
}


/* ================================================================
   PAGE
================================================================ */

.woocommerce-shop {
    background:
        linear-gradient(
            180deg,
            #F8FBFB 0,
            #FFFFFF 560px
        );

    color:
        var(--pss-text);
}


.woocommerce-shop .site-main,
.woocommerce-shop main {
    overflow:
        visible;
}


.ps-shop {
    width:
        100%;

    direction:
        rtl;
}


/* ================================================================
   SHOP HERO
================================================================ */

.ps-shop__hero {
    width:
        min(1380px, calc(100% - 48px));

    margin:
        22px auto 24px;
}


.ps-shop__hero-inner {
    position:
        relative;

    min-height:
        270px;

    padding:
        clamp(34px, 5vw, 62px)
        clamp(28px, 5vw, 62px);

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    overflow:
        hidden;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        var(--pss-radius-xl);

    background:
        linear-gradient(
            118deg,
            #FFFFFF 0%,
            #F5FAFA 56%,
            #FFF9F2 100%
        );

    box-shadow:
        var(--pss-shadow);
}


/* ================================================================
   HERO BACKGROUND GRID
================================================================ */

.ps-shop__hero-inner::before {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    pointer-events:
        none;

    opacity:
        0.32;

    background-image:
        linear-gradient(
            rgba(34, 166, 179, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(34, 166, 179, 0.045) 1px,
            transparent 1px
        );

    background-size:
        38px 38px;

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 45%,
            #000 100%
        );
}


/* ================================================================
   HERO SIDE ACCENT
================================================================ */

.ps-shop__hero-inner::after {
    content:
        "";

    position:
        absolute;

    right:
        0;

    top:
        42px;

    bottom:
        42px;

    width:
        5px;

    border-radius:
        5px 0 0 5px;

    background:
        linear-gradient(
            180deg,
            var(--pss-primary),
            var(--pss-orange)
        );
}


/* ================================================================
   EYEBROW
================================================================ */

.ps-shop__eyebrow {
    position:
        relative;

    z-index:
        3;

    width:
        fit-content;

    margin-bottom:
        15px;

    padding:
        7px 11px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    border:
        1px solid
        rgba(34, 166, 179, 0.15);

    border-radius:
        100px;

    background:
        rgba(255, 255, 255, 0.78);

    color:
        var(--pss-primary-dark);

    font-size:
        11px;

    font-weight:
        800;
}


.ps-shop__eyebrow-dot {
    width:
        8px;

    height:
        8px;

    flex-shrink:
        0;

    border-radius:
        50%;

    background:
        var(--pss-orange);

    box-shadow:
        0 0 0 5px
        rgba(255, 159, 67, 0.11);
}


/* ================================================================
   SHOP H1
================================================================ */

.ps-shop__title {
    position:
        relative;

    z-index:
        3;

    max-width:
        1050px;

    margin:
        0 0 18px !important;

    padding-bottom:
        17px;

    color:
        var(--pss-dark);

    font-size:
        clamp(34px, 4.4vw, 58px) !important;

    font-weight:
        900 !important;

    line-height:
        1.35 !important;

    letter-spacing:
        -0.8px;
}


.ps-shop__title::after {
    content:
        "";

    position:
        absolute;

    right:
        0;

    bottom:
        0;

    width:
        84px;

    height:
        4px;

    border-radius:
        50px;

    background:
        linear-gradient(
            90deg,
            var(--pss-orange),
            var(--pss-primary)
        );
}


/* ================================================================
   INTRO
================================================================ */

.ps-shop__intro {
    position:
        relative;

    z-index:
        3;

    max-width:
        950px;

    padding-right:
        17px;

    border-right:
        3px solid
        rgba(34, 166, 179, 0.55);
}


.ps-shop__intro p {
    margin:
        0 0 7px;

    color:
        var(--pss-text-soft);

    font-size:
        14.5px;

    font-weight:
        400;

    line-height:
        2.1;
}


.ps-shop__intro p:last-child {
    margin-bottom:
        0;
}


.ps-shop__intro strong {
    color:
        var(--pss-dark);

    font-weight:
        850;
}


.ps-shop__intro a {
    color:
        var(--pss-primary);

    font-weight:
        800;
}


/* ================================================================
   HERO DECORATION
================================================================ */

.ps-shop__hero-decoration {
    position:
        absolute;

    left:
        0;

    top:
        0;

    bottom:
        0;

    width:
        32%;

    pointer-events:
        none;

    z-index:
        1;
}


.ps-shop__hero-circle {
    position:
        absolute;

    display:
        block;

    border-radius:
        50%;
}


.ps-shop__hero-circle--one {
    width:
        230px;

    height:
        230px;

    left:
        -85px;

    top:
        -78px;

    border:
        38px solid
        rgba(34, 166, 179, 0.055);
}


.ps-shop__hero-circle--two {
    width:
        100px;

    height:
        100px;

    left:
        82px;

    bottom:
        -54px;

    border:
        18px solid
        rgba(255, 159, 67, 0.065);
}


.ps-shop__hero-point {
    position:
        absolute;

    left:
        42px;

    bottom:
        42px;

    width:
        11px;

    height:
        11px;

    border-radius:
        50%;

    background:
        var(--pss-orange);

    box-shadow:
        0 0 0 8px
        rgba(255, 159, 67, 0.10);
}


/* ================================================================
   CATALOG
================================================================ */

.ps-shop__catalog {
    width:
        min(1380px, calc(100% - 48px));

    margin:
        0 auto 42px;
}


.ps-shop__catalog-layout {
    display:
        grid;

    grid-template-columns:
        275px minmax(0, 1fr);

    gap:
        22px;

    align-items:
        start;
}


/* ================================================================
   SIDEBAR
================================================================ */

.ps-shop__sidebar {
    position:
        relative;
}


.ps-shop-filter {
    position:
        sticky;

    top:
        20px;

    padding:
        17px;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        23px;

    background:
        #FFFFFF;

    box-shadow:
        var(--pss-shadow-soft);
}


/* ================================================================
   FILTER HEADER
================================================================ */

.ps-shop-filter__header {
    margin-bottom:
        17px;

    padding:
        5px 4px 17px;

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    border-bottom:
        1px solid
        var(--pss-border);
}


.ps-shop-filter__header strong {
    display:
        block;

    margin-bottom:
        3px;

    color:
        var(--pss-dark);

    font-size:
        14px;

    font-weight:
        900;
}


.ps-shop-filter__header small {
    display:
        block;

    color:
        var(--pss-muted);

    font-size:
        10.5px;

    font-weight:
        550;
}


/* ================================================================
   FILTER ICON
================================================================ */

.ps-shop-filter__icon {
    width:
        42px;

    height:
        42px;

    flex-shrink:
        0;

    padding:
        10px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    gap:
        4px;

    border-radius:
        13px;

    background:
        var(--pss-primary-soft);
}


.ps-shop-filter__icon span {
    display:
        block;

    height:
        2px;

    border-radius:
        10px;

    background:
        var(--pss-primary);
}


.ps-shop-filter__icon span:nth-child(1) {
    width:
        100%;
}


.ps-shop-filter__icon span:nth-child(2) {
    width:
        70%;
}


.ps-shop-filter__icon span:nth-child(3) {
    width:
        42%;
}


/* ================================================================
   FILTER SECTION
================================================================ */

.ps-shop-filter__section {
    margin-bottom:
        18px;
}


.ps-shop-filter__section-title {
    margin:
        0 4px 10px;

    color:
        var(--pss-muted);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        0.2px;
}


/* ================================================================
   CATEGORY LIST
================================================================ */

.ps-shop-filter__categories {
    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;
}


.ps-shop-filter__category {
    min-height:
        47px;

    padding:
        7px 9px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        8px;

    border:
        1px solid
        transparent;

    border-radius:
        12px;

    background:
        transparent;

    color:
        var(--pss-text-soft);

    text-decoration:
        none !important;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


.ps-shop-filter__category:hover {
    transform:
        translateX(-2px);

    border-color:
        var(--pss-border);

    background:
        var(--pss-bg-soft);

    color:
        var(--pss-dark);
}


.ps-shop-filter__category.is-active {
    border-color:
        rgba(34, 166, 179, 0.15);

    background:
        linear-gradient(
            90deg,
            #FFFFFF,
            var(--pss-primary-soft)
        );

    color:
        var(--pss-dark);
}


/* ================================================================
   CATEGORY MAIN
================================================================ */

.ps-shop-filter__category-main {
    min-width:
        0;

    display:
        flex;

    align-items:
        center;

    gap:
        9px;

    font-size:
        11.5px;

    font-weight:
        750;
}


/* ================================================================
   FILTER RADIO
================================================================ */

.ps-shop-filter__radio {
    width:
        16px;

    height:
        16px;

    flex-shrink:
        0;

    position:
        relative;

    border:
        1px solid
        var(--pss-border-dark);

    border-radius:
        50%;

    background:
        #FFFFFF;
}


.ps-shop-filter__category.is-active
.ps-shop-filter__radio {
    border-color:
        var(--pss-primary);
}


.ps-shop-filter__category.is-active
.ps-shop-filter__radio::after {
    content:
        "";

    position:
        absolute;

    inset:
        3px;

    border-radius:
        50%;

    background:
        var(--pss-primary);
}


/* ================================================================
   COUNT
================================================================ */

.ps-shop-filter__count {
    min-width:
        27px;

    height:
        24px;

    padding:
        0 6px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        8px;

    background:
        #FFFFFF;

    color:
        var(--pss-muted);

    font-size:
        9.5px;

    font-weight:
        800;
}


/* ================================================================
   CATEGORY GROUP
================================================================ */

.ps-shop-filter__category-group {
    width:
        100%;
}


/* ================================================================
   CHILD CATEGORIES
================================================================ */

.ps-shop-filter__children {
    margin:
        2px 26px 7px 5px;

    padding-right:
        11px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;

    border-right:
        1px dashed
        rgba(34, 166, 179, 0.25);
}


.ps-shop-filter__child {
    padding:
        6px 8px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        7px;

    border-radius:
        8px;

    color:
        var(--pss-text-soft);

    font-size:
        10.5px;

    font-weight:
        600;

    text-decoration:
        none !important;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}


.ps-shop-filter__child:hover {
    background:
        var(--pss-primary-soft-2);

    color:
        var(--pss-primary-dark);
}


.ps-shop-filter__child small {
    color:
        var(--pss-muted);

    font-size:
        9px;
}


/* ================================================================
   CONSULTATION CARD
================================================================ */

.ps-shop-filter__help {
    position:
        relative;

    margin-top:
        17px;

    padding:
        17px;

    overflow:
        hidden;

    border:
        1px solid
        #FFE2C1;

    border-radius:
        17px;

    background:
        linear-gradient(
            145deg,
            #FFF9F2,
            #FFFFFF
        );
}


.ps-shop-filter__help::before {
    content:
        "";

    position:
        absolute;

    width:
        85px;

    height:
        85px;

    left:
        -40px;

    top:
        -40px;

    border:
        14px solid
        rgba(255, 159, 67, 0.07);

    border-radius:
        50%;
}


.ps-shop-filter__help-label {
    position:
        relative;

    z-index:
        2;

    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--pss-orange-dark);

    font-size:
        9.5px;

    font-weight:
        850;
}


.ps-shop-filter__help strong {
    position:
        relative;

    z-index:
        2;

    display:
        block;

    margin-bottom:
        7px;

    color:
        var(--pss-dark);

    font-size:
        13px;

    font-weight:
        900;

    line-height:
        1.7;
}


.ps-shop-filter__help p {
    position:
        relative;

    z-index:
        2;

    margin:
        0 0 12px;

    color:
        var(--pss-text-soft);

    font-size:
        10.5px;

    line-height:
        1.9;
}


.ps-shop-filter__help-link {
    position:
        relative;

    z-index:
        2;

    min-height:
        40px;

    padding:
        0 11px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    border-radius:
        10px;

    background:
        var(--pss-dark);

    color:
        #FFFFFF !important;

    font-size:
        10.5px;

    font-weight:
        800;

    text-decoration:
        none !important;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.ps-shop-filter__help-link:hover {
    transform:
        translateY(-1px);

    background:
        var(--pss-primary);
}


.ps-shop-filter__help-arrow {
    width:
        25px;

    height:
        25px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        7px;

    background:
        var(--pss-orange);

    color:
        var(--pss-dark);

    font-size:
        13px;

    font-weight:
        900;
}


/* ================================================================
   PRODUCTS AREA
================================================================ */

.ps-shop__products-area {
    min-width:
        0;

    padding:
        18px;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap:
        12px 14px;

    align-items:
        center;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        24px;

    background:
        #FFFFFF;

    box-shadow:
        var(--pss-shadow-soft);
}


/* ================================================================
   NOTICES
================================================================ */

.ps-shop__products-area
.woocommerce-notices-wrapper {
    grid-column:
        1 / -1;

    width:
        100%;
}


/* ================================================================
   RESULT COUNT
================================================================ */

.ps-shop__products-area
.woocommerce-result-count {
    grid-column:
        1;

    float:
        none !important;

    width:
        fit-content;

    margin:
        0 !important;

    padding:
        8px 12px;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        100px;

    background:
        var(--pss-bg-soft);

    color:
        var(--pss-text-soft);

    font-size:
        10.5px;

    font-weight:
        750;

    line-height:
        1.6;
}


/* ================================================================
   ORDERING
================================================================ */

.ps-shop__products-area
.woocommerce-ordering {
    grid-column:
        2;

    float:
        none !important;

    margin:
        0 !important;
}


.ps-shop__products-area
.woocommerce-ordering select {
    min-width:
        190px;

    height:
        41px;

    padding:
        0 12px;

    border:
        1px solid
        var(--pss-border-dark);

    border-radius:
        11px;

    outline:
        0;

    background:
        #FFFFFF;

    color:
        var(--pss-dark);

    font-size:
        10.5px;

    font-weight:
        750;

    cursor:
        pointer;
}


.ps-shop__products-area
.woocommerce-ordering select:focus {
    border-color:
        var(--pss-primary);

    box-shadow:
        0 0 0 4px
        rgba(34, 166, 179, 0.08);
}


/* ================================================================
   PRODUCTS HEADING
================================================================ */

.ps-shop-products-head {
    grid-column:
        1 / -1;

    margin-top:
        6px;

    padding:
        17px 3px 14px;

    display:
        flex;

    align-items:
        flex-end;

    gap:
        17px;

    border-top:
        1px solid
        var(--pss-border);
}


.ps-shop-products-head__text {
    flex-shrink:
        0;
}


.ps-shop-products-head__text span {
    display:
        block;

    margin-bottom:
        3px;

    color:
        var(--pss-primary);

    font-size:
        9.5px;

    font-weight:
        850;
}


.ps-shop-products-head__text strong {
    display:
        block;

    color:
        var(--pss-dark);

    font-size:
        19px;

    font-weight:
        900;

    line-height:
        1.6;
}


.ps-shop-products-head__line {
    height:
        1px;

    flex:
        1;

    margin-bottom:
        9px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pss-border-dark)
        );
}


/* ================================================================
   PRODUCT GRID
================================================================ */

.ps-shop__products-area
ul.products {
    grid-column:
        1 / -1;

    width:
        100%;

    margin:
        0 !important;

    padding:
        0 !important;

    display:
        grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        14px;
}


/* ================================================================
   REMOVE WOOCOMMERCE GRID GHOST ITEMS
================================================================ */

.ps-shop__products-area
ul.products::before,
.ps-shop__products-area
ul.products::after {
    content:
        none !important;

    display:
        none !important;
}


/* ================================================================
   PRODUCT CARD
================================================================ */

.ps-shop__products-area
ul.products
li.product {
    width:
        100% !important;

    margin:
        0 !important;

    padding:
        9px 9px 14px !important;

    float:
        none !important;

    position:
        relative;

    overflow:
        hidden;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        17px;

    background:
        #FFFFFF;

    box-shadow:
        var(--pss-shadow-card);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}


.ps-shop__products-area
ul.products
li.product:hover {
    transform:
        translateY(-5px);

    border-color:
        rgba(34, 166, 179, 0.30);

    box-shadow:
        0 17px 36px
        rgba(19, 34, 49, 0.085);
}


/* ================================================================
   PRODUCT TOP MARK
================================================================ */

.ps-shop__products-area
ul.products
li.product::before {
    content:
        "";

    position:
        absolute;

    right:
        16px;

    top:
        0;

    width:
        32px;

    height:
        3px;

    border-radius:
        0 0 8px 8px;

    background:
        var(--pss-primary);

    z-index:
        5;

    transition:
        width 0.25s ease;
}


.ps-shop__products-area
ul.products
li.product:hover::before {
    width:
        58px;
}


/* ================================================================
   PRODUCT IMAGE
================================================================ */

.ps-shop__products-area
ul.products
li.product
img {
    width:
        100% !important;

    aspect-ratio:
        1 / 1;

    margin:
        0 0 11px !important;

    padding:
        8px;

    object-fit:
        contain;

    border-radius:
        13px;

    background:
        linear-gradient(
            145deg,
            #F8FBFB,
            #F1F6F6
        );

    transition:
        transform 0.3s ease;
}


.ps-shop__products-area
ul.products
li.product:hover
img {
    transform:
        scale(1.025);
}


/* ================================================================
   PRODUCT TITLE
================================================================ */

.ps-shop__products-area
ul.products
li.product
.woocommerce-loop-product__title {
    min-height:
        50px;

    margin:
        0 !important;

    padding:
        0 4px !important;

    color:
        var(--pss-dark);

    font-size:
        13.5px !important;

    font-weight:
        850 !important;

    line-height:
        1.85;

    transition:
        color 0.2s ease;
}


.ps-shop__products-area
ul.products
li.product:hover
.woocommerce-loop-product__title {
    color:
        var(--pss-primary-dark);
}


/* ================================================================
   PRODUCT RATING
================================================================ */

.ps-shop__products-area
ul.products
li.product
.star-rating {
    margin:
        6px 4px !important;

    color:
        var(--pss-orange);

    font-size:
        10px;
}


/* ================================================================
   PRODUCT PRICE
================================================================ */

.ps-shop__products-area
ul.products
li.product
.price {
    min-height:
        30px;

    margin:
        5px 4px !important;

    color:
        var(--pss-primary) !important;

    font-size:
        12px !important;

    font-weight:
        850 !important;

    line-height:
        1.8;
}


.ps-shop__products-area
ul.products
li.product
.price del {
    margin-left:
        4px;

    color:
        var(--pss-muted);

    font-size:
        10px;

    opacity:
        0.65;
}


.ps-shop__products-area
ul.products
li.product
.price ins {
    color:
        var(--pss-primary);

    font-weight:
        900;

    text-decoration:
        none;
}


/* ================================================================
   PRODUCT BUTTON
================================================================ */

.ps-shop__products-area
ul.products
li.product
.button {
    width:
        calc(100% - 8px);

    min-height:
        41px;

    margin:
        9px 4px 0 !important;

    padding:
        0 11px !important;

    display:
        flex !important;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        7px;

    border:
        0 !important;

    border-radius:
        10px !important;

    background:
        var(--pss-dark) !important;

    color:
        #FFFFFF !important;

    font-size:
        10.5px !important;

    font-weight:
        800 !important;

    line-height:
        1 !important;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.ps-shop__products-area
ul.products
li.product
.button::after {
    content:
        "←";

    width:
        25px;

    height:
        25px;

    flex-shrink:
        0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        7px;

    background:
        var(--pss-orange);

    color:
        var(--pss-dark);

    font-size:
        13px;

    font-weight:
        900;
}


.ps-shop__products-area
ul.products
li.product
.button:hover {
    transform:
        translateY(-1px);

    background:
        var(--pss-primary) !important;
}


/* ================================================================
   SALE BADGE
================================================================ */

.ps-shop__products-area
ul.products
li.product
.onsale {
    min-width:
        auto !important;

    min-height:
        auto !important;

    top:
        16px !important;

    right:
        auto !important;

    left:
        16px !important;

    margin:
        0 !important;

    padding:
        5px 9px !important;

    border-radius:
        100px !important;

    background:
        var(--pss-orange) !important;

    color:
        var(--pss-dark) !important;

    font-size:
        9px !important;

    font-weight:
        900 !important;

    line-height:
        1.5 !important;
}


/* ================================================================
   PAGINATION
================================================================ */

.ps-shop__products-area
.woocommerce-pagination {
    grid-column:
        1 / -1;

    width:
        100%;

    margin:
        12px 0 0 !important;

    padding-top:
        16px;

    border-top:
        1px solid
        var(--pss-border);

    text-align:
        center;
}


.ps-shop__products-area
.woocommerce-pagination
ul.page-numbers {
    margin:
        0 !important;

    padding:
        5px !important;

    display:
        inline-flex;

    gap:
        4px;

    border:
        1px solid
        var(--pss-border) !important;

    border-radius:
        13px;

    background:
        var(--pss-bg-soft);
}


.ps-shop__products-area
.woocommerce-pagination
ul.page-numbers
li {
    border:
        0 !important;
}


.ps-shop__products-area
.woocommerce-pagination
.page-numbers
a,
.ps-shop__products-area
.woocommerce-pagination
.page-numbers
span {
    min-width:
        36px;

    height:
        36px;

    padding:
        0 8px !important;

    display:
        flex !important;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        9px;

    background:
        transparent !important;

    color:
        var(--pss-text-soft);

    font-size:
        11px;

    font-weight:
        800;
}


.ps-shop__products-area
.woocommerce-pagination
.page-numbers
.current {
    background:
        var(--pss-dark) !important;

    color:
        #FFFFFF !important;
}


.ps-shop__products-area
.woocommerce-pagination
.page-numbers
a:hover {
    background:
        var(--pss-primary-soft) !important;

    color:
        var(--pss-primary) !important;
}


/* ================================================================
   NO PRODUCTS
================================================================ */

.ps-shop__products-area
.woocommerce-info {
    grid-column:
        1 / -1;

    width:
        100%;

    margin:
        0 !important;

    padding:
        18px 20px !important;

    border:
        1px solid
        var(--pss-border);

    border-top:
        4px solid
        var(--pss-primary) !important;

    border-radius:
        14px;

    background:
        var(--pss-bg-soft);

    color:
        var(--pss-text);
}


/* ================================================================
   SEO CONTENT SECTION
================================================================ */

.ps-shop__content-section {
    width:
        min(1380px, calc(100% - 48px));

    margin:
        0 auto 70px;
}


.psychoheal-shop-content {
    position:
        relative;

    padding:
        clamp(29px, 4vw, 50px);

    overflow:
        hidden;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        var(--pss-radius-xl);

    background:
        #FFFFFF;

    box-shadow:
        var(--pss-shadow);
}


/* ================================================================
   CONTENT TOP DECORATION
================================================================ */

.psychoheal-shop-content::before {
    content:
        "";

    position:
        absolute;

    right:
        0;

    top:
        0;

    width:
        150px;

    height:
        5px;

    border-radius:
        0 0 0 20px;

    background:
        linear-gradient(
            90deg,
            var(--pss-primary),
            var(--pss-orange)
        );
}


.psychoheal-shop-content::after {
    content:
        "";

    position:
        absolute;

    width:
        170px;

    height:
        170px;

    left:
        -95px;

    bottom:
        -95px;

    border:
        28px solid
        rgba(34, 166, 179, 0.035);

    border-radius:
        50%;

    pointer-events:
        none;
}


/* ================================================================
   CONTENT PARAGRAPHS
================================================================ */

.psychoheal-shop-content p {
    position:
        relative;

    z-index:
        2;

    margin:
        0 0 22px;

    color:
        #52636F;

    font-size:
        15px;

    font-weight:
        400;

    line-height:
        2.15;
}


/* ================================================================
   CONTENT H2
   Different from Category
================================================================ */

.psychoheal-shop-content h2 {
    position:
        relative;

    z-index:
        2;

    margin:
        47px 0 20px;

    padding:
        0 48px 12px 0;

    color:
        var(--pss-dark);

    font-size:
        clamp(22px, 2vw, 29px);

    font-weight:
        900;

    line-height:
        1.65;

    border-bottom:
        1px solid
        var(--pss-border);
}


.psychoheal-shop-content h2::before {
    content:
        "";

    position:
        absolute;

    right:
        0;

    top:
        8px;

    width:
        31px;

    height:
        31px;

    border:
        7px solid
        var(--pss-primary-soft);

    border-radius:
        10px;

    background:
        var(--pss-primary);

    box-shadow:
        inset 0 0 0 7px
        #FFFFFF;
}


.psychoheal-shop-content h2::after {
    content:
        "";

    position:
        absolute;

    right:
        48px;

    bottom:
        -1px;

    width:
        65px;

    height:
        3px;

    border-radius:
        20px;

    background:
        var(--pss-orange);
}


.psychoheal-shop-content h2:first-child {
    margin-top:
        0;
}


/* ================================================================
   CONTENT H3
================================================================ */

.psychoheal-shop-content h3 {
    position:
        relative;

    z-index:
        2;

    width:
        fit-content;

    margin:
        34px 0 17px;

    padding:
        7px 13px;

    border:
        1px solid
        rgba(34, 166, 179, 0.15);

    border-radius:
        10px;

    background:
        var(--pss-primary-soft-2);

    color:
        var(--pss-dark-soft);

    font-size:
        clamp(18px, 1.5vw, 21px);

    font-weight:
        850;

    line-height:
        1.65;
}


/* ================================================================
   CONTENT H4
================================================================ */

.psychoheal-shop-content h4 {
    position:
        relative;

    z-index:
        2;

    margin:
        27px 0 14px;

    padding-right:
        16px;

    color:
        var(--pss-primary-dark);

    font-size:
        16px;

    font-weight:
        850;
}


.psychoheal-shop-content h4::before {
    content:
        "";

    position:
        absolute;

    right:
        0;

    top:
        50%;

    width:
        6px;

    height:
        6px;

    transform:
        translateY(-50%);

    border-radius:
        50%;

    background:
        var(--pss-orange);
}


/* ================================================================
   BULLET LIST
================================================================ */

.psychoheal-shop-content ul {
    position:
        relative;

    z-index:
        2;

    margin:
        21px 0 29px;

    padding:
        0;

    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        8px;

    list-style:
        none;
}


.psychoheal-shop-content ul li {
    position:
        relative;

    min-height:
        49px;

    padding:
        12px 47px 12px 13px;

    display:
        flex;

    align-items:
        center;

    border-bottom:
        1px solid
        var(--pss-border);

    background:
        transparent;

    color:
        var(--pss-text);

    font-size:
        13.5px;

    line-height:
        1.85;
}


.psychoheal-shop-content ul li::before {
    content:
        "";

    position:
        absolute;

    right:
        10px;

    top:
        50%;

    width:
        23px;

    height:
        23px;

    transform:
        translateY(-50%);

    border:
        6px solid
        var(--pss-primary-soft);

    border-radius:
        50%;

    background:
        var(--pss-primary);
}


/* ================================================================
   NUMBERED LIST
================================================================ */

.psychoheal-shop-content ol {
    position:
        relative;

    z-index:
        2;

    margin:
        23px 0 31px;

    padding:
        0;

    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        10px;

    list-style:
        none;

    counter-reset:
        ps-shop-step;
}


.psychoheal-shop-content ol li {
    position:
        relative;

    min-height:
        66px;

    padding:
        13px 62px 13px 14px;

    display:
        flex;

    align-items:
        center;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        13px;

    background:
        var(--pss-bg-soft);

    color:
        var(--pss-text);

    font-size:
        13px;

    line-height:
        1.85;

    counter-increment:
        ps-shop-step;
}


.psychoheal-shop-content ol li::before {
    content:
        "0" counter(ps-shop-step);

    position:
        absolute;

    right:
        12px;

    top:
        50%;

    transform:
        translateY(-50%);

    color:
        var(--pss-primary);

    font-size:
        17px;

    font-weight:
        900;
}


/* ================================================================
   BLOCKQUOTE
================================================================ */

.psychoheal-shop-content blockquote {
    position:
        relative;

    z-index:
        2;

    margin:
        30px 0;

    padding:
        24px 26px 24px 72px;

    overflow:
        hidden;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        17px;

    background:
        linear-gradient(
            110deg,
            #FFFFFF,
            #FFF8F0
        );

    box-shadow:
        inset -4px 0 0
        var(--pss-orange);
}


.psychoheal-shop-content blockquote::after {
    content:
        "”";

    position:
        absolute;

    left:
        19px;

    top:
        10px;

    color:
        var(--pss-orange);

    font-family:
        Georgia,
        serif;

    font-size:
        62px;

    font-weight:
        900;

    line-height:
        1;
}


.psychoheal-shop-content blockquote p {
    margin:
        0;

    color:
        var(--pss-dark-soft);

    font-size:
        14.5px;

    font-weight:
        650;

    line-height:
        2.05;
}


/* ================================================================
   TABLE
================================================================ */

.psychoheal-shop-content table {
    position:
        relative;

    z-index:
        2;

    width:
        100%;

    margin:
        27px 0 33px;

    border-collapse:
        separate;

    border-spacing:
        0;

    overflow:
        hidden;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        16px;

    background:
        #FFFFFF;
}


.psychoheal-shop-content table thead {
    background:
        var(--pss-primary-soft);
}


.psychoheal-shop-content table th {
    padding:
        15px 17px;

    border:
        0;

    border-bottom:
        1px solid
        var(--pss-border-dark);

    color:
        var(--pss-dark);

    font-size:
        13px;

    font-weight:
        900;

    text-align:
        right;
}


.psychoheal-shop-content table td {
    padding:
        14px 17px;

    border:
        0;

    border-bottom:
        1px solid
        #EDF2F3;

    color:
        var(--pss-text-soft);

    font-size:
        13px;

    line-height:
        1.85;

    text-align:
        right;

    vertical-align:
        middle;
}


.psychoheal-shop-content
table tbody tr:last-child td {
    border-bottom:
        0;
}


.psychoheal-shop-content
table tbody tr:nth-child(even) td {
    background:
        #FBFDFD;
}


.psychoheal-shop-content
table td:first-child {
    color:
        var(--pss-dark);

    font-weight:
        800;
}


/* ================================================================
   LINKS
================================================================ */

.psychoheal-shop-content a {
    color:
        var(--pss-primary);

    font-weight:
        750;

    text-decoration:
        underline;

    text-decoration-color:
        rgba(34, 166, 179, 0.25);

    text-underline-offset:
        4px;
}


.psychoheal-shop-content a:hover {
    color:
        var(--pss-orange-dark);
}


/* ================================================================
   STRONG
================================================================ */

.psychoheal-shop-content strong {
    color:
        var(--pss-dark);

    font-weight:
        850;
}


/* ================================================================
   CONTENT IMAGE
================================================================ */

.psychoheal-shop-content img {
    max-width:
        100%;

    height:
        auto;

    margin:
        17px 0;

    border:
        1px solid
        var(--pss-border);

    border-radius:
        16px;

    box-shadow:
        var(--pss-shadow-soft);
}


/* ================================================================
   HR
================================================================ */

.psychoheal-shop-content hr {
    width:
        100%;

    height:
        1px;

    margin:
        36px 0;

    border:
        0;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pss-border-dark),
            transparent
        );
}


/* ================================================================
   TABLET LARGE
================================================================ */

@media (max-width: 1180px) {

    .ps-shop__catalog-layout {
        grid-template-columns:
            245px minmax(0, 1fr);
    }


    .ps-shop__products-area
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 900px) {

    .ps-shop__hero,
    .ps-shop__catalog,
    .ps-shop__content-section {
        width:
            calc(100% - 30px);
    }


    .ps-shop__catalog-layout {
        grid-template-columns:
            1fr;

        gap:
            15px;
    }


    /* Sidebar becomes top catalog navigation */

    .ps-shop-filter {
        position:
            static;

        padding:
            14px;
    }


    .ps-shop-filter__header {
        margin-bottom:
            12px;

        padding-bottom:
            12px;
    }


    .ps-shop-filter__categories {
        display:
            grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap:
            7px;
    }


    .ps-shop-filter__category-group {
        min-width:
            0;
    }


    .ps-shop-filter__children {
        display:
            none;
    }


    .ps-shop-filter__category {
        min-height:
            44px;

        background:
            var(--pss-bg-soft);

        border-color:
            var(--pss-border);
    }


    .ps-shop-filter__help {
        margin-top:
            12px;

        display:
            grid;

        grid-template-columns:
            1fr auto;

        gap:
            5px 15px;

        align-items:
            center;
    }


    .ps-shop-filter__help-label,
    .ps-shop-filter__help strong,
    .ps-shop-filter__help p {
        grid-column:
            1;
    }


    .ps-shop-filter__help-link {
        grid-column:
            2;

        grid-row:
            1 / 4;

        min-width:
            145px;
    }


    .psychoheal-shop-content ul,
    .psychoheal-shop-content ol {
        grid-template-columns:
            1fr;
    }

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767px) {

    .woocommerce-shop {
        background:
            #FFFFFF;
    }


    /* Hero */

    .ps-shop__hero {
        width:
            calc(100% - 18px);

        margin:
            12px auto 14px;
    }


    .ps-shop__hero-inner {
        min-height:
            auto;

        padding:
            23px 16px 21px;

        border-radius:
            19px;
    }


    .ps-shop__hero-inner::after {
        top:
            25px;

        bottom:
            25px;

        width:
            4px;
    }


    .ps-shop__eyebrow {
        margin-bottom:
            11px;

        padding:
            6px 9px;

        font-size:
            9.5px;
    }


    .ps-shop__title {
        margin-bottom:
            13px !important;

        padding-bottom:
            12px;

        font-size:
            clamp(27px, 8vw, 36px) !important;

        line-height:
            1.5 !important;
    }


    .ps-shop__title::after {
        width:
            60px;
    }


    .ps-shop__intro {
        max-width:
            none;

        padding-right:
            11px;
    }


    .ps-shop__intro p {
        font-size:
            12.5px;

        line-height:
            2;
    }


    .ps-shop__hero-decoration {
        width:
            42%;
    }


    .ps-shop__hero-circle--one {
        width:
            135px;

        height:
            135px;

        left:
            -62px;

        top:
            -58px;

        border-width:
            23px;
    }


    .ps-shop__hero-circle--two,
    .ps-shop__hero-point {
        display:
            none;
    }


    /* Catalog */

    .ps-shop__catalog {
        width:
            calc(100% - 18px);

        margin-bottom:
            25px;
    }


    /* Filter */

    .ps-shop-filter {
        padding:
            12px;

        border-radius:
            17px;
    }


    .ps-shop-filter__header {
        gap:
            9px;
    }


    .ps-shop-filter__icon {
        width:
            38px;

        height:
            38px;

        border-radius:
            11px;
    }


    .ps-shop-filter__header strong {
        font-size:
            12.5px;
    }


    .ps-shop-filter__header small {
        font-size:
            9.5px;
    }


    .ps-shop-filter__section-title {
        font-size:
            9px;
    }


    .ps-shop-filter__categories {
        display:
            flex;

        flex-direction:
            row;

        overflow-x:
            auto;

        gap:
            6px;

        padding-bottom:
            3px;

        scrollbar-width:
            none;
    }


    .ps-shop-filter__categories::-webkit-scrollbar {
        display:
            none;
    }


    .ps-shop-filter__category-group {
        flex:
            0 0 auto;

        width:
            auto;
    }


    .ps-shop-filter__category {
        min-width:
            135px;

        min-height:
            42px;

        flex-shrink:
            0;

        padding:
            6px 8px;
    }


    .ps-shop-filter__category-main {
        font-size:
            10px;
    }


    .ps-shop-filter__radio {
        width:
            14px;

        height:
            14px;
    }


    .ps-shop-filter__count {
        min-width:
            23px;

        height:
            21px;

        font-size:
            8.5px;
    }


    .ps-shop-filter__help {
        display:
            none;
    }


    /* Products Area */

    .ps-shop__products-area {
        padding:
            10px;

        grid-template-columns:
            1fr 1fr;

        gap:
            8px;

        border-radius:
            18px;
    }


    .ps-shop__products-area
    .woocommerce-result-count {
        width:
            100%;

        min-height:
            39px;

        padding:
            7px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        border-radius:
            10px;

        font-size:
            9px;

        text-align:
            center;
    }


    .ps-shop__products-area
    .woocommerce-ordering {
        width:
            100%;
    }


    .ps-shop__products-area
    .woocommerce-ordering select {
        width:
            100%;

        min-width:
            0;

        height:
            39px;

        padding:
            0 8px;

        font-size:
            9px;
    }


    /* Product Heading */

    .ps-shop-products-head {
        margin-top:
            2px;

        padding:
            12px 1px 9px;

        gap:
            10px;
    }


    .ps-shop-products-head__text span {
        font-size:
            8.5px;
    }


    .ps-shop-products-head__text strong {
        font-size:
            15px;
    }


    /* Products */

    .ps-shop__products-area
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            8px;
    }


    .ps-shop__products-area
    ul.products
    li.product {
        padding:
            6px 6px 10px !important;

        border-radius:
            14px;
    }


    .ps-shop__products-area
    ul.products
    li.product::before {
        right:
            13px;

        width:
            25px;
    }


    .ps-shop__products-area
    ul.products
    li.product
    img {
        margin-bottom:
            7px !important;

        padding:
            5px;

        border-radius:
            10px;
    }


    .ps-shop__products-area
    ul.products
    li.product
    .woocommerce-loop-product__title {
        min-height:
            44px;

        padding:
            0 2px !important;

        font-size:
            10.5px !important;

        line-height:
            1.85;
    }


    .ps-shop__products-area
    ul.products
    li.product
    .price {
        min-height:
            26px;

        margin:
            3px 2px !important;

        font-size:
            10px !important;
    }


    .ps-shop__products-area
    ul.products
    li.product
    .button {
        width:
            calc(100% - 4px);

        min-height:
            37px;

        margin:
            6px 2px 0 !important;

        padding:
            0 7px !important;

        font-size:
            9px !important;
    }


    .ps-shop__products-area
    ul.products
    li.product
    .button::after {
        width:
            22px;

        height:
            22px;

        font-size:
            11px;
    }


    /* SEO Content */

    .ps-shop__content-section {
        width:
            calc(100% - 18px);

        margin-bottom:
            40px;
    }


    .psychoheal-shop-content {
        padding:
            21px 14px 24px;

        border-radius:
            18px;
    }


    .psychoheal-shop-content::before {
        width:
            95px;

        height:
            4px;
    }


    .psychoheal-shop-content p {
        margin-bottom:
            18px;

        font-size:
            13px;

        line-height:
            2.05;
    }


    .psychoheal-shop-content h2 {
        margin:
            34px 0 17px;

        padding:
            0 40px 10px 0;

        font-size:
            19px;

        line-height:
            1.65;
    }


    .psychoheal-shop-content h2::before {
        width:
            27px;

        height:
            27px;

        top:
            5px;

        border-width:
            6px;
    }


    .psychoheal-shop-content h2::after {
        right:
            40px;

        width:
            48px;
    }


    .psychoheal-shop-content h3 {
        margin:
            26px 0 14px;

        padding:
            6px 10px;

        font-size:
            16px;
    }


    /* Lists */

    .psychoheal-shop-content ul,
    .psychoheal-shop-content ol {
        grid-template-columns:
            1fr;
    }


    .psychoheal-shop-content ul li {
        min-height:
            44px;

        padding:
            9px 40px 9px 8px;

        font-size:
            12px;
    }


    .psychoheal-shop-content ul li::before {
        width:
            20px;

        height:
            20px;

        right:
            9px;

        border-width:
            5px;
    }


    .psychoheal-shop-content ol li {
        min-height:
            55px;

        padding:
            10px 52px 10px 9px;

        font-size:
            12px;
    }


    .psychoheal-shop-content ol li::before {
        right:
            10px;

        font-size:
            15px;
    }


    /* Quote */

    .psychoheal-shop-content blockquote {
        margin:
            22px 0;

        padding:
            19px 14px 19px 50px;

        border-radius:
            14px;
    }


    .psychoheal-shop-content blockquote::after {
        left:
            13px;

        top:
            8px;

        font-size:
            45px;
    }


    .psychoheal-shop-content blockquote p {
        font-size:
            12.5px;

        line-height:
            2;
    }


    /* Table */

    .psychoheal-shop-content table {
        display:
            block;

        width:
            100%;

        overflow-x:
            auto;

        white-space:
            nowrap;

        border-radius:
            13px;
    }


    .psychoheal-shop-content table th,
    .psychoheal-shop-content table td {
        min-width:
            145px;

        padding:
            11px 12px;

        font-size:
            11.5px;
    }

}


/* ================================================================
   SMALL MOBILE
================================================================ */

@media (max-width: 430px) {

    .ps-shop__title {
        font-size:
            27px !important;
    }


    .ps-shop__products-area
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ================================================================
   VERY SMALL MOBILE
================================================================ */

@media (max-width: 350px) {

    .ps-shop__products-area {
        grid-template-columns:
            1fr;
    }


    .ps-shop__products-area
    .woocommerce-result-count,
    .ps-shop__products-area
    .woocommerce-ordering {
        grid-column:
            1;
    }


    .ps-shop__products-area
    ul.products,
    .ps-shop-products-head,
    .ps-shop__products-area
    .woocommerce-pagination {
        grid-column:
            1;
    }


    .ps-shop__products-area
    ul.products {
        grid-template-columns:
            1fr;
    }

}


/* ================================================================
   ACCESSIBILITY
================================================================ */

.ps-shop a:focus-visible,
.ps-shop button:focus-visible,
.ps-shop input:focus-visible,
.ps-shop select:focus-visible,
.ps-shop textarea:focus-visible {
    outline:
        2px solid
        var(--pss-orange);

    outline-offset:
        3px;
}


/* ================================================================
   REDUCED MOTION
================================================================ */

@media (prefers-reduced-motion: reduce) {

    .ps-shop *,
    .ps-shop *::before,
    .ps-shop *::after {
        transition:
            none !important;

        animation:
            none !important;
    }

}