/**
 * Theme Name:     Divi Child
 * Author:         Noten
 * Template:       Divi
 * Text Domain:	   divi-child
 * Description:    Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
 */
h1 {
	
}
h2 {
	font-size: 36px;
    line-height: 1.5;
}
h3 {
	font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 15px;
}
h4 {
    font-weight: bold;
}
h5 {
    font-weight: 600;
}
h6 {
	font-size: 14px;
	color: #4094ee !important;
	text-align: left;
	font-weight:700;
}
h6:after {
  content: "";
  display: block;
  width: 15%;
  border-bottom: 2px solid #4094ee;
  margin: 0;
}

.purple {
	color: #da4d82 !important;
}
.et-cart-info {
	display: none;
}
/* //////////////////// */
#headbanner > div {
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    margin: 0;
}
#headbanner div.et_pb_module {
    justify-content: center;
    align-items: center;
    margin: 0 !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	text-align: center;
    border: 1px solid;
    border-radius: 5%;
    overflow: hidden;
    box-shadow: 0px 1px 1px 0px black;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding-top: 0px;	
}
/* //////////////////// */
.product-grid {
  	display: grid;
	gap: 15px;
	grid-template-columns: repeat(4, 1fr);
  	justify-content: center;
	box-sizing: border-box;
	overflow: hidden;
}

.product-item {
    /*flex: 1 1 calc(25% - 15px);  4 columns, subtracting the gap */
    aspect-ratio: 1 / 1; /* Maintains square shape */
    display: flex;
    align-items: center;
    justify-content: center;
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	box-shadow: 0px 0px 0px transparent;
	transition: all 0.3s ease-in-out;
    border-radius: 0%;
}

/* Tablet (2 columns) */
@media screen and (max-width: 1024px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile (1 column) */
@media screen and (max-width: 600px) {
    .product-grid {
        grid-template-columns: 1fr;
    }
}

.product-item:hover {
    border-radius: 2%;
	box-shadow: 0px 0px 3px black;
}

.product-item img {
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
  	margin-bottom: 10px;
    position: absolute;
    top: 0;
    left: 0;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-item:hover img {
  transform: scale(1.1);
}

.product-item h2 {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width:100%;
  	font-size: 18px;
  	margin-bottom: 8px;
	text-align: center;
	color: #ffffff;
	z-index: 9;
	padding: 5px 0px !important;
	margin: 0 auto !important;
}
.product-item h2 a,
.et-db #et-boc .et-l h2 a{
	color: #ffffff;
}
.product-item .product-item-bg1 {
	bottom: -26%;
    left: -3%;
    position: absolute;
    height: 45%;
    width: 150%;
    /*background: linear-gradient(135deg, #1CADAA, #3a6073);*/
    transform: rotate(-3deg);
    overflow: hidden;
    z-index: 2;
	transition: all 0.3s ease-in-out;
	opacity: 1;
}
.product-item:hover .product-item-bg1 {
	transform: rotate(0deg);
	bottom: -30%;
	opacity: 0.85;
}

.product-item .product-item-bg2 {
  	width: 125%;
    height: 4%;
    right: -50%;
    bottom: 12%;
    position: absolute;
    z-index: 3;
    transform: rotate(-3deg);
  	/*background: linear-gradient(90deg, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 100%);*/
	transition: all 0.3s ease;
}

.product-item:hover .product-item-bg2 {
  	transform: rotate(0deg); 
  	bottom: 10%;
    right: -10%;
    /*height: 5%;*/
}

/* FOOTER */
#footer {
	
}
#footer div{
	box-sizing: border-box;
}
#footer .et_pb_column_0_tb_footer{
	width: 49% !important;
}
#footer .et_pb_column_1_tb_footer{
	width: 25% !important;
}
#footer .et_pb_column_2_tb_footer{
	width: 15% !important;
    margin-top: -6px;
}

#tablelogo table {
	border: none;
}

#menufooter {
	
}
#menufooter ul {
	
}
#menufooter ul li {
	display:block;
	padding: 1px 0px;
	margin: 1px auto;
	width: 100%;
	font-size:16px;
	Font-weight:600;
}
#menufooter ul li a {
	color:#444444;
}

