
/* Base & colors */
:root{--ib-accent:#ffc027;--ib-text:#f2f2f2;--ib-bg:#000}
body{background:#000;color:var(--ib-text)}
.block-category h1 {
	color: white;
}

/* Header */
.ib-header{position:sticky;top:0;z-index:1002;background:#1b1c1d;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.ib-logo img{max-height:56px}
.ib-nav ul{display:flex;gap:28px;align-items:center;margin:0;padding:0}
.ib-nav a{color:#fff;text-transform:uppercase;font-weight:700;letter-spacing:.04em;padding-bottom:6px;border-bottom:2px solid transparent}
.ib-nav a:hover,.ib-nav .current{border-color:var(--ib-accent)}
.ib-btn{display:inline-block;padding:10px 10px;font-weight:700;text-transform:uppercase}
.ib-btn-pill{background:var(--ib-accent);color:#111;border-radius:999px}
.ib-btn-pill:hover {
	color: #24b9d7;
	cursor: pointer;
}

.container-hero {
	display: flex;
	align-items: center;
}

.banner-text {
	text-align: center;
}

/* Left bar */
.ib-leftbar{position:fixed;left:0;top:0;bottom:0;width:48px;display:flex;align-items:center;justify-content:center;z-index:1001; background-color: black;}
.ib-leftbar .ib-vertical{writing-mode:vertical-rl;transform:rotate(180deg);color:#aaa;font-size:12px;letter-spacing:.08em}
.ib-leftbar a{color:#ccc}

/* Right bar */
.ib-rightbar{position:fixed;right:0;top:0;bottom:0;width:48px;display:flex;align-items:center;justify-content:center;z-index:1001; background-color: black;}
.ib-rightbar .ib-vertical{writing-mode:vertical-rl;transform:rotate(0deg);color:#aaa;font-size:12px;letter-spacing:.08em; background-color: black}
.ib-rightbar a{color:#ccc}

#empty-product-comment,
#product-comments-list{
	border: 2px solid #fff;
}



.product-comment-list-item,
#wrapper {
	background-color: black;
}
#wrapper .container{max-width:100%;padding-left:0;padding-right:0;}
/* Hero */
.ib-hero{background:#000;padding:80px 0;border-bottom:1px solid #111; background-image:url('../img/sfondo-home.png');background-size: cover;
background-position: center;
background-repeat: no-repeat;}
.ib-hero-text h1{color:#fff;font-size:36px;line-height:1.15;font-weight:800}
.ib-hero-text p{color:#c9c9c9;margin:18px 0 26px;max-width:520px}
.ib-hero-logo{max-width:100%;height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.7))}
/* Home products fade-in */
.ib-home-products .product-miniature{transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.ib-home-products .product-miniature.ib-inview{opacity:1;transform:none}
/* Footer (3 cols) */
#footer {
    padding-top: 0rem;
}

.ib-home-two-images div {
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 5px;
}

.ib-home-two-images img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.ib-home-two-images .row {
	margin-left: 34px;
}

.card-block {
    padding: 0 1.25rem .5rem;
}
.ib-footer{    background: #111;
    border-top: 1px solid #111;
}
.ib-footer a{color:#d6f0ff}
.ib-footer .ib-copy{color:#aaa;border-top:1px solid #111;margin-top:20px}
/* Back-to-top */
.ib-backtop{position:fixed;right:18px;bottom:18px;background:var(--ib-accent);color:#111;border:none;border-radius:999px;padding:10px 14px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.25);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .2s ease}
.ib-backtop.ib-show{opacity:1;pointer-events:auto}

#left-column div {
	background-color: black;
}

.product-container .tab-content .product-description p {
	color: black;
}

.product-line-grid-body>.product-line-info>.label,
.contact-rich .block .data,
#contact-infos,
.contact-rich h4,
.contact-rich div,
#order-details ul li,
#order-details h3,
#order-items .h3, .order-items li,
.product-container .product-description p {
	color: #fff;
}

#order-details {
	width: 100%;
}

.open {
	display: block !important;
}

.cart-grid {
	padding-top: 60px;
}
.card.cart-container {
	background-color: black;
	border: 2px #fff solid;
}

.modal.fade.show {
    opacity: 1 !important;
    background: #ffc02747;
}

.modal-dialog .modal-content {
	background-color: black;
}


.product-line-grid-right .product-price{
	color: #ffc027;
}

.js-cart-line-product-quantity {
	width: 40px;
	border-radius: 10px;
}

.modal-content .close {
	opacity: 1;
	color: white;
}


.modal-content #product-description-short p,
.modal-content .tax-shipping-delivery-label,
.modal-content h1,
.product-line-info.dimensione span,
.product-line-info.colore span,
.cart-grid a,
.cart-grid h1,
.blockreassurance_product p,
.blockreassurance_product span
{
	color: #d6d6d6 !important;
}

.card-block.checkout .btn-primary {
	color: black !important;
}


#order-items table tr.total-value,
.card-block h4, .card-block ul,
strong,
.definition-list dl dd, .definition-list dl dt,
.page-order input[type=checkbox]:checked+span i.checkbox-checked,
.btn-primary, .btn-primary:hover,
.cart-summary-products a {
	color: black; 
}

a {
	
	color: black;
}

#product-comments-list-header,
.product-container h1,
.product-container .control-label,
.product-container span,
.product-container p,
.custom-checkbox input[type=checkbox]:checked+span .checkbox-checked,
#left-column a,
#search_filters .facet .facet-title,
#search_filters .facet .facet-label a
{
	color: #d6d6d6;
}

.order-items h3,
a:hover {
	color: #ffc027;
}

#search_filters .facet .facet-label a:hover {
	color: #24b9d7
}

#checkout .container {
	width: 100vw;
}

#checkout,
#checkout #header,
#content-wrapper #js-product-list-header,
#content-wrapper #subcategories {
	background: black;
	color: #d6d6d6;
}

#main #subcategories ul li .subcategory-image {
	display: none;
}

.cs-footer img { 
    width: 100%;
    height: auto;
    border-radius: 5px;
}

@media (min-width:768px){ body{padding-left:48px} }

/* --- v3 tweaks --- */

/* Requested color overrides */
#block_myaccount_infos .myaccount-title a,
#wrapper .breadcrumb li a,
.block-contact .block-contact-title,
.block-contact .navbar-toggler .material-icons,
.linklist .blockcms-title a { color:#fff !important; }

#search_filters .facet .facet-label a,
#search_filters .facet .facet-label a:hover {
	text-decoration: none;
}

footer li {
	line-height: 1.4;
    	font-size: 14px;
}


.ib-footer a,
#header a {
	color: white; 
	text-decoration: none;
}

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

#header a.dropdown-submenu {
	color: #232323 !important; 
	padding: 0;
}


/* Center the top bar */
.ib-bar{ display:flex; justify-content:center; }
.ib-bar .row{ width:100%; max-width:1300px; }

/* Third column inline-flex */
.ib-bar .ib-actions{ display:inline-flex !important; gap:12px; }

/* Make wrapper full-width already handled, keep here to ensure */
#wrapper .container{ max-width:100%; padding-left:0; padding-right:0; }

/* Footer single column spacing */
.ib-footer .ib-footer-blocks > .ib-footer-section{ margin-bottom:18px; }


/* --- v4 tweaks --- */
#header a:hover { color:#24b9d7 !important; }
.top-menu > .category { color:#000 !important; }
#footer h3 { color:#fff !important; }

/* --- v5 tweaks --- */

/* --- v5: REAL STICKY (fixed) --- */
:root{ --ib-header-h: 0px; } /* approx total header + subbar height */

.ib-header{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100%;
  z-index: 1030; /* above content */
  background:#1b1c1d;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
#content {
 background: black;
}

.ib-subbar{ background:#1b1c1d; border-top:1px solid #222; }

/* Spacer to avoid content jump */
.ib-header-spacer{ height: var(--ib-header-h); }

/* Ensure parent containers don't clip sticky header */
#wrapper, body{ overflow-x: hidden; padding-top: 60px; }

/* Hover color and top-menu category color (re-assert) */
#header a:hover { color:#24b9d7 !important; }
.top-menu > .category { color:#000 !important; }
#footer h3 { color:#fff !important; }

/* Logo size */
.ib-logo img{ max-height:60px; }

/* Full-width content wrapper (keep) */
#wrapper .container{     max-width: unset;
    width: unset;
    padding-left: 0;
    margin-right: 50px;}


/* --- v6 tweaks --- */

/* --- v6 tweaks --- */

/* Hide any search bar rendered in the header (ps_searchbar on displayTop) */
#_desktop_search, #header #_desktop_search { display:none !important; }

/* Remove "Contattaci" link injected by contact module in header */
#header .contact-link, #header a[href*="contact"], #header .block-contact { display:none !important; }

/* Dropdown submenu items color */
.dropdown-item.dropdown-submenu,
.dropdown-item.dropdown-submenu a { color:#000 !important; }

/* Footer headings white (cover both h3 tags and .h3 utility class) */
#footer h3, #footer .h3 { color:#fff !important; }


.search-widgets {
  display: none !important;
}

.align-right {
  justify-content: end;
}

/* === Burger + Mobile Menu === */

.burger-mobile {
	display: none;
}

/* bottone burger */
.ib-burger{
  width: 38px; height: 38px;
  display: none; /* di base nascosto */
  align-items:center; justify-content:center;
  border:0; background:transparent; padding:0; margin-left:10px;
}
.ib-burger span{
  display:block; width:22px; height:2px;
  background:#fff; margin:3px 0; transition:.2s;
}

@media (max-width: 580px) {
	.container-hero {
		display: grid;
	}

	.banner-text{
		order: 2;
		padding-top: 20px;
		text-align: center;
	}

	.banner-logo {
		order: 1;
	}

	.ib-hero {
		padding: 40px 0;
		    background-position: center;
    background-size: 234%;
	}
}


/* mostra il burger solo mobile e tablet*/
@media (max-width: 1058px){

.ib-rightbar {
	right: 6px;
}

.ib-rightbar, 
.ib-leftbar {
	width: 31px;
}

.ib-rightbar .ib-vertical {
	margin-right: -6px;
}

#index #wrapper .container {margin-right: 0px; margin-left: 0px; }

#wrapper .container {
	margin-right: 40px;
        margin-left: 42px;
}

#_desktop_user_info {
	display: none;
}

.logo-mobile {
	text-align: center;
}

#_desktop_cart {
	text-align: right;
    padding-top: 15px;
    padding-right: 15px;
}
	
.burger-mobile {
	display: block;
}



  .ib-burger{ display:inline-flex; }
  
  .plr-40 {
	  padding-left: 0px;
	  padding-right: 0px;
  }
}


.mt-05 {
    margin-top: 0.5rem!important
}

.plr-40 {
	padding-left: 40px;
	padding-right: 40px;
}

.featured-products .all-product-link,
.products-section-title {
	color: #d6d6d6;
margin-left: 45px;
}

.top-menu .sub-menu {
	margin-top: 3rem;

}

.sub-menu .top-menu {
	justify-content: center;
}


.page-authentication #content, 
.page-registration #content {
	background-color: #f6f6f6;
}

.page-authentication #content a {
	color: black;
}

