
header{
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 12px;
    padding-right: 12px;
    width: calc(100% - 24px);
}
header > img{max-height: 60px;padding-left: 8px;padding-right: 8px;border-radius: 8px;}
header > button{
    display: flex;
    gap: 2px;
    min-height: 40px;
    padding-left: 16px;
    padding-right: 8px;
    align-items: center;
    border-radius: 12px;
    letter-spacing: 0.4px;
}
header > button > span{
    font-size: 17px;
    font-weight: 600;
    font-variant: small-caps;
    text-transform: uppercase;
}
header > button > img{
    height: 30px;
    width: 30px;
    transform: translateY(-1px);
}
header > nav.bottom-bar > a{
    font-weight: 600;
}
header > nav.bottom-bar > a:not(:any-link){
    opacity: 0.5;
}
header > nav.bottom-bar > a > svg > path {
    fill: #FFFFFF;
}

nav.breadcrumb{padding-left: 8px;padding-right: 8px;margin-bottom: 6px;margin-top: 12px;margin-bottom: 8px;}nav.breadcrumb, nav.breadcrumb>a{display: flex;align-items: center;}nav.breadcrumb>a{font-weight: 600;opacity: 0.5;}nav.breadcrumb>a>img,nav.breadcrumb>a>svg{width: 24px;height: 24px;}nav.breadcrumb>a:any-link{color: #FFFFFF;opacity: 1;}nav.breadcrumb>a:any-link:hover{opacity: 0.5;}nav.breadcrumb>a:any-link::after{content: ">";margin-right: 7px;margin-left: 5px;transform: translate(0,-1px);} nav.breadcrumb svg path {fill: #ffffff;}
.breadcrumb > span{
    display: -webkit-box;
    -webkit-line-clamp: 1;
    width: 100%;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

#media-fullscreen{
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    transition: 1s;
    transform: translate(-100vw , 0);
    background: #ffffff;
    pointer-events: none;
}
#media-fullscreen.active{
    transform: translate(0 , 0);
    pointer-events: all;
}
#media-fullscreen > button{
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
}
#media-fullscreen > button > img,
#media-fullscreen > button > svg{
    width: 100%;
}
#media-fullscreen > img{
    width: 100vw;
    height: 100vh;
    object-fit: contain;
}

