/*
Theme Name: Bahamas
Theme URI: https://www.emmepubblicita.com/
Author: Web Agency Emmè
Author URI: https://www.emmepubblicita.com/
Description: Starter Theme Wordpress
Version: 2.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bahamas

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ! Reset */
body, html{ font-size: 16px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; box-sizing: border-box;margin: 0;padding: 0;}
*,*:before,*:after{ box-sizing: border-box; }
h1,h2,h3,h4,h5,h6, p, ol, ul{margin: 0;padding: 0;}
ol,ul{padding-left: 20px;}
img{height: auto;}
a{text-decoration: none;}
hr{border:none; border-bottom: 1px solid #000}


html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  line-height: 1.46;
  font-size: 15px;
  font-weight: 400;
  position: relative;
  color: var(--site-text-color);
  font-family: var(--body-font);
  overflow-x: hidden;
}

strong {
	font-weight:700;
}

h1,h2,h3,h4,h5,h6,.main-title,.sub-title,.title, .tit, .h1, .has-h-1-font-size, .h2, .has-h-2-font-size, .h3, .has-h-3-font-size, .h4, .has-h-4-font-size, .h5, .has-h-5-font-size, .h6, .has-h-6-font-size{
  line-height: 1.2;
  color: var(--site-title-color);
  font-family: var(--heading-font);
  font-weight: 600;
  position: relative;
}

/* ! Title System */
h1, h2, h3, h4, h5, h6, p, ol, ul{margin-bottom: 1rem;}

h1, .main-title, .h1, .has-h-1-font-size {font-size: 48px;  }
h2, .sub-title, .h2, .has-h-2-font-size{font-size: 36px;}
h3, .title, .h3, .has-h-3-font-size{font-size: 28px;}
h4, .tit, .h4, .has-h-4-font-size{font-size: 24px;}
h5, .h5, .has-h-5-font-size{font-size: 20px;}
h6, .h6, .has-h-6-font-size{font-size: 18px;}


@media (max-width: 768px) {
  h1, .main-title, .h1, .has-h-1-font-size {font-size: 40px; }
  h2, .sub-title, .h2, .has-h-2-font-size{font-size: 32px;}
  h3, .title, .h3, .has-h-3-font-size{font-size: 28px;}
  h4, .tit, .h4, .has-h-4-font-size{font-size: 24px;}
  h5, .h5, .has-h-5-font-size{font-size: 20px; }
  h6, .h6, .has-h-6-font-size{font-size: 18px; }
}