.page-header h1 {
	text-align: center;
}
	
	
	/* === Header layout base === */
:root {
  --ib-header-h: 90px;
}

.ib-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  width: 100%;
  background: #111;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.ib-header-spacer {
  height: var(--ib-header-h);
}

.ib-bar {
  display: flex;
  justify-content: center;
}

.ib-bar .row {
  width: 100%;
  max-width: 1280px;
  align-items: center;
  justify-content: space-between;
}

/* === Burger icon === */
.ib-burger {
  width: 38px;
  height: 38px;
  display: none; /* nascosto di base */
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  padding: 0;
  margin-left: 10px;
  cursor: pointer;
  z-index: 1040;
}

/* linee del burger */
.ib-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff; /* colore visibile su header scuro */
  margin: 4px 0;
  border-radius: 2px;
  transition: all 0.3s ease;
}
  .ico-social {
	transform: rotate(90deg);
	width: 25px;
	padding-bottom: 5px;
	vertical-align: sub;
	margin-left: 6px;

  }
  
/* mostra burger SOLO su mobile */
@media (max-width: 1058px) {
  .ico-social {
	width: 20px;
  }
	
	
  .ib-burger {
    display: inline-flex !important;
  }
}
.product-information .nav-tabs .nav-item:nth-child(2) {
	display: none;
}

