/* 套版常用設定 */
:root {
    --primary: #3D3162;
    --primary-light: #dad1f3;
    --primary-light2: #5337a7;
}

body {
    font-size: 1rem;
}

img {
    max-width: 100%;
    height: auto !important;
}
a:hover,
.btn-link:hover {
    color: var(--primary);
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.cke_editable ol,
.cke_editable ul,
.backend-editor-body ol,
.backend-editor-body ul,
.editor ol,
.editor ul {
    margin-bottom: 1rem;
    padding-left: 2rem;
}
.cke_editable ol,
.backend-editor-body ol,
.editor ol,
.cke_editable ol > li,
.backend-editor-body ol > li,
.editor ol > li {
    list-style-type: decimal;
}
.cke_editable ul,
.backend-editor-body ul,
.editor ul,
.cke_editable ul > li,
.backend-editor-body ul > li,
.editor ul > li {
    list-style-type: disc;
}

.cke_editable .list-unstyled,
.editor .list-unstyled {
    padding-left: 0;
    list-style: none;
}
.cke_editable .list-unstyled li,
.editor .list-unstyled li {
    list-style: none;
}
.embed-responsive {
    position: relative;
    display: block;
    height: auto;
    padding: 0;
    overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

body div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) {
    background: #111111;
}
body div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):focus-visible{
    box-shadow:0 0 0 3px rgba(17,17,17,.5)
}

.header .navigation__link {
    font-size: 1.1rem;
}
.header .menu-link {
    font-size: 1rem;
}
.header-member-dropdown {
    padding: 0;
}
.header-member-dropdown > a {
    padding: 0.5em 0.5em 0.75em;
}

.banner.slideshow {
    height: auto;
    min-height: 0;
}
.swiper-pagination-bullet:after {
    color: #fff;
    box-shadow: 0 0 0.5em rgba(0,0,0,0.25);
}
.swiper-pagination-bullet-active {
    box-shadow: 0 0 0.5em rgba(0,0,0,0.25);
}
.swiper-pagination-bullet-active:after {
    color: #222;
}

.footer {
    font-size: 0.875rem;
}
.footer__social-link .svg-icon_line,
.footer__social-link .svg-icon_threads,
.footer__social-link .svg-icon_youtube {
    width: auto;
    max-height: 1em;
}

.footer-middle .logo {
    margin-bottom: 1.5em;
}

.text-shadow {
    text-shadow: 0 0 10px #000;
}

.container {
    width: 90%;
}

.slideshow-social-follow .footer__social-link {
    font-size: 1.5em;
}
.slideshow-social-follow .footer__social-link .svg-icon {
    width: auto;
    height: 1em;
}

.section-title small {
    display: block;
    font-size: 0.8em;
    margin-top: 0.5em;
}
.pc__category {
    font-size: 0.9em;
}
.pc__category a,
.blog-grid__item-meta a,
.blog-single__item-meta a {
    color: inherit;
}
.pc__category a:hover,
.blog-grid__item-meta a:hover,
.blog-single__item-meta a:hover {
    color: var(--primary);
}
.blog__filter .menu-link {
    color: inherit;
}
.blog__filter .menu-link:hover {
    color: var(--primary-light2);
}
.pc__title {
    font-size: 1.2em;
}
.product-card .pc__img-wrapper {
    padding-top: 0;
    height: auto;
}
.product-card .pc__img-wrapper .pc__img-outer {
    display: block;
}
.product-card .pc__img-wrapper .pc__img-outer::before {
    content: '';
    display: block;
    padding-top: 100%;
}
.product-card .pc__img-wrapper .pc__img,
.blog-page-title .title-bg img {
    height: 100% !important;
}

.blog-grid__item-title {
    font-weight: 500;
    margin-bottom: 1.2rem;
}
.blog-grid__item-content p {
    font-weight: 400;
}

.google-map__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.sex-box {
    top: 1em;
    right: 1.5em;
}
.form-hint {
    position: relative;
    top: -1.5rem;
}
.form-control {
    font-size: 1em;
}
.form-floating > textarea.form-control {
    height: 200px;
}
.form-floating > label {
    font-size: 0.875em;
}
.btn-primary:hover {
    background: var(--primary);
    border-color: var(--primary);
}
.page-not-found .content .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.not-found-page .main {
    height: 100dvh;
}
body.not-found-page .header.header_sticky-active {
    background-color: #fff;
}

.progress_uomo .progress-bar::before {
    display: none;
}

.cke_editable .text-list,
.backend-editor-body .text-list,
.editor .text-list {
    padding-left: 1.25em;
}

.background-img img {
    width: 100% !important;
    height: 100% !important;
}