/* Link color */
a { color: #333 }
a:hover { color: var(--link-color-hover); text-decoration: none; }

.clearfix, .cleared {
  clear: both;
}

ul {
  list-style-position: outside;
  padding-left: 20px;
}


.btn, .form .btn, .wp-block-buttons .wp-block-button a.wp-block-button__link, input[type="submit"] {
  display: inline-block;
  color: #ffffff;
  transition: all .3s ease-in-out;
  background-color: var(--link-color);
  border-radius: 0px;
  border: 1px solid transparent;
  padding: 14px 30px;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.46px;
}

.wp-block-buttons .wp-block-button.is-style-outline a.wp-block-button__link {
  background-color: transparent;
  color: #fff;
  border-color: inherit;
}

.btn:hover, .form .btn:hover, .wp-block-buttons .wp-block-button a.wp-block-button__link:hover, .wp-block-buttons .wp-block-button.is-style-outline a.wp-block-button__link:hover, input[type="submit"]:hover {
  background: var(--link-color-hover);
  border-color: var(--link-color-hover);
  color: #fff;
}



input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], input[type="date"], textarea, select {
  border: none;
  background-color: #F8F8F8;
  padding: 0 15px;
  height: 44px;
  box-sizing: border-box;
  width: 100%;
  border-radius: 0;
  font-family: var(--body-font);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #2A292970;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

textarea {
  height: 80px;
  line-height: 1.6;
  padding: 10px;
}

select {
  background-image: url('data:image/svg+xml,<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 6L8.5 10L12.5 6" stroke="%231E1E1E" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position-x: calc(100% - 15px);
  background-position-y: 15px;
}

input:focus, textarea:focus {
  outline: none;
}

input[type="search"] {
  width: auto;
}

.form .field {
  margin-bottom: 20px;
}

span.wpcf7-list-item {
  display: inline-block;
  margin: 0;
}

.wpcf7-spinner {
  position: absolute;
}

.wpcf7-form-control-wrap.privacy label,
.wpcf7-form-control.wpcf7-acceptance {
  font-size: 17px;

}

.wpcf7-not-valid-tip{
  z-index: 1;
  font-size: 10px;
  text-align: left;
  position: absolute;
  bottom: -12px;
  left: 15px;
  background: transparent;
  right: 15px;
  box-sizing: border-box;
  padding: 0.5px;
}

.privacy{
	margin: 10px 0;
  font-weight: 400;
  color: var(--site-text-color);

}

.privacy a {
  color: var(--site-text-color);
  text-decoration: underline;
}

.privacy .wpcf7-not-valid-tip {
  position: relative;
  top: 0;
  bottom: 0;
  left: auto;
  right: auto;
  text-align: inherit; 
}
.wpcf7-form-control-wrap label {
  font-weight: 400;
  color: var(--site-text-color);
}

.wpcf7-not-valid {
  border: 1px solid red !important;
  display: inline-block;
}

.wpcf7-form-control.wpcf7-acceptance.wpcf7-not-valid {
  border: none !important;
}

.wpcf7-response-output {
  max-width: 868px;
  margin: 30px auto 0 !important;
  border: none !important;
  color: red;
  text-align: center;
}

label {
  color: var(--site-title-color);
  font-family: var(--body-font);
  font-size: 16px;
  font-style: normal;
  display: block;
  margin: 0 0 5px;
  font-weight: 600;
  line-height: normal;
}



.dis, .privacy label {
  color: #000;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
}
.privacy label a {
  color: #000;
}



.wpcf7-not-valid {
  border: 1px solid red !important;
  display: inline-block;
}

/* Per Webkit (Chrome, Safari, Edge) */
::-webkit-input-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per Mozilla Firefox */
::-moz-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per Internet Explorer 10-11 */
:-ms-input-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per Microsoft Edge (Legacy) */
::-ms-input-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per i browser più moderni */
::placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}






.header {
  position: sticky;
  z-index: 100;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
  top: 0;
}


.admin-bar .header{
	top:32px;
}

.page-template-menu-trasparent .header {
  background: transparent !important;
  position: fixed;
  left: 0;
  right: 0;
}



#logo {
  position: relative;
  z-index: 50;
}

#logo img {
  padding: 30px 0;
  height: 52px;
  width: auto;
  display: block;
  box-sizing: content-box;
}