/* effetto X quando menu aperto */
.ib-burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.ib-burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.ib-burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* === NAV (menu di PrestaShop) === */
#ib-nav {
  display: flex;
  justify-content: center;
}

#ib-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 24px;
}

#ib-nav a {
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: .5px;
  transition: color 0.2s ease;
}


.ico-social a img:hover,
#ib-nav a:hover {
	

  color: #24b9d7;
}

/* Nascondi il menu desktop su mobile */
.hide-mobile {
  display: none !important;
}

@media (min-width: 768px) {
  .hide-mobile {
    display: flex !important;
  }
}

/* === MENU MOBILE PANEL === */
.ib-mobile-menu {
  position: fixed;
  top: var(--ib-header-h);
  left: 0;
  right: 0;
  background: #111;
  z-index: 1029;
  padding: 12px 16px;
  border-top: 1px solid #222;
  border-bottom: 1px solid white;
  overflow: auto;
  max-height: calc(100dvh - var(--ib-header-h));
}

.ib-mobile-menu[hidden] {
  display: none !important;
}

.ib-mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ib-mobile-menu a {
  display: block;
  color: #fff;
  padding: 12px 0;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}


.ib-mobile-menu a:hover {
  color: #24b9d7;
}

/* blocca scroll sotto menu mobile aperto */
body.ib-mm-open {
  overflow: hidden;
}


