/* The source theme owns typography, colours and page layouts. */
.password-control { display: block; position: relative; width: 100%; }
.atelier-form .password-control input { padding-right: 54px !important; }
.password-toggle { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; background: transparent; color: var(--main); }
.password-toggle i { font-size: 22px; }
.review-rating legend { font-size: 16px; margin-bottom: 8px; }
.rating-stars { display: flex; gap: 4px; }
.atelier-form .rating-star { position: relative; display: grid; place-items: center; width: 44px; height: 44px; cursor: pointer; }
.rating-star input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.rating-star > span:first-of-type { font-size: 34px; line-height: 1; color: #9b938e; }
.rating-star.selected > span:first-of-type, .rating-star:hover > span:first-of-type { color: #a47109; }
.rating-star:has(input:focus-visible) { outline: 2px solid var(--main); outline-offset: 2px; }
.review-star-empty { opacity: .25; }.review-media { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }.review-media .review-photo { width: 90px; height: 110px; object-fit: cover; }.review-video { width: 100%; max-height: 300px; background: #161616; }
.product-gallery { min-width: 0; width: 100%; }.product-gallery-swiper { width: 100%; overflow: hidden; }.product-gallery .swiper-slide > a { display: block; width: 100%; }.product-gallery .product-main-photo { display: block; width: 100%; height: auto; aspect-ratio: 538/670; object-fit: contain; }
.gallery-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 12px 0; }.gallery-controls button { width: 44px; height: 44px; border: 1px solid var(--line); background: transparent; }.gallery-controls button:disabled { opacity: .3; }.gallery-position { min-width: 60px; text-align: center; }
.gallery-thumbnails { display: flex; overflow-x: auto; gap: 10px; padding: 4px; }.gallery-thumbnails button { flex: 0 0 60px; height: 75px; border: 1px solid var(--line); }.gallery-thumbnails button[aria-pressed=true] { border: 2px solid var(--main); }.gallery-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.footer-social-links { display: flex; align-items: center; gap: 12px; padding: 24px 0; border-bottom: 1px solid currentColor; }.footer-social-links a { display: grid; place-items: center; width: 44px; height: 44px; font-size: 22px; color: inherit; }.bg-black .footer-social-links { color: var(--white); }
.atelier-home .tf-slideshow { position: relative; isolation: isolate; display: flex; align-items: end; min-height: 560px; height: min(680px, calc(100svh - 160px)); background: var(--main); }
.atelier-home .tf-slideshow > .swiper { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.atelier-home .tf-slideshow .swiper-wrapper, .atelier-home .tf-slideshow .swiper-slide, .atelier-home .tf-slideshow .slideshow-v04, .atelier-home .tf-slideshow .sld-image { height: 100%; }
.atelier-home .tf-slideshow::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, transparent 15%, rgba(30, 3, 9, .28) 40%, rgba(30, 3, 9, .9) 100%); }
.brand-hero-copy { position: relative; z-index: 2; width: 100%; color: var(--white); padding: 40px 0; text-align: center; }
.brand-hero-copy h1 { color: var(--white); font-size: 36px; line-height: 1.2; max-width: 850px; margin: 10px auto 16px; }
.brand-hero-description { max-width: 800px; margin: 0 auto 22px; line-height: 1.6; }
.brand-hero-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.atelier-home .brand-hero-actions .tf-btn.style-stroke { border-color: var(--white); color: var(--white); background: transparent; }
.atelier-home .brand-hero-actions .tf-btn.style-stroke:hover { color: var(--main); background: var(--white); }
.atelier-home .tf-slideshow .sld-image img { display: block; min-height: 0; max-height: none; height: 100%; width: 100%; object-fit: cover; object-position: center; }
.brand-hero-copy :focus-visible { outline-color: var(--white); }
.brand-story { max-width: 900px; margin: 24px auto 0; text-align: left; }
.brand-story p { margin-bottom: 18px; line-height: 1.8; }
.brand-profile h2, .brand-values h3 { margin-bottom: 14px; }
.brand-profile p, .brand-values p { line-height: 1.7; }
.brand-values .link-underline { margin-top: 12px; }
.ft-infor address, .store-infor-list address { margin: 0; font-style: normal; }
@media(max-width: 575px) { .brand-hero-copy h1 { font-size: 28px; }.brand-hero-copy { padding: 24px 0; }.brand-hero-copy .brand-hero-description { font-size: 14px; }.brand-hero-actions { gap: 10px; }.brand-hero-actions .tf-btn { width: 100%; }.brand-story { font-size: 15px; } }
@media(max-width: 575px) { .atelier-home .tf-slideshow { height: min(650px, calc(100svh - 140px)); min-height: 550px; }.atelier-home .tf-slideshow .sld-image img { object-position: 65% center; }.atelier-home .tf-slideshow::after { background: linear-gradient(to bottom, rgba(30, 3, 9, .08), rgba(30, 3, 9, .65) 45%, rgba(30, 3, 9, .94)); } }
.atelier-store button { font: inherit; }
.atelier-store button:disabled { opacity: .5; cursor: not-allowed; }
.atelier-store :focus-visible { outline: 2px solid var(--main); outline-offset: 3px; }
.atelier-store * { letter-spacing: 0; }
.skip-link { position: absolute; left: -9999px; }.skip-link:focus { left: 16px; top: 16px; background: var(--white); z-index: 2000; padding: 12px; }
.atelier-store .tf-topbar .text-adver { min-height: 26px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.atelier-store .tf-topbar .text-adver .br-line { width: 14px; }
.atelier-store .wow { visibility: visible; }
.atelier-store .tf-header .logo-site img { object-fit: contain; }
.integration-messages { padding-top: 20px; }
.image-placeholder { display: flex; width: 100%; aspect-ratio: 331/389; align-items: center; justify-content: center; background: var(--bg-6, #ece5df); color: var(--text-4, #715e5b); font-size: 13px; text-align: center; }
.category-monogram { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; background: var(--main); color: var(--white); font-size: 40px; }
.atelier-store .category-v01 .cate-image { width: 160px; max-width: 100%; aspect-ratio: 1; }
.atelier-store .tf-footer.bg-black .ft-infor { color: var(--white); }
.atelier-store .footer-v3 .footer-text-name .title-footer { margin: 0; }
.footer-brand-word { display: inline-block; white-space: nowrap; }
.footer-brand-letter { display: inline-block; transition: transform .2s ease-in-out; }
@keyframes footer-brand-ripple {
  0%, 100% { transform: translateY(0) scaleY(1); }
  40% { transform: translateY(-14%) scaleY(1.3); }
  70% { transform: translateY(3%) scaleY(.96); }
}
@media (prefers-reduced-motion: no-preference) {
  .brand-in-view .footer-brand-letter { animation: footer-brand-ripple .85s var(--letter-delay) both; }
  .brand-in-view .footer-brand-letter:hover { animation: none; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .footer-brand-letter:hover { transform: translateY(-14%) scaleY(1.3); }
}
.atelier-store .card-product .product-action_bot form { width: 100%; }
.atelier-store .card-product .box-icon { border: 0; }
.atelier-store .card-product .product-img { width: 100%; aspect-ratio: 331/389; }
.atelier-store .card-product .product-img img { width: 100%; height: 100%; object-fit: cover; }
.atelier-store .card-product .name-product { overflow-wrap: anywhere; }
.atelier-store #gridLayout { gap: 30px; }
.atelier-store #gridLayout[data-layout="2"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.atelier-store #gridLayout[data-layout="3"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
.atelier-store #gridLayout[data-layout="list"] { grid-template-columns: 1fr; }
.atelier-store #gridLayout[data-layout="list"] .card-product { display: grid; grid-template-columns: minmax(120px,240px) minmax(0,1fr); gap: 24px; }
.atelier-store .tf-view-layout-switch { background: transparent; border: 0; }
.atelier-store .tf-control-sorting select { max-width: 210px; padding: 10px 28px 10px 14px; border: 1px solid var(--line); border-radius: 6px; background-color: transparent; color: var(--main); }
.atelier-form { display: flex; flex-direction: column; gap: 18px; }
.atelier-form p { margin: 0; }.atelier-form label { display: block; margin-bottom: 6px; }
.atelier-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.atelier-form textarea,.atelier-form select { width: 100%; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 4px; background-color: transparent; color: var(--main); }
.atelier-form input[type=file] { padding: 8px; }.atelier-form textarea { max-height: 220px; }.atelier-form .helptext { display: block; font-size: 12px; }.atelier-form ul { font-size: 13px; }.errorlist { color: #a42a36; }
.auth-container { width: 560px; }.review-form { max-width: 650px; }.empty-state { padding: 60px 20px; text-align: center; grid-column: 1/-1; display: grid; gap: 24px; justify-items: center; }
.mobile-links { display: flex; flex-direction: column; gap: 24px; }.drawer-product { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }.drawer-product img { width: 80px; aspect-ratio: 3/4; object-fit: cover; }.drawer-total { display: grid; gap: 16px; padding: 24px 0; }.order-line { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }.order-line strong { white-space: nowrap; }
.atelier-store .wg-quantity input { width: 46px; -moz-appearance: textfield; }.wg-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }.wg-quantity button { width: 36px; flex-shrink: 0; }.atelier-store .table-responsive { max-width: 100%; }.atelier-store .tf-table-page-cart { min-width: 620px; }
.product-main-photo { width: 100%; aspect-ratio: 538/670; object-fit: contain; }.product-thumbnails { display: flex; flex-direction: column; gap: 12px; max-height: 600px; overflow-y: auto; flex-shrink: 0; }.product-thumbnails button { width: 70px; height: 88px; border: 1px solid var(--line); }.product-thumbnails img { width: 100%; height: 100%; object-fit: cover; }.product-thumbnails [aria-pressed=true] { border-color: var(--main); }.flat-wrap-media-product { min-width: 0; }.product-main-link { display: block; }.purchase-form .btn-add-to-cart { flex: 1; }.product-detail-tabs { justify-content: center; gap: 24px; }.product-detail-tabs .nav-link { color: var(--main); }.review-photo { width: 150px; max-height: 190px; object-fit: contain; }.profile-avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.compare-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-bottom: 24px; }.compare-grid img { width: 100%; aspect-ratio: 3/4; object-fit: contain; }.compare-grid h6 { margin: 16px 0; }.compare-grid p { margin-bottom: 10px; }
.atelier-store .tf-toolbar-bottom { display: none; }
.atelier-store .title-footer { font-size: 140px; white-space: normal; overflow-wrap: anywhere; line-height: 1; margin: 0; }.atelier-store .footer-text-name { padding: 24px 0 0; margin: 0; }
.atelier-store .tf-footer .tf-collapse-content { display: block; }
.atelier-store .wg-quantity { display: inline-flex; align-items: center; justify-content: center; }
.atelier-store .wg-quantity button { display: inline-flex; align-items: center; justify-content: center; height: 44px; }
.atelier-store .wg-quantity .quantity-product { height: 44px; }
@media(max-width: 575px) { .atelier-store .tf-footer .footer-col-block:not(.open) .tf-collapse-content { display: none; } }
@media(max-width: 991px) { .atelier-store #gridLayout { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 15px; }.atelier-store #gridLayout[data-layout="3"] { grid-template-columns: repeat(2,minmax(0,1fr)); }.atelier-store .title-footer { font-size: 88px; }.atelier-store .my-account-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 24px; }.atelier-store .link-account { padding: 8px 0; } }
@media(max-width: 575px) { .atelier-store { padding-bottom: 64px; }.atelier-store .tf-toolbar-bottom { position: fixed; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-around; align-items: center; height: 64px; background: var(--white); z-index: 1030; border-top: 1px solid var(--line); }.tf-toolbar-bottom a { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 11px; }.tf-toolbar-bottom i { font-size: 20px; }.atelier-store .tf-shop-control { flex-wrap: wrap; gap: 18px; }.atelier-store .title-footer { font-size: 44px; }.atelier-store .tf-page-title-3 .content { max-width: 65%; }.atelier-store .tf-page-title-3 .title-page { font-size: 28px; }.atelier-store .tf-page-title-3 .desc-page { font-size: 12px; }.atelier-store .tf-page-title-3 { min-height: 205px; }.product-thumbnails { flex-direction: row; max-width: 100%; overflow-x: auto; }.product-thumbnails button { flex-shrink: 0; }.product-detail-tabs { gap: 4px; }.product-detail-tabs button { padding: 10px; font-size: 12px; }.compare-grid { grid-template-columns: 1fr; }.atelier-store .section-split .title { overflow-wrap: anywhere; }.atelier-store .tf-product-info-wrap h1 { font-size: 28px; }.atelier-store .tf-product-total-quantity .group-action { flex-wrap: wrap; }.atelier-store .tf-control-sorting select { max-width: 180px; }.atelier-store .tf-footer .footer-inner_wrap { gap: 28px; } }