.scroll {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.scroll.snap > img,
.scroll.snap > svg{
    scroll-snap-align: start;
}

.gallery > div > h1,
.gallery > div > h2{
    font-weight: 500;
}

section > h2 {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 500;
}

body ol.tag{
   display: flex;
   flex-wrap: wrap;
   list-style: none;
   padding-left: unset;
   margin: unset;
   gap: 4px;
   padding-left: 2px;
   margin-top: 18px;
   margin-bottom: 8px;
}
body ol.tag > li {
   font-size: 14px;
   background: #aaa;
   color: #ffffff;
   min-height: 24px;
   display: flex;
   align-items: center;
   padding-left: 12px;
   padding-right: 10px;
   font-weight: 500;
   border-radius: 16px;
}
body ol.tag > li > img{
   width: 24px;
   height: 24px;
}
body ol.tag > li.ban,body ol.tag > li.tabu{
   background: #e10;
}
body ol.tag > li.warn{
   color: #000000;
   background: #fa0;
}
body ol.tag > li.safe{
   background: #1a0;
}
body ol.tag > li.note{
   background: #23e;
}
body ol.tag > li > svg , body ol.tag > li > img {
   width: 20px; height: 20px;
   margin-left: 4px;
}
body ol.tag > li:has(img , svg){
   padding-right: 8px;
}
body ol.tag > li.warn > span , body ol.tag > li.warn > svg {
   fill: #000000;
   color: #000000;
}
body ol.tag > li.ban > span,body ol.tag > li.tabu > span,body ol.tag > li.safe > span,
body ol.tag > li.ban > svg,body ol.tag > li.tabu > svg,body ol.tag > li.safe > svg,
body ol.tag > li.note > span , body ol.tag > li.note > svg , body ol.tag > li > svg{
   fill: #ffffff;
   color: #ffffff;
}
body ol.tag > li.safe > img, body ol.tag > li.ban > img,body ol.tag > li.tabu > img{
   filter: invert(1);
}
body ol.tag > li.ban.icon > svg,body ol.tag > li.tabu.icon > svg{fill:#e10;}
body ol.tag > li.warn.icon > svg{fill:#fa0;}
body ol.tag > li.safe.icon > svg{fill:#1a0;;}
body ol.tag > li.note.icon > svg{
   fill: #23e;
}
body ol.tag > li.icon{
   background: unset;
   aspect-ratio: 1/1;
   padding-left: unset;
   padding-right: unset;
}

ol.advantage{
   list-style: none;
   margin-bottom: 16px;
   margin-top: 16px;
}
ol.advantage > li {
   display: flex;
   align-items: center;
   margin-top: 8px;
   gap: 8px;
}
ol.advantage>li>svg, ol.advantage>li>svg, .advantage > li > img{
   width: 30px;
   height: 30px;
}
ol.advantage > li > span{
   font-weight: 400;
   line-height: 1.2;
}

.gallery.side-text > div > h1,
.gallery.side-text > div > h2,
.gallery.side-text > div > p{
    width: calc(100% - 34px);
    margin-left: 17px;
    padding-left: unset;
}

.action{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-left: 12px;
    width: calc(100% - 24px);
    margin-bottom: 12px;
    margin-top: 8px;
}
.action > button,
.action > a{
    min-height: 40px;
    color: #FFFFFF;
    background: #444444;
    display: flex;
    align-items: center;
    padding-left: 12px;
    border-radius: 16px;
    padding-right: 4px;
}
.action > button:first-of-type,
.action > a:first-of-type{
    background: #FFFFFF;
    color: #000000;
}
.action > button > span,
.action > a > span{
    font-weight: 600;
}
.action > button > svg,
.action > button > img,
.action > a > svg,
.action > a > img{
    height: 30px;
}

.action-simple {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding-left: 8px;
}
.action-simple > a{
    min-height: 40px;
    display: flex;
    align-items: center;
}
.action-simple > a > span {
    text-decoration: underline;
}

.action.secondary{
    margin-top: 20px;
    margin-bottom: 40px;
}
.action.secondary > a{
    background: transparent;
    border: 1px solid #ffffff;
    color: #FFFFFF;
}
.action.secondary > a > svg,
.action.secondary > a > img{
    filter: invert(1);
}

.grid-tile{
    display: grid;
    grid-template-columns: repeat(auto-fill , minmax(250px , 2fr));
    gap: 12px;
}

.grid-tile > div > ul {
    list-style: none;
    margin-left: 8px;
    margin-bottom: 12px;
}

.side-video > p,
.side-video > div >  p {
    font-size: 21px;
    white-space: pre-line;
}

form.canonical > h3{
   margin-left: 8px;
}
form.canonical > div.group{
   margin-bottom: 8px;
   position: relative;
   display: flex;
   justify-content: space-between;
}
form.canonical > div.group > textarea,
form.canonical > div.group > input{
   font-size: 17px;
   width: 100%;
   background: #000000;
   color: #ffffff;
   min-height: 40px;
   border-radius: 12px;
   border: unset;
   padding-left: 10px;
   padding-top: 12px;
}
form.canonical > div.group > textarea{
   min-height: 250px;
   padding-top: 21px;
   resize: vertical;
   max-height: 440px;
}
form.canonical > div.group > label{
   position: absolute;
   top: 2px;
   left: 24px;
   font-size: 13px;
   color: #ffffff;
   opacity: 0;
   z-index: 9;
}
form.canonical > div.group > input:focus::placeholder,
form.canonical > div.group > textarea:focus::placeholder{
  color: transparent;
}
form.canonical > div.group > textarea:focus~label,
form.canonical > div.group > input:focus~label{
   transition: 1s;
   opacity: 1;
}
form.canonical > div.group > input:focus{
   outline: 1px solid #ffaa00;
}
form.canonical > input[type="submit"]{
    min-height: 40px;
    color: #000000;
    font-size: 17px;
    padding-left: 12px;
    padding-right: 12px;
    border-radius: 16px;
    font-weight: 600;
}

.table-scroll{
   width: unset ;
   white-space: nowrap;
   max-width: 100vw;
   overflow-x: auto;
   display: flex;
   justify-content: space-around;
}
.table-scroll > table {
   margin-top: 12px;
   border-collapse: collapse;
}
.table-scroll > table > thead > tr > th {
   background: #000000;
   color: #ffffff;
}
.table-scroll > table > tbody > tr > td:first-of-type{
    max-width: 34vw;
}
.table-scroll > table > thead > tr > th,
.table-scroll > table > tbody > tr > td{
   height: 34px;
   padding-left: 12px; 
   padding-right: 12px;
   border-bottom: 1px solid #000000;
}
.table-scroll > table > tbody > tr > td > span{
   height:100%;
   display: flex;
   align-items: center;
   gap: 8px;
   padding-left: 12px;
   padding-right: 8px;
}
.table-scroll > table > tbody > tr > td > span > img {
   height: 80%;
}

.table-scroll-wrap{
   width: unset ;
   max-width: 100vw;
   overflow-x: auto;
   display: flex;
   justify-content: space-around;
}
.table-scroll-wrap > table {
   margin-top: 12px;
   border-collapse: collapse;
}
.table-scroll-wrap > table > thead > tr > th {
   background: #000000;
   color: #ffffff;
}
.table-scroll-wrap > table > thead > tr > th,
.table-scroll-wrap > table > tbody > tr > td{
   min-height: 34px;
   padding-left: 12px; 
   padding-right: 12px;
   border-bottom: 1px solid #000000;
}
.table-scroll-wrap > table > tbody > tr > td > span{
   height:100%;
   display: flex;
   align-items: center;
   gap: 8px;
   padding-left: 12px;
   padding-right: 8px;
}
.table-scroll-wrap > table > tbody > tr > td > span > img {
   height: 80%;
}

body ol.tag{
   display: flex;
   flex-wrap: wrap;
   list-style: none;
   padding-left: unset;
   margin: unset;
   gap: 4px;
   padding-left: 2px;
   margin-top: 24px;
   margin-bottom: 8px;
}
body ol.tag > li {
   font-size: 13px;
   background: #777777;
   color: #FFFFFF;
   min-height: 24px;
   display: flex;
   align-items: center;
   padding-left: 12px;
   padding-right: 10px;
   font-weight: 500;
   border-radius: 16px;
   text-transform: uppercase;
   font-weight: 700;
}
body ol.tag > li > img{
   width: 24px;
   height: 24px;
}
body ol.tag > li.ban,body ol.tag > li.tabu{
   background: #e10;
}
body ol.tag > li.warn{
   color: #000000;
   background: #fa0;
}
body ol.tag > li.safe{
   background: #1a0;
}
body ol.tag > li.note{
   background: #23e;
}
body ol.tag > li > svg , body ol.tag > li > img {
   width: 20px; height: 20px;
   margin-left: 4px;
}
body ol.tag > li:has(img , svg){
   padding-right: 8px;
}
body ol.tag > li.warn > span , body ol.tag > li.warn > svg {
   fill: #000000;
   color: #000000;
}
body ol.tag > li.ban > span,body ol.tag > li.tabu > span,body ol.tag > li.safe > span,
body ol.tag > li.ban > svg,body ol.tag > li.tabu > svg,body ol.tag > li.safe > svg,
body ol.tag > li.note > span , body ol.tag > li.note > svg , body ol.tag > li > svg{
   fill: #ffffff;
   color: #ffffff;
}
body ol.tag > li.safe > img, body ol.tag > li.ban > img,body ol.tag > li.tabu > img{
   filter: invert(1);
}
body ol.tag > li.ban.icon > svg,body ol.tag > li.tabu.icon > svg{fill:#e10;}
body ol.tag > li.warn.icon > svg{fill:#fa0;}
body ol.tag > li.safe.icon > svg{fill:#1a0;;}
body ol.tag > li.note.icon > svg{
   fill: #23e;
}
body ol.tag > li.icon{
   background: unset;
   aspect-ratio: 1/1;
   padding-left: unset;
   padding-right: unset;
}

.side-block{
    margin-top: 12px;
}

.action-wrap{
}
.action-wrap > a{
    min-height: 40px;
    padding-left: 12px;
    padding-right: 8px;
    margin-top: 8px;
    margin-left: 4px;
    display: inline-flex;
    align-items: center;
    border-radius: 16px;
}
.action-wrap > a > img{
    height: 40px;
    width: 40px;
}

.action-wrap > .circle-action {
    display: flex;
    align-items: center;
    margin-top: 12px;
    gap: 8px;
    margin-left: 8px;
    width: calc(100% - 16px);
}
.action-wrap > .circle-action > a {
    aspect-ratio: 1 / 1;
    min-width: 40px;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
}

.action-line,
.action-list{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.action-list > a,
.action-line > a{
    width: 100%;
    min-height: 40px;
    padding-left: 8px;
    padding-right: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.action-list > a > img,
.action-line > a > img{
    height: 30px;
}

.gallery-card.contain > img{
    object-fit: contain;
    max-height: inherit;
    aspect-ratio: 1/1;
}

article {
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;

}
article h1 {
    width: max-content;
    margin-left: auto;
    margin-top: unset;
    margin-bottom: 0.125rem;
    margin-right: auto;
    font-size: 2.75rem;
}
article > div:first-of-type span:first-of-type,
article > section:first-of-type span:first-of-type{
    display: block;
    margin-top: 0.6rem;
    margin-bottom: 0.6rem;
    width: max-content;
    text-transform: uppercase;
    font-size: 0.875rem;
    margin-left: auto;
    margin-right: auto;
    font-weight: 700;
}
article dl,
article p {
    font-size: 1.15rem;
    line-height: 1.55;
    letter-spacing: -0.01em;
}
article > h2 {
    font-family: decor-manrope , system-ui , sans-serif;
    font-size: 27px;
    line-height: 29px;
    text-align: center;
}
article .action-simple{
    width: max-content;
    margin-left: auto;
    margin-right: auto;
}
article > img{
    margin-top: 12px;
    margin-bottom: 12px;
}
article > section ~ span{
    text-transform: capitalize !important;
    margin-right: unset;
    margin-left: auto;
    width: max-content;
    display: block;
    padding-top: 0.4rem;
    padding-bottom: 0.2rem;
}

article > .table-scroll-wrap > table > thead > tr,
article > .table-scroll-wrap > table > tbody > tr,
article > .table-scroll-wrap > table > thead > tr > th,
article > .table-scroll-wrap > table > tbody > tr > td{
    font-size : 18px;
    padding-top: 7px;
    padding-bottom: 5px;
    width: 50%;
}
article > .table-scroll-wrap > table > tbody > tr:nth-child(2n) > td:last-of-type{
    background: #444444;
}
article > .table-scroll-wrap > table > tbody > tr > td{
    background: unset;
    border-bottom: 1px solid #777777;
}
article > .table-scroll-wrap > table > thead > tr > th{
    background: unset;
    border-bottom: 2px solid #FFFFFF;
} 
article p > a:any-link{
    color: #7af;
    text-decoration: underline;
}
article > dl{
    font-size: 18px;
}
article > dl > dt {
    font-weight: 700;
}
article > dl > dd{
    border-left: 2px solid #777777;
    padding-left: 12px;
    font-weight: 400;
}
article video {
    border-radius: 12px;
    border: 1px solid #444444;
    margin-top: 20px;
}

.fullscreen-text-side h1,
.fullscreen-text-side p{
    text-align: center;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.fullscreen-text-side h1{
    max-width: 600px;
}
.fullscreen-text-side p{
    max-width: 600px;
}

.text-side > div > h1,
.text-side > div > p,
.text-side > div > div{
    max-width: 450px;
    width: 90%;
}
.text-side > div > h1,
.text-side > div > p{
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.text-side > div > p{
    font-size: 1.15rem;
    line-height: 1.55;
    letter-spacing: -0.01em;
}
.text-side > div > a {
    justify-content: center;
    display: flex;
    align-items: center;
    min-height: 40px;
    color: #ffffff;
    text-decoration: underline;
}
.text-side > div > a > img{
    filter: invert(1);
}

main ul.contact-list {
    font-size: 1.15rem;
    line-height: 1.55;
    letter-spacing: -0.01em;
    margin-top: 12px;
    margin-bottom: 20px;
}
main ul.contact-list > li {
    list-style: none;
}
main ul.contact-list > li > a:any-link   {
    color: #7af;
    text-decoration: underline;
}
main ul.contact-list ~ img {
    float: right;
    max-width: 650px;
    border-radius: 12px;
    border: 1px solid #ffffff;
}

section#filter > form{
    margin-bottom: 20px;
    margin-top: 10px;
}
section#filter > form > legend {
    margin-bottom: 10px;
}
section#filter > .action{
    display: flex;
    align-items: center;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    gap: 8px;
    margin-bottom: 20px;
    margin-top: 8px;
}
section#filter > .action > button{
    font-size: 19px;
    background: #FFFFFF;
    color: #000000;
}
section#filter > .action > button.secondary{
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
    background: unset;
}
section#filter > .action > button.secondary > img {
  filter: invert(1);
}
form#filter-price > .group > .group{
    position: relative;
    margin-bottom: 20px;
}
form#filter-price > .group > .group > input{
    width: 350px;
    max-width: calc(100vw - 24px - 12px);
    margin-left: 12px;
    min-height: 40px;
    border-radius: 16px;
    color: #000000;
    font-size: 19px;
    padding-left: 12px;
}
form#filter-price > .group > .group > input + label {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 14px;
    transform: translate(12px , -90%);
    opacity: 0;
    transition: 0.7s;
}
form#filter-price > .group > .group > input:hover + label,
form#filter-price > .group > .group > input:focus + label{
    opacity: 1;
}

#filter-type > .group-wrap > span{
    display: inline-flex;
    min-height: 30px;
    position: relative;
}
#filter-type > .group-wrap > span > input {
    opacity: 0;
    position: absolute;
}
#filter-type > .group-wrap > span > input:checked + label{
    background: #FFFFFF;
    color: #000000;
}
#filter-type > .group-wrap > span > label{
    background: #777777;
    padding-left: 12px;
    padding-right: 12px;
    margin-left: 8px;
    margin-top: 8px;
    border-radius: 16px;
    min-height: 30px;
    display: flex;
    align-items: center;
}
#filter-type > .group-wrap > span > label > span{
    font-size: 19px;
    transform: translate(0,-1px);
}