/* 
** Contact Form 7 Styles 
*/
.wpcf7-form {
	background: #eee;
    padding: 15px;
}

#formhorizontal {
	background:transparent;
}

.wpcf7-form input[type="text"], 
.wpcf7-form input[type="email"], 
.wpcf7-form input[type="url"], 
.wpcf7-form input[type="password"], 
.wpcf7-form input[type="search"], 
.wpcf7-form input[type="number"], 
.wpcf7-form input[type="tel"], 
.wpcf7-form input[type="tel"], 
.wpcf7-form textarea {
    color: #1f252b;
    width: 100%;
    padding: 12px 16px;
    border-radius: 0;
    border: 1px solid #ddd;
}
.wpcf7 p {
    margin: 0 0 1em;
}
.wpcf7-select {
	width:100%;
	height:40px;
    border: 1px solid #ddd;
}
.wpcf7-text:focus, 
.wpcf7-textarea:focus {
    outline: 1px solid rgba(84, 222, 197, 0.9);
    outline-offset: 0;
}
div.wpcf7-mail-sent-ok {
    border: 0;
    background: #5471de;
    color: #fff;
    padding: 18px;
}
div.wpcf7-acceptance-missing,
div.wpcf7-validation-errors {
    border: 0;
    background: #f9443b;
    color: #fff;
    padding: 18px;
}
span.wpcf7-not-valid-tip {
    color: #f9443b;
}
/* 
** Button Styles 
*/
.wpcf7-form .button {
	background-color: #6371b3;
    border: 0;
    color: #fff;
    border-radius: 5px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    margin: 0px 0px 5px 48px;
    width: auto;
    padding: 12px 20px;
    letter-spacing: 2px;
    font-size: 14px;
	transition: all 0.5s ease-in-out;
	box-shadow: 0px 0px 0px transparent;
}
.wpcf7-form .button:hover {
    cursor: pointer;
    box-shadow: 0px 7px 16px -7px rgba(0, 0, 0, 0.4);
    border: 0;
}
/****/
/* logo InfoM */
/* Badge Container */
.badge-container {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    overflow: hidden;
    background-color: #ffffff;
    padding: 0 21px 0 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #0095FE;
	margin: 10px auto;
}

/* Icon Segment with gradient background */
.icon-segment {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #0096FF, #005a9c);
  color: white;
}

/* The Big 'K' with bottom-right shadow */
.big-k {
  font-size: 48px;
  font-weight: bold;
  font-family: 'Helvetica Bold', 'Montserrat Bold', sans-serif;
}

/* Text Segment */
.text-segment {
  display: flex;
  flex-direction: column;
  margin-left: 20px;
}

/* Top Row (infomaniak + Official) */
.row {
  display: flex;
  align-items: center;
}

/* infomaniak Text in a linear gradient from #0096FF to #0089e6 */
.infomaniak-text {
  font-size: 28px;
  font-weight: bold;
  font-family: 'Inter Bold', 'Poppins Bold', sans-serif;
  background: linear-gradient(90deg, #0096FF, #0089e6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  /* ensures the gradient shows through the text */
}

/* Official badge with same gradient, but as background */
.official-badge {
  margin: 0px 5px 0 auto;
  padding: 0px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-family: 'Roboto Condensed', 'Helvetica Neue', sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(90deg, #0096FF, #0089e6);
  max-width:50%;
  text-align:center;
}

/* Partners Text */
.partners-text { 
   font-size: 18px;
   font-weight: 600;
   color: #444444;
  font-family: 'Inter Medium', 'Open Sans Semi-Bold', sans-serif;
}

.form-horizontal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    padding: 20px;
    border-radius: 8px;
}

.form-horizontal .form-row {
    flex: 1 1 200px;
}

.form-horizontal input, .form-horizontal select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
}
.form-horizontal .submithordevis {
	text-align:center;
}
.form-horizontal input[type="submit"] {
    flex: none;
    width: auto;
    padding: 12px 25px;
    background-color: #106277;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.form-horizontal input[type="submit"]:hover {
    background-color: #0E2648;
}/**
 * Theme Name:     Divi Child
 * Author:         Noten
 * Template:       Divi
 * Text Domain:	   divi-child
 * Description:    Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
 */
