/* Ciné Chez Soi : devis et filtres. Les boutons reprennent la classe .button du thème. */
.ccs-devis-bouton { margin-left: .5em; }
.products .ccs-devis-bouton { display: block; margin: .5em 0 0; text-align: center; }
.ccs-devis-bouton.disabled { opacity: .5; cursor: not-allowed; }

.ccs-mini-devis { position: relative; display: inline-block; }
.ccs-mini-devis__lien { display: inline-flex; align-items: center; gap: .35em; color: inherit; text-decoration: none; }
.ccs-mini-devis__liste { display: none; position: absolute; left: 0; top: 100%; z-index: 999; min-width: 280px; padding: 1em; background: #fff; border-radius: 6px; box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.ccs-mini-devis:hover .ccs-mini-devis__liste, .ccs-mini-devis:focus-within .ccs-mini-devis__liste { display: block; }
.ccs-mini-devis__liste ul { list-style: none; margin: 0 0 .8em; padding: 0; font-size: .9em; }
.ccs-mini-devis__liste li { padding: .35em 0; border-bottom: 1px solid #eee; }

.ccs-devis table.shop_table { width: 100%; margin-bottom: 1em; }
.ccs-devis__image { width: 80px; }
.ccs-devis__image img { width: 64px; height: auto; }
.ccs-devis .qty { width: 5em; }
.ccs-devis__retirer { display: inline-block; min-width: 44px; min-height: 44px; line-height: 44px; text-align: center; font-size: 1.5em; text-decoration: none; }
.ccs-devis__formulaire { margin-top: 2.5em; }
.ccs-devis__champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5em; }
.ccs-devis__champ--message { grid-column: 1 / -1; }
.ccs-devis__champ label { display: block; margin-bottom: .3em; font-weight: 600; }
.ccs-devis__champ input, .ccs-devis__champ textarea { width: 100%; }
.ccs-devis__piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ccs-devis__rgpd { font-size: .85em; }
@media (max-width: 600px) {
	.ccs-devis__champs { grid-template-columns: 1fr; }
	.ccs-devis__image { display: none; }
}

.ccs-filtres__groupe { margin: 0 0 1.5em; padding: 0; border: 0; }
.ccs-filtres__groupe legend { margin-bottom: .6em; padding: 0; font-size: .85em; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.ccs-filtres__groupe ul { max-height: 16em; margin: 0; padding: 0; overflow: auto; list-style: none; }
.ccs-filtres__groupe li { display: flex; align-items: center; gap: .5em; padding: .2em 0; }
.ccs-filtres__groupe li label { cursor: pointer; }
.ccs-filtres__nombre { opacity: .7; }
.ccs-filtres__prix { display: flex; align-items: center; gap: .5em; }
.ccs-filtres__prix input { width: 7em; }
.ccs-filtres__actions { display: flex; align-items: center; gap: 1em; }
.ccs-filtres.ccs-filtres--js .ccs-filtres__appliquer { display: none !important; }

/* Bouton panier de l'en-tête (widget Mini-panier d'Elementor Pro). Depuis Elementor Pro 4, ses réglages passent par des
   variables CSS dans une règle moins prioritaire que celle des boutons du kit (.elementor-kit-3082 .elementor-button) :
   le bouton devenait doré, comme son icône, qui disparaissait. Les règles d'Elementor Pro sont reprises en plus prioritaire. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button {
	background-color: var(--toggle-button-background-color, transparent);
	border-color: var(--toggle-button-border-color, #69727d);
	border-radius: var(--toggle-button-border-radius, 0);
	border-style: var(--toggle-button-border-type, solid);
	border-width: var(--toggle-button-border-width, 1px);
	color: var(--toggle-button-text-color, #69727d);
	padding: var(--toggle-icon-padding, 12px 24px);
}
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button:hover {
	background-color: var(--toggle-button-hover-background-color, transparent);
	border-color: var(--toggle-button-hover-border-color, #69727d);
	color: var(--toggle-button-hover-text-color, #69727d);
}

/* Badges de stock (repris du CSS additionnel du thème Astra, lié au thème : il disparaîtrait au changement de thème). */
.soldout, .available { position: absolute; top: 6px; right: 6px; padding: 3px 8px; border-radius: 5px; color: #fff; font-size: 12px; font-weight: bold; text-align: center; }
.soldout { background: red; }
.available { background: green; }
