:root {
    --font-extra-large: clamp(40px, 5vw, 72px);
    --font-h1: clamp(36px, 3.1vw, 54px);
    --font-h2: clamp(24px, 2.8vw, 42px);
    --font-middle-large: clamp(22px, 2.4vw, 36px);
    --font-center: clamp(20px, 2vw, 30px);
    --font-h3: clamp(18px, 1.8vw, 24px);
    --font-body-large: clamp(16px, 1.4vw, 20px);
    --font-body: clamp(14px, 1.2vw, 16px);
    --font-small: clamp(12px, 1vw, 14px);

    --bg-light: #f8f9fa;
    --bg-dark: #1a1a1a;
    --bg-muted: #f5f1eb;
    --bg-accent: #fff5f5;
}

h1 { font-size: var(--font-h1) !important; }
h2 { font-size: var(--font-h2) !important; }
h3 { font-size: var(--font-h3) !important; letter-spacing: 2px;}
body { font-size: var(--font-body); line-height: 1.6; }

body p,body span, body a{
    font-size: var(--font-body);
}
strong,b{
    font-weight: 700 !important;
}
.bg-muted{
    background-color: var(--bg-muted);
}
.bg-gradient-primary{
    background: linear-gradient(to left, var(--fs-color-primary), var(--fs-color-secondary));
}
.title-section{
    position: relative;
    margin-bottom:25px;
    letter-spacing:5px !important;
}
.title-banner{
    margin-bottom:30px !important;
    letter-spacing:5px !important;
}
.sub-title-top{
    color: var(--fs-color-secondary);
    font-family: "Playfair Display", sans-serif !important;
    font-size: var(--font-body-large);
    letter-spacing:7px;
    margin-bottom:10px;
}
a.button{
    letter-spacing:3px;
}
.button-cta:after{
    content:"\f30b";
    font-family: "Font Awesome 6 Free";
    font-size: var(--font-body);
}
.section-final-cta .button.button-cta.white{
    border-color:#fff;
}
.section-final-cta .button.button-cta.white span,
.section-final-cta .button.button-cta.white:after{
    color:#fff;
}
.section-final-cta .button.button-cta.white:hover span,
.section-final-cta .button.button-cta.white:hover:after{
    color:var(--fs-color-primary);
}
.product-small .box-text-products .category{
    font-size: var(--font-small);
}
.product-small .box-text-products .product-title a{
    font-size: var(--font-body-large);
    font-family: "Playfair Display", sans-serif;
    letter-spacing: 3px;
    color: var(--fs-color-secondary);
}
/* footer */
.section-footer {
    border-top:1px solid var(--fs-color-secondary);
}
.section-footer .menu-footer-horizontal{
    flex-direction: row;
    flex-wrap: wrap;
    border-bottom:1px solid var(--fs-color-secondary);
    padding-bottom:15px;
}
.section-footer .menu-footer-horizontal .ux-menu-link{
    margin-right:15px !important;
}
.section-footer .menu-footer-horizontal .ux-menu-link span{
    padding-right: 15px;
}
.section-footer .menu-footer-horizontal>.ux-menu-link:not(:last-child) span{
    border-right: 1px solid var(--fs-color-secondary);
}
/* archive  */
.archive-page-header{
    height:20vh;
    overflow:hidden;
    margin-bottom:20px;
    position:relative;
}
.archive-page-header .text-box-inner-banner{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width:100%;
}
.archive-page-header .text-box-inner-banner h1{
    margin:0;
}
.custom-article-single-inner-list{
    margin-bottom:35px;
}
.custom-article-single-inner-list .article-thumbnail a{
    width:100%;
    display:inline-block;
}
.custom-article-single-inner-list .article-thumbnail a img{
    width:100%;
    object-fit: cover;
    height:400px;
}
.custom-article-single-inner-list .article-meta {
    color: var(--fs-color-primary);
    font-style:italic;
    margin:15px 0 10px;
}
.custom-article-single-inner-list .article-content h2.article-title a{
    font-size: var(--font-h2);
    letter-spacing: 3px;
}
.custom-article-single-inner-list .article-content .button-view-more{
    margin-top:15px;
}
.custom-article-single-inner-list .article-content .button-view-more a{
    text-transform:none;
    position:relative;
    transition: .3s ease
}
.custom-article-single-inner-list .article-content .button-view-more a:after{
    content: "\f178";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    display: inline-block;
    margin-left: 6px;

    opacity: 0;
    transform: translateX(-6px);
    display:none;
    transition: 
        opacity .3s ease,
        transform .3s ease;
}
.custom-article-single-inner-list .article-content .button-view-more a:before{
    content:"";
    height:2px;
    width:0;
    position:absolute;
    background: var(--fs-color-primary);
    bottom:0;
    left:0;
    transition:.3s ease;
}
.custom-article-single-inner-list .article-content .button-view-more a:hover:after{
    opacity: 1;
    display: inline-block;
    transform: translateX(4px);
}
.custom-article-single-inner-list .article-content .button-view-more a:hover{
    padding:0;
    border:none;
    background: none;
    color:var(--fs-color-primary);
}
.custom-article-single-inner-list .article-content .button-view-more a:hover:before{
    width:100%;
}
.section-banner-category-page {
    height:20vh;
    position:relative;
}
.section-banner-category-page .text-box-banner-shop-page{
    top:50%;
    transform: translateY(-50%);
    position:absolute;
}
.section-banner-category-page .text-box-banner-shop-page .page-title-inner{
    padding-top:0;
}
.section-banner-category-page .text-box-banner-shop-page .page-title-inner *{
    color:#fff;
}
.section-banner-category-page .text-box-banner-shop-page .page-title-inner .woocommerce-breadcrumb{
    font-size: var(--font-body);
}