/* ==========================================================
   Frontend responsive contract
   Loaded after the feature stylesheets so every routed view
   shares the same viewport, media and interaction behaviour.
   ========================================================== */

:root {
    --frontend-rwd-edge: clamp(.75rem, 2.2vw, 1.5rem);
    --frontend-rwd-control: 44px;
    --frontend-rwd-radius: clamp(.75rem, 1.5vw, 1.25rem);
    --frontend-rwd-section-space: clamp(1.5rem, 4vw, 4rem);
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body,
.site-main-content,
.site-main-content > *,
.site-main-content .row,
.site-main-content [class*="col-"] {
    min-width: 0;
}

.site-main-content {
    width: 100%;
}

.frontend-edge-container,
.nav-bar > .container {
    padding-left: max(var(--frontend-rwd-edge), env(safe-area-inset-left));
    padding-right: max(var(--frontend-rwd-edge), env(safe-area-inset-right));
}

.site-main-content img,
.site-main-content video,
.site-main-content iframe,
.site-main-content svg,
.modal img,
.modal video {
    max-width: 100%;
}

.site-main-content iframe {
    border: 0;
    width: 100%;
}

.site-main-content :is(
    .about-content,
    .extended-content,
    .blog-article-prose,
    .prose,
    .product-tab-readable,
    .accordion-body,
    .contact-form__body,
    .review-comment,
    .order-detail-note
) {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.site-main-content :is(
    .about-content,
    .extended-content,
    .blog-article-prose,
    .prose,
    .product-tab-readable,
    .accordion-body
) :is(img, video) {
    display: block;
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 100% !important;
    object-fit: contain !important;
}

.site-main-content :is(
    .about-content,
    .extended-content,
    .blog-article-prose,
    .prose,
    .product-tab-readable,
    .accordion-body
) :is(iframe, video) {
    aspect-ratio: 16 / 9;
}

.site-main-content :is(
    .about-content,
    .extended-content,
    .blog-article-prose,
    .prose,
    .product-tab-readable,
    .accordion-body
) table {
    border-collapse: collapse;
    max-width: 100%;
}

.site-main-content :is(
    .about-content,
    .extended-content,
    .blog-article-prose,
    .prose,
    .product-tab-readable,
    .accordion-body
) > :is(div, figure):has(> table) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.rich-table-responsive {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

/* Shared media roles */
.frontend-card-image-blur {
    object-fit: cover !important;
}

.frontend-card-image-contain {
    object-fit: contain !important;
}

.content-list-page :is(#blogContainer, #newsGrid, #productCarousel, #newsCarousel) .object-fit-fill,
.shop-card .object-fit-fill,
.wishlist-card .object-fit-fill,
.cart-thumb,
.product-thumb img {
    object-fit: cover !important;
}

.navbar-brand img,
.contact-form__image,
.member-avatar-circle,
.reg-avatar-img,
.member-auth-avatar-preview {
    object-fit: contain !important;
}

/* Shared hero */
.frontend-page-hero {
    isolation: isolate;
    margin-left: max(var(--frontend-rwd-edge), env(safe-area-inset-left));
    margin-right: max(var(--frontend-rwd-edge), env(safe-area-inset-right));
}

.frontend-page-hero .hero-img {
    aspect-ratio: 21 / 9;
    display: block;
    height: auto !important;
    max-height: min(62vh, 44rem);
    object-fit: cover !important;
    width: 100%;
}

.frontend-page-hero .hero-text {
    padding: clamp(.75rem, 3vw, 2rem);
}

.frontend-page-hero .hero-text h1 {
    font-size: clamp(1.6rem, 4.5vw, 4rem);
    line-height: 1.18;
    margin: 0;
    max-width: min(100%, 54rem);
    overflow-wrap: anywhere;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-img {
    aspect-ratio: auto !important;
    background: #000;
    height: auto !important;
    max-height: min(82svh, 56rem) !important;
    object-fit: contain !important;
    width: 100% !important;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-media {
    aspect-ratio: 21 / 9;
    background: #171913;
    display: grid;
    isolation: isolate;
    overflow: hidden;
    place-items: center;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-blur-background {
    filter: blur(clamp(1.25rem, 3vw, 2.75rem)) saturate(.9);
    height: 112%;
    inset: -6%;
    object-fit: cover !important;
    opacity: .72;
    pointer-events: none;
    position: absolute;
    transform: scale(1.08);
    width: 112%;
    z-index: 0;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-media > .home-hero-img,
.p-homeone-index .home-hero-carousel-shell .home-hero-media > a {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-media > a {
    align-items: center;
    display: flex;
    justify-content: center;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-media .home-hero-img {
    background: transparent;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-media > a > .home-hero-img {
    inset: 0;
    position: absolute;
}

.p-homeone-index .home-hero-carousel-shell .home-hero-media video.home-hero-img {
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
}

/* Shared navigation, footer and overlays */
.navbar-brand {
    min-width: 0;
}

.navbar-brand img {
    height: auto;
    max-height: 4.25rem;
    max-width: min(13rem, 48vw);
    width: auto;
}

.navbar .dropdown-menu,
.frontend-dropdown-menu {
    max-width: min(24rem, calc(100vw - 1.5rem));
}

.navbar .dropdown-item,
.frontend-dropdown-menu .dropdown-item {
    overflow-wrap: anywhere;
    white-space: normal;
}

.copyright .row > *,
.footer-social-links {
    min-width: 0;
}

#chat_hint {
    bottom: calc(5.5rem + env(safe-area-inset-bottom));
    max-width: min(18rem, calc(100vw - 2rem));
    right: max(1rem, env(safe-area-inset-right)) !important;
}

#JustAi_Container,
a.move-top {
    bottom: max(1rem, env(safe-area-inset-bottom));
    right: max(1rem, env(safe-area-inset-right));
}

.global-loading-content {
    margin: var(--frontend-rwd-edge);
    max-width: calc(100vw - (var(--frontend-rwd-edge) * 2));
}

/* Shared cards, filters and carousels */
.content-list-page .blog-card,
.shop-card,
.wishlist-card,
.review-card,
.order-card,
.product-detail-card {
    min-width: 0;
}

.content-list-page .blog-card .card-body,
.shop-card .card-body,
.wishlist-card .card-body {
    min-width: 0;
}

.content-list-page .blog-card :is(.card-title, .card-text),
.shop-card :is(.card-title, .card-text),
.wishlist-card :is(.card-title, .card-text) {
    overflow-wrap: anywhere;
}

.content-list-page .layout-2 .blog-card-horizontal,
.p-homeone-index .layout-2 .blog-card-horizontal {
    min-width: 0;
}

:is(
    .wishlist-filter-top,
    .shop-index-filter-top,
    .cart-filter-top,
    .faq-filter-top,
    .order-filter-top
) {
    min-width: 0;
}

:is(
    .wishlist-search-wrap,
    .shop-search-wrap,
    .cart-search-wrap,
    .faq-search-wrap,
    .order-search-wrap
) {
    min-width: 0;
}

.frontend-current-category-dropdown,
.frontend-current-category-toggle {
    min-width: min(20rem, 100%);
}

:is(
    .wishlist-search-main,
    .shop-search-main,
    .cart-search-main,
    .faq-search-main,
    .order-search-main
) {
    min-width: 0;
}

:is(
    .wishlist-search-wrap,
    .shop-search-wrap,
    .cart-search-wrap,
    .faq-search-wrap,
    .order-search-wrap
) .form-control {
    min-width: 0;
}

:is(
    .wishlist-filter-menu,
    .shop-filter-menu,
    .cart-filter-menu,
    .faq-filter-menu,
    .order-filter-menu
) {
    max-height: min(22rem, 60dvh);
    max-width: min(25rem, calc(100vw - 1.5rem));
    overflow-y: auto;
}

.frontend-current-category-menu {
    max-height: min(22rem, 60dvh);
    max-width: none;
    overflow-y: auto;
}

.frontend-pagination {
    flex-wrap: wrap;
    gap: .35rem;
}

.frontend-pagination .page-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: var(--frontend-rwd-control);
    min-width: var(--frontend-rwd-control);
}

.blog-article-category {
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: start;
    white-space: normal !important;
}

.home-carousel-shell,
.home-carousel-viewport,
.home-carousel-track,
.carousel-slide,
.carousel-slide > * {
    min-width: 0;
}

.home-carousel-viewport {
    overscroll-behavior-inline: contain;
}

.nav-button,
.carousel-control-prev,
.carousel-control-next {
    min-height: var(--frontend-rwd-control);
    min-width: var(--frontend-rwd-control);
    touch-action: manipulation;
}

/* Page heading bars */
.shop-page-header-bar,
.shop-page-header-main,
.shop-page-header-actions {
    min-width: 0;
}

.shop-page-header-title {
    font-size: clamp(1.45rem, 3vw, 2.4rem);
    overflow-wrap: anywhere;
}

.shop-page-header-subtitle {
    overflow-wrap: anywhere;
}

/* Public content pages */
.p-aboutusone-aboutusone .about-block > * {
    min-width: 0;
}

.p-aboutusone-aboutusone .about-img {
    aspect-ratio: 4 / 3;
    max-width: 100%;
    width: 100%;
}

.p-aboutusone-aboutusone .about-content > :first-child,
.extended-content > :first-child,
.blog-article-prose > :first-child {
    margin-top: 0;
}

.p-aboutusone-aboutusone .about-content > :last-child,
.extended-content > :last-child,
.blog-article-prose > :last-child {
    margin-bottom: 0;
}

.extended-content {
    margin-inline: auto;
    max-width: 100%;
    padding: var(--frontend-rwd-section-space) max(var(--frontend-rwd-edge), env(safe-area-inset-left));
}


.blog-article-header,
.blog-article-heading-row,
.blog-article-meta {
    min-width: 0;
}

.blog-article-title {
    font-size: clamp(1.45rem, 3.4vw, 2.5rem);
    overflow-wrap: anywhere;
}

.faq-card .accordion-button {
    min-width: 0;
}

.faq-card-copy,
.faq-card-title,
.faq-card-category {
    min-width: 0;
    overflow-wrap: anywhere;
}

.faq-card .accordion-body {
    max-width: 100%;
}

.contact-form__heading,
.contact-form__heading-text,
.contact-form__body,
.contact-info-card-heading {
    min-width: 0;
}

.contact-form__image {
    height: auto !important;
    max-width: min(14rem, 42vw);
}

.contact-info-card-title,
.contact-info-card-heading,
.contact-info-section :is(a, p, span) {
    overflow-wrap: anywhere;
}

.p-error-error .container > .text-center > .mt-4 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: center;
}

.p-error-error .container > .text-center > .mt-4 .btn {
    margin: 0 !important;
}

/* Product discovery */
.shop-card-horizontal,
.shop-card-horizontal .shop-card-link,
.shop-card-horizontal-md,
.shop-card-horizontal-md .shop-card-link {
    min-width: 0;
}

.shop-card-img-wrap,
.wishlist-image-wrap,
.product-main-image,
.product-thumb {
    overflow: hidden;
}

.shop-card-img-wrap :is(img, video),
.wishlist-image-wrap :is(img, video),
.product-main-image :is(img, video),
.product-thumb :is(img, video) {
    max-width: none;
}

.shop-wishlist-btn,
.shop-card-action,
.product-share-btn,
.product-zoom-btn,
.thumb-strip-btn,
.zoom-nav-btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: var(--frontend-rwd-control);
    min-width: var(--frontend-rwd-control);
    touch-action: manipulation;
}

.shop-card-action-bar {
    min-width: 0;
}

/* Product detail */
.p-shop-detail .product-gallery-col,
.p-shop-detail .product-info-col,
.p-shop-detail .product-tab-readable,
.p-shop-detail .tab-content,
.p-shop-detail .product-review-item {
    min-width: 0;
}

.p-shop-detail .product-main-image {
    aspect-ratio: 1 / 1;
}

.p-shop-detail .product-main-image .frontend-card-image-contain,
.p-shop-detail .product-main-image .frontend-card-image-blur {
    height: 100% !important;
    inset: 0;
    position: absolute;
    width: 100% !important;
}

.p-shop-detail .thumb-strip {
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.p-shop-detail .product-spec-btn,
.p-shop-detail .product-qty-btn {
    min-height: var(--frontend-rwd-control);
    touch-action: manipulation;
}

.p-shop-detail .product-qty-btn {
    min-width: var(--frontend-rwd-control);
}

.p-shop-detail .product-qty-input {
    min-height: var(--frontend-rwd-control);
}

.p-shop-detail .nav-tabs {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.p-shop-detail .nav-tabs .nav-item,
.p-shop-detail .nav-tabs .nav-link {
    flex: 0 0 auto;
    white-space: nowrap;
}

.p-shop-detail .product-review-summary,
.p-shop-detail .product-review-rating-grid,
.p-shop-detail .product-review-product-row,
.p-shop-detail .product-review-media-grid {
    min-width: 0;
}

.p-shop-detail .zoom-image-stage,
.p-shop-detail .review-media-preview-stage {
    max-height: calc(100dvh - 2rem);
}

/* Cart and checkout */
.p-shop-cart :is(
    .cart-list-body,
    .cart-category-group,
    .cart-item-row,
    .cart-item-main,
    .cart-item-actions,
    .cart-item-meta,
    .cart-variant-wrap,
    .cart-variant-control
) {
    min-width: 0;
}

.p-shop-cart .cart-thumb {
    aspect-ratio: 1;
    height: auto;
    width: 5rem;
}

.p-shop-cart .cart-variant-select {
    min-width: 0;
}

.p-shop-cart .cart-qty-btn,
.p-shop-cart .cart-remove-btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: var(--frontend-rwd-control);
    min-width: var(--frontend-rwd-control);
    touch-action: manipulation;
}

.p-shop-cart .cart-qty-input {
    min-height: var(--frontend-rwd-control);
}

.p-shop-checkout :is(
    .shipping-option,
    .shipping-option-panel,
    .selected-store-summary,
    .card,
    .card-body
) {
    min-width: 0;
}

.p-shop-checkout .shipping-option {
    cursor: pointer;
    overflow-wrap: anywhere;
}

.p-shop-checkout .sticky-top {
    align-self: start;
}

/* Orders and reviews */
.p-shop-orders :is(
    .order-card,
    .order-progress,
    .order-progress-step,
    .order-detail-panel,
    .order-detail-note,
    .order-actions,
    .return-record-grid,
    .review-product-list
),
.p-shop-myreviews :is(
    .review-tabs,
    .review-panel,
    .review-card,
    .product-review-product-row,
    .review-product-list,
    .review-upload-list,
    .review-media-grid
) {
    min-width: 0;
}

.p-shop-orders .order-progress-label,
.p-shop-orders .order-detail-panel :is(p, span, strong),
.p-shop-orders .return-record-value,
.p-shop-myreviews .review-card :is(p, span, strong),
.p-shop-myreviews .review-comment {
    overflow-wrap: anywhere;
}

.p-shop-orders .order-actions .btn,
.p-shop-myreviews .review-tabs .btn,
.review-star-btn,
.review-upload-dropzone {
    min-height: var(--frontend-rwd-control);
    touch-action: manipulation;
}

.review-upload-list,
.review-media-grid,
.product-review-media-grid {
    max-width: 100%;
}

.review-upload-item,
.review-media-item,
.product-review-media-item {
    min-width: 0;
}

/* Member account flows */
.member-register-layout,
.member-register-panel,
.member-register-form,
.register-form-section,
.register-section-body,
.register-avatar-field,
.register-avatar-content,
.register-choice-card,
.register-choice-card-toggle,
.member-password-wrapper,
.member-profile-select-dropdown {
    min-width: 0;
}

.member-input,
.member-register-form .form-control,
.member-register-form .form-select {
    max-width: 100%;
    min-width: 0;
}

.member-password-toggle,
.member-profile-select-toggle,
.register-gender-toggle,
.member-avatar-upload {
    touch-action: manipulation;
}

.member-register-form :is(.btn, .member-password-toggle) {
    min-height: var(--frontend-rwd-control);
}

.shop-step,
.shop-step-line,
.shop-step-number {
    min-width: 0;
}

/* Dialogs */
.modal-dialog,
.modal-content,
.modal-content > form,
.modal-body,
.modal-footer {
    min-width: 0;
}

.modal-content {
    max-height: calc(100dvh - 1rem);
}

.modal-body {
    overscroll-behavior-y: contain;
}

.modal-footer {
    padding-bottom: max(.75rem, env(safe-area-inset-bottom));
}

.swal2-popup {
    max-width: calc(100vw - 1.5rem) !important;
}

/* Standalone access and fallback error pages */
.p-siteaccess-login {
    min-height: 100dvh !important;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
    padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
    padding-right: max(1.25rem, env(safe-area-inset-right)) !important;
    padding-top: max(1.25rem, env(safe-area-inset-top)) !important;
}

.p-siteaccess-login .login-container {
    max-width: min(26.25rem, 100%);
}

.p-siteaccess-login .password-toggle {
    align-items: center;
    display: inline-flex;
    height: var(--frontend-rwd-control);
    justify-content: center;
    min-width: var(--frontend-rwd-control);
    right: .35rem;
}

.frontend-fallback-error {
    align-items: center;
    background: #f3f7f4;
    color: #1f2d25;
    display: flex;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    justify-content: center;
    margin: 0;
    min-height: 100dvh;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
}

.frontend-fallback-error__card {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem rgba(20, 35, 27, .12);
    max-width: 34rem;
    padding: clamp(1.5rem, 6vw, 3rem);
    text-align: center;
    width: 100%;
}

.frontend-fallback-error__card h1 {
    color: #12663f;
    font-size: clamp(1.75rem, 6vw, 2.5rem);
    margin: 0 0 .75rem;
}

.frontend-fallback-error__card h2 {
    font-size: clamp(1rem, 3.5vw, 1.25rem);
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}

.frontend-fallback-error__action {
    background: #12663f;
    border: 0;
    border-radius: .65rem;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    margin-top: 1.5rem;
    min-height: var(--frontend-rwd-control);
    padding: .65rem 1.25rem;
}

@media (max-width: 1199.98px) {
    .shop-card-horizontal-md .shop-card-img-wrap {
        min-width: 100%;
        width: 100%;
    }

    .p-shop-orders .order-detail-panel .row > [class*="col-"] {
        min-width: 0;
    }
}

@media (max-width: 991.98px) {
    .navbar.navbar-expand-lg > .navbar-collapse {
        max-height: calc(100dvh - 5rem);
        overflow: hidden auto;
        overscroll-behavior-y: contain;
    }

    .navbar .frontend-nav-pager {
        max-height: calc(100dvh - 5.5rem);
        padding-bottom: max(.5rem, env(safe-area-inset-bottom));
    }

    .navbar .frontend-nav-page-list .nav-link,
    .navbar .frontend-nav-fixed-list .nav-link,
    .navbar .frontend-dropdown-menu .dropdown-item {
        align-items: center;
        display: flex;
        min-height: var(--frontend-rwd-control);
    }

    .frontend-page-hero .hero-img {
        aspect-ratio: 16 / 9;
        max-height: none;
    }

    .p-homeone-index .home-hero-carousel-shell .home-hero-media {
        aspect-ratio: 16 / 9;
    }

    .p-aboutusone-aboutusone .about-media,
    .p-aboutusone-aboutusone .about-content {
        width: 100%;
    }

    .p-aboutusone-aboutusone .about-content {
        padding-bottom: .5rem;
    }

    .register-form-section {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .p-shop-detail .product-gallery-col > .p-4,
    .p-shop-detail .product-info-col > .p-4 {
        padding: clamp(1rem, 4vw, 2rem) !important;
    }

    .p-shop-detail .product-review-summary {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .p-shop-checkout .sticky-top {
        position: static !important;
        top: auto !important;
    }

    .contact-form__heading {
        align-items: flex-start;
    }

    .content-list-page .layout-2 .blog-card-horizontal,
    .p-homeone-index .content-list-page .layout-2 .blog-card-horizontal,
    .p-homeone-index .layout-2 .blog-card-horizontal {
        grid-template-columns: minmax(0, 1fr) !important;
        min-height: 0 !important;
    }

    .content-list-page .layout-2 .blog-card-horizontal .card-img-left,
    .p-homeone-index .layout-2 .blog-card-horizontal .card-img-left {
        aspect-ratio: 16 / 10;
        height: auto !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .content-list-page .blog-card-horizontal .card-body,
    .p-homeone-index .blog-card-horizontal .card-body {
        min-width: 0 !important;
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --frontend-rwd-edge: clamp(.75rem, 4vw, 1.125rem);
    }

    .site-main-content :is(.py-4, .py-5) {
        --bs-gutter-y: 0;
    }

    .content-list-page .layout-2 .blog-card-horizontal,
    .p-homeone-index .content-list-page .layout-2 .blog-card-horizontal,
    .p-homeone-index .layout-2 .blog-card-horizontal {
        grid-template-columns: minmax(0, 1fr) !important;
        min-height: 0 !important;
    }

    .content-list-page .layout-2 .blog-card-horizontal .card-img-left,
    .p-homeone-index .layout-2 .blog-card-horizontal .card-img-left {
        aspect-ratio: 16 / 10;
        height: auto !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .content-list-page .blog-card-horizontal .card-body,
    .p-homeone-index .blog-card-horizontal .card-body {
        min-width: 0 !important;
        width: 100% !important;
    }

    .content-list-page .blog-card .border-top,
    .p-homeone-index .blog-card .border-top {
        align-items: center !important;
        flex-wrap: wrap;
        gap: .65rem;
    }

    :is(
        .wishlist-filter-top,
        .shop-index-filter-top,
        .cart-filter-top,
        .faq-filter-top,
        .order-filter-top
    ) {
        display: grid !important;
        gap: .75rem;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    :is(
        .wishlist-filter-top,
        .shop-index-filter-top,
        .cart-filter-top,
        .faq-filter-top,
        .order-filter-top
    ) > * {
        margin: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .frontend-current-category-menu {
        width: calc(100vw - (var(--frontend-rwd-edge) * 2));
    }

    :is(
        .wishlist-search-wrap,
        .shop-search-wrap,
        .cart-search-wrap,
        .faq-search-wrap,
        .order-search-wrap,
        .frontend-current-category-toggle
    ) {
        min-height: var(--frontend-rwd-control);
        width: 100% !important;
    }

    :is(
        .wishlist-filter-icon-toggle,
        .shop-filter-icon-toggle,
        .cart-filter-icon-toggle,
        .faq-filter-icon-toggle,
        .order-filter-icon-toggle
    ) {
        min-height: var(--frontend-rwd-control) !important;
        min-width: var(--frontend-rwd-control) !important;
    }

    .form-control,
    .form-select,
    .input-group-text {
        font-size: 1rem;
        min-height: var(--frontend-rwd-control);
    }

    textarea.form-control {
        min-height: 7rem;
    }

    .btn:not(.btn-link),
    .dropdown-item,
    .accordion-button {
        min-height: var(--frontend-rwd-control);
        touch-action: manipulation;
    }

    body .site-main-content .content-list-page .blog-card .btn,
    body.p-homeone-index .site-main-content .blog-card .btn,
    .p-shop-detail .nav-tabs .nav-link {
        height: auto !important;
        min-height: var(--frontend-rwd-control) !important;
    }

    .frontend-pagination .page-link,
    .footer-social-mini,
    .member-password-toggle {
        min-height: var(--frontend-rwd-control) !important;
        min-width: var(--frontend-rwd-control) !important;
    }

    .nm-read-more {
        align-items: center;
        display: inline-flex;
        min-height: var(--frontend-rwd-control);
    }

    .shop-card-horizontal,
    .shop-card-horizontal .shop-card-link,
    .shop-card-horizontal-md,
    .shop-card-horizontal-md .shop-card-link {
        flex-direction: column !important;
    }

    .shop-card-horizontal .shop-card-img-wrap,
    .shop-card-horizontal-md .shop-card-img-wrap {
        aspect-ratio: 4 / 3;
        height: auto !important;
        min-height: 0 !important;
        min-width: 100% !important;
        width: 100% !important;
    }

    .shop-card-horizontal .shop-card-action-bar,
    .shop-card-horizontal-md .shop-card-action-bar {
        left: 0 !important;
        width: 100% !important;
    }

    .p-shop-detail .product-info-col > div > .d-flex.justify-content-between,
    .p-shop-detail .product-info-col > div > .d-flex.gap-2.mb-4 {
        align-items: stretch !important;
        flex-wrap: wrap;
    }

    .p-shop-detail .product-info-col > div > .d-flex.gap-2.mb-4 > .btn:not(:last-child) {
        flex-basis: calc(50% - .25rem);
    }

    .p-shop-detail .product-services {
        display: grid !important;
        gap: 1rem .5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .p-shop-detail .tab-content {
        padding: 1rem !important;
    }

    .p-shop-detail .product-review-rating-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .p-shop-detail .product-review-product-row {
        align-items: flex-start;
    }

    .p-shop-cart .cart-list-header,
    .p-shop-cart .cart-category-bar {
        align-items: flex-start !important;
        flex-wrap: wrap;
        gap: .75rem;
    }

    .p-shop-cart .cart-item-row {
        align-items: start !important;
        display: grid !important;
        gap: .75rem;
        grid-template-columns: auto 4.75rem minmax(0, 1fr);
        padding: 1rem !important;
    }

    .p-shop-cart .cart-item-select {
        grid-column: 1;
        grid-row: 1;
    }

    .p-shop-cart .cart-thumb-link {
        grid-column: 2;
        grid-row: 1;
    }

    .p-shop-cart .cart-thumb {
        width: 4.75rem;
    }

    .p-shop-cart .cart-item-main {
        grid-column: 3;
        grid-row: 1;
    }

    .p-shop-cart .cart-item-actions {
        align-items: center;
        border-top: 1px solid rgba(0, 0, 0, .08);
        display: flex !important;
        grid-column: 2 / -1;
        grid-row: 2;
        justify-content: space-between;
        padding-top: .75rem;
        width: 100%;
    }

    .p-shop-cart .cart-variant-control {
        width: 100%;
    }

    .p-shop-checkout .shipping-option {
        padding: 1rem !important;
    }

    .p-shop-checkout .input-group {
        align-items: stretch;
        flex-wrap: wrap;
        gap: .5rem;
    }

    .p-shop-checkout .input-group > .form-control,
    .p-shop-checkout .input-group > .btn {
        border-radius: .5rem !important;
        flex: 1 1 100%;
        margin: 0 !important;
        width: 100%;
    }

    .p-shop-orders .cart-list-header {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .p-shop-orders .order-progress:not(.order-progress-cancelled) {
        align-items: stretch;
        display: grid;
        gap: .75rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .p-shop-orders .order-progress:not(.order-progress-cancelled)::before,
    .p-shop-orders .order-progress:not(.order-progress-cancelled)::after {
        display: none !important;
    }

    .p-shop-orders .order-progress-step {
        align-items: center;
        display: grid;
        gap: .75rem;
        grid-template-columns: var(--frontend-rwd-control) minmax(0, 1fr);
        text-align: left;
        width: 100%;
    }

    .p-shop-orders .order-progress-label {
        justify-content: flex-start;
        text-align: left;
    }

    .p-shop-orders .order-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .p-shop-orders .order-actions .btn,
    .p-shop-orders .order-actions .order-status-chip {
        justify-content: center;
        margin: 0 !important;
        text-align: center;
        width: 100%;
    }

    .p-shop-orders .return-record-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .p-shop-myreviews .review-tabs {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .p-shop-myreviews .product-review-rating-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .p-shop-myreviews .product-review-product-row,
    .p-shop-orders .review-product-item,
    .p-shop-myreviews .review-product-item {
        align-items: flex-start;
    }

    .review-upload-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .review-media-grid,
    .product-review-media-grid {
        grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr)) !important;
    }

    .register-form-actions {
        align-items: stretch;
    }

    .register-form-actions .btn,
    .shop-page-header-actions .btn {
        max-width: 100%;
    }

    .modal-dialog {
        margin: .5rem;
        max-width: calc(100% - 1rem);
    }

    .modal-content {
        max-height: calc(100dvh - 1rem);
    }

    .modal-header,
    .modal-body,
    .modal-footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .modal-footer {
        align-items: stretch;
        display: grid;
        gap: .5rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .modal-footer > * {
        margin: 0 !important;
        width: 100%;
    }

    .copyright .row {
        text-align: center !important;
    }

    .copyright .row > * {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    :root {
        --frontend-rwd-edge: .75rem;
    }

    .frontend-page-hero {
        border-radius: .875rem;
    }

    .frontend-page-hero .hero-img {
        aspect-ratio: 16 / 10;
        max-height: none !important;
        object-fit: cover !important;
    }

    .p-homeone-index .home-hero-carousel-shell .home-hero-img {
        aspect-ratio: auto !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .p-homeone-index .home-hero-carousel-shell .home-hero-media {
        aspect-ratio: 16 / 10;
    }

    .p-homeone-index .home-hero-carousel-shell .home-hero-media video.home-hero-img {
        aspect-ratio: 16 / 10 !important;
        max-height: 72dvh !important;
        object-fit: cover !important;
    }

    .frontend-page-hero .hero-text h1 {
        font-size: clamp(1.35rem, 7vw, 2rem);
    }

    .navbar-brand img {
        max-height: 3.25rem;
        max-width: min(10rem, 52vw);
    }

    .member-register-form {
        padding: .875rem !important;
    }

    .register-form-section {
        gap: 1rem;
        padding: 1rem 0 !important;
    }

    .register-section-title {
        align-items: flex-start;
    }

    .register-avatar-content,
    .register-avatar-action-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .register-email-group,
    .member-auth-input-group {
        display: grid !important;
        gap: .65rem;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .register-email-group > *,
    .member-auth-input-group > * {
        border-radius: .6rem !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .shop-page-header-bar {
        align-items: flex-start;
        display: grid;
        gap: .75rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .shop-page-header-main {
        align-items: flex-start;
    }

    .shop-page-header-actions {
        display: grid;
        gap: .5rem;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .shop-page-header-actions .btn {
        width: 100%;
    }

    .shop-step {
        font-size: .78rem;
    }

    .shop-step-number {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        min-height: 2rem;
        min-width: 2rem;
    }

    .p-aboutusone-aboutusone .about-block {
        padding-bottom: 1.5rem !important;
        padding-top: 1.5rem !important;
    }

    .p-aboutusone-aboutusone .about-img {
        aspect-ratio: 16 / 10;
    }

    .blog-article,
    .blog-article-prose,
    .extended-content {
        max-width: 100%;
    }

    .blog-article-header,
    .blog-article-prose {
        padding-left: .875rem !important;
        padding-right: .875rem !important;
    }

    .faq-card .accordion-button {
        align-items: flex-start;
        gap: .65rem;
        padding: 1rem;
    }

    .faq-card .accordion-body {
        padding: 1rem;
    }

    .contact-form__heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .contact-form__heading-media {
        align-self: center;
    }

    .contact-form__image {
        max-width: min(9rem, 48vw);
    }

    .p-shop-detail .product-main-image {
        aspect-ratio: 1 / 1;
    }

    .p-shop-detail .product-info-col h1 {
        font-size: 1.45rem !important;
    }

    .p-shop-detail .product-price-box .fw-bold {
        font-size: 1.65rem !important;
    }

    .p-shop-detail .product-info-col > div > .d-flex.gap-2.mb-4 > .btn:not(:last-child) {
        flex-basis: 100%;
    }

    .p-shop-detail .product-info-col > div > .d-flex.gap-2.mb-4 > .btn:last-child {
        flex: 1 1 100%;
    }

    .p-shop-detail .review-breakdown-row {
        grid-template-columns: 3rem minmax(0, 1fr) 2.75rem !important;
    }

    .p-shop-cart .cart-item-row {
        grid-template-columns: auto 4.25rem minmax(0, 1fr);
    }

    .p-shop-cart .cart-thumb {
        width: 4.25rem;
    }

    .p-shop-cart .cart-item-actions {
        align-items: stretch;
        flex-wrap: wrap;
        gap: .65rem;
    }

    .p-shop-cart .cart-qty-group {
        flex: 1 1 auto;
    }

    .p-shop-orders .order-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .p-shop-orders .order-card .card-body,
    .p-shop-myreviews .review-card {
        padding: 1rem !important;
    }

    .p-shop-orders .order-detail-panel {
        padding: 1rem !important;
    }

    .review-upload-list {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .review-star-group {
        display: flex;
        flex-wrap: wrap;
    }

    .review-star-btn {
        flex: 1 1 2.75rem;
        min-width: 2.75rem;
    }

    .member-auth-modal .modal-dialog,
    .frontend-member-account-modal .modal-dialog {
        height: 100dvh !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .member-auth-modal .modal-content,
    .frontend-member-account-modal .modal-content {
        border-radius: 0 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
    }

    .member-auth-modal .modal-body,
    .frontend-member-account-modal .modal-body {
        overflow-y: auto;
    }

    .member-auth-modal .member-auth-footer,
    .frontend-member-account-modal .modal-footer {
        padding-bottom: max(.75rem, env(safe-area-inset-bottom)) !important;
    }

    .p-error-error .display-4 {
        font-size: clamp(1.6rem, 8vw, 2.4rem);
    }

    .p-error-error .container > .text-center > .mt-4 {
        align-items: stretch;
        flex-direction: column;
    }

    .p-siteaccess-login {
        align-items: flex-start !important;
        padding: max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)) !important;
    }

    .p-siteaccess-login .login-container {
        margin: auto 0;
        padding: clamp(1.5rem, 8vw, 2.5rem) clamp(1rem, 6vw, 1.5rem) !important;
    }

    .p-siteaccess-login .lock-icon {
        height: 4rem !important;
        margin-bottom: 1.25rem !important;
        width: 4rem !important;
    }
}

@media (max-width: 359.98px) {
    :root {
        --frontend-rwd-edge: .625rem;
    }

    .member-register-form,
    .p-shop-orders .order-card .card-body,
    .p-shop-myreviews .review-card {
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }

    .p-shop-cart .cart-item-row {
        grid-template-columns: auto 3.75rem minmax(0, 1fr);
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }

    .p-shop-cart .cart-thumb {
        width: 3.75rem;
    }

    .p-shop-detail .product-services {
        grid-template-columns: minmax(0, 1fr);
    }

    .frontend-pagination .page-link {
        min-width: 2.5rem;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    .p-siteaccess-login {
        align-items: flex-start !important;
    }

    .p-siteaccess-login .login-container {
        margin-bottom: 1rem;
        margin-top: 1rem;
    }

    .modal-content,
    .member-auth-modal .modal-content {
        max-height: 100dvh !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-main-content *,
    .modal *,
    .p-siteaccess-login * {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
