/* TSP shop — white surfaces, restrained borders and the existing blue accent. */
:root {
    --tsp-blue: #1d4ed8;
    --tsp-ink: #172033;
    --tsp-muted: #64748b;
    --tsp-border: #e2e8f0;
    --tsp-radius: 8px;
}
.tsp-shop {
    width: min(1200px, 100%);
    margin: 24px auto 72px;
    padding: 0 20px;
    color: var(--tsp-ink);
}
.tsp-home-shop { margin-top: 64px; margin-bottom: 64px; }
.tsp-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}
.tsp-section-heading h2 { margin: 0; font-size: clamp(20px, 2.3vw, 28px); font-weight: 750; }
.tsp-section-heading > a { color: var(--tsp-blue); font-size: 14px; }
.tsp-section-heading > a:hover { text-decoration: underline; }
.tsp-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.tsp-category-grid li { min-width: 0; }
.tsp-category-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    height: 100%;
    padding: 22px 18px;
    border: 1px solid var(--tsp-border);
    border-radius: var(--tsp-radius);
    background: #fff;
    color: var(--tsp-ink);
    text-decoration: none;
    transition: border-color .15s;
}
.tsp-category-card:hover { border-color: var(--tsp-blue); }
.tsp-category-card strong { display: block; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.tsp-category-caption { display: block; margin-top: 6px; color: var(--tsp-muted); font-size: 13px; }
.tsp-category-arrow { color: var(--tsp-blue); font-size: 22px; flex-shrink: 0; }
.tsp-shop .woocommerce-breadcrumb { margin: 0 0 24px; color: var(--tsp-muted); font-size: 13px; line-height: 2; }
.tsp-shop .woocommerce-breadcrumb a { color: var(--tsp-ink); }
.tsp-shop .woocommerce-breadcrumb span { margin: 0 8px; }
.tsp-shop .woocommerce-products-header { padding: 0; margin: 0 0 28px; display: block; }
.tsp-shop .page-title { margin-bottom: 16px; font-size: clamp(24px, 3vw, 32px); line-height: 1.7; font-weight: 750; }
.tsp-shop .term-description, .tsp-shop .page-description { max-width: 85ch; line-height: 2; color: var(--tsp-muted); }
.tsp-shop .term-description p, .tsp-shop .page-description p { margin-bottom: 12px; }
.tsp-archive-categories { margin-bottom: 28px; }
.tsp-shop-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.tsp-shop-toolbar::before, .tsp-shop-toolbar::after { display: none; }
.tsp-shop-toolbar .woocommerce-notices-wrapper { flex-basis: 100%; }
.tsp-shop-toolbar .woocommerce-notices-wrapper:empty { display: none; }
.tsp-shop-toolbar .woocommerce-result-count, .tsp-shop-toolbar .woocommerce-ordering { float: none; margin: 0; font-size: 14px; }
.tsp-shop-toolbar .woocommerce-ordering select { max-width: 100%; }

/* Reset WooCommerce's float columns and clearfix pseudo-elements for CSS grid. */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products[class*="columns-"] li.product, .woocommerce ul.products li.product {
    float: none;
    clear: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--tsp-border);
    border-radius: var(--tsp-radius);
    background: #fff;
    text-align: start;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--tsp-ink); }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1; object-fit: contain; margin: 0 0 16px; border-radius: 4px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 12px; font-size: 15px; font-weight: 650; line-height: 1.9; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .price { margin-top: auto; margin-bottom: 0; padding-top: 4px; color: var(--tsp-ink); font-size: 15px; font-weight: 650; line-height: 1.9; }
.woocommerce ul.products li.product .price del { color: var(--tsp-muted); font-size: 12px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin-top: 16px; text-align: center; line-height: 1.6; }
.woocommerce ul.products li.product .star-rating { margin-bottom: 10px; }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 4px 10px; border-radius: 4px; background: var(--tsp-blue); color: #fff; line-height: 1.8; font-size: 12px; z-index: 2; }
.woocommerce nav.woocommerce-pagination { margin: 32px 0 0; }
.woocommerce nav.woocommerce-pagination ul { border: none; display: inline-flex; flex-wrap: wrap; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 1px solid var(--tsp-border); border-radius: 4px; overflow: hidden; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; padding: 12px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--tsp-blue); color: #fff; }