.search-field__input-wrapper {
    position: relative;
}
.search-field__input-wrapper .btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 3rem;
    height: 100%;
    padding: 0;
    text-indent: 101%;
    white-space: nowrap;
    overflow: hidden;
    background: transparent url("data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url%28%23clip0_137_2221%29'%3e%3cpath d='M7.04606 0C3.16097 0 0 3.16097 0 7.04606C0 10.9314 3.16097 14.0921 7.04606 14.0921C10.9314 14.0921 14.0921 10.9314 14.0921 7.04606C14.0921 3.16097 10.9314 0 7.04606 0ZM7.04606 12.7913C3.87816 12.7913 1.30081 10.214 1.30081 7.04609C1.30081 3.87819 3.87816 1.30081 7.04606 1.30081C10.214 1.30081 12.7913 3.87816 12.7913 7.04606C12.7913 10.214 10.214 12.7913 7.04606 12.7913Z' fill='%23767676'/%3e%3cpath d='M15.8095 14.8897L12.0805 11.1607C11.8264 10.9066 11.4149 10.9066 11.1608 11.1607C10.9067 11.4146 10.9067 11.8265 11.1608 12.0804L14.8898 15.8094C15.0168 15.9364 15.1831 16 15.3496 16C15.5159 16 15.6824 15.9364 15.8095 15.8094C16.0636 15.5555 16.0636 15.1436 15.8095 14.8897Z' fill='%23767676'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0_137_2221'%3e%3crect width='16' height='16' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") center/1rem auto no-repeat;
}
.search-field__input-wrapper .btn:hover {
    background-size: 1.2rem auto;
}
.search-field__input-wrapper::after {
    display: none;
}
.cart-drawer {
    padding-bottom: 18.5rem;
}
.aside-content {
    margin-bottom: 0;
}
.cart-drawer-divider:last-child {
    display: none;
}
.header-tools__cart .cart-amount {
    background: var(--primary);
}
.block-title {
    font-size: 1.15em;
}
.product-single__meta-info,
.content {
    font-size: 1em;
}
.product-single__meta-info {
    line-height: 1.5;
}

.my-account .account-nav {
    white-space: nowrap;
    overflow-y: auto;
}
.my-account .account-nav .menu-link.menu-link_active {
    pointer-events: visible;
}
.shop-checkout .checkout-steps__item.current {
    color: var(--primary-light2);
}
.shopping-cart .cart-table .qty-control__reduce,
.shopping-cart .cart-table .qty-control__increase {
    height: 100%;
    width: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shopping-cart .cart-table .qty-control__reduce {
    left: 0;
}
.shopping-cart .cart-table .qty-control__increase {
    right: 0;
}

.my-account .orders-table tbody td .btn.btn-sm {
    padding: 0.5em 1em;
    height: auto;
}
.modal-footer {
    padding: 1rem 1.5rem;
}
.modal-footer .btn {
    padding: 0.5em 1em;
}

.form-floating > .form-select {
    padding: 1.125rem 1.3125rem 0.9rem;
}

.display-toggle {
    display: none;
}

.display-toggle.show {
    display: block;
}

.lds-ring,
.lds-ring div {
  box-sizing: border-box;
}
.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  color: var(--primary);
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid currentColor;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: currentColor transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.my-account .orders-table tbody td:first-child {
    text-decoration: none;
}
.login-register {
    width: 50rem;
}

@media (min-width: 768px) {
    .my-account .account-nav {
        font-size: 1em;
    }
}
@media (min-width: 992px) {
    .nav-link {
        font-size: 1.2em;
    }
    .my-account .account-nav {
        overflow-y: visible;
    }
}
@media (min-width: 1500px) {
}

@media only screen and (max-width: 991px) {
    table.rwd-md-down thead {
        display: none;
    }
    table.rwd-md-down tbody tr,
    table.rwd-md-down tbody th,
    table.rwd-md-down tbody td {
        display: block;
    }
    table.rwd-md-down tbody tr td[data-title]::before {
        content: attr(data-title)'：';
        font-size: 0.8em;
        color: #999;
    }
    .my-account .orders-table.rwd-md-down {
        border: 0;
    }
    .my-account .orders-table.rwd-md-down tbody tr {
        padding: 1em 1.5em;
        margin-bottom: 0.5em;
        border: 1px solid #e4e4e4;
    }
    .my-account .orders-table.rwd-md-down tbody td {
        border: 0;
        padding: 0;
    }
    .my-account .orders-table.rwd-md-down tbody td.btns-col {
        padding-top: 0.5em;
    }
    .blog-page-title {
        border: 0;
        padding: 0;
        display: block;
        height: auto;
    }
    .blog-page-title .title-bg {
        position: static;
        border: 2px solid #e4e4e4;
        padding: 0.5rem;
        margin-bottom: 2rem;
    }
}

@media only screen and (max-width: 767px) {
    .shopping-cart .cart-table .qty-control {
        width: 7em;
    }
    .shopping-cart .cart-table .qty-control__reduce, .shopping-cart .cart-table .qty-control__increase {
        width: 2em;
    }
}