section#product{
    margin-bottom: 120px;
}
section#product > .grid-tile-product {
    display: grid;
    grid-template-columns: repeat(auto-fill , minmax(275px , 2fr));
    gap: 8px;
}
section#product > .grid-tile-product > a{
    display: block;
    min-width:100%;
}
section#product > .grid-tile-product > a > img{
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
}
section#product > .grid-tile-product > a > span{
    display: block;
    font-size:27px;
    font-weight: 600;
    line-height: 1.05;
    padding-left: 8px;
    color: #FFFFFF;
}
section#product > .grid-tile-product > a > span > span.title{
    display: flex;
    align-items: center;
    width: 100%;
}
section#product > .grid-tile-product > a > span > span.value{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 21px;
    font-weight: 700;
    height: 30px;
}
section#product > span{
    display: flex;
    align-items: center;
    min-height: 30px;
    opacity: 0.7;
    gap: 4px;
    justify-content: center;
}

section#product-side-text > .gallery-shift{
    display: flex;
    width: 50%;
    flex-direction: row-reverse;
    gap: 12px;
    position: relative;
}
section#product-side-text > .gallery-shift > video,
section#product-side-text > .gallery-shift > img{
    display: none;
}
section#product-side-text > .gallery-shift > video.active,
section#product-side-text > .gallery-shift > img.active{
    background: #777777;
    display: block;
    width: 80%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    object-fit: contain;
}
section#product-side-text > .gallery-shift > .shift-gallery{
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    gap: 12px;
    max-width: 80px;
    max-height: 650px;
}
section#product-side-text > .gallery-shift > .shift-gallery > img{
    border-radius: 8px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}
