@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
 --main-text-color: #ffffff;
 --main-title-color: #ffffff;
 --main-text-font: 'Montserrat', Arial, Helvetica, sans-serif;
 --main-title-font: 'Montserrat', Arial, Helvetica, sans-serif;
 --menu-text-color: #ffffff;
 --menu-title-color: #ffffff;
 --menu-background-color: #111111;
 --main-evidence-color: #cc2222;
}

/* ===========================
 TROVAPRODOTTI - PREZIOSO CASA
 =========================== */

/* Contenitore generale e body */
#trovaprodotti,
body {
 background: #000000 !important;
 color: var(--main-text-color) !important;
 font-family: var(--main-text-font) !important;
}

/* Tutti i testi generici */
p, span, li, a, td, th, label {
 font-family: var(--main-text-font) !important;
 color: var(--main-text-color) !important;
}

/* Link */
a {
 color: var(--main-text-color) !important;
 text-decoration: none !important;
}

a:hover {
 color: var(--main-evidence-color) !important;
}

/* Titoli */
h1, h2, h3, h4, h5, h6 {
 font-family: var(--main-title-font) !important;
 color: var(--main-title-color) !important;
 text-transform: uppercase !important;
 letter-spacing: 1px !important;
}

/* ===========================
 HEADER / BARRA IN ALTO
 =========================== */

header,
.tp-header,
nav {
 background: #000000 !important;
 border-bottom: 1px solid #222222 !important;
}

/* Hamburger menu */
.tp-menu-toggle,
[class*="menu-toggle"],
[class*="hamburger"] {
 color: var(--main-text-color) !important;
}

/* Barra di ricerca */
input[type="search"],
input[type="text"],
.tp-search-input {
 background: #1a1a1a !important;
 border: 1px solid #444444 !important;
 color: var(--main-text-color) !important;
 font-family: var(--main-text-font) !important;
 border-radius: 0 !important;
 padding: 10px 14px !important;
}

input[type="search"]::placeholder,
input[type="text"]::placeholder {
 color: #888888 !important;
}

/* Bottone lente ricerca */
button[type="submit"],
.tp-search-btn,
[class*="search-btn"] {
 background: var(--main-evidence-color) !important;
 color: #ffffff !important;
 border: none !important;
 border-radius: 0 !important;
 font-family: var(--main-title-font) !important;
 font-weight: 600 !important;
 text-transform: uppercase !important;
 letter-spacing: 1px !important;
}

button[type="submit"]:hover,
.tp-search-btn:hover {
 background: #aa0000 !important;
}

/* ===========================
 MENU CATEGORIE (SIDEBAR)
 =========================== */

/* Overlay menu */
.tp-sidebar,
[class*="sidebar"],
[class*="nav-menu"],
[class*="mobile-menu"] {
 background: #000000 !important;
 color: var(--main-text-color) !important;
}

/* Titoli categorie principali (h2 nel menu) */
.tp-sidebar h2,
[class*="sidebar"] h2,
[class*="nav-menu"] h2,
[class*="catalog"] h2 {
 background: var(--main-evidence-color) !important;
 color: #ffffff !important;
 font-family: var(--main-title-font) !important;
 font-weight: 700 !important;
 text-transform: uppercase !important;
 letter-spacing: 1px !important;
 padding: 12px 20px !important;
 margin: 0 !important;
}

/* Link categorie principali */
.tp-sidebar ul li a,
[class*="sidebar"] ul li a,
[class*="nav-menu"] ul li a {
 color: #cccccc !important;
 font-family: var(--main-text-font) !important;
 font-size: 13px !important;
 padding: 10px 20px !important;
 display: block !important;
 border-bottom: 1px solid #1a1a1a !important;
}

.tp-sidebar ul li a:hover,
[class*="sidebar"] ul li a:hover {
 color: var(--main-evidence-color) !important;
 background: #111111 !important;
}

/* Breadcrumb */
.tp-breadcrumb,
[class*="breadcrumb"] {
 background: transparent !important;
 color: #888888 !important;
 font-family: var(--main-text-font) !important;
 font-size: 12px !important;
 padding: 10px 0 !important;
}

[class*="breadcrumb"] a {
 color: #888888 !important;
}

[class*="breadcrumb"] a:hover {
 color: var(--main-evidence-color) !important;
}

/* Bordo card HP ambienti */
.page-index .card.h-100.tp-hp-card {
  border-color: #1a1a18 !important;
  background-color: #1a1a18 !important;
}
 
 /* ===========================
 GRIGLIA PRODOTTI / CARD
 =========================== */

/* Card prodotto */
.tp-product-card,
[class*="product-card"],
[class*="product-item"],
[class*="tp-card"] {
 background: #111111 !important;
 border: 1px solid #222222 !important;
 border-radius: 0 !important;
 transition: border-color 0.2s ease !important;
 overflow: hidden !important;
}