.header .corp {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navigator {
  margin-left: auto;
  margin-right: 10px;
}

.navigator .menu {
  margin: 0;
  padding: 0;
  z-index: 110;
  position: relative;
}

.navigator .menu li {
  display: inline-block;
  position: relative;

}

.navigator .menu li a {
  padding: 0 20px;
  color: var(--site-title-color);
  display: block;
  text-decoration: none;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}


.page-template-menu-trasparent .navigator .menu li a { 
  color: #fff;
}

.navigator .menu li a:hover,
.navigator .menu li.current_page_item>a {
  /*! color: var(--link-color-hover); */
}


.navigator .menu ul {
  display:none;
  position: absolute;
  padding: 0;
  left:0;
  width: 200px;
  transition: all 0.6s cubic-bezier(.215, .61, .355, 1);
  box-shadow: 0 9px 68px 0 rgba(38, 43, 43, 0.1);
  background: #fff;
  top: 40px;
}
.navigator .menu li:hover ul,
.navigator .menu li:focus-within ul {
  display:block;
  z-index: 300;
}
.navigator .menu ul li { 
  width: 100%;
  display:block;	
}

.navigator .menu ul li a {
  line-height: 20px;
  display: block;
  padding: 10px 20px;
  font-size: 15px;
  color: #000;
  text-align: left;
}

.navigator .menu ul li a:hover{
  background-color: #f5f5f5;
}


.navigator .menu > li.menu-item-has-children > a {
  position: relative;
  padding-right: 28px;
}

.navigator .menu > li.menu-item-has-children > a::after {
  content: " ";
  width: 30px;
  height: 30px;
  background-size: 30px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: rotate(90deg);
  margin-top: -17px;
  background-size: 100%;
  background-image: url('data:image/svg+xml;utf8,<svg width="50px" height="50px" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M22.7 34.7l-1.4-1.4 8.3-8.3-8.3-8.3 1.4-1.4 9.7 9.7z"/></svg>');
}


.footer {
  padding-top: 60px;
  padding-bottom: 60px;
  color:#fff;
}

.footer h4, .footer .tit {
  font-size: 21px;
  margin: 0 0 18px;
  text-transform: uppercase;
  color: #fff;
}

.footer a {
  color: #fff;
}

.footer a:hover, 
.credit a:hover {
text-decoration: underline;
}

.footer ul {
  padding-left: 10px;
}

.credit {
  color: #999;
  text-align: center;
  padding: 15px 0 10px;
  font-size: 11px;
}

.credit a{
  color: #999;
}

.credit p {
  margin: 0;
}

.contenuto img {
  max-width: 100%;
  height: auto;
  display: block;
}

.page-hero {
  padding: 150px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  position: relative;
}
.page-hero .main-title {
  margin: 0;
}

.whatsapp-button {
  background: #42e35f;
  color: #fff;
  width: 50px;
  height: 50px;
  display: flex;
  border-radius: 100%;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 30px;
  bottom: 30px;
  cursor: pointer;
  z-index: 200;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
} 
.whatsapp-button:hover {
  transform: scale(1.1);
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.4);
}




.page-id-10 .field, .page-id-10 .col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
.page-id-10 .form.row .center {
  text-align: left;
}