/* === CATEGORY TREE — solo MOBILE === */
@media (max-width: 1058px) {
  .ib-cat-tree,
  .ib-cat-tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .ib-cat-tree > .lvl1 {
    margin-bottom: 8px;
  }

  .ib-cat-tree a {
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    display: block;
    padding: 8px 0;
  }

  .ib-cat-tree a:hover {
    color: #24b9d7;
  }

  .ib-cat-children {
    margin-top: 6px;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }
}

.cc-submit:hover,
#header a.ib-btn:hover {
	color: white;
}

#cms p,
.page-heading strong,
.page-heading {
	color: white;
}

#header a.ib-btn,
.cc-submit {
	background-color: #facc3e;
	color: black;
}

#cms h2,
.cc-title {
	color: #facc3e;
}

@media (max-width:1058px){ 
/* Accordion mobile */
.ib-cat-tree, .ib-cat-tree ul { list-style:none; margin:0; padding:0; }
.ib-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ib-link{ display:block; color:#fff; text-decoration:none; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); width: 100%; }
.ib-link:hover{ color:#24b9d7; }

.ib-toggle{
  width:36px; height:36px; border:0; background:transparent; color:#fff; display:inline-flex;
  align-items:center; justify-content:center; border-radius:6px;
}
.ib-caret{
  width:8px; height:8px; border-right:2px solid #fff; border-bottom:2px solid #fff;
  transform: rotate(-45deg); transition: transform .2s ease;
}
.ib-toggle[aria-expanded="true"] .ib-caret{ transform: rotate(45deg); } /* freccia giù → su */

.ib-sub{ padding-left:14px; border-left:1px solid rgba(255,255,255,.1); }
.ib-sub[hidden]{ display:none !important; }
}

.ico-social img:hover {
  color: #24b9d7;
}

@media screen and (max-width:767px){
	.page-contact #wrapper .container {
    		padding-right: 30px;
		padding-left: 30px;
	}

.cc-check {
    width: 100%;
    display: block;
    font-size: 20px;
    color: #e9e9e9;
    cursor: pointer;
    user-select: none;
    text-align: left;
}

.cc-check-grid {
    display: block;
    grid-template-columns: unset;
    gap: unset;
    text-align: left;
    float: left;
    width: 100%;
    margin-bottom: 30px;
	}

    .cc-title{
 	font-size: 30px;
    }

    .cc-intro p {
	font-size: 15px;
    }

.container-fluid {
    padding-left: 35px;
}

    .block-contact {
        padding-left: 15px;
    }

}

/* CHI SIAMO */
.chi-siamo {
  max-width: 1100px;
  margin: 0 auto;
}

.cs-row {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

.cs-item {
  flex: 1;
  text-align: center;
}

.cs-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

.cs-caption {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.cs-footer {
  margin-top: 30px;
  font-size: 15px;
  line-height: 1.6;
}

/* 📱 MOBILE */
@media (max-width: 768px) {

  .cs-row {
    flex-direction: column;
  }

  .cs-item {
    margin-bottom: 25px;
  }

  .cs-caption {
    text-align: center;
  }


}

#product-modal .modal-body {
  position: relative;
}

#product-modal .product-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  border: 0;
  background: #fff;
  color: #111;
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  opacity: 1;
  transition: transform .2s ease, box-shadow .2s ease;
}

#product-modal .product-modal-close:hover {
  background: #fff;
  color: #111;
  transform: scale(1.14);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}
