.text-gradient { background:linear-gradient(180deg, #D3A54E 0%, #F6DC88 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } 


/* Header */
.header { background: var(--color-title); } 
.button-translate { display: flex; justify-content: center; align-items: center; width: 28px; height: 28px; border: 1px solid var(--color-white); cursor: pointer; } 
.button-translate:hover { background: var(--color-main); border-color: var(--color-main); } 


/* APP */
.btn-app { margin-top: 30px; width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; background: #ffffff8a; border-radius: 50%; } 

/* CART */
.cart-button { position: relative; } 
.cart-button .count-cart { font-family: var(--font-bold); position: absolute; z-index: 999; color: var(--color-white); border-radius: 50%; top: -10px; right: 0; width: 0; height: 0; } 

/* MENU */
.menu { position: relative; z-index: 99; width:100%; padding: 20px 0 15px 0; background: var(--color-title); } 
.menu.fixed { box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; padding: 20px 0; } 
.menu .wrap-content { position: relative; } 
.menu ul { width: 100%; padding: 0px; margin: 0; list-style: none; gap: 60px; } 
.menu-line { width: 10px; height: 10px; background: var(--color-main); flex: unset !important; } 
.menu ul li { position: relative; z-index: 99; } 
.menu ul li.line { width: 1px; height: 15px; background-color: rgba(255, 255, 255, 0.5); flex: none; } 
.menu ul li a { font-size: 13px; font-family: var(--font-custom-v2); color: var(--color-white); margin: 0px; padding: 0; position: relative; z-index: 1; text-align: center; text-decoration: none !important; display: block; line-height: normal; text-transform: uppercase; } 
.menu ul li a img { vertical-align: middle; } 
.menu ul li a::after { position: absolute; content: ''; width: 100%; height: 1px; background: var(--color-white); border-radius: 5px; left: 0px; bottom: 0px; transform-origin: right; transform: scaleX(0); transition: transform 0.5s; } 
.menu ul li a.active::after,.menu ul li:hover > a::after { transform-origin: left; transform: scaleX(1); } 
.menu ul li ul { position: absolute; min-width: 250px; left: 0; background: var(--color-white); box-shadow: 0 3px 11px 0 rgba(0, 0, 0, 0.3); -webkit-transform: perspective(600px) rotateX(-90deg); transform: perspective(600px) rotateX(-90deg); -webkit-transform-origin: 0 0 0; transform-origin: 0 0 0; opacity: 0; visibility: hidden; transition: all 0.5s; } 
.menu ul li:hover > ul { -webkit-transform: perspective(600px) rotateX(0); transform: perspective(600px) rotateX(0); -webkit-transform-origin: 0 0 0; opacity: 1; visibility: visible; transition: all 0.7s; } 
.menu ul li ul li { text-align: left; border-bottom: 1px solid rgb(173 173 173 / 32%); } 
.menu ul li ul li:last-child { border-bottom: 0px; } 
.menu ul li ul li a { font-size: 13px; font-family: var(--font-bold); padding: 10px; display: block; text-decoration: none !important; line-height: 20px; text-align: left; font-weight: 500; text-transform: capitalize; color: #333; } 
.menu ul li ul li ul { top: 0px; left: 100%; } 
.menu ul li ul li a:after { display: none; } 
.menu ul li ul li a:before { position: absolute; content: ''; top: 50%; left: 0; width: 0; height: 1px; background: var(--color-active); transition: all 0.3s linear; -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s linear; -o-transition: all 0.3s linear; -ms-transition: all 0.3s linear; visibility: hidden; opacity: 0; } 
.menu ul li ul li a:hover:before,
.menu ul li ul li > a.active:before { left: 0; visibility: visible; opacity: 1; width: 30px; } 
.menu ul li ul li a:hover { padding-left: 40px; } 

/* SLIDESHOW */
.slideshow { position: relative; } 
.control-owl { position: absolute; width: 100%; z-index: 2; left: 0px; top: calc(50% - 22.5px); } 
.control-owl button { opacity: 0.5; top: 0px; position: absolute; outline: none; border: 2px solid var(--color-white); padding: 0px; margin: 0px; display: block; cursor: pointer; color: #ffffff; width: 30px; height: 30px; border-radius: 50%; overflow: hidden; text-align: center; font-size: 25px; margin: 0px; background-color: #00a3ff; display: flex; align-items: center; justify-content: center; } 
.control-owl button:hover { opacity: 1; } 
.control-owl button.owl-prev { left: 20px; } 
.control-owl button.owl-next { right: 20px; } 
.swiper-button-next, .swiper-button-prev { background: var(--color-main); color: var(--color-white); width: 40px; height: 40px; opacity: 0.5; } 
.swiper:hover .swiper-button-next, .swiper:hover .swiper-button-prev { opacity: 1; } 


/* PRODUCT */
.grid-product { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); } 
.grid-product > * { max-width: 100%; min-width: 0; } 
.product { display:block; position:relative; } 
.product-item .info-product { padding: 20px 0; } 
.info-product { padding: 5px 0; text-align: center; } 
.product .image-product { background:var(--color-white); margin-bottom:10px; display:block; position:relative; overflow:hidden; } 
.product-item .name-product { margin-bottom:10px; font-weight:normal; } 
.product .name-product { margin-bottom:5px; font-weight:normal; } 
.product .name-product a { font-size:14px; color:var(--color-title); text-transform: uppercase; line-height:normal; font-family: var(--font-custom-v2); } 
.product .name-product a:hover { color:var(--color-hover); } 
.product .name-product .text-split { -webkit-line-clamp:1; } 
.product .price-product { margin-bottom:0; color:var(--color-active); } 
.product .price-text { color: #333333; font-size: 13px; line-height: 1.6; } 
.product .price-new { font-size:13px; font-family:var(--font-bold); color:var(--color-title); display:inline-block; } 
.product .price-old { padding:0 0 0 10px; font-family:var(--font-bold); font-size:13px; text-decoration:line-through; display:inline-block; color:#757575; } 
.product .price-per { color: var(--color-white); background: var(--color-main); font-size:13px; font-family: var(--font-medium); text-align:center; position: absolute; right: 5px; top: 5px; padding: 5px; } 
.grid-properties-color { display: flex; justify-content: end; gap: 0 10px; align-items: center; } 
.properties { cursor: pointer; } 
.properties-hex { width: 30px; height: 30px; border: 1px solid #000; transition: all 0.3s ease; } 
.properties-hex:hover, .properties-hex.active { border-radius: 50%; } 
.button-product { margin: 15px auto 0 auto; border: 1px solid var(--color-title); width: 160px; height: 40px; line-height: 40px; } 

.image-product { position: relative; overflow: hidden; } 
.image-product { position: relative; overflow: hidden; } 
.image-product .image-sub { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; z-index: 2; transition: opacity 1s ease; } 
.image-product .image-main { opacity: 1; z-index: 1; transition: opacity 1s ease; } 
.image-product.has-sub-image:hover .image-main { opacity: 0; } 
.image-product.has-sub-image:hover .image-sub { opacity: 1; } 

/* .product-item .pic-product { position: relative; overflow: hidden; width: 420px; height: 600px; } 
.product-item .pic-product img{ width: 100% !important; height: 100% !important; object-fit: cover; } */

/* ABOUT US */
.wrap-aboutus { background: url(../images/set/webp/bg-aboutus.webp); background-size: cover; background-attachment: fixed; padding: 90px 0 70px 0; } 
.section-aboutus { max-width: 840px; margin: auto; } 
.title-aboutus::after { position: absolute; content: ''; width: 220px; height: 2px; background: var(--color-white); margin: auto; left: 0; right: 0; bottom: 0; } 
.desc-aboutus { margin: auto auto 30px auto; } 
.btn-index { display: block; width: 250px; height: 58px; line-height: 58px; text-align: center; margin: auto; border: 1px solid var(--color-white); } 
.btn-index:hover { background: var(--color-white); color: var(--color-title); border-color: var(--color-white); } 
.items-contact { gap: 0 10px; } 
.items-contact .icon { width: 45px; height: 45px; } 
.items-contact .info-contact { display: block; min-width: max-content; } 


/* CRITERIA */
.image-criteria { width: 50px; height: 50px; margin: auto; } 

/* News */
.title-blogs { font-size: 72px; } 
.button-blogs { display: block; width: 162px; height: 50px; letter-spacing: -1.28px; line-height: 50px; align-content: center; text-align: center; background: url(../images/set/webp/button.webp) no-repeat; background-size: 100% 100%; } 
.button-blogs:hover { background: url(../images/set/webp/button-hover.webp) no-repeat; background-size: 100% 100%; } 
.image-blogs { width: 650px; } 
.info-blogs { width: calc(100% - 710px); } 

/* FEEDBACK */
.section-feedback { z-index: 1; } 
.section-feedback::after { position: absolute; content: url(../images/set/webp/pattern.webp); left: -75px; bottom: -50px; } 
.items-feedback { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); background: var(--color-white); margin: 2px; padding: 25px 25px 15px 25px; position: relative; } 
.desc-feedback { border-top: 1px solid #E8E8E8; } 
.star { top: 35px; right: 25px; } 


/* ALBUM */
.grid-collection { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); } 
.album { cursor: pointer; } 
.album-image { margin-bottom: 0rem; position: relative; } 
.album-expand { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; background: #00000033; opacity: 0; } 
.album-expand i { font-size: 35px; color: var(--color-white); } 
.album-image:hover .album-expand { opacity: 1; } 
.album .album-name { margin-bottom: 0px; text-align: center; } 
.album .album-name a { display: block; font-size: 16px; color: #212529; margin-bottom: 0px; } 


/*NEWSLETTER*/
.newsletter-input input { height:45px; background: transparent; padding: 0; border: transparent; border-bottom: 1px solid #ffffff6c; color: #ffffff6c; } 
.newsletter-input input::placeholder { color: #ffffff6c; } 
.newsletter-input input:focus { outline: unset; border-color: #ffffff6c; box-shadow: unset; background-color: transparent !important; color: #ffffff6c; } 
.newsletter-input .label { position:absolute; top:12px; left:20px; -webkit-transform-origin:0 0; -moz-transform-origin:0 0; -ms-transform-origin:0 0; -o-transform-origin:0 0; transform-origin:0 0; -webkit-transform:translate3d(0,0,0); -moz-transform:translate3d(0,0,0); transform:translate3d(0,0,0); -webkit-transition:all .2s ease; -o-transition:all .2s ease; -moz-transition:all .2s ease; transition:all .2s ease; pointer-events:none } 
.newsletter-input input:not(:-moz-placeholder-shown) + .label { -moz-transform:translate3d(0,-22px,0) scale(0.85); transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; -moz-border-radius:.25rem; border-radius:.25rem; left:5px } 
.newsletter-input input:not(:-ms-input-placeholder) + .label { transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; border-radius:.25rem; left:5px } 
.newsletter-input input:not(:placeholder-shown) + .label { -webkit-transform:translate3d(0,-22px,0) scale(0.85); -moz-transform:translate3d(0,-22px,0) scale(0.85); transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; -webkit-border-radius:.25rem; -moz-border-radius:.25rem; border-radius:.25rem; left:5px } 
.newsletter-input input:focus + .label { -webkit-transform:translate3d(0,-22px,0) scale(0.85); -moz-transform:translate3d(0,-22px,0) scale(0.85); transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; -webkit-border-radius:.25rem; -moz-border-radius:.25rem; border-radius:.25rem; left:5px } 
.newsletter-input textarea { height:80px; } 
.newsletter-input textarea:not(:-moz-placeholder-shown) + .label { -moz-transform:translate3d(0,-22px,0) scale(0.85); transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; -moz-border-radius:.25rem; border-radius:.25rem; left:5px } 
.newsletter-input textarea:not(:-ms-textarea-placeholder) + .label { transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; border-radius:.25rem; left:5px } 
.newsletter-input textarea:not(:placeholder-shown) + .label { -webkit-transform:translate3d(0,-22px,0) scale(0.85); -moz-transform:translate3d(0,-22px,0) scale(0.85); transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; -webkit-border-radius:.25rem; -moz-border-radius:.25rem; border-radius:.25rem; left:5px } 
.newsletter-input textarea:focus + .label { -webkit-transform:translate3d(0,-22px,0) scale(0.85); -moz-transform:translate3d(0,-22px,0) scale(0.85); transform:translate3d(0,-22px,0) scale(0.85); background:var(--color-white); padding:0 .5rem; -webkit-border-radius:.25rem; -moz-border-radius:.25rem; border-radius:.25rem; left:5px } 
.btn-submit { width: 125px; height: 38px; align-content: center; border: 1px solid #ffffff6c; text-align: center; color: #ffffff6c; } 
.btn-submit:hover { background-color: #ffffff6c; color: #000; } 

/* FOOTER */
.bg-footer{background: url(../images/set/webp/bg-ft.png); background-size:cover ;}
.footer-ul { margin-bottom: 0; } 
.footer-ul li a:hover { text-decoration: underline; } 
.footer-ul li:last-child { margin-bottom: 0px !important; } 
.footer-powered .wrap-content { padding-top: 15px; padding-bottom: 15px; } 
.text-effect { font-size: 200px; } 

/* Play icon */
.play-icon { z-index: 1; position: absolute; top: 50%; left: 50%; -webkit-transform: translateY(-50%) translateX(-50%); -moz-transform: translateY(-50%) translateX(-50%); -ms-transform: translateY(-50%) translateX(-50%); -o-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); } 
.play-icon svg { -webkit-box-shadow: 1px 1px 15px rgb(0 0 0 / 30%); -moz-box-shadow: 1px 1px 15px rgb(0 0 0 / 30%); box-shadow: 1px 1px 15px rgb(0 0 0 / 30%); -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; background: rgb(255 255 255 / 15%); } 
.play-icon svg .play-icon-stroke-dotted { opacity: 0; stroke-dasharray: 4, 5; stroke-width: 1px; -webkit-transform-origin: 50% 50%; -moz-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: spin 4s infinite linear; -moz-animation: spin 4s infinite linear; -o-animation: spin 4s infinite linear; animation: spin 4s infinite linear; -webkit-transition: opacity 1s ease, stroke-width 1s ease; -o-transition: opacity 1s ease, stroke-width 1s ease; -moz-transition: opacity 1s ease, stroke-width 1s ease; transition: opacity 1s ease, stroke-width 1s ease; } 
.play-icon svg .play-icon-stroke-solid { stroke-dashoffset: 0; stroke-dashArray: 300; stroke-width: 4px; -webkit-transition: stroke-dashoffset 1s ease, opacity 1s ease; -o-transition: stroke-dashoffset 1s ease, opacity 1s ease; -moz-transition: stroke-dashoffset 1s ease, opacity 1s ease; transition: stroke-dashoffset 1s ease, opacity 1s ease; } 
.play-icon svg .play-icon-icon { -webkit-transform-origin: 50% 50%; -moz-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transition: -webkit-transform 200ms ease-out; transition: -webkit-transform 200ms ease-out; -o-transition: -o-transform 200ms ease-out; -moz-transition: transform 200ms ease-out, -moz-transform 200ms ease-out; transition: transform 200ms ease-out; transition: transform 200ms ease-out, -webkit-transform 200ms ease-out, -moz-transform 200ms ease-out, -o-transform 200ms ease-out; } 
.play-icon:hover svg .play-icon-stroke-dotted { stroke-width: 4px; opacity: 1; } 
.play-icon:hover svg .play-icon-stroke-solid { opacity: 0; stroke-dashoffset: 300; } 
.play-icon:hover svg .play-icon-icon { -webkit-transform: scale(1.05); -moz-transform: scale(1.05); -ms-transform: scale(1.05); -o-transform: scale(1.05); transform: scale(1.05); } 


/*MAPS*/
.footer-map-title { position: absolute; top: 10px; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%); transform: translateX(-50%); z-index: 10; } 
.maps-iframe { position:relative; height:300px; } 
.maps-iframe iframe { position:absolute; left:0px; top:0px; width:100%; height:100%; } 
.items-map { border:none; color:var(--color-white); background:var(--color-main-v2); font-family: var(--font-semi); font-size: 15px; text-transform: uppercase; } 
.items-map.active,.items-map:hover { background:var(--color-main); color:var(--color-white)!important; } 


/* CSS CUSTOM */
.goog-te-gadget, .skiptranslate { display: none; } 
.select-Translator { height: 35px; padding: 0px 10px; outline: none; border: none; border-radius: 50px; min-width: 140px; font-size: 14px; color: var(--color-main); } 
.skiptranslate iframe { display: none !important; } 
.goog-te-gadget img { display: none; } 
.goog-te-gadget .goog-te-combo { height: 35px; width: 120px; font-size: 13px; font-family: var(--font-regular); background: var(--color-white); text-align: center; border:1px solid var(--color-main); border-radius: 20px; color: var(--color-main); } 
.goog-te-gadget span { display: none; } 
.goog-te-gadget { font-size: 0px !important; } 
#google_language_translator { width: auto; margin: 0; } 
.social-header li { width: 30px; height: 30px; text-align: center; display: flex; justify-content: center; align-items: center; background: var(--color-white); border-radius: 50%; } 

::-webkit-scrollbar { width: 3px; } 
::-webkit-scrollbar-track { background: #ccc; } 
::-webkit-scrollbar-thumb { background: var(--color-main); } 
::-webkit-scrollbar-thumb:hover { background: var(--color-hover); } 
.product .i_left { position: absolute; height: 0; -webkit-border-radius: 0 50px; -moz-border-radius: 0 50px; border-radius: 0 50px; width: 2px; left: 0; top: 0; background: -webkit-linear-gradient(bottom, red, orange, yellow, green, blue, indigo, violet); background: -o-linear-gradient(bottom, red, orange, yellow, green, blue, indigo, violet); background: -webkit-gradient(linear, left bottom, left top, from(red), color-stop(orange), color-stop(yellow), color-stop(green), color-stop(blue), color-stop(indigo), to(violet)); background: -moz-linear-gradient(bottom, red, orange, yellow, green, blue, indigo, violet); background: linear-gradient(to top, red, orange, yellow, green, blue, indigo, violet); -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; -moz-transition: all 0.5s ease; transition: all 0.5s ease } 
.product .i_right { position: absolute; height: 0; width: 2px; right: 0; bottom: 0; background: -webkit-linear-gradient(top, red, orange, yellow, green, blue, indigo, violet); background: -o-linear-gradient(top, red, orange, yellow, green, blue, indigo, violet); background: -webkit-gradient(linear, left top, left bottom, from(red), color-stop(orange), color-stop(yellow), color-stop(green), color-stop(blue), color-stop(indigo), to(violet)); background: -moz-linear-gradient(top, red, orange, yellow, green, blue, indigo, violet); background: linear-gradient(to bottom, red, orange, yellow, green, blue, indigo, violet); -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; -moz-transition: all 0.5s ease; transition: all 0.5s ease } 
.product .i_top { position: absolute; height: 2px; width: 0; right: 0; top: 0; background: -webkit-linear-gradient(left, red, orange, yellow, green, blue, indigo, violet); background: -o-linear-gradient(left, red, orange, yellow, green, blue, indigo, violet); background: -webkit-gradient(linear, left top, right top, from(red), color-stop(orange), color-stop(yellow), color-stop(green), color-stop(blue), color-stop(indigo), to(violet)); background: -moz-linear-gradient(left, red, orange, yellow, green, blue, indigo, violet); background: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet); -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; -moz-transition: all 0.5s ease; transition: all 0.5s ease } 
.product .i_bottom { position: absolute; height: 2px; width: 0; left: 0; bottom: 0; background: -webkit-linear-gradient(right, red, orange, yellow, green, blue, indigo, violet); background: -o-linear-gradient(right, red, orange, yellow, green, blue, indigo, violet); background: -webkit-gradient(linear, right top, left top, from(red), color-stop(orange), color-stop(yellow), color-stop(green), color-stop(blue), color-stop(indigo), to(violet)); background: -moz-linear-gradient(right, red, orange, yellow, green, blue, indigo, violet); background: linear-gradient(to left, red, orange, yellow, green, blue, indigo, violet); -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; -moz-transition: all 0.5s ease; transition: all 0.5s ease } 
.product:hover .i_left { height: 100%; bottom: 0; top: inherit } 
.product:hover .i_top { width: 100%; left: 0 } 
.product:hover .i_right { height: 100%; top: 0; bottom: inherit } 
.product:hover .i_bottom { width: 100%; right: 0; left: inherit } 

.image-mark img { -webkit-mask-image: url(../images/set/mark.png); mask-image: url(../images/set/mark.png); -webkit-mask-size: 100% 100%; mask-size: 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; } 
.hover-shadow:hover { -webkit-box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; -moz-box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; } 
.shadow-custom { box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; } 
menu, ol, ul { list-style: unset; } 


.output-voice { max-width: 600px; padding: 0; background: #f8f9fa; border-radius: 10px; display: flex; flex-direction: column; gap: 10px; font-family: var(--font-regular) } 
.voice-input-group { display: flex; align-items: center; gap: 10px; } 
.search-auto { flex: 1; padding: 10px 15px; font-size: 16px; border: 1px solid #ccc; border-radius: 8px; transition: border-color 0.3s; } 
.search-auto:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); } 
.volume { background-color: #007bff; border: none; padding: 10px; border-radius: 50%; cursor: pointer; transition: background-color 0.3s; display: flex; align-items: center; justify-content: center; } 
.volume:hover { background-color: #0056b3; } 
.volume svg { width: 20px; height: 20px; fill: #fff; } 
#output { padding: 10px 14px; border: 1px dashed #ccc; background-color: #fff; border-radius: 6px; font-size: 15px; min-height: 40px; color: #333; line-height: 1.5; } 



.button.button-cart { width: 180px; padding: 0 15px; height: 45px; border: 1px solid #000; position: relative; text-align: center; border-radius: 0; transition: background 0.3s; cursor: pointer; } 
.button.button-cart::after,.button.button-cart::before { opacity: 0; visibility: hidden; transition: all 0.5s; } 
.text { display: flex; align-items: center; justify-content: center; } 
.button.button-cart .button-wrapper,.button.button-cart .text,.button.button-cart .icon { overflow: hidden; position: absolute; width: 100%; height: 100%; left: 0; color: #000; } 
.text { top: 0 } 
.text,.icon { transition: top 0.5s; } 
.button.button-cart .icon { color: #000; top: 100%; display: flex; align-items: center; justify-content: center; } 
.button.button-cart .icon svg { width: 30px; height: 30px; color: #000; } 
.button.button-cart:hover { background: #000; } 
.button.button-cart:hover .text { top: -100%; } 
.button.button-cart:hover .icon { top: 0; } 
.button.button-cart:hover .icon svg { color: #fff; } 
.button.button-cart:hover:before,.button.button-cart:hover:after { opacity: 1; visibility: visible; } 
.button.button-cart:hover:after { bottom: calc(var(--height) + var(--gap-between-tooltip-to-button) - 20px); } 
.button.button-cart:hover:before { bottom: calc(var(--height) + var(--gap-between-tooltip-to-button)); } 