.btn-search img {
  padding: 10px;
}
.btn-catalogo-prodotti a:after {
  content: "";
  background: url('data:image/svg+xml,<svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.1875 1.63281L8.47266 8.06641C8.26172 8.24219 8.05078 8.3125 7.875 8.3125C7.66406 8.3125 7.45312 8.24219 7.27734 8.10156L0.527344 1.63281C0.175781 1.31641 0.175781 0.753906 0.492188 0.4375C0.808594 0.0859375 1.37109 0.0859375 1.6875 0.402344L7.875 6.30859L14.0273 0.402344C14.3438 0.0859375 14.9062 0.0859375 15.2227 0.4375C15.5391 0.753906 15.5391 1.31641 15.1875 1.63281Z" fill="white"/></svg>');
  display: block;
  width: 16px;
  height: 18px;
  background-repeat: no-repeat;
  position: relative;
  margin-top: 0px;
  margin-bottom: -10px;
}
.btn-catalogo-prodotti a {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.banner-chi-siamo {
  background-position: -1080px 50% !important;
}
@media screen and (max-width: 768px) {
  .banner-chi-siamo {
    background-position: -650px 100% !important;
    background-size: 250% !important;
  }
}


/* ! Loader spinner */
#spinner {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}

.lds-dual-ring {
  display: inline-block;
  width: 64px;
  height: 64px;
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 46px;
  height: 46px;
  margin: 1px;
  border-radius: 50%;
  border: 5px solid #999;
  border-color: #999 transparent #999 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* ! Product category */


.product-category-hero {
  background-color: #F7F7F7;
  padding-top: 90px;
  padding-bottom: 90px;
  text-align: center;
  background-image: url('data:image/svg+xml,<svg width="1920" height="342" viewBox="0 0 1920 342" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_4214_464)"><rect width="1920" height="342" fill="%23F7F7F7"/><path d="M1072 -657.5C1096.37 -657.5 1118.83 -645.371 1140.68 -619.901L1140.68 -619.9C1161.27 -595.986 1180.55 -561.207 1199.8 -513.406V-513.405C1235.96 -423.337 1265.58 -300.533 1294.19 -181.693V-181.692C1323.02 -62.1334 1352.85 61.6245 1389.67 153.445C1406.54 195.507 1423.84 228.384 1442.21 253.242C1439.15 257.308 1436.06 261.147 1432.94 264.766L1432.94 264.768C1407.3 294.576 1379.01 309.5 1348.78 309.5C1318.56 309.5 1290.27 294.576 1264.62 264.768H1264.62C1242.5 239.027 1222 202.262 1201.86 152.325C1167.43 66.4743 1139.1 -47.4501 1111.92 -159.928L1106.5 -182.396C1078.36 -299.306 1049.17 -420.363 1013.68 -510.266L1011.99 -514.522C1000.97 -542.001 989.852 -565.268 978.438 -584.694C986.569 -598.37 994.835 -610.056 1003.31 -619.9C1025.16 -645.294 1047.63 -657.5 1072 -657.5ZM1768.09 -126.255C1743.35 -24.9556 1717.34 75.083 1686.31 152.325C1666.48 201.482 1646.31 237.874 1624.58 263.553L1623.54 264.768C1597.9 294.576 1569.61 309.5 1539.38 309.5C1509.16 309.5 1480.87 294.576 1455.22 264.768L1455.22 264.766C1452.1 261.147 1449.02 257.308 1445.95 253.242C1464.32 228.384 1481.62 195.508 1498.49 153.446C1529.69 75.7957 1555.79 -24.7336 1580.58 -126.255H1768.09ZM881.396 -657.5C905.765 -657.5 928.227 -645.294 950.083 -619.9C958.556 -610.056 966.822 -598.371 974.953 -584.695C964.161 -566.328 953.637 -544.527 943.207 -518.979L941.403 -514.522C905.148 -424.214 875.478 -301.181 846.895 -182.423L833.012 -129.255H647.859L659.204 -181.693C687.807 -300.533 717.427 -423.336 753.586 -513.404L753.587 -513.403C772.838 -561.205 792.124 -595.986 812.707 -619.9L812.709 -619.901C834.563 -645.371 857.024 -657.5 881.396 -657.5Z" stroke="white" stroke-width="3"/><path d="M67.9961 -551.5C92.3675 -551.5 114.828 -539.371 136.682 -513.901L136.684 -513.9C157.266 -489.986 176.553 -455.207 195.804 -407.406V-407.405C231.962 -317.337 261.585 -194.533 290.188 -75.6934V-75.6924C319.016 43.8666 348.85 167.624 385.675 259.445C402.544 301.507 419.843 334.384 438.212 359.242C435.151 363.308 432.063 367.147 428.943 370.766L428.942 370.768C403.3 400.576 375.009 415.5 344.783 415.5C314.558 415.5 286.267 400.576 260.624 370.768H260.625C238.5 345.027 217.998 308.262 197.857 258.325C163.427 172.474 135.098 58.5499 107.924 -53.9277L102.503 -76.3955C74.3642 -193.306 45.172 -314.363 9.68164 -404.266L7.9873 -408.522C-3.03276 -436.001 -14.1484 -459.268 -25.5625 -478.694C-17.431 -492.37 -9.16511 -504.056 -0.692383 -513.9C21.1637 -539.294 43.6263 -551.5 67.9961 -551.5ZM764.089 -20.2549C739.354 81.0444 713.341 181.083 682.31 258.325C662.484 307.482 642.309 343.874 620.579 369.553L619.543 370.768C593.9 400.576 565.609 415.5 535.384 415.5C505.158 415.5 476.867 400.576 451.225 370.768L451.224 370.766C448.104 367.147 445.015 363.308 441.954 359.242C460.323 334.384 477.623 301.508 494.492 259.446C525.688 181.796 551.794 81.2664 576.576 -20.2549H764.089ZM-122.604 -551.5C-98.2349 -551.5 -75.773 -539.294 -53.917 -513.9C-45.4444 -504.056 -37.1782 -492.371 -29.0469 -478.695C-39.8388 -460.328 -50.3633 -438.527 -60.793 -412.979L-62.5967 -408.522C-98.8519 -318.214 -128.522 -195.181 -157.105 -76.4229L-170.988 -23.2549H-356.141L-344.796 -75.6934C-316.193 -194.533 -286.573 -317.336 -250.414 -407.404L-250.413 -407.403C-231.162 -455.205 -211.876 -489.986 -191.293 -513.9L-191.291 -513.901C-169.437 -539.371 -146.976 -551.5 -122.604 -551.5Z" stroke="white" stroke-width="3"/></g><defs><clipPath id="clip0_4214_464"><rect width="1920" height="342" fill="white"/></clipPath></defs></svg>');
  background-repeat: repeat;
  background-position: top center;
  background-size: cover;
}
.product-category-hero .main-title {
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  color: var(--link-color);
  margin-bottom: 10px;
}
.product-category-hero .corp {
  max-width: 996px;
}



.intro-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}
.intro-section .lbl {
  margin-left: auto;
  margin-right: 28px;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
}

.filter-tag-button {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  color: var(--site-text-color);
  background: transparent;
  border: 1px solid #000;
  padding: 10px 15px;
  cursor: pointer;
  box-sizing: border-box;
}

.filter-tag-button:hover {
  outline: 2px solid #000;
  outline-offset: -1px;
}

.product-tags-filter {
  display: flex;
  align-items: center;
  gap: 20px;
}
.filter-tag-button.active{
  border-width: 3px;
  font-weight: 700;
}

#breadcrumbs {
  margin: 0;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
#breadcrumbs a {
  color: #333;
}
.breadcrumb_last {
  font-weight: 400;
}