h1 {
	
}
h2 {
	font-size: 36px;
    line-height: 1.5;
}
h3 {
	font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 15px;
}
h4 {
    font-weight: bold;
}
h5 {
    font-weight: 600;
}
h6 {
	font-size: 14px;
	color: #4094ee !important;
	text-align: left;
	font-weight:700;
}
h6:after {
  content: "";
  display: block;
  width: 15%;
  border-bottom: 2px solid #4094ee;
  margin: 0;
}

.purple {
	color: #da4d82 !important;
}
.et-cart-info {
	display: none;
}
/* //////////////////// */
#headbanner > div {
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    margin: 0;
}
#headbanner div.et_pb_module {
    justify-content: center;
    align-items: center;
    margin: 0 !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	text-align: center;
    border: 1px solid;
    border-radius: 5%;
    overflow: hidden;
    box-shadow: 0px 1px 1px 0px black;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding-top: 0px;	
}
/* //////////////////// */
.product-grid {
  	display: grid;
	gap: 15px;
	grid-template-columns: repeat(4, 1fr);
  	justify-content: center;
	box-sizing: border-box;
	overflow: hidden;
}

.product-item {
    /*flex: 1 1 calc(25% - 15px);  4 columns, subtracting the gap */
    aspect-ratio: 1 / 1; /* Maintains square shape */
    display: flex;
    align-items: center;
    justify-content: center;
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	box-shadow: 0px 0px 0px transparent;
	transition: all 0.3s ease-in-out;
    border-radius: 0%;
}

/* Tablet (2 columns) */
@media screen and (max-width: 1024px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile (1 column) */
@media screen and (max-width: 600px) {
    .product-grid {
        grid-template-columns: 1fr;
    }
}

.product-item:hover {
    border-radius: 2%;
	box-shadow: 0px 0px 3px black;
}

.product-item img {
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
  	margin-bottom: 10px;
    position: absolute;
    top: 0;
    left: 0;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-item:hover img {
  transform: scale(1.1);
}

.product-item h2 {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width:100%;
  	font-size: 18px;
  	margin-bottom: 8px;
	text-align: center;
	color: #ffffff;
	z-index: 9;
	padding: 5px 0px !important;
	margin: 0 auto !important;
}
.product-item h2 a,
.et-db #et-boc .et-l h2 a{
	color: #ffffff;
}
.product-item .product-item-bg1 {
	bottom: -26%;
    left: -3%;
    position: absolute;
    height: 45%;
    width: 150%;
    /*background: linear-gradient(135deg, #1CADAA, #3a6073);*/
    transform: rotate(-3deg);
    overflow: hidden;
    z-index: 2;
	transition: all 0.3s ease-in-out;
	opacity: 1;
}
.product-item:hover .product-item-bg1 {
	transform: rotate(0deg);
	bottom: -30%;
	opacity: 0.85;
}

.product-item .product-item-bg2 {
  	width: 125%;
    height: 4%;
    right: -50%;
    bottom: 12%;
    position: absolute;
    z-index: 3;
    transform: rotate(-3deg);
  	/*background: linear-gradient(90deg, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 100%);*/
	transition: all 0.3s ease;
}

.product-item:hover .product-item-bg2 {
  	transform: rotate(0deg); 
  	bottom: 10%;
    right: -10%;
    /*height: 5%;*/
}

/* FOOTER */
#footer {
	
}
#footer div{
	box-sizing: border-box;
}
#footer .et_pb_column_0_tb_footer{
	width: 49% !important;
}
#footer .et_pb_column_1_tb_footer{
	width: 25% !important;
}
#footer .et_pb_column_2_tb_footer{
	width: 15% !important;
    margin-top: -6px;
}

#tablelogo table {
	border: none;
}

#menufooter {
	
}
#menufooter ul {
	
}
#menufooter ul li {
	display:block;
	padding: 1px 0px;
	margin: 1px auto;
	width: 100%;
	font-size:16px;
	Font-weight:600;
}
#menufooter ul li a {
	color:#444444;
}

