/* TecCorp shared component authority (P02). Values come from design-tokens.css. */

.tc-media-lightbox {
    background: #111;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #fff;
    max-height: calc(100vh - 2rem);
    max-width: calc(100vw - 2rem);
    padding: 2.75rem 1rem 1rem;
}

.tc-media-lightbox::backdrop {
    background: rgba(0, 0, 0, 0.88);
}

.tc-media-lightbox img {
    display: block;
    height: auto;
    max-height: calc(100vh - 5.75rem);
    max-width: calc(100vw - 4rem);
    object-fit: contain;
}

.tc-media-lightbox__close {
    align-items: center;
    background: transparent;
    border: 1px solid currentColor;
    color: #fff;
    display: flex;
    font-size: 1.5rem;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
    width: 2rem;
}

/* Internal content rhythm; Homepage V3.2 retains its approved scale. */
body:not(.home) main {
    font-family: var(--tc-font-body);
    font-size: var(--tc-type-body);
}

body:not(.home) main :where(h1, .h1) { font-size: var(--tc-type-h1); line-height: var(--tc-leading-h1); }
:is(.single-post, .single-service, .single-product) main h1 { font-size: var(--tc-type-h1-compact); }
body:not(.home) main :where(h2, .h2) { font-size: var(--tc-type-h2); line-height: var(--tc-leading-h2); margin-block: 2.75rem 1.1rem; }
body:not(.home) main :where(h3, .h3) { font-size: var(--tc-type-h3); line-height: var(--tc-leading-h3); margin-block: 2rem 0.85rem; }
body:not(.home) main :where(h4, .h4) { font-size: var(--tc-type-h4); line-height: var(--tc-leading-h3); margin-block: 1.5rem 0.75rem; }
body:not(.home) main :where(h5, .h5) { font-size: var(--tc-type-h5); }
body:not(.home) main :where(h6, .h6) { font-size: var(--tc-type-h6); }
body:not(.home) main :where(p, li, .typo) { line-height: var(--tc-leading-body); }
body:not(.home) main :where(.lead, .page-description > p:first-child) { font-size: var(--tc-type-lead); }