#breadcrumbs .separator {
  font-weight: 400;
}

@media (max-width: 768px) {
  
.intro-section {
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  align-items: flex-start;
}
.intro-section .lbl {
  text-align: left;
  margin: 30px 0 10px;
}
}


/* ! Product  card */
.product-archive {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 60px 30px;
}

.product-archive .item{position: relative;}
.product-archive .item .image img {
  aspect-ratio: 278/220;
  width: 100%;
}
.product-archive .item .tit {
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  margin-bottom: 11px;
}
.product-archive .item .tit a {
  color: #000;
}
.product-archive .item .image {
  margin-bottom: 20px;
}

.product-archive .item .badge {
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #fff;
  background: var(--link-color);
  text-transform: uppercase;
  padding: 5px 15px;
  position: absolute;
  right: 0;
}

@media (max-width: 768px) {
  .product-archive {
  grid-template-columns: repeat(2,1fr);
  gap: 30px;
}
  .home .product-archive {
    display: flex;
    white-space: nowrap;
    overflow: auto;
        flex-wrap: nowrap;
	         padding-bottom: 40px;

}

   .home .product-archive .item {
  min-width: 278px;
  width: 100%;
}

   .home .product-archive .item p {
  white-space: normal;
}


}



/* ! Product category card */


.product-category-archive {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 30px;
}
.product-category-archive .item {
  background: #F9F9F9;
  position: relative;
}
.product-category-archive .item figure {
  margin-bottom: 20px;
}
.product-category-archive .item .item-content {
  padding: 0 20px 40px;
}

