/* Catalogo MD — eredita font e colori del tema; cambia solo le variabili qui sotto per adattarlo. */
.cmd-catalogo {
	--cmd-accent: #6b3f1d;        /* marrone cioccolato: bottoni, link attivi */
	--cmd-superficie: #f6f1ea;    /* fondo dei riquadri immagine (farina) */
	--cmd-linea: rgba(0, 0, 0, .12);
	--cmd-testo-tenue: rgba(0, 0, 0, .58);
	--cmd-raggio: 4px;
	--cmd-max: 1200px;
}

.cmd-wrap {
	max-width: var(--cmd-max);
	margin: 0 auto;
	padding: 2.5rem 1.25rem 4rem;
}

/* percorso */
.cmd-breadcrumb ol { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; font-size: .875rem; color: var(--cmd-testo-tenue); }
.cmd-breadcrumb li + li::before { content: "/"; margin-right: .5rem; opacity: .5; }
.cmd-breadcrumb a { color: inherit; text-decoration: none; }
.cmd-breadcrumb a:hover { color: var(--cmd-accent); text-decoration: underline; }

/* testate */
.cmd-testata { margin-bottom: 2rem; }
.cmd-titolo { margin: 0 0 .5rem; line-height: 1.15; }
.cmd-sottotitolo { max-width: 60ch; margin: 0; color: var(--cmd-testo-tenue); }
.cmd-sezione { margin-top: 2.5rem; }
.cmd-sezione:first-of-type { margin-top: 0; }
.cmd-h2 { display: flex; align-items: baseline; gap: .6rem; margin: 0 0 1.25rem; padding-bottom: .6rem; border-bottom: 1px solid var(--cmd-linea); font-size: 1.25rem; }
.cmd-h2-conteggio { font-size: .875rem; font-weight: 400; color: var(--cmd-testo-tenue); }

/* griglie */
.cmd-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem 1.25rem; }
.cmd-grid-categorie { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.cmd-grid-prodotti  { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }

.cmd-card a { display: block; color: inherit; text-decoration: none; }
.cmd-card a:focus-visible { outline: 2px solid var(--cmd-accent); outline-offset: 4px; }

.cmd-figura { display: block; position: relative; overflow: hidden; background: var(--cmd-superficie); border-radius: var(--cmd-raggio); }
.cmd-card-categoria .cmd-figura { aspect-ratio: 3 / 2; }
.cmd-card-prodotto  .cmd-figura { aspect-ratio: 1 / 1; }
.cmd-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cmd-img-generica { object-fit: cover; opacity: .9; }
.cmd-img-vuota { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 3rem; font-weight: 600; color: var(--cmd-accent); opacity: .55; }
.cmd-card-prodotto .cmd-img-vuota { font-size: 2.25rem; }

.cmd-card-testo { display: block; padding: .75rem .1rem 0; }
.cmd-card-nome { display: block; font-weight: 600; line-height: 1.3; }
.cmd-card-categoria .cmd-card-nome { font-size: 1.125rem; }
.cmd-card-conteggio, .cmd-card-dettaglio { display: block; margin-top: .2rem; font-size: .875rem; color: var(--cmd-testo-tenue); }
.cmd-card a:hover .cmd-card-nome { color: var(--cmd-accent); }
.cmd-card a:hover .cmd-figura { box-shadow: inset 0 0 0 2px var(--cmd-accent); }

/* scheda prodotto */
.cmd-scheda { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.5rem; align-items: start; }
.cmd-scheda-figura { margin: 0; background: var(--cmd-superficie); border-radius: var(--cmd-raggio); overflow: hidden; aspect-ratio: 1 / 1; }
.cmd-scheda-figura .cmd-img { object-fit: contain; }
.cmd-scheda-figura .cmd-img-vuota { font-size: 5rem; }
.cmd-scheda-galleria { list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cmd-scheda-galleria img { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: var(--cmd-raggio); border: 1px solid var(--cmd-linea); }

.cmd-dati { margin: 1.25rem 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, max-content)); gap: .75rem 2.5rem; border-top: 1px solid var(--cmd-linea); border-bottom: 1px solid var(--cmd-linea); padding: 1rem 0; }
.cmd-dati div { margin: 0; }
.cmd-dati dt { font-size: .8125rem; color: var(--cmd-testo-tenue); margin: 0; }
.cmd-dati dd { margin: .1rem 0 0; font-weight: 600; }
.cmd-dati a { color: inherit; }

.cmd-testo { max-width: 65ch; }
.cmd-testo p { margin: 0 0 .9em; }

.cmd-azione { margin: 2rem 0 0; }
.cmd-bottone { display: inline-block; padding: .8rem 1.5rem; background: var(--cmd-accent); color: #fff; border-radius: var(--cmd-raggio); text-decoration: none; font-weight: 600; }
.cmd-bottone:hover, .cmd-bottone:focus-visible { background: #4e2d13; color: #fff; }
.cmd-ritorno { margin-top: 1.25rem; font-size: .9375rem; }
.cmd-ritorno a { color: var(--cmd-accent); }

/* paginazione (markup standard di paginate_links type=list) */
.cmd-paginazione { margin-top: 2rem; }
.cmd-paginazione ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.cmd-paginazione .page-numbers { display: inline-block; min-width: 2.4rem; padding: .45rem .7rem; text-align: center; border: 1px solid var(--cmd-linea); border-radius: var(--cmd-raggio); color: inherit; text-decoration: none; }
.cmd-paginazione .page-numbers.current { background: var(--cmd-accent); border-color: var(--cmd-accent); color: #fff; }
.cmd-paginazione .page-numbers.dots { border: 0; }

.cmd-vuoto { padding: 2rem; text-align: center; background: var(--cmd-superficie); border-radius: var(--cmd-raggio); }

@media (max-width: 760px) {
	.cmd-wrap { padding: 1.5rem 1rem 3rem; }
	.cmd-scheda { grid-template-columns: 1fr; gap: 1.5rem; }
	.cmd-grid { gap: 1.25rem .9rem; }
	.cmd-grid-categorie { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
	.cmd-grid-prodotti  { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

@media (prefers-reduced-motion: no-preference) {
	.cmd-card .cmd-figura, .cmd-card-nome, .cmd-bottone { transition: box-shadow .15s ease, color .15s ease, background-color .15s ease; }
}
