/* Tiemme Core — foglio di stile unico, tutto sotto scope .tc
   Brand Tiemme Copy: rosso #E30519 + nero. Heading Sora, testo ereditato. */

.tc{ --tc-ink:#14151a; --tc-body:#454a52; --tc-red:#E30519; --tc-red-deep:#B00412; --tc-line:#e6e4e2; }

.tc *{ box-sizing:border-box; }
.tc h2, .tc h3{ font-family:'Sora', ui-sans-serif, system-ui, sans-serif; letter-spacing:-.02em; }

/* Griglie */
.tc .tc-grid{ display:grid; gap:22px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); align-items:stretch; }

/* Card — flex column: pulsante sempre allineato in basso, altezze uguali per riga */
.tc .tc-card{ background:#fff; border:1px solid var(--tc-line); border-radius:16px; padding:24px;
	display:flex; flex-direction:column; height:100%;
	transition:transform .22s cubic-bezier(.16,.84,.24,1), box-shadow .22s ease; }
.tc .tc-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -22px rgba(20,21,26,.35); }
.tc .tc-card h3{ margin:8px 0 4px; color:var(--tc-ink); font-size:1.2rem; font-weight:800; }
.tc .tc-sub{ color:var(--tc-body); font-size:.95rem; margin:0 0 10px; }
.tc .tc-ico{ width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
	background:rgba(227,5,25,.09); color:var(--tc-red); margin-bottom:14px; }
.tc .tc-ico svg{ width:26px; height:26px; }
.tc .tc-body{ color:var(--tc-body); }

/* Immagine prodotto in cover — DUE classi per battere le regole di tema */
.tc .tc-thumb{ aspect-ratio:4/3; border-radius:10px; overflow:hidden; background:#f4f6f8; margin-bottom:12px; }
.tc .tc-cover{ width:100%; height:100%; object-fit:contain; display:block; }

/* Specifiche prodotto */
.tc .tc-specs{ list-style:none; padding:0; margin:10px 0; display:flex; flex-wrap:wrap; gap:6px; }
.tc .tc-specs li{ background:#f4f2f1; border-radius:6px; padding:3px 9px; font-size:.82rem; color:#37424e; }
.tc .tc-mod{ color:var(--tc-body); font-size:.9rem; margin:0 0 6px; }
.tc .tc-prezzo{ margin:10px 0 0; color:var(--tc-body); }
.tc .tc-prezzo strong{ color:var(--tc-red); font-size:1.05rem; }

/* Pulsante */
.tc .tc-btn{ display:inline-block; margin-top:auto; align-self:flex-start; background:var(--tc-red); color:#fff;
	text-decoration:none; padding:10px 18px; border-radius:10px; font-weight:600;
	transition:background .2s ease; }
.tc .tc-card .tc-body{ margin-bottom:14px; }
.tc .tc-btn:hover{ background:var(--tc-red-deep); }

/* Contatti */
.tc .tc-contatti{ font-style:normal; line-height:1.8; }
.tc .tc-contatti a{ color:inherit; }

/* FAQ (accordion nativo <details>) */
.tc .tc-faq{ max-width:760px; }
.tc .tc-faq-item{ border-bottom:1px solid var(--tc-line); }
.tc .tc-faq-item summary{ cursor:pointer; font-weight:700; color:var(--tc-ink); padding:16px 0; list-style:none;
	display:flex; align-items:center; gap:12px; font-family:'Sora',sans-serif; }
.tc .tc-faq-item summary::-webkit-details-marker{ display:none; }
.tc .tc-faq-item summary::before{ content:"+"; color:var(--tc-red); font-weight:800; font-size:1.3em; width:1em; }
.tc .tc-faq-item[open] summary::before{ content:"–"; }
.tc .tc-faq-a{ padding:0 0 16px 1.6em; color:var(--tc-body); }

@media (prefers-reduced-motion: reduce){ .tc *{ transition:none !important; } }