.single-post main > .bg-gray > .container-lg.typo {
    max-width: var(--tc-container-content);
    padding-inline: var(--tc-gutter);
}
.single-post main .typo { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.single-post main .typo table { min-width: 42rem; }

/* Shared controls and card labels. */
body:not(.home) main :where(.btn, .button, button, input[type="submit"]) {
    border-radius: 0;
    font-family: var(--tc-font-ui-strong);
    font-size: var(--tc-type-button);
    font-weight: var(--tc-weight-strong);
    letter-spacing: 0.075em;
    min-height: var(--tc-control-height);
    text-transform: uppercase;
}

body:not(.home) main :where(.woocommerce-loop-product__title, .prc_item .fw-bold, .title_item, .project_item a.fs-5) {
    font-family: var(--tc-font-ui-strong);
    font-size: var(--tc-type-card-title);
    font-weight: var(--tc-weight-strong);
    letter-spacing: 0.035em;
    line-height: var(--tc-leading-control);
}

.fluentform :where(input.ff-el-form-control, select.ff-el-form-control, textarea.ff-el-form-control) {
    background: var(--tc-color-paper);
    border: 1px solid var(--tc-color-line-strong);
    border-radius: 0;
    min-height: var(--tc-control-height-large);
    transition: border-color var(--tc-motion-fast) ease, box-shadow var(--tc-motion-fast) ease;
}
.fluentform :where(input.ff-el-form-control, select.ff-el-form-control, textarea.ff-el-form-control):focus {
    border-color: var(--tc-color-accent-dark);
    box-shadow: 0 0 0 3px rgba(184, 155, 94, 0.16);
    outline: 0;
}
.fluentform .ff-btn-submit {
    background: var(--tc-color-ink);
    border: 1px solid var(--tc-color-ink);
    color: var(--tc-color-paper);
    min-height: var(--tc-control-height-large);
    padding-inline: var(--tc-space-3);
}

#review_form #respond .form-submit input:hover {
    background: var(--tc-color-ink);
    color: var(--tc-color-paper);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) :where(#respond input#submit, a.button, button.button, input.button),
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce :where(#respond input#submit, a.button, button.button, input.button) {
    font-family: var(--tc-font-ui-strong);
    font-weight: var(--tc-weight-strong);
}

/* Breadcrumbs */
body:not(.home) main :where(.breadcrumbs, .bread_crumbs, .woocommerce-breadcrumb, nav[aria-label*="breadcrumb" i]) {
    color: var(--tc-color-muted);
    font-size: var(--tc-type-meta);
    letter-spacing: var(--tc-tracking-meta);
}
body:not(.home) main :where(.breadcrumbs, .bread_crumbs, .woocommerce-breadcrumb, nav[aria-label*="breadcrumb" i]) a {
    color: inherit;
    text-decoration-color: transparent;
    text-underline-offset: 0.25rem;
}
body:not(.home) main :where(.breadcrumbs, .bread_crumbs, .woocommerce-breadcrumb, nav[aria-label*="breadcrumb" i]) a:hover {
    color: var(--tc-color-accent-dark);
    text-decoration-color: currentColor;
}
.banner .breadcrumbs,
.first-banner .banner :is(.breadcrumbs, .bread_crumbs, .woocommerce-breadcrumb) { color: var(--tc-color-paper); }
.dark .woocommerce-breadcrumb { color: var(--tc-color-ink); }

/* Pagination: WordPress direct links and WooCommerce list markup. */
:where(.pagination),
body.woocommerce nav.woocommerce-pagination ul.page-numbers,
body.woocommerce-page nav.woocommerce-pagination ul.page-numbers,
body .woocommerce nav.woocommerce-pagination ul.page-numbers {
    align-items: center;
    border: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: center;
    list-style: none;
    margin-inline: auto;
    max-width: 100%;
    padding: 0;
    width: auto;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li,
body.woocommerce-page nav.woocommerce-pagination ul.page-numbers > li,
body .woocommerce nav.woocommerce-pagination ul.page-numbers > li {
    border: 0;
    float: none;
    margin: 0;
}

.pagination > .page-numbers,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers,
body.woocommerce-page nav.woocommerce-pagination ul.page-numbers > li > .page-numbers,
body .woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers {
    align-items: center;
    background: var(--tc-color-paper);
    border: 1px solid var(--tc-color-line-strong);
    color: var(--tc-color-ink);
    display: inline-flex;
    font-family: var(--tc-font-body);
    font-size: var(--tc-type-meta);
    font-weight: var(--tc-weight-body);
    height: var(--tc-control-height);
    justify-content: center;
    margin: 0;
    min-width: var(--tc-control-height);
    padding: 0.45rem 0.65rem;
    text-decoration: none;
}
.pagination > .page-numbers.dots,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers.dots,
body.woocommerce-page nav.woocommerce-pagination ul.page-numbers > li > .page-numbers.dots {
    background: transparent;
    border-color: transparent;
    min-width: 1.5rem;
    padding-inline: 0.2rem;
}
.pagination > .page-numbers:is(:hover, :focus-visible),
.pagination > .page-numbers.current,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers:is(:hover, :focus-visible, .current),
body.woocommerce-page nav.woocommerce-pagination ul.page-numbers > li > .page-numbers:is(:hover, :focus-visible, .current),
body .woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers:is(:hover, :focus-visible, .current) {
    background: var(--tc-color-ink);
    border-color: var(--tc-color-ink);
    color: var(--tc-color-paper);
    font-weight: var(--tc-weight-strong);
}
.pagination > .page-numbers:focus-visible,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers:focus-visible,
body.woocommerce-page nav.woocommerce-pagination ul.page-numbers > li > .page-numbers:focus-visible {
    outline: 3px solid rgba(184, 155, 94, 0.42);
    outline-offset: 2px;
}
.black-bg .pagination > .page-numbers:not(.current, .dots) {
    background: var(--tc-color-paper);
    border-color: var(--tc-color-paper);
    color: var(--tc-color-ink);
}
.black-bg .pagination > .page-numbers.current,
.black-bg .pagination > .page-numbers:is(:hover, :focus-visible) {
    background: var(--tc-color-accent-dark);
    border-color: var(--tc-color-accent-dark);
    color: var(--tc-color-paper);
}

body:not(.home) main :where(.tc-page-title, .woocommerce-products-header__title) {
    font-family: var(--tc-font-display);
    font-size: var(--tc-type-h1);
    font-weight: var(--tc-weight-body);
    line-height: var(--tc-leading-h1);
}

.tc-faq-search :is(input:not([type="hidden"]), button) {
    min-height: var(--tc-control-height-large);
}
.tc-faq-search button { min-width: var(--tc-control-height-large); }

:where(.more-info_, .toggle-content) {
    box-shadow: none;
}
.extra_main_description.tc-view-more--ready .more-info_,
.toggle-content[data-tc-toggle-ready] {
    align-items: center;
    background: var(--tc-color-ink);
    border: 1px solid var(--tc-color-ink);
    color: var(--tc-color-paper);
    display: flex;
    font-family: var(--tc-font-body);
    font-size: var(--tc-type-meta);
    font-weight: var(--tc-weight-body);
    gap: 0.45rem;
    justify-content: center;
    letter-spacing: var(--tc-tracking-ui);
    line-height: 1;
    min-height: 2.75rem;
    min-width: 7.75rem;
    padding: 0.65rem 1rem;
    text-align: center;
    text-transform: uppercase;
    width: 8.5rem;
    margin-inline: auto;
}
html body:not(.home) main button.toggle-content.tc-archive-toggle[data-tc-toggle-ready] {
    font-family: var(--tc-font-body);
    font-size: var(--tc-type-meta);
    font-weight: var(--tc-weight-body) !important;
    line-height: 1;
}
.extra_main_description.tc-view-more--ready .more-info_ :where(small, .more, .less) {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}
.extra_main_description.tc-view-more--ready .more-info_:is(:hover, :focus-visible),
.toggle-content[data-tc-toggle-ready]:is(:hover, :focus-visible) {
    background: var(--tc-color-accent-dark);
    border-color: var(--tc-color-accent-dark);
    color: var(--tc-color-paper);
}

.tc-product-card__actions {
    align-items: flex-end;
    gap: 0.75rem;
    justify-content: space-between;
    margin-top: auto;
}
.tc-product-price-cta {
    align-items: center;
    background: var(--tc-color-accent-dark);
    border: 1px solid var(--tc-color-accent-dark);
    color: var(--tc-color-paper);
    display: inline-flex;
    font-family: var(--tc-font-ui-strong);
    font-size: var(--tc-type-meta);
    font-weight: var(--tc-weight-strong);
    letter-spacing: var(--tc-tracking-meta);
    line-height: 1.2;
    min-height: 2.25rem;
    padding: 0.45rem 0.7rem;
    text-decoration: none;
}
.tc-product-price-cta > .tc-price-link {
    align-items: center;
    color: inherit;
    display: inline-flex;
    font: inherit;
    letter-spacing: inherit;
    min-height: inherit;
    padding: 0.45rem 0.7rem;
    text-decoration: none;
}
.price_box.tc-product-price-cta { padding: 0; }
.tc-product-price-cta:is(:hover, :focus-within) {
    background: var(--tc-color-ink);
    border-color: var(--tc-color-ink);
    color: var(--tc-color-paper);
}
.tc-single-product-price {
    margin-block: 1rem;
    width: fit-content;
}
.tc-single-product-price > .tc-price-link { text-transform: uppercase; }

.single-product main .tc-product-media {
    align-self: center;
    min-height: 0;
}
.single-product main .tc-product-media .wpgis-slider-for { aspect-ratio: 1 / 1; }
.single-product main .tc-product-media--cover .single-product-main-image img:not(.zoomImg) { object-fit: cover; }
.single-product main .tc-product-media--technical .single-product-main-image img:not(.zoomImg) { object-fit: contain; }

.single-post .tc-article-meta {
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
}

body.blog main .blog_item .tc-blog-card__excerpt,
body.archive main .blog_item .tc-blog-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.tc-blog-card__copy { display: flow-root; }
.tc-blog-card__link {
    clear: both;
    display: block;
    float: inline-end;
    margin-top: 1rem;
}

@media (max-width: 767.98px) {
    :where(.blog_cats, .tc-shop-subcategories) { mask-image: linear-gradient(to right, #000 0, #000 90%, transparent 100%); }

    .tc-shop-category-grid {
        display: grid;
        grid-auto-columns: min(44vw, 10.5rem);
        grid-auto-flow: column;
        grid-template-columns: none;
        justify-content: flex-start;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-inline: var(--tc-gutter);
        scroll-snap-type: inline proximity;
    }
    .tc-shop-category-card { scroll-snap-align: start; }
    .cats-section { mask-image: linear-gradient(to right, #000 0, #000 92%, transparent 100%); }
}

/* FAQ / accordion */
.tc-faq {
    --bs-accordion-bg: var(--tc-color-paper);
    --bs-accordion-color: var(--tc-color-ink);
    --bs-accordion-border-color: var(--tc-color-line);
    --bs-accordion-btn-bg: var(--tc-color-surface);
    --bs-accordion-btn-color: var(--tc-color-ink);
    --bs-accordion-active-bg: var(--tc-color-surface-strong);
    --bs-accordion-active-color: var(--tc-color-ink);
}
.tc-faq .accordion-item {
    background: var(--tc-color-paper);
    border: 1px solid var(--tc-color-line);
    border-radius: 0;
    margin-bottom: 0.75rem;
}
.tc-faq .accordion-header { margin: 0; }
.tc-faq .accordion-button {
    background: var(--tc-color-paper);
    border-radius: 0;
    color: var(--tc-color-ink);
    font-family: var(--tc-font-ui-strong);
    font-size: var(--tc-type-label);
    font-weight: var(--tc-weight-strong);
    line-height: var(--tc-leading-control);
    min-height: 3.25rem;
    text-align: start;
}
.tc-faq .accordion-button::after {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='iso-8859-1'%3F%3E%3C!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 490 490' style='enable-background:new 0 0 490 490;' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cpath d='M480.086,490L245,339.229L9.914,490L245,0L480.086,490z'/%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/svg%3E%0A");
    background-size: 100%;
    filter: contrast(1);
    height: 10px;
    opacity: 0.8;
    transform: rotate(180deg);
    width: 10px;
}
.tc-faq .accordion-button:not(.collapsed) {
    background: var(--tc-color-paper);
    border-bottom: 1px solid var(--tc-color-line);
    color: var(--tc-color-ink);
}
.tc-faq .accordion-button:not(.collapsed)::after { transform: rotate(0); }
.tc-faq .accordion-button:focus-visible {
    box-shadow: none;
    outline: 3px solid rgba(184, 155, 94, 0.55);
    outline-offset: -3px;
}
.tc-faq .accordion-collapse:not(.show):not(.collapsing) { display: none; }
.tc-faq .accordion-body { background: var(--tc-color-paper); color: var(--tc-color-ink); padding: clamp(1rem, 2vw, 1.5rem); }
.tc-faq .accordion-body > :last-child { margin-bottom: 0; }

/* View More: content remains fully visible without JavaScript. */
.extra_main_description .more-info_ { display: none; }
.extra_main_description.tc-view-more--ready .desc-wrapper_ {
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
    max-height: var(--tc-view-more-collapsed, 8.5rem);
    overflow: hidden;
    position: relative;
    transition: max-height var(--tc-motion-base) ease;
}
.extra_main_description.tc-view-more--ready.is-expanded .desc-wrapper_ {
    -webkit-mask-image: none;
    mask-image: none;
    max-height: var(--tc-view-more-expanded-height, 80rem);
}
.extra_main_description.tc-view-more--ready .more-info_ {
    display: flex;
    margin: 1.25rem auto 0;
    position: relative;
    width: 8.5rem;
    z-index: 2;
}
.extra_main_description .more-info_ .less { display: none; }
.extra_main_description.is-expanded .more-info_ .more { display: none; }
.extra_main_description.is-expanded .more-info_ .less { display: inline; }
.tc-content-toggle--ready {
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
    max-height: 8.5rem;
    overflow: hidden;
    position: relative;
    transition: max-height var(--tc-motion-base) ease;
}
.tc-content-toggle--ready.is-expanded {
    -webkit-mask-image: none;
    mask-image: none;
    max-height: var(--tc-content-toggle-height, 80rem);
}

/* Media-frame contract */
body:not(.home) main :where(.pic-part, .project_item .pic-part) { aspect-ratio: var(--tc-ratio-landscape); min-height: 0; }
.search main .blog_item .pic-part { height: auto !important; width: 100%; }
body:not(.home) main :where(.pic-part, .project_item .pic-part) img,
:where(.post-type-archive-service, .tax-service-category, .post-type-archive-gallery, .tax-gallery-category) main .gallery-item img,
:where(.service_sw, .sw_posts, .projects_sw, .sw_gallery) figure.effect-sadie img,
:where(.single-project, .single-gallery) main .sw_single_gal img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
:where(.post-type-archive-service, .tax-service-category, .post-type-archive-gallery, .tax-gallery-category) main .gallery-item > div,
:where(.service_sw, .sw_posts, .projects_sw, .sw_gallery) figure.effect-sadie,
:where(.single-project, .single-gallery) main .sw_single_gal .swiper-slide > a > div {
    aspect-ratio: var(--tc-ratio-card);
    height: auto;
    min-height: 0;
}

:where(.post-type-archive-service, .tax-service-category, .post-type-archive-gallery, .tax-gallery-category) main .gallery-item > div {
    height: auto !important;
    width: 100%;
}
.woocommerce ul.products li.product a img {
    aspect-ratio: var(--tc-ratio-product);
    background: var(--tc-color-surface);
    object-fit: contain;
    object-position: center;
    width: 100%;
}
.woocommerce ul.products li.product .down_shadow { aspect-ratio: var(--tc-ratio-product); overflow: hidden; }
.woocommerce ul.products li.product .down_shadow img { height: 100%; min-height: 0; }
.single-product main .wpgis-slider-for {
    aspect-ratio: 1 / 1;
    background: var(--tc-color-paper);
    min-height: 0;
    overflow: hidden;
}
.single-product main .tc-product-media > .images { position: relative; }
.single-product main .wpgis-slider-for {
    float: none;
    height: auto !important;
    margin: 0;
    width: 79% !important;
}
.single-product main #wpgis-gallery {
    bottom: 0;
    float: none;
    height: 100% !important;
    inset-inline-end: 0;
    max-height: none;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 20% !important;
}
.single-product main #wpgis-gallery > .slick-list { height: 100% !important; }
.single-product main .wpgis-slider-for :where(.slick-list, .slick-track, .slick-slide, .single-product-main-image) { min-height: 0; }
.single-product main .single-product-main-image .zoom > img:not(.zoomImg) { display: block; width: 100% !important; }
.single-product main .tc-product-media--single-image .wpgis-slider-for .slick-track,
.single-product main .tc-product-media--single-image .wpgis-slider-for .slick-slide {
    transform: none !important;
    width: 100% !important;
}
.single-product main .tc-product-media--cover .single-product-main-image img:not(.zoomImg) { object-fit: cover; }
.single-product main .tc-product-media--technical .single-product-main-image img:not(.zoomImg) { object-fit: contain; }

.blog_cats_sw .swiper-slide { height: auto; width: auto; }
.blog_cats_sw .blog_cat_item { height: 100%; }
.single-product main .wpgis-slider-for :where(.slick-list, .slick-track, .slick-slide) { height: 100%; }
.single-product main .wpgis-slider-for .single-product-main-image { min-height: 0; }
.single-product main .single-product-main-image img:not(.zoomImg) { height: 100% !important; object-fit: contain; width: 100%; }
.single-product main .wpgis-slider-nav img {
    aspect-ratio: var(--tc-ratio-product);
    background: var(--tc-color-paper);
    height: auto !important;
    object-fit: contain;
    width: 100%;
}
.single-product main .wpgis-slider-for .wpgis-popup {
    align-items: center;
    background: rgba(17, 17, 17, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: var(--tc-color-paper);
    display: inline-flex;
    font-family: var(--tc-font-ui-strong);
    font-size: var(--tc-type-button);
    height: var(--tc-control-height);
    inset: 0.75rem 0.75rem auto auto;
    justify-content: center;
    line-height: 1;
    position: absolute;
    text-decoration: none;
    width: var(--tc-control-height);
    z-index: 4;
}
.single-product main .wpgis-slider-for .wpgis-popup::before { content: "↗"; }
.single-product main .wpgis-slider-for .wpgis-popup:focus-visible {
    outline: 2px solid var(--tc-color-paper);
    outline-offset: 2px;
}
.single-service main .single_service_thumb {
    aspect-ratio: var(--tc-ratio-card);
    height: auto;
    object-fit: cover;
    width: 100%;
}
.single-post main > .black-bg:first-child .wp-post-image {
    aspect-ratio: var(--tc-ratio-article-hero);
    height: auto;
    object-fit: cover;
    width: 100%;
}
.tc-shop-category-card__image img,
.cats-section .tc-shop-category-card__image img {
    display: block;
    height: 100%;
    margin-inline: auto;
    object-fit: contain;
    width: 100%;
}
.woocommerce ul.products li.product,
.prc_slide,
.grid figure {
    border-color: var(--tc-color-line);
    transition: border-color var(--tc-motion-fast) ease, box-shadow var(--tc-motion-fast) ease, transform var(--tc-motion-fast) ease;
}
.woocommerce ul.products li.product:hover,
.prc_slide:hover {
    border-color: rgba(184, 155, 94, 0.55);
    box-shadow: var(--tc-shadow-soft);
    transform: translateY(-2px);
}

@media (max-width: 767.98px) {
    body:not(.home) main :where(h2, h3, h4, .h2, .h3, .h4) { margin-top: 1.6rem; }
}
@media (max-width: 480px) {
    .pagination,
    body.woocommerce nav.woocommerce-pagination ul.page-numbers,
    body.woocommerce-page nav.woocommerce-pagination ul.page-numbers { gap: 0.35rem; }
    .pagination > .page-numbers,
    body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers,
    body.woocommerce-page nav.woocommerce-pagination ul.page-numbers > li > .page-numbers {
        height: 2.5rem;
        min-width: 2.5rem;
    }
    .tc-product-price-cta,
    .tc-product-price-cta > .tc-price-link { min-height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) {
    .extra_main_description.tc-view-more--ready .desc-wrapper_,
    .tc-content-toggle--ready { transition: none; }
}