section#product-side-text > .gallery-shift > .shift-gallery > video.active,
section#product-side-text > .gallery-shift > .shift-gallery > img.active{
    opacity: 0.5;
    display: block;
}
section#product-side-text > .gallery-shift > .shift-gallery > video{
    background: #ffffff;
    position: relative;
    display: block;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover;
    border-radius: 8px;
    max-height: 80px;
    background-image: url(/lib/icon/play.svg);
    filter: invert(100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
    transition: 1s;
}
section#product-side-text > .gallery-shift > .shift-gallery > video:hover {
    background-size: 80%;
    cursor: pointer;
}
section#product-side-text > .text{

}
section#product-side-text > .text > ul,
section#product-side-text > .text > h1,
section#product-side-text > .text > h2,
section#product-side-text > .text > p{
    margin-left: 12px;
}
section#product-side-text > .text > ul {
    list-style: none;
}
section#product-side-text > .text > ul > li {
    margin-bottom: 6px;
    margin-left: 12px;
    font-size: 19px;
    font-weight:600;
}
section#product-side-text > .text > span{
    opacity: 0.5;
    display: flex;
    width: max-content;
    margin-left: auto;
    font-size: 14px ;
    text-transform: uppercase;
    font-weight: 600;
}
section#product-side-text > .text > .action,
section#product-side-text > .text > .action-wrap,
section#product-side-text > .text > .action-line,
section#product-side-text > .text > .action-list,
section#product-side-text > .text > .action-simple{
    margin-bottom: 18px;
}