.product-category-archive .item .h5 {
  margin-bottom: 11px;
}
.product-category-archive .item p {
  color: var(--site-text-color);
}
.product-category-archive .item .read-more {
  background: var(--link-color);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media (max-width: 768px) {
 .product-category-archive {
    display: flex;
    /*white-space: nowrap;*/
	white-space:normal;
    overflow: auto;
	padding-bottom: 40px;

  }

.product-category-archive .item {
  min-width: 278px;
  width: 100%;
}
.product-category-archive .item a {
  display: block;
}
.product-category-archive .item p {
  white-space: normal;
}
}


/* ! Menu catalogo  */


.menu-catalogo {
  background-color: #000;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  padding: 60px 0 90px;
  z-index: 2000;
  transition: all 1s cubic-bezier(.215, .61, .355, 1);
  transform: translateY(-100%);
  padding: 30px 0 58px;
  max-height: 100vh;
}

.menu-catalogo {
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.menu-catalogo::-webkit-scrollbar {
    display: none;
}

.menu-catalogo-columns {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 30px;
  max-width: var(--corp);
  margin: auto;
}
.menu-catalogo-columns .item img {
  width: 100%;
  max-width: 50px;
  display: block;
  min-width: 50px;
}
.menu-catalogo-columns .label {
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  color: var(--link-color);
  margin-bottom: 20px;
}
.product-category-menu .itm {
  margin-bottom: 15px;
}
.product-category-menu .itm a {
  display: flex;
  gap: 20px;
  align-items: center;
}
.product-category-menu .itm .title {
  color: #fff;
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}
.menu-catalogo-columns .item figure {
  margin: 0;
}
.product-category-menu .itm:last-child {
  margin-bottom: 40px;
}



.menu-catalogo-intro {
  display: flex;
  justify-content: space-between;
  max-width: var(--corp);
  margin: auto;
  margin-bottom: 90px;
  color: #fff;
}
.menu-catalogo-intro .hd {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.close-menu-catalogo {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.2px;
  display: flex;
  align-items: center;
  gap: 20px;
  cursor: pointer;
}

.menu-catalogo.menu-catalogo-visible {
  transform: translateY(0);
}

.menu-catalogo .spirale {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}


@media (max-width: 768px) {
  
.menu-catalogo {
  padding: 60px 20px 90px;
    bottom: 0;
     overflow: scroll;
}
.menu-catalogo-columns {
  grid-template-columns: repeat(1,1fr);
  gap: 0;
}
.menu-catalogo-intro .hd {
  font-size: 22.4px;
}
.menu-catalogo .spirale {
  display: none;
}
.close-menu-catalogo {
  font-size: 0;
}
}


/* ! Search bar */


.custom-product-search {
  position: fixed;
  background: #fff;
  left: 0;
  right: 0;
  top: 0;
  z-index: 400;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
  transform: translateY(-100%);
  transition: all 1s cubic-bezier(.215, .61, .355, 1);
}
.admin-bar .custom-product-search{
  top: 30px;
}

.custom-product-search.custom-product-search-visible {
  transform: translateY(0);
}

#custom-product-search-form {
  max-width: var(--corp);
  margin: auto;
  position: relative;
  padding: 30px 0;
}
.close-search {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

#custom_search_input {
  background: #fff;
}
#custom-product-results {
  background: #fff;
  max-width: var(--corp);
  margin: auto;
  padding: 30px 0 60px;
}
#custom-product-results .item .text .intro {
  display: none;
}

.btn-search {cursor: pointer;}




/* ! Back to top */
.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 1000;
  display: none;
  background: var(--link-color);
  box-shadow: 0px 0px 6.25px 0px rgba(0, 0, 0, 0.20);
  align-items: center;
  justify-content: center;
}




/* Larghezza della scrollba
::-webkit-scrollbar {
  width: 10px;
  height:5px;
}

/* Background della scrollbar 
::-webkit-scrollbar-track {
  background: transparent; /* Colore di sfondo 
border-bottom: 1px solid #000;
	margin-right:50px;
}

/* Thumb (la parte che si muove) con SVG 
::-webkit-scrollbar-thumb {
  border-radius: 0px;
 width:506px;
	background:var(--link-color-hover) !important;
	max-width:100%;
}

/* Hover sulla scrollbar
::-webkit-scrollbar-thumb:hover {
  background-color: transparent;
}

@media screen and (max-width:768px){
	::-webkit-scrollbar-thumb {
	max-width:50%;
}
}

*/


/* ! Categorie correlate */