.tp-product-card:hover,
[class*="product-card"]:hover,
[class*="product-item"]:hover {
 border-color: var(--main-evidence-color) !important;
}
.tp-product-thumb {
 background-color: #000;
}
/* Zona testo sotto immagine */
[class*="card-body"],
[class*="card-info"],
[class*="card-content"],
[class*="product-info"] {
 background: #111111 !important;
 padding: 12px 14px !important;
}

/* Titolo prodotto nella card */
[class*="product-name"],
[class*="product-title"],
[class*="card-title"],
.tp-product-name {
 color: var(--main-title-color) !important;
 font-family: var(--main-title-font) !important;
 font-weight: 600 !important;
 font-size: 13px !important;
 text-transform: uppercase !important;
 letter-spacing: 0.5px !important;
 margin-bottom: 4px !important;
}

/* Brand nella card */
[class*="brand"],
.tp-product-brand {
 color: var(--main-evidence-color) !important;
 font-family: var(--main-text-font) !important;
 font-size: 11px !important;
 text-transform: uppercase !important;
 letter-spacing: 1px !important;
 font-weight: 500 !important;
}

/* Descrizione breve */
[class*="product-desc"],
[class*="card-text"],
[class*="product-description"] {
 color: #aaaaaa !important;
 font-family: var(--main-text-font) !important;
 font-size: 12px !important;
 line-height: 1.5 !important;
}

/* ===========================
 PAGINA SINGOLO PRODOTTO
 =========================== */

/* Titolo prodotto */
h1.tp-product-title,
.tp-product-detail h1,
[class*="product-detail"] h1 {
 color: var(--main-title-color) !important;
 font-family: var(--main-title-font) !important;
 font-weight: 700 !important;
 font-size: 32px !important;
 text-transform: uppercase !important;
}

/* "by Brand" sotto il titolo */
[class*="product-brand"],
[class*="by-brand"] {
 color: var(--main-evidence-color) !important;
 font-size: 13px !important;
 font-family: var(--main-text-font) !important;
}

/* Etichette MATERIALI, MISURE, DESCRIZIONE */
[class*="product-label"],
[class*="product-attr"] strong,
[class*="detail"] strong {
 color: var(--main-evidence-color) !important;
 font-family: var(--main-title-font) !important;
 font-weight: 700 !important;
 text-transform: uppercase !important;
 font-size: 11px !important;
 letter-spacing: 1px !important;
}

/* Valori attributi */
[class*="product-value"],
[class*="product-attr"] p,
[class*="detail"] p {
 color: #cccccc !important;
 font-family: var(--main-text-font) !important;
 font-size: 14px !important;
}

/* Pulsante "Contatta il negozio" */
.tp-product-box-details .tp-product-btn-contact {
 background: #CC2222 !important;
 color: #ffffff !important;
 border: none !important;
 border-radius: 0 !important;
 font-family: var(--main-title-font) !important;
 font-weight: 600 !important;
 text-transform: uppercase !important;
 letter-spacing: 1px !important;
 padding: 12px 24px !important;
 display: inline-block !important;
}

#tp-product-contact-container a:hover {
 background: #aa0000 !important;
 color: #ffffff !important;
}

/* Slider immagini prodotto */
[class*="slider"],
[class*="carousel"],
[class*="gallery"] {
 background: #111111 !important;
}

[class*="slider-arrow"],
[class*="carousel-btn"],
[class*="prev"],
[class*="next"] {
 background: rgba(204, 34, 34, 0.8) !important;
 color: #ffffff !important;
 border: none !important;
}
/* Frecce carousel prodotto */
.product-gallery .carousel-control-prev,
.product-gallery .carousel-control-next {
 background: var(--main-evidence-color) !important;
 opacity: 1 !important;
 width: 44px !important;
 height: 44px !important;
 top: 50% !important;
 transform: translateY(-50%) !important;
 border-radius: 0 !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
}

.product-gallery .carousel-control-prev {
 left: 8px !important;
}

.product-gallery .carousel-control-next {
 right: 8px !important;
}

.product-gallery .carousel-control-prev:hover,
.product-gallery .carousel-control-next:hover {
 background: #aa0000 !important;
 opacity: 1 !important;
}

.product-gallery .carousel-control-prev-icon,
.product-gallery .carousel-control-next-icon {
 width: 20px !important;
 height: 20px !important;
 filter: brightness(10) !important;
 opacity: 1 !important;
}
/* Fix icone frecce carousel */
.product-gallery .carousel-control-prev-icon {
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E") !important;
 background-repeat: no-repeat !important;
 background-position: center !important;
 background-size: 16px 16px !important;
 width: 16px !important;
 height: 16px !important;
 filter: none !important;
}

.product-gallery .carousel-control-next-icon {
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important;
 background-repeat: no-repeat !important;
 background-position: center !important;
 background-size: 16px 16px !important;
 width: 16px !important;
 height: 16px !important;
 filter: none !important;
}
/* ===========================
 FORM CONTATTI PRODOTTO
 (classi reali: #tp-product-contact-container, #tp_ContactForm)
 =========================== */