#popup{display: none;}
#popup.active{display: flex;}
#popup > button{
    background: transparent;
    width: 40px;
    height: 40px;
    position: absolute;
    right: 0;
    top:0;
}

span.consent{
  display: flex;
  min-height: 30px;
  align-items: center;
  gap: 8px;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}
span.consent > span.title{
    color: #777777;
    display: flex;
    max-width: 80vw;
    line-height: 1;
    margin-bottom: 10px;
}
span.consent > span.value{
    font-weight: 700;
}

header > a{
    display: flex;
    align-items: center;
    min-height: 40px;
}
header > a > img{
    height: 30px;
    width: 30px;
}
header > a > span{
    font-weight: 600;
    color: #FFFFFF;
}
header > a.back > img {
    transition: 1s;
    transform:  scale(-0.7) !important;
}
header > a.back > img:hover {
    transform: translate(-10px , 0) scale(-0.7) !important;
}

@media screen and (max-width: 300px){
    html{font-size: 17px;}
    html body h1 {
        font-size: 28px !important;
        word-break:normal;
    }
    html body h2{
        font-size: 23px !important;
    }
    section#product > .grid-tile-product > a > span,
    html body h3 {
        font-size: 20px !important;
    }
    html body p,
    html body ul > li,
    html body button,
    html body input,
    html body h4 {
        font-size: 17px !important;
    }
    .action-wrap > a,
    .action-list > a, .action-line > a{
        line-height: 1.1;
        padding-top: 8px;
        padding-bottom: 7px;
    }
    .action,
    .action-wrap{
        gap: 8px;
        width: 100%;
        margin-left: 8px;
    }
    .action > a,
    .action-wrap > a{
        width: calc(100vw - 40px);
        height: 30px;
        justify-content: space-between;
    }
    .action-wrap > a > img,#product-side-text .action-wrap > a > svg{
        height: 30px;
        width: 30px;
    }
    .circle-action{
        flex-wrap: wrap;
    }
    .circle-action > span{
        display: block;
        width: 100%;
    }
    .bottom-bar.scroll{
        display: flex;
        overflow-x: auto;
        gap: 12px;
    }
    .bottom-bar.scroll > a {
        min-width: max-content;
    }
    header > button{
        display: none;
    }
}