.related-category {
  padding: 106px 0 180px;
  position: relative;
  overflow: visible;
}

.scroll-wrapper {
  position: relative;
  margin-left: auto;
  margin-right: 0;
  width: 100vw; 
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 90px;
}

.related-category .product-category-archive {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.related-category .product-category-archive .item {
  min-width: 278px;
}

.related-category .product-category-archive p, .related-category .product-category-archive .h5 {
  white-space: normal; 
}

.bg-grey {
  background: #F9F9F9;
}
.description-after-product h3{
  margin-bottom: 20px;
}
.description-after-product ul {
  margin-bottom: 20px;
}


.cta {
  border: 10px solid #000;
  text-align: center;
  padding-left: 20px;
  padding-right: 20px;
}


.caratteristiche {
  border-top: 1px solid rgba(0, 0, 0, 0.10);
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}
.caratteristiche h3 {
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 20px;
  border-left: 2px solid var(--link-color);
  padding-left: 10px;
}



/* ! Single product */

.product-container {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 60px;
}


.product-cta-link {
  display: flex;
  align-items: center;
  gap: 20px;
  color: #000;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration-line: underline;
}

.product-container .text ul {
  list-style-type: none;
font-size: 18px;
font-style: normal;
font-weight: 600;
line-height: 32px;
padding: 0;
}

.product-container .text .product-cat {
  color: var(--link-color);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}


.product-container .spoiler-item::before, .product-container .spoiler-item::after {
  left: 0;
  width: 21px;
  top: 25px;
}
.product-container .spoiler-item .spoiler-btn {
  text-align: left;
  padding-right: 0;
  padding-left: 40px;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 32px;
  color: #333;
}
.product-container .spoiler-item {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 10px 0;
  margin-top: 30px;
}


.product-files {
  margin-top: 25px;
  margin-bottom: 25px;
}
.product-files .file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.product-files .file-item .file-name {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}
.product-files .file-item .control-icons {
  display: flex;
  align-items: center;
  gap: 20px;
}
.product-files .file-item .file-name svg, .product-files .file-item .file-name img {
  width: 12px;
}
@media (max-width: 768px) {
  .product-container {
  grid-template-columns: repeat(1,1fr);
}
}

/* ! Product gallery */


.product-gallery {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 113px;
}
.product-gallery figure {
  margin: 0;
}
.product-gallery img {
  width: 113px;
  height: 90px;
  object-fit: cover;
  cursor: pointer;
}
.product-gallery .img.act img {
  border: 2px solid #000;
}

.gallery-container.gallery-true {
  display: flex;
  flex-direction: row-reverse;
  gap: 10px;
}

@media (max-width: 768px) {
  
.gallery-container.gallery-true {
  flex-direction: column;
}
.product-gallery {
  flex-direction: row;
  flex-wrap: wrap;
}
}


.filter-reset-button {
  position: absolute;
  right: 0px;
  top: -31px;
  text-decoration: underline;
  font-size: 13px;
}
.product-tags-filter {
  position: relative;
}


.product-gallery {
  max-height: 340px;
  /*overflow-y:scroll;*/
  /*overflow-x: hidden;*/
}

.gallery-container .image img {
  aspect-ratio: 4/3;
  object-fit: cover;
}



/*--------------------------------------------------------------
# Breakpoint (1024px)
--------------------------------------------------------------*/

@media screen and (max-width: 1024px) {

  .top-bar {
    display: none;
  }

  .resmenu {
    display: block;
    order: 2;
    margin-left: auto;
    margin-right: 20px;
    transition: all 1s cubic-bezier(.215, .61, .355, 1);
  }

  .visible  .resmenu {
    transform: translateX(60px);
  }
	
 .header-widget {
    margin-right: 0;
    order: 3;
  }

  .navigator {
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    transform: translateX(100%);
    -moz-transform: translateX(100%);
    -webkit-transform: translateX(100%);
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    bottom: 0;
    padding-top: 30px;
    background-color: #fff;
    z-index: 200;
    margin:0;
    overflow: scroll;
    padding-left: 40px;
    padding-right: 40px;
	         overflow-x: hidden;

  }

  .visible {
    overflow: hidden;
  }

  .visible .navigator {
    transform: translateX(0%);
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
  }

  .navigator .menu {
    display: block;
    width: 100%;
    margin: 90px auto 230px;
    position: relative;
  }

  .navigator .menu li {
    display: block;
  }

  .navigator .menu li a {
   font-style: normal;
    background-color: transparent;
      font-size: 20px !important;
  letter-spacing: 0.2px;
  font-weight: 500;
  margin-bottom: 40px;
  padding: 0 ;

  }
	
 .navigator .menu .sub-menu {
    position: relative;
    width: 100%;
    opacity: 1;
    top: auto !important;
    visibility: visible;
    box-shadow: none;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    margin: 0;
	padding: 0px;
    display: block;
  }

  .navigator .menu .open-dropdown .sub-menu {
    max-height: 980px;
  }

  .menu > li.menu-item-has-children.open-dropdown > a::after{
	transform: rotate(-90deg);
  }
	
  .navigator #logo img {
    padding: 0;
  }
	
	.navigator .menu .btn-catalogo-prodotti a {
  font-size: 20px !important;
  letter-spacing: 0.2px;
  font-weight: 500;
  color: var(--link-color);
}


  .navigator #logo::before {
    content: "";
    background: #fff;
    position: absolute;
    right: auto;
    top: 0;
    bottom: 0;
    width: 160px;
    left: 50px;
  }