/* Contenitore form */
#tp-product-contact-container>div {
 background-color: #000;
}#tp-product-contact-container {
 background: #000 !important;
 border: none !important;
 border-top: 2px solid var(--main-evidence-color) !important;
 padding-top: 32px !important;
 margin-top: 32px !important;
}

/* Titolo "Chiedi Info su..." */
#tp-product-contact-container h3.text-center {
 color: #cc2222 !important;
 font-family: var(--main-title-font) !important;
 font-weight: 700 !important;
 font-size: 20px !important;
 text-transform: uppercase !important;
 letter-spacing: 2px !important;
 margin-bottom: 24px !important;
}

/* Tutti gli input, textarea, select del form */
#tp_ContactForm input[type="text"],
#tp_ContactForm input[type="email"],
#tp_ContactForm input[type="tel"],
#tp_ContactForm textarea,
#tp_ContactForm select {
 background: #ffffff !important;
 border: none !important;
 border-bottom: 2px solid #cccccc !important;
 color: #000000 !important;
 font-family: var(--main-text-font) !important;
 font-size: 14px !important;
 border-radius: 0 !important;
 padding: 12px 14px !important;
 width: 100% !important;
 transition: border-color 0.2s ease !important;
}

#tp_ContactForm input[type="text"]:focus,
#tp_ContactForm input[type="email"]:focus,
#tp_ContactForm input[type="tel"]:focus,
#tp_ContactForm textarea:focus,
#tp_ContactForm select:focus {
 border-bottom-color: var(--main-evidence-color) !important;
 outline: none !important;
}

#tp_ContactForm input::placeholder,
#tp_ContactForm textarea::placeholder {
 color: #666666 !important;
 font-family: var(--main-text-font) !important;
}

/* Select dropdown */
#tp_ContactForm select {
 background: #ffffff !important;
 color: #333333 !important;
 cursor: pointer !important;
}

/* Label */
#tp_ContactForm label {
 color: #cccccc !important;
 font-family: var(--main-text-font) !important;
 font-size: 11px !important;
 text-transform: uppercase !important;
 letter-spacing: 0.8px !important;
 margin-bottom: 4px !important;
 display: block !important;
}

/* Testo nota obbligatori */
#tp_ContactForm small,
#tp-product-contact-container small {
 color: #888888 !important;
 font-size: 11px !important;
 font-family: var(--main-text-font) !important;
}

/* Testo privacy */
#tp_ContactForm .form-check-label,
#tp-product-contact-container .form-check-label {
 color: #aaaaaa !important;
 font-size: 12px !important;
 font-family: var(--main-text-font) !important;
 text-transform: none !important;
 letter-spacing: 0 !important;
}

/* Checkbox */
#tp_ContactForm input[type="checkbox"] {
 accent-color: var(--main-evidence-color) !important;
}

/* Bottone INVIA */
#tp_ContactForm button[type="submit"],
#tp_ContactForm input[type="submit"] {
 background: var(--main-evidence-color) !important;
 color: #ffffff !important;
 border: none !important;
 border-radius: 0 !important;
 font-family: var(--main-title-font) !important;
 font-weight: 700 !important;
 font-size: 14px !important;
 text-transform: uppercase !important;
 letter-spacing: 2px !important;
 padding: 16px 32px !important;
 width: 100% !important;
 cursor: pointer !important;
 transition: background 0.2s ease !important;
 margin-top: 8px !important;
}

#tp_ContactForm button[type="submit"]:hover,
#tp_ContactForm input[type="submit"]:hover {
 background: #aa0000 !important;
}

/* ===========================
 MOBILE RESPONSIVE
 =========================== */

@media (max-width: 768px) {
 [class*="product-card"],
 [class*="product-item"] {
 border-left: 3px solid var(--main-evidence-color) !important;
 }

 h1 {
 font-size: 24px !important;
 }

 #tp-product-contact-container,
 [class*="contact-form"] {
 padding: 16px !important;
 }
}
.text-body-secondary {
 --bs-text-opacity: 1;
 color: #fff !important;
}
/* Bottone "Mostra tutto" */
#tp-btn-toggle-desc {
 background: transparent !important;
 color: var(--main-evidence-color) !important;
 border: 1px solid var(--main-evidence-color) !important;
 border-radius: 0 !important;
 font-family: var(--main-title-font) !important;
 font-weight: 600 !important;
 font-size: 12px !important;
 text-transform: uppercase !important;
 letter-spacing: 1px !important;
 padding: 8px 20px !important;
 cursor: pointer !important;
 transition: all 0.2s ease !important;
 display: inline-block !important;
 margin-top: 8px !important;
 margin-bottom: 18px !important;
}

#tp-btn-toggle-desc:hover {
 background: var(--main-evidence-color) !important;
 color: #ffffff !important;
}
/* Sfumatura "Mostra tutto" - gradiente grigio scuro */
.desc-collapsed::after,
#tp-product-description.desc-collapsed::after,
[class*="desc-collapsed"]::after {
 background: linear-gradient(
 to bottom,
 transparent,
 #000000
 ) !important;
}