@media screen and (max-width: 720px){
    form,
    body,
    html{
        max-width: 100vw;
        overflow-x: hidden;
    }
    header > nav.bottom-bar {
        display: flex;
        position: fixed;
        justify-content: space-around;
        bottom: 0;
        left: 0;
        width: 100%;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        background: inherit;
        height: 85px;
        border-top: 1px solid #444455;
        z-index: 9;
    }
    header > nav.bottom-bar > a{
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        justify-content: flex-end;
        padding-top: 8px;
        color: #FFFFFF;
        position: relative;
    }

    header > nav.bottom-bar > a > svg {
        width: 40px;
        height: 40px;
    }
    header > nav.bottom-bar > a > span {
        font-size: 18px;
        transform: translateY(-4px);
    }

    form.canonical > div.group > textarea,
    form.canonical > div.group > input{
        width: calc(100vw - 16px);
        margin-left: 8px;
    }

    article h1 {
        font-size: 31px;
    }
    article > h2{
        font-size: 23px;
    }
    article p ,
    article b {
        margin-left: unset;
        margin-right: unset;
    }
    article p{
        font-size: 18px;
        line-height: 24px;
    }
    article.short-text > p,
    article.short-text > h2,
    article.short-text > table,
    article.short-text > ul,
    article.short-text > dl,
    article.short-text > .table-scroll-wrap{
        max-width: 640px;
        margin-left: 20px;
        margin-right: 20px;
    }
    article > section ~ span{
        max-width: calc(100vw - 40px);
        margin-left: 20px;
    }

    section#filter > button{
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% - 24px);
        margin-left: 12px;
        min-height: 40px;
        border-radius: 16px;
    }
    section#product > .grid-tile-product{
        grid-template-columns: repeat(2 , 1fr);
    }
    section#product > .grid-tile-product > a > span > span.title{
        font-size: 19px;
        letter-spacing: -0.02em;
        transform: translate(0,4px);
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    section#product-side-text{
        gap: 12px;
    }

    section#product-side-text > .gallery-shift{
        flex-direction: column;
        width: 100%;
    }
    section#product-side-text > .gallery-shift > video.active,
    section#product-side-text > .gallery-shift > img.active{
        width: 100%;
        border-radius: unset;
        aspect-ratio: 1 / 1;
    }
    section#product-side-text > .gallery-shift > .shift-gallery{
        flex-direction: row;
        width: 100%;
        max-width: calc(100vw - 24px);
        max-height: 80px;
        overflow-y: hidden;
        overflow-x: auto;
        padding-left: 12px;
        padding-right: 12px;
    }
    section#product-side-text > .gallery-shift > .shift-gallery > img,
    section#product-side-text > .gallery-shift > .shift-gallery > video {
        min-width: 80px;
        width:80px;
    }

    section#recommend > .grid-tile-product{
        display: grid;
        grid-template-columns: repeat(2 , 1fr);
    }
    section#recommend > .grid-tile-product > a > img {
        aspect-ratio: 1/1;
        width: 100%;
        object-fit: cover;
    }
    main ul.contact-list ~ img {
        max-width: unset;
        width: 100%;
        border-radius: unset;
        float: none;
    }
}
@media screen and (min-width: 721px) and (max-width: 1340px){
    .gallery.side-text {
        display: flex;
        flex-direction: column;
    }
    .gallery.side-text > img{
        width: 100%;
        max-width: unset !important;
    }
    .side-block,
    .side-video{
        display: block !important;
    }
    .side-block > form{
        min-width: 40ch;
    }
}