.nav-widget a {
  color: var(--site-text-color);
}

}

/*--------------------------------------------------------------
# Breakpoint (768px)
--------------------------------------------------------------*/

@media screen and (max-width: 768px) {

:where(.wp-block-group.has-background) {
  padding-left: 20px;
  padding-right: 20px;
}


.btn-catalogo-prodotti a {
  font-size: 0 !important;
  padding: 0 !important;
  border-radius: 100% !important;
  width: 52px;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
}
.btn-catalogo-prodotti a:after {
  background: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.6667 9C17.6667 9.58333 17.2083 10 16.6667 10H10V16.6667C10 17.25 9.54167 17.7083 9 17.7083C8.41667 17.7083 8 17.25 8 16.6667V10H1.33333C0.749999 10 0.333333 9.58333 0.333333 9.04167C0.333333 8.45833 0.749999 8 1.33333 8H8V1.33333C8 0.791666 8.41667 0.375 9 0.375C9.54167 0.375 10 0.791666 10 1.33333V8H16.6667C17.2083 8 17.6667 8.45833 17.6667 9Z" fill="white"/></svg>');
  position: absolute !important;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
}

#logo img {
  height:8.5vw;
}

.coverHome {
  padding-top: 150px !important;
  padding-bottom: 150px !important;
  background-position: 50% 50%;
}
.product-category-hero {
  background-position: 20% 50% !important;
}
.gallery-container {
  margin-bottom: 30px;
}
	

.number-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left !important;
}
.number-section p {
  text-align: left;
}
.number-section p.has-link-color {
  font-size: 42px !important;
}	
	
.close-menu-catalogo {
  height: auto;
  width: 40px;
}
	
	

.product-container {
  display: block;
}
.product-gallery {
  display: flex;
  flex-wrap: nowrap;
  overflow: scroll;
  max-height: 100%;
}
.product-gallery .img {
  min-width: 105px;
}	
	
.btn-catalogo-prodotti {
  min-width: 50px;
}
.servizi .item .text {
  white-space: normal;
}	
	
}



@media screen and (min-width: 1200px) {

.menu-catalogo .colonna.columns-3 {
  max-width: 250px;
  margin-left: auto;
}
.menu-catalogo .colonna.columns-4 {
  max-width: 230px;
  margin-left: auto;
}
	
}



#custom-product-results {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.custom-product-search {
    max-height: 100vh;
    overflow: hidden;
}



.product-category-menu .itm .title p {
  margin: 0;
}