/* Standard product DOM: gallery and summary side by side, full-width details. */
.tsp-shop > div.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 36px;
    position: relative;
}
.tsp-shop > div.product::before, .tsp-shop > div.product::after { display: none; }
.woocommerce.tsp-shop div.product div.images, .woocommerce.tsp-shop div.product div.summary {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    align-self: start;
}
.tsp-shop div.product > .woocommerce-tabs, .tsp-shop div.product > .related, .tsp-shop div.product > .upsells { grid-column: 1 / -1; min-width: 0; }
.tsp-shop div.product .woocommerce-product-gallery__wrapper { border: 1px solid var(--tsp-border); border-radius: var(--tsp-radius); overflow: hidden; }
.tsp-shop div.product div.images img { border-radius: 4px; }
.tsp-shop div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.tsp-shop div.product div.images .flex-control-thumbs li { float: none; width: calc(25% - 6px); border: 1px solid var(--tsp-border); border-radius: 4px; overflow: hidden; }
.tsp-shop div.product div.images .flex-control-thumbs img { aspect-ratio: 1; object-fit: contain; }
.tsp-shop div.product .product_title { margin: 0 0 16px; font-size: clamp(22px, 2.4vw, 30px); font-weight: 750; line-height: 1.8; overflow-wrap: anywhere; }
.tsp-shop div.product p.price, .tsp-shop div.product span.price { margin: 16px 0; color: var(--tsp-blue); font-size: 24px; font-weight: 700; line-height: 1.8; }
.tsp-shop div.product .price ins { text-decoration: none; }
.tsp-shop div.product .price del { color: var(--tsp-muted); font-size: .75em; }
.tsp-shop .woocommerce-product-details__short-description { line-height: 2; margin-bottom: 24px; }
.tsp-shop .woocommerce-product-details__short-description p { margin-bottom: 12px; }
.tsp-shop .woocommerce-product-details__short-description ul { list-style: disc; padding-inline-start: 24px; }
.tsp-consultation { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; margin: 24px 0; border: 1px solid #26d367; border-inline-start: 3px solid #26d367; border-radius: var(--tsp-radius); background: #fff; text-decoration: none; line-height: 1.9; color: var(--tsp-ink); }
.tsp-consultation:hover { border-color: var(--tsp-blue); }
.tsp-consultation-person { font-size: 13px; color: var(--tsp-muted); }
.tsp-consultation strong { font-size: 17px; }
.tsp-consultation-link { background-color: #26d367; font-size: 14px; font-weight: 700; margin-left: auto; padding: 10px; border-radius: 5px; color: white; }
.tsp-shop div.product form.cart { margin: 24px 0; }
.tsp-shop div.product form.cart .variations { margin-bottom: 16px; }
.tsp-shop div.product form.cart .variations th, .tsp-shop div.product form.cart .variations td { padding: 8px 0; vertical-align: middle; }
.tsp-shop div.product form.cart .variations th { padding-inline-end: 16px; }
.tsp-shop div.product form.cart .variations select { width: 100%; margin: 0; }
.woocommerce .quantity .qty { width: 76px; min-height: 44px; padding: 8px; border: 1px solid var(--tsp-border); border-radius: 4px; background: #fff; font: inherit; text-align: center; }
.tsp-shop div.product form.cart div.quantity { margin-inline-end: 12px; }
.tsp-shop div.product .single_add_to_cart_button { min-height: 44px; }
.tsp-shop div.product .stock { font-size: 14px; }
.tsp-shop div.product .product_meta { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--tsp-border); padding-top: 20px; margin-top: 24px; color: var(--tsp-muted); font-size: 13px; line-height: 1.9; }
.tsp-shop div.product .product_meta a { color: var(--tsp-blue); }
.tsp-shop div.product .woocommerce-tabs { margin-top: 16px; }
.tsp-shop div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 24px; display: flex; flex-wrap: wrap; gap: 20px; border-bottom: 1px solid var(--tsp-border); }
.tsp-shop div.product .woocommerce-tabs ul.tabs::before, .tsp-shop div.product .woocommerce-tabs ul.tabs li::before, .tsp-shop div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.tsp-shop div.product .woocommerce-tabs ul.tabs li { background: #fff; border: 0; border-radius: 0; margin: 0; padding: 0; }
.tsp-shop div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0; color: var(--tsp-muted); font-weight: 600; }
.tsp-shop div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--tsp-blue); }
.tsp-shop div.product .woocommerce-tabs ul.tabs li.active a { color: var(--tsp-blue); }
.tsp-shop div.product .woocommerce-tabs .panel { margin: 0; line-height: 2; overflow-wrap: anywhere; }
.tsp-shop .woocommerce-Tabs-panel p { margin-bottom: 16px; }
.tsp-shop .woocommerce-Tabs-panel h2, .tsp-shop .related > h2, .tsp-shop .upsells > h2 { font-size: 22px; font-weight: 700; margin-bottom: 20px; }
.tsp-shop .woocommerce-Tabs-panel h3 { font-size: 19px; font-weight: 650; margin: 20px 0 12px; }
.tsp-shop .woocommerce-Tabs-panel ul:not(.commentlist) { list-style: disc; padding-inline-start: 24px; }
.tsp-shop .woocommerce-Tabs-panel ol:not(.commentlist) { list-style: decimal; padding-inline-start: 24px; }
.tsp-shop .woocommerce-Tabs-panel img { max-width: 100%; height: auto; }
.tsp-shop .woocommerce-Tabs-panel table { max-width: 100%; }