@media screen and (min-width : 721px){
    .minimal,
    .short{
        margin-left: auto;
        margin-right: auto;
        width: calc(100% - 44vw);
    }

    article.short,
    article.minimal{
        width: 74ch;
    }
    article > .table-scroll-wrap{
        max-width: 64ch;
    }

    article.short-text > p,
    article.short-text > h2,
    article.short-text > table,
    article.short-text > video,
    article.short-text > ul,
    article.short-text > dl,
    article.short-text > .table-scroll-wrap{
        display: block;
        width: 640px;
        margin-left: auto;
        margin-right: auto;
    }
    article.short-text > .gallery-card{
        width: 640px;
    }

    .fullscreen-text-side{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 100vh;
        width: 100vw;
        height: 100vh;
    }
    .fullscreen-text-side > div {
        width: 100%;
        height: 100%;
        position: relative;
        display: flex;
        flex-direction: column;
    }
    .fullscreen-text-side div.center{
        margin-top: auto;
        margin-bottom: auto;
    }
    .fullscreen-text-side > div > div > h1,
    .fullscreen-text-side > div > div > span,
    .fullscreen-text-side > div > div > p,
    .fullscreen-text-side > div > div > div{
        width: max-content;
        margin-left: auto;
        margin-right: auto;
    }
    .fullscreen-text-side > img {
        object-fit: cover;
        height: 100%;
    }

    .gallery-profile, .gallery-card {
        max-height: 450px;
        overflow-y: hidden;
        border-radius: 16px;
        margin-bottom: 1em;
        margin-top: 1.8em;
    }
    .gallery-card > img {
        border-radius: 16px;
    }

    .action-list > a,
    .action-line > a{
        max-width: 350px;
    }

    .grid-tile > div {
        border-radius: 24px;
    }

    form.canonical > div.group > textarea,
    form.canonical > div.group > input{
        width: 45ch
    }

    .side-video{
        display: flex;
        gap: 12px;
    }
    .side-video > video{
        min-width: 40%;
    }

    .text-side {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .text-side > div {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
    }
    .text-side > img{
        border-radius: 12px;
        border: 1px solid #777777;
    }

    header > nav {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    header > nav > a{
        min-height: 40px;
        display: flex;
        align-items: center;
        gap: 4px;
    }
    header > nav > a > svg{
        width: 40px;
        height: 40px;
        transform: scale(0.8);
    }
    header > nav > a > span {
        font-size: 22px;
        font-variant: small-caps;
        text-transform: uppercase;
        font-weight: 600;
        color: #FFFFFF;
    }

    .gallery.side-text{
        display: flex;
    }

    .side-block {
        display: flex;
    }
    .side-block > form{
        width: 40%;
    }

    .action-list > a,
    .action-line > a{
        width: 100%;
        border-radius: 16px;
    }

    section#filter > button{
        display: inline-flex;
        margin-right: 8px;
        align-items: center;
        margin-left: auto;
        width: max-content;
        padding-left: 12px;
        padding-right: 12px;
        min-height: 40px;
        border-radius: 16px;
    }

    section#product > .grid-tile-product > a > img{
        border-radius: 24px;
    }
    section#product > .grid-tile-product > a:focus{
        background: #000;
        border-radius: 24px;
    }
    section#product > .grid-tile-product > a > span > span.title{
        padding-top: 8px;
        font-size: 24px;
        letter-spacing: -0.02em;
        transform: translate(0,0px);
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    section#product > .grid-tile-product > a > span > span.value{
        font-size: 27px;
        margin-bottom: 8px;
        margin-left: 8px;
    }

    section#product-side-text{
        gap: 34px;
    }
    section#product-side-text > .gallery-shift {
        min-width: 550px;
    }
    section#product-side-text > .gallery-shift > video.active, section#product-side-text > .gallery-shift > img.active{
        background: #000000;
    }
    section#product-side-text > .gallery-shift > .shift-gallery{
        min-width: 80px;
    }
    section#product-side-text > .gallery-shift > .shift-gallery > img{
        aspect-ratio: 1 / 1;
        width: 100%;
        height: unset;
    }
    section#product-side-text{
        display: flex;
    }
    section#product-side-text > .text > ol.tag{
        margin-top: 8px;
        margin-bottom: 0px;
        margin-left: 8px;
    }
    section#recommend > .grid-tile-product{
        display: grid;
        grid-template-columns: repeat(4 , 1fr);
    }
    section#recommend > .grid-tile-product > a{
        border-radius: 16px;
    }
    section#recommend > .grid-tile-product > a > img{
        width: 100%;
        aspect-ratio: 1/1;
        object-fit: contain;
    }
}