/* 
** Contact Form 7 Styles 
*/
.wpcf7-form {
	background: #eee;
    padding: 15px;
}

#formhorizontal {
	background:transparent;
}

.wpcf7-form input[type="text"], 
.wpcf7-form input[type="email"], 
.wpcf7-form input[type="url"], 
.wpcf7-form input[type="password"], 
.wpcf7-form input[type="search"], 
.wpcf7-form input[type="number"], 
.wpcf7-form input[type="tel"], 
.wpcf7-form input[type="tel"], 
.wpcf7-form textarea {
    color: #1f252b;
    width: 100%;
    padding: 12px 16px;
    border-radius: 0;
    border: 1px solid #ddd;
}
.wpcf7 p {
    margin: 0 0 1em;
}
.wpcf7-select {
	width:100%;
	height:40px;
    border: 1px solid #ddd;
}
.wpcf7-text:focus, 
.wpcf7-textarea:focus {
    outline: 1px solid rgba(84, 222, 197, 0.9);
    outline-offset: 0;
}
div.wpcf7-mail-sent-ok {
    border: 0;
    background: #5471de;
    color: #fff;
    padding: 18px;
}
div.wpcf7-acceptance-missing,
div.wpcf7-validation-errors {
    border: 0;
    background: #f9443b;
    color: #fff;
    padding: 18px;
}
span.wpcf7-not-valid-tip {
    color: #f9443b;
}
/* 
** Button Styles 
*/
.wpcf7-form .button {
	background-color: #6371b3;
    border: 0;
    color: #fff;
    border-radius: 5px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    margin: 0px 0px 5px 48px;
    width: auto;
    padding: 12px 20px;
    letter-spacing: 2px;
    font-size: 14px;
	transition: all 0.5s ease-in-out;
	box-shadow: 0px 0px 0px transparent;
}
.wpcf7-form .button:hover {
    cursor: pointer;
    box-shadow: 0px 7px 16px -7px rgba(0, 0, 0, 0.4);
    border: 0;
}
/****/
/* logo InfoM */
/* Badge Container */
.badge-container {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    overflow: hidden;
    background-color: #ffffff;
    padding: 0 21px 0 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #0095FE;
	margin: 10px auto;
}

/* Icon Segment with gradient background */
.icon-segment {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #0096FF, #005a9c);
  color: white;
}

/* The Big 'K' with bottom-right shadow */
.big-k {
  font-size: 48px;
  font-weight: bold;
  font-family: 'Helvetica Bold', 'Montserrat Bold', sans-serif;
}

/* Text Segment */
.text-segment {
  display: flex;
  flex-direction: column;
  margin-left: 20px;
}

/* Top Row (infomaniak + Official) */
.row {
  display: flex;
  align-items: center;
}

/* infomaniak Text in a linear gradient from #0096FF to #0089e6 */
.infomaniak-text {
  font-size: 28px;
  font-weight: bold;
  font-family: 'Inter Bold', 'Poppins Bold', sans-serif;
  background: linear-gradient(90deg, #0096FF, #0089e6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  /* ensures the gradient shows through the text */
}

/* Official badge with same gradient, but as background */
.official-badge {
  margin: 0px 5px 0 auto;
  padding: 0px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-family: 'Roboto Condensed', 'Helvetica Neue', sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(90deg, #0096FF, #0089e6);
  max-width:50%;
  text-align:center;
}

/* Partners Text */
.partners-text { 
   font-size: 18px;
   font-weight: 600;
   color: #444444;
  font-family: 'Inter Medium', 'Open Sans Semi-Bold', sans-serif;
}

.form-horizontal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    padding: 20px;
    border-radius: 8px;
}

.form-horizontal .form-row {
    flex: 1 1 200px;
}

.form-horizontal input, .form-horizontal select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
}
.form-horizontal .submithordevis {
	text-align:center;
}
.form-horizontal input[type="submit"] {
    flex: none;
    width: auto;
    padding: 12px 25px;
    background-color: #106277;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.form-horizontal input[type="submit"]:hover {
    background-color: #0E2648;
}