/* Inputs and buttons, without interfering with stock/variation/payment scripts. */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    border-radius: 5px;
    padding: 11px 16px;
    background: #f1f5f9;
    color: var(--tsp-ink);
    font-family: inherit;
    font-weight: 600;
    box-shadow: none;
    text-shadow: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #respond input#submit:hover { background: #e2e8f0; color: var(--tsp-ink); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled,
.wc-block-cart .wc-block-cart__submit-button, .wc-block-checkout .wc-block-components-checkout-place-order-button {
    background: var(--tsp-blue);
    color: #fff;
    border-radius: 5px;
    font-family: inherit;
    font-weight: 600;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #1e40af; color: #fff; }
.woocommerce button:disabled { opacity: .5; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select, .woocommerce input#coupon_code,
.woocommerce #review_form input[type="text"], .woocommerce #review_form input[type="email"], .woocommerce #review_form textarea {
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--tsp-border);
    border-radius: 5px;
    background: #fff;
    color: var(--tsp-ink);
    font: inherit;
    max-width: 100%;
}
.woocommerce a:focus-visible, .woocommerce button:focus-visible, .woocommerce input:focus-visible, .woocommerce textarea:focus-visible, .woocommerce select:focus-visible, .tsp-category-card:focus-visible, .tsp-section-heading a:focus-visible {
    outline: 2px solid var(--tsp-blue);
    outline-offset: 3px;
}
.woocommerce .select2-container .select2-selection--single { min-height: 44px; border: 1px solid var(--tsp-border); border-radius: 5px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-inline-start: 12px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 5px; background: #f8fafc; line-height: 1.9; }
.woocommerce-message { border-top-color: #15803d; }
.woocommerce-info { border-top-color: var(--tsp-blue); }
.woocommerce-info::before { color: var(--tsp-blue); }

/* Classic and block cart / checkout. */
body.woocommerce-cart main.container, body.woocommerce-checkout main.container { max-width: 1200px; padding: 0 20px; margin: 32px auto 72px; }
.tsp-transaction { min-height: 300px; color: var(--tsp-ink); line-height: 1.8; }
.tsp-transaction h2, .tsp-transaction h3 { color: var(--tsp-ink); font-size: 21px; font-weight: 700; margin: 0 0 20px; }
.tsp-transaction a:not(.button) { color: var(--tsp-blue); }
.woocommerce table.shop_table { border: 1px solid var(--tsp-border); border-radius: var(--tsp-radius); border-collapse: separate; margin-bottom: 24px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px; line-height: 1.8; }
.woocommerce table.shop_table td { border-top-color: var(--tsp-border); }
.woocommerce table.shop_table thead { background: #f8fafc; }
.woocommerce table.cart img { width: 68px; border-radius: 4px; }
.woocommerce table.cart td.actions .coupon .input-text { width: 170px; margin-inline-end: 8px; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: min(100%, 460px); margin-inline-start: auto; padding: 24px; border: 1px solid var(--tsp-border); border-radius: var(--tsp-radius); }
.woocommerce .cart_totals table.shop_table { border: 0; margin-bottom: 12px; }
.woocommerce .cart_totals table.shop_table th, .woocommerce .cart_totals table.shop_table td { padding: 12px 0; }
.woocommerce .wc-proceed-to-checkout { padding-bottom: 0; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { font-size: 16px; margin-bottom: 0; }
.woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 40px; align-items: start; }
.woocommerce form.checkout > * { grid-column: 1 / -1; min-width: 0; }
.woocommerce form.checkout #customer_details { grid-column: 1; grid-row: span 2; width: 100%; }
.woocommerce form.checkout #order_review_heading, .woocommerce form.checkout #order_review { grid-column: 2; }
.woocommerce form.checkout .col2-set .col-1, .woocommerce form.checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce form.checkout .col2-set .col-2 { margin-top: 32px; }
.woocommerce form.checkout .form-row { padding: 0; margin-bottom: 16px; }
.woocommerce form.checkout .form-row label { margin-bottom: 6px; font-size: 14px; }
.woocommerce form.checkout #order_review { padding: 20px; border: 1px solid var(--tsp-border); border-radius: var(--tsp-radius); }
.woocommerce form.checkout #order_review table { border: 0; }
.woocommerce form.checkout #order_review table th, .woocommerce form.checkout #order_review table td { padding: 12px 0; }
.woocommerce-checkout #payment { background: #f8fafc; border-radius: 5px; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border: 1px solid var(--tsp-border); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .payment_methods label { display: inline; }
.woocommerce-checkout #payment .place-order { margin-bottom: 0; }
.woocommerce-checkout #payment #place_order { float: none; width: 100%; margin-top: 16px; }
.woocommerce .woocommerce-privacy-policy-text { font-size: 13px; line-height: 2; margin-bottom: 12px; }
.wc-block-cart, .wc-block-checkout { font-family: inherit; color: var(--tsp-ink); }
.wc-block-cart .wc-block-components-sidebar, .wc-block-checkout .wc-block-components-sidebar { border: 1px solid var(--tsp-border); border-radius: var(--tsp-radius); padding: 20px; background: #fff; }
.wc-block-cart .wc-block-cart__submit-button, .wc-block-checkout .wc-block-components-checkout-place-order-button { min-height: 48px; text-decoration: none; }
.wc-block-cart .wc-block-cart__submit-button:hover, .wc-block-checkout .wc-block-components-checkout-place-order-button:hover { background: #1e40af; color: #fff; }
.wc-block-components-button .wc-block-components-button__text { color: inherit; }
.wc-block-components-form .wc-block-components-text-input input, .wc-block-components-text-input input, .wc-blocks-components-select .wc-blocks-components-select__select { border-color: #94a3b8; border-radius: 5px; font-family: inherit; background-color: #fff; }
.wc-block-components-totals-wrapper { border-color: var(--tsp-border); }

@media (max-width: 991px) {
    .tsp-category-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tsp-shop > div.product { gap: 24px; }
    .woocommerce form.checkout { display: block; }
    .woocommerce form.checkout #order_review_heading { margin-top: 32px; }
}
@media (max-width: 600px) {
    .tsp-shop { padding: 0 16px; margin-top: 16px; margin-bottom: 48px; }
    .tsp-home-shop { margin-top: 40px; margin-bottom: 40px; padding-inline: 16px; }
    .tsp-section-heading { margin-bottom: 18px; }
    .tsp-section-heading h2 { font-size: 22px; }
    .tsp-category-card { padding: 16px 12px; }
    .tsp-category-card strong { font-size: 14px; }
    .tsp-category-caption { font-size: 12px; }
    .tsp-category-arrow { font-size: 18px; }
    .woocommerce ul.products { gap: 12px; }
    .woocommerce ul.products[class*="columns-"] li.product, .woocommerce ul.products li.product { padding: 12px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
    .woocommerce ul.products li.product .price { font-size: 14px; }
    .woocommerce ul.products li.product .button { padding: 10px 8px; font-size: 13px; }
    .tsp-shop > div.product { grid-template-columns: minmax(0, 1fr); }
    .tsp-shop div.product .woocommerce-tabs ul.tabs { gap: 16px; }
    .tsp-shop div.product .woocommerce-tabs ul.tabs li a { font-size: 14px; }
    .tsp-shop div.product form.cart .variations th, .tsp-shop div.product form.cart .variations td { display: block; padding: 4px 0; }
    .tsp-shop div.product form.cart .single_add_to_cart_button { max-width: 100%; }
    .tsp-consultation { padding: 16px; }
    body.woocommerce-cart main.container, body.woocommerce-checkout main.container { padding: 0 16px; }
    .woocommerce .cart-collaterals .cart_totals { padding: 16px; }
    .woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px; }
    .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; float: none; }
    .woocommerce table.cart td.actions .coupon .input-text, .woocommerce table.cart td.actions .coupon .button { width: 50%; margin: 0; min-width: 0; }
    .woocommerce form.checkout #order_review { padding: 16px; }
    .wc-block-cart .wc-block-components-sidebar, .wc-block-checkout .wc-block-components-sidebar { padding: 16px; }
}
@media (max-width: 359px) {
    .tsp-category-grid, .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
}


.hexo-custom-srs-auth-shortcode {
    width: 100%
    min-height: 600px;
    padding: 10px;
    margin: 0 auto;
}

@media (min-width: 640px) {
    .hexo-custom-srs-auth-shortcode {
        max-width:640px
    }
}

@media (min-width: 768px) {
    .hexo-custom-srs-auth-shortcode {
        max-width:768px
    }
}

@media (min-width: 1024px) {
    .hexo-custom-srs-auth-shortcode {
        max-width:1024px
    }
}

@media (min-width: 1280px) {
    .hexo-custom-srs-auth-shortcode {
        max-width:1280px
    }
}

@media (min-width: 1536px) {
    .hexo-custom-srs-auth-shortcode {
        max-width:1536px
    }
}
footer .enamad {
    display: flex;
    justify-content: center;
    align-items: center;
}